summaryrefslogtreecommitdiff
path: root/source3/include/smb.h
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2007-02-06 21:05:34 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:17:47 -0500
commit7a5fa7f12ec439ef5a4af29aa86498f799b6b9a5 (patch)
tree611c3787938bb8eb77a127a18a4932890ae2fd03 /source3/include/smb.h
parentc04068a42b230541559939004f33d72f1e76f075 (diff)
downloadsamba-7a5fa7f12ec439ef5a4af29aa86498f799b6b9a5.tar.gz
samba-7a5fa7f12ec439ef5a4af29aa86498f799b6b9a5.tar.bz2
samba-7a5fa7f12ec439ef5a4af29aa86498f799b6b9a5.zip
r21191: Add in the POSIX open/mkdir/unlink calls.
Move more error code returns to NTSTATUS. Client test code to follow... See if this passes the build-farm before I add it into 3.0.25. Jeremy. (This used to be commit 83dbbdff345fa9e427c9579183f4380004bf3dd7)
Diffstat (limited to 'source3/include/smb.h')
-rw-r--r--source3/include/smb.h27
1 files changed, 16 insertions, 11 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h
index 71ff656385..7bc5c0a414 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -515,6 +515,7 @@ typedef struct files_struct {
BOOL aio_write_behind;
BOOL lockdb_clean;
BOOL initial_delete_on_close; /* Only set at NTCreateX if file was created. */
+ BOOL posix_open;
char *fsp_name;
struct vfs_fsp_data *vfs_extension;
@@ -736,6 +737,8 @@ struct pending_message_list {
DATA_BLOB private_data;
};
+#define SHARE_MODE_FLAG_POSIX_OPEN 0x1
+
/* struct returned by get_share_modes */
struct share_mode_entry {
struct process_id pid;
@@ -752,6 +755,7 @@ struct share_mode_entry {
SMB_INO_T inode;
unsigned long share_file_id;
uint32 uid; /* uid of file opener. */
+ uint16 flags; /* POSIX_OPEN only defined so far... */
};
/* oplock break message definition - linearization of share_mode_entry.
@@ -769,10 +773,11 @@ Offset Data length.
36 SMB_INO_T inode 8 bytes
44 unsigned long file_id 4 bytes
48 uint32 uid 4 bytes
-52
+52 uint16 flags 2 bytes
+54
*/
-#define MSG_SMB_SHARE_MODE_ENTRY_SIZE 52
+#define MSG_SMB_SHARE_MODE_ENTRY_SIZE 54
struct share_mode_lock {
const char *servicepath; /* canonicalized. */
@@ -1580,19 +1585,19 @@ extern int chain_size;
* Note these must fit into 16-bits.
*/
-#define NO_OPLOCK 0
-#define EXCLUSIVE_OPLOCK 1
-#define BATCH_OPLOCK 2
-#define LEVEL_II_OPLOCK 4
+#define NO_OPLOCK 0x0
+#define EXCLUSIVE_OPLOCK 0x1
+#define BATCH_OPLOCK 0x2
+#define LEVEL_II_OPLOCK 0x4
/* The following are Samba-private. */
-#define INTERNAL_OPEN_ONLY 8
-#define FAKE_LEVEL_II_OPLOCK 16 /* Client requested no_oplock, but we have to
+#define INTERNAL_OPEN_ONLY 0x8
+#define FAKE_LEVEL_II_OPLOCK 0x10 /* Client requested no_oplock, but we have to
* inform potential level2 holders on
* write. */
-#define DEFERRED_OPEN_ENTRY 32
-#define UNUSED_SHARE_MODE_ENTRY 64
-#define FORCE_OPLOCK_BREAK_TO_NONE 128
+#define DEFERRED_OPEN_ENTRY 0x20
+#define UNUSED_SHARE_MODE_ENTRY 0x40
+#define FORCE_OPLOCK_BREAK_TO_NONE 0x80
/* None of the following should ever appear in fsp->oplock_request. */
#define SAMBA_PRIVATE_OPLOCK_MASK (INTERNAL_OPEN_ONLY|DEFERRED_OPEN_ENTRY|UNUSED_SHARE_MODE_ENTRY|FORCE_OPLOCK_BREAK_TO_NONE)