Source code of Windows XP (NT5)
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.

55 lines
1.2 KiB

  1. /*++
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4. atom.h
  5. Abstract:
  6. This is the header file that describes the constants and data
  7. structures used by the atom manager, exported by ntdll.dll and
  8. ntrtl.lib
  9. Procedure prototypes are defined in ntrtl.h
  10. Author:
  11. Steve Wood (stevewo) 27-Nov-1995
  12. Revision History:
  13. --*/
  14. typedef struct _RTL_ATOM_TABLE_ENTRY {
  15. struct _RTL_ATOM_TABLE_ENTRY *HashLink;
  16. USHORT HandleIndex;
  17. RTL_ATOM Atom;
  18. USHORT ReferenceCount;
  19. UCHAR Flags;
  20. UCHAR NameLength;
  21. WCHAR Name[ 1 ];
  22. } RTL_ATOM_TABLE_ENTRY, *PRTL_ATOM_TABLE_ENTRY;
  23. typedef struct _RTL_ATOM_TABLE {
  24. ULONG Signature;
  25. #if defined(NTOS_KERNEL_RUNTIME)
  26. EX_PUSH_LOCK PushLock;
  27. PHANDLE_TABLE ExHandleTable;
  28. #else
  29. RTL_CRITICAL_SECTION CriticalSection;
  30. RTL_HANDLE_TABLE RtlHandleTable;
  31. #endif
  32. ULONG NumberOfBuckets;
  33. PRTL_ATOM_TABLE_ENTRY Buckets[ 1 ];
  34. } RTL_ATOM_TABLE, *PRTL_ATOM_TABLE;
  35. #define RTL_ATOM_TABLE_SIGNATURE (ULONG)'motA'
  36. typedef struct _RTL_ATOM_HANDLE_TABLE_ENTRY {
  37. USHORT Flags;
  38. USHORT LockCount;
  39. PRTL_ATOM_TABLE_ENTRY Atom;
  40. } RTL_ATOM_HANDLE_TABLE_ENTRY, *PRTL_ATOM_HANDLE_TABLE_ENTRY;