include/uapi/linux/fuse.h

Source file repositories/reference/linux-study-clean/include/uapi/linux/fuse.h

File Facts

System
Linux kernel
Corpus path
include/uapi/linux/fuse.h
Extension
.h
Size
31930 bytes
Lines
1312
Domain
Core OS
Bucket
Core Kernel Interface
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

struct fuse_attr {
	uint64_t	ino;
	uint64_t	size;
	uint64_t	blocks;
	uint64_t	atime;
	uint64_t	mtime;
	uint64_t	ctime;
	uint32_t	atimensec;
	uint32_t	mtimensec;
	uint32_t	ctimensec;
	uint32_t	mode;
	uint32_t	nlink;
	uint32_t	uid;
	uint32_t	gid;
	uint32_t	rdev;
	uint32_t	blksize;
	uint32_t	flags;
};

/*
 * The following structures are bit-for-bit compatible with the statx(2) ABI in
 * Linux.
 */
struct fuse_sx_time {
	int64_t		tv_sec;
	uint32_t	tv_nsec;
	int32_t		__reserved;
};

struct fuse_statx {
	uint32_t	mask;
	uint32_t	blksize;
	uint64_t	attributes;
	uint32_t	nlink;
	uint32_t	uid;
	uint32_t	gid;
	uint16_t	mode;
	uint16_t	__spare0[1];
	uint64_t	ino;
	uint64_t	size;
	uint64_t	blocks;
	uint64_t	attributes_mask;
	struct fuse_sx_time	atime;
	struct fuse_sx_time	btime;
	struct fuse_sx_time	ctime;
	struct fuse_sx_time	mtime;
	uint32_t	rdev_major;
	uint32_t	rdev_minor;
	uint32_t	dev_major;
	uint32_t	dev_minor;
	uint64_t	__spare2[14];
};

struct fuse_kstatfs {
	uint64_t	blocks;
	uint64_t	bfree;
	uint64_t	bavail;
	uint64_t	files;
	uint64_t	ffree;
	uint32_t	bsize;
	uint32_t	namelen;
	uint32_t	frsize;
	uint32_t	padding;
	uint32_t	spare[6];
};

struct fuse_file_lock {
	uint64_t	start;
	uint64_t	end;
	uint32_t	type;
	uint32_t	pid; /* tgid */
};

/**
 * Bitmasks for fuse_setattr_in.valid
 */
#define FATTR_MODE	(1 << 0)
#define FATTR_UID	(1 << 1)
#define FATTR_GID	(1 << 2)
#define FATTR_SIZE	(1 << 3)
#define FATTR_ATIME	(1 << 4)
#define FATTR_MTIME	(1 << 5)
#define FATTR_FH	(1 << 6)
#define FATTR_ATIME_NOW	(1 << 7)
#define FATTR_MTIME_NOW	(1 << 8)
#define FATTR_LOCKOWNER	(1 << 9)
#define FATTR_CTIME	(1 << 10)
#define FATTR_KILL_SUIDGID	(1 << 11)

/**

Annotation

Implementation Notes