csx_RemoveDeviceNode(9F)




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)


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 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 per-
     form.

     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  parame-
           ters 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  parame-
           ters 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


Man(1) output converted with man2html