OpenBSD manual page server

Manual Page Search Parameters

GETDEVMAJOR(3) Library Functions Manual GETDEVMAJOR(3)

get block or character device major number

library “libc”

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

getdevmajor(const char *name, mode_t type);

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.

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.

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);

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:
The value of the type argument is not S_IFCHR or S_IFBLK.
The named device is not found.

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

The getdevmajor() function call appeared in NetBSD 3.0.
January 20, 2009 NetBSD-7.0.1