Add a mechanism to control what the next XID value on a session will be.
[deb_libnfs.git] / include / nfsc / libnfs-raw.h
index b71e6b0f0cd8c41c8704bf590eb990776eb6e002..47a6333f3d209b2f5912a27812184d7bfcfd6836 100644 (file)
@@ -53,6 +53,12 @@ struct rpc_context *nfs_get_rpc_context(struct nfs_context *nfs);
 */
 struct nfs_fh3 *nfs_get_fh(struct nfsfh *nfsfh);
 
+/* Control what the next XID value to be used on the context will be.
+   This can be used when multiple contexts are used to the same server
+   to avoid that the two contexts have xid collissions.
+ */
+void rpc_set_next_xid(struct rpc_context *rpc, uint32_t xid);
+
 #define RPC_STATUS_SUCCESS             0
 #define RPC_STATUS_ERROR               1
 #define RPC_STATUS_CANCEL              2
@@ -312,6 +318,22 @@ int rpc_nfs_null_async(struct rpc_context *rpc, rpc_cb cb, void *private_data);
  */
 int rpc_nfs_getattr_async(struct rpc_context *rpc, rpc_cb cb, struct nfs_fh3 *fh, void *private_data);
 
+/*
+ * Call NFS/PATHCONF
+ * Function returns
+ *  0 : The call was initiated. The callback will be invoked when the call completes.
+ * <0 : An error occured when trying to set up the call. The callback will not be invoked.
+ *
+ * When the callback is invoked, status indicates the result:
+ * RPC_STATUS_SUCCESS : We got a successful response from the nfs daemon.
+ *                      data is PATHCONF3res
+ * RPC_STATUS_ERROR   : An error occured when trying to contact the nfs daemon.
+ *                      data is the error string.
+ * RPC_STATUS_CANCEL : The connection attempt was aborted before it could complete.
+ *                     data is NULL.
+ */
+int rpc_nfs_pathconf_async(struct rpc_context *rpc, rpc_cb cb, struct nfs_fh3 *fh, void *private_data);
+
 /*
  * Call NFS/LOOKUP
  * Function returns