r10936: 08 May 2006 Kevin Rosenberg <kevin@rosenberg.net>
[clsql.git] / db-oracle / oracle-api.lisp
index 454011fafc5d81f97c63c4cbb8fab72264545c4f..3b0a7ee431c8f9c0b9ac2dae38850427af720971 100644 (file)
 (uffi:def-foreign-type oci-svc-ctx :pointer-void)
 (uffi:def-foreign-type oci-stmt :pointer-void)
 
-
-(defvar +null-void-pointer+ (uffi:make-null-pointer :void))
-(defvar +null-void-pointer-pointer+ (uffi:make-null-pointer :pointer-void))
+(uffi:def-pointer-var +null-void-pointer+
+  (uffi:make-null-pointer :void))
+(uffi:def-pointer-var +null-void-pointer-pointer+
+  (uffi:make-null-pointer :pointer-void))
 
 ;;; Check an OCI return code for erroricity and signal a reasonably
 ;;; informative condition if so.
@@ -65,7 +66,7 @@
           (if (= result #.+oci-success+)
               +oci-success+
               (handle-oci-result result database nulls-ok)))))))
-  
+
 
 (defmacro def-raw-oci-routine
   ((c-oci-symbol lisp-oci-fn) c-return &rest c-parms)
@@ -92,7 +93,7 @@
   (mode ub4)                                   ; ub4
   (xtramem-sz size_t)            ; size_t
   (usermempp (* :pointer-void)))                    ; dvoid **
-  
+
 #-oci7
 (def-oci-routine ("OCIEnvCreate" oci-env-create)
     :int
   (envhp        :pointer-void)         ; env
   (errhp        :pointer-void)         ; err
   (svchpp       (* :pointer-void))     ; svc
-  (username     :cstring)              ; username
+  (username     (* :unsigned-char))    ; username
   (uname-len    ub4)                   ;
-  (passwd       :cstring)              ; passwd
+  (passwd       (* :unsigned-char))    ; passwd
   (password-len ub4)                   ;
-  (dsn          :cstring)              ; datasource
+  (dsn          (* :unsigned-char))    ; datasource
   (dsn-len      ub4))                  ;
 
 (def-oci-routine ("OCILogoff" oci-logoff)
     :int
   (stmtp      :pointer-void)
   (errhp      :pointer-void)
-  (stmt       :cstring)
+  (stmt       (* :unsigned-char))
   (stmt_len   ub4)
   (language   ub4)
   (mode       ub4))
   (position   ub4)
   (valuep     :pointer-void)
   (value_sz   sb4)
-  (dty        ub2)         
+  (dty        ub2)
   (indp       (* sb2))
-  (rlenp      (* ub2))          
-  (rcodep     (* ub2))          
+  (rlenp      (* ub2))
+  (rcodep     (* ub2))
   (mode       ub4))
 
 (def-oci-routine ("OCIStmtFetch" oci-stmt-fetch)
   :returning :int)
 
 
-(uffi:def-function "OCIHandleAlloc" 
+(uffi:def-function "OCIHandleAlloc"
     ((parenth      :pointer-void)              ; const dvoid *
      (hndlpp       (* :pointer-void))          ; dvoid **
      (type         ub4)                                ; ub4