summaryrefslogtreecommitdiff
path: root/source3/modules/onefs.h
diff options
context:
space:
mode:
authorTim Prouty <tprouty@samba.org>2009-02-23 14:51:17 -0800
committerTim Prouty <tprouty@samba.org>2009-02-25 13:57:11 -0800
commit01493737c88c0056ca3da5faf43b7bc9b9a2fbcb (patch)
treeb4ccf1596f1537f5c9646eb327c143ad0222b6f6 /source3/modules/onefs.h
parent76ca297ecfd1086b38487ac8f53a8392a4a38ad6 (diff)
downloadsamba-01493737c88c0056ca3da5faf43b7bc9b9a2fbcb.tar.gz
samba-01493737c88c0056ca3da5faf43b7bc9b9a2fbcb.tar.bz2
samba-01493737c88c0056ca3da5faf43b7bc9b9a2fbcb.zip
s3 OneFS: Add .snapshot directory configuration handling
Diffstat (limited to 'source3/modules/onefs.h')
-rw-r--r--source3/modules/onefs.h32
1 files changed, 29 insertions, 3 deletions
diff --git a/source3/modules/onefs.h b/source3/modules/onefs.h
index 418e13d9d2..a0f4fe37de 100644
--- a/source3/modules/onefs.h
+++ b/source3/modules/onefs.h
@@ -57,6 +57,16 @@ enum onefs_acl_wire_format
#define PARM_CTIME_NOW_DEFAULT NULL
#define PARM_CTIME_SLOP "ctime now slop"
#define PARM_CTIME_SLOP_DEFAULT 0
+#define PARM_DOT_SNAP_CHILD_ACCESSIBLE "dot snap child accessible"
+#define PARM_DOT_SNAP_CHILD_ACCESSIBLE_DEFAULT true
+#define PARM_DOT_SNAP_CHILD_VISIBLE "dot snap child visible"
+#define PARM_DOT_SNAP_CHILD_VISIBLE_DEFAULT false
+#define PARM_DOT_SNAP_ROOT_ACCESSIBLE "dot snap root accessible"
+#define PARM_DOT_SNAP_ROOT_ACCESSIBLE_DEFAULT true
+#define PARM_DOT_SNAP_ROOT_VISIBLE "dot snap root visible"
+#define PARM_DOT_SNAP_ROOT_VISIBLE_DEFAULT true
+#define PARM_DOT_SNAP_TILDE "dot snap tilde"
+#define PARM_DOT_SNAP_TILDE_DEFAULT true
#define PARM_IGNORE_SACLS "ignore sacls"
#define PARM_IGNORE_SACLS_DEFAULT false
#define PARM_MTIME_NOW "mtime now files"
@@ -99,9 +109,9 @@ enum onefs_acl_wire_format
#define ONEFS_VFS_CONFIG_FAKETIMESTAMPS 0x00000001
-struct onefs_vfs_config
+struct onefs_vfs_share_config
{
- int32 init_flags;
+ uint32_t init_flags;
/* data for fake timestamps */
int atime_slop;
@@ -127,6 +137,18 @@ struct onefs_vfs_config
name_compare_entry *atime_static_list;
};
+struct onefs_vfs_global_config
+{
+ uint32_t init_flags;
+
+ /* Snapshot options */
+ bool dot_snap_child_accessible;
+ bool dot_snap_child_visible;
+ bool dot_snap_root_accessible;
+ bool dot_snap_root_visible;
+ bool dot_snap_tilde;
+};
+
/*
* vfs interface handlers
*/
@@ -240,7 +262,7 @@ NTSTATUS onefs_split_ntfs_stream_name(TALLOC_CTX *mem_ctx, const char *fname,
char **pbase, char **pstream);
bool onefs_get_config(int snum, int config_type,
- struct onefs_vfs_config *cfg);
+ struct onefs_vfs_share_config *cfg);
int onefs_rdp_add_dir_state(connection_struct *conn, SMB_STRUCT_DIR *dirp);
@@ -269,4 +291,8 @@ ssize_t onefs_sys_sendfile(connection_struct *conn, int tofd, int fromfd,
ssize_t onefs_sys_recvfile(int fromfd, int tofd, SMB_OFF_T offset,
size_t count);
+void onefs_sys_config_enc(void);
+void onefs_sys_config_snap_opt(struct onefs_vfs_global_config *global_config);
+void onefs_sys_config_tilde(struct onefs_vfs_global_config *global_config);
+
#endif /* _ONEFS_H */