/*
 * This file was generated by orbit-idl - DO NOT EDIT!
 */

#include <glib.h>
#define ORBIT_IDL_SERIAL 9
#include <orb/orbit.h>

#ifdef __cplusplus
extern "C" {
#endif				/* __cplusplus */

/* Begin CORBA module CORBA */

#ifndef _CORBA_Identifier_defined
#define _CORBA_Identifier_defined

   typedef CORBA_char *CORBA_Identifier;
#endif				/* !_CORBA_Identifier_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_Identifier_struct;
#define TC_CORBA_Identifier (&TC_CORBA_Identifier_struct)
   extern CORBA_Identifier *CORBA_Identifier__alloc(void);
#define CORBA_Identifier__free CORBA_string__free

#ifndef _CORBA_ScopedName_defined
#define _CORBA_ScopedName_defined

   typedef CORBA_char *CORBA_ScopedName;
#endif				/* !_CORBA_ScopedName_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_ScopedName_struct;
#define TC_CORBA_ScopedName (&TC_CORBA_ScopedName_struct)
   extern CORBA_ScopedName *CORBA_ScopedName__alloc(void);
#define CORBA_ScopedName__free CORBA_string__free

#ifndef _CORBA_RepositoryId_defined
#define _CORBA_RepositoryId_defined

   typedef CORBA_char *CORBA_RepositoryId;
#endif				/* !_CORBA_RepositoryId_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_RepositoryId_struct;
#define TC_CORBA_RepositoryId (&TC_CORBA_RepositoryId_struct)
   extern CORBA_RepositoryId *CORBA_RepositoryId__alloc(void);
#define CORBA_RepositoryId__free CORBA_string__free

#ifndef _CORBA_DefinitionKind_defined
#define _CORBA_DefinitionKind_defined

   typedef enum {
      CORBA_dk_none,
      CORBA_dk_all,
      CORBA_dk_Attribute,
      CORBA_dk_Constant,
      CORBA_dk_Exception,
      CORBA_dk_Interface,
      CORBA_dk_Module,
      CORBA_dk_Operation,
      CORBA_dk_Typedef,
      CORBA_dk_Alias,
      CORBA_dk_Struct,
      CORBA_dk_Union,
      CORBA_dk_Enum,
      CORBA_dk_Primitive,
      CORBA_dk_String,
      CORBA_dk_Sequence,
      CORBA_dk_Array,
      CORBA_dk_Repository,
      CORBA_dk_Wstring,
      CORBA_dk_Fixed
   } CORBA_DefinitionKind;
#endif				/* !_CORBA_DefinitionKind_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_DefinitionKind_struct;
#define TC_CORBA_DefinitionKind (&TC_CORBA_DefinitionKind_struct)

/* Begin interface CORBA_IRObject */

   /* client-side data structures and methods */
#ifndef _CORBA_IRObject_defined
#define _CORBA_IRObject_defined

   typedef CORBA_Object CORBA_IRObject;
#define CORBA_IRObject__free CORBA_Object__free
#endif				/* !_CORBA_IRObject_defined */

   extern CORBA_unsigned_long CORBA_IRObject__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_IRObject_struct;
#define TC_CORBA_IRObject (&TC_CORBA_IRObject_struct)
   extern CORBA_DefinitionKind CORBA_IRObject__get_def_kind(CORBA_IRObject _obj, CORBA_Environment * ev);

   extern void CORBA_IRObject_destroy(CORBA_IRObject _obj, CORBA_Environment * ev);

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_IRObject__epv_defined
#define _POA_CORBA_IRObject__epv_defined

   typedef struct {
      void *_private;
       CORBA_DefinitionKind(*_get_def_kind) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*destroy) (PortableServer_Servant servant, CORBA_Environment * ev);
   } POA_CORBA_IRObject__epv;
#endif				/* !_POA_CORBA_IRObject__epv_defined */

#ifndef _POA_CORBA_IRObject__vepv_defined
#define _POA_CORBA_IRObject__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
   } POA_CORBA_IRObject__vepv;
#endif				/* !_POA_CORBA_IRObject__vepv_defined */

#ifndef _POA_CORBA_IRObject_defined
#define _POA_CORBA_IRObject_defined

   typedef struct {
      void *_private;
      POA_CORBA_IRObject__vepv *vepv;
   } POA_CORBA_IRObject;
#endif				/* !_POA_CORBA_IRObject_defined */

   extern void POA_CORBA_IRObject__init(POA_CORBA_IRObject * servant, CORBA_Environment * ev);
   extern void POA_CORBA_IRObject__fini(POA_CORBA_IRObject * servant, CORBA_Environment * ev);
/* End interface CORBA_IRObject */

#ifndef _CORBA_VersionSpec_defined
#define _CORBA_VersionSpec_defined

   typedef CORBA_char *CORBA_VersionSpec;
#endif				/* !_CORBA_VersionSpec_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_VersionSpec_struct;
#define TC_CORBA_VersionSpec (&TC_CORBA_VersionSpec_struct)
   extern CORBA_VersionSpec *CORBA_VersionSpec__alloc(void);
#define CORBA_VersionSpec__free CORBA_string__free

/* Begin forward declaration CORBA_Contained */

   /* client-side data structures and methods */
#ifndef _CORBA_Contained_defined
#define _CORBA_Contained_defined

   typedef CORBA_Object CORBA_Contained;
#define CORBA_Contained__free CORBA_Object__free
#endif				/* !_CORBA_Contained_defined */

/* End forward declaration CORBA_Contained */

/* Begin forward declaration CORBA_Repository */

   /* client-side data structures and methods */
#ifndef _CORBA_Repository_defined
#define _CORBA_Repository_defined

   typedef CORBA_Object CORBA_Repository;
#define CORBA_Repository__free CORBA_Object__free
#endif				/* !_CORBA_Repository_defined */

/* End forward declaration CORBA_Repository */

/* Begin forward declaration CORBA_Container */

   /* client-side data structures and methods */
#ifndef _CORBA_Container_defined
#define _CORBA_Container_defined

   typedef CORBA_Object CORBA_Container;
#define CORBA_Container__free CORBA_Object__free
#endif				/* !_CORBA_Container_defined */

/* End forward declaration CORBA_Container */

/* Begin interface CORBA_Contained */

   /* client-side data structures and methods */
#ifndef _CORBA_Contained_defined
#define _CORBA_Contained_defined

   typedef CORBA_Object CORBA_Contained;
#define CORBA_Contained__free CORBA_Object__free
#endif				/* !_CORBA_Contained_defined */

   extern CORBA_unsigned_long CORBA_Contained__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_Contained_struct;
#define TC_CORBA_Contained (&TC_CORBA_Contained_struct)
   extern CORBA_RepositoryId CORBA_Contained__get_id(CORBA_Contained _obj, CORBA_Environment * ev);
   extern void CORBA_Contained__set_id(CORBA_Contained _obj, const CORBA_RepositoryId value, CORBA_Environment * ev);

   extern CORBA_Identifier CORBA_Contained__get_name(CORBA_Contained _obj, CORBA_Environment * ev);
   extern void CORBA_Contained__set_name(CORBA_Contained _obj, const CORBA_Identifier value, CORBA_Environment * ev);

   extern CORBA_VersionSpec CORBA_Contained__get_version(CORBA_Contained _obj, CORBA_Environment * ev);
   extern void CORBA_Contained__set_version(CORBA_Contained _obj, const CORBA_VersionSpec value, CORBA_Environment * ev);

   extern CORBA_Container CORBA_Contained__get_defined_in(CORBA_Contained _obj, CORBA_Environment * ev);

   extern CORBA_ScopedName CORBA_Contained__get_absolute_name(CORBA_Contained _obj, CORBA_Environment * ev);

   extern CORBA_Repository CORBA_Contained__get_containing_repository(CORBA_Contained _obj, CORBA_Environment * ev);

#ifndef _CORBA_Contained_Description_defined
#define _CORBA_Contained_Description_defined

   typedef struct CORBA_Contained_Description {
      CORBA_DefinitionKind kind;

      CORBA_any value;

   } CORBA_Contained_Description;
#endif				/* !_CORBA_Contained_Description_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_Contained_Description_struct;
#define TC_CORBA_Contained_Description (&TC_CORBA_Contained_Description_struct)
   extern CORBA_Contained_Description *CORBA_Contained_Description__alloc(void);
   extern gpointer CORBA_Contained_Description__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);

   extern CORBA_Contained_Description *CORBA_Contained_describe(CORBA_Contained _obj, CORBA_Environment * ev);

   extern void CORBA_Contained_move(CORBA_Contained _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_Contained */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_Contained__get_def_kind(CORBA_Contained _obj, CORBA_Environment * ev);
   extern void CORBA_Contained_destroy(CORBA_Contained _obj, CORBA_Environment * ev);
/* End inherited operations for CORBA_Contained */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_Contained__epv_defined
#define _POA_CORBA_Contained__epv_defined

   typedef struct {
      void *_private;
       CORBA_RepositoryId(*_get_id) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_id) (PortableServer_Servant servant, const CORBA_RepositoryId value, CORBA_Environment * ev);
       CORBA_Identifier(*_get_name) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_name) (PortableServer_Servant servant, const CORBA_Identifier value, CORBA_Environment * ev);
       CORBA_VersionSpec(*_get_version) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_version) (PortableServer_Servant servant, const CORBA_VersionSpec value, CORBA_Environment * ev);
       CORBA_Container(*_get_defined_in) (PortableServer_Servant servant, CORBA_Environment * ev);
       CORBA_ScopedName(*_get_absolute_name) (PortableServer_Servant servant, CORBA_Environment * ev);
       CORBA_Repository(*_get_containing_repository) (PortableServer_Servant servant, CORBA_Environment * ev);
      CORBA_Contained_Description *(*describe) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*move) (PortableServer_Servant servant, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, CORBA_Environment * ev);
   } POA_CORBA_Contained__epv;
#endif				/* !_POA_CORBA_Contained__epv_defined */

#ifndef _POA_CORBA_Contained__vepv_defined
#define _POA_CORBA_Contained__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_Contained__epv *CORBA_Contained_epv;
   } POA_CORBA_Contained__vepv;
#endif				/* !_POA_CORBA_Contained__vepv_defined */

#ifndef _POA_CORBA_Contained_defined
#define _POA_CORBA_Contained_defined

   typedef struct {
      void *_private;
      POA_CORBA_Contained__vepv *vepv;
   } POA_CORBA_Contained;
#endif				/* !_POA_CORBA_Contained_defined */

   extern void POA_CORBA_Contained__init(POA_CORBA_Contained * servant, CORBA_Environment * ev);
   extern void POA_CORBA_Contained__fini(POA_CORBA_Contained * servant, CORBA_Environment * ev);
/* End interface CORBA_Contained */

/* Begin forward declaration CORBA_ModuleDef */

   /* client-side data structures and methods */
#ifndef _CORBA_ModuleDef_defined
#define _CORBA_ModuleDef_defined

   typedef CORBA_Object CORBA_ModuleDef;
#define CORBA_ModuleDef__free CORBA_Object__free
#endif				/* !_CORBA_ModuleDef_defined */

/* End forward declaration CORBA_ModuleDef */

/* Begin forward declaration CORBA_ConstantDef */

   /* client-side data structures and methods */
#ifndef _CORBA_ConstantDef_defined
#define _CORBA_ConstantDef_defined

   typedef CORBA_Object CORBA_ConstantDef;
#define CORBA_ConstantDef__free CORBA_Object__free
#endif				/* !_CORBA_ConstantDef_defined */

/* End forward declaration CORBA_ConstantDef */

/* Begin forward declaration CORBA_IDLType */

   /* client-side data structures and methods */
#ifndef _CORBA_IDLType_defined
#define _CORBA_IDLType_defined

   typedef CORBA_Object CORBA_IDLType;
#define CORBA_IDLType__free CORBA_Object__free
#endif				/* !_CORBA_IDLType_defined */

/* End forward declaration CORBA_IDLType */

/* Begin forward declaration CORBA_StructDef */

   /* client-side data structures and methods */
#ifndef _CORBA_StructDef_defined
#define _CORBA_StructDef_defined

   typedef CORBA_Object CORBA_StructDef;
#define CORBA_StructDef__free CORBA_Object__free
#endif				/* !_CORBA_StructDef_defined */

/* End forward declaration CORBA_StructDef */

/* Begin forward declaration CORBA_UnionDef */

   /* client-side data structures and methods */
#ifndef _CORBA_UnionDef_defined
#define _CORBA_UnionDef_defined

   typedef CORBA_Object CORBA_UnionDef;
#define CORBA_UnionDef__free CORBA_Object__free
#endif				/* !_CORBA_UnionDef_defined */

/* End forward declaration CORBA_UnionDef */

/* Begin forward declaration CORBA_EnumDef */

   /* client-side data structures and methods */
#ifndef _CORBA_EnumDef_defined
#define _CORBA_EnumDef_defined

   typedef CORBA_Object CORBA_EnumDef;
#define CORBA_EnumDef__free CORBA_Object__free
#endif				/* !_CORBA_EnumDef_defined */

/* End forward declaration CORBA_EnumDef */

/* Begin forward declaration CORBA_AliasDef */

   /* client-side data structures and methods */
#ifndef _CORBA_AliasDef_defined
#define _CORBA_AliasDef_defined

   typedef CORBA_Object CORBA_AliasDef;
#define CORBA_AliasDef__free CORBA_Object__free
#endif				/* !_CORBA_AliasDef_defined */

/* End forward declaration CORBA_AliasDef */

/* Begin forward declaration CORBA_InterfaceDef */

   /* client-side data structures and methods */
#ifndef _CORBA_InterfaceDef_defined
#define _CORBA_InterfaceDef_defined

   typedef CORBA_Object CORBA_InterfaceDef;
#define CORBA_InterfaceDef__free CORBA_Object__free
#endif				/* !_CORBA_InterfaceDef_defined */

/* End forward declaration CORBA_InterfaceDef */

/* Begin forward declaration CORBA_ExceptionDef */

   /* client-side data structures and methods */
#ifndef _CORBA_ExceptionDef_defined
#define _CORBA_ExceptionDef_defined

   typedef CORBA_Object CORBA_ExceptionDef;
#define CORBA_ExceptionDef__free CORBA_Object__free
#endif				/* !_CORBA_ExceptionDef_defined */

/* End forward declaration CORBA_ExceptionDef */

#ifndef _CORBA_InterfaceDefSeq_defined
#define _CORBA_InterfaceDefSeq_defined

   typedef struct {
      CORBA_unsigned_long _maximum;
      CORBA_unsigned_long _length;
      CORBA_InterfaceDef *_buffer;
      CORBA_boolean _release:1;	/* ORBit-specific; see page 19-14 of CORBA 2.2 spec */
   } CORBA_InterfaceDefSeq;
#endif				/* !_CORBA_InterfaceDefSeq_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_InterfaceDefSeq_struct;
#define TC_CORBA_InterfaceDefSeq (&TC_CORBA_InterfaceDefSeq_struct)
   extern CORBA_InterfaceDef *CORBA_sequence_CORBA_InterfaceDef_allocbuf(CORBA_unsigned_long len);
   extern CORBA_InterfaceDefSeq *CORBA_InterfaceDefSeq__alloc(void);
   extern gpointer CORBA_InterfaceDefSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);		/* ORBit internals */

#ifndef _CORBA_ContainedSeq_defined
#define _CORBA_ContainedSeq_defined

   typedef struct {
      CORBA_unsigned_long _maximum;
      CORBA_unsigned_long _length;
      CORBA_Contained *_buffer;
      CORBA_boolean _release:1;	/* ORBit-specific; see page 19-14 of CORBA 2.2 spec */
   } CORBA_ContainedSeq;
#endif				/* !_CORBA_ContainedSeq_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_ContainedSeq_struct;
#define TC_CORBA_ContainedSeq (&TC_CORBA_ContainedSeq_struct)
   extern CORBA_Contained *CORBA_sequence_CORBA_Contained_allocbuf(CORBA_unsigned_long len);
   extern CORBA_ContainedSeq *CORBA_ContainedSeq__alloc(void);
   extern gpointer CORBA_ContainedSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);	/* ORBit internals */

#ifndef _CORBA_StructMember_defined
#define _CORBA_StructMember_defined

   typedef struct CORBA_StructMember {
      CORBA_Identifier name;

      CORBA_TypeCode type;

      CORBA_IDLType type_def;

   } CORBA_StructMember;
#endif				/* !_CORBA_StructMember_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_StructMember_struct;
#define TC_CORBA_StructMember (&TC_CORBA_StructMember_struct)
   extern CORBA_StructMember *CORBA_StructMember__alloc(void);
   extern gpointer CORBA_StructMember__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);

