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.

815 lines
16 KiB

  1. #pragma namespace ( "\\\\.\\root\\dhcp" )
  2. [
  3. description(""),
  4. singleton: DisableOverride ToInstance ToSubClass,
  5. dynamic: ToInstance,
  6. provider("MS_NT_DHCP_PROVIDER")
  7. ]
  8. class DHCP_Server
  9. {
  10. [
  11. read,
  12. description("This variable indicates the number of\n\t\t\t nacks sent")
  13. ]
  14. uint32 TotalNoOfNacks;
  15. [
  16. read,
  17. description("This variable indicates the number of\n\t\t\t offers sent")
  18. ]
  19. uint32 TotalNoOfOffers;
  20. [
  21. read,
  22. description("This variable indicates the number of\n\t\t\t declines received")
  23. ]
  24. uint32 TotalNoOfDeclines;
  25. [
  26. read,
  27. description("This variable indicates the number of\n\t\t\t releases received")
  28. ]
  29. uint32 TotalNoOfReleases;
  30. [
  31. read,
  32. description("This variable indicates the number of\n\t\t\t requests received")
  33. ]
  34. uint32 TotalNoOfRequests;
  35. [
  36. read,
  37. description("This variable indicates the number of\n\t\t\t discovery messages received")
  38. ]
  39. uint32 TotalNoOfDiscovers;
  40. [
  41. read,
  42. description("This variable indicates the DHCP server start time")
  43. ]
  44. string StartTime;
  45. [
  46. read,
  47. description("This variable indicates the number of\n\t\t\t acks received")
  48. ]
  49. uint32 TotalNoOfAcks;
  50. [
  51. read,
  52. description("This variable indicates the version of the DHCP server")
  53. ]
  54. string ServerVersion;
  55. [
  56. read,
  57. description("This variable indicates the API protocol supported by the DHCP server")
  58. ]
  59. uint32 APIProtocol;
  60. [
  61. read,write,
  62. description("This variable indicates the name of the database file")
  63. ]
  64. string DatabaseName;
  65. [
  66. read,write,
  67. description("This variable indicates the path to the database file")
  68. ]
  69. string DatabasePath;
  70. [
  71. read,write,
  72. description("This variable indicates the path to the backup database")
  73. ]
  74. string BackupPath;
  75. [
  76. read,write,
  77. description("This variable indicates the interval backups are done")
  78. ]
  79. uint32 BackupInterval;
  80. [
  81. read,write,
  82. description("This variable indicates the flags controlling the database logging")
  83. ]
  84. uint32 DatabaseLoggingFlag;
  85. [
  86. read,write,
  87. description("RestoreFlag")
  88. ]
  89. uint32 RestoreFlag;
  90. [
  91. read,write,
  92. description("This variable indicates the interval the database is cleaned up")
  93. ]
  94. uint32 DatabaseCleanupInterval;
  95. [
  96. read,write,
  97. description("This variable indicates the flags controlling the debug output levels")
  98. ]
  99. uint32 DebugFlag;
  100. [
  101. read,write,
  102. description("This variable indicates the number of ping retries")
  103. ]
  104. uint32 PingRetries;
  105. [
  106. read,write,
  107. description("This variable indicates the bootfile table")
  108. ]
  109. string BootFileTable;
  110. [
  111. read,write,
  112. description("This variable indicates the activity log state")
  113. ]
  114. boolean AuditLog;
  115. [
  116. implemented,
  117. description ( "This method allows setting the APIProtocol parameter" )
  118. ]
  119. uint32 SetAPIProtocol ( [in] uint32 APIProtocol);
  120. [
  121. implemented,
  122. description ( "This method allows setting the database file name" )
  123. ]
  124. uint32 SetDatabaseName ( [in] string DatabaseName);
  125. [
  126. implemented,
  127. description ( "This method allows setting the path to the database file" )
  128. ]
  129. uint32 SetDatabasePath ( [in] string DatabasePath);
  130. [
  131. implemented,
  132. description ( "This method allows setting the path to the backup directory" )
  133. ]
  134. uint32 SetBackupPath ( [in] string BackupPath);
  135. [
  136. implemented,
  137. description ( "This method allows setting the backup time interval (in seconds)" )
  138. ]
  139. uint32 SetBackupInterval ( [in] uint32 BackupInterval);
  140. [
  141. implemented,
  142. description ( "This method allows setting the database logging flag" )
  143. ]
  144. uint32 SetDatabaseLoggingFlag ( [in] uint32 DatabaseLoggingFlag);
  145. [
  146. implemented,
  147. description ( "This method allows setting the restore flag" )
  148. ]
  149. uint32 SetRestoreFlag ( [in] uint32 RestoreFlag);
  150. [
  151. implemented,
  152. description ( "This method allows setting the database cleanup interval (in seconds)" )
  153. ]
  154. uint32 SetDatabaseCleanupInterval ( [in] uint32 DatabaseCleanupInterval);
  155. [
  156. implemented,
  157. description ( "This method allows setting the debug flag" )
  158. ]
  159. uint32 SetDebugFlag ( [in] uint32 DebugFlag);
  160. [
  161. implemented,
  162. description ( "This method allows setting the number of ping retries" )
  163. ]
  164. uint32 SetPingRetries ( [in] uint32 PingRetries);
  165. [
  166. implemented,
  167. description ( "This method allows setting the boot file table" )
  168. ]
  169. uint32 SetBootFileTable ( [in] string BootFileTable);
  170. [
  171. implemented,
  172. description ( "This method allows turning on/off the audit log" )
  173. ]
  174. uint32 SetAuditLog ( [in] boolean AuditLog);
  175. };
  176. [
  177. dynamic: ToInstance,
  178. provider("MS_NT_DHCP_PROVIDER"),
  179. Description ( "" )
  180. ]
  181. class DHCP_Subnet
  182. {
  183. [
  184. key,
  185. read,
  186. Description ( "This variable indicates the subnet's IP network address" )
  187. ]
  188. string Address;
  189. [
  190. read,
  191. Description ( "This variable indicates the subnet's IP mask" )
  192. ]
  193. string Mask;
  194. [
  195. read, write,
  196. Description ( "This variable indicates the name of this subnet" )
  197. ]
  198. string Name;
  199. [
  200. read, write,
  201. Description ( "This variable indicates the comment of this subnet" )
  202. ]
  203. string Comment;
  204. [
  205. Values { "0", "1" },
  206. ValueMap { "Enabled", "Disabled"},
  207. read, write,
  208. Description ( "This variable shows the current state of the subnet" )
  209. ]
  210. uint32 State;
  211. [
  212. read,
  213. Description ( "This variable indicates the number of addresses in use for this subnet" )
  214. ]
  215. uint32 NumberOfAddressesInUse;
  216. [
  217. read,
  218. Description ( "This variable indicates the number of addresses free in this subnet" )
  219. ]
  220. uint32 NumberOfAddressesFree;
  221. [
  222. read,
  223. Description ( "This variable indicates the number of pending offers given in this subnet" )
  224. ]
  225. uint32 NumberOfPendingOffers;
  226. [
  227. implemented,
  228. description ( "This method allows setting the name of the subnet" )
  229. ]
  230. uint32 SetName ( [in] string Name);
  231. [
  232. implemented,
  233. description ( "This method allows setting the comment of the subnet" )
  234. ]
  235. uint32 SetComment ( [in] string Comment);
  236. [
  237. implemented,
  238. description ( "This method allows enabling(0) / disabling(1) the subnet" )
  239. ]
  240. uint32 SetState ( [in] uint32 State);
  241. };
  242. [
  243. dynamic: ToInstance,
  244. provider("MS_NT_DHCP_PROVIDER"),
  245. Description ( "" )
  246. ]
  247. class DHCP_Lease
  248. {
  249. [
  250. key,
  251. read,
  252. description ( "This key variable indicates the lease's IP Address" )
  253. ]
  254. string Subnet;
  255. [
  256. key,
  257. read,
  258. description ( "This key variable indicates the subnet to which the lease belongs" )
  259. ]
  260. string Address;
  261. [
  262. read,
  263. description ( "This variable indicates the mask which applies for the lease" )
  264. ]
  265. string SubnetMask;
  266. [
  267. read, write,
  268. description ( "This variable indicates the MAC address of the client associated to the lease" )
  269. ]
  270. uint8 UniqueClientIdentifier [];
  271. [
  272. read, write,
  273. description ( "This variable indicates the domain name for the client associated to the lease" )
  274. ]
  275. string Name;
  276. [
  277. read, write,
  278. description ( "This variable indicates the comment associated to the lease" )
  279. ]
  280. string Comment;
  281. [
  282. read,
  283. description ( "This variable indicates the date the lease expires" )
  284. ]
  285. datetime LeaseExpiryDate;
  286. [
  287. read, write,
  288. description ( "This variable shows the type of the client associated to the lease" )
  289. ]
  290. uint8 Type;
  291. [
  292. read,
  293. description ( "This variable shows the current state of the lease" )
  294. ]
  295. uint8 State;
  296. };
  297. [
  298. dynamic: ToInstance,
  299. provider("MS_NT_DHCP_PROVIDER"),
  300. Description ( "" )
  301. ]
  302. class DHCP_Reservation
  303. {
  304. [
  305. key,
  306. read,
  307. description ( "This key variable indicates the lease's IP Address" )
  308. ]
  309. string Subnet;
  310. [
  311. key,
  312. read,
  313. description ( "This key variable indicates the subnet to which the lease belongs" )
  314. ]
  315. string Address;
  316. [
  317. read,
  318. description ( "This variable indicates the mask which applies for the lease" )
  319. ]
  320. string SubnetMask;
  321. [
  322. read, write,
  323. description ( "This variable indicates the MAC address of the client associated to the lease" )
  324. ]
  325. uint8 UniqueClientIdentifier [];
  326. [
  327. read, write,
  328. description ( "This variable indicates the domain name for the client associated to the lease" )
  329. ]
  330. string Name;
  331. [
  332. read, write,
  333. description ( "This variable indicates the comment associated to the lease" )
  334. ]
  335. string Comment;
  336. [
  337. read,
  338. description ( "This variable indicates the date the lease expires" )
  339. ]
  340. datetime LeaseExpiryDate;
  341. [
  342. read, write,
  343. description ( "This variable shows the type of the client associated to the lease" )
  344. ]
  345. uint8 Type;
  346. [
  347. read,
  348. description ( "This variable shows the current state of the lease" )
  349. ]
  350. uint8 State;
  351. [
  352. read, write,
  353. description ( "This variable tells which kind of clients can allocate this reservation" ),
  354. values { "0", "1", "2", "3", "100"},
  355. ValueMap {"Unspecified", "DHCP", "BOOTP", "Both", "None"}
  356. ]
  357. uint8 ReservationType;
  358. };
  359. [
  360. Association: ToInstance,
  361. dynamic: ToInstance,
  362. provider("MS_NT_DHCP_PROVIDER"),
  363. Description ( "" )
  364. ]
  365. class DHCP_SubnetLease
  366. {
  367. [
  368. key,
  369. read,
  370. description ( "This variable references the Subnet involved in the association" )
  371. ]
  372. DHCP_Subnet REF Subnet;
  373. [
  374. key,
  375. read,
  376. description ( "This variable references the Lease involved in the association" )
  377. ]
  378. DHCP_Lease REF Lease;
  379. };
  380. [
  381. Association: ToInstance,
  382. dynamic: ToInstance,
  383. provider("MS_NT_DHCP_PROVIDER"),
  384. Description ( "" )
  385. ]
  386. class DHCP_SubnetReservation
  387. {
  388. [
  389. key,
  390. read,
  391. description ( "This variable references the Subnet involved in the association" )
  392. ]
  393. DHCP_Subnet REF Subnet;
  394. [
  395. key,
  396. read,
  397. description ( "This variable references the Reservation involved in the association" )
  398. ]
  399. DHCP_Reservation REF Reservation;
  400. };
  401. [
  402. dynamic: ToInstance,
  403. provider("MS_NT_DHCP_PROVIDER"),
  404. Description ( "" )
  405. ]
  406. class DHCP_SuperScope
  407. {
  408. [
  409. key,
  410. read,
  411. description ( "This variable indicates the name of the superscope" )
  412. ]
  413. string Name;
  414. };
  415. [
  416. Association: ToInstance,
  417. dynamic: ToInstance,
  418. provider("MS_NT_DHCP_PROVIDER"),
  419. Description ( "" )
  420. ]
  421. class DHCP_SuperScopeSubnets
  422. {
  423. [
  424. key,
  425. read,
  426. description ( "This variable references the SuperScope involved in the association" )
  427. ]
  428. DHCP_SuperScope REF SuperScope;
  429. [
  430. key,
  431. read,
  432. description ( "This variable references the Subnet involved in the association" )
  433. ]
  434. DHCP_Subnet REF Subnet;
  435. };
  436. [
  437. dynamic: ToInstance,
  438. provider("MS_NT_DHCP_PROVIDER"),
  439. Description ( "" )
  440. ]
  441. class DHCP_Range
  442. {
  443. [
  444. key,
  445. read,
  446. description ( "This variable points to the Subnet to which this range belongs" )
  447. ]
  448. string Subnet;
  449. [
  450. key,
  451. read,
  452. description ( "This variable indicates the start address of the range" )
  453. ]
  454. string StartAddress;
  455. [
  456. key,
  457. read,
  458. description ( "This variable indicates the end address of the range" )
  459. ]
  460. string EndAddress;
  461. [
  462. key,
  463. read,
  464. description ( "This variable indicates the type of the range (Included vs. Excluded)" )
  465. ]
  466. uint32 RangeType;
  467. };
  468. [
  469. Association: ToInstance,
  470. dynamic: ToInstance,
  471. provider("MS_NT_DHCP_PROVIDER"),
  472. Description ( "" )
  473. ]
  474. class DHCP_SubnetIncludedRange
  475. {
  476. [
  477. key,
  478. read,
  479. description ( "This variable references the Subnet involved in the association" )
  480. ]
  481. DHCP_Subnet REF Subnet;
  482. [
  483. key,
  484. read,
  485. description ( "This variable references the Included Range involved in the association" )
  486. ]
  487. DHCP_Range REF Range;
  488. };
  489. [
  490. Association: ToInstance,
  491. dynamic: ToInstance,
  492. provider("MS_NT_DHCP_PROVIDER"),
  493. Description ( "" )
  494. ]
  495. class DHCP_SubnetExcludedRange
  496. {
  497. [
  498. key,
  499. read,
  500. description ( "This variable references the Subnet involved in the association" )
  501. ]
  502. DHCP_Subnet REF Subnet;
  503. [
  504. key,
  505. read,
  506. description ( "This variable references the Excluded Range involved in the association" )
  507. ]
  508. DHCP_Range REF Range;
  509. };
  510. [
  511. Abstract
  512. ]
  513. class DHCP_OptionVariant
  514. {
  515. };
  516. class DHCP_OptionVariant_Uint8 : DHCP_OptionVariant
  517. {
  518. Uint8 Value;
  519. };
  520. class DHCP_OptionVariant_Uint16 : DHCP_OptionVariant
  521. {
  522. Uint16 Value;
  523. };
  524. class DHCP_OptionVariant_Uint32 : DHCP_OptionVariant
  525. {
  526. Uint32 Value;
  527. };
  528. class DHCP_OptionVariant_Uint32Uint32 : DHCP_OptionVariant
  529. {
  530. Uint32 FirstValue;
  531. Uint32 SecondValue;
  532. };
  533. class DHCP_OptionVariant_IPAddress : DHCP_OptionVariant
  534. {
  535. Uint32 Value;
  536. };
  537. class DHCP_OptionVariant_String : DHCP_OptionVariant
  538. {
  539. string Value;
  540. };
  541. class DHCP_OptionVariant_Binary : DHCP_OptionVariant
  542. {
  543. Uint8 Value [];
  544. };
  545. class DHCP_OptionVariant_Encapsulated : DHCP_OptionVariant
  546. {
  547. Uint8 Value [];
  548. };
  549. class DHCP_OptionVariant_Array : DHCP_OptionVariant
  550. {
  551. DHCP_OptionVariant Value [];
  552. };
  553. [
  554. dynamic: ToInstance,
  555. provider("MS_NT_DHCP_PROVIDER"),
  556. Description("")
  557. ]
  558. class DHCP_Option
  559. {
  560. [
  561. key,
  562. read, write,
  563. description ( "this variable indicates the option's numeric identifier" )
  564. ]
  565. uint32 Identifier;
  566. [
  567. read, write,
  568. description ( "this variable indicates the option's name" )
  569. ]
  570. string Name;
  571. [
  572. read, write,
  573. description ( "this variable indicates the option's comment" )
  574. ]
  575. string Comment;
  576. [
  577. read, write,
  578. description ( "this variable encapsulates the option's default values" )
  579. ]
  580. DHCP_OptionVariant Values;
  581. };
  582. /*
  583. [
  584. Abstract,
  585. description("")
  586. ]
  587. class DHCP_OptionValue
  588. {
  589. DHCP_OptionVariant Value;
  590. };
  591. [
  592. description(""),
  593. dynamic: ToInstance,
  594. provider("MS_NT_DHCP_PROVIDER")
  595. ]
  596. class DHCP_ServerOptionValue : DHCP_OptionValue
  597. {
  598. [key]
  599. uint32 Identifier;
  600. };
  601. [
  602. description(""),
  603. dynamic: ToInstance,
  604. provider("MS_NT_DHCP_PROVIDER")
  605. ]
  606. class DHCP_SubnetOptionValue : DHCP_OptionValue
  607. {
  608. [key]
  609. string Subnet;
  610. [key]
  611. uint32 Identifier;
  612. };
  613. [
  614. description(""),
  615. dynamic: ToInstance,
  616. provider("MS_NT_DHCP_PROVIDER")
  617. ]
  618. class DHCP_ReservationOptionValue : DHCP_OptionValue
  619. {
  620. [key]
  621. string Reservation;
  622. [key]
  623. uint32 Identifier;
  624. };
  625. [
  626. Association: ToInstance,
  627. dynamic: ToInstance,
  628. provider("MS_NT_DHCP_PROVIDER"),
  629. Description ( "" )
  630. ]
  631. class DHCP_OptionToOptionValue
  632. {
  633. [
  634. Key,
  635. Read,
  636. Description ( "" )
  637. ]
  638. DHCP_Option REF Option;
  639. [
  640. Key,
  641. Read,
  642. Description ( "" )
  643. ]
  644. DHCP_OptionValue REF OptionValue;
  645. };
  646. [
  647. dynamic: ToInstance,
  648. provider("MS_NT_DHCP_PROVIDER"),
  649. Description ( "" )
  650. ]
  651. class DHCP_VendorClass
  652. {
  653. [key]
  654. string Name;
  655. };
  656. [
  657. dynamic: ToInstance,
  658. provider("MS_NT_DHCP_PROVIDER"),
  659. Description ( "" )
  660. ]
  661. class DHCP_UserClass
  662. {
  663. [key]
  664. string Name;
  665. };
  666. [
  667. Association: ToInstance,
  668. dynamic: ToInstance,
  669. provider("MS_NT_DHCP_PROVIDER"),
  670. Description ( "" )
  671. ]
  672. class DHCP_UserClassToOptionValue
  673. {
  674. [
  675. Key,
  676. Read,
  677. Description ( "" )
  678. ]
  679. DHCP_UserClass REF UserClass;
  680. [
  681. Key,
  682. Read,
  683. Description ( "" )
  684. ]
  685. DHCP_OptionValue REF OptionValue;
  686. };
  687. [
  688. Association: ToInstance,
  689. dynamic: ToInstance,
  690. provider("MS_NT_DHCP_PROVIDER"),
  691. Description ( "" )
  692. ]
  693. class DHCP_VendorClassToOptionValue
  694. {
  695. [
  696. Key,
  697. Read,
  698. Description ( "" )
  699. ]
  700. DHCP_VendorClass REF UserClass;
  701. [
  702. Key,
  703. Read,
  704. Description ( "" )
  705. ]
  706. DHCP_OptionValue REF OptionValue;
  707. };
  708. */