Mercurial > hg > xemacs-beta
comparison src/opaque.h @ 5118:e0db3c197671 ben-lisp-object
merge up to latest default branch, doesn't compile yet
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Sat, 26 Dec 2009 21:18:49 -0600 |
parents | 1e7cc382eb16 |
children | d1247f3cc363 |
comparison
equal
deleted
inserted
replaced
5117:3742ea8250b5 | 5118:e0db3c197671 |
---|---|
31 struct LCRECORD_HEADER header; | 31 struct LCRECORD_HEADER header; |
32 Bytecount size; | 32 Bytecount size; |
33 max_align_t data[1]; | 33 max_align_t data[1]; |
34 } Lisp_Opaque; | 34 } Lisp_Opaque; |
35 | 35 |
36 DECLARE_LRECORD (opaque, Lisp_Opaque); | 36 DECLARE_LISP_OBJECT (opaque, Lisp_Opaque); |
37 #define XOPAQUE(x) XRECORD (x, opaque, Lisp_Opaque) | 37 #define XOPAQUE(x) XRECORD (x, opaque, Lisp_Opaque) |
38 #define wrap_opaque(p) wrap_record (p, opaque) | 38 #define wrap_opaque(p) wrap_record (p, opaque) |
39 #define OPAQUEP(x) RECORDP (x, opaque) | 39 #define OPAQUEP(x) RECORDP (x, opaque) |
40 /* #define CHECK_OPAQUE(x) CHECK_RECORD (x, opaque) | 40 /* #define CHECK_OPAQUE(x) CHECK_RECORD (x, opaque) |
41 Opaque pointers should never escape to the Lisp level, so | 41 Opaque pointers should never escape to the Lisp level, so |
56 { | 56 { |
57 struct LCRECORD_HEADER header; | 57 struct LCRECORD_HEADER header; |
58 void *ptr; | 58 void *ptr; |
59 } Lisp_Opaque_Ptr; | 59 } Lisp_Opaque_Ptr; |
60 | 60 |
61 DECLARE_LRECORD (opaque_ptr, Lisp_Opaque_Ptr); | 61 DECLARE_LISP_OBJECT (opaque_ptr, Lisp_Opaque_Ptr); |
62 #define XOPAQUE_PTR(x) XRECORD (x, opaque_ptr, Lisp_Opaque_Ptr) | 62 #define XOPAQUE_PTR(x) XRECORD (x, opaque_ptr, Lisp_Opaque_Ptr) |
63 #define wrap_opaque_ptr(p) wrap_record (p, opaque_ptr) | 63 #define wrap_opaque_ptr(p) wrap_record (p, opaque_ptr) |
64 #define OPAQUE_PTRP(x) RECORDP (x, opaque_ptr) | 64 #define OPAQUE_PTRP(x) RECORDP (x, opaque_ptr) |
65 | 65 |
66 EXTERN_C MODULE_API Lisp_Object make_opaque_ptr (void *val); | 66 EXTERN_C MODULE_API Lisp_Object make_opaque_ptr (void *val); |