#ifndef _CORBA_StructMemberSeq_defined
#define _CORBA_StructMemberSeq_defined

   typedef struct {
      CORBA_unsigned_long _maximum;
      CORBA_unsigned_long _length;
      CORBA_StructMember *_buffer;
      CORBA_boolean _release:1;	/* ORBit-specific; see page 19-14 of CORBA 2.2 spec */
   } CORBA_StructMemberSeq;
#endif				/* !_CORBA_StructMemberSeq_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_StructMemberSeq_struct;
#define TC_CORBA_StructMemberSeq (&TC_CORBA_StructMemberSeq_struct)
   extern CORBA_StructMember *CORBA_sequence_CORBA_StructMember_allocbuf(CORBA_unsigned_long len);
   extern CORBA_StructMemberSeq *CORBA_StructMemberSeq__alloc(void);
   extern gpointer CORBA_StructMemberSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);		/* ORBit internals */

#ifndef _CORBA_UnionMember_defined
#define _CORBA_UnionMember_defined

   typedef struct CORBA_UnionMember {
      CORBA_Identifier name;

      CORBA_any label;

      CORBA_TypeCode type;

      CORBA_IDLType type_def;

   } CORBA_UnionMember;
#endif				/* !_CORBA_UnionMember_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_UnionMember_struct;
#define TC_CORBA_UnionMember (&TC_CORBA_UnionMember_struct)
   extern CORBA_UnionMember *CORBA_UnionMember__alloc(void);
   extern gpointer CORBA_UnionMember__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);

#ifndef _CORBA_UnionMemberSeq_defined
#define _CORBA_UnionMemberSeq_defined

   typedef struct {
      CORBA_unsigned_long _maximum;
      CORBA_unsigned_long _length;
      CORBA_UnionMember *_buffer;
      CORBA_boolean _release:1;	/* ORBit-specific; see page 19-14 of CORBA 2.2 spec */
   } CORBA_UnionMemberSeq;
#endif				/* !_CORBA_UnionMemberSeq_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_UnionMemberSeq_struct;
#define TC_CORBA_UnionMemberSeq (&TC_CORBA_UnionMemberSeq_struct)
   extern CORBA_UnionMember *CORBA_sequence_CORBA_UnionMember_allocbuf(CORBA_unsigned_long len);
   extern CORBA_UnionMemberSeq *CORBA_UnionMemberSeq__alloc(void);
   extern gpointer CORBA_UnionMemberSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);	/* ORBit internals */

#ifndef _CORBA_EnumMemberSeq_defined
#define _CORBA_EnumMemberSeq_defined

   typedef struct {
      CORBA_unsigned_long _maximum;
      CORBA_unsigned_long _length;
      CORBA_Identifier *_buffer;
      CORBA_boolean _release:1;	/* ORBit-specific; see page 19-14 of CORBA 2.2 spec */
   } CORBA_EnumMemberSeq;
#endif				/* !_CORBA_EnumMemberSeq_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_EnumMemberSeq_struct;
#define TC_CORBA_EnumMemberSeq (&TC_CORBA_EnumMemberSeq_struct)
   extern CORBA_Identifier *CORBA_sequence_CORBA_Identifier_allocbuf(CORBA_unsigned_long len);
   extern CORBA_EnumMemberSeq *CORBA_EnumMemberSeq__alloc(void);
   extern gpointer CORBA_EnumMemberSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);	/* ORBit internals */

/* Begin interface CORBA_Container */

   /* client-side data structures and methods */
#ifndef _CORBA_Container_defined
#define _CORBA_Container_defined

   typedef CORBA_Object CORBA_Container;
#define CORBA_Container__free CORBA_Object__free
#endif				/* !_CORBA_Container_defined */

   extern CORBA_unsigned_long CORBA_Container__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_Container_struct;
#define TC_CORBA_Container (&TC_CORBA_Container_struct)
   extern CORBA_Contained CORBA_Container_lookup(CORBA_Container _obj, const CORBA_ScopedName search_name, CORBA_Environment * ev);

   extern CORBA_ContainedSeq *CORBA_Container_contents(CORBA_Container _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, CORBA_Environment * ev);

   extern CORBA_ContainedSeq *CORBA_Container_lookup_name(CORBA_Container _obj, const CORBA_Identifier search_name, const CORBA_long levels_to_search, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, CORBA_Environment * ev);

#ifndef _CORBA_Container_Description_defined
#define _CORBA_Container_Description_defined

   typedef struct CORBA_Container_Description {
      CORBA_Contained contained_object;

      CORBA_DefinitionKind kind;

      CORBA_any value;

   } CORBA_Container_Description;
#endif				/* !_CORBA_Container_Description_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_Container_Description_struct;
#define TC_CORBA_Container_Description (&TC_CORBA_Container_Description_struct)
   extern CORBA_Container_Description *CORBA_Container_Description__alloc(void);
   extern gpointer CORBA_Container_Description__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);

#ifndef _CORBA_Container_DescriptionSeq_defined
#define _CORBA_Container_DescriptionSeq_defined

   typedef struct {
      CORBA_unsigned_long _maximum;
      CORBA_unsigned_long _length;
      CORBA_Container_Description *_buffer;
      CORBA_boolean _release:1;	/* ORBit-specific; see page 19-14 of CORBA 2.2 spec */
   } CORBA_Container_DescriptionSeq;
#endif				/* !_CORBA_Container_DescriptionSeq_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_Container_DescriptionSeq_struct;
#define TC_CORBA_Container_DescriptionSeq (&TC_CORBA_Container_DescriptionSeq_struct)
   extern CORBA_Container_Description *CORBA_sequence_CORBA_Container_Description_allocbuf(CORBA_unsigned_long len);
   extern CORBA_Container_DescriptionSeq *CORBA_Container_DescriptionSeq__alloc(void);
   extern gpointer CORBA_Container_DescriptionSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);	/* ORBit internals */

   extern CORBA_Container_DescriptionSeq *CORBA_Container_describe_contents(CORBA_Container _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, const CORBA_long max_returned_objs, CORBA_Environment * ev);

   extern CORBA_ModuleDef CORBA_Container_create_module(CORBA_Container _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, CORBA_Environment * ev);

   extern CORBA_ConstantDef CORBA_Container_create_constant(CORBA_Container _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType type, const CORBA_any * value, CORBA_Environment * ev);

   extern CORBA_StructDef CORBA_Container_create_struct(CORBA_Container _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, CORBA_Environment * ev);

   extern CORBA_UnionDef CORBA_Container_create_union(CORBA_Container _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType discriminator_type, const CORBA_UnionMemberSeq * members, CORBA_Environment * ev);

   extern CORBA_EnumDef CORBA_Container_create_enum(CORBA_Container _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_EnumMemberSeq * members, CORBA_Environment * ev);

   extern CORBA_AliasDef CORBA_Container_create_alias(CORBA_Container _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType original_type, CORBA_Environment * ev);

   extern CORBA_InterfaceDef CORBA_Container_create_interface(CORBA_Container _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_InterfaceDefSeq * base_interfaces, CORBA_Environment * ev);

   extern CORBA_ExceptionDef CORBA_Container_create_exception(CORBA_Container _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_Container */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_Container__get_def_kind(CORBA_Container _obj, CORBA_Environment * ev);
   extern void CORBA_Container_destroy(CORBA_Container _obj, CORBA_Environment * ev);
/* End inherited operations for CORBA_Container */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_Container__epv_defined
#define _POA_CORBA_Container__epv_defined

   typedef struct {
      void *_private;
       CORBA_Contained(*lookup) (PortableServer_Servant servant, const CORBA_ScopedName search_name, CORBA_Environment * ev);
      CORBA_ContainedSeq *(*contents) (PortableServer_Servant servant, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, CORBA_Environment * ev);
      CORBA_ContainedSeq *(*lookup_name) (PortableServer_Servant servant, const CORBA_Identifier search_name, const CORBA_long levels_to_search, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, CORBA_Environment * ev);
      CORBA_Container_DescriptionSeq *(*describe_contents) (PortableServer_Servant servant, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, const CORBA_long max_returned_objs, CORBA_Environment * ev);
       CORBA_ModuleDef(*create_module) (PortableServer_Servant servant, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, CORBA_Environment * ev);
       CORBA_ConstantDef(*create_constant) (PortableServer_Servant servant, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType type, const CORBA_any * value, CORBA_Environment * ev);
       CORBA_StructDef(*create_struct) (PortableServer_Servant servant, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, CORBA_Environment * ev);
       CORBA_UnionDef(*create_union) (PortableServer_Servant servant, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType discriminator_type, const CORBA_UnionMemberSeq * members, CORBA_Environment * ev);
       CORBA_EnumDef(*create_enum) (PortableServer_Servant servant, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_EnumMemberSeq * members, CORBA_Environment * ev);
       CORBA_AliasDef(*create_alias) (PortableServer_Servant servant, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType original_type, CORBA_Environment * ev);
       CORBA_InterfaceDef(*create_interface) (PortableServer_Servant servant, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_InterfaceDefSeq * base_interfaces, CORBA_Environment * ev);
       CORBA_ExceptionDef(*create_exception) (PortableServer_Servant servant, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, CORBA_Environment * ev);
   } POA_CORBA_Container__epv;
#endif				/* !_POA_CORBA_Container__epv_defined */

#ifndef _POA_CORBA_Container__vepv_defined
#define _POA_CORBA_Container__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_Container__epv *CORBA_Container_epv;
   } POA_CORBA_Container__vepv;
#endif				/* !_POA_CORBA_Container__vepv_defined */

#ifndef _POA_CORBA_Container_defined
#define _POA_CORBA_Container_defined

   typedef struct {
      void *_private;
      POA_CORBA_Container__vepv *vepv;
   } POA_CORBA_Container;
#endif				/* !_POA_CORBA_Container_defined */

   extern void POA_CORBA_Container__init(POA_CORBA_Container * servant, CORBA_Environment * ev);
   extern void POA_CORBA_Container__fini(POA_CORBA_Container * servant, CORBA_Environment * ev);
/* End interface CORBA_Container */

/* Begin interface CORBA_IDLType */

   /* client-side data structures and methods */
#ifndef _CORBA_IDLType_defined
#define _CORBA_IDLType_defined

   typedef CORBA_Object CORBA_IDLType;
#define CORBA_IDLType__free CORBA_Object__free
#endif				/* !_CORBA_IDLType_defined */

   extern CORBA_unsigned_long CORBA_IDLType__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_IDLType_struct;
#define TC_CORBA_IDLType (&TC_CORBA_IDLType_struct)
   extern CORBA_TypeCode CORBA_IDLType__get_type(CORBA_IDLType _obj, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_IDLType */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_IDLType__get_def_kind(CORBA_IDLType _obj, CORBA_Environment * ev);
   extern void CORBA_IDLType_destroy(CORBA_IDLType _obj, CORBA_Environment * ev);
/* End inherited operations for CORBA_IDLType */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_IDLType__epv_defined
#define _POA_CORBA_IDLType__epv_defined

   typedef struct {
      void *_private;
       CORBA_TypeCode(*_get_type) (PortableServer_Servant servant, CORBA_Environment * ev);
   } POA_CORBA_IDLType__epv;
#endif				/* !_POA_CORBA_IDLType__epv_defined */

#ifndef _POA_CORBA_IDLType__vepv_defined
#define _POA_CORBA_IDLType__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_IDLType__epv *CORBA_IDLType_epv;
   } POA_CORBA_IDLType__vepv;
#endif				/* !_POA_CORBA_IDLType__vepv_defined */

#ifndef _POA_CORBA_IDLType_defined
#define _POA_CORBA_IDLType_defined

   typedef struct {
      void *_private;
      POA_CORBA_IDLType__vepv *vepv;
   } POA_CORBA_IDLType;
#endif				/* !_POA_CORBA_IDLType_defined */

   extern void POA_CORBA_IDLType__init(POA_CORBA_IDLType * servant, CORBA_Environment * ev);
   extern void POA_CORBA_IDLType__fini(POA_CORBA_IDLType * servant, CORBA_Environment * ev);
/* End interface CORBA_IDLType */

/* Begin forward declaration CORBA_PrimitiveDef */

   /* client-side data structures and methods */
#ifndef _CORBA_PrimitiveDef_defined
#define _CORBA_PrimitiveDef_defined

   typedef CORBA_Object CORBA_PrimitiveDef;
#define CORBA_PrimitiveDef__free CORBA_Object__free
#endif				/* !_CORBA_PrimitiveDef_defined */

/* End forward declaration CORBA_PrimitiveDef */

/* Begin forward declaration CORBA_StringDef */

   /* client-side data structures and methods */
#ifndef _CORBA_StringDef_defined
#define _CORBA_StringDef_defined

   typedef CORBA_Object CORBA_StringDef;
#define CORBA_StringDef__free CORBA_Object__free
#endif				/* !_CORBA_StringDef_defined */

/* End forward declaration CORBA_StringDef */

/* Begin forward declaration CORBA_WstringDef */

   /* client-side data structures and methods */
#ifndef _CORBA_WstringDef_defined
#define _CORBA_WstringDef_defined

   typedef CORBA_Object CORBA_WstringDef;
#define CORBA_WstringDef__free CORBA_Object__free
#endif				/* !_CORBA_WstringDef_defined */

/* End forward declaration CORBA_WstringDef */

/* Begin forward declaration CORBA_SequenceDef */

   /* client-side data structures and methods */
#ifndef _CORBA_SequenceDef_defined
#define _CORBA_SequenceDef_defined

   typedef CORBA_Object CORBA_SequenceDef;
#define CORBA_SequenceDef__free CORBA_Object__free
#endif				/* !_CORBA_SequenceDef_defined */

/* End forward declaration CORBA_SequenceDef */

/* Begin forward declaration CORBA_ArrayDef */

   /* client-side data structures and methods */
#ifndef _CORBA_ArrayDef_defined
#define _CORBA_ArrayDef_defined

   typedef CORBA_Object CORBA_ArrayDef;
#define CORBA_ArrayDef__free CORBA_Object__free
#endif				/* !_CORBA_ArrayDef_defined */

/* End forward declaration CORBA_ArrayDef */

/* Begin forward declaration CORBA_FixedDef */

   /* client-side data structures and methods */
#ifndef _CORBA_FixedDef_defined
#define _CORBA_FixedDef_defined

   typedef CORBA_Object CORBA_FixedDef;
#define CORBA_FixedDef__free CORBA_Object__free
#endif				/* !_CORBA_FixedDef_defined */

/* End forward declaration CORBA_FixedDef */

#ifndef _CORBA_PrimitiveKind_defined
#define _CORBA_PrimitiveKind_defined

   typedef enum {
      CORBA_pk_null,
      CORBA_pk_void,
      CORBA_pk_short,
      CORBA_pk_long,
      CORBA_pk_ushort,
      CORBA_pk_ulong,
      CORBA_pk_float,
      CORBA_pk_double,
      CORBA_pk_boolean,
      CORBA_pk_char,
      CORBA_pk_octet,
      CORBA_pk_any,
      CORBA_pk_TypeCode,
      CORBA_pk_Principal,
      CORBA_pk_string,
      CORBA_pk_objref,
      CORBA_pk_longlong,
      CORBA_pk_ulonglong,
      CORBA_pk_longdouble,
      CORBA_pk_wchar,
      CORBA_pk_wstring
   } CORBA_PrimitiveKind;
#endif				/* !_CORBA_PrimitiveKind_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_PrimitiveKind_struct;
#define TC_CORBA_PrimitiveKind (&TC_CORBA_PrimitiveKind_struct)

/* Begin interface CORBA_Repository */

   /* client-side data structures and methods */
#ifndef _CORBA_Repository_defined
#define _CORBA_Repository_defined

   typedef CORBA_Object CORBA_Repository;
#define CORBA_Repository__free CORBA_Object__free
#endif				/* !_CORBA_Repository_defined */

   extern CORBA_unsigned_long CORBA_Repository__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_Repository_struct;
