⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 splice.h

📁 linux 内核源代码
💻 H
字号:
/* * Function declerations and data structures related to the splice * implementation. * * Copyright (C) 2007 Jens Axboe <jens.axboe@oracle.com> * */#ifndef SPLICE_H#define SPLICE_H#include <linux/pipe_fs_i.h>/* * splice is tied to pipes as a transport (at least for now), so we'll just * add the splice flags here. */#define SPLICE_F_MOVE	(0x01)	/* move pages instead of copying */#define SPLICE_F_NONBLOCK (0x02) /* don't block on the pipe splicing (but */				 /* we may still block on the fd we splice */				 /* from/to, of course */#define SPLICE_F_MORE	(0x04)	/* expect more data */#define SPLICE_F_GIFT	(0x08)	/* pages passed in are a gift *//* * Passed to the actors */struct splice_desc {	unsigned int len, total_len;	/* current and remaining length */	unsigned int flags;		/* splice flags */	/*	 * actor() private data	 */	union {		void __user *userptr;	/* memory to write to */		struct file *file;	/* file to read/write */		void *data;		/* cookie */	} u;	loff_t pos;			/* file position */};struct partial_page {	unsigned int offset;	unsigned int len;	unsigned long private;};/* * Passed to splice_to_pipe */struct splice_pipe_desc {	struct page **pages;		/* page map */	struct partial_page *partial;	/* pages[] may not be contig */	int nr_pages;			/* number of pages in map */	unsigned int flags;		/* splice flags */	const struct pipe_buf_operations *ops;/* ops associated with output pipe */};typedef int (splice_actor)(struct pipe_inode_info *, struct pipe_buffer *,			   struct splice_desc *);typedef int (splice_direct_actor)(struct pipe_inode_info *,				  struct splice_desc *);extern ssize_t splice_from_pipe(struct pipe_inode_info *, struct file *,				loff_t *, size_t, unsigned int,				splice_actor *);extern ssize_t __splice_from_pipe(struct pipe_inode_info *,				  struct splice_desc *, splice_actor *);extern ssize_t splice_to_pipe(struct pipe_inode_info *,			      struct splice_pipe_desc *);extern ssize_t splice_direct_to_actor(struct file *, struct splice_desc *,				      splice_direct_actor *);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -