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

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

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

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

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

示例1: rumpcomp_virtif_send

voidrumpcomp_virtif_send(struct virtif_user *vu, struct iovec *iov, size_t niov){	mm_segment_t oseg;	loff_t off = 0;	ssize_t nn;	oseg = get_fs();	set_fs(get_ds());	/* something is written, rest (if any) is dropped */	KLOCK_WRAP(nn = vfs_writev(vu->tapfile, iov, niov, &off));	set_fs(oseg);}
开发者ID:jaimeyu,项目名称:rumpuser-linuxkernel,代码行数:13,


示例2: sys_writev

asmlinkage ssize_tsys_writev(unsigned long fd, const struct iovec __user *vec, unsigned long vlen){   struct file *file;   ssize_t ret = -EBADF;   int fput_needed;   file = fget_light(fd, &fput_needed);   if (file) {      ret = vfs_writev(file, vec, vlen, &file->f_pos);      fput_light(file, fput_needed);   }   return ret;}
开发者ID:OS2World,项目名称:DRV-LXAPI32,代码行数:15,


示例3: log_to_exception

/** *  tag: the tag of this command *  msg: concrete command string to write to /dev/log/exception *  return: on success return the bytes writed successfully, on error return -1 **/int log_to_exception(char* tag, char* msg){    mm_segment_t oldfs;    struct file *file;    unsigned char * prio_err = "6";//ANDROID_ERROR    int ret = 0;    struct iovec vec[3];    if(NULL == tag || NULL == msg)    {        pr_err("log_exception: the arguments invalidate/n");        return -1;    }    oldfs = get_fs();    set_fs(KERNEL_DS);    file = filp_open(LOG_EXCEPTION_FS,O_RDWR,0);    if(!file || IS_ERR(file))    {        pr_err("log_exception: Failed to access /dev/log/exception/n");        set_fs(oldfs);        return -1;    }    vec[0].iov_base = prio_err;    vec[0].iov_len = 1;    vec[1].iov_base = tag;    vec[1].iov_len = strlen(tag) + 1;    vec[2].iov_base = msg;    vec[2].iov_len = strlen(msg)+1;    ret = vfs_writev(file, &vec[0], 3, &file->f_pos);    if(ret < 0)    {        pr_err("log_exception: Failed to write to /dev/log/exception/n");        filp_close(file, NULL);        set_fs(oldfs);        return -1;    }    filp_close(file, NULL);    set_fs(oldfs);    return ret;}
开发者ID:printusrzero,项目名称:hwp6s-kernel,代码行数:52,


示例4: SYSCALL_DEFINE3

SYSCALL_DEFINE3(writev, unsigned long, fd, const struct iovec __user *, vec,		unsigned long, vlen){	struct fd f = fdget(fd);	ssize_t ret = -EBADF;	if (f.file) {		loff_t pos = file_pos_read(f.file);		ret = vfs_writev(f.file, vec, vlen, &pos);		file_pos_write(f.file, pos);		fdput(f);	}	if (ret > 0)		add_wchar(current, ret);	inc_syscw(current);	return ret;}
开发者ID:dkati,项目名称:Hulk-Kernel-V2,代码行数:18,


示例5: do_writev

static ssize_t do_writev(unsigned long fd, const struct iovec __user *vec,			 unsigned long vlen, int flags){	struct fd f = fdget_pos(fd);	ssize_t ret = -EBADF;	if (f.file) {		loff_t pos = file_pos_read(f.file);		ret = vfs_writev(f.file, vec, vlen, &pos, flags);		if (ret >= 0)			file_pos_write(f.file, pos);		fdput_pos(f);	}	if (ret > 0)		add_wchar(current, ret);	inc_syscw(current);	return ret;}
开发者ID:020gzh,项目名称:linux,代码行数:19,


示例6: SYSCALL_DEFINE3

SYSCALL_DEFINE3(writev, unsigned long, fd, const struct iovec __user *, vec,		unsigned long, vlen){	struct file *file;	ssize_t ret = -EBADF;	int fput_needed;	file = fget_light(fd, &fput_needed);	if (file) {		loff_t pos = file_pos_read(file);		ret = vfs_writev(file, vec, vlen, &pos);		file_pos_write(file, pos);		fput_light(file, fput_needed);	}	if (ret > 0)		add_wchar(current, ret);	inc_syscw(current);	return ret;}
开发者ID:kuailexs,项目名称:A820_kernel,代码行数:20,


示例7: do_pwritev

static ssize_t do_pwritev(unsigned long fd, const struct iovec __user *vec,			  unsigned long vlen, loff_t pos, int flags){	struct fd f;	ssize_t ret = -EBADF;	if (pos < 0)		return -EINVAL;	f = fdget(fd);	if (f.file) {		ret = -ESPIPE;		if (f.file->f_mode & FMODE_PWRITE)			ret = vfs_writev(f.file, vec, vlen, &pos, flags);		fdput(f);	}	if (ret > 0)		add_wchar(current, ret);	inc_syscw(current);	return ret;}
开发者ID:020gzh,项目名称:linux,代码行数:22,


示例8: fd_do_writev

static int fd_do_writev(struct se_task *task){	struct fd_request *req = FILE_REQ(task);	struct se_device *se_dev = req->fd_task.task_se_cmd->se_dev;	struct fd_dev *dev = se_dev->dev_ptr;	struct file *fd = dev->fd_file;	struct scatterlist *sg = task->task_sg;	struct iovec *iov;	mm_segment_t old_fs;	loff_t pos = (task->task_lba *		      se_dev->se_sub_dev->se_dev_attrib.block_size);	int ret, i = 0;	iov = kzalloc(sizeof(struct iovec) * task->task_sg_nents, GFP_KERNEL);	if (!iov) {		pr_err("Unable to allocate fd_do_writev iov[]/n");		return -ENOMEM;	}	for (i = 0; i < task->task_sg_nents; i++) {		iov[i].iov_len = sg[i].length;		iov[i].iov_base = sg_virt(&sg[i]);	}	old_fs = get_fs();	set_fs(get_ds());	ret = vfs_writev(fd, &iov[0], task->task_sg_nents, &pos);	set_fs(old_fs);	kfree(iov);	if (ret < 0 || ret != task->task_size) {		pr_err("vfs_writev() returned %d/n", ret);		return (ret < 0 ? ret : -EINVAL);	}	return 1;}
开发者ID:SSKain,项目名称:linux-2.6-imx,代码行数:38,


示例9: SYSCALL_DEFINE5

SYSCALL_DEFINE5(pwritev, unsigned long, fd, const struct iovec __user *, vec,		unsigned long, vlen, unsigned long, pos_l, unsigned long, pos_h){	loff_t pos = pos_from_hilo(pos_h, pos_l);	struct fd f;	ssize_t ret = -EBADF;	if (pos < 0)		return -EINVAL;	f = fdget(fd);	if (f.file) {		ret = -ESPIPE;		if (f.file->f_mode & FMODE_PWRITE)			ret = vfs_writev(f.file, vec, vlen, &pos);		fdput(f);	}	if (ret > 0)		add_wchar(current, ret);	inc_syscw(current);	return ret;}
开发者ID:dkati,项目名称:Hulk-Kernel-V2,代码行数:23,



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


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