#define TC_CORBA_Repository (&TC_CORBA_Repository_struct)
   extern CORBA_Contained CORBA_Repository_lookup_id(CORBA_Repository _obj, const CORBA_RepositoryId search_id, CORBA_Environment * ev);

   extern CORBA_PrimitiveDef CORBA_Repository_get_primitive(CORBA_Repository _obj, const CORBA_PrimitiveKind kind, CORBA_Environment * ev);

   extern CORBA_StringDef CORBA_Repository_create_string(CORBA_Repository _obj, const CORBA_unsigned_long bound, CORBA_Environment * ev);

   extern CORBA_WstringDef CORBA_Repository_create_wstring(CORBA_Repository _obj, const CORBA_unsigned_long bound, CORBA_Environment * ev);

   extern CORBA_SequenceDef CORBA_Repository_create_sequence(CORBA_Repository _obj, const CORBA_unsigned_long bound, const CORBA_IDLType element_type, CORBA_Environment * ev);

   extern CORBA_ArrayDef CORBA_Repository_create_array(CORBA_Repository _obj, const CORBA_unsigned_long length, const CORBA_IDLType element_type, CORBA_Environment * ev);

   extern CORBA_FixedDef CORBA_Repository_create_fixed(CORBA_Repository _obj, const CORBA_unsigned_short digits, const CORBA_short scale, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_Repository */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_Repository__get_def_kind(CORBA_Repository _obj, CORBA_Environment * ev);
   extern void CORBA_Repository_destroy(CORBA_Repository _obj, CORBA_Environment * ev);
/* From interface CORBA_Container */
   extern CORBA_Contained CORBA_Repository_lookup(CORBA_Repository _obj, const CORBA_ScopedName search_name, CORBA_Environment * ev);
   extern CORBA_ContainedSeq *CORBA_Repository_contents(CORBA_Repository _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, CORBA_Environment * ev);
   extern CORBA_ContainedSeq *CORBA_Repository_lookup_name(CORBA_Repository _obj, const CORBA_Identifier search_name, const CORBA_long levels_to_search, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, CORBA_Environment * ev);
   extern CORBA_Container_DescriptionSeq *CORBA_Repository_describe_contents(CORBA_Repository _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, const CORBA_long max_returned_objs, CORBA_Environment * ev);
   extern CORBA_ModuleDef CORBA_Repository_create_module(CORBA_Repository _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, CORBA_Environment * ev);
   extern CORBA_ConstantDef CORBA_Repository_create_constant(CORBA_Repository _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType type, const CORBA_any * value, CORBA_Environment * ev);
   extern CORBA_StructDef CORBA_Repository_create_struct(CORBA_Repository _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, CORBA_Environment * ev);
   extern CORBA_UnionDef CORBA_Repository_create_union(CORBA_Repository _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType discriminator_type, const CORBA_UnionMemberSeq * members, CORBA_Environment * ev);
   extern CORBA_EnumDef CORBA_Repository_create_enum(CORBA_Repository _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_EnumMemberSeq * members, CORBA_Environment * ev);
   extern CORBA_AliasDef CORBA_Repository_create_alias(CORBA_Repository _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType original_type, CORBA_Environment * ev);
   extern CORBA_InterfaceDef CORBA_Repository_create_interface(CORBA_Repository _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_InterfaceDefSeq * base_interfaces, CORBA_Environment * ev);
   extern CORBA_ExceptionDef CORBA_Repository_create_exception(CORBA_Repository _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, CORBA_Environment * ev);
/* End inherited operations for CORBA_Repository */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_Repository__epv_defined
#define _POA_CORBA_Repository__epv_defined

   typedef struct {
      void *_private;
       CORBA_Contained(*lookup_id) (PortableServer_Servant servant, const CORBA_RepositoryId search_id, CORBA_Environment * ev);
       CORBA_PrimitiveDef(*get_primitive) (PortableServer_Servant servant, const CORBA_PrimitiveKind kind, CORBA_Environment * ev);
       CORBA_StringDef(*create_string) (PortableServer_Servant servant, const CORBA_unsigned_long bound, CORBA_Environment * ev);
       CORBA_WstringDef(*create_wstring) (PortableServer_Servant servant, const CORBA_unsigned_long bound, CORBA_Environment * ev);
       CORBA_SequenceDef(*create_sequence) (PortableServer_Servant servant, const CORBA_unsigned_long bound, const CORBA_IDLType element_type, CORBA_Environment * ev);
       CORBA_ArrayDef(*create_array) (PortableServer_Servant servant, const CORBA_unsigned_long length, const CORBA_IDLType element_type, CORBA_Environment * ev);
       CORBA_FixedDef(*create_fixed) (PortableServer_Servant servant, const CORBA_unsigned_short digits, const CORBA_short scale, CORBA_Environment * ev);
   } POA_CORBA_Repository__epv;
#endif				/* !_POA_CORBA_Repository__epv_defined */

#ifndef _POA_CORBA_Repository__vepv_defined
#define _POA_CORBA_Repository__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_Container__epv *CORBA_Container_epv;
      POA_CORBA_Repository__epv *CORBA_Repository_epv;
   } POA_CORBA_Repository__vepv;
#endif				/* !_POA_CORBA_Repository__vepv_defined */

#ifndef _POA_CORBA_Repository_defined
#define _POA_CORBA_Repository_defined

   typedef struct {
      void *_private;
      POA_CORBA_Repository__vepv *vepv;
   } POA_CORBA_Repository;
#endif				/* !_POA_CORBA_Repository_defined */

   extern void POA_CORBA_Repository__init(POA_CORBA_Repository * servant, CORBA_Environment * ev);
   extern void POA_CORBA_Repository__fini(POA_CORBA_Repository * servant, CORBA_Environment * ev);
/* End interface CORBA_Repository */

/* Begin interface CORBA_ModuleDef */

   /* client-side data structures and methods */
#ifndef _CORBA_ModuleDef_defined
#define _CORBA_ModuleDef_defined

   typedef CORBA_Object CORBA_ModuleDef;
#define CORBA_ModuleDef__free CORBA_Object__free
#endif				/* !_CORBA_ModuleDef_defined */

   extern CORBA_unsigned_long CORBA_ModuleDef__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_ModuleDef_struct;
#define TC_CORBA_ModuleDef (&TC_CORBA_ModuleDef_struct)
/* Begin inherited operations for CORBA_ModuleDef */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_ModuleDef__get_def_kind(CORBA_ModuleDef _obj, CORBA_Environment * ev);
   extern void CORBA_ModuleDef_destroy(CORBA_ModuleDef _obj, CORBA_Environment * ev);
/* From interface CORBA_Container */
   extern CORBA_Contained CORBA_ModuleDef_lookup(CORBA_ModuleDef _obj, const CORBA_ScopedName search_name, CORBA_Environment * ev);
   extern CORBA_ContainedSeq *CORBA_ModuleDef_contents(CORBA_ModuleDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, CORBA_Environment * ev);
   extern CORBA_ContainedSeq *CORBA_ModuleDef_lookup_name(CORBA_ModuleDef _obj, const CORBA_Identifier search_name, const CORBA_long levels_to_search, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, CORBA_Environment * ev);
   extern CORBA_Container_DescriptionSeq *CORBA_ModuleDef_describe_contents(CORBA_ModuleDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, const CORBA_long max_returned_objs, CORBA_Environment * ev);
   extern CORBA_ModuleDef CORBA_ModuleDef_create_module(CORBA_ModuleDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, CORBA_Environment * ev);
   extern CORBA_ConstantDef CORBA_ModuleDef_create_constant(CORBA_ModuleDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType type, const CORBA_any * value, CORBA_Environment * ev);
   extern CORBA_StructDef CORBA_ModuleDef_create_struct(CORBA_ModuleDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, CORBA_Environment * ev);
   extern CORBA_UnionDef CORBA_ModuleDef_create_union(CORBA_ModuleDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType discriminator_type, const CORBA_UnionMemberSeq * members, CORBA_Environment * ev);
   extern CORBA_EnumDef CORBA_ModuleDef_create_enum(CORBA_ModuleDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_EnumMemberSeq * members, CORBA_Environment * ev);
   extern CORBA_AliasDef CORBA_ModuleDef_create_alias(CORBA_ModuleDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType original_type, CORBA_Environment * ev);
   extern CORBA_InterfaceDef CORBA_ModuleDef_create_interface(CORBA_ModuleDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_InterfaceDefSeq * base_interfaces, CORBA_Environment * ev);
   extern CORBA_ExceptionDef CORBA_ModuleDef_create_exception(CORBA_ModuleDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, CORBA_Environment * ev);
/* From interface CORBA_Contained */
   extern CORBA_RepositoryId CORBA_ModuleDef__get_id(CORBA_ModuleDef _obj, CORBA_Environment * ev);
   extern void CORBA_ModuleDef__set_id(CORBA_ModuleDef _obj, const CORBA_RepositoryId value, CORBA_Environment * ev);
   extern CORBA_Identifier CORBA_ModuleDef__get_name(CORBA_ModuleDef _obj, CORBA_Environment * ev);
   extern void CORBA_ModuleDef__set_name(CORBA_ModuleDef _obj, const CORBA_Identifier value, CORBA_Environment * ev);
   extern CORBA_VersionSpec CORBA_ModuleDef__get_version(CORBA_ModuleDef _obj, CORBA_Environment * ev);
   extern void CORBA_ModuleDef__set_version(CORBA_ModuleDef _obj, const CORBA_VersionSpec value, CORBA_Environment * ev);
   extern CORBA_Container CORBA_ModuleDef__get_defined_in(CORBA_ModuleDef _obj, CORBA_Environment * ev);
   extern CORBA_ScopedName CORBA_ModuleDef__get_absolute_name(CORBA_ModuleDef _obj, CORBA_Environment * ev);
   extern CORBA_Repository CORBA_ModuleDef__get_containing_repository(CORBA_ModuleDef _obj, CORBA_Environment * ev);
   extern CORBA_Contained_Description *CORBA_ModuleDef_describe(CORBA_ModuleDef _obj, CORBA_Environment * ev);
   extern void CORBA_ModuleDef_move(CORBA_ModuleDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, CORBA_Environment * ev);
/* End inherited operations for CORBA_ModuleDef */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_ModuleDef__epv_defined
#define _POA_CORBA_ModuleDef__epv_defined

   typedef struct {
      void *_private;
   } POA_CORBA_ModuleDef__epv;
#endif				/* !_POA_CORBA_ModuleDef__epv_defined */

#ifndef _POA_CORBA_ModuleDef__vepv_defined
#define _POA_CORBA_ModuleDef__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_Container__epv *CORBA_Container_epv;
      POA_CORBA_Contained__epv *CORBA_Contained_epv;
      POA_CORBA_ModuleDef__epv *CORBA_ModuleDef_epv;
   } POA_CORBA_ModuleDef__vepv;
#endif				/* !_POA_CORBA_ModuleDef__vepv_defined */

#ifndef _POA_CORBA_ModuleDef_defined
#define _POA_CORBA_ModuleDef_defined

   typedef struct {
      void *_private;
      POA_CORBA_ModuleDef__vepv *vepv;
   } POA_CORBA_ModuleDef;
#endif				/* !_POA_CORBA_ModuleDef_defined */

   extern void POA_CORBA_ModuleDef__init(POA_CORBA_ModuleDef * servant, CORBA_Environment * ev);
   extern void POA_CORBA_ModuleDef__fini(POA_CORBA_ModuleDef * servant, CORBA_Environment * ev);
/* End interface CORBA_ModuleDef */

#ifndef _CORBA_ModuleDescription_defined
#define _CORBA_ModuleDescription_defined

   typedef struct CORBA_ModuleDescription {
      CORBA_Identifier name;

      CORBA_RepositoryId id;

      CORBA_RepositoryId defined_in;

      CORBA_VersionSpec version;

   } CORBA_ModuleDescription;
#endif				/* !_CORBA_ModuleDescription_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_ModuleDescription_struct;
#define TC_CORBA_ModuleDescription (&TC_CORBA_ModuleDescription_struct)
   extern CORBA_ModuleDescription *CORBA_ModuleDescription__alloc(void);
   extern gpointer CORBA_ModuleDescription__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);

/* Begin interface CORBA_ConstantDef */

   /* client-side data structures and methods */
#ifndef _CORBA_ConstantDef_defined
#define _CORBA_ConstantDef_defined

   typedef CORBA_Object CORBA_ConstantDef;
#define CORBA_ConstantDef__free CORBA_Object__free
#endif				/* !_CORBA_ConstantDef_defined */

   extern CORBA_unsigned_long CORBA_ConstantDef__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_ConstantDef_struct;
#define TC_CORBA_ConstantDef (&TC_CORBA_ConstantDef_struct)
   extern CORBA_TypeCode CORBA_ConstantDef__get_type(CORBA_ConstantDef _obj, CORBA_Environment * ev);

   extern CORBA_IDLType CORBA_ConstantDef__get_type_def(CORBA_ConstantDef _obj, CORBA_Environment * ev);
   extern void CORBA_ConstantDef__set_type_def(CORBA_ConstantDef _obj, const CORBA_IDLType value, CORBA_Environment * ev);

   extern CORBA_any *CORBA_ConstantDef__get_value(CORBA_ConstantDef _obj, CORBA_Environment * ev);
   extern void CORBA_ConstantDef__set_value(CORBA_ConstantDef _obj, const CORBA_any * value, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_ConstantDef */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_ConstantDef__get_def_kind(CORBA_ConstantDef _obj, CORBA_Environment * ev);
   extern void CORBA_ConstantDef_destroy(CORBA_ConstantDef _obj, CORBA_Environment * ev);
/* From interface CORBA_Contained */
   extern CORBA_RepositoryId CORBA_ConstantDef__get_id(CORBA_ConstantDef _obj, CORBA_Environment * ev);
   extern void CORBA_ConstantDef__set_id(CORBA_ConstantDef _obj, const CORBA_RepositoryId value, CORBA_Environment * ev);
   extern CORBA_Identifier CORBA_ConstantDef__get_name(CORBA_ConstantDef _obj, CORBA_Environment * ev);
   extern void CORBA_ConstantDef__set_name(CORBA_ConstantDef _obj, const CORBA_Identifier value, CORBA_Environment * ev);
   extern CORBA_VersionSpec CORBA_ConstantDef__get_version(CORBA_ConstantDef _obj, CORBA_Environment * ev);
   extern void CORBA_ConstantDef__set_version(CORBA_ConstantDef _obj, const CORBA_VersionSpec value, CORBA_Environment * ev);
   extern CORBA_Container CORBA_ConstantDef__get_defined_in(CORBA_ConstantDef _obj, CORBA_Environment * ev);
   extern CORBA_ScopedName CORBA_ConstantDef__get_absolute_name(CORBA_ConstantDef _obj, CORBA_Environment * ev);
   extern CORBA_Repository CORBA_ConstantDef__get_containing_repository(CORBA_ConstantDef _obj, CORBA_Environment * ev);
   extern CORBA_Contained_Description *CORBA_ConstantDef_describe(CORBA_ConstantDef _obj, CORBA_Environment * ev);
   extern void CORBA_ConstantDef_move(CORBA_ConstantDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, CORBA_Environment * ev);
/* End inherited operations for CORBA_ConstantDef */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_ConstantDef__epv_defined
#define _POA_CORBA_ConstantDef__epv_defined

   typedef struct {
      void *_private;
       CORBA_TypeCode(*_get_type) (PortableServer_Servant servant, CORBA_Environment * ev);
       CORBA_IDLType(*_get_type_def) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_type_def) (PortableServer_Servant servant, const CORBA_IDLType value, CORBA_Environment * ev);
      CORBA_any *(*_get_value) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_value) (PortableServer_Servant servant, const CORBA_any * value, CORBA_Environment * ev);
   } POA_CORBA_ConstantDef__epv;
#endif				/* !_POA_CORBA_ConstantDef__epv_defined */

#ifndef _POA_CORBA_ConstantDef__vepv_defined
#define _POA_CORBA_ConstantDef__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_Contained__epv *CORBA_Contained_epv;
      POA_CORBA_ConstantDef__epv *CORBA_ConstantDef_epv;
   } POA_CORBA_ConstantDef__vepv;
#endif				/* !_POA_CORBA_ConstantDef__vepv_defined */

#ifndef _POA_CORBA_ConstantDef_defined
#define _POA_CORBA_ConstantDef_defined

   typedef struct {
      void *_private;
      POA_CORBA_ConstantDef__vepv *vepv;
   } POA_CORBA_ConstantDef;
#endif				/* !_POA_CORBA_ConstantDef_defined */

   extern void POA_CORBA_ConstantDef__init(POA_CORBA_ConstantDef * servant, CORBA_Environment * ev);
   extern void POA_CORBA_ConstantDef__fini(POA_CORBA_ConstantDef * servant, CORBA_Environment * ev);
/* End interface CORBA_ConstantDef */

#ifndef _CORBA_ConstantDescription_defined
#define _CORBA_ConstantDescription_defined

   typedef struct CORBA_ConstantDescription {
      CORBA_Identifier name;

      CORBA_RepositoryId id;

      CORBA_RepositoryId defined_in;

      CORBA_VersionSpec version;

      CORBA_TypeCode type;

      CORBA_any value;

   } CORBA_ConstantDescription;
#endif				/* !_CORBA_ConstantDescription_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_ConstantDescription_struct;
#define TC_CORBA_ConstantDescription (&TC_CORBA_ConstantDescription_struct)
   extern CORBA_ConstantDescription *CORBA_ConstantDescription__alloc(void);
   extern gpointer CORBA_ConstantDescription__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);

/* Begin interface CORBA_TypedefDef */

   /* client-side data structures and methods */
