#include #include #include #include extern struct mod_ops mod_miscops; extern void cmn_err(int, const char *, ...); extern int mod_install(struct modlinkage *modlinkage); extern int mod_remove(struct modlinkage *modlinkage); extern int mod_info(struct modlinkage *modlinkage, struct modinfo *modinfo); static struct modldrv modldrv = { &mod_miscops, "hello module", NULL }; static struct modlinkage modlinkage = { MODREV_1, (void *)&modldrv, NULL }; int _init(void) { cmn_err(CE_WARN, "Hello Module is loaded."); return (mod_install(&modlinkage)); } int _fini(void) { cmn_err(CE_WARN, "Hello Module has unloaded."); return (mod_remove(&modlinkage)); } int _info(struct modinfo *modinfop) { return (mod_info(&modlinkage, modinfop)); }