Blame view
fs/nfsd/xdr.h
3.97 KB
7663dacd9 nfsd: remove poin... |
1 |
/* XDR types for nfsd. This is mainly a typing exercise. */ |
1da177e4c Linux-2.6.12-rc2 |
2 3 4 |
#ifndef LINUX_NFSD_H #define LINUX_NFSD_H |
1da177e4c Linux-2.6.12-rc2 |
5 |
#include <linux/vfs.h> |
9a74af213 nfsd: Move privat... |
6 |
#include "nfsd.h" |
1557aca79 nfsd: move most o... |
7 |
#include "nfsfh.h" |
1da177e4c Linux-2.6.12-rc2 |
8 9 10 11 12 13 14 15 16 17 18 19 20 |
struct nfsd_fhandle { struct svc_fh fh; }; struct nfsd_sattrargs { struct svc_fh fh; struct iattr attrs; }; struct nfsd_diropargs { struct svc_fh fh; char * name; |
29d5e5553 NFSD: File name l... |
21 |
unsigned int len; |
1da177e4c Linux-2.6.12-rc2 |
22 23 24 25 26 27 |
}; struct nfsd_readargs { struct svc_fh fh; __u32 offset; __u32 count; |
1da177e4c Linux-2.6.12-rc2 |
28 29 30 31 32 33 34 |
int vlen; }; struct nfsd_writeargs { svc_fh fh; __u32 offset; int len; |
1da177e4c Linux-2.6.12-rc2 |
35 36 37 38 39 40 |
int vlen; }; struct nfsd_createargs { struct svc_fh fh; char * name; |
29d5e5553 NFSD: File name l... |
41 |
unsigned int len; |
1da177e4c Linux-2.6.12-rc2 |
42 43 44 45 46 47 |
struct iattr attrs; }; struct nfsd_renameargs { struct svc_fh ffh; char * fname; |
29d5e5553 NFSD: File name l... |
48 |
unsigned int flen; |
1da177e4c Linux-2.6.12-rc2 |
49 50 |
struct svc_fh tfh; char * tname; |
29d5e5553 NFSD: File name l... |
51 |
unsigned int tlen; |
1da177e4c Linux-2.6.12-rc2 |
52 53 54 55 56 57 58 59 60 61 62 |
}; struct nfsd_readlinkargs { struct svc_fh fh; char * buffer; }; struct nfsd_linkargs { struct svc_fh ffh; struct svc_fh tfh; char * tname; |
29d5e5553 NFSD: File name l... |
63 |
unsigned int tlen; |
1da177e4c Linux-2.6.12-rc2 |
64 65 66 67 68 |
}; struct nfsd_symlinkargs { struct svc_fh ffh; char * fname; |
29d5e5553 NFSD: File name l... |
69 |
unsigned int flen; |
1da177e4c Linux-2.6.12-rc2 |
70 |
char * tname; |
48b4ba3fd NFSD: Path name l... |
71 |
unsigned int tlen; |
1da177e4c Linux-2.6.12-rc2 |
72 73 74 75 76 77 78 |
struct iattr attrs; }; struct nfsd_readdirargs { struct svc_fh fh; __u32 cookie; __u32 count; |
131a21c21 [PATCH] xdr annot... |
79 |
__be32 * buffer; |
1da177e4c Linux-2.6.12-rc2 |
80 81 82 83 |
}; struct nfsd_attrstat { struct svc_fh fh; |
a334de286 [PATCH] knfsd: ch... |
84 |
struct kstat stat; |
1da177e4c Linux-2.6.12-rc2 |
85 86 87 88 |
}; struct nfsd_diropres { struct svc_fh fh; |
a334de286 [PATCH] knfsd: ch... |
89 |
struct kstat stat; |
1da177e4c Linux-2.6.12-rc2 |
90 91 92 93 94 95 96 97 98 |
}; struct nfsd_readlinkres { int len; }; struct nfsd_readres { struct svc_fh fh; unsigned long count; |
a334de286 [PATCH] knfsd: ch... |
99 |
struct kstat stat; |
1da177e4c Linux-2.6.12-rc2 |
100 101 102 103 104 105 |
}; struct nfsd_readdirres { int count; struct readdir_cd common; |
131a21c21 [PATCH] xdr annot... |
106 |
__be32 * buffer; |
1da177e4c Linux-2.6.12-rc2 |
107 |
int buflen; |
131a21c21 [PATCH] xdr annot... |
108 |
__be32 * offset; |
1da177e4c Linux-2.6.12-rc2 |
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
}; struct nfsd_statfsres { struct kstatfs stats; }; /* * Storage requirements for XDR arguments and results. */ union nfsd_xdrstore { struct nfsd_sattrargs sattr; struct nfsd_diropargs dirop; struct nfsd_readargs read; struct nfsd_writeargs write; struct nfsd_createargs create; struct nfsd_renameargs rename; struct nfsd_linkargs link; struct nfsd_symlinkargs symlink; struct nfsd_readdirargs readdir; }; #define NFS2_SVC_XDRSIZE sizeof(union nfsd_xdrstore) |
131a21c21 [PATCH] xdr annot... |
131 132 133 |
int nfssvc_decode_void(struct svc_rqst *, __be32 *, void *); int nfssvc_decode_fhandle(struct svc_rqst *, __be32 *, struct nfsd_fhandle *); int nfssvc_decode_sattrargs(struct svc_rqst *, __be32 *, |
1da177e4c Linux-2.6.12-rc2 |
134 |
struct nfsd_sattrargs *); |
131a21c21 [PATCH] xdr annot... |
135 |
int nfssvc_decode_diropargs(struct svc_rqst *, __be32 *, |
1da177e4c Linux-2.6.12-rc2 |
136 |
struct nfsd_diropargs *); |
131a21c21 [PATCH] xdr annot... |
137 |
int nfssvc_decode_readargs(struct svc_rqst *, __be32 *, |
1da177e4c Linux-2.6.12-rc2 |
138 |
struct nfsd_readargs *); |
131a21c21 [PATCH] xdr annot... |
139 |
int nfssvc_decode_writeargs(struct svc_rqst *, __be32 *, |
1da177e4c Linux-2.6.12-rc2 |
140 |
struct nfsd_writeargs *); |
131a21c21 [PATCH] xdr annot... |
141 |
int nfssvc_decode_createargs(struct svc_rqst *, __be32 *, |
1da177e4c Linux-2.6.12-rc2 |
142 |
struct nfsd_createargs *); |
131a21c21 [PATCH] xdr annot... |
143 |
int nfssvc_decode_renameargs(struct svc_rqst *, __be32 *, |
1da177e4c Linux-2.6.12-rc2 |
144 |
struct nfsd_renameargs *); |
131a21c21 [PATCH] xdr annot... |
145 |
int nfssvc_decode_readlinkargs(struct svc_rqst *, __be32 *, |
1da177e4c Linux-2.6.12-rc2 |
146 |
struct nfsd_readlinkargs *); |
131a21c21 [PATCH] xdr annot... |
147 |
int nfssvc_decode_linkargs(struct svc_rqst *, __be32 *, |
1da177e4c Linux-2.6.12-rc2 |
148 |
struct nfsd_linkargs *); |
131a21c21 [PATCH] xdr annot... |
149 |
int nfssvc_decode_symlinkargs(struct svc_rqst *, __be32 *, |
1da177e4c Linux-2.6.12-rc2 |
150 |
struct nfsd_symlinkargs *); |
131a21c21 [PATCH] xdr annot... |
151 |
int nfssvc_decode_readdirargs(struct svc_rqst *, __be32 *, |
1da177e4c Linux-2.6.12-rc2 |
152 |
struct nfsd_readdirargs *); |
131a21c21 [PATCH] xdr annot... |
153 154 155 156 157 158 159 |
int nfssvc_encode_void(struct svc_rqst *, __be32 *, void *); int nfssvc_encode_attrstat(struct svc_rqst *, __be32 *, struct nfsd_attrstat *); int nfssvc_encode_diropres(struct svc_rqst *, __be32 *, struct nfsd_diropres *); int nfssvc_encode_readlinkres(struct svc_rqst *, __be32 *, struct nfsd_readlinkres *); int nfssvc_encode_readres(struct svc_rqst *, __be32 *, struct nfsd_readres *); int nfssvc_encode_statfsres(struct svc_rqst *, __be32 *, struct nfsd_statfsres *); int nfssvc_encode_readdirres(struct svc_rqst *, __be32 *, struct nfsd_readdirres *); |
1da177e4c Linux-2.6.12-rc2 |
160 |
|
a0ad13ef6 [PATCH] knfsd: Fi... |
161 162 |
int nfssvc_encode_entry(void *, const char *name, int namlen, loff_t offset, u64 ino, unsigned int); |
1da177e4c Linux-2.6.12-rc2 |
163 |
|
131a21c21 [PATCH] xdr annot... |
164 |
int nfssvc_release_fhandle(struct svc_rqst *, __be32 *, struct nfsd_fhandle *); |
1da177e4c Linux-2.6.12-rc2 |
165 |
|
a257cdd0e [PATCH] NFSD: Add... |
166 |
/* Helper functions for NFSv2 ACL code */ |
131a21c21 [PATCH] xdr annot... |
167 168 |
__be32 *nfs2svc_encode_fattr(struct svc_rqst *rqstp, __be32 *p, struct svc_fh *fhp); __be32 *nfs2svc_decode_fh(__be32 *p, struct svc_fh *fhp); |
a257cdd0e [PATCH] NFSD: Add... |
169 |
|
1da177e4c Linux-2.6.12-rc2 |
170 |
#endif /* LINUX_NFSD_H */ |