Index: /branches/objc-gf/ccl/lib/db-io.lisp
===================================================================
--- /branches/objc-gf/ccl/lib/db-io.lisp	(revision 6050)
+++ /branches/objc-gf/ccl/lib/db-io.lisp	(revision 6051)
@@ -1725,2 +1725,31 @@
       (let* ((r (%load-foreign-record (db-records d) name ftd already)))
 	(when r (return r))))))
+
+
+;;;
+;;; Defining the handful of foreign structures that are used
+;;; to build OpenMCL here ensures that all backends see appropriate
+;;; definitions of them.
+;;;
+(def-foreign-type nil
+    (:struct :cdb-datum
+             (:data (* t))
+             (:size (:unsigned 32))))
+
+(def-foreign-type nil
+    (:struct :dbm-constant
+             (:class (:unsigned 32))
+             (:pad (:unsigned 32))
+             (:value
+              (:union nil
+                      (:s32 (:signed 32))
+                      (:u32 (:unsigned 32))
+                      (:single-float :float)
+                      (:double-float :double)))))
+;;; This matches the xframe-list struct definition in
+;;; "ccl:lisp-kernel;constants.h"
+(def-foreign-type nil
+    (struct :xframe-list
+            (this (* t #|(struct :ucontext)|#))
+            (prev (* (struct  :xframe-list)))))
+
