posix-next API 0.1.0
Out-of-tree Zephyr POSIX module
Loading...
Searching...
No Matches
_POSIX_THREAD_SAFE_FUNCTIONS

POSIX Thread-Safe Functions option. More...

Files

file  grp.h
 POSIX group database access (<grp.h>)
 
file  pwd.h
 POSIX password database access (<pwd.h>)
 

Functions

int getgrnam_r (const char *name, struct group *grp, char *buffer, size_t bufsize, struct group **result)
 Look up a group entry by name (thread-safe).
 
int getgrgid_r (gid_t gid, struct group *grp, char *buffer, size_t bufsize, struct group **result)
 Look up a group entry by group ID (thread-safe).
 
int getenv_r (const char *name, char *buf, size_t len)
 Get an environment variable into a caller-supplied buffer (BSD extension).
 
int getpwnam_r (const char *nam, struct passwd *pwd, char *buffer, size_t bufsize, struct passwd **result)
 Look up a password entry by name (thread-safe).
 
int getpwuid_r (uid_t uid, struct passwd *pwd, char *buffer, size_t bufsize, struct passwd **result)
 Look up a password entry by user ID (thread-safe).
 
int getlogin_r (char *name, size_t namesize)
 Get the login name of the user into a caller-supplied buffer.
 
int ttyname_r (int fildes, char *name, size_t namesize)
 Get the name of the terminal into a caller-supplied buffer.
 

Detailed Description

POSIX Thread-Safe Functions option.

Covers getlogin_r(), ttyname_r(), strerror_r(), and other _r()-suffixed thread-safe function variants.

Function Documentation

◆ getenv_r()

int getenv_r ( const char *  name,
char *  buf,
size_t  len 
)

Get an environment variable into a caller-supplied buffer (BSD extension).

Thread-safe alternative to getenv().

Parameters
nameName of the environment variable.
bufBuffer to write the value into.
lenSize of buf.
Returns
0 on success, or a positive error number on failure (ENOENT if not set, ERANGE if buf is too small).
See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/getenv_r.html

◆ getgrgid_r()

int getgrgid_r ( gid_t  gid,
struct group grp,
char *  buffer,
size_t  bufsize,
struct group **  result 
)

Look up a group entry by group ID (thread-safe).

Parameters
gidNumerical group ID to search for.
grpCaller-supplied structure to fill in.
bufferCaller-supplied buffer for string fields.
bufsizeSize of buffer.
resultOutput: pointer to grp on success, or NULL if not found.
Returns
0 on success, or a positive error number on failure.
See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/getgrgid_r.html

◆ getgrnam_r()

int getgrnam_r ( const char *  name,
struct group grp,
char *  buffer,
size_t  bufsize,
struct group **  result 
)

Look up a group entry by name (thread-safe).

Parameters
nameGroup name to search for.
grpCaller-supplied structure to fill in.
bufferCaller-supplied buffer for string fields.
bufsizeSize of buffer.
resultOutput: pointer to grp on success, or NULL if not found.
Returns
0 on success, or a positive error number on failure.
See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/getgrnam_r.html

◆ getlogin_r()

int getlogin_r ( char *  name,
size_t  namesize 
)

Get the login name of the user into a caller-supplied buffer.

See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/getlogin_r.html

◆ getpwnam_r()

int getpwnam_r ( const char *  nam,
struct passwd pwd,
char *  buffer,
size_t  bufsize,
struct passwd **  result 
)

Look up a password entry by name (thread-safe).

Parameters
namUser login name to search for.
pwdCaller-supplied structure to fill in.
bufferCaller-supplied buffer for string fields.
bufsizeSize of buffer.
resultOutput: pointer to pwd on success, or NULL if not found.
Returns
0 on success, or a positive error number on failure.
See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/getpwnam_r.html

◆ getpwuid_r()

int getpwuid_r ( uid_t  uid,
struct passwd pwd,
char *  buffer,
size_t  bufsize,
struct passwd **  result 
)

Look up a password entry by user ID (thread-safe).

Parameters
uidNumerical user ID to search for.
pwdCaller-supplied structure to fill in.
bufferCaller-supplied buffer for string fields.
bufsizeSize of buffer.
resultOutput: pointer to pwd on success, or NULL if not found.
Returns
0 on success, or a positive error number on failure.
See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/getpwuid_r.html

◆ ttyname_r()

int ttyname_r ( int  fildes,
char *  name,
size_t  namesize 
)

Get the name of the terminal into a caller-supplied buffer.

See also
https://pubs.opengroup.org/onlinepubs/9699919799/functions/ttyname_r.html