home *** CD-ROM | disk | FTP | other *** search
- /* Headers for an implementation of the NFS protocol
-
- ©1999 Joseph Walton
-
- This software is distributed under the terms of the GNU General Public
- License; either version 2 of the License, or (at your option) any
- later version.
- */
-
- #ifndef NFSD_NFS_H
- #define NFSD_NFS_H
-
- #include "rpc.h"
- #include "nfs_prot.h"
-
- typedef struct {
- BYTE data[NFS_FHSIZE];
- } nfs_fh;
-
- /*
- * Timeval
- */
- struct nfstime {
- u_int seconds;
- u_int useconds;
- };
-
- //typedef struct nfstime nfstime;
-
- /*
- * Arguments for directory operations
- */
- struct diropargs {
- nfs_fh *dir_handle; /* directory file handle */
- char filename[NFS_MAXNAMELEN + 1]; /* name (up to NFS_MAXNAMLEN bytes) */
- };
-
- //typedef struct diropargs diropargs;
-
- struct sattr {
- u_int mode;
- u_int uid;
- u_int gid;
- u_int size;
- struct nfstime atime;
- struct nfstime mtime;
- };
-
- struct sattrargs {
- nfs_fh *handle;
- struct sattr sattr;
- };
-
- struct createargs {
- struct diropargs where;
- struct sattr sattr;
- };
-
- struct renameargs {
- struct diropargs from;
- struct diropargs to;
- };
-
- struct readargs {
- nfs_fh *handle;
- u_int offset;
- u_int count;
- };
-
- struct writeargs {
- nfs_fh *handle;
- u_int offset;
- u_int count;
- BYTE *data;
- };
-
- struct readdirargs {
- nfs_fh *dir_handle;
- ULONG cookie;
- u_int count;
- };
-
- int nfs_procedure(struct Call *call, int32 *ptr, int32 *limit,
- int32 *rptr, int32 *rlimit);
-
- #endif
-
-