CUSERID(3) | Library Functions Manual | CUSERID(3)

# NAME

`cuserid` —
get user name

# LIBRARY

Compatibility Library (libcompat, -lcompat)

# SYNOPSIS

`#include <stdio.h>`

char *
`cuserid`(char *buf);

# DESCRIPTION

This interface is available from the compatibility library, libcompat and has been obsoleted by getlogin(2).

The `cuserid`() function returns a character string representation of the user name associated with the effective user ID of the calling process.

If buf is not the `NULL` pointer, the user name is copied into the memory referenced by buf. The argument buf is assumed to point to an array at least `L_cuserid` (as defined in the include file `<stdio.h>`) bytes long. Otherwise, the user name is copied to a static buffer.

# RETURN VALUES

If buf is not the `NULL` pointer, buf is returned; otherwise the address of the static buffer is returned.

If the user name could not be determined, if buf is not the `NULL` pointer, the null character ‘\0’ will be stored at *buf; otherwise the `NULL` pointer is returned.

# SEE ALSO

getlogin(2), getpwent(3)

# STANDARDS

The `cuserid`() function conforms to IEEE Std 1003.1-1988 (“POSIX.1”).

# BUGS

Due to irreconcilable differences in historic implementations, `cuserid`() was removed from the IEEE Std 1003.1-1990 (“POSIX.1”) standard. This implementation exists purely for compatibility with existing programs. New programs should use one of the following three alternatives to obtain the user name:

1. `getlogin`() to return the user's login name.
2. `getpwuid`(`geteuid`()) to return the user name associated with the calling process' effective user ID.
3. `getpwuid`(`getuid`()) to return the user name associated with the calling process' real user ID.

November 28, 1993 | NetBSD 9.2