summaryrefslogtreecommitdiff
path: root/libguile/struct.h
diff options
context:
space:
mode:
authorMikael Djurfeldt <djurfeldt@nada.kth.se>2000-08-09 18:29:39 +0000
committerMikael Djurfeldt <djurfeldt@nada.kth.se>2000-08-09 18:29:39 +0000
commit85c213397849c01a9a52c3cd20ac4e0dc4f9d3bd (patch)
treee761dc2ea9753377f14ce70e95998f076efcacd6 /libguile/struct.h
parent08c880a36746289330f3722522960ea21fe4ddc8 (diff)
downloadguile-85c213397849c01a9a52c3cd20ac4e0dc4f9d3bd.tar.gz
* struct.h (SCM_STRUCT_GC_CHAIN, SCM_SET_STRUCT_GC_CHAIN): New
macros. (scm_structs_to_free, scm_struct_prehistory): Declare.
Diffstat (limited to 'libguile/struct.h')
-rw-r--r--libguile/struct.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/libguile/struct.h b/libguile/struct.h
index 623c82bf9..b78f9a7f9 100644
--- a/libguile/struct.h
+++ b/libguile/struct.h
@@ -97,6 +97,10 @@ typedef scm_sizet (*scm_struct_free_t) (scm_bits_t * vtable, scm_bits_t * data);
#define SCM_SET_STRUCT_TABLE_CLASS(X, CLASS) SCM_SETCDR (X, CLASS)
extern SCM scm_struct_table;
+#define SCM_STRUCT_GC_CHAIN(X) SCM_CELL_OBJECT_3 (X)
+#define SCM_SET_STRUCT_GC_CHAIN(X, Y) SCM_SET_CELL_OBJECT_3 (X, Y)
+extern SCM scm_structs_to_free;
+
extern scm_bits_t * scm_alloc_struct (int n_words, int n_extra, char * who);
@@ -118,6 +122,7 @@ extern SCM scm_struct_create_handle (SCM obj);
extern SCM scm_struct_vtable_name (SCM vtable);
extern SCM scm_set_struct_vtable_name_x (SCM vtable, SCM name);
extern void scm_print_struct (SCM exp, SCM port, scm_print_state *);
+extern void scm_struct_prehistory (void);
extern void scm_init_struct (void);
#endif /* STRUCTH */