unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



getlogin(2)							  getlogin(2)



NAME

  getlogin, getlogin_r,	setlogin - Gets	and sets login name

SYNOPSIS

  #include <&lt;unistd.h>&gt;

  char *getlogin(void);

  int getlogin_r(
	  char *name,
	  size_t len);

  int setlogin(
	  char *name);

  The following	function does not conform to current standards and is sup-
  ported only for backward compatibility:

  int getlogin_r(char *name, int len);

STANDARDS

  Interfaces documented	on this	reference page conform to industry standards
  as follows:

  getlogin(), getlogin_r(): XSH5.0

  Refer	to the standards(5) reference page for more information	about indus-
  try standards	and associated tags.

PARAMETERS

  name	    Points to the login	name.

  len	    Specifies the length of the	buffer pointed to by name.

DESCRIPTION

  The getlogin() function returns the login name of the	user associated	with
  the current session.	The name is normally associated	with a login shell at
  the time a session is	created, and is	inherited by all processes descended
  from the login shell.	 (This is true even if some of those processes assume
  another user ID, for example when the	su command is used.)

  The setlogin() function sets the login name of the user associated with the
  current session to name.  This call is restricted to the superuser, and is
  normally used	only when a new	session	is being created on behalf of the
  named	user (for example, at login time, or when a remote shell is invoked).

  The getlogin_r() function is the reentrant version of	getlogin().  Upon
  successful completion, the login name	is stored in name.

RETURN VALUES

  Upon successful completion, the getlogin() function returns a	pointer	to a
  null-terminated string in a static buffer or a null pointer if the user's
  login	name cannot be found.  If getlogin() fails, a null pointer is
  returned, and	errno is set to	indicate the error.

  Upon successful completion, the setlogin() function returns a	value of 0
  (zero).  If setlogin() fails,	then a value of	-1 is returned and an error
  code is placed in errno.

  Upon successful completion, the getlogin_r() function	returns	a value	of 0
  (zero).  Otherwise, an error number is returned.

  [Tru64 UNIX]	Upon successful	completion, the	obsolete version of the
  getlogin_r() function	returns	a value	of 0 (zero).  Otherwise, -1 is
  returned and errno is	set to indicate	the error.

ERRORS

  If the getlogin(), getlogin_r(), or setlogin() function fails, errno may be
  set to one of	the following values:

  [EFAULT]  [Tru64 UNIX]  The name parameter gave an invalid address.

  [EINVAL]  [Tru64 UNIX]  The name parameter pointed to	a string that was too
	    long.

	    [Tru64 UNIX]  Login	names are limited to 64	characters, as speci-
	    fied by MAXLOGNAME (which is defined in sys/user.h). However,
	    this name limit must be enabled in the kernel at boot time by
	    explicitly setting the generic subsystem's login_name_max attri-
	    bute to 64.	For backward compatibility reasons, 12 is the default
	    value of the login_name_max	attribute.

  An additional	value for a setlogin() failure is the following:

  [EPERM]   [Tru64 UNIX]   The caller tried to set the login name and was not
	    the	superuser.

RELATED	INFORMATION

  Commands: su(1)

  Functions: setsid(2)

  Standards: standards(5)