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

#include "interface_repository.h"
#define GET_ATOM(x) G_STMT_START{ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->decoder(&x, (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur), sizeof(x)); ((guchar *)GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(x); }G_STMT_END

/***************** Begin module CORBA ***************/
static const CORBA_TypeCode anon_subtypes_array7[] =
{(CORBA_TypeCode) & TC_CORBA_string_struct};
const struct CORBA_TypeCode_struct TC_CORBA_Identifier_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_alias, "Identifier", "IDL:omg.org/CORBA/Identifier:1.0",
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array7,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const CORBA_TypeCode anon_subtypes_array16[] =
{(CORBA_TypeCode) & TC_CORBA_string_struct};
const struct CORBA_TypeCode_struct TC_CORBA_ScopedName_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_alias, "ScopedName", "IDL:omg.org/CORBA/ScopedName:1.0",
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array16,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const CORBA_TypeCode anon_subtypes_array25[] =
{(CORBA_TypeCode) & TC_CORBA_string_struct};
const struct CORBA_TypeCode_struct TC_CORBA_RepositoryId_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_alias, "RepositoryId", "IDL:omg.org/CORBA/RepositoryId:1.0",
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array25,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const char *anon_subnames_array28[] =
{"dk_none", "dk_all", "dk_Attribute", "dk_Constant", "dk_Exception", "dk_Interface", "dk_Module", "dk_Operation", "dk_Typedef", "dk_Alias", "dk_Struct", "dk_Union", "dk_Enum", "dk_Primitive", "dk_String", "dk_Sequence", "dk_Array", "dk_Repository", "dk_Wstring", "dk_Fixed"};
const struct CORBA_TypeCode_struct TC_CORBA_DefinitionKind_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_enum, "DefinitionKind", "IDL:omg.org/CORBA/DefinitionKind:1.0",
   0, 20,
   (char **) anon_subnames_array28,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_IRObject__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_IRObject_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "IRObject", "IDL:omg.org/CORBA/IRObject:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const CORBA_TypeCode anon_subtypes_array42[] =
{(CORBA_TypeCode) & TC_CORBA_string_struct};
const struct CORBA_TypeCode_struct TC_CORBA_VersionSpec_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_alias, "VersionSpec", "IDL:omg.org/CORBA/VersionSpec:1.0",
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array42,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_Contained__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_Contained_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "Contained", "IDL:omg.org/CORBA/Contained:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const char *anon_subnames_array49[] =
{"kind", "value"};
static const CORBA_TypeCode anon_subtypes_array50[] =
{(CORBA_TypeCode) & TC_CORBA_DefinitionKind_struct, (CORBA_TypeCode) & TC_CORBA_any_struct};
const struct CORBA_TypeCode_struct TC_CORBA_Contained_Description_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_struct, "Description", "IDL:omg.org/CORBA/Contained/Description:1.0",
   0, 2,
   (char **) anon_subnames_array49,
   (CORBA_TypeCode *) anon_subtypes_array50,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_Contained_Description__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   struct CORBA_Contained_Description *var = mem; {
      CORBA_any__free(&var->value, NULL, free_strings);
   }
   return (gpointer) (((char *) mem) + sizeof(struct CORBA_Contained_Description));
}
struct CORBA_Contained_Description *
CORBA_Contained_Description__alloc(void)
{
   return ORBit_alloc(sizeof(struct CORBA_Contained_Description), (ORBit_free_childvals) CORBA_Contained_Description__free, GUINT_TO_POINTER(1));
}

gpointer 
CORBA_InterfaceDefSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   CORBA_InterfaceDefSeq *val = mem;

   if (val->_release)
      ORBit_free(val->_buffer, free_strings);
   return (gpointer) (((char *) mem) + sizeof(CORBA_InterfaceDefSeq));
}

#ifndef HAVE_ALLOCBUF_CORBA_InterfaceDef
#define HAVE_ALLOCBUF_CORBA_InterfaceDef 1
CORBA_InterfaceDef *
CORBA_sequence_CORBA_InterfaceDef_allocbuf(CORBA_unsigned_long len)
{
   return ORBit_alloc(sizeof(CORBA_InterfaceDef) * len, (ORBit_free_childvals) CORBA_InterfaceDef__free, GUINT_TO_POINTER(len));
}
#endif

CORBA_InterfaceDefSeq *
CORBA_InterfaceDefSeq__alloc(void)
{
   CORBA_InterfaceDefSeq *retval;

   retval = ORBit_alloc(sizeof(CORBA_InterfaceDefSeq), (ORBit_free_childvals) CORBA_InterfaceDefSeq__free, GUINT_TO_POINTER(1));
   retval->_maximum = 0;
   retval->_length = 0;
   retval->_release = CORBA_TRUE;
   retval->_buffer = NULL;
   return retval;
}

static const CORBA_TypeCode anon_subtypes_array60[] =
{(CORBA_TypeCode) & TC_CORBA_InterfaceDef_struct};
const struct CORBA_TypeCode_struct anonTC_57_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_sequence, NULL, NULL,
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array60,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const CORBA_TypeCode anon_subtypes_array64[] =
{(CORBA_TypeCode) & anonTC_57_struct};
const struct CORBA_TypeCode_struct TC_CORBA_InterfaceDefSeq_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
 CORBA_tk_alias, "InterfaceDefSeq", "IDL:omg.org/CORBA/InterfaceDefSeq:1.0",
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array64,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_ContainedSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   CORBA_ContainedSeq *val = mem;

   if (val->_release)
      ORBit_free(val->_buffer, free_strings);
   return (gpointer) (((char *) mem) + sizeof(CORBA_ContainedSeq));
}

#ifndef HAVE_ALLOCBUF_CORBA_Contained
#define HAVE_ALLOCBUF_CORBA_Contained 1
CORBA_Contained *
CORBA_sequence_CORBA_Contained_allocbuf(CORBA_unsigned_long len)
{
   return ORBit_alloc(sizeof(CORBA_Contained) * len, (ORBit_free_childvals) CORBA_Contained__free, GUINT_TO_POINTER(len));
}
#endif

CORBA_ContainedSeq *
CORBA_ContainedSeq__alloc(void)
{
   CORBA_ContainedSeq *retval;

   retval = ORBit_alloc(sizeof(CORBA_ContainedSeq), (ORBit_free_childvals) CORBA_ContainedSeq__free, GUINT_TO_POINTER(1));
   retval->_maximum = 0;
   retval->_length = 0;
   retval->_release = CORBA_TRUE;
   retval->_buffer = NULL;
   return retval;
}

