/*
 * Please do not edit this file.
 * It was generated using rpcgen.
 */

#ifndef _CAST_H_RPCGEN
#define _CAST_H_RPCGEN

#define RPCGEN_VERSION	199506

#include <rpc/rpc.h>

#ifndef _flick_cast_h
#define _flick_cast_h

#include <rpc/types.h>
#include <rpc/xdr.h>
#include <mom/aoi.h>

typedef struct cast_type_u *cast_type;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_type(XDR *, cast_type*);
#elif __STDC__
extern  bool_t xdr_cast_type(XDR *, cast_type*);
#else /* Old Style C */
bool_t xdr_cast_type();
#endif /* Old Style C */


typedef struct cast_expr_u *cast_expr;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_expr(XDR *, cast_expr*);
#elif __STDC__
extern  bool_t xdr_cast_expr(XDR *, cast_expr*);
#else /* Old Style C */
bool_t xdr_cast_expr();
#endif /* Old Style C */


typedef struct cast_stmt_u *cast_stmt;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_stmt(XDR *, cast_stmt*);
#elif __STDC__
extern  bool_t xdr_cast_stmt(XDR *, cast_stmt*);
#else /* Old Style C */
bool_t xdr_cast_stmt();
#endif /* Old Style C */


typedef struct cast_init_u *cast_init;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_init(XDR *, cast_init*);
#elif __STDC__
extern  bool_t xdr_cast_init(XDR *, cast_init*);
#else /* Old Style C */
bool_t xdr_cast_init();
#endif /* Old Style C */


typedef struct cast_template_arg_u *cast_template_arg;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_template_arg(XDR *, cast_template_arg*);
#elif __STDC__
extern  bool_t xdr_cast_template_arg(XDR *, cast_template_arg*);
#else /* Old Style C */
bool_t xdr_cast_template_arg();
#endif /* Old Style C */


typedef struct cast_template_param *cast_template_param_t;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_template_param_t(XDR *, cast_template_param_t*);
#elif __STDC__
extern  bool_t xdr_cast_template_param_t(XDR *, cast_template_param_t*);
#else /* Old Style C */
bool_t xdr_cast_template_param_t();
#endif /* Old Style C */


typedef struct {
	u_int cast_template_arg_array_len;
	cast_template_arg *cast_template_arg_array_val;
} cast_template_arg_array;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_template_arg_array(XDR *, cast_template_arg_array*);
#elif __STDC__
extern  bool_t xdr_cast_template_arg_array(XDR *, cast_template_arg_array*);
#else /* Old Style C */
bool_t xdr_cast_template_arg_array();
#endif /* Old Style C */


typedef struct {
	u_int cast_scoped_name_len;
	struct cast_name_s *cast_scoped_name_val;
} cast_scoped_name;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_scoped_name(XDR *, cast_scoped_name*);
#elif __STDC__
extern  bool_t xdr_cast_scoped_name(XDR *, cast_scoped_name*);
#else /* Old Style C */
bool_t xdr_cast_scoped_name();
#endif /* Old Style C */


typedef struct {
	u_int cast_scope_len;
	struct cast_def *cast_scope_val;
} cast_scope;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_scope(XDR *, cast_scope*);
#elif __STDC__
extern  bool_t xdr_cast_scope(XDR *, cast_scope*);
#else /* Old Style C */
bool_t xdr_cast_scope();
#endif /* Old Style C */


typedef struct cast_def *cast_def_t;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_def_t(XDR *, cast_def_t*);
#elif __STDC__
extern  bool_t xdr_cast_def_t(XDR *, cast_def_t*);
#else /* Old Style C */
bool_t xdr_cast_def_t();
#endif /* Old Style C */


typedef struct {
	u_int cast_expr_array_len;
	cast_expr *cast_expr_array_val;
} cast_expr_array;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_expr_array(XDR *, cast_expr_array*);
#elif __STDC__
extern  bool_t xdr_cast_expr_array(XDR *, cast_expr_array*);
#else /* Old Style C */
bool_t xdr_cast_expr_array();
#endif /* Old Style C */


typedef struct {
	u_int cast_type_array_len;
	cast_type *cast_type_array_val;
} cast_type_array;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_type_array(XDR *, cast_type_array*);
#elif __STDC__
extern  bool_t xdr_cast_type_array(XDR *, cast_type_array*);
#else /* Old Style C */
bool_t xdr_cast_type_array();
#endif /* Old Style C */


typedef struct {
	u_int cast_init_array_len;
	cast_init *cast_init_array_val;
} cast_init_array;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_init_array(XDR *, cast_init_array*);
#elif __STDC__
extern  bool_t xdr_cast_init_array(XDR *, cast_init_array*);
#else /* Old Style C */
bool_t xdr_cast_init_array();
#endif /* Old Style C */


enum cast_template_arg_kind {
	CAST_TEMP_ARG_NAME = 1,
	CAST_TEMP_ARG_TYPE = 2,
	CAST_TEMP_ARG_EXPR = 3,
};
typedef enum cast_template_arg_kind cast_template_arg_kind;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_template_arg_kind(XDR *, cast_template_arg_kind*);
#elif __STDC__
extern  bool_t xdr_cast_template_arg_kind(XDR *, cast_template_arg_kind*);
#else /* Old Style C */
bool_t xdr_cast_template_arg_kind();
#endif /* Old Style C */


