diff options
author | Volker Lendecke <vl@samba.org> | 2008-01-19 23:25:36 +0100 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2008-01-19 23:25:36 +0100 |
commit | 1069cfe4ade88a032164c1242c9480a544584655 (patch) | |
tree | 1a4eef94986ffe072371e2fbdebf3cca7452aef6 /source3/include | |
parent | 2411c6cb90e485bd289b8b654db1c632556bfb2d (diff) | |
download | samba-1069cfe4ade88a032164c1242c9480a544584655.tar.gz samba-1069cfe4ade88a032164c1242c9480a544584655.tar.bz2 samba-1069cfe4ade88a032164c1242c9480a544584655.zip |
Add streams support
This is the core of the streams support. The main change is that in
files_struct there is now a base_fsp pointer that holds the main file open
while a stream is open. This is necessary to get the rather strange delete
semantics right: You can't delete the main file while a stream is open without
FILE_SHARE_DELETE, and while a stream is open a successful unlink of the main
file leads to DELETE_PENDING for all further access on the main file or any
stream.
(This used to be commit 6022873cc155bdbbd3fb620689715f07a24d6ed1)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/smb.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h index 15e51dbdd7..25421115c8 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -513,6 +513,8 @@ typedef struct files_struct { FAKE_FILE_HANDLE *fake_file_handle; struct notify_change_buf *notify; + + struct files_struct *base_fsp; /* placeholder for delete on close */ } files_struct; #include "ntquotas.h" @@ -1369,6 +1371,9 @@ struct bitmap { #define NTCREATEX_OPTIONS_PRIVATE_DENY_DOS 0x01000000 #define NTCREATEX_OPTIONS_PRIVATE_DENY_FCB 0x02000000 +/* Private options for streams support */ +#define NTCREATEX_OPTIONS_PRIVATE_STREAM_DELETE 0x04000000 + /* Responses when opening a file. */ #define FILE_WAS_SUPERSEDED 0 #define FILE_WAS_OPENED 1 |