original commit: 0f10e557c6cef1aa3966c273a15ee22bf9877243
This commit is contained in:
Matthew Flatt 2005-04-19 02:27:13 +00:00
parent 53d71d0bc1
commit 8cf48bf54d

View File

@ -14,22 +14,19 @@
(delay (and (eq? 'windows (system-type)) (delay (and (eq? 'windows (system-type))
(ffi-lib "kernel32")))) (ffi-lib "kernel32"))))
(define (delay-ffi-obj name lib type default-result) (define (delay-ffi-obj name lib type)
(delay (get-ffi-obj name lib type (lambda () (delay (get-ffi-obj name lib type)))
(lambda () default-result)))))
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; gethostbyname ;; gethostbyname
(define unix-gethostname (define unix-gethostname
(delay-ffi-obj "gethostname" #f (delay-ffi-obj "gethostname" #f
(_fun _bytes _int -> _int) (_fun _bytes _int -> _int)))
-1))
(define windows-getcomputername (define windows-getcomputername
(delay-ffi-obj "GetComputerNameExA" (force kernel32) (delay-ffi-obj "GetComputerNameExA" (force kernel32)
(_fun _int _bytes _cvector -> _int) (_fun _int _bytes _cvector -> _int)))
0))
(define (gethostname) (define (gethostname)
(case (system-type) (case (system-type)
@ -56,13 +53,11 @@
(define unix-getpid (define unix-getpid
(delay-ffi-obj "getpid" #f (delay-ffi-obj "getpid" #f
(_fun -> _int) (_fun -> _int)))
#f))
(define windows-getpid (define windows-getpid
(delay-ffi-obj "GetCurrentProcessId" (force kernel32) (delay-ffi-obj "GetCurrentProcessId" (force kernel32)
(_fun -> _int) (_fun -> _int)))
#f))
(define (getpid) (define (getpid)
(case (system-type) (case (system-type)