#ifndef IDLDDEFS_H
#define IDLDDEFS_H 1
#ifdef __cplusplus
extern "C" {
#endif
#include <dce/dce.h>
#include <dce/rpc.h>
#include <dce/idl_es.h>
#include <dce/stubbase.h>
#define IDL_BUFF_SIZE 2048
#define IDL_IOVECTOR_SIZE 10
#define IDL_POINT_THRESHOLD 256
#define IDL_NORMAL_DIMS 7
#define IDL_MIN_PIPE_CHUNK_SIZE 8
#define IDL_AOA &
#ifdef CONST_NOT_SUPPORTED
#define IDL_CONST
#else
#define IDL_CONST const
#endif
typedef enum {IDL_client_side_k, IDL_server_side_k} IDL_side_k_t;
typedef enum {IDL_marshalling_k, IDL_unmarshalling_k} IDL_mar_or_unmar_k_t;
typedef enum {IDL_lang_c_k
} IDL_language_k_t;
typedef struct IDL_cs_tags_t {
idl_ulong_int *p_marsh_tag;
idl_ulong_int *p_unmar_tag;
} IDL_cs_tags_t;
#define IDL_STACK_PACKET_SIZE 256
typedef enum {
IDL_stack_packet_unused_k,
IDL_stack_packet_in_use_k,
IDL_stack_packet_used_k,
IDL_stack_packet_part_used_k
} IDL_stack_packet_use_k_t;
typedef void (*IDL_rtn_func_t) (rpc_void_p_t );
typedef struct IDL_ms_t {
idl_byte *IDL_type_vec;
idl_ulong_int *IDL_offset_vec;
IDL_rtn_func_t *IDL_rtn_vec;
rpc_void_p_t *IDL_param_vec;
IoVec_t(IDL_IOVECTOR_SIZE) IDL_iovec;
idl_byte *IDL_buff_addr;
idl_byte *IDL_data_addr;
idl_byte *IDL_mp;
rpc_iovector_elt_p_t IDL_elt_p;
rpc_ss_mem_handle IDL_mem_handle;
rpc_ss_allocator_t IDL_allocator;
rpc_ss_node_table_t IDL_node_table;
volatile rpc_call_handle_t IDL_call_h;
handle_t IDL_h;
rpc_void_p_t IDL_pickling_handle;
volatile error_status_t IDL_status;
volatile idl_long_int IDL_fault;
idl_ulong_int IDL_elts_in_use;
ndr_format_t IDL_drep;
idl_ulong_int IDL_mp_start_offset;
idl_ulong_int IDL_left_in_buff;
IDL_side_k_t IDL_side;
idl_ulong_int IDL_m_xmit_level;
IDL_language_k_t IDL_language;
idl_boolean IDL_marsh_pipe;
volatile idl_boolean IDL_restartable;
idl_byte IDL_ms_res_byte_1;
idl_byte IDL_ms_res_byte_2;
IDL_stack_packet_use_k_t IDL_stack_packet_status;
idl_byte *IDL_stack_packet_addr;
IDL_cs_tags_t *IDL_cs_tags_p;
rpc_void_p_t IDL_ms_res_ptr_4;
rpc_void_p_t IDL_ms_res_ptr_5;
} IDL_ms_t, *IDL_msp_t;
void rpc_ss_report_error_2 (
ndr_ulong_int ,
ndr_ulong_int ,
ndr_ulong_int ,
RPC_SS_THREADS_CANCEL_STATE_T *,
error_status_t *,
error_status_t *,
dcethread_exc *[],
IDL_msp_t
);
void rpc_ss_send_server_exception_2 (
rpc_call_handle_t ,
dcethread_exc *,
idl_long_int ,
dcethread_exc *[],
IDL_msp_t
);
void rpc_ss_type_vec_vers_check (
IDL_msp_t
);
void rpc_ss_init_marsh_state (
idl_byte [], IDL_msp_t
);
void rpc_ss_ndr_clean_up (
IDL_ms_t *
);
#define IDL_INTERP_ENCODE_MAJOR 8
#define IDL_INTERP_ENCODE_MINOR 10
#define TVEC_INT_REP_OFFSET 4
#define IDL_VERSION_NUMBER(versno_offset)\
(IDL_msp->IDL_type_vec[TVEC_INT_REP_OFFSET] != NDR_LOCAL_INT_REP) ? \
(((*(idl_byte *)(IDL_msp->IDL_type_vec+versno_offset+1)) << 8) | \
*(idl_byte *)(IDL_msp->IDL_type_vec+versno_offset)) : \
(*(idl_short_int *)(IDL_msp->IDL_type_vec+versno_offset))
#define IDL_DT_NULL 0
#define IDL_DT_BOOLEAN 1
#define IDL_DT_BYTE 2
#define IDL_DT_CHAR 3
#define IDL_DT_DOUBLE 4
#define IDL_DT_ENUM 5
#define IDL_DT_FLOAT 6
#define IDL_DT_SMALL 7
#define IDL_DT_SHORT 8
#define IDL_DT_LONG 9
#define IDL_DT_HYPER 10
#define IDL_DT_USMALL 11
#define IDL_DT_USHORT 12
#define IDL_DT_ULONG 13
#define IDL_DT_UHYPER 14
#define IDL_DT_FIXED_STRUCT 15
#define IDL_DT_CONF_STRUCT 16
#define IDL_DT_BEGIN_NESTED_STRUCT 18
#define IDL_DT_END_NESTED_STRUCT 19
#define IDL_DT_FIXED_ARRAY 20
#define IDL_DT_VARYING_ARRAY 21
#define IDL_DT_CONF_ARRAY 22
#define IDL_DT_OPEN_ARRAY 23
#define IDL_DT_ENC_UNION 24
#define IDL_DT_N_E_UNION 25
#define IDL_DT_DOES_NOT_EXIST 26
#define IDL_DT_VOID 27
#define IDL_DT_PASSED_BY_REF 28
#define IDL_DT_FULL_PTR 29
#define IDL_DT_UNIQUE_PTR 30
#define IDL_DT_REF_PTR 31
#define IDL_DT_IGNORE 32
#define IDL_DT_STRING 33
#define IDL_DT_TRANSMIT_AS 34
#define IDL_DT_REPRESENT_AS 35
#define IDL_DT_ALLOCATE 36
#define IDL_DT_ALLOCATE_REF 37
#define IDL_DT_NDR_ALIGN_2 38
#define IDL_DT_NDR_ALIGN_4 39
#define IDL_DT_NDR_ALIGN_8 40
#define IDL_DT_PIPE 41
#define IDL_DT_IN_CONTEXT 42
#define IDL_DT_IN_OUT_CONTEXT 43
#define IDL_DT_OUT_CONTEXT 44
#define IDL_DT_V1_ENUM 45
#define IDL_DT_V1_ARRAY 46
#define IDL_DT_V1_STRING 47
#define IDL_DT_V1_CONF_STRUCT 48
#define IDL_DT_FREE_REP 49
#define IDL_DT_ERROR_STATUS 50
#define IDL_DT_DELETED_NODES 51
#define IDL_DT_CS_TYPE 52
#define IDL_DT_CS_SHADOW 53
#define IDL_DT_CS_ARRAY 54
#define IDL_DT_CS_ATTRIBUTE 55
#define IDL_DT_CS_RLSE_SHADOW 56
#define IDL_DT_INTERFACE 57
#define IDL_DT_DYN_INTERFACE 58
#define IDL_DT_ORPC_INTERFACE 59
#define IDL_DT_RANGE 60
#define IDL_DT_EOL 254
#define IDL_TYPE_IS_NDR_ALIGN(type_byte)\
((type_byte >= IDL_DT_NDR_ALIGN_2) && \
(type_byte <= IDL_DT_NDR_ALIGN_8))
#define IDL_GET_LONG_FROM_VECTOR(value,address)\
if (IDL_msp->IDL_type_vec[TVEC_INT_REP_OFFSET] != NDR_LOCAL_INT_REP){\
idl_byte *_d = (idl_byte*)&value; \
idl_byte *_s = (idl_byte*)(((address-(idl_byte *)0)+3) & (~3)); \
_d[0]=_s[3]; _d[1]=_s[2]; _d[2]=_s[1]; _d[3]=_s[0]; \
address = _s + 4;\
}\
else{\
address = (idl_byte *)(((address-(idl_byte *)0)+3) & (~3)); \
value = *(idl_ulong_int *)address; \
address += 4; }
#define IDL_DISCARD_LONG_FROM_VECTOR(address)\
{ address = (idl_byte *)(((address-(idl_byte *)0)+3) & (~3)); \
address += 4; }
#define IDL_INIT_RANGE(__range)\
( (__range).lower = 0, (__range).upper = -1 )
#define IDL_GET_RANGE_FROM_VECTOR(__range,__address)\
do { \
IDL_GET_LONG_FROM_VECTOR((__range).lower,(__address)); \
IDL_GET_LONG_FROM_VECTOR((__range).upper,(__address)); \
} while (0)
#define IDL_CHECK_RANGE(__range,__type,__param_addr)\
do { \
if (!((__range).lower == 0 && (__range).upper == -1)) { \
if (((idl_long_int)(*(__type *)(__param_addr)) < (__range).lower) || \
((idl_long_int)(*(__type *)(__param_addr)) > (__range).upper)) \
{ \
DCETHREAD_RAISE(rpc_x_invalid_bound); \
} \
IDL_INIT_RANGE((__range)); \
} \
} while (0)
#define IDL_CHECK_RANGE_BYTE(__range,__param_addr)\
IDL_CHECK_RANGE(__range, idl_byte, __param_addr)
#define IDL_CHECK_RANGE_CHAR(__range,__param_addr)\
IDL_CHECK_RANGE(__range, idl_char, __param_addr)
#define IDL_CHECK_RANGE_BOOLEAN(__range,__param_addr)\
IDL_CHECK_RANGE(__range, idl_boolean, __param_addr)
#define IDL_CHECK_RANGE_SMALL(__range,__param_addr)\
IDL_CHECK_RANGE(__range, idl_small_int, __param_addr)
#define IDL_CHECK_RANGE_SHORT(__range,__param_addr)\
IDL_CHECK_RANGE(__range, idl_short_int, __param_addr)
#define IDL_CHECK_RANGE_LONG(__range,__param_addr)\
IDL_CHECK_RANGE(__range, idl_long_int, __param_addr)
#define IDL_CHECK_RANGE_USMALL(__range,__param_addr)\
IDL_CHECK_RANGE(__range, idl_usmall_int, __param_addr)
#define IDL_CHECK_RANGE_USHORT(__range,__param_addr)\
IDL_CHECK_RANGE(__range, idl_ushort_int, __param_addr)
#define IDL_CHECK_RANGE_ULONG(__range,__param_addr)\
IDL_CHECK_RANGE(__range, idl_ulong_int, __param_addr)
#define IDL_CHECK_RANGE_FLOAT(__range,__param_addr)\
IDL_CHECK_RANGE(__range, idl_short_float, __param_addr)
#define IDL_CHECK_RANGE_DOUBLE(__range,__param_addr)\
IDL_CHECK_RANGE(__range, idl_long_float, __param_addr)
#define IDL_FC_NONE 0
#define IDL_FC_DIV_2 1
#define IDL_FC_MUL_2 2
#define IDL_FC_ADD_1 3
#define IDL_FC_SUB_1 4
#define IDL_FC_ALIGN_2 5
#define IDL_FC_ALIGN_4 6
#define IDL_FC_ALIGN_8 7
#define IDL_FC_CALLBACK 8
#define IDL_FC_DIV_4 9
#define IDL_FC_MUL_4 10
#define IDL_FC_DIV_8 11
#define IDL_FC_MUL_8 12
#define IDL_FC_FIXED 13
void rpc_ss_ndr_marsh_interp (
idl_ulong_int ,
idl_ulong_int ,
rpc_void_p_t [],
IDL_msp_t
);
void rpc_ss_ndr_unmar_interp (
idl_ulong_int ,
idl_ulong_int ,
rpc_void_p_t [],
IDL_msp_t
);
#define IDL_CF_EARLY 0x10
#define IDL_CF_SPLIT 0x20
#define IDL_CF_IS_IID_IS 0x40
#define IDL_CF_DONT_CHECK 0x80
#define IDL_LIMIT_FIXED 0
#define IDL_LIMIT_FIRST_IS 1
#define IDL_LIMIT_LAST_IS 2
#define IDL_LIMIT_LENGTH_IS 3
#define IDL_LIMIT_STRING 4
#define IDL_LIMIT_UPPER_CONF 5
#define IDL_LIMIT_TYPE_MASK 0x0F
#define IDL_DATA_LIMIT_PAIR_WIDTH 16
typedef struct IDL_varying_control_t {
idl_ulong_int subslice_size;
idl_ulong_int index_value;
} IDL_varying_control_t;
#define IDL_BOUND_FIXED 0
#define IDL_BOUND_MIN_IS 1
#define IDL_BOUND_MAX_IS 2
#define IDL_BOUND_SIZE_IS 3
#define IDL_BOUND_STRING 4
#define IDL_BOUND_TYPE_MASK 0x0F
#define IDL_DATA_LIMIT_PAIR_WIDTH 16
typedef struct IDL_bound_pair_t {
idl_long_int lower;
idl_long_int upper;
} IDL_bound_pair_t;
#define IDL_ALIGN_POINTER_TO_LONG(address)\
address = (idl_byte *)(((address-(idl_byte *)0)+3) & (~3));
#define IDL_FIXED_BOUND_PAIR_WIDTH 8
#define IDL_CONF_BOUND_PAIR_WIDTH 16
#define IDL_ADV_DEFN_PTR_OVER_BOUNDS(defn_ptr,dimensionality)\
{defn_ptr += 16 * dimensionality;}
#define IDL_DATA_LIMIT_PAIR_CHAR_SIZE(defn_ptr)\
((idl_ulong_int)*(defn_ptr+9))
#define IDL_RTN_TO_XMIT_INDEX 0
#define IDL_RTN_FROM_XMIT_INDEX 1
#define IDL_RTN_FREE_INST_INDEX 2
#define IDL_RTN_FREE_XMIT_INDEX 3
#define IDL_RTN_NET_SIZE_INDEX 0
#define IDL_RTN_TO_NETCS_INDEX 1
#define IDL_RTN_LOCAL_SIZE_INDEX 2
#define IDL_RTN_FROM_NETCS_INDEX 3
#define IDL_PROP_DEP_CHAR 0x01
#define IDL_PROP_DEP_INT 0x02
#define IDL_PROP_DEP_FLOAT 0x04
#define IDL_PROP_DEP_ALL 0x07
#define IDL_PROP_HAS_PTRS 0x08
#define IDL_PROP_MAYBE_WIRE_ALIGNED 0x10
#define IDL_PROP_HAS_LATE_CORRELATIONS 0x20
#define IDL_PROP_TEST(prop_byte, property)\
((prop_byte & property) != 0)
#define IDL_UNION_ARM_DESC_WIDTH 16
idl_ulong_int rpc_ss_arm_switch_value
(
idl_byte *defn_vec_ptr,
idl_long_int index,
IDL_msp_t IDL_msp
);
#define IDL_ARM_SWITCH_VALUE(defn_vec_ptr, index)\
(IDL_msp->IDL_type_vec[TVEC_INT_REP_OFFSET] == NDR_LOCAL_INT_REP) ? \
(*(idl_ulong_int *)(defn_vec_ptr + index * IDL_UNION_ARM_DESC_WIDTH)) : \
rpc_ss_arm_switch_value(defn_vec_ptr, index, IDL_msp)
#define IDL_MARSH_ALIGN_MP(IDL_msp, alignment)\
if (IDL_msp->IDL_buff_addr == NULL)\
rpc_ss_ndr_marsh_init_buffer(IDL_msp);\
{\
idl_ulong_int advance = IDL_msp->IDL_left_in_buff - (IDL_msp->IDL_left_in_buff & ~(alignment-1));\
memset(IDL_msp->IDL_mp, 0, advance);\
IDL_msp->IDL_mp += advance;\
IDL_msp->IDL_left_in_buff -= advance;\
}
#define IDL_UNMAR_ALIGN_MP(IDL_msp, alignment)\
{ \
uintptr_t advance;\
advance = (idl_byte *)\
(((IDL_msp->IDL_mp - (idl_byte *)0) + (alignment-1)) & ~(alignment-1)) \
- IDL_msp->IDL_mp; \
if (advance > IDL_msp->IDL_left_in_buff) { \
IDL_msp->IDL_status = rpc_s_stub_protocol_error; \
DCETHREAD_RAISE( rpc_x_ss_pipe_comm_error ); \
} \
IDL_msp->IDL_mp += advance; \
IDL_msp->IDL_left_in_buff -= advance;\
}
typedef struct IDL_pointee_desc_t {
idl_byte pointee_type;
idl_boolean base_type_has_pointers;
idl_boolean already_unmarshalled;
idl_byte *array_base_defn_ptr;
idl_ulong_int dimensionality;
IDL_bound_pair_t *bounds_list;
idl_ulong_int *Z_values;
IDL_bound_pair_t *range_list;
rpc_void_p_t struct_addr;
idl_ulong_int *struct_offset_vec_ptr;
} IDL_pointee_desc_t;
#define IDL_NEW_NODE ((rpc_void_p_t)(-1))
void rpc_ss_mts_client_estab_alloc ( volatile IDL_ms_t * );
#define IDL_BUG_1 0x00000002
#define IDL_BUG_2 0x00000004
#define IDL_BUG_4 0x00000010
typedef struct IDL_pipe {
void (* pull) (
rpc_ss_pipe_state_t,
rpc_void_p_t ,
idl_ulong_int,
idl_ulong_int *
);
void (* push) (
rpc_ss_pipe_state_t ,
rpc_void_p_t ,
idl_ulong_int
);
void (* alloc) (
rpc_ss_pipe_state_t ,
idl_ulong_int ,
rpc_void_p_t *,
idl_ulong_int *
);
rpc_ss_pipe_state_t state;
} IDL_pipe;
typedef struct IDL_ee_context_t {
rpc_ss_context_t local;
ndr_context_handle wire;
} IDL_ee_context_t;
#define IDL_M_V1_ARRAY 0x01
#define IDL_M_IS_PARAM 0x02
#define IDL_M_IS_STRING 0x04
#define IDL_M_ADD_NULL 0x08
#define IDL_M_CONF_ARRAY 0x10
#define IDL_M_DO_NOT_POINT 0x20
#define IDL_M_FLAGS_TEST(flags_word, property)\
((flags_word & property) != 0)
idl_ulong_int rpc_ss_type_size (
idl_byte *,IDL_msp_t
);
void rpc_ss_Z_values_from_bounds (
IDL_bound_pair_t *,
idl_ulong_int ,
idl_ulong_int **,
IDL_msp_t
);
void rpc_ss_ndr_contiguous_elt (
idl_ulong_int ,
idl_ulong_int *,
IDL_bound_pair_t *,
idl_ulong_int ,
idl_boolean *,
idl_ulong_int *,
rpc_void_p_t *
);
void rpc_ss_ndr_arr_align_and_opt (
IDL_mar_or_unmar_k_t ,
idl_ulong_int ,
idl_byte *,
idl_byte *,
idl_boolean *,
IDL_msp_t
);
void rpc_ss_ndr_marsh_init_buffer (
IDL_msp_t
);
idl_long_int rpc_ss_get_typed_integer (
idl_byte ,
rpc_void_p_t ,
IDL_msp_t
);
void rpc_ss_build_bounds_list (
idl_byte **,
rpc_void_p_t ,
rpc_void_p_t ,
idl_ulong_int *,
idl_ulong_int ,
IDL_bound_pair_t **,
IDL_msp_t
);
void rpc_ss_build_bounds_list_2 (
idl_byte **,
rpc_void_p_t ,
rpc_void_p_t ,
idl_ulong_int *,
idl_ulong_int ,
idl_boolean *,
IDL_bound_pair_t **,
IDL_msp_t
);
void rpc_ss_build_range_list (
idl_byte **,
rpc_void_p_t ,
rpc_void_p_t ,
idl_ulong_int *,
idl_ulong_int ,
IDL_bound_pair_t *,
IDL_bound_pair_t **,
idl_boolean *,
IDL_msp_t
);
void rpc_ss_build_range_list_2 (
idl_byte **,
rpc_void_p_t ,
rpc_void_p_t ,
idl_ulong_int *,
idl_ulong_int ,
IDL_bound_pair_t *,
idl_boolean *,
IDL_bound_pair_t **,
idl_boolean *,
IDL_msp_t
);
void rpc_ss_get_string_base_desc (
idl_byte * ,
idl_ulong_int *,
idl_ulong_int *,
IDL_msp_t
);
idl_boolean rpc_ss_find_union_arm_defn (
idl_byte *_vec_ptr,
idl_ulong_int ,
idl_ulong_int ,
idl_byte ** ,
IDL_msp_t
);
void rpc_ss_get_switch_from_data (
idl_ulong_int ,
idl_byte ,
rpc_void_p_t ,
idl_ulong_int *,
idl_ulong_int *,
IDL_msp_t
);
idl_boolean rpc_ss_bug_1_thru_31 (
idl_ulong_int ,
IDL_msp_t
);
idl_ulong_int rpc_ss_ndr_bug_1_align (
idl_byte *,
IDL_msp_t
);
typedef struct rpc_ss_mts_ee_pipe_state_t
{
long pipe_number;
long next_in_pipe;
long next_out_pipe;
long *p_current_pipe;
unsigned long left_in_wire_array;
struct IDL_ms_t *IDL_msp;
unsigned long IDL_base_type_offset;
ndr_boolean pipe_drained;
ndr_boolean pipe_filled;
} rpc_ss_mts_ee_pipe_state_t;
void rpc_ss_mts_init_callee_pipe (
long ,
long ,
long ,
long *,
struct IDL_ms_t *,
unsigned long ,
rpc_ss_mts_ee_pipe_state_t **
);
void rpc_ss_ndr_ee_marsh_pipe_chunk (
rpc_ss_pipe_state_t ,
rpc_void_p_t ,
idl_ulong_int
);
void rpc_ss_ndr_ee_unmar_pipe_chunk (
rpc_ss_pipe_state_t ,
rpc_void_p_t ,
idl_ulong_int ,
idl_ulong_int *
);
void rpc_ss_fixed_bounds_from_vector (
idl_ulong_int ,
idl_byte *,
IDL_bound_pair_t **,
IDL_msp_t
);
idl_ulong_int rpc_ss_arm_switch_value (
idl_byte *,
idl_long_int,
IDL_msp_t
);
#define IDL_ES_STATE_VERSION 1
#define IDL_ES_HEADER_VERSION 1
typedef enum {
IDL_encoding_k, IDL_decoding_k, IDL_both_k
} IDL_es_action_type_k_t;
typedef enum {
IDL_incremental_k, IDL_fixed_k, IDL_dynamic_k
} IDL_es_action_style_k_t;
typedef struct IDL_dyn_buff_link_t {
rpc_iovector_elt_t *IDL_p_iovec_elt;
struct IDL_dyn_buff_link_t *IDL_next;
} IDL_dyn_buff_link_t;
typedef struct idl_es_pvt_header_t {
idl_usmall_int IDL_version;
idl_usmall_int IDL_int_drep;
idl_usmall_int IDL_fill2;
idl_usmall_int IDL_fill3;
rpc_syntax_id_t IDL_syntax_id;
rpc_if_id_t IDL_if_id;
idl_ulong_int IDL_op_num;
} idl_es_pvt_header_t;
#define IDL_ES_TYPE_COMMON_HEADER_LEN 8
#define IDL_ES_TYPE_HEADER_LEN (IDL_ES_TYPE_COMMON_HEADER_LEN + 8)
typedef struct idl_es_type_pvt_header_t {
idl_usmall_int IDL_version;
idl_usmall_int IDL_endianness;
idl_ushort_int IDL_common_header_length;
idl_byte IDL_fill[4];
} idl_es_type_pvt_header_t;
#define IDL_INVALID_OP_NUM 0xFFFFFFFF
typedef struct idl_es_handle_s_t
{
idl_ulong_int IDL_version;
IDL_es_action_type_k_t IDL_action;
IDL_es_action_style_k_t IDL_style;
idl_boolean IDL_pickle_header_read;
idl_es_pvt_header_t IDL_pickle_header;
IDL_msp_t IDL_msp;
idl_ulong_int IDL_es_flags;
idl_void_p_t IDL_state;
idl_es_allocate_fn_t IDL_alloc;
idl_es_write_fn_t IDL_write;
idl_es_read_fn_t IDL_read;
idl_byte *IDL_buff_addr;
idl_ulong_int IDL_bsize;
idl_byte *IDL_align_buff_addr;
idl_ulong_int *IDL_esize;
idl_byte **IDL_p_buff_addr;
IDL_dyn_buff_link_t *IDL_dyn_buff_chain_head;
IDL_dyn_buff_link_t *IDL_dyn_buff_chain_tail;
} IDL_es_state_t;
void idl_es_encode_init_buffer (
idl_ulong_int *,
IDL_msp_t
);
void idl_es_encode_attach_buff (
IDL_msp_t
);
error_status_t idl_es_encode_new_dyn_buff (
idl_ulong_int *,
IDL_msp_t
);
void idl_es_before_interp_call (
idl_es_handle_t ,
rpc_if_handle_t ,
idl_byte [],
idl_ulong_int ,
IDL_es_action_type_k_t ,
idl_es_transfer_syntax_t *,
IDL_msp_t
);
void idl_es_after_interp_call (
IDL_msp_t
);
void idl_es_clean_up (
IDL_msp_t
);
void idl_es_decode_check_buffer (
IDL_msp_t
);
typedef struct IDL_cs_shadow_elt_t {
idl_boolean IDL_release;
idl_cs_convert_t IDL_convert_type;
union {
rpc_void_p_t IDL_storage_p;
idl_ulong_int IDL_value;
} IDL_data;
} IDL_cs_shadow_elt_t;
void rpc_ss_put_typed_integer (
idl_ulong_int ,
idl_byte ,
rpc_void_p_t
);
#ifdef __cplusplus
}
#endif
#endif