Kernel Functions for Drivers csxMakeDeviceNode(9F)
NAME
csxMakeDeviceNode, csxRemoveDeviceNode - create and remove
minor nodes on behalf of the client
SYNOPSIS
#include
int32t csxMakeDeviceNode(clienthandlet ch, makedevicenodet *dn);
int32t csxRemoveDeviceNode(clienthandlet ch, removedevicenodet *dn);
INTERFACE LEVEL
Solaris DI Specific (Solaris DI)
PARAMETERS
ch Client handle returned from csxRegisterClient(9F).
dn Pointer to a makedevicenodet or
removedevicenodet structure.
DESCRIPTION
csxMakeDeviceNode() and csxRemoveDeviceNode() 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 makedevicenodet are:
uint32t Action; /* device operation */
uint32t NumDevNodes; /* number of nodes to create */
devnodedesct *devnodedesc; /* description of device nodes */
The structure members of removedevicenodet are:
uint32t Action; /* device operation */
uint32t NumDevNodes; /* number of nodes to remove */
devnodedesct *devnodedesc; /* description of device nodes */
The structure members of devnodedesct are:
char *name; /* device node path and name */
SunOS 5.11 Last change: 19 Jul 1996 1
Kernel Functions for Drivers csxMakeDeviceNode(9F)
int32t spectype; /* device special type (block or char) */
int32t minornum; /* device node minor number */
char *nodetype; /* device node type */
The Action field is used to specify the operation that
csxMakeDeviceNode() and csxRemoveDeviceNode() should per-
form.
The following Action values are defined for
csxMakeDeviceNode():
CREATEDEVICENODE Create NumDevNodes minor nodes
The following Action values are defined for
csxRemoveDeviceNode():
REMOVEDEVICENODE Remove NumDevNodes minor nodes
REMOVEALDEVICENODES Remove all minor nodes for this
client
For csxMakeDeviceNode(), if the Action field is:
CREATEDEVICENODE The NumDevNodes field must be set to
the number of minor devices to
create, and the client must allocate
the quantity of devnodedesct struc-
tures specified by NumDevNodes and
fill out the fields in the
devnodedesct structure with the
appropriate minor node information.
The meanings of the fields in the
devnodedesct structure are identi-
cal to the parameters of the same
name to the ddicreateminornode(9F)
DI function.
For csxRemoveDeviceNode(), if the Action field is:
REMOVEDEVICENODE The NumDevNodes field must be
set to the number of minor dev-
ices to remove, and the client
SunOS 5.11 Last change: 19 Jul 1996 2
Kernel Functions for Drivers csxMakeDeviceNode(9F)
must allocate the quantity of
devnodedesct structures speci-
fied by NumDevNodes and fill out
the fields in the devnodedesct
structure with the appropriate
minor node information. The
meanings of the fields in the
devnodedesct structure are
identical to the parameters of
the same name to the
ddiremoveminornode(9F) DI
function.
REMOVEALDEVICENODES The NumDevNodes field must be
set to 0 and the devnodedesct
structure pointer must be set to
NUL. All device nodes for this
client will be removed from the
filesystem.
RETURN VALUES
CSUCES Successful operation.
CSBADHANDLE Client handle is invalid.
CSBADATRIBUTE The value of one or more argu-
ments is invalid.
CSBADARGS Action is invalid.
CSOUTOFRESOURCE Unable to create or remove dev-
ice node.
CSUNSUPORTEDFUNCTION No PCMCIA hardware installed.
CONTEXT
These functions may be called from user or kernel context.
SEE ALSO
csxRegisterClient(9F), ddicreateminornode(9F),
ddiremoveminornode(9F)
SunOS 5.11 Last change: 19 Jul 1996 3
Kernel Functions for Drivers csxMakeDeviceNode(9F)
PC Card 95 Standard, PCMCIA/JEIDA
SunOS 5.11 Last change: 19 Jul 1996 4
|