Query: csx_removedevicenode
OS: opensolaris
Section: 9f
Links: opensolaris man pages all man pages forum categories
Format:Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
csx_MakeDeviceNode(9F) Kernel Functions for Drivers csx_MakeDeviceNode(9F)NAMEcsx_MakeDeviceNode, csx_RemoveDeviceNode - create and remove minor nodes on behalf of the clientSYNOPSIS#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 LEVELSolaris DDI Specific (Solaris DDI)PARAMETERSch Client handle returned from csx_RegisterClient(9F). dn Pointer to a make_device_node_t or remove_device_node_t structure.DESCRIPTIONcsx_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 */ 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 quan- tity 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 identi- cal 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 struc- ture 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 VALUESCS_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.CONTEXTThese functions may be called from user or kernel context.SEE ALSOcsx_RegisterClient(9F), ddi_create_minor_node(9F), ddi_remove_minor_node(9F) PC Card 95 Standard, PCMCIA/JEIDA SunOS 5.11 19 Jul 1996 csx_MakeDeviceNode(9F)