--- np2/macos9/dosio.h 2003/10/23 07:20:43 1.1 +++ np2/macos9/dosio.h 2004/01/10 17:24:01 1.2 @@ -19,24 +19,52 @@ enum { // ver0.28 #define FILEH SInt16 #define FILEH_INVALID ((FILEH)-1) +#define FLISTH void * +#define FLISTH_INVALID ((FLISTH)0) + enum { FSEEK_SET = 0, FSEEK_CUR = 1, FSEEK_END = 2 }; +enum { + FILEATTR_READONLY = 0x01, + FILEATTR_HIDDEN = 0x02, + FILEATTR_SYSTEM = 0x04, + FILEATTR_VOLUME = 0x08, + FILEATTR_DIRECTORY = 0x10, + FILEATTR_ARCHIVE = 0x20 +}; + +enum { + FLICAPS_SIZE = 0x0001, + FLICAPS_ATTR = 0x0002, + FLICAPS_DATE = 0x0004, + FLICAPS_TIME = 0x0008 +}; + typedef struct { UINT16 year; // cx - BYTE month; // dh - BYTE day; // dl + UINT8 month; // dh + UINT8 day; // dl } DOSDATE; typedef struct { - BYTE hour; // ch - BYTE minute; // cl - BYTE second; // dh + UINT8 hour; // ch + UINT8 minute; // cl + UINT8 second; // dh } DOSTIME; +typedef struct { + UINT caps; + UINT32 size; + UINT32 attr; + DOSDATE date; + DOSTIME time; + char path[MAX_PATH]; +} FLINFO; + #ifdef __cplusplus extern "C" { @@ -68,6 +96,11 @@ FILEH file_create_c(const char *path); short file_delete_c(const char *path); short file_attr_c(const char *path); +FLISTH file_list1st(const char *dir, FLINFO *fli); +BOOL file_listnext(FLISTH hdl, FLINFO *fli); +void file_listclose(FLISTH hdl); +BOOL getLongFileName(char *dst, const char *path); + #define file_cpyname(a, b, c) milstr_ncpy(a, b, c) #define file_cmpname(a, b) milstr_cmp(a, b) void file_catname(char *path, const char *sjis, int maxlen);