Raymond Toy pushed to branch issue-393-os-common-getpwuid at cmucl / cmucl

Commits:

2 changed files:

Changes:

  • src/contrib/unix/unix-glibc2.lisp
    ... ... @@ -219,6 +219,16 @@
    219 219
           (gr-gid gid-t)                    ; numerical group ID
    
    220 220
           (gr-mem (* (* char)))))           ; vector of pointers to member names
    
    221 221
     
    
    222
    +(def-alien-type nil
    
    223
    +    (struct passwd
    
    224
    +	    (pw-name (* char))          ; user's login name
    
    225
    +	    (pw-passwd (* char))        ; no longer used
    
    226
    +	    (pw-uid uid-t)              ; user id
    
    227
    +	    (pw-gid gid-t)              ; group id
    
    228
    +	    (pw-gecos (* char))         ; typically user's full name
    
    229
    +	    (pw-dir (* char))           ; user's home directory
    
    230
    +	    (pw-shell (* char))))       ; user's login shell
    
    231
    +
    
    222 232
     ;;; From stdio.h
    
    223 233
     
    
    224 234
     ;;; From sys/types.h
    

  • src/contrib/unix/unix.lisp
    ... ... @@ -629,6 +629,35 @@
    629 629
     
    
    630 630
     
    
    631 631
     ;;;; User and group database access, POSIX Standard 9.2.2
    
    632
    +;; see <pwd.h>
    
    633
    +#+solaris
    
    634
    +(def-alien-type nil
    
    635
    +    (struct passwd
    
    636
    +	    (pw-name (* char))          ; user's login name
    
    637
    +	    (pw-passwd (* char))        ; no longer used
    
    638
    +	    (pw-uid uid-t)              ; user id
    
    639
    +	    (pw-gid gid-t)              ; group id
    
    640
    +	    (pw-age (* char))           ; password age (not used)
    
    641
    +	    (pw-comment (* char))       ; not used
    
    642
    +	    (pw-gecos (* char))         ; typically user's full name
    
    643
    +	    (pw-dir (* char))           ; user's home directory
    
    644
    +	    (pw-shell (* char))))       ; user's login shell
    
    645
    +
    
    646
    +#+bsd
    
    647
    +(def-alien-type nil
    
    648
    +    (struct passwd
    
    649
    +	    (pw-name (* char))          ; user's login name
    
    650
    +	    (pw-passwd (* char))        ; no longer used
    
    651
    +	    (pw-uid uid-t)              ; user id
    
    652
    +	    (pw-gid gid-t)              ; group id
    
    653
    +            (pw-change int)             ; password change time
    
    654
    +            (pw-class (* char))         ; user access class
    
    655
    +	    (pw-gecos (* char))         ; typically user's full name
    
    656
    +	    (pw-dir (* char))           ; user's home directory
    
    657
    +	    (pw-shell (* char))         ; user's login shell
    
    658
    +            (pw-expire int)             ; account expiration
    
    659
    +            #+(or freebsd darwin)
    
    660
    +	    (pw-fields int)))           ; internal
    
    632 661
     
    
    633 662
     #+solaris
    
    634 663
     (defun unix-getpwnam (login)