From f0574557469cb80dfd3602eccfe8bb3bda9603d9 Mon Sep 17 00:00:00 2001 From: Mikael Djurfeldt Date: Wed, 4 Aug 1999 11:28:20 +0000 Subject: [PATCH] * objects.h (SCM_CLASSF_GOOPS_VALID): Added. (scm_si_redfined, scm_si_hashsets): Moved. --- libguile/objects.h | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/libguile/objects.h b/libguile/objects.h index d982cd833..3501cc362 100644 --- a/libguile/objects.h +++ b/libguile/objects.h @@ -175,12 +175,23 @@ struct scm_metaclass_operator { */ /* Internal representation of Goops objects. */ -#define SCM_CLASSF_GOOPS (0x10 << 24) -#define scm_si_redefined 18 -#define scm_si_hashsets 20 +#define SCM_CLASSF_GOOPS_VALID (0x080 << 20) +#define SCM_CLASSF_GOOPS (0x100 << 20) +#define scm_si_redefined 9 +#define scm_si_hashsets 10 #define SCM_CLASS_OF(x) SCM_STRUCT_VTABLE (x) #define SCM_OBJ_CLASS_REDEF(x) (SCM_STRUCT_VTABLE_DATA(x)[scm_si_redefined]) +typedef struct scm_effective_slot_definition { + SCM name; + long location; + SCM init_value; + SCM (*get) (SCM obj, SCM slotdef); + SCM (*set) (SCM obj, SCM slotdef, SCM value); +} scm_effective_slot_definition; + +#define SCM_ESLOTDEF(x) ((scm_effective_slot_definition *) SCM_CDR (x)) + /* Port classes */ #define SCM_IN_PCLASS_INDEX 0x000 #define SCM_OUT_PCLASS_INDEX 0x100