summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-smb.c
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2005-11-25 06:04:11 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2005-11-25 06:04:11 +0000
commitc76c376968a02b8fcb412c07d9c28c92424ee06d (patch)
tree899c88c288a40139124a8131b60ddfcefea55ab8 /epan/dissectors/packet-smb.c
parentcfc56af5140e16d87838fb3efdd3a4d4ca7a6871 (diff)
downloadwireshark-c76c376968a02b8fcb412c07d9c28c92424ee06d.tar.gz
some info level updates
svn path=/trunk/; revision=16580
Diffstat (limited to 'epan/dissectors/packet-smb.c')
-rw-r--r--epan/dissectors/packet-smb.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/epan/dissectors/packet-smb.c b/epan/dissectors/packet-smb.c
index 85ca85dc61..f4c8b8c403 100644
--- a/epan/dissectors/packet-smb.c
+++ b/epan/dissectors/packet-smb.c
@@ -619,6 +619,7 @@ static int hf_smb_unix_find_file_nextoffset = -1;
static int hf_smb_unix_find_file_resumekey = -1;
static int hf_smb_network_unknown = -1;
static int hf_smb_disposition_delete_on_close = -1;
+static int hf_smb_mode = -1;
static gint ett_smb = -1;
static gint ett_smb_hdr = -1;
@@ -10500,6 +10501,36 @@ dissect_qfi_SMB_FILE_POSITION_INFO(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
return offset;
}
+/* this dissects the SMB_QUERY_FILE_MODE_INFO
+*/
+int
+dissect_qfi_SMB_FILE_MODE_INFO(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree,
+ int offset, guint16 *bcp, gboolean *trunc)
+{
+ /* mode */
+ CHECK_BYTE_COUNT_SUBR(4);
+ proto_tree_add_item(tree, hf_smb_mode, tvb, offset, 4, TRUE);
+ COUNT_BYTES_SUBR(4);
+
+ *trunc = FALSE;
+ return offset;
+}
+
+/* this dissects the SMB_QUERY_FILE_ALIGNMENT_INFO
+*/
+int
+dissect_qfi_SMB_FILE_ALIGNMENT_INFO(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree,
+ int offset, guint16 *bcp, gboolean *trunc)
+{
+ /* alignment */
+ CHECK_BYTE_COUNT_SUBR(4);
+ proto_tree_add_item(tree, hf_smb_t2_alignment, tvb, offset, 4, TRUE);
+ COUNT_BYTES_SUBR(4);
+
+ *trunc = FALSE;
+ return offset;
+}
+
/* this dissects the SMB_QUERY_FILE_EA_INFO
as described in 4.2.16.6
*/
@@ -11104,6 +11135,14 @@ dissect_qpi_loi_vals(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree,
offset = dissect_qfi_SMB_FILE_POSITION_INFO(tvb, pinfo, tree, offset, bcp,
&trunc);
break;
+ case 1016: /* SMB_FILE_MODE_INFORMATION */
+ offset = dissect_qfi_SMB_FILE_MODE_INFO(tvb, pinfo, tree, offset, bcp,
+ &trunc);
+ break;
+ case 1017: /* SMB_FILE_ALIGNMENT_INFORMATION */
+ offset = dissect_qfi_SMB_FILE_ALIGNMENT_INFO(tvb, pinfo, tree, offset, bcp,
+ &trunc);
+ break;
case 0x0107: /*Query File All Info*/
case 1018: /* SMB_FILE_ALL_INFORMATION */
#if 1
@@ -17610,6 +17649,10 @@ proto_register_smb(void)
{ "Unknown field", "smb.unknown", FT_UINT32, BASE_HEX,
NULL, 0, "", HFILL }},
+ { &hf_smb_mode,
+ { "Mode", "smb.mode", FT_UINT32, BASE_HEX,
+ NULL, 0, "", HFILL }},
+
{ &hf_smb_disposition_delete_on_close,
{ "Delete on close", "smb.disposition.delete_on_close", FT_BOOLEAN, 8,
TFS(&tfs_disposition_delete_on_close), 0x01, "", HFILL }},