diff options
author | Jordan Brown <Jordan.Brown@Sun.COM> | 2009-11-05 14:34:36 -0800 |
---|---|---|
committer | Jordan Brown <Jordan.Brown@Sun.COM> | 2009-11-05 14:34:36 -0800 |
commit | bbf6f00c25b6a2bed23c35eac6d62998ecdb338c (patch) | |
tree | 8cf72fd47362b5b0da2ffe9be7fe7726a3d24426 /usr/src/lib/smbsrv/libsmbrdr/common/smbrdr.h | |
parent | d95ac3ffcdcc13296bb4c53f621f72c0535f32c3 (diff) | |
download | illumos-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.h | 74 |
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 */ |