Annotation of mstools/h/rpcdce.h, revision 1.1.1.2

1.1       root        1: /*++
                      2: 
                      3: Copyright (c) 1991 Microsoft Corporation
                      4: 
                      5: Module Name:
                      6: 
                      7:     rpcdce.h
                      8: 
                      9: Abstract:
                     10: 
                     11:     This module contains the DCE RPC runtime APIs.
                     12: 
                     13: Author:
                     14: 
                     15:     Michael Montague (mikemon) 25-Sep-1991
                     16: 
                     17: Revision History:
                     18: 
                     19: --*/
                     20: 
                     21: #ifndef __RPCDCE_H__
                     22: #define __RPCDCE_H__
                     23: 
                     24: #define IN
                     25: #define OUT
                     26: #define OPTIONAL
                     27: 
                     28: /*typedef char small;*/
                     29: /*typedef unsigned char byte;*/
                     30: /*typedef unsigned char boolean;*/
                     31: 
                     32: typedef I_RPC_HANDLE RPC_BINDING_HANDLE;
                     33: typedef RPC_BINDING_HANDLE handle_t;
                     34: #define rpc_binding_handle_t RPC_BINDING_HANDLE
                     35: 
                     36: #ifndef GUID_DEFINED
                     37: #define GUID_DEFINED
                     38: typedef struct _GUID
                     39: {
                     40:     unsigned long Data1;
                     41:     unsigned short Data2;
                     42:     unsigned short Data3;
                     43:     unsigned char Data4[8];
                     44: } GUID;
                     45: #endif /* GUID_DEFINED */
                     46: 
                     47: #ifndef UUID_DEFINED
                     48: #define UUID_DEFINED
                     49: typedef GUID UUID;
                     50: #define uuid_t UUID
                     51: #endif
                     52: 
                     53: typedef struct _RPC_BINDING_VECTOR
                     54: {
                     55:     unsigned long Count;
                     56:     RPC_BINDING_HANDLE BindingH[1];
                     57: } RPC_BINDING_VECTOR;
                     58: #define rpc_binding_vector_t RPC_BINDING_VECTOR
                     59: 
                     60: typedef struct _UUID_VECTOR
                     61: {
                     62:   unsigned long Count;
                     63:   UUID *Uuid[1];
                     64: } UUID_VECTOR;
                     65: #define uuid_vector_t UUID_VECTOR
                     66: 
                     67: typedef void PAPI * RPC_IF_HANDLE;
                     68: 
                     69: #ifndef IFID_DEFINED
                     70: #define IFID_DEFINED
                     71: typedef struct _RPC_IF_ID
                     72: {
                     73:     UUID Uuid;
                     74:     unsigned short VersMajor;
                     75:     unsigned short VersMinor;
                     76: } RPC_IF_ID;
                     77: #endif
                     78: 
                     79: #define RPC_C_BINDING_INFINITE_TIMEOUT 10
                     80: #define RPC_C_BINDING_MIN_TIMEOUT 0
                     81: #define RPC_C_BINDING_DEFAULT_TIMEOUT 5
                     82: #define RPC_C_BINDING_MAX_TIMEOUT 9
                     83: 
1.1.1.2 ! root       84: #define RPC_C_LISTEN_MAX_CALLS_DEFAULT 1234
        !            85: #define RPC_C_PROTSEQ_MAX_REQS_DEFAULT 10
        !            86: 
1.1       root       87: #ifdef RPC_UNICODE_SUPPORTED
                     88: 
                     89: typedef struct _RPC_PROTSEQ_VECTORA
                     90: {
                     91:     unsigned int Count;
                     92:     unsigned char PAPI * Protseq[1];
                     93: } RPC_PROTSEQ_VECTORA;
                     94: 
                     95: typedef struct _RPC_PROTSEQ_VECTORW
                     96: {
                     97:     unsigned int Count;
                     98:     unsigned short PAPI * Protseq[1];
                     99: } RPC_PROTSEQ_VECTORW;
                    100: 
                    101: #ifdef UNICODE
                    102: #define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORW
                    103: #else /* UNICODE */
                    104: #define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORA
                    105: #endif /* UNICODE */
                    106: 
                    107: #else /* RPC_UNICODE_SUPPORTED */
                    108: 
                    109: typedef struct _RPC_PROTSEQ_VECTOR
                    110: {
                    111:     unsigned int Count;
                    112:     unsigned char PAPI * Protseq[1];
                    113: } RPC_PROTSEQ_VECTOR;
                    114: 
                    115: #endif /* RPC_UNICODE_SUPPORTED */
                    116: 
                    117: typedef void
1.1.1.2 ! root      118: RPC_OBJECT_INQ_FN (
1.1       root      119:     IN UUID PAPI * ObjectUuid,
                    120:     OUT UUID PAPI * TypeUuid,
                    121:     OUT RPC_STATUS PAPI * Status
                    122:     );
                    123: 
