---
name: "register_chrdev"
section: "9"
platform: "linux"
package: "linux-manual-2.6.26"
version: "2.6.26-29"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/register_chrdev"
---

# register\_chrdev(9)

Register a major number for character devices.

## NAME

register\_chrdev - Register a major number for character devices.

## SYNOPSIS

**int register\_chrdev(unsigned int** *major***, const char \*** *name***, const struct file\_operations \*** *fops***);**

## ARGUMENTS

*major*

major device number or 0 for dynamic allocation

*name*

name of this range of devices

*fops*

file operations associated with this devices

## DESCRIPTION

If *major* == 0 this functions will dynamically allocate a major and return its number.

If *major* \> 0 this function will attempt to reserve a device with the given major number and will return zero on success.

Returns a -ve errno on failure.

The name of this device has nothing to do with the name of the device in /dev. It only helps to keep track of the different owners of devices. If your module name has only one type of devices it´s ok to use e.g. the name of the module here.

This function registers a range of 256 minor numbers. The first minor number is 0.

## COPYRIGHT
