-#define SCM_SET_GENERIC_DISPATCH_PROCEDURE(G,C) (SCM_STRUCT_SLOT_SET (G, scm_si_dispatch_procedure, (C)))
-#define SCM_CLEAR_GENERIC_EFFECTIVE_METHODS(G) (SCM_STRUCT_SLOT_SET (G, scm_si_effective_methods, SCM_EOL));
-
-#define SCM_GENERIC_SETTER(G) (SCM_PACK (SCM_STRUCT_DATA (G) [scm_si_generic_setter]))
-#define SCM_SET_GENERIC_SETTER(G,C) (SCM_STRUCT_DATA (G) [scm_si_generic_setter] = SCM_UNPACK (C))
-
-#define scm_si_dispatch_procedure scm_applicable_struct_index_procedure /* 0 */
-#define scm_si_methods 1
-#define scm_si_n_specialized 2
-#define scm_si_extended_by 3
-#define scm_si_effective_methods 4
-#define scm_si_generic_setter 5
-
-#define scm_si_generic_function 0 /* offset of gf slot in a <method> */
-#define scm_si_specializers 1 /* offset of spec. slot in a <method> */
-#define scm_si_procedure 2 /* offset of proc. slot in a <method> */
-#define scm_si_formals 3 /* offset of form. slot in a <method> */
-#define scm_si_body 4 /* offset of body slot in a <method> */
-#define scm_si_make_procedure 5 /* offset of makep.slot in a <method> */
-
-/* C interface */
-SCM_API SCM scm_class_boolean;
-SCM_API SCM scm_class_char;
-SCM_API SCM scm_class_pair;
-SCM_API SCM scm_class_procedure;
-SCM_API SCM scm_class_string;
-SCM_API SCM scm_class_symbol;
-SCM_API SCM scm_class_primitive_generic;
-SCM_API SCM scm_class_vector;
-SCM_API SCM scm_class_null;
-SCM_API SCM scm_class_real;
-SCM_API SCM scm_class_complex;
-SCM_API SCM scm_class_integer;
-SCM_API SCM scm_class_fraction;
-SCM_API SCM scm_class_unknown;
-SCM_API SCM scm_port_class[];
-SCM_API SCM scm_smob_class[];
-SCM_API SCM scm_class_top;
-SCM_API SCM scm_class_object;
-SCM_API SCM scm_class_class;
-SCM_API SCM scm_class_applicable;
-SCM_API SCM scm_class_applicable_struct;
-SCM_API SCM scm_class_applicable_struct_with_setter;
-SCM_API SCM scm_class_generic;
-SCM_API SCM scm_class_generic_with_setter;
-SCM_API SCM scm_class_accessor;
-SCM_API SCM scm_class_extended_generic;
-SCM_API SCM scm_class_extended_generic_with_setter;
-SCM_API SCM scm_class_extended_accessor;
-SCM_API SCM scm_class_method;
-SCM_API SCM scm_class_accessor_method;
-SCM_API SCM scm_class_procedure_class;
-SCM_API SCM scm_class_applicable_struct_class;
-SCM_API SCM scm_class_number;
-SCM_API SCM scm_class_list;
-SCM_API SCM scm_class_keyword;
-SCM_API SCM scm_class_port;
-SCM_API SCM scm_class_input_output_port;
-SCM_API SCM scm_class_input_port;
-SCM_API SCM scm_class_output_port;
-SCM_API SCM scm_class_foreign_slot;
-SCM_API SCM scm_class_self;
-SCM_API SCM scm_class_protected;
-SCM_API SCM scm_class_hidden;
-SCM_API SCM scm_class_opaque;
-SCM_API SCM scm_class_read_only;
-SCM_API SCM scm_class_protected_hidden;
-SCM_API SCM scm_class_protected_opaque;
-SCM_API SCM scm_class_protected_read_only;
-SCM_API SCM scm_class_scm;
-SCM_API SCM scm_class_int;
-SCM_API SCM scm_class_float;
-SCM_API SCM scm_class_double;
-SCM_API const char *scm_s_slot_set_x;
-
-SCM_API SCM scm_no_applicable_method;