--- np2/win9xc/dosio.h 2003/10/16 17:59:18 1.1.1.1 +++ np2/win9xc/dosio.h 2005/02/12 12:13:59 1.5 @@ -1,26 +1,11 @@ -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 DOSIOCALL __stdcall #define FILEH HANDLE -#define FILEH_INVALID ((FILEH)-1) +#define FILEH_INVALID (INVALID_HANDLE_VALUE) -#define FILEFINDH HANDLE -#define FILEFINDH_INVALID ((FILEFINDH)-1) +#define FLISTH HANDLE +#define FLISTH_INVALID (INVALID_HANDLE_VALUE) enum { FSEEK_SET = 0, @@ -28,23 +13,42 @@ enum { 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 { - char path[MAX_PATH]; + UINT caps; UINT32 size; UINT32 attr; -} FILEFINDT; + DOSDATE date; + DOSTIME time; + OEMCHAR path[MAX_PATH]; +} FLINFO; #ifdef __cplusplus @@ -55,43 +59,46 @@ extern "C" { void dosio_init(void); void dosio_term(void); // ファイル操作 -FILEH file_open(const char *path); -FILEH file_open_rb(const char *path); -FILEH file_create(const char *path); -long file_seek(FILEH handle, long pointer, int method); -UINT file_read(FILEH handle, void *data, UINT length); -UINT file_write(FILEH handle, const void *data, UINT length); -short file_close(FILEH handle); -UINT file_getsize(FILEH handle); -short file_getdatetime(FILEH handle, DOSDATE *dosdate, DOSTIME *dostime); -short file_delete(const char *path); -short file_attr(const char *path); -short file_dircreate(const char *path); +FILEH DOSIOCALL file_open(const OEMCHAR *path); +FILEH DOSIOCALL file_open_rb(const OEMCHAR *path); +FILEH DOSIOCALL file_create(const OEMCHAR *path); +long DOSIOCALL file_seek(FILEH handle, long pointer, int method); +UINT DOSIOCALL file_read(FILEH handle, void *data, UINT length); +UINT DOSIOCALL file_write(FILEH handle, const void *data, UINT length); +short DOSIOCALL file_close(FILEH handle); +UINT DOSIOCALL file_getsize(FILEH handle); +short DOSIOCALL file_getdatetime(FILEH handle, DOSDATE *dosdate, DOSTIME *dostime); +short DOSIOCALL file_delete(const OEMCHAR *path); +short DOSIOCALL file_attr(const OEMCHAR *path); +short DOSIOCALL file_dircreate(const OEMCHAR *path); // カレントファイル操作 -void file_setcd(const char *exepath); -TCHAR *file_getcd(const char *path); -FILEH file_open_c(const char *path); -FILEH file_open_rb_c(const char *path); -FILEH file_create_c(const char *path); -short file_delete_c(const char *path); -short file_attr_c(const char *path); - -FILEFINDH file_find1st(const char *path, FILEFINDT *fft); -BOOL file_findnext(FILEFINDH hdl, FILEFINDT *fft); -void file_findclose(FILEFINDH hdl); +void DOSIOCALL file_setcd(const OEMCHAR *exepath); +OEMCHAR * DOSIOCALL file_getcd(const OEMCHAR *path); +FILEH DOSIOCALL file_open_c(const OEMCHAR *path); +FILEH DOSIOCALL file_open_rb_c(const OEMCHAR *path); +FILEH DOSIOCALL file_create_c(const OEMCHAR *path); +short DOSIOCALL file_delete_c(const OEMCHAR *path); +short DOSIOCALL file_attr_c(const OEMCHAR *path); + +FLISTH DOSIOCALL file_list1st(const OEMCHAR *dir, FLINFO *fli); +BRESULT DOSIOCALL file_listnext(FLISTH hdl, FLINFO *fli); +void DOSIOCALL file_listclose(FLISTH hdl); #define file_cpyname(a, b, c) milstr_ncpy(a, b, c) #define file_catname(a, b, c) milstr_ncat(a, b, c) #define file_cmpname(a, b) milstr_cmp(a, b) -char *file_getname(char *path); -void file_cutname(char *path); -char *file_getext(char *path); -void file_cutext(char *path); -void file_cutseparator(char *path); -void file_setseparator(char *path, int maxlen); +OEMCHAR * DOSIOCALL file_getname(const OEMCHAR *path); +void DOSIOCALL file_cutname(OEMCHAR *path); +OEMCHAR * DOSIOCALL file_getext(const OEMCHAR *path); +void DOSIOCALL file_cutext(OEMCHAR *path); +void DOSIOCALL file_cutseparator(OEMCHAR *path); +void DOSIOCALL file_setseparator(OEMCHAR *path, int maxlen); #ifdef __cplusplus } #endif +#define file_createex(p, t) file_create(p) +#define file_createex_c(p, t) file_create_c(p) +