getlogin man page on CentOS

Man page or keyword search:  
man Server   8420 pages
apropos Keyword Search (all sections)
Output format
CentOS logo
[printable version]

GETLOGIN(P)		   POSIX Programmer's Manual		   GETLOGIN(P)

PROLOG
       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
       implementation of this interface may differ (consult the	 corresponding
       Linux  manual page for details of Linux behavior), or the interface may
       not be implemented on Linux.

NAME
       getlogin, getlogin_r - get login name

SYNOPSIS
       #include <unistd.h>

       char *getlogin(void);

       int getlogin_r(char *name, size_t namesize);

DESCRIPTION
       The getlogin() function shall return a pointer to a  string  containing
       the  user  name	associated  by the login activity with the controlling
       terminal of the current	process.  If  getlogin()  returns  a  non-null
       pointer,	 then  that pointer points to the name that the user logged in
       under, even if there are several login names with the same user ID.

       The getlogin() function need not be reentrant. A function that  is  not
       required to be reentrant is not required to be thread-safe.

       The  getlogin_r()  function  shall put the name associated by the login
       activity with the controlling terminal of the current  process  in  the
       character  array	 pointed  to by name. The array is namesize characters
       long and should have space for the name and the terminating null	 char‐
       acter. The maximum size of the login name is {LOGIN_NAME_MAX}.

       If getlogin_r() is successful, name points to the name the user used at
       login, even if there are several login names with the same user ID.

RETURN VALUE
       Upon successful completion, getlogin() shall return a  pointer  to  the
       login  name or a null pointer if the user's login name cannot be found.
       Otherwise, it shall return a null pointer and set errno to indicate the
       error.

       The return value from getlogin() may point to static data whose content
       is overwritten by each call.

       If successful, the getlogin_r() function shall return zero;  otherwise,
       an error number shall be returned to indicate the error.

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

       EMFILE {OPEN_MAX}  file	descriptors  are 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.

       The getlogin_r() function may fail if:

       ERANGE The  value  of namesize is smaller than the length of the string
	      to be returned including the terminating null character.

       The following sections are informative.

EXAMPLES
   Getting the User Login Name
       The following example calls the getlogin() function to obtain the  name
       of the user associated with the calling process, and passes this infor‐
       mation to the getpwnam() function to get the associated	user  database
       information.

	      #include <unistd.h>
	      #include <sys/types.h>
	      #include <pwd.h>
	      #include <stdio.h>
	      ...
	      char *lgn;
	      struct passwd *pw;
	      ...
	      if ((lgn = getlogin()) == NULL || (pw = getpwnam(lgn)) == NULL) {
		  fprintf(stderr, "Get of user information failed.\n"); exit(1);
		  }

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

       The  getlogin_r() function is thread-safe and returns values in a user-
       supplied buffer instead of possibly using a static data area  that  may
       be overwritten by each call.

RATIONALE
       The getlogin() function returns a pointer to the user's login name. The
       same user ID may be shared by several login names. If it is desired  to
       get  the	 user  database entry that is used during login, the result of
       getlogin() should be used to provide the	 argument  to  the  getpwnam()
       function. (This might be used to determine the user's login shell, par‐
       ticularly where a single user has multiple login shells	with  distinct
       login names, but the same user ID.)

       The  information	 provided  by the cuserid() function, which was origi‐
       nally defined in the POSIX.1-1988 standard  and	subsequently  removed,
       can be obtained by the following:

	      getpwuid(geteuid())

       while   the  information	 provided  by  historical  implementations  of
       cuserid() can be obtained by:

	      getpwuid(getuid())

       The thread-safe version of this function places	the  user  name	 in  a
       user-supplied buffer and returns a non-zero value if it fails. The non-
       thread-safe version may return the name in a static data area that  may
       be overwritten by each call.

FUTURE DIRECTIONS
       None.

SEE ALSO
       getpwnam()  ,  getpwuid() , geteuid() , getuid() , the Base Definitions
       volume of IEEE Std 1003.1-2001, <limits.h>, <unistd.h>

COPYRIGHT
       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),	The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard
       is  the	referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group		     2003			   GETLOGIN(P)
[top]

List of man pages available for CentOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net