56 lines
1.2 KiB
OpenEdge ABL
56 lines
1.2 KiB
OpenEdge ABL
|
/*++
|
||
|
|
||
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
atom.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This is the header file that describes the constants and data
|
||
|
structures used by the atom manager, exported by ntdll.dll and
|
||
|
ntrtl.lib
|
||
|
|
||
|
Procedure prototypes are defined in ntrtl.h
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Steve Wood (stevewo) 27-Nov-1995
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
typedef struct _RTL_ATOM_TABLE_ENTRY {
|
||
|
struct _RTL_ATOM_TABLE_ENTRY *HashLink;
|
||
|
USHORT HandleIndex;
|
||
|
RTL_ATOM Atom;
|
||
|
USHORT ReferenceCount;
|
||
|
UCHAR Flags;
|
||
|
UCHAR NameLength;
|
||
|
WCHAR Name[ 1 ];
|
||
|
} RTL_ATOM_TABLE_ENTRY, *PRTL_ATOM_TABLE_ENTRY;
|
||
|
|
||
|
typedef struct _RTL_ATOM_TABLE {
|
||
|
ULONG Signature;
|
||
|
|
||
|
#if defined(NTOS_KERNEL_RUNTIME)
|
||
|
EX_PUSH_LOCK PushLock;
|
||
|
PHANDLE_TABLE ExHandleTable;
|
||
|
#else
|
||
|
RTL_CRITICAL_SECTION CriticalSection;
|
||
|
RTL_HANDLE_TABLE RtlHandleTable;
|
||
|
#endif
|
||
|
ULONG NumberOfBuckets;
|
||
|
PRTL_ATOM_TABLE_ENTRY Buckets[ 1 ];
|
||
|
} RTL_ATOM_TABLE, *PRTL_ATOM_TABLE;
|
||
|
|
||
|
#define RTL_ATOM_TABLE_SIGNATURE (ULONG)'motA'
|
||
|
|
||
|
typedef struct _RTL_ATOM_HANDLE_TABLE_ENTRY {
|
||
|
USHORT Flags;
|
||
|
USHORT LockCount;
|
||
|
PRTL_ATOM_TABLE_ENTRY Atom;
|
||
|
} RTL_ATOM_HANDLE_TABLE_ENTRY, *PRTL_ATOM_HANDLE_TABLE_ENTRY;
|