struct cast_template_arg_u {
	cast_template_arg_kind kind;
	union {
		cast_scoped_name name;
		cast_type type;
		cast_expr expr;
	} cast_template_arg_u_u;
};
typedef struct cast_template_arg_u cast_template_arg_u;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_template_arg_u(XDR *, cast_template_arg_u*);
#elif __STDC__
extern  bool_t xdr_cast_template_arg_u(XDR *, cast_template_arg_u*);
#else /* Old Style C */
bool_t xdr_cast_template_arg_u();
#endif /* Old Style C */


struct cast_name_s {
	char *name;
	cast_template_arg_array args;
};
typedef struct cast_name_s cast_name_s;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_name_s(XDR *, cast_name_s*);
#elif __STDC__
extern  bool_t xdr_cast_name_s(XDR *, cast_name_s*);
#else /* Old Style C */
bool_t xdr_cast_name_s();
#endif /* Old Style C */


enum cast_primitive_kind {
	CAST_PRIM_CHAR = 1,
	CAST_PRIM_INT = 2,
	CAST_PRIM_FLOAT = 3,
	CAST_PRIM_DOUBLE = 4,
	CAST_PRIM_BOOL = 5,
};
typedef enum cast_primitive_kind cast_primitive_kind;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_primitive_kind(XDR *, cast_primitive_kind*);
#elif __STDC__
extern  bool_t xdr_cast_primitive_kind(XDR *, cast_primitive_kind*);
#else /* Old Style C */
bool_t xdr_cast_primitive_kind();
#endif /* Old Style C */


typedef u_int cast_primitive_modifier;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_primitive_modifier(XDR *, cast_primitive_modifier*);
#elif __STDC__
extern  bool_t xdr_cast_primitive_modifier(XDR *, cast_primitive_modifier*);
#else /* Old Style C */
bool_t xdr_cast_primitive_modifier();
#endif /* Old Style C */

#define CAST_MOD_SIGNED 0x0001
#define CAST_MOD_UNSIGNED 0x0002
#define CAST_MOD_SHORT 0x0010
#define CAST_MOD_LONG 0x0020
#define CAST_MOD_LONG_LONG 0x0040

struct cast_primitive_type {
	cast_primitive_kind kind;
	cast_primitive_modifier mod;
	cast_scoped_name name;
};
typedef struct cast_primitive_type cast_primitive_type;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_primitive_type(XDR *, cast_primitive_type*);
#elif __STDC__
extern  bool_t xdr_cast_primitive_type(XDR *, cast_primitive_type*);
#else /* Old Style C */
bool_t xdr_cast_primitive_type();
#endif /* Old Style C */


struct cast_enum_field {
	char *name;
	cast_expr val;
};
typedef struct cast_enum_field cast_enum_field;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_enum_field(XDR *, cast_enum_field*);
#elif __STDC__
extern  bool_t xdr_cast_enum_field(XDR *, cast_enum_field*);
#else /* Old Style C */
bool_t xdr_cast_enum_field();
#endif /* Old Style C */


struct cast_enum_type {
	cast_scoped_name name;
	struct {
		u_int slots_len;
		cast_enum_field *slots_val;
	} slots;
};
typedef struct cast_enum_type cast_enum_type;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_enum_type(XDR *, cast_enum_type*);
#elif __STDC__
extern  bool_t xdr_cast_enum_type(XDR *, cast_enum_type*);
#else /* Old Style C */
bool_t xdr_cast_enum_type();
#endif /* Old Style C */


struct cast_array_type {
	cast_expr length;
	cast_type element_type;
};
typedef struct cast_array_type cast_array_type;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_array_type(XDR *, cast_array_type*);
#elif __STDC__
extern  bool_t xdr_cast_array_type(XDR *, cast_array_type*);
#else /* Old Style C */
bool_t xdr_cast_array_type();
#endif /* Old Style C */


struct cast_pointer_type {
	cast_type target;
};
typedef struct cast_pointer_type cast_pointer_type;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_pointer_type(XDR *, cast_pointer_type*);
#elif __STDC__
extern  bool_t xdr_cast_pointer_type(XDR *, cast_pointer_type*);
#else /* Old Style C */
bool_t xdr_cast_pointer_type();
#endif /* Old Style C */


struct cast_reference_type {
	cast_type target;
};
typedef struct cast_reference_type cast_reference_type;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_reference_type(XDR *, cast_reference_type*);
#elif __STDC__
extern  bool_t xdr_cast_reference_type(XDR *, cast_reference_type*);
#else /* Old Style C */
bool_t xdr_cast_reference_type();
#endif /* Old Style C */


typedef u_int cast_param_spec;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_param_spec(XDR *, cast_param_spec*);
#elif __STDC__
extern  bool_t xdr_cast_param_spec(XDR *, cast_param_spec*);
#else /* Old Style C */
bool_t xdr_cast_param_spec();
#endif /* Old Style C */

#define CAST_PARAM_IMPLICIT 0x0001
#define CAST_PARAM_UNUSED 0x0002

struct cast_param {
	cast_param_spec spec;
	char *name;
	cast_type type;
	cast_init default_value;
};
typedef struct cast_param cast_param;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_param(XDR *, cast_param*);
#elif __STDC__
extern  bool_t xdr_cast_param(XDR *, cast_param*);
#else /* Old Style C */
bool_t xdr_cast_param();
#endif /* Old Style C */


