Kernel Functions for Drivers csx_MakeDeviceNode(9F)
NAME
csx_MakeDeviceNode, csx_RemoveDeviceNode - create and remove
minor nodes on behalf of the clientSYNOPSIS
#include
int32_t csx_MakeDeviceNode(client_handle_t ch, make_device_node_t *dn);
int32_t csx_RemoveDeviceNode(client_handle_t ch, remove_device_node_t *dn);
INTERFACE LEVEL
Solaris DDI Specific (Solaris DDI)PARAMETERS
ch Client handle returned from csx_RegisterClient(9F).
dn Pointer to a make_device_node_t or
remove_device_node_t structure.
DESCRIPTION
csx_MakeDeviceNode() and csx_RemoveDeviceNode() are
Solaris-specific extensions to allow the client to request
that device nodes in the filesystem are created or removed, respectively, on its behalf. STRUCTURE MEMBERSThe 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 */SunOS 5.11 Last change: 19 Jul 1996 1
Kernel Functions for Drivers csx_MakeDeviceNode(9F)
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 thatcsx_MakeDeviceNode() and csx_RemoveDeviceNode() should per-
form. The following Action values are defined forcsx_MakeDeviceNode():
CREATE_DEVICE_NODE Create NumDevNodes minor nodes
The following Action values are defined forcsx_RemoveDeviceNode():
REMOVE_DEVICE_NODE Remove NumDevNodes minor nodes
REMOVE_ALL_DEVICE_NODES Remove all minor nodes for this
clientFor 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 allocatethe quantity of devnode_desc_t struc-
tures specified by NumDevNodes and fill out the fields in thedevnode_desc_t structure with the
appropriate minor node information. The meanings of the fields in thedevnode_desc_t structure are identi-
cal to the parameters of the samename 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 dev-
ices to remove, and the clientSunOS 5.11 Last change: 19 Jul 1996 2
Kernel Functions for Drivers csx_MakeDeviceNode(9F)
must allocate the quantity ofdevnode_desc_t structures speci-
fied by NumDevNodes and fill outthe fields in the devnode_desc_t
structure with the appropriate minor node information. The meanings of the fields in thedevnode_desc_t structure are
identical to the parameters of the same name to theddi_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.RETURN VALUES
CS_SUCCESS Successful operation.
CS_BAD_HANDLE Client handle is invalid.
CS_BAD_ATTRIBUTE The value of one or more argu-
ments is invalid.CS_BAD_ARGS Action is invalid.
CS_OUT_OF_RESOURCE Unable to create or remove dev-
ice node.CS_UNSUPPORTED_FUNCTION No PCMCIA hardware installed.
CONTEXT
These functions may be called from user or kernel context.SEE ALSO
csx_RegisterClient(9F), ddi_create_minor_node(9F),
ddi_remove_minor_node(9F)
SunOS 5.11 Last change: 19 Jul 1996 3
Kernel Functions for Drivers csx_MakeDeviceNode(9F)
PC Card 95 Standard, PCMCIA/JEIDA
SunOS 5.11 Last change: 19 Jul 1996 4