您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ DBC_ENSURE函数代码示例

51自学网 2021-06-01 20:17:40
  C++
这篇教程C++ DBC_ENSURE函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中DBC_ENSURE函数的典型用法代码示例。如果您正苦于以下问题:C++ DBC_ENSURE函数的具体用法?C++ DBC_ENSURE怎么用?C++ DBC_ENSURE使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了DBC_ENSURE函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: cfg_get_exec_file

/* *  ======== cfg_get_exec_file ======== *  Purpose: *      Retreive the default executable, if any, for this board. */dsp_status cfg_get_exec_file(struct cfg_devnode *dev_node_obj, u32 ul_buf_size,			     OUT char *pstrExecFile){	dsp_status status = DSP_SOK;	struct drv_data *drv_datap = dev_get_drvdata(bridge);	if (!dev_node_obj)		status = -EFAULT;	else if (!pstrExecFile || !drv_datap)		status = -EFAULT;	if (DSP_FAILED(status))		goto func_end;	if (!drv_datap->base_img || strlen(drv_datap->base_img) > ul_buf_size)		status = -EINVAL;	if (DSP_SUCCEEDED(status))		strcpy(pstrExecFile, drv_datap->base_img);	if (DSP_FAILED(status))		pr_err("%s: Failed, status 0x%x/n", __func__, status);func_end:	DBC_ENSURE(((status == DSP_SOK) &&		    (strlen(pstrExecFile) <= ul_buf_size))		   || (status != DSP_SOK));	return status;}
开发者ID:macroliu,项目名称:samsung_kernel_nowplus,代码行数:33,


示例2: cod_get_section

/* *  ======== cod_get_section ======== *  Purpose: *      Retrieve the starting address and length of a section in the COFF file *      given the section name. */int cod_get_section(struct cod_libraryobj *lib, char *str_sect,			   u32 *addr, u32 *len){	struct cod_manager *cod_mgr_obj;	int status = 0;	DBC_REQUIRE(refs > 0);	DBC_REQUIRE(lib != NULL);	DBC_REQUIRE(lib->cod_mgr);	DBC_REQUIRE(str_sect != NULL);	DBC_REQUIRE(addr != NULL);	DBC_REQUIRE(len != NULL);	*addr = 0;	*len = 0;	if (lib != NULL) {		cod_mgr_obj = lib->cod_mgr;		status = cod_mgr_obj->fxns.get_sect_fxn(lib->dbll_lib, str_sect,							addr, len);	} else {		status = -ESPIPE;	}	DBC_ENSURE(!status || ((*addr == 0) && (*len == 0)));	return status;}
开发者ID:3sOx,项目名称:asuswrt-merlin,代码行数:33,


示例3: dbll_unload

/* *  ======== dbll_unload ======== */void dbll_unload(struct dbll_library_obj *lib, struct dbll_attrs *attrs){	struct dbll_library_obj *zl_lib = (struct dbll_library_obj *)lib;	s32 err = 0;	DBC_REQUIRE(refs > 0);	DBC_REQUIRE(zl_lib);	DBC_REQUIRE(zl_lib->load_ref > 0);	dev_dbg(bridge, "%s: lib: %p/n", __func__, lib);	zl_lib->load_ref--;	/* Unload only if reference count is 0 */	if (zl_lib->load_ref != 0)		goto func_end;	zl_lib->target_obj->attrs = *attrs;	if (zl_lib->dload_mod_obj) {		err = dynamic_unload_module(zl_lib->dload_mod_obj,					    &zl_lib->symbol.dl_symbol,					    &zl_lib->allocate.dl_alloc,					    &zl_lib->init.dl_init);		if (err != 0) {			dev_dbg(bridge, "%s: failed: %i/n", __func__, err);		}	}	/* remove symbols from symbol table */	if (zl_lib->sym_tab != NULL) {		gh_delete(zl_lib->sym_tab);		zl_lib->sym_tab = NULL;	}	/* delete DOFF desc since it holds *lots* of host OS	 * resources */	dof_close(zl_lib);func_end:	DBC_ENSURE(zl_lib->load_ref >= 0);}
开发者ID:kpykc,项目名称:ARDrone2.0,代码行数:38,


示例4: dbll_create