typedef cast_param cast_func_param;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_func_param(XDR *, cast_func_param*);
#elif __STDC__
extern  bool_t xdr_cast_func_param(XDR *, cast_func_param*);
#else /* Old Style C */
bool_t xdr_cast_func_param();
#endif /* Old Style C */


typedef u_int cast_func_spec;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_func_spec(XDR *, cast_func_spec*);
#elif __STDC__
extern  bool_t xdr_cast_func_spec(XDR *, cast_func_spec*);
#else /* Old Style C */
bool_t xdr_cast_func_spec();
#endif /* Old Style C */

#define CAST_FUNC_VIRTUAL 0x0001
#define CAST_FUNC_PURE 0x0002
#define CAST_FUNC_INLINE 0x0004
#define CAST_FUNC_EXPLICIT 0x0008
#define CAST_FUNC_CONST 0x0010
#define CAST_FUNC_OPERATOR 0x0020

struct cast_func_type {
	struct {
		u_int params_len;
		cast_func_param *params_val;
	} params;
	cast_type return_type;
	cast_func_spec spec;
	cast_type_array exception_types;
	cast_expr_array initializers;
};
typedef struct cast_func_type cast_func_type;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_func_type(XDR *, cast_func_type*);
#elif __STDC__
extern  bool_t xdr_cast_func_type(XDR *, cast_func_type*);
#else /* Old Style C */
bool_t xdr_cast_func_type();
#endif /* Old Style C */


typedef u_int cast_parent_flags;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_parent_flags(XDR *, cast_parent_flags*);
#elif __STDC__
extern  bool_t xdr_cast_parent_flags(XDR *, cast_parent_flags*);
#else /* Old Style C */
bool_t xdr_cast_parent_flags();
#endif /* Old Style C */

#define CAST_PARENT_PUBLIC 0x0001
#define CAST_PARENT_PROTECTED 0x0002
#define CAST_PARENT_PRIVATE 0x0004
#define CAST_PARENT_VIRTUAL 0x0008

struct cast_parent_spec {
	cast_parent_flags flags;
	cast_scoped_name name;
};
typedef struct cast_parent_spec cast_parent_spec;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_parent_spec(XDR *, cast_parent_spec*);
#elif __STDC__
extern  bool_t xdr_cast_parent_spec(XDR *, cast_parent_spec*);
#else /* Old Style C */
bool_t xdr_cast_parent_spec();
#endif /* Old Style C */


enum cast_aggregate_kind {
	CAST_AGGREGATE_STRUCT = 1,
	CAST_AGGREGATE_UNION = 2,
	CAST_AGGREGATE_CLASS = 3,
};
typedef enum cast_aggregate_kind cast_aggregate_kind;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_aggregate_kind(XDR *, cast_aggregate_kind*);
#elif __STDC__
extern  bool_t xdr_cast_aggregate_kind(XDR *, cast_aggregate_kind*);
#else /* Old Style C */
bool_t xdr_cast_aggregate_kind();
#endif /* Old Style C */


struct cast_aggregate_type {
	cast_aggregate_kind kind;
	cast_scoped_name name;
	struct {
		u_int parents_len;
		cast_parent_spec *parents_val;
	} parents;
	cast_scope scope;
};
typedef struct cast_aggregate_type cast_aggregate_type;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_aggregate_type(XDR *, cast_aggregate_type*);
#elif __STDC__
extern  bool_t xdr_cast_aggregate_type(XDR *, cast_aggregate_type*);
#else /* Old Style C */
bool_t xdr_cast_aggregate_type();
#endif /* Old Style C */


typedef int cast_type_qualifier;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_type_qualifier(XDR *, cast_type_qualifier*);
#elif __STDC__
extern  bool_t xdr_cast_type_qualifier(XDR *, cast_type_qualifier*);
#else /* Old Style C */
bool_t xdr_cast_type_qualifier();
#endif /* Old Style C */

#define CAST_TQ_CONST 0x01
#define CAST_TQ_VOLATILE 0x02

struct cast_qualified_type {
	cast_type_qualifier qual;
	cast_type actual;
};
typedef struct cast_qualified_type cast_qualified_type;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_qualified_type(XDR *, cast_qualified_type*);
#elif __STDC__
extern  bool_t xdr_cast_qualified_type(XDR *, cast_qualified_type*);
#else /* Old Style C */
bool_t xdr_cast_qualified_type();
#endif /* Old Style C */


enum cast_template_param_kind {
	CAST_TEMP_PARAM_TYPE = 1,
	CAST_TEMP_PARAM_CLASS = 2,
	CAST_TEMP_PARAM_TYPENAME = 3,
	CAST_TEMP_PARAM_TEMPLATE = 4,
};
typedef enum cast_template_param_kind cast_template_param_kind;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_template_param_kind(XDR *, cast_template_param_kind*);
#elif __STDC__
extern  bool_t xdr_cast_template_param_kind(XDR *, cast_template_param_kind*);
#else /* Old Style C */
bool_t xdr_cast_template_param_kind();
#endif /* Old Style C */


