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