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

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