#ifndef _CORBA_TypedefDef_defined
#define _CORBA_TypedefDef_defined

   typedef CORBA_Object CORBA_TypedefDef;
#define CORBA_TypedefDef__free CORBA_Object__free
#endif				/* !_CORBA_TypedefDef_defined */

   extern CORBA_unsigned_long CORBA_TypedefDef__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_TypedefDef_struct;
#define TC_CORBA_TypedefDef (&TC_CORBA_TypedefDef_struct)
/* Begin inherited operations for CORBA_TypedefDef */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_TypedefDef__get_def_kind(CORBA_TypedefDef _obj, CORBA_Environment * ev);
   extern void CORBA_TypedefDef_destroy(CORBA_TypedefDef _obj, CORBA_Environment * ev);
/* From interface CORBA_Contained */
   extern CORBA_RepositoryId CORBA_TypedefDef__get_id(CORBA_TypedefDef _obj, CORBA_Environment * ev);
   extern void CORBA_TypedefDef__set_id(CORBA_TypedefDef _obj, const CORBA_RepositoryId value, CORBA_Environment * ev);
   extern CORBA_Identifier CORBA_TypedefDef__get_name(CORBA_TypedefDef _obj, CORBA_Environment * ev);
   extern void CORBA_TypedefDef__set_name(CORBA_TypedefDef _obj, const CORBA_Identifier value, CORBA_Environment * ev);
   extern CORBA_VersionSpec CORBA_TypedefDef__get_version(CORBA_TypedefDef _obj, CORBA_Environment * ev);
   extern void CORBA_TypedefDef__set_version(CORBA_TypedefDef _obj, const CORBA_VersionSpec value, CORBA_Environment * ev);
   extern CORBA_Container CORBA_TypedefDef__get_defined_in(CORBA_TypedefDef _obj, CORBA_Environment * ev);
   extern CORBA_ScopedName CORBA_TypedefDef__get_absolute_name(CORBA_TypedefDef _obj, CORBA_Environment * ev);
   extern CORBA_Repository CORBA_TypedefDef__get_containing_repository(CORBA_TypedefDef _obj, CORBA_Environment * ev);
   extern CORBA_Contained_Description *CORBA_TypedefDef_describe(CORBA_TypedefDef _obj, CORBA_Environment * ev);
   extern void CORBA_TypedefDef_move(CORBA_TypedefDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, CORBA_Environment * ev);
/* From interface CORBA_IDLType */
   extern CORBA_TypeCode CORBA_TypedefDef__get_type(CORBA_TypedefDef _obj, CORBA_Environment * ev);
/* End inherited operations for CORBA_TypedefDef */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_TypedefDef__epv_defined
#define _POA_CORBA_TypedefDef__epv_defined

   typedef struct {
      void *_private;
   } POA_CORBA_TypedefDef__epv;
#endif				/* !_POA_CORBA_TypedefDef__epv_defined */

#ifndef _POA_CORBA_TypedefDef__vepv_defined
#define _POA_CORBA_TypedefDef__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_Contained__epv *CORBA_Contained_epv;
      POA_CORBA_IDLType__epv *CORBA_IDLType_epv;
      POA_CORBA_TypedefDef__epv *CORBA_TypedefDef_epv;
   } POA_CORBA_TypedefDef__vepv;
#endif				/* !_POA_CORBA_TypedefDef__vepv_defined */

#ifndef _POA_CORBA_TypedefDef_defined
#define _POA_CORBA_TypedefDef_defined

   typedef struct {
      void *_private;
      POA_CORBA_TypedefDef__vepv *vepv;
   } POA_CORBA_TypedefDef;
#endif				/* !_POA_CORBA_TypedefDef_defined */

   extern void POA_CORBA_TypedefDef__init(POA_CORBA_TypedefDef * servant, CORBA_Environment * ev);
   extern void POA_CORBA_TypedefDef__fini(POA_CORBA_TypedefDef * servant, CORBA_Environment * ev);
/* End interface CORBA_TypedefDef */

#ifndef _CORBA_TypeDescription_defined
#define _CORBA_TypeDescription_defined

   typedef struct CORBA_TypeDescription {
      CORBA_Identifier name;

      CORBA_RepositoryId id;

      CORBA_RepositoryId defined_in;

      CORBA_VersionSpec version;

      CORBA_TypeCode type;

   } CORBA_TypeDescription;
#endif				/* !_CORBA_TypeDescription_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_TypeDescription_struct;
#define TC_CORBA_TypeDescription (&TC_CORBA_TypeDescription_struct)
   extern CORBA_TypeDescription *CORBA_TypeDescription__alloc(void);
   extern gpointer CORBA_TypeDescription__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);

/* Begin interface CORBA_StructDef */

   /* client-side data structures and methods */
#ifndef _CORBA_StructDef_defined
#define _CORBA_StructDef_defined

   typedef CORBA_Object CORBA_StructDef;
#define CORBA_StructDef__free CORBA_Object__free
#endif				/* !_CORBA_StructDef_defined */

   extern CORBA_unsigned_long CORBA_StructDef__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_StructDef_struct;
#define TC_CORBA_StructDef (&TC_CORBA_StructDef_struct)
   extern CORBA_StructMemberSeq *CORBA_StructDef__get_members(CORBA_StructDef _obj, CORBA_Environment * ev);
   extern void CORBA_StructDef__set_members(CORBA_StructDef _obj, const CORBA_StructMemberSeq * value, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_StructDef */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_StructDef__get_def_kind(CORBA_StructDef _obj, CORBA_Environment * ev);
   extern void CORBA_StructDef_destroy(CORBA_StructDef _obj, CORBA_Environment * ev);
/* From interface CORBA_Contained */
   extern CORBA_RepositoryId CORBA_StructDef__get_id(CORBA_StructDef _obj, CORBA_Environment * ev);
   extern void CORBA_StructDef__set_id(CORBA_StructDef _obj, const CORBA_RepositoryId value, CORBA_Environment * ev);
   extern CORBA_Identifier CORBA_StructDef__get_name(CORBA_StructDef _obj, CORBA_Environment * ev);
   extern void CORBA_StructDef__set_name(CORBA_StructDef _obj, const CORBA_Identifier value, CORBA_Environment * ev);
   extern CORBA_VersionSpec CORBA_StructDef__get_version(CORBA_StructDef _obj, CORBA_Environment * ev);
   extern void CORBA_StructDef__set_version(CORBA_StructDef _obj, const CORBA_VersionSpec value, CORBA_Environment * ev);
   extern CORBA_Container CORBA_StructDef__get_defined_in(CORBA_StructDef _obj, CORBA_Environment * ev);
   extern CORBA_ScopedName CORBA_StructDef__get_absolute_name(CORBA_StructDef _obj, CORBA_Environment * ev);
   extern CORBA_Repository CORBA_StructDef__get_containing_repository(CORBA_StructDef _obj, CORBA_Environment * ev);
   extern CORBA_Contained_Description *CORBA_StructDef_describe(CORBA_StructDef _obj, CORBA_Environment * ev);
   extern void CORBA_StructDef_move(CORBA_StructDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, CORBA_Environment * ev);
/* From interface CORBA_IDLType */
   extern CORBA_TypeCode CORBA_StructDef__get_type(CORBA_StructDef _obj, CORBA_Environment * ev);
/* From interface CORBA_TypedefDef */
/* From interface CORBA_Container */
   extern CORBA_Contained CORBA_StructDef_lookup(CORBA_StructDef _obj, const CORBA_ScopedName search_name, CORBA_Environment * ev);
   extern CORBA_ContainedSeq *CORBA_StructDef_contents(CORBA_StructDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, CORBA_Environment * ev);
   extern CORBA_ContainedSeq *CORBA_StructDef_lookup_name(CORBA_StructDef _obj, const CORBA_Identifier search_name, const CORBA_long levels_to_search, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, CORBA_Environment * ev);
   extern CORBA_Container_DescriptionSeq *CORBA_StructDef_describe_contents(CORBA_StructDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, const CORBA_long max_returned_objs, CORBA_Environment * ev);
   extern CORBA_ModuleDef CORBA_StructDef_create_module(CORBA_StructDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, CORBA_Environment * ev);
   extern CORBA_ConstantDef CORBA_StructDef_create_constant(CORBA_StructDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType type, const CORBA_any * value, CORBA_Environment * ev);
   extern CORBA_StructDef CORBA_StructDef_create_struct(CORBA_StructDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, CORBA_Environment * ev);
   extern CORBA_UnionDef CORBA_StructDef_create_union(CORBA_StructDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType discriminator_type, const CORBA_UnionMemberSeq * members, CORBA_Environment * ev);
   extern CORBA_EnumDef CORBA_StructDef_create_enum(CORBA_StructDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_EnumMemberSeq * members, CORBA_Environment * ev);
   extern CORBA_AliasDef CORBA_StructDef_create_alias(CORBA_StructDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType original_type, CORBA_Environment * ev);
   extern CORBA_InterfaceDef CORBA_StructDef_create_interface(CORBA_StructDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_InterfaceDefSeq * base_interfaces, CORBA_Environment * ev);
   extern CORBA_ExceptionDef CORBA_StructDef_create_exception(CORBA_StructDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, CORBA_Environment * ev);
/* End inherited operations for CORBA_StructDef */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_StructDef__epv_defined
#define _POA_CORBA_StructDef__epv_defined

   typedef struct {
      void *_private;
      CORBA_StructMemberSeq *(*_get_members) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_members) (PortableServer_Servant servant, const CORBA_StructMemberSeq * value, CORBA_Environment * ev);
   } POA_CORBA_StructDef__epv;
#endif				/* !_POA_CORBA_StructDef__epv_defined */

#ifndef _POA_CORBA_StructDef__vepv_defined
#define _POA_CORBA_StructDef__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_Contained__epv *CORBA_Contained_epv;
      POA_CORBA_IDLType__epv *CORBA_IDLType_epv;
      POA_CORBA_TypedefDef__epv *CORBA_TypedefDef_epv;
      POA_CORBA_Container__epv *CORBA_Container_epv;
      POA_CORBA_StructDef__epv *CORBA_StructDef_epv;
   } POA_CORBA_StructDef__vepv;
#endif				/* !_POA_CORBA_StructDef__vepv_defined */

#ifndef _POA_CORBA_StructDef_defined
#define _POA_CORBA_StructDef_defined

   typedef struct {
      void *_private;
      POA_CORBA_StructDef__vepv *vepv;
   } POA_CORBA_StructDef;
#endif				/* !_POA_CORBA_StructDef_defined */

   extern void POA_CORBA_StructDef__init(POA_CORBA_StructDef * servant, CORBA_Environment * ev);
   extern void POA_CORBA_StructDef__fini(POA_CORBA_StructDef * servant, CORBA_Environment * ev);
/* End interface CORBA_StructDef */

/* Begin interface CORBA_UnionDef */

   /* client-side data structures and methods */
#ifndef _CORBA_UnionDef_defined
#define _CORBA_UnionDef_defined

   typedef CORBA_Object CORBA_UnionDef;
#define CORBA_UnionDef__free CORBA_Object__free
#endif				/* !_CORBA_UnionDef_defined */

   extern CORBA_unsigned_long CORBA_UnionDef__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_UnionDef_struct;
#define TC_CORBA_UnionDef (&TC_CORBA_UnionDef_struct)
   extern CORBA_TypeCode CORBA_UnionDef__get_discriminator_type(CORBA_UnionDef _obj, CORBA_Environment * ev);

   extern CORBA_IDLType CORBA_UnionDef__get_discriminator_type_def(CORBA_UnionDef _obj, CORBA_Environment * ev);
   extern void CORBA_UnionDef__set_discriminator_type_def(CORBA_UnionDef _obj, const CORBA_IDLType value, CORBA_Environment * ev);

   extern CORBA_UnionMemberSeq *CORBA_UnionDef__get_members(CORBA_UnionDef _obj, CORBA_Environment * ev);
   extern void CORBA_UnionDef__set_members(CORBA_UnionDef _obj, const CORBA_UnionMemberSeq * value, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_UnionDef */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_UnionDef__get_def_kind(CORBA_UnionDef _obj, CORBA_Environment * ev);
   extern void CORBA_UnionDef_destroy(CORBA_UnionDef _obj, CORBA_Environment * ev);
/* From interface CORBA_Contained */
   extern CORBA_RepositoryId CORBA_UnionDef__get_id(CORBA_UnionDef _obj, CORBA_Environment * ev);
   extern void CORBA_UnionDef__set_id(CORBA_UnionDef _obj, const CORBA_RepositoryId value, CORBA_Environment * ev);
   extern CORBA_Identifier CORBA_UnionDef__get_name(CORBA_UnionDef _obj, CORBA_Environment * ev);
   extern void CORBA_UnionDef__set_name(CORBA_UnionDef _obj, const CORBA_Identifier value, CORBA_Environment * ev);
   extern CORBA_VersionSpec CORBA_UnionDef__get_version(CORBA_UnionDef _obj, CORBA_Environment * ev);
   extern void CORBA_UnionDef__set_version(CORBA_UnionDef _obj, const CORBA_VersionSpec value, CORBA_Environment * ev);
   extern CORBA_Container CORBA_UnionDef__get_defined_in(CORBA_UnionDef _obj, CORBA_Environment * ev);
   extern CORBA_ScopedName CORBA_UnionDef__get_absolute_name(CORBA_UnionDef _obj, CORBA_Environment * ev);
   extern CORBA_Repository CORBA_UnionDef__get_containing_repository(CORBA_UnionDef _obj, CORBA_Environment * ev);
   extern CORBA_Contained_Description *CORBA_UnionDef_describe(CORBA_UnionDef _obj, CORBA_Environment * ev);
   extern void CORBA_UnionDef_move(CORBA_UnionDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, CORBA_Environment * ev);
/* From interface CORBA_IDLType */
   extern CORBA_TypeCode CORBA_UnionDef__get_type(CORBA_UnionDef _obj, CORBA_Environment * ev);
/* From interface CORBA_TypedefDef */
/* From interface CORBA_Container */
   extern CORBA_Contained CORBA_UnionDef_lookup(CORBA_UnionDef _obj, const CORBA_ScopedName search_name, CORBA_Environment * ev);
   extern CORBA_ContainedSeq *CORBA_UnionDef_contents(CORBA_UnionDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, CORBA_Environment * ev);
   extern CORBA_ContainedSeq *CORBA_UnionDef_lookup_name(CORBA_UnionDef _obj, const CORBA_Identifier search_name, const CORBA_long levels_to_search, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, CORBA_Environment * ev);
   extern CORBA_Container_DescriptionSeq *CORBA_UnionDef_describe_contents(CORBA_UnionDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, const CORBA_long max_returned_objs, CORBA_Environment * ev);
   extern CORBA_ModuleDef CORBA_UnionDef_create_module(CORBA_UnionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, CORBA_Environment * ev);
   extern CORBA_ConstantDef CORBA_UnionDef_create_constant(CORBA_UnionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType type, const CORBA_any * value, CORBA_Environment * ev);
   extern CORBA_StructDef CORBA_UnionDef_create_struct(CORBA_UnionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, CORBA_Environment * ev);
   extern CORBA_UnionDef CORBA_UnionDef_create_union(CORBA_UnionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType discriminator_type, const CORBA_UnionMemberSeq * members, CORBA_Environment * ev);
   extern CORBA_EnumDef CORBA_UnionDef_create_enum(CORBA_UnionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_EnumMemberSeq * members, CORBA_Environment * ev);
   extern CORBA_AliasDef CORBA_UnionDef_create_alias(CORBA_UnionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType original_type, CORBA_Environment * ev);
   extern CORBA_InterfaceDef CORBA_UnionDef_create_interface(CORBA_UnionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_InterfaceDefSeq * base_interfaces, CORBA_Environment * ev);
   extern CORBA_ExceptionDef CORBA_UnionDef_create_exception(CORBA_UnionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, CORBA_Environment * ev);
/* End inherited operations for CORBA_UnionDef */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_UnionDef__epv_defined
#define _POA_CORBA_UnionDef__epv_defined

   typedef struct {
      void *_private;
       CORBA_TypeCode(*_get_discriminator_type) (PortableServer_Servant servant, CORBA_Environment * ev);
       CORBA_IDLType(*_get_discriminator_type_def) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_discriminator_type_def) (PortableServer_Servant servant, const CORBA_IDLType value, CORBA_Environment * ev);
      CORBA_UnionMemberSeq *(*_get_members) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_members) (PortableServer_Servant servant, const CORBA_UnionMemberSeq * value, CORBA_Environment * ev);
   } POA_CORBA_UnionDef__epv;
#endif				/* !_POA_CORBA_UnionDef__epv_defined */

