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

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

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

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

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

示例1: vop_nremove

/* * nremove takes a locked, resolved ncp that generally represents a * positive hit and removes the file. * * The dvp passed in is referenced but unlocked. * * The namecache is automatically adjusted by this function.  The ncp * is left locked on return. * * MPSAFE */intvop_nremove(struct vop_ops *ops, struct nchandle *nch, struct vnode *dvp,	    struct ucred *cred){	struct vop_nremove_args ap;	VFS_MPLOCK_DECLARE;	int error;	struct vattr va;	ap.a_head.a_desc = &vop_nremove_desc;	ap.a_head.a_ops = ops;	ap.a_nch = nch;	ap.a_dvp = dvp;	ap.a_cred = cred;	if ((error = VOP_GETATTR(nch->ncp->nc_vp, &va)) != 0)		return (error);	VFS_MPLOCK1(dvp->v_mount);	DO_OPS(ops, error, &ap, vop_nremove);	/* Only update space counters if this is the last hard link */	if ((error == 0) && (va.va_nlink == 1)) {		VFS_ACCOUNT(nch->mount, va.va_uid, va.va_gid, -va.va_size);	}	VFS_MPUNLOCK(dvp->v_mount);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:38,


示例2: vop_open

/* * NOTE: VAGE is always cleared when calling VOP_OPEN(). */intvop_open(struct vop_ops *ops, struct vnode *vp, int mode, struct ucred *cred,	struct file *fp){	struct vop_open_args ap;	VFS_MPLOCK_DECLARE;	int error;	/*	 * Decrement 3-2-1-0.  Does not decrement beyond 0	 */	if (vp->v_flag & VAGE0) {		vclrflags(vp, VAGE0);	} else if (vp->v_flag & VAGE1) {		vclrflags(vp, VAGE1);		vsetflags(vp, VAGE0);	}	ap.a_head.a_desc = &vop_open_desc;	ap.a_head.a_ops = ops;	ap.a_vp = vp;	ap.a_fp = fp;	ap.a_mode = mode;	ap.a_cred = cred;	VFS_MPLOCK1(vp->v_mount);	DO_OPS(ops, error, &ap, vop_open);	VFS_MPUNLOCK(vp->v_mount);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:33,


示例3: vop_mountctl_ap

intvop_mountctl_ap(struct vop_mountctl_args *ap){	int error;	DO_OPS(ap->a_head.a_ops, error, ap, vop_mountctl);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:8,


示例4: vop_nlookupdotdot_ap

intvop_nlookupdotdot_ap(struct vop_nlookupdotdot_args *ap){	int error;	DO_OPS(ap->a_head.a_ops, error, ap, vop_nlookupdotdot);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:8,


示例5: vop_nsymlink_ap

intvop_nsymlink_ap(struct vop_nsymlink_args *ap){	int error;	DO_OPS(ap->a_head.a_ops, error, ap, vop_nsymlink);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:8,


示例6: vop_nrename_ap

intvop_nrename_ap(struct vop_nrename_args *ap){	int error;	DO_OPS(ap->a_head.a_ops, error, ap, vop_nrename);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:8,


示例7: vop_kqfilter_ap

intvop_kqfilter_ap(struct vop_kqfilter_args *ap){	int error;	DO_OPS(ap->a_head.a_ops, error, ap, vop_kqfilter);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:8,


示例8: vop_setextattr_ap

intvop_setextattr_ap(struct vop_setextattr_args *ap){	int error;	DO_OPS(ap->a_head.a_ops, error, ap, vop_setextattr);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:8,


示例9: vop_freeblks_ap

intvop_freeblks_ap(struct vop_freeblks_args *ap){	int error;	DO_OPS(ap->a_head.a_ops, error, ap, vop_freeblks);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:8,


示例10: vop_aclcheck_ap

intvop_aclcheck_ap(struct vop_aclcheck_args *ap){	int error;	DO_OPS(ap->a_head.a_ops, error, ap, vop_aclcheck);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:8,


示例11: vop_balloc_ap

intvop_balloc_ap(struct vop_balloc_args *ap){	int error;	DO_OPS(ap->a_head.a_ops, error, ap, vop_balloc);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:8,


示例12: vop_putpages_ap

intvop_putpages_ap(struct vop_putpages_args *ap){	int error;	DO_OPS(ap->a_head.a_ops, error, ap, vop_putpages);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:8,


示例13: vop_pathconf_ap

intvop_pathconf_ap(struct vop_pathconf_args *ap){	int error;	DO_OPS(ap->a_head.a_ops, error, ap, vop_pathconf);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:8,


示例14: vop_strategy_ap

intvop_strategy_ap(struct vop_strategy_args *ap){	int error;	DO_OPS(ap->a_head.a_ops, error, ap, vop_strategy);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:8,


示例15: vop_reclaim_ap

intvop_reclaim_ap(struct vop_reclaim_args *ap){	int error;	DO_OPS(ap->a_head.a_ops, error, ap, vop_reclaim);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:8,


示例16: vop_nwhiteout_ap

intvop_nwhiteout_ap(struct vop_nwhiteout_args *ap){	int error;	DO_OPS(ap->a_head.a_ops, error, ap, vop_nwhiteout);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:8,


示例17: vop_nmknod_ap

intvop_nmknod_ap(struct vop_nmknod_args *ap){	int error;	DO_OPS(ap->a_head.a_ops, error, ap, vop_nmknod);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:8,


示例18: vop_write

/* * MPSAFE */intvop_write(struct vop_ops *ops, struct vnode *vp, struct uio *uio, int ioflag,	struct ucred *cred){	struct vop_write_args ap;	VFS_MPLOCK_DECLARE;	int error, do_accounting = 0;	struct vattr va;	uint64_t size_before=0, size_after=0;	struct mount *mp;	uint64_t offset, delta;	ap.a_head.a_desc = &vop_write_desc;	ap.a_head.a_ops = ops;	ap.a_vp = vp;	ap.a_uio = uio;	ap.a_ioflag = ioflag;	ap.a_cred = cred;	/* is this a regular vnode ? */	VFS_MPLOCK_FLAG(vp->v_mount, MNTK_WR_MPSAFE);	if (vfs_quota_enabled && (vp->v_type == VREG)) {		if ((error = VOP_GETATTR(vp, &va)) != 0)			goto done;		size_before = va.va_size;		/* this file may already have been removed */		if (va.va_nlink > 0)			do_accounting = 1;		offset = uio->uio_offset;		if (ioflag & IO_APPEND)			offset = size_before;		size_after = offset + uio->uio_resid;		if (size_after < size_before)			size_after = size_before;		delta = size_after - size_before;		mp = vq_vptomp(vp);		/* QUOTA CHECK */		if (!vq_write_ok(mp, va.va_uid, va.va_gid, delta)) {			error = EDQUOT;			goto done;		}	}	DO_OPS(ops, error, &ap, vop_write);	if ((error == 0) && do_accounting) {		VFS_ACCOUNT(mp, va.va_uid, va.va_gid, size_after - size_before);	}done:	VFS_MPUNLOCK(vp->v_mount);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:54,


示例19: vop_strategy

/* * MPSAFE */intvop_strategy(struct vop_ops *ops, struct vnode *vp, struct bio *bio){	struct vop_strategy_args ap;	VFS_MPLOCK_DECLARE;	int error;	ap.a_head.a_desc = &vop_strategy_desc;	ap.a_head.a_ops = ops;	ap.a_vp = vp;	ap.a_bio = bio;	if (vp->v_mount) {		VFS_MPLOCK_FLAG(vp->v_mount, MNTK_SG_MPSAFE);		DO_OPS(ops, error, &ap, vop_strategy);		VFS_MPUNLOCK(vp->v_mount);	} else {		/* ugly hack for swap */		get_mplock();		DO_OPS(ops, error, &ap, vop_strategy);		rel_mplock();	}	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:27,


示例20: vop_print

/* * MPSAFE */intvop_print(struct vop_ops *ops, struct vnode *vp){	struct vop_print_args ap;	VFS_MPLOCK_DECLARE;	int error;	ap.a_head.a_desc = &vop_print_desc;	ap.a_head.a_ops = ops;	ap.a_vp = vp;	VFS_MPLOCK1(vp->v_mount);	DO_OPS(ops, error, &ap, vop_print);	VFS_MPUNLOCK(vp->v_mount);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:19,


示例21: vop_kqfilter

/* * MPSAFE */intvop_kqfilter(struct vop_ops *ops, struct vnode *vp, struct knote *kn){	struct vop_kqfilter_args ap;	VFS_MPLOCK_DECLARE;	int error;	ap.a_head.a_desc = &vop_kqfilter_desc;	ap.a_head.a_ops = ops;	ap.a_vp = vp;	ap.a_kn = kn;	VFS_MPLOCK1(vp->v_mount);	DO_OPS(ops, error, &ap, vop_kqfilter);	VFS_MPUNLOCK(vp->v_mount);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:20,


示例22: vop_close

/* * MPSAFE */intvop_close(struct vop_ops *ops, struct vnode *vp, int fflag){	struct vop_close_args ap;	VFS_MPLOCK_DECLARE;	int error;	ap.a_head.a_desc = &vop_close_desc;	ap.a_head.a_ops = ops;	ap.a_vp = vp;	ap.a_fflag = fflag;	VFS_MPLOCK1(vp->v_mount);	DO_OPS(ops, error, &ap, vop_close);	VFS_MPUNLOCK(vp->v_mount);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:20,


示例23: vop_markatime

/* * MPSAFE */intvop_markatime(struct vop_ops *ops, struct vnode *vp, struct ucred *cred){	struct vop_markatime_args ap;	VFS_MPLOCK_DECLARE;	int error;	ap.a_head.a_desc = &vop_markatime_desc;	ap.a_head.a_ops = ops;	ap.a_vp = vp;	ap.a_cred = cred;	VFS_MPLOCK1(vp->v_mount);	DO_OPS(ops, error, &ap, vop_markatime);	VFS_MPUNLOCK(vp->v_mount);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:20,


示例24: vop_old_lookup

intvop_old_lookup(struct vop_ops *ops, struct vnode *dvp,	struct vnode **vpp, struct componentname *cnp){	struct vop_old_lookup_args ap;	VFS_MPLOCK_DECLARE;	int error;	ap.a_head.a_desc = &vop_old_lookup_desc;	ap.a_head.a_ops = ops;	ap.a_dvp = dvp;	ap.a_vpp = vpp;	ap.a_cnp = cnp;	VFS_MPLOCK1(dvp->v_mount);	DO_OPS(ops, error, &ap, vop_old_lookup);	VFS_MPUNLOCK(dvp->v_mount);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:18,


示例25: vop_fsync

/* * MPSAFE */intvop_fsync(struct vop_ops *ops, struct vnode *vp, int waitfor, int flags){	struct vop_fsync_args ap;	VFS_MPLOCK_DECLARE;	int error;	ap.a_head.a_desc = &vop_fsync_desc;	ap.a_head.a_ops = ops;	ap.a_vp = vp;	ap.a_waitfor = waitfor;	ap.a_flags = flags;	VFS_MPLOCK1(vp->v_mount);	DO_OPS(ops, error, &ap, vop_fsync);	VFS_MPUNLOCK(vp->v_mount);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:21,


示例26: vop_poll

/* * MPSAFE */intvop_poll(struct vop_ops *ops, struct vnode *vp, int events, struct ucred *cred){	struct vop_poll_args ap;	VFS_MPLOCK_DECLARE;	int error;	ap.a_head.a_desc = &vop_poll_desc;	ap.a_head.a_ops = ops;	ap.a_vp = vp;	ap.a_events = events;	ap.a_cred = cred;	VFS_MPLOCK1(vp->v_mount);	DO_OPS(ops, error, &ap, vop_poll);	VFS_MPUNLOCK(vp->v_mount);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:21,


示例27: vop_getattr

/* * MPSAFE */intvop_getattr(struct vop_ops *ops, struct vnode *vp, struct vattr *vap){	struct vop_getattr_args ap;	VFS_MPLOCK_DECLARE;	int error;	ap.a_head.a_desc = &vop_getattr_desc;	ap.a_head.a_ops = ops;	ap.a_vp = vp;	ap.a_vap = vap;	VFS_MPLOCK_FLAG(vp->v_mount, MNTK_GA_MPSAFE);	DO_OPS(ops, error, &ap, vop_getattr);	VFS_MPUNLOCK(vp->v_mount);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:21,


示例28: vop_freeblks

/* * MPSAFE */intvop_freeblks(struct vop_ops *ops, struct vnode *vp, off_t offset, int length){	struct vop_freeblks_args ap;	VFS_MPLOCK_DECLARE;	int error;	ap.a_head.a_desc = &vop_freeblks_desc;	ap.a_head.a_ops = ops;	ap.a_vp = vp;	ap.a_offset = offset;	ap.a_length = length;	VFS_MPLOCK1(vp->v_mount);	DO_OPS(ops, error, &ap, vop_freeblks);	VFS_MPUNLOCK(vp->v_mount);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:21,


示例29: vop_reallocblks

/* * MPSAFE */intvop_reallocblks(struct vop_ops *ops, struct vnode *vp,	struct cluster_save *buflist){	struct vop_reallocblks_args ap;	VFS_MPLOCK_DECLARE;	int error;	ap.a_head.a_desc = &vop_reallocblks_desc;	ap.a_head.a_ops = ops;	ap.a_vp = vp;	ap.a_buflist = buflist;	VFS_MPLOCK1(vp->v_mount);	DO_OPS(ops, error, &ap, vop_reallocblks);	VFS_MPUNLOCK(vp->v_mount);	return(error);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:21,


示例30: vop_mmap

/* * MPSAFE */intvop_mmap(struct vop_ops *ops, struct vnode *vp, int fflags, struct ucred *cred){	struct vop_mmap_args ap;	VFS_MPLOCK_DECLARE;	int error;	ap.a_head.a_desc = &vop_mmap_desc;	ap.a_head.a_ops = ops;	ap.a_vp = vp;	ap.a_fflags = fflags;	ap.a_cred = cred;	VFS_MPLOCK(vp->v_mount);	DO_OPS(ops, error, &ap, vop_mmap);	VFS_MPUNLOCK(vp->v_mount);	return(error);}
开发者ID:wan721,项目名称:DragonFlyBSD,代码行数:21,



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


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