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.
 
 
 
 
 
 

524 lines
10 KiB

/*---------------------------------------------------------------------------------*/
/* Common Definitions */
/*---------------------------------------------------------------------------------*/
typedef struct CCB_Header_
{
struct CCB_Header_ * CCB_HeaderNextInChain;
struct CCB_Header_ * CCB_HeaderBackInChain;
BYTE ProcessExtrinsicKey;
BYTE ProcessIntrinsicKey;
BYTE RequestCode;
BYTE RequestGroup;
BYTE RequestClass;
BYTE RequestModifiers;
WORD RequestReferenceLine;
}
CCB_Header;
typedef struct CCB_Command_
{
CCB_Header;
}
CCB_Command;
/*---------------------------------------------------------------------------------*/
/* Auxiliary Group Definitions */
/*---------------------------------------------------------------------------------*/
typedef struct CCB_Collate_
{
CCB_Header;
}
CCB_Collate;
typedef struct CCB_CollateFile_
{
struct CCB_Header_ * CCB_HeaderNextInChain;
struct CCB_Header_ * CCB_HeaderBackInChain;
BYTE ProcessExtrinsicKey;
BYTE ProcessIntrinsicKey;
BYTE RequestCode;
BYTE RequestGroup;
BYTE RequestClass;
BYTE RequestModifiers;
WORD RequestReferenceLine;
BYTE FileExtrinsicKey;
BYTE FileIntrinsicKey;
BYTE PatternIndex;
BYTE SchemeIndex;
QUAD Count;
WORD RecordSize;
}
CCB_CollateFile;
typedef struct CCB_Comment_
{
CCB_Header;
TEXT * CommentTextPointer;
}
CCB_Comment;
typedef struct CCB_CreateNext_
{
CCB_Header;
}
CCB_CreateNext;
typedef struct CCB_CreateRecord_
{
CCB_Header;
QUAD RecordIndex;
}
CCB_CreateRecord;
typedef struct CCB_CreateRecords_
{
CCB_Header;
BYTE BufferIndex;
BYTE PatternIndex;
WORD RecordSize;
}
CCB_CreateRecords;
typedef struct CCB_Record_
{
struct CCB_Header_ * CCB_HeaderNextInChain;
struct CCB_Header_ * CCB_HeaderBackInChain;
BYTE ProcessExtrinsicKey;
BYTE ProcessIntrinsicKey;
BYTE RequestCode;
BYTE RequestGroup;
BYTE RequestClass;
BYTE RequestModifiers;
WORD RequestReferenceLine;
BYTE FileExtrinsicKey;
BYTE FileIntrinsicKey;
WORD RecordSize;
}
CCB_Record;
typedef struct CCB_Utility_
{
struct CCB_Header_ * CCB_HeaderNextInChain;
struct CCB_Header_ * CCB_HeaderBackInChain;
BYTE ProcessExtrinsicKey;
BYTE ProcessIntrinsicKey;
BYTE RequestCode;
BYTE RequestGroup;
BYTE RequestClass;
BYTE RequestModifiers;
WORD RequestReferenceLine;
BYTE SourceExtrinsicKey;
BYTE SourceIntrinsicKey;
BYTE TargetExtrinsicKey;
BYTE TargetIntrinsicKey;
BYTE PatternIndex;
BYTE SchemeIndex;
QUAD Count;
WORD RecordSize;
}
CCB_Utility;
/*---------------------------------------------------------------------------------*/
/* File Group Definitions */
/*---------------------------------------------------------------------------------*/
typedef struct CCB_HeaderFile_
{
struct CCB_Header_;
BYTE FileExtrinsicKey;
BYTE FileIntrinsicKey;
}
CCB_HeaderFile;
typedef struct LOCK_
{
WORD Share;
QUAD Start;
QUAD Length;
}
LOCK;
typedef struct CCB_ChangeFileLocks_
{
struct CCB_HeaderFile_;
BYTE FileLockCount;
BYTE FileUnlockCount;
LOCK FileLocks[1];
LOCK FileUnlocks[1];
}
CCB_ChangeFileLocks;
typedef struct CCB_ChangeFilePointer_
{
struct CCB_HeaderFile_;
WORD FileOffPoint;
QUAD FileOffset;
}
CCB_ChangeFilePointer;
typedef struct CCB_CloseFile_
{
struct CCB_HeaderFile_;
}
CCB_CloseFile;
typedef struct CCB_DeleteFile_
{
struct CCB_HeaderFile_;
}
CCB_DeleteFile;
typedef struct CCB_OpenFile_
{
struct CCB_Header_ * CCB_HeaderNextInChain;
struct CCB_Header_ * CCB_HeaderBackInChain;
BYTE PrototypeExtrinsicKey;
BYTE PrototypeIntrinsicKey;
BYTE RequestCode;
BYTE RequestGroup;
BYTE RequestClass;
BYTE RequestModifiers;
WORD RequestReferenceLine;
WORD ScanChangeFlags;
WORD ScanTraceFlags;
BYTE FileExtrinsicKey;
BYTE FileIntrinsicKey;
BYTE AttributesChosen;
BYTE AttributesDefined;
BYTE OpenFlagsChosen;
BYTE AccessModeChosen;
BYTE ShareModeChosen;
BYTE LocalityFlagsChosen;
BYTE LocalityFlagsDefined;
BYTE OtherFlagsChosen;
BYTE OtherFlagsDefined;
QUAD FileSize;
WORD RecordSize;
}
CCB_OpenFile;
typedef struct CCB_QueryFile_
{
struct CCB_HeaderFile_;
WORD QueryLevel;
}
CCB_QueryFile;
typedef struct CCB_ReadFile_
{
struct CCB_Header_ * CCB_HeaderNextInChain;
struct CCB_Header_ * CCB_HeaderBackInChain;
BYTE ProcessExtrinsicKey;
BYTE ProcessIntrinsicKey;
BYTE RequestCode;
BYTE RequestGroup;
BYTE RequestClass;
BYTE RequestModifiers;
WORD RequestReferenceLine;
BYTE FileExtrinsicKey;
BYTE FileIntrinsicKey;
BYTE SemaphoreExtrinsicKey;
BYTE SemaphoreIntrinsicKey;
WORD ScanChangeFlags;
WORD ScanTraceFlags;
WORD RecordSize;
}
CCB_ReadFile;
typedef struct CCB_TruncateFile_
{
struct CCB_Header_ * CCB_HeaderNextInChain;
struct CCB_Header_ * CCB_HeaderBackInChain;
BYTE PrototypeExtrinsicKey;
BYTE PrototypeIntrinsicKey;
BYTE RequestCode;
BYTE RequestGroup;
BYTE RequestClass;
BYTE RequestModifiers;
WORD RequestReferenceLine;
BYTE FileExtrinsicKey;
BYTE FileIntrinsicKey;
BYTE FileAttributes;
BYTE FileOpenFlags;
WORD FileOpenMode;
QUAD FileSize;
WORD RecordSize;
}
CCB_TruncateFile;
typedef struct CCB_WriteFile_
{
struct CCB_Header_ * CCB_HeaderNextInChain;
struct CCB_Header_ * CCB_HeaderBackInChain;
BYTE ProcessExtrinsicKey;
BYTE ProcessIntrinsicKey;
BYTE RequestCode;
BYTE RequestGroup;
BYTE RequestClass;
BYTE RequestModifiers;
WORD RequestReferenceLine;
BYTE FileExtrinsicKey;
BYTE FileIntrinsicKey;
BYTE SemaphoreExtrinsicKey;
BYTE SemaphoreIntrinsicKey;
WORD ScanChangeFlags;
WORD ScanTraceFlags;
WORD RecordSize;
}
CCB_WriteFile;
typedef struct PCB_Prototype_
{
struct PCB_Prototype_ * PCB_PrototypeNextInChain;
struct PCB_Prototype_ * PCB_PrototypeBackInChain;
BYTE PrototypeExtrinsicKey;
BYTE PrototypeIntrinsicKey;
WORD ScanChangeFlags;
WORD ScanTraceFlags;
BYTE AttributesChosen;
BYTE AttributesDefined;
BYTE OpenFlagsChosen;
BYTE AccessModeChosen;
BYTE ShareModeChosen;
BYTE LocalityFlagsChosen;
BYTE LocalityFlagsDefined;
BYTE OtherFlagsChosen;
BYTE OtherFlagsDefined;
QUAD FileSize;
WORD RecordSize;
}
PCB_Prototype;
/*---------------------------------------------------------------------------------*/
/* Flow Group Definitions */
/*---------------------------------------------------------------------------------*/
typedef struct CCB_Brace_
{
CCB_Header;
CCB_Header * CounterpartOfThisBrace;
BYTE BraceNestingLevel;
}
CCB_Brace;
typedef struct OCB_OnError_
{
struct OCB_OnError_ * OCB_OnErrorNextInChain;
struct OCB_OnError_ * OCB_OnErrorBackInChain;
CCB_Header * OnErrorLowerBoundary;
CCB_Header * OnErrorUpperBoundary;
BYTE OnErrorModifiers;
BYTE OnErrorNestingLevel;
}
OCB_OnError;
typedef struct OCB_OnTimeout_
{
struct OCB_OnTimeout_ * OCB_OnTimeoutNextInChain;
struct OCB_OnTimeout_ * OCB_OnTimeoutBackInChain;
CCB_Header * OnTimeoutLowerBoundary;
CCB_Header * OnTimeoutUpperBoundary;
BYTE OnTimeoutModifiers;
BYTE OnTimeoutNestingLevel;
}
OCB_OnTimeout;
typedef struct CCB_Repeat_
{
CCB_Header;
QUAD RepeatCurrentValue;
QUAD RepeatControlValue;
}
CCB_Repeat;
/*---------------------------------------------------------------------------------*/
/* Semaphore Group Definitions */
/*---------------------------------------------------------------------------------*/
typedef struct CCB_Semaphore_
{
CCB_Header;
BYTE SemaphoreExtrinsicKey;
BYTE SemaphoreIntrinsicKey;
}
CCB_Semaphore;
typedef struct CCB_WaitForSemaphore_
{
CCB_Semaphore;
QUAD Timeout;
}
CCB_WaitForSemaphore;
typedef struct SCB_Semaphore_
{
struct SCB_Semaphore_ * SCB_SemaphoreNextInChain;
struct SCB_Semaphore_ * SCB_SemaphoreBackInChain;
BYTE SemaphoreExtrinsicKey;
BYTE SemaphoreIntrinsicKey;
HANDLE Lights;
}
SCB_Semaphore;
/*---------------------------------------------------------------------------------*/
/* Timer Group Definitions */
/*---------------------------------------------------------------------------------*/
typedef struct CCB_Timer_
{
CCB_Header;
BYTE TimerExtrinsicKey;
BYTE TimerIntrinsicKey;
}
CCB_Timer;
typedef struct CCB_Sleep_
{
CCB_Header;
QUAD TimeToSleep;
}
CCB_Sleep;
typedef struct TCB_Timer_
{
struct TCB_Timer_ * TCB_TimerNextInChain;
struct TCB_Timer_ * TCB_TimerBackInChain;
BYTE TimerExtrinsicKey;
BYTE TimerIntrinsicKey;
QUAD TimeStarted;
QUAD TimeChecked;
}
TCB_Timer;
typedef struct TCB_TimerReadings_
{
QUAD TimeElapsedMajor;
QUAD TimeElapsedMinor;
QUAD TimeNow;
BYTE TimerExtrinsicKey;
BYTE TimerIntrinsicKey;
}
TCB_TimerReadings;
/*---------------------------------------------------------------------------------*/
/* Other Definitions */
/*---------------------------------------------------------------------------------*/
typedef struct PCB_Process_
{
struct PCB_Process_ * PCB_ProcessNextInChain;
struct PCB_Process_ * PCB_ProcessBackInChain;
CCB_Header * CCB_CommandChainEntryPoint;
FCB_File * FCB_FileChainEntryPoint;
OCB_OnError * OCB_OnErrorChainEntryPoint;
OCB_OnTimeout * OCB_OnTimeoutChainEntryPoint;
struct PCB_Process_ * PCB_ProcessChainEntryPoint;
PCB_Prototype * PCB_PrototypeChainEntryPoint;
SCB_Semaphore * SCB_SemaphoreChainEntryPoint;
TCB_Timer * TCB_TimerChainEntryPoint;
BYTE ProcessExtrinsicKey;
BYTE ProcessIntrinsicKey;
WORD ScanTraceFlags;
QUAD BufferSpace;
}
PCB_Process;