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

1.1       root        1: /*++
                      2: 
1.1.1.3 ! root        3: Copyright (c) 1991-1993 Microsoft Corporation
1.1       root        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: 
1.1.1.3 ! root       26: // Set the packing level for RPC structures for Dos and Windows.
        !            27: 
        !            28: #if defined(__RPC_DOS__) || defined(__RPC_WIN16__)
        !            29: #pragma pack(2)
        !            30: #endif
        !            31: 
        !            32: #ifdef __cplusplus
        !            33: extern "C" {
        !            34: #endif
        !            35: 
1.1       root       36: typedef struct _RPC_VERSION {
                     37:     unsigned short MajorVersion;
                     38:     unsigned short MinorVersion;
                     39: } RPC_VERSION;
                     40: 
                     41: typedef struct _RPC_SYNTAX_IDENTIFIER {
                     42:     GUID SyntaxGUID;
                     43:     RPC_VERSION SyntaxVersion;
1.1.1.3 ! root       44: } RPC_SYNTAX_IDENTIFIER, __RPC_FAR * PRPC_SYNTAX_IDENTIFIER;
1.1       root       45: 
                     46: typedef struct _RPC_MESSAGE
                     47: {
                     48:     RPC_BINDING_HANDLE Handle;
                     49:     unsigned long DataRepresentation;
1.1.1.3 ! root       50:     void __RPC_FAR * Buffer;
1.1       root       51:     unsigned int BufferLength;
                     52:     unsigned int ProcNum;
                     53:     PRPC_SYNTAX_IDENTIFIER TransferSyntax;
1.1.1.3 ! root       54:     void __RPC_FAR * RpcInterfaceInformation;
        !            55:     void __RPC_FAR * ReservedForRuntime;
        !            56:     RPC_MGR_EPV __RPC_FAR * ManagerEpv;
        !            57:     void __RPC_FAR * ImportContext;
1.1       root       58:     unsigned long RpcFlags;
1.1.1.3 ! root       59: } RPC_MESSAGE, __RPC_FAR * PRPC_MESSAGE;
1.1       root       60: 
1.1.1.3 ! root       61: typedef
        !            62: void
        !            63: (__RPC_STUB __RPC_FAR * RPC_DISPATCH_FUNCTION) (
        !            64:     IN OUT PRPC_MESSAGE Message
        !            65:     );
1.1       root       66: 
                     67: typedef struct {
                     68:     unsigned int DispatchTableCount;
1.1.1.3 ! root       69:     RPC_DISPATCH_FUNCTION __RPC_FAR * DispatchTable;
1.1       root       70:     int Reserved;
1.1.1.3 ! root       71: } RPC_DISPATCH_TABLE, __RPC_FAR * PRPC_DISPATCH_TABLE;
1.1       root       72: 
                     73: typedef struct _RPC_PROTSEQ_ENDPOINT
                     74: {
1.1.1.3 ! root       75:     unsigned char __RPC_FAR * RpcProtocolSequence;
        !            76:     unsigned char __RPC_FAR * Endpoint;
        !            77: } RPC_PROTSEQ_ENDPOINT, __RPC_FAR * PRPC_PROTSEQ_ENDPOINT;
1.1       root       78: 
                     79: /*
                     80: Both of this types MUST start with the InterfaceId and TransferSyntax.
                     81: Look at RpcIfInqId and I_RpcIfInqTransferSyntaxes to see why.
                     82: */
                     83: 
                     84: typedef struct _RPC_SERVER_INTERFACE
                     85: {
                     86:     unsigned int Length;
                     87:     RPC_SYNTAX_IDENTIFIER InterfaceId;
                     88:     RPC_SYNTAX_IDENTIFIER TransferSyntax;
                     89:     PRPC_DISPATCH_TABLE DispatchTable;
                     90:     unsigned int RpcProtseqEndpointCount;
                     91:     PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
1.1.1.3 ! root       92:     void __RPC_FAR * MopInterfaceInformation;
        !            93: } RPC_SERVER_INTERFACE, __RPC_FAR * PRPC_SERVER_INTERFACE;
1.1       root       94: 
                     95: typedef struct _RPC_CLIENT_INTERFACE
                     96: {
                     97:     unsigned int Length;
                     98:     RPC_SYNTAX_IDENTIFIER InterfaceId;
                     99:     RPC_SYNTAX_IDENTIFIER TransferSyntax;
                    100:     PRPC_DISPATCH_TABLE DispatchTable;
                    101:     unsigned int RpcProtseqEndpointCount;
                    102:     PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
1.1.1.3 ! root      103:     void __RPC_FAR * MopInterfaceInformation;
        !           104: } RPC_CLIENT_INTERFACE, __RPC_FAR * PRPC_CLIENT_INTERFACE;
