X-Git-Url: http://git.hcoop.net/bpt/guile.git/blobdiff_plain/dc7a33fa871c42d0474602f3560d3ce350e1f1c3..f4af36aca47f7d0653b997986e8be9894bbd87ff:/libguile/smob.h diff --git a/libguile/smob.h b/libguile/smob.h index 37ea64247..561a6d124 100644 --- a/libguile/smob.h +++ b/libguile/smob.h @@ -4,7 +4,7 @@ #define SCM_SMOB_H /* Copyright (C) 1995, 1996, 1998, 1999, 2000, 2001, 2004, 2006, 2009, - * 2010, 2011, 2012 Free Software Foundation, Inc. + * 2010, 2011, 2012, 2015 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -147,14 +147,14 @@ scm_new_double_smob (scm_t_bits tc, scm_t_bits data1, #define SCM_SET_SMOB_OBJECT_1(x,obj) (SCM_SET_SMOB_OBJECT_N ((x), 1, (obj))) #define SCM_SET_SMOB_OBJECT_2(x,obj) (SCM_SET_SMOB_OBJECT_N ((x), 2, (obj))) #define SCM_SET_SMOB_OBJECT_3(x,obj) (SCM_SET_SMOB_OBJECT_N ((x), 3, (obj))) -#define SCM_SMOB_OBJECT_0_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 0))) -#define SCM_SMOB_OBJECT_1_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 1))) -#define SCM_SMOB_OBJECT_2_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 2))) -#define SCM_SMOB_OBJECT_3_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 3))) +#define SCM_SMOB_OBJECT_0_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 0)) +#define SCM_SMOB_OBJECT_1_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 1)) +#define SCM_SMOB_OBJECT_2_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 2)) +#define SCM_SMOB_OBJECT_3_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 3)) #define SCM_SMOB_OBJECT(x) (SCM_SMOB_OBJECT_1 (x)) #define SCM_SET_SMOB_OBJECT(x,obj) (SCM_SET_SMOB_OBJECT_1 ((x), (obj))) -#define SCM_SMOB_OBJECT_LOC(x) (SCM_SMOB_OBJECT_1_LOC (x))) +#define SCM_SMOB_OBJECT_LOC(x) (SCM_SMOB_OBJECT_1_LOC (x)) #define SCM_SMOB_APPLY_0(x) (scm_call_0 (x)) @@ -190,6 +190,8 @@ SCM_API void scm_set_smob_apply (scm_t_bits tc, unsigned int opt, unsigned int rst); +SCM_API SCM scm_smob_type_class (scm_t_bits tc); + SCM_API void scm_assert_smob_type (scm_t_bits tag, SCM val); /* Function for creating smobs */