summaryrefslogtreecommitdiff
path: root/libguile/guardians.h
diff options
context:
space:
mode:
authorMichael Livshin <mlivshin@bigfoot.com>2001-01-04 13:00:31 +0000
committerMichael Livshin <mlivshin@bigfoot.com>2001-01-04 13:00:31 +0000
commitc0a5d8883541452d292c23a90ff4af445df22a05 (patch)
tree5cb270e792138f683ae427cb5187c0135a7eed2c /libguile/guardians.h
parent0c6d2191efac1342a0306d7182e32f0aaf1a402c (diff)
* guardians.c (F_GREEDY, F_LISTED, F_DESTROYED, GREEDY_P,
SET_GREEDY, LISTED_P, SET_LISTED, CLR_LISTED, DESTROYED_P, SET_DESTROYED): new defines/macros. (GUARDIAN_LIVE, GUARDIAN_ZOMBIES, GUARDIAN_NEXT): deleted. (add_to_live_list): takes a `guardian_t *' now, not SCM. (guardian_print): print more info. (guardian_apply): check if the guardian is destroyed, and throw an error if so. take one more optional argument `throw_p'. (scm_guard): depending on the value of `throw_p', return a boolean result. (scm_get_one_zombie): remove redundant property test. (guardian_t): represent the various (currently 3, I hope nothing more gets added) boolean fields as bit flags. (scm_guardian_destroyed_p, scm_guardian_greedy_p): new predicates. (scm_destroy_guardian_x): new procedure. * guardians.h: added prototypes for `scm_guardian_greedy_p' and `scm_guardian_destroyed_p'. changed prototype for `scm_guard'.
Diffstat (limited to 'libguile/guardians.h')
-rw-r--r--libguile/guardians.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/libguile/guardians.h b/libguile/guardians.h
index e6fadea9a..eb79c1305 100644
--- a/libguile/guardians.h
+++ b/libguile/guardians.h
@@ -47,9 +47,13 @@
#include "libguile/__scm.h"
SCM scm_make_guardian (SCM greedy_p);
+SCM scm_destroy_guardian_x (SCM guardian);
+
+SCM scm_guardian_greedy_p (SCM guardian);
+SCM scm_guardian_destroyed_p (SCM guardian);
/* these are to be called from C: */
-void scm_guard (SCM guardian, SCM obj);
+SCM scm_guard (SCM guardian, SCM obj, int throw_p);
SCM scm_get_one_zombie (SCM guardian);
void scm_init_guardians (void);