struct cast_template_param_u {
	cast_template_param_kind kind;
	union {
		cast_type type_param;
		struct {
			u_int params_len;
			cast_template_param_t *params_val;
		} params;
	} cast_template_param_u_u;
};
typedef struct cast_template_param_u cast_template_param_u;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_template_param_u(XDR *, cast_template_param_u*);
#elif __STDC__
extern  bool_t xdr_cast_template_param_u(XDR *, cast_template_param_u*);
#else /* Old Style C */
bool_t xdr_cast_template_param_u();
#endif /* Old Style C */


struct cast_template_param {
	char *name;
	cast_template_param_u u;
	cast_template_arg default_value;
};
typedef struct cast_template_param cast_template_param;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_template_param(XDR *, cast_template_param*);
#elif __STDC__
extern  bool_t xdr_cast_template_param(XDR *, cast_template_param*);
#else /* Old Style C */
bool_t xdr_cast_template_param();
#endif /* Old Style C */


typedef u_int cast_template_flags;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_template_flags(XDR *, cast_template_flags*);
#elif __STDC__
extern  bool_t xdr_cast_template_flags(XDR *, cast_template_flags*);
#else /* Old Style C */
bool_t xdr_cast_template_flags();
#endif /* Old Style C */

#define CAST_TEMP_EXPORT 0x0001

struct cast_template_type {
	cast_template_flags flags;
	struct {
		u_int params_len;
		cast_template_param *params_val;
	} params;
	cast_type def;
};
typedef struct cast_template_type cast_template_type;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_template_type(XDR *, cast_template_type*);
#elif __STDC__
extern  bool_t xdr_cast_template_type(XDR *, cast_template_type*);
#else /* Old Style C */
bool_t xdr_cast_template_type();
#endif /* Old Style C */


enum cast_type_kind {
	CAST_TYPE_NAME = 1,
	CAST_TYPE_PRIMITIVE = 2,
	CAST_TYPE_ARRAY = 3,
	CAST_TYPE_POINTER = 4,
	CAST_TYPE_FUNCTION = 5,
	CAST_TYPE_ENUM = 6,
	CAST_TYPE_STRUCT_NAME = 7,
	CAST_TYPE_UNION_NAME = 8,
	CAST_TYPE_ENUM_NAME = 9,
	CAST_TYPE_VOID = 10,
	CAST_TYPE_QUALIFIED = 11,
	CAST_TYPE_AGGREGATE = 12,
	CAST_TYPE_NULL = 13,
	CAST_TYPE_REFERENCE = 14,
	CAST_TYPE_CLASS_NAME = 15,
	CAST_TYPE_TYPENAME = 16,
	CAST_TYPE_TEMPLATE = 17,
};
typedef enum cast_type_kind cast_type_kind;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_type_kind(XDR *, cast_type_kind*);
#elif __STDC__
extern  bool_t xdr_cast_type_kind(XDR *, cast_type_kind*);
#else /* Old Style C */
bool_t xdr_cast_type_kind();
#endif /* Old Style C */


struct cast_type_u {
	cast_type_kind kind;
	union {
		cast_scoped_name name;
		cast_primitive_type primitive_type;
		cast_pointer_type pointer_type;
		cast_array_type array_type;
		cast_func_type func_type;
		cast_enum_type enum_type;
		cast_scoped_name struct_name;
		cast_scoped_name union_name;
		cast_scoped_name enum_name;
		cast_qualified_type qualified;
		cast_aggregate_type agg_type;
		cast_scoped_name class_name;
		cast_reference_type reference_type;
		cast_scoped_name typename_name;
		cast_template_type template_type;
	} cast_type_u_u;
};
typedef struct cast_type_u cast_type_u;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_type_u(XDR *, cast_type_u*);
#elif __STDC__
extern  bool_t xdr_cast_type_u(XDR *, cast_type_u*);
#else /* Old Style C */
bool_t xdr_cast_type_u();
#endif /* Old Style C */


struct cast_lit_prim_u {
	cast_primitive_kind kind;
	union {
		char c;
		long i;
		float f;
		double d;
		char b;
	} cast_lit_prim_u_u;
};
typedef struct cast_lit_prim_u cast_lit_prim_u;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_lit_prim_u(XDR *, cast_lit_prim_u*);
#elif __STDC__
extern  bool_t xdr_cast_lit_prim_u(XDR *, cast_lit_prim_u*);
#else /* Old Style C */
bool_t xdr_cast_lit_prim_u();
#endif /* Old Style C */


struct cast_lit_prim {
	cast_primitive_modifier mod;
	cast_lit_prim_u u;
};
typedef struct cast_lit_prim cast_lit_prim;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_lit_prim(XDR *, cast_lit_prim*);
#elif __STDC__
extern  bool_t xdr_cast_lit_prim(XDR *, cast_lit_prim*);
#else /* Old Style C */
bool_t xdr_cast_lit_prim();
#endif /* Old Style C */


struct cast_expr_call {
	cast_expr func;
	cast_expr_array params;
};
typedef struct cast_expr_call cast_expr_call;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_expr_call(XDR *, cast_expr_call*);
#elif __STDC__
extern  bool_t xdr_cast_expr_call(XDR *, cast_expr_call*);
#else /* Old Style C */
bool_t xdr_cast_expr_call();
#endif /* Old Style C */


