/* * Loadable module entry points. */ int _init(void) { int error; mac_init_ops(&efe_dev_ops, "efe"); if ((error = mod_install(&modlinkage)) != DDI_SUCCESS) { mac_fini_ops(&efe_dev_ops); } return (error); }
/* * DDI entry points */ int _init(void) { int rc; if ((rc = ddi_soft_state_init(&pcn_ssp, sizeof (pcn_t), 1)) != 0) return (rc); mac_init_ops(&pcn_devops, "pcn"); if ((rc = mod_install(&pcn_modlinkage)) != DDI_SUCCESS) { mac_fini_ops(&pcn_devops); ddi_soft_state_fini(&pcn_ssp); } return (rc); }
/* * Loadable module entry points. */ int _init(void) { int error; error = ddi_soft_state_init(&virtionet_statep, sizeof (virtionet_state_t), 0); if (error != 0) { return (error); } mac_init_ops(&virtionet_devops, "virtionet"); error = mod_install(&virtionet_modlinkage); if (error != 0) { mac_fini_ops(&virtionet_devops); ddi_soft_state_fini(&virtionet_statep); } return (error); }
int _init() { int ret; if (ddi_name_to_major(EIB_DRV_NAME) == (major_t)-1) return (ENODEV); if ((ret = ddi_soft_state_init(&eib_state, sizeof (eib_t), 0)) != 0) return (ret); mac_init_ops(&eib_ops, EIB_DRV_NAME); if ((ret = mod_install(&eib_modlinkage)) != 0) { mac_fini_ops(&eib_ops); ddi_soft_state_fini(&eib_state); return (ret); } eib_debug_init(); return (ret); }
/** * Kernel entry points */ int _init(void) { LogFlowFunc((VIRTIOLOGNAME ":_init\n")); /* * Prevent module autounloading. */ modctl_t *pModCtl = mod_getctl(&g_VirtioNetModLinkage); if (pModCtl) pModCtl->mod_loadflags |= MOD_NOAUTOUNLOAD; else LogRel((VIRTIOLOGNAME ":failed to disable autounloading!\n")); /* * Initialize IPRT. */ int rc = RTR0Init(0); if (RT_SUCCESS(rc)) { /* * Initialize Solaris specific globals here. */ mac_init_ops(&g_VirtioNetDevOps, DEVICE_NAME); rc = mod_install(&g_VirtioNetModLinkage); if (!rc) return rc; LogRel((VIRTIOLOGNAME ":mod_install failed. rc=%d\n", rc)); mac_fini_ops(&g_VirtioNetDevOps); RTR0Term(); return rc; } else LogRel((VIRTIOLOGNAME ":failed to initialize IPRT (rc=%d)\n", rc)); return RTErrConvertToErrno(rc); }