/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Copyright (c) 1989-2000 Microsoft Corporation Module Name: cgcommon.hxx Abstract: common definitions across back-end and analysis modules. Notes: History: VibhasC Aug-15-1993 Created. ----------------------------------------------------------------------------*/ #ifndef __CGCOMMON_HXX__ #define __CGCOMMON_HXX__ // If we want temporary Oi server stubs in order to make stress failure // debugging easier uncomment the following line // #define TEMPORARY_OI_SERVER_STUBS ///////////////////////////////////////////////////////////////////////////// // Code generation phase identification. ///////////////////////////////////////////////////////////////////////////// // // This enumeration specifies the codegen or analysis side. // typedef enum _side { C_SIDE, // client S_SIDE, // server side A_SIDE // aux routines } SIDE; // // This enumeration identifies the code generation or analysis phase. // typedef enum _cgphase { CGPHASE_MARSHALL ,CGPHASE_UNMARSHALL // // This is actually the count of phases // ,CGPHASE_COUNT } CGPHASE; ////////////////////////////////////////////////////////////////////////////// // Code generation side (client/server) identification. ////////////////////////////////////////////////////////////////////////////// // // This enumeration identifies which side code is currently being // generated for. // typedef enum _cgside { CGSIDE_CLIENT ,CGSIDE_SERVER } CGSIDE; // // The standard resource identifier is a quick means of identifying the // resource. // typedef enum _standard_res_id { ST_LOCAL_RESOURCE_START ,ST_RES_RPC_MESSAGE_VARIABLE = ST_LOCAL_RESOURCE_START ,ST_RES_STUB_MESSAGE_VARIABLE ,ST_RES_STUB_DESC_VARIABLE ,ST_RES_BUFFER_POINTER_VARIABLE ,ST_RES_RPC_STATUS_VARIABLE ,ST_RES_LENGTH_VARIABLE ,ST_RES_BH_VARIABLE ,ST_RES_PXMIT_VARIABLE ,ST_LOCAL_RESOURCE_END ,ST_PARAM_RESOURCE_START = ST_LOCAL_RESOURCE_END ,ST_RES_PRPC_MESSAGE = ST_PARAM_RESOURCE_START ,ST_PARAM_RESOURCE_END ,ST_GLOBAL_RESOURCE_START= ST_PARAM_RESOURCE_END ,ST_RES_AUTO_BH_VARIABLE = ST_GLOBAL_RESOURCE_START ,ST_RES_FORMAT_STRING_VARIABLE ,ST_GLOBAL_RESOURCE_END } STANDARD_RES_ID; #define IS_STANDARD_LOCAL_RESOURCE( ResID ) \ ((ResID >= ST_LOCAL_RESOURCE_START) && (ResID < ST_LOCAL_RESOURCE_END)) #define IS_STANDARD_PARAM_RESOURCE( ResID ) \ ((ResID >= ST_PARAM_RESOURCE_START) && (ResID < ST_PARAM_RESOURCE_END)) #define IS_STANDARD_GLOBAL_RESOURCE( ResID ) \ ((ResID >= ST_GLOBAL_RESOURCE_START) && (ResID < ST_GLOBAL_RESOURCE_END)) ////////////////////////////////////////////////////////////////////////////// // stub resource name and type name strings. // Note:: If uou add a standard resource name here, add to the standard // resource id enumeration list too ! ////////////////////////////////////////////////////////////////////////////// #define LOCAL_NAME_POINTER_MANGLE "_p_" #define LOCAL_NAME_ARRAY_MANGLE "_a_" #define PRPC_MESSAGE_TYPE_NAME "PRPC_MESSAGE" #define PRPC_MESSAGE_VAR_NAME "_pRpcMessage" #define RPC_MESSAGE_TYPE_NAME "RPC_MESSAGE" #define RPC_MESSAGE_VAR_NAME "_RpcMessage" #define RPC_MESSAGE_HANDLE_VAR_NAME RPC_MESSAGE_VAR_NAME".Handle" #define PRPC_MESSAGE_HANDLE_VAR_NAME PRPC_MESSAGE_VAR_NAME"->Handle" #define PRPC_MESSAGE_MANAGER_EPV_NAME PRPC_MESSAGE_VAR_NAME"->ManagerEpv" #define RPC_MESSAGE_DATA_REP RPC_MESSAGE_VAR_NAME".DataRepresentation" #define PRPC_MESSAGE_DATA_REP PRPC_MESSAGE_VAR_NAME"->DataRepresentation" #define STUB_MESSAGE_TYPE_NAME "MIDL_STUB_MESSAGE" #define STUB_MESSAGE_VAR_NAME "_StubMsg" #define PSTUB_MESSAGE_TYPE_NAME "PMIDL_STUB_MESSAGE" #define PSTUB_MESSAGE_VAR_NAME "_pStubMsg" #define PSTUB_MESSAGE_PAR_NAME "pStubMsg" #define STUB_MSG_LENGTH_VAR_NAME STUB_MESSAGE_VAR_NAME".BufferLength" #define PSTUB_MSG_LENGTH_VAR_NAME PSTUB_MESSAGE_PAR_NAME"->BufferLength" #define STUB_MSG_BUFFER_VAR_NAME STUB_MESSAGE_VAR_NAME".Buffer" #define STUB_MSG_BUFFER_END_VAR_NAME STUB_MESSAGE_VAR_NAME".BufferEnd" #define RETURN_VALUE_VAR_NAME "_RetVal" #define STUB_DESC_STRUCT_TYPE_NAME "MIDL_STUB_DESC" #define STUB_DESC_STRUCT_VAR_NAME "_StubDesc" #define PSTUB_DESC_STRUCT_TYPE_NAME "PMIDL_STUB_DESC" #define SERVER_INFO_TYPE_NAME "MIDL_SERVER_INFO" #define SERVER_INFO_VAR_NAME "_ServerInfo" #define SERVER_ROUTINE_TYPE_NAME "SERVER_ROUTINE" #define SERVER_ROUTINE_TABLE_NAME "_ServerRoutineTable" #define MIDL_SYNTAX_INFO_TYPE_NAME "MIDL_SYNTAX_INFO" #define MIDL_SYNTAX_INFO_VAR_NAME "_SyntaxInfo" #define PMIDL_PROXY_INFO_TYPE_NAME "PMIDL_STUBLESS_PROXY_INFO" #define MIDL_PROXY_INFO_TYPE_NAME "MIDL_STUBLESS_PROXY_INFO" #define MIDL_PROXY_INFO_VAR_NAME "_ProxyInfo" #define FORMAT_STRING_OFFSET_TABLE_NAME "_FormatStringOffsetTable" #define NDR64_FORMAT_STRING_OFFSET_TABLE_NAME "_NDR64FormatStringOffsetTable" #define MIDL_CALLBACK_VAR_NAME "_callback" //#define CALLBACK_FORMAT_STRING_OFFSET_TABLE_NAME "_CallbackFormatStringOffsetTable" //#define NDR64_CALLBACK_FORMAT_STRING_OFFSET_TABLE_NAME "_CallbackNDR64FormatStringOffsetTable" #define STUB_THUNK_TYPE_NAME "STUB_THUNK" #define STUB_THUNK_TABLE_NAME "_StubThunkTable" #define BUFFER_POINTER_TYPE_NAME "RPC_BUFPTR" #define BUFFER_POINTER_VAR_NAME "_pBuffer" #define RPC_STATUS_TYPE_NAME "RPC_STATUS" #define RPC_STATUS_VAR_NAME "_Status" #define BH_LOCAL_VAR_TYPE_NAME "RPC_BINDING_HANDLE" #define BH_LOCAL_VAR_NAME "_Handle" #define LENGTH_VAR_NAME "_Length" #define LENGTH_VAR_TYPE_NAME "RPC_LENGTH" #define RPC_C_INT_INFO_TYPE_NAME "RPC_CLIENT_INTERFACE" #define RPC_C_INT_INFO_STRUCT_NAME "___RpcClientInterface" #define RPC_S_INT_INFO_TYPE_NAME "RPC_SERVER_INTERFACE" #define RPC_S_INT_INFO_STRUCT_NAME "___RpcServerInterface" #define FORMAT_STRING_TYPE_NAME "MIDL_TYPE_FORMAT_STRING" #define PFORMAT_STRING_TYPE_NAME "PFORMAT_STRING" #define FORMAT_STRING_STRUCT_NAME "__MIDL_TypeFormatString" #define FORMAT_STRING_STRING_FIELD FORMAT_STRING_STRUCT_NAME ".Format" #if 0 // BUG BUG, delete once code is stable #define NDR64_FORMAT_STRING_TYPE_NAME "NDR64_MIDL_TYPE_FORMAT_STRING" #define NDR64_FORMAT_STRING_STRUCT_NAME "__MIDL_NDR64TypeFormatString" #define NDR64_FORMAT_STRING_STRING_FIELD NDR64_FORMAT_STRING_STRUCT_NAME ".Format" #endif #define PROC_FORMAT_STRING_TYPE_NAME "MIDL_PROC_FORMAT_STRING" #define PPROC_FORMAT_STRING_TYPE_NAME FORMAT_STRING_TYPE_NAME #define PROC_FORMAT_STRING_STRUCT_NAME "__MIDL_ProcFormatString" #define PROC_FORMAT_STRING_STRING_FIELD PROC_FORMAT_STRING_STRUCT_NAME ".Format" #if 0 // BUG BUG, delete once code is stable #define NDR64_PROC_FORMAT_STRING_TYPE_NAME "NDR64_MIDL_PROC_FORMAT_STRING" #define NDR64_PROC_FORMAT_STRING_STRUCT_NAME "__MIDL_NDR64ProcFormatString" #define NDR64_PROC_FORMAT_STRING_STRING_FIELD NDR64_PROC_FORMAT_STRING_STRUCT_NAME ".Format" #define NDR64_PROC_FORMAT_STRING_STRING_FIELD NDR64_PROC_FORMAT_STRING_STRUCT_NAME ".Format" #endif #define EXPR_FORMAT_STRING_TYPE_NAME "MIDL_EXPR_FORMAT_STRING" #define PEXPR_FORMAT_STRING_TYPE_NAME "PEXPR_FORMAT_STRING" #define EXPR_FORMAT_STRING_STRUCT_NAME "__MIDL_ExprFormatString" #define EXPR_FORMAT_STRING_STRING_FIELD FORMAT_STRING_STRUCT_NAME ".Format" #define EXPR_FORMAT_STRING_OFFSET_TABLE EXPR_FORMAT_STRING_STRUCT_NAME"OffsetTable" #define RUNDOWN_ROUTINE_TABLE_TYPE "NDR_RUNDOWN" #define RUNDOWN_ROUTINE_TABLE_VAR "RundownRoutines" #define BINDING_ROUTINE_TABLE_TYPE "GENERIC_BINDING_ROUTINE_PAIR" #define BINDING_ROUTINE_TABLE_VAR "BindingRoutines" #define EXPR_EVAL_ROUTINE_TABLE_TYPE "EXPR_EVAL" #define EXPR_EVAL_ROUTINE_TABLE_VAR "ExprEvalRoutines" #define TRANSMIT_AS_TABLE_SIZE "TRANSMIT_AS_TABLE_SIZE" #define XMIT_AS_ROUTINE_TABLE_TYPE "XMIT_ROUTINE_QUINTUPLE" #define XMIT_AS_ROUTINE_TABLE_VAR "TransmitAsRoutines" #define XMIT_TO_XMIT "_XmitTranslateToXmit" #define XMIT_FROM_XMIT "_XmitTranslateFromXmit" #define XMIT_FREE_XMIT "_XmitFreeXmit" #define XMIT_FREE_INST "_XmitFreeInst" #define REP_AS_ROUTINE_TABLE_TYPE "XMIT_ROUTINE_QUINTUPLE" #define REP_AS_ROUTINE_TABLE_VAR "RepresentAsRoutines" #define REP_FROM_LOCAL "_RepAsTranslateFromLocal" #define REP_TO_LOCAL "_RepAsTranslateToLocal" #define REP_FREE_INST "_RepAsFreeInst" #define REP_FREE_LOCAL "_RepAsFreeLocal" #define WIRE_MARSHAL_TABLE_SIZE "WIRE_MARSHAL_TABLE_SIZE" #define USER_MARSHAL_ROUTINE_TABLE_TYPE "USER_MARSHAL_ROUTINE_QUADRUPLE" #define USER_MARSHAL_ROUTINE_TABLE_VAR "UserMarshalRoutines" #define USER_MARSHAL_SIZE "_UserSize" #define USER_MARSHAL_MARSHALL "_UserMarshal" #define USER_MARSHAL_UNMARSHALL "_UserUnmarshal" #define USER_MARSHAL_FREE "_UserFree" #define NDR64_USER_MARSHAL_ROUTINE_TABLE_VAR "NDR64_UserMarshalRoutines" #define NDR64_USER_MARSHAL_SIZE "_UserSize64" #define NDR64_USER_MARSHAL_MARSHALL "_UserMarshal64" #define NDR64_USER_MARSHAL_UNMARSHALL "_UserUnmarshal64" #define NDR64_USER_MARSHAL_FREE "_UserFree64" #define CS_SIZE_CONVERT_ROUTINE_TABLE_TYPE "NDR_CS_SIZE_CONVERT_ROUTINES" #define CS_SIZE_CONVERT_ROUTINE_TABLE_VAR "CsSizeConvertRoutines" #define CS_NET_SIZE "_net_size" #define CS_TO_NET_CS "_to_netcs" #define CS_LOCAL_SIZE "_local_size" #define CS_FROM_NET_CS "_from_netcs" #define CS_TAG_ROUTINE_TABLE_TYPE "CS_TAG_GETTING_ROUTINE" #define CS_TAG_ROUTINE_TABLE_VAR "CsTagGettingRoutines" #define CS_ROUTINE_TABLES_TYPE "NDR_CS_ROUTINES" #define CS_ROUTINE_TABLES_VAR "CsTypeTables" #define FC_FIELD_OFFSET_MACRO "NdrFieldOffset" #define FC_FIELD_PAD_MACRO "NdrFieldPad" #define GENERIC_BINDING_TABLE_SIZE "GENERIC_BINDING_TABLE_SIZE" #define GENERIC_BINDING_ROUTINE_TYPE "GENERIC_BINDING_ROUTINE" #define GENERIC_UNBINDING_ROUTINE_TYPE "GENERIC_UNBIND_ROUTINE" #define GENERIC_BINDING_INFO_TYPE "GENERIC_BINDING_INFO" #define GENERIC_BINDING_INFO_VAR "GenericBindingInfo" #define PXMIT_VAR_NAME "_pXmit" #define PXMIT_VAR_TYPE_NAME "PMIDL_XMIT_TYPE" #define PARAM_STRUCT_TYPE_NAME "struct _PARAM_STRUCT" #define MALLOC_FREE_STRUCT_TYPE_NAME "MALLOC_FREE_STRUCT" #define MALLOC_FREE_STRUCT_VAR_NAME "_MallocFreeStruct" ///////////////////////////////////////////////////////////////////////////// // standard routine names. ///////////////////////////////////////////////////////////////////////////// #define FULL_POINTER_INIT_RTN_NAME "NdrFullPointerXlatInit" #define FULL_POINTER_FREE_RTN_NAME "NdrFullPointerXlatFree" #define RPC_SS_ENABLE_ALLOCATE_RTN_NAME "NdrRpcSsEnableAllocate" #define RPC_SS_DISABLE_ALLOCATE_RTN_NAME "NdrRpcSsDisableAllocate" #define RPC_SM_SET_CLIENT_TO_OSF_RTN_NAME "NdrRpcSmSetClientToOsf" #define RPC_SS_SERVER_ALLOCATE_RTN_NAME "RpcSsAllocate" #define RPC_SS_SERVER_FREE_RTN_NAME "RpcSsFree" #define RPC_SM_CLIENT_ALLOCATE_RTN_NAME "NdrRpcSmClientAllocate" #define RPC_SM_CLIENT_FREE_RTN_NAME "NdrRpcSmClientFree" #define DEFAULT_ALLOC_OSF_RTN_NAME "NdrRpcSsDefaultAllocate" #define DEFAULT_FREE_OSF_RTN_NAME "NdrRpcSsDefaultFree" #define DEFAULT_ALLOC_RTN_NAME "MIDL_user_allocate" #define DEFAULT_FREE_RTN_NAME "MIDL_user_free" #define OLE_ALLOC_RTN_NAME "NdrOleAllocate" #define OLE_FREE_RTN_NAME "NdrOleFree" #define NDR_CONVERT_RTN_NAME "NdrConvert" #define NDR_CONVERT_RTN_NAME_V2 "NdrConvert2" #define DEFAULT_GB_RTN_NAME "I_RpcGetBuffer" #define DEFAULT_SR_RTN_NAME "I_RpcSendReceive" #define DEFAULT_FB_RTN_NAME "I_RpcFreeBuffer" #define DEFAULT_NDR_SR_RTN_NAME "NdrSendReceive" #define DEFAULT_NDR_FB_RTN_NAME "NdrFreeBuffer" #define DEFAULT_NDR_GB_RTN_NAME "NdrGetBuffer" #define AUTO_GB_RTN_NAME "I_RpcNsGetBuffer" #define AUTO_SR_RTN_NAME "I_RpcNsSendReceive" #define AUTO_FB_RTN_NAME "I_RpcFreeBuffer" #define CALLBACK_HANDLE_RTN_NAME "I_RpcGetCurrentCallHandle" #define AUTO_NDR_SR_RTN_NAME "NdrNsSendReceive" #define AUTO_NDR_GB_RTN_NAME "NdrNsGetBuffer" #define AUTO_BH_VAR_NAME "__MIDL_AutoBindHandle" #define AUTO_BH_TYPE_NAME "RPC_BINDING_HANDLE" #define CSTUB_INIT_RTN_NAME "NdrClientInitializeNew" #define SSTUB_INIT_RTN_NAME "NdrServerInitializeNew" #define S_NDR_CALL_RTN_NAME "NdrServerCall" #define C_NDR_CALL_RTN_NAME "NdrClientCall" #define S_NDR_CALL_RTN_NAME_V2 "NdrServerCall2" #define C_NDR_CALL_RTN_NAME_V2 "NdrClientCall2" #define S_NDR64_CALL_RTN_NAME "NdrServerCallNdr64" #define S_ALL_CALL_RTN_NAME "NdrServerCallAll" #define C_NDR64_CALL_RTN_NAME "NdrClientCall3" #define S_NDR_CALL_RTN_NAME_ASYNC "NdrAsyncServerCall" #define C_NDR_CALL_RTN_NAME_ASYNC "NdrAsyncClientCall" #define S_NDR64_CALL_RTN_NAME_ASYNC "Ndr64AsyncServerCall64" #define S_ALL_CALL_RTN_NAME_ASYNC "Ndr64AsyncServerCallAll" #define C_NDR64_CALL_RTN_NAME_ASYNC "Ndr64AsyncClientCall" #define S_NDR_CALL_RTN_NAME_DCOM_ASYNC "NdrDcomAsyncStubCall" #define C_NDR_CALL_RTN_NAME_DCOM_ASYNC "NdrDcomAsyncClientCall" #define S_NDR64_CALL_RTN_NAME_DCOM_ASYNC "Ndr64DcomAsyncStubCall" #define C_NDR64_CALL_RTN_NAME_DCOM_ASYNC "Ndr64DcomAsyncClientCall" #define S_OBJECT_NDR_CALL_RTN_NAME "NdrStubCall" #define C_OBJECT_NDR_CALL_RTN_NAME "NdrClientCall" #define S_OBJECT_NDR_CALL_RTN_NAME_V2 "NdrStubCall2" #define C_OBJECT_NDR_CALL_RTN_NAME_V2 "NdrClientCall2" #define S_OBJECT_NDR64_CALL_RTN_NAME "NdrStubCall3" #define C_OBJECT_NDR64_CALL_RTN_NAME "NdrClientCall3" #define S_OBJECT_NDR_CALL_RTN_NAME_ASYNC "NdrAsyncStubCall" #define S_NDR_MARSHALL_RTN_NAME "NdrServerMarshall" #define S_NDR_UNMARSHALL_RTN_NAME "NdrServerUnmarshall" #define C_NDR_CLEAR_OUT_PARAMS_RTN_NAME "NdrClearOutParameters" #define AUTO_SR_NDR_RTN_NAME "NdrAHSendReceive" #define NORMAL_SR_NDR_RTN_NAME "NdrSendReceive" #define NORMAL_FB_NDR_RTN_NAME "NdrFreeBuffer" #define ADD_PTR_RTN_NAME "_midl_addp" #define MARSHALL_UNIQUE_PTR_RTN_NAME "_midl_marsh_up" #define CHECK_UNIQUE_PTR_IN_BUFFER "_midl_unmarsh_up" #define RAISE_EXCEPTION_RTN_NAME "RpcRaiseException" #define STUB_MSG_ALLOCATE_RTN_NAME STUB_MESSAGE_VAR_NAME".pfnAllocate" #define STUB_MSG_FREE_RTN_NAME STUB_MESSAGE_VAR_NAME".pfnFree" #define PSTUB_MSG_ALLOCATE_RTN_NAME PSTUB_MESSAGE_PAR_NAME"->pfnAllocate" #define ENGINE_CHECKED_ALLOC_RTN_NAME "NdrAllocate" #define MIDL_MEMSET_RTN_NAME "MIDL_memset" // Correlation stuff #define CSTUB_CORR_INIT_RTN_NAME "NdrCorrelationInitialize" #define CSTUB_CORR_PASS_RTN_NAME "NdrCorrelationPass" #define CSTUB_CORR_FREE_RTN_NAME "NdrCorrelationFree" #define NDR_CORR_CACHE_VAR_NAME "_NdrCorrCache" #define NDR_CORR_CACHE_SIZE 256 ///////////////////////////////////////////////////////////////////////////// // context handle related stuff. ///////////////////////////////////////////////////////////////////////////// #define CTXT_HDL_C_CONTEXT_TYPE_NAME "NDR_CCONTEXT" #define CTXT_HDL_S_CONTEXT_TYPE_NAME "NDR_SCONTEXT" #define CTXT_HDL_RUNDOWN_TYPE_NAME "NDR_RUNDOWN" #define CTXT_HDL_BIND_RTN_NAME "NDRCContextBinding" #define CTXT_HDL_C_MARSHALL_RTN_NAME "NDRCContextMarshall" #define CTXT_HDL_C_UNMARSHALL_RTN_NAME "NDRCContextUnmarshall" #define CTXT_HDL_S_UNMARSHALL_RTN_NAME "NDRSContextUnmarshall" #define CTXT_HDL_S_MARSHALL_RTN_NAME "NDRSContextMarshall" // // Stuff emitted in the client and server stub files. // #define SIZEOF_RPC_CLIENT_INTERFACE "sizeof("RPC_C_INT_INFO_TYPE_NAME")" #define SIZEOF_RPC_SERVER_INTERFACE "sizeof("RPC_S_INT_INFO_TYPE_NAME")" #define PROTSEQ_EP_TYPE_NAME "RPC_PROTSEQ_ENDPOINT" #define PROTSEQ_EP_VAR_NAME "___RpcProtseqEndpoint" #define TRANSFER_SYNTAX_GUID_STR_1 "8A885D04" #define TRANSFER_SYNTAX_GUID_STR_2 "1CEB" #define TRANSFER_SYNTAX_GUID_STR_3 "11C9" #define TRANSFER_SYNTAX_GUID_STR_4 "9FE8" #define TRANSFER_SYNTAX_GUID_STR_5 "08002B104860" //INTERFACENAME = { /* 71710533-beba-4937-8319-b5dbef9ccc36 */ // 0x71710533, // 0xbeba, // 0x4937, // {0x83, 0x19, 0xb5, 0xdb, 0xef, 0x9c, 0xcc, 0x36} // }; #define NDR64_TRANSFER_SYNTAX_GUID_STR_1 "71710533" #define NDR64_TRANSFER_SYNTAX_GUID_STR_2 "beba" #define NDR64_TRANSFER_SYNTAX_GUID_STR_3 "4937" #define NDR64_TRANSFER_SYNTAX_GUID_STR_4 "8319" #define NDR64_TRANSFER_SYNTAX_GUID_STR_5 "b5dbef9ccc36" //INTERFACENAME = { /* b4537da9-3d03-4f6b-b594-52b2874ee9d0 */ // 0xb4537da9, // 0x3d03, // 0x4f6b, // {0xb5, 0x94, 0x52, 0xb2, 0x87, 0x4e, 0xe9, 0xd0} // }; #define FAKE_NDR64_TRANSFER_SYNTAX_GUID_STR_1 "b4537da9" #define FAKE_NDR64_TRANSFER_SYNTAX_GUID_STR_2 "3d03" #define FAKE_NDR64_TRANSFER_SYNTAX_GUID_STR_3 "4f6b" #define FAKE_NDR64_TRANSFER_SYNTAX_GUID_STR_4 "b594" #define FAKE_NDR64_TRANSFER_SYNTAX_GUID_STR_5 "52b2874ee9d0" #define TRANSFER_SYNTAX_TYPE_NAME "RPC_SYNTAX_IDENTIFIER" #define NDR_TRANSFER_SYNTAX_VAR_NAME "_RpcTransferSyntax" #define NDR64_TRANSFER_SYNTAX_VAR_NAME "_NDR64_RpcTransferSyntax" #define RPC_DISPATCH_FUNCTION_TYPE_NAME "RPC_DISPATCH_FUNCTION" #define RPC_DISPATCH_TABLE_TYPE_NAME "RPC_DISPATCH_TABLE" // File names of standard include files. // #define RPCNDR_H_INC_FILE_NAME "rpcndr.h" #define STRING_H_INC_FILE_NAME "string.h" #define MEMORY_H_INC_FILE_NAME "memory.h" #define STDARG_H_INC_FILE_NAME "stdarg.h" // // xfer syntax version // #define NDR_UUID_MAJOR_VERSION 2 #define NDR_UUID_MINOR_VERSION 0 #define NDR64_UUID_MAJOR_VERSION 1 #define NDR64_UUID_MINOR_VERSION 0 // encode / decode specific definitions. #define NO_FREEING_FOR_PICKLING TRUE // functions. #define NDR_MES_TYPE_ALIGN_SIZE "NdrMesTypeAlignSize" #define NDR_MES_TYPE_ENCODE "NdrMesTypeEncode" #define NDR_MES_TYPE_DECODE "NdrMesTypeDecode" #define NDR_MES_TYPE_FREE "NdrMesTypeFree" #define NDR_MES_TYPE_ALIGN_SIZE2 "NdrMesTypeAlignSize2" #define NDR_MES_TYPE_ENCODE2 "NdrMesTypeEncode2" #define NDR_MES_TYPE_DECODE2 "NdrMesTypeDecode2" #define NDR_MES_TYPE_FREE2 "NdrMesTypeFree2" #define PROC_ENCODE_DECODE_RTN_NAME "NdrMesProcEncodeDecode" #define PROC_ENCODE_DECODE_RTN_NAME2 "NdrMesProcEncodeDecode2" // types. #define MIDL_ES_HANDLE_TYPE_NAME "handle_t" #define MIDL_ES_HANDLE_VAR_NAME "_MidlEsHandle" #define PTYPE_VAR_NAME "_pType" #define PICKLING_INFO_STRUCT_NAME "__MIDL_TypePicklingInfo" #define MIDL_TYPE_PICKLING_INFO_NAME "MIDL_TYPE_PICKLING_INFO" #define PMIDL_TYPE_PICKLING_INFO_NAME "PMIDL_TYPE_PICKLING_INFO" // notify related stuff #define NOTIFY_SUFFIX "_notify" #define NOTIFY_FLAG_SUFFIX "_notify_flag" #define SIZEOF_NOTIFY_FLAG_SUFFIX strlen( NOTIFY_FLAG_SUFFIX ) #define NOTIFY_FLAG_VAR_NAME "__MIDL_NotifyFlag" ////////////////////////////////////////////////////////////////////////////// // sundry definitions ////////////////////////////////////////////////////////////////////////////// typedef char * PNAME; typedef char * PFILENAME; ///////////////////////////////////////////////////////////////////////////// // Binding related definitions. ///////////////////////////////////////////////////////////////////////////// // // The handle usage refers to handle usage being explicit or implicit. This // is deliberately defined as an unsigned long, so we can use a bit field. // Otherwise it could be defined as an enum. // typedef unsigned long HANDLE_USAGE; // // binding handle usage. // #define HU_EXPLICIT 0x0 #define HU_IMPLICIT 0x1 ///////////////////////////////////////////////////////////////////////////// // Some definitions relating to code generation that are used only for ndr // classes. ///////////////////////////////////////////////////////////////////////////// // // This definition specifies the location where the param will be allocated // on the server stub. // typedef unsigned long S_STUB_ALLOC_LOCATION; #define S_STUB_ALLOC_LOCATION_UNKNOWN 0x0 #define S_STUB_ALLOC_LOCATION_ON_STACK 0x1 #define S_STUB_ALLOC_LOCATION_IN_HEAP 0x2 #define S_STUB_ALLOC_LOCATION_NOT_NEEDED 0x3 // // This definition specifies the actual entity allocated, whether it is a // reference to the entity or the entity itself. // typedef unsigned long S_STUB_ALLOC_TYPE; #define S_STUB_ALLOC_TYPE_NONE 0x0 #define S_STUB_ALLOC_TYPE_REFERENCE 0x1 #define S_STUB_ALLOC_TYPE_TYPE 0x2 #define S_STUB_ALLOC_TYPE_DONT_CARE 0x3 // // This definition specifies if initialization is needed for the parameter // on the server side before unmarshalling. This is used only for out params. // typedef unsigned long S_STUB_INIT_NEED; #define S_STUB_INIT_NOT_NEEDED 0x0 #define S_STUB_INIT_NEEDED 0x1 ////////////////////////////////////////////////////////////////////////////// // other module definitions. ////////////////////////////////////////////////////////////////////////////// // #include "optprop.hxx" #endif // __CGCOMMON_HXX__