1.1.1.2 ! root      124: #define RPC_MGR_EPV void
1.1       root      125: 
                    126: typedef struct
                    127: {
                    128:     unsigned int Count;
                    129:     unsigned long Stats[1];
                    130: } RPC_STATS_VECTOR;
                    131: 
                    132: #define RPC_C_STATS_CALLS_IN 0
                    133: #define RPC_C_STATS_CALLS_OUT 1
                    134: #define RPC_C_STATS_PKTS_IN 2
                    135: #define RPC_C_STATS_PKTS_OUT 3
                    136: 
                    137: /* client */
                    138: RPC_STATUS RPC_ENTRY
                    139: RpcBindingCopy (
                    140:     IN RPC_BINDING_HANDLE SourceBinding,
                    141:     OUT RPC_BINDING_HANDLE PAPI * DestinationBinding
                    142:     );
                    143: 
                    144: /* client */
                    145: RPC_STATUS RPC_ENTRY
                    146: RpcBindingFree (
                    147:     IN OUT RPC_BINDING_HANDLE PAPI * Binding
                    148:     );
                    149: 
                    150: /* client */
                    151: 
                    152: #ifdef RPC_UNICODE_SUPPORTED
                    153: 
                    154: RPC_STATUS RPC_ENTRY
                    155: RpcBindingFromStringBindingA (
                    156:     IN unsigned char PAPI * StringBinding,
                    157:     OUT RPC_BINDING_HANDLE PAPI * Binding
                    158:     );
                    159: 
                    160: RPC_STATUS RPC_ENTRY
                    161: RpcBindingFromStringBindingW (
                    162:     IN unsigned short PAPI * StringBinding,
                    163:     OUT RPC_BINDING_HANDLE PAPI * Binding
                    164:     );
                    165: 
                    166: #ifdef UNICODE
                    167: #define RpcBindingFromStringBinding RpcBindingFromStringBindingW
                    168: #else /* UNICODE */
                    169: #define RpcBindingFromStringBinding RpcBindingFromStringBindingA
                    170: #endif /* UNICODE */
                    171: 
                    172: #else /* RPC_UNICODE_SUPPORTED */
                    173: 
                    174: RPC_STATUS RPC_ENTRY
                    175: RpcBindingFromStringBinding (
                    176:     IN unsigned char PAPI * StringBinding,
                    177:     OUT RPC_BINDING_HANDLE PAPI * Binding
                    178:     );
                    179: 
                    180: #endif /* RPC_UNICODE_SUPPORTED */
                    181: 
                    182: /* RpcBindingInqAuthClient */
                    183: /* RpcBindingInqAuthInfo */
                    184: 
                    185: /* client/server */
                    186: RPC_STATUS RPC_ENTRY
                    187: RpcBindingInqObject (
                    188:     IN RPC_BINDING_HANDLE Binding,
                    189:     OUT UUID PAPI * ObjectUuid
                    190:     );
                    191: 
                    192: /* client */
                    193: RPC_STATUS RPC_ENTRY
                    194: RpcBindingReset (
                    195:     IN RPC_BINDING_HANDLE Binding
                    196:     );
                    197: 
                    198: /* RpcBindingServerFromClient : UNSUPPORTED */
                    199: /* RpcBindingSetAuthInfo */
                    200: 
                    201: /* client */
                    202: RPC_STATUS RPC_ENTRY
                    203: RpcBindingSetObject (
                    204:     IN RPC_BINDING_HANDLE Binding,
                    205:     IN UUID PAPI * ObjectUuid
                    206:     );
                    207: 
                    208: /* client/server */
                    209: 
                    210: #ifdef RPC_UNICODE_SUPPORTED
                    211: 
                    212: RPC_STATUS RPC_ENTRY
                    213: RpcBindingToStringBindingA (
                    214:     IN RPC_BINDING_HANDLE Binding,
                    215:     OUT unsigned char PAPI * PAPI * StringBinding
                    216:     );
                    217: 
                    218: RPC_STATUS RPC_ENTRY
                    219: RpcBindingToStringBindingW (
                    220:     IN RPC_BINDING_HANDLE Binding,
                    221:     OUT unsigned short PAPI * PAPI * StringBinding
                    222:     );
                    223: 
                    224: #ifdef UNICODE
                    225: #define RpcBindingToStringBinding RpcBindingToStringBindingW
                    226: #else /* UNICODE */
                    227: #define RpcBindingToStringBinding RpcBindingToStringBindingA
                    228: #endif /* UNICODE */
                    229: 
                    230: #else /* RPC_UNICODE_SUPPORTED */
                    231: 
                    232: RPC_STATUS RPC_ENTRY
                    233: RpcBindingToStringBinding (
                    234:     IN RPC_BINDING_HANDLE Binding,
                    235:     OUT unsigned char PAPI * PAPI * StringBinding
                    236:     );
                    237: 
                    238: #endif /* RPC_UNICODE_SUPPORTED */
                    239: 
                    240: /* client/server */
                    241: RPC_STATUS RPC_ENTRY
                    242: RpcBindingVectorFree (
                    243:     IN OUT RPC_BINDING_VECTOR PAPI * PAPI * BindingVector
                    244:     );
                    245: 
                    246: /* client/server */
                    247: 
                    248: #ifdef RPC_UNICODE_SUPPORTED
                    249: 
                    250: RPC_STATUS RPC_ENTRY
                    251: RpcStringBindingComposeA (
                    252:     IN unsigned char PAPI * ObjUuid OPTIONAL,
                    253:     IN unsigned char PAPI * Protseq OPTIONAL,
                    254:     IN unsigned char PAPI * NetworkAddr OPTIONAL,
                    255:     IN unsigned char PAPI * Endpoint OPTIONAL,
                    256:     IN unsigned char PAPI * Options OPTIONAL,
                    257:     OUT unsigned char PAPI * PAPI * StringBinding OPTIONAL
                    258:     );
                    259: 
                    260: RPC_STATUS RPC_ENTRY
                    261: RpcStringBindingComposeW (
                    262:     IN unsigned short PAPI * ObjUuid OPTIONAL,
                    263:     IN unsigned short PAPI * Protseq OPTIONAL,
                    264:     IN unsigned short PAPI * NetworkAddr OPTIONAL,
                    265:     IN unsigned short PAPI * Endpoint OPTIONAL,
                    266:     IN unsigned short PAPI * Options OPTIONAL,
                    267:     OUT unsigned short PAPI * PAPI * StringBinding OPTIONAL
                    268:     );
                    269: 
                    270: #ifdef UNICODE
                    271: #define RpcStringBindingCompose RpcStringBindingComposeW
                    272: #else /* UNICODE */
                    273: #define RpcStringBindingCompose RpcStringBindingComposeA
                    274: #endif /* UNICODE */
                    275: 
                    276: #else /* RPC_UNICODE_SUPPORTED */
                    277: 
                    278: RPC_STATUS RPC_ENTRY
                    279: RpcStringBindingCompose (
                    280:     IN unsigned char PAPI * ObjUuid OPTIONAL,
                    281:     IN unsigned char PAPI * Protseq OPTIONAL,
                    282:     IN unsigned char PAPI * NetworkAddr OPTIONAL,
                    283:     IN unsigned char PAPI * Endpoint OPTIONAL,
                    284:     IN unsigned char PAPI * Options OPTIONAL,
                    285:     OUT unsigned char PAPI * PAPI * StringBinding OPTIONAL
                    286:     );
                    287: 
                    288: #endif /* RPC_UNICODE_SUPPORTED */
                    289: 
                    290: /* client/server */
                    291: 
                    292: #ifdef RPC_UNICODE_SUPPORTED
                    293: 
                    294: RPC_STATUS RPC_ENTRY
                    295: RpcStringBindingParseA (
                    296:     IN unsigned char PAPI * StringBinding,
                    297:     OUT unsigned char PAPI * PAPI * ObjUuid OPTIONAL,
                    298:     OUT unsigned char PAPI * PAPI * Protseq OPTIONAL,
                    299:     OUT unsigned char PAPI * PAPI * NetworkAddr OPTIONAL,
                    300:     OUT unsigned char PAPI * PAPI * Endpoint OPTIONAL,
                    301:     OUT unsigned char PAPI * PAPI * NetworkOptions OPTIONAL
                    302:     );
                    303: 
                    304: RPC_STATUS RPC_ENTRY
                    305: RpcStringBindingParseW (
                    306:     IN unsigned short PAPI * StringBinding,
                    307:     OUT unsigned short PAPI * PAPI * ObjUuid OPTIONAL,
                    308:     OUT unsigned short PAPI * PAPI * Protseq OPTIONAL,
                    309:     OUT unsigned short PAPI * PAPI * NetworkAddr OPTIONAL,
                    310:     OUT unsigned short PAPI * PAPI * Endpoint OPTIONAL,
                    311:     OUT unsigned short PAPI * PAPI * NetworkOptions OPTIONAL
                    312:     );
                    313: 
                    314: #ifdef UNICODE
                    315: #define RpcStringBindingParse RpcStringBindingParseW
                    316: #else /* UNICODE */
                    317: #define RpcStringBindingParse RpcStringBindingParseA
                    318: #endif /* UNICODE */
                    319: 
                    320: #else /* RPC_UNICODE_SUPPORTED */
                    321: 
                    322: RPC_STATUS RPC_ENTRY
                    323: RpcStringBindingParse (
                    324:     IN unsigned char PAPI * StringBinding,
                    325:     OUT unsigned char PAPI * PAPI * ObjUuid OPTIONAL,
                    326:     OUT unsigned char PAPI * PAPI * Protseq OPTIONAL,
                    327:     OUT unsigned char PAPI * PAPI * NetworkAddr OPTIONAL,
                    328:     OUT unsigned char PAPI * PAPI * Endpoint OPTIONAL,
                    329:     OUT unsigned char PAPI * PAPI * NetworkOptions OPTIONAL
                    330:     );
                    331: 
                    332: #endif /* RPC_UNICODE_SUPPORTED */
                    333: 
                    334: /* client/server */
                    335: 
                    336: #ifdef RPC_UNICODE_SUPPORTED
                    337: 
                    338: RPC_STATUS RPC_ENTRY
                    339: RpcStringFreeA (
                    340:     IN OUT unsigned char PAPI * PAPI * String
                    341:     );
                    342: 
                    343: RPC_STATUS RPC_ENTRY
                    344: RpcStringFreeW (
                    345:     IN OUT unsigned short PAPI * PAPI * String
                    346:     );
                    347: 
                    348: #ifdef UNICODE
                    349: #define RpcStringFree RpcStringFreeW
                    350: #else /* UNICODE */
                    351: #define RpcStringFree RpcStringFreeA
                    352: #endif /* UNICODE */
                    353: 
                    354: #else /* RPC_UNICODE_SUPPORTED */
                    355: 
                    356: RPC_STATUS RPC_ENTRY
                    357: RpcStringFree (
                    358:     IN OUT unsigned char PAPI * PAPI * String
                    359:     );
                    360: 
                    361: #endif /* RPC_UNICODE_SUPPORTED */
                    362: 
                    363: /* client/server */
                    364: RPC_STATUS RPC_ENTRY
                    365: RpcIfInqId (
                    366:     IN RPC_IF_HANDLE RpcIfHandle,
                    367:     OUT RPC_IF_ID PAPI * RpcIfId
                    368:     );
                    369: 
                    370: /* client/server */
                    371: 
                    372: #ifdef RPC_UNICODE_SUPPORTED
                    373: 
                    374: RPC_STATUS RPC_ENTRY
                    375: RpcNetworkIsProtseqValidA (
                    376:     IN unsigned char PAPI * Protseq
                    377:     );
                    378: 
                    379: RPC_STATUS RPC_ENTRY
                    380: RpcNetworkIsProtseqValidW (
                    381:     IN unsigned short PAPI * Protseq
                    382:     );
                    383: 
                    384: #ifdef UNICODE
                    385: #define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidW
                    386: #else /* UNICODE */
                    387: #define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidA
                    388: #endif /* UNICODE */
                    389: 
                    390: #else /* RPC_UNICODE_SUPPORTED */
                    391: 
                    392: RPC_STATUS RPC_ENTRY
                    393: RpcNetworkIsProtseqValid (
                    394:     IN unsigned char PAPI * Protseq
                    395:     );
                    396: 
                    397: #endif /* RPC_UNICODE_SUPPORTED */
                    398: 
                    399: /* client */
                    400: RPC_STATUS RPC_ENTRY
                    401: RpcMgmtInqComTimeout (
                    402:     IN RPC_BINDING_HANDLE Binding,
                    403:     OUT unsigned int PAPI * Timeout
                    404:     );
                    405: 
                    406: /* client */
                    407: RPC_STATUS RPC_ENTRY
                    408: RpcMgmtSetComTimeout (
                    409:     IN RPC_BINDING_HANDLE Binding,
                    410:     IN unsigned int Timeout
                    411:     );
                    412: 
                    413: /* server */
                    414: 
                    415: #ifdef RPC_UNICODE_SUPPORTED
                    416: 
                    417: RPC_STATUS RPC_ENTRY
                    418: RpcNetworkInqProtseqsA (
                    419:     OUT RPC_PROTSEQ_VECTORA PAPI * PAPI * ProtseqVector
                    420:     );
                    421: 
                    422: RPC_STATUS RPC_ENTRY
                    423: RpcNetworkInqProtseqsW (
                    424:     OUT RPC_PROTSEQ_VECTORW PAPI * PAPI * ProtseqVector
                    425:     );
                    426: 
                    427: #ifdef UNICODE
                    428: #define RpcNetworkInqProtseqs RpcNetworkInqProtseqsW
                    429: #else /* UNICODE */
                    430: #define RpcNetworkInqProtseqs RpcNetworkInqProtseqsA
                    431: #endif /* UNICODE */
                    432: 
                    433: #else /* RPC_UNICODE_SUPPORTED */
                    434: 
                    435: RPC_STATUS RPC_ENTRY
                    436: RpcNetworkInqProtseqs (
                    437:     OUT RPC_PROTSEQ_VECTOR PAPI * PAPI * ProtseqVector
                    438:     );
                    439: 
                    440: #endif /* RPC_UNICODE_SUPPORTED */
                    441: 
                    442: /* server */
                    443: RPC_STATUS RPC_ENTRY
                    444: RpcObjectInqType (
                    445:     IN UUID PAPI * ObjUuid,
                    446:     OUT UUID PAPI * TypeUuid OPTIONAL
                    447:     );
                    448: 
                    449: /* server */
                    450: RPC_STATUS RPC_ENTRY
                    451: RpcObjectSetInqFn (
1.1.1.2 ! root      452:     IN RPC_OBJECT_INQ_FN PAPI * InquiryFn
1.1       root      453:     );
                    454: 
                    455: /* server */
                    456: RPC_STATUS RPC_ENTRY
                    457: RpcObjectSetType (
                    458:     IN UUID PAPI * ObjUuid,
                    459:     IN UUID PAPI * TypeUuid OPTIONAL
                    460:     );
                    461: 
                    462: /* server */
                    463: 
                    464: #ifdef RPC_UNICODE_SUPPORTED
                    465: 
                    466: RPC_STATUS RPC_ENTRY
                    467: RpcProtseqVectorFreeA (
                    468:     IN OUT RPC_PROTSEQ_VECTORA PAPI * PAPI * ProtseqVector
                    469:     );
                    470: 
                    471: RPC_STATUS RPC_ENTRY
                    472: RpcProtseqVectorFreeW (
                    473:     IN OUT RPC_PROTSEQ_VECTORW PAPI * PAPI * ProtseqVector
                    474:     );
                    475: 
                    476: #ifdef UNICODE
                    477: #define RpcProtseqVectorFree RpcProtseqVectorFreeW
                    478: #else /* UNICODE */
                    479: #define RpcProtseqVectorFree RpcProtseqVectorFreeA
                    480: #endif /* UNICODE */
                    481: 
                    482: #else /* RPC_UNICODE_SUPPORTED */
                    483: 
                    484: RPC_STATUS RPC_ENTRY
                    485: RpcProtseqVectorFree (
                    486:     IN OUT RPC_PROTSEQ_VECTOR PAPI * PAPI * ProtseqVector
                    487:     );
                    488: 
                    489: #endif /* RPC_UNICODE_SUPPORTED */
                    490: 
                    491: /* server */
                    492: RPC_STATUS RPC_ENTRY
                    493: RpcServerInqBindings (
                    494:     OUT RPC_BINDING_VECTOR PAPI * PAPI * BindingVector
                    495:     );
                    496: 
                    497: /* server */
                    498: RPC_STATUS RPC_ENTRY
                    499: RpcServerInqIf (
                    500:     IN RPC_IF_HANDLE IfSpec,
                    501:     IN UUID PAPI * MgrTypeUuid, OPTIONAL
1.1.1.2 ! root      502:     OUT RPC_MGR_EPV PAPI * PAPI * MgrEpv
1.1       root      503:     );
                    504: 
                    505: /* server */
                    506: RPC_STATUS RPC_ENTRY
                    507: RpcServerListen (
                    508:     IN unsigned int MinimumCallThreads,
1.1.1.2 ! root      509:     IN unsigned int MaxCalls,
        !           510:     IN unsigned int DontWait
1.1       root      511:     );
                    512: 
                    513: /* server */
                    514: RPC_STATUS RPC_ENTRY
                    515: RpcServerRegisterIf (
                    516:     IN RPC_IF_HANDLE IfSpec,
                    517:     IN UUID PAPI * MgrTypeUuid OPTIONAL,
1.1.1.2 ! root      518:     IN RPC_MGR_EPV PAPI * MgrEpv OPTIONAL
1.1       root      519:     );
                    520: 
                    521: /* server */
                    522: RPC_STATUS RPC_ENTRY
                    523: RpcServerUnregisterIf (
                    524:     IN RPC_IF_HANDLE IfSpec,
                    525:     IN UUID PAPI * MgrTypeUuid, OPTIONAL
                    526:     IN unsigned int WaitForCallsToComplete
                    527:     );
                    528: 
                    529: /* server */
                    530: RPC_STATUS RPC_ENTRY
                    531: RpcServerUseAllProtseqs (
                    532:     IN unsigned int MaxCalls,
                    533:     IN void PAPI * SecurityDescriptor OPTIONAL
                    534:     );
                    535: 
                    536: /* server */
                    537: RPC_STATUS RPC_ENTRY
                    538: RpcServerUseAllProtseqsIf (
                    539:     IN unsigned int MaxCalls,
                    540:     IN RPC_IF_HANDLE IfSpec,
                    541:     IN void PAPI * SecurityDescriptor OPTIONAL
                    542:     );
                    543: 
                    544: /* server */
                    545: 
                    546: #ifdef RPC_UNICODE_SUPPORTED
                    547: 
                    548: RPC_STATUS RPC_ENTRY
                    549: RpcServerUseProtseqA (
                    550:     IN unsigned char PAPI * Protseq,
                    551:     IN unsigned int MaxCalls,
                    552:     IN void PAPI * SecurityDescriptor OPTIONAL
                    553:     );
                    554: 
                    555: RPC_STATUS RPC_ENTRY
                    556: RpcServerUseProtseqW (
                    557:     IN unsigned short PAPI * Protseq,
                    558:     IN unsigned int MaxCalls,
                    559:     IN void PAPI * SecurityDescriptor OPTIONAL
                    560:     );
                    561: 
                    562: #ifdef UNICODE
                    563: #define RpcServerUseProtseq RpcServerUseProtseqW
                    564: #else /* UNICODE */
                    565: #define RpcServerUseProtseq RpcServerUseProtseqA
                    566: #endif /* UNICODE */
                    567: 
                    568: #else /* RPC_UNICODE_SUPPORTED */
                    569: 
                    570: RPC_STATUS RPC_ENTRY
                    571: RpcServerUseProtseq (
                    572:     IN unsigned char PAPI * Protseq,
                    573:     IN unsigned int MaxCalls,
                    574:     IN void PAPI * SecurityDescriptor OPTIONAL
                    575:     );
                    576: 
                    577: #endif /* RPC_UNICODE_SUPPORTED */
                    578: 
                    579: /* server */
                    580: 
                    581: #ifdef RPC_UNICODE_SUPPORTED
                    582: 
                    583: RPC_STATUS RPC_ENTRY
                    584: RpcServerUseProtseqEpA (
                    585:     IN unsigned char PAPI * Protseq,
                    586:     IN unsigned int MaxCalls,
                    587:     IN unsigned char PAPI * Endpoint,
                    588:     IN void PAPI * SecurityDescriptor OPTIONAL
                    589:     );
                    590: 
                    591: RPC_STATUS RPC_ENTRY
                    592: RpcServerUseProtseqEpW (
                    593:     IN unsigned short PAPI * Protseq,
                    594:     IN unsigned int MaxCalls,
                    595:     IN unsigned short PAPI * Endpoint,
                    596:     IN void PAPI * SecurityDescriptor OPTIONAL
                    597:     );
                    598: 
                    599: #ifdef UNICODE
                    600: #define RpcServerUseProtseqEp RpcServerUseProtseqEpW
                    601: #else /* UNICODE */
                    602: #define RpcServerUseProtseqEp RpcServerUseProtseqEpA
                    603: #endif /* UNICODE */
                    604: 
                    605: #else /* RPC_UNICODE_SUPPORTED */
                    606: 
                    607: RPC_STATUS RPC_ENTRY
                    608: RpcServerUseProtseqEp (
                    609:     IN unsigned char PAPI * Protseq,
                    610:     IN unsigned int MaxCalls,
                    611:     IN unsigned char PAPI * Endpoint,
                    612:     IN void PAPI * SecurityDescriptor OPTIONAL
                    613:     );
                    614: 
                    615: #endif /* RPC_UNICODE_SUPPORTED */
                    616: 
                    617: /* server */
                    618: 
                    619: #ifdef RPC_UNICODE_SUPPORTED
                    620: 
                    621: RPC_STATUS RPC_ENTRY
                    622: RpcServerUseProtseqIfA (
                    623:     IN unsigned char PAPI * Protseq,
                    624:     IN unsigned int MaxCalls,
                    625:     IN RPC_IF_HANDLE IfSpec,
                    626:     IN void PAPI * SecurityDescriptor OPTIONAL
                    627:     );
                    628: 
                    629: RPC_STATUS RPC_ENTRY
                    630: RpcServerUseProtseqIfW (
                    631:     IN unsigned short PAPI * Protseq,
                    632:     IN unsigned int MaxCalls,
                    633:     IN RPC_IF_HANDLE IfSpec,
                    634:     IN void PAPI * SecurityDescriptor OPTIONAL
                    635:     );
                    636: 
                    637: #ifdef UNICODE
                    638: #define RpcServerUseProtseqIf RpcServerUseProtseqIfW
                    639: #else /* UNICODE */
                    640: #define RpcServerUseProtseqIf RpcServerUseProtseqIfA
                    641: #endif /* UNICODE */
                    642: 
                    643: #else /* RPC_UNICODE_SUPPORTED */
                    644: 
                    645: RPC_STATUS RPC_ENTRY
                    646: RpcServerUseProtseqIf (
                    647:     IN unsigned char PAPI * Protseq,
                    648:     IN unsigned int MaxCalls,
                    649:     IN RPC_IF_HANDLE IfSpec,
                    650:     IN void PAPI * SecurityDescriptor OPTIONAL
                    651:     );
                    652: 
                    653: #endif /* RPC_UNICODE_SUPPORTED */
                    654: 
                    655: /* server */
                    656: RPC_STATUS RPC_ENTRY
                    657: RpcMgmtStatsVectorFree (
                    658:     IN RPC_STATS_VECTOR ** StatsVector
                    659:     );
                    660: 
                    661: /* server */
                    662: RPC_STATUS RPC_ENTRY
                    663: RpcMgmtInqStats (
                    664:     IN RPC_BINDING_HANDLE Binding,
                    665:     OUT RPC_STATS_VECTOR ** Statistics
                    666:     );
                    667: 
                    668: /* server */
                    669: RPC_STATUS RPC_ENTRY
                    670: RpcMgmtIsServerListening (
                    671:     IN RPC_BINDING_HANDLE Binding
                    672:     );
                    673: 
                    674: /* server */
                    675: RPC_STATUS RPC_ENTRY
                    676: RpcMgmtStopServerListening (
                    677:     IN RPC_BINDING_HANDLE Binding
                    678:     );
                    679: 
                    680: /* server */
                    681: RPC_STATUS RPC_ENTRY