static const CORBA_TypeCode anon_subtypes_array74[] =
{(CORBA_TypeCode) & TC_CORBA_Contained_struct};
const struct CORBA_TypeCode_struct anonTC_71_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_sequence, NULL, NULL,
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array74,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const CORBA_TypeCode anon_subtypes_array78[] =
{(CORBA_TypeCode) & anonTC_71_struct};
const struct CORBA_TypeCode_struct TC_CORBA_ContainedSeq_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_alias, "ContainedSeq", "IDL:omg.org/CORBA/ContainedSeq:1.0",
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array78,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const char *anon_subnames_array81[] =
{"name", "type", "type_def"};
static const CORBA_TypeCode anon_subtypes_array82[] =
{(CORBA_TypeCode) & TC_CORBA_Identifier_struct, (CORBA_TypeCode) & TC_CORBA_TypeCode_struct, (CORBA_TypeCode) & TC_Object_struct};
const struct CORBA_TypeCode_struct TC_CORBA_StructMember_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_struct, "StructMember", "IDL:omg.org/CORBA/StructMember:1.0",
   0, 3,
   (char **) anon_subnames_array81,
   (CORBA_TypeCode *) anon_subtypes_array82,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_StructMember__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   struct CORBA_StructMember *var = mem;

   if (free_strings) {
      CORBA_Identifier__free(&var->name, NULL, free_strings);
   } {
      CORBA_TypeCode__free(&var->type, NULL, free_strings);
   }
   {
      CORBA_IDLType__free(&var->type_def, NULL, free_strings);
   }
   return (gpointer) (((char *) mem) + sizeof(struct CORBA_StructMember));
}
struct CORBA_StructMember *
CORBA_StructMember__alloc(void)
{
   return ORBit_alloc(sizeof(struct CORBA_StructMember), (ORBit_free_childvals) CORBA_StructMember__free, GUINT_TO_POINTER(1));
}

gpointer 
CORBA_StructMemberSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   CORBA_StructMemberSeq *val = mem;

   if (val->_release)
      ORBit_free(val->_buffer, free_strings);
   return (gpointer) (((char *) mem) + sizeof(CORBA_StructMemberSeq));
}

#ifndef HAVE_ALLOCBUF_CORBA_StructMember
#define HAVE_ALLOCBUF_CORBA_StructMember 1
CORBA_StructMember *
CORBA_sequence_CORBA_StructMember_allocbuf(CORBA_unsigned_long len)
{
   return ORBit_alloc(sizeof(CORBA_StructMember) * len, (ORBit_free_childvals) CORBA_StructMember__free, GUINT_TO_POINTER(len));
}
#endif

CORBA_StructMemberSeq *
CORBA_StructMemberSeq__alloc(void)
{
   CORBA_StructMemberSeq *retval;

   retval = ORBit_alloc(sizeof(CORBA_StructMemberSeq), (ORBit_free_childvals) CORBA_StructMemberSeq__free, GUINT_TO_POINTER(1));
   retval->_maximum = 0;
   retval->_length = 0;
   retval->_release = CORBA_TRUE;
   retval->_buffer = NULL;
   return retval;
}

static const CORBA_TypeCode anon_subtypes_array92[] =
{(CORBA_TypeCode) & TC_CORBA_StructMember_struct};
const struct CORBA_TypeCode_struct anonTC_89_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_sequence, NULL, NULL,
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array92,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const CORBA_TypeCode anon_subtypes_array96[] =
{(CORBA_TypeCode) & anonTC_89_struct};
const struct CORBA_TypeCode_struct TC_CORBA_StructMemberSeq_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
 CORBA_tk_alias, "StructMemberSeq", "IDL:omg.org/CORBA/StructMemberSeq:1.0",
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array96,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const char *anon_subnames_array99[] =
{"name", "label", "type", "type_def"};
static const CORBA_TypeCode anon_subtypes_array100[] =
{(CORBA_TypeCode) & TC_CORBA_Identifier_struct, (CORBA_TypeCode) & TC_CORBA_any_struct, (CORBA_TypeCode) & TC_CORBA_TypeCode_struct, (CORBA_TypeCode) & TC_Object_struct};
const struct CORBA_TypeCode_struct TC_CORBA_UnionMember_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_struct, "UnionMember", "IDL:omg.org/CORBA/UnionMember:1.0",
   0, 4,
   (char **) anon_subnames_array99,
   (CORBA_TypeCode *) anon_subtypes_array100,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_UnionMember__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   struct CORBA_UnionMember *var = mem;

   if (free_strings) {
      CORBA_Identifier__free(&var->name, NULL, free_strings);
   } {
      CORBA_any__free(&var->label, NULL, free_strings);
   }
   {
      CORBA_TypeCode__free(&var->type, NULL, free_strings);
   }
   {
      CORBA_IDLType__free(&var->type_def, NULL, free_strings);
   }
   return (gpointer) (((char *) mem) + sizeof(struct CORBA_UnionMember));
}
struct CORBA_UnionMember *
CORBA_UnionMember__alloc(void)
{
   return ORBit_alloc(sizeof(struct CORBA_UnionMember), (ORBit_free_childvals) CORBA_UnionMember__free, GUINT_TO_POINTER(1));
}

gpointer 
CORBA_UnionMemberSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   CORBA_UnionMemberSeq *val = mem;

   if (val->_release)
      ORBit_free(val->_buffer, free_strings);
   return (gpointer) (((char *) mem) + sizeof(CORBA_UnionMemberSeq));
}

#ifndef HAVE_ALLOCBUF_CORBA_UnionMember
#define HAVE_ALLOCBUF_CORBA_UnionMember 1
CORBA_UnionMember *
CORBA_sequence_CORBA_UnionMember_allocbuf(CORBA_unsigned_long len)
{
   return ORBit_alloc(sizeof(CORBA_UnionMember) * len, (ORBit_free_childvals) CORBA_UnionMember__free, GUINT_TO_POINTER(len));
}
#endif

CORBA_UnionMemberSeq *
CORBA_UnionMemberSeq__alloc(void)
{
   CORBA_UnionMemberSeq *retval;

   retval = ORBit_alloc(sizeof(CORBA_UnionMemberSeq), (ORBit_free_childvals) CORBA_UnionMemberSeq__free, GUINT_TO_POINTER(1));
   retval->_maximum = 0;
   retval->_length = 0;
   retval->_release = CORBA_TRUE;
   retval->_buffer = NULL;
   return retval;
}

