home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 mARCH / PCWK3A99.iso / Polskie / Obpak4 / Obpak.CAB / UNLHA32.H < prev    next >
C/C++ Source or Header  |  1997-03-26  |  8KB  |  281 lines

  1. /* UNLHA32.H, Micco, Apr.4,1996
  2. **
  3. ** LH 2.02a
  4. ** Copyright (c) 1988-90 by Haruyasu Yoshizaki  All rights reserved.
  5. **
  6. ** Win/WinNT-SFX
  7. ** Copyright (c) 1995    by mH        All rights reserved.
  8. **
  9. ** UNLHA32.DLL
  10. ** Copyright (c) 1995-96 by Micco     All rights reserved.
  11. */
  12.  
  13.  
  14. #if !defined(UNLHA32_H)
  15. #define UNLHA32_H
  16.  
  17. #define UNLHA32_VERSION    44
  18.  
  19. #ifndef FNAME_MAX32
  20. #define FNAME_MAX32        512
  21. #endif
  22.  
  23. #if defined(__BORLANDC__)
  24. #pragma option -a-
  25. #else
  26. #pragma pack(1)
  27. #endif
  28.  
  29. #ifndef ARC_DECSTRACT
  30. #define ARC_DECSTRACT
  31. typedef    HGLOBAL    HARC;
  32.  
  33. typedef struct {
  34.     DWORD             dwOriginalSize;
  35.     DWORD             dwCompressedSize;
  36.     DWORD            dwCRC;
  37.     UINT            uFlag;
  38.     UINT            uOSType;
  39.     WORD            wRatio;
  40.     WORD            wDate;
  41.     WORD             wTime;
  42.     char            szFileName[FNAME_MAX32 + 1];
  43.     char            dummy1[3];
  44.     char            szAttribute[8];
  45.     char            szMode[8];
  46. }    INDIVIDUALINFO;
  47.  
  48. typedef INDIVIDUALINFO *LPINDIVIDUALINFO;
  49.  
  50. typedef struct {
  51.     DWORD             dwFileSize;
  52.     DWORD            dwWriteSize;
  53.     char            szSourceFileName[FNAME_MAX32 + 1];
  54.     char            dummy1[3];
  55.     char            szDestFileName[FNAME_MAX32 + 1];
  56.     char            dummy[3];
  57. }    EXTRACTINGINFO;
  58.  
  59. #endif
  60.  
  61. typedef struct {
  62.     UINT            uTotalFiles;
  63.     UINT            uCountInfoFiles;
  64.     UINT            uErrorCount;
  65.     LONG            lDiskSpace;
  66.     HGLOBAL            hSubInfo;
  67. }    LHALOCALINFO;
  68.  
  69. #if !defined(__BORLANDC__)
  70. #pragma pack()
  71. #else
  72. #pragma option -a.
  73. #endif
  74.  
  75. #if !defined(__BORLANDC__)
  76. #define    _export
  77. #endif
  78.  
  79. #ifdef __cplusplus
  80. extern "C" {
  81. #endif
  82.  
  83. WORD WINAPI _export UnlhaGetVersion(VOID);
  84. WORD WINAPI _export UnlhaGetSubVersion(VOID);
  85.  
  86. BOOL WINAPI _export UnlhaGetRunning(VOID);
  87.  
  88. BOOL WINAPI _export UnlhaGetBackGroundMode(VOID);
  89. BOOL WINAPI _export UnlhaSetBackGroundMode(const BOOL BackGroundMode);
  90. BOOL WINAPI _export UnlhaGetCursorMode(VOID);
  91. BOOL WINAPI _export UnlhaSetCursorMode(const BOOL CursorMode);
  92. WORD WINAPI _export UnlhaGetCursorInterval(VOID);
  93. BOOL WINAPI _export UnlhaSetCursorInterval(const WORD Interval);
  94.  
  95. int WINAPI _export Unlha(const HWND _hwnd, LPCSTR szCmdLine,
  96.                         LPSTR szOutput, const DWORD wSize);
  97.  
  98. BOOL WINAPI _export UnlhaCheckArchive(LPCSTR _szFileName, const int _iMode);
  99. BOOL WINAPI _export UnlhaConfigDialog(const HWND _hwnd, LPSTR _lpszComBuffer,
  100.                         const int _iMode);
  101. int WINAPI _export UnlhaGetFileCount(LPCSTR _szArcFile);
  102.  
  103. HARC WINAPI _export UnlhaOpenArchive(const HWND _hwnd, LPCSTR _szFileName,
  104.                             const DWORD _dwMode);
  105. int WINAPI _export UnlhaCloseArchive(HARC _harc);
  106. int WINAPI _export UnlhaFindFirst(HARC _harc, LPCSTR _szWildName,
  107.                             INDIVIDUALINFO *_lpSubInfo);
  108. int WINAPI _export UnlhaFindNext(HARC _harc, INDIVIDUALINFO *_lpSubInfo);
  109. int WINAPI _export UnlhaGetArcFileName(HARC _harc, LPSTR _lpBuffer,
  110.                             const int _nSize);
  111. DWORD WINAPI _export UnlhaGetArcFileSize(HARC _harc);
  112. DWORD WINAPI _export UnlhaGetArcOriginalSize(HARC _harc);
  113. DWORD WINAPI _export UnlhaGetArcCompressedSize(HARC _harc);
  114. WORD WINAPI _export UnlhaGetArcRatio(HARC _harc);
  115. WORD WINAPI _export UnlhaGetArcDate(HARC _harc);
  116. WORD WINAPI _export UnlhaGetArcTime(HARC _harc);
  117. UINT WINAPI _export UnlhaGetArcOSType(HARC _harc);
  118. int WINAPI _export UnlhaGetFileName(HARC _harc, LPSTR _lpBuffer,
  119.                             const int _nSize);
  120. int WINAPI _export UnlhaGetMethod(HARC _harc, LPSTR _lpBuffer,
  121.                             const int _nSize);
  122. DWORD WINAPI _export UnlhaGetOriginalSize(HARC _harc);
  123. DWORD WINAPI _export UnlhaGetCompressedSize(HARC _harc);
  124. WORD WINAPI _export UnlhaGetRatio(HARC _harc);
  125. WORD WINAPI _export UnlhaGetDate(HARC _harc);
  126. WORD WINAPI _export UnlhaGetTime(HARC _harc);
  127. DWORD WINAPI _export UnlhaGetWriteTime(HARC _harc);
  128. DWORD WINAPI _export UnlhaGetAccessTime(HARC _harc);
  129. DWORD WINAPI _export UnlhaGetCreateTime(HARC _harc);
  130. DWORD WINAPI _export UnlhaGetCRC(HARC _harc);
  131. int WINAPI _export UnlhaGetAttribute(HARC _harc);
  132. UINT WINAPI _export UnlhaGetOSType(HARC _harc);
  133.  
  134. BOOL WINAPI _export UnlhaQueryFunctionList(const int _iFunction);
  135.  
  136. BOOL WINAPI _export UnlhaSetOwnerWindow(const HWND _hwnd);
  137. BOOL WINAPI _export UnlhaClearOwnerWindow(VOID);
  138.  
  139. #ifdef __cplusplus
  140. }
  141. #endif
  142.  
  143. #define    UNPACK_CONFIG_MODE        1
  144. #define PACK_CONFIG_MODE        2
  145.  
  146. #define    CHECKARCHIVE_RAPID        0
  147. #define    CHECKARCHIVE_BASIC        1
  148. #define    CHECKARCHIVE_FULLCRC    2
  149.  
  150. #if !defined(EXTRACT_FOUND_FILE)
  151. /* MODE (for UnarjOpenArchive) */
  152. #define M_INIT_FILE_USE            0x00000001L
  153. #define M_REGARDLESS_INIT_FILE    0x00000002L
  154. #define M_CHECK_ALL_PATH        0x00000100L
  155. #define M_CHECK_FILENAME_ONLY    0x00000200L
  156. #define M_USE_DRIVE_LETTER        0x00001000L
  157. #define M_NOT_USE_DRIVE_LETTER    0x00002000L
  158. #define M_ERROR_MESSAGE_ON        0x00400000L
  159. #define M_ERROR_MESSAGE_OFF        0x00800000L
  160.  
  161. #define EXTRACT_FOUND_FILE        0x40000000L
  162. #define EXTRACT_NAMED_FILE        0x80000000L
  163. #endif /* EXTRACT_FOUND_FILE */
  164.  
  165. #if !defined(ISARC_FUNCTION_START)
  166. #define ISARC_FUNCTION_START            0
  167. #define ISARC                            0
  168. #define ISARC_GET_VERSION                1
  169. #define ISARC_GET_CURSOR_INTERVAL        2
  170. #define ISARC_SET_CURSOR_INTERVAL        3
  171. #define ISARC_GET_BACK_GROUND_MODE        4
  172. #define ISARC_SET_BACK_GROUND_MODE        5
  173. #define ISARC_GET_CURSOR_MODE            6
  174. #define ISARC_SET_CURSOR_MODE            7
  175. #define ISARC_GET_RUNNING                8
  176.  
  177. #define ISARC_CHECK_ARCHIVE                16
  178. #define ISARC_CONFIG_DIALOG                17
  179. #define ISARC_GET_FILE_COUNT            18
  180. #define ISARC_QUERY_FUNCTION_LIST        19
  181. #define ISARC_HOUT                        20
  182. #define ISARC_STRUCTOUT                    21
  183. #define ISARC_GET_ARC_FILE_INFO            22
  184.  
  185. #define ISARC_OPEN_ARCHIVE                23
  186. #define ISARC_CLOSE_ARCHIVE                24
  187. #define ISARC_FIND_FIRST                25
  188. #define ISARC_FIND_NEXT                    26
  189. #define ISARC_EXTRACT                    27
  190. #define ISARC_ADD                        28
  191. #define ISARC_MOVE                        29
  192. #define ISARC_DELETE                    30
  193.  
  194. #define ISARC_GET_ARC_FILE_NAME            40
  195. #define ISARC_GET_ARC_FILE_SIZE            41
  196. #define ISARC_GET_ARC_ORIGINAL_SIZE        42
  197. #define ISARC_GET_ARC_COMPRESSED_SIZE    43
  198. #define ISARC_GET_ARC_RATIO                44
  199. #define ISARC_GET_ARC_DATE                45
  200. #define ISARC_GET_ARC_TIME                46
  201. #define ISARC_GET_ARC_OS_TYPE            47
  202. #define ISARC_GET_ARC_IS_SFX_FILE        48
  203. #define ISARC_GET_FILE_NAME                57
  204. #define ISARC_GET_ORIGINAL_SIZE            58
  205. #define ISARC_GET_COMPRESSED_SIZE        59
  206. #define ISARC_GET_RATIO                    60
  207. #define ISARC_GET_DATE                    61
  208. #define ISARC_GET_TIME                    62
  209. #define ISARC_GET_CRC                    63
  210. #define ISARC_GET_ATTRIBUTE                64
  211. #define ISARC_GET_OS_TYPE                65
  212. #define ISARC_GET_METHOD                66
  213. #define ISARC_GET_WRITE_TIME            67
  214. #define ISARC_GET_CREATE_TIME            68
  215. #define ISARC_GET_ACCESS_TIME            69
  216.  
  217. #define ISARC_FUNCTION_END                69
  218. #endif    /* ISARC_FUNCTION_START */
  219.  
  220. #ifndef FA_RDONLY
  221. /* Attribute */
  222. #define FA_RDONLY       0x01            /* Read only attribute */
  223. #define FA_HIDDEN       0x02            /* Hidden file */
  224. #define FA_SYSTEM       0x04            /* System file */
  225. #define FA_LABEL        0x08            /* Volume label */
  226. #define FA_DIREC        0x10            /* Directory */
  227. #define FA_ARCH         0x20            /* Archive */
  228. #endif
  229.  
  230. #ifndef ERROR_ARC_FILE_OPEN
  231. /* WARNING */
  232. #define ERROR_DISK_SPACE        0x8005
  233. #define ERROR_READ_ONLY            0x8006
  234. #define ERROR_USER_SKIP            0x8007
  235. #define ERROR_UNKNOWN_TYPE        0x8008
  236. #define ERROR_METHOD            0x8009
  237. #define ERROR_PASSWORD_FILE        0x800A
  238. #define ERROR_VERSION            0x800B
  239. #define ERROR_FILE_CRC            0x800C
  240. #define ERROR_FILE_OPEN            0x800D
  241. #define ERROR_MORE_FRESH        0x800E
  242. #define ERROR_NOT_EXIST            0x800F
  243. #define ERROR_ALREADY_EXIST        0x8010
  244.  
  245. #define ERROR_TOO_MANY_FILES    0x8011
  246.  
  247. /* ERROR */
  248. #define ERROR_MAKEDIRECTORY        0x8012
  249. #define ERROR_CANNOT_WRITE        0x8013
  250. #define ERROR_HUFFMAN_CODE        0x8014
  251. #define ERROR_COMMENT_HEADER    0x8015
  252. #define ERROR_HEADER_CRC        0x8016
  253. #define ERROR_HEADER_BROKEN        0x8017
  254. #define ERROR_ARC_FILE_OPEN        0x8018
  255. #define ERROR_NOT_ARC_FILE        0x8019
  256. #define ERROR_CANNOT_READ        0x801A
  257. #define ERROR_FILE_STYLE        0x801B
  258. #define ERROR_COMMAND_NAME        0x801C
  259. #define ERROR_MORE_HEAP_MEMORY    0x801D
  260. #define ERROR_ENOUGH_MEMORY        0x801E
  261. #if !defined(ERROR_ALREADY_RUNNING)
  262. #define ERROR_ALREADY_RUNNING    0x801F
  263. #endif
  264. #define ERROR_USER_CANCEL        0x8020
  265. #define ERROR_HARC_ISNOT_OPENED    0x8021
  266. #define ERROR_NOT_SEARCH_MODE    0x8022
  267. #define ERROR_NOT_SUPPORT        0x8023
  268. #define ERROR_TIME_STAMP        0x8024
  269. #define ERROR_TMP_OPEN            0x8025
  270. #define ERROR_LONG_FILE_NAME    0x8026
  271. #define ERROR_ARC_READ_ONLY        0x8027
  272. #define ERROR_SAME_NAME_FILE    0x8028
  273. #define ERROR_NOT_FIND_ARC_FILE 0x8029
  274. #define ERROR_RESPONSE_READ        0x802A
  275. #define ERROR_NOT_FILENAME        0x802B
  276.  
  277. #define ERROR_END    ERROR_NOT_FILENAME
  278. #endif /* ERROR_ARC_FILE_OPEN */
  279.  
  280. #endif    /* UNLHA32_H */
  281.