summaryrefslogtreecommitdiff
path: root/usr/src/lib/smbsrv/libsmbrdr/common/smbrdr.h
diff options
context:
space:
mode:
authorJordan Brown <Jordan.Brown@Sun.COM>2009-11-05 14:34:36 -0800
committerJordan Brown <Jordan.Brown@Sun.COM>2009-11-05 14:34:36 -0800
commitbbf6f00c25b6a2bed23c35eac6d62998ecdb338c (patch)
tree8cf72fd47362b5b0da2ffe9be7fe7726a3d24426 /usr/src/lib/smbsrv/libsmbrdr/common/smbrdr.h
parentd95ac3ffcdcc13296bb4c53f621f72c0535f32c3 (diff)
downloadillumos-joyent-bbf6f00c25b6a2bed23c35eac6d62998ecdb338c.tar.gz
6747532 ns_lookup_bypid spams syslog with too many messages
6888836 Not listing all files in a directory of a CIFS share in Windows XP 6812570 Trans2 is missing pass-through levels: FILE_RENAME_INFORMATION (and others) 6888827 Add Unicode codepage support 6865488 libadutils: leak in ldap_lookup_domains_in_forest() 6888708 idmapd crashing periodically. Need cores analyzed. 6891342 invalid, redundant SQL in rule WHERE expressions 6891767 minor cleanups in idmap 6892544 Panic occurred at smb_node_ref+0x7f(ffffffd612297310) --HG-- rename : usr/src/uts/common/smbsrv/cifs.h => usr/src/uts/common/smbsrv/smb.h
Diffstat (limited to 'usr/src/lib/smbsrv/libsmbrdr/common/smbrdr.h')
-rw-r--r--usr/src/lib/smbsrv/libsmbrdr/common/smbrdr.h74
1 files changed, 72 insertions, 2 deletions
diff --git a/usr/src/lib/smbsrv/libsmbrdr/common/smbrdr.h b/usr/src/lib/smbsrv/libsmbrdr/common/smbrdr.h
index aa21a4a41f..385c20455f 100644
--- a/usr/src/lib/smbsrv/libsmbrdr/common/smbrdr.h
+++ b/usr/src/lib/smbsrv/libsmbrdr/common/smbrdr.h
@@ -34,8 +34,7 @@
#include <smbsrv/libsmb.h>
#include <smbsrv/libsmbrdr.h>
-
-#include <smbsrv/cifs.h>
+#include <smbsrv/smb.h>
#include <smbsrv/smbinfo.h>
#include <smbsrv/smb.h>
#include <smbsrv/wintypes.h>
@@ -186,6 +185,77 @@ typedef struct smbrdr_handle {
struct sdb_netuse *srh_tree;
} smbrdr_handle_t;
+typedef struct smb_nt_negotiate_rsp {
+ uint8_t word_count;
+ uint16_t dialect_index;
+ uint8_t security_mode;
+ uint16_t max_mpx;
+ uint16_t max_vc;
+ uint32_t max_buffer_size;
+ uint32_t max_raw_size;
+ uint32_t session_key;
+ uint32_t capabilities;
+ uint32_t time_low;
+ uint32_t time_high;
+ uint16_t server_tz;
+ uint8_t security_len;
+ uint16_t byte_count;
+ uint8_t *guid;
+ uint8_t *challenge;
+ uint8_t *oem_domain;
+} smb_nt_negotiate_rsp_t;
+
+/*
+ * SMB_COM_TRANSACTION
+ */
+typedef struct smb_transact_rsp {
+ uint8_t WordCount; /* Count of data bytes */
+ /* value = 10 + SetupCount */
+ uint16_t TotalParamCount; /* Total parameter bytes being sent */
+ uint16_t TotalDataCount; /* Total data bytes being sent */
+ uint16_t Reserved;
+ uint16_t ParamCount; /* Parameter bytes sent this buffer */
+ uint16_t ParamOffset; /* Offset (from hdr start) to params */
+ uint16_t ParamDisplacement; /* Displacement of these param bytes */
+ uint16_t DataCount; /* Data bytes sent this buffer */
+ uint16_t DataOffset; /* Offset (from hdr start) to data */
+ uint16_t DataDisplacement; /* Displacement of these data bytes */
+ uint8_t SetupCount; /* Count of setup words */
+ uint16_t BCC;
+#if 0
+ uint8_t Reserved2; /* Reserved (pad above to word) */
+ uint8_t Buffer[1]; /* Buffer containing: */
+ uint16_t Setup[]; /* Setup words (# = SetupWordCount) */
+ uint16_t ByteCount; /* Count of data bytes */
+ uint8_t Pad[]; /* Pad to SHORT or LONG */
+ uint8_t Params[]; /* Param. bytes (# = ParamCount) */
+ uint8_t Pad1[]; /* Pad to SHORT or LONG */
+ uint8_t Data[]; /* Data bytes (# = DataCount) */
+#endif
+} smb_transact_rsp_t;
+
+/*
+ * SMBreadX
+ */
+typedef struct smb_read_andx_rsp {
+ uint8_t WordCount;
+ uint8_t AndXCmd;
+ uint8_t AndXReserved;
+ uint16_t AndXOffset;
+ uint16_t Remaining;
+ uint16_t DataCompactionMode;
+ uint16_t Reserved;
+ uint16_t DataLength;
+ uint16_t DataOffset;
+ uint32_t DataLengthHigh;
+ uint16_t Reserved2[3];
+ uint16_t ByteCount;
+#if 0
+ uint8_t Pad[];
+ uint8_t Data[];
+#endif
+} smb_read_andx_rsp_t;
+
/*
* smbrdr_netbios.c
*/