--- np2/x11/dosio.h 2003/10/16 17:59:40 1.1.1.1 +++ np2/x11/dosio.h 2011/01/15 19:16:58 1.11 @@ -1,27 +1,16 @@ +#ifndef NP2_X11_DOSIO_H__ +#define NP2_X11_DOSIO_H__ -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ファイル -}; +#include + +G_BEGIN_DECLS typedef FILE * FILEH; -#define FILEH_INVALID NULL +#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, @@ -32,6 +21,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 */ @@ -44,48 +40,63 @@ 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" { -#endif -/* DOSIO:関数の準備 */ +/* DOSIO:髢「謨ー縺ョ貅門y */ 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); +/* 繝輔ぃ繧、繝ォ謫堺ス*/ +FILEH file_open(const OEMCHAR *path); +FILEH file_open_rb(const OEMCHAR *path); +FILEH file_create(const OEMCHAR *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); - -/* カレントファイル操作 */ -void file_setcd(const char *exepath); -char *file_getcd(const char *sjis); -FILEH file_open_c(const char *sjis); -FILEH file_open_rb_c(const char *sjis); -FILEH file_create_c(const char *sjis); -short file_delete_c(const char *sjis); -short file_attr_c(const char *sjis); +short file_delete(const OEMCHAR *path); +short file_attr(const OEMCHAR *path); +short file_dircreate(const OEMCHAR *path); + +/* 繧ォ繝ャ繝ウ繝医ヵ繧。繧、繝ォ謫堺ス*/ +void file_setcd(const OEMCHAR *exepath); +char *file_getcd(const OEMCHAR *sjis); +FILEH file_open_c(const OEMCHAR *sjis); +FILEH file_open_rb_c(const OEMCHAR *sjis); +FILEH file_create_c(const OEMCHAR *sjis); +short file_delete_c(const OEMCHAR *sjis); +short file_attr_c(const OEMCHAR *sjis); + +FLISTH file_list1st(const OEMCHAR *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(char *path, const char *sjis); -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); +BOOL file_cmpname(const char *path, const char *sjis); +OEMCHAR *file_getname(const OEMCHAR *path); +void file_cutname(OEMCHAR *path); +OEMCHAR *file_getext(const OEMCHAR *path); +void file_cutext(OEMCHAR *path); +void file_cutseparator(OEMCHAR *path); +void file_setseparator(OEMCHAR *path, int maxlen); -#ifdef __cplusplus -}; -#endif +G_END_DECLS + +#endif /* NP2_X11_DOSIO_H__ */