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.

381 lines
7.8 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992-2000.
  5. //
  6. // File: HNetCfg.mof
  7. //
  8. //----------------------------------------------------------------------------
  9. //
  10. // Namespace definition
  11. //
  12. #pragma namespace("\\\\.\\ROOT")
  13. instance of __NameSpace
  14. {
  15. Name = "Microsoft";
  16. };
  17. #pragma namespace("\\\\.\\ROOT\\Microsoft")
  18. instance of __NameSpace
  19. {
  20. Name = "HomeNet";
  21. };
  22. #pragma namespace("\\\\.\\ROOT\\Microsoft\\HomeNet")
  23. #pragma autorecover
  24. #pragma classflags ("forceupdate")
  25. //
  26. // Class (schema) definitions
  27. //
  28. /*++
  29. Class: HNet_Connection
  30. Represents an item in the Network Connections folder
  31. --*/
  32. class HNet_Connection
  33. {
  34. [key, read, write] string Guid;
  35. [read, write] string Name;
  36. [read, write] string PhonebookPath;
  37. [read, write] boolean IsLanConnection;
  38. };
  39. /*++
  40. Class: HNet_ConnectionProperties
  41. Home networking properties of a network connection
  42. --*/
  43. class HNet_ConnectionProperties
  44. {
  45. [key, read, write] HNet_Connection ref Connection;
  46. [read, write] boolean IsFirewalled;
  47. [read, write] boolean IsIcsPublic;
  48. [read, write] boolean IsIcsPrivate;
  49. [read, write] boolean IsBridgeMember;
  50. [read, write] boolean IsBridge;
  51. };
  52. /*++
  53. Class: HNet_BridgeMember
  54. Associates a bridge member connection to the bridge connection
  55. that it belongs to
  56. --*/
  57. [Association: ToInstance ToSubclass]
  58. class HNet_BridgeMember
  59. {
  60. [key, read] HNet_Connection ref Bridge;
  61. [key, read] HNet_Connection ref Member;
  62. };
  63. /*++
  64. Class: HNet_FirewallLoggingSettings
  65. Global firewall logging settings
  66. --*/
  67. class HNet_FirewallLoggingSettings
  68. {
  69. [key, read] string Id;
  70. [read, write] string Path;
  71. [read, write] uint32 MaxFileSize;
  72. [read, write] boolean LogDroppedPackets;
  73. [read, write] boolean LogConnections;
  74. };
  75. /*++
  76. Class: HNet_ResponseRange
  77. Range of response ports, used in an application protocol definition. All
  78. properties are read-only keys, as this class is intended only for use
  79. as an embedded object within application definitions.
  80. --*/
  81. class HNet_ResponseRange
  82. {
  83. [key, read] uint8 IPProtocol;
  84. [key, read] uint16 StartPort;
  85. [key, read] uint16 EndPort;
  86. };
  87. /*++
  88. Class: HNet_ApplicationProtocol
  89. Application protocol definition
  90. --*/
  91. class HNet_ApplicationProtocol
  92. {
  93. [key, read] string Id;
  94. [read, write] string Name;
  95. [read, write] boolean Enabled;
  96. [read, write] boolean BuiltIn;
  97. [read, write] uint8 OutgoingIPProtocol;
  98. [read, write] uint16 OutgoingPort;
  99. [read, write] uint16 ResponseCount;
  100. [read, write] HNet_ResponseRange ResponseArray[];
  101. };
  102. /*++
  103. Class: HNet_PortMappingProtocol
  104. Port mapping protocol definition
  105. --*/
  106. class HNet_PortMappingProtocol
  107. {
  108. [key, read] string Id;
  109. [read, write] string Name;
  110. [read, write] boolean BuiltIn;
  111. [read, write] uint8 IPProtocol;
  112. [read, write] uint16 Port;
  113. };
  114. #pragma deleteclass("HNet_ConnectionPortMapping", NOFAIL)
  115. /*++
  116. Class: HNet_ConnectionPortMapping2
  117. Associates a port mapping to a connection
  118. --*/
  119. [Association: ToInstance ToSubclass]
  120. class HNet_ConnectionPortMapping2
  121. {
  122. [key, read] HNet_Connection ref Connection;
  123. [key, read] HNet_PortMappingProtocol ref Protocol;
  124. [read, write] boolean Enabled;
  125. [read, write] boolean NameActive;
  126. [read, write] string TargetName;
  127. [read, write] uint32 TargetIPAddress;
  128. [read, write] uint16 TargetPort;
  129. };
  130. /*++
  131. Class: HNet_FwIcmpSettings
  132. Firewall ICMP settings. Name is never exposed, and exists only because
  133. the class must have a key in order to create an instance of it. However,
  134. the name may be useful in the future if we want to pre-define different
  135. standard ICMP policies.
  136. --*/
  137. class HNet_FwIcmpSettings
  138. {
  139. [key, read, write] String Name;
  140. [read, write] boolean AllowOutboundDestinationUnreachable;
  141. [read, write] boolean AllowOutboundSourceQuench;
  142. [read, write] boolean AllowRedirect;
  143. [read, write] boolean AllowInboundEchoRequest;
  144. [read, write] boolean AllowInboundRouterRequest;
  145. [read, write] boolean AllowOutboundTimeExceeded;
  146. [read, write] boolean AllowOutboundParameterProblem;
  147. [read, write] boolean AllowInboundTimestampRequest;
  148. [read, write] boolean AllowInboundMaskRequest;
  149. };
  150. /*++
  151. Class: HNet_ConnectionIcmpSetting
  152. Associates a firewall connection to its ICMP settings
  153. --*/
  154. [Association: ToInstance ToSubclass]
  155. class HNet_ConnectionIcmpSetting
  156. {
  157. [key, read] HNet_Connection ref Connection;
  158. [key, read] HNet_FwIcmpSettings ref IcmpSettings;
  159. };
  160. /*++
  161. Class: HNet_IcsSettings
  162. Contains global ICS settings. Id is never exposed, and exists only because
  163. the class must have a key in order to create an instance of it.
  164. --*/
  165. class HNet_IcsSettings
  166. {
  167. [key, read] string Id;
  168. [read, write] boolean DhcpEnabled;
  169. [read, write] boolean DnsEnabled;
  170. };
  171. /*++
  172. Class: HNet_BackupIpConfiguration
  173. Used to store the original IP configuration of a connection when that
  174. connection is made ICS private.
  175. --*/
  176. class HNet_BackupIpConfiguration
  177. {
  178. [key, read, write] HNet_Connection ref Connection;
  179. [read, write] string IPAddress;
  180. [read, write] string SubnetMask;
  181. [read, write] string DefaultGateway;
  182. [read, write] uint32 EnableDHCP;
  183. };
  184. /*++
  185. Class: HNet_ConnectionAutoconfig
  186. The existance of an instance of this class indicates that the autoconfig
  187. service knows about this connection.
  188. --*/
  189. class HNet_ConnectionAutoconfig
  190. {
  191. [key, read, write] HNet_Connection ref Connection;
  192. };
  193. //
  194. // Default HNet_IcsSettings
  195. //
  196. instance of HNet_IcsSettings
  197. {
  198. Id = "{23bc497f-13f0-47a1-9e88-048f6eefdf60}";
  199. DhcpEnabled = TRUE;
  200. DnsEnabled = TRUE;
  201. };
  202. //
  203. // Default HNet_FwIcmpSettings
  204. //
  205. instance of HNet_FwIcmpSettings
  206. {
  207. Name = "Default";
  208. AllowOutboundDestinationUnreachable = FALSE;
  209. AllowOutboundSourceQuench = FALSE;
  210. AllowRedirect = FALSE;
  211. AllowInboundEchoRequest = FALSE;
  212. AllowInboundRouterRequest = FALSE;
  213. AllowOutboundTimeExceeded = FALSE;
  214. AllowOutboundParameterProblem = FALSE;
  215. AllowInboundTimestampRequest = FALSE;
  216. AllowInboundMaskRequest = FALSE;
  217. };
  218. //
  219. // Instance definitions -- default application and port
  220. // mapping entries. Note that all numerical values are
  221. // in NETWORK byte order. The names here refer to the
  222. // resource IDs in hnetcfg.dll.
  223. //
  224. instance of HNet_PortMappingProtocol
  225. {
  226. Id = "{230e423d-7b3a-4e6e-9d4d-91f73561364a}";
  227. Name = "1700";
  228. BuiltIn = TRUE;
  229. IPProtocol = 0x6; // TCP
  230. Port = 0x1500; // 21
  231. };
  232. instance of HNet_PortMappingProtocol
  233. {
  234. Id = "{f831dd6e-85d0-4f7d-8ac0-bb2099682c4e}";
  235. Name = "1701";
  236. BuiltIn = TRUE;
  237. IPProtocol = 0x6; // TCP
  238. Port = 0x1700; // 23
  239. };
  240. instance of HNet_PortMappingProtocol
  241. {
  242. Id = "{59e81c3b-ae09-4bc5-9ebc-7605ab74d37b}";
  243. Name = "1702";
  244. BuiltIn = TRUE;
  245. IPProtocol = 0x6; // TCP
  246. Port = 0x1900; // 25
  247. };
  248. instance of HNet_PortMappingProtocol
  249. {
  250. Id = "{90c8f61d-43f3-45cc-8ff0-e719748b3851}";
  251. Name = "1703";
  252. BuiltIn = TRUE;
  253. IPProtocol = 0x6; // TCP
  254. Port = 0x6e00; // 110
  255. };
  256. instance of HNet_PortMappingProtocol
  257. {
  258. Id = "{80be1943-684e-41b9-82e5-32b18d858a2c}";
  259. Name = "1704";
  260. BuiltIn = TRUE;
  261. IPProtocol = 0x6; // TCP
  262. Port = 0xDC00; // 220
  263. };
  264. instance of HNet_PortMappingProtocol
  265. {
  266. Id = "{f5c5796c-de7a-456b-891f-03a2e006e07c}";
  267. Name = "1705";
  268. BuiltIn = TRUE;
  269. IPProtocol = 0x6; // TCP
  270. Port = 0x8f00; // 143
  271. };
  272. instance of HNet_PortMappingProtocol
  273. {
  274. Id = "{cd1887dd-be99-4a92-8006-e9a52db53df4}";
  275. Name = "1706";
  276. BuiltIn = TRUE;
  277. IPProtocol = 0x6; // TCP
  278. Port = 0x5000; //80
  279. };
  280. instance of HNet_PortMappingProtocol
  281. {
  282. Id = "{3c6434d0-257b-4516-9222-4fa0467d67f9}";
  283. Name = "1707";
  284. BuiltIn = TRUE;
  285. IPProtocol = 0x6; // TCP
  286. Port = 0xBB01; // 443
  287. };
  288. instance of HNet_PortMappingProtocol
  289. {
  290. Id = "{01d925f1-cf6a-4352-8aac-b139b1a80cb4}";
  291. Name = "1708";
  292. BuiltIn = TRUE;
  293. IPProtocol = 0x6; // TCP
  294. Port = 0x3D0D; // 3389
  295. };