r2913: *** empty log message ***
[clsql.git] / db-mysql / mysql-api.cl
index 59a395b0b46c570bfd3be372e4f2772e34202f6f..b58c8b010fd1c2ff72d36b02c85d56c5a950fd99 100644 (file)
@@ -8,7 +8,7 @@
 ;;;;                Original code by Pierre R. Mai 
 ;;;; Date Started:  Feb 2002
 ;;;;
-;;;; $Id: mysql-api.cl,v 1.1 2002/09/18 07:43:40 kevin Exp $
+;;;; $Id: mysql-api.cl,v 1.3 2002/09/30 02:45:16 kevin Exp $
 ;;;;
 ;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;; and Copyright (c) 1999-2001 by Pierre R. Mai
@@ -75,9 +75,9 @@
   (size :unsigned-int))
 
 (uffi:def-struct mysql-mem-root
-    (free (* mysql-used-mem))
-  (used (* mysql-used-mem))
-  (pre-alloc (* mysql-used-mem))
+    (free (:struct-pointer mysql-used-mem))
+  (used (:struct-pointer mysql-used-mem))
+  (pre-alloc (:struct-pointer mysql-used-mem))
   (min-alloc :unsigned-int)
   (block-size :unsigned-int)
   (error-handler :pointer-void))
 ;;; MYSQL-ROWS
 
 (uffi:def-array-pointer mysql-row (* :unsigned-char))
+
 (uffi:def-array-pointer mysql-field-vector (* mysql-field))
 
 (uffi:def-foreign-type mysql-field-offset :unsigned-int)
     (next :pointer-self)
   (data mysql-row))
 
-(uffi:def-foreign-type mysql-row-offset (* mysql-rows))
+(uffi:def-foreign-type mysql-row-offset (:struct-pointer mysql-rows))
 
 (uffi:def-struct mysql-data
     (rows-high32 :unsigned-long)
   (rows-low32 :unsigned-long)
   (fields :unsigned-int)
-  (data (* mysql-rows))
-  (alloc mysql-mem-root))
+  (data (:struct-pointer mysql-rows))
+  (alloc (:struct mysql-mem-root)))
 
 ;;; MYSQL
 (uffi:def-struct mysql-options
      :use-result))
 
 (uffi:def-struct mysql-mysql
-    (net mysql-net)
+    (net (:struct mysql-net))
   (connected-fd (* :char))
   (host (* :char))
   (user (* :char))
   (extra-info-low32 :unsigned-long)
   (packet-length :unsigned-long)
   (status mysql-status)
-  (fields (* mysql-field))
-  (field-alloc mysql-mem-root)
+  (fields (:struct-pointer mysql-field))
+  (field-alloc (:struct mysql-mem-root))
   (free-me mysql-bool)
   (reconnect mysql-bool)
-  (options mysql-options)
+  (options (:struct mysql-options))
   (scramble-buff (:array :char 9))
   (charset :pointer-void)
   (server-language :unsigned-int))
   (row-count-low32 :unsigned-long)
   (field-count :unsigned-int)
   (current-field :unsigned-int)
-  (fields (* mysql-field))
-  (data (* mysql-data))
-  (data-cursor (* mysql-rows))
-  (field-alloc mysql-mem-root)
+  (fields (:struct-pointer mysql-field))
+  (data (:struct-pointer mysql-data))
+  (data-cursor (:struct-pointer mysql-rows))
+  (field-alloc (:struct mysql-mem-root))
   (row mysql-row)
   (current-row mysql-row)
   (lengths (* :unsigned-long))
-  (handle (* mysql-mysql))
+  (handle (:struct-pointer mysql-mysql))
   (eof mysql-bool))
 
 ;;;; The Foreign C routines
 (uffi:def-function "mysql_fetch_row"
     ((res (* mysql-mysql-res)))
   :module "mysql"
-  :returning mysql-row)
+  :returning (* (* :unsigned-char)))
 
 (declaim (inline mysql-fetch-lengths))
 (uffi:def-function "mysql_fetch_lengths"
 (uffi:def-function "mysql_fetch_fields"
   ((res (* mysql-mysql-res)))
   :module "mysql"
-  :returning mysql-field-vector)
+  :returning (* mysql-field))
 
 (declaim (inline mysql-fetch-field-direct))
 (uffi:def-function "mysql_fetch_field_direct"
 (defun mysql-data-seek (res offset)
   (multiple-value-bind (high32 low32) (split-64-bit-integer offset)
     (clsql-mysql-data-seek res high32 low32)))
-