176 */
177
178 #if !defined(BUILD_STATIC)
179 #include <sys/modctl.h>
180
181 /* define the "ops" structure for a STREAMS driver */
182 DDI_DEFINE_STREAM_OPS(llc1_ops, nulldev, nulldev, llc1_attach,
183 llc1_detach, nodev, llc1_getinfo, D_MP | D_MTPERMOD, &llc1_info,
184 ddi_quiesce_not_supported);
185
186 /*
187 * Module linkage information for the kernel.
188 */
189 static struct modldrv modldrv = {
190 &mod_driverops, /* Type of module. This one is a driver */
191 "LLC Class 1 Driver",
192 &llc1_ops, /* driver ops */
193 };
194
195 static struct modlinkage modlinkage = {
196 MODREV_1, (void *)&modldrv, NULL
197 };
198
199 int
200 _init(void)
201 {
202 return (mod_install(&modlinkage));
203 }
204
205 int
206 _fini(void)
207 {
208 return (mod_remove(&modlinkage));
209 }
210
211 int
212 _info(struct modinfo *modinfop)
213 {
214 return (mod_info(&modlinkage, modinfop));
215 }
216
|
176 */
177
178 #if !defined(BUILD_STATIC)
179 #include <sys/modctl.h>
180
181 /* define the "ops" structure for a STREAMS driver */
182 DDI_DEFINE_STREAM_OPS(llc1_ops, nulldev, nulldev, llc1_attach,
183 llc1_detach, nodev, llc1_getinfo, D_MP | D_MTPERMOD, &llc1_info,
184 ddi_quiesce_not_supported);
185
186 /*
187 * Module linkage information for the kernel.
188 */
189 static struct modldrv modldrv = {
190 &mod_driverops, /* Type of module. This one is a driver */
191 "LLC Class 1 Driver",
192 &llc1_ops, /* driver ops */
193 };
194
195 static struct modlinkage modlinkage = {
196 MODREV_1, { (void *)&modldrv, NULL }
197 };
198
199 int
200 _init(void)
201 {
202 return (mod_install(&modlinkage));
203 }
204
205 int
206 _fini(void)
207 {
208 return (mod_remove(&modlinkage));
209 }
210
211 int
212 _info(struct modinfo *modinfop)
213 {
214 return (mod_info(&modlinkage, modinfop));
215 }
216
|