#ifndef _POA_CORBA_UnionDef__vepv_defined
#define _POA_CORBA_UnionDef__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_Contained__epv *CORBA_Contained_epv;
      POA_CORBA_IDLType__epv *CORBA_IDLType_epv;
      POA_CORBA_TypedefDef__epv *CORBA_TypedefDef_epv;
      POA_CORBA_Container__epv *CORBA_Container_epv;
      POA_CORBA_UnionDef__epv *CORBA_UnionDef_epv;
   } POA_CORBA_UnionDef__vepv;
#endif				/* !_POA_CORBA_UnionDef__vepv_defined */

#ifndef _POA_CORBA_UnionDef_defined
#define _POA_CORBA_UnionDef_defined

   typedef struct {
      void *_private;
      POA_CORBA_UnionDef__vepv *vepv;
   } POA_CORBA_UnionDef;
#endif				/* !_POA_CORBA_UnionDef_defined */

   extern void POA_CORBA_UnionDef__init(POA_CORBA_UnionDef * servant, CORBA_Environment * ev);
   extern void POA_CORBA_UnionDef__fini(POA_CORBA_UnionDef * servant, CORBA_Environment * ev);
/* End interface CORBA_UnionDef */

/* Begin interface CORBA_EnumDef */

   /* client-side data structures and methods */
#ifndef _CORBA_EnumDef_defined
#define _CORBA_EnumDef_defined

   typedef CORBA_Object CORBA_EnumDef;
#define CORBA_EnumDef__free CORBA_Object__free
#endif				/* !_CORBA_EnumDef_defined */

   extern CORBA_unsigned_long CORBA_EnumDef__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_EnumDef_struct;
#define TC_CORBA_EnumDef (&TC_CORBA_EnumDef_struct)
   extern CORBA_EnumMemberSeq *CORBA_EnumDef__get_members(CORBA_EnumDef _obj, CORBA_Environment * ev);
   extern void CORBA_EnumDef__set_members(CORBA_EnumDef _obj, const CORBA_EnumMemberSeq * value, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_EnumDef */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_EnumDef__get_def_kind(CORBA_EnumDef _obj, CORBA_Environment * ev);
   extern void CORBA_EnumDef_destroy(CORBA_EnumDef _obj, CORBA_Environment * ev);
/* From interface CORBA_Contained */
   extern CORBA_RepositoryId CORBA_EnumDef__get_id(CORBA_EnumDef _obj, CORBA_Environment * ev);
   extern void CORBA_EnumDef__set_id(CORBA_EnumDef _obj, const CORBA_RepositoryId value, CORBA_Environment * ev);
   extern CORBA_Identifier CORBA_EnumDef__get_name(CORBA_EnumDef _obj, CORBA_Environment * ev);
   extern void CORBA_EnumDef__set_name(CORBA_EnumDef _obj, const CORBA_Identifier value, CORBA_Environment * ev);
   extern CORBA_VersionSpec CORBA_EnumDef__get_version(CORBA_EnumDef _obj, CORBA_Environment * ev);
   extern void CORBA_EnumDef__set_version(CORBA_EnumDef _obj, const CORBA_VersionSpec value, CORBA_Environment * ev);
   extern CORBA_Container CORBA_EnumDef__get_defined_in(CORBA_EnumDef _obj, CORBA_Environment * ev);
   extern CORBA_ScopedName CORBA_EnumDef__get_absolute_name(CORBA_EnumDef _obj, CORBA_Environment * ev);
   extern CORBA_Repository CORBA_EnumDef__get_containing_repository(CORBA_EnumDef _obj, CORBA_Environment * ev);
   extern CORBA_Contained_Description *CORBA_EnumDef_describe(CORBA_EnumDef _obj, CORBA_Environment * ev);
   extern void CORBA_EnumDef_move(CORBA_EnumDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, CORBA_Environment * ev);
/* From interface CORBA_IDLType */
   extern CORBA_TypeCode CORBA_EnumDef__get_type(CORBA_EnumDef _obj, CORBA_Environment * ev);
/* From interface CORBA_TypedefDef */
/* End inherited operations for CORBA_EnumDef */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_EnumDef__epv_defined
#define _POA_CORBA_EnumDef__epv_defined

   typedef struct {
      void *_private;
      CORBA_EnumMemberSeq *(*_get_members) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_members) (PortableServer_Servant servant, const CORBA_EnumMemberSeq * value, CORBA_Environment * ev);
   } POA_CORBA_EnumDef__epv;
#endif				/* !_POA_CORBA_EnumDef__epv_defined */

#ifndef _POA_CORBA_EnumDef__vepv_defined
#define _POA_CORBA_EnumDef__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_Contained__epv *CORBA_Contained_epv;
      POA_CORBA_IDLType__epv *CORBA_IDLType_epv;
      POA_CORBA_TypedefDef__epv *CORBA_TypedefDef_epv;
      POA_CORBA_EnumDef__epv *CORBA_EnumDef_epv;
   } POA_CORBA_EnumDef__vepv;
#endif				/* !_POA_CORBA_EnumDef__vepv_defined */

#ifndef _POA_CORBA_EnumDef_defined
#define _POA_CORBA_EnumDef_defined

   typedef struct {
      void *_private;
      POA_CORBA_EnumDef__vepv *vepv;
   } POA_CORBA_EnumDef;
#endif				/* !_POA_CORBA_EnumDef_defined */

   extern void POA_CORBA_EnumDef__init(POA_CORBA_EnumDef * servant, CORBA_Environment * ev);
   extern void POA_CORBA_EnumDef__fini(POA_CORBA_EnumDef * servant, CORBA_Environment * ev);
/* End interface CORBA_EnumDef */

/* Begin interface CORBA_AliasDef */

   /* client-side data structures and methods */
#ifndef _CORBA_AliasDef_defined
#define _CORBA_AliasDef_defined

   typedef CORBA_Object CORBA_AliasDef;
#define CORBA_AliasDef__free CORBA_Object__free
#endif				/* !_CORBA_AliasDef_defined */

   extern CORBA_unsigned_long CORBA_AliasDef__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_AliasDef_struct;
#define TC_CORBA_AliasDef (&TC_CORBA_AliasDef_struct)
   extern CORBA_IDLType CORBA_AliasDef__get_original_type_def(CORBA_AliasDef _obj, CORBA_Environment * ev);
   extern void CORBA_AliasDef__set_original_type_def(CORBA_AliasDef _obj, const CORBA_IDLType value, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_AliasDef */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_AliasDef__get_def_kind(CORBA_AliasDef _obj, CORBA_Environment * ev);
   extern void CORBA_AliasDef_destroy(CORBA_AliasDef _obj, CORBA_Environment * ev);
/* From interface CORBA_Contained */
   extern CORBA_RepositoryId CORBA_AliasDef__get_id(CORBA_AliasDef _obj, CORBA_Environment * ev);
   extern void CORBA_AliasDef__set_id(CORBA_AliasDef _obj, const CORBA_RepositoryId value, CORBA_Environment * ev);
   extern CORBA_Identifier CORBA_AliasDef__get_name(CORBA_AliasDef _obj, CORBA_Environment * ev);
   extern void CORBA_AliasDef__set_name(CORBA_AliasDef _obj, const CORBA_Identifier value, CORBA_Environment * ev);
   extern CORBA_VersionSpec CORBA_AliasDef__get_version(CORBA_AliasDef _obj, CORBA_Environment * ev);
   extern void CORBA_AliasDef__set_version(CORBA_AliasDef _obj, const CORBA_VersionSpec value, CORBA_Environment * ev);
   extern CORBA_Container CORBA_AliasDef__get_defined_in(CORBA_AliasDef _obj, CORBA_Environment * ev);
   extern CORBA_ScopedName CORBA_AliasDef__get_absolute_name(CORBA_AliasDef _obj, CORBA_Environment * ev);
   extern CORBA_Repository CORBA_AliasDef__get_containing_repository(CORBA_AliasDef _obj, CORBA_Environment * ev);
   extern CORBA_Contained_Description *CORBA_AliasDef_describe(CORBA_AliasDef _obj, CORBA_Environment * ev);
   extern void CORBA_AliasDef_move(CORBA_AliasDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, CORBA_Environment * ev);
/* From interface CORBA_IDLType */
   extern CORBA_TypeCode CORBA_AliasDef__get_type(CORBA_AliasDef _obj, CORBA_Environment * ev);
/* From interface CORBA_TypedefDef */
/* End inherited operations for CORBA_AliasDef */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_AliasDef__epv_defined
#define _POA_CORBA_AliasDef__epv_defined

   typedef struct {
      void *_private;
       CORBA_IDLType(*_get_original_type_def) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_original_type_def) (PortableServer_Servant servant, const CORBA_IDLType value, CORBA_Environment * ev);
   } POA_CORBA_AliasDef__epv;
#endif				/* !_POA_CORBA_AliasDef__epv_defined */

#ifndef _POA_CORBA_AliasDef__vepv_defined
#define _POA_CORBA_AliasDef__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_Contained__epv *CORBA_Contained_epv;
      POA_CORBA_IDLType__epv *CORBA_IDLType_epv;
      POA_CORBA_TypedefDef__epv *CORBA_TypedefDef_epv;
      POA_CORBA_AliasDef__epv *CORBA_AliasDef_epv;
   } POA_CORBA_AliasDef__vepv;
#endif				/* !_POA_CORBA_AliasDef__vepv_defined */

#ifndef _POA_CORBA_AliasDef_defined
#define _POA_CORBA_AliasDef_defined

   typedef struct {
      void *_private;
      POA_CORBA_AliasDef__vepv *vepv;
   } POA_CORBA_AliasDef;
#endif				/* !_POA_CORBA_AliasDef_defined */

   extern void POA_CORBA_AliasDef__init(POA_CORBA_AliasDef * servant, CORBA_Environment * ev);
   extern void POA_CORBA_AliasDef__fini(POA_CORBA_AliasDef * servant, CORBA_Environment * ev);
/* End interface CORBA_AliasDef */

/* Begin interface CORBA_PrimitiveDef */

   /* client-side data structures and methods */
#ifndef _CORBA_PrimitiveDef_defined
#define _CORBA_PrimitiveDef_defined

   typedef CORBA_Object CORBA_PrimitiveDef;
#define CORBA_PrimitiveDef__free CORBA_Object__free
#endif				/* !_CORBA_PrimitiveDef_defined */

   extern CORBA_unsigned_long CORBA_PrimitiveDef__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_PrimitiveDef_struct;
#define TC_CORBA_PrimitiveDef (&TC_CORBA_PrimitiveDef_struct)
   extern CORBA_PrimitiveKind CORBA_PrimitiveDef__get_kind(CORBA_PrimitiveDef _obj, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_PrimitiveDef */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_PrimitiveDef__get_def_kind(CORBA_PrimitiveDef _obj, CORBA_Environment * ev);
   extern void CORBA_PrimitiveDef_destroy(CORBA_PrimitiveDef _obj, CORBA_Environment * ev);
/* From interface CORBA_IDLType */
   extern CORBA_TypeCode CORBA_PrimitiveDef__get_type(CORBA_PrimitiveDef _obj, CORBA_Environment * ev);
/* End inherited operations for CORBA_PrimitiveDef */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_PrimitiveDef__epv_defined
#define _POA_CORBA_PrimitiveDef__epv_defined

   typedef struct {
      void *_private;
       CORBA_PrimitiveKind(*_get_kind) (PortableServer_Servant servant, CORBA_Environment * ev);
   } POA_CORBA_PrimitiveDef__epv;
#endif				/* !_POA_CORBA_PrimitiveDef__epv_defined */

#ifndef _POA_CORBA_PrimitiveDef__vepv_defined
#define _POA_CORBA_PrimitiveDef__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_IDLType__epv *CORBA_IDLType_epv;
      POA_CORBA_PrimitiveDef__epv *CORBA_PrimitiveDef_epv;
   } POA_CORBA_PrimitiveDef__vepv;
#endif				/* !_POA_CORBA_PrimitiveDef__vepv_defined */

#ifndef _POA_CORBA_PrimitiveDef_defined
#define _POA_CORBA_PrimitiveDef_defined

   typedef struct {
      void *_private;
      POA_CORBA_PrimitiveDef__vepv *vepv;
   } POA_CORBA_PrimitiveDef;
#endif				/* !_POA_CORBA_PrimitiveDef_defined */

   extern void POA_CORBA_PrimitiveDef__init(POA_CORBA_PrimitiveDef * servant, CORBA_Environment * ev);
   extern void POA_CORBA_PrimitiveDef__fini(POA_CORBA_PrimitiveDef * servant, CORBA_Environment * ev);
/* End interface CORBA_PrimitiveDef */

/* Begin interface CORBA_StringDef */

   /* client-side data structures and methods */
#ifndef _CORBA_StringDef_defined
#define _CORBA_StringDef_defined

   typedef CORBA_Object CORBA_StringDef;
#define CORBA_StringDef__free CORBA_Object__free
#endif				/* !_CORBA_StringDef_defined */

   extern CORBA_unsigned_long CORBA_StringDef__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_StringDef_struct;
#define TC_CORBA_StringDef (&TC_CORBA_StringDef_struct)
   extern CORBA_unsigned_long CORBA_StringDef__get_bound(CORBA_StringDef _obj, CORBA_Environment * ev);
   extern void CORBA_StringDef__set_bound(CORBA_StringDef _obj, const CORBA_unsigned_long value, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_StringDef */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_StringDef__get_def_kind(CORBA_StringDef _obj, CORBA_Environment * ev);
   extern void CORBA_StringDef_destroy(CORBA_StringDef _obj, CORBA_Environment * ev);
/* From interface CORBA_IDLType */
   extern CORBA_TypeCode CORBA_StringDef__get_type(CORBA_StringDef _obj, CORBA_Environment * ev);
/* End inherited operations for CORBA_StringDef */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_StringDef__epv_defined
#define _POA_CORBA_StringDef__epv_defined

   typedef struct {
      void *_private;
       CORBA_unsigned_long(*_get_bound) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_bound) (PortableServer_Servant servant, const CORBA_unsigned_long value, CORBA_Environment * ev);
   } POA_CORBA_StringDef__epv;
#endif				/* !_POA_CORBA_StringDef__epv_defined */

#ifndef _POA_CORBA_StringDef__vepv_defined
#define _POA_CORBA_StringDef__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_IDLType__epv *CORBA_IDLType_epv;
      POA_CORBA_StringDef__epv *CORBA_StringDef_epv;
   } POA_CORBA_StringDef__vepv;
#endif				/* !_POA_CORBA_StringDef__vepv_defined */

#ifndef _POA_CORBA_StringDef_defined
#define _POA_CORBA_StringDef_defined

   typedef struct {
      void *_private;
      POA_CORBA_StringDef__vepv *vepv;
   } POA_CORBA_StringDef;
#endif				/* !_POA_CORBA_StringDef_defined */

   extern void POA_CORBA_StringDef__init(POA_CORBA_StringDef * servant, CORBA_Environment * ev);
   extern void POA_CORBA_StringDef__fini(POA_CORBA_StringDef * servant, CORBA_Environment * ev);
/* End interface CORBA_StringDef */

/* Begin interface CORBA_WstringDef */

   /* client-side data structures and methods */
#ifndef _CORBA_WstringDef_defined
#define _CORBA_WstringDef_defined

   typedef CORBA_Object CORBA_WstringDef;
#define CORBA_WstringDef__free CORBA_Object__free
#endif				/* !_CORBA_WstringDef_defined */

   extern CORBA_unsigned_long CORBA_WstringDef__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_WstringDef_struct;
#define TC_CORBA_WstringDef (&TC_CORBA_WstringDef_struct)
   extern CORBA_unsigned_long CORBA_WstringDef__get_bound(CORBA_WstringDef _obj, CORBA_Environment * ev);
   extern void CORBA_WstringDef__set_bound(CORBA_WstringDef _obj, const CORBA_unsigned_long value, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_WstringDef */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_WstringDef__get_def_kind(CORBA_WstringDef _obj, CORBA_Environment * ev);
   extern void CORBA_WstringDef_destroy(CORBA_WstringDef _obj, CORBA_Environment * ev);
/* From interface CORBA_IDLType */
   extern CORBA_TypeCode CORBA_WstringDef__get_type(CORBA_WstringDef _obj, CORBA_Environment * ev);
/* End inherited operations for CORBA_WstringDef */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_WstringDef__epv_defined
#define _POA_CORBA_WstringDef__epv_defined

   typedef struct {
      void *_private;
       CORBA_unsigned_long(*_get_bound) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_bound) (PortableServer_Servant servant, const CORBA_unsigned_long value, CORBA_Environment * ev);
   } POA_CORBA_WstringDef__epv;
#endif				/* !_POA_CORBA_WstringDef__epv_defined */

