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.

354 lines
9.6 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1997 - 1999
  6. //
  7. // File: nsimgm.idl
  8. //
  9. //--------------------------------------------------------------------------
  10. [
  11. uuid (d6d70ef0-0e3b-11cb-acc3-08002b1d29c4),
  12. version (1.0),
  13. pointer_default (unique)
  14. ]
  15. interface NsiM
  16. {
  17. import"nsicom.idl";
  18. cpp_quote("//")
  19. cpp_quote("// The maximum size, in bytes, of incoming data for methods in the interface.")
  20. cpp_quote("//")
  21. cpp_quote("#define NsiM_MaxRpcSize (4*1024)")
  22. /*
  23. * N S I _ G R O U P _ D E L E T E
  24. *
  25. * Remove a group attribute from a name service entry.
  26. */
  27. void nsi_group_delete
  28. (
  29. [in] UNSIGNED32 group_name_syntax,
  30. [in] STRING_T group_name,
  31. [out] UNSIGNED16 * status
  32. );
  33. /*
  34. * N S I _ G R O U P _ M B R _ A D D
  35. *
  36. * Add a an entry name to a group, if necessary, create the group.
  37. */
  38. void nsi_group_mbr_add
  39. (
  40. [in] UNSIGNED32 group_name_syntax,
  41. [in] STRING_T group_name,
  42. [in] UNSIGNED32 member_name_syntax,
  43. [in] STRING_T member_name,
  44. [out] UNSIGNED16 * status
  45. );
  46. /*
  47. * N S I _ G R O U P _ M B R _ R E M O V E
  48. *
  49. * Delete a an entry name to a group.
  50. */
  51. void nsi_group_mbr_remove
  52. (
  53. [in] UNSIGNED32 group_name_syntax,
  54. [in] STRING_T group_name,
  55. [in] UNSIGNED32 member_name_syntax,
  56. [in] STRING_T member_name,
  57. [out] UNSIGNED16 * status
  58. );
  59. /*
  60. * N S I _ G R O U P _ M B R _ I N Q _ B E G I N
  61. *
  62. * Create an inquiry context for an group with a certain name syntax..
  63. */
  64. void nsi_group_mbr_inq_begin
  65. (
  66. #ifdef __CLIENT__ // workaround for midl bug.
  67. [in] handle_t function_explicit_handle,
  68. #endif
  69. [in] UNSIGNED32 group_name_syntax,
  70. [in] STRING_T group_name,
  71. [in] UNSIGNED32 member_name_syntax,
  72. [out] NSI_NS_HANDLE_T * inq_context,
  73. [out] UNSIGNED16 * status
  74. );
  75. /*
  76. * N S I _ G R O U P _ M B R _ I N Q _ N E X T
  77. *
  78. * Return the next group member in name service group.
  79. */
  80. void nsi_group_mbr_inq_next
  81. (
  82. [in] NSI_NS_HANDLE_T inq_context,
  83. [out] STRING_T * member_name,
  84. [out] UNSIGNED16 * status
  85. );
  86. /*
  87. * N S I _ G R O U P _ M B R _ I N Q _ D O N E
  88. *
  89. * Delete a inquiry context for a group.
  90. */
  91. void nsi_group_mbr_inq_done
  92. (
  93. [in,out] NSI_NS_HANDLE_T * inq_context,
  94. [out] UNSIGNED16 * status
  95. );
  96. /*
  97. * N S I _ P R O F I L E _ D E L E T E
  98. *
  99. * Remove a profile attribute from a name service entry.
  100. */
  101. void nsi_profile_delete
  102. (
  103. [in] UNSIGNED32 profile_name_syntax,
  104. [in] STRING_T profile_name,
  105. [out] UNSIGNED16 * status
  106. );
  107. /*
  108. * N S I _ P R O F I L E _ E L T _ A D D
  109. *
  110. * Add a an entry name to a profile, if necessary, create the profile.
  111. */
  112. void nsi_profile_elt_add
  113. (
  114. [in] UNSIGNED32 profile_name_syntax,
  115. [in] STRING_T profile_name,
  116. [in] NSI_IF_ID_P_T if_id,
  117. [in] UNSIGNED32 member_name_syntax,
  118. [in] STRING_T member_name,
  119. [in] UNSIGNED32 priority,
  120. [in] STRING_T annotation,
  121. [out] UNSIGNED16 * status
  122. );
  123. /*
  124. * N S I _ P R O F I L E _ E L T _ R E M O V E
  125. *
  126. * Delete a an entry name to a profile.
  127. */
  128. void nsi_profile_elt_remove
  129. (
  130. [in] UNSIGNED32 profile_name_syntax,
  131. [in] STRING_T profile_name,
  132. [in] NSI_IF_ID_P_T if_id,
  133. [in] UNSIGNED32 member_name_syntax,
  134. [in] STRING_T member_name,
  135. [out] UNSIGNED16 * status
  136. );
  137. /*
  138. * N S I _ P R O F I L E _ E L T _ I N Q _ B E G I N
  139. *
  140. * Create an inquiry context for an profile with a certain name syntax..
  141. */
  142. void nsi_profile_elt_inq_begin
  143. (
  144. #ifdef __CLIENT__ // workaround for midl bug.
  145. [in] handle_t function_explicit_handle,
  146. #endif
  147. [in] UNSIGNED32 profile_name_syntax,
  148. [in] STRING_T profile_name,
  149. [in] UNSIGNED32 inquiry_type,
  150. [in] NSI_IF_ID_P_T if_id,
  151. [in] UNSIGNED32 vers_option,
  152. [in] UNSIGNED32 member_name_syntax,
  153. [in] STRING_T member_name,
  154. [out] NSI_NS_HANDLE_T * inq_context,
  155. [out] UNSIGNED16 * status
  156. );
  157. /*
  158. * N S I _ P R O F I L E _ E L T _ I N Q _ N E X T
  159. *
  160. * Return the next profile member in name service profile.
  161. */
  162. void nsi_profile_elt_inq_next
  163. (
  164. [in] NSI_NS_HANDLE_T inq_context,
  165. [in,out] NSI_IF_ID_P_T if_id,
  166. [out] STRING_T * member_name,
  167. [out] UNSIGNED32 * priority,
  168. [out] STRING_T * annotation,
  169. [out] UNSIGNED16 * status
  170. );
  171. /*
  172. * N S I _ P R O F I L E _ E L T _ I N Q _ D O N E
  173. *
  174. * Delete a inquiry context for a profile.
  175. */
  176. void nsi_profile_elt_inq_done
  177. (
  178. [in,out] NSI_NS_HANDLE_T * inq_context,
  179. [out] UNSIGNED16 * status
  180. );
  181. /*
  182. * N S I _ E N T R Y _ O B J E C T _ B E G I N
  183. *
  184. * Create an inquiry context for an server entry's object UUIDs.
  185. */
  186. void nsi_entry_object_inq_begin
  187. (
  188. #ifdef __CLIENT__ // workaround for midl bug.
  189. [in] handle_t function_explicit_handle,
  190. #endif
  191. [in] UNSIGNED32 entry_name_syntax,
  192. [in] STRING_T entry_name,
  193. [out] NSI_NS_HANDLE_T * inq_context,
  194. [out] UNSIGNED16 * status
  195. );
  196. /*
  197. * N S I _ E N T R Y _ O B J E C T _ I N Q _ N E X T
  198. *
  199. * Return the object UUID in a server entry.
  200. */
  201. void nsi_entry_object_inq_next
  202. (
  203. [in] NSI_NS_HANDLE_T inq_context,
  204. [in, out] NSI_UUID_P_T uuid,
  205. [out] UNSIGNED16 * status
  206. );
  207. /*
  208. * N S I _ E N T R Y _ O B J E C T _ I N Q _ D O N E
  209. *
  210. * Delete a inquiry context for a server entry's objects.
  211. */
  212. void nsi_entry_object_inq_done
  213. (
  214. [in,out] NSI_NS_HANDLE_T * inq_context,
  215. [out] UNSIGNED16 * status
  216. );
  217. /*
  218. * N S I _ E N T R Y _ E X P A N D _ N A M E
  219. *
  220. * Expand a cell relative name into a global one.
  221. */
  222. void nsi_entry_expand_name
  223. (
  224. [in] UNSIGNED32 entry_name_syntax,
  225. [in] STRING_T entry_name,
  226. [out] STRING_T * expanded_name,
  227. [out] UNSIGNED16 * status
  228. );
  229. /*
  230. * N S I _ M G M T _ B I N D I N G _ U N E X P O R T
  231. *
  232. * Remove interfaces and/or objects from a given server entry.
  233. */
  234. void nsi_mgmt_binding_unexport
  235. (
  236. [in] UNSIGNED32 entry_name_syntax,
  237. [in] STRING_T entry_name,
  238. [in] NSI_IF_ID_P_T if_id,
  239. [in] UNSIGNED32 vers_option,
  240. [in] NSI_UUID_VECTOR_P_T object_uuid_vec,
  241. [out] UNSIGNED16 * status
  242. );
  243. /*
  244. * N S I _ M G M T _ E N T R Y _ D E L E T E
  245. *
  246. * Delete a server/group/profile name service entry.
  247. */
  248. void nsi_mgmt_entry_delete
  249. (
  250. [in] UNSIGNED32 entry_name_syntax,
  251. [in] STRING_T entry_name,
  252. [out] UNSIGNED16 * status
  253. );
  254. /*
  255. * N S I _ M G M T _ E N T R Y _ C R E A T E
  256. *
  257. * Create a name service entry.
  258. */
  259. void nsi_mgmt_entry_create
  260. (
  261. [in] UNSIGNED32 entry_name_syntax,
  262. [in] STRING_T entry_name,
  263. [out] UNSIGNED16 * status
  264. );
  265. /*
  266. * N S I _ M G M T _ E N T R Y _ I N Q _ I F D S
  267. *
  268. * Inquiry the interfaces at a given name service entry.
  269. */
  270. void nsi_mgmt_entry_inq_if_ids
  271. (
  272. [in] UNSIGNED32 entry_name_syntax,
  273. [in] STRING_T entry_name,
  274. [out] NSI_IF_ID_VECTOR_T ** if_id_vec,
  275. [out] UNSIGNED16 * status
  276. );
  277. /*
  278. * N S I _ M G M T _ I N Q _ E X P _ A G E
  279. *
  280. * Inquiry the global age of entries cached.
  281. */
  282. void nsi_mgmt_inq_exp_age
  283. (
  284. [out] UNSIGNED32 * expiration_age,
  285. [out] UNSIGNED16 * status
  286. );
  287. /*
  288. * N S I _ M G M T _ I N Q _ S E T _ A G E
  289. *
  290. * Set the global age of entries cached.
  291. */
  292. void nsi_mgmt_inq_set_age
  293. (
  294. [in] UNSIGNED32 expiration_age,
  295. [out] UNSIGNED16 * status
  296. );
  297. }