Leaked source code of windows server 2003
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.

93 lines
2.1 KiB

  1. #ifndef _BLDR_KERNEL_DEFS
  2. #define _BLDR_KERNEL_DEFS
  3. #include <macwindefs.h>
  4. typedef struct _TIME_FIELDS {
  5. short Year; // range [1601...]
  6. short Month; // range [1..12]
  7. short Day; // range [1..31]
  8. short Hour; // range [0..23]
  9. short Minute; // range [0..59]
  10. short Second; // range [0..59]
  11. short Milliseconds;// range [0..999]
  12. short Weekday; // range [0..6] == [Sunday..Saturday]
  13. } TIME_FIELDS;
  14. typedef TIME_FIELDS *PTIME_FIELDS;
  15. #ifdef MAC
  16. typedef enum {
  17. MsvAvEOL, // end of list
  18. MsvAvNbComputerName, // server's computer name -- NetBIOS
  19. MsvAvNbDomainName, // server's domain name -- NetBIOS
  20. MsvAvDnsComputerName, // server's computer name -- DNS
  21. MsvAvDnsDomainName, // server's domain name -- DNS
  22. MsvAvDnsTreeName, // server's tree name -- DNS
  23. MsvAvFlags // server's extended flags -- DWORD mask
  24. } MSV1_0_AVID;
  25. #endif
  26. // Update Sequence Number
  27. typedef LONGLONG USN;
  28. typedef struct _LIST_ENTRY {
  29. struct _LIST_ENTRY * volatile Flink;
  30. struct _LIST_ENTRY * volatile Blink;
  31. } LIST_ENTRY, *PLIST_ENTRY;
  32. #if defined(_AXP64_)
  33. #define KSEG0_BASE 0xffffffff80000000 // from halpaxp64.h
  34. #elif defined(_ALPHA_)
  35. #define KSEG0_BASE 0x80000000 // from halpalpha.h
  36. #endif
  37. //
  38. // 16 byte aligned type for 128 bit floats
  39. //
  40. // *** TBD **** when compiler support is available:
  41. // typedef __float80 FLOAT128;
  42. // For we define a 128 bit structure and use force_align pragma to
  43. // align to 128 bits.
  44. //
  45. typedef struct _FLOAT128 {
  46. LONGLONG LowPart;
  47. LONGLONG HighPart;
  48. } FLOAT128;
  49. typedef FLOAT128 *PFLOAT128;
  50. #if defined(_M_IA64)
  51. #pragma force_align _FLOAT128 16
  52. #endif // _M_IA64
  53. #if defined(_WIN64)
  54. typedef unsigned __int64 ULONG_PTR, *PULONG_PTR;
  55. #else
  56. typedef unsigned long ULONG_PTR, *PULONG_PTR;
  57. #endif
  58. typedef unsigned char BYTE, *PBYTE;
  59. typedef ULONG_PTR KSPIN_LOCK;
  60. typedef KSPIN_LOCK *PKSPIN_LOCK;
  61. //
  62. // Interrupt Request Level (IRQL)
  63. //
  64. typedef UCHAR KIRQL;
  65. typedef KIRQL *PKIRQL;
  66. #endif