1 | |
1 | |
2 | /* scheme-private.h */ |
2 | /* scheme-private.h */ |
3 | |
3 | |
4 | #ifndef SCHEME_PRIVATE_H |
4 | #ifndef SCHEME_PRIVATE_H |
5 | # define SCHEME_PRIVATE_H |
5 | #define SCHEME_PRIVATE_H |
6 | |
6 | |
7 | # include "scheme.h" |
7 | #include "scheme.h" |
|
|
8 | |
|
|
9 | #include <inttypes.h> |
8 | |
10 | |
9 | /*------------------ Ugly internals -----------------------------------*/ |
11 | /*------------------ Ugly internals -----------------------------------*/ |
10 | |
12 | |
11 | /*------------------ Of interest only to FFI users --------------------*/ |
13 | /*------------------ Of interest only to FFI users --------------------*/ |
12 | |
14 | |
… | |
… | |
73 | struct cell *cdr; |
75 | struct cell *cdr; |
74 | } cons; |
76 | } cons; |
75 | |
77 | |
76 | } object; |
78 | } object; |
77 | |
79 | |
78 | unsigned int flag; |
80 | unsigned int flag; /* need 11 bits */ |
79 | }; |
81 | }; |
80 | |
82 | |
81 | /* frequently accessed members are near the beginning, reducing codesize esp. on CISC */ |
83 | /* frequently accessed members are near the beginning, reducing codesize esp. on CISC */ |
82 | struct scheme |
84 | struct scheme |
83 | { |
85 | { |
… | |
… | |
216 | INTERFACE int is_promise (pointer p); |
218 | INTERFACE int is_promise (pointer p); |
217 | INTERFACE int is_environment (pointer p); |
219 | INTERFACE int is_environment (pointer p); |
218 | INTERFACE int is_immutable (pointer p); |
220 | INTERFACE int is_immutable (pointer p); |
219 | INTERFACE void setimmutable (pointer p); |
221 | INTERFACE void setimmutable (pointer p); |
220 | |
222 | |
221 | # ifdef __cplusplus |
223 | #ifdef __cplusplus |
222 | } |
224 | } |
223 | # endif |
225 | #endif |
224 | |
226 | |
225 | #endif |
227 | #endif |
226 | |
228 | |
227 | /* |
229 | /* |
228 | Local variables: |
230 | Local variables: |