aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-aim-sst.c
diff options
context:
space:
mode:
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2004-09-21 08:01:29 +0000
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2004-09-21 08:01:29 +0000
commita78e66cfbb93402071031337c5ee5972827a39fb (patch)
treeb1fa0013f96edec2436ff6962ce8eef4053910b5 /epan/dissectors/packet-aim-sst.c
parent2a33a6e285e2e035b5f469efc69b6bf2ed06ecde (diff)
From Jelmer Vernooij:
Remove some code duplication from the Oscar dissector (reduces the number of lines by 500) by providing a custom registration function for oscar families (aim_init_family). This also fixes a number of issues with column names. Add minor updates such as adding support for the Capability Info TLV on users. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@12060 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-aim-sst.c')
-rw-r--r--epan/dissectors/packet-aim-sst.c44
1 files changed, 9 insertions, 35 deletions
diff --git a/epan/dissectors/packet-aim-sst.c b/epan/dissectors/packet-aim-sst.c
index 2271a838af..2c0b6abd89 100644
--- a/epan/dissectors/packet-aim-sst.c
+++ b/epan/dissectors/packet-aim-sst.c
@@ -41,22 +41,6 @@
#define FAMILY_SST 0x0010
-/* Family Advertising */
-#define FAMILY_SST_ERROR 0x0001
-#define FAMILY_SST_UPLOAD_ICON_REQ 0x0002
-#define FAMILY_SST_UPLOAD_ICON_REPL 0x0003
-#define FAMILY_SST_DOWNLOAD_ICON_REQ 0x0004
-#define FAMILY_SST_DOWNLOAD_ICON_REPL 0x0005
-
-static const value_string aim_fnac_family_sst[] = {
- { FAMILY_SST_ERROR, "Error" },
- { FAMILY_SST_UPLOAD_ICON_REQ, "Upload Buddy Icon Request" },
- { FAMILY_SST_UPLOAD_ICON_REPL, "Upload Buddy Icon Reply" },
- { FAMILY_SST_DOWNLOAD_ICON_REQ, "Download Buddy Icon Request" },
- { FAMILY_SST_DOWNLOAD_ICON_REPL, "Download Buddy Icon Reply" },
- { 0, NULL }
-};
-
/* Initialize the protocol and registered fields */
static int proto_aim_sst = -1;
@@ -64,22 +48,15 @@ static int proto_aim_sst = -1;
/* Initialize the subtree pointers */
static gint ett_aim_sst = -1;
-static int dissect_aim_sst(tvbuff_t *tvb _U_,
- packet_info *pinfo _U_,
- proto_tree *tree _U_)
-{
- struct aiminfo *aiminfo = pinfo->private_data;
- int offset = 0;
-
- switch(aiminfo->subtype) {
- case FAMILY_SST_ERROR:
- return dissect_aim_snac_error(tvb, pinfo, offset, tree);
- default:
- return 0;
- }
+static const aim_subtype aim_fnac_family_sst[] = {
+ { 0x0001, "Error", dissect_aim_snac_error },
+ { 0x0002, "Upload Buddy Icon Request", NULL },
+ { 0x0003, "Upload Buddy Icon Reply", NULL },
+ { 0x0004, "Download Buddy Icon Request", NULL },
+ { 0x0005, "Download Buddy Icon Reply", NULL },
+ { 0, NULL, NULL }
+};
- return 0;
-}
/* Register the protocol with Ethereal */
void
@@ -108,8 +85,5 @@ proto_register_aim_sst(void)
void
proto_reg_handoff_aim_sst(void)
{
- dissector_handle_t aim_handle;
- aim_handle = new_create_dissector_handle(dissect_aim_sst, proto_aim_sst);
- dissector_add("aim.family", FAMILY_SST, aim_handle);
- aim_init_family(FAMILY_SST, "Server Stored Themes", aim_fnac_family_sst);
+ aim_init_family(proto_aim_sst, ett_aim_sst, FAMILY_SST, aim_fnac_family_sst);
}