(define-call* "unlink" int minusp (pathname filename))
(define-call #-netbsd "opendir" #+netbsd "_opendir"
(* t) null-alien (pathname filename))
+#+inode64
+(define-call ("readdir" :c-name "readdir$INODE64" :options :largefile)
+ (* dirent)
+ ;; readdir() has the worst error convention in the world. It's just
+ ;; too painful to support. (return is NULL _and_ errno "unchanged"
+ ;; is not an error, it's EOF).
+ not
+ (dir (* t)))
+#-inode64
(define-call (#-netbsd "readdir" #+netbsd "_readdir" :options :largefile)
(* dirent)
;; readdir() has the worst error convention in the world. It's just
;; uid, gid
(define-call "geteuid" uid-t never-fails) ; "always successful", it says
- (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))
- (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))
- (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)
- (define-call "getresgid" gid-t never-fails)
+#-sunos (define-call "getresgid" gid-t never-fails)
(define-call "setegid" int minusp (gid gid-t))
- (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))
- (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))