null.c

来自「linux下的用户文件系统fuse-2.5.2」· C语言 代码 · 共 89 行

C
89
字号
/*    FUSE: Filesystem in Userspace    Copyright (C) 2001-2006  Miklos Szeredi <miklos@szeredi.hu>    This program can be distributed under the terms of the GNU GPL.    See the file COPYING.*/#include <fuse.h>#include <string.h>#include <unistd.h>#include <time.h>#include <errno.h>static int null_getattr(const char *path, struct stat *stbuf){    if(strcmp(path, "/") != 0)        return -ENOENT;    stbuf->st_mode = S_IFREG | 0644;    stbuf->st_nlink = 1;    stbuf->st_uid = getuid();    stbuf->st_gid = getgid();    stbuf->st_size = (1ULL << 32); /* 4G */    stbuf->st_blocks = 0;    stbuf->st_atime = stbuf->st_mtime = stbuf->st_ctime = time(NULL);    return 0;}static int null_truncate(const char *path, off_t size){    (void) size;    if(strcmp(path, "/") != 0)        return -ENOENT;    return 0;}static int null_open(const char *path, struct fuse_file_info *fi){    (void) fi;    if(strcmp(path, "/") != 0)        return -ENOENT;    return 0;}static int null_read(const char *path, char *buf, size_t size,                     off_t offset, struct fuse_file_info *fi){    (void) buf;    (void) offset;    (void) fi;    if(strcmp(path, "/") != 0)        return -ENOENT;    return size;}static int null_write(const char *path, const char *buf, size_t size,                     off_t offset, struct fuse_file_info *fi){    (void) buf;    (void) offset;    (void) fi;    if(strcmp(path, "/") != 0)        return -ENOENT;    return size;}static struct fuse_operations null_oper = {    .getattr	= null_getattr,    .truncate	= null_truncate,    .open	= null_open,    .read	= null_read,    .write	= null_write,};int main(int argc, char *argv[]){    return fuse_main(argc, argv, &null_oper);}

⌨️ 快捷键说明

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