1.1       root      105: 
                    106: RPC_STATUS RPC_ENTRY
                    107: I_RpcGetBuffer (
1.1.1.3 ! root      108:     IN OUT RPC_MESSAGE __RPC_FAR * Message
1.1       root      109:     );
                    110: 
                    111: RPC_STATUS RPC_ENTRY
                    112: I_RpcSendReceive (
1.1.1.3 ! root      113:     IN OUT RPC_MESSAGE __RPC_FAR * Message
1.1       root      114:     );
                    115: 
                    116: RPC_STATUS RPC_ENTRY
                    117: I_RpcFreeBuffer (
1.1.1.3 ! root      118:     IN OUT RPC_MESSAGE __RPC_FAR * Message
1.1       root      119:     );
                    120: 
                    121: typedef void * I_RPC_MUTEX;
                    122: 
                    123: void RPC_ENTRY
                    124: I_RpcRequestMutex (
                    125:     IN OUT I_RPC_MUTEX * Mutex
                    126:     );
                    127: 
                    128: void RPC_ENTRY
                    129: I_RpcClearMutex (
                    130:     IN I_RPC_MUTEX Mutex
                    131:     );
                    132: 
                    133: void RPC_ENTRY
                    134: I_RpcDeleteMutex (
                    135:     IN I_RPC_MUTEX Mutex
                    136:     );
                    137: 
1.1.1.3 ! root      138: void __RPC_FAR * RPC_ENTRY
1.1       root      139: I_RpcAllocate (
                    140:     IN unsigned int Size
                    141:     );
                    142: 
                    143: void RPC_ENTRY
                    144: I_RpcFree (
1.1.1.3 ! root      145:     IN void __RPC_FAR * Object
1.1       root      146:     );
                    147: 
                    148: void RPC_ENTRY
                    149: I_RpcPauseExecution (
                    150:     IN unsigned long Milliseconds
                    151:     );
                    152: 
                    153: typedef
                    154: void
