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.

244 lines
3.9 KiB

  1. /*++
  2. Copyright (c) 1998, Microsoft Corporation
  3. Module Name:
  4. rmdhcp.h
  5. Abstract:
  6. This module declares routines for the DHCP 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_RMDHCP_H_
  13. #define _NATHLP_RMDHCP_H_
  14. //
  15. // GLOBAL DATA DECLARATIONS
  16. //
  17. extern COMPONENT_REFERENCE DhcpComponentReference;
  18. extern PCHAR DhcpDomainName;
  19. extern PIP_AUTO_DHCP_GLOBAL_INFO DhcpGlobalInfo;
  20. extern CRITICAL_SECTION DhcpGlobalInfoLock;
  21. extern HANDLE DhcpNotificationEvent;
  22. extern ULONG DhcpProtocolStopped;
  23. extern const MPR_ROUTING_CHARACTERISTICS DhcpRoutingCharacteristics;
  24. extern IP_AUTO_DHCP_STATISTICS DhcpStatistics;
  25. extern SUPPORT_FUNCTIONS DhcpSupportFunctions;
  26. extern BOOLEAN NoLocalDns; //whether DNS server is running or going to run on local host
  27. //
  28. // MACRO DECLARATIONS
  29. //
  30. #define REFERENCE_DHCP() \
  31. REFERENCE_COMPONENT(&DhcpComponentReference)
  32. #define REFERENCE_DHCP_OR_RETURN(retcode) \
  33. REFERENCE_COMPONENT_OR_RETURN(&DhcpComponentReference,retcode)
  34. #define DEREFERENCE_DHCP() \
  35. DEREFERENCE_COMPONENT(&DhcpComponentReference)
  36. #define DEREFERENCE_DHCP_AND_RETURN(retcode) \
  37. DEREFERENCE_COMPONENT_AND_RETURN(&DhcpComponentReference, retcode)
  38. //
  39. // FUNCTION DECLARATIONS
  40. //
  41. VOID
  42. DhcpCleanupModule(
  43. VOID
  44. );
  45. BOOLEAN
  46. DhcpInitializeModule(
  47. VOID
  48. );
  49. ULONG
  50. APIENTRY
  51. DhcpRmStartProtocol(
  52. HANDLE NotificationEvent,
  53. PSUPPORT_FUNCTIONS SupportFunctions,
  54. PVOID GlobalInfo,
  55. ULONG StructureVersion,
  56. ULONG StructureSize,
  57. ULONG StructureCount
  58. );
  59. ULONG
  60. APIENTRY
  61. DhcpRmStartComplete(
  62. VOID
  63. );
  64. ULONG
  65. APIENTRY
  66. DhcpRmStopProtocol(
  67. VOID
  68. );
  69. ULONG
  70. APIENTRY
  71. DhcpRmAddInterface(
  72. PWCHAR Name,
  73. ULONG Index,
  74. NET_INTERFACE_TYPE Type,
  75. ULONG MediaType,
  76. USHORT AccessType,
  77. USHORT ConnectionType,
  78. PVOID InterfaceInfo,
  79. ULONG StructureVersion,
  80. ULONG StructureSize,
  81. ULONG StructureCount
  82. );
  83. ULONG
  84. APIENTRY
  85. DhcpRmDeleteInterface(
  86. ULONG Index
  87. );
  88. ULONG
  89. APIENTRY
  90. DhcpRmGetEventMessage(
  91. OUT ROUTING_PROTOCOL_EVENTS* Event,
  92. OUT MESSAGE* Result
  93. );
  94. ULONG
  95. APIENTRY
  96. DhcpRmGetInterfaceInfo(
  97. ULONG Index,
  98. PVOID InterfaceInfo,
  99. IN OUT PULONG InterfaceInfoSize,
  100. IN OUT PULONG StructureVersion,
  101. IN OUT PULONG StructureSize,
  102. IN OUT PULONG StructureCount
  103. );
  104. ULONG
  105. APIENTRY
  106. DhcpRmSetInterfaceInfo(
  107. ULONG Index,
  108. PVOID InterfaceInfo,
  109. ULONG StructureVersion,
  110. ULONG StructureSize,
  111. ULONG StructureCount
  112. );
  113. ULONG
  114. APIENTRY
  115. DhcpRmInterfaceStatus(
  116. ULONG Index,
  117. BOOL InterfaceActive,
  118. ULONG StatusType,
  119. PVOID StatusInfo
  120. );
  121. ULONG
  122. APIENTRY
  123. DhcpRmBindInterface(
  124. ULONG Index,
  125. PVOID BindingInfo
  126. );
  127. ULONG
  128. APIENTRY
  129. DhcpRmUnbindInterface(
  130. ULONG Index
  131. );
  132. ULONG
  133. APIENTRY
  134. DhcpRmEnableInterface(
  135. ULONG Index
  136. );
  137. ULONG
  138. APIENTRY
  139. DhcpRmDisableInterface(
  140. ULONG Index
  141. );
  142. ULONG
  143. APIENTRY
  144. DhcpRmGetGlobalInfo(
  145. PVOID GlobalInfo,
  146. IN OUT PULONG GlobalInfoSize,
  147. PULONG StructureVersion,
  148. IN OUT PULONG StructureSize,
  149. IN OUT PULONG StructureCount
  150. );
  151. ULONG
  152. APIENTRY
  153. DhcpRmSetGlobalInfo(
  154. PVOID GlobalInfo,
  155. ULONG StructureVersion,
  156. ULONG StructureSize,
  157. ULONG StructureCount
  158. );
  159. ULONG
  160. APIENTRY
  161. DhcpRmMibCreate(
  162. ULONG InputDataSize,
  163. PVOID InputData
  164. );
  165. ULONG
  166. APIENTRY
  167. DhcpRmMibDelete(
  168. ULONG InputDataSize,
  169. PVOID InputData
  170. );
  171. ULONG
  172. APIENTRY
  173. DhcpRmMibGet(
  174. ULONG InputDataSize,
  175. PVOID InputData,
  176. OUT PULONG OutputDataSize,
  177. OUT PVOID OutputData
  178. );
  179. ULONG
  180. APIENTRY
  181. DhcpRmMibSet(
  182. ULONG InputDataSize,
  183. PVOID InputData
  184. );
  185. ULONG
  186. APIENTRY
  187. DhcpRmMibGetFirst(
  188. ULONG InputDataSize,
  189. PVOID InputData,
  190. OUT PULONG OutputDataSize,
  191. OUT PVOID OutputData
  192. );
  193. ULONG
  194. APIENTRY
  195. DhcpRmMibGetNext(
  196. ULONG InputDataSize,
  197. PVOID InputData,
  198. OUT PULONG OutputDataSize,
  199. OUT PVOID OutputData
  200. );
  201. #endif // _NATHLP_RMDNS_H_