メインページ | アルファベット順一覧 | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

dkcUnityArchivers.h

説明を見る。
00001 
00011 #ifndef DKUTIL_C_UNITY_ARCHIVERS_H
00012 #define DKUTIL_C_UNITY_ARCHIVERS_H
00013 
00014 
00015 #include "dkcOSIndependent.h"
00016 #include "dkcDLL.h"
00017 
00018 #define dkcdUNITY_ARCHIVERS_FILENAME_MAX    512
00019 #ifndef WIN32 //posix... ??
00020 
00021 typedef void *HWND;
00022 typedef int     (WINAPI* DKC_UA_ARC_F_TYPE)(const HWND, const char *, char*, const DWORD);
00023 
00024 #else //win32
00025 
00026 
00027 
00028 #include <time.h>
00029 
00030 
00031 typedef BOOL (CALLBACK *DKC_UA_ARCHIVER_WND_PROC_F_TYPE)(HWND _hwnd, UINT _uMsg,
00032                         UINT _nState, LPVOID _lpEis);
00033 //typedef ARCHIVERPROC *LPARCHIVERPROC;
00034 
00035 
00036 typedef struct {
00037     DWORD   dwOriginalSize;     /* ファイルのサイズ。       */
00038     DWORD   dwCompressedSize;   /* 圧縮後のサイズ。     */
00039     DWORD   dwCRC;          /* 格納ファイルのチェックサム/CRC */
00040     UINT    uFlag;          /* 解凍やテストの処理結果   */
00041     UINT    uOSType;        /* このファイルの作成に使われたOS。*/
00042     WORD    wRatio;         /* 圧縮率(パーミル)        */
00043     WORD    wDate;          /* 格納ファイルの日付。     */
00044     WORD    wTime;          /* 格納ファイルの時刻。     */
00045     char    szFileName[dkcdUNITY_ARCHIVERS_FILENAME_MAX + 1];/* アーカイブファイル名*/
00046     char    dummy1[3];
00047     char    szAttribute[8];     /* 格納ファイルの属性。     */
00048     char    szMode[8];      /* 格納ファイルの格納モード。   */
00049 } INDIVIDUALINFO, FAR *LPINDIVIDUALINFO;
00050 
00051 typedef HGLOBAL HARC;
00052 //  LHA.DLL 互換 
00053 typedef WORD    (WINAPI* DKC_UA_GETVERSION_F_TYPE)();
00054 typedef BOOL    (WINAPI* DKC_UA_GETRUNNING_F_TYPE)();
00055 typedef BOOL    (WINAPI* DKC_UA_GETBACKGROUDMODE_F_TYPE)();
00056 typedef BOOL    (WINAPI* DKC_UA_SETBACKGROUDMODE_F_TYPE)(const BOOL);
00057 typedef BOOL    (WINAPI* DKC_UA_GETCURSORMODE_F_TYPE)();
00058 typedef BOOL    (WINAPI* DKC_UA_SETCURSORMODE_F_TYPE)(const BOOL);
00059 typedef WORD    (WINAPI* DKC_UA_GETCURSORINTERVAL_F_TYPE)();
00060 typedef BOOL    (WINAPI* DKC_UA_SETCURSORINTERVAL_F_TYPE)(const WORD);
00061 typedef int     (WINAPI* DKC_UA_ARC_F_TYPE)(const HWND, LPCSTR, LPSTR, const DWORD);
00062 typedef BOOL    (WINAPI* DKC_UA_CHECKARCHIVE_F_TYPE)(LPCSTR , const int);
00063 typedef int     (WINAPI* DKC_UA_GETFILECOUNT_F_TYPE)(LPCSTR);
00064 typedef BOOL    (WINAPI* DKC_UA_QUERYFUNCTIONLIST_F_TYPE)(const int);
00065 typedef BOOL    (WINAPI* DKC_UA_CONFIGDIALOG_F_TYPE)(const HWND, LPSTR, const int);
00066 // OpenArchive 系
00067 typedef HARC    (WINAPI* DKC_UA_OPENARCHIVE_F_TYPE)(const HWND, LPCSTR, const DWORD);
00068 typedef int     (WINAPI* DKC_UA_CLOSEARCHIVE_F_TYPE)(HARC);
00069 typedef int     (WINAPI* DKC_UA_FINDFIRST_F_TYPE)(HARC , LPCSTR, INDIVIDUALINFO*);
00070 typedef int     (WINAPI* DKC_UA_FINDNEXT_F_TYPE)(HARC, INDIVIDUALINFO*);
00071 typedef int     (WINAPI* DKC_UA_GETARCFILENAME_F_TYPE)(HARC , LPSTR, const int);
00072 typedef DWORD   (WINAPI* DKC_UA_GETARCFILESIZE_F_TYPE)(HARC);
00073 typedef DWORD   (WINAPI* DKC_UA_GETARCORIGINALSIZE_F_TYPE)(HARC);
00074 typedef DWORD   (WINAPI* DKC_UA_GETARCCOMPRESSEDSIZE_F_TYPE)(HARC);
00075 typedef WORD    (WINAPI* DKC_UA_GETARCRATIO_F_TYPE)(HARC);
00076 typedef WORD    (WINAPI* DKC_UA_GETARCDATE_F_TYPE)(HARC);
00077 typedef WORD    (WINAPI* DKC_UA_GETARCTIME_F_TYPE)(HARC);
00078 typedef UINT    (WINAPI* DKC_UA_GETARCOSTYPE_F_TYPE)(HARC);
00079 typedef int     (WINAPI* DKC_UA_ISSFXFILE_F_TYPE)(HARC);
00080 typedef int     (WINAPI* DKC_UA_GETFILENAME_F_TYPE)(HARC, LPSTR, const int);
00081 typedef int     (WINAPI* DKC_UA_GETMETHOD_F_TYPE)(HARC, LPSTR, const int);
00082 typedef DWORD   (WINAPI* DKC_UA_GETORIGINALSIZE_F_TYPE)(HARC);
00083 typedef DWORD   (WINAPI* DKC_UA_GETCOMPRESSEDSIZE_F_TYPE)(HARC);
00084 typedef WORD    (WINAPI* DKC_UA_GETRATIO_F_TYPE)(HARC);
00085 typedef WORD    (WINAPI* DKC_UA_GETDATE_F_TYPE)(HARC);
00086 typedef WORD    (WINAPI* DKC_UA_GETTIME_F_TYPE)(HARC);
00087 typedef DWORD   (WINAPI* DKC_UA_GETWRITETIME_F_TYPE)(HARC);
00088 typedef DWORD   (WINAPI* DKC_UA_GETCREATETIME_F_TYPE)(HARC);
00089 typedef DWORD   (WINAPI* DKC_UA_GETACCESSTIME_F_TYPE)(HARC);
00090 typedef DWORD   (WINAPI* DKC_UA_GETCRC_F_TYPE)(HARC);
00091 typedef int     (WINAPI* DKC_UA_GETATTRIBUTE_F_TYPE)(HARC);
00092 typedef UINT    (WINAPI* DKC_UA_GETOSTYPE_F_TYPE)(HARC);
00093 typedef DWORD   (WINAPI* DKC_UA_GETWRITETIMEEX_F_TYPE)(HARC, LPFILETIME);
00094 typedef DWORD   (WINAPI* DKC_UA_GETCREATETIMEEX_F_TYPE)(HARC, LPFILETIME);
00095 typedef DWORD   (WINAPI* DKC_UA_GETACCESSTIMEEX_F_TYPE)(HARC, LPFILETIME);
00096 typedef BOOL    (WINAPI* DKC_UA_GETARCCREATETIMEEX_F_TYPE)(HARC, LPFILETIME);
00097 typedef BOOL    (WINAPI* DKC_UA_GETARCACCESSTIMEEX_F_TYPE)(HARC, LPFILETIME);
00098 typedef BOOL    (WINAPI* DKC_UA_GETARCWRITETIMEEX_F_TYPE)(HARC, LPFILETIME);
00099 // メッセージ処理
00100 typedef BOOL    (WINAPI* DKC_UA_SETOWNERWINDOW_F_TYPE)(const HWND);
00101 typedef BOOL    (WINAPI* DKC_UA_CLEAROWNERWINDOW_F_TYPE)();
00102 typedef BOOL    (WINAPI* DKC_UA_SETOWNERWINDOWEX_F_TYPE)(HWND, DKC_UA_ARCHIVER_WND_PROC_F_TYPE);
00103 typedef BOOL    (WINAPI* DKC_UA_KILLOWNERWINDOWEX_F_TYPE)(HWND);
00104 // その他のもの 
00106 typedef BOOL (CALLBACK *dkctWND_ENUM_PROC_F_TYPE)(LPVOID);
00107 typedef WORD    (WINAPI* DKC_UA_GETSUBVERSION_F_TYPE)();
00108 typedef int     (WINAPI* DKC_UA_EXTRACTMEM_F_TYPE)(const HWND, LPCSTR, LPBYTE, const DWORD, time_t*, LPWORD, LPDWORD);
00109 typedef int     (WINAPI* DKC_UA_COMPRESSMEM_F_TYPE)(const HWND, LPCSTR, const BYTE*, const DWORD, const time_t*, const WORD*, LPDWORD);
00110 typedef BOOL    (WINAPI* DKC_UA_SETENUMMEMBERSPROC_F_TYPE)(dkctWND_ENUM_PROC);
00111 typedef BOOL    (WINAPI* DKC_UA_CLEARENUMMEMBERSPROC_F_TYPE)();
00112 
00113 //ZIP用
00114 
00115 typedef BOOL (WINAPI *DKC_UA_QUERYENCRYPTION_F_TYPE)(VOID);
00116 
00117 //エクスポート関数の ID の最大値
00118 //#define ISARC_FUNCTION_END    81
00119 
00120 //エラーコード
00121 //#define ERROR_CANT_LOAD_DLL    (ERROR_END + 1)
00122 //#define ERROR_CANT_FREE_DLL    (ERROR_END + 2)
00123 
00128 typedef struct dkc_UnityArchivers{
00129     DKC_UA_GETVERSION_F_TYPE UAGetVersion;
00130     DKC_UA_GETRUNNING_F_TYPE UAGetRunning;
00131 
00132     DKC_UA_ARC_F_TYPE UA;
00133     DKC_UA_CONFIGDIALOG_F_TYPE UAConfigDialogv;
00134     DKC_UA_QUERYFUNCTIONLIST_F_TYPE UAQueryFunctionList;
00135     DKC_UA_QUERYENCRYPTION_F_TYPE UAQueryEncryption;
00136 
00137     DKC_UA_ARC_F_TYPE UnUA;
00138     DKC_UA_GETVERSION_F_TYPE UnUAGetVersion;
00139     DKC_UA_OPENARCHIVE_F_TYPE UnUAOpenArchive;
00140     DKC_UA_FINDFIRST_F_TYPE UnUAFindFirst;
00141     DKC_UA_CLOSEARCHIVE_F_TYPE UnUACloseArchive;
00142     DKC_UA_FINDNEXT_F_TYPE UnUAFindNext;
00143     DKC_UA_QUERYFUNCTIONLIST_F_TYPE UnUAQueryFunctionList;
00144 
00145     DKC_UA_ARC_F_TYPE UAUnUA;
00146     DKC_UA_GETVERSION_F_TYPE UAUnUAGetVersion;
00147     DKC_UA_OPENARCHIVE_F_TYPE UAUnUAOpenArchive;
00148     DKC_UA_FINDFIRST_F_TYPE UAUnUAFindFirst;
00149     DKC_UA_CLOSEARCHIVE_F_TYPE UAUnUACloseArchive;
00150     DKC_UA_FINDNEXT_F_TYPE UAUnUAFindNext;
00151     DKC_UA_QUERYFUNCTIONLIST_F_TYPE UAUnUAQueryFunctionList;
00152     DKC_DLL *mDLL;
00153 }DKC_UNITY_ARCHIVERS,DKC_UNIFIED_ARCHIVERS;//普通、二つ名前をもつのは邪道なのだが・・・
00154 
00155 DKC_UNITY_ARCHIVERS *WINAPI dkcAllocUnityArchivers(const char *dllname,const char *function_prefix);
00156 
00157 int WINAPI dkcFreeUnityArchivers(DKC_UNITY_ARCHIVERS **);
00158 
00159 int WINAPI dkcUnityArchiversDirectoryToArchive(DKC_UNITY_ARCHIVERS *,const char *dir_or_file,const char *filename);
00160 
00161 int WINAPI dkcUnityArchiversArchiveToDirectory(DKC_UNITY_ARCHIVERS *,const char *filename,const char *dir_or_file);
00162 
00163 #endif //end of WIN32
00164 
00168 
00169 int WINAPI  dkcUnityArchiversCommand(
00170         const char *dllname,const char *command_function_name,const char *command,
00171         char *StringResultOutputBuffer,size_t output_size,int *archiver_result,HWND wnd
00172     );
00173 
00174 #endif //end of include once

dkutil_cに対してSat Sep 10 09:23:57 2005に生成されました。  doxygen 1.4.4