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.

201 lines
3.8 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. ppdefs.h
  5. Abstract:
  6. Basic Passport definitions.
  7. Author:
  8. Biao Wang (biaow) 01-Oct-2000
  9. --*/
  10. #ifndef PP_DEFS_H
  11. #define PP_DEFS_H
  12. #include <Windows.h>
  13. #define HINTERNET PVOID
  14. #define INTERNET_PORT WORD
  15. #define PP_LOG_INFO /*Noise*/ 0x00000001
  16. #define PP_LOG_WARNING /*Unusual*/ 0x00000002
  17. #define PP_LOG_ERROR /*Error*/ 0x00000004
  18. #ifdef DBG
  19. #define PP_ASSERT(fVal) if (!fVal) DebugBreak();
  20. #else
  21. #define PP_ASSERT(fVal)
  22. #endif
  23. #define ARRAYSIZE(a) (sizeof(a)/sizeof(a[0]))
  24. #define WPP_CONTROL_GUIDS \
  25. WPP_DEFINE_CONTROL_GUID(Regular,(81b20fea,73a8,4b62,95bc,354477c97a6f), \
  26. WPP_DEFINE_BIT(Error) \
  27. WPP_DEFINE_BIT(Unusual) \
  28. WPP_DEFINE_BIT(Noise) \
  29. )
  30. //
  31. // func pointer decl for CredUI
  32. //
  33. //#include <credui.h>
  34. #include <wincred.h>
  35. typedef BOOL
  36. (WINAPI * PFN_READ_DOMAIN_CRED_W) (
  37. IN PCREDENTIAL_TARGET_INFORMATIONW TargetInfo,
  38. IN DWORD Flags,
  39. OUT DWORD *Count,
  40. OUT PCREDENTIALW **Credential
  41. );
  42. typedef VOID
  43. (WINAPI * PFN_CRED_FREE)(
  44. IN PVOID Buffer
  45. );
  46. //
  47. // Doubly-linked list manipulation routines. Implemented as macros
  48. // but logically these are procedures.
  49. //
  50. //
  51. // VOID
  52. // InitializeListHead(
  53. // PLIST_ENTRY ListHead
  54. // );
  55. //
  56. #define InitializeListHead(ListHead) (\
  57. (ListHead)->Flink = (ListHead)->Blink = (ListHead))
  58. //
  59. // BOOLEAN
  60. // IsListEmpty(
  61. // PLIST_ENTRY ListHead
  62. // );
  63. //
  64. #define IsListEmpty(ListHead) \
  65. ((ListHead)->Flink == (ListHead))
  66. //
  67. // PLIST_ENTRY
  68. // RemoveHeadList(
  69. // PLIST_ENTRY ListHead
  70. // );
  71. //
  72. #define RemoveHeadList(ListHead) \
  73. (ListHead)->Flink;\
  74. {RemoveEntryList((ListHead)->Flink)}
  75. //
  76. // PLIST_ENTRY
  77. // RemoveTailList(
  78. // PLIST_ENTRY ListHead
  79. // );
  80. //
  81. #define RemoveTailList(ListHead) \
  82. (ListHead)->Blink;\
  83. {RemoveEntryList((ListHead)->Blink)}
  84. //
  85. // VOID
  86. // RemoveEntryList(
  87. // PLIST_ENTRY Entry
  88. // );
  89. //
  90. #define RemoveEntryList(Entry) {\
  91. PLIST_ENTRY _EX_Blink;\
  92. PLIST_ENTRY _EX_Flink;\
  93. _EX_Flink = (Entry)->Flink;\
  94. _EX_Blink = (Entry)->Blink;\
  95. _EX_Blink->Flink = _EX_Flink;\
  96. _EX_Flink->Blink = _EX_Blink;\
  97. }
  98. //
  99. // VOID
  100. // InsertTailList(
  101. // PLIST_ENTRY ListHead,
  102. // PLIST_ENTRY Entry
  103. // );
  104. //
  105. #define InsertTailList(ListHead,Entry) {\
  106. PLIST_ENTRY _EX_Blink;\
  107. PLIST_ENTRY _EX_ListHead;\
  108. _EX_ListHead = (ListHead);\
  109. _EX_Blink = _EX_ListHead->Blink;\
  110. (Entry)->Flink = _EX_ListHead;\
  111. (Entry)->Blink = _EX_Blink;\
  112. _EX_Blink->Flink = (Entry);\
  113. _EX_ListHead->Blink = (Entry);\
  114. }
  115. //
  116. // VOID
  117. // InsertHeadList(
  118. // PLIST_ENTRY ListHead,
  119. // PLIST_ENTRY Entry
  120. // );
  121. //
  122. #define InsertHeadList(ListHead,Entry) {\
  123. PLIST_ENTRY _EX_Flink;\
  124. PLIST_ENTRY _EX_ListHead;\
  125. _EX_ListHead = (ListHead);\
  126. _EX_Flink = _EX_ListHead->Flink;\
  127. (Entry)->Flink = _EX_Flink;\
  128. (Entry)->Blink = _EX_ListHead;\
  129. _EX_Flink->Blink = (Entry);\
  130. _EX_ListHead->Flink = (Entry);\
  131. }
  132. //
  133. //
  134. // PSINGLE_LIST_ENTRY
  135. // PopEntryList(
  136. // PSINGLE_LIST_ENTRY ListHead
  137. // );
  138. //
  139. #define PopEntryList(ListHead) \
  140. (ListHead)->Next;\
  141. {\
  142. PSINGLE_LIST_ENTRY FirstEntry;\
  143. FirstEntry = (ListHead)->Next;\
  144. if (FirstEntry != NULL) { \
  145. (ListHead)->Next = FirstEntry->Next;\
  146. } \
  147. }
  148. //
  149. // VOID
  150. // PushEntryList(
  151. // PSINGLE_LIST_ENTRY ListHead,
  152. // PSINGLE_LIST_ENTRY Entry
  153. // );
  154. //
  155. #define PushEntryList(ListHead,Entry) \
  156. (Entry)->Next = (ListHead)->Next; \
  157. (ListHead)->Next = (Entry)
  158. #define DoTraceMessage
  159. #endif // PP_DEFS_H