getlogin_r()

Updated: April 19, 2023

Get the user name associated with the calling process

Synopsis:

#include <unistd.h>

int getlogin_r( char* name, 
                size_t namesize );

Arguments:

name
A buffer where the function can store the user name.
namesize
The size of the buffer.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The getlogin_r() function puts the login name of the user associated with the calling 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 character. The maximum size of the login name is _POSIX_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.

Returns:

EOK
Success.
ERANGE
Insufficient storage was supplied via the name and namesize arguments to contain the user's name.

Classification:

POSIX 1003.1

Safety:  
Cancellation point Yes
Interrupt handler No
Signal handler No
Thread Yes