Contained Within
Find More Documentation
Featured Support Resources
| Descargar este libro en PDF
NAME
- csx_MakeDeviceNode, csx_RemoveDeviceNode - create and remove minor nodes on behalf of the client
SYNOPSIS
-
#include <sys/pccard.h>
-
-
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)
ARGUMENTS
-
-
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 MEMBERS
- 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.
RETURN VALUES
-
-
CS_SUCCESS
- Successful operation.
-
-
CS_BAD_HANDLE
- Client handle is invalid.
-
-
CS_BAD_ATTRIBUTE
- The value of one or more arguments is invalid.
-
-
CS_BAD_ARGS
- Action is invalid.
-
-
CS_OUT_OF_RESOURCE
- Unable to create or remove device 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)
-
PC Card 95 Standard, PCMCIA/JEIDA
|
|