home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1998 November
/
VPR9811A.BIN
/
OLS
/
tar32043
/
tar32043.exe
/
SDK
/
TAR32.H
< prev
next >
Wrap
C/C++ Source or Header
|
1998-08-10
|
10KB
|
308 lines
/* tar32.h */
/* tar32.DLL DLL transplanted by Yoshioka Tsuneo */
#ifndef TAR32_H
#define TAR32_H
#ifndef FNAME_MAX32
#define FNAME_MAX32 512
#endif
#if defined(__BORLANDC__)
#pragma option -a-
#else
#pragma pack(1)
#endif
#ifndef _TIME_T_DEFINED
typedef long time_t;
#define _TIME_T_DEFINED
#endif
#ifndef ARC_DECSTRACT
#define ARC_DECSTRACT
/* #define void *HGLOBAL */
#include <wtypes.h>
typedef HGLOBAL HARC;
typedef struct {
DWORD dwOriginalSize;
DWORD dwCompressedSize;
DWORD dwCRC;
UINT uFlag;
UINT uOSType;
WORD wRatio;
WORD wDate;
WORD wTime;
char szFileName[FNAME_MAX32 + 1];
char dummy1[3];
char szAttribute[8];
char szMode[8];
} INDIVIDUALINFO;
typedef INDIVIDUALINFO *LPINDIVIDUALINFO;
/* only declare struct( NO IMPLEMENTED )*/
typedef struct {
DWORD dwFileSize;
DWORD dwWriteSize;
char szSourceFileName[FNAME_MAX32 + 1];
char dummy1[3];
char szDestFileName[FNAME_MAX32 + 1];
char dummy[3];
} EXTRACTINGINFO;
typedef struct {
EXTRACTINGINFO exinfo;
DWORD dwCompressedSize;
DWORD dwCRC;
UINT uOSType;
WORD wRatio;
WORD wDate;
WORD wTime;
char szAttribute[8];
char szMode[8];
} EXTRACTINGINFOEX;
typedef BOOL CALLBACK ARCHIVERPROC(HWND _hwnd,UINT _uMsg,UINT _nState, EXTRACTINGINFOEX * _lpEis);
#endif
#if !defined(__BORLANDC__)
#pragma pack()
#else
#pragma option -a.
#endif
#if !defined(__BORLANDC__)
#define _export
#endif
#ifdef __cplusplus
extern "C" {
#endif
WORD WINAPI _export TarGetVersion(VOID);
BOOL WINAPI _export TarGetRunning(VOID);
BOOL WINAPI _export TarGetBackGroundMode(VOID);/* NO IMPLEMENT:return FALSE */
BOOL WINAPI _export TarSetBackGroundMode(const BOOL _BackGroundMode);/* NO IMPLEMENT:return FALSE */
BOOL WINAPI _export TarGetCursorMode(VOID);/* NO IMPLEMENT:return FALSE */
BOOL WINAPI _export TarSetCursorMode(const BOOL _CursorMode);/* NO IMPLEMENT:return FALSE */
WORD WINAPI _export TarGetCursorInterval(VOID);/* NO IMPLEMENT:return 80 */
BOOL WINAPI _export TarSetCursorInterval(const WORD _Interval);/* NO IMPLEMENT:return FALSE */
int WINAPI _export Tar(const HWND _hwnd, LPCSTR _szCmdLine,LPSTR _szOutput, const DWORD _dwSize);
/* NO IMPLEMENT:return -1 */
int WINAPI _export TarExtractMem(const HWND _hwndParent,LPCSTR _szCmdLine, LPBYTE _lpBuffer, const DWORD _dwSize,time_t *_lpTime, LPWORD _lpwAttr, LPDWORD _lpdwWriteSize);
/* NO IMPLEMENT:return -1 */
int WINAPI _export TarCompressMem(const HWND _hwndParent,LPCSTR _szCmdLine, const LPBYTE _lpBuffer, const DWORD _dwSize,const time_t *_lpTime, const LPWORD _lpwAttr,LPDWORD _lpdwWriteSize);
BOOL WINAPI _export TarCheckArchive(LPCSTR _szFileName, const int _iMode);
/* Simple Dialog Only :return TRUE */
BOOL WINAPI _export TarConfigDialog(const HWND _hwnd, LPSTR _lpszComBuffer,const int _iMode);
int WINAPI _export TarGetFileCount(LPCSTR _szArcFile);
HARC WINAPI _export TarOpenArchive(const HWND _hwnd, LPCSTR _szFileName,const DWORD _dwMode);
int WINAPI _export TarCloseArchive(HARC _harc);
int WINAPI _export TarFindFirst(HARC _harc, LPCSTR _szWildName,INDIVIDUALINFO *_lpSubInfo);
int WINAPI _export TarFindNext(HARC _harc, INDIVIDUALINFO *_lpSubInfo);
int WINAPI _export TarGetArcFileName(HARC _harc, LPSTR _lpBuffer,const int _nSize);
DWORD WINAPI _export TarGetArcFileSize(HARC _harc);
DWORD WINAPI _export TarGetArcOriginalSize(HARC _harc);
/* NO IMPLEMENT:return 0: */
DWORD WINAPI _export TarGetArcCompressedSize(HARC _harc);
/* NO IMPLEMENT:return 0: */
WORD WINAPI _export TarGetArcRatio(HARC _harc);
WORD WINAPI _export TarGetArcDate(HARC _harc);
WORD WINAPI _export TarGetArcTime(HARC _harc);
/* NO IMPLEMENT:return -1: */
UINT WINAPI _export TarGetArcOSType(HARC _harc);
int WINAPI _export TarGetFileName(HARC _harc, LPSTR _lpBuffer,
const int _nSize);
int WINAPI _export TarGetMethod(HARC _harc, LPSTR _lpBuffer,
const int _nSize);
DWORD WINAPI _export TarGetOriginalSize(HARC _harc);
DWORD WINAPI _export TarGetCompressedSize(HARC _harc);
WORD WINAPI _export TarGetRatio(HARC _harc);
WORD WINAPI _export TarGetDate(HARC _harc);
WORD WINAPI _export TarGetTime(HARC _harc);
DWORD WINAPI _export TarGetWriteTime(HARC _harc);
DWORD WINAPI _export TarGetAccessTime(HARC _harc);
DWORD WINAPI _export TarGetCreateTime(HARC _harc);
DWORD WINAPI _export TarGetCRC(HARC _harc);
int WINAPI _export TarGetAttribute(HARC _harc);
UINT WINAPI _export TarGetOSType(HARC _harc);
BOOL WINAPI _export TarQueryFunctionList(const int _iFunction);
BOOL WINAPI _export TarSetOwnerWindow(const HWND _hwnd);
BOOL WINAPI _export TarClearOwnerWindow(void);
BOOL WINAPI _export TarSetOwnerWindowEx(HWND _hwnd,ARCHIVERPROC *_lpArcProc);
BOOL WINAPI _export TarKillOwnerWindowEx(HWND _hwnd);
int WINAPI _export TarGetArchiveType(LPCSTR _szFileName);
#ifdef __cplusplus
}
#endif
#define WM_ARCEXTRACT "wm_arcextract"
#define ARCEXTRACT_BEGIN 0 /* 該当ファイルの処理の開始 */
#define ARCEXTRACT_INPROCESS 1 /* 該当ファイルの展開中 */
#define ARCEXTRACT_END 2 /* 処理終了、関連メモリを開放 */
#define ARCEXTRACT_OPEN 3 /* 該当書庫の処理の開始 */
#define ARCEXTRACT_COPY 4 /* ワークファイルの書き戻し */
#define UNPACK_CONFIG_MODE 1
#define PACK_CONFIG_MODE 2
#define CHECKARCHIVE_RAPID 0
#define CHECKARCHIVE_BASIC 1
#define CHECKARCHIVE_FULLCRC 2
#if !defined(EXTRACT_FOUND_FILE)
/* MODE (for ???OpenArchive) */
#define M_INIT_FILE_USE 0x00000001L
#define M_REGARDLESS_INIT_FILE 0x00000002L
#define M_CHECK_ALL_PATH 0x00000100L
#define M_CHECK_FILENAME_ONLY 0x00000200L
#define M_USE_DRIVE_LETTER 0x00001000L
#define M_NOT_USE_DRIVE_LETTER 0x00002000L
#define M_ERROR_MESSAGE_ON 0x00400000L
#define M_ERROR_MESSAGE_OFF 0x00800000L
#define M_ERROR_MESSAGE_ON 0x00400000L /* エラーメッセージを表示 */
#define M_ERROR_MESSAGE_OFF 0x00800000L /* 〃を表示しない */
#define M_BAR_WINDOW_ON 0x01000000L
#define M_BAR_WINDOW_OFF 0x02000000L
#define EXTRACT_FOUND_FILE 0x40000000L
#define EXTRACT_NAMED_FILE 0x80000000L
#endif /* EXTRACT_FOUND_FILE */
#if !defined(ISARC_FUNCTION_START)
#define ISARC_FUNCTION_START 0
#define ISARC 0
#define ISARC_GET_VERSION 1
#define ISARC_GET_CURSOR_INTERVAL 2
#define ISARC_SET_CURSOR_INTERVAL 3
#define ISARC_GET_BACK_GROUND_MODE 4
#define ISARC_SET_BACK_GROUND_MODE 5
#define ISARC_GET_CURSOR_MODE 6
#define ISARC_SET_CURSOR_MODE 7
#define ISARC_GET_RUNNING 8
#define ISARC_CHECK_ARCHIVE 16
#define ISARC_CONFIG_DIALOG 17
#define ISARC_GET_FILE_COUNT 18
#define ISARC_QUERY_FUNCTION_LIST 19
#define ISARC_HOUT 20
#define ISARC_STRUCTOUT 21
#define ISARC_GET_ARC_FILE_INFO 22
#define ISARC_OPEN_ARCHIVE 23
#define ISARC_CLOSE_ARCHIVE 24
#define ISARC_FIND_FIRST 25
#define ISARC_FIND_NEXT 26
#define ISARC_EXTRACT 27
#define ISARC_ADD 28
#define ISARC_MOVE 29
#define ISARC_DELETE 30
#define ISARC_GET_ARC_FILE_NAME 40
#define ISARC_GET_ARC_FILE_SIZE 41
#define ISARC_GET_ARC_ORIGINAL_SIZE 42
#define ISARC_GET_ARC_COMPRESSED_SIZE 43
#define ISARC_GET_ARC_RATIO 44
#define ISARC_GET_ARC_DATE 45
#define ISARC_GET_ARC_TIME 46
#define ISARC_GET_ARC_OS_TYPE 47
#define ISARC_GET_ARC_IS_SFX_FILE 48
#define ISARC_GET_FILE_NAME 57
#define ISARC_GET_ORIGINAL_SIZE 58
#define ISARC_GET_COMPRESSED_SIZE 59
#define ISARC_GET_RATIO 60
#define ISARC_GET_DATE 61
#define ISARC_GET_TIME 62
#define ISARC_GET_CRC 63
#define ISARC_GET_ATTRIBUTE 64
#define ISARC_GET_OS_TYPE 65
#define ISARC_GET_METHOD 66
#define ISARC_GET_WRITE_TIME 67
#define ISARC_GET_CREATE_TIME 68
#define ISARC_GET_ACCESS_TIME 69
#define ISARC_FUNCTION_END 69
#endif /* ISARC_FUNCTION_START */
#ifndef FA_RDONLY
/* Attribute */
#define FA_RDONLY 0x01 /* Read only attribute */
#define FA_HIDDEN 0x02 /* Hidden file */
#define FA_SYSTEM 0x04 /* System file */
#define FA_LABEL 0x08 /* Volume label */
#define FA_DIREC 0x10 /* Directory */
#define FA_ARCH 0x20 /* Archive */
#endif
#ifndef ERROR_ARC_FILE_OPEN
/* WARNING */
#define ERROR_DISK_SPACE 0x8005
#define ERROR_READ_ONLY 0x8006
#define ERROR_USER_SKIP 0x8007
#define ERROR_UNKNOWN_TYPE 0x8008
#define ERROR_METHOD 0x8009
#define ERROR_PASSWORD_FILE 0x800A
#define ERROR_VERSION 0x800B
#define ERROR_FILE_CRC 0x800C
#define ERROR_FILE_OPEN 0x800D
#define ERROR_MORE_FRESH 0x800E
#define ERROR_NOT_EXIST 0x800F
#define ERROR_ALREADY_EXIST 0x8010
#define ERROR_TOO_MANY_FILES 0x8011
/* ERROR */
#define ERROR_MAKEDIRECTORY 0x8012
#define ERROR_CANNOT_WRITE 0x8013
#define ERROR_HUFFMAN_CODE 0x8014
#define ERROR_COMMENT_HEADER 0x8015
#define ERROR_HEADER_CRC 0x8016
#define ERROR_HEADER_BROKEN 0x8017
#define ERROR_ARC_FILE_OPEN 0x8018
#define ERROR_NOT_ARC_FILE 0x8019
#define ERROR_CANNOT_READ 0x801A
#define ERROR_FILE_STYLE 0x801B
#define ERROR_COMMAND_NAME 0x801C
#define ERROR_MORE_HEAP_MEMORY 0x801D
#define ERROR_ENOUGH_MEMORY 0x801E
#if !defined(ERROR_ALREADY_RUNNING)
#define ERROR_ALREADY_RUNNING 0x801F
#endif
#define ERROR_USER_CANCEL 0x8020
#define ERROR_HARC_ISNOT_OPENED 0x8021
#define ERROR_NOT_SEARCH_MODE 0x8022
#define ERROR_NOT_SUPPORT 0x8023
#define ERROR_TIME_STAMP 0x8024
#define ERROR_TMP_OPEN 0x8025
#define ERROR_LONG_FILE_NAME 0x8026
#define ERROR_ARC_READ_ONLY 0x8027
#define ERROR_SAME_NAME_FILE 0x8028
#define ERROR_NOT_FIND_ARC_FILE 0x8029
#define ERROR_RESPONSE_READ 0x802A
#define ERROR_NOT_FILENAME 0x802B
#define ERROR_END ERROR_NOT_FILENAME
#endif /* ERROR_ARC_FILE_OPEN */
#define ARCHIVETYPE_TAR 1
#define ARCHIVETYPE_TARGZ 2
#define ARCHIVETYPE_TARZ 3
#define ARCHIVETYPE_GZ 4
#define ARCHIVETYPE_Z 5
#define ARCHIVETYPE_TARBZ2 6
#define ARCHIVETYPE_BZ2 7
#endif /* TAR32_H*/