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.

272 lines
7.0 KiB

  1. /*++
  2. Copyright (c) 1995 Microsoft Corporation
  3. Module Name:
  4. dnssrv4.idl
  5. Abstract:
  6. Domain Name System (DNS) Server
  7. DNS NT4 RPC API and type definitions.
  8. Author:
  9. Jim Gilroy (jamesg) April, 1997
  10. Revision History:
  11. --*/
  12. //
  13. // NT4 RPC Interface definition
  14. //
  15. [
  16. uuid(aae9ac90-ce13-11cf-919e-08002be23c64),
  17. version(1.0),
  18. pointer_default(unique)
  19. ]
  20. interface dnssrv
  21. {
  22. import "imports.idl";
  23. typedef [handle] LPCSTR DNS_SRV_HANDLE;
  24. //
  25. // RPC API
  26. //
  27. //
  28. // Server properties API
  29. //
  30. DNS_STATUS
  31. R_Dns4_GetServerInfo(
  32. [in, unique, string] DNS_SRV_HANDLE hServer,
  33. [in, out, unique] PDNS4_RPC_SERVER_INFO * ppServerInfo
  34. );
  35. DNS_STATUS
  36. R_Dns4_Retired1(
  37. [in, unique, string] DNS_SRV_HANDLE hServer
  38. );
  39. DNS_STATUS
  40. R_Dns4_ResetServerListenAddresses(
  41. [in, unique, string] DNS_SRV_HANDLE hServer,
  42. [in] DWORD cListenAddrs,
  43. [in, size_is(cListenAddrs)] PIP_ADDRESS aipListenAddrs
  44. );
  45. DNS_STATUS
  46. R_Dns4_ResetForwarders(
  47. [in, unique, string] DNS_SRV_HANDLE hServer,
  48. [in] DWORD cForwarders,
  49. [in, size_is(cForwarders)] PIP_ADDRESS aipForwarders,
  50. [in] DWORD dwForwardTimeout,
  51. [in] DWORD fSlave
  52. );
  53. //
  54. // Statistics API
  55. //
  56. DNS_STATUS
  57. R_Dns4_GetStatistics(
  58. [in, unique, string] DNS_SRV_HANDLE hServer,
  59. [in, out, unique] PDNS4_STATISTICS * ppStatistics
  60. );
  61. DNS_STATUS
  62. R_Dns4_ClearStatistics(
  63. [in, unique, string] DNS_SRV_HANDLE hServer
  64. );
  65. //
  66. // Zone configuration information API
  67. //
  68. DNS_STATUS
  69. R_Dns4_EnumZoneHandles(
  70. [in, unique, string] DNS_SRV_HANDLE hServer,
  71. [out] PDWORD pdwZoneCount,
  72. [in] DWORD dwArrayLength,
  73. [out, length_is(*pdwZoneCount), size_is(dwArrayLength)]
  74. DNS_HANDLE ahZones[]
  75. );
  76. DNS_STATUS
  77. R_Dns4_GetZoneInfo(
  78. [in, unique, string] DNS_SRV_HANDLE hServer,
  79. [in] DNS_HANDLE hZone,
  80. [in, out, unique] PDNS4_ZONE_INFO * ppZone
  81. );
  82. DNS_STATUS
  83. R_Dns4_ResetZoneType(
  84. [in, unique, string] DNS_SRV_HANDLE hServer,
  85. [in] DNS_HANDLE hZone,
  86. [in] DWORD dwZoneType,
  87. [in] DWORD cMasters,
  88. [in, size_is(cMasters)] PIP_ADDRESS aipMasters
  89. );
  90. DNS_STATUS
  91. R_Dns4_ResetZoneDatabase(
  92. [in, unique, string] DNS_SRV_HANDLE hServer,
  93. [in] DNS_HANDLE hZone,
  94. [in] DWORD dwUseDatabase,
  95. [in, string] LPCSTR pszDataFile
  96. );
  97. DNS_STATUS
  98. R_Dns4_ResetZoneMasters(
  99. [in, unique, string] DNS_SRV_HANDLE hServer,
  100. [in] DNS_HANDLE hZone,
  101. [in] DWORD cMasters,
  102. [in, size_is(cMasters)] PIP_ADDRESS aipMasters
  103. );
  104. DNS_STATUS
  105. R_Dns4_ResetZoneSecondaries(
  106. [in, unique, string] DNS_SRV_HANDLE hServer,
  107. [in] DNS_HANDLE hZone,
  108. [in] DWORD fSecureSecondaries,
  109. [in] DWORD cSecondaries,
  110. [in, size_is(cSecondaries)]
  111. PIP_ADDRESS aipSecondaries
  112. );
  113. //
  114. // Zone management API
  115. //
  116. DNS_STATUS
  117. R_Dns4_CreateZone(
  118. [in, unique, string] DNS_SRV_HANDLE hServer,
  119. [out] PDNS_HANDLE phZone,
  120. [in, string] LPCSTR pszZoneName,
  121. [in] DWORD dwZoneType,
  122. [in, string] LPCSTR pszAdminEmailName,
  123. [in] DWORD cMasters,
  124. [in, size_is(cMasters)] PIP_ADDRESS aipMasters,
  125. [in] DWORD dwUseDatabase,
  126. [in, string] LPCSTR pszDataFile
  127. );
  128. DNS_STATUS
  129. R_Dns4_IncrementZoneVersion(
  130. [in, unique, string] DNS_SRV_HANDLE hServer,
  131. [in] DNS_HANDLE hZone
  132. );
  133. DNS_STATUS
  134. R_Dns4_DeleteZone(
  135. [in, unique, string] DNS_SRV_HANDLE hServer,
  136. [in] DNS_HANDLE hZone
  137. );
  138. DNS_STATUS
  139. R_Dns4_PauseZone(
  140. [in, unique, string] DNS_SRV_HANDLE hServer,
  141. [in] DNS_HANDLE hZone
  142. );
  143. DNS_STATUS
  144. R_Dns4_ResumeZone(
  145. [in, unique, string] DNS_SRV_HANDLE hServer,
  146. [in] DNS_HANDLE hZone
  147. );
  148. //
  149. // Record viewing API
  150. //
  151. DNS_STATUS
  152. R_Dns4_EnumNodeRecords(
  153. [in, unique, string] DNS_SRV_HANDLE hServer,
  154. [in, string] LPCSTR pszNodeName,
  155. [in] WORD wRecordType,
  156. [in] DWORD fNoCacheData,
  157. [in, out] PDWORD pdwBufferLength,
  158. [out, size_is(*pdwBufferLength),
  159. length_is(*pdwBufferLength)]
  160. BYTE aBuffer[]
  161. );
  162. DNS_STATUS
  163. R_Dns4_EnumRecords(
  164. [in, unique, string] DNS_SRV_HANDLE hServer,
  165. [in, string] LPCSTR pszNodeName,
  166. [in, string] LPCSTR pszStartChild,
  167. [in] WORD wRecordType,
  168. [in] DWORD fNoCacheData,
  169. [in, out] PDWORD pdwBufferLength,
  170. [out, size_is(*pdwBufferLength),
  171. length_is(*pdwBufferLength)]
  172. BYTE aBuffer[]
  173. );
  174. DNS_STATUS
  175. R_Dns4_GetZoneWinsInfo(
  176. [in, unique, string] DNS_SRV_HANDLE hServer,
  177. [in] DNS_HANDLE hZone,
  178. [out] PDWORD pfUsingWins,
  179. [in, out] PDWORD pdwBufferLength,
  180. [out, size_is(*pdwBufferLength),
  181. length_is(*pdwBufferLength)]
  182. BYTE aBuffer[]
  183. );
  184. //
  185. // Record management API
  186. //
  187. DNS_STATUS
  188. R_Dns4_UpdateRecord(
  189. [in, unique, string] DNS_SRV_HANDLE hServer,
  190. [in] DNS_HANDLE hZone,
  191. [in, string] LPCSTR pszNodeName,
  192. [in, out] PDNS_HANDLE phRecord,
  193. [in] DWORD dwDataLength,
  194. [in, size_is(dwDataLength)]
  195. BYTE abData[]
  196. );
  197. DNS_STATUS
  198. R_Dns4_DeleteRecord(
  199. [in, unique, string] DNS_SRV_HANDLE hServer,
  200. [in, string] LPCSTR pszNodeName,
  201. [in] DNS_HANDLE hRecord
  202. );
  203. DNS_STATUS
  204. R_Dns4_DeleteName(
  205. [in, unique, string] DNS_SRV_HANDLE hServer,
  206. [in, string] LPCSTR pszNodeName,
  207. [in] DWORD fDeleteSubtree
  208. );
  209. DNS_STATUS
  210. R_Dns4_UpdateWinsRecord(
  211. [in, unique, string] DNS_SRV_HANDLE hServer,
  212. [in] DNS_HANDLE hZone,
  213. [in] DWORD dwDataLength,
  214. [in, size_is(dwDataLength)]
  215. BYTE abData[]
  216. );
  217. }
  218. //
  219. // End of dnssrv4.idl
  220. //