1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Generated by xdrgen. Manual edits will be lost. */ 3 /* XDR specification file: ../../Documentation/sunrpc/xdr/nfs4_1.x */ 4 /* XDR specification modification time: Mon Oct 14 09:10:13 2024 */ 5 6 #ifndef _LINUX_XDRGEN_NFS4_1_DEF_H 7 #define _LINUX_XDRGEN_NFS4_1_DEF_H 8 9 #include <linux/types.h> 10 #include <linux/sunrpc/xdrgen/_defs.h> 11 12 typedef s64 int64_t; 13 14 typedef u32 uint32_t; 15 16 typedef struct { 17 u32 count; 18 uint32_t *element; 19 } bitmap4; 20 21 struct nfstime4 { 22 int64_t seconds; 23 uint32_t nseconds; 24 }; 25 26 typedef bool fattr4_offline; 27 28 enum { FATTR4_OFFLINE = 83 }; 29 30 struct open_arguments4 { 31 bitmap4 oa_share_access; 32 bitmap4 oa_share_deny; 33 bitmap4 oa_share_access_want; 34 bitmap4 oa_open_claim; 35 bitmap4 oa_create_mode; 36 }; 37 38 enum open_args_share_access4 { 39 OPEN_ARGS_SHARE_ACCESS_READ = 1, 40 OPEN_ARGS_SHARE_ACCESS_WRITE = 2, 41 OPEN_ARGS_SHARE_ACCESS_BOTH = 3, 42 }; 43 typedef enum open_args_share_access4 open_args_share_access4; 44 45 enum open_args_share_deny4 { 46 OPEN_ARGS_SHARE_DENY_NONE = 0, 47 OPEN_ARGS_SHARE_DENY_READ = 1, 48 OPEN_ARGS_SHARE_DENY_WRITE = 2, 49 OPEN_ARGS_SHARE_DENY_BOTH = 3, 50 }; 51 typedef enum open_args_share_deny4 open_args_share_deny4; 52 53 enum open_args_share_access_want4 { 54 OPEN_ARGS_SHARE_ACCESS_WANT_ANY_DELEG = 3, 55 OPEN_ARGS_SHARE_ACCESS_WANT_NO_DELEG = 4, 56 OPEN_ARGS_SHARE_ACCESS_WANT_CANCEL = 5, 57 OPEN_ARGS_SHARE_ACCESS_WANT_SIGNAL_DELEG_WHEN_RESRC_AVAIL = 17, 58 OPEN_ARGS_SHARE_ACCESS_WANT_PUSH_DELEG_WHEN_UNCONTENDED = 18, 59 OPEN_ARGS_SHARE_ACCESS_WANT_DELEG_TIMESTAMPS = 20, 60 OPEN_ARGS_SHARE_ACCESS_WANT_OPEN_XOR_DELEGATION = 21, 61 }; 62 typedef enum open_args_share_access_want4 open_args_share_access_want4; 63 64 enum open_args_open_claim4 { 65 OPEN_ARGS_OPEN_CLAIM_NULL = 0, 66 OPEN_ARGS_OPEN_CLAIM_PREVIOUS = 1, 67 OPEN_ARGS_OPEN_CLAIM_DELEGATE_CUR = 2, 68 OPEN_ARGS_OPEN_CLAIM_DELEGATE_PREV = 3, 69 OPEN_ARGS_OPEN_CLAIM_FH = 4, 70 OPEN_ARGS_OPEN_CLAIM_DELEG_CUR_FH = 5, 71 OPEN_ARGS_OPEN_CLAIM_DELEG_PREV_FH = 6, 72 }; 73 typedef enum open_args_open_claim4 open_args_open_claim4; 74 75 enum open_args_createmode4 { 76 OPEN_ARGS_CREATEMODE_UNCHECKED4 = 0, 77 OPEN_ARGS_CREATE_MODE_GUARDED = 1, 78 OPEN_ARGS_CREATEMODE_EXCLUSIVE4 = 2, 79 OPEN_ARGS_CREATE_MODE_EXCLUSIVE4_1 = 3, 80 }; 81 typedef enum open_args_createmode4 open_args_createmode4; 82 83 typedef struct open_arguments4 fattr4_open_arguments; 84 85 enum { FATTR4_OPEN_ARGUMENTS = 86 }; 86 87 enum { OPEN4_RESULT_NO_OPEN_STATEID = 0x00000010 }; 88 89 typedef struct nfstime4 fattr4_time_deleg_access; 90 91 typedef struct nfstime4 fattr4_time_deleg_modify; 92 93 enum { FATTR4_TIME_DELEG_ACCESS = 84 }; 94 95 enum { FATTR4_TIME_DELEG_MODIFY = 85 }; 96 97 enum { OPEN4_SHARE_ACCESS_WANT_DELEG_MASK = 0xFF00 }; 98 99 enum { OPEN4_SHARE_ACCESS_WANT_NO_PREFERENCE = 0x0000 }; 100 101 enum { OPEN4_SHARE_ACCESS_WANT_READ_DELEG = 0x0100 }; 102 103 enum { OPEN4_SHARE_ACCESS_WANT_WRITE_DELEG = 0x0200 }; 104 105 enum { OPEN4_SHARE_ACCESS_WANT_ANY_DELEG = 0x0300 }; 106 107 enum { OPEN4_SHARE_ACCESS_WANT_NO_DELEG = 0x0400 }; 108 109 enum { OPEN4_SHARE_ACCESS_WANT_CANCEL = 0x0500 }; 110 111 enum { OPEN4_SHARE_ACCESS_WANT_SIGNAL_DELEG_WHEN_RESRC_AVAIL = 0x10000 }; 112 113 enum { OPEN4_SHARE_ACCESS_WANT_PUSH_DELEG_WHEN_UNCONTENDED = 0x20000 }; 114 115 enum { OPEN4_SHARE_ACCESS_WANT_DELEG_TIMESTAMPS = 0x100000 }; 116 117 enum { OPEN4_SHARE_ACCESS_WANT_OPEN_XOR_DELEGATION = 0x200000 }; 118 119 enum open_delegation_type4 { 120 OPEN_DELEGATE_NONE = 0, 121 OPEN_DELEGATE_READ = 1, 122 OPEN_DELEGATE_WRITE = 2, 123 OPEN_DELEGATE_NONE_EXT = 3, 124 OPEN_DELEGATE_READ_ATTRS_DELEG = 4, 125 OPEN_DELEGATE_WRITE_ATTRS_DELEG = 5, 126 }; 127 typedef enum open_delegation_type4 open_delegation_type4; 128 129 #define NFS4_int64_t_sz \ 130 (XDR_hyper) 131 #define NFS4_uint32_t_sz \ 132 (XDR_unsigned_int) 133 #define NFS4_bitmap4_sz (XDR_unsigned_int) 134 #define NFS4_nfstime4_sz \ 135 (NFS4_int64_t_sz + NFS4_uint32_t_sz) 136 #define NFS4_fattr4_offline_sz \ 137 (XDR_bool) 138 #define NFS4_open_arguments4_sz \ 139 (NFS4_bitmap4_sz + NFS4_bitmap4_sz + NFS4_bitmap4_sz + NFS4_bitmap4_sz + NFS4_bitmap4_sz) 140 #define NFS4_open_args_share_access4_sz (XDR_int) 141 #define NFS4_open_args_share_deny4_sz (XDR_int) 142 #define NFS4_open_args_share_access_want4_sz (XDR_int) 143 #define NFS4_open_args_open_claim4_sz (XDR_int) 144 #define NFS4_open_args_createmode4_sz (XDR_int) 145 #define NFS4_fattr4_open_arguments_sz \ 146 (NFS4_open_arguments4_sz) 147 #define NFS4_fattr4_time_deleg_access_sz \ 148 (NFS4_nfstime4_sz) 149 #define NFS4_fattr4_time_deleg_modify_sz \ 150 (NFS4_nfstime4_sz) 151 #define NFS4_open_delegation_type4_sz (XDR_int) 152 153 #endif /* _LINUX_XDRGEN_NFS4_1_DEF_H */ 154