static const CORBA_TypeCode anon_subtypes_array110[] =
{(CORBA_TypeCode) & TC_CORBA_UnionMember_struct};
const struct CORBA_TypeCode_struct anonTC_107_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_sequence, NULL, NULL,
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array110,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const CORBA_TypeCode anon_subtypes_array114[] =
{(CORBA_TypeCode) & anonTC_107_struct};
const struct CORBA_TypeCode_struct TC_CORBA_UnionMemberSeq_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_alias, "UnionMemberSeq", "IDL:omg.org/CORBA/UnionMemberSeq:1.0",
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array114,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_EnumMemberSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   CORBA_EnumMemberSeq *val = mem;

   if (val->_release)
      ORBit_free(val->_buffer, free_strings);
   return (gpointer) (((char *) mem) + sizeof(CORBA_EnumMemberSeq));
}

#ifndef HAVE_ALLOCBUF_CORBA_Identifier
#define HAVE_ALLOCBUF_CORBA_Identifier 1
CORBA_Identifier *
CORBA_sequence_CORBA_Identifier_allocbuf(CORBA_unsigned_long len)
{
   return ORBit_alloc(sizeof(CORBA_Identifier) * len, (ORBit_free_childvals) CORBA_Identifier__free, GUINT_TO_POINTER(len));
}
#endif

CORBA_EnumMemberSeq *
CORBA_EnumMemberSeq__alloc(void)
{
   CORBA_EnumMemberSeq *retval;

   retval = ORBit_alloc(sizeof(CORBA_EnumMemberSeq), (ORBit_free_childvals) CORBA_EnumMemberSeq__free, GUINT_TO_POINTER(1));
   retval->_maximum = 0;
   retval->_length = 0;
   retval->_release = CORBA_TRUE;
   retval->_buffer = NULL;
   return retval;
}

static const CORBA_TypeCode anon_subtypes_array124[] =
{(CORBA_TypeCode) & TC_CORBA_Identifier_struct};
const struct CORBA_TypeCode_struct anonTC_121_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_sequence, NULL, NULL,
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array124,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const CORBA_TypeCode anon_subtypes_array128[] =
{(CORBA_TypeCode) & anonTC_121_struct};
const struct CORBA_TypeCode_struct TC_CORBA_EnumMemberSeq_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_alias, "EnumMemberSeq", "IDL:omg.org/CORBA/EnumMemberSeq:1.0",
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array128,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_Container__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_Container_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "Container", "IDL:omg.org/CORBA/Container:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const char *anon_subnames_array135[] =
{"contained_object", "kind", "value"};
static const CORBA_TypeCode anon_subtypes_array136[] =
{(CORBA_TypeCode) & TC_Object_struct, (CORBA_TypeCode) & TC_CORBA_DefinitionKind_struct, (CORBA_TypeCode) & TC_CORBA_any_struct};
const struct CORBA_TypeCode_struct TC_CORBA_Container_Description_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_struct, "Description", "IDL:omg.org/CORBA/Container/Description:1.0",
   0, 3,
   (char **) anon_subnames_array135,
   (CORBA_TypeCode *) anon_subtypes_array136,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_Container_Description__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   struct CORBA_Container_Description *var = mem; {
      CORBA_Contained__free(&var->contained_object, NULL, free_strings);
   }
   {
      CORBA_any__free(&var->value, NULL, free_strings);
   }
   return (gpointer) (((char *) mem) + sizeof(struct CORBA_Container_Description));
}
struct CORBA_Container_Description *
CORBA_Container_Description__alloc(void)
{
   return ORBit_alloc(sizeof(struct CORBA_Container_Description), (ORBit_free_childvals) CORBA_Container_Description__free, GUINT_TO_POINTER(1));
}

gpointer 
CORBA_Container_DescriptionSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   CORBA_Container_DescriptionSeq *val = mem;

   if (val->_release)
      ORBit_free(val->_buffer, free_strings);
   return (gpointer) (((char *) mem) + sizeof(CORBA_Container_DescriptionSeq));
}

#ifndef HAVE_ALLOCBUF_CORBA_Container_Description
#define HAVE_ALLOCBUF_CORBA_Container_Description 1
CORBA_Container_Description *
CORBA_sequence_CORBA_Container_Description_allocbuf(CORBA_unsigned_long len)
{
   return ORBit_alloc(sizeof(CORBA_Container_Description) * len, (ORBit_free_childvals) CORBA_Container_Description__free, GUINT_TO_POINTER(len));
}
#endif

CORBA_Container_DescriptionSeq *
CORBA_Container_DescriptionSeq__alloc(void)
{
   CORBA_Container_DescriptionSeq *retval;

   retval = ORBit_alloc(sizeof(CORBA_Container_DescriptionSeq), (ORBit_free_childvals) CORBA_Container_DescriptionSeq__free, GUINT_TO_POINTER(1));
   retval->_maximum = 0;
   retval->_length = 0;
   retval->_release = CORBA_TRUE;
   retval->_buffer = NULL;
   return retval;
}