/* *  ======== dbll_create ======== */int dbll_create(struct dbll_tar_obj **target_obj,		       struct dbll_attrs *pattrs){	struct dbll_tar_obj *pzl_target;	int status = 0;	DBC_REQUIRE(refs > 0);	DBC_REQUIRE(pattrs != NULL);	DBC_REQUIRE(target_obj != NULL);	/* Allocate DBL target object */	pzl_target = kzalloc(sizeof(struct dbll_tar_obj), GFP_KERNEL);	if (target_obj != NULL) {		if (pzl_target == NULL) {			*target_obj = NULL;			status = -ENOMEM;		} else {			pzl_target->attrs = *pattrs;			*target_obj = (struct dbll_tar_obj *)pzl_target;		}		DBC_ENSURE((DSP_SUCCEEDED(status) && *target_obj) ||				(DSP_FAILED(status) && *target_obj == NULL));	}	return status;}
开发者ID:kpykc,项目名称:ARDrone2.0,代码行数:29,


示例5: msg_exit

/* *  ======== msg_exit ======== */void msg_exit(void){	DBC_REQUIRE(refs > 0);	refs--;	DBC_ENSURE(refs >= 0);}
开发者ID:macroliu,项目名称:samsung_kernel_nowplus,代码行数:10,


示例6: dev_init

/* *  ======== dev_init ======== *  Purpose: *      Initialize DEV's private state, keeping a reference count on each call. */bool dev_init(void){	bool cmm_ret, dmm_ret, ret = true;	DBC_REQUIRE(refs >= 0);	if (refs == 0) {		cmm_ret = cmm_init();		dmm_ret = dmm_init();		ret = cmm_ret && dmm_ret;		if (!ret) {			if (cmm_ret)				cmm_exit();			if (dmm_ret)				dmm_exit();		}	}	if (ret)		refs++;	DBC_ENSURE((ret && (refs > 0)) || (!ret && (refs >= 0)));	return ret;}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:34,


示例7: mgr_exit

/* *  ======== mgr_exit ======== *      Decrement reference count, and free resources when reference count is *      0. */void mgr_exit(void){	DBC_REQUIRE(refs > 0);	refs--;	if (refs == 0)		dcd_exit();	DBC_ENSURE(refs >= 0);}
开发者ID:119-org,项目名称:hi3518-osdrv,代码行数:14,


示例8: msg_mod_init

/* *  ======== msg_mod_init ======== */bool msg_mod_init(void){	DBC_REQUIRE(refs >= 0);	refs++;	DBC_ENSURE(refs >= 0);	return true;}
开发者ID:macroliu,项目名称:samsung_kernel_nowplus,代码行数:13,


示例9: update_sample_endianess

void ECA_AUDIO_FORMAT::set_sample_endianess(ECA_AUDIO_FORMAT::Sample_endianess v){  update_sample_endianess(v);    /* make sure classes that reimplement set_sample_format   * see the change in sample endianess */  set_sample_format_string(format_string());  DBC_ENSURE(se_rep == se_big || se_rep == se_little);}
开发者ID:antorsae,项目名称:ecasound,代码行数:10,


示例10: chnl_create

/* *  ======== chnl_create ======== *  Purpose: *      Create a channel manager object, responsible for opening new channels *      and closing old ones for a given 'Bridge board. */int chnl_create(OUT struct chnl_mgr **phChnlMgr,		       struct dev_object *hdev_obj,		       IN CONST struct chnl_mgrattrs *pMgrAttrs){	int status;	struct chnl_mgr *hchnl_mgr;	struct chnl_mgr_ *chnl_mgr_obj = NULL;	DBC_REQUIRE(refs > 0);	DBC_REQUIRE(phChnlMgr != NULL);	DBC_REQUIRE(pMgrAttrs != NULL);	*phChnlMgr = NULL;	/* Validate args: */	if ((0 < pMgrAttrs->max_channels) &&	    (pMgrAttrs->max_channels <= CHNL_MAXCHANNELS))		status = 0;	else if (pMgrAttrs->max_channels == 0)		status = -EINVAL;	else		status = -ECHRNG;	if (pMgrAttrs->word_size == 0)		status = -EINVAL;	if (DSP_SUCCEEDED(status)) {		status = dev_get_chnl_mgr(hdev_obj, &hchnl_mgr);		if (DSP_SUCCEEDED(status) && hchnl_mgr != NULL)			status = -EEXIST;	}	if (DSP_SUCCEEDED(status)) {		struct bridge_drv_interface *intf_fxns;		dev_get_intf_fxns(hdev_obj, &intf_fxns);		if (intf_fxns) {			/* Let WMD channel module finish the create */			status = (*intf_fxns->pfn_chnl_create)(&hchnl_mgr,						hdev_obj, pMgrAttrs);		}		if (DSP_SUCCEEDED(status)) {			/* Fill in WCD channel module's fields of the			 * chnl_mgr structure */			chnl_mgr_obj = (struct chnl_mgr_ *)hchnl_mgr;			chnl_mgr_obj->intf_fxns = intf_fxns;			/* Finally, return the new channel manager handle: */			*phChnlMgr = hchnl_mgr;		}	}	DBC_ENSURE(DSP_FAILED(status) || chnl_mgr_obj);	return status;}
开发者ID:AdiPat,项目名称:i9003_Kernel,代码行数:61,


