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

📄 fuse_lowlevel_compat.h

📁 FUSE文件系统开发工具,将内核层面的文件系统开发过程平移到应用层面上来。
💻 H
字号:
/*  FUSE: Filesystem in Userspace  Copyright (C) 2001-2007  Miklos Szeredi <miklos@szeredi.hu>  This program can be distributed under the terms of the GNU LGPLv2.  See the file COPYING.LIB.*//* these definitions provide source compatibility to prior versions.   Do not include this file directly! */struct fuse_lowlevel_ops_compat25 {	void (*init) (void *userdata);	void (*destroy) (void *userdata);	void (*lookup) (fuse_req_t req, fuse_ino_t parent, const char *name);	void (*forget) (fuse_req_t req, fuse_ino_t ino, unsigned long nlookup);	void (*getattr) (fuse_req_t req, fuse_ino_t ino,			 struct fuse_file_info *fi);	void (*setattr) (fuse_req_t req, fuse_ino_t ino, struct stat *attr,			 int to_set, struct fuse_file_info *fi);	void (*readlink) (fuse_req_t req, fuse_ino_t ino);	void (*mknod) (fuse_req_t req, fuse_ino_t parent, const char *name,		       mode_t mode, dev_t rdev);	void (*mkdir) (fuse_req_t req, fuse_ino_t parent, const char *name,		       mode_t mode);	void (*unlink) (fuse_req_t req, fuse_ino_t parent, const char *name);	void (*rmdir) (fuse_req_t req, fuse_ino_t parent, const char *name);	void (*symlink) (fuse_req_t req, const char *link, fuse_ino_t parent,			 const char *name);	void (*rename) (fuse_req_t req, fuse_ino_t parent, const char *name,			fuse_ino_t newparent, const char *newname);	void (*link) (fuse_req_t req, fuse_ino_t ino, fuse_ino_t newparent,		      const char *newname);	void (*open) (fuse_req_t req, fuse_ino_t ino,		      struct fuse_file_info *fi);	void (*read) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,		      struct fuse_file_info *fi);	void (*write) (fuse_req_t req, fuse_ino_t ino, const char *buf,		       size_t size, off_t off, struct fuse_file_info *fi);	void (*flush) (fuse_req_t req, fuse_ino_t ino,		       struct fuse_file_info *fi);	void (*release) (fuse_req_t req, fuse_ino_t ino,			 struct fuse_file_info *fi);	void (*fsync) (fuse_req_t req, fuse_ino_t ino, int datasync,		       struct fuse_file_info *fi);	void (*opendir) (fuse_req_t req, fuse_ino_t ino,			 struct fuse_file_info *fi);	void (*readdir) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,			 struct fuse_file_info *fi);	void (*releasedir) (fuse_req_t req, fuse_ino_t ino,			    struct fuse_file_info *fi);	void (*fsyncdir) (fuse_req_t req, fuse_ino_t ino, int datasync,			  struct fuse_file_info *fi);	void (*statfs) (fuse_req_t req);	void (*setxattr) (fuse_req_t req, fuse_ino_t ino, const char *name,			  const char *value, size_t size, int flags);	void (*getxattr) (fuse_req_t req, fuse_ino_t ino, const char *name,			  size_t size);	void (*listxattr) (fuse_req_t req, fuse_ino_t ino, size_t size);	void (*removexattr) (fuse_req_t req, fuse_ino_t ino, const char *name);	void (*access) (fuse_req_t req, fuse_ino_t ino, int mask);	void (*create) (fuse_req_t req, fuse_ino_t parent, const char *name,			mode_t mode, struct fuse_file_info *fi);};struct fuse_session *fuse_lowlevel_new_compat25(struct fuse_args *args,				const struct fuse_lowlevel_ops_compat25 *op,				size_t op_size, void *userdata);size_t fuse_dirent_size(size_t namelen);char *fuse_add_dirent(char *buf, const char *name, const struct stat *stbuf,		      off_t off);#ifndef __FreeBSD__#include <sys/statfs.h>struct fuse_lowlevel_ops_compat {	void (*init) (void *userdata);	void (*destroy) (void *userdata);	void (*lookup) (fuse_req_t req, fuse_ino_t parent, const char *name);	void (*forget) (fuse_req_t req, fuse_ino_t ino, unsigned long nlookup);	void (*getattr) (fuse_req_t req, fuse_ino_t ino,			 struct fuse_file_info_compat *fi);	void (*setattr) (fuse_req_t req, fuse_ino_t ino, struct stat *attr,			 int to_set, struct fuse_file_info_compat *fi);	void (*readlink) (fuse_req_t req, fuse_ino_t ino);	void (*mknod) (fuse_req_t req, fuse_ino_t parent, const char *name,		       mode_t mode, dev_t rdev);	void (*mkdir) (fuse_req_t req, fuse_ino_t parent, const char *name,		       mode_t mode);	void (*unlink) (fuse_req_t req, fuse_ino_t parent, const char *name);	void (*rmdir) (fuse_req_t req, fuse_ino_t parent, const char *name);	void (*symlink) (fuse_req_t req, const char *link, fuse_ino_t parent,			 const char *name);	void (*rename) (fuse_req_t req, fuse_ino_t parent, const char *name,			fuse_ino_t newparent, const char *newname);	void (*link) (fuse_req_t req, fuse_ino_t ino, fuse_ino_t newparent,		      const char *newname);	void (*open) (fuse_req_t req, fuse_ino_t ino,		      struct fuse_file_info_compat *fi);	void (*read) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,		      struct fuse_file_info_compat *fi);	void (*write) (fuse_req_t req, fuse_ino_t ino, const char *buf,		       size_t size, off_t off, struct fuse_file_info_compat *fi);	void (*flush) (fuse_req_t req, fuse_ino_t ino,		       struct fuse_file_info_compat *fi);	void (*release) (fuse_req_t req, fuse_ino_t ino,			 struct fuse_file_info_compat *fi);	void (*fsync) (fuse_req_t req, fuse_ino_t ino, int datasync,		       struct fuse_file_info_compat *fi);	void (*opendir) (fuse_req_t req, fuse_ino_t ino,			 struct fuse_file_info_compat *fi);	void (*readdir) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,			 struct fuse_file_info_compat *fi);	void (*releasedir) (fuse_req_t req, fuse_ino_t ino,			    struct fuse_file_info_compat *fi);	void (*fsyncdir) (fuse_req_t req, fuse_ino_t ino, int datasync,			  struct fuse_file_info_compat *fi);	void (*statfs) (fuse_req_t req);	void (*setxattr) (fuse_req_t req, fuse_ino_t ino, const char *name,			  const char *value, size_t size, int flags);	void (*getxattr) (fuse_req_t req, fuse_ino_t ino, const char *name,			  size_t size);	void (*listxattr) (fuse_req_t req, fuse_ino_t ino, size_t size);	void (*removexattr) (fuse_req_t req, fuse_ino_t ino, const char *name);	void (*access) (fuse_req_t req, fuse_ino_t ino, int mask);	void (*create) (fuse_req_t req, fuse_ino_t parent, const char *name,			mode_t mode, struct fuse_file_info_compat *fi);};int fuse_reply_statfs_compat(fuse_req_t req, const struct statfs *stbuf);int fuse_reply_open_compat(fuse_req_t req,			   const struct fuse_file_info_compat *fi);struct fuse_session *fuse_lowlevel_new_compat(const char *opts,				const struct fuse_lowlevel_ops_compat *op,				size_t op_size, void *userdata);#endif /* __FreeBSD__ */struct fuse_chan_ops_compat24 {	int (*receive)(struct fuse_chan *ch, char *buf, size_t size);	int (*send)(struct fuse_chan *ch, const struct iovec iov[],		    size_t count);	void (*destroy)(struct fuse_chan *ch);};struct fuse_chan *fuse_chan_new_compat24(struct fuse_chan_ops_compat24 *op,					 int fd, size_t bufsize, void *data);int fuse_chan_receive(struct fuse_chan *ch, char *buf, size_t size);struct fuse_chan *fuse_kern_chan_new(int fd);

⌨️ 快捷键说明

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