summaryrefslogblamecommitdiffstats
path: root/man/man3/getusershell.3
blob: 77c7c04099c8a6d3b5d711ac501af53c5288980f (plain) (tree)
1
2
3
4
5
6
7
8
9
10
     

                                                           
                                                     





                                                                         
                                                        
        
                                                                     


                      


                      
  
                            
                           

                           
  
      

                                              
   
  


                    
   



                                                               
                                                                 
                                   
                                                             
   
               


                                            

                              

                                   


                 

                   
             



                        
  

                   

                 
  

                   

                 
                

                   
                                     
         
              
              



                                                         
         


                                     

   
                    
                    
                   

                                 
             

           
       
            
              
'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" References consulted:
.\"     Linux libc source code
.\"     Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\"     386BSD man pages
.\" Modified Sat Jul 24 19:17:53 1993 by Rik Faith (faith@cs.unc.edu)
.TH getusershell 3 (date) "Linux man-pages (unreleased)"
.SH NAME
getusershell, setusershell, endusershell \- get permitted user shells
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.B #include <unistd.h>
.P
.B char *getusershell(void);
.B void setusershell(void);
.B void endusershell(void);
.fi
.P
.RS -4
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.RE
.P
.BR getusershell (),
.BR setusershell (),
.BR endusershell ():
.nf
    Since glibc 2.21:
.\"             commit 266865c0e7b79d4196e2cc393693463f03c90bd8
        _DEFAULT_SOURCE
    In glibc 2.19 and 2.20:
        _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
    Up to and including glibc 2.19:
        _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
.fi
.SH DESCRIPTION
The
.BR getusershell ()
function returns the next line from the file
.IR /etc/shells ,
opening the file if necessary.
The line should contain
the pathname of a valid user shell.
If
.I /etc/shells
does not exist or
is unreadable,
.BR getusershell ()
behaves as if
.I /bin/sh
and
.I /bin/csh
were listed in the file.
.P
The
.BR setusershell ()
function rewinds
.IR /etc/shells .
.P
The
.BR endusershell ()
function closes
.IR /etc/shells .
.SH RETURN VALUE
The
.BR getusershell ()
function returns NULL on end-of-file.
.SH FILES
.I /etc/shells
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.TS
allbox;
lbx lb lb
l l l.
Interface	Attribute	Value
T{
.na
.nh
.BR getusershell (),
.BR setusershell (),
.BR endusershell ()
T}	Thread safety	MT-Unsafe
.TE
.SH STANDARDS
None.
.SH HISTORY
4.3BSD.
.SH SEE ALSO
.BR shells (5)