331 NULL, /* qi_qclose */
332 NULL, /* qi_qadmin */
333 &ds_minfo, /* qi_minfo */
334 };
335
336 static struct streamtab ds_info = {
337 &ds_rinit, /* st_rdinit */
338 &ds_winit /* st_wrinit */
339 };
340
341 DDI_DEFINE_STREAM_OPS(ds_ops, nulldev, nulldev, ds_attach, ds_detach,
342 nodev, ds_devinfo, D_MP|D_MTPERMOD, &ds_info, ddi_quiesce_not_supported);
343
344 static struct modldrv modldrv = {
345 &mod_driverops,
346 "DLPI stub driver",
347 &ds_ops,
348 };
349
350 static struct modlinkage modlinkage = {
351 MODREV_1, &modldrv, NULL
352 };
353
354 int
355 _init(void)
356 {
357 return (mod_install(&modlinkage));
358 }
359
360 int
361 _fini(void)
362 {
363 return (mod_remove(&modlinkage));
364 }
365
366 int
367 _info(struct modinfo *modinfop)
368 {
369 return (mod_info(&modlinkage, modinfop));
370 }
|
331 NULL, /* qi_qclose */
332 NULL, /* qi_qadmin */
333 &ds_minfo, /* qi_minfo */
334 };
335
336 static struct streamtab ds_info = {
337 &ds_rinit, /* st_rdinit */
338 &ds_winit /* st_wrinit */
339 };
340
341 DDI_DEFINE_STREAM_OPS(ds_ops, nulldev, nulldev, ds_attach, ds_detach,
342 nodev, ds_devinfo, D_MP|D_MTPERMOD, &ds_info, ddi_quiesce_not_supported);
343
344 static struct modldrv modldrv = {
345 &mod_driverops,
346 "DLPI stub driver",
347 &ds_ops,
348 };
349
350 static struct modlinkage modlinkage = {
351 MODREV_1, { &modldrv, NULL }
352 };
353
354 int
355 _init(void)
356 {
357 return (mod_install(&modlinkage));
358 }
359
360 int
361 _fini(void)
362 {
363 return (mod_remove(&modlinkage));
364 }
365
366 int
367 _info(struct modinfo *modinfop)
368 {
369 return (mod_info(&modlinkage, modinfop));
370 }
|