ddi_create_minor_node(9F) manual page
Table of Contents
ddi_create_minor_node - create a minor node for this device
#include
<sys/stat.h>
#include <sys/sunddi.h>
int ddi_create_minor_node(dev_info_t *dip, char *name,
int spec_type, int minor_num, char *node_type, int is_clone);
Solaris DDI specific (Solaris DDI).
- 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 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 network devices
- DDI_NT_DISPLAY
- For display
devices
- DDI_PSEUDO
-
For pseudo devices
- is_clone
- If the device is a clone
device then this flag is set to CLONE_DEV
else it is set to 0.
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 is_clone determines if this is a clone device or not.
ddi_create_minor_node() returns:
- DDI_SUCCESS
- if it 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
- if minor
node creation failed.
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);
add_drv(1M)
, devlinks(1M)
,
disks(1M)
, drvconfig(1M)
, ports(1M)
, tapes(1M)
, attach(9E)
, ddi_remove_minor_node(9F)
Table of Contents