#ifndef _POA_CORBA_WstringDef__vepv_defined
#define _POA_CORBA_WstringDef__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_IDLType__epv *CORBA_IDLType_epv;
      POA_CORBA_WstringDef__epv *CORBA_WstringDef_epv;
   } POA_CORBA_WstringDef__vepv;
#endif				/* !_POA_CORBA_WstringDef__vepv_defined */

#ifndef _POA_CORBA_WstringDef_defined
#define _POA_CORBA_WstringDef_defined

   typedef struct {
      void *_private;
      POA_CORBA_WstringDef__vepv *vepv;
   } POA_CORBA_WstringDef;
#endif				/* !_POA_CORBA_WstringDef_defined */

   extern void POA_CORBA_WstringDef__init(POA_CORBA_WstringDef * servant, CORBA_Environment * ev);
   extern void POA_CORBA_WstringDef__fini(POA_CORBA_WstringDef * servant, CORBA_Environment * ev);
/* End interface CORBA_WstringDef */

/* Begin interface CORBA_FixedDef */

   /* client-side data structures and methods */
#ifndef _CORBA_FixedDef_defined
#define _CORBA_FixedDef_defined

   typedef CORBA_Object CORBA_FixedDef;
#define CORBA_FixedDef__free CORBA_Object__free
#endif				/* !_CORBA_FixedDef_defined */

   extern CORBA_unsigned_long CORBA_FixedDef__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_FixedDef_struct;
#define TC_CORBA_FixedDef (&TC_CORBA_FixedDef_struct)
   extern CORBA_unsigned_short CORBA_FixedDef__get_digits(CORBA_FixedDef _obj, CORBA_Environment * ev);
   extern void CORBA_FixedDef__set_digits(CORBA_FixedDef _obj, const CORBA_unsigned_short value, CORBA_Environment * ev);

   extern CORBA_short CORBA_FixedDef__get_scale(CORBA_FixedDef _obj, CORBA_Environment * ev);
   extern void CORBA_FixedDef__set_scale(CORBA_FixedDef _obj, const CORBA_short value, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_FixedDef */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_FixedDef__get_def_kind(CORBA_FixedDef _obj, CORBA_Environment * ev);
   extern void CORBA_FixedDef_destroy(CORBA_FixedDef _obj, CORBA_Environment * ev);
/* From interface CORBA_IDLType */
   extern CORBA_TypeCode CORBA_FixedDef__get_type(CORBA_FixedDef _obj, CORBA_Environment * ev);
/* End inherited operations for CORBA_FixedDef */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_FixedDef__epv_defined
#define _POA_CORBA_FixedDef__epv_defined

   typedef struct {
      void *_private;
       CORBA_unsigned_short(*_get_digits) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_digits) (PortableServer_Servant servant, const CORBA_unsigned_short value, CORBA_Environment * ev);
       CORBA_short(*_get_scale) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_scale) (PortableServer_Servant servant, const CORBA_short value, CORBA_Environment * ev);
   } POA_CORBA_FixedDef__epv;
#endif				/* !_POA_CORBA_FixedDef__epv_defined */

#ifndef _POA_CORBA_FixedDef__vepv_defined
#define _POA_CORBA_FixedDef__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_IDLType__epv *CORBA_IDLType_epv;
      POA_CORBA_FixedDef__epv *CORBA_FixedDef_epv;
   } POA_CORBA_FixedDef__vepv;
#endif				/* !_POA_CORBA_FixedDef__vepv_defined */

#ifndef _POA_CORBA_FixedDef_defined
#define _POA_CORBA_FixedDef_defined

   typedef struct {
      void *_private;
      POA_CORBA_FixedDef__vepv *vepv;
   } POA_CORBA_FixedDef;
#endif				/* !_POA_CORBA_FixedDef_defined */

   extern void POA_CORBA_FixedDef__init(POA_CORBA_FixedDef * servant, CORBA_Environment * ev);
   extern void POA_CORBA_FixedDef__fini(POA_CORBA_FixedDef * servant, CORBA_Environment * ev);
/* End interface CORBA_FixedDef */

/* Begin interface CORBA_SequenceDef */

   /* client-side data structures and methods */
#ifndef _CORBA_SequenceDef_defined
#define _CORBA_SequenceDef_defined

   typedef CORBA_Object CORBA_SequenceDef;
#define CORBA_SequenceDef__free CORBA_Object__free
#endif				/* !_CORBA_SequenceDef_defined */

   extern CORBA_unsigned_long CORBA_SequenceDef__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_SequenceDef_struct;
#define TC_CORBA_SequenceDef (&TC_CORBA_SequenceDef_struct)
   extern CORBA_unsigned_long CORBA_SequenceDef__get_bound(CORBA_SequenceDef _obj, CORBA_Environment * ev);
   extern void CORBA_SequenceDef__set_bound(CORBA_SequenceDef _obj, const CORBA_unsigned_long value, CORBA_Environment * ev);

   extern CORBA_TypeCode CORBA_SequenceDef__get_element_type(CORBA_SequenceDef _obj, CORBA_Environment * ev);

   extern CORBA_IDLType CORBA_SequenceDef__get_element_type_def(CORBA_SequenceDef _obj, CORBA_Environment * ev);
   extern void CORBA_SequenceDef__set_element_type_def(CORBA_SequenceDef _obj, const CORBA_IDLType value, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_SequenceDef */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_SequenceDef__get_def_kind(CORBA_SequenceDef _obj, CORBA_Environment * ev);
   extern void CORBA_SequenceDef_destroy(CORBA_SequenceDef _obj, CORBA_Environment * ev);
/* From interface CORBA_IDLType */
   extern CORBA_TypeCode CORBA_SequenceDef__get_type(CORBA_SequenceDef _obj, CORBA_Environment * ev);
/* End inherited operations for CORBA_SequenceDef */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_SequenceDef__epv_defined
#define _POA_CORBA_SequenceDef__epv_defined

   typedef struct {
      void *_private;
       CORBA_unsigned_long(*_get_bound) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_bound) (PortableServer_Servant servant, const CORBA_unsigned_long value, CORBA_Environment * ev);
       CORBA_TypeCode(*_get_element_type) (PortableServer_Servant servant, CORBA_Environment * ev);
       CORBA_IDLType(*_get_element_type_def) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_element_type_def) (PortableServer_Servant servant, const CORBA_IDLType value, CORBA_Environment * ev);
   } POA_CORBA_SequenceDef__epv;
#endif				/* !_POA_CORBA_SequenceDef__epv_defined */

#ifndef _POA_CORBA_SequenceDef__vepv_defined
#define _POA_CORBA_SequenceDef__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_IDLType__epv *CORBA_IDLType_epv;
      POA_CORBA_SequenceDef__epv *CORBA_SequenceDef_epv;
   } POA_CORBA_SequenceDef__vepv;
#endif				/* !_POA_CORBA_SequenceDef__vepv_defined */

#ifndef _POA_CORBA_SequenceDef_defined
#define _POA_CORBA_SequenceDef_defined

   typedef struct {
      void *_private;
      POA_CORBA_SequenceDef__vepv *vepv;
   } POA_CORBA_SequenceDef;
#endif				/* !_POA_CORBA_SequenceDef_defined */

   extern void POA_CORBA_SequenceDef__init(POA_CORBA_SequenceDef * servant, CORBA_Environment * ev);
   extern void POA_CORBA_SequenceDef__fini(POA_CORBA_SequenceDef * servant, CORBA_Environment * ev);
/* End interface CORBA_SequenceDef */

/* Begin interface CORBA_ArrayDef */

   /* client-side data structures and methods */
#ifndef _CORBA_ArrayDef_defined
#define _CORBA_ArrayDef_defined

   typedef CORBA_Object CORBA_ArrayDef;
#define CORBA_ArrayDef__free CORBA_Object__free
#endif				/* !_CORBA_ArrayDef_defined */

   extern CORBA_unsigned_long CORBA_ArrayDef__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_ArrayDef_struct;
#define TC_CORBA_ArrayDef (&TC_CORBA_ArrayDef_struct)
   extern CORBA_unsigned_long CORBA_ArrayDef__get_length(CORBA_ArrayDef _obj, CORBA_Environment * ev);
   extern void CORBA_ArrayDef__set_length(CORBA_ArrayDef _obj, const CORBA_unsigned_long value, CORBA_Environment * ev);

   extern CORBA_TypeCode CORBA_ArrayDef__get_element_type(CORBA_ArrayDef _obj, CORBA_Environment * ev);

   extern CORBA_IDLType CORBA_ArrayDef__get_element_type_def(CORBA_ArrayDef _obj, CORBA_Environment * ev);
   extern void CORBA_ArrayDef__set_element_type_def(CORBA_ArrayDef _obj, const CORBA_IDLType value, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_ArrayDef */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_ArrayDef__get_def_kind(CORBA_ArrayDef _obj, CORBA_Environment * ev);
   extern void CORBA_ArrayDef_destroy(CORBA_ArrayDef _obj, CORBA_Environment * ev);
/* From interface CORBA_IDLType */
   extern CORBA_TypeCode CORBA_ArrayDef__get_type(CORBA_ArrayDef _obj, CORBA_Environment * ev);
/* End inherited operations for CORBA_ArrayDef */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_ArrayDef__epv_defined
#define _POA_CORBA_ArrayDef__epv_defined

   typedef struct {
      void *_private;
       CORBA_unsigned_long(*_get_length) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_length) (PortableServer_Servant servant, const CORBA_unsigned_long value, CORBA_Environment * ev);
       CORBA_TypeCode(*_get_element_type) (PortableServer_Servant servant, CORBA_Environment * ev);
       CORBA_IDLType(*_get_element_type_def) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_element_type_def) (PortableServer_Servant servant, const CORBA_IDLType value, CORBA_Environment * ev);
   } POA_CORBA_ArrayDef__epv;
#endif				/* !_POA_CORBA_ArrayDef__epv_defined */

#ifndef _POA_CORBA_ArrayDef__vepv_defined
#define _POA_CORBA_ArrayDef__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_IDLType__epv *CORBA_IDLType_epv;
      POA_CORBA_ArrayDef__epv *CORBA_ArrayDef_epv;
   } POA_CORBA_ArrayDef__vepv;
#endif				/* !_POA_CORBA_ArrayDef__vepv_defined */

#ifndef _POA_CORBA_ArrayDef_defined
#define _POA_CORBA_ArrayDef_defined

   typedef struct {
      void *_private;
      POA_CORBA_ArrayDef__vepv *vepv;
   } POA_CORBA_ArrayDef;
#endif				/* !_POA_CORBA_ArrayDef_defined */

   extern void POA_CORBA_ArrayDef__init(POA_CORBA_ArrayDef * servant, CORBA_Environment * ev);
   extern void POA_CORBA_ArrayDef__fini(POA_CORBA_ArrayDef * servant, CORBA_Environment * ev);
/* End interface CORBA_ArrayDef */

/* Begin interface CORBA_ExceptionDef */

   /* client-side data structures and methods */
#ifndef _CORBA_ExceptionDef_defined
#define _CORBA_ExceptionDef_defined

   typedef CORBA_Object CORBA_ExceptionDef;
#define CORBA_ExceptionDef__free CORBA_Object__free
#endif				/* !_CORBA_ExceptionDef_defined */

   extern CORBA_unsigned_long CORBA_ExceptionDef__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_ExceptionDef_struct;
#define TC_CORBA_ExceptionDef (&TC_CORBA_ExceptionDef_struct)
   extern CORBA_TypeCode CORBA_ExceptionDef__get_type(CORBA_ExceptionDef _obj, CORBA_Environment * ev);

   extern CORBA_StructMemberSeq *CORBA_ExceptionDef__get_members(CORBA_ExceptionDef _obj, CORBA_Environment * ev);
   extern void CORBA_ExceptionDef__set_members(CORBA_ExceptionDef _obj, const CORBA_StructMemberSeq * value, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_ExceptionDef */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_ExceptionDef__get_def_kind(CORBA_ExceptionDef _obj, CORBA_Environment * ev);
   extern void CORBA_ExceptionDef_destroy(CORBA_ExceptionDef _obj, CORBA_Environment * ev);
/* From interface CORBA_Contained */
   extern CORBA_RepositoryId CORBA_ExceptionDef__get_id(CORBA_ExceptionDef _obj, CORBA_Environment * ev);
   extern void CORBA_ExceptionDef__set_id(CORBA_ExceptionDef _obj, const CORBA_RepositoryId value, CORBA_Environment * ev);
   extern CORBA_Identifier CORBA_ExceptionDef__get_name(CORBA_ExceptionDef _obj, CORBA_Environment * ev);
   extern void CORBA_ExceptionDef__set_name(CORBA_ExceptionDef _obj, const CORBA_Identifier value, CORBA_Environment * ev);
   extern CORBA_VersionSpec CORBA_ExceptionDef__get_version(CORBA_ExceptionDef _obj, CORBA_Environment * ev);
   extern void CORBA_ExceptionDef__set_version(CORBA_ExceptionDef _obj, const CORBA_VersionSpec value, CORBA_Environment * ev);
   extern CORBA_Container CORBA_ExceptionDef__get_defined_in(CORBA_ExceptionDef _obj, CORBA_Environment * ev);
   extern CORBA_ScopedName CORBA_ExceptionDef__get_absolute_name(CORBA_ExceptionDef _obj, CORBA_Environment * ev);
   extern CORBA_Repository CORBA_ExceptionDef__get_containing_repository(CORBA_ExceptionDef _obj, CORBA_Environment * ev);
   extern CORBA_Contained_Description *CORBA_ExceptionDef_describe(CORBA_ExceptionDef _obj, CORBA_Environment * ev);
   extern void CORBA_ExceptionDef_move(CORBA_ExceptionDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, CORBA_Environment * ev);
/* From interface CORBA_Container */
   extern CORBA_Contained CORBA_ExceptionDef_lookup(CORBA_ExceptionDef _obj, const CORBA_ScopedName search_name, CORBA_Environment * ev);
   extern CORBA_ContainedSeq *CORBA_ExceptionDef_contents(CORBA_ExceptionDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, CORBA_Environment * ev);
   extern CORBA_ContainedSeq *CORBA_ExceptionDef_lookup_name(CORBA_ExceptionDef _obj, const CORBA_Identifier search_name, const CORBA_long levels_to_search, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, CORBA_Environment * ev);
   extern CORBA_Container_DescriptionSeq *CORBA_ExceptionDef_describe_contents(CORBA_ExceptionDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, const CORBA_long max_returned_objs, CORBA_Environment * ev);
   extern CORBA_ModuleDef CORBA_ExceptionDef_create_module(CORBA_ExceptionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, CORBA_Environment * ev);
   extern CORBA_ConstantDef CORBA_ExceptionDef_create_constant(CORBA_ExceptionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType type, const CORBA_any * value, CORBA_Environment * ev);
   extern CORBA_StructDef CORBA_ExceptionDef_create_struct(CORBA_ExceptionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, CORBA_Environment * ev);
   extern CORBA_UnionDef CORBA_ExceptionDef_create_union(CORBA_ExceptionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType discriminator_type, const CORBA_UnionMemberSeq * members, CORBA_Environment * ev);
   extern CORBA_EnumDef CORBA_ExceptionDef_create_enum(CORBA_ExceptionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_EnumMemberSeq * members, CORBA_Environment * ev);
   extern CORBA_AliasDef CORBA_ExceptionDef_create_alias(CORBA_ExceptionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType original_type, CORBA_Environment * ev);
   extern CORBA_InterfaceDef CORBA_ExceptionDef_create_interface(CORBA_ExceptionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_InterfaceDefSeq * base_interfaces, CORBA_Environment * ev);
   extern CORBA_ExceptionDef CORBA_ExceptionDef_create_exception(CORBA_ExceptionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, CORBA_Environment * ev);
/* End inherited operations for CORBA_ExceptionDef */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_ExceptionDef__epv_defined
#define _POA_CORBA_ExceptionDef__epv_defined

   typedef struct {
      void *_private;
       CORBA_TypeCode(*_get_type) (PortableServer_Servant servant, CORBA_Environment * ev);
      CORBA_StructMemberSeq *(*_get_members) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_members) (PortableServer_Servant servant, const CORBA_StructMemberSeq * value, CORBA_Environment * ev);
   } POA_CORBA_ExceptionDef__epv;
#endif				/* !_POA_CORBA_ExceptionDef__epv_defined */

#ifndef _POA_CORBA_ExceptionDef__vepv_defined
#define _POA_CORBA_ExceptionDef__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_Contained__epv *CORBA_Contained_epv;
      POA_CORBA_Container__epv *CORBA_Container_epv;
      POA_CORBA_ExceptionDef__epv *CORBA_ExceptionDef_epv;
   } POA_CORBA_ExceptionDef__vepv;
#endif				/* !_POA_CORBA_ExceptionDef__vepv_defined */

