Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

100 lines
2.5 KiB

#pragma pack(1)
/*
* Structure and equates of PIF files
*/
#define PIFEDITMAXPIF 1024 /* maximum PIF file size we support */
#define PIFEDITMAXPIFL 1024L
#define PIFNAMESIZE 30
#define PIFSTARTLOCSIZE 63
#define PIFDEFPATHSIZE 64
#define PIFPARAMSSIZE 64
#define PIFSHPROGSIZE 64
#define PIFSHDATASIZE 64
#define PIFEXTSIGSIZE 16
#define PIFSIZE 367 /* two bytes less, this is used for checksum */
typedef struct {
char extsig[PIFEXTSIGSIZE];
unsigned short extnxthdrfloff;
unsigned short extfileoffset;
unsigned short extsizebytes;
} PIFEXTHEADER;
#define LASTHEADERPTR 0xFFFF
#define STDHDRSIG "MICROSOFT PIFEX"
#define W386HDRSIG "WINDOWS 386 3.0"
#define W286HDRSIG30 "WINDOWS 286 3.0"
#define WNTHDRSIG31 "WINDOWS NT 3.1"
typedef struct {
char unknown;
char id;
char name[PIFNAMESIZE];
short maxmem;
short minmem;
char startfile[PIFSTARTLOCSIZE];
char MSflags;
char reserved;
char defpath[PIFDEFPATHSIZE];
char params[PIFPARAMSSIZE];
char screen;
char cPages;
unsigned char lowVector;
unsigned char highVector;
char rows;
char cols;
char rowoff;
char coloff;
unsigned short sysmem;
char shprog[PIFSHPROGSIZE];
char shdata[PIFSHDATASIZE];
unsigned char behavior;
unsigned char sysflags;
PIFEXTHEADER stdpifext;
} PIFNEWSTRUCT;
typedef struct {
short maxmem;
short minmem;
unsigned short PfFPriority;
unsigned short PfBPriority;
short PfMaxEMMK;
unsigned short PfMinEMMK;
short PfMaxXmsK;
unsigned short PfMinXmsK;
unsigned long PfW386Flags;
unsigned long PfW386Flags2;
unsigned short PfHotKeyScan;
unsigned short PfHotKeyShVal;
unsigned short PfHotKeyShMsk;
unsigned char PfHotKeyVal;
unsigned char PfHotKeyPad[9];
char params[PIFPARAMSSIZE];
} PIF386EXT;
/* Windows NT extension format */
typedef struct
{
DWORD dwWNTFlags;
DWORD dwRes1;
DWORD dwRes2;
char achConfigFile[PIFDEFPATHSIZE];
char achAutoexecFile[PIFDEFPATHSIZE];
} PIFWNTEXT;
// equates for dwWNTFlags
#define NTPIF_SUBSYSMASK 0x0000000F // sub system type mask
#define SUBSYS_DEFAULT 0
#define SUBSYS_DOS 1
#define SUBSYS_WOW 2
#define SUBSYS_OS2 3
#define PIFWNTEXTSIZE sizeof(PIFWNTEXT)
#pragma pack()