December 15, 2004 GETDEVMAJOR 3

### NAME

getdevmajor - get block or character device major number

### LIBRARY

Standard C Library (libc, -lc)

### SYNOPSIS

```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 NetBSD3.0.