1csx_MakeDeviceNode(9F)   Kernel Functions for Drivers   csx_MakeDeviceNode(9F)
2
3
4

NAME

6       csx_MakeDeviceNode,  csx_RemoveDeviceNode  -  create  and  remove minor
7       nodes on behalf of the client
8

SYNOPSIS

10       #include <sys/pccard.h>
11
12
13
14       int32_t csx_MakeDeviceNode(client_handle_t ch, make_device_node_t *dn);
15
16
17       int32_t csx_RemoveDeviceNode(client_handle_t ch, remove_device_node_t *dn);
18
19

INTERFACE LEVEL

21       Solaris DDI Specific (Solaris DDI)
22

PARAMETERS

24       ch     Client handle returned from csx_RegisterClient(9F).
25
26
27       dn     Pointer to a make_device_node_t or  remove_device_node_t  struc‐
28              ture.
29
30

DESCRIPTION

32       csx_MakeDeviceNode()  and  csx_RemoveDeviceNode()  are Solaris-specific
33       extensions to allow the client to request  that  device  nodes  in  the
34       filesystem are created or removed, respectively, on its behalf.
35

STRUCTURE MEMBERS

37       The structure members of make_device_node_t are:
38
39         uint32_t        Action;         /* device operation */
40         uint32_t        NumDevNodes;    /* number of nodes to create */
41         devnode_desc_t  *devnode_desc;  /* description of device nodes */
42
43
44
45       The structure members of remove_device_node_t are:
46
47         uint32_t       Action;          /* device operation */
48         uint32_t       NumDevNodes;     /* number of nodes to remove */
49         devnode_desc_t *devnode_desc;   /* description of device nodes */
50
51
52
53       The structure members of devnode_desc_t are:
54
55         char           *name;           /* device node path and name */
56         int32_t        spec_type;       /* device special type (block or char) */
57         int32_t        minor_num;       /* device node minor number */
58         char           *node_type;      /* device node type */
59
60
61
62       The Action field is used to specify the operation that csx_MakeDeviceN‐
63       ode() and csx_RemoveDeviceNode() should perform.
64
65
66       The following Action values are defined for csx_MakeDeviceNode():
67
68       CREATE_DEVICE_NODE    Create NumDevNodes minor nodes
69
70
71
72       The following Action values are defined for csx_RemoveDeviceNode():
73
74       REMOVE_DEVICE_NODE         Remove NumDevNodes minor nodes
75
76
77       REMOVE_ALL_DEVICE_NODES    Remove all minor nodes for this client
78
79
80
81       For csx_MakeDeviceNode(), if the Action field is:
82
83       CREATE_DEVICE_NODE     The NumDevNodes field must be set to the  number
84                              of  minor devices to create, and the client must
85                              allocate the quantity of  devnode_desc_t  struc‐
86                              tures  specified by NumDevNodes and fill out the
87                              fields in the devnode_desc_t structure with  the
88                              appropriate minor node information. The meanings
89                              of the fields in  the  devnode_desc_t  structure
90                              are identical to the parameters of the same name
91                              to the ddi_create_minor_node(9F) DDI function.
92
93
94
95       For csx_RemoveDeviceNode(), if the Action field is:
96
97       REMOVE_DEVICE_NODE          The NumDevNodes field must be  set  to  the
98                                   number  of minor devices to remove, and the
99                                   client must allocate the quantity of  devn‐
100                                   ode_desc_t structures specified by NumDevN‐
101                                   odes and fill out the fields in  the  devn‐
102                                   ode_desc_t  structure  with the appropriate
103                                   minor node information. The meanings of the
104                                   fields  in the devnode_desc_t structure are
105                                   identical to the  parameters  of  the  same
106                                   name  to  the ddi_remove_minor_node(9F) DDI
107                                   function.
108
109
110       REMOVE_ALL_DEVICE_NODES     The NumDevNodes field must be set to 0  and
111                                   the  devnode_desc_t  structure pointer must
112                                   be set to NULL. All device nodes  for  this
113                                   client will be removed from the filesystem.
114
115

RETURN VALUES

117       CS_SUCCESS                  Successful operation.
118
119
120       CS_BAD_HANDLE               Client handle is invalid.
121
122
123       CS_BAD_ATTRIBUTE            The  value  of  one  or  more  arguments is
124                                   invalid.
125
126
127       CS_BAD_ARGS                 Action is invalid.
128
129
130       CS_OUT_OF_RESOURCE          Unable to create or remove device node.
131
132
133       CS_UNSUPPORTED_FUNCTION     No PCMCIA hardware installed.
134
135

CONTEXT

137       These functions may be called from user or kernel context.
138

SEE ALSO

140       csx_RegisterClient(9F),                      ddi_create_minor_node(9F),
141       ddi_remove_minor_node(9F)
142
143
144       PC Card 95 Standard, PCMCIA/JEIDA
145
146
147
148SunOS 5.11                        19 Jul 1996           csx_MakeDeviceNode(9F)
Impressum