NAME
devname,
devname_r —
get device name
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <stdlib.h>
#include <sys/stat.h>
char *
devname(
dev_t
dev,
mode_t type);
int
devname_r(
dev_t
dev,
mode_t type,
char *path,
size_t len);
DESCRIPTION
The
devname() function returns a pointer to the static buffer
with the name of the block or character device in
“
/dev” with a device number of
dev, and a file type matching the one encoded in
type which must be one of S_IFBLK or S_IFCHR. If no
device matches the specified values, or no information is available,
NULL
is returned.
The
devname_r() function is a reentrant and thread-safe
version of
devname(). This function returns the device name
by copying it into the
path argument with up to
len characters. The
path argument
is always nul-terminated.
The traditional display for applications when no device is found is the string
“??”.
RETURN VALUES
If successful,
devname() returns a pointer to a nul-terminated
string containing the name of the device. If an error occurs
devname will return
NULL
.
If successful,
devname_r() places a nul-terminated string
containing the name of the device in the buffer pointed to by
path and returns 0. If an error occurs
devname_r() will return an error number from
<sys/errno.h> indicating what went
wrong.
FILES
- /var/run/dev.cdb
- Device database file.
ERRORS
The
devname_r() function may fail if:
-
-
- [
ENOENT
]
- The corresponding device does not exist.
-
-
- [
ERANGE
]
- The passed buffer length is too short.
SEE ALSO
stat(2),
dev_mkdb(8)
HISTORY
The
devname function call appeared in
4.4BSD.
The
devname_r() function first appeared in
NetBSD 6.0.