GETDEVMAJOR(3)

NAME
getdevmajor - get block or character device major number

LIBRARY
libc

SYNOPSIS
#include <stdlib.h>
#include <sys/stat.h>
dev_t
getdevmajor(const char *name, mode_t type);

DESCRIPTION
The getdevmajor() function returns the major device number of the block or character device specified by name and a file type matching the one encoded in type which must be one of S_IFBLK or S_IFCHR.

RETURN VALUES
If no device matches the specified values, no information is available, or an error occurs, (dev_t)~0 is returned and errno is set to indicate the error.

EXAMPLES
To retrieve the major number for pty(4) slave devices (aka pts devices):

    #include stdlib.h
    #include sys/stat.h

    dev_t pts;
    pts = getdevmajor("pts", S_IFCHR);

To retrieve the major numbers for the block and character wd(4) devices:

    #include stdlib.h
    #include sys/stat.h

    dev_t c, b;
    c = getdevmajor("wd", S_IFCHR);
    b = getdevmajor("wd", S_IFBLK);

ERRORS
The getdevmajor() function may fail and set errno for any of the errors specified for the library functions malloc(3) and sysctlbyname(3). In addition, the following errors may be reported:

[EINVAL]
    The value of the major argument is not S_IFCHR or S_IFBLK.

[ENOENT]
    The named device is not found.

SEE ALSO
stat(2), devname(3), malloc(3), sysctlbyname(3)

HISTORY
The getdevmajor() function call appeared in NetBSD 3.0.