⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 direct.mh

📁 开放源码的编译器open watcom 1.6.0版的源代码
💻 MH
字号:
/*
 *  direct.h    Defines the types and structures used by the directory routines
 *
:include crwat.sp
 */
#ifndef _DIRECT_H_INCLUDED
#define _DIRECT_H_INCLUDED
:include readonly.sp
:include cpluspro.sp

#ifndef _COMDEF_H_INCLUDED
 #include <_comdef.h>
#endif

:include pshpackl.sp

:include wchar_t.sp

::endsegment
#ifndef __TYPES_H_INCLUDED
 #include <sys/types.h>
#endif

#if defined(__OS2__) || defined(__NT__) || defined(__WATCOM_LFN__)
#define NAME_MAX        255             /* maximum filename for HPFS or NTFS */
#else
#define NAME_MAX        12              /* 8 chars + '.' +  3 chars */
#endif

struct _wdirent {
    char               d_dta[10];       /* disk transfer area */
    unsigned short int d_ctime;         /* file's creation time */
    unsigned short int d_cdate;         /* file's creation date */
    unsigned short int d_atime;         /* file's last access time */
    unsigned short int d_adate;         /* file's last access date */
    unsigned short     d_lfnax;         /* DOS LFN search handle */
    unsigned char      d_lfnsup;        /* DOS LFN support status */
    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 */
:segment DOS
    unsigned short     d_ino;           /* serial number (not used) */
:elsesegment
    ino_t              d_ino;           /* serial number (not used) */
:endsegment
    char               d_first;         /* flag for 1st time */
    wchar_t            *d_openpath;      /* path specified to _wopendir */
};

struct dirent {
    char               d_dta[10];       /* disk transfer area */
    unsigned short int d_ctime;         /* file's creation time */
    unsigned short int d_cdate;         /* file's creation date */
    unsigned short int d_atime;         /* file's last access time */
    unsigned short int d_adate;         /* file's last access date */
    unsigned short     d_lfnax;         /* DOS LFN search handle */
    unsigned char      d_lfnsup;        /* DOS LFN support status */
    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 */
:segment DOS
    unsigned short     d_ino;           /* serial number (not used) */
:elsesegment
    ino_t              d_ino;           /* serial number (not used) */
:endsegment
    char               d_first;         /* flag for 1st time */
    char               *d_openpath;      /* path specified to opendir */
};
typedef struct dirent   DIR;

/* 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 */

:include dskfreet.sp

_WCRTLINK extern int              chdir( const char *__path );
_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 );

:include poppack.sp
:include cplusepi.sp
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -