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.

246 lines
3.9 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. rmftp.h
  5. Abstract:
  6. This module declares routines for the FTP transparent proxy module's
  7. interface to the IP router-manager. (See ROUTPROT.H for details).
  8. Author:
  9. Qiang Wang (qiangw) 10-Apr-2000
  10. Revision History:
  11. --*/
  12. #ifndef _NATHLP_RMFTP_H_
  13. #define _NATHLP_RMFTP_H_
  14. //
  15. // GLOBAL DATA DECLARATIONS
  16. //
  17. extern COMPONENT_REFERENCE FtpComponentReference;
  18. extern PIP_FTP_GLOBAL_INFO FtpGlobalInfo;
  19. extern CRITICAL_SECTION FtpGlobalInfoLock;
  20. extern HANDLE FtpNotificationEvent;
  21. extern HANDLE FtpTimerQueueHandle;
  22. extern HANDLE FtpPortReservationHandle;
  23. extern ULONG FtpProtocolStopped;
  24. extern const MPR_ROUTING_CHARACTERISTICS FtpRoutingCharacteristics;
  25. extern IP_FTP_STATISTICS FtpStatistics;
  26. extern SUPPORT_FUNCTIONS FtpSupportFunctions;
  27. extern HANDLE FtpTranslatorHandle;
  28. //
  29. // MACRO DECLARATIONS
  30. //
  31. #define REFERENCE_FTP() \
  32. REFERENCE_COMPONENT(&FtpComponentReference)
  33. #define REFERENCE_FTP_OR_RETURN(retcode) \
  34. REFERENCE_COMPONENT_OR_RETURN(&FtpComponentReference,retcode)
  35. #define DEREFERENCE_FTP() \
  36. DEREFERENCE_COMPONENT(&FtpComponentReference)
  37. #define DEREFERENCE_FTP_AND_RETURN(retcode) \
  38. DEREFERENCE_COMPONENT_AND_RETURN(&FtpComponentReference, retcode)
  39. #define FTP_PORT_RESERVATION_BLOCK_SIZE 32
  40. //
  41. // FUNCTION DECLARATIONS
  42. //
  43. VOID
  44. FtpCleanupModule(
  45. VOID
  46. );
  47. BOOLEAN
  48. FtpInitializeModule(
  49. VOID
  50. );
  51. ULONG
  52. APIENTRY
  53. FtpRmStartProtocol(
  54. HANDLE NotificationEvent,
  55. PSUPPORT_FUNCTIONS SupportFunctions,
  56. PVOID GlobalInfo,
  57. ULONG StructureVersion,
  58. ULONG StructureSize,
  59. ULONG StructureCount
  60. );
  61. ULONG
  62. APIENTRY
  63. FtpRmStartComplete(
  64. VOID
  65. );
  66. ULONG
  67. APIENTRY
  68. FtpRmStopProtocol(
  69. VOID
  70. );
  71. ULONG
  72. APIENTRY
  73. FtpRmAddInterface(
  74. PWCHAR Name,
  75. ULONG Index,
  76. NET_INTERFACE_TYPE Type,
  77. ULONG MediaType,
  78. USHORT AccessType,
  79. USHORT ConnectionType,
  80. PVOID InterfaceInfo,
  81. ULONG StructureVersion,
  82. ULONG StructureSize,
  83. ULONG StructureCount
  84. );
  85. ULONG
  86. APIENTRY
  87. FtpRmDeleteInterface(
  88. ULONG Index
  89. );
  90. ULONG
  91. APIENTRY
  92. FtpRmGetEventMessage(
  93. OUT ROUTING_PROTOCOL_EVENTS* Event,
  94. OUT MESSAGE* Result
  95. );
  96. ULONG
  97. APIENTRY
  98. FtpRmGetInterfaceInfo(
  99. ULONG Index,
  100. PVOID InterfaceInfo,
  101. IN OUT PULONG InterfaceInfoSize,
  102. IN OUT PULONG StructureVersion,
  103. IN OUT PULONG StructureSize,
  104. IN OUT PULONG StructureCount
  105. );
  106. ULONG
  107. APIENTRY
  108. FtpRmSetInterfaceInfo(
  109. ULONG Index,
  110. PVOID InterfaceInfo,
  111. ULONG StructureVersion,
  112. ULONG StructureSize,
  113. ULONG StructureCount
  114. );
  115. ULONG
  116. APIENTRY
  117. FtpRmInterfaceStatus(
  118. ULONG Index,
  119. BOOL InterfaceActive,
  120. ULONG StatusType,
  121. PVOID StatusInfo
  122. );
  123. ULONG
  124. APIENTRY
  125. FtpRmBindInterface(
  126. ULONG Index,
  127. PVOID BindingInfo
  128. );
  129. ULONG
  130. APIENTRY
  131. FtpRmUnbindInterface(
  132. ULONG Index
  133. );
  134. ULONG
  135. APIENTRY
  136. FtpRmEnableInterface(
  137. ULONG Index
  138. );
  139. ULONG
  140. APIENTRY
  141. FtpRmDisableInterface(
  142. ULONG Index
  143. );
  144. ULONG
  145. APIENTRY
  146. FtpRmGetGlobalInfo(
  147. PVOID GlobalInfo,
  148. IN OUT PULONG GlobalInfoSize,
  149. IN OUT PULONG StructureVersion,
  150. IN OUT PULONG StructureSize,
  151. IN OUT PULONG StructureCount
  152. );
  153. ULONG
  154. APIENTRY
  155. FtpRmSetGlobalInfo(
  156. PVOID GlobalInfo,
  157. ULONG StructureVersion,
  158. ULONG StructureSize,
  159. ULONG StructureCount
  160. );
  161. ULONG
  162. APIENTRY
  163. FtpRmMibCreate(
  164. ULONG InputDataSize,
  165. PVOID InputData
  166. );
  167. ULONG
  168. APIENTRY
  169. FtpRmMibDelete(
  170. ULONG InputDataSize,
  171. PVOID InputData
  172. );
  173. ULONG
  174. APIENTRY
  175. FtpRmMibGet(
  176. ULONG InputDataSize,
  177. PVOID InputData,
  178. OUT PULONG OutputDataSize,
  179. OUT PVOID OutputData
  180. );
  181. ULONG
  182. APIENTRY
  183. FtpRmMibSet(
  184. ULONG InputDataSize,
  185. PVOID InputData
  186. );
  187. ULONG
  188. APIENTRY
  189. FtpRmMibGetFirst(
  190. ULONG InputDataSize,
  191. PVOID InputData,
  192. OUT PULONG OutputDataSize,
  193. OUT PVOID OutputData
  194. );
  195. ULONG
  196. APIENTRY
  197. FtpRmMibGetNext(
  198. ULONG InputDataSize,
  199. PVOID InputData,
  200. OUT PULONG OutputDataSize,
  201. OUT PVOID OutputData
  202. );
  203. #endif // _NATHLP_RMFTP_H_