summaryrefslogtreecommitdiff
path: root/source3/include/vfs.h
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2008-01-16 12:06:34 -0500
committerSimo Sorce <idra@samba.org>2008-01-16 12:06:34 -0500
commit04b2a9e80a8c35e37faf2e0a8e54efb9a084f2e3 (patch)
tree9cb49347eab028a5f65a4f2aa4c61de42cff08fd /source3/include/vfs.h
parent94fdd59f1c2a41b8e737aa8ca8939e9bf2b59a77 (diff)
parent8c41366a98ea96224adc2c108b940075431944fd (diff)
downloadsamba-04b2a9e80a8c35e37faf2e0a8e54efb9a084f2e3.tar.gz
samba-04b2a9e80a8c35e37faf2e0a8e54efb9a084f2e3.tar.bz2
samba-04b2a9e80a8c35e37faf2e0a8e54efb9a084f2e3.zip
Merge branch 'v3-2-test' of ssh://git.samba.org/data/git/samba into v3-2-simo
(This used to be commit 05c22a55a4c052c682a2f2afdb0696504195d18c)
Diffstat (limited to 'source3/include/vfs.h')
-rw-r--r--source3/include/vfs.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/source3/include/vfs.h b/source3/include/vfs.h
index 0be3886227..be3cd91520 100644
--- a/source3/include/vfs.h
+++ b/source3/include/vfs.h
@@ -70,6 +70,7 @@
* timestamp resolition. JRA. */
/* Changed to version21 to add chflags operation -- jpeach */
/* Changed to version22 to add lchown operation -- jra */
+/* Additional change: add operations for offline files and remote storage volume abstraction -- ab*/
/* Leave at 22 - not yet released. But change set_nt_acl to return an NTSTATUS. jra. */
/* Leave at 22 - not yet released. Add file_id_create operation. --metze */
/* Leave at 22 - not yet released. Change all BOOL parameters (int) to bool. jra. */
@@ -257,6 +258,12 @@ typedef enum _vfs_op_type {
SMB_VFS_OP_AIO_ERROR,
SMB_VFS_OP_AIO_FSYNC,
SMB_VFS_OP_AIO_SUSPEND,
+ SMB_VFS_OP_AIO_FORCE,
+
+ /* offline operations */
+ SMB_VFS_OP_IS_OFFLINE,
+ SMB_VFS_OP_SET_OFFLINE,
+ SMB_VFS_OP_IS_REMOTESTORAGE,
/* This should always be last enum value */
@@ -405,6 +412,12 @@ struct vfs_ops {
int (*aio_error_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, SMB_STRUCT_AIOCB *aiocb);
int (*aio_fsync)(struct vfs_handle_struct *handle, struct files_struct *fsp, int op, SMB_STRUCT_AIOCB *aiocb);
int (*aio_suspend)(struct vfs_handle_struct *handle, struct files_struct *fsp, const SMB_STRUCT_AIOCB * const aiocb[], int n, const struct timespec *timeout);
+ bool (*aio_force)(struct vfs_handle_struct *handle, struct files_struct *fsp);
+
+ /* offline operations */
+ int (*is_offline)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path, SMB_STRUCT_STAT *sbuf, bool *offline);
+ int (*set_offline)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path);
+ bool (*is_remotestorage)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path);
} ops;
@@ -526,6 +539,12 @@ struct vfs_ops {
struct vfs_handle_struct *aio_error;
struct vfs_handle_struct *aio_fsync;
struct vfs_handle_struct *aio_suspend;
+ struct vfs_handle_struct *aio_force;
+
+ /* offline operations */
+ struct vfs_handle_struct *is_offline;
+ struct vfs_handle_struct *set_offline;
+ struct vfs_handle_struct *is_remotestorage;
} handles;
};