class & type size (and some more exports)
src/objects/type.lisp
Sat Jan 23 20:45:41 CET 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* class & type size (and some more exports)
--- old-smoke/src/objects/type.lisp 2014-10-30 08:08:28.000000000 +0100
+++ new-smoke/src/objects/type.lisp 2014-10-30 08:08:28.000000000 +0100
@@ -138,3 +138,13 @@
(type)
"The type ~S is not a smoke class." type)
(make-smoke-class-from-id (smoke type) (type-slot-value type 'class)))
+
+;; Return the cffi keyword for the type
+(defun type-foreign-keyword (smoke-type)
+ (intern (nsubstitute #\- #\ (nstring-upcase (name smoke-type)))
+ :keyword))
+
+(defun type-size (smoke-type)
+ (if (class-p smoke-type)
+ (class-size (get-class smoke-type))
+ (foreign-type-size (type-foreign-keyword smoke-type))))