long, integer and time_t are now extracted and entered with enter/extract_integer to skip this ugly hi8/lo24 stuff
This commit is contained in:
parent
54728b3d0e
commit
03d8bfa284
23
cig/cig.scm
23
cig/cig.scm
|
@ -141,12 +141,19 @@
|
||||||
;;; closed in the macro expander's environment, so the user won't lose
|
;;; closed in the macro expander's environment, so the user won't lose
|
||||||
;;; if he should accidentally bind INTEGER? to something unusual, and
|
;;; if he should accidentally bind INTEGER? to something unusual, and
|
||||||
;;; then try a DEFINE-FOREIGN.
|
;;; then try a DEFINE-FOREIGN.
|
||||||
|
|
||||||
|
;;; WARNING: the xxx_t are not yet adapted to the new FFI, only time_t,
|
||||||
|
;;; long and int are entered via enter/extract_integer, which converts to a
|
||||||
|
;;; bignum if appropriate.
|
||||||
|
;;; Since this requires runtime-checks it is slower than the _integer's
|
||||||
|
;;; You have to check, where more than 29 bits is required
|
||||||
|
|
||||||
(define *simple-argrep-alist* '(
|
(define *simple-argrep-alist* '(
|
||||||
|
|
||||||
(char #("char ~a" char? "s48_extract_char" #f))
|
(char #("char ~a" char? "s48_extract_char" #f))
|
||||||
(bool #("int ~a" #f "EXTRACT_BOOLEAN" #f))
|
(bool #("int ~a" #f "EXTRACT_BOOLEAN" #f))
|
||||||
|
|
||||||
(integer #("int ~a" integer? "s48_extract_fixnum" #f))
|
(integer #("int ~a" integer? "s48_extract_integer" #f))
|
||||||
(short_u #("unsigned short ~a" integer? "s48_extract_fixnum" #f))
|
(short_u #("unsigned short ~a" integer? "s48_extract_fixnum" #f))
|
||||||
(size_t #("size_t ~a" integer? "s48_extract_fixnum" #f))
|
(size_t #("size_t ~a" integer? "s48_extract_fixnum" #f))
|
||||||
(mode_t #("mode_t ~a" integer? "s48_extract_fixnum" #f))
|
(mode_t #("mode_t ~a" integer? "s48_extract_fixnum" #f))
|
||||||
|
@ -154,10 +161,13 @@
|
||||||
(uid_t #("uid_t ~a" integer? "s48_extract_fixnum" #f))
|
(uid_t #("uid_t ~a" integer? "s48_extract_fixnum" #f))
|
||||||
(off_t #("off_t ~a" integer? "s48_extract_fixnum" #f))
|
(off_t #("off_t ~a" integer? "s48_extract_fixnum" #f))
|
||||||
(pid_t #("pid_t ~a" integer? "s48_extract_fixnum" #f))
|
(pid_t #("pid_t ~a" integer? "s48_extract_fixnum" #f))
|
||||||
(uint_t #("unsigned int ~a" integer? "s48_extract_fixnum" #f))
|
(uint_t #("unsigned int ~a" integer? "s48_extract_integer" #f))
|
||||||
(long #("long ~a" integer? "s48_extract_fixnum" #f))
|
(long #("long ~a" integer? "s48_extract_integer" #f))
|
||||||
(fixnum #("int ~a" fixnum? "s48_extract_fixnum" #f))
|
(fixnum #("int ~a" fixnum? "s48_extract_fixnum" #f))
|
||||||
|
|
||||||
|
;; extensions by JMG for the new FFI
|
||||||
|
(time_t #("time_t ~a" integer? "s48_extract_integer" #f))
|
||||||
|
|
||||||
(desc #("s48_value ~a" #f "" #f))
|
(desc #("s48_value ~a" #f "" #f))
|
||||||
(string-desc #("s48_value ~a" string? "" #f))
|
(string-desc #("s48_value ~a" string? "" #f))
|
||||||
(char-desc #("s48_value ~a" char? "" #f))
|
(char-desc #("s48_value ~a" char? "" #f))
|
||||||
|
@ -194,7 +204,7 @@
|
||||||
(bool #("int ~a" "ENTER_BOOLEAN" #f #f #f)) ;; JMG c and bool:
|
(bool #("int ~a" "ENTER_BOOLEAN" #f #f #f)) ;; JMG c and bool:
|
||||||
; s48 knows nothing about this I think
|
; s48 knows nothing about this I think
|
||||||
|
|
||||||
(integer #("int ~a" "s48_enter_fixnum" #f #f #f))
|
(integer #("int ~a" "s48_enter_integer" #f #f #f))
|
||||||
(fixnum #("int ~a" "s48_enter_fixnum" #f #f #f))
|
(fixnum #("int ~a" "s48_enter_fixnum" #f #f #f))
|
||||||
(short_u #("unsigned short ~a" "s48_enter_fixnum" #f #f #f))
|
(short_u #("unsigned short ~a" "s48_enter_fixnum" #f #f #f))
|
||||||
(size_t #("size_t ~a" "s48_enter_fixnum" #f #f #f))
|
(size_t #("size_t ~a" "s48_enter_fixnum" #f #f #f))
|
||||||
|
@ -204,7 +214,10 @@
|
||||||
(off_t #("off_t ~a" "s48_enter_fixnum" #f #f #f))
|
(off_t #("off_t ~a" "s48_enter_fixnum" #f #f #f))
|
||||||
(pid_t #("pid_t ~a" "s48_enter_fixnum" #f #f #f))
|
(pid_t #("pid_t ~a" "s48_enter_fixnum" #f #f #f))
|
||||||
(uint_t #("unsigned int ~a" "s48_enter_fixnum" #f #f #f))
|
(uint_t #("unsigned int ~a" "s48_enter_fixnum" #f #f #f))
|
||||||
(long #("long ~a" "s48_enter_fixnum" #f #f #f))
|
(long #("long ~a" "s48_enter_integer" #f #f #f))
|
||||||
|
|
||||||
|
; Extension by JMG with the new FFI
|
||||||
|
(time_t #("time_t ~a" "s48_enter_integer" #f #f #f))
|
||||||
|
|
||||||
(desc #("s48_value ~a" "" #f #f #f))
|
(desc #("s48_value ~a" "" #f #f #f))
|
||||||
(string-desc #("s48_value ~a" "" #f #f #f))
|
(string-desc #("s48_value ~a" "" #f #f #f))
|
||||||
|
|
Loading…
Reference in New Issue