struct cast_expr_sel {
	cast_expr var;
	cast_scoped_name member;
};
typedef struct cast_expr_sel cast_expr_sel;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_expr_sel(XDR *, cast_expr_sel*);
#elif __STDC__
extern  bool_t xdr_cast_expr_sel(XDR *, cast_expr_sel*);
#else /* Old Style C */
bool_t xdr_cast_expr_sel();
#endif /* Old Style C */


enum cast_unary_op {
	CAST_UNARY_DEREF = 1,
	CAST_UNARY_ADDR = 2,
	CAST_UNARY_NEG = 3,
	CAST_UNARY_LNOT = 4,
	CAST_UNARY_BNOT = 5,
	CAST_UNARY_PRE_INC = 6,
	CAST_UNARY_PRE_DEC = 7,
	CAST_UNARY_POST_INC = 8,
	CAST_UNARY_POST_DEC = 9,
};
typedef enum cast_unary_op cast_unary_op;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_unary_op(XDR *, cast_unary_op*);
#elif __STDC__
extern  bool_t xdr_cast_unary_op(XDR *, cast_unary_op*);
#else /* Old Style C */
bool_t xdr_cast_unary_op();
#endif /* Old Style C */


struct cast_unary_expr {
	cast_unary_op op;
	cast_expr expr;
};
typedef struct cast_unary_expr cast_unary_expr;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_unary_expr(XDR *, cast_unary_expr*);
#elif __STDC__
extern  bool_t xdr_cast_unary_expr(XDR *, cast_unary_expr*);
#else /* Old Style C */
bool_t xdr_cast_unary_expr();
#endif /* Old Style C */


struct cast_expr_cast {
	cast_expr expr;
	cast_type type;
};
typedef struct cast_expr_cast cast_expr_cast;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_expr_cast(XDR *, cast_expr_cast*);
#elif __STDC__
extern  bool_t xdr_cast_expr_cast(XDR *, cast_expr_cast*);
#else /* Old Style C */
bool_t xdr_cast_expr_cast();
#endif /* Old Style C */


enum cast_binary_op {
	CAST_BINARY_MUL = 1,
	CAST_BINARY_DIV = 2,
	CAST_BINARY_MOD = 3,
	CAST_BINARY_ADD = 4,
	CAST_BINARY_SUB = 5,
	CAST_BINARY_SHL = 6,
	CAST_BINARY_SHR = 7,
	CAST_BINARY_LT = 8,
	CAST_BINARY_GT = 9,
	CAST_BINARY_LE = 10,
	CAST_BINARY_GE = 11,
	CAST_BINARY_EQ = 12,
	CAST_BINARY_NE = 13,
	CAST_BINARY_BAND = 14,
	CAST_BINARY_BXOR = 15,
	CAST_BINARY_BOR = 16,
	CAST_BINARY_LAND = 17,
	CAST_BINARY_LOR = 18,
	CAST_BINARY_ASSIGN = 19,
	CAST_BINARY_COMMA = 20,
};
typedef enum cast_binary_op cast_binary_op;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_binary_op(XDR *, cast_binary_op*);
#elif __STDC__
extern  bool_t xdr_cast_binary_op(XDR *, cast_binary_op*);
#else /* Old Style C */
bool_t xdr_cast_binary_op();
#endif /* Old Style C */


struct cast_binary_expr {
	cast_binary_op op;
	cast_expr expr[2];
};
typedef struct cast_binary_expr cast_binary_expr;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_binary_expr(XDR *, cast_binary_expr*);
#elif __STDC__
extern  bool_t xdr_cast_binary_expr(XDR *, cast_binary_expr*);
#else /* Old Style C */
bool_t xdr_cast_binary_expr();
#endif /* Old Style C */


struct cast_cond_expr {
	cast_expr test;
	cast_expr true_expr;
	cast_expr false_expr;
};
typedef struct cast_cond_expr cast_cond_expr;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_cond_expr(XDR *, cast_cond_expr*);
#elif __STDC__
extern  bool_t xdr_cast_cond_expr(XDR *, cast_cond_expr*);
#else /* Old Style C */
bool_t xdr_cast_cond_expr();
#endif /* Old Style C */


struct cast_op_new_expr {
	cast_expr placement;
	cast_type type;
	cast_init init;
};
typedef struct cast_op_new_expr cast_op_new_expr;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_op_new_expr(XDR *, cast_op_new_expr*);
#elif __STDC__
extern  bool_t xdr_cast_op_new_expr(XDR *, cast_op_new_expr*);
#else /* Old Style C */
bool_t xdr_cast_op_new_expr();
#endif /* Old Style C */


struct cast_op_delete_expr {
	long array;
	cast_expr expr;
};
typedef struct cast_op_delete_expr cast_op_delete_expr;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_op_delete_expr(XDR *, cast_op_delete_expr*);
#elif __STDC__
extern  bool_t xdr_cast_op_delete_expr(XDR *, cast_op_delete_expr*);
#else /* Old Style C */
bool_t xdr_cast_op_delete_expr();
#endif /* Old Style C */


