ddi_create_minor_node man page on SmartOS

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

DDI_CREATE_MINOR_NODE(9F)			     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 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  net‐
					     work 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 Num‐
       ber 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.

				 Dec 14, 2004	     DDI_CREATE_MINOR_NODE(9F)
[top]

List of man pages available for SmartOS

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