This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/direct.h

162 lines
6 KiB
C

/*
* direct.h Defines the types and structures used by the directory routines
*
* =========================================================================
*
* Open Watcom Project
*
* Copyright (c) 2002-2010 Open Watcom Contributors. All Rights Reserved.
* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
*
* This file is automatically generated. Do not edit directly.
*
* =========================================================================
*/
#ifndef _DIRECT_H_INCLUDED
#define _DIRECT_H_INCLUDED
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
#ifndef _COMDEF_H_INCLUDED
#include <_comdef.h>
#endif
#if defined(__WATCOM_LFN__) && defined(__DOS__) && !defined(__LFNDOS_H_INCLUDED)
#include <sys/_lfndos.h>
#endif
#ifndef __TYPES_H_INCLUDED
#include <sys/types.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _M_IX86
#pragma pack( __push, 1 )
#else
#pragma pack( __push, 8 )
#endif
#ifndef __cplusplus
#ifndef _WCHAR_T_DEFINED
#define _WCHAR_T_DEFINED
#define _WCHAR_T_DEFINED_
typedef unsigned short wchar_t;
#endif
#endif
#if defined(__OS2__) || defined(__RDOS__)
#define NAME_MAX 255 /* maximum filename for HPFS and RDOS */
#elif defined(__NT__) || defined(__WATCOM_LFN__) && defined(__DOS__)
#define NAME_MAX 259 /* maximum filename for NTFS and FAT LFN */
#else
#define NAME_MAX 12 /* 8 chars + '.' + 3 chars */
#endif
#if defined( __RDOS__ )
struct dirent {
int d_handle; /* directory handle */
char d_match_mask[NAME_MAX+1]; /* mask for matching files */
int d_entry_nr; /* current entry number (first = 0) */
int d_attr; /* file's attribute */
unsigned long d_msb_time;
unsigned long d_lsb_time; /* timestamp, rdos formatted */
long d_size; /* file's size */
char d_name[NAME_MAX+1]; /* file's name */
};
typedef struct dirent DIR;
#else
struct _wdirent {
char d_dta[21]; /* disk transfer area */
char d_attr; /* file's attribute */
unsigned short int d_time; /* file's modification time */
unsigned short int d_date; /* file's modification date */
long d_size; /* file's size */
wchar_t d_name[NAME_MAX+1]; /* file's name */
unsigned short d_ino; /* serial number (not used) */
char d_first; /* flag for 1st time */
wchar_t *d_openpath; /* path specified to _wopendir */
};
struct dirent {
char d_dta[21]; /* disk transfer area */
char d_attr; /* file's attribute */
unsigned short int d_time; /* file's time */
unsigned short int d_date; /* file's date */
long d_size; /* file's size */
char d_name[NAME_MAX+1]; /* file's name */
unsigned short d_ino; /* serial number (not used) */
char d_first; /* flag for 1st time */
char *d_openpath; /* path specified to opendir */
};
typedef struct dirent DIR;
#endif
/* File attribute constants for d_attr field */
#define _A_NORMAL 0x00 /* Normal file - read/write permitted */
#define _A_RDONLY 0x01 /* Read-only file */
#define _A_HIDDEN 0x02 /* Hidden file */
#define _A_SYSTEM 0x04 /* System file */
#define _A_VOLID 0x08 /* Volume-ID entry */
#define _A_SUBDIR 0x10 /* Subdirectory */
#define _A_ARCH 0x20 /* Archive file */
#ifndef _DISKFREE_T_DEFINED
#define _DISKFREE_T_DEFINED
#define _DISKFREE_T_DEFINED_
struct _diskfree_t {
unsigned total_clusters;
unsigned avail_clusters;
unsigned sectors_per_cluster;
unsigned bytes_per_sector;
};
#define diskfree_t _diskfree_t
#endif
_WCRTLINK extern int chdir( const char *__path );
_WCRTLINK extern int _chdir( const char *__path );
_WCRTLINK extern int _chdrive( int __drive );
_WCRTLINK extern int closedir( struct dirent * );
_WCRTLINK extern char *getcwd( char *__buf, size_t __size );
_WCRTLINK extern char *_getcwd( char *__buf, size_t __size );
_WCRTLINK extern char *_getdcwd( int __drive, char *__buffer,
size_t __maxlen );
_WCRTLINK extern unsigned _getdrive( void );
_WCRTLINK extern unsigned _getdiskfree( unsigned __drive,
struct _diskfree_t
*__diskspace);
_WCRTLINK extern int mkdir( const char *__path );
_WCRTLINK extern int _mkdir( const char *__path );
_WCRTLINK extern struct dirent *opendir( const char * );
_WCRTLINK extern struct dirent *readdir( struct dirent * );
_WCRTLINK extern void rewinddir( struct dirent * );
_WCRTLINK extern int rmdir( const char *__path );
_WCRTLINK extern int _rmdir( const char *__path );
_WCRTLINK extern int _wchdir( const wchar_t *__path );
_WCRTLINK extern int _wclosedir( struct _wdirent * );
_WCRTLINK extern wchar_t *_wgetcwd( wchar_t *__buf, size_t __size );
_WCRTLINK extern wchar_t *_wgetdcwd( int __drive, wchar_t *__buffer,
size_t __maxlen );
_WCRTLINK extern int _wmkdir( const wchar_t *__path );
_WCRTLINK extern struct _wdirent *_wopendir( const wchar_t * );
_WCRTLINK extern struct _wdirent *_wreaddir( struct _wdirent * );
_WCRTLINK extern void _wrewinddir( struct _wdirent * );
_WCRTLINK extern int _wrmdir( const wchar_t *__path );
#pragma pack( __pop )
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif