register_chrdev,  unregister_chrdev  -  register  a driver
       major number


SYNOPSIS

       #include <linux/fs.h>

       int register_chrdev(unsigned int major,  const  char*name,
       struct file_operations*ops);
       int   unregister_chrdev(unsigned  int  major,  const  char
       *name);


DESCRIPTION

       The register_chrdev function associates a character  major
       number  with  set  of driver entry points. The file_opera­
       tions structure contains pointers to  functions  that  the
       the  driver  uses to implement the kernel interface to the
       driver.

       The paramter major is the character major number  assigned
       to  the  device  driver  and  to be mapped to the function
       table. The name parameter is a short name for  the  device
       and  is  displayed  in the The /proc/devices list. It also
       must exactly match the name  passed  to  unregister_chrdev
       function when releasing the functions.

       A  device  driver  module  may  register as many different
       major numbers as it supports, though this is not typically
       done.

       The  unregister_chrdev function releases the major number,
       and is normally called in the module_cleanup  function  to
       remove the driver from the kernel.


RETURN VALUE

       On success, register_chrdev returns 0 if major is a number
       other then 0, otherwise Linux will choose a  major  number
       and return the chosen value.

       If  there  is  an  error,  one  of  the following codes is
       returned instead:

              -EINVAL
                     The  specified  number  is  not   valid   (>
                     MAX_CHRDEV)

              -EBUSY The major number is busy

       The  unregister_chrdev  function will return 0 if success­
       ful, or -EINVAL if the major number is not registered with
       the matching name.


AVAILABILITY

       register_blkdev(9) mknod(2)


AUTHOR

       Stephen Williams (steve@icarus.com)


BUGS
















































Man(1) output converted with man2html