示例11: guard

/** * Detaches the current logger implementation. */void ECA_LOGGER::detach_logger(void){  if (ECA_LOGGER::interface_impl_repp != 0) {    KVU_GUARD_LOCK guard(&ECA_LOGGER::lock_rep);    if (ECA_LOGGER::interface_impl_repp != 0) {      delete ECA_LOGGER::interface_impl_repp;      ECA_LOGGER::interface_impl_repp = 0;    }  }  DBC_ENSURE(ECA_LOGGER::interface_impl_repp == 0);}
开发者ID:antorsae,项目名称:ecasound,代码行数:14,


示例12: dbll_exit

/* *  ======== dbll_exit ======== *  Discontinue usage of DBL module. */void dbll_exit(void){	DBC_REQUIRE(refs > 0);	refs--;	if (refs == 0)		gh_exit();	DBC_ENSURE(refs >= 0);}
开发者ID:kpykc,项目名称:ARDrone2.0,代码行数:15,


示例13: cod_init

/* *  ======== cod_init ======== *  Purpose: *      Initialize the COD module's private state. * */bool cod_init(void){	bool ret = true;	DBC_REQUIRE(refs >= 0);	if (ret)		refs++;	DBC_ENSURE((ret && refs > 0) || (!ret && refs >= 0));	return ret;}
开发者ID:3sOx,项目名称:asuswrt-merlin,代码行数:18,


示例14: chnl_create

/* *  ======== chnl_create ======== *  Purpose: *      Create a channel manager object, responsible for opening new channels *      and closing old ones for a given 'Bridge board. */int chnl_create(struct chnl_mgr **channel_mgr,		       struct dev_object *hdev_obj,		       const struct chnl_mgrattrs *mgr_attrts){	int status;	struct chnl_mgr *hchnl_mgr;	struct chnl_mgr_ *chnl_mgr_obj = NULL;	DBC_REQUIRE(refs > 0);	DBC_REQUIRE(channel_mgr != NULL);	DBC_REQUIRE(mgr_attrts != NULL);	*channel_mgr = NULL;	/* Validate args: */	if ((0 < mgr_attrts->max_channels) &&	    (mgr_attrts->max_channels <= CHNL_MAXCHANNELS))		status = 0;	else if (mgr_attrts->max_channels == 0)		status = -EINVAL;	else		status = -ECHRNG;	if (mgr_attrts->word_size == 0)		status = -EINVAL;	if (!status) {		status = dev_get_chnl_mgr(hdev_obj, &hchnl_mgr);		if (!status && hchnl_mgr != NULL)			status = -EEXIST;	}	if (!status) {		struct bridge_drv_interface *intf_fxns;		dev_get_intf_fxns(hdev_obj, &intf_fxns);		/* Let Bridge channel module finish the create: */		status = (*intf_fxns->pfn_chnl_create) (&hchnl_mgr, hdev_obj,							mgr_attrts);		if (!status) {			/* Fill in DSP API channel module's fields of the			 * chnl_mgr structure */			chnl_mgr_obj = (struct chnl_mgr_ *)hchnl_mgr;			chnl_mgr_obj->intf_fxns = intf_fxns;			/* Finally, return the new channel manager handle: */			*channel_mgr = hchnl_mgr;		}	}	DBC_ENSURE(status || chnl_mgr_obj);	return status;}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:59,


示例15: dev_exit

