本文整理汇总了C++中ddi_soft_state_fini函数的典型用法代码示例。如果您正苦于以下问题:C++ ddi_soft_state_fini函数的具体用法?C++ ddi_soft_state_fini怎么用?C++ ddi_soft_state_fini使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ddi_soft_state_fini函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: _init
int
_init(void)
{
int ret;
ret = ddi_soft_state_init(&emul64_state, sizeof (struct emul64),
EMUL64_INITIAL_SOFT_SPACE);
if (ret != 0)
return (ret);
if ((ret = scsi_hba_init(&modlinkage)) != 0) {
ddi_soft_state_fini(&emul64_state);
return (ret);
}
/* Set the number of task threads to the number of CPUs */
if (boot_max_ncpus == -1) {
emul64_task_nthreads = max_ncpus;
} else {
emul64_task_nthreads = boot_max_ncpus;
}
emul64_bsd_init();
ret = mod_install(&modlinkage);
if (ret != 0) {
emul64_bsd_fini();
scsi_hba_fini(&modlinkage);
ddi_soft_state_fini(&emul64_state);
}
return (ret);
}
开发者ID:apprisi,项目名称:illumos-gate,代码行数:33,代码来源:emul64.c
示例2: _init
/*
*
* --- DDI/DKI entry points
*
*/
int
_init(void)
{
int error;
#ifndef NPROBE
(void) tnf_mod_load();
#endif
error = ddi_soft_state_init(&av1394_statep, sizeof (av1394_inst_t), 1);
if (error != 0) {
#ifndef NPROBE
(void) tnf_mod_unload(&av1394_modlinkage);
#endif
return (error);
}
if ((error = mod_install(&av1394_modlinkage)) != 0) {
ddi_soft_state_fini(&av1394_statep);
#ifndef NPROBE
(void) tnf_mod_unload(&av1394_modlinkage);
#endif
}
return (error);
}
开发者ID:MatiasNAmendola,项目名称:AuroraUX-SunOS,代码行数:30,代码来源:av1394.c
示例3: _init
int
_init(void)
{
int err;
uint64_t majornum;
uint64_t minornum;
/*
* Check HV intr group api versioning.
* Note that cnex assumes interrupt cookies is
* in version 1.0 of the intr group api.
*/
if ((err = hsvc_version(HSVC_GROUP_INTR, &majornum, &minornum)) != 0) {
cmn_err(CE_WARN, "cnex: failed to get intr api "
"group versioning errno=%d", err);
return (err);
} else if ((majornum != 1) && (majornum != 2)) {
cmn_err(CE_WARN, "cnex: unsupported intr api group: "
"maj:0x%lx, min:0x%lx", majornum, minornum);
return (ENOTSUP);
}
if ((err = ddi_soft_state_init(&cnex_state,
sizeof (cnex_soft_state_t), 0)) != 0) {
return (err);
}
if ((err = mod_install(&modlinkage)) != 0) {
ddi_soft_state_fini(&cnex_state);
return (err);
}
return (0);
}
开发者ID:MatiasNAmendola,项目名称:AuroraUX-SunOS,代码行数:32,代码来源:cnex.c
示例4: _init
/**
* Initializes a loadable module. It calls `mod_install' to install the
* `modlinkage' and `modldrv' structures.
*/
int _init(void)
{
int error;
error = ddi_soft_state_init(&quantis_soft_state_p,
sizeof(quantis_soft_state_t),
0);
if (error != 0)
{
QUANTIS_ERROR("Could not initialize the soft state tree.\n");
return error;
}
error = mod_install(&modlinkage);
if (error != 0)
{
QUANTIS_ERROR("Could not install the modlinkage structure.\n");
ddi_soft_state_fini(&quantis_soft_state_p);
return error;
}
mutex_init(&quantis_mutex, NULL, MUTEX_DRIVER, NULL);
card_count = 0;
LOG_DEBUG0("Initialized the quantis driver\n");
return error;
}
开发者ID:leifj,项目名称:quantispci,代码行数:31,代码来源:quantis_pci_solaris.c
示例5: _init
/*************************************************************************
* _init(9e), _info(9e), _fini(9e)
*
* ローダブルカーネルモジュールのエントリーポイント
*************************************************************************/
int
_init()
{
int err;
cmn_err(CE_CONT, "%s Filesystem Ver %s \n", PACKAGE_NAME, PACKAGE_VERSION);
/*
* デバイス管理構造体の管理用の iumfscntl_soft_root を初期化
* iumfscntl のデバイス管理構造体は iumfscntl_soft_t として定義されている。
*/
if (ddi_soft_state_init(&iumfscntl_soft_root, sizeof (iumfscntl_soft_t), 1) != 0) {
return (DDI_FAILURE);
}
err = mod_install(&modlinkage);
if (err != 0) {
ddi_soft_state_fini(&iumfscntl_soft_root);
cmn_err(CE_CONT, "_init: mod_install returned with error %d", err);
}
/*
* グローバルロックを初期化
*/
mutex_init(&iumfs_global_lock, NULL, MUTEX_DEFAULT, NULL);
return (err);
}
开发者ID:kaizawa,项目名称:iumfs,代码行数:33,代码来源:iumfs_vfsops.c
示例6: _init
int
_init(void)
{
int error;
if ((error = ddi_soft_state_init(&sbbcp,
sizeof (sbbc_softstate_t), 1)) != 0)
return (error);
if ((error = mod_install(&modlinkage)) != 0) {
ddi_soft_state_fini(&sbbcp);
return (error);
}
/*
* Initialise the global 'chosen' IOSRAM mutex
*/
mutex_init(&chosen_lock, NULL, MUTEX_DEFAULT, NULL);
/*
* Initialise the iosram driver
*/
iosram_init();
/*
* Initialize the mailbox
*/
sbbc_mbox_init();
return (error);
}
开发者ID:andreiw,项目名称:polaris,代码行数:32,代码来源:sgsbbc.c
示例7: _init
/*
* Module initialization routines.
*/
int
_init(void)
{
int error;
/* Initialize soft state pointer. */
if ((error = ddi_soft_state_init(&acpinex_softstates,
sizeof (acpinex_softstate_t), 8)) != 0) {
cmn_err(CE_WARN,
"acpinex: failed to initialize soft state structure.");
return (error);
}
/* Initialize event subsystem. */
acpinex_event_init();
/* Install the module. */
if ((error = mod_install(&modlinkage)) != 0) {
cmn_err(CE_WARN, "acpinex: failed to install module.");
ddi_soft_state_fini(&acpinex_softstates);
return (error);
}
mutex_init(&acpinex_lock, NULL, MUTEX_DRIVER, NULL);
return (0);
}
开发者ID:metricinc,项目名称:illumos-gate,代码行数:30,代码来源:acpinex_drv.c
示例8: _fini
/*
* One-time module-wide cleanup, after last detach is done.
*/
int
_fini(void)
{
int rval;
/*
* Remove the module first as this operation is the only thing here
* which can fail.
*/
rval = mod_remove(&ml);
if (rval != DDI_SUCCESS)
return (rval);
if (iospc_leaf_grps != NULL) {
iospc_kstat_fini();
mutex_enter(&iospc_mutex);
iospc_kstat_inited = 0;
(void) rfios_unbind_group();
iospc_leaf_grps = NULL;
mutex_exit(&iospc_mutex);
}
mutex_destroy(&iospc_mutex);
/* Free px soft state */
ddi_soft_state_fini(&iospc_state_p);
return (DDI_SUCCESS);
}
开发者ID:apprisi,项目名称:illumos-gate,代码行数:32,代码来源:iospc.c
示例9: _fini
int _fini(void)
{
LogFlow((DEVICE_NAME ":_fini flow\n"));
cmn_err(CE_NOTE, DEVICE_NAME ":_fini\n");
int rc = mod_remove(&g_VBoxVideoSolarisModLinkage);
ddi_soft_state_fini(&g_pVBoxVideoSolarisState);
return rc;
}
开发者ID:Rootkitsmm,项目名称:virtualbox-org-svn-vbox-trunk,代码行数:8,代码来源:vboxvideo_drm.c
示例10: _fini
int
_fini(void)
{
int e;
if ((e = mod_remove(&modlinkage)) == 0)
ddi_soft_state_fini(&ppb_state);
return (e);
}
开发者ID:apprisi,项目名称:illumos-gate,代码行数:9,代码来源:pci_pci.c
示例11: _init
int
_init(void)
{
int e;
if ((e = ddi_soft_state_init(&ppb_state, sizeof (ppb_devstate_t),
1)) == 0 && (e = mod_install(&modlinkage)) != 0)
ddi_soft_state_fini(&ppb_state);
return (e);
}
开发者ID:apprisi,项目名称:illumos-gate,代码行数:9,代码来源:pci_pci.c
示例12: _fini
int
_fini(void)
{
int err;
if ((err = mod_remove(&modlinkage)) != 0)
return (err);
ddi_soft_state_fini(&cnex_state);
return (0);
}
开发者ID:MatiasNAmendola,项目名称:AuroraUX-SunOS,代码行数:10,代码来源:cnex.c
示例13: _fini
int
_fini(void)
{
int ret;
if ((ret = mod_remove(&modlinkage)) == 0) {
ddi_soft_state_fini(&agptarget_glob_soft_handle);
}
return (ret);
}
开发者ID:andreiw,项目名称:polaris,代码行数:10,代码来源:agptarget.c
示例14: _fini
int
_fini(void)
{
int error;
if ((error = mod_remove(&modlinkage)) == 0) {
ddi_soft_state_fini(&sbusmem_state_head);
}
return (error);
}
开发者ID:MatiasNAmendola,项目名称:AuroraUX-SunOS,代码行数:10,代码来源:sbusmem.c
示例15: _init
/**
* Kernel entry points
*/
int _init(void)
{
int rc;
LogFunc((DEVICE_NAME ":_init\n"));
g_pDip = NULL;
/*
* Prevent module autounloading.
*/
modctl_t *pModCtl = mod_getctl(&g_VBoxUSBMonSolarisModLinkage);
if (pModCtl)
pModCtl->mod_loadflags |= MOD_NOAUTOUNLOAD;
else
LogRel((DEVICE_NAME ":failed to disable autounloading!\n"));
/*
* Initialize IPRT R0 driver, which internally calls OS-specific r0 init.
*/
rc = RTR0Init(0);
if (RT_SUCCESS(rc))
{
/*
* Initialize global mutex.
*/
mutex_init(&g_VBoxUSBMonSolarisMtx, NULL, MUTEX_DRIVER, NULL);
rc = VBoxUSBFilterInit();
if (RT_SUCCESS(rc))
{
rc = ddi_soft_state_init(&g_pVBoxUSBMonSolarisState, sizeof(vboxusbmon_state_t), 1);
if (!rc)
{
rc = mod_install(&g_VBoxUSBMonSolarisModLinkage);
if (!rc)
return rc;
LogRel((DEVICE_NAME ":mod_install failed! rc=%d\n", rc));
ddi_soft_state_fini(&g_pVBoxUSBMonSolarisState);
}
else
LogRel((DEVICE_NAME ":ddi_soft_state_init failed! rc=%d\n", rc));
}
else
LogRel((DEVICE_NAME ":VBoxUSBFilterInit failed! rc=%d\n", rc));
mutex_destroy(&g_VBoxUSBMonSolarisMtx);
RTR0Term();
}
else
LogRel((DEVICE_NAME ":RTR0Init failed! rc=%d\n", rc));
return -1;
}
开发者ID:leopucci,项目名称:VirtualMonitor,代码行数:57,代码来源:VBoxUSBMon-solaris.c
示例16: _fini
int
_fini(void)
{
int e;
if ((e = mod_remove(&modlinkage)) != 0) {
return (e);
}
ddi_soft_state_fini(&dstates);
return (e);
}
开发者ID:andreiw,项目名称:polaris,代码行数:11,代码来源:tclient.c
示例17: _fini
int
_fini(void)
{
int retval;
if ((retval = mod_remove(&modlinkage) != 0))
return retval;
ddi_soft_state_fini(&qotd_state_head);
return retval;
}
开发者ID:Letty5411,项目名称:transfer-file-TCP-SOCKET-,代码行数:11,代码来源:qotd_2.c
示例18: _fini
int
_fini(void)
{
int error;
if ((error = mod_remove(&modlinkage)) == 0) {
ddi_soft_state_fini(&usbser_keyspan_statep);
}
return (error);
}
开发者ID:andreiw,项目名称:polaris,代码行数:11,代码来源:usbser_keyspan.c
示例19: _fini
int
_fini(void)
{
int err;
err = mod_remove(&ics951601_modlinkage);
if (err == 0) {
ddi_soft_state_fini(&ics951601_soft_statep);
}
return (err);
}
开发者ID:MatiasNAmendola,项目名称:AuroraUX-SunOS,代码行数:11,代码来源:ics951601.c
示例20: _fini
int
_fini(void)
{
int rc;
if ((rc = mod_remove(&pcn_modlinkage)) == DDI_SUCCESS) {
mac_fini_ops(&pcn_devops);
ddi_soft_state_fini(&pcn_ssp);
}
return (rc);
}
开发者ID:apprisi,项目名称:illumos-gate,代码行数:11,代码来源:pcn.c
注:本文中的ddi_soft_state_fini函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论