getlogin(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

getlogin(3c)

Standard C Library Functions                                      getlogin(3C)



NAME
       getlogin, getlogin_r - get login name

SYNOPSIS
       #include <unistd.h>

       char *getlogin(void);


       int getlogin_r(char *name, size_t namesize);


       POSIX.1c Draft 6
              cc [ flag ... ] file... -D__USE_DRAFT6_PROTOTYPES__ [ library ... ]
       char *getlogin_r(char *name, int namelen);

DESCRIPTION
       The getlogin() function returns a pointer to the login name as found in
       /var/adm/utmpx. It can be used  in  conjunction  with  getpwnam(3C)  to
       locate  the correct password file entry when the same user ID is shared
       by several login names.


       If getlogin() is called within a process that is not attached to a ter‐
       minal, it returns a null pointer. The correct procedure for determining
       the login name is to call cuserid(3C), or to call getlogin() and if  it
       fails to call getpwuid(3C).


       The  getlogin_r()  function  has  the  same functionality as getlogin()
       except that the caller must supply a buffer name with size namesize  to
       store    the    result.    The   name   buffer   must   be   at   least
       _POSIX_LOGIN_NAME_MAX bytes in size (defined in <limits.h>).

RETURN VALUES
       Upon successful completion, getlogin() returns a pointer to  the  login
       name or a null pointer if the user's login name cannot be found. Other‐
       wise it returns a null pointer and sets errno to indicate the error.


       The getlogin_r() function returns 0 if successful, or the error  number
       upon failure. It does not set errno.

ERRORS
       The getlogin_r() function will fail if:

       ERANGE    The  size  of  the  buffer  is  smaller than the result to be
                 returned.


       EINVAL    And  entry  for  the  current  user  was  not  found  in  the
                 /var/adm/utmpx file.



       The getlogin() and getlogin_r() functions may fail if:

       EMFILE    There  are  {OPEN_MAX} file descriptors currently open in the
                 calling process.


       ENFILE    The maximum allowable number of files is  currently  open  in
                 the system.


       ENXIO     The calling process has no controlling terminal.


USAGE
       The  return  value  of  getlogin() points to thread-specific data whose
       content is overwritten on each call by the same thread.


       Three names associated with the current process can be determined: get‐
       pwuid(geteuid()) returns the name associated with the effective user ID
       of the process; getlogin() returns the name associated with the current
       login activity; and getpwuid(getuid()) returns the name associated with
       the real user ID of the process.

FILES
       /var/adm/utmpx    user access and administration information


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE  VALUE  _  Interface StabilityCommitted _ MT-LevelSee below.  _
       StandardSee standards(7).


SEE ALSO
       geteuid(2), getuid(2), getpwnam(3C), cuserid(3C),  getgrnam(3C),  getp‐
       wuid(3C), utmpx(5), attributes(7), standards(7)

NOTES
       The  getlogin()  function is safe to use in multithreaded applications,
       but is discouraged. The getlogin_r() function should be used instead.


       Prior to Oracle Solaris 11.4, the default compilation environment  pro‐
       vided  a  definition  of  the  getlogin_r()  function  as  specified in
       POSIX.1c Draft 6. The final POSIX.1c standard changed the interface for
       getlogin_r().  To allow applications that were written to use the obso‐
       lete Draft-6 interfaces  to  continue  to  be  compiled  and  run,  the
       __USE_DRAFT6_PROTOTYPES__ macro must be defined:

         cc -D__USE_DRAFT6_PROTOTYPES__ ...



       Support for the Draft-6 interfaces is provided for source compatibility
       only and might not be supported in future  releases.  Old  applications
       should be converted to use the standard definitions.



Oracle Solaris 11.4               17 Aug 2018                     getlogin(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3