mirror of https://github.com/lianthony/NT4.0
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.
42 lines
1.2 KiB
42 lines
1.2 KiB
|
|
#define OneSegmentSpan 64 * K
|
|
#define SegmentNameSpan sizeof ( "sfs-gate.nnn" )
|
|
|
|
typedef struct SCB_Segment_
|
|
{
|
|
struct SCB_Segment_ * SCB_SegmentNextInChain;
|
|
struct SCB_Segment_ * SCB_SegmentBackInChain;
|
|
|
|
BYTE ThisSegmentIntrinsicKey;
|
|
TEXT NextSegmentIntrinsicName[ SegmentNameSpan ];
|
|
}
|
|
SCB_Segment;
|
|
|
|
typedef struct IEB_Gate_
|
|
{
|
|
SCB_Segment;
|
|
|
|
PCB_Process * PCB_ProcessChainEntryPoint;
|
|
PCB_Prototype * PCB_PrototypeChainEntryPoint;
|
|
SCB_Semaphore * SCB_SemaphoreChainEntryPoint;
|
|
|
|
HANDLE GateCheckInLights; // handle to an EVENT object
|
|
HANDLE GateCheckOutLights; // handle to an auto-reset EVENT object
|
|
HANDLE GateClosureLights; // handle to an EVENT object
|
|
|
|
HANDLE GateLogLights; // handle to a MUTEX object
|
|
HANDLE GateScreenLights; // handle to a MUTEX object
|
|
|
|
BYTE GateCheckInCount;
|
|
BYTE GateCheckOutCount;
|
|
|
|
BYTE ProcessCheckingOut;
|
|
BYTE ProcessesToRun;
|
|
BYTE ProcessToWakeUp;
|
|
|
|
BYTE ScanErrorLevel;
|
|
}
|
|
IEB_Gate;
|
|
|
|
TEXT * AccommodateTextString ( TEXT * StringPointer );
|
|
BYTE * AllocateControlBlock ( WORD BlockSize );
|