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

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

51自学网 2021-06-03 10:16:50
  C++
这篇教程C++ xdr_adjust_iovec函数代码示例写得很实用,希望能帮到您。

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

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

示例1: nfs_xdr_renameargs

/* * Encode RENAME arguments */static intnfs_xdr_renameargs(struct rpc_rqst *req, u32 *p, struct nfs_renameargs *args){	p = xdr_encode_fhandle(p, args->fromfh);	p = xdr_encode_array(p, args->fromname, args->fromlen);	p = xdr_encode_fhandle(p, args->tofh);	p = xdr_encode_array(p, args->toname, args->tolen);	req->rq_slen = xdr_adjust_iovec(req->rq_svec, p);	return 0;}
开发者ID:dmgerman,项目名称:original,代码行数:13,


示例2: nfs_xdr_symlinkargs

/* * Encode SYMLINK arguments */static intnfs_xdr_symlinkargs(struct rpc_rqst *req, u32 *p, struct nfs_symlinkargs *args){	p = xdr_encode_fhandle(p, args->fromfh);	p = xdr_encode_array(p, args->fromname, args->fromlen);	p = xdr_encode_array(p, args->topath, args->tolen);	p = xdr_encode_sattr(p, args->sattr);	req->rq_slen = xdr_adjust_iovec(req->rq_svec, p);	return 0;}
开发者ID:dmgerman,项目名称:original,代码行数:13,


示例3: nfs3_xdr_renameargs

/* * Encode RENAME arguments */static intnfs3_xdr_renameargs(struct rpc_rqst *req, __be32 *p, struct nfs_renameargs *args){	p = xdr_encode_fhandle(p, args->old_dir);	p = xdr_encode_array(p, args->old_name->name, args->old_name->len);	p = xdr_encode_fhandle(p, args->new_dir);	p = xdr_encode_array(p, args->new_name->name, args->new_name->len);	req->rq_slen = xdr_adjust_iovec(req->rq_svec, p);	return 0;}
开发者ID:vps2fast,项目名称:openvz-kernel,代码行数:13,


示例4: nlm4clt_encode_unlockargs

static intnlm4clt_encode_unlockargs(struct rpc_rqst *req, __be32 *p, nlm_args *argp){    struct nlm_lock    *lock = &argp->lock;    if (!(p = nlm4_encode_cookie(p, &argp->cookie)))        return -EIO;    if (!(p = nlm4_encode_lock(p, lock)))        return -EIO;    req->rq_slen = xdr_adjust_iovec(req->rq_svec, p);    return 0;}
开发者ID:274914765,项目名称:C,代码行数:12,


示例5: xdr_encode_mon

static intxdr_encode_mon(struct rpc_rqst *rqstp, u32 *p, struct nsm_args *argp){	p = xdr_encode_common(rqstp, p, argp);	if (IS_ERR(p))		return PTR_ERR(p);	*p++ = argp->addr;	*p++ = argp->vers;	*p++ = argp->proto;	*p++ = 0;	rqstp->rq_slen = xdr_adjust_iovec(rqstp->rq_svec, p);	return 0;}
开发者ID:FelipeFernandes1988,项目名称:Alice-1121-Modem,代码行数:13,


示例6: nlm4clt_encode_testargs

static intnlm4clt_encode_testargs(struct rpc_rqst *req, __be32 *p, nlm_args *argp){    struct nlm_lock    *lock = &argp->lock;    if (!(p = nlm4_encode_cookie(p, &argp->cookie)))        return -EIO;    *p++ = (lock->fl.fl_type == F_WRLCK)? xdr_one : xdr_zero;    if (!(p = nlm4_encode_lock(p, lock)))        return -EIO;    req->rq_slen = xdr_adjust_iovec(req->rq_svec, p);    return 0;}
开发者ID:274914765,项目名称:C,代码行数:13,


示例7: nfs_xdr_readlinkargs

