--- np2/macos9/dosio.h 2003/10/23 07:20:43 1.1 +++ np2/macos9/dosio.h 2005/02/14 06:25:31 1.4 @@ -1,42 +1,53 @@ -enum { // ver0.28 - FTYPE_NONE = 0, // 自動判別 or PC - FTYPE_SMIL, // システム予約 - FTYPE_TEXT, // テキストファイル - FTYPE_BMP, // Bitmap - FTYPE_PICT, // Picture (予約) - FTYPE_PNG, // Png (予約) - FTYPE_WAV, // Wave - FTYPE_D88, // D88 - FTYPE_BETA, // ベタイメージ - FTYPE_THD, // .thd ハードディスクイメージ - FTYPE_HDI, // .hdi ハードディスクイメージ - FTYPE_HDD, // .hdd ハードディスクイメージ (予約) - FTYPE_S98, // .s98 ハードディスクイメージ - FTYPE_MIMPI // mimpi defaultファイル -}; - #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,12 +79,17 @@ 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); -char *file_getname(char *path); +char *file_getname(const char *path); void file_cutname(char *path); -char *file_getext(char *path); +char *file_getext(const char *path); void file_cutext(char *path); void file_cutseparator(char *path); void file_setseparator(char *path, int maxlen);