--- np2/x11/dosio.h 2003/11/17 13:17:16 1.3 +++ np2/x11/dosio.h 2004/02/05 13:45:06 1.7 @@ -1,29 +1,14 @@ #ifndef NP2_X11_DOSIO_H__ #define NP2_X11_DOSIO_H__ -enum { - 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ファイル -}; +#include -typedef FILE* FILEH; -#define FILEH_INVALID NULL +typedef FILE * FILEH; +#define FILEH_INVALID NULL -#define FSEEK_SET SEEK_SET -#define FSEEK_CUR SEEK_CUR -#define FSEEK_END SEEK_END +#define FSEEK_SET SEEK_SET +#define FSEEK_CUR SEEK_CUR +#define FSEEK_END SEEK_END enum { FILEATTR_READONLY = 0x01, @@ -34,6 +19,13 @@ enum { FILEATTR_ARCHIVE = 0x20 }; +enum { + FLICAPS_SIZE = (1 << 0), + FLICAPS_ATTR = (1 << 1), + FLICAPS_DATE = (1 << 2), + FLICAPS_TIME = (1 << 3) +}; + typedef struct { UINT16 year; /* cx */ BYTE month; /* dh */ @@ -46,6 +38,21 @@ typedef struct { BYTE second; /* dh */ } DOSTIME; +typedef struct { + char path[MAX_PATH]; + DIR *hdl; +} _FLISTH, *FLISTH; +#define FLISTH_INVALID NULL + +typedef struct { + UINT caps; + UINT32 size; + UINT32 attr; + DOSDATE date; + DOSTIME time; + char path[MAX_PATH]; +} FLINFO; + #ifdef __cplusplus extern "C" { @@ -78,6 +85,10 @@ FILEH file_create_c(const char *sjis); short file_delete_c(const char *sjis); short file_attr_c(const char *sjis); +FLISTH file_list1st(const char *dir, FLINFO *fli); +BOOL file_listnext(FLISTH hdl, FLINFO *fli); +void file_listclose(FLISTH hdl); + void file_cpyname(char *dst, const char *src, int maxlen); void file_catname(char *path, const char *sjis, int maxlen); BOOL file_cmpname(const char *path, const char *sjis);