/* * Encode READLINK args */static intnfs_xdr_readlinkargs(struct rpc_rqst *req, u32 *p, struct nfs_readlinkargs *args){	struct rpc_auth *auth = req->rq_task->tk_auth;	unsigned int replen;	p = xdr_encode_fhandle(p, args->fh);	req->rq_slen = xdr_adjust_iovec(req->rq_svec, p);	/* Inline the page array */	replen = (RPC_REPHDRSIZE + auth->au_rslack + NFS_readlinkres_sz) << 2;	xdr_inline_pages(&req->rq_rcv_buf, replen, args->pages, args->pgbase, args->pglen);	return 0;}
开发者ID:Antonio-Zhou,项目名称:Linux-2.6.11,代码行数:17,


示例8: nfs3_xdr_writeargs

/* * Write arguments. Splice the buffer to be written into the iovec. */static intnfs3_xdr_writeargs(struct rpc_rqst *req, u32 *p, struct nfs_writeargs *args){	struct xdr_buf *sndbuf = &req->rq_snd_buf;	u32 count = args->count;	p = xdr_encode_fhandle(p, args->fh);	p = xdr_encode_hyper(p, args->offset);	*p++ = htonl(count);	*p++ = htonl(args->stable);	*p++ = htonl(count);	sndbuf->len = xdr_adjust_iovec(sndbuf->head, p);	/* Copy the page array */	xdr_encode_pages(sndbuf, args->pages, args->pgbase, count);	return 0;}
开发者ID:jameshilliard,项目名称:actiontec_opensrc_mi424wr-rev-e-f_fw-20-10-7-5,代码行数:20,


示例9: nfs_xdr_writeargs

