ddi_create_minor_node man page on Solaris

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
Solaris logo
[printable version]

ddi_create_minor_node(9F)Kernel Functions for Driversddi_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 devices
		       respectively.

       minor_num       The minor number for this particular minor device.

       node_type       Any string literal 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  hierarchies.	 The  name  is
       used  to	 create	 the minor name of the block or character special file
       under the /devices hierarchy. 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 hierarchy.	 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.

       Non-gld(7D)-based DLPI network streams drivers are encouraged to switch
       to  gld(7D).  Failing  this, a driver that creates DLPI style-2	 minor
       nodes must specify CLONE_DEV for	 its  style-2  ddi_create_minor_node()
       nodes  and  use qassociate(9F). A driver that supports both style-1 and
       style-2	  minor	   nodes     should	return	   DDI_FAILURE	   for
       DDI_INFO_DEVT2INSTANCE  and  DDI_INFO_DEVT2DEVINFO getinfo(9E) calls to
       style-2 minor nodes. (The correct association is already established by
       qassociate(9F)).	 A  driver  that only supports style-2 minor nodes can
       use ddi_no_info(9F) for its  getinfo(9E)	 implementation.  For  drivers
       that  do	 not follow these rules, the results of a modunload(1M) of the
       driver or a cfgadm(1M) remove of hardware controlled by the driver  are
       undefined.

WARNING
       Drivers	must  remove references to GLOBAL_DEV, NODEBOUND_DEV, NODESPEā€
       CIFIC_DEV, and ENUMERATED_DEV to compile under  Solaris	10  and	 later
       versions.

SunOS 5.10			  14 Dec 2004	     ddi_create_minor_node(9F)
[top]

List of man pages available for Solaris

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net