summaryrefslogtreecommitdiff
path: root/libguile/smob.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-12-08 22:53:21 +0100
committerAndy Wingo <wingo@pobox.com>2009-12-08 23:13:21 +0100
commit735bcfe579606eddb1700462e56918d48affe36e (patch)
tree03f998c72d39602b6ea12144d58237e051083b49 /libguile/smob.h
parent75a029aa2553a24e4804722521f1e5db9690fbe3 (diff)
downloadguile-735bcfe579606eddb1700462e56918d48affe36e.tar.gz
add SCM_SMOB_TYPE_BITS and SCM_SMOB_TYPE_MASK
* libguile/smob.h (SCM_SMOB_TYPE_BITS, SCM_SMOB_TYPE_MASK): New macros, for when you want to identify a SMOB by type and mask. * libguile/arrays.c: * libguile/bitvectors.c: * libguile/srfi-4.c: Use the new macros.
Diffstat (limited to 'libguile/smob.h')
-rw-r--r--libguile/smob.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/libguile/smob.h b/libguile/smob.h
index 06b1c48e1..f9b511066 100644
--- a/libguile/smob.h
+++ b/libguile/smob.h
@@ -161,6 +161,8 @@ while (0)
#define SCM_SMOB_OBJECT_LOC(x) (SCM_SMOB_OBJECT_1_LOC (x)))
+#define SCM_SMOB_TYPE_MASK 0xffff
+#define SCM_SMOB_TYPE_BITS(tc) (tc)
#define SCM_TC2SMOBNUM(x) (0x0ff & ((x) >> 8))
#define SCM_SMOBNUM(x) (SCM_TC2SMOBNUM (SCM_CELL_TYPE (x)))
/* SCM_SMOBNAME can be 0 if name is missing */