1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

Move scm_tc7_pointer snarfer out to foreign.h

* libguile/snarf.h:
* libguile/foreign.h (SCM_IMMUTABLE_POINTER): Move here, from snarf.h.
This commit is contained in:
Andy Wingo 2018-06-20 08:38:32 +02:00
parent d3cfabd89b
commit cedab6e285
2 changed files with 4 additions and 3 deletions

View file

@ -21,6 +21,7 @@
#include "libguile/__scm.h" #include "libguile/__scm.h"
#include "libguile/gc.h" #include "libguile/gc.h"
#include "libguile/snarf.h"
/* A "foreign pointer" is a wrapped C pointer. It is represented by a /* A "foreign pointer" is a wrapped C pointer. It is represented by a
cell whose second word is a pointer. The first word has the cell whose second word is a pointer. The first word has the
@ -55,6 +56,9 @@ typedef void (*scm_t_pointer_finalizer) (void *);
#define SCM_POINTER_VALUE(x) \ #define SCM_POINTER_VALUE(x) \
((void *) SCM_CELL_WORD_1 (x)) ((void *) SCM_CELL_WORD_1 (x))
#define SCM_IMMUTABLE_POINTER(c_name, ptr) \
SCM_IMMUTABLE_CELL (c_name, scm_tc7_pointer, ptr)
SCM_API void *scm_to_pointer (SCM pointer); SCM_API void *scm_to_pointer (SCM pointer);
SCM_API SCM scm_from_pointer (void *, scm_t_pointer_finalizer); SCM_API SCM scm_from_pointer (void *, scm_t_pointer_finalizer);

View file

@ -326,9 +326,6 @@ SCM_SNARF_INIT(scm_set_smob_apply((tag), (c_name), (req), (opt), (rest));)
(scm_t_bits) 0, \ (scm_t_bits) 0, \
(scm_t_bits) (sizeof (contents) - 1)) (scm_t_bits) (sizeof (contents) - 1))
#define SCM_IMMUTABLE_POINTER(c_name, ptr) \
SCM_IMMUTABLE_CELL (c_name, scm_tc7_pointer, ptr)
#endif /* SCM_SUPPORT_STATIC_ALLOCATION */ #endif /* SCM_SUPPORT_STATIC_ALLOCATION */