#ifndef BE_PVT_H
#define BE_PVT_H
#include <nametbl.h>
extern struct AST_type_n_t *BE_ulong_int_p, *BE_ushort_int_p;
extern struct AST_type_n_t *BE_pointer_p, *BE_function_p;
extern struct AST_type_n_t *BE_hyper_null_p, *BE_long_null_p, *BE_short_null_p;
#ifndef MIA
extern boolean BE_bug_array_no_ref_hole;
#endif
extern boolean BE_space_opt, BE_bug_array_align, BE_bug_array_align2, BE_bug_boolean_def;
#ifdef DUMPERS
extern boolean BE_dump_debug, BE_dump_flat, BE_dump_mnode, BE_dump_mool,
BE_dump_recs, BE_dump_sends, BE_dump_unode, BE_dump_uool;
#endif
#define MIN_BUFF_SIZE 880
#define RPC_MAX_ALIGNMENT 8
typedef enum {
BE_client_stub_k,
BE_server_stub_k,
BE_server_aux_k,
BE_client_aux_k
} BE_output_k_t;
typedef enum {BE_client_side, BE_server_side, BE_both_sides} BE_side_t;
typedef enum {BE_in, BE_out} BE_direction_t;
typedef enum {BE_caller, BE_callee} BE_call_side_t;
typedef enum {BE_pipe_push_k, BE_pipe_pull_k, BE_pipe_alloc_k}
BE_pipe_routine_k_t;
typedef enum {BE_marshalling_k, BE_unmarshalling_k} BE_marshalling_k_t;
typedef union be_info_t {
struct BE_pipe_i_t *pipe;
struct BE_type_i_t *type;
struct BE_param_i_t *param;
struct BE_field_i_t *field;
struct BE_oper_i_t *oper;
#ifndef ultrix
void *other;
#else
char *other;
#endif
struct DDBE_type_i_t *dd_type;
struct DDBE_oper_i_t *dd_oper;
struct DDBE_param_i_t *dd_param;
} be_info_t;
typedef struct BE_local_var_t
{
NAMETABLE_id_t name;
char *comment;
boolean volatility;
struct AST_type_n_t *type;
struct BE_local_var_t *next;
} BE_local_var_t;
#ifdef DEBUG_VERBOSE
# define debug(x) if (BE_dump_debug) printf x
#else
# ifndef VMS
# define debug(x)
# else
# define debug(x) if(0) printf x
# endif
#endif
#endif