mirror-linux/include/linux/sunrpc/xdrgen/nlm4.h

234 lines
5.0 KiB
C

/* SPDX-License-Identifier: GPL-2.0 */
/* Generated by xdrgen. Manual edits will be lost. */
/* XDR specification file: ../../Documentation/sunrpc/xdr/nlm4.x */
/* XDR specification modification time: Thu Dec 25 13:10:19 2025 */
#ifndef _LINUX_XDRGEN_NLM4_DEF_H
#define _LINUX_XDRGEN_NLM4_DEF_H
#include <linux/types.h>
#include <linux/sunrpc/xdrgen/_defs.h>
enum { LM_MAXSTRLEN = 1024 };
enum { LM_MAXNAMELEN = 1025 };
enum { MAXNETOBJ_SZ = 1024 };
typedef opaque netobj;
enum fsh4_mode {
fsm_DN = 0,
fsm_DR = 1,
fsm_DW = 2,
fsm_DRW = 3,
};
typedef enum fsh4_mode fsh4_mode;
enum fsh4_access {
fsa_NONE = 0,
fsa_R = 1,
fsa_W = 2,
fsa_RW = 3,
};
typedef enum fsh4_access fsh4_access;
enum { SM_MAXSTRLEN = 1024 };
typedef u64 uint64;
typedef s64 int64;
typedef u32 uint32;
typedef s32 int32;
enum nlm4_stats {
NLM4_GRANTED = 0,
NLM4_DENIED = 1,
NLM4_DENIED_NOLOCKS = 2,
NLM4_BLOCKED = 3,
NLM4_DENIED_GRACE_PERIOD = 4,
NLM4_DEADLCK = 5,
NLM4_ROFS = 6,
NLM4_STALE_FH = 7,
NLM4_FBIG = 8,
NLM4_FAILED = 9,
};
typedef __be32 nlm4_stats;
struct nlm4_holder {
bool exclusive;
int32 svid;
netobj oh;
uint64 l_offset;
uint64 l_len;
};
struct nlm4_testrply {
nlm4_stats stat;
union {
struct nlm4_holder holder;
} u;
};
struct nlm4_stat {
nlm4_stats stat;
};
struct nlm4_res {
netobj cookie;
struct nlm4_stat stat;
};
struct nlm4_testres {
netobj cookie;
struct nlm4_testrply stat;
};
struct nlm4_lock {
string caller_name;
netobj fh;
netobj oh;
int32 svid;
uint64 l_offset;
uint64 l_len;
};
struct nlm4_lockargs {
netobj cookie;
bool block;
bool exclusive;
struct nlm4_lock alock;
bool reclaim;
int32 state;
};
struct nlm4_cancargs {
netobj cookie;
bool block;
bool exclusive;
struct nlm4_lock alock;
};
struct nlm4_testargs {
netobj cookie;
bool exclusive;
struct nlm4_lock alock;
};
struct nlm4_unlockargs {
netobj cookie;
struct nlm4_lock alock;
};
struct nlm4_share {
string caller_name;
netobj fh;
netobj oh;
fsh4_mode mode;
fsh4_access access;
};
struct nlm4_shareargs {
netobj cookie;
struct nlm4_share share;
bool reclaim;
};
struct nlm4_shareres {
netobj cookie;
nlm4_stats stat;
int32 sequence;
};
struct nlm4_notify {
string name;
int32 state;
};
enum { SM_PRIV_SIZE = 16 };
struct nlm4_notifyargs {
struct nlm4_notify notify;
u8 private[SM_PRIV_SIZE];
};
enum {
NLMPROC4_NULL = 0,
NLMPROC4_TEST = 1,
NLMPROC4_LOCK = 2,
NLMPROC4_CANCEL = 3,
NLMPROC4_UNLOCK = 4,
NLMPROC4_GRANTED = 5,
NLMPROC4_TEST_MSG = 6,
NLMPROC4_LOCK_MSG = 7,
NLMPROC4_CANCEL_MSG = 8,
NLMPROC4_UNLOCK_MSG = 9,
NLMPROC4_GRANTED_MSG = 10,
NLMPROC4_TEST_RES = 11,
NLMPROC4_LOCK_RES = 12,
NLMPROC4_CANCEL_RES = 13,
NLMPROC4_UNLOCK_RES = 14,
NLMPROC4_GRANTED_RES = 15,
NLMPROC4_SM_NOTIFY = 16,
NLMPROC4_SHARE = 20,
NLMPROC4_UNSHARE = 21,
NLMPROC4_NM_LOCK = 22,
NLMPROC4_FREE_ALL = 23,
};
#ifndef NLM4_PROG
#define NLM4_PROG (100021)
#endif
#define NLM4_netobj_sz (XDR_unsigned_int + XDR_QUADLEN(MAXNETOBJ_SZ))
#define NLM4_fsh4_mode_sz (XDR_int)
#define NLM4_fsh4_access_sz (XDR_int)
#define NLM4_uint64_sz \
(XDR_unsigned_hyper)
#define NLM4_int64_sz \
(XDR_hyper)
#define NLM4_uint32_sz \
(XDR_unsigned_long)
#define NLM4_int32_sz \
(XDR_long)
#define NLM4_nlm4_stats_sz (XDR_int)
#define NLM4_nlm4_holder_sz \
(XDR_bool + NLM4_int32_sz + NLM4_netobj_sz + NLM4_uint64_sz + NLM4_uint64_sz)
#define NLM4_nlm4_testrply_sz \
(NLM4_nlm4_stats_sz + NLM4_nlm4_holder_sz)
#define NLM4_nlm4_stat_sz \
(NLM4_nlm4_stats_sz)
#define NLM4_nlm4_res_sz \
(NLM4_netobj_sz + NLM4_nlm4_stat_sz)
#define NLM4_nlm4_testres_sz \
(NLM4_netobj_sz + NLM4_nlm4_testrply_sz)
#define NLM4_nlm4_lock_sz \
(XDR_unsigned_int + XDR_QUADLEN(LM_MAXSTRLEN) + NLM4_netobj_sz + NLM4_netobj_sz + NLM4_int32_sz + NLM4_uint64_sz + NLM4_uint64_sz)
#define NLM4_nlm4_lockargs_sz \
(NLM4_netobj_sz + XDR_bool + XDR_bool + NLM4_nlm4_lock_sz + XDR_bool + NLM4_int32_sz)
#define NLM4_nlm4_cancargs_sz \
(NLM4_netobj_sz + XDR_bool + XDR_bool + NLM4_nlm4_lock_sz)
#define NLM4_nlm4_testargs_sz \
(NLM4_netobj_sz + XDR_bool + NLM4_nlm4_lock_sz)
#define NLM4_nlm4_unlockargs_sz \
(NLM4_netobj_sz + NLM4_nlm4_lock_sz)
#define NLM4_nlm4_share_sz \
(XDR_unsigned_int + XDR_QUADLEN(LM_MAXSTRLEN) + NLM4_netobj_sz + NLM4_netobj_sz + NLM4_fsh4_mode_sz + NLM4_fsh4_access_sz)
#define NLM4_nlm4_shareargs_sz \
(NLM4_netobj_sz + NLM4_nlm4_share_sz + XDR_bool)
#define NLM4_nlm4_shareres_sz \
(NLM4_netobj_sz + NLM4_nlm4_stats_sz + NLM4_int32_sz)
#define NLM4_nlm4_notify_sz \
(XDR_unsigned_int + XDR_QUADLEN(LM_MAXNAMELEN) + NLM4_int32_sz)
#define NLM4_nlm4_notifyargs_sz \
(NLM4_nlm4_notify_sz + XDR_QUADLEN(SM_PRIV_SIZE))
#define NLM4_MAX_ARGS_SZ \
(NLM4_nlm4_lockargs_sz)
#endif /* _LINUX_XDRGEN_NLM4_DEF_H */