include/linux/sunrpc/xdrgen/nfs4_1.h

Source file repositories/reference/linux-study-clean/include/linux/sunrpc/xdrgen/nfs4_1.h

File Facts

System
Linux kernel
Corpus path
include/linux/sunrpc/xdrgen/nfs4_1.h
Extension
.h
Size
6753 bytes
Lines
264
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 nfstime4 {
	int64_t seconds;
	uint32_t nseconds;
};

typedef bool fattr4_offline;

enum { FATTR4_OFFLINE = 83 };

struct open_arguments4 {
	bitmap4 oa_share_access;
	bitmap4 oa_share_deny;
	bitmap4 oa_share_access_want;
	bitmap4 oa_open_claim;
	bitmap4 oa_create_mode;
};

enum open_args_share_access4 {
	OPEN_ARGS_SHARE_ACCESS_READ = 1,
	OPEN_ARGS_SHARE_ACCESS_WRITE = 2,
	OPEN_ARGS_SHARE_ACCESS_BOTH = 3,
};

typedef enum open_args_share_access4 open_args_share_access4;

enum open_args_share_deny4 {
	OPEN_ARGS_SHARE_DENY_NONE = 0,
	OPEN_ARGS_SHARE_DENY_READ = 1,
	OPEN_ARGS_SHARE_DENY_WRITE = 2,
	OPEN_ARGS_SHARE_DENY_BOTH = 3,
};

typedef enum open_args_share_deny4 open_args_share_deny4;

enum open_args_share_access_want4 {
	OPEN_ARGS_SHARE_ACCESS_WANT_ANY_DELEG = 3,
	OPEN_ARGS_SHARE_ACCESS_WANT_NO_DELEG = 4,
	OPEN_ARGS_SHARE_ACCESS_WANT_CANCEL = 5,
	OPEN_ARGS_SHARE_ACCESS_WANT_SIGNAL_DELEG_WHEN_RESRC_AVAIL = 17,
	OPEN_ARGS_SHARE_ACCESS_WANT_PUSH_DELEG_WHEN_UNCONTENDED = 18,
	OPEN_ARGS_SHARE_ACCESS_WANT_DELEG_TIMESTAMPS = 20,
	OPEN_ARGS_SHARE_ACCESS_WANT_OPEN_XOR_DELEGATION = 21,
};

typedef enum open_args_share_access_want4 open_args_share_access_want4;

enum open_args_open_claim4 {
	OPEN_ARGS_OPEN_CLAIM_NULL = 0,
	OPEN_ARGS_OPEN_CLAIM_PREVIOUS = 1,
	OPEN_ARGS_OPEN_CLAIM_DELEGATE_CUR = 2,
	OPEN_ARGS_OPEN_CLAIM_DELEGATE_PREV = 3,
	OPEN_ARGS_OPEN_CLAIM_FH = 4,
	OPEN_ARGS_OPEN_CLAIM_DELEG_CUR_FH = 5,
	OPEN_ARGS_OPEN_CLAIM_DELEG_PREV_FH = 6,
};

typedef enum open_args_open_claim4 open_args_open_claim4;

enum open_args_createmode4 {
	OPEN_ARGS_CREATEMODE_UNCHECKED4 = 0,
	OPEN_ARGS_CREATE_MODE_GUARDED = 1,
	OPEN_ARGS_CREATEMODE_EXCLUSIVE4 = 2,
	OPEN_ARGS_CREATE_MODE_EXCLUSIVE4_1 = 3,
};

typedef enum open_args_createmode4 open_args_createmode4;

typedef struct open_arguments4 fattr4_open_arguments;

/*
 * Determine what OPEN supports.
 */

enum { FATTR4_OPEN_ARGUMENTS = 86 };

enum { OPEN4_RESULT_NO_OPEN_STATEID = 0x00000010 };

typedef struct nfstime4 fattr4_time_deleg_access;

typedef struct nfstime4 fattr4_time_deleg_modify;

/*
 * New RECOMMENDED Attribute for
 * delegation caching of times
 */

enum { FATTR4_TIME_DELEG_ACCESS = 84 };

enum { FATTR4_TIME_DELEG_MODIFY = 85 };

Annotation

Implementation Notes