/* *  ======== dev_exit ======== *  Purpose: *      Decrement reference count, and free resources when reference count is *      0. */void dev_exit(void){	DBC_REQUIRE(refs > 0);	refs--;	if (refs == 0) {		cmm_exit();		dmm_exit();	}	DBC_ENSURE(refs >= 0);}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:19,


示例16: bridge_chnl_flush_io

/* *  ======== bridge_chnl_flush_io ======== *  purpose: *      Flushes all the outstanding data requests on a channel. */int bridge_chnl_flush_io(struct chnl_object *chnl_obj, u32 dwTimeOut){	int status = 0;	struct chnl_object *pchnl = (struct chnl_object *)chnl_obj;	s8 chnl_mode = -1;	struct chnl_mgr *chnl_mgr_obj;	struct chnl_ioc chnl_ioc_obj;	/* Check args: */	if (pchnl) {		if ((dwTimeOut == CHNL_IOCNOWAIT)		    && CHNL_IS_OUTPUT(pchnl->chnl_mode)) {			status = -EINVAL;		} else {			chnl_mode = pchnl->chnl_mode;			chnl_mgr_obj = pchnl->chnl_mgr_obj;		}	} else {		status = -EFAULT;	}	if (DSP_SUCCEEDED(status)) {		/* Note: Currently, if another thread continues to add IO		 * requests to this channel, this function will continue to		 * flush all such queued IO requests. */		if (CHNL_IS_OUTPUT(chnl_mode)		    && (pchnl->chnl_type == CHNL_PCPY)) {			/* Wait for IO completions, up to the specified			 * timeout: */			while (!LST_IS_EMPTY(pchnl->pio_requests) &&			       DSP_SUCCEEDED(status)) {				status = bridge_chnl_get_ioc(chnl_obj,							     dwTimeOut,							     &chnl_ioc_obj);				if (DSP_FAILED(status))					continue;				if (chnl_ioc_obj.status & CHNL_IOCSTATTIMEOUT)					status = -ETIMEDOUT;			}		} else {			status = bridge_chnl_cancel_io(chnl_obj);			/* Now, leave the channel in the ready state: */			pchnl->dw_state &= ~CHNL_STATECANCEL;		}	}	DBC_ENSURE(DSP_FAILED(status) || LST_IS_EMPTY(pchnl->pio_requests));	return status;}
开发者ID:AdiPat,项目名称:i9003_Kernel,代码行数:53,


示例17: dev_set_chnl_mgr

/* *  ======== dev_set_chnl_mgr ======== *  Purpose: *      Set the channel manager for this device. */int dev_set_chnl_mgr(struct dev_object *hdev_obj,			    struct chnl_mgr *hmgr){	int status = 0;	struct dev_object *dev_obj = hdev_obj;	DBC_REQUIRE(refs > 0);	if (hdev_obj)		dev_obj->hchnl_mgr = hmgr;	else		status = -EFAULT;	DBC_ENSURE(status || (dev_obj->hchnl_mgr == hmgr));	return status;}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:21,


示例18: uuid_uuid_to_string

/* *  ======== uuid_uuid_to_string ======== *  Purpose: *      Converts a struct dsp_uuid to a string. *      Note: snprintf format specifier is: *      %[flags] [width] [.precision] [{h | l | I64 | L}]type */void uuid_uuid_to_string(struct dsp_uuid *uuid_obj, char *sz_uuid,			 s32 size){	s32 i;			/* return result from snprintf. */	DBC_REQUIRE(uuid_obj && sz_uuid);	i = snprintf(sz_uuid, size,		     "%.8X_%.4X_%.4X_%.2X%.2X_%.2X%.2X%.2X%.2X%.2X%.2X",		     uuid_obj->data1, uuid_obj->data2, uuid_obj->data3,		     uuid_obj->data4, uuid_obj->data5,		     uuid_obj->data6[0], uuid_obj->data6[1],		     uuid_obj->data6[2], uuid_obj->data6[3],		     uuid_obj->data6[4], uuid_obj->data6[5]);	DBC_ENSURE(i != -1);}
开发者ID:119-org,项目名称:hi3518-osdrv,代码行数:24,


示例19: dev_create2

