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.

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