mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			105 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
  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
 | 
						|
 |