X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-posix%2Finterface.lisp;h=802593030993f55b07abe3bcf91d5df329b5924e;hb=8369a441bfd49566e70939c25f42f8d1f5423e4e;hp=f8eef1fdaadba2f0aba61895e89204fd7c24e8cd;hpb=ad4b18f5d843d91cc48c9b6cc936a6c7be5fce27;p=sbcl.git diff --git a/contrib/sb-posix/interface.lisp b/contrib/sb-posix/interface.lisp index f8eef1f..8025930 100644 --- a/contrib/sb-posix/interface.lisp +++ b/contrib/sb-posix/interface.lisp @@ -281,26 +281,35 @@ ;; uid, gid (define-call "geteuid" uid-t never-fails) ; "always successful", it says -#-sunos (define-call "getresuid" uid-t never-fails) + #-sunos + (define-call "getresuid" uid-t never-fails) (define-call "getuid" uid-t never-fails) (define-call "seteuid" int minusp (uid uid-t)) -#-sunos (define-call "setfsuid" int minusp (uid uid-t)) + #-sunos + (define-call "setfsuid" int minusp (uid uid-t)) (define-call "setreuid" int minusp (ruid uid-t) (euid uid-t)) -#-sunos (define-call "setresuid" int minusp (ruid uid-t) (euid uid-t) (suid uid-t)) + #-sunos + (define-call "setresuid" int minusp (ruid uid-t) (euid uid-t) (suid uid-t)) (define-call "setuid" int minusp (uid uid-t)) (define-call "getegid" gid-t never-fails) (define-call "getgid" gid-t never-fails) -#-sunos (define-call "getresgid" gid-t never-fails) + #-sunos + (define-call "getresgid" gid-t never-fails) (define-call "setegid" int minusp (gid gid-t)) -#-sunos (define-call "setfsgid" int minusp (gid gid-t)) + #-sunos + (define-call "setfsgid" int minusp (gid gid-t)) (define-call "setgid" int minusp (gid gid-t)) (define-call "setregid" int minusp (rgid gid-t) (egid gid-t)) -#-sunos (define-call "setresgid" int minusp (rgid gid-t) (egid gid-t) (sgid gid-t)) + #-sunos + (define-call "setresgid" int minusp (rgid gid-t) (egid gid-t) (sgid gid-t)) ;; processes, signals (define-call "alarm" int never-fails (seconds unsigned)) - + ;; exit and abort, not much point inlining these + (define-simple-call abort void) + (define-simple-call exit void (status int)) + (define-simple-call _exit void (status int)) ;; FIXME this is a lie, of course this can fail, but there's no ;; error handling here yet! @@ -743,8 +752,9 @@ not supported." result))) (export 'utime :sb-posix) (defun utime (filename &optional access-time modification-time) - (let ((fun (extern-alien "utime" (function int (c-string :not-null t) - (* alien-utimbuf)))) + (let ((fun (extern-alien #-netbsd "utime" #+netbsd "_utime" + (function int (c-string :not-null t) + (* alien-utimbuf)))) (name (filename filename))) (if (not (and access-time modification-time)) (alien-funcall fun name nil)