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.
352 lines
7.5 KiB
352 lines
7.5 KiB
|
|
/*---------------------------------------------------------------------------------*/
|
|
/* TREE and LEAF Definitions */
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
typedef struct LEAF_
|
|
{
|
|
BYTE NodeCode;
|
|
BYTE NodeGroup;
|
|
BYTE NodeClass;
|
|
BYTE NodeModifiers;
|
|
TEXT * NodeInherentText;
|
|
}
|
|
LEAF;
|
|
|
|
typedef struct TREE_
|
|
{
|
|
BYTE TypeOfSubordinateNodes;
|
|
BYTE NumberOfSubordinateNodes;
|
|
struct TREE_ * SubordinateNodes;
|
|
TEXT * NodeInherentText;
|
|
}
|
|
TREE;
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
/* All tree and leaf relevant constants */
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
#define AuxiliaryClass 0x01
|
|
|
|
#define CollateGroup 0x01
|
|
|
|
#define CollateRecordsRequest 0x12
|
|
|
|
#define CreateGroup 0x02
|
|
|
|
#define ClearCreateFlagRequest 0x21
|
|
#define CreateNextRecordRequest 0x22
|
|
#define CreateRecordRequest 0x23
|
|
#define CreateRecordsRequest 0x24
|
|
#define SetCreateFlagRequest 0x25
|
|
|
|
#define RecordGroup 0x03
|
|
|
|
#define AppendRecordRequest 0x31
|
|
#define CollateFileRequest 0x32
|
|
#define CopyRecordRequest 0x33
|
|
|
|
#define TypeGroup 0x04
|
|
|
|
#define TypeCommentRequest 0x41
|
|
|
|
#define UtilityGroup 0x05
|
|
|
|
#define AppendFileRequest 0x51
|
|
#define CollateFilesRequest 0x52
|
|
#define CopyFileRequest 0x53
|
|
|
|
|
|
#define DefineClass 0x02
|
|
|
|
#define DefineGroup 0x01
|
|
|
|
#define DefineFileRequest 0x11
|
|
#define DefineProcessRequest 0x12
|
|
#define DefinePrototypeRequest 0x13
|
|
#define DefineSemaphoreRequest 0x14
|
|
#define DefineTimerRequest 0x15
|
|
|
|
|
|
#define FileClass 0x03
|
|
|
|
#define FileLocksGroup 0x01
|
|
|
|
#define ChangeFileLocksRequest 0x11
|
|
|
|
#define LockSet 0x10
|
|
#define LockRange 0x11
|
|
#define LockShare 0x12
|
|
#define UnlockSet 0x20
|
|
|
|
|
|
#define FilePointerGroup 0x02
|
|
|
|
#define ChangeFilePointerRequest 0x21
|
|
|
|
|
|
#define GenericFileGroup 0x03
|
|
|
|
#define CloseFileRequest 0x31
|
|
#define DeleteFileRequest 0x32
|
|
#define QueryFileRequest 0x33
|
|
|
|
|
|
#define GenericFilesGroup 0x04
|
|
|
|
#define CloseFilesRequest 0x41
|
|
#define DeleteFilesRequest 0x42
|
|
#define OpenFilesRequest 0x43
|
|
#define QueryFilesRequest 0x44
|
|
|
|
|
|
#define OpenFileGroup 0x05
|
|
|
|
#define OpenFileRequest 0x51
|
|
|
|
#define TruncateFileRequest 0x52
|
|
|
|
|
|
#define ReadFileGroup 0x06
|
|
|
|
#define BeginReadingFileRequest 0x61
|
|
#define ContinueReadingFileRequest 0x62
|
|
#define EndReadingFileRequest 0x63
|
|
#define ReadFileRequest 0x64
|
|
|
|
|
|
#define WriteFileGroup 0x07
|
|
|
|
#define BeginWritingFileRequest 0x71
|
|
#define ContinueWritingFileRequest 0x72
|
|
#define EndWritingFileRequest 0x73
|
|
#define WriteFileRequest 0x74
|
|
|
|
|
|
#define FlowClass 0x04
|
|
|
|
#define BraceGroup 0x01
|
|
|
|
#define LeftBraceRequest 0x11
|
|
#define RightBraceRequest 0x12
|
|
|
|
#define OnErrorGroup 0x02
|
|
|
|
#define OnErrorRequest 0x21
|
|
|
|
#define OnOptionBlock 0x01
|
|
#define OnOptionCommand 0x02
|
|
#define OnOptionExit 0x04
|
|
#define OnOptionPause 0x08
|
|
#define OnOptionRepeat 0x10
|
|
|
|
|
|
#define OnTimeoutGroup 0x03
|
|
|
|
#define OnTimeoutRequest 0x31
|
|
|
|
|
|
#define RepeatGroup 0x04
|
|
|
|
#define RepeatRequest 0x41
|
|
|
|
#define RepeatIndefinitely 0x01
|
|
#define RepeatOnCount 0x02
|
|
#define RepeatOnTimer 0x04
|
|
|
|
|
|
#define ParameterClass 0x05
|
|
|
|
#undef FileLocksGroup
|
|
#define FileLocksGroup 0x01
|
|
|
|
#undef FilePointerGroup
|
|
#define FilePointerGroup 0x02
|
|
|
|
|
|
#define ByteIndexGroup 0x03
|
|
|
|
#define BufferChosen 0x31
|
|
#define PatternChosen 0x32
|
|
#define PrototypeChosen 0x33
|
|
#define SchemeChosen 0x34
|
|
#define SemaphoreChosen 0x35
|
|
|
|
|
|
#define QuadIndexGroup 0x05
|
|
|
|
#define CountChosen 0x51
|
|
#define RecordChosen 0x52
|
|
|
|
|
|
#define QuadSizeGroup 0x06
|
|
|
|
#define BufferSpaceValue 0x61
|
|
#define FileSizeValue 0x62
|
|
#define LockLengthValue 0x63
|
|
#define LockStartValue 0x64
|
|
|
|
|
|
#define SignedQuadGroup 0x07
|
|
|
|
#define OffsetValue 0x71
|
|
|
|
|
|
#define TextTokenGroup 0x08
|
|
|
|
#define OffPointIndex 0x81
|
|
|
|
#define OffPointBegin 0x01
|
|
#define OffPointCurrent 0x02
|
|
#define OffPointEnd 0x04
|
|
|
|
|
|
#define TimeGroup 0x09
|
|
|
|
#define TimeoutValue 0x91
|
|
|
|
#define WordSizeGroup 0x0A
|
|
|
|
#define RecordSizeValue 0xA1
|
|
|
|
|
|
#define AttributeGroup 0x81
|
|
|
|
#define FileAttributeSet 0x80
|
|
|
|
#define FileArchived 0x40
|
|
#define FileHidden 0x20
|
|
#define FileNormal 0x10
|
|
#define FileReadOnly 0x08
|
|
#define FileSystem 0x04
|
|
|
|
#define OpenFlagsGroup 0x82
|
|
|
|
#define FileOpenFlagsSet 0x80
|
|
|
|
#define OpenFlagsCreate 0x40
|
|
#define OpenFlagsOpen 0x20
|
|
#define OpenFlagsOpenCreate 0x10
|
|
#define OpenFlagsTruncate 0x08
|
|
#define OpenFlagsTruncateCreate 0x04
|
|
|
|
|
|
#define AccessModeGroup 0x83
|
|
|
|
#define FileAccessModeSet 0x80
|
|
|
|
#define AccessModeReadOnly 0x40
|
|
#define AccessModeReadWrite 0x20
|
|
#define AccessModeWriteOnly 0x10
|
|
|
|
|
|
#define ShareModeGroup 0x84
|
|
|
|
#define FileShareModeSet 0x80
|
|
|
|
#define ShareModeDenyNone 0x40
|
|
#define ShareModeDenyRead 0x20
|
|
#define ShareModeDenyReadWrite 0x10
|
|
#define ShareModeDenyWrite 0x08
|
|
|
|
|
|
#define LocalityModeGroup 0x85
|
|
|
|
#define FileLocalityModeSet 0x80
|
|
|
|
#define LocalityFlag 0x40
|
|
#define RandomFlag 0x20
|
|
#define RandomSequentialFlag 0x10
|
|
#define SequentialFlag 0x08
|
|
|
|
|
|
#define OtherModeGroup 0x86
|
|
|
|
#define FileModeFlagsSet 0x80
|
|
|
|
#define CacheFlag 0x40
|
|
#define DASD_Flag 0x20
|
|
#define FailOnErrorFlag 0x10
|
|
#define InheritanceFlag 0x08
|
|
#define WriteThroughFlag 0x04
|
|
|
|
#define ScanClass 0x06
|
|
|
|
#define ScanGroup 0x01
|
|
|
|
#define CompletePackingRequest 0x11
|
|
#define ExecutionSectionRequest 0x12
|
|
#define PrototypeSectionRequest 0x13
|
|
|
|
|
|
#define SemaphoreClass 0x07
|
|
|
|
#define BaseGroup 0x01
|
|
|
|
#define ClearSemaphoreRequest 0x11
|
|
#define SetSemaphoreRequest 0x12
|
|
|
|
|
|
#define WaitGroup 0x02
|
|
|
|
#define RequestSemaphoreRequest 0x21
|
|
#define SetSemaphoreAndWaitRequest 0x22
|
|
#define WaitForSemaphoreRequest 0x23
|
|
|
|
|
|
#define TimerClass 0x08
|
|
|
|
#define SleepGroup 0x01
|
|
|
|
#define SleepRequest 0x11
|
|
|
|
#define TimerGroup 0x02
|
|
|
|
#define ReadTimerRequest 0x21
|
|
#define StartTimerRequest 0x22
|
|
|
|
#define TimersGroup 0x03
|
|
|
|
#define StartTimersRequest 0x31
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
#define Leaf 0x10
|
|
#define Tree 0x20
|
|
#define Join 0x01
|
|
#define List 0x02
|
|
#define Text 0x06
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
#define AsynchronousFlag 0x80
|
|
|
|
#define ProcessFlag 0x40
|
|
#define PrototypeFlag 0x20
|
|
#define SemaphoreFlag 0x10
|
|
|
|
#define PatternFlag 0x08
|
|
#define SchemeFlag 0x08
|
|
|
|
#define ExceptFlag 0x04
|
|
#define UsingFlag 0x02
|
|
#define UsingSuiteFlag 0x01
|
|
|
|
#define DecrementFlag 0x02
|
|
#define IncrementFlag 0x01
|
|
|
|
#define OptionChosenNo 0x02
|
|
#define OptionChosenYes 0x01
|
|
|
|
#define TimeInHour 0x80
|
|
#define TimeInHours 0x40
|
|
#define TimeInMilliseconds 0x20
|
|
#define TimeInMinutes 0x10
|
|
#define TimeInSeconds 0x08
|
|
|
|
#define TimeInUnits 0xf8
|
|
|
|
#define ChangeFlags ( DecrementFlag | IncrementFlag )
|
|
#define SuiteFlags ( ExceptFlag | UsingSuiteFlag )
|
|
|
|
/*---------------------------------------------------------------------------------*/
|