mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +02:00
* struct.h (scm_struct_i_setter): New constant.
This commit is contained in:
parent
25c9482661
commit
7ee70a2659
1 changed files with 3 additions and 0 deletions
|
@ -53,6 +53,7 @@
|
||||||
#define scm_struct_n_extra_words 3
|
#define scm_struct_n_extra_words 3
|
||||||
|
|
||||||
/* These are how the initial words of a vtable are allocated. */
|
/* These are how the initial words of a vtable are allocated. */
|
||||||
|
#define scm_struct_i_setter -8 /* Setter */
|
||||||
#define scm_struct_i_proc -7 /* Optional procedure slots */
|
#define scm_struct_i_proc -7 /* Optional procedure slots */
|
||||||
#define scm_struct_i_ptr -3 /* start of block (see alloc_struct) */
|
#define scm_struct_i_ptr -3 /* start of block (see alloc_struct) */
|
||||||
#define scm_struct_i_n_words -2 /* How many words allocated to this struct? */
|
#define scm_struct_i_n_words -2 /* How many words allocated to this struct? */
|
||||||
|
@ -65,6 +66,8 @@
|
||||||
#define scm_vtable_offset_user 4 /* Where do user fields start? */
|
#define scm_vtable_offset_user 4 /* Where do user fields start? */
|
||||||
|
|
||||||
#define SCM_STRUCTF_ENTITY (1L << 30) /* Indicates presence of proc slots */
|
#define SCM_STRUCTF_ENTITY (1L << 30) /* Indicates presence of proc slots */
|
||||||
|
#define SCM_STRUCTF_LIGHT (1L << 31) /* Light representation
|
||||||
|
(no hidden words) */
|
||||||
|
|
||||||
#define SCM_STRUCTP(X) (SCM_TYP3(X) == scm_tc3_cons_gloc)
|
#define SCM_STRUCTP(X) (SCM_TYP3(X) == scm_tc3_cons_gloc)
|
||||||
#define SCM_STRUCT_DATA(X) ((SCM*)(SCM_CDR(X)))
|
#define SCM_STRUCT_DATA(X) ((SCM*)(SCM_CDR(X)))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue