Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

299 lines
5.7 KiB

/* SCCSID = @(#)dosthk.tif 1.5 90/05/18 */
/*** dosthk.tif - Header file for the thunk compiler's Dos script files
*
* These are the typedefs for the scripts for the Dos apientry routines.
* The typedefs in this file are only used in the base api routines.
*
* History:
* 30-Jan-1989 JulieB Created it.
*/
typedef struct _PIDINFO {
PID pid;
TID tid;
PID pidParent;
} PIDINFO;
typedef PIDINFO *PPIDINFO;
/**** The result codes structure is different between 0:32 and 16:16 **/
/**** This structure was changed to use UINT to produce the correct size **/
typedef struct _RESULTCODES {
UINT codeTerminate;
UINT codeResult;
} RESULTCODES;
typedef RESULTCODES *PRESULTCODES;
/**** The queue result structure is different between 0:32 and 16:16 **/
/**** This structure was changed to use UINT to produce the correct size **/
typedef struct _QUEUERESULT {
UINT pidProcess;
UINT EventCode;
} QUEUERESULT;
typedef QUEUERESULT *PQUEUERESULT;
typedef struct _GINFOSEG {
ULONG time;
ULONG msecs;
UCHAR hour;
UCHAR minutes;
UCHAR seconds;
UCHAR hundredths;
USHORT timezone;
USHORT cusecTimerInterval;
UCHAR day;
UCHAR month;
USHORT year;
UCHAR weekday;
UCHAR uchMajorVersion;
UCHAR uchMinorVersion;
UCHAR chRevisionLetter;
UCHAR sgCurrent;
UCHAR sgMax;
UCHAR cHugeShift;
UCHAR fProtectModeOnly;
USHORT pidForeground;
UCHAR fDynamicSched;
UCHAR csecMaxWait;
USHORT cmsecMinSlice;
USHORT cmsecMaxSlice;
USHORT bootdrive;
UCHAR amecRAS[32];
} GINFOSEG;
typedef GINFOSEG *PGINFOSEG;
typedef struct _LINFOSEG {
PID pidCurrent;
PID pidParent;
USHORT prtyCurrent;
TID tidCurrent;
USHORT sgCurrent;
USHORT sgSub;
BOOL fForeground;
} LINFOSEG;
typedef LINFOSEG *PLINFOSEG;
typedef struct _FILESTATUS {
FDATE fdateCreation;
FTIME ftimeCreation;
FDATE fdateLastAccess;
FTIME ftimeLastAccess;
FDATE fdateLastWrite;
FTIME ftimeLastWrite;
ULONG cbFile;
ULONG cbFileAlloc;
USHORT attrFile;
} FILESTATUS;
typedef FILESTATUS *PFILESTATUS;
typedef struct _FILESTATUS2 {
FDATE fdateCreation;
FTIME ftimeCreation;
FDATE fdateLastAccess;
FTIME ftimeLastAccess;
FDATE fdateLastWrite;
FTIME ftimeLastWrite;
ULONG cbFile;
ULONG cbFileAlloc;
USHORT attrFile;
ULONG cbList;
} FILESTATUS2;
typedef FILESTATUS2 *PFILESTATUS2;
typedef struct _FSALLOCATE {
ULONG idFileSystem;
ULONG cSectorUnit;
ULONG cUnit;
ULONG cUnitAvail;
USHORT cbSector;
} FSALLOCATE;
typedef FSALLOCATE *PFSALLOCATE;
typedef SHANDLE HDIR;
typedef HDIR *PHDIR;
typedef LHANDLE HSYSSEM;
typedef HSYSSEM *PHSYSSEM;
typedef struct _MUXSEM {
USHORT zero;
HSEM hsem;
} MUXSEM;
typedef MUXSEM *PMUXSEM;
typedef struct _MUXSEMLIST {
USHORT cmxs;
MUXSEM amxs[16];
} MUXSEMLIST;
typedef MUXSEMLIST *PMUXSEMLIST;
typedef struct _DATETIME {
UCHAR hours;
UCHAR minutes;
UCHAR seconds;
UCHAR hundredths;
UCHAR day;
UCHAR month;
USHORT year;
SHORT timezone;
UCHAR weekday;
} DATETIME;
typedef DATETIME *PDATETIME;
typedef struct _COUNTRYCODE {
USHORT country;
USHORT codepage;
} COUNTRYCODE;
typedef COUNTRYCODE *PCOUNTRYCODE;
typedef struct _COUNTRYINFO {
USHORT country;
USHORT codepage;
USHORT fsDateFmt;
char szCurrency[5];
char szThousandsSeparator[2];
char szDecimal[2];
char szDateSeparator[2];
char szTimeSeparator[2];
UCHAR fsCurrencyFmt;
UCHAR cDecimalPlace;
UCHAR fsTimeFmt;
USHORT abReserved1[2];
char szDataSeparator[2];
USHORT abReserved2[5];
} COUNTRYINFO;
typedef COUNTRYINFO *PCOUNTRYINFO;
typedef SHANDLE HMONITOR;
typedef HMONITOR *PHMONITOR;
typedef SHANDLE HQUEUE;
typedef HQUEUE *PHQUEUE;
typedef struct _STARTDATA {
USHORT cb;
USHORT Related;
USHORT FgBg;
USHORT TraceOpt;
PSZ PgmTitle;
PSZ PgmName;
PBYTE PgmInputs;
PBYTE TermQ;
} STARTDATA;
typedef STARTDATA *PSTARTDATA;
typedef struct _STATUSDATA {
USHORT cb;
USHORT SelectInd;
USHORT BindInd;
} STATUSDATA;
typedef STATUSDATA *PSTATUSDATA;
typedef SHANDLE HPIPE;
typedef HPIPE *PHPIPE;
typedef struct _DOSFSRSEM {
USHORT cb;
PID pid;
TID tid;
USHORT cUsage;
USHORT client;
ULONG sem;
} DOSFSRSEM;
typedef DOSFSRSEM *PDOSFSRSEM;
typedef struct _FEA {
char fea_reserved;
char fea_cbName;
unsigned short fea_cbValue;
} FEA;
typedef struct _FEAList {
unsigned long feal_cbList;
FEA feal_list[1];
} FEAList;
typedef FEAList *PFEAList;
typedef struct _GEA {
char gea_cbName;
char gea_szName[1];
} GEA;
typedef struct _GEAList {
unsigned long geal_cbList;
GEA geal_list[1];
} GEAList;
typedef GEAList *PGEAList;
typedef struct _EAOP {
PGEAList fpGEAList;
PFEAList fpFEAList;
unsigned long offError;
} EAOP;
typedef EAOP *PEAOP;
/*** FileLock is used by the FileLocks API.
***
*** Created: KevinRo 3-APR-89
***/
typedef struct _FileLock {
ULONG Offset;
ULONG RangeLen;
} FILELOCK;
typedef FILELOCK *PFILELOCK;
/*
* For DosShutdown.
*
* The 3rd field (pchArgument) should really be a PSZ. However,
* in order to allow the thunk layer to pass an invalid pointer
* onto the kernel without trapping, it was made a PCHAR. This
* way the kernel worker can deal appropriately with the invalid
* pointer to the pchArgument.
*
* 02-May-1990 JulieB Added it.
*/
typedef struct _SDPACKET {
ULONG reserved;
ULONG errcode;
PCHAR pchArgument;
} SDPACKET;
typedef SDPACKET *PSDPACKET;