--- np2/macosx/dosio.h 2003/11/12 19:06:33 1.2 +++ np2/macosx/dosio.h 2004/01/11 16:58:47 1.4 @@ -20,12 +20,31 @@ 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 @@ -38,6 +57,15 @@ typedef struct { BYTE second; // dh } DOSTIME; +typedef struct { + UINT caps; + UINT32 size; + UINT32 attr; + DOSDATE date; + DOSTIME time; + char path[MAX_PATH]; +} FLINFO; + #ifdef __cplusplus extern "C" { @@ -69,8 +97,13 @@ FILEH file_create_c(const char *path); short file_delete_c(const char *path); short file_attr_c(const char *path); -#define file_cpyname(a, b, c) milstr_ncpy(a, b, c) -#define file_cmpname(a, b) milstr_cmp(a, b) +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) milsjis_ncpy(a, b, c) +#define file_cmpname(a, b) milsjis_cmp(a, b) void file_catname(char *path, const char *sjis, int maxlen); char *file_getname(char *path); void file_cutname(char *path);