/* * Write arguments. Splice the buffer to be written into the iovec. */static intnfs_xdr_writeargs(struct rpc_rqst *req, u32 *p, struct nfs_writeargs *args){	unsigned int nr;	u32 count = args->count;	p = xdr_encode_fhandle(p, args->fh);	*p++ = htonl(args->offset);	*p++ = htonl(args->offset);	*p++ = htonl(count);	*p++ = htonl(count);	req->rq_slen = xdr_adjust_iovec(req->rq_svec, p);	/* Get the number of buffers in the send iovec */	nr = args->nriov;	if (nr+2 > MAX_IOVEC) {                printk(KERN_ERR "NFS: Bad number of iov's in xdr_writeargs "                        "(nr %d max %d)/n", nr, MAX_IOVEC);                return -EINVAL;        }	/* Copy the iovec */        memcpy(req->rq_svec + 1, args->iov, nr * sizeof(struct iovec));#ifdef NFS_PAD_WRITES	/*	 * Some old servers require that the message length	 * be a multiple of 4, so we pad it here if needed.	 */	if (count & 3) {		struct iovec	*iov = req->rq_svec + nr + 1;		int		pad = 4 - (count & 3);		iov->iov_base = (void *) "/0/0/0";		iov->iov_len  = pad;		count += pad;		nr++;	}#endif	req->rq_slen += count;	req->rq_snr += nr;	return 0;}
开发者ID:dmgerman,项目名称:original,代码行数:48,


示例10: nfs3_xdr_readargs

/* * Arguments to a READ call. Since we read data directly into the page * cache, we also set up the reply iovec here so that iov[1] points * exactly to the page we want to fetch. */static intnfs3_xdr_readargs(struct rpc_rqst *req, u32 *p, struct nfs_readargs *args){	struct rpc_auth	*auth = req->rq_task->tk_auth;	unsigned int replen;	u32 count = args->count;	p = xdr_encode_fhandle(p, args->fh);	p = xdr_encode_hyper(p, args->offset);	*p++ = htonl(count);	req->rq_slen = xdr_adjust_iovec(req->rq_svec, p);	/* Inline the page array */	replen = (RPC_REPHDRSIZE + auth->au_rslack + NFS3_readres_sz) << 2;	xdr_inline_pages(&req->rq_rcv_buf, replen,			 args->pages, args->pgbase, count);	return 0;}
开发者ID:jameshilliard,项目名称:actiontec_opensrc_mi424wr-rev-e-f_fw-20-10-7-5,代码行数:23,


示例11: nfs_xdr_writeargs

static intnfs_xdr_writeargs(struct rpc_rqst *req, __be32 *p, struct nfs_writeargs *args){	struct xdr_buf *sndbuf = &req->rq_snd_buf;	u32 offset = (u32)args->offset;	u32 count = args->count;	p = xdr_encode_fhandle(p, args->fh);	*p++ = htonl(offset);	*p++ = htonl(offset);	*p++ = htonl(count);	*p++ = htonl(count);	sndbuf->len = xdr_adjust_iovec(sndbuf->head, p);	/* Copy the page array */	xdr_encode_pages(sndbuf, args->pages, args->pgbase, count);	sndbuf->flags |= XDRBUF_WRITE;	return 0;}
开发者ID:flwh,项目名称:Alcatel_OT_985_kernel,代码行数:19,


示例12: nfs_xdr_readlinkargs

/* * Encode READLINK args */static intnfs_xdr_readlinkargs(struct rpc_rqst *req, u32 *p, struct nfs_readlinkargs *args){	struct rpc_task *task = req->rq_task;	struct rpc_auth *auth = task->tk_auth;	int		buflen, replen;	p = xdr_encode_fhandle(p, args->fh);	req->rq_slen = xdr_adjust_iovec(req->rq_svec, p);	replen = (RPC_REPHDRSIZE + auth->au_rslack + NFS_readlinkres_sz) << 2;	buflen = req->rq_rvec[0].iov_len;	req->rq_rvec[0].iov_len  = replen;	req->rq_rvec[1].iov_base = args->buffer;	req->rq_rvec[1].iov_len  = args->bufsiz;	req->rq_rvec[2].iov_base = (u8 *) req->rq_rvec[0].iov_base + replen;	req->rq_rvec[2].iov_len  = buflen - replen;	req->rq_rlen = buflen + args->bufsiz;	req->rq_rnr += 2;	return 0;}
开发者ID:dmgerman,项目名称:original,代码行数:23,


示例13: xdr_encode_mon

static intxdr_encode_mon(struct rpc_rqst *rqstp, u32 *p, struct nsm_args *argp){	char	buffer[20];	u32	addr = ntohl(argp->addr);	dprintk("nsm: xdr_encode_mon(%08x, %d, %d, %d)/n",			htonl(argp->addr), htonl(argp->proc),			htonl(argp->vers), htonl(argp->proc));	/*	 * Use the dotted-quad IP address of the remote host as	 * identifier. Linux statd always looks up the canonical	 * hostname first for whatever remote hostname it receives,	 * so this works alright.	 */	sprintf(buffer, "%d.%d.%d.%d", (addr>>24) & 0xff, (addr>>16) & 0xff,				 	(addr>>8) & 0xff,  (addr) & 0xff);	if (!(p = xdr_encode_string(p, buffer))	 || !(p = xdr_encode_string(p, system_utsname.nodename)))		return -EIO;	*p++ = htonl(argp->prog);	*p++ = htonl(argp->vers);	*p++ = htonl(argp->proc);	/* This is the private part. Needed only for SM_MON call */	if (rqstp->rq_task->tk_proc == SM_MON) {		*p++ = argp->addr;		*p++ = 0;		*p++ = 0;		*p++ = 0;	}	rqstp->rq_slen = xdr_adjust_iovec(rqstp->rq_svec, p);	return 0;}
开发者ID:chinnyannieb,项目名称:empeg-hijack,代码行数:36,


示例14: nsm_create

/* * Create NSM client for the local host */static struct rpc_clnt *nsm_create(void){	struct sockaddr_in	sin = {		.sin_family	= AF_INET,		.sin_addr.s_addr = htonl(INADDR_LOOPBACK),		.sin_port	= 0,	};	struct rpc_create_args args = {		.protocol	= IPPROTO_UDP,		.address	= (struct sockaddr *)&sin,		.addrsize	= sizeof(sin),		.servername	= "localhost",		.program	= &nsm_program,		.version	= SM_VERSION,		.authflavor	= RPC_AUTH_NULL,		.flags		= (RPC_CLNT_CREATE_ONESHOT),	};	return rpc_create(&args);}/* * XDR functions for NSM. */static __be32 *xdr_encode_common(struct rpc_rqst *rqstp, __be32 *p, struct nsm_args *argp){	char	buffer[20], *name;	/*	 * Use the dotted-quad IP address of the remote host as	 * identifier. Linux statd always looks up the canonical	 * hostname first for whatever remote hostname it receives,	 * so this works alright.	 */	if (nsm_use_hostnames) {		name = argp->mon_name;	} else {		sprintf(buffer, "%u.%u.%u.%u", NIPQUAD(argp->addr));		name = buffer;	}	if (!(p = xdr_encode_string(p, name))	 || !(p = xdr_encode_string(p, utsname()->nodename)))		return ERR_PTR(-EIO);	*p++ = htonl(argp->prog);	*p++ = htonl(argp->vers);	*p++ = htonl(argp->proc);	return p;}static intxdr_encode_mon(struct rpc_rqst *rqstp, __be32 *p, struct nsm_args *argp){	p = xdr_encode_common(rqstp, p, argp);	if (IS_ERR(p))		return PTR_ERR(p);	/* Surprise - there may even be room for an IPv6 address now */	*p++ = argp->addr;	*p++ = 0;	*p++ = 0;	*p++ = 0;	rqstp->rq_slen = xdr_adjust_iovec(rqstp->rq_svec, p);	return 0;}
开发者ID:WiseMan787,项目名称:ralink_sdk,代码行数:71,


示例15: rpc_getport

//.........这里部分代码省略.........		xprt->ops->set_port(xprt, clnt->cl_port);		clnt->cl_port = htons(clnt->cl_port);	}	spin_lock(&pmap_lock);	map->pm_binding = 0;	rpc_wake_up(&map->pm_bindwait);	spin_unlock(&pmap_lock);}/* * Set or unset a port registration with the local portmapper. * port == 0 means unregister, port != 0 means register. */intrpc_register(u32 prog, u32 vers, int prot, unsigned short port, int *okay){	struct sockaddr_in	sin;	struct rpc_portmap	map;	struct rpc_clnt		*pmap_clnt;	int error = 0;	dprintk("RPC: registering (%d, %d, %d, %d) with portmapper./n",			prog, vers, prot, port);	sin.sin_family = AF_INET;	sin.sin_addr.s_addr = htonl(INADDR_LOOPBACK);	pmap_clnt = pmap_create("localhost", &sin, IPPROTO_UDP, 1);	if (IS_ERR(pmap_clnt)) {		error = PTR_ERR(pmap_clnt);		dprintk("RPC: couldn't create pmap client. Error = %d/n", error);		return error;	}	map.pm_prog = prog;	map.pm_vers = vers;	map.pm_prot = prot;	map.pm_port = port;	error = rpc_call(pmap_clnt, port? PMAP_SET : PMAP_UNSET,					&map, okay, 0);	if (error < 0) {		printk(KERN_WARNING			"RPC: failed to contact portmap (errno %d)./n",			error);	}	dprintk("RPC: registration status %d/%d/n", error, *okay);	/* Client deleted automatically because cl_oneshot == 1 */	return error;}static struct rpc_clnt *pmap_create(char *hostname, struct sockaddr_in *srvaddr, int proto, int privileged){	struct rpc_xprt	*xprt;	struct rpc_clnt	*clnt;	/* printk("pmap: create xprt/n"); */	xprt = xprt_create_proto(proto, srvaddr, NULL);	if (IS_ERR(xprt))		return (struct rpc_clnt *)xprt;	xprt->ops->set_port(xprt, RPC_PMAP_PORT);	if (!privileged)		xprt->resvport = 0;	/* printk("pmap: create clnt/n"); */	clnt = rpc_new_client(xprt, hostname,				&pmap_program, RPC_PMAP_VERSION,				RPC_AUTH_UNIX);	if (!IS_ERR(clnt)) {		clnt->cl_softrtry = 1;		clnt->cl_oneshot  = 1;	}	return clnt;}/* * XDR encode/decode functions for PMAP */static intxdr_encode_mapping(struct rpc_rqst *req, u32 *p, struct rpc_portmap *map){	dprintk("RPC: xdr_encode_mapping(%d, %d, %d, %d)/n",		map->pm_prog, map->pm_vers, map->pm_prot, map->pm_port);	*p++ = htonl(map->pm_prog);	*p++ = htonl(map->pm_vers);	*p++ = htonl(map->pm_prot);	*p++ = htonl(map->pm_port);	req->rq_slen = xdr_adjust_iovec(req->rq_svec, p);	return 0;}static intxdr_decode_port(struct rpc_rqst *req, u32 *p, unsigned short *portp){	*portp = (unsigned short) ntohl(*p++);	return 0;}
开发者ID:jameshilliard,项目名称:actiontec_opensrc_mi424wr-rev-e-f_fw-20-10-7-5,代码行数:101,


示例16: rpcb_register

//.........这里部分代码省略.........	rpc_put_task(child);	task->tk_xprt->stat.bind_count++;	return;bailout:	kfree(map);	xprt_put(xprt);bailout_nofree:	rpcb_wake_rpcbind_waiters(xprt, status);bailout_nowake:	task->tk_status = status;}EXPORT_SYMBOL_GPL(rpcb_getport_async);/* * Rpcbind child task calls this callback via tk_exit. */static void rpcb_getport_done(struct rpc_task *child, void *data){	struct rpcbind_args *map = data;	struct rpc_xprt *xprt = map->r_xprt;	int status = child->tk_status;	/* Garbage reply: retry with a lesser rpcbind version */	if (status == -EIO)		status = -EPROTONOSUPPORT;	/* rpcbind server doesn't support this rpcbind protocol version */	if (status == -EPROTONOSUPPORT)		xprt->bind_index++;	if (status < 0) {		/* rpcbind server not available on remote host? */		xprt->ops->set_port(xprt, 0);	} else if (map->r_port == 0) {		/* Requested RPC service wasn't registered on remote host */		xprt->ops->set_port(xprt, 0);		status = -EACCES;	} else {		/* Succeeded */		xprt->ops->set_port(xprt, map->r_port);		xprt_set_bound(xprt);		status = 0;	}	dprintk("RPC: %5u rpcb_getport_done(status %d, port %u)/n",			child->tk_pid, status, map->r_port);	rpcb_wake_rpcbind_waiters(xprt, status);}static int rpcb_encode_mapping(struct rpc_rqst *req, __be32 *p,			       struct rpcbind_args *rpcb){	dprintk("RPC:       rpcb_encode_mapping(%u, %u, %d, %u)/n",			rpcb->r_prog, rpcb->r_vers, rpcb->r_prot, rpcb->r_port);	*p++ = htonl(rpcb->r_prog);	*p++ = htonl(rpcb->r_vers);	*p++ = htonl(rpcb->r_prot);	*p++ = htonl(rpcb->r_port);	req->rq_slen = xdr_adjust_iovec(req->rq_svec, p);	return 0;}static int rpcb_decode_getport(struct rpc_rqst *req, __be32 *p,			       unsigned short *portp){	*portp = (unsigned short) ntohl(*p++);	dprintk("RPC:      rpcb_decode_getport result %u/n",			*portp);	return 0;}static int rpcb_decode_set(struct rpc_rqst *req, __be32 *p,			   unsigned int *boolp){	*boolp = (unsigned int) ntohl(*p++);	dprintk("RPC:      rpcb_decode_set result %u/n",			*boolp);	return 0;}static int rpcb_encode_getaddr(struct rpc_rqst *req, __be32 *p,			       struct rpcbind_args *rpcb){	dprintk("RPC:       rpcb_encode_getaddr(%u, %u, %s)/n",			rpcb->r_prog, rpcb->r_vers, rpcb->r_addr);	*p++ = htonl(rpcb->r_prog);	*p++ = htonl(rpcb->r_vers);	p = xdr_encode_string(p, rpcb->r_netid);	p = xdr_encode_string(p, rpcb->r_addr);	p = xdr_encode_string(p, rpcb->r_owner);	req->rq_slen = xdr_adjust_iovec(req->rq_svec, p);	return 0;}
开发者ID:mobilipia,项目名称:iods,代码行数:101,



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


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