/* *  ======== dev_create2 ======== *  Purpose: *      After successful loading of the image from api_init_complete2 *      (PROC Auto_Start) or proc_load this fxn is called. This creates *      the Node Manager and updates the DEV Object. */int dev_create2(struct dev_object *hdev_obj){	int status = 0;	struct dev_object *dev_obj = hdev_obj;	DBC_REQUIRE(refs > 0);	DBC_REQUIRE(hdev_obj);	/* There can be only one Node Manager per DEV object */	DBC_ASSERT(!dev_obj->hnode_mgr);	status = node_create_mgr(&dev_obj->hnode_mgr, hdev_obj);	if (status)		dev_obj->hnode_mgr = NULL;	DBC_ENSURE((!status && dev_obj->hnode_mgr != NULL)		   || (status && dev_obj->hnode_mgr == NULL));	return status;}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:25,


示例20: mgr_get_dcd_handle

/* *  ======== mgr_get_dcd_handle ======== *      Retrieves the MGR handle. Accessor Function. */int mgr_get_dcd_handle(struct mgr_object *mgr_handle,			      u32 *dcd_handle){	int status = -EPERM;	struct mgr_object *pmgr_obj = (struct mgr_object *)mgr_handle;	DBC_REQUIRE(refs > 0);	DBC_REQUIRE(dcd_handle != NULL);	*dcd_handle = (u32) NULL;	if (pmgr_obj) {		*dcd_handle = (u32) pmgr_obj->dcd_mgr;		status = 0;	}	DBC_ENSURE((!status && *dcd_handle != (u32) NULL) ||		   (status && *dcd_handle == (u32) NULL));	return status;}
开发者ID:119-org,项目名称:hi3518-osdrv,代码行数:23,


示例21: dev_destroy2

/* *  ======== dev_destroy2 ======== *  Purpose: *      Destroys the Node manager for this device. */int dev_destroy2(struct dev_object *hdev_obj){	int status = 0;	struct dev_object *dev_obj = hdev_obj;	DBC_REQUIRE(refs > 0);	DBC_REQUIRE(hdev_obj);	if (dev_obj->hnode_mgr) {		if (node_delete_mgr(dev_obj->hnode_mgr))			status = -EPERM;		else			dev_obj->hnode_mgr = NULL;	}	DBC_ENSURE((!status && dev_obj->hnode_mgr == NULL) || status);	return status;}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:24,


示例22: dev_get_dmm_mgr

/* *  ======== dev_get_dmm_mgr ======== *  Purpose: *      Retrieve the handle to the dynamic memory manager created for this *      device. */int dev_get_dmm_mgr(struct dev_object *hdev_obj,			   struct dmm_object **mgr){	int status = 0;	struct dev_object *dev_obj = hdev_obj;	DBC_REQUIRE(refs > 0);	DBC_REQUIRE(mgr != NULL);	if (hdev_obj) {		*mgr = dev_obj->dmm_mgr;	} else {		*mgr = NULL;		status = -EFAULT;	}	DBC_ENSURE(!status || (mgr != NULL && *mgr == NULL));	return status;}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:25,


示例23: dev_get_cod_mgr

/* *  ======== dev_get_cod_mgr ======== *  Purpose: *      Retrieve the COD manager create for this device. */int dev_get_cod_mgr(struct dev_object *hdev_obj,			   struct cod_manager **cod_mgr){	int status = 0;	struct dev_object *dev_obj = hdev_obj;	DBC_REQUIRE(refs > 0);	DBC_REQUIRE(cod_mgr != NULL);	if (hdev_obj) {		*cod_mgr = dev_obj->cod_mgr;	} else {		*cod_mgr = NULL;		status = -EFAULT;	}	DBC_ENSURE(!status || (cod_mgr != NULL && *cod_mgr == NULL));	return status;}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:24,


示例24: dev_get_dev_node

/* *  ======== dev_get_dev_node ======== *  Purpose: *      Retrieve the platform specific device ID for this device. */int dev_get_dev_node(struct dev_object *hdev_obj,			    struct cfg_devnode **dev_nde){	int status = 0;	struct dev_object *dev_obj = hdev_obj;	DBC_REQUIRE(refs > 0);	DBC_REQUIRE(dev_nde != NULL);	if (hdev_obj) {		*dev_nde = dev_obj->dev_node_obj;	} else {		*dev_nde = NULL;		status = -EFAULT;	}	DBC_ENSURE(!status || (dev_nde != NULL && *dev_nde == NULL));	return status;}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:24,


