nfs: new subdir Documentation/filesystems/nfs
[safe/jmp/linux-2.6] / include / linux / nfs_xdr.h
index a7b7f2a..62f63fb 100644 (file)
@@ -162,11 +162,25 @@ struct nfs4_slot {
 };
 
 struct nfs4_sequence_args {
-       /* stub */
+       struct nfs4_session     *sa_session;
+       u8                      sa_slotid;
+       u8                      sa_cache_this;
 };
 
 struct nfs4_sequence_res {
-       /* stub */
+       struct nfs4_session     *sr_session;
+       u8                      sr_slotid;      /* slot used to send request */
+       unsigned long           sr_renewal_time;
+       int                     sr_status;      /* sequence operation status */
+};
+
+struct nfs4_get_lease_time_args {
+       struct nfs4_sequence_args       la_seq_args;
+};
+
+struct nfs4_get_lease_time_res {
+       struct nfs_fsinfo              *lr_fsinfo;
+       struct nfs4_sequence_res        lr_seq_res;
 };
 
 /*
@@ -436,6 +450,10 @@ struct nfs_setaclargs {
        struct nfs4_sequence_args       seq_args;
 };
 
+struct nfs_setaclres {
+       struct nfs4_sequence_res        seq_res;
+};
+
 struct nfs_getaclargs {
        struct nfs_fh *                 fh;
        size_t                          acl_len;
@@ -444,6 +462,11 @@ struct nfs_getaclargs {
        struct nfs4_sequence_args       seq_args;
 };
 
+struct nfs_getaclres {
+       size_t                          acl_len;
+       struct nfs4_sequence_res        seq_res;
+};
+
 struct nfs_setattrres {
        struct nfs_fattr *              fattr;
        const struct nfs_server *       server;
@@ -675,6 +698,11 @@ struct nfs4_fsinfo_arg {
        struct nfs4_sequence_args       seq_args;
 };
 
+struct nfs4_fsinfo_res {
+       struct nfs_fsinfo              *fsinfo;
+       struct nfs4_sequence_res        seq_res;
+};
+
 struct nfs4_getattr_arg {
        const struct nfs_fh *           fh;
        const u32 *                     bitmask;
@@ -729,6 +757,11 @@ struct nfs4_pathconf_arg {
        struct nfs4_sequence_args       seq_args;
 };
 
+struct nfs4_pathconf_res {
+       struct nfs_pathconf            *pathconf;
+       struct nfs4_sequence_res        seq_res;
+};
+
 struct nfs4_readdir_arg {
        const struct nfs_fh *           fh;
        u64                             cookie;
@@ -754,6 +787,10 @@ struct nfs4_readlink {
        struct nfs4_sequence_args       seq_args;
 };
 
+struct nfs4_readlink_res {
+       struct nfs4_sequence_res        seq_res;
+};
+
 struct nfs4_rename_arg {
        const struct nfs_fh *           old_dir;
        const struct nfs_fh *           new_dir;
@@ -791,6 +828,11 @@ struct nfs4_statfs_arg {
        struct nfs4_sequence_args       seq_args;
 };
 
+struct nfs4_statfs_res {
+       struct nfs_fsstat              *fsstat;
+       struct nfs4_sequence_res        seq_res;
+};
+
 struct nfs4_server_caps_arg {
        struct nfs_fh                  *fhandle;
        struct nfs4_sequence_args       seq_args;
@@ -839,8 +881,65 @@ struct nfs4_fs_locations_arg {
        struct nfs4_sequence_args       seq_args;
 };
 
+struct nfs4_fs_locations_res {
+       struct nfs4_fs_locations       *fs_locations;
+       struct nfs4_sequence_res        seq_res;
+};
+
 #endif /* CONFIG_NFS_V4 */
 
+struct nfstime4 {
+       u64     seconds;
+       u32     nseconds;
+};
+
+#ifdef CONFIG_NFS_V4_1
+struct nfs_impl_id4 {
+       u32             domain_len;
+       char            *domain;
+       u32             name_len;
+       char            *name;
+       struct nfstime4 date;
+};
+
+#define NFS4_EXCHANGE_ID_LEN   (48)
+struct nfs41_exchange_id_args {
+       struct nfs_client               *client;
+       nfs4_verifier                   *verifier;
+       unsigned int                    id_len;
+       char                            id[NFS4_EXCHANGE_ID_LEN];
+       u32                             flags;
+};
+
+struct server_owner {
+       uint64_t                        minor_id;
+       uint32_t                        major_id_sz;
+       char                            major_id[NFS4_OPAQUE_LIMIT];
+};
+
+struct server_scope {
+       uint32_t                        server_scope_sz;
+       char                            server_scope[NFS4_OPAQUE_LIMIT];
+};
+
+struct nfs41_exchange_id_res {
+       struct nfs_client               *client;
+       u32                             flags;
+};
+
+struct nfs41_create_session_args {
+       struct nfs_client              *client;
+       uint32_t                        flags;
+       uint32_t                        cb_program;
+       struct nfs4_channel_attrs       fc_attrs;       /* Fore Channel */
+       struct nfs4_channel_attrs       bc_attrs;       /* Back Channel */
+};
+
+struct nfs41_create_session_res {
+       struct nfs_client              *client;
+};
+#endif /* CONFIG_NFS_V4_1 */
+
 struct nfs_page;
 
 #define NFS_PAGEVEC_SIZE       (8U)