enum cast_expr_kind {
	CAST_EXPR_NAME = 1,
	CAST_EXPR_LIT_PRIM = 2,
	CAST_EXPR_LIT_STRING = 3,
	CAST_EXPR_CALL = 4,
	CAST_EXPR_SEL = 5,
	CAST_EXPR_UNARY = 6,
	CAST_EXPR_CAST = 7,
	CAST_EXPR_SIZEOF_EXPR = 8,
	CAST_EXPR_SIZEOF_TYPE = 9,
	CAST_EXPR_BINARY = 10,
	CAST_EXPR_OP_ASSIGN = 11,
	CAST_EXPR_COND = 12,
	CAST_EXPR_CONST_NAME = 13,
	CAST_EXPR_CONST_CAST = 14,
	CAST_EXPR_DYNAMIC_CAST = 15,
	CAST_EXPR_REINTERPRET_CAST = 16,
	CAST_EXPR_STATIC_CAST = 17,
	CAST_EXPR_OP_NEW = 18,
	CAST_EXPR_OP_DELETE = 19,
	CAST_EXPR_TYPEID_EXPR = 20,
	CAST_EXPR_TYPEID_TYPE = 21,
	CAST_EXPR_TYPE = 22,
};
typedef enum cast_expr_kind cast_expr_kind;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_expr_kind(XDR *, cast_expr_kind*);
#elif __STDC__
extern  bool_t xdr_cast_expr_kind(XDR *, cast_expr_kind*);
#else /* Old Style C */
bool_t xdr_cast_expr_kind();
#endif /* Old Style C */


struct cast_expr_u {
	cast_expr_kind kind;
	union {
		cast_scoped_name name;
		cast_lit_prim lit_prim;
		char *lit_string;
		cast_expr_call call;
		cast_expr_sel sel;
		cast_unary_expr unary;
		cast_expr_cast cast;
		cast_expr sizeof_expr;
		cast_type sizeof_type;
		cast_binary_expr binary;
		cast_binary_expr op_assign;
		cast_cond_expr cond;
		cast_scoped_name const_name;
		cast_expr_cast c_cast;
		cast_expr_cast d_cast;
		cast_expr_cast r_cast;
		cast_expr_cast s_cast;
		cast_op_new_expr op_new;
		cast_op_delete_expr op_delete;
		cast_expr typeid_expr;
		cast_type typeid_type;
		cast_type type_expr;
	} cast_expr_u_u;
};
typedef struct cast_expr_u cast_expr_u;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_expr_u(XDR *, cast_expr_u*);
#elif __STDC__
extern  bool_t xdr_cast_expr_u(XDR *, cast_expr_u*);
#else /* Old Style C */
bool_t xdr_cast_expr_u();
#endif /* Old Style C */


typedef u_int cast_block_flags;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_block_flags(XDR *, cast_block_flags*);
#elif __STDC__
extern  bool_t xdr_cast_block_flags(XDR *, cast_block_flags*);
#else /* Old Style C */
bool_t xdr_cast_block_flags();
#endif /* Old Style C */

#define CAST_BLOCK_REVERSE 0x00000001
#define CAST_BLOCK_INLINE 0x00000002

struct cast_block {
	cast_scope scope;
	struct {
		u_int initials_len;
		cast_stmt *initials_val;
	} initials;
	struct {
		u_int stmts_len;
		cast_stmt *stmts_val;
	} stmts;
	cast_block_flags flags;
};
typedef struct cast_block cast_block;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_block(XDR *, cast_block*);
#elif __STDC__
extern  bool_t xdr_cast_block(XDR *, cast_block*);
#else /* Old Style C */
bool_t xdr_cast_block();
#endif /* Old Style C */


struct cast_if {
	cast_expr test;
	cast_stmt true_stmt;
	cast_stmt false_stmt;
};
typedef struct cast_if cast_if;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_if(XDR *, cast_if*);
#elif __STDC__
extern  bool_t xdr_cast_if(XDR *, cast_if*);
#else /* Old Style C */
bool_t xdr_cast_if();
#endif /* Old Style C */


struct cast_while {
	cast_expr test;
	cast_stmt stmt;
};
typedef struct cast_while cast_while;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_while(XDR *, cast_while*);
#elif __STDC__
extern  bool_t xdr_cast_while(XDR *, cast_while*);
#else /* Old Style C */
bool_t xdr_cast_while();
#endif /* Old Style C */


struct cast_for {
	cast_expr init;
	cast_expr test;
	cast_expr iter;
	cast_stmt stmt;
};
typedef struct cast_for cast_for;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_for(XDR *, cast_for*);
#elif __STDC__
extern  bool_t xdr_cast_for(XDR *, cast_for*);
#else /* Old Style C */
bool_t xdr_cast_for();
#endif /* Old Style C */


struct cast_switch {
	cast_expr test;
	cast_stmt stmt;
};
typedef struct cast_switch cast_switch;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_switch(XDR *, cast_switch*);
#elif __STDC__
extern  bool_t xdr_cast_switch(XDR *, cast_switch*);
#else /* Old Style C */
bool_t xdr_cast_switch();
#endif /* Old Style C */


struct cast_label {
	char *label;
	cast_stmt stmt;
	int users;
};
typedef struct cast_label cast_label;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_label(XDR *, cast_label*);
#elif __STDC__
extern  bool_t xdr_cast_label(XDR *, cast_label*);
#else /* Old Style C */
bool_t xdr_cast_label();
#endif /* Old Style C */


