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.

252 lines
3.9 KiB

  1. /*++
  2. Copyright (c) 1998, Microsoft Corporation
  3. Module Name:
  4. rmdns.h
  5. Abstract:
  6. This module declares routines for the DNS allocator module's interface
  7. to the IP router-manager. (See ROUTPROT.H for details).
  8. Author:
  9. Abolade Gbadegesin (aboladeg) 4-Mar-1998
  10. Revision History:
  11. --*/
  12. #ifndef _NATHLP_RMDNS_H_
  13. #define _NATHLP_RMDNS_H_
  14. //
  15. // GLOBAL DATA DECLARATIONS
  16. //
  17. extern COMPONENT_REFERENCE DnsComponentReference;
  18. extern PIP_DNS_PROXY_GLOBAL_INFO DnsGlobalInfo;
  19. extern CRITICAL_SECTION DnsGlobalInfoLock;
  20. extern SOCKET DnsGlobalSocket;
  21. extern HANDLE DnsNotificationEvent;
  22. extern ULONG DnsProtocolStopped;
  23. extern const MPR_ROUTING_CHARACTERISTICS DnsRoutingCharacteristics;
  24. extern IP_DNS_PROXY_STATISTICS DnsStatistics;
  25. extern SUPPORT_FUNCTIONS DnsSupportFunctions;
  26. //
  27. // MACRO DECLARATIONS
  28. //
  29. #define REFERENCE_DNS() \
  30. REFERENCE_COMPONENT(&DnsComponentReference)
  31. #define REFERENCE_DNS_OR_RETURN(retcode) \
  32. REFERENCE_COMPONENT_OR_RETURN(&DnsComponentReference,retcode)
  33. #define DEREFERENCE_DNS() \
  34. DEREFERENCE_COMPONENT(&DnsComponentReference)
  35. #define DEREFERENCE_DNS_AND_RETURN(retcode) \
  36. DEREFERENCE_COMPONENT_AND_RETURN(&DnsComponentReference, retcode)
  37. //
  38. // FUNCTION DECLARATIONS
  39. //
  40. VOID
  41. DnsCleanupModule(
  42. VOID
  43. );
  44. BOOLEAN
  45. DnsInitializeModule(
  46. VOID
  47. );
  48. BOOLEAN
  49. DnsIsDnsEnabled(
  50. VOID
  51. );
  52. BOOLEAN
  53. DnsIsWinsEnabled(
  54. VOID
  55. );
  56. ULONG
  57. APIENTRY
  58. DnsRmStartProtocol(
  59. HANDLE NotificationEvent,
  60. PSUPPORT_FUNCTIONS SupportFunctions,
  61. PVOID GlobalInfo,
  62. ULONG StructureVersion,
  63. ULONG StructureSize,
  64. ULONG StructureCount
  65. );
  66. ULONG
  67. APIENTRY
  68. DnsRmStartComplete(
  69. VOID
  70. );
  71. ULONG
  72. APIENTRY
  73. DnsRmStopProtocol(
  74. VOID
  75. );
  76. ULONG
  77. APIENTRY
  78. DnsRmAddInterface(
  79. PWCHAR Name,
  80. ULONG Index,
  81. NET_INTERFACE_TYPE Type,
  82. ULONG MediaType,
  83. USHORT AccessType,
  84. USHORT ConnectionType,
  85. PVOID InterfaceInfo,
  86. ULONG StructureVersion,
  87. ULONG StructureSize,
  88. ULONG StructureCount
  89. );
  90. ULONG
  91. APIENTRY
  92. DnsRmDeleteInterface(
  93. ULONG Index
  94. );
  95. ULONG
  96. APIENTRY
  97. DnsRmGetEventMessage(
  98. OUT ROUTING_PROTOCOL_EVENTS* Event,
  99. OUT MESSAGE* Result
  100. );
  101. ULONG
  102. APIENTRY
  103. DnsRmGetInterfaceInfo(
  104. ULONG Index,
  105. PVOID InterfaceInfo,
  106. IN OUT PULONG InterfaceInfoSize,
  107. IN OUT PULONG StructureVersion,
  108. IN OUT PULONG StructureSize,
  109. IN OUT PULONG StructureCount
  110. );
  111. ULONG
  112. APIENTRY
  113. DnsRmSetInterfaceInfo(
  114. ULONG Index,
  115. PVOID InterfaceInfo,
  116. ULONG StructureVersion,
  117. ULONG StructureSize,
  118. ULONG StructureCount
  119. );
  120. ULONG
  121. APIENTRY
  122. DnsRmInterfaceStatus(
  123. ULONG Index,
  124. BOOL InterfaceActive,
  125. ULONG StatusType,
  126. PVOID StatusInfo
  127. );
  128. ULONG
  129. APIENTRY
  130. DnsRmBindInterface(
  131. ULONG Index,
  132. PVOID BindingInfo
  133. );
  134. ULONG
  135. APIENTRY
  136. DnsRmUnbindInterface(
  137. ULONG Index
  138. );
  139. ULONG
  140. APIENTRY
  141. DnsRmEnableInterface(
  142. ULONG Index
  143. );
  144. ULONG
  145. APIENTRY
  146. DnsRmDisableInterface(
  147. ULONG Index
  148. );
  149. ULONG
  150. APIENTRY
  151. DnsRmGetGlobalInfo(
  152. PVOID GlobalInfo,
  153. IN OUT PULONG GlobalInfoSize,
  154. IN OUT PULONG StructureVersion,
  155. IN OUT PULONG StructureSize,
  156. IN OUT PULONG StructureCount
  157. );
  158. ULONG
  159. APIENTRY
  160. DnsRmSetGlobalInfo(
  161. PVOID GlobalInfo,
  162. ULONG StructureVersion,
  163. ULONG StructureSize,
  164. ULONG StructureCount
  165. );
  166. ULONG
  167. APIENTRY
  168. DnsRmMibCreate(
  169. ULONG InputDataSize,
  170. PVOID InputData
  171. );
  172. ULONG
  173. APIENTRY
  174. DnsRmMibDelete(
  175. ULONG InputDataSize,
  176. PVOID InputData
  177. );
  178. ULONG
  179. APIENTRY
  180. DnsRmMibGet(
  181. ULONG InputDataSize,
  182. PVOID InputData,
  183. OUT PULONG OutputDataSize,
  184. OUT PVOID OutputData
  185. );
  186. ULONG
  187. APIENTRY
  188. DnsRmMibSet(
  189. ULONG InputDataSize,
  190. PVOID InputData
  191. );
  192. ULONG
  193. APIENTRY
  194. DnsRmMibGetFirst(
  195. ULONG InputDataSize,
  196. PVOID InputData,
  197. OUT PULONG OutputDataSize,
  198. OUT PVOID OutputData
  199. );
  200. ULONG
  201. APIENTRY
  202. DnsRmMibGetNext(
  203. ULONG InputDataSize,
  204. PVOID InputData,
  205. OUT PULONG OutputDataSize,
  206. OUT PVOID OutputData
  207. );
  208. #endif // _NATHLP_RMDNS_H_