static const CORBA_TypeCode anon_subtypes_array146[] =
{(CORBA_TypeCode) & TC_CORBA_Container_Description_struct};
const struct CORBA_TypeCode_struct anonTC_143_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_sequence, NULL, NULL,
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array146,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const CORBA_TypeCode anon_subtypes_array150[] =
{(CORBA_TypeCode) & anonTC_143_struct};
const struct CORBA_TypeCode_struct TC_CORBA_Container_DescriptionSeq_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_alias, "DescriptionSeq", "IDL:omg.org/CORBA/Container/DescriptionSeq:1.0",
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array150,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_IDLType__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_IDLType_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "IDLType", "IDL:omg.org/CORBA/IDLType:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const char *anon_subnames_array157[] =
{"pk_null", "pk_void", "pk_short", "pk_long", "pk_ushort", "pk_ulong", "pk_float", "pk_double", "pk_boolean", "pk_char", "pk_octet", "pk_any", "pk_TypeCode", "pk_Principal", "pk_string", "pk_objref", "pk_longlong", "pk_ulonglong", "pk_longdouble", "pk_wchar", "pk_wstring"};
const struct CORBA_TypeCode_struct TC_CORBA_PrimitiveKind_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_enum, "PrimitiveKind", "IDL:omg.org/CORBA/PrimitiveKind:1.0",
   0, 21,
   (char **) anon_subnames_array157,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_Repository__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_Repository_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "Repository", "IDL:omg.org/CORBA/Repository:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_ModuleDef__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_ModuleDef_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "ModuleDef", "IDL:omg.org/CORBA/ModuleDef:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const char *anon_subnames_array169[] =
{"name", "id", "defined_in", "version"};
static const CORBA_TypeCode anon_subtypes_array170[] =
{(CORBA_TypeCode) & TC_CORBA_Identifier_struct, (CORBA_TypeCode) & TC_CORBA_RepositoryId_struct, (CORBA_TypeCode) & TC_CORBA_RepositoryId_struct, (CORBA_TypeCode) & TC_CORBA_VersionSpec_struct};
const struct CORBA_TypeCode_struct TC_CORBA_ModuleDescription_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_struct, "ModuleDescription", "IDL:omg.org/CORBA/ModuleDescription:1.0",
   0, 4,
   (char **) anon_subnames_array169,
   (CORBA_TypeCode *) anon_subtypes_array170,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_ModuleDescription__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   struct CORBA_ModuleDescription *var = mem;

   if (free_strings) {
      CORBA_Identifier__free(&var->name, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_RepositoryId__free(&var->id, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_RepositoryId__free(&var->defined_in, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_VersionSpec__free(&var->version, NULL, free_strings);
   }
   return (gpointer) (((char *) mem) + sizeof(struct CORBA_ModuleDescription));
}
struct CORBA_ModuleDescription *
CORBA_ModuleDescription__alloc(void)
{
   return ORBit_alloc(sizeof(struct CORBA_ModuleDescription), (ORBit_free_childvals) CORBA_ModuleDescription__free, GUINT_TO_POINTER(1));
}

CORBA_unsigned_long CORBA_ConstantDef__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_ConstantDef_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "ConstantDef", "IDL:omg.org/CORBA/ConstantDef:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const char *anon_subnames_array177[] =
{"name", "id", "defined_in", "version", "type", "value"};
static const CORBA_TypeCode anon_subtypes_array178[] =
{(CORBA_TypeCode) & TC_CORBA_Identifier_struct, (CORBA_TypeCode) & TC_CORBA_RepositoryId_struct, (CORBA_TypeCode) & TC_CORBA_RepositoryId_struct, (CORBA_TypeCode) & TC_CORBA_VersionSpec_struct, (CORBA_TypeCode) & TC_CORBA_TypeCode_struct, (CORBA_TypeCode) & TC_CORBA_any_struct};
const struct CORBA_TypeCode_struct TC_CORBA_ConstantDescription_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_struct, "ConstantDescription", "IDL:omg.org/CORBA/ConstantDescription:1.0",
   0, 6,
   (char **) anon_subnames_array177,
   (CORBA_TypeCode *) anon_subtypes_array178,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_ConstantDescription__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   struct CORBA_ConstantDescription *var = mem;

   if (free_strings) {
      CORBA_Identifier__free(&var->name, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_RepositoryId__free(&var->id, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_RepositoryId__free(&var->defined_in, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_VersionSpec__free(&var->version, NULL, free_strings);
   } {
      CORBA_TypeCode__free(&var->type, NULL, free_strings);
   }
   {
      CORBA_any__free(&var->value, NULL, free_strings);
   }
   return (gpointer) (((char *) mem) + sizeof(struct CORBA_ConstantDescription));
}
struct CORBA_ConstantDescription *
CORBA_ConstantDescription__alloc(void)
{
   return ORBit_alloc(sizeof(struct CORBA_ConstantDescription), (ORBit_free_childvals) CORBA_ConstantDescription__free, GUINT_TO_POINTER(1));
}

CORBA_unsigned_long CORBA_TypedefDef__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_TypedefDef_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "TypedefDef", "IDL:omg.org/CORBA/TypedefDef:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const char *anon_subnames_array185[] =
{"name", "id", "defined_in", "version", "type"};
static const CORBA_TypeCode anon_subtypes_array186[] =
{(CORBA_TypeCode) & TC_CORBA_Identifier_struct, (CORBA_TypeCode) & TC_CORBA_RepositoryId_struct, (CORBA_TypeCode) & TC_CORBA_RepositoryId_struct, (CORBA_TypeCode) & TC_CORBA_VersionSpec_struct, (CORBA_TypeCode) & TC_CORBA_TypeCode_struct};
const struct CORBA_TypeCode_struct TC_CORBA_TypeDescription_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
CORBA_tk_struct, "TypeDescription", "IDL:omg.org/CORBA/TypeDescription:1.0",
   0, 5,
   (char **) anon_subnames_array185,
   (CORBA_TypeCode *) anon_subtypes_array186,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_TypeDescription__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   struct CORBA_TypeDescription *var = mem;

   if (free_strings) {
      CORBA_Identifier__free(&var->name, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_RepositoryId__free(&var->id, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_RepositoryId__free(&var->defined_in, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_VersionSpec__free(&var->version, NULL, free_strings);
   } {
      CORBA_TypeCode__free(&var->type, NULL, free_strings);
   }
   return (gpointer) (((char *) mem) + sizeof(struct CORBA_TypeDescription));
}
struct CORBA_TypeDescription *
CORBA_TypeDescription__alloc(void)
{
   return ORBit_alloc(sizeof(struct CORBA_TypeDescription), (ORBit_free_childvals) CORBA_TypeDescription__free, GUINT_TO_POINTER(1));
}

CORBA_unsigned_long CORBA_StructDef__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_StructDef_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "StructDef", "IDL:omg.org/CORBA/StructDef:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_UnionDef__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_UnionDef_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "UnionDef", "IDL:omg.org/CORBA/UnionDef:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_EnumDef__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_EnumDef_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "EnumDef", "IDL:omg.org/CORBA/EnumDef:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_AliasDef__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_AliasDef_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "AliasDef", "IDL:omg.org/CORBA/AliasDef:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_PrimitiveDef__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_PrimitiveDef_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "PrimitiveDef", "IDL:omg.org/CORBA/PrimitiveDef:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_StringDef__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_StringDef_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "StringDef", "IDL:omg.org/CORBA/StringDef:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_WstringDef__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_WstringDef_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "WstringDef", "IDL:omg.org/CORBA/WstringDef:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_FixedDef__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_FixedDef_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "FixedDef", "IDL:omg.org/CORBA/FixedDef:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_SequenceDef__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_SequenceDef_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "SequenceDef", "IDL:omg.org/CORBA/SequenceDef:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_ArrayDef__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_ArrayDef_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "ArrayDef", "IDL:omg.org/CORBA/ArrayDef:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_ExceptionDef__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_ExceptionDef_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "ExceptionDef", "IDL:omg.org/CORBA/ExceptionDef:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const char *anon_subnames_array233[] =
{"name", "id", "defined_in", "version", "type"};
static const CORBA_TypeCode anon_subtypes_array234[] =
{(CORBA_TypeCode) & TC_CORBA_Identifier_struct, (CORBA_TypeCode) & TC_CORBA_RepositoryId_struct, (CORBA_TypeCode) & TC_CORBA_RepositoryId_struct, (CORBA_TypeCode) & TC_CORBA_VersionSpec_struct, (CORBA_TypeCode) & TC_CORBA_TypeCode_struct};
const struct CORBA_TypeCode_struct TC_CORBA_ExceptionDescription_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_struct, "ExceptionDescription", "IDL:omg.org/CORBA/ExceptionDescription:1.0",
   0, 5,
   (char **) anon_subnames_array233,
   (CORBA_TypeCode *) anon_subtypes_array234,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_ExceptionDescription__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   struct CORBA_ExceptionDescription *var = mem;

   if (free_strings) {
      CORBA_Identifier__free(&var->name, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_RepositoryId__free(&var->id, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_RepositoryId__free(&var->defined_in, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_VersionSpec__free(&var->version, NULL, free_strings);
   } {
      CORBA_TypeCode__free(&var->type, NULL, free_strings);
   }
   return (gpointer) (((char *) mem) + sizeof(struct CORBA_ExceptionDescription));
}
struct CORBA_ExceptionDescription *
CORBA_ExceptionDescription__alloc(void)
{
   return ORBit_alloc(sizeof(struct CORBA_ExceptionDescription), (ORBit_free_childvals) CORBA_ExceptionDescription__free, GUINT_TO_POINTER(1));
}

static const char *anon_subnames_array237[] =
{"ATTR_NORMAL", "ATTR_READONLY"};
const struct CORBA_TypeCode_struct TC_CORBA_AttributeMode_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_enum, "AttributeMode", "IDL:omg.org/CORBA/AttributeMode:1.0",
   0, 2,
   (char **) anon_subnames_array237,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_AttributeDef__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_AttributeDef_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "AttributeDef", "IDL:omg.org/CORBA/AttributeDef:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const char *anon_subnames_array245[] =
{"name", "id", "defined_in", "version", "type", "mode"};
static const CORBA_TypeCode anon_subtypes_array246[] =
{(CORBA_TypeCode) & TC_CORBA_Identifier_struct, (CORBA_TypeCode) & TC_CORBA_RepositoryId_struct, (CORBA_TypeCode) & TC_CORBA_RepositoryId_struct, (CORBA_TypeCode) & TC_CORBA_VersionSpec_struct, (CORBA_TypeCode) & TC_CORBA_TypeCode_struct, (CORBA_TypeCode) & TC_CORBA_AttributeMode_struct};
const struct CORBA_TypeCode_struct TC_CORBA_AttributeDescription_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_struct, "AttributeDescription", "IDL:omg.org/CORBA/AttributeDescription:1.0",
   0, 6,
   (char **) anon_subnames_array245,
   (CORBA_TypeCode *) anon_subtypes_array246,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_AttributeDescription__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   struct CORBA_AttributeDescription *var = mem;

   if (free_strings) {
      CORBA_Identifier__free(&var->name, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_RepositoryId__free(&var->id, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_RepositoryId__free(&var->defined_in, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_VersionSpec__free(&var->version, NULL, free_strings);
   } {
      CORBA_TypeCode__free(&var->type, NULL, free_strings);
   }
   return (gpointer) (((char *) mem) + sizeof(struct CORBA_AttributeDescription));
}
struct CORBA_AttributeDescription *
CORBA_AttributeDescription__alloc(void)
{
   return ORBit_alloc(sizeof(struct CORBA_AttributeDescription), (ORBit_free_childvals) CORBA_AttributeDescription__free, GUINT_TO_POINTER(1));
}

static const char *anon_subnames_array249[] =
{"OP_NORMAL", "OP_ONEWAY"};
const struct CORBA_TypeCode_struct TC_CORBA_OperationMode_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_enum, "OperationMode", "IDL:omg.org/CORBA/OperationMode:1.0",
   0, 2,
   (char **) anon_subnames_array249,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const char *anon_subnames_array253[] =
{"PARAM_IN", "PARAM_OUT", "PARAM_INOUT"};
const struct CORBA_TypeCode_struct TC_CORBA_ParameterMode_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_enum, "ParameterMode", "IDL:omg.org/CORBA/ParameterMode:1.0",
   0, 3,
   (char **) anon_subnames_array253,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const char *anon_subnames_array257[] =
{"name", "type", "type_def", "mode"};
static const CORBA_TypeCode anon_subtypes_array258[] =
{(CORBA_TypeCode) & TC_CORBA_Identifier_struct, (CORBA_TypeCode) & TC_CORBA_TypeCode_struct, (CORBA_TypeCode) & TC_Object_struct, (CORBA_TypeCode) & TC_CORBA_ParameterMode_struct};
const struct CORBA_TypeCode_struct TC_CORBA_ParameterDescription_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_struct, "ParameterDescription", "IDL:omg.org/CORBA/ParameterDescription:1.0",
   0, 4,
   (char **) anon_subnames_array257,
   (CORBA_TypeCode *) anon_subtypes_array258,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_ParameterDescription__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   struct CORBA_ParameterDescription *var = mem;

   if (free_strings) {
      CORBA_Identifier__free(&var->name, NULL, free_strings);
   } {
      CORBA_TypeCode__free(&var->type, NULL, free_strings);
   }
   {
      CORBA_IDLType__free(&var->type_def, NULL, free_strings);
   }
   return (gpointer) (((char *) mem) + sizeof(struct CORBA_ParameterDescription));
}
struct CORBA_ParameterDescription *
CORBA_ParameterDescription__alloc(void)
{
   return ORBit_alloc(sizeof(struct CORBA_ParameterDescription), (ORBit_free_childvals) CORBA_ParameterDescription__free, GUINT_TO_POINTER(1));
}

gpointer 
CORBA_ParDescriptionSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   CORBA_ParDescriptionSeq *val = mem;

   if (val->_release)
      ORBit_free(val->_buffer, free_strings);
   return (gpointer) (((char *) mem) + sizeof(CORBA_ParDescriptionSeq));
}

#ifndef HAVE_ALLOCBUF_CORBA_ParameterDescription
#define HAVE_ALLOCBUF_CORBA_ParameterDescription 1
CORBA_ParameterDescription *
CORBA_sequence_CORBA_ParameterDescription_allocbuf(CORBA_unsigned_long len)
{
   return ORBit_alloc(sizeof(CORBA_ParameterDescription) * len, (ORBit_free_childvals) CORBA_ParameterDescription__free, GUINT_TO_POINTER(len));
}
#endif

CORBA_ParDescriptionSeq *
CORBA_ParDescriptionSeq__alloc(void)
{
   CORBA_ParDescriptionSeq *retval;

   retval = ORBit_alloc(sizeof(CORBA_ParDescriptionSeq), (ORBit_free_childvals) CORBA_ParDescriptionSeq__free, GUINT_TO_POINTER(1));
   retval->_maximum = 0;
   retval->_length = 0;
   retval->_release = CORBA_TRUE;
   retval->_buffer = NULL;
   return retval;
}

static const CORBA_TypeCode anon_subtypes_array268[] =
{(CORBA_TypeCode) & TC_CORBA_ParameterDescription_struct};
const struct CORBA_TypeCode_struct anonTC_265_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_sequence, NULL, NULL,
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array268,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const CORBA_TypeCode anon_subtypes_array272[] =
{(CORBA_TypeCode) & anonTC_265_struct};
const struct CORBA_TypeCode_struct TC_CORBA_ParDescriptionSeq_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_alias, "ParDescriptionSeq", "IDL:omg.org/CORBA/ParDescriptionSeq:1.0",
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array272,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const CORBA_TypeCode anon_subtypes_array281[] =
{(CORBA_TypeCode) & TC_CORBA_Identifier_struct};
const struct CORBA_TypeCode_struct TC_CORBA_ContextIdentifier_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_alias, "ContextIdentifier", "IDL:omg.org/CORBA/ContextIdentifier:1.0",
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array281,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_ContextIdSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   CORBA_ContextIdSeq *val = mem;

   if (val->_release)
      ORBit_free(val->_buffer, free_strings);
   return (gpointer) (((char *) mem) + sizeof(CORBA_ContextIdSeq));
}

#ifndef HAVE_ALLOCBUF_CORBA_ContextIdentifier
#define HAVE_ALLOCBUF_CORBA_ContextIdentifier 1
CORBA_ContextIdentifier *
CORBA_sequence_CORBA_ContextIdentifier_allocbuf(CORBA_unsigned_long len)
{
   return ORBit_alloc(sizeof(CORBA_ContextIdentifier) * len, (ORBit_free_childvals) CORBA_ContextIdentifier__free, GUINT_TO_POINTER(len));
}
#endif

CORBA_ContextIdSeq *
CORBA_ContextIdSeq__alloc(void)
{
   CORBA_ContextIdSeq *retval;

   retval = ORBit_alloc(sizeof(CORBA_ContextIdSeq), (ORBit_free_childvals) CORBA_ContextIdSeq__free, GUINT_TO_POINTER(1));
   retval->_maximum = 0;
   retval->_length = 0;
   retval->_release = CORBA_TRUE;
   retval->_buffer = NULL;
   return retval;
}

static const CORBA_TypeCode anon_subtypes_array291[] =
{(CORBA_TypeCode) & TC_CORBA_ContextIdentifier_struct};
const struct CORBA_TypeCode_struct anonTC_288_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_sequence, NULL, NULL,
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array291,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const CORBA_TypeCode anon_subtypes_array295[] =
{(CORBA_TypeCode) & anonTC_288_struct};
const struct CORBA_TypeCode_struct TC_CORBA_ContextIdSeq_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_alias, "ContextIdSeq", "IDL:omg.org/CORBA/ContextIdSeq:1.0",
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array295,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_ExceptionDefSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   CORBA_ExceptionDefSeq *val = mem;

   if (val->_release)
      ORBit_free(val->_buffer, free_strings);
   return (gpointer) (((char *) mem) + sizeof(CORBA_ExceptionDefSeq));
}

#ifndef HAVE_ALLOCBUF_CORBA_ExceptionDef
#define HAVE_ALLOCBUF_CORBA_ExceptionDef 1
CORBA_ExceptionDef *
CORBA_sequence_CORBA_ExceptionDef_allocbuf(CORBA_unsigned_long len)
{
   return ORBit_alloc(sizeof(CORBA_ExceptionDef) * len, (ORBit_free_childvals) CORBA_ExceptionDef__free, GUINT_TO_POINTER(len));
}
#endif

CORBA_ExceptionDefSeq *
CORBA_ExceptionDefSeq__alloc(void)
{
   CORBA_ExceptionDefSeq *retval;

   retval = ORBit_alloc(sizeof(CORBA_ExceptionDefSeq), (ORBit_free_childvals) CORBA_ExceptionDefSeq__free, GUINT_TO_POINTER(1));
   retval->_maximum = 0;
   retval->_length = 0;
   retval->_release = CORBA_TRUE;
   retval->_buffer = NULL;
   return retval;
}

static const CORBA_TypeCode anon_subtypes_array305[] =
{(CORBA_TypeCode) & TC_CORBA_ExceptionDef_struct};
const struct CORBA_TypeCode_struct anonTC_302_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_sequence, NULL, NULL,
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array305,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const CORBA_TypeCode anon_subtypes_array309[] =
{(CORBA_TypeCode) & anonTC_302_struct};
const struct CORBA_TypeCode_struct TC_CORBA_ExceptionDefSeq_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
 CORBA_tk_alias, "ExceptionDefSeq", "IDL:omg.org/CORBA/ExceptionDefSeq:1.0",
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array309,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_ExcDescriptionSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   CORBA_ExcDescriptionSeq *val = mem;

   if (val->_release)
      ORBit_free(val->_buffer, free_strings);
   return (gpointer) (((char *) mem) + sizeof(CORBA_ExcDescriptionSeq));
}

#ifndef HAVE_ALLOCBUF_CORBA_ExceptionDescription
#define HAVE_ALLOCBUF_CORBA_ExceptionDescription 1
CORBA_ExceptionDescription *
CORBA_sequence_CORBA_ExceptionDescription_allocbuf(CORBA_unsigned_long len)
{
   return ORBit_alloc(sizeof(CORBA_ExceptionDescription) * len, (ORBit_free_childvals) CORBA_ExceptionDescription__free, GUINT_TO_POINTER(len));
}
#endif

CORBA_ExcDescriptionSeq *
CORBA_ExcDescriptionSeq__alloc(void)
{
   CORBA_ExcDescriptionSeq *retval;

   retval = ORBit_alloc(sizeof(CORBA_ExcDescriptionSeq), (ORBit_free_childvals) CORBA_ExcDescriptionSeq__free, GUINT_TO_POINTER(1));
   retval->_maximum = 0;
   retval->_length = 0;
   retval->_release = CORBA_TRUE;
   retval->_buffer = NULL;
   return retval;
}

static const CORBA_TypeCode anon_subtypes_array319[] =
{(CORBA_TypeCode) & TC_CORBA_ExceptionDescription_struct};
const struct CORBA_TypeCode_struct anonTC_316_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_sequence, NULL, NULL,
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array319,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const CORBA_TypeCode anon_subtypes_array323[] =
{(CORBA_TypeCode) & anonTC_316_struct};
const struct CORBA_TypeCode_struct TC_CORBA_ExcDescriptionSeq_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_alias, "ExcDescriptionSeq", "IDL:omg.org/CORBA/ExcDescriptionSeq:1.0",
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array323,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_OperationDef__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_OperationDef_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "OperationDef", "IDL:omg.org/CORBA/OperationDef:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const char *anon_subnames_array330[] =
{"name", "id", "defined_in", "version", "result", "mode", "contexts", "parameters", "exceptions"};
static const CORBA_TypeCode anon_subtypes_array331[] =
{(CORBA_TypeCode) & TC_CORBA_Identifier_struct, (CORBA_TypeCode) & TC_CORBA_RepositoryId_struct, (CORBA_TypeCode) & TC_CORBA_RepositoryId_struct, (CORBA_TypeCode) & TC_CORBA_VersionSpec_struct, (CORBA_TypeCode) & TC_CORBA_TypeCode_struct, (CORBA_TypeCode) & TC_CORBA_OperationMode_struct, (CORBA_TypeCode) & TC_CORBA_ContextIdSeq_struct, (CORBA_TypeCode) & TC_CORBA_ParDescriptionSeq_struct, (CORBA_TypeCode) & TC_CORBA_ExcDescriptionSeq_struct};
const struct CORBA_TypeCode_struct TC_CORBA_OperationDescription_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_struct, "OperationDescription", "IDL:omg.org/CORBA/OperationDescription:1.0",
   0, 9,
   (char **) anon_subnames_array330,
   (CORBA_TypeCode *) anon_subtypes_array331,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_OperationDescription__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   struct CORBA_OperationDescription *var = mem;

   if (free_strings) {
      CORBA_Identifier__free(&var->name, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_RepositoryId__free(&var->id, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_RepositoryId__free(&var->defined_in, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_VersionSpec__free(&var->version, NULL, free_strings);
   } {
      CORBA_TypeCode__free(&var->result, NULL, free_strings);
   }
   {
      CORBA_ContextIdSeq__free(&var->contexts, NULL, free_strings);
   }
   {
      CORBA_ParDescriptionSeq__free(&var->parameters, NULL, free_strings);
   }
   {
      CORBA_ExcDescriptionSeq__free(&var->exceptions, NULL, free_strings);
   }
   return (gpointer) (((char *) mem) + sizeof(struct CORBA_OperationDescription));
}
struct CORBA_OperationDescription *
CORBA_OperationDescription__alloc(void)
{
   return ORBit_alloc(sizeof(struct CORBA_OperationDescription), (ORBit_free_childvals) CORBA_OperationDescription__free, GUINT_TO_POINTER(1));
}

gpointer 
CORBA_RepositoryIdSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   CORBA_RepositoryIdSeq *val = mem;

   if (val->_release)
      ORBit_free(val->_buffer, free_strings);
   return (gpointer) (((char *) mem) + sizeof(CORBA_RepositoryIdSeq));
}

#ifndef HAVE_ALLOCBUF_CORBA_RepositoryId
#define HAVE_ALLOCBUF_CORBA_RepositoryId 1
CORBA_RepositoryId *
CORBA_sequence_CORBA_RepositoryId_allocbuf(CORBA_unsigned_long len)
{
   return ORBit_alloc(sizeof(CORBA_RepositoryId) * len, (ORBit_free_childvals) CORBA_RepositoryId__free, GUINT_TO_POINTER(len));
}
#endif

CORBA_RepositoryIdSeq *
CORBA_RepositoryIdSeq__alloc(void)
{
   CORBA_RepositoryIdSeq *retval;

   retval = ORBit_alloc(sizeof(CORBA_RepositoryIdSeq), (ORBit_free_childvals) CORBA_RepositoryIdSeq__free, GUINT_TO_POINTER(1));
   retval->_maximum = 0;
   retval->_length = 0;
   retval->_release = CORBA_TRUE;
   retval->_buffer = NULL;
   return retval;
}

static const CORBA_TypeCode anon_subtypes_array341[] =
{(CORBA_TypeCode) & TC_CORBA_RepositoryId_struct};
const struct CORBA_TypeCode_struct anonTC_338_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_sequence, NULL, NULL,
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array341,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const CORBA_TypeCode anon_subtypes_array345[] =
{(CORBA_TypeCode) & anonTC_338_struct};
const struct CORBA_TypeCode_struct TC_CORBA_RepositoryIdSeq_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
 CORBA_tk_alias, "RepositoryIdSeq", "IDL:omg.org/CORBA/RepositoryIdSeq:1.0",
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array345,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_OpDescriptionSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   CORBA_OpDescriptionSeq *val = mem;

   if (val->_release)
      ORBit_free(val->_buffer, free_strings);
   return (gpointer) (((char *) mem) + sizeof(CORBA_OpDescriptionSeq));
}

#ifndef HAVE_ALLOCBUF_CORBA_OperationDescription
#define HAVE_ALLOCBUF_CORBA_OperationDescription 1
CORBA_OperationDescription *
CORBA_sequence_CORBA_OperationDescription_allocbuf(CORBA_unsigned_long len)
{
   return ORBit_alloc(sizeof(CORBA_OperationDescription) * len, (ORBit_free_childvals) CORBA_OperationDescription__free, GUINT_TO_POINTER(len));
}
#endif

CORBA_OpDescriptionSeq *
CORBA_OpDescriptionSeq__alloc(void)
{
   CORBA_OpDescriptionSeq *retval;

   retval = ORBit_alloc(sizeof(CORBA_OpDescriptionSeq), (ORBit_free_childvals) CORBA_OpDescriptionSeq__free, GUINT_TO_POINTER(1));
   retval->_maximum = 0;
   retval->_length = 0;
   retval->_release = CORBA_TRUE;
   retval->_buffer = NULL;
   return retval;
}

static const CORBA_TypeCode anon_subtypes_array355[] =
{(CORBA_TypeCode) & TC_CORBA_OperationDescription_struct};
const struct CORBA_TypeCode_struct anonTC_352_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_sequence, NULL, NULL,
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array355,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const CORBA_TypeCode anon_subtypes_array359[] =
{(CORBA_TypeCode) & anonTC_352_struct};
const struct CORBA_TypeCode_struct TC_CORBA_OpDescriptionSeq_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
CORBA_tk_alias, "OpDescriptionSeq", "IDL:omg.org/CORBA/OpDescriptionSeq:1.0",
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array359,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_AttrDescriptionSeq__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   CORBA_AttrDescriptionSeq *val = mem;

   if (val->_release)
      ORBit_free(val->_buffer, free_strings);
   return (gpointer) (((char *) mem) + sizeof(CORBA_AttrDescriptionSeq));
}

#ifndef HAVE_ALLOCBUF_CORBA_AttributeDescription
#define HAVE_ALLOCBUF_CORBA_AttributeDescription 1
CORBA_AttributeDescription *
CORBA_sequence_CORBA_AttributeDescription_allocbuf(CORBA_unsigned_long len)
{
   return ORBit_alloc(sizeof(CORBA_AttributeDescription) * len, (ORBit_free_childvals) CORBA_AttributeDescription__free, GUINT_TO_POINTER(len));
}
#endif

CORBA_AttrDescriptionSeq *
CORBA_AttrDescriptionSeq__alloc(void)
{
   CORBA_AttrDescriptionSeq *retval;

   retval = ORBit_alloc(sizeof(CORBA_AttrDescriptionSeq), (ORBit_free_childvals) CORBA_AttrDescriptionSeq__free, GUINT_TO_POINTER(1));
   retval->_maximum = 0;
   retval->_length = 0;
   retval->_release = CORBA_TRUE;
   retval->_buffer = NULL;
   return retval;
}

static const CORBA_TypeCode anon_subtypes_array369[] =
{(CORBA_TypeCode) & TC_CORBA_AttributeDescription_struct};
const struct CORBA_TypeCode_struct anonTC_366_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_sequence, NULL, NULL,
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array369,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const CORBA_TypeCode anon_subtypes_array373[] =
{(CORBA_TypeCode) & anonTC_366_struct};
const struct CORBA_TypeCode_struct TC_CORBA_AttrDescriptionSeq_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_alias, "AttrDescriptionSeq", "IDL:omg.org/CORBA/AttrDescriptionSeq:1.0",
   0, 1,
   NULL,
   (CORBA_TypeCode *) anon_subtypes_array373,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
CORBA_unsigned_long CORBA_InterfaceDef__classid = 0;

const struct CORBA_TypeCode_struct TC_CORBA_InterfaceDef_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_objref, "InterfaceDef", "IDL:omg.org/CORBA/InterfaceDef:1.0",
   0, 0,
   NULL,
   NULL,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
static const char *anon_subnames_array380[] =
{"name", "id", "defined_in", "version", "operations", "attributes", "base_interfaces", "type"};
static const CORBA_TypeCode anon_subtypes_array381[] =
{(CORBA_TypeCode) & TC_CORBA_Identifier_struct, (CORBA_TypeCode) & TC_CORBA_RepositoryId_struct, (CORBA_TypeCode) & TC_CORBA_RepositoryId_struct, (CORBA_TypeCode) & TC_CORBA_VersionSpec_struct, (CORBA_TypeCode) & TC_CORBA_OpDescriptionSeq_struct, (CORBA_TypeCode) & TC_CORBA_AttrDescriptionSeq_struct, (CORBA_TypeCode) & TC_CORBA_RepositoryIdSeq_struct, (CORBA_TypeCode) & TC_CORBA_TypeCode_struct};
const struct CORBA_TypeCode_struct TC_CORBA_InterfaceDef_FullInterfaceDescription_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_struct, "FullInterfaceDescription", "IDL:omg.org/CORBA/InterfaceDef/FullInterfaceDescription:1.0",
   0, 8,
   (char **) anon_subnames_array380,
   (CORBA_TypeCode *) anon_subtypes_array381,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_InterfaceDef_FullInterfaceDescription__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   struct CORBA_InterfaceDef_FullInterfaceDescription *var = mem;

   if (free_strings) {
      CORBA_Identifier__free(&var->name, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_RepositoryId__free(&var->id, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_RepositoryId__free(&var->defined_in, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_VersionSpec__free(&var->version, NULL, free_strings);
   } {
      CORBA_OpDescriptionSeq__free(&var->operations, NULL, free_strings);
   }
   {
      CORBA_AttrDescriptionSeq__free(&var->attributes, NULL, free_strings);
   }
   {
      CORBA_RepositoryIdSeq__free(&var->base_interfaces, NULL, free_strings);
   }
   {
      CORBA_TypeCode__free(&var->type, NULL, free_strings);
   }
   return (gpointer) (((char *) mem) + sizeof(struct CORBA_InterfaceDef_FullInterfaceDescription));
}
struct CORBA_InterfaceDef_FullInterfaceDescription *
CORBA_InterfaceDef_FullInterfaceDescription__alloc(void)
{
   return ORBit_alloc(sizeof(struct CORBA_InterfaceDef_FullInterfaceDescription), (ORBit_free_childvals) CORBA_InterfaceDef_FullInterfaceDescription__free, GUINT_TO_POINTER(1));
}

static const char *anon_subnames_array384[] =
{"name", "id", "defined_in", "version", "base_interfaces"};
static const CORBA_TypeCode anon_subtypes_array385[] =
{(CORBA_TypeCode) & TC_CORBA_Identifier_struct, (CORBA_TypeCode) & TC_CORBA_RepositoryId_struct, (CORBA_TypeCode) & TC_CORBA_RepositoryId_struct, (CORBA_TypeCode) & TC_CORBA_VersionSpec_struct, (CORBA_TypeCode) & TC_CORBA_RepositoryIdSeq_struct};
const struct CORBA_TypeCode_struct TC_CORBA_InterfaceDescription_struct =
{
   {
      {(ORBit_RootObject_Interface *) & ORBit_TypeCode_epv, TRUE, -1}, ORBIT_PSEUDO_TYPECODE},
   CORBA_tk_struct, "InterfaceDescription", "IDL:omg.org/CORBA/InterfaceDescription:1.0",
   0, 5,
   (char **) anon_subnames_array384,
   (CORBA_TypeCode *) anon_subtypes_array385,
   NULL,
   CORBA_OBJECT_NIL, 0, -1, 0, 0
};
gpointer 
CORBA_InterfaceDescription__free(gpointer mem, gpointer dat, CORBA_boolean free_strings)
{
   struct CORBA_InterfaceDescription *var = mem;

   if (free_strings) {
      CORBA_Identifier__free(&var->name, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_RepositoryId__free(&var->id, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_RepositoryId__free(&var->defined_in, NULL, free_strings);
   }
   if (free_strings) {
      CORBA_VersionSpec__free(&var->version, NULL, free_strings);
   } {
      CORBA_RepositoryIdSeq__free(&var->base_interfaces, NULL, free_strings);
   }
   return (gpointer) (((char *) mem) + sizeof(struct CORBA_InterfaceDescription));
}
struct CORBA_InterfaceDescription *
CORBA_InterfaceDescription__alloc(void)
{
   return ORBit_alloc(sizeof(struct CORBA_InterfaceDescription), (ORBit_free_childvals) CORBA_InterfaceDescription__free, GUINT_TO_POINTER(1));
}

/***************** End module CORBA ***************/