1.1.1.3 ! root      155: (__RPC_USER __RPC_FAR * PRPC_RUNDOWN) (
        !           156:     void __RPC_FAR * AssociationContext
1.1       root      157:     );
                    158: 
                    159: RPC_STATUS RPC_ENTRY
                    160: I_RpcMonitorAssociation (
                    161:     IN RPC_BINDING_HANDLE Handle,
                    162:     IN PRPC_RUNDOWN RundownRoutine,
                    163:     IN void * Context
                    164:     );
                    165: 
                    166: RPC_STATUS RPC_ENTRY
                    167: I_RpcStopMonitorAssociation (
                    168:     IN RPC_BINDING_HANDLE Handle
                    169:     );
                    170: 
                    171: RPC_BINDING_HANDLE RPC_ENTRY
                    172: I_RpcGetCurrentCallHandle(
                    173:     void
                    174:     );
                    175: 
                    176: RPC_STATUS RPC_ENTRY
                    177: I_RpcGetAssociationContext (
1.1.1.3 ! root      178:     OUT void __RPC_FAR * __RPC_FAR * AssociationContext
1.1       root      179:     );
                    180: 
                    181: RPC_STATUS RPC_ENTRY
                    182: I_RpcSetAssociationContext (
1.1.1.3 ! root      183:     IN void __RPC_FAR * AssociationContext
1.1       root      184:     );
                    185: 
                    186: #ifdef RPC_UNICODE_SUPPORTED
                    187: 
                    188: RPC_STATUS RPC_ENTRY
                    189: I_RpcNsBindingSetEntryName (
                    190:     IN RPC_BINDING_HANDLE Binding,
                    191:     IN unsigned long EntryNameSyntax,
1.1.1.3 ! root      192:     IN unsigned short __RPC_FAR * EntryName
1.1       root      193:     );
                    194: 
                    195: #else /* RPC_UNICODE_SUPPORTED */
                    196: 
                    197: RPC_STATUS RPC_ENTRY
                    198: I_RpcNsBindingSetEntryName (
                    199:     IN RPC_BINDING_HANDLE Binding,
                    200:     IN unsigned long EntryNameSyntax,
1.1.1.3 ! root      201:     IN unsigned char __RPC_FAR * EntryName
1.1       root      202:     );
                    203: 
                    204: #endif /* RPC_UNICODE_SUPPORTED */
                    205: 
                    206: #ifdef RPC_UNICODE_SUPPORTED
                    207: 
                    208: RPC_STATUS RPC_ENTRY
                    209: I_RpcBindingInqDynamicEndpoint (
                    210:     IN RPC_BINDING_HANDLE Binding,
1.1.1.3 ! root      211:     OUT unsigned short __RPC_FAR * __RPC_FAR * DynamicEndpoint
1.1       root      212:     );
                    213: 
                    214: #else /* RPC_UNICODE_SUPPORTED */
                    215: 
                    216: RPC_STATUS RPC_ENTRY
                    217: I_RpcBindingInqDynamicEndpoint (
                    218:     IN RPC_BINDING_HANDLE Binding,
1.1.1.3 ! root      219:     OUT unsigned char __RPC_FAR * __RPC_FAR * DynamicEndpoint
1.1       root      220:     );
                    221: 
                    222: #endif /* RPC_UNICODE_SUPPORTED */
                    223: 
                    224: typedef struct _RPC_TRANSFER_SYNTAX
                    225: {
                    226:     UUID Uuid;
                    227:     unsigned short VersMajor;
                    228:     unsigned short VersMinor;
                    229: } RPC_TRANSFER_SYNTAX;
                    230: 
                    231: RPC_STATUS RPC_ENTRY
                    232: I_RpcIfInqTransferSyntaxes (
                    233:     IN RPC_IF_HANDLE RpcIfHandle,
1.1.1.3 ! root      234:     OUT RPC_TRANSFER_SYNTAX __RPC_FAR * TransferSyntaxes,
1.1       root      235:     IN unsigned int TransferSyntaxSize,
1.1.1.3 ! root      236:     OUT unsigned int __RPC_FAR * TransferSyntaxCount
1.1       root      237:     );
                    238: 
                    239: RPC_STATUS RPC_ENTRY
                    240: I_UuidCreate (
1.1.1.3 ! root      241:     OUT UUID __RPC_FAR * Uuid
1.1       root      242:     );
                    243: 
                    244: RPC_STATUS RPC_ENTRY
                    245: I_RpcBindingCopy (
                    246:     IN RPC_BINDING_HANDLE SourceBinding,
1.1.1.3 ! root      247:     OUT RPC_BINDING_HANDLE __RPC_FAR * DestinationBinding
        !           248:     );
        !           249: 
        !           250: RPC_STATUS RPC_ENTRY
        !           251: I_RpcBindingIsClientLocal (
        !           252:     IN RPC_BINDING_HANDLE BindingHandle OPTIONAL,
        !           253:     OUT unsigned int __RPC_FAR * ClientLocalFlag
        !           254:     );
        !           255: 
        !           256: void RPC_ENTRY
        !           257: I_RpcSsDontSerializeContext (
        !           258:     void
1.1       root      259:     );
                    260: 
                    261: /* Functions to do performace timing */
                    262: 
                    263: extern unsigned long TraceCallTime;    /* Time to call the trace system */
                    264: extern unsigned long ChargeCallTime;   /* Time to call the Charge API */
                    265: 
                    266: typedef enum {
                    267: 
                    268:     TIME_RUNTIME = 0,
                    269:     TIME_STUB,
                    270:     TIME_TRANSPORT,
                    271:     TIME_USER,
                    272:     TIME_MAX,
                    273:     TIME_LOST
                    274: 
                    275: } TIME_SLOT;
                    276: 
                    277: void RPC_ENTRY
                    278: I_RpcTimeReset(
                    279:     void
                    280:     );
                    281: 
                    282: void RPC_ENTRY
                    283: I_RpcTimeCharge(
                    284:     IN TIME_SLOT Account
                    285:     );
                    286: 
                    287: unsigned long * RPC_ENTRY
                    288: I_RpcTimeGet(
1.1.1.3 ! root      289:     char __RPC_FAR * ApiName
1.1       root      290:     );
                    291: 
1.1.1.3 ! root      292: #ifdef __cplusplus
        !           293: }
        !           294: #endif
        !           295: 
        !           296: // Reset the packing level for Dos and Windows.
        !           297: 
        !           298: #if defined(__RPC_DOS__) || defined(__RPC_WIN16__)
        !           299: #pragma pack()
        !           300: #endif
1.1       root      301: 
                    302: #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.