errno (sb-int:strerror errno))))))
(defun syscall-error ()
- (error 'sb-posix::syscall-error :errno (get-errno)))
+ (error 'sb-posix:syscall-error :errno (get-errno)))
;;; filesystem access
;;; uid, gid
(define-call "geteuid" sb-posix::uid-t not) ;"always successful", it says
-(define-call "getresuid" sb-posix::uid-t not)
+#+linux (define-call "getresuid" sb-posix::uid-t not)
(define-call "getuid" sb-posix::uid-t not)
(define-call "seteuid" int minusp (uid sb-posix::uid-t))
#+linux (define-call "setfsuid" int minusp (uid sb-posix::uid-t))
(define-call "setreuid" int minusp
(ruid sb-posix::uid-t) (euid sb-posix::uid-t))
-(define-call "setresuid" int minusp
+#+linux (define-call "setresuid" int minusp
(ruid sb-posix::uid-t) (euid sb-posix::uid-t)
(suid sb-posix::uid-t))
(define-call "setuid" int minusp (uid sb-posix::uid-t))
(define-call "getegid" sb-posix::gid-t not)
(define-call "getgid" sb-posix::gid-t not)
-(define-call "getresgid" sb-posix::gid-t not)
+#+linux (define-call "getresgid" sb-posix::gid-t not)
(define-call "setegid" int minusp (gid sb-posix::gid-t))
#+linux (define-call "setfsgid" int minusp (gid sb-posix::gid-t))
(define-call "setgid" int minusp (gid sb-posix::gid-t))
(define-call "setregid" int minusp
(rgid sb-posix::gid-t) (egid sb-posix::gid-t))
-(define-call "setresgid" int minusp
+#+linux (define-call "setresgid" int minusp
(rgid sb-posix::gid-t)
(egid sb-posix::gid-t) (sgid sb-posix::gid-t))
(define-call "setpgid" int minusp
(pid sb-posix::pid-t) (pgid sb-posix::pid-t))
(define-call "setpgrp" int minusp)
+
+;;; mmap
+(define-call "mmap" sb-sys:system-area-pointer
+ ;; KLUDGE: #XFFFFFFFF is (void *)-1, which is the charming return
+ ;; value of mmap on failure. Except on 64 bit systems ...
+ (lambda (res)
+ (= (sb-sys:sap-int res) #-alpha #XFFFFFFFF #+alpha #xffffffffffffffff))
+ (addr sap-or-nil) (length unsigned) (prot unsigned)
+ (flags unsigned) (fd file-descriptor) (offset int))
+
+(define-call "munmap" int minusp
+ (start sb-sys:system-area-pointer) (length unsigned))
+
+(define-call "getpagesize" int minusp)
+