示例25: dev_get_intf_fxns

/* *  ======== dev_get_intf_fxns ======== *  Purpose: *      Retrieve the Bridge interface function structure for the loaded driver. *      if_fxns != NULL. */int dev_get_intf_fxns(struct dev_object *hdev_obj,			     struct bridge_drv_interface **if_fxns){	int status = 0;	struct dev_object *dev_obj = hdev_obj;	DBC_REQUIRE(refs > 0);	DBC_REQUIRE(if_fxns != NULL);	if (hdev_obj) {		*if_fxns = &dev_obj->bridge_interface;	} else {		*if_fxns = NULL;		status = -EFAULT;	}	DBC_ENSURE(!status || ((if_fxns != NULL) && (*if_fxns == NULL)));	return status;}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:25,


示例26: dev_get_node_manager

/* *  ======== dev_get_node_manager ======== *  Purpose: *      Retrieve the Node Manager Handle */int dev_get_node_manager(struct dev_object *hdev_obj,				struct node_mgr **node_man){	int status = 0;	struct dev_object *dev_obj = hdev_obj;	DBC_REQUIRE(refs > 0);	DBC_REQUIRE(node_man != NULL);	if (hdev_obj) {		*node_man = dev_obj->hnode_mgr;	} else {		*node_man = NULL;		status = -EFAULT;	}	DBC_ENSURE(!status || (node_man != NULL && *node_man == NULL));	return status;}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:24,


示例27: dev_get_wmd_context

/* *  ======== dev_get_wmd_context ======== *  Purpose: *      Retrieve the WMD Context handle, as returned by the WMD_Create fxn. */int dev_get_wmd_context(struct dev_object *hdev_obj,			       OUT struct wmd_dev_context **phWmdContext){	int status = 0;	struct dev_object *dev_obj = hdev_obj;	DBC_REQUIRE(refs > 0);	DBC_REQUIRE(phWmdContext != NULL);	if (hdev_obj) {		*phWmdContext = dev_obj->hwmd_context;	} else {		*phWmdContext = NULL;		status = -EFAULT;	}	DBC_ENSURE(DSP_SUCCEEDED(status) || ((phWmdContext != NULL) &&					     (*phWmdContext == NULL)));	return status;}
开发者ID:AdiPat,项目名称:i9003_Kernel,代码行数:25,


示例28: cfg_get_auto_start

/* *  ======== cfg_get_auto_start ======== *  Purpose: *      Retreive the autostart mask, if any, for this board. */dsp_status cfg_get_auto_start(struct cfg_devnode *dev_node_obj,			      OUT u32 *pdwAutoStart){	dsp_status status = DSP_SOK;	u32 dw_buf_size;	struct drv_data *drv_datap = dev_get_drvdata(bridge);	dw_buf_size = sizeof(*pdwAutoStart);	if (!dev_node_obj)		status = -EFAULT;	if (!pdwAutoStart || !drv_datap)		status = -EFAULT;	if (DSP_SUCCEEDED(status))		*pdwAutoStart = (drv_datap->base_img) ? 1 : 0;	DBC_ENSURE((status == DSP_SOK &&		    (*pdwAutoStart == 0 || *pdwAutoStart == 1))		   || status != DSP_SOK);	return status;}
开发者ID:macroliu,项目名称:samsung_kernel_nowplus,代码行数:25,


示例29: dev_get_bridge_context

/* *  ======== dev_get_bridge_context ======== *  Purpose: *      Retrieve the Bridge Context handle, as returned by the *      bridge_dev_create fxn. */int dev_get_bridge_context(struct dev_object *hdev_obj,			       struct bridge_dev_context **phbridge_context){	int status = 0;	struct dev_object *dev_obj = hdev_obj;	DBC_REQUIRE(refs > 0);	DBC_REQUIRE(phbridge_context != NULL);	if (hdev_obj) {		*phbridge_context = dev_obj->hbridge_context;	} else {		*phbridge_context = NULL;		status = -EFAULT;	}	DBC_ENSURE(!status || ((phbridge_context != NULL) &&					     (*phbridge_context == NULL)));	return status;}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:26,



注:本文中的DBC_ENSURE函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ DBC_REQUIRE函数代码示例
C++ DBC_ASSERT函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。