summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/client.h2
-rw-r--r--source3/include/smb_macros.h4
-rw-r--r--source3/include/trans2.h6
3 files changed, 10 insertions, 2 deletions
diff --git a/source3/include/client.h b/source3/include/client.h
index 4df2459fb2..741ce6470d 100644
--- a/source3/include/client.h
+++ b/source3/include/client.h
@@ -29,6 +29,7 @@
#define CLI_BUFFER_SIZE (0xFFFF)
#define CLI_SAMBA_MAX_LARGE_READX_SIZE (127*1024) /* Works for Samba servers */
#define CLI_WINDOWS_MAX_LARGE_READX_SIZE ((64*1024)-2) /* Windows servers are broken.... */
+#define CLI_SAMBA_MAX_POSIX_LARGE_READX_SIZE (0xFFFF00) /* 24-bit len. */
/*
* These definitions depend on smb.h
@@ -152,6 +153,7 @@ struct cli_state {
int win95;
BOOL is_samba;
uint32 capabilities;
+ uint32 posix_capabilities;
BOOL dfsroot;
TALLOC_CTX *mem_ctx;
diff --git a/source3/include/smb_macros.h b/source3/include/smb_macros.h
index bfed27c167..646c6bdce0 100644
--- a/source3/include/smb_macros.h
+++ b/source3/include/smb_macros.h
@@ -191,6 +191,10 @@
#define _smb_setlen(buf,len) do { buf[0] = 0; buf[1] = (len&0x10000)>>16; \
buf[2] = (len&0xFF00)>>8; buf[3] = len&0xFF; } while (0)
+#define smb_len_large(buf) (PVAL(buf,3)|(PVAL(buf,2)<<8)|(PVAL(buf,1)<<16))
+#define _smb_setlen_large(buf,len) do { buf[0] = 0; buf[1] = (len&0xFF0000)>>16; \
+ buf[2] = (len&0xFF00)>>8; buf[3] = len&0xFF; } while (0)
+
/*******************************************************************
find the difference in milliseconds between two struct timeval
values
diff --git a/source3/include/trans2.h b/source3/include/trans2.h
index 5f7587d6ea..8b31b431c7 100644
--- a/source3/include/trans2.h
+++ b/source3/include/trans2.h
@@ -529,8 +529,10 @@ findfirst/findnext is SMB_FIND_FILE_UNIX_INFO2.
(chflags) and lsattr */
#define CIFS_UNIX_POSIX_PATHNAMES_CAP 0x10 /* Use POSIX pathnames on the wire. */
#define CIFS_UNIX_POSIX_PATH_OPERATIONS_CAP 0x20 /* We can cope with POSIX open/mkdir/unlink etc. */
-#define CIFS_UNIX_TRANSPORT_ENCRYPTION_CAP 0x40 /* We can do SPNEGO negotiations for encryption. */
-#define CIFS_UNIX_TRANSPORT_ENCRYPTION_MANDATORY_CAP 0x80 /* We *must* SPNEGO negotiations for encryption. */
+#define CIFS_UNIX_LARGE_READ_CAP 0x40 /* We can cope with 24 bit reads in readX. */
+#define CIFS_UNIX_LARGE_WRITE_CAP 0x80 /* We can cope with 24 bit writes in writeX. */
+#define CIFS_UNIX_TRANSPORT_ENCRYPTION_CAP 0x100 /* We can do SPNEGO negotiations for encryption. */
+#define CIFS_UNIX_TRANSPORT_ENCRYPTION_MANDATORY_CAP 0x200 /* We *must* SPNEGO negotiations for encryption. */
#define SMB_QUERY_POSIX_FS_INFO 0x201