
#define XtInheritAllocate	((XtAllocateProc) _XtInherit)
#define XtInheritDeallocate	((XtDeallocateProc) _XtInherit)
#define XtObjectExtensionVersion	1L

typedef struct _ObjectPart
{
  Widget self;
  WidgetClass widget_class;
  Widget parent;
  XrmName xrm_name;
  Boolean being_destroyed;
  XtCallbackList destroy_callbacks;
  XtPointer constraints;
}
ObjectPart;

typedef struct _ObjectRec
{
  ObjectPart object;
}
ObjectRec;

typedef struct _ObjectClassPart
{
  WidgetClass superclass;
  String class_name;
  Cardinal widget_size;
  XtProc class_initialize;
  XtWidgetClassProc class_part_initialize;
  XtEnum class_inited;
  XtInitProc initialize;
  XtArgsProc initialize_hook;
  XtProc obj1;
  XtProc obj2;
  XtProc obj3;
  XtResourceList resources;
  Cardinal num_resources;
  XrmClass xrm_class;
  Boolean obj4;
  XtEnum obj5;
  Boolean obj6;
  Boolean obj7;
  XtWidgetProc destroy;
  XtProc obj8;
  XtProc obj9;
  XtSetValuesFunc set_values;
  XtArgsFunc set_values_hook;
  XtProc obj10;
  XtArgsProc get_values_hook;
  XtProc obj11;
  XtVersionType version;
  XtPointer callback_private;
  String obj12;
  XtProc obj13;
  XtProc obj14;
  XtPointer extension;
}
ObjectClassPart;

struct
{
  XtPointer next_extension;
  XrmQuark record_type;
  long version;
  Cardinal record_size;
  XtAllocateProc allocate;
  XtDeallocateProc deallocate;
}
 ;

typedef struct
{
  XtPointer next_extension;
  XrmQuark record_type;
  long version;
  Cardinal record_size;
  XtAllocateProc allocate;
  XtDeallocateProc deallocate;
}
ObjectClassExtensionRec;
typedef struct
{
  XtPointer next_extension;
  XrmQuark record_type;
  long version;
  Cardinal record_size;
  XtAllocateProc allocate;
  XtDeallocateProc deallocate;
}
 *ObjectClassExtension;

typedef struct _ObjectClassRec
{
  ObjectClassPart object_class;
}
ObjectClassRec;
