ddi_create_minor_node(9F)




NAME

     ddi_create_minor_node - create a minor node for this device


SYNOPSIS

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

     int ddi_create_minor_node(dev_info_t *dip, char  *name,  int
     spec_type, minor_t minor_num, char *node_type, int flag);


INTERFACE LEVEL

     Solaris DDI specific (Solaris DDI).


PARAMETERS

     dip   A pointer to the device's dev_info structure.

     name  The name of this particular minor device.

     spec_type
           S_IFCHR or S_IFBLK for character or block  minor  dev-
           ices respectively.

     minor_num
           The minor number for this particular minor device.

     node_type
           Any string that uniquely identifies the type of  node.
           The  following predefined node types are provided with
           this release:

           DDI_NT_SERIAL
                 For serial ports

           DDI_NT_SERIAL_MB
                 For on board serial ports

           DDI_NT_SERIAL_DO
                 For dial out ports

           DDI_NT_SERIAL_MB_DO
                 For on board dial out ports

           DDI_NT_BLOCK
                 For hard disks

           DDI_NT_BLOCK_CHAN
                 For hard disks with channel or target numbers

           DDI_NT_CD
                 For CDROM drives

           DDI_NT_CD_CHAN
                 For CDROM drives with channel or target numbers

           DDI_NT_FD
                 For floppy disks

           DDI_NT_TAPE
                 For tape drives

           DDI_NT_NET
                 For DLPI style 1 or style 2 network devices

           DDI_NT_DISPLAY
                 For display devices

           DDI_PSEUDO
                 For pseudo devices

     flag  If the device is a clone device then this flag is  set
           to CLONE_DEV else it is set to 0.


DESCRIPTION

     ddi_create_minor_node() provides the  necessary  information
     to enable the system to create the /dev and /devices hierar-
     chies. The name is used to create  the  minor  name  of  the
     block  or  character special file under the /devices hierar-
     chy. At-sign (@), slash (/), and space are not allowed.  The
     spec_type  specifies  whether  this  is a block or character
     device. The minor_num is the minor number  for  the  device.
     The  node_type  is  used  to  create  the  names in the /dev
     hierarchy that refers to the names in the  /devices  hierar-
     chy.   See  disks(1M),  ports(1M),  tapes(1M), devlinks(1M).
     Finally flag determines if this is a clone  device  or  not,
     and what device class the node belongs to.


RETURN VALUES

     ddi_create_minor_node() returns:

     DDI_SUCCESS
           Was able to allocate memory,  create  the  minor  data
           structure,  and place it into the linked list of minor
           devices for this driver.

     DDI_FAILURE
           Minor node creation failed.


CONTEXT

     The ddi_create_minor_node() function can be called from user
     context.   It   is   typically  called  from  attach(9E)  or
     ioctl(9E).


EXAMPLES

     Example 1: Create Data  Structure  Describing  Minor  Device
     with Minor Number of 0

     The following example creates a data structure describing  a
     minor device called foo which has a minor number of 0. It is
     of type DDI_NT_BLOCK (a block device) and it is not a  clone
     device.

     ddi_create_minor_node(dip, "foo", S_IFBLK, 0, DDI_NT_BLOCK, 0);


SEE ALSO

     add_drv(1M),   devlinks(1M),    disks(1M),    drvconfig(1M),
     ports(1M), tapes(1M), attach(9E), ddi_remove_minor_node(9F)

     Writing Device Drivers


NOTES

     If  the  driver  is  for   a   network   device   (node_type
     DDI_NT_NET),  note  that  the  driver  name will undergo the
     driver name constraints identified in the NOTES  section  of
     dlpi(7P). Additionally, the minor name must match the driver
     name for a DLPI style 2 provider. If the driver  is  a  DLPI
     style  1 provider, the minor name must also match the driver
     name with the exception that the  ppa  is  appended  to  the
     minor name.


Man(1) output converted with man2html