1c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner/****************************************************************************
2c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ****************************************************************************
3c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***
4c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***   This header was automatically generated from a Linux kernel header
5c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***   of the same name, to make information necessary for userspace to
6c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***   call into the kernel available to libc.  It contains only constants,
7c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***   structures, and macros generated from the original header, and thus,
8c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***   contains no copyrightable information.
9c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***
10c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ****************************************************************************
11c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ****************************************************************************/
12c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#ifndef LOCKD_XDR_H
13c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define LOCKD_XDR_H
14c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
15c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#include <linux/fs.h>
16c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#include <linux/nfs.h>
17c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#include <linux/sunrpc/xdr.h>
18c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
19c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define NLM_MAXCOOKIELEN 32
20c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define NLM_MAXSTRLEN 1024
21c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
22c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define nlm_granted __constant_htonl(NLM_LCK_GRANTED)
23c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define nlm_lck_denied __constant_htonl(NLM_LCK_DENIED)
24c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define nlm_lck_denied_nolocks __constant_htonl(NLM_LCK_DENIED_NOLOCKS)
25c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define nlm_lck_blocked __constant_htonl(NLM_LCK_BLOCKED)
26c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define nlm_lck_denied_grace_period __constant_htonl(NLM_LCK_DENIED_GRACE_PERIOD)
27c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
28c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct nlm_lock {
29c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner char * caller;
30c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int len;
31c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct nfs_fh fh;
32c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct xdr_netobj oh;
33c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner u32 svid;
34c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct file_lock fl;
35c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner};
36c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
37c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct nlm_cookie
38c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{
39c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned char data[NLM_MAXCOOKIELEN];
40c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned int len;
41c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner};
42c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
43c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct nlm_args {
44c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct nlm_cookie cookie;
45c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct nlm_lock lock;
46c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner u32 block;
47c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner u32 reclaim;
48c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner u32 state;
49c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner u32 monitor;
50c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner u32 fsm_access;
51c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner u32 fsm_mode;
52c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner};
53c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
54c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnertypedef struct nlm_args nlm_args;
55c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
56c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct nlm_res {
57c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct nlm_cookie cookie;
58c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner u32 status;
59c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct nlm_lock lock;
60c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner};
61c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
62c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct nlm_reboot {
63c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner char * mon;
64c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int len;
65c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner u32 state;
66c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner u32 addr;
67c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner u32 vers;
68c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner u32 proto;
69c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner};
70c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
71c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define NLMSVC_XDRSIZE sizeof(struct nlm_args)
72c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
73c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#endif
74