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.

687 lines
25 KiB

  1. //========================================================================
  2. // Copyright (C) 1997 Microsoft Corporation
  3. // Author: RameshV
  4. // Description: This file has been generated. Pl look at the .c file
  5. //========================================================================
  6. #ifndef CONVERT_NAMES
  7. #define DhcpCreateSubnet DhcpCreateSubnetDS
  8. #define DhcpSetSubnetInfo DhcpSetSubnetInfoDS
  9. #define DhcpGetSubnetInfo DhcpGetSubnetInfoDS
  10. #define DhcpEnumSubnets DhcpEnumSubnetsDS
  11. #define DhcpDeleteSubnet DhcpDeleteSubnetDS
  12. #define DhcpCreateOption DhcpCreateOptionDS
  13. #define DhcpSetOptionInfo DhcpSetOptionInfoDS
  14. #define DhcpGetOptionInfo DhcpGetOptionInfoDS
  15. #define DhcpRemoveOption DhcpRemoveOptionDS
  16. #define DhcpSetOptionValue DhcpSetOptionValueDS
  17. #define DhcpGetOptionValue DhcpGetOptionValueDS
  18. #define DhcpEnumOptionValues DhcpEnumOptionValuesDS
  19. #define DhcpRemoveOptionValue DhcpRemoveOptionValueDS
  20. #define DhcpEnumOptions DhcpEnumOptionsDS
  21. #define DhcpSetOptionValues DhcpSetOptionValuesDS
  22. #define DhcpAddSubnetElement DhcpAddSubnetElementDS
  23. #define DhcpEnumSubnetElements DhcpEnumSubnetElementsDS
  24. #define DhcpRemoveSubnetElement DhcpRemoveSubnetElementDS
  25. #define DhcpAddSubnetElementV4 DhcpAddSubnetElementV4DS
  26. #define DhcpEnumSubnetElementsV4 DhcpEnumSubnetElementsV4DS
  27. #define DhcpRemoveSubnetElementV4 DhcpRemoveSubnetElementV4DS
  28. #define DhcpSetSuperScopeV4 DhcpSetSuperScopeV4DS
  29. #define DhcpGetSuperScopeInfoV4 DhcpGetSuperScopeInfoV4DS
  30. #define DhcpDeleteSuperScopeV4 DhcpDeleteSuperScopeV4DS
  31. #define DhcpSetClientInfo DhcpSetClientInfoDS
  32. #define DhcpGetClientInfo DhcpGetClientInfoDS
  33. #define DhcpSetClientInfoV4 DhcpSetClientInfoV4DS
  34. #define DhcpGetClientInfoV4 DhcpGetClientInfoV4DS
  35. #define DhcpCreateOptionV5 DhcpCreateOptionV5DS
  36. #define DhcpSetOptionInfoV5 DhcpSetOptionInfoV5DS
  37. #define DhcpGetOptionInfoV5 DhcpGetOptionInfoV5DS
  38. #define DhcpEnumOptionsV5 DhcpEnumOptionsV5DS
  39. #define DhcpRemoveOptionV5 DhcpRemoveOptionV5DS
  40. #define DhcpSetOptionValueV5 DhcpSetOptionValueV5DS
  41. #define DhcpSetOptionValuesV5 DhcpSetOptionValuesV5DS
  42. #define DhcpGetOptionValueV5 DhcpGetOptionValueV5DS
  43. #define DhcpEnumOptionValuesV5 DhcpEnumOptionValuesV5DS
  44. #define DhcpRemoveOptionValueV5 DhcpRemoveOptionValueV5DS
  45. #define DhcpCreateClass DhcpCreateClassDS
  46. #define DhcpModifyClass DhcpModifyClassDS
  47. #define DhcpDeleteClass DhcpDeleteClassDS
  48. #define DhcpGetClassInfo DhcpGetClassInfoDS
  49. #define DhcpEnumClasses DhcpEnumClassesDS
  50. #define DhcpGetAllOptions DhcpGetAllOptionsDS
  51. #define DhcpGetAllOptionValues DhcpGetAllOptionValuesDS
  52. #endif CONVERT_NAMES
  53. //DOC Create an option in DS. Checkout DhcpDsCreateOptionDef for more info...
  54. DWORD
  55. DhcpCreateOptionV5( // create a new option (must not exist)
  56. IN LPWSTR ServerIpAddress,
  57. IN DWORD Flags,
  58. IN DHCP_OPTION_ID OptionId, // must be between 0-255 or 256-511 (for vendor stuff)
  59. IN LPWSTR ClassName,
  60. IN LPWSTR VendorName,
  61. IN LPDHCP_OPTION OptionInfo
  62. ) ;
  63. //DOC Modify existing option's fields in the DS. See DhcpDsModifyOptionDef for more
  64. //DOC details
  65. DWORD
  66. DhcpSetOptionInfoV5( // Modify existing option's fields
  67. IN LPWSTR ServerIpAddress,
  68. IN DWORD Flags,
  69. IN DHCP_OPTION_ID OptionId,
  70. IN LPWSTR ClassName,
  71. IN LPWSTR VendorName,
  72. IN LPDHCP_OPTION OptionInfo
  73. ) ;
  74. //DOC not yet supported at this level... (this is supported in a
  75. //DOC DhcpDs function, no wrapper yet)
  76. DWORD
  77. DhcpGetOptionInfoV5( // retrieve option info from off ds structures
  78. IN LPWSTR ServerIpAddress,
  79. IN DWORD Flags,
  80. IN DHCP_OPTION_ID OptionId,
  81. IN LPWSTR ClassName,
  82. IN LPWSTR VendorName,
  83. OUT LPDHCP_OPTION *OptionInfo // allocate memory
  84. ) ;
  85. //DOC See DhcpDsEnumOptionDefs for more info on this function.. but essentially, all this
  86. //DOC does is to read thru the options and create a list of options..
  87. DWORD
  88. DhcpEnumOptionsV5( // create list of all options in ds
  89. IN LPWSTR ServerIpAddress,
  90. IN DWORD Flags,
  91. IN LPWSTR ClassName,
  92. IN LPWSTR VendorName,
  93. IN OUT DHCP_RESUME_HANDLE *ResumeHandle,
  94. IN DWORD PreferredMaximum,
  95. OUT LPDHCP_OPTION_ARRAY *Options,
  96. OUT DWORD *OptionsRead,
  97. OUT DWORD *OptionsTotal
  98. ) ;
  99. //DOC Delete an option from off the DS. See DhcpDsDeleteOptionDef for
  100. //DOC more details.
  101. DWORD
  102. DhcpRemoveOptionV5( // remove an option from off DS
  103. IN LPWSTR ServerIpAddress,
  104. IN DWORD Flags,
  105. IN DHCP_OPTION_ID OptionId,
  106. IN LPWSTR ClassName,
  107. IN LPWSTR VendorName
  108. ) ;
  109. //DOC Set the specified option value in the DS. For more information,
  110. //DOC see DhcpDsSetOptionValue.
  111. DWORD
  112. DhcpSetOptionValueV5( // set the option value in ds
  113. IN LPWSTR ServerIpAddress,
  114. IN DWORD Flags,
  115. IN DHCP_OPTION_ID OptionId,
  116. IN LPWSTR ClassName,
  117. IN LPWSTR VendorName,
  118. IN LPDHCP_OPTION_SCOPE_INFO ScopeInfo,
  119. IN LPDHCP_OPTION_DATA OptionValue
  120. ) ;
  121. //DOC This function just calls the SetOptionValue function N times.. this is not
  122. //DOC atomic (), but even worse, it is highly inefficient, as it creates the
  123. //DOC required objects over and over again!!!!!
  124. //DOC This has to be fixed..
  125. DWORD
  126. DhcpSetOptionValuesV5( // set a series of option values
  127. IN LPWSTR ServerIpAddress,
  128. IN DWORD Flags,
  129. IN LPWSTR ClassName,
  130. IN LPWSTR VendorName,
  131. IN LPDHCP_OPTION_SCOPE_INFO ScopeInfo,
  132. IN LPDHCP_OPTION_VALUE_ARRAY OptionValues
  133. ) ;
  134. //DOC This function retrives the value of an option from the DS. For more info,
  135. //DOC pl check DhcpDsGetOptionValue.
  136. DWORD
  137. DhcpGetOptionValueV5(
  138. IN LPWSTR ServerIpAddress,
  139. IN DWORD Flags,
  140. IN DHCP_OPTION_ID OptionId,
  141. IN LPWSTR ClassName,
  142. IN LPWSTR VendorName,
  143. IN LPDHCP_OPTION_SCOPE_INFO ScopeInfo,
  144. OUT LPDHCP_OPTION_VALUE *OptionValue
  145. ) ;
  146. //DOC Get the list of option values defined in DS. For more information,
  147. //DOC check DhcpDsEnumOptionValues.
  148. DWORD
  149. DhcpEnumOptionValuesV5( // get list of options defined in DS
  150. IN LPWSTR ServerIpAddress,
  151. IN DWORD Flags,
  152. IN LPWSTR ClassName,
  153. IN LPWSTR VendorName,
  154. IN LPDHCP_OPTION_SCOPE_INFO ScopeInfo,
  155. IN DHCP_RESUME_HANDLE *ResumeHandle,
  156. IN DWORD PreferredMaximum,
  157. OUT LPDHCP_OPTION_VALUE_ARRAY *OptionValues,
  158. OUT DWORD *OptionsRead,
  159. OUT DWORD *OptionsTotal
  160. ) ;
  161. //DOC Remove the option value from off the DS. See DhcpDsRemoveOptionValue
  162. //DOC for further information.
  163. DWORD
  164. DhcpRemoveOptionValueV5( // remove option value from DS
  165. IN LPWSTR ServerIpAddress,
  166. IN DWORD Flags,
  167. IN DHCP_OPTION_ID OptionId,
  168. IN LPWSTR ClassName,
  169. IN LPWSTR VendorName,
  170. IN LPDHCP_OPTION_SCOPE_INFO ScopeInfo
  171. ) ;
  172. //DOC Create a class in the DS. Please see DhcpDsCreateClass for more
  173. //DOC details on this function.
  174. DWORD
  175. DhcpCreateClass( // create a class in DS
  176. IN LPWSTR ServerIpAddress,
  177. IN DWORD ReservedMustBeZero,
  178. IN LPDHCP_CLASS_INFO ClassInfo
  179. ) ;
  180. //DOC Modify an existing class in DS. Please see DhcpDsModifyClass for more
  181. //DOC details on this function (this is just a wrapper).
  182. DWORD
  183. DhcpModifyClass( // modify existing class
  184. IN LPWSTR ServerIpAddress,
  185. IN DWORD ReservedMustBeZero,
  186. IN LPDHCP_CLASS_INFO ClassInfo
  187. ) ;
  188. //DOC Delete an existing class in DS. Please see DhcpDsModifyClass for more
  189. //DOC details on this function (this is just a wrapper).
  190. DWORD
  191. DhcpDeleteClass( // delete a class from off DS
  192. IN LPWSTR ServerIpAddress,
  193. IN DWORD ReservedMustBeZero,
  194. IN LPWSTR ClassName
  195. ) ;
  196. //DOC DhcpGetClassInfo completes the information provided for a class in struct
  197. //DOC PartialClassInfo. For more details pl see DhcpDsGetClassInfo.
  198. DWORD
  199. DhcpGetClassInfo( // fetch complete info frm DS
  200. IN LPWSTR ServerIpAddress,
  201. IN DWORD ReservedMustBeZero,
  202. IN LPDHCP_CLASS_INFO PartialClassInfo,
  203. OUT LPDHCP_CLASS_INFO *FilledClassInfo
  204. ) ;
  205. //DOC This is implemented in the DHCPDS module, but not exported here yet..
  206. DWORD
  207. DhcpEnumClasses(
  208. IN LPWSTR ServerIpAddress,
  209. IN DWORD ReservedMustBeZero,
  210. IN OUT DHCP_RESUME_HANDLE *ResumeHandle,
  211. IN DWORD PreferredMaximum,
  212. OUT LPDHCP_CLASS_INFO_ARRAY *ClassInfoArray,
  213. OUT DWORD *nRead,
  214. OUT DWORD *nTotal
  215. ) ;
  216. //DOC This is implemented in the DHCPDS module, but not exported here yet..
  217. DWORD
  218. DhcpGetAllOptionValues(
  219. IN LPWSTR ServerIpAddress,
  220. IN DWORD Flags,
  221. IN LPDHCP_OPTION_SCOPE_INFO ScopeInfo,
  222. OUT LPDHCP_ALL_OPTION_VALUES *Values
  223. ) ;
  224. //DOC This is implememented in the DHCPDS module, but not exported here yet..
  225. DWORD
  226. DhcpGetAllOptions(
  227. IN LPWSTR ServerIpAddress,
  228. IN DWORD Flags,
  229. OUT LPDHCP_ALL_OPTIONS *Options
  230. ) ;
  231. DWORD // ERROR_DHCP_OPTION_EXITS if option is already there
  232. DhcpCreateOption( // create a new option (must not exist)
  233. IN LPWSTR ServerIpAddress,
  234. IN DHCP_OPTION_ID OptionId, // must be between 0-255 or 256-511 (for vendor stuff)
  235. IN LPDHCP_OPTION OptionInfo
  236. ) ;
  237. DWORD // ERROR_DHCP_OPTION_NOT_PRESENT if option does not exist
  238. DhcpSetOptionInfo( // Modify existing option's fields
  239. IN LPWSTR ServerIpAddress,
  240. IN DHCP_OPTION_ID OptionID,
  241. IN LPDHCP_OPTION OptionInfo
  242. ) ;
  243. DWORD // ERROR_DHCP_OPTION_NOT_PRESENT
  244. DhcpGetOptionInfo( // retrieve the information from off the mem structures
  245. IN LPWSTR ServerIpAddress,
  246. IN DHCP_OPTION_ID OptionID,
  247. OUT LPDHCP_OPTION *OptionInfo // allocate memory using MIDL functions
  248. ) ;
  249. DWORD // ERROR_DHCP_OPTION_NOT_PRESENT if option does not exist
  250. DhcpEnumOptions( // enumerate the options defined
  251. IN LPWSTR ServerIpAddress,
  252. IN OUT DHCP_RESUME_HANDLE *ResumeHandle, // must be zero intially and then never touched
  253. IN DWORD PreferredMaximum, // max # of bytes of info to pass along
  254. OUT LPDHCP_OPTION_ARRAY *Options, // fill this option array
  255. OUT DWORD *OptionsRead, // fill in the # of options read
  256. OUT DWORD *OptionsTotal // fill in the total # here
  257. ) ;
  258. DWORD // ERROR_DHCP_OPTION_NOT_PRESENT if option not existent
  259. DhcpRemoveOption( // remove the option definition from the registry
  260. IN LPWSTR ServerIpAddress,
  261. IN DHCP_OPTION_ID OptionID
  262. ) ;
  263. DWORD // OPTION_NOT_PRESENT if option is not defined
  264. DhcpSetOptionValue( // replace or add a new option value
  265. IN LPWSTR ServerIpAddress,
  266. IN DHCP_OPTION_ID OptionID,
  267. IN LPDHCP_OPTION_SCOPE_INFO ScopeInfo,
  268. IN LPDHCP_OPTION_DATA OptionValue
  269. ) ;
  270. DWORD // not atomic!!!!
  271. DhcpSetOptionValues( // set a bunch of options
  272. IN LPWSTR ServerIpAddress,
  273. IN LPDHCP_OPTION_SCOPE_INFO ScopeInfo,
  274. IN LPDHCP_OPTION_VALUE_ARRAY OptionValues
  275. ) ;
  276. DWORD
  277. DhcpGetOptionValue( // fetch the required option at required level
  278. IN LPWSTR ServerIpAddress,
  279. IN DHCP_OPTION_ID OptionID,
  280. IN LPDHCP_OPTION_SCOPE_INFO ScopeInfo,
  281. OUT LPDHCP_OPTION_VALUE *OptionValue // allocate memory using MIDL_user_allocate
  282. ) ;
  283. DWORD
  284. DhcpEnumOptionValues(
  285. IN LPWSTR ServerIpAddress,
  286. IN LPDHCP_OPTION_SCOPE_INFO ScopeInfo,
  287. IN DHCP_RESUME_HANDLE *ResumeHandle,
  288. IN DWORD PreferredMaximum,
  289. OUT LPDHCP_OPTION_VALUE_ARRAY *OptionValues,
  290. OUT DWORD *OptionsRead,
  291. OUT DWORD *OptionsTotal
  292. ) ;
  293. DWORD
  294. DhcpRemoveOptionValue(
  295. IN LPWSTR ServerIpAddress,
  296. IN DHCP_OPTION_ID OptionID,
  297. IN LPDHCP_OPTION_SCOPE_INFO ScopeInfo
  298. ) ;
  299. //DOC This function sets the superscope of a subnet, thereby creating the superscope
  300. //DOC if required. Please see DhcpDsSetSScope for more details.
  301. DWORD
  302. DhcpSetSuperScopeV4( // set superscope in DS.
  303. IN LPWSTR ServerIpAddress,
  304. IN DHCP_IP_ADDRESS SubnetAddress,
  305. IN LPWSTR SuperScopeName,
  306. IN BOOL ChangeExisting
  307. ) ;
  308. //DOC This function removes the superscope, and resets any subnet with this
  309. //DOC superscope.. so that all those subnets end up with no superscopes..
  310. //DOC Please see DhcpDsDelSScope for more details.
  311. DWORD
  312. DhcpDeleteSuperScopeV4( // delete subnet sscope from DS
  313. IN LPWSTR ServerIpAddress,
  314. IN LPWSTR SuperScopeName
  315. ) ;
  316. //DOC This function retrievs the supercsope info for each subnet that is
  317. //DOC present for the given server. Please see DhcpDsGetSScopeInfo for more
  318. //DOC details on this..
  319. DWORD
  320. DhcpGetSuperScopeInfoV4( // get sscope tbl from DS
  321. IN LPWSTR ServerIpAddress,
  322. OUT LPDHCP_SUPER_SCOPE_TABLE *SuperScopeTable
  323. ) ;
  324. //DOC This function creates a subnet in the DS with the specified params.
  325. //DOC Please see DhcpDsServerAddSubnet for more details on this function.
  326. DWORD
  327. DhcpCreateSubnet( // add subnet 2 DS for this srvr
  328. IN LPWSTR ServerIpAddress,
  329. IN DHCP_IP_ADDRESS SubnetAddress,
  330. IN LPDHCP_SUBNET_INFO SubnetInfo
  331. ) ;
  332. //DOC Modify existing subnet with new parameters... some restrictions apply.
  333. //DOC Please see DhcpDsServerModifySubnet for further details.
  334. DWORD
  335. DhcpSetSubnetInfo( // modify existing subnet params
  336. IN LPWSTR ServerIpAddress,
  337. IN DHCP_IP_ADDRESS SubnetAddress,
  338. IN LPDHCP_SUBNET_INFO SubnetInfo
  339. ) ;
  340. //DOC Implemented in the DHCPDS module but not exported thru here
  341. DWORD
  342. DhcpGetSubnetInfo(
  343. IN LPWSTR ServerIpAddress,
  344. IN DHCP_IP_ADDRESS SubnetAddress,
  345. OUT LPDHCP_SUBNET_INFO *SubnetInfo
  346. ) ;
  347. //DOC Implemented in the DHCPDS module but not exported thru here
  348. DWORD
  349. DhcpEnumSubnets(
  350. IN LPWSTR ServerIpAddress,
  351. IN DHCP_RESUME_HANDLE *ResumeHandle,
  352. IN DWORD PreferredMaximum,
  353. IN LPDHCP_IP_ARRAY *EnumInfo,
  354. IN DWORD *ElementsRead,
  355. IN DWORD *ElementsTotal
  356. ) ;
  357. //DOC This function deletes the subnet from the DS. For further information, pl
  358. //DOC see DhcpDsServerDelSubnet..
  359. DWORD
  360. DhcpDeleteSubnet( // Del subnet from off DS
  361. IN LPWSTR ServerIpAddress,
  362. IN DHCP_IP_ADDRESS SubnetAddress,
  363. IN DHCP_FORCE_FLAG ForceFlag
  364. ) ;
  365. //DOC This function sets some particular information for RESERVATIONS only
  366. //DOC all other stuff it just ignores and returns success..
  367. DWORD
  368. DhcpSetClientInfo(
  369. IN LPWSTR ServerIpAddresess,
  370. IN LPDHCP_CLIENT_INFO ClientInfo
  371. ) ;
  372. //DOC This function retrieves some particular client's information
  373. //DOC for RESERVATIONS only.. For all other stuff it returns CALL_NOT_IMPLEMENTED
  374. DWORD
  375. DhcpGetClientInfo(
  376. IN LPWSTR ServerIpAddress,
  377. IN LPDHCP_SEARCH_INFO SearchInfo,
  378. OUT LPDHCP_CLIENT_INFO *ClientInfo
  379. ) ;
  380. //DOC This function sets the client informatoin for RESERVATIONS only in DS
  381. //DOC For all toher clients it returns ERROR_SUCCESS w/o doing anything
  382. DWORD
  383. DhcpSetClientInfoV4(
  384. IN LPWSTR ServerIpAddress,
  385. IN LPDHCP_CLIENT_INFO_V4 ClientInfo
  386. ) ;
  387. //DOC Thsi function sets the client information for RESERVATIONS only
  388. //DOC For all others it returns ERROR_CALL_NOT_IMPLEMENTED
  389. DWORD
  390. DhcpGetClientInfoV4(
  391. IN LPWSTR ServerIpAddress,
  392. IN LPDHCP_SEARCH_INFO SearchInfo,
  393. OUT LPDHCP_CLIENT_INFO_V4 *ClientInfo
  394. ) ;
  395. //DOC This function adds a subnet element to a subnet in the DS.
  396. DWORD
  397. DhcpAddSubnetElement(
  398. IN LPWSTR ServerIpAddress,
  399. IN DHCP_IP_ADDRESS SubnetAddress,
  400. IN LPDHCP_SUBNET_ELEMENT_DATA AddElementInfo
  401. ) ;
  402. //DOC This function adds a subnet element to a subnet in the DS.
  403. DWORD
  404. DhcpAddSubnetElementV4(
  405. IN LPWSTR ServerIpAddress,
  406. IN DHCP_IP_ADDRESS SubnetAddress,
  407. IN LPDHCP_SUBNET_ELEMENT_DATA_V4 AddElementInfo
  408. ) ;
  409. //DOC This is not yet implemented here..
  410. DWORD
  411. DhcpEnumSubnetElementsV4(
  412. IN LPWSTR ServerIpAddress,
  413. IN DHCP_IP_ADDRESS SubnetAddress,
  414. IN DHCP_SUBNET_ELEMENT_TYPE EnumElementType,
  415. IN OUT DHCP_RESUME_HANDLE *ResumeHandle,
  416. IN DWORD PreferredMaximum,
  417. OUT LPDHCP_SUBNET_ELEMENT_INFO_ARRAY_V4 *EnumElementInfo,
  418. OUT DWORD *ElementsRead,
  419. OUT DWORD *ElementsTotal
  420. ) ;
  421. //DOC This is not yet implemented here..
  422. DWORD
  423. DhcpEnumSubnetElements(
  424. IN LPWSTR ServerIpAddress,
  425. IN DHCP_IP_ADDRESS SubnetAddress,
  426. IN DHCP_SUBNET_ELEMENT_TYPE EnumElementType,
  427. IN OUT DHCP_RESUME_HANDLE *ResumeHandle,
  428. IN DWORD PreferredMaximum,
  429. OUT LPDHCP_SUBNET_ELEMENT_INFO_ARRAY *EnumElementInfo,
  430. OUT DWORD *ElementsRead,
  431. OUT DWORD *ElementsTotal
  432. ) ;
  433. //DOC This function removes either an exclusion, ip range or reservation
  434. //DOC from the subnet... in the DS.
  435. DWORD
  436. DhcpRemoveSubnetElement( // remove subnet element
  437. IN LPWSTR ServerIpAddress,
  438. IN DHCP_IP_ADDRESS SubnetAddress,
  439. IN LPDHCP_SUBNET_ELEMENT_DATA RemoveElementInfo,
  440. IN DHCP_FORCE_FLAG ForceFlag
  441. ) ;
  442. //DOC This function removes either an exclusion, ip range or reservation
  443. //DOC from the subnet... in the DS.
  444. DWORD
  445. DhcpRemoveSubnetElementV4( // remove subnet element
  446. IN LPWSTR ServerIpAddress,
  447. IN DHCP_IP_ADDRESS SubnetAddress,
  448. IN LPDHCP_SUBNET_ELEMENT_DATA_V4 RemoveElementInfo,
  449. IN DHCP_FORCE_FLAG ForceFlag
  450. ) ;
  451. #ifndef CONVERT_NAMES
  452. #undef DhcpCreateSubnet
  453. #undef DhcpSetSubnetInfo
  454. #undef DhcpGetSubnetInfo
  455. #undef DhcpEnumSubnets
  456. #undef DhcpDeleteSubnet
  457. #undef DhcpCreateOption
  458. #undef DhcpSetOptionInfo
  459. #undef DhcpGetOptionInfo
  460. #undef DhcpRemoveOption
  461. #undef DhcpSetOptionValue
  462. #undef DhcpGetOptionValue
  463. #undef DhcpEnumOptionValues
  464. #undef DhcpRemoveOptionValue
  465. #undef DhcpEnumOptions
  466. #undef DhcpSetOptionValues
  467. #undef DhcpAddSubnetElementV4
  468. #undef DhcpEnumSubnetElementsV4
  469. #undef DhcpRemoveSubnetElementV4
  470. #undef DhcpAddSubnetElement
  471. #undef DhcpEnumSubnetElements
  472. #undef DhcpRemoveSubnetElement
  473. #undef DhcpSetSuperScopeV4
  474. #undef DhcpGetSuperScopeInfoV4
  475. #undef DhcpDeleteSuperScopeV4
  476. #undef DhcpSetClientInfo
  477. #undef DhcpGetClientInfo
  478. #undef DhcpSetClientInfoV4
  479. #undef DhcpGetClientInfoV4
  480. #undef DhcpCreateOptionV5
  481. #undef DhcpSetOptionInfoV5
  482. #undef DhcpGetOptionInfoV5
  483. #undef DhcpEnumOptionsV5
  484. #undef DhcpRemoveOptionV5
  485. #undef DhcpSetOptionValueV5
  486. #undef DhcpSetOptionValuesV5
  487. #undef DhcpGetOptionValueV5
  488. #undef DhcpEnumOptionValuesV5
  489. #undef DhcpRemoveOptionValueV5
  490. #undef DhcpCreateClass
  491. #undef DhcpModifyClass
  492. #undef DhcpDeleteClass
  493. #undef DhcpGetClassInfo
  494. #undef DhcpEnumClasses
  495. #undef DhcpGetAllOptions
  496. #undef DhcpGetAllOptionValues
  497. #endif CONVERT_NAMES
  498. #define DHCP_SERVER_ANOTHER_ENTERPRISE 0x01
  499. typedef DHCPDS_SERVER DHCP_SERVER_INFO;
  500. typedef PDHCPDS_SERVER PDHCP_SERVER_INFO;
  501. typedef LPDHCPDS_SERVER LPDHCP_SERVER_INFO;
  502. typedef DHCPDS_SERVERS DHCP_SERVER_INFO_ARRAY;
  503. typedef PDHCPDS_SERVERS PDHCP_SERVER_INFO_ARRAY;
  504. typedef LPDHCPDS_SERVERS LPDHCP_SERVER_INFO_ARRAY;
  505. //DOC DhcpEnumServersDS lists the servers found in the DS along with the
  506. //DOC addresses and other information. The whole server is allocated as a blob,
  507. //DOC and should be freed in one shot. No parameters are currently used, other
  508. //DOC than Servers which will be an OUT parameter only.
  509. DWORD
  510. DhcpEnumServersDS(
  511. IN DWORD Flags,
  512. IN LPVOID IdInfo,
  513. OUT LPDHCP_SERVER_INFO_ARRAY *Servers,
  514. IN LPVOID CallbackFn,
  515. IN LPVOID CallbackData
  516. ) ;
  517. //DOC DhcpAddServerDS adds a particular server to the DS. If the server exists,
  518. //DOC then, this returns error. If the server does not exist, then this function
  519. //DOC adds the server in DS, and also uploads the configuration from the server
  520. //DOC to the ds.
  521. DWORD
  522. DhcpAddServerDS(
  523. IN DWORD Flags,
  524. IN LPVOID IdInfo,
  525. IN LPDHCP_SERVER_INFO NewServer,
  526. IN LPVOID CallbackFn,
  527. IN LPVOID CallbackData
  528. ) ;
  529. //DOC DhcpDeleteServerDS deletes the servers from off the DS and recursively
  530. //DOC deletes the server object..(i.e everything belonging to the server is deleted).
  531. //DOC If the server does not exist, it returns an error.
  532. DWORD
  533. DhcpDeleteServerDS(
  534. IN DWORD Flags,
  535. IN LPVOID IdInfo,
  536. IN LPDHCP_SERVER_INFO NewServer,
  537. IN LPVOID CallbackFn,
  538. IN LPVOID CallbackData
  539. ) ;
  540. //DOC DhcpDsInitDS initializes everything in this module.
  541. DWORD
  542. DhcpDsInitDS(
  543. DWORD Flags,
  544. LPVOID IdInfo
  545. ) ;
  546. //DOC DhcpDsCleanupDS uninitiailzes everything in this module.
  547. VOID
  548. DhcpDsCleanupDS(
  549. VOID
  550. ) ;
  551. //DOC This function is defined in validate.c
  552. //DOC Only the stub is here.
  553. DWORD
  554. DhcpDsValidateService( // check to validate for dhcp
  555. IN LPWSTR Domain,
  556. IN DWORD *Addresses OPTIONAL,
  557. IN ULONG nAddresses,
  558. IN LPWSTR UserName,
  559. IN LPWSTR Password,
  560. IN DWORD AuthFlags,
  561. OUT LPBOOL Found,
  562. OUT LPBOOL IsStandAlone
  563. );
  564. //DOC DhcpDsGetLastUpdateTime is defined in upndown.c --> see there for more details.
  565. DWORD
  566. DhcpDsGetLastUpdateTime( // last update time for server
  567. IN LPWSTR ServerName, // this is server of interest
  568. IN OUT LPFILETIME Time // fill in this w./ the time
  569. );
  570. //========================================================================
  571. // end of file
  572. //========================================================================