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

1.1       root        1: /*++
                      2: 
                      3: Copyright (c) 1991 Microsoft Corporation
                      4: 
                      5: Module Name:
                      6: 
                      7:     rpcdcep.h
                      8: 
                      9: Abstract:
                     10: 
                     11:     This module contains the private RPC runtime APIs for use by the
                     12:     stubs and by support libraries.  Applications must not call these
                     13:     routines.
                     14: 
                     15: Author:
                     16: 
                     17:     Michael Montague (mikemon) 25-Sep-1991
                     18: 
                     19: Revision History:
                     20: 
                     21: --*/
                     22: 
                     23: #ifndef __RPCDCEP_H__
                     24: #define __RPCDCEP_H__
                     25: 
                     26: typedef struct _RPC_VERSION {
                     27:     unsigned short MajorVersion;
                     28:     unsigned short MinorVersion;
                     29: } RPC_VERSION;
                     30: 
                     31: typedef struct _RPC_SYNTAX_IDENTIFIER {
                     32:     GUID SyntaxGUID;
                     33:     RPC_VERSION SyntaxVersion;
                     34: } RPC_SYNTAX_IDENTIFIER, PAPI * PRPC_SYNTAX_IDENTIFIER;
                     35: 
                     36: typedef struct _RPC_MESSAGE
                     37: {
                     38:     RPC_BINDING_HANDLE Handle;
                     39:     unsigned long DataRepresentation;
                     40:     void PAPI * Buffer;
                     41:     unsigned int BufferLength;
                     42:     unsigned int ProcNum;
                     43:     PRPC_SYNTAX_IDENTIFIER TransferSyntax;
                     44:     void PAPI * RpcInterfaceInformation;
                     45:     void PAPI * ReservedForRuntime;
                     46:     RPC_MGR_EPV ManagerEpv;
                     47:     void PAPI * ImportContext;
                     48:     unsigned long RpcFlags;
                     49: } RPC_MESSAGE, PAPI * PRPC_MESSAGE;
                     50: 
                     51: typedef void (PAPI * RPC_DISPATCH_FUNCTION) (IN OUT PRPC_MESSAGE Message);
                     52: 
                     53: typedef struct {
                     54:     unsigned int DispatchTableCount;
                     55:     RPC_DISPATCH_FUNCTION PAPI * DispatchTable;
                     56:     int Reserved;
                     57: } RPC_DISPATCH_TABLE, PAPI * PRPC_DISPATCH_TABLE;
                     58: 
                     59: typedef struct _RPC_PROTSEQ_ENDPOINT
                     60: {
                     61:     unsigned char PAPI * RpcProtocolSequence;
                     62:     unsigned char PAPI * Endpoint;
                     63: } RPC_PROTSEQ_ENDPOINT, PAPI * PRPC_PROTSEQ_ENDPOINT;
                     64: 
                     65: /*
                     66: Both of this types MUST start with the InterfaceId and TransferSyntax.
                     67: Look at RpcIfInqId and I_RpcIfInqTransferSyntaxes to see why.
                     68: */
                     69: 
                     70: typedef struct _RPC_SERVER_INTERFACE
                     71: {
                     72:     unsigned int Length;
                     73:     RPC_SYNTAX_IDENTIFIER InterfaceId;
                     74:     RPC_SYNTAX_IDENTIFIER TransferSyntax;
                     75:     PRPC_DISPATCH_TABLE DispatchTable;
                     76:     unsigned int RpcProtseqEndpointCount;
                     77:     PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
                     78:     void PAPI * MopInterfaceInformation;
                     79: } RPC_SERVER_INTERFACE, PAPI * PRPC_SERVER_INTERFACE;
                     80: 
                     81: typedef struct _RPC_CLIENT_INTERFACE
                     82: {
                     83:     unsigned int Length;
                     84:     RPC_SYNTAX_IDENTIFIER InterfaceId;
                     85:     RPC_SYNTAX_IDENTIFIER TransferSyntax;
                     86:     PRPC_DISPATCH_TABLE DispatchTable;
                     87:     unsigned int RpcProtseqEndpointCount;
                     88:     PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
                     89:     void PAPI * MopInterfaceInformation;
                     90: } RPC_CLIENT_INTERFACE, PAPI * PRPC_CLIENT_INTERFACE;
                     91: 
                     92: RPC_STATUS RPC_ENTRY
                     93: I_RpcGetBuffer (
                     94:     IN OUT RPC_MESSAGE PAPI * Message
                     95:     );
                     96: 
                     97: RPC_STATUS RPC_ENTRY
                     98: #ifndef WIN16RPC
                     99: I_RpcSendReceive (
                    100: #else
                    101: I_RpcSendReceiveWin (
                    102: #endif /* ! WIN16RPC */
                    103:     IN OUT RPC_MESSAGE PAPI * Message
                    104:     );
                    105: 
                    106: RPC_STATUS RPC_ENTRY
                    107: I_RpcFreeBuffer (
                    108:     IN OUT RPC_MESSAGE PAPI * Message
                    109:     );
                    110: 
                    111: typedef void * I_RPC_MUTEX;
                    112: 
                    113: void RPC_ENTRY
                    114: I_RpcRequestMutex (
                    115:     IN OUT I_RPC_MUTEX * Mutex
                    116:     );
                    117: 
                    118: void RPC_ENTRY
                    119: I_RpcClearMutex (
                    120:     IN I_RPC_MUTEX Mutex
                    121:     );
                    122: 
                    123: void RPC_ENTRY
                    124: I_RpcDeleteMutex (
                    125:     IN I_RPC_MUTEX Mutex
                    126:     );
                    127: 
                    128: void PAPI * RPC_ENTRY
                    129: I_RpcAllocate (
                    130:     IN unsigned int Size
                    131:     );
                    132: 
                    133: void RPC_ENTRY
                    134: I_RpcFree (
                    135:     IN void PAPI * Object
                    136:     );
                    137: 
                    138: void RPC_ENTRY
                    139: I_RpcPauseExecution (
                    140:     IN unsigned long Milliseconds
                    141:     );
                    142: 
                    143: typedef
                    144: void
                    145: (PAPI * PRPC_RUNDOWN) (
                    146:     void PAPI * AssociationContext
                    147:     );
                    148: 
                    149: RPC_STATUS RPC_ENTRY
                    150: I_RpcMonitorAssociation (
                    151:     IN RPC_BINDING_HANDLE Handle,
                    152:     IN PRPC_RUNDOWN RundownRoutine,
                    153:     IN void * Context
                    154:     );
                    155: 
                    156: RPC_STATUS RPC_ENTRY
                    157: I_RpcStopMonitorAssociation (
                    158:     IN RPC_BINDING_HANDLE Handle
                    159:     );
                    160: 
                    161: RPC_BINDING_HANDLE RPC_ENTRY
                    162: I_RpcGetCurrentCallHandle(
                    163:     void
                    164:     );
                    165: 
                    166: RPC_STATUS RPC_ENTRY
                    167: I_RpcGetAssociationContext (
                    168:     OUT void PAPI * PAPI * AssociationContext
                    169:     );
                    170: 
                    171: RPC_STATUS RPC_ENTRY
                    172: I_RpcSetAssociationContext (
                    173:     IN void PAPI * AssociationContext
                    174:     );
                    175: 
                    176: #ifdef RPC_UNICODE_SUPPORTED
                    177: 
                    178: RPC_STATUS RPC_ENTRY
                    179: I_RpcNsBindingSetEntryName (
                    180:     IN RPC_BINDING_HANDLE Binding,
                    181:     IN unsigned long EntryNameSyntax,
                    182:     IN unsigned short PAPI * EntryName
                    183:     );
                    184: 
                    185: #else /* RPC_UNICODE_SUPPORTED */
                    186: 
                    187: RPC_STATUS RPC_ENTRY
                    188: I_RpcNsBindingSetEntryName (
                    189:     IN RPC_BINDING_HANDLE Binding,
                    190:     IN unsigned long EntryNameSyntax,
                    191:     IN unsigned char PAPI * EntryName
                    192:     );
                    193: 
                    194: #endif /* RPC_UNICODE_SUPPORTED */
                    195: 
                    196: #ifdef RPC_UNICODE_SUPPORTED
                    197: 
                    198: RPC_STATUS RPC_ENTRY
                    199: I_RpcBindingInqDynamicEndpoint (
                    200:     IN RPC_BINDING_HANDLE Binding,
                    201:     OUT unsigned short PAPI * PAPI * DynamicEndpoint
                    202:     );
                    203: 
                    204: #else /* RPC_UNICODE_SUPPORTED */
                    205: 
                    206: RPC_STATUS RPC_ENTRY
                    207: I_RpcBindingInqDynamicEndpoint (
                    208:     IN RPC_BINDING_HANDLE Binding,
                    209:     OUT unsigned char PAPI * PAPI * DynamicEndpoint
                    210:     );
                    211: 
                    212: #endif /* RPC_UNICODE_SUPPORTED */
                    213: 
                    214: typedef struct _RPC_TRANSFER_SYNTAX
                    215: {
                    216:     UUID Uuid;
                    217:     unsigned short VersMajor;
                    218:     unsigned short VersMinor;
                    219: } RPC_TRANSFER_SYNTAX;
                    220: 
                    221: RPC_STATUS RPC_ENTRY
                    222: I_RpcIfInqTransferSyntaxes (
                    223:     IN RPC_IF_HANDLE RpcIfHandle,
                    224:     OUT RPC_TRANSFER_SYNTAX PAPI * TransferSyntaxes,
                    225:     IN unsigned int TransferSyntaxSize,
                    226:     OUT unsigned int PAPI * TransferSyntaxCount
                    227:     );
                    228: 
                    229: RPC_STATUS RPC_ENTRY
                    230: I_UuidCreate (
                    231:     OUT UUID PAPI * Uuid
                    232:     );
                    233: 
                    234: RPC_STATUS RPC_ENTRY
                    235: I_RpcBindingCopy (
                    236:     IN RPC_BINDING_HANDLE SourceBinding,
                    237:     OUT RPC_BINDING_HANDLE PAPI * DestinationBinding
                    238:     );
                    239: 
                    240: /* Functions to do performace timing */
                    241: 
                    242: extern unsigned long TraceCallTime;    /* Time to call the trace system */
                    243: extern unsigned long ChargeCallTime;   /* Time to call the Charge API */
                    244: 
                    245: typedef enum {
                    246: 
                    247:     TIME_RUNTIME = 0,
                    248:     TIME_STUB,
                    249:     TIME_TRANSPORT,
                    250:     TIME_USER,
                    251:     TIME_MAX,
                    252:     TIME_LOST
                    253: 
                    254: } TIME_SLOT;
                    255: 
                    256: void RPC_ENTRY
                    257: I_RpcTimeReset(
                    258:     void
                    259:     );
                    260: 
                    261: void RPC_ENTRY
                    262: I_RpcTimeCharge(
                    263:     IN TIME_SLOT Account
                    264:     );
                    265: 
                    266: unsigned long * RPC_ENTRY
                    267: I_RpcTimeGet(
                    268:     char PAPI * ApiName
                    269:     );
                    270: 
                    271: 
                    272: #endif /* __RPCDCEP_H__ */

unix.superglobalmegacorp.com

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