|
|
1.1 root 1: /*++
2:
3: Copyright (c) 1992 Microsoft Corporation
4:
5: Module Name:
6:
7: rocnsi.h
8:
9: Abstract:
10:
11: This file contains the types and function definitions to use the
12: Name Service Independent APIs.
13:
14: Author:
15:
16: Steven Zeck (stevez) 03/09/92
17:
18: --*/
19:
20: #ifndef __RPCNSI_H__
21: #define __RPCNSI_H__
22:
23: typedef void PAPI * RPC_NS_HANDLE;
24:
25: typedef struct
26: {
27: unsigned long Count;
28: RPC_IF_ID PAPI * IfHandle[1];
29: } RPC_IF_ID_VECTOR;
30:
31: #define RPC_C_NS_SYNTAX_DEFAULT 0
32: #define RPC_C_NS_SYNTAX_DCE 1
33:
34: #define RPC_C_VERS_ALL 0
35: #define RPC_C_VERS_COMPATIBLE 1
36: #define RPC_C_VERS_EXACT 2
37: #define RPC_C_VERS_MAJOR_ONLY 3
38: #define RPC_C_VERS_VERS_UPTO 4
39:
40: #define RPC_C_PROFILE_DEFAULT_ELT 0
41: #define RPC_C_PROFILE_ALL_ELT 1
42: #define RPC_C_PROFILE_MATCH_BY_IF 2
43: #define RPC_C_PROFILE_MATCH_BY_MBR 3
44: #define RPC_C_PROFILE_MATCH_BY_BOTH 4
45:
46: #define RPC_C_NS_DEFAULT_EXP_AGE -1
47:
48: /* Server APIs */
49:
50: RPC_STATUS RPC_ENTRY
51: RpcNsBindingExportA(
52: IN unsigned long EntryNameSyntax OPTIONAL,
53: IN unsigned char PAPI * EntryName,
54: IN RPC_IF_HANDLE IfSpec OPTIONAL,
55: IN RPC_BINDING_VECTOR PAPI * BindingVec OPTIONAL,
56: IN UUID_VECTOR PAPI * ObjectUuidVec OPTIONAL
57: );
58:
59:
60: RPC_STATUS RPC_ENTRY
61: RpcNsBindingUnexportA(
62: IN unsigned long EntryNameSyntax OPTIONAL,
63: IN unsigned char PAPI * EntryName,
64: IN RPC_IF_HANDLE IfSpec OPTIONAL,
65: IN UUID_VECTOR PAPI * ObjectUuidVec OPTIONAL
66: );
67:
68: #ifdef RPC_UNICODE_SUPPORTED
69:
70: RPC_STATUS RPC_ENTRY
71: RpcNsBindingExportW(
72: IN unsigned long EntryNameSyntax OPTIONAL,
73: IN unsigned short PAPI * EntryName,
74: IN RPC_IF_HANDLE IfSpec OPTIONAL,
75: IN RPC_BINDING_VECTOR PAPI * BindingVec OPTIONAL,
76: IN UUID_VECTOR PAPI * ObjectUuidVec OPTIONAL
77: );
78:
79: RPC_STATUS RPC_ENTRY
80: RpcNsBindingUnexportW(
81: IN unsigned long EntryNameSyntax OPTIONAL,
82: IN unsigned short PAPI * EntryName,
83: IN RPC_IF_HANDLE IfSpec OPTIONAL,
84: IN UUID_VECTOR PAPI * ObjectUuidVec OPTIONAL
85: );
86:
87: #endif
88:
89: /* Client APIs */
90:
91: RPC_STATUS RPC_ENTRY
92: RpcNsBindingLookupBeginA(
93: IN unsigned long EntryNameSyntax OPTIONAL,
94: IN unsigned char PAPI * EntryName OPTIONAL,
95: IN RPC_IF_HANDLE IfSpec OPTIONAL,
96: IN UUID PAPI * ObjUuid OPTIONAL,
97: IN unsigned long BindingMaxCount OPTIONAL,
98: OUT RPC_NS_HANDLE PAPI * LookupContext
99: );
100:
101: #ifdef RPC_UNICODE_SUPPORTED
102:
103: RPC_STATUS RPC_ENTRY
104: RpcNsBindingLookupBeginW(
105: IN unsigned long EntryNameSyntax OPTIONAL,
106: IN unsigned short PAPI * EntryName OPTIONAL,
107: IN RPC_IF_HANDLE IfSpec OPTIONAL,
108: IN UUID PAPI * ObjUuid OPTIONAL,
109: IN unsigned long BindingMaxCount OPTIONAL,
110: OUT RPC_NS_HANDLE PAPI * LookupContext
111: );
112: #endif
113:
114: RPC_STATUS RPC_ENTRY
115: RpcNsBindingLookupNext(
116: IN RPC_NS_HANDLE LookupContext,
117: OUT RPC_BINDING_VECTOR PAPI * PAPI * BindingVec
118: );
119:
120: RPC_STATUS RPC_ENTRY
121: RpcNsBindingLookupDone(
122: IN OUT RPC_NS_HANDLE PAPI * LookupContext
123: );
124:
125: /* Group APIs */
126:
127: RPC_STATUS RPC_ENTRY
128: RpcNsGroupDeleteA(
129: IN unsigned long GroupNameSyntax OPTIONAL,
130: IN unsigned char PAPI * GroupName
131: );
132:
133: RPC_STATUS RPC_ENTRY
134: RpcNsGroupMbrAddA(
135: IN unsigned long GroupNameSyntax OPTIONAL,
136: IN unsigned char PAPI * GroupName,
137: IN unsigned long MemberNameSyntax OPTIONAL,
138: IN unsigned char PAPI * MemberName
139: );
140:
141: RPC_STATUS RPC_ENTRY
142: RpcNsGroupMbrRemoveA(
143: IN unsigned long GroupNameSyntax OPTIONAL,
144: IN unsigned char PAPI * GroupName,
145: IN unsigned long MemberNameSyntax OPTIONAL,
146: IN unsigned char PAPI * MemberName
147: );
148:
149: RPC_STATUS RPC_ENTRY
150: RpcNsGroupMbrInqBeginA(
151: IN unsigned long GroupNameSyntax OPTIONAL,
152: IN unsigned char PAPI * GroupName,
153: IN unsigned long MemberNameSyntax OPTIONAL,
154: OUT RPC_NS_HANDLE PAPI * InquiryContext
155: );
156:
157: RPC_STATUS RPC_ENTRY
158: RpcNsGroupMbrInqNextA(
159: IN RPC_NS_HANDLE InquiryContext,
160: OUT unsigned char PAPI * PAPI * MemberName
161: );
162:
163: #ifdef RPC_UNICODE_SUPPORTED
164:
165: RPC_STATUS RPC_ENTRY
166: RpcNsGroupDeleteW(
167: IN unsigned long GroupNameSyntax OPTIONAL,
168: IN unsigned short PAPI * GroupName
169: );
170:
171: RPC_STATUS RPC_ENTRY
172: RpcNsGroupMbrAddW(
173: IN unsigned long GroupNameSyntax OPTIONAL,
174: IN unsigned short PAPI * GroupName,
175: IN unsigned long MemberNameSyntax OPTIONAL,
176: IN unsigned short PAPI * MemberName
177: );
178:
179: RPC_STATUS RPC_ENTRY
180: RpcNsGroupMbrRemoveW(
181: IN unsigned long GroupNameSyntax OPTIONAL,
182: IN unsigned short PAPI * GroupName,
183: IN unsigned long MemberNameSyntax OPTIONAL,
184: IN unsigned short PAPI * MemberName
185: );
186:
187: RPC_STATUS RPC_ENTRY
188: RpcNsGroupMbrInqBeginW(
189: IN unsigned long GroupNameSyntax OPTIONAL,
190: IN unsigned short PAPI * GroupName,
191: IN unsigned long MemberNameSyntax OPTIONAL,
192: OUT RPC_NS_HANDLE PAPI * InquiryContext
193: );
194:
195: RPC_STATUS RPC_ENTRY
196: RpcNsGroupMbrInqNextW(
197: IN RPC_NS_HANDLE InquiryContext,
198: OUT unsigned short PAPI * PAPI * MemberName
199: );
200:
201: #endif
202:
203: RPC_STATUS RPC_ENTRY
204: RpcNsGroupMbrInqDone(
205: IN OUT RPC_NS_HANDLE PAPI * InquiryContext
206: );
207:
208: /* Profile APIs */
209:
210: RPC_STATUS RPC_ENTRY
211: RpcNsProfileDeleteA(
212: IN unsigned long ProfileNameSyntax OPTIONAL,
213: IN unsigned char PAPI * ProfileName
214: );
215:
216: RPC_STATUS RPC_ENTRY
217: RpcNsProfileEltAddA(
218: IN unsigned long ProfileNameSyntax OPTIONAL,
219: IN unsigned char PAPI * ProfileName,
220: IN RPC_IF_ID PAPI * IfId OPTIONAL,
221: IN unsigned long MemberNameSyntax OPTIONAL,
222: IN unsigned char PAPI * MemberName,
223: IN unsigned long Priority,
224: IN unsigned char PAPI * Annotation OPTIONAL
225: );
226:
227: RPC_STATUS RPC_ENTRY
228: RpcNsProfileEltRemoveA(
229: IN unsigned long ProfileNameSyntax OPTIONAL,
230: IN unsigned char PAPI * ProfileName,
231: IN RPC_IF_ID PAPI * IfId OPTIONAL,
232: IN unsigned long MemberNameSyntax OPTIONAL,
233: IN unsigned char PAPI * MemberName
234: );
235:
236: RPC_STATUS RPC_ENTRY
237: RpcNsProfileEltInqBeginA(
238: IN unsigned long ProfileNameSyntax OPTIONAL,
239: IN unsigned char PAPI * ProfileName,
240: IN unsigned long InquiryType,
241: IN RPC_IF_ID PAPI * IfId OPTIONAL,
242: IN unsigned long VersOption,
243: IN unsigned long MemberNameSyntax OPTIONAL,
244: IN unsigned char PAPI * MemberName OPTIONAL,
245: OUT RPC_NS_HANDLE PAPI * InquiryContext
246: );
247:
248: RPC_STATUS RPC_ENTRY
249: RpcNsProfileEltInqNextA(
250: IN RPC_NS_HANDLE InquiryContext,
251: OUT RPC_IF_ID PAPI * IfId,
252: OUT unsigned char PAPI * PAPI * MemberName,
253: OUT unsigned long PAPI * Priority,
254: OUT unsigned char PAPI * PAPI * Annotation
255: );
256:
257: #ifdef RPC_UNICODE_SUPPORTED
258:
259: RPC_STATUS RPC_ENTRY
260: RpcNsProfileDeleteW(
261: IN unsigned long ProfileNameSyntax OPTIONAL,
262: IN unsigned short PAPI * ProfileName
263: );
264:
265: RPC_STATUS RPC_ENTRY
266: RpcNsProfileEltAddW(
267: IN unsigned long ProfileNameSyntax OPTIONAL,
268: IN unsigned short PAPI * ProfileName,
269: IN RPC_IF_ID PAPI * IfId OPTIONAL,
270: IN unsigned long MemberNameSyntax OPTIONAL,
271: IN unsigned short PAPI * MemberName,
272: IN unsigned long Priority,
273: IN unsigned short PAPI * Annotation OPTIONAL
274: );
275:
276: RPC_STATUS RPC_ENTRY
277: RpcNsProfileEltRemoveW(
278: IN unsigned long ProfileNameSyntax OPTIONAL,
279: IN unsigned short PAPI * ProfileName,
280: IN RPC_IF_ID PAPI * IfId OPTIONAL,
281: IN unsigned long MemberNameSyntax OPTIONAL,
282: IN unsigned short PAPI * MemberName
283: );
284:
285: RPC_STATUS RPC_ENTRY
286: RpcNsProfileEltInqBeginW(
287: IN unsigned long ProfileNameSyntax OPTIONAL,
288: IN unsigned short PAPI * ProfileName,
289: IN unsigned long InquiryType,
290: IN RPC_IF_ID PAPI * IfId OPTIONAL,
291: IN unsigned long VersOption,
292: IN unsigned long MemberNameSyntax OPTIONAL,
293: IN unsigned short PAPI * MemberName OPTIONAL,
294: OUT RPC_NS_HANDLE PAPI * InquiryContext
295: );
296:
297: RPC_STATUS RPC_ENTRY
298: RpcNsProfileEltInqNextW(
299: IN RPC_NS_HANDLE InquiryContext,
300: OUT RPC_IF_ID PAPI * IfId,
301: OUT unsigned short PAPI * PAPI * MemberName,
302: OUT unsigned long PAPI * Priority,
303: OUT unsigned short PAPI * PAPI * Annotation
304: );
305:
306: #endif
307:
308: RPC_STATUS RPC_ENTRY
309: RpcNsProfileEltInqDone(
310: IN OUT RPC_NS_HANDLE PAPI * InquiryContext
311: );
312:
313: /* Entry object APIs */
314:
315: RPC_STATUS RPC_ENTRY
316: RpcNsEntryObjectInqBeginA(
317: IN unsigned long EntryNameSyntax OPTIONAL,
318: IN unsigned char PAPI * EntryName,
319: OUT RPC_NS_HANDLE PAPI * InquiryContext
320: );
321:
322: #ifdef RPC_UNICODE_SUPPORTED
323:
324: RPC_STATUS RPC_ENTRY
325: RpcNsEntryObjectInqBeginW(
326: IN unsigned long EntryNameSyntax OPTIONAL,
327: IN unsigned short PAPI * EntryName,
328: OUT RPC_NS_HANDLE PAPI * InquiryContext
329: );
330:
331: #endif
332:
333: RPC_STATUS RPC_ENTRY
334: RpcNsEntryObjectInqNext(
335: IN RPC_NS_HANDLE InquiryContext,
336: OUT UUID PAPI * ObjUuid
337: );
338:
339: RPC_STATUS RPC_ENTRY
340: RpcNsEntryObjectInqDone(
341: IN OUT RPC_NS_HANDLE PAPI * InquiryContext
342: );
343:
344: /* Management and MISC APIs */
345:
346: RPC_STATUS RPC_ENTRY
347: RpcNsEntryExpandNameA(
348: IN unsigned long EntryNameSyntax OPTIONAL,
349: IN unsigned char PAPI * EntryName,
350: OUT unsigned char PAPI * PAPI * ExpandedName
351: );
352:
353: RPC_STATUS RPC_ENTRY
354: RpcNsMgmtBindingUnexportA(
355: IN unsigned long EntryNameSyntax OPTIONAL,
356: IN unsigned char PAPI * EntryName,
357: IN RPC_IF_ID PAPI * IfId OPTIONAL,
358: IN unsigned long VersOption,
359: IN UUID_VECTOR PAPI * ObjectUuidVec OPTIONAL
360: );
361:
362: RPC_STATUS RPC_ENTRY
363: RpcNsMgmtEntryCreateA(
364: IN unsigned long EntryNameSyntax OPTIONAL,
365: IN unsigned char PAPI * EntryName
366: );
367:
368: RPC_STATUS RPC_ENTRY
369: RpcNsMgmtEntryDeleteA(
370: IN unsigned long EntryNameSyntax OPTIONAL,
371: IN unsigned char PAPI * EntryName
372: );
373:
374: RPC_STATUS RPC_ENTRY
375: RpcNsMgmtEntryInqIfIdsA(
376: IN unsigned long EntryNameSyntax OPTIONAL,
377: IN unsigned char PAPI * EntryName,
378: OUT RPC_IF_ID_VECTOR PAPI * PAPI * IfIdVec
379: );
380:
381: RPC_STATUS RPC_ENTRY
382: RpcIfIdVectorFree (
383: IN OUT RPC_IF_ID_VECTOR PAPI * PAPI * IfIdVec
384: );
385:
386: RPC_STATUS RPC_ENTRY
387: RpcNsMgmtHandleSetExpAge(
388: IN RPC_NS_HANDLE NsHandle,
389: IN unsigned long ExpirationAge
390: );
391:
392: RPC_STATUS RPC_ENTRY
393: RpcNsMgmtInqExpAge(
394: OUT unsigned long PAPI * ExpirationAge
395: );
396:
397: RPC_STATUS RPC_ENTRY
398: RpcNsMgmtSetExpAge(
399: IN unsigned long ExpirationAge
400: );
401:
402: #ifdef RPC_UNICODE_SUPPORTED
403:
404: RPC_STATUS RPC_ENTRY
405: RpcNsEntryExpandNameW(
406: IN unsigned long EntryNameSyntax OPTIONAL,
407: IN unsigned short PAPI * EntryName,
408: OUT unsigned short PAPI * PAPI * ExpandedName
409: );
410:
411: RPC_STATUS RPC_ENTRY
412: RpcNsMgmtBindingUnexportW(
413: IN unsigned long EntryNameSyntax OPTIONAL,
414: IN unsigned short PAPI * EntryName,
415: IN RPC_IF_ID PAPI * IfId OPTIONAL,
416: IN unsigned long VersOption,
417: IN UUID_VECTOR PAPI * ObjectUuidVec OPTIONAL
418: );
419:
420: RPC_STATUS RPC_ENTRY
421: RpcNsMgmtEntryCreateW(
422: IN unsigned long EntryNameSyntax OPTIONAL,
423: IN unsigned short PAPI * EntryName
424: );
425:
426: RPC_STATUS RPC_ENTRY
427: RpcNsMgmtEntryDeleteW(
428: IN unsigned long EntryNameSyntax OPTIONAL,
429: IN unsigned short PAPI * EntryName
430: );
431:
432: RPC_STATUS RPC_ENTRY
433: RpcNsMgmtEntryInqIfIdsW(
434: IN unsigned long EntryNameSyntax OPTIONAL,
435: IN unsigned short PAPI * EntryName,
436: OUT RPC_IF_ID_VECTOR PAPI * PAPI * IfIdVec
437: );
438:
439: #endif
440:
441: /* Client API's implemented in wrappers. */
442:
443: RPC_STATUS RPC_ENTRY
444: RpcNsBindingImportBeginA(
445: IN unsigned long EntryNameSyntax OPTIONAL,
446: IN unsigned char PAPI * EntryName OPTIONAL,
447: IN RPC_IF_HANDLE IfSpec OPTIONAL,
448: IN UUID PAPI * ObjUuid OPTIONAL,
449: OUT RPC_NS_HANDLE PAPI * ImportContext
450: );
451:
452: #ifdef RPC_UNICODE_SUPPORTED
453:
454: RPC_STATUS RPC_ENTRY
455: RpcNsBindingImportBeginW(
456: IN unsigned long EntryNameSyntax OPTIONAL,
457: IN unsigned short PAPI * EntryName OPTIONAL,
458: IN RPC_IF_HANDLE IfSpec OPTIONAL,
459: IN UUID PAPI * ObjUuid OPTIONAL,
460: OUT RPC_NS_HANDLE PAPI * ImportContext
461: );
462:
463: #endif
464:
465: RPC_STATUS RPC_ENTRY
466: RpcNsBindingImportNext(
467: IN RPC_NS_HANDLE ImportContext,
468: OUT RPC_BINDING_HANDLE PAPI * Binding
469: );
470:
471: RPC_STATUS RPC_ENTRY
472: RpcNsBindingImportDone(
473: IN OUT RPC_NS_HANDLE PAPI * ImportContext
474: );
475:
476: RPC_STATUS RPC_ENTRY
477: RpcNsBindingSelect(
478: IN OUT RPC_BINDING_VECTOR PAPI * BindingVec,
479: OUT RPC_BINDING_HANDLE PAPI * Binding
480: );
481:
482: #ifdef UNICODE
483:
484: #define RpcNsBindingLookupBegin RpcNsBindingLookupBeginW
485: #define RpcNsBindingImportBegin RpcNsBindingImportBeginW
486: #define RpcNsBindingExport RpcNsBindingExportW
487: #define RpcNsBindingUnexport RpcNsBindingUnexportW
488: #define RpcNsGroupDelete RpcNsGroupDeleteW
489: #define RpcNsGroupMbrAdd RpcNsGroupMbrAddW
490: #define RpcNsGroupMbrRemove RpcNsGroupMbrRemoveW
491: #define RpcNsGroupMbrInqBegin RpcNsGroupMbrInqBeginW
492: #define RpcNsGroupMbrInqNext RpcNsGroupMbrInqNextW
493: #define RpcNsEntryExpandName RpcNsEntryExpandNameW
494: #define RpcNsEntryObjectInqBegin RpcNsEntryObjectInqBeginW
495: #define RpcNsMgmtBindingUnexport RpcNsMgmtBindingUnexportW
496: #define RpcNsMgmtEntryCreate RpcNsMgmtEntryCreateW
497: #define RpcNsMgmtEntryDelete RpcNsMgmtEntryDeleteW
498: #define RpcNsMgmtEntryInqIfIds RpcNsMgmtEntryInqIfIdsW
499: #define RpcNsProfileDelete RpcNsProfileDeleteW
500: #define RpcNsProfileEltAdd RpcNsProfileEltAddW
501: #define RpcNsProfileEltRemove RpcNsProfileEltRemoveW
502: #define RpcNsProfileEltInqBegin RpcNsProfileEltInqBeginW
503: #define RpcNsProfileEltInqNext RpcNsProfileEltInqNextW
504:
505: #else
506:
507: #define RpcNsBindingLookupBegin RpcNsBindingLookupBeginA
508: #define RpcNsBindingImportBegin RpcNsBindingImportBeginA
509: #define RpcNsBindingExport RpcNsBindingExportA
510: #define RpcNsBindingUnexport RpcNsBindingUnexportA
511: #define RpcNsGroupDelete RpcNsGroupDeleteA
512: #define RpcNsGroupMbrAdd RpcNsGroupMbrAddA
513: #define RpcNsGroupMbrRemove RpcNsGroupMbrRemoveA
514: #define RpcNsGroupMbrInqBegin RpcNsGroupMbrInqBeginA
515: #define RpcNsGroupMbrInqNext RpcNsGroupMbrInqNextA
516: #define RpcNsEntryExpandName RpcNsEntryExpandNameA
517: #define RpcNsEntryObjectInqBegin RpcNsEntryObjectInqBeginA
518: #define RpcNsMgmtBindingUnexport RpcNsMgmtBindingUnexportA
519: #define RpcNsMgmtEntryCreate RpcNsMgmtEntryCreateA
520: #define RpcNsMgmtEntryDelete RpcNsMgmtEntryDeleteA
521: #define RpcNsMgmtEntryInqIfIds RpcNsMgmtEntryInqIfIdsA
522: #define RpcNsProfileDelete RpcNsProfileDeleteA
523: #define RpcNsProfileEltAdd RpcNsProfileEltAddA
524: #define RpcNsProfileEltRemove RpcNsProfileEltRemoveA
525: #define RpcNsProfileEltInqBegin RpcNsProfileEltInqBeginA
526: #define RpcNsProfileEltInqNext RpcNsProfileEltInqNextA
527:
528: #endif /* UNICODE */
529:
530: #define RPC_S_NOTHING_TO_EXPORT RPC_S_NO_INTERFACES_EXPORTED /* add */
531: #define RPC_S_NO_MORE_BINDINGS RPC_S_NO_BINDINGS /* add */
532: #define RPC_S_NOT_ALL_OBJS_UNEXPORTED RPC_S_NOTHING_TO_UNEXPORT /* add */
533:
534: #define RpcCNsSyntaxDefault 0
535: #define RpcCNsSyntaxDce 1
536:
537: #define RpcCVersAll 0
538: #define RpcCVersCompatible 1
539: #define RpcCVersExact 2
540: #define RpcCVersMajorOnly 3
541: #define RpcCVersVersUpto 4
542:
543: #define RpcCProfileDefaultElt 0
544: #define RpcCProfileAllElt 1
545: #define RpcCProfileMatchByIf 2
546: #define RpcCProfileMatchByMbr 3
547: #define RpcCProfileMatchByBoth 4
548:
549: #endif /* __RPCNSI_H__ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.