68 extern struct streamtab spppasyn_tab;
69 extern const char spppasyn_module_description[];
70
71 /*
72 * Module linkage information for the kernel.
73 */
74 static struct fmodsw mod_fsw = {
75 AHDLC_MOD_NAME, /* f_name */
76 &spppasyn_tab, /* f_str */
77 D_MP | D_MTPERQ /* f_flag */
78 };
79
80 static struct modlstrmod modlstrmod = {
81 &mod_strmodops, /* strmod_modops */
82 (char *)spppasyn_module_description, /* strmod_linkinfo */
83 &mod_fsw /* strmod_fmodsw */
84 };
85
86 static struct modlinkage modlinkage = {
87 MODREV_1, /* ml_rev, has to be MODREV_1 */
88 &modlstrmod, /* ml_linkage, NULL-terminated list */
89 NULL /* of linkage structures */
90 };
91
92 int
93 _init(void)
94 {
95 return (mod_install(&modlinkage));
96 }
97
98 int
99 _fini(void)
100 {
101 return (mod_remove(&modlinkage));
102 }
103
104 int
105 _info(struct modinfo *modinfop)
106 {
107 return (mod_info(&modlinkage, modinfop));
108 }
|
68 extern struct streamtab spppasyn_tab;
69 extern const char spppasyn_module_description[];
70
71 /*
72 * Module linkage information for the kernel.
73 */
74 static struct fmodsw mod_fsw = {
75 AHDLC_MOD_NAME, /* f_name */
76 &spppasyn_tab, /* f_str */
77 D_MP | D_MTPERQ /* f_flag */
78 };
79
80 static struct modlstrmod modlstrmod = {
81 &mod_strmodops, /* strmod_modops */
82 (char *)spppasyn_module_description, /* strmod_linkinfo */
83 &mod_fsw /* strmod_fmodsw */
84 };
85
86 static struct modlinkage modlinkage = {
87 MODREV_1, /* ml_rev, has to be MODREV_1 */
88 { &modlstrmod, NULL } /* ml_linkage, NULL-terminated list */
89 };
90
91 int
92 _init(void)
93 {
94 return (mod_install(&modlinkage));
95 }
96
97 int
98 _fini(void)
99 {
100 return (mod_remove(&modlinkage));
101 }
102
103 int
104 _info(struct modinfo *modinfop)
105 {
106 return (mod_info(&modlinkage, modinfop));
107 }
|