GETDEVMAJOR(3)

GETDEVMAJOR(3) | Library Functions Manual | GETDEVMAJOR(3)

# NAME

getdevmajor — get block or character device major number

# LIBRARY

Standard C Library (libc, -lc)

# SYNOPSIS

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

devmajor_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, NODEVMAJOR 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>

    devmajor_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>

    devmajor_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 type 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.

January 20, 2009 | NetBSD 5.99