100 static struct fmodsw sppptun_fmodsw = {
101 PPP_TUN_NAME,
102 &sppptun_tab,
103 D_NEW | D_MP | D_MTQPAIR | D_MTOUTPERIM | D_MTOCEXCL | D_MTPUTSHARED
104 };
105
106 static struct modldrv modldrv = {
107 &mod_driverops,
108 (char *)sppptun_driver_description,
109 &sppptun_ops
110 };
111
112 static struct modlstrmod modlstrmod = {
113 &mod_strmodops,
114 (char *)sppptun_module_description,
115 &sppptun_fmodsw
116 };
117
118 static struct modlinkage modlinkage = {
119 MODREV_1,
120 (void *)&modlstrmod,
121 (void *)&modldrv,
122 NULL
123 };
124
125 int
126 _init(void)
127 {
128 int retv;
129
130 sppptun_init();
131 if ((retv = mod_install(&modlinkage)) == 0)
132 sppptun_tcl_init();
133 return (retv);
134 }
135
136 int
137 _fini(void)
138 {
139 int retv;
140
141 if ((retv = sppptun_tcl_fintest()) != 0)
142 return (retv);
|
100 static struct fmodsw sppptun_fmodsw = {
101 PPP_TUN_NAME,
102 &sppptun_tab,
103 D_NEW | D_MP | D_MTQPAIR | D_MTOUTPERIM | D_MTOCEXCL | D_MTPUTSHARED
104 };
105
106 static struct modldrv modldrv = {
107 &mod_driverops,
108 (char *)sppptun_driver_description,
109 &sppptun_ops
110 };
111
112 static struct modlstrmod modlstrmod = {
113 &mod_strmodops,
114 (char *)sppptun_module_description,
115 &sppptun_fmodsw
116 };
117
118 static struct modlinkage modlinkage = {
119 MODREV_1,
120 { (void *)&modlstrmod,
121 (void *)&modldrv,
122 NULL }
123 };
124
125 int
126 _init(void)
127 {
128 int retv;
129
130 sppptun_init();
131 if ((retv = mod_install(&modlinkage)) == 0)
132 sppptun_tcl_init();
133 return (retv);
134 }
135
136 int
137 _fini(void)
138 {
139 int retv;
140
141 if ((retv = sppptun_tcl_fintest()) != 0)
142 return (retv);
|