summaryrefslogtreecommitdiff
path: root/libguile/dynwind.h
diff options
context:
space:
mode:
authorMikael Djurfeldt <djurfeldt@nada.kth.se>1998-06-18 21:53:00 +0000
committerMikael Djurfeldt <djurfeldt@nada.kth.se>1998-06-18 21:53:00 +0000
commit3346a90fa74d399fd500e07b6b28fbdc7812722d (patch)
tree170fc62fb1e25bbe9955f95e0eb8f2042dde4f59 /libguile/dynwind.h
parentef0d04e5c33654d70e66236746f9bcbb770bfde7 (diff)
* dynwind.c: #include "genio.h"; #include "smob.h"; Implemented a
new data type (guards) for representation of C level guards and data on the wind chain. (scm_internal_dynamic_wind): New function. * dynwind.h: Declare scm_internal_dynamic_wind. * load.c: #include "dynwind.h"; (scm_primitive_load): Use scm_inner_dynamic_wind to update scm_cur_loadp.
Diffstat (limited to 'libguile/dynwind.h')
-rw-r--r--libguile/dynwind.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/libguile/dynwind.h b/libguile/dynwind.h
index abc0c21a8..7ed51a4b3 100644
--- a/libguile/dynwind.h
+++ b/libguile/dynwind.h
@@ -47,7 +47,15 @@
+typedef void (*scm_guard_t) (void *);
+typedef SCM (*scm_inner_t) (void *);
+
extern SCM scm_dynamic_wind SCM_P ((SCM thunk1, SCM thunk2, SCM thunk3));
+extern SCM scm_internal_dynamic_wind SCM_P ((scm_guard_t before,
+ scm_inner_t inner,
+ scm_guard_t after,
+ void *inner_data,
+ void *guard_data));
extern void scm_dowinds SCM_P ((SCM to, long delta));
extern void scm_init_dynwind SCM_P ((void));