struct cast_case {
	cast_expr label;
	cast_stmt stmt;
};
typedef struct cast_case cast_case;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_case(XDR *, cast_case*);
#elif __STDC__
extern  bool_t xdr_cast_case(XDR *, cast_case*);
#else /* Old Style C */
bool_t xdr_cast_case();
#endif /* Old Style C */


struct cast_catch {
	cast_type type;
	char *name;
	cast_stmt block;
};
typedef struct cast_catch cast_catch;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_catch(XDR *, cast_catch*);
#elif __STDC__
extern  bool_t xdr_cast_catch(XDR *, cast_catch*);
#else /* Old Style C */
bool_t xdr_cast_catch();
#endif /* Old Style C */


struct cast_try {
	cast_stmt block;
	struct {
		u_int handlers_len;
		cast_catch *handlers_val;
	} handlers;
};
typedef struct cast_try cast_try;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_try(XDR *, cast_try*);
#elif __STDC__
extern  bool_t xdr_cast_try(XDR *, cast_try*);
#else /* Old Style C */
bool_t xdr_cast_try();
#endif /* Old Style C */


typedef char *cast_handler_arg;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_handler_arg(XDR *, cast_handler_arg*);
#elif __STDC__
extern  bool_t xdr_cast_handler_arg(XDR *, cast_handler_arg*);
#else /* Old Style C */
bool_t xdr_cast_handler_arg();
#endif /* Old Style C */


struct cast_handler {
	char *name;
	struct {
		u_int args_len;
		cast_handler_arg *args_val;
	} args;
};
typedef struct cast_handler cast_handler;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_handler(XDR *, cast_handler*);
#elif __STDC__
extern  bool_t xdr_cast_handler(XDR *, cast_handler*);
#else /* Old Style C */
bool_t xdr_cast_handler();
#endif /* Old Style C */


enum cast_stmt_kind {
	CAST_STMT_EXPR = 1,
	CAST_STMT_BLOCK = 2,
	CAST_STMT_IF = 3,
	CAST_STMT_WHILE = 4,
	CAST_STMT_DO_WHILE = 5,
	CAST_STMT_FOR = 6,
	CAST_STMT_SWITCH = 7,
	CAST_STMT_BREAK = 8,
	CAST_STMT_CONTINUE = 9,
	CAST_STMT_GOTO = 10,
	CAST_STMT_LABEL = 11,
	CAST_STMT_CASE = 12,
	CAST_STMT_DEFAULT = 13,
	CAST_STMT_RETURN = 14,
	CAST_STMT_TEXT = 15,
	CAST_STMT_NULL = 16,
	CAST_STMT_EMPTY = 17,
	CAST_STMT_TRY = 18,
	CAST_STMT_THROW = 19,
	CAST_STMT_DECL = 20,
	CAST_STMT_HANDLER = 21,
};
typedef enum cast_stmt_kind cast_stmt_kind;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_stmt_kind(XDR *, cast_stmt_kind*);
#elif __STDC__
extern  bool_t xdr_cast_stmt_kind(XDR *, cast_stmt_kind*);
#else /* Old Style C */
bool_t xdr_cast_stmt_kind();
#endif /* Old Style C */


struct cast_stmt_u {
	cast_stmt_kind kind;
	union {
		cast_expr expr;
		cast_block block;
		cast_if s_if;
		cast_while s_while;
		cast_while s_do_while;
		cast_for s_for;
		cast_switch s_switch;
		char *goto_label;
		cast_label s_label;
		cast_case s_case;
		cast_stmt default_stmt;
		cast_expr return_expr;
		char *text;
		cast_try try_block;
		cast_expr throw_expr;
		cast_scope decl;
		cast_handler handler;
	} cast_stmt_u_u;
};
typedef struct cast_stmt_u cast_stmt_u;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_stmt_u(XDR *, cast_stmt_u*);
#elif __STDC__
extern  bool_t xdr_cast_stmt_u(XDR *, cast_stmt_u*);
#else /* Old Style C */
bool_t xdr_cast_stmt_u();
#endif /* Old Style C */


struct cast_func_def {
	cast_func_type type;
	cast_block block;
};
typedef struct cast_func_def cast_func_def;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_func_def(XDR *, cast_func_def*);
#elif __STDC__
extern  bool_t xdr_cast_func_def(XDR *, cast_func_def*);
#else /* Old Style C */
bool_t xdr_cast_func_def();
#endif /* Old Style C */


enum cast_init_kind {
	CAST_INIT_EXPR = 1,
	CAST_INIT_AGGREGATE = 2,
	CAST_INIT_CONSTRUCT = 3,
};
typedef enum cast_init_kind cast_init_kind;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_init_kind(XDR *, cast_init_kind*);
#elif __STDC__
extern  bool_t xdr_cast_init_kind(XDR *, cast_init_kind*);
#else /* Old Style C */
bool_t xdr_cast_init_kind();
#endif /* Old Style C */


struct cast_init_u {
	cast_init_kind kind;
	union {
		cast_expr expr;
		cast_init_array subs;
		cast_expr_array exprs;
	} cast_init_u_u;
};
typedef struct cast_init_u cast_init_u;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_init_u(XDR *, cast_init_u*);
#elif __STDC__
extern  bool_t xdr_cast_init_u(XDR *, cast_init_u*);
#else /* Old Style C */
bool_t xdr_cast_init_u();
#endif /* Old Style C */


