165 usbprn_info, /* info */
166 nulldev, /* identify */
167 nulldev, /* probe */
168 usbprn_attach, /* attach */
169 usbprn_detach, /* detach */
170 nodev, /* reset */
171 &usbprn_cb_ops, /* driver operations */
172 NULL, /* bus operations */
173 usbprn_power, /* power */
174 ddi_quiesce_not_needed, /* devo_quiesce */
175 };
176
177 static struct modldrv usbprnmodldrv = {
178 &mod_driverops,
179 "USB printer client driver",
180 &usbprn_ops
181 };
182
183 static struct modlinkage modlinkage = {
184 MODREV_1,
185 &usbprnmodldrv,
186 NULL,
187 };
188
189 /* local variables */
190
191 /* soft state structures */
192 #define USBPRN_INITIAL_SOFT_SPACE 1
193 static void *usbprn_statep;
194
195 static int usbprn_max_xfer_size = USBPRN_MAX_XFER_SIZE;
196
197 /* prnio support */
198 static const char usbprn_prnio_ifinfo[] = PRN_USB;
199
200
201 int
202 _init(void)
203 {
204 int rval;
205
206 if ((rval = ddi_soft_state_init(&usbprn_statep,
|
165 usbprn_info, /* info */
166 nulldev, /* identify */
167 nulldev, /* probe */
168 usbprn_attach, /* attach */
169 usbprn_detach, /* detach */
170 nodev, /* reset */
171 &usbprn_cb_ops, /* driver operations */
172 NULL, /* bus operations */
173 usbprn_power, /* power */
174 ddi_quiesce_not_needed, /* devo_quiesce */
175 };
176
177 static struct modldrv usbprnmodldrv = {
178 &mod_driverops,
179 "USB printer client driver",
180 &usbprn_ops
181 };
182
183 static struct modlinkage modlinkage = {
184 MODREV_1,
185 { &usbprnmodldrv, NULL }
186 };
187
188 /* local variables */
189
190 /* soft state structures */
191 #define USBPRN_INITIAL_SOFT_SPACE 1
192 static void *usbprn_statep;
193
194 static int usbprn_max_xfer_size = USBPRN_MAX_XFER_SIZE;
195
196 /* prnio support */
197 static const char usbprn_prnio_ifinfo[] = PRN_USB;
198
199
200 int
201 _init(void)
202 {
203 int rval;
204
205 if ((rval = ddi_soft_state_init(&usbprn_statep,
|