Source code of Windows XP (NT5)
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.
|
|
#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()
|