patch-2.2.18 linux/include/linux/nfsd/nfsd.h
Next file: linux/include/linux/nfsd/nfsfh.h
Previous file: linux/include/linux/nfsd/export.h
Back to the patch index
Back to the overall index
- Lines: 100
- Date:
Tue Nov 28 17:25:57 2000
- Orig file:
v2.2.17/include/linux/nfsd/nfsd.h
- Orig date:
Fri Apr 21 23:24:14 2000
diff -u --new-file --recursive --exclude-from /usr/src/exclude v2.2.17/include/linux/nfsd/nfsd.h linux/include/linux/nfsd/nfsd.h
@@ -4,7 +4,7 @@
* Hodge-podge collection of knfsd-related stuff.
* I will sort this out later.
*
- * Copyright (C) 1995 Olaf Kirch <okir@monad.swb.de>
+ * Copyright (C) 1995-1997 Olaf Kirch <okir@monad.swb.de>
*/
#ifndef LINUX_NFSD_NFSD_H
@@ -24,18 +24,21 @@
/*
* nfsd version
*/
-#define NFSD_VERSION "0.4"
+#define NFSD_VERSION "0.5"
#ifdef __KERNEL__
/*
* Special flags for nfsd_permission. These must be different from MAY_READ,
* MAY_WRITE, and MAY_EXEC.
*/
-#define MAY_NOP 0
-#define MAY_SATTR 8
-#define MAY_TRUNC 16
-#if (MAY_SATTR | MAY_TRUNC) & (MAY_READ | MAY_WRITE | MAY_EXEC)
-# error "please use a different value for MAY_SATTR or MAY_TRUNC."
+#define MAY_NOP 0x00000000
+#define MAY_SATTR 0x00000008
+#define MAY_TRUNC 0x00000010
+#define MAY_LOCK 0x00000020
+#define NO_OWNER_OVERRIDE 0x00000040
+
+#if (MAY_SATTR | MAY_TRUNC | MAY_LOCK | NO_OWNER_OVERRIDE) & (MAY_READ | MAY_WRITE | MAY_EXEC)
+# error "please use a different value for MAY_SATTR or MAY_TRUNC or MAY_LOCK or NO_OWNER_OVERRIDE."
#endif
#define MAY_CREATE (MAY_EXEC|MAY_WRITE)
#define MAY_REMOVE (MAY_EXEC|MAY_WRITE|MAY_TRUNC)
@@ -61,6 +64,9 @@
* Procedure table for NFSv2
*/
extern struct svc_procedure nfsd_procedures2[];
+#ifdef CONFIG_NFSD_V3
+extern struct svc_procedure nfsd_procedures3[];
+#endif /* CONFIG_NFSD_V3 */
extern struct svc_program nfsd_program;
/*
@@ -74,11 +80,20 @@
void nfsd_racache_shutdown(void);
int nfsd_lookup(struct svc_rqst *, struct svc_fh *,
const char *, int, struct svc_fh *);
+#ifdef CONFIG_NFSD_V3
+int nfsd_access(struct svc_rqst *, struct svc_fh *, u32 *);
+#endif /* CONFIG_NFSD_V3 */
int nfsd_setattr(struct svc_rqst *, struct svc_fh *,
struct iattr *);
int nfsd_create(struct svc_rqst *, struct svc_fh *,
char *name, int len, struct iattr *attrs,
int type, dev_t rdev, struct svc_fh *res);
+#ifdef CONFIG_NFSD_V3
+int nfsd_create_v3(struct svc_rqst *, struct svc_fh *,
+ char *name, int len, struct iattr *attrs,
+ struct svc_fh *res, int createmode,
+ u32 *verifier);
+#endif /* CONFIG_NFSD_V3 */
int nfsd_open(struct svc_rqst *, struct svc_fh *, int,
int, struct file *);
void nfsd_close(struct file *);
@@ -90,7 +105,7 @@
char *, int *);
int nfsd_symlink(struct svc_rqst *, struct svc_fh *,
char *name, int len, char *path, int plen,
- struct svc_fh *res);
+ struct svc_fh *res, struct iattr *);
int nfsd_link(struct svc_rqst *, struct svc_fh *,
char *, int, struct svc_fh *);
int nfsd_rename(struct svc_rqst *,
@@ -104,9 +119,13 @@
unsigned long size);
int nfsd_readdir(struct svc_rqst *, struct svc_fh *,
loff_t, encode_dent_fn,
- u32 *buffer, int *countp);
+ u32 *buffer, int *countp, u32 *verf);
int nfsd_statfs(struct svc_rqst *, struct svc_fh *,
struct statfs *);
+#ifdef CONFIG_NFSD_V3
+int nfsd_commit(struct svc_rqst *, struct svc_fh *,
+ off_t, unsigned long);
+#endif /* CONFIG_NFSD_V3 */
int nfsd_notify_change(struct inode *, struct iattr *);
int nfsd_permission(struct svc_export *, struct dentry *, int);
@@ -146,6 +165,7 @@
nfserr_rofs,
nfserr_mlink,
nfserr_nametoolong,
+ nfserr_notempty,
nfserr_dquot,
nfserr_stale,
nfserr_remote,
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)