#ifndef _POA_CORBA_ExceptionDef_defined
#define _POA_CORBA_ExceptionDef_defined

   typedef struct {
      void *_private;
      POA_CORBA_ExceptionDef__vepv *vepv;
   } POA_CORBA_ExceptionDef;
#endif				/* !_POA_CORBA_ExceptionDef_defined */

   extern void POA_CORBA_ExceptionDef__init(POA_CORBA_ExceptionDef * servant, CORBA_Environment * ev);
   extern void POA_CORBA_ExceptionDef__fini(POA_CORBA_ExceptionDef * servant, CORBA_Environment * ev);
/* End interface CORBA_ExceptionDef */

#ifndef _CORBA_ExceptionDescription_defined
#define _CORBA_ExceptionDescription_defined

   typedef struct CORBA_ExceptionDescription {
      CORBA_Identifier name;

      CORBA_RepositoryId id;

      CORBA_RepositoryId defined_in;

      CORBA_VersionSpec version;

      CORBA_TypeCode type;

   } CORBA_ExceptionDescription;
#endif				/* !_CORBA_ExceptionDescription_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_ExceptionDescription_struct;
#define TC_CORBA_ExceptionDescription (&TC_CORBA_ExceptionDescription_struct)
   extern CORBA_ExceptionDescription *CORBA_ExceptionDescription__alloc(void);
   extern gpointer CORBA_ExceptionDescription__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);

#ifndef _CORBA_AttributeMode_defined
#define _CORBA_AttributeMode_defined

   typedef enum {
      CORBA_ATTR_NORMAL,
      CORBA_ATTR_READONLY
   } CORBA_AttributeMode;
#endif				/* !_CORBA_AttributeMode_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_AttributeMode_struct;
#define TC_CORBA_AttributeMode (&TC_CORBA_AttributeMode_struct)

/* Begin interface CORBA_AttributeDef */

   /* client-side data structures and methods */
#ifndef _CORBA_AttributeDef_defined
#define _CORBA_AttributeDef_defined

   typedef CORBA_Object CORBA_AttributeDef;
#define CORBA_AttributeDef__free CORBA_Object__free
#endif				/* !_CORBA_AttributeDef_defined */

   extern CORBA_unsigned_long CORBA_AttributeDef__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_AttributeDef_struct;
#define TC_CORBA_AttributeDef (&TC_CORBA_AttributeDef_struct)
   extern CORBA_TypeCode CORBA_AttributeDef__get_type(CORBA_AttributeDef _obj, CORBA_Environment * ev);

   extern CORBA_IDLType CORBA_AttributeDef__get_type_def(CORBA_AttributeDef _obj, CORBA_Environment * ev);
   extern void CORBA_AttributeDef__set_type_def(CORBA_AttributeDef _obj, const CORBA_IDLType value, CORBA_Environment * ev);

   extern CORBA_AttributeMode CORBA_AttributeDef__get_mode(CORBA_AttributeDef _obj, CORBA_Environment * ev);
   extern void CORBA_AttributeDef__set_mode(CORBA_AttributeDef _obj, const CORBA_AttributeMode value, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_AttributeDef */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_AttributeDef__get_def_kind(CORBA_AttributeDef _obj, CORBA_Environment * ev);
   extern void CORBA_AttributeDef_destroy(CORBA_AttributeDef _obj, CORBA_Environment * ev);
/* From interface CORBA_Contained */
   extern CORBA_RepositoryId CORBA_AttributeDef__get_id(CORBA_AttributeDef _obj, CORBA_Environment * ev);
   extern void CORBA_AttributeDef__set_id(CORBA_AttributeDef _obj, const CORBA_RepositoryId value, CORBA_Environment * ev);
   extern CORBA_Identifier CORBA_AttributeDef__get_name(CORBA_AttributeDef _obj, CORBA_Environment * ev);
   extern void CORBA_AttributeDef__set_name(CORBA_AttributeDef _obj, const CORBA_Identifier value, CORBA_Environment * ev);
   extern CORBA_VersionSpec CORBA_AttributeDef__get_version(CORBA_AttributeDef _obj, CORBA_Environment * ev);
   extern void CORBA_AttributeDef__set_version(CORBA_AttributeDef _obj, const CORBA_VersionSpec value, CORBA_Environment * ev);
   extern CORBA_Container CORBA_AttributeDef__get_defined_in(CORBA_AttributeDef _obj, CORBA_Environment * ev);
   extern CORBA_ScopedName CORBA_AttributeDef__get_absolute_name(CORBA_AttributeDef _obj, CORBA_Environment * ev);
   extern CORBA_Repository CORBA_AttributeDef__get_containing_repository(CORBA_AttributeDef _obj, CORBA_Environment * ev);
   extern CORBA_Contained_Description *CORBA_AttributeDef_describe(CORBA_AttributeDef _obj, CORBA_Environment * ev);
   extern void CORBA_AttributeDef_move(CORBA_AttributeDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, CORBA_Environment * ev);
/* End inherited operations for CORBA_AttributeDef */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_AttributeDef__epv_defined
#define _POA_CORBA_AttributeDef__epv_defined

   typedef struct {
      void *_private;
       CORBA_TypeCode(*_get_type) (PortableServer_Servant servant, CORBA_Environment * ev);
       CORBA_IDLType(*_get_type_def) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_type_def) (PortableServer_Servant servant, const CORBA_IDLType value, CORBA_Environment * ev);
       CORBA_AttributeMode(*_get_mode) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_mode) (PortableServer_Servant servant, const CORBA_AttributeMode value, CORBA_Environment * ev);
   } POA_CORBA_AttributeDef__epv;
#endif				/* !_POA_CORBA_AttributeDef__epv_defined */

#ifndef _POA_CORBA_AttributeDef__vepv_defined
#define _POA_CORBA_AttributeDef__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_Contained__epv *CORBA_Contained_epv;
      POA_CORBA_AttributeDef__epv *CORBA_AttributeDef_epv;
   } POA_CORBA_AttributeDef__vepv;
#endif				/* !_POA_CORBA_AttributeDef__vepv_defined */

#ifndef _POA_CORBA_AttributeDef_defined
#define _POA_CORBA_AttributeDef_defined

   typedef struct {
      void *_private;
      POA_CORBA_AttributeDef__vepv *vepv;
   } POA_CORBA_AttributeDef;
#endif				/* !_POA_CORBA_AttributeDef_defined */

   extern void POA_CORBA_AttributeDef__init(POA_CORBA_AttributeDef * servant, CORBA_Environment * ev);
   extern void POA_CORBA_AttributeDef__fini(POA_CORBA_AttributeDef * servant, CORBA_Environment * ev);
/* End interface CORBA_AttributeDef */

#ifndef _CORBA_AttributeDescription_defined
#define _CORBA_AttributeDescription_defined

   typedef struct CORBA_AttributeDescription {
      CORBA_Identifier name;

      CORBA_RepositoryId id;

      CORBA_RepositoryId defined_in;

      CORBA_VersionSpec version;

      CORBA_TypeCode type;

      CORBA_AttributeMode mode;

   } CORBA_AttributeDescription;
#endif				/* !_CORBA_AttributeDescription_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_AttributeDescription_struct;
#define TC_CORBA_AttributeDescription (&TC_CORBA_AttributeDescription_struct)
   extern CORBA_AttributeDescription *CORBA_AttributeDescription__alloc(void);
   extern gpointer CORBA_AttributeDescription__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);

#ifndef _CORBA_OperationMode_defined
#define _CORBA_OperationMode_defined

   typedef enum {
      CORBA_OP_NORMAL,
      CORBA_OP_ONEWAY
   } CORBA_OperationMode;
#endif				/* !_CORBA_OperationMode_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_OperationMode_struct;
#define TC_CORBA_OperationMode (&TC_CORBA_OperationMode_struct)

#ifndef _CORBA_ParameterMode_defined
#define _CORBA_ParameterMode_defined

   typedef enum {
      CORBA_PARAM_IN,
      CORBA_PARAM_OUT,
      CORBA_PARAM_INOUT
   } CORBA_ParameterMode;
#endif				/* !_CORBA_ParameterMode_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_ParameterMode_struct;
#define TC_CORBA_ParameterMode (&TC_CORBA_ParameterMode_struct)

#ifndef _CORBA_ParameterDescription_defined
#define _CORBA_ParameterDescription_defined

   typedef struct CORBA_ParameterDescription {
      CORBA_Identifier name;

      CORBA_TypeCode type;

      CORBA_IDLType type_def;

      CORBA_ParameterMode mode;

   } CORBA_ParameterDescription;
#endif				/* !_CORBA_ParameterDescription_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_ParameterDescription_struct;
#define TC_CORBA_ParameterDescription (&TC_CORBA_ParameterDescription_struct)
   extern CORBA_ParameterDescription *CORBA_ParameterDescription__alloc(void);
   extern gpointer CORBA_ParameterDescription__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);

#ifndef _CORBA_ParDescriptionSeq_defined
#define _CORBA_ParDescriptionSeq_defined

   typedef struct {
      CORBA_unsigned_long _maximum;
      CORBA_unsigned_long _length;
      CORBA_ParameterDescription *_buffer;
      CORBA_boolean _release:1;	/* ORBit-specific; see page 19-14 of CORBA 2.2 spec */
   } CORBA_ParDescriptionSeq;
#endif				/* !_CORBA_ParDescriptionSeq_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_ParDescriptionSeq_struct;
#define TC_CORBA_ParDescriptionSeq (&TC_CORBA_ParDescriptionSeq_struct)
   extern CORBA_ParameterDescription *CORBA_sequence_CORBA_ParameterDescription_allocbuf(CORBA_unsigned_long len);
   extern CORBA_ParDescriptionSeq *CORBA_ParDescriptionSeq__alloc(void);
   extern gpointer CORBA_ParDescriptionSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);	/* ORBit internals */

#ifndef _CORBA_ContextIdentifier_defined
#define _CORBA_ContextIdentifier_defined

   typedef CORBA_Identifier CORBA_ContextIdentifier;
#endif				/* !_CORBA_ContextIdentifier_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_ContextIdentifier_struct;
#define TC_CORBA_ContextIdentifier (&TC_CORBA_ContextIdentifier_struct)
   extern CORBA_ContextIdentifier *CORBA_ContextIdentifier__alloc(void);
#define CORBA_ContextIdentifier__free CORBA_Identifier__free

#ifndef _CORBA_ContextIdSeq_defined
#define _CORBA_ContextIdSeq_defined

   typedef struct {
      CORBA_unsigned_long _maximum;
      CORBA_unsigned_long _length;
      CORBA_ContextIdentifier *_buffer;
      CORBA_boolean _release:1;	/* ORBit-specific; see page 19-14 of CORBA 2.2 spec */
   } CORBA_ContextIdSeq;
#endif				/* !_CORBA_ContextIdSeq_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_ContextIdSeq_struct;
#define TC_CORBA_ContextIdSeq (&TC_CORBA_ContextIdSeq_struct)
   extern CORBA_ContextIdentifier *CORBA_sequence_CORBA_ContextIdentifier_allocbuf(CORBA_unsigned_long len);
   extern CORBA_ContextIdSeq *CORBA_ContextIdSeq__alloc(void);
   extern gpointer CORBA_ContextIdSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);	/* ORBit internals */

#ifndef _CORBA_ExceptionDefSeq_defined
#define _CORBA_ExceptionDefSeq_defined

   typedef struct {
      CORBA_unsigned_long _maximum;
      CORBA_unsigned_long _length;
      CORBA_ExceptionDef *_buffer;
      CORBA_boolean _release:1;	/* ORBit-specific; see page 19-14 of CORBA 2.2 spec */
   } CORBA_ExceptionDefSeq;
#endif				/* !_CORBA_ExceptionDefSeq_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_ExceptionDefSeq_struct;
#define TC_CORBA_ExceptionDefSeq (&TC_CORBA_ExceptionDefSeq_struct)
   extern CORBA_ExceptionDef *CORBA_sequence_CORBA_ExceptionDef_allocbuf(CORBA_unsigned_long len);
   extern CORBA_ExceptionDefSeq *CORBA_ExceptionDefSeq__alloc(void);
   extern gpointer CORBA_ExceptionDefSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);		/* ORBit internals */

#ifndef _CORBA_ExcDescriptionSeq_defined
#define _CORBA_ExcDescriptionSeq_defined

   typedef struct {
      CORBA_unsigned_long _maximum;
      CORBA_unsigned_long _length;
      CORBA_ExceptionDescription *_buffer;
      CORBA_boolean _release:1;	/* ORBit-specific; see page 19-14 of CORBA 2.2 spec */
   } CORBA_ExcDescriptionSeq;
#endif				/* !_CORBA_ExcDescriptionSeq_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_ExcDescriptionSeq_struct;
#define TC_CORBA_ExcDescriptionSeq (&TC_CORBA_ExcDescriptionSeq_struct)
   extern CORBA_ExceptionDescription *CORBA_sequence_CORBA_ExceptionDescription_allocbuf(CORBA_unsigned_long len);
   extern CORBA_ExcDescriptionSeq *CORBA_ExcDescriptionSeq__alloc(void);
   extern gpointer CORBA_ExcDescriptionSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);	/* ORBit internals */

/* Begin interface CORBA_OperationDef */

   /* client-side data structures and methods */
#ifndef _CORBA_OperationDef_defined
#define _CORBA_OperationDef_defined

   typedef CORBA_Object CORBA_OperationDef;
#define CORBA_OperationDef__free CORBA_Object__free
#endif				/* !_CORBA_OperationDef_defined */

   extern CORBA_unsigned_long CORBA_OperationDef__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_OperationDef_struct;
#define TC_CORBA_OperationDef (&TC_CORBA_OperationDef_struct)
   extern CORBA_TypeCode CORBA_OperationDef__get_result(CORBA_OperationDef _obj, CORBA_Environment * ev);

   extern CORBA_IDLType CORBA_OperationDef__get_result_def(CORBA_OperationDef _obj, CORBA_Environment * ev);
   extern void CORBA_OperationDef__set_result_def(CORBA_OperationDef _obj, const CORBA_IDLType value, CORBA_Environment * ev);

   extern CORBA_ParDescriptionSeq *CORBA_OperationDef__get_params(CORBA_OperationDef _obj, CORBA_Environment * ev);
   extern void CORBA_OperationDef__set_params(CORBA_OperationDef _obj, const CORBA_ParDescriptionSeq * value, CORBA_Environment * ev);

   extern CORBA_OperationMode CORBA_OperationDef__get_mode(CORBA_OperationDef _obj, CORBA_Environment * ev);
   extern void CORBA_OperationDef__set_mode(CORBA_OperationDef _obj, const CORBA_OperationMode value, CORBA_Environment * ev);

   extern CORBA_ContextIdSeq *CORBA_OperationDef__get_contexts(CORBA_OperationDef _obj, CORBA_Environment * ev);
   extern void CORBA_OperationDef__set_contexts(CORBA_OperationDef _obj, const CORBA_ContextIdSeq * value, CORBA_Environment * ev);

   extern CORBA_ExceptionDefSeq *CORBA_OperationDef__get_exceptions(CORBA_OperationDef _obj, CORBA_Environment * ev);
   extern void CORBA_OperationDef__set_exceptions(CORBA_OperationDef _obj, const CORBA_ExceptionDefSeq * value, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_OperationDef */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_OperationDef__get_def_kind(CORBA_OperationDef _obj, CORBA_Environment * ev);
   extern void CORBA_OperationDef_destroy(CORBA_OperationDef _obj, CORBA_Environment * ev);
/* From interface CORBA_Contained */
   extern CORBA_RepositoryId CORBA_OperationDef__get_id(CORBA_OperationDef _obj, CORBA_Environment * ev);
   extern void CORBA_OperationDef__set_id(CORBA_OperationDef _obj, const CORBA_RepositoryId value, CORBA_Environment * ev);
   extern CORBA_Identifier CORBA_OperationDef__get_name(CORBA_OperationDef _obj, CORBA_Environment * ev);
   extern void CORBA_OperationDef__set_name(CORBA_OperationDef _obj, const CORBA_Identifier value, CORBA_Environment * ev);
   extern CORBA_VersionSpec CORBA_OperationDef__get_version(CORBA_OperationDef _obj, CORBA_Environment * ev);
   extern void CORBA_OperationDef__set_version(CORBA_OperationDef _obj, const CORBA_VersionSpec value, CORBA_Environment * ev);
   extern CORBA_Container CORBA_OperationDef__get_defined_in(CORBA_OperationDef _obj, CORBA_Environment * ev);
   extern CORBA_ScopedName CORBA_OperationDef__get_absolute_name(CORBA_OperationDef _obj, CORBA_Environment * ev);
   extern CORBA_Repository CORBA_OperationDef__get_containing_repository(CORBA_OperationDef _obj, CORBA_Environment * ev);
   extern CORBA_Contained_Description *CORBA_OperationDef_describe(CORBA_OperationDef _obj, CORBA_Environment * ev);
   extern void CORBA_OperationDef_move(CORBA_OperationDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, CORBA_Environment * ev);
/* End inherited operations for CORBA_OperationDef */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_OperationDef__epv_defined
#define _POA_CORBA_OperationDef__epv_defined

   typedef struct {
      void *_private;
       CORBA_TypeCode(*_get_result) (PortableServer_Servant servant, CORBA_Environment * ev);
       CORBA_IDLType(*_get_result_def) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_result_def) (PortableServer_Servant servant, const CORBA_IDLType value, CORBA_Environment * ev);
      CORBA_ParDescriptionSeq *(*_get_params) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_params) (PortableServer_Servant servant, const CORBA_ParDescriptionSeq * value, CORBA_Environment * ev);
       CORBA_OperationMode(*_get_mode) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_mode) (PortableServer_Servant servant, const CORBA_OperationMode value, CORBA_Environment * ev);
      CORBA_ContextIdSeq *(*_get_contexts) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_contexts) (PortableServer_Servant servant, const CORBA_ContextIdSeq * value, CORBA_Environment * ev);
      CORBA_ExceptionDefSeq *(*_get_exceptions) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_exceptions) (PortableServer_Servant servant, const CORBA_ExceptionDefSeq * value, CORBA_Environment * ev);
   } POA_CORBA_OperationDef__epv;
