summaryrefslogtreecommitdiff
path: root/nuttx/fs/nfs/nfs_proto.h
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-04-16 23:01:21 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-04-16 23:01:21 +0000
commit285afeb744b1f37187c2390e61ef598d7dcec3b4 (patch)
treeeb553133030277d62e8977a3536a5f1743a52205 /nuttx/fs/nfs/nfs_proto.h
parent97aec5202649d84fb92278a5ff5c2a6e53adecb6 (diff)
downloadpx4-nuttx-285afeb744b1f37187c2390e61ef598d7dcec3b4.tar.gz
px4-nuttx-285afeb744b1f37187c2390e61ef598d7dcec3b4.tar.bz2
px4-nuttx-285afeb744b1f37187c2390e61ef598d7dcec3b4.zip
NFS client FS update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4622 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/fs/nfs/nfs_proto.h')
-rw-r--r--nuttx/fs/nfs/nfs_proto.h163
1 files changed, 156 insertions, 7 deletions
diff --git a/nuttx/fs/nfs/nfs_proto.h b/nuttx/fs/nfs/nfs_proto.h
index 8b6e8cf94..d8e7e990c 100644
--- a/nuttx/fs/nfs/nfs_proto.h
+++ b/nuttx/fs/nfs/nfs_proto.h
@@ -430,6 +430,7 @@ struct nfsv3_sattr
struct nfs_statfs
{
+ struct nfs_fattr obj_attributes;
union
{
struct
@@ -468,6 +469,7 @@ struct nfs_statfs
struct nfsv3_fsinfo
{
+ struct nfs_fattr obj_attributes;
uint32_t fs_rtmax;
uint32_t fs_rtpref;
uint32_t fs_rtmult;
@@ -480,14 +482,161 @@ struct nfsv3_fsinfo
uint32_t fs_properties;
};
-struct nfsv3_pathconf
+/* NFS procedures args */
+
+struct wcc_attr
+{
+ nfsuint64 size;
+ nfstime3 mtime;
+ nfstime3 ctime;
+};
+
+struct wcc_data
+{
+ struct wcc_attr before;
+ struct nfs_fattr after;
+};
+
+struct diropargs3
+{
+ nfsfh_t dir;
+ const char name;
+};
+
+struct CREATE3args
+{
+ struct diropargs3 where;
+ struct nfsv3_sattr how;
+};
+
+struct CREATE3resok
+{
+ nfsfh_t handle;
+ struct nfs_fattr attributes;
+ struct wcc_data dir_wcc;
+};
+
+struct READ3args
+{
+ nfstype file;
+ uint64_t offset;
+ uint32_t count;
+};
+
+struct READ3resok
+{
+ struct nfs_fattr file_attributes;
+ uint32_t count;
+ bool eof;
+ const char data;
+};
+
+enum stable_how
+{
+ UNSTABLE = 0,
+ DATA_SYNC = 1,
+ FILE_SYNC = 2
+};
+
+struct WRITE3args
+{
+ nfstype file;
+ uint64_t offset;
+ uint32_t count;
+ enum stable_how stable;
+ const char data;
+};
+
+struct WRITE3resok
+{
+ struct wcc_data file_wcc;
+ uint32_t count;
+ enum stable_how committed;
+ unsigned char verf;
+};
+
+struct REMOVE3args
+{
+ struct diropargs3 object;
+};
+
+struct REMOVE3resok
+{
+ struct wcc_data dir_wcc;
+};
+
+struct RENAME3args
+{
+ struct diropargs3 from;
+ struct diropargs3 to;
+};
+
+struct RENAME3resok
+{
+ struct wcc_data fromdir_wcc;
+ struct wcc_data todir_wcc;
+};
+
+struct MKDIR3args
+{
+ struct diropargs3 where;
+ struct nfsv3_sattr attributes;
+};
+
+struct MKDIR3resok
+{
+ nfsfh_t handle;
+ struct nfs_fattr obj_attributes;
+ struct wcc_data dir_wcc;
+};
+
+struct RMDIR3args
+{
+ struct diropargs3 object;
+};
+
+struct RMDIR3resok
+{
+ struct wcc_data dir_wcc;
+};
+
+struct READDIR3args
+{
+ nfsfh_t dir;
+ nfsuint64 cookie;
+ nfsuint64 cookieverf;
+ uint32_t count;
+};
+
+struct entry3
+{
+ uint64_t fileid;
+ unsigned char name;
+ nfsuint64 cookie;
+ struct entry3 *nextentry;
+ };
+
+struct dirlist3
+{
+ struct entry3 *entries;
+ bool eof;
+};
+
+struct READDIR3resok
+{
+ struct nfs_fattr dir_attributes;
+ nfsuint64 cookieverf;
+ struct dirlist3 reply;
+};
+
+struct FSINFOargs
+{
+ nfsfh_t fsroot;
+};
+
+struct FSSTAT3args
{
- uint32_t pc_linkmax;
- uint32_t pc_namemax;
- uint32_t pc_notrunc;
- uint32_t pc_chownrestricted;
- uint32_t pc_caseinsensitive;
- uint32_t pc_casepreserving;
+ nfsfh_t fsroot;
};
#endif