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.

509 lines
14 KiB

  1. /*++
  2. Copyright (c) 1992-1995 Microsoft Corporation
  3. Module Name:
  4. rpcnsi.h
  5. Abstract:
  6. This file contains the types and function definitions to use the
  7. Name Service Independent APIs.
  8. --*/
  9. #ifndef __RPCNSI_H__
  10. #define __RPCNSI_H__
  11. typedef void __RPC_FAR * RPC_NS_HANDLE;
  12. #define RPC_C_NS_SYNTAX_DEFAULT 0
  13. #define RPC_C_NS_SYNTAX_DCE 3
  14. #define RPC_C_PROFILE_DEFAULT_ELT 0
  15. #define RPC_C_PROFILE_ALL_ELT 1
  16. #define RPC_C_PROFILE_MATCH_BY_IF 2
  17. #define RPC_C_PROFILE_MATCH_BY_MBR 3
  18. #define RPC_C_PROFILE_MATCH_BY_BOTH 4
  19. #define RPC_C_NS_DEFAULT_EXP_AGE -1
  20. /* Server APIs */
  21. RPC_STATUS RPC_ENTRY
  22. RpcNsBindingExportA(
  23. IN unsigned long EntryNameSyntax OPTIONAL,
  24. IN unsigned char __RPC_FAR * EntryName,
  25. IN RPC_IF_HANDLE IfSpec OPTIONAL,
  26. IN RPC_BINDING_VECTOR __RPC_FAR * BindingVec OPTIONAL,
  27. IN UUID_VECTOR __RPC_FAR * ObjectUuidVec OPTIONAL
  28. );
  29. RPC_STATUS RPC_ENTRY
  30. RpcNsBindingUnexportA(
  31. IN unsigned long EntryNameSyntax OPTIONAL,
  32. IN unsigned char __RPC_FAR * EntryName,
  33. IN RPC_IF_HANDLE IfSpec OPTIONAL,
  34. IN UUID_VECTOR __RPC_FAR * ObjectUuidVec OPTIONAL
  35. );
  36. #ifdef RPC_UNICODE_SUPPORTED
  37. RPC_STATUS RPC_ENTRY
  38. RpcNsBindingExportW(
  39. IN unsigned long EntryNameSyntax OPTIONAL,
  40. IN unsigned short __RPC_FAR * EntryName,
  41. IN RPC_IF_HANDLE IfSpec OPTIONAL,
  42. IN RPC_BINDING_VECTOR __RPC_FAR * BindingVec OPTIONAL,
  43. IN UUID_VECTOR __RPC_FAR * ObjectUuidVec OPTIONAL
  44. );
  45. RPC_STATUS RPC_ENTRY
  46. RpcNsBindingUnexportW(
  47. IN unsigned long EntryNameSyntax OPTIONAL,
  48. IN unsigned short __RPC_FAR * EntryName,
  49. IN RPC_IF_HANDLE IfSpec OPTIONAL,
  50. IN UUID_VECTOR __RPC_FAR * ObjectUuidVec OPTIONAL
  51. );
  52. #endif
  53. /* Client APIs */
  54. RPC_STATUS RPC_ENTRY
  55. RpcNsBindingLookupBeginA(
  56. IN unsigned long EntryNameSyntax OPTIONAL,
  57. IN unsigned char __RPC_FAR * EntryName OPTIONAL,
  58. IN RPC_IF_HANDLE IfSpec OPTIONAL,
  59. IN UUID __RPC_FAR * ObjUuid OPTIONAL,
  60. IN unsigned long BindingMaxCount OPTIONAL,
  61. OUT RPC_NS_HANDLE __RPC_FAR * LookupContext
  62. );
  63. #ifdef RPC_UNICODE_SUPPORTED
  64. RPC_STATUS RPC_ENTRY
  65. RpcNsBindingLookupBeginW(
  66. IN unsigned long EntryNameSyntax OPTIONAL,
  67. IN unsigned short __RPC_FAR * EntryName OPTIONAL,
  68. IN RPC_IF_HANDLE IfSpec OPTIONAL,
  69. IN UUID __RPC_FAR * ObjUuid OPTIONAL,
  70. IN unsigned long BindingMaxCount OPTIONAL,
  71. OUT RPC_NS_HANDLE __RPC_FAR * LookupContext
  72. );
  73. #endif
  74. RPC_STATUS RPC_ENTRY
  75. RpcNsBindingLookupNext(
  76. IN RPC_NS_HANDLE LookupContext,
  77. OUT RPC_BINDING_VECTOR __RPC_FAR * __RPC_FAR * BindingVec
  78. );
  79. RPC_STATUS RPC_ENTRY
  80. RpcNsBindingLookupDone(
  81. IN OUT RPC_NS_HANDLE __RPC_FAR * LookupContext
  82. );
  83. /* Group APIs */
  84. RPC_STATUS RPC_ENTRY
  85. RpcNsGroupDeleteA(
  86. IN unsigned long GroupNameSyntax OPTIONAL,
  87. IN unsigned char __RPC_FAR * GroupName
  88. );
  89. RPC_STATUS RPC_ENTRY
  90. RpcNsGroupMbrAddA(
  91. IN unsigned long GroupNameSyntax OPTIONAL,
  92. IN unsigned char __RPC_FAR * GroupName,
  93. IN unsigned long MemberNameSyntax OPTIONAL,
  94. IN unsigned char __RPC_FAR * MemberName
  95. );
  96. RPC_STATUS RPC_ENTRY
  97. RpcNsGroupMbrRemoveA(
  98. IN unsigned long GroupNameSyntax OPTIONAL,
  99. IN unsigned char __RPC_FAR * GroupName,
  100. IN unsigned long MemberNameSyntax OPTIONAL,
  101. IN unsigned char __RPC_FAR * MemberName
  102. );
  103. RPC_STATUS RPC_ENTRY
  104. RpcNsGroupMbrInqBeginA(
  105. IN unsigned long GroupNameSyntax OPTIONAL,
  106. IN unsigned char __RPC_FAR * GroupName,
  107. IN unsigned long MemberNameSyntax OPTIONAL,
  108. OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
  109. );
  110. RPC_STATUS RPC_ENTRY
  111. RpcNsGroupMbrInqNextA(
  112. IN RPC_NS_HANDLE InquiryContext,
  113. OUT unsigned char __RPC_FAR * __RPC_FAR * MemberName
  114. );
  115. #ifdef RPC_UNICODE_SUPPORTED
  116. RPC_STATUS RPC_ENTRY
  117. RpcNsGroupDeleteW(
  118. IN unsigned long GroupNameSyntax OPTIONAL,
  119. IN unsigned short __RPC_FAR * GroupName
  120. );
  121. RPC_STATUS RPC_ENTRY
  122. RpcNsGroupMbrAddW(
  123. IN unsigned long GroupNameSyntax OPTIONAL,
  124. IN unsigned short __RPC_FAR * GroupName,
  125. IN unsigned long MemberNameSyntax OPTIONAL,
  126. IN unsigned short __RPC_FAR * MemberName
  127. );
  128. RPC_STATUS RPC_ENTRY
  129. RpcNsGroupMbrRemoveW(
  130. IN unsigned long GroupNameSyntax OPTIONAL,
  131. IN unsigned short __RPC_FAR * GroupName,
  132. IN unsigned long MemberNameSyntax OPTIONAL,
  133. IN unsigned short __RPC_FAR * MemberName
  134. );
  135. RPC_STATUS RPC_ENTRY
  136. RpcNsGroupMbrInqBeginW(
  137. IN unsigned long GroupNameSyntax OPTIONAL,
  138. IN unsigned short __RPC_FAR * GroupName,
  139. IN unsigned long MemberNameSyntax OPTIONAL,
  140. OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
  141. );
  142. RPC_STATUS RPC_ENTRY
  143. RpcNsGroupMbrInqNextW(
  144. IN RPC_NS_HANDLE InquiryContext,
  145. OUT unsigned short __RPC_FAR * __RPC_FAR * MemberName
  146. );
  147. #endif
  148. RPC_STATUS RPC_ENTRY
  149. RpcNsGroupMbrInqDone(
  150. IN OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
  151. );
  152. /* Profile APIs */
  153. RPC_STATUS RPC_ENTRY
  154. RpcNsProfileDeleteA(
  155. IN unsigned long ProfileNameSyntax OPTIONAL,
  156. IN unsigned char __RPC_FAR * ProfileName
  157. );
  158. RPC_STATUS RPC_ENTRY
  159. RpcNsProfileEltAddA(
  160. IN unsigned long ProfileNameSyntax OPTIONAL,
  161. IN unsigned char __RPC_FAR * ProfileName,
  162. IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
  163. IN unsigned long MemberNameSyntax OPTIONAL,
  164. IN unsigned char __RPC_FAR * MemberName,
  165. IN unsigned long Priority,
  166. IN unsigned char __RPC_FAR * Annotation OPTIONAL
  167. );
  168. RPC_STATUS RPC_ENTRY
  169. RpcNsProfileEltRemoveA(
  170. IN unsigned long ProfileNameSyntax OPTIONAL,
  171. IN unsigned char __RPC_FAR * ProfileName,
  172. IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
  173. IN unsigned long MemberNameSyntax OPTIONAL,
  174. IN unsigned char __RPC_FAR * MemberName
  175. );
  176. RPC_STATUS RPC_ENTRY
  177. RpcNsProfileEltInqBeginA(
  178. IN unsigned long ProfileNameSyntax OPTIONAL,
  179. IN unsigned char __RPC_FAR * ProfileName,
  180. IN unsigned long InquiryType,
  181. IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
  182. IN unsigned long VersOption,
  183. IN unsigned long MemberNameSyntax OPTIONAL,
  184. IN unsigned char __RPC_FAR * MemberName OPTIONAL,
  185. OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
  186. );
  187. RPC_STATUS RPC_ENTRY
  188. RpcNsProfileEltInqNextA(
  189. IN RPC_NS_HANDLE InquiryContext,
  190. OUT RPC_IF_ID __RPC_FAR * IfId,
  191. OUT unsigned char __RPC_FAR * __RPC_FAR * MemberName,
  192. OUT unsigned long __RPC_FAR * Priority,
  193. OUT unsigned char __RPC_FAR * __RPC_FAR * Annotation
  194. );
  195. #ifdef RPC_UNICODE_SUPPORTED
  196. RPC_STATUS RPC_ENTRY
  197. RpcNsProfileDeleteW(
  198. IN unsigned long ProfileNameSyntax OPTIONAL,
  199. IN unsigned short __RPC_FAR * ProfileName
  200. );
  201. RPC_STATUS RPC_ENTRY
  202. RpcNsProfileEltAddW(
  203. IN unsigned long ProfileNameSyntax OPTIONAL,
  204. IN unsigned short __RPC_FAR * ProfileName,
  205. IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
  206. IN unsigned long MemberNameSyntax OPTIONAL,
  207. IN unsigned short __RPC_FAR * MemberName,
  208. IN unsigned long Priority,
  209. IN unsigned short __RPC_FAR * Annotation OPTIONAL
  210. );
  211. RPC_STATUS RPC_ENTRY
  212. RpcNsProfileEltRemoveW(
  213. IN unsigned long ProfileNameSyntax OPTIONAL,
  214. IN unsigned short __RPC_FAR * ProfileName,
  215. IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
  216. IN unsigned long MemberNameSyntax OPTIONAL,
  217. IN unsigned short __RPC_FAR * MemberName
  218. );
  219. RPC_STATUS RPC_ENTRY
  220. RpcNsProfileEltInqBeginW(
  221. IN unsigned long ProfileNameSyntax OPTIONAL,
  222. IN unsigned short __RPC_FAR * ProfileName,
  223. IN unsigned long InquiryType,
  224. IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
  225. IN unsigned long VersOption,
  226. IN unsigned long MemberNameSyntax OPTIONAL,
  227. IN unsigned short __RPC_FAR * MemberName OPTIONAL,
  228. OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
  229. );
  230. RPC_STATUS RPC_ENTRY
  231. RpcNsProfileEltInqNextW(
  232. IN RPC_NS_HANDLE InquiryContext,
  233. OUT RPC_IF_ID __RPC_FAR * IfId,
  234. OUT unsigned short __RPC_FAR * __RPC_FAR * MemberName,
  235. OUT unsigned long __RPC_FAR * Priority,
  236. OUT unsigned short __RPC_FAR * __RPC_FAR * Annotation
  237. );
  238. #endif
  239. RPC_STATUS RPC_ENTRY
  240. RpcNsProfileEltInqDone(
  241. IN OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
  242. );
  243. /* Entry object APIs */
  244. RPC_STATUS RPC_ENTRY
  245. RpcNsEntryObjectInqBeginA(
  246. IN unsigned long EntryNameSyntax OPTIONAL,
  247. IN unsigned char __RPC_FAR * EntryName,
  248. OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
  249. );
  250. #ifdef RPC_UNICODE_SUPPORTED
  251. RPC_STATUS RPC_ENTRY
  252. RpcNsEntryObjectInqBeginW(
  253. IN unsigned long EntryNameSyntax OPTIONAL,
  254. IN unsigned short __RPC_FAR * EntryName,
  255. OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
  256. );
  257. #endif
  258. RPC_STATUS RPC_ENTRY
  259. RpcNsEntryObjectInqNext(
  260. IN RPC_NS_HANDLE InquiryContext,
  261. OUT UUID __RPC_FAR * ObjUuid
  262. );
  263. RPC_STATUS RPC_ENTRY
  264. RpcNsEntryObjectInqDone(
  265. IN OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
  266. );
  267. /* Management and MISC APIs */
  268. RPC_STATUS RPC_ENTRY
  269. RpcNsEntryExpandNameA(
  270. IN unsigned long EntryNameSyntax OPTIONAL,
  271. IN unsigned char __RPC_FAR * EntryName,
  272. OUT unsigned char __RPC_FAR * __RPC_FAR * ExpandedName
  273. );
  274. RPC_STATUS RPC_ENTRY
  275. RpcNsMgmtBindingUnexportA(
  276. IN unsigned long EntryNameSyntax OPTIONAL,
  277. IN unsigned char __RPC_FAR * EntryName,
  278. IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
  279. IN unsigned long VersOption,
  280. IN UUID_VECTOR __RPC_FAR * ObjectUuidVec OPTIONAL
  281. );
  282. RPC_STATUS RPC_ENTRY
  283. RpcNsMgmtEntryCreateA(
  284. IN unsigned long EntryNameSyntax OPTIONAL,
  285. IN unsigned char __RPC_FAR * EntryName
  286. );
  287. RPC_STATUS RPC_ENTRY
  288. RpcNsMgmtEntryDeleteA(
  289. IN unsigned long EntryNameSyntax OPTIONAL,
  290. IN unsigned char __RPC_FAR * EntryName
  291. );
  292. RPC_STATUS RPC_ENTRY
  293. RpcNsMgmtEntryInqIfIdsA(
  294. IN unsigned long EntryNameSyntax OPTIONAL,
  295. IN unsigned char __RPC_FAR * EntryName,
  296. OUT RPC_IF_ID_VECTOR __RPC_FAR * __RPC_FAR * IfIdVec
  297. );
  298. RPC_STATUS RPC_ENTRY
  299. RpcNsMgmtHandleSetExpAge(
  300. IN RPC_NS_HANDLE NsHandle,
  301. IN unsigned long ExpirationAge
  302. );
  303. RPC_STATUS RPC_ENTRY
  304. RpcNsMgmtInqExpAge(
  305. OUT unsigned long __RPC_FAR * ExpirationAge
  306. );
  307. RPC_STATUS RPC_ENTRY
  308. RpcNsMgmtSetExpAge(
  309. IN unsigned long ExpirationAge
  310. );
  311. #ifdef RPC_UNICODE_SUPPORTED
  312. RPC_STATUS RPC_ENTRY
  313. RpcNsEntryExpandNameW(
  314. IN unsigned long EntryNameSyntax OPTIONAL,
  315. IN unsigned short __RPC_FAR * EntryName,
  316. OUT unsigned short __RPC_FAR * __RPC_FAR * ExpandedName
  317. );
  318. RPC_STATUS RPC_ENTRY
  319. RpcNsMgmtBindingUnexportW(
  320. IN unsigned long EntryNameSyntax OPTIONAL,
  321. IN unsigned short __RPC_FAR * EntryName,
  322. IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
  323. IN unsigned long VersOption,
  324. IN UUID_VECTOR __RPC_FAR * ObjectUuidVec OPTIONAL
  325. );
  326. RPC_STATUS RPC_ENTRY
  327. RpcNsMgmtEntryCreateW(
  328. IN unsigned long EntryNameSyntax OPTIONAL,
  329. IN unsigned short __RPC_FAR * EntryName
  330. );
  331. RPC_STATUS RPC_ENTRY
  332. RpcNsMgmtEntryDeleteW(
  333. IN unsigned long EntryNameSyntax OPTIONAL,
  334. IN unsigned short __RPC_FAR * EntryName
  335. );
  336. RPC_STATUS RPC_ENTRY
  337. RpcNsMgmtEntryInqIfIdsW(
  338. IN unsigned long EntryNameSyntax OPTIONAL,
  339. IN unsigned short __RPC_FAR * EntryName,
  340. OUT RPC_IF_ID_VECTOR __RPC_FAR * __RPC_FAR * IfIdVec
  341. );
  342. #endif
  343. /* Client API's implemented in wrappers. */
  344. RPC_STATUS RPC_ENTRY
  345. RpcNsBindingImportBeginA(
  346. IN unsigned long EntryNameSyntax OPTIONAL,
  347. IN unsigned char __RPC_FAR * EntryName OPTIONAL,
  348. IN RPC_IF_HANDLE IfSpec OPTIONAL,
  349. IN UUID __RPC_FAR * ObjUuid OPTIONAL,
  350. OUT RPC_NS_HANDLE __RPC_FAR * ImportContext
  351. );
  352. #ifdef RPC_UNICODE_SUPPORTED
  353. RPC_STATUS RPC_ENTRY
  354. RpcNsBindingImportBeginW(
  355. IN unsigned long EntryNameSyntax OPTIONAL,
  356. IN unsigned short __RPC_FAR * EntryName OPTIONAL,
  357. IN RPC_IF_HANDLE IfSpec OPTIONAL,
  358. IN UUID __RPC_FAR * ObjUuid OPTIONAL,
  359. OUT RPC_NS_HANDLE __RPC_FAR * ImportContext
  360. );
  361. #endif
  362. RPC_STATUS RPC_ENTRY
  363. RpcNsBindingImportNext(
  364. IN RPC_NS_HANDLE ImportContext,
  365. OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
  366. );
  367. RPC_STATUS RPC_ENTRY
  368. RpcNsBindingImportDone(
  369. IN OUT RPC_NS_HANDLE __RPC_FAR * ImportContext
  370. );
  371. RPC_STATUS RPC_ENTRY
  372. RpcNsBindingSelect(
  373. IN OUT RPC_BINDING_VECTOR __RPC_FAR * BindingVec,
  374. OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
  375. );
  376. #ifdef UNICODE
  377. #define RpcNsBindingLookupBegin RpcNsBindingLookupBeginW
  378. #define RpcNsBindingImportBegin RpcNsBindingImportBeginW
  379. #define RpcNsBindingExport RpcNsBindingExportW
  380. #define RpcNsBindingUnexport RpcNsBindingUnexportW
  381. #define RpcNsGroupDelete RpcNsGroupDeleteW
  382. #define RpcNsGroupMbrAdd RpcNsGroupMbrAddW
  383. #define RpcNsGroupMbrRemove RpcNsGroupMbrRemoveW
  384. #define RpcNsGroupMbrInqBegin RpcNsGroupMbrInqBeginW
  385. #define RpcNsGroupMbrInqNext RpcNsGroupMbrInqNextW
  386. #define RpcNsEntryExpandName RpcNsEntryExpandNameW
  387. #define RpcNsEntryObjectInqBegin RpcNsEntryObjectInqBeginW
  388. #define RpcNsMgmtBindingUnexport RpcNsMgmtBindingUnexportW
  389. #define RpcNsMgmtEntryCreate RpcNsMgmtEntryCreateW
  390. #define RpcNsMgmtEntryDelete RpcNsMgmtEntryDeleteW
  391. #define RpcNsMgmtEntryInqIfIds RpcNsMgmtEntryInqIfIdsW
  392. #define RpcNsProfileDelete RpcNsProfileDeleteW
  393. #define RpcNsProfileEltAdd RpcNsProfileEltAddW
  394. #define RpcNsProfileEltRemove RpcNsProfileEltRemoveW
  395. #define RpcNsProfileEltInqBegin RpcNsProfileEltInqBeginW
  396. #define RpcNsProfileEltInqNext RpcNsProfileEltInqNextW
  397. #else
  398. #define RpcNsBindingLookupBegin RpcNsBindingLookupBeginA
  399. #define RpcNsBindingImportBegin RpcNsBindingImportBeginA
  400. #define RpcNsBindingExport RpcNsBindingExportA
  401. #define RpcNsBindingUnexport RpcNsBindingUnexportA
  402. #define RpcNsGroupDelete RpcNsGroupDeleteA
  403. #define RpcNsGroupMbrAdd RpcNsGroupMbrAddA
  404. #define RpcNsGroupMbrRemove RpcNsGroupMbrRemoveA
  405. #define RpcNsGroupMbrInqBegin RpcNsGroupMbrInqBeginA
  406. #define RpcNsGroupMbrInqNext RpcNsGroupMbrInqNextA
  407. #define RpcNsEntryExpandName RpcNsEntryExpandNameA
  408. #define RpcNsEntryObjectInqBegin RpcNsEntryObjectInqBeginA
  409. #define RpcNsMgmtBindingUnexport RpcNsMgmtBindingUnexportA
  410. #define RpcNsMgmtEntryCreate RpcNsMgmtEntryCreateA
  411. #define RpcNsMgmtEntryDelete RpcNsMgmtEntryDeleteA
  412. #define RpcNsMgmtEntryInqIfIds RpcNsMgmtEntryInqIfIdsA
  413. #define RpcNsProfileDelete RpcNsProfileDeleteA
  414. #define RpcNsProfileEltAdd RpcNsProfileEltAddA
  415. #define RpcNsProfileEltRemove RpcNsProfileEltRemoveA
  416. #define RpcNsProfileEltInqBegin RpcNsProfileEltInqBeginA
  417. #define RpcNsProfileEltInqNext RpcNsProfileEltInqNextA
  418. #endif /* UNICODE */
  419. #endif /* __RPCNSI_H__ */