1.1.1.2 ! root      682: RpcMgmtWaitServerListen (
        !           683:     void
        !           684:     );
        !           685: 
        !           686: /* server */
        !           687: RPC_STATUS RPC_ENTRY
1.1       root      688: RpcMgmtSetServerStackSize (
                    689:     IN unsigned long ThreadStackSize
                    690:     );
                    691: 
                    692: /* client */
                    693: RPC_STATUS RPC_ENTRY
                    694: RpcMgmtEnableIdleCleanup (
                    695:     void
                    696:     );
                    697: 
                    698: /* client */
                    699: RPC_STATUS RPC_ENTRY
                    700: RpcEpResolveBinding (
                    701:     IN RPC_BINDING_HANDLE Binding,
                    702:     IN RPC_IF_HANDLE IfSpec
                    703:     );
                    704: 
                    705: /* client */
                    706: 
                    707: #ifdef RPC_UNICODE_SUPPORTED
                    708: 
                    709: RPC_STATUS RPC_ENTRY
                    710: RpcNsBindingInqEntryNameA (
                    711:     IN RPC_BINDING_HANDLE Binding,
                    712:     IN unsigned long EntryNameSyntax,
                    713:     OUT unsigned char PAPI * PAPI * EntryName
                    714:     );
                    715: 
                    716: RPC_STATUS RPC_ENTRY
                    717: RpcNsBindingInqEntryNameW (
                    718:     IN RPC_BINDING_HANDLE Binding,
                    719:     IN unsigned long EntryNameSyntax,
                    720:     OUT unsigned short PAPI * PAPI * EntryName
                    721:     );
                    722: 
                    723: #ifdef UNICODE
                    724: #define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameW
                    725: #else /* UNICODE */
                    726: #define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameA
                    727: #endif /* UNICODE */
                    728: 
                    729: #else /* RPC_UNICODE_SUPPORTED */
                    730: 
                    731: RPC_STATUS RPC_ENTRY
                    732: RpcNsBindingInqEntryName (
                    733:     IN RPC_BINDING_HANDLE Binding,
                    734:     IN unsigned long EntryNameSyntax,
                    735:     OUT unsigned char PAPI * PAPI * EntryName
                    736:     );
                    737: 
                    738: #endif /* RPC_UNICODE_SUPPORTED */
                    739: 
                    740: typedef void PAPI * RPC_AUTH_IDENTITY_HANDLE;
                    741: typedef void PAPI * RPC_AUTHZ_HANDLE;
                    742: 
                    743: #define RPC_C_AUTHN_LEVEL_DEFAULT 0
                    744: #define RPC_C_AUTHN_LEVEL_NONE 1
                    745: #define RPC_C_AUTHN_LEVEL_CONNECT 2
                    746: #define RPC_C_AUTHN_LEVEL_CALL 3
                    747: #define RPC_C_AUTHN_LEVEL_PKT 4
                    748: #define RPC_C_AUTHN_LEVEL_PKT_INTEGRITY 5
                    749: #define RPC_C_AUTHN_LEVEL_PKT_PRIVACY 6
                    750: 
                    751: #define RPC_C_AUTHN_NONE 0
                    752: #define RPC_C_AUTHN_DCE_PRIVATE 1
                    753: #define RPC_C_AUTHN_DCE_PUBLIC 2
                    754: #define RPC_C_AUTHN_DEC_PUBLIC 4
                    755: #define RPC_C_AUTHN_DEFAULT 0xFFFFFFFFL
                    756: 
                    757: #define RPC_C_AUTHZ_NONE 0
                    758: #define RPC_C_AUTHZ_NAME 1
                    759: #define RPC_C_AUTHZ_DCE 2
                    760: 
                    761: #ifdef RPC_UNICODE_SUPPORTED
                    762: 
                    763: RPC_STATUS RPC_ENTRY
                    764: RpcBindingInqAuthClientA (
                    765:     IN RPC_BINDING_HANDLE ClientBinding, OPTIONAL
                    766:     OUT RPC_AUTHZ_HANDLE PAPI * Privs,
                    767:     OUT unsigned char PAPI * PAPI * ServerPrincName, OPTIONAL
                    768:     OUT unsigned long PAPI * AuthnLevel, OPTIONAL
                    769:     OUT unsigned long PAPI * AuthnSvc, OPTIONAL
                    770:     OUT unsigned long PAPI * AuthzSvc OPTIONAL
                    771:     );
                    772: 
                    773: RPC_STATUS RPC_ENTRY
                    774: RpcBindingInqAuthClientW (
                    775:     IN RPC_BINDING_HANDLE ClientBinding, OPTIONAL
                    776:     OUT RPC_AUTHZ_HANDLE PAPI * Privs,
                    777:     OUT unsigned short PAPI * PAPI * ServerPrincName, OPTIONAL
                    778:     OUT unsigned long PAPI * AuthnLevel, OPTIONAL
                    779:     OUT unsigned long PAPI * AuthnSvc, OPTIONAL
                    780:     OUT unsigned long PAPI * AuthzSvc OPTIONAL
                    781:     );
                    782: 
                    783: RPC_STATUS RPC_ENTRY
                    784: RpcBindingInqAuthInfoA (
                    785:     IN RPC_BINDING_HANDLE Binding,
                    786:     OUT unsigned char PAPI * PAPI * ServerPrincName, OPTIONAL
                    787:     OUT unsigned long PAPI * AuthnLevel, OPTIONAL
                    788:     OUT unsigned long PAPI * AuthnSvc, OPTIONAL
                    789:     OUT RPC_AUTH_IDENTITY_HANDLE PAPI * AuthIdentity, OPTIONAL
                    790:     OUT unsigned long PAPI * AuthzSvc OPTIONAL
                    791:     );
                    792: 
                    793: RPC_STATUS RPC_ENTRY
                    794: RpcBindingInqAuthInfoW (
                    795:     IN RPC_BINDING_HANDLE Binding,
                    796:     OUT unsigned short PAPI * PAPI * ServerPrincName, OPTIONAL
                    797:     OUT unsigned long PAPI * AuthnLevel, OPTIONAL
                    798:     OUT unsigned long PAPI * AuthnSvc, OPTIONAL
                    799:     OUT RPC_AUTH_IDENTITY_HANDLE PAPI * AuthIdentity, OPTIONAL
                    800:     OUT unsigned long PAPI * AuthzSvc OPTIONAL
                    801:     );
                    802: 
                    803: RPC_STATUS RPC_ENTRY
                    804: RpcBindingSetAuthInfoA (
                    805:     IN RPC_BINDING_HANDLE Binding,
                    806:     IN unsigned char PAPI * ServerPrincName,
                    807:     IN unsigned long AuthnLevel,
                    808:     IN unsigned long AuthnSvc,
                    809:     IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
                    810:     IN unsigned long AuthzSvc
                    811:     );
                    812: 
                    813: RPC_STATUS RPC_ENTRY
                    814: RpcBindingSetAuthInfoW (
                    815:     IN RPC_BINDING_HANDLE Binding,
                    816:     IN unsigned short PAPI * ServerPrincName,
                    817:     IN unsigned long AuthnLevel,
                    818:     IN unsigned long AuthnSvc,
                    819:     IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
                    820:     IN unsigned long AuthzSvc
                    821:     );
                    822: 
                    823: typedef void
                    824: (PAPI * RPC_AUTH_KEY_RETRIEVAL_FN) (
                    825:     IN void PAPI * Arg,
                    826:     IN unsigned short PAPI * ServerPrincName,
                    827:     OUT void PAPI * PAPI * Key,
                    828:     OUT RPC_STATUS PAPI * Status
                    829:     );
                    830: 
                    831: RPC_STATUS RPC_ENTRY
                    832: RpcServerRegisterAuthInfoA (
                    833:     IN unsigned char PAPI * ServerPrincName,
                    834:     IN unsigned long AuthnSvc,
                    835:     IN RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn OPTIONAL,
                    836:     IN void PAPI * Arg OPTIONAL
                    837:     );
                    838: 
                    839: RPC_STATUS RPC_ENTRY
                    840: RpcServerRegisterAuthInfoW (
                    841:     IN unsigned short PAPI * ServerPrincName,
                    842:     IN unsigned long AuthnSvc,
                    843:     IN RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn OPTIONAL,
                    844:     IN void PAPI * Arg OPTIONAL
                    845:     );
                    846: 
                    847: #ifdef UNICODE
                    848: #define RpcBindingInqAuthClient RpcBindingInqAuthClientW
                    849: #define RpcBindingInqAuthInfo RpcBindingInqAuthInfoW
                    850: #define RpcBindingSetAuthInfo RpcBindingSetAuthInfoW
                    851: #define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoW
                    852: #else /* UNICODE */
                    853: #define RpcBindingInqAuthClient RpcBindingInqAuthClientA
                    854: #define RpcBindingInqAuthInfo RpcBindingInqAuthInfoA
                    855: #define RpcBindingSetAuthInfo RpcBindingSetAuthInfoA
                    856: #define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoA
                    857: #endif /* UNICODE */
                    858: 
                    859: #else /* RPC_UNICODE_SUPPORTED */
                    860: 
                    861: RPC_STATUS RPC_ENTRY
                    862: RpcBindingInqAuthClient (
                    863:     IN RPC_BINDING_HANDLE ClientBinding, OPTIONAL
                    864:     OUT RPC_AUTHZ_HANDLE PAPI * Privs,
                    865:     OUT unsigned char PAPI * PAPI * ServerPrincName, OPTIONAL
                    866:     OUT unsigned long PAPI * AuthnLevel, OPTIONAL
                    867:     OUT unsigned long PAPI * AuthnSvc, OPTIONAL
                    868:     OUT unsigned long PAPI * AuthzSvc OPTIONAL
                    869:     );
                    870: 
                    871: RPC_STATUS RPC_ENTRY
                    872: RpcBindingInqAuthInfo (
                    873:     IN RPC_BINDING_HANDLE Binding,
                    874:     OUT unsigned char PAPI * PAPI * ServerPrincName, OPTIONAL
                    875:     OUT unsigned long PAPI * AuthnLevel, OPTIONAL
                    876:     OUT unsigned long PAPI * AuthnSvc, OPTIONAL
                    877:     OUT RPC_AUTH_IDENTITY_HANDLE PAPI * AuthIdentity, OPTIONAL
                    878:     OUT unsigned long PAPI * AuthzSvc OPTIONAL
                    879:     );
                    880: 
                    881: RPC_STATUS RPC_ENTRY
                    882: RpcBindingSetAuthInfo (
                    883:     IN RPC_BINDING_HANDLE Binding,
                    884:     IN unsigned char PAPI * ServerPrincName,
                    885:     IN unsigned long AuthnLevel,
                    886:     IN unsigned long AuthnSvc,
                    887:     IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
                    888:     IN unsigned long AuthzSvc
                    889:     );
                    890: 
                    891: typedef void
                    892: (PAPI * RPC_AUTH_KEY_RETRIEVAL_FN) (
                    893:     IN void PAPI * Arg,
                    894:     IN unsigned char PAPI * ServerPrincName,
                    895:     OUT void PAPI * PAPI * Key,
                    896:     OUT RPC_STATUS PAPI * Status
                    897:     );
                    898: 
                    899: RPC_STATUS RPC_ENTRY
                    900: RpcServerRegisterAuthInfo (
                    901:     IN unsigned char PAPI * ServerPrincName,
                    902:     IN unsigned long AuthnSvc,
                    903:     IN RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn OPTIONAL,
                    904:     IN void PAPI * Arg OPTIONAL
                    905:     );
                    906: 
                    907: #endif /* RPC_UNICODE_SUPPORTED */
                    908: 
                    909: typedef struct {
                    910:     unsigned char PAPI * UserName;
                    911:     unsigned char PAPI * ComputerName;
                    912:     unsigned short Privilege;
                    913:     unsigned long AuthFlags;
                    914: } RPC_CLIENT_INFORMATION1, PAPI * PRPC_CLIENT_INFORMATION1;
                    915: 
                    916: RPC_STATUS RPC_ENTRY
                    917: RpcQueryClient (
                    918:     IN RPC_BINDING_HANDLE Handle,
                    919:     IN unsigned int ClientInformationLevel,
                    920:     OUT void PAPI * ClientInformation,
                    921:     IN OUT unsigned int PAPI * ClientInformationLength
                    922:     );
                    923: 
                    924: void RPC_ENTRY
                    925: RpcRaiseException (
                    926:     IN RPC_STATUS exception
                    927:     );
                    928: 
                    929: /* client/server */
                    930: RPC_STATUS RPC_ENTRY
                    931: UuidCreate (
                    932:     OUT UUID PAPI * Uuid
                    933:     );
                    934: 
                    935: #ifdef RPC_UNICODE_SUPPORTED
                    936: 
                    937: /* client/server */
                    938: RPC_STATUS RPC_ENTRY
                    939: UuidToStringA (
                    940:     IN UUID PAPI * Uuid,
                    941:     OUT unsigned char PAPI * PAPI * StringUuid
                    942:     );
                    943: 
                    944: /* client/server */
                    945: RPC_STATUS RPC_ENTRY
                    946: UuidFromStringA (
                    947:     IN unsigned char PAPI * StringUuid,
                    948:     OUT UUID PAPI * Uuid
                    949:     );
                    950: 
                    951: /* client/server */
                    952: RPC_STATUS RPC_ENTRY
                    953: UuidToStringW (
                    954:     IN UUID PAPI * Uuid,
                    955:     OUT unsigned short PAPI * PAPI * StringUuid
                    956:     );
                    957: 
                    958: /* client/server */
                    959: RPC_STATUS RPC_ENTRY
                    960: UuidFromStringW (
                    961:     IN unsigned short PAPI * StringUuid,
                    962:     OUT UUID PAPI * Uuid
                    963:     );
                    964: 
                    965: #ifdef UNICODE
                    966: #define UuidFromString UuidFromStringW
                    967: #define UuidToString UuidToStringW
                    968: #else /* UNICODE */
                    969: #define UuidFromString UuidFromStringA
                    970: #define UuidToString UuidToStringA
                    971: #endif /* UNICODE */
                    972: 
                    973: #else /* RPC_UNICODE_SUPPORTED */
                    974: 
                    975: /* client/server */
                    976: RPC_STATUS RPC_ENTRY
                    977: UuidToString (
                    978:     IN UUID PAPI * Uuid,
                    979:     OUT unsigned char PAPI * PAPI * StringUuid
                    980:     );
                    981: 
                    982: /* client/server */
                    983: RPC_STATUS RPC_ENTRY
                    984: UuidFromString (
                    985:     IN unsigned char PAPI * StringUuid,
                    986:     OUT UUID PAPI * Uuid
                    987:     );
                    988: 
                    989: #endif /* RPC_UNICODE_SUPPORTED */
                    990: 
                    991: #ifdef RPC_UNICODE_SUPPORTED
                    992: 
                    993: RPC_STATUS RPC_ENTRY
                    994: RpcEpRegisterNoReplaceA (
                    995:     IN RPC_IF_HANDLE IfSpec,
                    996:     IN RPC_BINDING_VECTOR * BindingVector,
                    997:     IN UUID_VECTOR * UuidVector OPTIONAL,
                    998:     IN unsigned char * Annotation
                    999:     );
                   1000: 
                   1001: RPC_STATUS RPC_ENTRY
                   1002: RpcEpRegisterNoReplaceW (
                   1003:     IN RPC_IF_HANDLE IfSpec,
                   1004:     IN RPC_BINDING_VECTOR * BindingVector,
                   1005:     IN UUID_VECTOR * UuidVector OPTIONAL,
                   1006:     IN unsigned short  * Annotation
                   1007:     );
                   1008: 
                   1009: RPC_STATUS RPC_ENTRY
                   1010: RpcEpRegisterA (
                   1011:     IN RPC_IF_HANDLE IfSpec,
                   1012:     IN RPC_BINDING_VECTOR * BindingVector,
                   1013:     IN UUID_VECTOR * UuidVector OPTIONAL,
                   1014:     IN unsigned char * Annotation
                   1015:     );
                   1016: 
                   1017: RPC_STATUS RPC_ENTRY
                   1018: RpcEpRegisterW (
                   1019:     IN RPC_IF_HANDLE IfSpec,
                   1020:     IN RPC_BINDING_VECTOR * BindingVector,
                   1021:     IN UUID_VECTOR * UuidVector OPTIONAL,
                   1022:     IN unsigned short * Annotation
                   1023:     );
                   1024: 
                   1025: #ifdef UNICODE
                   1026: #define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceW
                   1027: #define RpcEpRegister RpcEpRegisterW
                   1028: #else /* UNICODE */
                   1029: #define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceA
                   1030: #define RpcEpRegister RpcEpRegisterA
                   1031: #endif /* UNICODE */
                   1032: 
                   1033: #else /* RPC_UNICODE_SUPPORTED */
                   1034: 
                   1035: RPC_STATUS RPC_ENTRY
                   1036: RpcEpRegisterNoReplace (
                   1037:     IN RPC_IF_HANDLE IfSpec,
                   1038:     IN RPC_BINDING_VECTOR * BindingVector,
                   1039:     IN UUID_VECTOR * UuidVector OPTIONAL,
                   1040:     IN unsigned  char * Annotation
                   1041:     );
                   1042: 
                   1043: RPC_STATUS RPC_ENTRY
                   1044: RpcEpRegister (
                   1045:     IN RPC_IF_HANDLE IfSpec,
                   1046:     IN RPC_BINDING_VECTOR * BindingVector,
                   1047:     IN UUID_VECTOR * UuidVector OPTIONAL,
                   1048:     IN unsigned char * Annotation
                   1049:     );
                   1050: 
                   1051: #endif /* RPC_UNICODE_SUPPORTED */
                   1052: 
                   1053: 
                   1054: RPC_STATUS RPC_ENTRY
                   1055: RpcEpUnregister(
                   1056:     IN RPC_IF_HANDLE IfSpec,
                   1057:     IN RPC_BINDING_VECTOR * BindingVector,
                   1058:     IN UUID_VECTOR * UuidVector
                   1059:     );
                   1060: 
                   1061: #include "rpcdcep.h"
                   1062: 
                   1063: #endif /* __RPCDCE_H__ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.