The structure members of make_device_node_t are:
|
uint32_t Action; /* device operation */
uint32_t NumDevNodes; /* number of nodes to create */
devnode_desc_t *devnode_desc; /* description of device nodes */
|
The structure members of remove_device_node_t are:
|
uint32_t Action; /* device operation */
uint32_t NumDevNodes; /* number of nodes to remove */
devnode_desc_t *devnode_desc; /* description of device nodes */
|
The structure members of devnode_desc_t are:
|
char *name; /* device node path and name */
int32_t spec_type; /* device special type (block or char) */
int32_t minor_num; /* device node minor number */
char *node_type; /* device node type */
|
The Action field is used to specify the operation that csx_MakeDeviceNode() and csx_RemoveDeviceNode() should perform.
The following Action values are defined for csx_MakeDeviceNode():
- CREATE_DEVICE_NODE
- Create NumDevNodes minor nodes
The following Action values are defined for csx_RemoveDeviceNode():
- REMOVE_DEVICE_NODE
- Remove NumDevNodes minor nodes
- REMOVE_ALL_DEVICE_NODES
- Remove all minor nodes for this client
For csx_MakeDeviceNode(), if the Action field is:
-
CREATE_DEVICE_NODE
- The NumDevNodes field must be set
to the number of minor devices to create, and the client must allocate the quantity of devnode_desc_t structures specified by NumDevNodes and fill out the fields in
the devnode_desc_t structure with the appropriate minor node information. The meanings of the fields in the devnode_desc_t structure are identical to the parameters
of the same name to the ddi_create_minor_node(9F) DDI function.
For csx_RemoveDeviceNode(), if the Action field is:
-
REMOVE_DEVICE_NODE
- The NumDevNodes field must be set
to the number of minor devices to remove, and the client must allocate the quantity of devnode_desc_t structures specified by NumDevNodes and fill out the fields in
the devnode_desc_t structure with the appropriate minor node information. The meanings of the fields in the devnode_desc_t structure are identical to the parameters
of the same name to the ddi_remove_minor_node(9F) DDI function.
-
REMOVE_ALL_DEVICE_NODES
- The NumDevNodes field must be set to 0 and the devnode_desc_t structure pointer must be set to NULL. All device nodes for this client will be removed from the filesystem.
|