struct cast_var_def {
	cast_type type;
	cast_init init;
};
typedef struct cast_var_def cast_var_def;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_var_def(XDR *, cast_var_def*);
#elif __STDC__
extern  bool_t xdr_cast_var_def(XDR *, cast_var_def*);
#else /* Old Style C */
bool_t xdr_cast_var_def();
#endif /* Old Style C */


struct cast_include {
	char *filename;
	bool_t system_only;
};
typedef struct cast_include cast_include;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_include(XDR *, cast_include*);
#elif __STDC__
extern  bool_t xdr_cast_include(XDR *, cast_include*);
#else /* Old Style C */
bool_t xdr_cast_include();
#endif /* Old Style C */


struct cast_direct {
	char *code_string;
};
typedef struct cast_direct cast_direct;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_direct(XDR *, cast_direct*);
#elif __STDC__
extern  bool_t xdr_cast_direct(XDR *, cast_direct*);
#else /* Old Style C */
bool_t xdr_cast_direct();
#endif /* Old Style C */


enum cast_storage_class {
	CAST_SC_NONE = 0,
	CAST_SC_AUTO = 1,
	CAST_SC_STATIC = 2,
	CAST_SC_EXTERN = 3,
	CAST_SC_REGISTER = 4,
	CAST_SC_MUTABLE = 5,
};
typedef enum cast_storage_class cast_storage_class;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_storage_class(XDR *, cast_storage_class*);
#elif __STDC__
extern  bool_t xdr_cast_storage_class(XDR *, cast_storage_class*);
#else /* Old Style C */
bool_t xdr_cast_storage_class();
#endif /* Old Style C */


enum cast_using_kind {
	CAST_USING_NAME = 1,
	CAST_USING_TYPENAME = 2,
	CAST_USING_NAMESPACE = 3,
};
typedef enum cast_using_kind cast_using_kind;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_using_kind(XDR *, cast_using_kind*);
#elif __STDC__
extern  bool_t xdr_cast_using_kind(XDR *, cast_using_kind*);
#else /* Old Style C */
bool_t xdr_cast_using_kind();
#endif /* Old Style C */


enum cast_def_kind {
	CAST_TYPEDEF = 0x00000001,
	CAST_TYPE = 0x00000002,
	CAST_FUNC_DECL = 0x00000004,
	CAST_FUNC_DEF = 0x00000008,
	CAST_VAR_DECL = 0x00000010,
	CAST_VAR_DEF = 0x00000020,
	CAST_DEFINE = 0x00000040,
	CAST_INCLUDE = 0x00000080,
	CAST_DIRECT_CODE = 0x00000100,
	CAST_NAMESPACE = 0x00000200,
	CAST_USING = 0x00000400,
	CAST_LINKAGE = 0x00000800,
	CAST_FRIEND = 0x00001000,
};
typedef enum cast_def_kind cast_def_kind;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_def_kind(XDR *, cast_def_kind*);
#elif __STDC__
extern  bool_t xdr_cast_def_kind(XDR *, cast_def_kind*);
#else /* Old Style C */
bool_t xdr_cast_def_kind();
#endif /* Old Style C */


struct cast_def_u {
	cast_def_kind kind;
	union {
		cast_type typedef_type;
		cast_type type;
		cast_func_type func_type;
		cast_func_def func_def;
		cast_type var_type;
		cast_var_def var_def;
		cast_expr define_as;
		cast_include include;
		cast_direct direct;
		cast_scope *new_namespace;
		cast_using_kind using_scope;
		cast_scope *linkage;
		cast_type friend_decl;
	} cast_def_u_u;
};
typedef struct cast_def_u cast_def_u;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_def_u(XDR *, cast_def_u*);
#elif __STDC__
extern  bool_t xdr_cast_def_u(XDR *, cast_def_u*);
#else /* Old Style C */
bool_t xdr_cast_def_u();
#endif /* Old Style C */


enum cast_def_protection {
	CAST_PROT_NONE = 0,
	CAST_PROT_PUBLIC = 1,
	CAST_PROT_PROTECTED = 2,
	CAST_PROT_PRIVATE = 3,
};
typedef enum cast_def_protection cast_def_protection;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_def_protection(XDR *, cast_def_protection*);
#elif __STDC__
extern  bool_t xdr_cast_def_protection(XDR *, cast_def_protection*);
#else /* Old Style C */
bool_t xdr_cast_def_protection();
#endif /* Old Style C */


struct cast_def {
	cast_scoped_name name;
	cast_storage_class sc;
	cast_def_u u;
	data_channel_index channel;
	cast_def_protection protection;
};
typedef struct cast_def cast_def;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_def(XDR *, cast_def*);
#elif __STDC__
extern  bool_t xdr_cast_def(XDR *, cast_def*);
#else /* Old Style C */
bool_t xdr_cast_def();
#endif /* Old Style C */


typedef cast_scope cast_1;
#ifdef __cplusplus
extern "C" bool_t xdr_cast_1(XDR *, cast_1*);
#elif __STDC__
extern  bool_t xdr_cast_1(XDR *, cast_1*);
#else /* Old Style C */
bool_t xdr_cast_1();
#endif /* Old Style C */

#endif /* _flick_cast_h */

#endif /* !_CAST_H_RPCGEN */


syntax highlighted by Code2HTML, v. 0.9.1