/PC/bdist_wininst/archive.h
http://unladen-swallow.googlecode.com/ · C++ Header · 105 lines · 75 code · 17 blank · 13 comment · 0 complexity · b57f29b4455f3fcdf09beb7f13de177a MD5 · raw file
- /*
- IMPORTANT NOTE: IF THIS FILE IS CHANGED, WININST-6.EXE MUST BE RECOMPILED
- WITH THE MSVC6 WININST.DSW WORKSPACE FILE MANUALLY, AND WININST-7.1.EXE MUST
- BE RECOMPILED WITH THE MSVC 2003.NET WININST-7.1.VCPROJ FILE MANUALLY.
- IF CHANGES TO THIS FILE ARE CHECKED INTO PYTHON CVS, THE RECOMPILED BINARIES
- MUST BE CHECKED IN AS WELL!
- */
- #pragma pack(1)
- /* zip-archive headers
- * See: http://www.pkware.com/appnote.html
- */
- struct eof_cdir {
- long tag; /* must be 0x06054b50 */
- short disknum;
- short firstdisk;
- short nTotalCDirThis;
- short nTotalCDir;
- long nBytesCDir;
- long ofsCDir;
- short commentlen;
- };
- struct cdir {
- long tag; /* must be 0x02014b50 */
- short version_made;
- short version_extract;
- short gp_bitflag;
- short comp_method;
- short last_mod_file_time;
- short last_mod_file_date;
- long crc32;
- long comp_size;
- long uncomp_size;
- short fname_length;
- short extra_length;
- short comment_length;
- short disknum_start;
- short int_file_attr;
- long ext_file_attr;
- long ofs_local_header;
- };
- struct fhdr {
- long tag; /* must be 0x04034b50 */
- short version_needed;
- short flags;
- short method;
- short last_mod_file_time;
- short last_mod_file_date;
- long crc32;
- long comp_size;
- long uncomp_size;
- short fname_length;
- short extra_length;
- };
- struct meta_data_hdr {
- int tag;
- int uncomp_size;
- int bitmap_size;
- };
- #pragma pack()
- /* installation scheme */
- typedef struct tagSCHEME {
- char *name;
- char *prefix;
- } SCHEME;
- typedef int (*NOTIFYPROC)(int code, LPSTR text, ...);
- extern BOOL
- extract_file(char *dst, char *src, int method, int comp_size,
- int uncomp_size, NOTIFYPROC notify);
- extern BOOL
- unzip_archive(SCHEME *scheme, char *dirname, char *data,
- DWORD size, NOTIFYPROC notify);
- extern char *
- map_new_file(DWORD flags, char *filename, char
- *pathname_part, int size,
- WORD wFatDate, WORD wFatTime,
- NOTIFYPROC callback);
- extern BOOL
- ensure_directory (char *pathname, char *new_part,
- NOTIFYPROC callback);
- /* codes for NOITIFYPROC */
- #define DIR_CREATED 1
- #define CAN_OVERWRITE 2
- #define FILE_CREATED 3
- #define ZLIB_ERROR 4
- #define SYSTEM_ERROR 5
- #define NUM_FILES 6
- #define FILE_OVERWRITTEN 7