--- np2/sdl/dosio.h 2003/11/21 06:51:12 1.1 +++ np2/sdl/dosio.h 2004/01/27 10:55:47 1.4 @@ -1,23 +1,14 @@ -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ファイル -}; +typedef FILE * FILEH; +#define FILEH_INVALID NULL -typedef FILE * FILEH; -#define FILEH_INVALID NULL +#if defined(WIN32) +#define FLISTH HANDLE +#define FLISTH_INVALID (INVALID_HANDLE_VALUE) +#else +#define FLISTH long +#define FLISTH_INVALID 0 +#endif #define FSEEK_SET SEEK_SET #define FSEEK_CUR SEEK_CUR @@ -32,20 +23,36 @@ enum { 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 + +#ifdef __cplusplus extern "C" { #endif @@ -76,6 +83,9 @@ 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); #define file_cpyname(p, n, m) milstr_ncpy(p, n, m) #if defined(WIN32)