aboutsummaryrefslogtreecommitdiffstats
path: root/smb.h
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2001-11-18 01:46:51 +0000
committerGuy Harris <guy@alum.mit.edu>2001-11-18 01:46:51 +0000
commitc211cb9da92fcbab67d8c4f12eb6aed0c070ffc7 (patch)
treef404c398a85d9856ec735954aa13a8298d8a2e5d /smb.h
parenta2993889aa07bce150a4371cdec56967c89de728 (diff)
Have only the request and response frame numbers, and a "void *", in an
"smb_saved_info_t". Put all the information needed to dissect NT Transaction replies, Transaction2 replies, or Transaction replies into separate data structures, allocated separately, and put a pointer to that data structure in the "void *" in question. Use the return value of "dissect_pipe_smb()" and "dissect_mailslot_smb()" to control whether to display as data the stuff those routines were asked to dissect. If we've seen a request before, but its "smb_saved_info_t" isn't in the "matched" hash table, look in the "unmatched" hash table - perhaps we haven't seen the reply yet. svn path=/trunk/; revision=4216
Diffstat (limited to 'smb.h')
-rw-r--r--smb.h46
1 files changed, 23 insertions, 23 deletions
diff --git a/smb.h b/smb.h
index a1882db954..d44b50f4b4 100644
--- a/smb.h
+++ b/smb.h
@@ -2,7 +2,7 @@
* Defines for smb packet dissection
* Copyright 1999, Richard Sharpe <rsharpe@ns.aus.com>
*
- * $Id: smb.h,v 1.19 2001/11/16 07:56:28 guy Exp $
+ * $Id: smb.h,v 1.20 2001/11/18 01:46:51 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -628,36 +628,36 @@
#define SMB_LMapi_UserPasswordSet 0x0073
/*
- * One of these data structures is allocated for a transaction or
- * transaction2 request; it keeps track of all information that's
- * available in the request but not the reply and that's needed in
- * order to dissect the reply, as well as the frame number of the
- * request.
+ * The information we need to save about a Transaction request in order
+ * to dissect the reply; this includes information for use by the
+ * Remote API and Mailslot dissectors.
+ * XXX - have an additional data structure hung off of this by the
+ * subdissectors?
*/
-struct smb_request_val {
- guint16 last_lanman_cmd;
- guchar *last_param_descrip; /* Keep these descriptors around */
- guchar *last_data_descrip;
- guchar *last_aux_data_descrip;
- int last_level;
-};
-
-#define TRANSACTION_PIPE 0x01
-#define TRANSACTION_MAILSLOT 0x02
+typedef struct {
+ int subcmd;
+ int trans_subcmd;
+ guint16 lanman_cmd;
+ guchar *param_descrip; /* Keep these descriptors around */
+ guchar *data_descrip;
+ guchar *aux_data_descrip;
+ int info_level;
+} smb_transact_info_t;
+/*
+ * Subcommand type.
+ */
+#define TRANSACTION_PIPE 0
+#define TRANSACTION_MAILSLOT 1
typedef struct smb_info {
int cmd, mid;
+ gboolean unicode; /* Are strings in this SMB Unicode? */
+ gboolean request; /* Is this a request? */
guint32 frame_req, frame_res;
gboolean unidir;
- int subcmd;
- int trans_subcmd;
- int info_level;
int info_count;
-
- struct smb_request_val *request_val;
- gboolean unicode; /* Are strings in this SMB Unicode? */
- gboolean request; /* Is this a request? */
+ void *extra_info; /* extra info for transactions */
} smb_info_t;
#endif