#endif				/* !_POA_CORBA_OperationDef__epv_defined */

#ifndef _POA_CORBA_OperationDef__vepv_defined
#define _POA_CORBA_OperationDef__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_Contained__epv *CORBA_Contained_epv;
      POA_CORBA_OperationDef__epv *CORBA_OperationDef_epv;
   } POA_CORBA_OperationDef__vepv;
#endif				/* !_POA_CORBA_OperationDef__vepv_defined */

#ifndef _POA_CORBA_OperationDef_defined
#define _POA_CORBA_OperationDef_defined

   typedef struct {
      void *_private;
      POA_CORBA_OperationDef__vepv *vepv;
   } POA_CORBA_OperationDef;
#endif				/* !_POA_CORBA_OperationDef_defined */

   extern void POA_CORBA_OperationDef__init(POA_CORBA_OperationDef * servant, CORBA_Environment * ev);
   extern void POA_CORBA_OperationDef__fini(POA_CORBA_OperationDef * servant, CORBA_Environment * ev);
/* End interface CORBA_OperationDef */

#ifndef _CORBA_OperationDescription_defined
#define _CORBA_OperationDescription_defined

   typedef struct CORBA_OperationDescription {
      CORBA_Identifier name;

      CORBA_RepositoryId id;

      CORBA_RepositoryId defined_in;

      CORBA_VersionSpec version;

      CORBA_TypeCode result;

      CORBA_OperationMode mode;

      CORBA_ContextIdSeq contexts;

      CORBA_ParDescriptionSeq parameters;

      CORBA_ExcDescriptionSeq exceptions;

   } CORBA_OperationDescription;
#endif				/* !_CORBA_OperationDescription_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_OperationDescription_struct;
#define TC_CORBA_OperationDescription (&TC_CORBA_OperationDescription_struct)
   extern CORBA_OperationDescription *CORBA_OperationDescription__alloc(void);
   extern gpointer CORBA_OperationDescription__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);

#ifndef _CORBA_RepositoryIdSeq_defined
#define _CORBA_RepositoryIdSeq_defined

   typedef struct {
      CORBA_unsigned_long _maximum;
      CORBA_unsigned_long _length;
      CORBA_RepositoryId *_buffer;
      CORBA_boolean _release:1;	/* ORBit-specific; see page 19-14 of CORBA 2.2 spec */
   } CORBA_RepositoryIdSeq;
#endif				/* !_CORBA_RepositoryIdSeq_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_RepositoryIdSeq_struct;
#define TC_CORBA_RepositoryIdSeq (&TC_CORBA_RepositoryIdSeq_struct)
   extern CORBA_RepositoryId *CORBA_sequence_CORBA_RepositoryId_allocbuf(CORBA_unsigned_long len);
   extern CORBA_RepositoryIdSeq *CORBA_RepositoryIdSeq__alloc(void);
   extern gpointer CORBA_RepositoryIdSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);		/* ORBit internals */

#ifndef _CORBA_OpDescriptionSeq_defined
#define _CORBA_OpDescriptionSeq_defined

   typedef struct {
      CORBA_unsigned_long _maximum;
      CORBA_unsigned_long _length;
      CORBA_OperationDescription *_buffer;
      CORBA_boolean _release:1;	/* ORBit-specific; see page 19-14 of CORBA 2.2 spec */
   } CORBA_OpDescriptionSeq;
#endif				/* !_CORBA_OpDescriptionSeq_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_OpDescriptionSeq_struct;
#define TC_CORBA_OpDescriptionSeq (&TC_CORBA_OpDescriptionSeq_struct)
   extern CORBA_OperationDescription *CORBA_sequence_CORBA_OperationDescription_allocbuf(CORBA_unsigned_long len);
   extern CORBA_OpDescriptionSeq *CORBA_OpDescriptionSeq__alloc(void);
   extern gpointer CORBA_OpDescriptionSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);	/* ORBit internals */

#ifndef _CORBA_AttrDescriptionSeq_defined
#define _CORBA_AttrDescriptionSeq_defined

   typedef struct {
      CORBA_unsigned_long _maximum;
      CORBA_unsigned_long _length;
      CORBA_AttributeDescription *_buffer;
      CORBA_boolean _release:1;	/* ORBit-specific; see page 19-14 of CORBA 2.2 spec */
   } CORBA_AttrDescriptionSeq;
#endif				/* !_CORBA_AttrDescriptionSeq_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_AttrDescriptionSeq_struct;
#define TC_CORBA_AttrDescriptionSeq (&TC_CORBA_AttrDescriptionSeq_struct)
   extern CORBA_AttributeDescription *CORBA_sequence_CORBA_AttributeDescription_allocbuf(CORBA_unsigned_long len);
   extern CORBA_AttrDescriptionSeq *CORBA_AttrDescriptionSeq__alloc(void);
   extern gpointer CORBA_AttrDescriptionSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);	/* ORBit internals */

/* Begin interface CORBA_InterfaceDef */

   /* client-side data structures and methods */
#ifndef _CORBA_InterfaceDef_defined
#define _CORBA_InterfaceDef_defined

   typedef CORBA_Object CORBA_InterfaceDef;
#define CORBA_InterfaceDef__free CORBA_Object__free
#endif				/* !_CORBA_InterfaceDef_defined */

   extern CORBA_unsigned_long CORBA_InterfaceDef__classid;
   extern const struct CORBA_TypeCode_struct TC_CORBA_InterfaceDef_struct;
#define TC_CORBA_InterfaceDef (&TC_CORBA_InterfaceDef_struct)
   extern CORBA_InterfaceDefSeq *CORBA_InterfaceDef__get_base_interfaces(CORBA_InterfaceDef _obj, CORBA_Environment * ev);
   extern void CORBA_InterfaceDef__set_base_interfaces(CORBA_InterfaceDef _obj, const CORBA_InterfaceDefSeq * value, CORBA_Environment * ev);

   extern CORBA_boolean CORBA_InterfaceDef_is_a(CORBA_InterfaceDef _obj, const CORBA_RepositoryId interface_id, CORBA_Environment * ev);

#ifndef _CORBA_InterfaceDef_FullInterfaceDescription_defined
#define _CORBA_InterfaceDef_FullInterfaceDescription_defined

   typedef struct CORBA_InterfaceDef_FullInterfaceDescription {
      CORBA_Identifier name;

      CORBA_RepositoryId id;

      CORBA_RepositoryId defined_in;

      CORBA_VersionSpec version;

      CORBA_OpDescriptionSeq operations;

      CORBA_AttrDescriptionSeq attributes;

      CORBA_RepositoryIdSeq base_interfaces;

      CORBA_TypeCode type;

   } CORBA_InterfaceDef_FullInterfaceDescription;
#endif				/* !_CORBA_InterfaceDef_FullInterfaceDescription_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_InterfaceDef_FullInterfaceDescription_struct;
#define TC_CORBA_InterfaceDef_FullInterfaceDescription (&TC_CORBA_InterfaceDef_FullInterfaceDescription_struct)
   extern CORBA_InterfaceDef_FullInterfaceDescription *CORBA_InterfaceDef_FullInterfaceDescription__alloc(void);
   extern gpointer CORBA_InterfaceDef_FullInterfaceDescription__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);

   extern CORBA_InterfaceDef_FullInterfaceDescription *CORBA_InterfaceDef_describe_interface(CORBA_InterfaceDef _obj, CORBA_Environment * ev);

   extern CORBA_AttributeDef CORBA_InterfaceDef_create_attribute(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType type, const CORBA_AttributeMode mode, CORBA_Environment * ev);

   extern CORBA_OperationDef CORBA_InterfaceDef_create_operation(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType result, const CORBA_OperationMode mode, const CORBA_ParDescriptionSeq * params, const CORBA_ExceptionDefSeq * exceptions, const CORBA_ContextIdSeq * contexts, CORBA_Environment * ev);

/* Begin inherited operations for CORBA_InterfaceDef */

/* From interface CORBA_IRObject */
   extern CORBA_DefinitionKind CORBA_InterfaceDef__get_def_kind(CORBA_InterfaceDef _obj, CORBA_Environment * ev);
   extern void CORBA_InterfaceDef_destroy(CORBA_InterfaceDef _obj, CORBA_Environment * ev);
/* From interface CORBA_Container */
   extern CORBA_Contained CORBA_InterfaceDef_lookup(CORBA_InterfaceDef _obj, const CORBA_ScopedName search_name, CORBA_Environment * ev);
   extern CORBA_ContainedSeq *CORBA_InterfaceDef_contents(CORBA_InterfaceDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, CORBA_Environment * ev);
   extern CORBA_ContainedSeq *CORBA_InterfaceDef_lookup_name(CORBA_InterfaceDef _obj, const CORBA_Identifier search_name, const CORBA_long levels_to_search, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, CORBA_Environment * ev);
   extern CORBA_Container_DescriptionSeq *CORBA_InterfaceDef_describe_contents(CORBA_InterfaceDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, const CORBA_long max_returned_objs, CORBA_Environment * ev);
   extern CORBA_ModuleDef CORBA_InterfaceDef_create_module(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, CORBA_Environment * ev);
   extern CORBA_ConstantDef CORBA_InterfaceDef_create_constant(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType type, const CORBA_any * value, CORBA_Environment * ev);
   extern CORBA_StructDef CORBA_InterfaceDef_create_struct(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, CORBA_Environment * ev);
   extern CORBA_UnionDef CORBA_InterfaceDef_create_union(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType discriminator_type, const CORBA_UnionMemberSeq * members, CORBA_Environment * ev);
   extern CORBA_EnumDef CORBA_InterfaceDef_create_enum(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_EnumMemberSeq * members, CORBA_Environment * ev);
   extern CORBA_AliasDef CORBA_InterfaceDef_create_alias(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType original_type, CORBA_Environment * ev);
   extern CORBA_InterfaceDef CORBA_InterfaceDef_create_interface(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_InterfaceDefSeq * base_interfaces, CORBA_Environment * ev);
   extern CORBA_ExceptionDef CORBA_InterfaceDef_create_exception(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, CORBA_Environment * ev);
/* From interface CORBA_Contained */
   extern CORBA_RepositoryId CORBA_InterfaceDef__get_id(CORBA_InterfaceDef _obj, CORBA_Environment * ev);
   extern void CORBA_InterfaceDef__set_id(CORBA_InterfaceDef _obj, const CORBA_RepositoryId value, CORBA_Environment * ev);
   extern CORBA_Identifier CORBA_InterfaceDef__get_name(CORBA_InterfaceDef _obj, CORBA_Environment * ev);
   extern void CORBA_InterfaceDef__set_name(CORBA_InterfaceDef _obj, const CORBA_Identifier value, CORBA_Environment * ev);
   extern CORBA_VersionSpec CORBA_InterfaceDef__get_version(CORBA_InterfaceDef _obj, CORBA_Environment * ev);
   extern void CORBA_InterfaceDef__set_version(CORBA_InterfaceDef _obj, const CORBA_VersionSpec value, CORBA_Environment * ev);
   extern CORBA_Container CORBA_InterfaceDef__get_defined_in(CORBA_InterfaceDef _obj, CORBA_Environment * ev);
   extern CORBA_ScopedName CORBA_InterfaceDef__get_absolute_name(CORBA_InterfaceDef _obj, CORBA_Environment * ev);
   extern CORBA_Repository CORBA_InterfaceDef__get_containing_repository(CORBA_InterfaceDef _obj, CORBA_Environment * ev);
   extern CORBA_Contained_Description *CORBA_InterfaceDef_describe(CORBA_InterfaceDef _obj, CORBA_Environment * ev);
   extern void CORBA_InterfaceDef_move(CORBA_InterfaceDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, CORBA_Environment * ev);
/* From interface CORBA_IDLType */
   extern CORBA_TypeCode CORBA_InterfaceDef__get_type(CORBA_InterfaceDef _obj, CORBA_Environment * ev);
/* End inherited operations for CORBA_InterfaceDef */

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_CORBA_InterfaceDef__epv_defined
#define _POA_CORBA_InterfaceDef__epv_defined

   typedef struct {
      void *_private;
      CORBA_InterfaceDefSeq *(*_get_base_interfaces) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*_set_base_interfaces) (PortableServer_Servant servant, const CORBA_InterfaceDefSeq * value, CORBA_Environment * ev);
       CORBA_boolean(*is_a) (PortableServer_Servant servant, const CORBA_RepositoryId interface_id, CORBA_Environment * ev);
      CORBA_InterfaceDef_FullInterfaceDescription *(*describe_interface) (PortableServer_Servant servant, CORBA_Environment * ev);
       CORBA_AttributeDef(*create_attribute) (PortableServer_Servant servant, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType type, const CORBA_AttributeMode mode, CORBA_Environment * ev);
       CORBA_OperationDef(*create_operation) (PortableServer_Servant servant, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType result, const CORBA_OperationMode mode, const CORBA_ParDescriptionSeq * params, const CORBA_ExceptionDefSeq * exceptions, const CORBA_ContextIdSeq * contexts, CORBA_Environment * ev);
   } POA_CORBA_InterfaceDef__epv;
#endif				/* !_POA_CORBA_InterfaceDef__epv_defined */

#ifndef _POA_CORBA_InterfaceDef__vepv_defined
#define _POA_CORBA_InterfaceDef__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_CORBA_IRObject__epv *CORBA_IRObject_epv;
      POA_CORBA_Container__epv *CORBA_Container_epv;
      POA_CORBA_Contained__epv *CORBA_Contained_epv;
      POA_CORBA_IDLType__epv *CORBA_IDLType_epv;
      POA_CORBA_InterfaceDef__epv *CORBA_InterfaceDef_epv;
   } POA_CORBA_InterfaceDef__vepv;
#endif				/* !_POA_CORBA_InterfaceDef__vepv_defined */

#ifndef _POA_CORBA_InterfaceDef_defined
#define _POA_CORBA_InterfaceDef_defined

   typedef struct {
      void *_private;
      POA_CORBA_InterfaceDef__vepv *vepv;
   } POA_CORBA_InterfaceDef;
#endif				/* !_POA_CORBA_InterfaceDef_defined */

   extern void POA_CORBA_InterfaceDef__init(POA_CORBA_InterfaceDef * servant, CORBA_Environment * ev);
   extern void POA_CORBA_InterfaceDef__fini(POA_CORBA_InterfaceDef * servant, CORBA_Environment * ev);
/* End interface CORBA_InterfaceDef */

#ifndef _CORBA_InterfaceDescription_defined
#define _CORBA_InterfaceDescription_defined

   typedef struct CORBA_InterfaceDescription {
      CORBA_Identifier name;

      CORBA_RepositoryId id;

      CORBA_RepositoryId defined_in;

      CORBA_VersionSpec version;

      CORBA_RepositoryIdSeq base_interfaces;

   } CORBA_InterfaceDescription;
#endif				/* !_CORBA_InterfaceDescription_defined */

   extern const struct CORBA_TypeCode_struct TC_CORBA_InterfaceDescription_struct;
#define TC_CORBA_InterfaceDescription (&TC_CORBA_InterfaceDescription_struct)
   extern CORBA_InterfaceDescription *CORBA_InterfaceDescription__alloc(void);
   extern gpointer CORBA_InterfaceDescription__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);

/* End CORBA module CORBA */

#ifdef __cplusplus
}

#endif				/* __cplusplus */
#undef ORBIT_IDL_SERIAL
