diff options
author | Bill Meier <wmeier@newsguy.com> | 2014-10-03 10:13:07 -0400 |
---|---|---|
committer | Bill Meier <wmeier@newsguy.com> | 2014-10-03 14:28:42 +0000 |
commit | bb5daa6ae9070a1093b5fbc8f078d9eaf101d769 (patch) | |
tree | 9af6b8bd3bbcaa75ea90adf0709069d245e14c2d /epan/dissectors | |
parent | 451de17929eaa48af07bfc6154a9603318121562 (diff) |
Add editor modelines; Adjust whitespace as needed.
Change-Id: I391cdf80a6e4ae5b0f4068e0500a90d013588f8a
Reviewed-on: https://code.wireshark.org/review/4442
Reviewed-by: Bill Meier <wmeier@newsguy.com>
Diffstat (limited to 'epan/dissectors')
42 files changed, 4251 insertions, 3708 deletions
diff --git a/epan/dissectors/packet-aim-generic.c b/epan/dissectors/packet-aim-generic.c index 1f6cf27fd9..e2577be8be 100644 --- a/epan/dissectors/packet-aim-generic.c +++ b/epan/dissectors/packet-aim-generic.c @@ -45,23 +45,23 @@ void proto_reg_handoff_aim_generic(void); #define FAMILY_GENERIC_MOTD_MOTDTYPE_NEWS 0x0006 static const value_string aim_snac_generic_motd_motdtypes[] = { - { FAMILY_GENERIC_MOTD_MOTDTYPE_MDT_UPGRADE, "Mandatory Upgrade Needed Notice" }, - { FAMILY_GENERIC_MOTD_MOTDTYPE_ADV_UPGRADE, "Advisable Upgrade Notice" }, - { FAMILY_GENERIC_MOTD_MOTDTYPE_SYS_BULLETIN, "AIM/ICQ Service System Announcements" }, - { FAMILY_GENERIC_MOTD_MOTDTYPE_NORMAL, "Standard Notice" }, - { FAMILY_GENERIC_MOTD_MOTDTYPE_NEWS, "News from AOL service" }, - { 0, NULL } + { FAMILY_GENERIC_MOTD_MOTDTYPE_MDT_UPGRADE, "Mandatory Upgrade Needed Notice" }, + { FAMILY_GENERIC_MOTD_MOTDTYPE_ADV_UPGRADE, "Advisable Upgrade Notice" }, + { FAMILY_GENERIC_MOTD_MOTDTYPE_SYS_BULLETIN, "AIM/ICQ Service System Announcements" }, + { FAMILY_GENERIC_MOTD_MOTDTYPE_NORMAL, "Standard Notice" }, + { FAMILY_GENERIC_MOTD_MOTDTYPE_NEWS, "News from AOL service" }, + { 0, NULL } }; -#define RATEINFO_STATE_LIMITED 0x01 -#define RATEINFO_STATE_ALERT 0x02 -#define RATEINFO_STATE_CLEAR 0x03 +#define RATEINFO_STATE_LIMITED 0x01 +#define RATEINFO_STATE_ALERT 0x02 +#define RATEINFO_STATE_CLEAR 0x03 static const value_string rateinfo_states[] = { - { RATEINFO_STATE_LIMITED, "Limited" }, - { RATEINFO_STATE_ALERT, "Alert" }, - { RATEINFO_STATE_CLEAR, "Clear" }, - { 0, NULL } + { RATEINFO_STATE_LIMITED, "Limited" }, + { RATEINFO_STATE_ALERT, "Alert" }, + { RATEINFO_STATE_CLEAR, "Clear" }, + { 0, NULL } }; #define RATECHANGE_MSG_LIMIT_PARAMS_CHANGED 0x0001 @@ -70,32 +70,32 @@ static const value_string rateinfo_states[] = { #define RATECHANGE_MSG_LIMIT_CLEAR 0x0004 static const value_string ratechange_msgs[] = { - { RATECHANGE_MSG_LIMIT_PARAMS_CHANGED, "Rate limits parameters changed" }, - { RATECHANGE_MSG_LIMIT_WARN, "Rate limits warning (current level < alert level)" }, - { RATECHANGE_MSG_LIMIT_HIT, "Rate limit hit (current level < limit level)" }, - { RATECHANGE_MSG_LIMIT_CLEAR, "Rate limit clear (current level now > clear level)" }, - { 0, NULL }, + { RATECHANGE_MSG_LIMIT_PARAMS_CHANGED, "Rate limits parameters changed" }, + { RATECHANGE_MSG_LIMIT_WARN, "Rate limits warning (current level < alert level)" }, + { RATECHANGE_MSG_LIMIT_HIT, "Rate limit hit (current level < limit level)" }, + { RATECHANGE_MSG_LIMIT_CLEAR, "Rate limit clear (current level now > clear level)" }, + { 0, NULL }, }; #define EXT_STATUS_TYPE_BUDDY_ICON_0 0 #define EXT_STATUS_TYPE_BUDDY_ICON_1 1 #define EXT_STATUS_TYPE_AVAIL_MSG 2 -#define EXT_STATUS_TYPE_UNKNOWN 6 +#define EXT_STATUS_TYPE_UNKNOWN 6 static const value_string ext_status_types[] = { - { EXT_STATUS_TYPE_BUDDY_ICON_0, "Request to send buddy icon" }, - { EXT_STATUS_TYPE_BUDDY_ICON_1, "Request to send buddy icon" }, - { EXT_STATUS_TYPE_AVAIL_MSG, "Extended Status Update" }, - { 0, NULL }, + { EXT_STATUS_TYPE_BUDDY_ICON_0, "Request to send buddy icon" }, + { EXT_STATUS_TYPE_BUDDY_ICON_1, "Request to send buddy icon" }, + { EXT_STATUS_TYPE_AVAIL_MSG, "Extended Status Update" }, + { 0, NULL }, }; -#define EXT_STATUS_FLAG_INITIAL_SEND 0x41 -#define EXT_STATUS_FLAG_RESEND 0x81 +#define EXT_STATUS_FLAG_INITIAL_SEND 0x41 +#define EXT_STATUS_FLAG_RESEND 0x81 static const value_string ext_status_flags[] = { - { EXT_STATUS_FLAG_INITIAL_SEND, "First Send Request" }, - { EXT_STATUS_FLAG_RESEND, "Request To Re-Send" }, - { 0, NULL }, + { EXT_STATUS_FLAG_INITIAL_SEND, "First Send Request" }, + { EXT_STATUS_FLAG_RESEND, "Request To Re-Send" }, + { 0, NULL }, }; /* Initialize the protocol and registered fields */ @@ -148,316 +148,316 @@ static gint ett_generic_rateinfo_group = -1; static int dissect_rate_class(tvbuff_t *tvb, packet_info *pinfo _U_, int offset, proto_tree *class_tree) { - proto_tree_add_item(class_tree, hf_generic_rateinfo_classid, tvb, offset, 2, ENC_BIG_ENDIAN);offset+=2; - proto_tree_add_item(class_tree, hf_generic_rateinfo_windowsize, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4; - proto_tree_add_item(class_tree, hf_generic_rateinfo_clearlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4; - proto_tree_add_item(class_tree, hf_generic_rateinfo_alertlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4; - proto_tree_add_item(class_tree, hf_generic_rateinfo_limitlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4; - proto_tree_add_item(class_tree, hf_generic_rateinfo_disconnectlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4; - proto_tree_add_item(class_tree, hf_generic_rateinfo_currentlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4; - proto_tree_add_item(class_tree, hf_generic_rateinfo_maxlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4; - proto_tree_add_item(class_tree, hf_generic_rateinfo_lasttime, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4; - proto_tree_add_item(class_tree, hf_generic_rateinfo_curstate, tvb, offset, 1, ENC_NA);offset+=1; - return offset; + proto_tree_add_item(class_tree, hf_generic_rateinfo_classid, tvb, offset, 2, ENC_BIG_ENDIAN);offset+=2; + proto_tree_add_item(class_tree, hf_generic_rateinfo_windowsize, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4; + proto_tree_add_item(class_tree, hf_generic_rateinfo_clearlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4; + proto_tree_add_item(class_tree, hf_generic_rateinfo_alertlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4; + proto_tree_add_item(class_tree, hf_generic_rateinfo_limitlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4; + proto_tree_add_item(class_tree, hf_generic_rateinfo_disconnectlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4; + proto_tree_add_item(class_tree, hf_generic_rateinfo_currentlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4; + proto_tree_add_item(class_tree, hf_generic_rateinfo_maxlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4; + proto_tree_add_item(class_tree, hf_generic_rateinfo_lasttime, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4; + proto_tree_add_item(class_tree, hf_generic_rateinfo_curstate, tvb, offset, 1, ENC_NA);offset+=1; + return offset; } static int dissect_generic_rateinfo(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree) { - int offset = 0; - guint16 i; - guint16 numclasses = tvb_get_ntohs(tvb, 0); - proto_tree *classes_tree = NULL, *groups_tree, *group_tree; - proto_tree_add_uint(tree, hf_generic_rateinfo_numclasses, tvb, 0, 2, numclasses ); - offset+=2; - - if(tree) { - /* sizeof(rate_class_struct) = 35 ! */ - classes_tree = proto_tree_add_subtree(tree, tvb, offset, 35 * numclasses, - ett_generic_rateinfo_classes, NULL, "Available Rate Classes"); - } - - for(i = 0; i < numclasses; i++) { - guint16 myid = tvb_get_ntohs(tvb, offset); - proto_tree *class_tree = proto_tree_add_subtree_format(classes_tree, tvb, offset, 35, - ett_generic_rateinfo_class, NULL, "Rate Class 0x%02x", myid); - offset = dissect_rate_class(tvb, pinfo, offset, class_tree); - } - - groups_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_generic_rateinfo_groups, NULL, "Rate Groups"); - - for(i = 0; i < numclasses; i++) { - guint16 j; - guint16 myid = tvb_get_ntohs(tvb, offset); - guint16 numpairs = tvb_get_ntohs(tvb, offset + 2); - /* - * sizeof(rate_group) = sizeof(class_id) + sizeof(numpairs) + numpairs * 2 * sizeof(uint16_t) - * = 2 + 2 + numpairs * 4 - */ - group_tree = proto_tree_add_subtree_format(groups_tree, tvb, offset, 4 + 4 * numpairs, - ett_generic_rateinfo_group, NULL, "Rate Group 0x%02x", myid); - proto_tree_add_uint(group_tree, hf_generic_rateinfo_classid, tvb, offset, 2, myid);offset+=2; - proto_tree_add_uint(group_tree, hf_generic_rateinfo_numpairs, tvb, offset, 2, numpairs); offset+=2; - for(j = 0; j < numpairs; j++) { - guint16 family_id; - guint16 subtype_id; - const aim_family *family; - const aim_subtype *subtype; - family_id = tvb_get_ntohs(tvb, offset); - subtype_id = tvb_get_ntohs(tvb, offset+2); - - family = aim_get_family(family_id); - subtype = aim_get_subtype(family_id, subtype_id); - - proto_tree_add_uint_format_value(group_tree, hf_generic_family, tvb, offset, 4, family_id, - "%s (0x%04x), Subtype: %s (0x%04x)", family?family->name:"Unknown", family_id, subtype?subtype->name:"Unknown", subtype_id); - offset+=4; - } - } - - return offset; + int offset = 0; + guint16 i; + guint16 numclasses = tvb_get_ntohs(tvb, 0); + proto_tree *classes_tree = NULL, *groups_tree, *group_tree; + proto_tree_add_uint(tree, hf_generic_rateinfo_numclasses, tvb, 0, 2, numclasses ); + offset+=2; + + if(tree) { + /* sizeof(rate_class_struct) = 35 ! */ + classes_tree = proto_tree_add_subtree(tree, tvb, offset, 35 * numclasses, + ett_generic_rateinfo_classes, NULL, "Available Rate Classes"); + } + + for(i = 0; i < numclasses; i++) { + guint16 myid = tvb_get_ntohs(tvb, offset); + proto_tree *class_tree = proto_tree_add_subtree_format(classes_tree, tvb, offset, 35, + ett_generic_rateinfo_class, NULL, "Rate Class 0x%02x", myid); + offset = dissect_rate_class(tvb, pinfo, offset, class_tree); + } + + groups_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_generic_rateinfo_groups, NULL, "Rate Groups"); + + for(i = 0; i < numclasses; i++) { + guint16 j; + guint16 myid = tvb_get_ntohs(tvb, offset); + guint16 numpairs = tvb_get_ntohs(tvb, offset + 2); + /* + * sizeof(rate_group) = sizeof(class_id) + sizeof(numpairs) + numpairs * 2 * sizeof(uint16_t) + * = 2 + 2 + numpairs * 4 + */ + group_tree = proto_tree_add_subtree_format(groups_tree, tvb, offset, 4 + 4 * numpairs, + ett_generic_rateinfo_group, NULL, "Rate Group 0x%02x", myid); + proto_tree_add_uint(group_tree, hf_generic_rateinfo_classid, tvb, offset, 2, myid);offset+=2; + proto_tree_add_uint(group_tree, hf_generic_rateinfo_numpairs, tvb, offset, 2, numpairs); offset+=2; + for(j = 0; j < numpairs; j++) { + guint16 family_id; + guint16 subtype_id; + const aim_family *family; + const aim_subtype *subtype; + family_id = tvb_get_ntohs(tvb, offset); + subtype_id = tvb_get_ntohs(tvb, offset+2); + + family = aim_get_family(family_id); + subtype = aim_get_subtype(family_id, subtype_id); + + proto_tree_add_uint_format_value(group_tree, hf_generic_family, tvb, offset, 4, family_id, + "%s (0x%04x), Subtype: %s (0x%04x)", family?family->name:"Unknown", family_id, subtype?subtype->name:"Unknown", subtype_id); + offset+=4; + } + } + + return offset; } static int dissect_aim_generic_clientready(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree) { - int offset = 0; - proto_tree *entry = proto_tree_add_subtree(gen_tree, tvb, 0, -1, ett_generic_clientready, NULL, "Supported services"); - - while(tvb_length_remaining(tvb, offset) > 0) { - proto_item *ti; - proto_tree *subtree; - - ti = proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN); - subtree = proto_item_add_subtree(ti, ett_generic_clientready_item); - offset+=2; - - proto_tree_add_item(subtree, hf_generic_version, tvb, offset, 2, ENC_BIG_ENDIAN); - offset += 2; - proto_tree_add_item(subtree, hf_generic_dll_version, tvb, offset, 3, ENC_BIG_ENDIAN); - /* Padding byte? */ - offset += 4; - proto_item_set_len(ti, 8); - } - return offset; + int offset = 0; + proto_tree *entry = proto_tree_add_subtree(gen_tree, tvb, 0, -1, ett_generic_clientready, NULL, "Supported services"); + + while(tvb_length_remaining(tvb, offset) > 0) { + proto_item *ti; + proto_tree *subtree; + + ti = proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN); + subtree = proto_item_add_subtree(ti, ett_generic_clientready_item); + offset+=2; + + proto_tree_add_item(subtree, hf_generic_version, tvb, offset, 2, ENC_BIG_ENDIAN); + offset += 2; + proto_tree_add_item(subtree, hf_generic_dll_version, tvb, offset, 3, ENC_BIG_ENDIAN); + /* Padding byte? */ + offset += 4; + proto_item_set_len(ti, 8); + } + return offset; } static int dissect_aim_generic_serverready(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree) { - int offset = 0; - proto_tree *entry = proto_tree_add_subtree(gen_tree, tvb, offset, -1, ett_generic_clientready, NULL, "Supported services"); - - while(tvb_length_remaining(tvb, offset) > 0) { - proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN); - offset+=2; - } - return offset; + int offset = 0; + proto_tree *entry = proto_tree_add_subtree(gen_tree, tvb, offset, -1, ett_generic_clientready, NULL, "Supported services"); + + while(tvb_length_remaining(tvb, offset) > 0) { + proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN); + offset+=2; + } + return offset; } static int dissect_aim_generic_service_req(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree) { - int offset = 0; - const aim_family *family = aim_get_family( tvb_get_ntohs(tvb, offset) ); + int offset = 0; + const aim_family *family = aim_get_family( tvb_get_ntohs(tvb, offset) ); - proto_tree_add_uint_format(gen_tree, hf_generic_servicereq_service, tvb, offset, 2, tvb_get_ntohs(tvb, offset), "%s (0x%04x)", family?family->name:"Unknown", tvb_get_ntohs(tvb, offset) ); - offset+=2; - return offset; + proto_tree_add_uint_format(gen_tree, hf_generic_servicereq_service, tvb, offset, 2, tvb_get_ntohs(tvb, offset), "%s (0x%04x)", family?family->name:"Unknown", tvb_get_ntohs(tvb, offset) ); + offset+=2; + return offset; } static int dissect_aim_generic_redirect(tvbuff_t *tvb, packet_info *pinfo, proto_tree *gen_tree) { - return dissect_aim_tlv_sequence(tvb, pinfo, 0, gen_tree, aim_client_tlvs); + return dissect_aim_tlv_sequence(tvb, pinfo, 0, gen_tree, aim_client_tlvs); } static int dissect_aim_generic_capabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree) { - int offset = 0; - proto_tree *entry = proto_tree_add_subtree(gen_tree, tvb, offset, -1, ett_generic_clientready, NULL, "Requested services"); - - while(tvb_length_remaining(tvb, offset) > 0) { - proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN); - offset+=2; - proto_tree_add_item(entry, hf_generic_version, tvb, offset, 2, ENC_BIG_ENDIAN); - offset+=2; - } - return offset; + int offset = 0; + proto_tree *entry = proto_tree_add_subtree(gen_tree, tvb, offset, -1, ett_generic_clientready, NULL, "Requested services"); + + while(tvb_length_remaining(tvb, offset) > 0) { + proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN); + offset+=2; + proto_tree_add_item(entry, hf_generic_version, tvb, offset, 2, ENC_BIG_ENDIAN); + offset+=2; + } + return offset; } static int dissect_aim_generic_capack(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree) { - int offset = 0; - proto_tree *entry = proto_tree_add_subtree(gen_tree, tvb, offset, -1, ett_generic_clientready, NULL, "Accepted requested services"); - - while(tvb_length_remaining(tvb, offset) > 0) { - proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN); - offset+=2; - proto_tree_add_item(entry, hf_generic_version, tvb, offset, 2, ENC_BIG_ENDIAN); - offset+=2; - } - return offset; + int offset = 0; + proto_tree *entry = proto_tree_add_subtree(gen_tree, tvb, offset, -1, ett_generic_clientready, NULL, "Accepted requested services"); + + while(tvb_length_remaining(tvb, offset) > 0) { + proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN); + offset+=2; + proto_tree_add_item(entry, hf_generic_version, tvb, offset, 2, ENC_BIG_ENDIAN); + offset+=2; + } + return offset; } static int dissect_aim_generic_motd(tvbuff_t *tvb, packet_info *pinfo, proto_tree *gen_tree) { - int offset = 0; - proto_tree_add_item(gen_tree, hf_generic_motd_motdtype, tvb, offset, - 2, tvb_get_ntohs(tvb, offset)); - offset+=2; - return dissect_aim_tlv_sequence(tvb, pinfo, offset, gen_tree, aim_motd_tlvs); + int offset = 0; + proto_tree_add_item(gen_tree, hf_generic_motd_motdtype, tvb, offset, + 2, tvb_get_ntohs(tvb, offset)); + offset+=2; + return dissect_aim_tlv_sequence(tvb, pinfo, offset, gen_tree, aim_motd_tlvs); } static int dissect_aim_generic_rateinfoack(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree) { - int offset = 0; - while(tvb_length_remaining(tvb, offset) > 0) { - proto_tree_add_uint(gen_tree, hf_generic_rateinfoack_group, tvb, offset, 2, tvb_get_ntohs(tvb, offset)); - offset+=2; - } - return offset; + int offset = 0; + while(tvb_length_remaining(tvb, offset) > 0) { + proto_tree_add_uint(gen_tree, hf_generic_rateinfoack_group, tvb, offset, 2, tvb_get_ntohs(tvb, offset)); + offset+=2; + } + return offset; } static int dissect_aim_generic_ratechange(tvbuff_t *tvb, packet_info *pinfo, proto_tree *gen_tree) { - int offset = 0; - proto_tree_add_uint(gen_tree, hf_generic_ratechange_msg, tvb, offset, 2, tvb_get_ntohs(tvb, offset)); - offset+=2; - offset = dissect_rate_class(tvb, pinfo, offset, gen_tree); - return offset; + int offset = 0; + proto_tree_add_uint(gen_tree, hf_generic_ratechange_msg, tvb, offset, 2, tvb_get_ntohs(tvb, offset)); + offset+=2; + offset = dissect_rate_class(tvb, pinfo, offset, gen_tree); + return offset; } static int dissect_aim_generic_clientpauseack(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree) { - int offset = 0; - while(tvb_length_remaining(tvb, offset) > 0) { - proto_tree_add_item(gen_tree, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN); - offset += 2; - } - return offset; + int offset = 0; + while(tvb_length_remaining(tvb, offset) > 0) { + proto_tree_add_item(gen_tree, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN); + offset += 2; + } + return offset; } static int dissect_aim_generic_migration_req(tvbuff_t *tvb, packet_info *pinfo, proto_tree *gen_tree) { - int offset = 0; - guint32 n, i; - proto_tree *entry; - - n = tvb_get_ntohs(tvb, offset);offset+=2; - proto_tree_add_uint(gen_tree, hf_generic_migration_numfams, tvb, offset, 2, n); - entry = proto_tree_add_subtree(gen_tree, tvb, offset, 2 * n, - ett_generic_migratefamilies, NULL, "Families to migrate"); - for(i = 0; i < n; i++) { - proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN); - offset += 2; - } - - return dissect_aim_tlv_sequence(tvb, pinfo, offset, gen_tree, aim_client_tlvs); + int offset = 0; + guint32 n, i; + proto_tree *entry; + + n = tvb_get_ntohs(tvb, offset);offset+=2; + proto_tree_add_uint(gen_tree, hf_generic_migration_numfams, tvb, offset, 2, n); + entry = proto_tree_add_subtree(gen_tree, tvb, offset, 2 * n, + ett_generic_migratefamilies, NULL, "Families to migrate"); + for(i = 0; i < n; i++) { + proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN); + offset += 2; + } + + return dissect_aim_tlv_sequence(tvb, pinfo, offset, gen_tree, aim_client_tlvs); } static int dissect_aim_generic_setprivflags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree) { - int offset = 0; - guint32 flags = tvb_get_ntoh24(tvb, offset); - proto_item *ti = proto_tree_add_uint(gen_tree, hf_generic_priv_flags, tvb, offset, 4, flags); - proto_tree *entry = proto_item_add_subtree(ti, ett_generic_priv_flags); - proto_tree_add_boolean(entry, hf_generic_allow_idle_see, tvb, offset, 4, flags); - proto_tree_add_boolean(entry, hf_generic_allow_member_see, tvb, offset, 4, flags); - offset+=4; - return offset; + int offset = 0; + guint32 flags = tvb_get_ntoh24(tvb, offset); + proto_item *ti = proto_tree_add_uint(gen_tree, hf_generic_priv_flags, tvb, offset, 4, flags); + proto_tree *entry = proto_item_add_subtree(ti, ett_generic_priv_flags); + proto_tree_add_boolean(entry, hf_generic_allow_idle_see, tvb, offset, 4, flags); + proto_tree_add_boolean(entry, hf_generic_allow_member_see, tvb, offset, 4, flags); + offset+=4; + return offset; } static int dissect_aim_generic_selfinfo_repl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *gen_tree) { - int offset = dissect_aim_buddyname(tvb, pinfo, 0, gen_tree); - proto_tree_add_item(gen_tree, hf_generic_selfinfo_warninglevel, tvb, offset, 2, ENC_BIG_ENDIAN); - offset += 2; - return dissect_aim_tlv_list(tvb, pinfo, offset, gen_tree, aim_onlinebuddy_tlvs); + int offset = dissect_aim_buddyname(tvb, pinfo, 0, gen_tree); + proto_tree_add_item(gen_tree, hf_generic_selfinfo_warninglevel, tvb, offset, 2, ENC_BIG_ENDIAN); + offset += 2; + return dissect_aim_tlv_list(tvb, pinfo, offset, gen_tree, aim_onlinebuddy_tlvs); } static int dissect_aim_generic_evil(tvbuff_t *tvb, packet_info *pinfo, proto_tree *gen_tree) { - int offset = 0; - proto_tree_add_item(gen_tree, hf_generic_evil_new_warn_level, tvb, offset, 2, ENC_BIG_ENDIAN); - while(tvb_length_remaining(tvb, offset) > 0) { - offset = dissect_aim_userinfo(tvb, pinfo, offset, gen_tree); - } - return offset; + int offset = 0; + proto_tree_add_item(gen_tree, hf_generic_evil_new_warn_level, tvb, offset, 2, ENC_BIG_ENDIAN); + while(tvb_length_remaining(tvb, offset) > 0) { + offset = dissect_aim_userinfo(tvb, pinfo, offset, gen_tree); + } + return offset; } static int dissect_aim_generic_setidle(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree) { - proto_tree_add_item(gen_tree, hf_generic_idle_time, tvb, 0, 2, ENC_BIG_ENDIAN); - return 2; + proto_tree_add_item(gen_tree, hf_generic_idle_time, tvb, 0, 2, ENC_BIG_ENDIAN); + return 2; } static int dissect_aim_generic_ext_status_req(tvbuff_t *tvb, packet_info *pinfo, proto_tree *gen_tree) { - return dissect_aim_tlv_sequence(tvb, pinfo, 0, gen_tree, aim_onlinebuddy_tlvs); + return dissect_aim_tlv_sequence(tvb, pinfo, 0, gen_tree, aim_onlinebuddy_tlvs); } static int dissect_aim_generic_clientver_req(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree) { - int offset = 0; - proto_tree_add_item(gen_tree, hf_generic_client_ver_req_offset, tvb, offset, 4, ENC_BIG_ENDIAN); - offset+=4; - proto_tree_add_item(gen_tree, hf_generic_client_ver_req_length, tvb, offset, 4, ENC_BIG_ENDIAN); - return offset+4; + int offset = 0; + proto_tree_add_item(gen_tree, hf_generic_client_ver_req_offset, tvb, offset, 4, ENC_BIG_ENDIAN); + offset+=4; + proto_tree_add_item(gen_tree, hf_generic_client_ver_req_length, tvb, offset, 4, ENC_BIG_ENDIAN); + return offset+4; } static int dissect_aim_generic_clientver_repl(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree) { - proto_tree_add_item(gen_tree, hf_generic_client_ver_req_hash, tvb, 0, 16, ENC_NA); - return 16; + proto_tree_add_item(gen_tree, hf_generic_client_ver_req_hash, tvb, 0, 16, ENC_NA); + return 16; } static int dissect_aim_generic_ext_status_repl(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree) { - guint8 length; - int offset = 0; - proto_tree_add_item(gen_tree, hf_generic_ext_status_type, tvb, offset, 2, ENC_BIG_ENDIAN); offset += 2; - proto_tree_add_item(gen_tree, hf_generic_ext_status_flags, tvb, offset, 1, ENC_BIG_ENDIAN); offset += 1; - proto_tree_add_item(gen_tree, hf_generic_ext_status_length, tvb, offset, 1, ENC_BIG_ENDIAN); length = tvb_get_guint8(tvb, offset); offset += 1; - proto_tree_add_item(gen_tree, hf_generic_ext_status_data, tvb, offset, length, ENC_NA); offset += 1; - return offset; + guint8 length; + int offset = 0; + proto_tree_add_item(gen_tree, hf_generic_ext_status_type, tvb, offset, 2, ENC_BIG_ENDIAN); offset += 2; + proto_tree_add_item(gen_tree, hf_generic_ext_status_flags, tvb, offset, 1, ENC_BIG_ENDIAN); offset += 1; + proto_tree_add_item(gen_tree, hf_generic_ext_status_length, tvb, offset, 1, ENC_BIG_ENDIAN); length = tvb_get_guint8(tvb, offset); offset += 1; + proto_tree_add_item(gen_tree, hf_generic_ext_status_data, tvb, offset, length, ENC_NA); offset += 1; + return offset; } static void aim_generic_family( gchar *result, guint32 famnum ) { - const aim_family *family = aim_get_family(famnum); + const aim_family *family = aim_get_family(famnum); - g_snprintf( result, ITEM_LABEL_LENGTH, "%s (0x%x)", family?family->name:"Unknown", famnum); + g_snprintf( result, ITEM_LABEL_LENGTH, "%s (0x%x)", family?family->name:"Unknown", famnum); } static const aim_subtype aim_fnac_family_generic[] = { - { 0x0001, "Error", dissect_aim_snac_error }, - { 0x0002, "Client Ready", dissect_aim_generic_clientready }, - { 0x0003, "Server Ready", dissect_aim_generic_serverready }, - { 0x0004, "Service Request", dissect_aim_generic_service_req }, - { 0x0005, "Redirect", dissect_aim_generic_redirect }, - { 0x0006, "Rate Info Request", NULL}, - { 0x0007, "Rate Info", dissect_generic_rateinfo }, - { 0x0008, "Rate Info Ack", dissect_aim_generic_rateinfoack }, - { 0x000a, "Rate Change", dissect_aim_generic_ratechange }, - { 0x000b, "Server Pause", NULL }, - { 0x000c, "Client Pause Ack", dissect_aim_generic_clientpauseack }, - { 0x000d, "Server Resume", NULL }, - { 0x000e, "Self Info Request", NULL }, - { 0x000f, "Self Info Reply", dissect_aim_generic_selfinfo_repl }, - { 0x0010, "Evil", dissect_aim_generic_evil }, - { 0x0011, "Set Idle", dissect_aim_generic_setidle }, - { 0x0012, "Migration Request", dissect_aim_generic_migration_req }, - { 0x0013, "Message Of The Day", dissect_aim_generic_motd }, - { 0x0014, "Set Privilege Flags", dissect_aim_generic_setprivflags }, - { 0x0015, "Well Known URL", NULL }, /* FIXME */ - { 0x0016, "noop", NULL }, - { 0x0017, "Capabilities", dissect_aim_generic_capabilities }, - { 0x0018, "Capabilities Ack", dissect_aim_generic_capack }, - { 0x001e, "Set Extended Status Request", dissect_aim_generic_ext_status_req }, - { 0x001f, "Client Verification Request", dissect_aim_generic_clientver_req }, - { 0x0020, "Client Verification Reply", dissect_aim_generic_clientver_repl }, - { 0x0021, "Set Extended Status Reply", dissect_aim_generic_ext_status_repl }, - { 0, NULL, NULL } + { 0x0001, "Error", dissect_aim_snac_error }, + { 0x0002, "Client Ready", dissect_aim_generic_clientready }, + { 0x0003, "Server Ready", dissect_aim_generic_serverready }, + { 0x0004, "Service Request", dissect_aim_generic_service_req }, + { 0x0005, "Redirect", dissect_aim_generic_redirect }, + { 0x0006, "Rate Info Request", NULL}, + { 0x0007, "Rate Info", dissect_generic_rateinfo }, + { 0x0008, "Rate Info Ack", dissect_aim_generic_rateinfoack }, + { 0x000a, "Rate Change", dissect_aim_generic_ratechange }, + { 0x000b, "Server Pause", NULL }, + { 0x000c, "Client Pause Ack", dissect_aim_generic_clientpauseack }, + { 0x000d, "Server Resume", NULL }, + { 0x000e, "Self Info Request", NULL }, + { 0x000f, "Self Info Reply", dissect_aim_generic_selfinfo_repl }, + { 0x0010, "Evil", dissect_aim_generic_evil }, + { 0x0011, "Set Idle", dissect_aim_generic_setidle }, + { 0x0012, "Migration Request", dissect_aim_generic_migration_req }, + { 0x0013, "Message Of The Day", dissect_aim_generic_motd }, + { 0x0014, "Set Privilege Flags", dissect_aim_generic_setprivflags }, + { 0x0015, "Well Known URL", NULL }, /* FIXME */ + { 0x0016, "noop", NULL }, + { 0x0017, "Capabilities", dissect_aim_generic_capabilities }, + { 0x0018, "Capabilities Ack", dissect_aim_generic_capack }, + { 0x001e, "Set Extended Status Request", dissect_aim_generic_ext_status_req }, + { 0x001f, "Client Verification Request", dissect_aim_generic_clientver_req }, + { 0x0020, "Client Verification Reply", dissect_aim_generic_clientver_repl }, + { 0x0021, "Set Extended Status Reply", dissect_aim_generic_ext_status_repl }, + { 0, NULL, NULL } }; @@ -466,136 +466,149 @@ void proto_register_aim_generic(void) { - /* Setup list of header fields */ - static hf_register_info hf[] = { - { &hf_generic_servicereq_service, - { "Requested Service", "aim_generic.servicereq.service", FT_UINT16, - BASE_HEX, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_motd_motdtype, - { "MOTD Type", "aim_generic.motd.motdtype", FT_UINT16, - BASE_HEX, VALS(aim_snac_generic_motd_motdtypes), 0x0, NULL, HFILL }, - }, - { &hf_generic_family, - { "Family", "aim_generic.family", FT_UINT16, BASE_CUSTOM, aim_generic_family, 0x0, NULL, HFILL }, - }, - { &hf_generic_version, - { "Version", "aim_generic.version", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_dll_version, - { "DLL Version", "aim_generic.dll_version", FT_UINT24, BASE_DEC, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_rateinfo_numclasses, - { "Number of Rateinfo Classes", "aim_generic.rateinfo.numclasses", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_rateinfo_windowsize, - { "Window Size", "aim_generic.rateinfo.class.window_size", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_rateinfo_clearlevel, - { "Clear Level", "aim_generic.rateinfo.class.clearlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_rateinfo_alertlevel, - { "Alert Level", "aim_generic.rateinfo.class.alertlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_rateinfo_limitlevel, - { "Limit Level", "aim_generic.rateinfo.class.limitlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_rateinfo_disconnectlevel, - { "Disconnect Level", "aim_generic.rateinfo.class.disconnectlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_rateinfo_currentlevel, - { "Current Level", "aim_generic.rateinfo.class.currentlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_rateinfo_maxlevel, - { "Max Level", "aim_generic.rateinfo.class.maxlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_rateinfo_lasttime, - { "Last Time", "aim_generic.rateinfo.class.lasttime", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_rateinfo_curstate, - { "Current State", "aim_generic.rateinfo.class.curstate", FT_UINT8, BASE_HEX, VALS(rateinfo_states), 0x0, NULL, HFILL }, - }, - { &hf_generic_rateinfo_classid, - { "Class ID", "aim_generic.rateinfo.class.id", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_rateinfo_numpairs, - { "Number of Family/Subtype pairs", "aim_generic.rateinfo.class.numpairs", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_rateinfoack_group, - { "Acknowledged Rate Class", "aim_generic.rateinfoack.class", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_ratechange_msg, - { "Rate Change Message", "aim_generic.ratechange.msg", FT_UINT16, BASE_HEX, VALS(ratechange_msgs), 0x0, NULL, HFILL }, - }, - { &hf_generic_migration_numfams, - { "Number of families to migrate", "aim_generic.migrate.numfams", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_priv_flags, - { "Privilege flags", "aim_generic.privilege_flags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_allow_idle_see, - { "Allow other users to see idle time", "aim_generic.privilege_flags.allow_idle", FT_BOOLEAN, 32, TFS(&tfs_set_notset), 0x0001, NULL, HFILL }, - }, - { &hf_generic_allow_member_see, - { "Allow other users to see how long account has been a member", "aim_generic.privilege_flags.allow_member", FT_BOOLEAN, 32, TFS(&tfs_set_notset), 0x0002, NULL, HFILL }, - }, - { &hf_generic_selfinfo_warninglevel, - { "Warning level", "aim_generic.selfinfo.warn_level", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_evil_new_warn_level, - { "New warning level", "aim_generic.evil.new_warn_level", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_idle_time, - { "Idle time (seconds)", "aim_generic.idle_time", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_client_ver_req_offset, - { "Client Verification Request Offset", "aim_generic.client_verification.offset", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_client_ver_req_length, - { "Client Verification Request Length", "aim_generic.client_verification.length", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_client_ver_req_hash, - { "Client Verification MD5 Hash", "aim_generic.client_verification.hash", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }, - }, - { &hf_generic_ext_status_type, - { "Extended Status Type", "aim_generic.ext_status.type", FT_UINT16, BASE_DEC, VALS(ext_status_types), 0x0, NULL, HFILL }, - }, - { &hf_generic_ext_status_flags, - { "Extended Status Flags", "aim_generic.ext_status.flags", FT_UINT8, BASE_HEX, VALS(ext_status_flags), 0x0, NULL, HFILL }, - }, - { &hf_generic_ext_status_length, - { "Extended Status Length", "aim_generic.ext_status.length", FT_UINT8, BASE_HEX, NULL, 0x0, NULL , HFILL }, - }, - { &hf_generic_ext_status_data, - { "Extended Status Data", "aim_generic.ext_status.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL , HFILL }, - }, - - }; + /* Setup list of header fields */ + static hf_register_info hf[] = { + { &hf_generic_servicereq_service, + { "Requested Service", "aim_generic.servicereq.service", FT_UINT16, + BASE_HEX, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_motd_motdtype, + { "MOTD Type", "aim_generic.motd.motdtype", FT_UINT16, + BASE_HEX, VALS(aim_snac_generic_motd_motdtypes), 0x0, NULL, HFILL }, + }, + { &hf_generic_family, + { "Family", "aim_generic.family", FT_UINT16, BASE_CUSTOM, aim_generic_family, 0x0, NULL, HFILL }, + }, + { &hf_generic_version, + { "Version", "aim_generic.version", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_dll_version, + { "DLL Version", "aim_generic.dll_version", FT_UINT24, BASE_DEC, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_rateinfo_numclasses, + { "Number of Rateinfo Classes", "aim_generic.rateinfo.numclasses", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_rateinfo_windowsize, + { "Window Size", "aim_generic.rateinfo.class.window_size", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_rateinfo_clearlevel, + { "Clear Level", "aim_generic.rateinfo.class.clearlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_rateinfo_alertlevel, + { "Alert Level", "aim_generic.rateinfo.class.alertlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_rateinfo_limitlevel, + { "Limit Level", "aim_generic.rateinfo.class.limitlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_rateinfo_disconnectlevel, + { "Disconnect Level", "aim_generic.rateinfo.class.disconnectlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_rateinfo_currentlevel, + { "Current Level", "aim_generic.rateinfo.class.currentlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_rateinfo_maxlevel, + { "Max Level", "aim_generic.rateinfo.class.maxlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_rateinfo_lasttime, + { "Last Time", "aim_generic.rateinfo.class.lasttime", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_rateinfo_curstate, + { "Current State", "aim_generic.rateinfo.class.curstate", FT_UINT8, BASE_HEX, VALS(rateinfo_states), 0x0, NULL, HFILL }, + }, + { &hf_generic_rateinfo_classid, + { "Class ID", "aim_generic.rateinfo.class.id", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_rateinfo_numpairs, + { "Number of Family/Subtype pairs", "aim_generic.rateinfo.class.numpairs", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_rateinfoack_group, + { "Acknowledged Rate Class", "aim_generic.rateinfoack.class", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_ratechange_msg, + { "Rate Change Message", "aim_generic.ratechange.msg", FT_UINT16, BASE_HEX, VALS(ratechange_msgs), 0x0, NULL, HFILL }, + }, + { &hf_generic_migration_numfams, + { "Number of families to migrate", "aim_generic.migrate.numfams", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_priv_flags, + { "Privilege flags", "aim_generic.privilege_flags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_allow_idle_see, + { "Allow other users to see idle time", "aim_generic.privilege_flags.allow_idle", FT_BOOLEAN, 32, TFS(&tfs_set_notset), 0x0001, NULL, HFILL }, + }, + { &hf_generic_allow_member_see, + { "Allow other users to see how long account has been a member", "aim_generic.privilege_flags.allow_member", FT_BOOLEAN, 32, TFS(&tfs_set_notset), 0x0002, NULL, HFILL }, + }, + { &hf_generic_selfinfo_warninglevel, + { "Warning level", "aim_generic.selfinfo.warn_level", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_evil_new_warn_level, + { "New warning level", "aim_generic.evil.new_warn_level", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_idle_time, + { "Idle time (seconds)", "aim_generic.idle_time", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_client_ver_req_offset, + { "Client Verification Request Offset", "aim_generic.client_verification.offset", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_client_ver_req_length, + { "Client Verification Request Length", "aim_generic.client_verification.length", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_client_ver_req_hash, + { "Client Verification MD5 Hash", "aim_generic.client_verification.hash", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }, + }, + { &hf_generic_ext_status_type, + { "Extended Status Type", "aim_generic.ext_status.type", FT_UINT16, BASE_DEC, VALS(ext_status_types), 0x0, NULL, HFILL }, + }, + { &hf_generic_ext_status_flags, + { "Extended Status Flags", "aim_generic.ext_status.flags", FT_UINT8, BASE_HEX, VALS(ext_status_flags), 0x0, NULL, HFILL }, + }, + { &hf_generic_ext_status_length, + { "Extended Status Length", "aim_generic.ext_status.length", FT_UINT8, BASE_HEX, NULL, 0x0, NULL , HFILL }, + }, + { &hf_generic_ext_status_data, + { "Extended Status Data", "aim_generic.ext_status.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL , HFILL }, + }, + + }; /* Setup protocol subtree array */ - static gint *ett[] = { - &ett_generic, - &ett_generic_migratefamilies, - &ett_generic_rateinfo_class, - &ett_generic_rateinfo_group, - &ett_generic_rateinfo_groups, - &ett_generic_rateinfo_classes, - &ett_generic_clientready, - &ett_generic_clientready_item, - &ett_generic_serverready, - &ett_generic_priv_flags, - }; + static gint *ett[] = { + &ett_generic, + &ett_generic_migratefamilies, + &ett_generic_rateinfo_class, + &ett_generic_rateinfo_group, + &ett_generic_rateinfo_groups, + &ett_generic_rateinfo_classes, + &ett_generic_clientready, + &ett_generic_clientready_item, + &ett_generic_serverready, + &ett_generic_priv_flags, + }; /* Register the protocol name and description */ - proto_aim_generic = proto_register_protocol("AIM Generic Service", "AIM Generic", "aim_generic"); + proto_aim_generic = proto_register_protocol("AIM Generic Service", "AIM Generic", "aim_generic"); /* Required function calls to register the header fields and subtrees used */ - proto_register_field_array(proto_aim_generic, hf, array_length(hf)); - proto_register_subtree_array(ett, array_length(ett)); + proto_register_field_array(proto_aim_generic, hf, array_length(hf)); + proto_register_subtree_array(ett, array_length(ett)); } void proto_reg_handoff_aim_generic(void) { - aim_init_family(proto_aim_generic, ett_generic, FAMILY_GENERIC, aim_fnac_family_generic); + aim_init_family(proto_aim_generic, ett_generic, FAMILY_GENERIC, aim_fnac_family_generic); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 4 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * vi: set shiftwidth=4 tabstop=8 expandtab: + * :indentSize=4:tabSize=8:noTabs=true: + */ diff --git a/epan/dissectors/packet-aodv.c b/epan/dissectors/packet-aodv.c index bce1a12ccd..edfa4a5d6b 100644 --- a/epan/dissectors/packet-aodv.c +++ b/epan/dissectors/packet-aodv.c @@ -34,54 +34,54 @@ #include <epan/expert.h> #ifndef offsetof -#define offsetof(type, member) ((size_t)(&((type *)0)->member)) +#define offsetof(type, member) ((size_t)(&((type *)0)->member)) #endif /* * See * - * RFC 3561 (which indicates that, for IPv6, the only change is that - * the address fields are enlarged) + * RFC 3561 (which indicates that, for IPv6, the only change is that + * the address fields are enlarged) * - * http://www.cs.ucsb.edu/~ebelding/txt/aodv6.txt + * http://www.cs.ucsb.edu/~ebelding/txt/aodv6.txt * - * http://www.tcs.hut.fi/~anttit/manet/drafts/draft-perkins-aodv6-01.txt + * http://www.tcs.hut.fi/~anttit/manet/drafts/draft-perkins-aodv6-01.txt * - * (both of the above two are draft-perkins-manet-aodv6-01.txt, which - * is from November 2000) + * (both of the above two are draft-perkins-manet-aodv6-01.txt, which + * is from November 2000) */ void proto_register_aodv(void); void proto_reg_handoff_aodv(void); -#define INET6_ADDRLEN 16 -#define UDP_PORT_AODV 654 +#define INET6_ADDRLEN 16 +#define UDP_PORT_AODV 654 /* Message Types */ -#define RREQ 1 -#define RREP 2 -#define RERR 3 -#define RREP_ACK 4 -#define DRAFT_01_V6_RREQ 16 -#define DRAFT_01_V6_RREP 17 -#define DRAFT_01_V6_RERR 18 -#define DRAFT_01_V6_RREP_ACK 19 +#define RREQ 1 +#define RREP 2 +#define RERR 3 +#define RREP_ACK 4 +#define DRAFT_01_V6_RREQ 16 +#define DRAFT_01_V6_RREP 17 +#define DRAFT_01_V6_RERR 18 +#define DRAFT_01_V6_RREP_ACK 19 /* Extension Types */ -#define AODV_EXT 1 -#define AODV_EXT_INT 2 -#define AODV_EXT_NTP 3 +#define AODV_EXT 1 +#define AODV_EXT_INT 2 +#define AODV_EXT_NTP 3 /* Flag bits: */ -#define RREQ_UNKNSEQ 0x08 -#define RREQ_DESTONLY 0x10 -#define RREQ_GRATRREP 0x20 -#define RREQ_REP 0x40 -#define RREQ_JOIN 0x80 +#define RREQ_UNKNSEQ 0x08 +#define RREQ_DESTONLY 0x10 +#define RREQ_GRATRREP 0x20 +#define RREQ_REP 0x40 +#define RREQ_JOIN 0x80 -#define RREP_ACK_REQ 0x40 -#define RREP_REP 0x80 +#define RREP_ACK_REQ 0x40 +#define RREP_REP 0x80 -#define RERR_NODEL 0x80 +#define RERR_NODEL 0x80 static const value_string type_vals[] = { { RREQ, "Route Request" }, @@ -156,9 +156,9 @@ dissect_aodv_ext(tvbuff_t * tvb, packet_info *pinfo, int offset, proto_tree * tr proto_item *len_item; guint8 type, len; - again: +again: if ((int) tvb_reported_length(tvb) <= offset) - return; /* No more options left */ + return; /* No more options left */ type = tvb_get_guint8(tvb, offset); len = tvb_get_guint8(tvb, offset + 1); @@ -168,10 +168,10 @@ dissect_aodv_ext(tvbuff_t * tvb, packet_info *pinfo, int offset, proto_tree * tr proto_tree_add_item(ext_tree, hf_aodv_ext_type, tvb, offset, 1, ENC_NA); len_item = proto_tree_add_uint_format_value(ext_tree, hf_aodv_ext_length, tvb, offset + 1, 1, - len, "%u bytes", len); + len, "%u bytes", len); if (len == 0) { expert_add_info(pinfo, len_item, &ei_aodv_ext_length); - return; /* we must not try to decode this */ + return; /* we must not try to decode this */ } offset += 2; @@ -180,7 +180,7 @@ dissect_aodv_ext(tvbuff_t * tvb, packet_info *pinfo, int offset, proto_tree * tr case AODV_EXT_INT: proto_tree_add_uint(ext_tree, hf_aodv_ext_interval, tvb, offset, 4, tvb_get_ntohl(tvb, offset)); - break; + break; case AODV_EXT_NTP: proto_tree_add_item(ext_tree, hf_aodv_ext_timestamp, tvb, offset, 8, ENC_BIG_ENDIAN); @@ -197,7 +197,7 @@ dissect_aodv_ext(tvbuff_t * tvb, packet_info *pinfo, int offset, proto_tree * tr static void dissect_aodv_rreq(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aodv_tree, - proto_item *ti, gboolean is_ipv6) + proto_item *ti, gboolean is_ipv6) { int offset = 1; proto_item *tj; @@ -215,40 +215,40 @@ dissect_aodv_rreq(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aodv_tree, flags = tvb_get_guint8(tvb, offset); if (aodv_tree) { - aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_join, - tvb, offset, 1, flags); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_repair, - tvb, offset, 1, flags); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_gratuitous, - tvb, offset, 1, flags); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_destinationonly, - tvb, offset, 1, flags); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_unknown, - tvb, offset, 1, flags); - if (flags & RREQ_JOIN) - proto_item_append_text(tj, " J"); - if (flags & RREQ_REP) - proto_item_append_text(tj, " R"); - if (flags & RREQ_GRATRREP) - proto_item_append_text(tj, " G"); - if (flags & RREQ_DESTONLY) - proto_item_append_text(tj, " D"); - if (flags & RREQ_UNKNSEQ) - proto_item_append_text(tj, " U"); + aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_join, + tvb, offset, 1, flags); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_repair, + tvb, offset, 1, flags); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_gratuitous, + tvb, offset, 1, flags); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_destinationonly, + tvb, offset, 1, flags); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_unknown, + tvb, offset, 1, flags); + if (flags & RREQ_JOIN) + proto_item_append_text(tj, " J"); + if (flags & RREQ_REP) + proto_item_append_text(tj, " R"); + if (flags & RREQ_GRATRREP) + proto_item_append_text(tj, " G"); + if (flags & RREQ_DESTONLY) + proto_item_append_text(tj, " D"); + if (flags & RREQ_UNKNSEQ) + proto_item_append_text(tj, " U"); } - offset += 2; /* skip reserved byte */ + offset += 2; /* skip reserved byte */ hop_count = tvb_get_guint8(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_hopcount, tvb, offset, 1, - hop_count); + proto_tree_add_uint(aodv_tree, hf_aodv_hopcount, tvb, offset, 1, + hop_count); offset += 1; rreq_id = tvb_get_ntohl(tvb, offset); if (aodv_tree) proto_tree_add_uint(aodv_tree, hf_aodv_rreq_id, tvb, offset, 4, - rreq_id); + rreq_id); offset += 4; if (is_ipv6) { @@ -278,37 +278,37 @@ dissect_aodv_rreq(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aodv_tree, dest_seqno = tvb_get_ntohl(tvb, offset); if (aodv_tree) proto_tree_add_uint(aodv_tree, hf_aodv_dest_seqno, tvb, offset, 4, - dest_seqno); + dest_seqno); offset += 4; if (is_ipv6) { - tvb_get_ipv6(tvb, offset, &orig_addr_v6); - if (aodv_tree) { - proto_tree_add_ipv6(aodv_tree, hf_aodv_orig_ipv6, tvb, offset, - INET6_ADDRLEN, (guint8 *)&orig_addr_v6); - proto_item_append_text(ti, ", Orig IP: %s", - ip6_to_str(&orig_addr_v6)); - } + tvb_get_ipv6(tvb, offset, &orig_addr_v6); + if (aodv_tree) { + proto_tree_add_ipv6(aodv_tree, hf_aodv_orig_ipv6, tvb, offset, + INET6_ADDRLEN, (guint8 *)&orig_addr_v6); + proto_item_append_text(ti, ", Orig IP: %s", + ip6_to_str(&orig_addr_v6)); + } col_append_fstr(pinfo->cinfo, COL_INFO, ", O: %s", - ip6_to_str(&orig_addr_v6)); - offset += INET6_ADDRLEN; + ip6_to_str(&orig_addr_v6)); + offset += INET6_ADDRLEN; } else { - orig_addr_v4 = tvb_get_ipv4(tvb, offset); - if (aodv_tree) { - proto_tree_add_ipv4(aodv_tree, hf_aodv_orig_ip, tvb, offset, 4, - orig_addr_v4); - proto_item_append_text(ti, ", Orig IP: %s", - ip_to_str((guint8 *)&orig_addr_v4)); - } + orig_addr_v4 = tvb_get_ipv4(tvb, offset); + if (aodv_tree) { + proto_tree_add_ipv4(aodv_tree, hf_aodv_orig_ip, tvb, offset, 4, + orig_addr_v4); + proto_item_append_text(ti, ", Orig IP: %s", + ip_to_str((guint8 *)&orig_addr_v4)); + } col_append_fstr(pinfo->cinfo, COL_INFO, ", O: %s", - ip_to_str((guint8 *)&orig_addr_v4)); - offset += 4; + ip_to_str((guint8 *)&orig_addr_v4)); + offset += 4; } orig_seqno = tvb_get_ntohl(tvb, offset); if (aodv_tree) proto_tree_add_uint(aodv_tree, hf_aodv_orig_seqno, tvb, offset, 4, - orig_seqno); + orig_seqno); col_append_fstr(pinfo->cinfo, COL_INFO, " Id=%u Hcnt=%u DSN=%u OSN=%u", rreq_id, hop_count, @@ -318,14 +318,14 @@ dissect_aodv_rreq(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aodv_tree, if (aodv_tree) { extlen = tvb_reported_length_remaining(tvb, offset); - if (extlen > 0) - dissect_aodv_ext(tvb, pinfo, offset, aodv_tree); + if (extlen > 0) + dissect_aodv_ext(tvb, pinfo, offset, aodv_tree); } } static void dissect_aodv_rrep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aodv_tree, - proto_item *ti, gboolean is_ipv6) + proto_item *ti, gboolean is_ipv6) { int offset = 1; proto_item *tj; @@ -343,28 +343,28 @@ dissect_aodv_rrep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aodv_tree, flags = tvb_get_guint8(tvb, offset); if (aodv_tree) { - aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rrep_repair, - tvb, offset, 1, flags); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rrep_ack, tvb, - offset, 1, flags); - if (flags & RREP_REP) - proto_item_append_text(tj, " R"); - if (flags & RREP_ACK_REQ) - proto_item_append_text(tj, " A"); + aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rrep_repair, + tvb, offset, 1, flags); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rrep_ack, tvb, + offset, 1, flags); + if (flags & RREP_REP) + proto_item_append_text(tj, " R"); + if (flags & RREP_ACK_REQ) + proto_item_append_text(tj, " A"); } offset += 1; prefix_sz = tvb_get_guint8(tvb, offset) & 0x1F; if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_prefix_sz, tvb, offset, 1, - prefix_sz); + proto_tree_add_uint(aodv_tree, hf_aodv_prefix_sz, tvb, offset, 1, + prefix_sz); offset += 1; hop_count = tvb_get_guint8(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_hopcount, tvb, offset, 1, - hop_count); + proto_tree_add_uint(aodv_tree, hf_aodv_hopcount, tvb, offset, 1, + hop_count); offset += 1; if (is_ipv6) { @@ -436,15 +436,15 @@ dissect_aodv_rrep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aodv_tree, offset += 4; if (aodv_tree) { - extlen = tvb_reported_length_remaining(tvb, offset); - if (extlen > 0) - dissect_aodv_ext(tvb, pinfo, offset, aodv_tree); + extlen = tvb_reported_length_remaining(tvb, offset); + if (extlen > 0) + dissect_aodv_ext(tvb, pinfo, offset, aodv_tree); } } static void dissect_aodv_rerr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aodv_tree, - gboolean is_ipv6) + gboolean is_ipv6) { int offset = 1; proto_item *tj; @@ -456,52 +456,52 @@ dissect_aodv_rerr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aodv_tree, flags = tvb_get_guint8(tvb, offset); if (aodv_tree) { - aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rerr_nodelete, - tvb, offset, 1, flags); - if (flags & RERR_NODEL) - proto_item_append_text(tj, " N"); + aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rerr_nodelete, + tvb, offset, 1, flags); + if (flags & RERR_NODEL) + proto_item_append_text(tj, " N"); } - offset += 2; /* skip reserved byte */ + offset += 2; /* skip reserved byte */ dest_count = tvb_get_guint8(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_destcount, tvb, offset, 1, - dest_count); - col_append_fstr(pinfo->cinfo, COL_INFO, ", Dest Count=%u", - dest_count); + proto_tree_add_uint(aodv_tree, hf_aodv_destcount, tvb, offset, 1, + dest_count); + col_append_fstr(pinfo->cinfo, COL_INFO, ", Dest Count=%u", + dest_count); offset += 1; if (is_ipv6) { - aodv_unreach_dest_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, - (INET6_ADDRLEN + 4)*dest_count, ett_aodv_unreach_dest, NULL, - "Unreachable Destinations"); - for (i = 0; i < dest_count; i++) { - proto_tree_add_item(aodv_unreach_dest_tree, - hf_aodv_unreach_dest_ipv6, - tvb, offset, INET6_ADDRLEN, ENC_NA); - offset += INET6_ADDRLEN; - proto_tree_add_item(aodv_unreach_dest_tree, hf_aodv_dest_seqno, - tvb, offset, 4, ENC_BIG_ENDIAN); - offset += 4; - } + aodv_unreach_dest_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, + (INET6_ADDRLEN + 4)*dest_count, ett_aodv_unreach_dest, NULL, + "Unreachable Destinations"); + for (i = 0; i < dest_count; i++) { + proto_tree_add_item(aodv_unreach_dest_tree, + hf_aodv_unreach_dest_ipv6, + tvb, offset, INET6_ADDRLEN, ENC_NA); + offset += INET6_ADDRLEN; + proto_tree_add_item(aodv_unreach_dest_tree, hf_aodv_dest_seqno, + tvb, offset, 4, ENC_BIG_ENDIAN); + offset += 4; + } } else { - aodv_unreach_dest_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, (4 + 4)*dest_count, - ett_aodv_unreach_dest, NULL, "Unreachable Destinations"); - for (i = 0; i < dest_count; i++) { - proto_tree_add_item(aodv_unreach_dest_tree, hf_aodv_unreach_dest_ip, - tvb, offset, 4, ENC_BIG_ENDIAN); - offset += 4; - proto_tree_add_item(aodv_unreach_dest_tree, hf_aodv_dest_seqno, - tvb, offset, 4, ENC_BIG_ENDIAN); - offset += 4; - } + aodv_unreach_dest_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, (4 + 4)*dest_count, + ett_aodv_unreach_dest, NULL, "Unreachable Destinations"); + for (i = 0; i < dest_count; i++) { + proto_tree_add_item(aodv_unreach_dest_tree, hf_aodv_unreach_dest_ip, + tvb, offset, 4, ENC_BIG_ENDIAN); + offset += 4; + proto_tree_add_item(aodv_unreach_dest_tree, hf_aodv_dest_seqno, + tvb, offset, 4, ENC_BIG_ENDIAN); + offset += 4; + } } } static void dissect_aodv_draft_01_v6_rreq(tvbuff_t *tvb, packet_info *pinfo, - proto_tree *aodv_tree, proto_item *ti) + proto_tree *aodv_tree, proto_item *ti) { int offset = 1; proto_item *tj; @@ -517,93 +517,93 @@ dissect_aodv_draft_01_v6_rreq(tvbuff_t *tvb, packet_info *pinfo, flags = tvb_get_guint8(tvb, offset); if (aodv_tree) { - aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_join, - tvb, offset, 1, flags); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_repair, - tvb, offset, 1, flags); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_gratuitous, - tvb, offset, 1, flags); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_destinationonly, - tvb, offset, 1, flags); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_unknown, - tvb, offset, 1, flags); - if (flags & RREQ_JOIN) - proto_item_append_text(tj, " J"); - if (flags & RREQ_REP) - proto_item_append_text(tj, " R"); - if (flags & RREQ_GRATRREP) - proto_item_append_text(tj, " G"); - if (flags & RREQ_DESTONLY) - proto_item_append_text(tj, " D"); - if (flags & RREQ_UNKNSEQ) - proto_item_append_text(tj, " U"); + aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_join, + tvb, offset, 1, flags); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_repair, + tvb, offset, 1, flags); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_gratuitous, + tvb, offset, 1, flags); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_destinationonly, + tvb, offset, 1, flags); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_unknown, + tvb, offset, 1, flags); + if (flags & RREQ_JOIN) + proto_item_append_text(tj, " J"); + if (flags & RREQ_REP) + proto_item_append_text(tj, " R"); + if (flags & RREQ_GRATRREP) + proto_item_append_text(tj, " G"); + if (flags & RREQ_DESTONLY) + proto_item_append_text(tj, " D"); + if (flags & RREQ_UNKNSEQ) + proto_item_append_text(tj, " U"); } - offset += 2; /* skip reserved byte */ + offset += 2; /* skip reserved byte */ hop_count = tvb_get_guint8(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_hopcount, tvb, offset, 1, - hop_count); + proto_tree_add_uint(aodv_tree, hf_aodv_hopcount, tvb, offset, 1, + hop_count); offset += 1; rreq_id = tvb_get_ntohl(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_rreq_id, tvb, offset, 4, - rreq_id); + proto_tree_add_uint(aodv_tree, hf_aodv_rreq_id, tvb, offset, 4, + rreq_id); offset += 4; dest_seqno = tvb_get_ntohl(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_dest_seqno, tvb, offset, 4, - dest_seqno); + proto_tree_add_uint(aodv_tree, hf_aodv_dest_seqno, tvb, offset, 4, + dest_seqno); offset += 4; orig_seqno = tvb_get_ntohl(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_orig_seqno, tvb, offset, 4, - orig_seqno); + proto_tree_add_uint(aodv_tree, hf_aodv_orig_seqno, tvb, offset, 4, + orig_seqno); offset += 4; tvb_get_ipv6(tvb, offset, &dest_addr_v6); if (aodv_tree) { - proto_tree_add_ipv6(aodv_tree, hf_aodv_dest_ipv6, tvb, offset, - INET6_ADDRLEN, (guint8 *)&dest_addr_v6); - proto_item_append_text(ti, ", Dest IP: %s", - ip6_to_str(&dest_addr_v6)); + proto_tree_add_ipv6(aodv_tree, hf_aodv_dest_ipv6, tvb, offset, + INET6_ADDRLEN, (guint8 *)&dest_addr_v6); + proto_item_append_text(ti, ", Dest IP: %s", + ip6_to_str(&dest_addr_v6)); } - col_append_fstr(pinfo->cinfo, COL_INFO, ", D: %s", - ip6_to_str(&dest_addr_v6)); + col_append_fstr(pinfo->cinfo, COL_INFO, ", D: %s", + ip6_to_str(&dest_addr_v6)); offset += INET6_ADDRLEN; tvb_get_ipv6(tvb, offset, &orig_addr_v6); if (aodv_tree) { - proto_tree_add_ipv6(aodv_tree, hf_aodv_orig_ipv6, tvb, offset, - INET6_ADDRLEN, (guint8 *)&orig_addr_v6); - proto_item_append_text(ti, ", Orig IP: %s", - ip6_to_str(&orig_addr_v6)); + proto_tree_add_ipv6(aodv_tree, hf_aodv_orig_ipv6, tvb, offset, + INET6_ADDRLEN, (guint8 *)&orig_addr_v6); + proto_item_append_text(ti, ", Orig IP: %s", + ip6_to_str(&orig_addr_v6)); } - col_append_fstr(pinfo->cinfo, COL_INFO, - ", O: %s Id=%u Hcnt=%u DSN=%u OSN=%u", - ip6_to_str(&orig_addr_v6), - rreq_id, - hop_count, - dest_seqno, - orig_seqno); + col_append_fstr(pinfo->cinfo, COL_INFO, + ", O: %s Id=%u Hcnt=%u DSN=%u OSN=%u", + ip6_to_str(&orig_addr_v6), + rreq_id, + hop_count, + dest_seqno, + orig_seqno); offset += INET6_ADDRLEN; if (aodv_tree) { - extlen = tvb_reported_length_remaining(tvb, offset); - if (extlen > 0) - dissect_aodv_ext(tvb, pinfo, offset, aodv_tree); + extlen = tvb_reported_length_remaining(tvb, offset); + if (extlen > 0) + dissect_aodv_ext(tvb, pinfo, offset, aodv_tree); } } static void dissect_aodv_draft_01_v6_rrep(tvbuff_t *tvb, packet_info *pinfo, - proto_tree *aodv_tree, proto_item *ti) + proto_tree *aodv_tree, proto_item *ti) { int offset = 1; proto_item *tj; @@ -619,83 +619,83 @@ dissect_aodv_draft_01_v6_rrep(tvbuff_t *tvb, packet_info *pinfo, flags = tvb_get_guint8(tvb, offset); if (aodv_tree) { - aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rrep_repair, - tvb, offset, 1, flags); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rrep_ack, tvb, - offset, 1, flags); - if (flags & RREP_REP) - proto_item_append_text(tj, " R"); - if (flags & RREP_ACK_REQ) - proto_item_append_text(tj, " A"); + aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rrep_repair, + tvb, offset, 1, flags); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rrep_ack, tvb, + offset, 1, flags); + if (flags & RREP_REP) + proto_item_append_text(tj, " R"); + if (flags & RREP_ACK_REQ) + proto_item_append_text(tj, " A"); } offset += 1; prefix_sz = tvb_get_guint8(tvb, offset) & 0x7F; if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_prefix_sz, tvb, offset, 1, - prefix_sz); + proto_tree_add_uint(aodv_tree, hf_aodv_prefix_sz, tvb, offset, 1, + prefix_sz); offset += 1; hop_count = tvb_get_guint8(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_hopcount, tvb, offset, 1, - hop_count); + proto_tree_add_uint(aodv_tree, hf_aodv_hopcount, tvb, offset, 1, + hop_count); offset += 1; dest_seqno = tvb_get_ntohl(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_dest_seqno, tvb, offset, 4, - dest_seqno); + proto_tree_add_uint(aodv_tree, hf_aodv_dest_seqno, tvb, offset, 4, + dest_seqno); offset += 4; tvb_get_ipv6(tvb, offset, &dest_addr_v6); if (aodv_tree) { - proto_tree_add_ipv6(aodv_tree, hf_aodv_dest_ipv6, tvb, offset, - INET6_ADDRLEN, (guint8 *)&dest_addr_v6); - proto_item_append_text(ti, ", Dest IP: %s", - ip6_to_str(&dest_addr_v6)); + proto_tree_add_ipv6(aodv_tree, hf_aodv_dest_ipv6, tvb, offset, + INET6_ADDRLEN, (guint8 *)&dest_addr_v6); + proto_item_append_text(ti, ", Dest IP: %s", + ip6_to_str(&dest_addr_v6)); } - col_append_fstr(pinfo->cinfo, COL_INFO, ", D: %s", - ip6_to_str(&dest_addr_v6)); + col_append_fstr(pinfo->cinfo, COL_INFO, ", D: %s", + ip6_to_str(&dest_addr_v6)); offset += INET6_ADDRLEN; tvb_get_ipv6(tvb, offset, &orig_addr_v6); if (aodv_tree) { - proto_tree_add_ipv6(aodv_tree, hf_aodv_orig_ipv6, tvb, offset, - INET6_ADDRLEN, (guint8 *)&orig_addr_v6); - proto_item_append_text(ti, ", Orig IP: %s", - ip6_to_str(&orig_addr_v6)); + proto_tree_add_ipv6(aodv_tree, hf_aodv_orig_ipv6, tvb, offset, + INET6_ADDRLEN, (guint8 *)&orig_addr_v6); + proto_item_append_text(ti, ", Orig IP: %s", + ip6_to_str(&orig_addr_v6)); } - col_append_fstr(pinfo->cinfo, COL_INFO, ", O: %s", - ip6_to_str(&orig_addr_v6)); + col_append_fstr(pinfo->cinfo, COL_INFO, ", O: %s", + ip6_to_str(&orig_addr_v6)); offset += INET6_ADDRLEN; lifetime = tvb_get_ntohl(tvb, offset); if (aodv_tree) { - proto_tree_add_uint(aodv_tree, hf_aodv_lifetime, tvb, offset, 4, - lifetime); - proto_item_append_text(ti, ", Lifetime=%u", lifetime); + proto_tree_add_uint(aodv_tree, hf_aodv_lifetime, tvb, offset, 4, + lifetime); + proto_item_append_text(ti, ", Lifetime=%u", lifetime); } - col_append_fstr(pinfo->cinfo, COL_INFO, " Hcnt=%u DSN=%u Lifetime=%u", - hop_count, - dest_seqno, - lifetime); + col_append_fstr(pinfo->cinfo, COL_INFO, " Hcnt=%u DSN=%u Lifetime=%u", + hop_count, + dest_seqno, + lifetime); offset += 4; if (aodv_tree) { - extlen = tvb_reported_length_remaining(tvb, offset); - if (extlen > 0) - dissect_aodv_ext(tvb, pinfo, offset, aodv_tree); + extlen = tvb_reported_length_remaining(tvb, offset); + if (extlen > 0) + dissect_aodv_ext(tvb, pinfo, offset, aodv_tree); } } static void dissect_aodv_draft_01_v6_rerr(tvbuff_t *tvb, packet_info *pinfo, - proto_tree *aodv_tree) + proto_tree *aodv_tree) { int offset = 1; proto_item *tj; @@ -707,35 +707,35 @@ dissect_aodv_draft_01_v6_rerr(tvbuff_t *tvb, packet_info *pinfo, flags = tvb_get_guint8(tvb, offset); if (aodv_tree) { - aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rerr_nodelete, - tvb, offset, 1, flags); - if (flags & RERR_NODEL) - proto_item_append_text(tj, " N"); + aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rerr_nodelete, + tvb, offset, 1, flags); + if (flags & RERR_NODEL) + proto_item_append_text(tj, " N"); } - offset += 2; /* skip reserved byte */ + offset += 2; /* skip reserved byte */ dest_count = tvb_get_guint8(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_destcount, tvb, offset, 1, - dest_count); + proto_tree_add_uint(aodv_tree, hf_aodv_destcount, tvb, offset, 1, + dest_count); - col_append_fstr(pinfo->cinfo, COL_INFO, ", Dest Count=%u", - dest_count); + col_append_fstr(pinfo->cinfo, COL_INFO, ", Dest Count=%u", + dest_count); offset += 1; aodv_unreach_dest_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, - (4 + INET6_ADDRLEN)*dest_count, - ett_aodv_unreach_dest, NULL, - "Unreachable Destinations"); + (4 + INET6_ADDRLEN)*dest_count, + ett_aodv_unreach_dest, NULL, + "Unreachable Destinations"); for (i = 0; i < dest_count; i++) { - proto_tree_add_item(aodv_unreach_dest_tree, hf_aodv_dest_seqno, - tvb, offset, 4, ENC_BIG_ENDIAN); - offset += 4; - proto_tree_add_item(aodv_unreach_dest_tree, - hf_aodv_unreach_dest_ipv6, - tvb, offset, INET6_ADDRLEN, ENC_NA); - offset += INET6_ADDRLEN; + proto_tree_add_item(aodv_unreach_dest_tree, hf_aodv_dest_seqno, + tvb, offset, 4, ENC_BIG_ENDIAN); + offset += 4; + proto_tree_add_item(aodv_unreach_dest_tree, + hf_aodv_unreach_dest_ipv6, + tvb, offset, INET6_ADDRLEN, ENC_NA); + offset += INET6_ADDRLEN; } } @@ -758,48 +758,48 @@ dissect_aodv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_ /* Check the type of AODV packet. */ type = tvb_get_guint8(tvb, 0); if (try_val_to_str(type, type_vals) == NULL) { - /* - * We assume this is not an AODV packet. - */ - return 0; + /* + * We assume this is not an AODV packet. + */ + return 0; } col_add_str(pinfo->cinfo, COL_INFO, val_to_str(type, type_vals, "Unknown AODV Packet Type (%u)")); - ti = proto_tree_add_protocol_format(tree, proto_aodv, tvb, 0, -1, - "Ad hoc On-demand Distance Vector Routing Protocol, %s", - val_to_str(type, type_vals, "Unknown AODV Packet Type (%u)")); - aodv_tree = proto_item_add_subtree(ti, ett_aodv); + ti = proto_tree_add_protocol_format(tree, proto_aodv, tvb, 0, -1, + "Ad hoc On-demand Distance Vector Routing Protocol, %s", + val_to_str(type, type_vals, "Unknown AODV Packet Type (%u)")); + aodv_tree = proto_item_add_subtree(ti, ett_aodv); - type_item = proto_tree_add_uint(aodv_tree, hf_aodv_type, tvb, 0, 1, type); + type_item = proto_tree_add_uint(aodv_tree, hf_aodv_type, tvb, 0, 1, type); switch (type) { case RREQ: - dissect_aodv_rreq(tvb, pinfo, aodv_tree, ti, is_ipv6); - break; + dissect_aodv_rreq(tvb, pinfo, aodv_tree, ti, is_ipv6); + break; case RREP: - dissect_aodv_rrep(tvb, pinfo, aodv_tree, ti, is_ipv6); - break; + dissect_aodv_rrep(tvb, pinfo, aodv_tree, ti, is_ipv6); + break; case RERR: - dissect_aodv_rerr(tvb, pinfo, aodv_tree, is_ipv6); - break; + dissect_aodv_rerr(tvb, pinfo, aodv_tree, is_ipv6); + break; case RREP_ACK: - break; + break; case DRAFT_01_V6_RREQ: - dissect_aodv_draft_01_v6_rreq(tvb, pinfo, aodv_tree, ti); - break; + dissect_aodv_draft_01_v6_rreq(tvb, pinfo, aodv_tree, ti); + break; case DRAFT_01_V6_RREP: - dissect_aodv_draft_01_v6_rrep(tvb, pinfo, aodv_tree, ti); - break; + dissect_aodv_draft_01_v6_rrep(tvb, pinfo, aodv_tree, ti); + break; case DRAFT_01_V6_RERR: - dissect_aodv_draft_01_v6_rerr(tvb, pinfo, aodv_tree); - break; + dissect_aodv_draft_01_v6_rerr(tvb, pinfo, aodv_tree); + break; case DRAFT_01_V6_RREP_ACK: - break; + break; default: - expert_add_info(pinfo, type_item, &ei_aodv_type); + expert_add_info(pinfo, type_item, &ei_aodv_type); } return tvb_length(tvb); @@ -811,158 +811,158 @@ void proto_register_aodv(void) { static hf_register_info hf[] = { - { &hf_aodv_type, - { "Type", "aodv.type", - FT_UINT8, BASE_DEC, VALS(type_vals), 0x0, - "AODV packet type", HFILL } - }, + { &hf_aodv_type, + { "Type", "aodv.type", + FT_UINT8, BASE_DEC, VALS(type_vals), 0x0, + "AODV packet type", HFILL } + }, #if 0 - { &hf_aodv_flags, - { "Flags", "aodv.flags", - FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, + { &hf_aodv_flags, + { "Flags", "aodv.flags", + FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, #endif - { &hf_aodv_flags_rreq_join, - { "RREQ Join", "aodv.flags.rreq_join", - FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_JOIN, - NULL, HFILL } - }, - { &hf_aodv_flags_rreq_repair, - { "RREQ Repair", "aodv.flags.rreq_repair", - FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_REP, - NULL, HFILL } - }, - { &hf_aodv_flags_rreq_gratuitous, - { "RREQ Gratuitous RREP", "aodv.flags.rreq_gratuitous", - FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_GRATRREP, - NULL, HFILL } - }, - { &hf_aodv_flags_rreq_destinationonly, - { "RREQ Destination only", "aodv.flags.rreq_destinationonly", - FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_DESTONLY, - NULL, HFILL } - }, - { &hf_aodv_flags_rreq_unknown, - { "RREQ Unknown Sequence Number", "aodv.flags.rreq_unknown", - FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_UNKNSEQ, - NULL, HFILL } - }, - { &hf_aodv_flags_rrep_repair, - { "RREP Repair", "aodv.flags.rrep_repair", - FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREP_REP, - NULL, HFILL } - }, - { &hf_aodv_flags_rrep_ack, - { "RREP Acknowledgement", "aodv.flags.rrep_ack", - FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREP_ACK_REQ, - NULL, HFILL } - }, - { &hf_aodv_flags_rerr_nodelete, - { "RERR No Delete", "aodv.flags.rerr_nodelete", - FT_BOOLEAN, 8, TFS(&tfs_set_notset), RERR_NODEL, - NULL, HFILL } - }, - { &hf_aodv_prefix_sz, - { "Prefix Size", "aodv.prefix_sz", - FT_UINT8, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_aodv_hopcount, - { "Hop Count", "aodv.hopcount", - FT_UINT8, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_aodv_rreq_id, - { "RREQ Id", "aodv.rreq_id", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_aodv_dest_ip, - { "Destination IP", "aodv.dest_ip", - FT_IPv4, BASE_NONE, NULL, 0x0, - "Destination IP Address", HFILL } - }, - { &hf_aodv_dest_ipv6, - { "Destination IPv6", "aodv.dest_ipv6", - FT_IPv6, BASE_NONE, NULL, 0x0, - "Destination IPv6 Address", HFILL} - }, - { &hf_aodv_dest_seqno, - { "Destination Sequence Number", "aodv.dest_seqno", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_aodv_orig_ip, - { "Originator IP", "aodv.orig_ip", - FT_IPv4, BASE_NONE, NULL, 0x0, - "Originator IP Address", HFILL } - }, - { &hf_aodv_orig_ipv6, - { "Originator IPv6", "aodv.orig_ipv6", - FT_IPv6, BASE_NONE, NULL, 0x0, - "Originator IPv6 Address", HFILL} - }, - { &hf_aodv_orig_seqno, - { "Originator Sequence Number", "aodv.orig_seqno", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_aodv_lifetime, - { "Lifetime", "aodv.lifetime", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_aodv_destcount, - { "Destination Count", "aodv.destcount", - FT_UINT8, BASE_DEC, NULL, 0x0, - "Unreachable Destinations Count", HFILL } - }, - { &hf_aodv_unreach_dest_ip, - { "Unreachable Destination IP", "aodv.unreach_dest_ip", - FT_IPv4, BASE_NONE, NULL, 0x0, - "Unreachable Destination IP Address", HFILL } - }, - { &hf_aodv_unreach_dest_ipv6, - { "Unreachable Destination IPv6", "aodv.unreach_dest_ipv6", - FT_IPv6, BASE_NONE, NULL, 0x0, - "Unreachable Destination IPv6 Address", HFILL} - }, + { &hf_aodv_flags_rreq_join, + { "RREQ Join", "aodv.flags.rreq_join", + FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_JOIN, + NULL, HFILL } + }, + { &hf_aodv_flags_rreq_repair, + { "RREQ Repair", "aodv.flags.rreq_repair", + FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_REP, + NULL, HFILL } + }, + { &hf_aodv_flags_rreq_gratuitous, + { "RREQ Gratuitous RREP", "aodv.flags.rreq_gratuitous", + FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_GRATRREP, + NULL, HFILL } + }, + { &hf_aodv_flags_rreq_destinationonly, + { "RREQ Destination only", "aodv.flags.rreq_destinationonly", + FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_DESTONLY, + NULL, HFILL } + }, + { &hf_aodv_flags_rreq_unknown, + { "RREQ Unknown Sequence Number", "aodv.flags.rreq_unknown", + FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_UNKNSEQ, + NULL, HFILL } + }, + { &hf_aodv_flags_rrep_repair, + { "RREP Repair", "aodv.flags.rrep_repair", + FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREP_REP, + NULL, HFILL } + }, + { &hf_aodv_flags_rrep_ack, + { "RREP Acknowledgement", "aodv.flags.rrep_ack", + FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREP_ACK_REQ, + NULL, HFILL } + }, + { &hf_aodv_flags_rerr_nodelete, + { "RERR No Delete", "aodv.flags.rerr_nodelete", + FT_BOOLEAN, 8, TFS(&tfs_set_notset), RERR_NODEL, + NULL, HFILL } + }, + { &hf_aodv_prefix_sz, + { "Prefix Size", "aodv.prefix_sz", + FT_UINT8, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_aodv_hopcount, + { "Hop Count", "aodv.hopcount", + FT_UINT8, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_aodv_rreq_id, + { "RREQ Id", "aodv.rreq_id", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_aodv_dest_ip, + { "Destination IP", "aodv.dest_ip", + FT_IPv4, BASE_NONE, NULL, 0x0, + "Destination IP Address", HFILL } + }, + { &hf_aodv_dest_ipv6, + { "Destination IPv6", "aodv.dest_ipv6", + FT_IPv6, BASE_NONE, NULL, 0x0, + "Destination IPv6 Address", HFILL} + }, + { &hf_aodv_dest_seqno, + { "Destination Sequence Number", "aodv.dest_seqno", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_aodv_orig_ip, + { "Originator IP", "aodv.orig_ip", + FT_IPv4, BASE_NONE, NULL, 0x0, + "Originator IP Address", HFILL } + }, + { &hf_aodv_orig_ipv6, + { "Originator IPv6", "aodv.orig_ipv6", + FT_IPv6, BASE_NONE, NULL, 0x0, + "Originator IPv6 Address", HFILL} + }, + { &hf_aodv_orig_seqno, + { "Originator Sequence Number", "aodv.orig_seqno", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_aodv_lifetime, + { "Lifetime", "aodv.lifetime", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_aodv_destcount, + { "Destination Count", "aodv.destcount", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Unreachable Destinations Count", HFILL } + }, + { &hf_aodv_unreach_dest_ip, + { "Unreachable Destination IP", "aodv.unreach_dest_ip", + FT_IPv4, BASE_NONE, NULL, 0x0, + "Unreachable Destination IP Address", HFILL } + }, + { &hf_aodv_unreach_dest_ipv6, + { "Unreachable Destination IPv6", "aodv.unreach_dest_ipv6", + FT_IPv6, BASE_NONE, NULL, 0x0, + "Unreachable Destination IPv6 Address", HFILL} + }, #if 0 - { &hf_aodv_unreach_dest_seqno, - { "Unreachable Destination Sequence Number", "aodv.unreach_dest_seqno", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, + { &hf_aodv_unreach_dest_seqno, + { "Unreachable Destination Sequence Number", "aodv.unreach_dest_seqno", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, #endif - { &hf_aodv_ext_type, - { "Extension Type", "aodv.ext_type", - FT_UINT8, BASE_DEC, VALS(exttype_vals), 0x0, - "Extension Format Type", HFILL} - }, - { &hf_aodv_ext_length, - { "Extension Length", "aodv.ext_length", - FT_UINT8, BASE_DEC, NULL, 0x0, - "Extension Data Length", HFILL} - }, - { &hf_aodv_ext_interval, - { "Hello Interval", "aodv.hello_interval", - FT_UINT32, BASE_DEC, NULL, 0x0, - "Hello Interval Extension", HFILL} - }, - { &hf_aodv_ext_timestamp, - { "Timestamp", "aodv.timestamp", - FT_UINT64, BASE_DEC, NULL, 0x0, - "Timestamp Extension", HFILL} - }, + { &hf_aodv_ext_type, + { "Extension Type", "aodv.ext_type", + FT_UINT8, BASE_DEC, VALS(exttype_vals), 0x0, + "Extension Format Type", HFILL} + }, + { &hf_aodv_ext_length, + { "Extension Length", "aodv.ext_length", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Extension Data Length", HFILL} + }, + { &hf_aodv_ext_interval, + { "Hello Interval", "aodv.hello_interval", + FT_UINT32, BASE_DEC, NULL, 0x0, + "Hello Interval Extension", HFILL} + }, + { &hf_aodv_ext_timestamp, + { "Timestamp", "aodv.timestamp", + FT_UINT64, BASE_DEC, NULL, 0x0, + "Timestamp Extension", HFILL} + }, }; /* Setup protocol subtree array */ static gint *ett[] = { - &ett_aodv, - &ett_aodv_flags, - &ett_aodv_unreach_dest, - &ett_aodv_extensions, + &ett_aodv, + &ett_aodv_flags, + &ett_aodv_unreach_dest, + &ett_aodv_extensions, }; static ei_register_info ei[] = { @@ -989,6 +989,19 @@ proto_reg_handoff_aodv(void) dissector_handle_t aodv_handle; aodv_handle = new_create_dissector_handle(dissect_aodv, - proto_aodv); + proto_aodv); dissector_add_uint("udp.port", UDP_PORT_AODV, aodv_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 4 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * vi: set shiftwidth=4 tabstop=8 expandtab: + * :indentSize=4:tabSize=8:noTabs=true: + */ diff --git a/epan/dissectors/packet-applemidi.c b/epan/dissectors/packet-applemidi.c index 21443e4767..f90336d6ad 100644 --- a/epan/dissectors/packet-applemidi.c +++ b/epan/dissectors/packet-applemidi.c @@ -299,7 +299,7 @@ dissect_applemidi_heur( tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi rtp_dyn_payload = rtp_dyn_payload_new(); rtp_dyn_payload_insert(rtp_dyn_payload, 97, "rtp-midi", 10000); - rtp_add_address( pinfo, &pinfo->src, pinfo->srcport, 0, APPLEMIDI_DISSECTOR_SHORTNAME, + rtp_add_address( pinfo, &pinfo->src, pinfo->srcport, 0, APPLEMIDI_DISSECTOR_SHORTNAME, pinfo->fd->num, FALSE, rtp_dyn_payload); /* call dissect_applemidi() from now on for UDP packets on this "connection" @@ -532,3 +532,16 @@ proto_reg_handoff_applemidi( void ) { heur_dissector_add( "udp", dissect_applemidi_heur, proto_applemidi ); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-bacnet.c b/epan/dissectors/packet-bacnet.c index 34824f507b..3482f9d2da 100644 --- a/epan/dissectors/packet-bacnet.c +++ b/epan/dissectors/packet-bacnet.c @@ -648,3 +648,16 @@ proto_reg_handoff_bacnet(void) bacapp_handle = find_dissector("bacapp"); data_handle = find_dissector("data"); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-bat.c b/epan/dissectors/packet-bat.c index 8ae2c08095..f5dcfa9b04 100644 --- a/epan/dissectors/packet-bat.c +++ b/epan/dissectors/packet-bat.c @@ -59,15 +59,15 @@ struct gw_packet { }; #define GW_PACKET_SIZE 1 -#define TUNNEL_DATA 0x01 -#define TUNNEL_IP_REQUEST 0x02 -#define TUNNEL_IP_INVALID 0x03 +#define TUNNEL_DATA 0x01 +#define TUNNEL_IP_REQUEST 0x02 +#define TUNNEL_IP_INVALID 0x03 #define TUNNEL_KEEPALIVE_REQUEST 0x04 -#define TUNNEL_KEEPALIVE_REPLY 0x05 +#define TUNNEL_KEEPALIVE_REPLY 0x05 -#define DATA_TYPE_NEIGH 1 +#define DATA_TYPE_NEIGH 1 #define DATA_TYPE_SEC_IF 2 -#define DATA_TYPE_HNA 3 +#define DATA_TYPE_HNA 3 struct vis_packet_v22 { address sender_ip; @@ -144,18 +144,18 @@ static int hf_bat_batman_flags_unidirectional = -1; static int hf_bat_batman_flags_directlink = -1; static const value_string gw_packettypenames[] = { - { TUNNEL_DATA, "DATA" }, - { TUNNEL_IP_REQUEST, "IP_REQUEST" }, - { TUNNEL_IP_INVALID, "IP_INVALID" }, + { TUNNEL_DATA, "DATA" }, + { TUNNEL_IP_REQUEST, "IP_REQUEST" }, + { TUNNEL_IP_INVALID, "IP_INVALID" }, { TUNNEL_KEEPALIVE_REQUEST, "KEEPALIVE_REQUEST" }, - { TUNNEL_KEEPALIVE_REPLY, "KEEPALIVE_REPLY" }, + { TUNNEL_KEEPALIVE_REPLY, "KEEPALIVE_REPLY" }, { 0, NULL } }; static const value_string vis_packettypenames[] = { - { DATA_TYPE_NEIGH, "NEIGH" }, + { DATA_TYPE_NEIGH, "NEIGH" }, { DATA_TYPE_SEC_IF, "SEC_IF" }, - { DATA_TYPE_HNA, "HNA" }, + { DATA_TYPE_HNA, "HNA" }, { 0, NULL } }; @@ -185,8 +185,8 @@ static int bat_follow_tap = -1; /* values changed by preferences */ static guint global_bat_batman_udp_port = BAT_BATMAN_PORT; -static guint global_bat_gw_udp_port = BAT_GW_PORT; -static guint global_bat_vis_udp_port = BAT_VIS_PORT; +static guint global_bat_gw_udp_port = BAT_GW_PORT; +static guint global_bat_vis_udp_port = BAT_VIS_PORT; @@ -219,7 +219,7 @@ static void dissect_bat_gwflags(tvbuff_t *tvb, guint8 gwflags, int offset, proto guint8 s = (gwflags & 0x80) >> 7; guint8 downbits = (gwflags & 0x78) >> 3; guint8 upbits = (gwflags & 0x07); - guint down, up; + guint down, up; down = 32 * (s + 2) * (1 << downbits); up = ((upbits + 1) * down) / 8; @@ -942,3 +942,16 @@ void proto_reg_handoff_bat(void) dissector_add_uint("udp.port", gw_udp_port, gw_handle); dissector_add_uint("udp.port", vis_udp_port, vis_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-bfcp.c b/epan/dissectors/packet-bfcp.c index a02016fc24..78317e3a2b 100644 --- a/epan/dissectors/packet-bfcp.c +++ b/epan/dissectors/packet-bfcp.c @@ -724,3 +724,16 @@ void proto_reg_handoff_bfcp(void) heur_dissector_set_enabled("udp", dissect_bfcp_heur, proto_bfcp, bfcp_enable_heuristic_dissection); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-dcc.c b/epan/dissectors/packet-dcc.c index 866092ca62..2b822a978e 100644 --- a/epan/dissectors/packet-dcc.c +++ b/epan/dissectors/packet-dcc.c @@ -142,68 +142,68 @@ static expert_field ei_dcc_len = EI_INIT; /* Lookup string tables */ static const value_string dcc_op_vals[] = { - {DCC_OP_INVALID, "Invalid Op"}, - {DCC_OP_NOP, "No-Op"}, - {DCC_OP_REPORT, "Report and Query"}, - {DCC_OP_QUERY, "Query"}, + {DCC_OP_INVALID, "Invalid Op"}, + {DCC_OP_NOP, "No-Op"}, + {DCC_OP_REPORT, "Report and Query"}, + {DCC_OP_QUERY, "Query"}, {DCC_OP_QUERY_RESP, "Server Response"}, - {DCC_OP_ADMN, "Admin"}, - {DCC_OP_OK, "Ok"}, - {DCC_OP_ERROR, "Server Failing"}, - {DCC_OP_DELETE, "Delete Checksum(s)"}, + {DCC_OP_ADMN, "Admin"}, + {DCC_OP_OK, "Ok"}, + {DCC_OP_ERROR, "Server Failing"}, + {DCC_OP_DELETE, "Delete Checksum(s)"}, {0, NULL} }; static const value_string dcc_cktype_vals[] = { - {DCC_CK_INVALID, "Invalid/Deleted from DB when seen"}, - {DCC_CK_IP, "MD5 of binary source IPv6 address"}, - {DCC_CK_ENV_FROM, "MD5 of envelope Mail From value"}, - {DCC_CK_FROM, "MD5 of header From: line"}, - {DCC_CK_SUB, "MD5 of substitute header line"}, + {DCC_CK_INVALID, "Invalid/Deleted from DB when seen"}, + {DCC_CK_IP, "MD5 of binary source IPv6 address"}, + {DCC_CK_ENV_FROM, "MD5 of envelope Mail From value"}, + {DCC_CK_FROM, "MD5 of header From: line"}, + {DCC_CK_SUB, "MD5 of substitute header line"}, {DCC_CK_MESSAGE_ID, "MD5 of header Message-ID: line"}, - {DCC_CK_RECEIVED, "MD5 of last header Received: line"}, - {DCC_CK_BODY, "MD5 of body"}, - {DCC_CK_FUZ1, "MD5 of filtered body - FUZ1"}, - {DCC_CK_FUZ2, "MD5 of filtered body - FUZ2"}, - {DCC_CK_FUZ3, "MD5 of filtered body - FUZ3"}, - {DCC_CK_FUZ4, "MD5 of filtered body - FUZ4"}, - {DCC_CK_SRVR_ID, "hostname for server-ID check "}, - {DCC_CK_ENV_TO, "MD5 of envelope Rcpt To value"}, + {DCC_CK_RECEIVED, "MD5 of last header Received: line"}, + {DCC_CK_BODY, "MD5 of body"}, + {DCC_CK_FUZ1, "MD5 of filtered body - FUZ1"}, + {DCC_CK_FUZ2, "MD5 of filtered body - FUZ2"}, + {DCC_CK_FUZ3, "MD5 of filtered body - FUZ3"}, + {DCC_CK_FUZ4, "MD5 of filtered body - FUZ4"}, + {DCC_CK_SRVR_ID, "hostname for server-ID check "}, + {DCC_CK_ENV_TO, "MD5 of envelope Rcpt To value"}, {0, NULL}, }; static const value_string dcc_adminop_vals[] = { - {DCC_AOP_OK, "Never sent"}, - {DCC_AOP_STOP, "Stop Gracefully"}, - {DCC_AOP_NEW_IDS, "Load keys and client IDs"}, - {DCC_AOP_FLOD, "Flood control"}, - {DCC_AOP_DB_UNLOCK, "Start Switch to new database"}, - {DCC_AOP_DB_NEW, "Finish Switch to new database"}, - {DCC_AOP_STATS, "Return counters"}, + {DCC_AOP_OK, "Never sent"}, + {DCC_AOP_STOP, "Stop Gracefully"}, + {DCC_AOP_NEW_IDS, "Load keys and client IDs"}, + {DCC_AOP_FLOD, "Flood control"}, + {DCC_AOP_DB_UNLOCK, "Start Switch to new database"}, + {DCC_AOP_DB_NEW, "Finish Switch to new database"}, + {DCC_AOP_STATS, "Return counters"}, {DCC_AOP_STATS_CLEAR, "Return and zero counters"}, - {DCC_AOP_TRACE_ON, "Enable tracing"}, - {DCC_AOP_TRACE_OFF, "Disable tracing"}, + {DCC_AOP_TRACE_ON, "Enable tracing"}, + {DCC_AOP_TRACE_OFF, "Disable tracing"}, {DCC_AOP_CUR_CLIENTS, "List clients"}, {0, NULL}, }; static const value_string dcc_target_vals[] = { {DCC_TGTS_TOO_MANY, "Targets (>= 16777200)"}, - {DCC_TGTS_OK, "Certified not spam"}, - {DCC_TGTS_OK2, "Half certified not spam"}, - {DCC_TGTS_DEL, "Deleted checksum"}, - {DCC_TGTS_INVALID, "Invalid"}, + {DCC_TGTS_OK, "Certified not spam"}, + {DCC_TGTS_OK2, "Half certified not spam"}, + {DCC_TGTS_DEL, "Deleted checksum"}, + {DCC_TGTS_INVALID, "Invalid"}, {0, NULL}, }; static const value_string dcc_floodop_vals[] = { - {DCC_AOP_FLOD_CHECK, "Check"}, - {DCC_AOP_FLOD_SHUTDOWN, "Shutdown"}, - {DCC_AOP_FLOD_HALT, "Halt"}, - {DCC_AOP_FLOD_RESUME, "Resume"}, - {DCC_AOP_FLOD_REWIND, "Rewind"}, - {DCC_AOP_FLOD_LIST, "List"}, - {DCC_AOP_FLOD_STATS, "Stats"}, + {DCC_AOP_FLOD_CHECK, "Check"}, + {DCC_AOP_FLOD_SHUTDOWN, "Shutdown"}, + {DCC_AOP_FLOD_HALT, "Halt"}, + {DCC_AOP_FLOD_RESUME, "Resume"}, + {DCC_AOP_FLOD_REWIND, "Rewind"}, + {DCC_AOP_FLOD_LIST, "List"}, + {DCC_AOP_FLOD_STATS, "Stats"}, {DCC_AOP_FLOD_STATS_CLEAR, "Clear Stats"}, {0,NULL}, }; @@ -588,3 +588,16 @@ proto_reg_handoff_dcc(void) { heur_dissector_add("udp", dissect_dcc, proto_dcc); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-dcerpc-browser.c b/epan/dissectors/packet-dcerpc-browser.c index db2706b325..45e5c20cd2 100644 --- a/epan/dissectors/packet-dcerpc-browser.c +++ b/epan/dissectors/packet-dcerpc-browser.c @@ -54,11 +54,11 @@ static gint ett_dcerpc_browser = -1; static int dissect_browser_long_pointer(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - dcerpc_info *di, guint8 *drep) + packet_info *pinfo, proto_tree *tree, + dcerpc_info *di, guint8 *drep) { - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, di, drep, - di->hf_index, NULL); + offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, di, drep, + di->hf_index, NULL); return offset; } @@ -73,8 +73,8 @@ dissect_browser_long_pointer(tvbuff_t *tvb, int offset, */ static e_uuid_t uuid_dcerpc_browser = { - 0x6bffd098, 0xa112, 0x3610, - { 0x98, 0x33, 0x01, 0x28, 0x92, 0x02, 0x01, 0x62 } + 0x6bffd098, 0xa112, 0x3610, + { 0x98, 0x33, 0x01, 0x28, 0x92, 0x02, 0x01, 0x62 } }; static guint16 ver_dcerpc_browser = 0; @@ -257,7 +257,7 @@ dissect_browser_browserr_server_enum_rqst(tvbuff_t *tvb, int offset, offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep, NDR_POINTER_UNIQUE, "unknown string", - hf_browser_unknown_string, 0); + hf_browser_unknown_string, 0); offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep, NDR_POINTER_UNIQUE, "unknown string", @@ -723,7 +723,7 @@ dissect_browser_TYPE_10(tvbuff_t *tvb, int offset, offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_unknown_long, NULL); - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep, + offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep, dissect_browser_TYPE_11_array, NDR_POINTER_UNIQUE, "unknown TYPE_11_ARRAY", -1); @@ -896,7 +896,7 @@ dissect_browser_browserr_set_netlogon_state_rqst(tvbuff_t *tvb, int offset, offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep, NDR_POINTER_REF, "unknown string", - hf_browser_unknown_string, 0); + hf_browser_unknown_string, 0); offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep, NDR_POINTER_UNIQUE, "unknown string", @@ -1182,3 +1182,16 @@ proto_reg_handoff_dcerpc_browser(void) &uuid_dcerpc_browser, ver_dcerpc_browser, dcerpc_browser_dissectors, hf_browser_opnum); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-dcerpc-svcctl.c b/epan/dissectors/packet-dcerpc-svcctl.c index 05eccf1f5e..75b0cf88ef 100644 --- a/epan/dissectors/packet-dcerpc-svcctl.c +++ b/epan/dissectors/packet-dcerpc-svcctl.c @@ -83,8 +83,8 @@ static gint ett_dcerpc_svcctl = -1; static gint ett_dcerpc_svcctl_service_type_bits = -1; static e_uuid_t uuid_dcerpc_svcctl = { - 0x367abb81, 0x9844, 0x35f1, - { 0xad, 0x32, 0x98, 0xf0, 0x38, 0x00, 0x10, 0x03 } + 0x367abb81, 0x9844, 0x35f1, + { 0xad, 0x32, 0x98, 0xf0, 0x38, 0x00, 0x10, 0x03 } }; static guint16 ver_dcerpc_svcctl = 2; @@ -121,7 +121,7 @@ svcctl_dissect_dwServiceType_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int opnum) { - guint32 value, len=4; + guint32 value, len = 4; proto_item *item = NULL; proto_tree *tree = NULL; @@ -208,11 +208,11 @@ static const value_string svcctl_service_error_control_vals[] = { static int svcctl_dissect_pointer_long(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - dcerpc_info *di, guint8 *drep) + packet_info *pinfo, proto_tree *tree, + dcerpc_info *di, guint8 *drep) { - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, di, drep, - di->hf_index, NULL); + offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, di, drep, + di->hf_index, NULL); return offset; } @@ -639,16 +639,16 @@ svcctl_dissect_QUERY_SERVICE_LOCK_STATUS(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep) { - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, - hf_svcctl_is_locked, NULL); + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, + hf_svcctl_is_locked, NULL); offset = dissect_ndr_pointer( tvb, offset, pinfo, tree, di, drep, dissect_ndr_char_cvstring, NDR_POINTER_UNIQUE, "Owner", hf_svcctl_lock_owner); - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, - hf_svcctl_lock_duration, NULL); + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, + hf_svcctl_lock_duration, NULL); return offset; } @@ -671,8 +671,8 @@ svcctl_dissect_QueryServiceLockStatus_rqst(tvbuff_t *tvb, int offset, tvb, offset, pinfo, tree, di, drep, hf_svcctl_hnd, NULL, NULL, FALSE, TRUE); - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, - hf_svcctl_size, NULL); + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, + hf_svcctl_size, NULL); return offset; } @@ -685,8 +685,8 @@ svcctl_dissect_QueryServiceLockStatus_reply(tvbuff_t *tvb, int offset, svcctl_dissect_QUERY_SERVICE_LOCK_STATUS, NDR_POINTER_REF, "LOCK_STATUS", -1); - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, - hf_svcctl_required_size, NULL); + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, + hf_svcctl_required_size, NULL); offset = dissect_doserror( tvb, offset, pinfo, tree, di, drep, hf_svcctl_rc, NULL); @@ -873,152 +873,165 @@ static dcerpc_sub_dissector dcerpc_svcctl_dissectors[] = { void proto_register_dcerpc_svcctl(void) { - static hf_register_info hf[] = { - { &hf_svcctl_opnum, - { "Operation", "svcctl.opnum", FT_UINT16, BASE_DEC, - NULL, 0x0, NULL, HFILL }}, - { &hf_svcctl_machinename, - { "MachineName", "svcctl.machinename", FT_STRING, BASE_NONE, - NULL, 0x0, "Name of the host we want to open the database on", HFILL }}, - { &hf_svcctl_database, - { "Database", "svcctl.database", FT_STRING, BASE_NONE, - NULL, 0x0, "Name of the database to open", HFILL }}, - { &hf_svcctl_access_mask, - { "Access Mask", "svcctl.access_mask", FT_UINT32, BASE_HEX, - NULL, 0x0, "SVCCTL Access Mask", HFILL }}, - { &hf_svcctl_scm_rights_connect, - { "Connect", "svcctl.scm_rights_connect", FT_BOOLEAN, 32, - TFS(&tfs_set_notset), 0x00000001, "SVCCTL Rights to connect to SCM", HFILL }}, - { &hf_svcctl_scm_rights_create_service, - { "Create Service", "svcctl.scm_rights_create_service", FT_BOOLEAN, 32, - TFS(&tfs_set_notset), 0x00000002, "SVCCTL Rights to create services", HFILL }}, - { &hf_svcctl_scm_rights_enumerate_service, - { "Enumerate Service", "svcctl.scm_rights_enumerate_service", FT_BOOLEAN, 32, - TFS(&tfs_set_notset), 0x00000004, "SVCCTL Rights to enumerate services", HFILL }}, - { &hf_svcctl_scm_rights_lock, - { "Lock", "svcctl.scm_rights_lock", FT_BOOLEAN, 32, - TFS(&tfs_set_notset), 0x00000008, "SVCCTL Rights to lock database", HFILL }}, - { &hf_svcctl_scm_rights_query_lock_status, - { "Query Lock Status", "svcctl.scm_rights_query_lock_status", FT_BOOLEAN, 32, - TFS(&tfs_set_notset), 0x00000010, "SVCCTL Rights to query database lock status", HFILL }}, - { &hf_svcctl_scm_rights_modify_boot_config, - { "Modify Boot Config", "svcctl.scm_rights_modify_boot_config", FT_BOOLEAN, 32, - TFS(&tfs_set_notset), 0x00000020, "SVCCTL Rights to modify boot config", HFILL }}, - { &hf_svcctl_hnd, - { "Context Handle", "svcctl.hnd", FT_BYTES, BASE_NONE, - NULL, 0x0, "SVCCTL Context handle", HFILL }}, - { &hf_svcctl_lock, - { "Lock", "svcctl.lock", FT_BYTES, BASE_NONE, - NULL, 0x0, "SVCCTL Database Lock", HFILL }}, - { &hf_svcctl_rc, - { "Return code", "svcctl.rc", FT_UINT32, BASE_HEX | BASE_EXT_STRING, - &DOS_errors_ext, 0x0, "SVCCTL return code", HFILL }}, - { &hf_svcctl_size, - { "Size", "svcctl.size", FT_UINT32, BASE_DEC, - NULL, 0x0, "SVCCTL size of buffer", HFILL }}, - { &hf_svcctl_required_size, - { "Required Size", "svcctl.required_size", FT_UINT32, BASE_DEC, - NULL, 0x0, "SVCCTL required size of buffer for data to fit", HFILL }}, - { &hf_svcctl_is_locked, - { "IsLocked", "svcctl.is_locked", FT_UINT32, BASE_DEC, - NULL, 0x0, "SVCCTL whether the database is locked or not", HFILL }}, - { &hf_svcctl_lock_duration, - { "Duration", "svcctl.lock_duration", FT_UINT32, BASE_DEC, - NULL, 0x0, "SVCCTL number of seconds the database has been locked", HFILL }}, - { &hf_svcctl_lock_owner, - { "Owner", "svcctl.lock_owner", FT_STRING, BASE_NONE, - NULL, 0x0, "SVCCTL the user that holds the database lock", HFILL }}, - { &hf_svcctl_service_type, - { "Service Type", "svcctl.service_type", FT_UINT32, BASE_HEX, - NULL, 0x0, "SVCCTL type of service", HFILL }}, - { &hf_svcctl_service_type_kernel_driver, - { "Kernel Driver Service", "svcctl.service_type.kernel", FT_BOOLEAN, 32, - TFS(&tfs_svcctl_service_type_kernel_driver), SVCCTL_SERVICE_TYPE_KERNEL_DRIVER, "Request includes kernel driver services?", HFILL }}, - { &hf_svcctl_service_type_fs_driver, - { "File System Driver Service", "svcctl.service_type.fs", FT_BOOLEAN, 32, - TFS(&tfs_svcctl_service_type_fs_driver), SVCCTL_SERVICE_TYPE_FILE_SYSTEM_DRIVER, "Request includes file system driver services?", HFILL }}, - { &hf_svcctl_service_type_win32_own_process, - { "Self Process Service", "svcctl.service_type.win32_own", FT_BOOLEAN, 32, - TFS(&tfs_svcctl_service_type_win32_own_process), SVCCTL_SERVICE_TYPE_WIN32_OWN_PROCESS, "Request includes services that run their own process?", HFILL }}, - { &hf_svcctl_service_type_win32_share_process, - { "Shared Process Service", "svcctl.service_type.win32_shared", FT_BOOLEAN, 32, - TFS(&tfs_svcctl_service_type_win32_share_process), SVCCTL_SERVICE_TYPE_WIN32_SHARE_PROCESS, "Request includes services that share their process?", HFILL }}, - { &hf_svcctl_service_type_interactive_process, - { "Interactive Process Service", "svcctl.service_type.interactive", FT_BOOLEAN, 32, - TFS(&tfs_svcctl_service_type_interactive_process), SVCCTL_SERVICE_TYPE_INTERACTIVE_PROCESS, "Request includes services that can interact with the desktop?", HFILL }}, - { &hf_svcctl_service_state, - { "Service State", "svcctl.service_state", FT_UINT32, BASE_DEC, - VALS(svcctl_service_status_vals), 0x0, "SVCCTL service state", HFILL }}, - { &hf_svcctl_buffer, - { "Buffer", "svcctl.buffer", FT_UINT32, BASE_DEC, - NULL, 0x0, "SVCCTL buffer", HFILL }}, + static hf_register_info hf[] = { + { &hf_svcctl_opnum, + { "Operation", "svcctl.opnum", FT_UINT16, BASE_DEC, + NULL, 0x0, NULL, HFILL }}, + { &hf_svcctl_machinename, + { "MachineName", "svcctl.machinename", FT_STRING, BASE_NONE, + NULL, 0x0, "Name of the host we want to open the database on", HFILL }}, + { &hf_svcctl_database, + { "Database", "svcctl.database", FT_STRING, BASE_NONE, + NULL, 0x0, "Name of the database to open", HFILL }}, + { &hf_svcctl_access_mask, + { "Access Mask", "svcctl.access_mask", FT_UINT32, BASE_HEX, + NULL, 0x0, "SVCCTL Access Mask", HFILL }}, + { &hf_svcctl_scm_rights_connect, + { "Connect", "svcctl.scm_rights_connect", FT_BOOLEAN, 32, + TFS(&tfs_set_notset), 0x00000001, "SVCCTL Rights to connect to SCM", HFILL }}, + { &hf_svcctl_scm_rights_create_service, + { "Create Service", "svcctl.scm_rights_create_service", FT_BOOLEAN, 32, + TFS(&tfs_set_notset), 0x00000002, "SVCCTL Rights to create services", HFILL }}, + { &hf_svcctl_scm_rights_enumerate_service, + { "Enumerate Service", "svcctl.scm_rights_enumerate_service", FT_BOOLEAN, 32, + TFS(&tfs_set_notset), 0x00000004, "SVCCTL Rights to enumerate services", HFILL }}, + { &hf_svcctl_scm_rights_lock, + { "Lock", "svcctl.scm_rights_lock", FT_BOOLEAN, 32, + TFS(&tfs_set_notset), 0x00000008, "SVCCTL Rights to lock database", HFILL }}, + { &hf_svcctl_scm_rights_query_lock_status, + { "Query Lock Status", "svcctl.scm_rights_query_lock_status", FT_BOOLEAN, 32, + TFS(&tfs_set_notset), 0x00000010, "SVCCTL Rights to query database lock status", HFILL }}, + { &hf_svcctl_scm_rights_modify_boot_config, + { "Modify Boot Config", "svcctl.scm_rights_modify_boot_config", FT_BOOLEAN, 32, + TFS(&tfs_set_notset), 0x00000020, "SVCCTL Rights to modify boot config", HFILL }}, + { &hf_svcctl_hnd, + { "Context Handle", "svcctl.hnd", FT_BYTES, BASE_NONE, + NULL, 0x0, "SVCCTL Context handle", HFILL }}, + { &hf_svcctl_lock, + { "Lock", "svcctl.lock", FT_BYTES, BASE_NONE, + NULL, 0x0, "SVCCTL Database Lock", HFILL }}, + { &hf_svcctl_rc, + { "Return code", "svcctl.rc", FT_UINT32, BASE_HEX | BASE_EXT_STRING, + &DOS_errors_ext, 0x0, "SVCCTL return code", HFILL }}, + { &hf_svcctl_size, + { "Size", "svcctl.size", FT_UINT32, BASE_DEC, + NULL, 0x0, "SVCCTL size of buffer", HFILL }}, + { &hf_svcctl_required_size, + { "Required Size", "svcctl.required_size", FT_UINT32, BASE_DEC, + NULL, 0x0, "SVCCTL required size of buffer for data to fit", HFILL }}, + { &hf_svcctl_is_locked, + { "IsLocked", "svcctl.is_locked", FT_UINT32, BASE_DEC, + NULL, 0x0, "SVCCTL whether the database is locked or not", HFILL }}, + { &hf_svcctl_lock_duration, + { "Duration", "svcctl.lock_duration", FT_UINT32, BASE_DEC, + NULL, 0x0, "SVCCTL number of seconds the database has been locked", HFILL }}, + { &hf_svcctl_lock_owner, + { "Owner", "svcctl.lock_owner", FT_STRING, BASE_NONE, + NULL, 0x0, "SVCCTL the user that holds the database lock", HFILL }}, + { &hf_svcctl_service_type, + { "Service Type", "svcctl.service_type", FT_UINT32, BASE_HEX, + NULL, 0x0, "SVCCTL type of service", HFILL }}, + { &hf_svcctl_service_type_kernel_driver, + { "Kernel Driver Service", "svcctl.service_type.kernel", FT_BOOLEAN, 32, + TFS(&tfs_svcctl_service_type_kernel_driver), SVCCTL_SERVICE_TYPE_KERNEL_DRIVER, "Request includes kernel driver services?", HFILL }}, + { &hf_svcctl_service_type_fs_driver, + { "File System Driver Service", "svcctl.service_type.fs", FT_BOOLEAN, 32, + TFS(&tfs_svcctl_service_type_fs_driver), SVCCTL_SERVICE_TYPE_FILE_SYSTEM_DRIVER, "Request includes file system driver services?", HFILL }}, + { &hf_svcctl_service_type_win32_own_process, + { "Self Process Service", "svcctl.service_type.win32_own", FT_BOOLEAN, 32, + TFS(&tfs_svcctl_service_type_win32_own_process), SVCCTL_SERVICE_TYPE_WIN32_OWN_PROCESS, "Request includes services that run their own process?", HFILL }}, + { &hf_svcctl_service_type_win32_share_process, + { "Shared Process Service", "svcctl.service_type.win32_shared", FT_BOOLEAN, 32, + TFS(&tfs_svcctl_service_type_win32_share_process), SVCCTL_SERVICE_TYPE_WIN32_SHARE_PROCESS, "Request includes services that share their process?", HFILL }}, + { &hf_svcctl_service_type_interactive_process, + { "Interactive Process Service", "svcctl.service_type.interactive", FT_BOOLEAN, 32, + TFS(&tfs_svcctl_service_type_interactive_process), SVCCTL_SERVICE_TYPE_INTERACTIVE_PROCESS, "Request includes services that can interact with the desktop?", HFILL }}, + { &hf_svcctl_service_state, + { "Service State", "svcctl.service_state", FT_UINT32, BASE_DEC, + VALS(svcctl_service_status_vals), 0x0, "SVCCTL service state", HFILL }}, + { &hf_svcctl_buffer, + { "Buffer", "svcctl.buffer", FT_UINT32, BASE_DEC, + NULL, 0x0, "SVCCTL buffer", HFILL }}, #if 0 - { &hf_svcctl_bytes_needed, - { "Bytes Needed", "svcctl.bytes_needed", FT_UINT32, BASE_DEC, - NULL, 0x0, "SVCCTL bytes needed", HFILL }}, - { &hf_svcctl_services_returned, - { "Services Returned", "svcctl.services_returned", FT_UINT32, BASE_DEC, - NULL, 0x0, "SVCCTL services returned", HFILL }}, + { &hf_svcctl_bytes_needed, + { "Bytes Needed", "svcctl.bytes_needed", FT_UINT32, BASE_DEC, + NULL, 0x0, "SVCCTL bytes needed", HFILL }}, + { &hf_svcctl_services_returned, + { "Services Returned", "svcctl.services_returned", FT_UINT32, BASE_DEC, + NULL, 0x0, "SVCCTL services returned", HFILL }}, #endif - { &hf_svcctl_service_name, - { "Service Name", "svcctl.servicename", FT_STRING, BASE_NONE, - NULL, 0x0, "SVCCTL name of service", HFILL }}, - { &hf_svcctl_display_name, - { "Display Name", "svcctl.displayname", FT_STRING, BASE_NONE, - NULL, 0x0, "SVCCTL display name", HFILL }}, - { &hf_svcctl_service_start_type, - { "Service Start Type", "svcctl.service_start_type", FT_UINT32, BASE_DEC, - VALS(svcctl_service_start_type_vals), 0x0, "SVCCTL service start type", HFILL }}, - { &hf_svcctl_service_error_control, - { "Service Error Control", "svcctl.service_error_control", FT_UINT32, BASE_DEC, - VALS(svcctl_service_error_control_vals), 0x0, "SVCCTL service error control", HFILL }}, - { &hf_svcctl_binarypathname, - { "Binary Path Name", "svcctl.binarypathname", FT_STRING, BASE_NONE, - NULL, 0x0, "SVCCTL binary path name", HFILL }}, - { &hf_svcctl_loadordergroup, - { "Load Order Group", "svcctl.loadordergroup", FT_STRING, BASE_NONE, - NULL, 0x0, "SVCCTL load order group", HFILL }}, - { &hf_svcctl_tagid, - { "Tag Id", "svcctl.tagid", FT_UINT32, BASE_DEC, - NULL, 0x0, "SVCCTL tag id", HFILL }}, - { &hf_svcctl_dependencies, - { "Dependencies", "svcctl.dependencies", FT_STRING, BASE_NONE, - NULL, 0x0, "SVCCTL dependencies", HFILL }}, - { &hf_svcctl_depend_size, - { "Depend Size", "svcctl.depend_size", FT_UINT32, BASE_DEC, - NULL, 0x0, "SVCCTL depend size", HFILL }}, - { &hf_svcctl_service_start_name, - { "Service Start Name", "svcctl.service_start_name", FT_STRING, BASE_NONE, - NULL, 0x0, "SVCCTL service start name", HFILL }}, - { &hf_svcctl_password, - { "Password", "svcctl.password", FT_STRING, BASE_NONE, - NULL, 0x0, "SVCCTL password", HFILL }}, - { &hf_svcctl_password_size, - { "Password Size", "svcctl.password_size", FT_UINT32, BASE_DEC, - NULL, 0x0, "SVCCTL password size", HFILL }}, - { &hf_svcctl_resume, - { "Resume Handle", "svcctl.resume", FT_UINT32, BASE_DEC, - NULL, 0x0, "SVCCTL resume handle", HFILL }}, + { &hf_svcctl_service_name, + { "Service Name", "svcctl.servicename", FT_STRING, BASE_NONE, + NULL, 0x0, "SVCCTL name of service", HFILL }}, + { &hf_svcctl_display_name, + { "Display Name", "svcctl.displayname", FT_STRING, BASE_NONE, + NULL, 0x0, "SVCCTL display name", HFILL }}, + { &hf_svcctl_service_start_type, + { "Service Start Type", "svcctl.service_start_type", FT_UINT32, BASE_DEC, + VALS(svcctl_service_start_type_vals), 0x0, "SVCCTL service start type", HFILL }}, + { &hf_svcctl_service_error_control, + { "Service Error Control", "svcctl.service_error_control", FT_UINT32, BASE_DEC, + VALS(svcctl_service_error_control_vals), 0x0, "SVCCTL service error control", HFILL }}, + { &hf_svcctl_binarypathname, + { "Binary Path Name", "svcctl.binarypathname", FT_STRING, BASE_NONE, + NULL, 0x0, "SVCCTL binary path name", HFILL }}, + { &hf_svcctl_loadordergroup, + { "Load Order Group", "svcctl.loadordergroup", FT_STRING, BASE_NONE, + NULL, 0x0, "SVCCTL load order group", HFILL }}, + { &hf_svcctl_tagid, + { "Tag Id", "svcctl.tagid", FT_UINT32, BASE_DEC, + NULL, 0x0, "SVCCTL tag id", HFILL }}, + { &hf_svcctl_dependencies, + { "Dependencies", "svcctl.dependencies", FT_STRING, BASE_NONE, + NULL, 0x0, "SVCCTL dependencies", HFILL }}, + { &hf_svcctl_depend_size, + { "Depend Size", "svcctl.depend_size", FT_UINT32, BASE_DEC, + NULL, 0x0, "SVCCTL depend size", HFILL }}, + { &hf_svcctl_service_start_name, + { "Service Start Name", "svcctl.service_start_name", FT_STRING, BASE_NONE, + NULL, 0x0, "SVCCTL service start name", HFILL }}, + { &hf_svcctl_password, + { "Password", "svcctl.password", FT_STRING, BASE_NONE, + NULL, 0x0, "SVCCTL password", HFILL }}, + { &hf_svcctl_password_size, + { "Password Size", "svcctl.password_size", FT_UINT32, BASE_DEC, + NULL, 0x0, "SVCCTL password size", HFILL }}, + { &hf_svcctl_resume, + { "Resume Handle", "svcctl.resume", FT_UINT32, BASE_DEC, + NULL, 0x0, "SVCCTL resume handle", HFILL }}, }; - static gint *ett[] = { - &ett_dcerpc_svcctl, - &ett_dcerpc_svcctl_service_type_bits, - }; + static gint *ett[] = { + &ett_dcerpc_svcctl, + &ett_dcerpc_svcctl_service_type_bits, + }; - proto_dcerpc_svcctl = proto_register_protocol( - "Microsoft Service Control", "SVCCTL", "svcctl"); + proto_dcerpc_svcctl = proto_register_protocol( + "Microsoft Service Control", "SVCCTL", "svcctl"); proto_register_field_array(proto_dcerpc_svcctl, hf, array_length(hf)); - proto_register_subtree_array(ett, array_length(ett)); + proto_register_subtree_array(ett, array_length(ett)); } void proto_reg_handoff_dcerpc_svcctl(void) { - /* Register protocol as dcerpc */ + /* Register protocol as dcerpc */ - dcerpc_init_uuid(proto_dcerpc_svcctl, ett_dcerpc_svcctl, - &uuid_dcerpc_svcctl, ver_dcerpc_svcctl, - dcerpc_svcctl_dissectors, hf_svcctl_opnum); + dcerpc_init_uuid(proto_dcerpc_svcctl, ett_dcerpc_svcctl, + &uuid_dcerpc_svcctl, ver_dcerpc_svcctl, + dcerpc_svcctl_dissectors, hf_svcctl_opnum); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-dvmrp.c b/epan/dissectors/packet-dvmrp.c index 6870cc42c4..067cd26e99 100644 --- a/epan/dissectors/packet-dvmrp.c +++ b/epan/dissectors/packet-dvmrp.c @@ -701,7 +701,7 @@ dissect_dvmrp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, int of if ((tvb_length_remaining(tvb, offset)>=8) && (((tvb_get_guint8(tvb, 6)==0xff) && (tvb_get_guint8(tvb, 7)==0x03)) - || !strict_v3)) { + || !strict_v3)) { offset = dissect_dvmrp_v3(tvb, pinfo, tree, offset); } else { offset = dissect_dvmrp_v1(tvb, pinfo, tree, offset); @@ -903,3 +903,16 @@ proto_register_dvmrp(void) "Allow only packets with Major=0x03//Minor=0xFF as DVMRP V3 packets", &strict_v3); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-e164.c b/epan/dissectors/packet-e164.c index 71c4ea9e03..3220d0225a 100644 --- a/epan/dissectors/packet-e164.c +++ b/epan/dissectors/packet-e164.c @@ -37,53 +37,53 @@ void proto_register_e164(void); const value_string E164_country_code_value[] = { - { 0x00, "Reserved"}, - { 0x01, "Americas"}, - { 0x07, "Russian Federation, Kazakstan (Republic of)"}, - { 0x020, "Egypt (Arab Republic of)"}, - { 0x027, "South Africa (Republic of)"}, - { 0x030, "Greece"}, - { 0x031, "Netherlands (Kingdom of the)"}, - { 0x032, "Belgium"}, - { 0x033, "France"}, - { 0x034, "Spain"}, - { 0x036, "Hungary (Republic of)"}, - { 0x039, "Italy"}, - { 0x040, "Romania"}, - { 0x041, "Switzerland (Confederation of)"}, - { 0x043, "Austria"}, - { 0x044, "United Kingdom of Great Britain and Northern Ireland"}, - { 0x045, "Denmark"}, - { 0x046, "Sweden"}, - { 0x047, "Norway"}, - { 0x048, "Poland (Republic of)"}, - { 0x049, "Germany (Federal Republic of)"}, - { 0x051, "Peru"}, - { 0x052, "Mexico"}, - { 0x053, "Cuba"}, - { 0x054, "Argentine Republic"}, - { 0x055, "Brazil (Federative Republic of)"}, - { 0x056, "Chile"}, - { 0x057, "Colombia (Republic of)"}, - { 0x058, "Venezuela(Bolivarian Republic of)"}, - { 0x060, "Malaysia"}, - { 0x061, "Australia"}, - { 0x062, "Indonesia (Republic of)"}, - { 0x063, "Philippines (Republic of the)"}, - { 0x064, "New Zealand"}, - { 0x065, "Singapore (Republic of)"}, - { 0x066, "Thailand"}, - { 0x081, "Japan"}, - { 0x082, "Korea (Republic of)"}, - { 0x084, "Viet Nam (Socialist Republic of)"}, - { 0x086, "China (People's Republic of)"}, - { 0x090, "Turkey"}, - { 0x091, "India (Republic of)"}, - { 0x092, "Pakistan (Islamic Republic of)"}, - { 0x093, "Afghanistan"}, - { 0x094, "Sri Lanka (Democratic Socialist Republic of)"}, - { 0x095, "Myanmar (the Republic of the Union of)"}, - { 0x098, "Iran (Islamic Republic of)"}, + { 0x0000, "Reserved"}, + { 0x0001, "Americas"}, + { 0x0007, "Russian Federation, Kazakstan (Republic of)"}, + { 0x0020, "Egypt (Arab Republic of)"}, + { 0x0027, "South Africa (Republic of)"}, + { 0x0030, "Greece"}, + { 0x0031, "Netherlands (Kingdom of the)"}, + { 0x0032, "Belgium"}, + { 0x0033, "France"}, + { 0x0034, "Spain"}, + { 0x0036, "Hungary (Republic of)"}, + { 0x0039, "Italy"}, + { 0x0040, "Romania"}, + { 0x0041, "Switzerland (Confederation of)"}, + { 0x0043, "Austria"}, + { 0x0044, "United Kingdom of Great Britain and Northern Ireland"}, + { 0x0045, "Denmark"}, + { 0x0046, "Sweden"}, + { 0x0047, "Norway"}, + { 0x0048, "Poland (Republic of)"}, + { 0x0049, "Germany (Federal Republic of)"}, + { 0x0051, "Peru"}, + { 0x0052, "Mexico"}, + { 0x0053, "Cuba"}, + { 0x0054, "Argentine Republic"}, + { 0x0055, "Brazil (Federative Republic of)"}, + { 0x0056, "Chile"}, + { 0x0057, "Colombia (Republic of)"}, + { 0x0058, "Venezuela(Bolivarian Republic of)"}, + { 0x0060, "Malaysia"}, + { 0x0061, "Australia"}, + { 0x0062, "Indonesia (Republic of)"}, + { 0x0063, "Philippines (Republic of the)"}, + { 0x0064, "New Zealand"}, + { 0x0065, "Singapore (Republic of)"}, + { 0x0066, "Thailand"}, + { 0x0081, "Japan"}, + { 0x0082, "Korea (Republic of)"}, + { 0x0084, "Viet Nam (Socialist Republic of)"}, + { 0x0086, "China (People's Republic of)"}, + { 0x0090, "Turkey"}, + { 0x0091, "India (Republic of)"}, + { 0x0092, "Pakistan (Islamic Republic of)"}, + { 0x0093, "Afghanistan"}, + { 0x0094, "Sri Lanka (Democratic Socialist Republic of)"}, + { 0x0095, "Myanmar (the Republic of the Union of)"}, + { 0x0098, "Iran (Islamic Republic of)"}, { 0x0210, "Spare code"}, { 0x0211, "South Sudan (Republic of)"}, { 0x0212, "Morocco (Kingdom of)"}, @@ -390,12 +390,12 @@ const value_string E164_International_Networks_882_vals[] = { static value_string_ext E164_International_Networks_882_vals_ext = VALUE_STRING_EXT_INIT(E164_International_Networks_882_vals); const value_string E164_International_Networks_883_vals[] = { - { 0x100, "MediaLincc Ltd"}, - { 0x110, "Aicent Inc"}, - { 0x120, "Telenor Connexion AB"}, - { 0x130, "France Telecom Orange"}, - { 0x140, "Multiregional TransitTelecom (MTT)"}, - { 0x150, "BodyTrace Netherlands B.V"}, + { 0x0100, "MediaLincc Ltd"}, + { 0x0110, "Aicent Inc"}, + { 0x0120, "Telenor Connexion AB"}, + { 0x0130, "France Telecom Orange"}, + { 0x0140, "Multiregional TransitTelecom (MTT)"}, + { 0x0150, "BodyTrace Netherlands B.V"}, { 0x5100, "Voxbone SA"}, { 0x5110, "Bandwith.com Inc"}, { 0x5120, "MTX Connect Ltd"}, @@ -417,27 +417,27 @@ static int ett_e164_msisdn = -1; void dissect_e164_number(tvbuff_t *tvb, proto_tree *tree, int offset, int length, e164_info_t e164_info) { - proto_item *pi; + proto_item *pi; switch (e164_info.e164_number_type) { case CALLING_PARTY_NUMBER: proto_tree_add_string(tree, hf_E164_calling_party_number, tvb, offset, - length, e164_info.E164_number_str); + length, e164_info.E164_number_str); break; case CALLED_PARTY_NUMBER: proto_tree_add_string(tree, hf_E164_called_party_number, tvb, offset, - length, e164_info.E164_number_str); + length, e164_info.E164_number_str); break; default: break; } - if(e164_info.nature_of_address == E164_NA_INTERNATIONAL_NUMBER){ - pi = proto_tree_add_string(tree, hf_E164_number, tvb, offset, length, e164_info.E164_number_str); - PROTO_ITEM_SET_HIDDEN(pi); - } + if (e164_info.nature_of_address == E164_NA_INTERNATIONAL_NUMBER) { + pi = proto_tree_add_string(tree, hf_E164_number, tvb, offset, length, e164_info.E164_number_str); + PROTO_ITEM_SET_HIDDEN(pi); + } } void @@ -455,7 +455,7 @@ dissect_e164_cc(tvbuff_t *tvb, proto_tree *tree, int offset, e164_encoding_t enc /* Get the first 3 digits of the MSISDN */ switch (encoding) { - case E164_ENC_BINARY: + case E164_ENC_BINARY: /* Dissect country code after removing non significant zeros */ while (address_digit_pair == 0) { cc_offset = cc_offset + 1; @@ -466,7 +466,7 @@ dissect_e164_cc(tvbuff_t *tvb, proto_tree *tree, int offset, e164_encoding_t enc cc = cc >> 4; } break; - case E164_ENC_BCD: + case E164_ENC_BCD: cc = address_digit_pair &0x0f; cc = cc << 4; cc = cc | (address_digit_pair &0xf0)>>4; @@ -476,7 +476,7 @@ dissect_e164_cc(tvbuff_t *tvb, proto_tree *tree, int offset, e164_encoding_t enc cc = cc | (address_digit_pair &0x0f); } break; - case E164_ENC_UTF8: + case E164_ENC_UTF8: /* XXX - do we need to worry about leading 0s? */ cc = (tvb_get_guint8(tvb, cc_offset) - '0') << 8; cc |= (tvb_get_guint8(tvb, cc_offset+1) - '0') << 4; @@ -618,13 +618,13 @@ dissect_e164_cc(tvbuff_t *tvb, proto_tree *tree, int offset, e164_encoding_t enc case 0x881: /* Get the 1-digit ID code */ switch (encoding) { - case E164_ENC_BINARY: + case E164_ENC_BINARY: id_code = tvb_get_guint8(tvb, cc_offset + 1) & 0x0f; break; - case E164_ENC_BCD: + case E164_ENC_BCD: id_code = (tvb_get_guint8(tvb, cc_offset + 1) & 0xf0) >> 4; break; - case E164_ENC_UTF8: + case E164_ENC_UTF8: id_code = tvb_get_guint8(tvb, cc_offset + cc_length) - '0'; break; } @@ -634,15 +634,15 @@ dissect_e164_cc(tvbuff_t *tvb, proto_tree *tree, int offset, e164_encoding_t enc case 0x882: /* Get the 2-digit ID code */ switch (encoding) { - case E164_ENC_BINARY: + case E164_ENC_BINARY: id_code = tvb_get_ntohs(tvb, cc_offset + 1); id_code = (id_code & 0x0ff0) >> 4; break; - case E164_ENC_BCD: + case E164_ENC_BCD: id_code = tvb_get_guint8(tvb, cc_offset + 1) & 0xf0; id_code |= tvb_get_guint8(tvb, cc_offset + 2) & 0x0f; break; - case E164_ENC_UTF8: + case E164_ENC_UTF8: id_code = (tvb_get_guint8(tvb, cc_offset+cc_length) - '0') << 4; id_code |= (tvb_get_guint8(tvb, cc_offset+cc_length+1) - '0'); break; @@ -653,16 +653,16 @@ dissect_e164_cc(tvbuff_t *tvb, proto_tree *tree, int offset, e164_encoding_t enc case 0x883: /* Get the 3-digit ID code */ switch (encoding) { - case E164_ENC_BINARY: + case E164_ENC_BINARY: id_code = tvb_get_ntohs(tvb, cc_offset + 1); id_code = id_code & 0x0fff; break; - case E164_ENC_BCD: + case E164_ENC_BCD: id_code = (tvb_get_guint8(tvb, cc_offset + 1) & 0xf0) << 4; id_code |= (tvb_get_guint8(tvb, cc_offset + 2) & 0x0f) << 4; id_code |= (tvb_get_guint8(tvb, cc_offset + 2) & 0xf0) >> 4; break; - case E164_ENC_UTF8: + case E164_ENC_UTF8: id_code = (tvb_get_guint8(tvb, cc_offset+cc_length) - '0') << 8; id_code |= (tvb_get_guint8(tvb, cc_offset+cc_length+1) - '0') << 4; id_code |= (tvb_get_guint8(tvb, cc_offset+cc_length+2) - '0'); @@ -671,13 +671,13 @@ dissect_e164_cc(tvbuff_t *tvb, proto_tree *tree, int offset, e164_encoding_t enc if ((id_code & 0x0ff0) == 0x510) { /* Get the 4th digit of the ID code */ switch (encoding) { - case E164_ENC_BINARY: + case E164_ENC_BINARY: id_code = (id_code << 4) | ((tvb_get_guint8(tvb, cc_offset + 3) & 0xf0) >> 4); break; - case E164_ENC_BCD: + case E164_ENC_BCD: id_code = (id_code << 4) | (tvb_get_guint8(tvb, cc_offset + 3) & 0x0f); break; - case E164_ENC_UTF8: + case E164_ENC_UTF8: id_code = (id_code << 4) | (tvb_get_guint8(tvb, cc_offset + cc_length + 3) - '0'); break; } @@ -702,14 +702,14 @@ dissect_e164_msisdn(tvbuff_t *tvb, proto_tree *tree, int offset, int length, e16 const gchar *msisdn_str; switch (encoding) { - case E164_ENC_UTF8: + case E164_ENC_UTF8: msisdn_str = tvb_get_string_enc(wmem_packet_scope(), tvb, offset, length, ENC_UTF_8); break; - case E164_ENC_BCD: + case E164_ENC_BCD: msisdn_str = tvb_bcd_dig_to_wmem_packet_str(tvb, offset, length, NULL, FALSE); break; - case E164_ENC_BINARY: - default: + case E164_ENC_BINARY: + default: DISSECTOR_ASSERT_NOT_REACHED(); } @@ -724,9 +724,6 @@ dissect_e164_msisdn(tvbuff_t *tvb, proto_tree *tree, int offset, int length, e16 /* * Register the protocol with Wireshark. - * - * This format is required because a script is used to build the C function - * that calls all the protocol registration. */ void @@ -770,3 +767,16 @@ proto_register_e164(void) proto_register_field_array(proto_e164, hf, array_length(hf)); proto_register_subtree_array(ett_e164_array, array_length(ett_e164_array)); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-enttec.c b/epan/dissectors/packet-enttec.c index 2d5ab0bce8..4c0509b228 100644 --- a/epan/dissectors/packet-enttec.c +++ b/epan/dissectors/packet-enttec.c @@ -555,3 +555,16 @@ proto_reg_handoff_enttec(void) { dissector_add_uint("udp.port",global_udp_port_enttec,enttec_handle); dissector_add_uint("tcp.port",global_tcp_port_enttec,enttec_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-epl_v1.c b/epan/dissectors/packet-epl_v1.c index f60bbfe065..76359f121c 100644 --- a/epan/dissectors/packet-epl_v1.c +++ b/epan/dissectors/packet-epl_v1.c @@ -653,3 +653,16 @@ proto_reg_handoff_epl_v1(void) epl_v1_handle = new_create_dissector_handle(dissect_epl_v1, proto_epl_v1); dissector_add_uint("ethertype", ETHERTYPE_EPL_V1, epl_v1_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-glusterd.c b/epan/dissectors/packet-glusterd.c index 4d605e9a73..110e8f8ec7 100644 --- a/epan/dissectors/packet-glusterd.c +++ b/epan/dissectors/packet-glusterd.c @@ -866,3 +866,16 @@ proto_reg_handoff_gluster_gd_mgmt(void) rpc_init_proc_table(GD_FRIEND_PROGRAM, 2,glusterd_friend_proc, hf_glusterd_friend_proc); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-gmr1_rach.c b/epan/dissectors/packet-gmr1_rach.c index bae0aec6a9..ce2230aabc 100644 --- a/epan/dissectors/packet-gmr1_rach.c +++ b/epan/dissectors/packet-gmr1_rach.c @@ -151,7 +151,7 @@ static const value_string rach_precorr_vals[] = { static void dissect_gmr1_rach_kls1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, - int *is_moc) + int *is_moc) { proto_item *ec_item = NULL; proto_tree *ec_tree = NULL; @@ -407,7 +407,7 @@ _parse_dialed_number(gchar *s, int slen, tvbuff_t *tvb, int offset) static void dissect_gmr1_rach_kls2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, - int is_moc) + int is_moc) { proto_item *dialed_num_item = NULL; proto_tree *dialed_num_tree = NULL, *gps_pos_tree = NULL; @@ -713,3 +713,16 @@ proto_reg_handoff_gmr1_rach(void) { data_handle = find_dissector("data"); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-gnutella.c b/epan/dissectors/packet-gnutella.c index 4414a74f79..d615e73e98 100644 --- a/epan/dissectors/packet-gnutella.c +++ b/epan/dissectors/packet-gnutella.c @@ -748,3 +748,16 @@ void proto_reg_handoff_gnutella(void) { proto_gnutella); dissector_add_uint("tcp.port", GNUTELLA_TCP_PORT, gnutella_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-gsm_bsslap.c b/epan/dissectors/packet-gsm_bsslap.c index b062ac1030..2b0235be8f 100644 --- a/epan/dissectors/packet-gsm_bsslap.c +++ b/epan/dissectors/packet-gsm_bsslap.c @@ -37,10 +37,10 @@ void proto_register_gsm_bsslap(void); static dissector_handle_t bsslap_rrlp_handle = NULL; /* Initialize the protocol and registered fields */ -static int proto_gsm_bsslap = -1; -static int hf_gsm_bsslap_msg_type = -1; -int hf_gsm_a_bsslap_elem_id = -1; -static int hf_gsm_bsslap_ta = -1; +static int proto_gsm_bsslap = -1; +static int hf_gsm_bsslap_msg_type = -1; +int hf_gsm_a_bsslap_elem_id = -1; +static int hf_gsm_bsslap_ta = -1; static int hf_gsm_bsslap_timer_value = -1; static int hf_gsm_bsslap_ms_pow = -1; static int hf_gsm_bsslap_cause = -1; @@ -88,78 +88,78 @@ static int ett_bsslap_cell_list = -1; #define BSSLAP_PARAM_STARTING_TIME 0x2D static const value_string gsm_bsslap_elem_strings[] = { - { DE_BLAP_RES1, "Reserved" }, - { DE_BLAP_TA, "Timing Advance" }, - { DE_BLAP_RES3, "Reserved" }, /* (note) */ - { DE_BLAP_RES4, "Cell Identity" }, - { DE_BLAP_RES5, "Reserved" }, /* (note) */ - { DE_BLAP_RES6, "Reserved" }, /* (note) */ - { DE_BLAP_RES7, "Reserved" }, /* (note) */ - { DE_BLAP_CH_DESC, "Channel Description" }, - { DE_BLAP_RES9, "Reserved" }, /* (note) */ - { DE_BLAP_RES10, "Reserved" }, /* (note) */ - { DE_BLAP_RES11, "Reserved" }, /* (note) */ - { DE_BLAP_MEAS_REP, "Measurement Report" }, - { DE_BLAP_RES13, "Reserved" }, /* (note) */ - { DE_BLAP_CAUSE, "Cause" }, - { DE_BLAP_RRLP_FLG, "RRLP Flag" }, - { DE_BLAP_RRLP_IE, "RRLP IE" }, - { DE_BLAP_CELL_ID_LIST, "Cell Identity List" }, - { DE_BLAP_ENH_MEAS_REP, "Enhanced Measurement Report" }, - { DE_BLAP_LAC, "Location Area Code" }, - { DE_BLAP_FREQ_LIST, "Frequency List" }, - { DE_BLAP_MS_POW, "MS Power" }, - { DE_BLAP_DELTA_TIME, "Delta Timer" }, - { DE_BLAP_SERV_CELL_ID, "Serving Cell Identifier" }, - { DE_BLAP_ENC_KEY, "Encryption Key (Kc)" }, - { DE_BLAP_CIP_M_SET, "Cipher Mode Setting" }, - { DE_BLAP_CH_MODE, "Channel Mode" }, - { DE_BLAP_POLL_REP, "Polling Repetition" }, - { DE_BLAP_PKT_CH_DESC, "Packet Channel Description" }, - { DE_BLAP_TLLI, "TLLI" }, - { DE_BLAP_TFI, "TFI" }, - { DE_BLAP_START_TIME, "Starting Time" }, - { 0, NULL }, + { DE_BLAP_RES1, "Reserved" }, + { DE_BLAP_TA, "Timing Advance" }, + { DE_BLAP_RES3, "Reserved" }, /* (note) */ + { DE_BLAP_RES4, "Cell Identity" }, + { DE_BLAP_RES5, "Reserved" }, /* (note) */ + { DE_BLAP_RES6, "Reserved" }, /* (note) */ + { DE_BLAP_RES7, "Reserved" }, /* (note) */ + { DE_BLAP_CH_DESC, "Channel Description" }, + { DE_BLAP_RES9, "Reserved" }, /* (note) */ + { DE_BLAP_RES10, "Reserved" }, /* (note) */ + { DE_BLAP_RES11, "Reserved" }, /* (note) */ + { DE_BLAP_MEAS_REP, "Measurement Report" }, + { DE_BLAP_RES13, "Reserved" }, /* (note) */ + { DE_BLAP_CAUSE, "Cause" }, + { DE_BLAP_RRLP_FLG, "RRLP Flag" }, + { DE_BLAP_RRLP_IE, "RRLP IE" }, + { DE_BLAP_CELL_ID_LIST, "Cell Identity List" }, + { DE_BLAP_ENH_MEAS_REP, "Enhanced Measurement Report" }, + { DE_BLAP_LAC, "Location Area Code" }, + { DE_BLAP_FREQ_LIST, "Frequency List" }, + { DE_BLAP_MS_POW, "MS Power" }, + { DE_BLAP_DELTA_TIME, "Delta Timer" }, + { DE_BLAP_SERV_CELL_ID, "Serving Cell Identifier" }, + { DE_BLAP_ENC_KEY, "Encryption Key (Kc)" }, + { DE_BLAP_CIP_M_SET, "Cipher Mode Setting" }, + { DE_BLAP_CH_MODE, "Channel Mode" }, + { DE_BLAP_POLL_REP, "Polling Repetition" }, + { DE_BLAP_PKT_CH_DESC, "Packet Channel Description" }, + { DE_BLAP_TLLI, "TLLI" }, + { DE_BLAP_TFI, "TFI" }, + { DE_BLAP_START_TIME, "Starting Time" }, + { 0, NULL }, }; value_string_ext gsm_bsslap_elem_strings_ext = VALUE_STRING_EXT_INIT(gsm_bsslap_elem_strings); /* - * NOTE: These values of the codepoints shall not be used as they were used in an earlier version of the - * protocol. - * All unassigned codes are spare. + * NOTE: These values of the codepoints shall not be used as they were used in an earlier version of the + * protocol. + * All unassigned codes are spare. */ -#define BSSLAP_TA_REQUEST 1 -#define BSSLAP_TA_RESPONSE 2 -#define BSSLAP_REJECT 10 -#define BSSLAP_RESET 11 -#define BSSLAP_ABORT 12 -#define BSSLAP_TA_LAYER3 13 -#define BSSLAP_MS_POS_CMD 15 -#define BSSLAP_MS_POS_RES 16 -#define BSSLAP_U_TDOA_REQ 17 -#define BSSLAP_U_TDOA_RES 18 +#define BSSLAP_TA_REQUEST 1 +#define BSSLAP_TA_RESPONSE 2 +#define BSSLAP_REJECT 10 +#define BSSLAP_RESET 11 +#define BSSLAP_ABORT 12 +#define BSSLAP_TA_LAYER3 13 +#define BSSLAP_MS_POS_CMD 15 +#define BSSLAP_MS_POS_RES 16 +#define BSSLAP_U_TDOA_REQ 17 +#define BSSLAP_U_TDOA_RES 18 /* Table 5.1.1: Message Type codes */ static const value_string gsm_a_bsslap_msg_strings[] = { - { 0x00, "Reserved" }, - { BSSLAP_TA_REQUEST, "TA REQUEST" }, - { BSSLAP_TA_RESPONSE, "TA RESPONSE" }, - { 0x04, "Reserved" }, - { 0x05, "Reserved" }, - { BSSLAP_REJECT, "REJECT" }, - { BSSLAP_RESET, "RESET" }, - { BSSLAP_ABORT, "ABORT" }, - { BSSLAP_TA_LAYER3, "TA LAYER3" }, - { BSSLAP_MS_POS_CMD, "MS Position Command" }, - { BSSLAP_MS_POS_RES, "MS Position Response" }, - { BSSLAP_U_TDOA_REQ, "U-TDOA Request" }, - { BSSLAP_U_TDOA_RES, "U-TDOA Response" }, - { 0, NULL } + { 0x00, "Reserved" }, + { BSSLAP_TA_REQUEST, "TA REQUEST" }, + { BSSLAP_TA_RESPONSE, "TA RESPONSE" }, + { 0x04, "Reserved" }, + { 0x05, "Reserved" }, + { BSSLAP_REJECT, "REJECT" }, + { BSSLAP_RESET, "RESET" }, + { BSSLAP_ABORT, "ABORT" }, + { BSSLAP_TA_LAYER3, "TA LAYER3" }, + { BSSLAP_MS_POS_CMD, "MS Position Command" }, + { BSSLAP_MS_POS_RES, "MS Position Response" }, + { BSSLAP_U_TDOA_REQ, "U-TDOA Request" }, + { BSSLAP_U_TDOA_RES, "U-TDOA Response" }, + { 0, NULL } }; -#define NUM_GSM_BSSLAP_ELEM (sizeof(gsm_bsslap_elem_strings)/sizeof(value_string)) +#define NUM_GSM_BSSLAP_ELEM (sizeof(gsm_bsslap_elem_strings)/sizeof(value_string)) gint ett_gsm_bsslap_elem[NUM_GSM_BSSLAP_ELEM]; /* @@ -168,13 +168,13 @@ gint ett_gsm_bsslap_elem[NUM_GSM_BSSLAP_ELEM]; static guint16 de_ta(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_) { - guint32 curr_offset; + guint32 curr_offset; - curr_offset = offset; - proto_tree_add_item(tree, hf_gsm_bsslap_ta, tvb, curr_offset, 1, ENC_BIG_ENDIAN); - curr_offset++; + curr_offset = offset; + proto_tree_add_item(tree, hf_gsm_bsslap_ta, tvb, curr_offset, 1, ENC_BIG_ENDIAN); + curr_offset++; - return(curr_offset - offset); + return(curr_offset - offset); } /* * 5.12 Measurement Report IE @@ -183,80 +183,80 @@ de_ta(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, g static guint16 de_meas_rep(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_) { - guint32 curr_offset; + guint32 curr_offset; - curr_offset = offset; - proto_tree_add_text(tree,tvb, curr_offset, len,"Not decoded yet"); + curr_offset = offset; + proto_tree_add_text(tree,tvb, curr_offset, len,"Not decoded yet"); - return(len); + return(len); } #endif /* * 5.14 Cause IE */ static const value_string gsm_bsslap_cause_vals[] = { - { 0x00, "Congestion" }, - { 0x01, "Channel Mode not supported" }, - { 0x02, "Positioning procedure not supported" }, - { 0x03, "Failure for other radio related events" }, - { 0x04, "Intra-BSS handover" }, - { 0x05, "Supervision Timer Expired" }, - { 0x06, "Inter-BSS handover" }, - { 0x07, "Loss of signalling connection to MS" }, - { 0x08, "Incorrect serving cell identity" }, - { 0x09, "BSSAP-LE Segmentation error" }, - { 0, NULL } + { 0x00, "Congestion" }, + { 0x01, "Channel Mode not supported" }, + { 0x02, "Positioning procedure not supported" }, + { 0x03, "Failure for other radio related events" }, + { 0x04, "Intra-BSS handover" }, + { 0x05, "Supervision Timer Expired" }, + { 0x06, "Inter-BSS handover" }, + { 0x07, "Loss of signalling connection to MS" }, + { 0x08, "Incorrect serving cell identity" }, + { 0x09, "BSSAP-LE Segmentation error" }, + { 0, NULL } }; static guint16 de_bsslap_cause(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_) { - guint32 curr_offset; + guint32 curr_offset; - curr_offset = offset; - proto_tree_add_item(tree, hf_gsm_bsslap_cause, tvb, curr_offset, 1, ENC_BIG_ENDIAN); - curr_offset++; + curr_offset = offset; + proto_tree_add_item(tree, hf_gsm_bsslap_cause, tvb, curr_offset, 1, ENC_BIG_ENDIAN); + curr_offset++; - return(curr_offset - offset); + return(curr_offset - offset); } /* * 5.15 RRLP Flag IE */ static const true_false_string gsm_bsslap_rrlp_flg_vals = { - "Not a Positioning Command or final response." , - "Position Command (SMLC to BSC) or final response (BSC to SMLC)" + "Not a Positioning Command or final response." , + "Position Command (SMLC to BSC) or final response (BSC to SMLC)" }; static guint16 de_rrlp_flg(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_) { - guint32 curr_offset; + guint32 curr_offset; - curr_offset = offset; - proto_tree_add_item(tree, hf_gsm_bsslap_rrlp_flg, tvb, curr_offset, 1, ENC_BIG_ENDIAN); - curr_offset++; + curr_offset = offset; + proto_tree_add_item(tree, hf_gsm_bsslap_rrlp_flg, tvb, curr_offset, 1, ENC_BIG_ENDIAN); + curr_offset++; - return(curr_offset - offset); + return(curr_offset - offset); } static guint16 de_rrlp_ie(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_) { - guint32 curr_offset; - tvbuff_t *rrlp_tvb; - guint16 length; - - length = tvb_get_ntohs(tvb, offset); - - curr_offset = offset + 2; - if (length > 0) - { - rrlp_tvb = tvb_new_subset_length(tvb, curr_offset, length); - if (bsslap_rrlp_handle) - call_dissector(bsslap_rrlp_handle, rrlp_tvb, pinfo, tree); - } - - curr_offset += length; - return(curr_offset - offset); + guint32 curr_offset; + tvbuff_t *rrlp_tvb; + guint16 length; + + length = tvb_get_ntohs(tvb, offset); + + curr_offset = offset + 2; + if (length > 0) + { + rrlp_tvb = tvb_new_subset_length(tvb, curr_offset, length); + if (bsslap_rrlp_handle) + call_dissector(bsslap_rrlp_handle, rrlp_tvb, pinfo, tree); + } + + curr_offset += length; + return(curr_offset - offset); } /* * 5.17 Cell Identity List IE @@ -265,11 +265,11 @@ de_rrlp_ie(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, * The Cell identification discriminator i is coded as follows: */ static const value_string gsm_a_bsslap_cell_id_disc_vals[] = { - { 0x0, "The whole Cell Global Identification, CGI, is used to identify the 2G cells" }, - { 0x1, "Location Area Code, LAC, and Cell Identify, CI, are used to identify the 2G cells" }, - { 0x2, "3G Cell identification container 1" }, - { 0x3, "3G Cell identification container 2" }, - { 0, NULL } + { 0x0, "The whole Cell Global Identification, CGI, is used to identify the 2G cells" }, + { 0x1, "Location Area Code, LAC, and Cell Identify, CI, are used to identify the 2G cells" }, + { 0x2, "3G Cell identification container 1" }, + { 0x3, "3G Cell identification container 2" }, + { 0, NULL } }; @@ -277,55 +277,55 @@ static const value_string gsm_a_bsslap_cell_id_disc_vals[] = { static guint16 de_cell_id_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_) { - guint32 curr_offset; - guint8 consumed; - guint8 cell_id_disc; - guint8 num_cells; - proto_item *item = NULL; - proto_tree *subtree = NULL; - - curr_offset = offset; - cell_id_disc = tvb_get_guint8(tvb,curr_offset); - num_cells = 0; - - while(len>0){ - num_cells++; - consumed = 0; - subtree = proto_tree_add_subtree_format(tree, tvb, curr_offset, -1, ett_bsslap_cell_list, &item, "Cell %u", num_cells); - - if (add_string) - add_string[0] = '\0'; - proto_tree_add_item(subtree, hf_gsm_bsslap_cell_id_disc, tvb, curr_offset, 1, ENC_BIG_ENDIAN); - curr_offset++; - len--; - switch(cell_id_disc){ - case 0: - /* The whole Cell Global Identification, CGI, is used to identify the 2G cells. */ - consumed+= be_cell_id_aux(tvb, subtree, pinfo, curr_offset, len, NULL, 0, 0); - break; - case 1: - /* Location Area Code, LAC, and Cell Identify, CI, are used to identify the 2G cells. */ - consumed+= be_cell_id_aux(tvb, subtree, pinfo, curr_offset, len, NULL, 0, 1); - break; - case 2: - /* 3G Cell identification container 1 */ - /* fall trough */ - case 3: - /* 3G Cell identification container 2 */ - /* fall trough */ - default: - proto_tree_add_text(subtree,tvb, curr_offset, len,"Not decoded yet"); - consumed = len; - break; - } - curr_offset += consumed; - len-=consumed; - /* lengt is "cell id" + discriminator */ - proto_item_set_len(item, consumed+1); - } - - - return(curr_offset - offset); + guint32 curr_offset; + guint8 consumed; + guint8 cell_id_disc; + guint8 num_cells; + proto_item *item = NULL; + proto_tree *subtree = NULL; + + curr_offset = offset; + cell_id_disc = tvb_get_guint8(tvb,curr_offset); + num_cells = 0; + + while(len>0){ + num_cells++; + consumed = 0; + subtree = proto_tree_add_subtree_format(tree, tvb, curr_offset, -1, ett_bsslap_cell_list, &item, "Cell %u", num_cells); + + if (add_string) + add_string[0] = '\0'; + proto_tree_add_item(subtree, hf_gsm_bsslap_cell_id_disc, tvb, curr_offset, 1, ENC_BIG_ENDIAN); + curr_offset++; + len--; + switch(cell_id_disc){ + case 0: + /* The whole Cell Global Identification, CGI, is used to identify the 2G cells. */ + consumed+= be_cell_id_aux(tvb, subtree, pinfo, curr_offset, len, NULL, 0, 0); + break; + case 1: + /* Location Area Code, LAC, and Cell Identify, CI, are used to identify the 2G cells. */ + consumed+= be_cell_id_aux(tvb, subtree, pinfo, curr_offset, len, NULL, 0, 1); + break; + case 2: + /* 3G Cell identification container 1 */ + /* fall trough */ + case 3: + /* 3G Cell identification container 2 */ + /* fall trough */ + default: + proto_tree_add_text(subtree,tvb, curr_offset, len,"Not decoded yet"); + consumed = len; + break; + } + curr_offset += consumed; + len-=consumed; + /* lengt is "cell id" + discriminator */ + proto_item_set_len(item, consumed+1); + } + + + return(curr_offset - offset); } /* * 5.18 Enhanced Measurement Report IE @@ -336,13 +336,13 @@ de_cell_id_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 off static guint16 de_enh_meas_rep(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_) { - guint32 curr_offset; + guint32 curr_offset; - curr_offset = offset; - proto_tree_add_text(tree,tvb, curr_offset, len,"Not decoded yet"); + curr_offset = offset; + proto_tree_add_text(tree,tvb, curr_offset, len,"Not decoded yet"); - return(len); + return(len); } /* * 5.19 Location Area Code IE @@ -350,13 +350,13 @@ de_enh_meas_rep(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 static guint16 de_lac(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_) { - guint32 curr_offset; + guint32 curr_offset; - curr_offset = offset; - proto_tree_add_item(tree, hf_gsm_bsslap_lac, tvb, curr_offset, 1, ENC_BIG_ENDIAN); - curr_offset++; + curr_offset = offset; + proto_tree_add_item(tree, hf_gsm_bsslap_lac, tvb, curr_offset, 1, ENC_BIG_ENDIAN); + curr_offset++; - return(curr_offset - offset); + return(curr_offset - offset); } /* * 5.21 MS Power IE @@ -364,13 +364,13 @@ de_lac(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, static guint16 de_ms_pow(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_) { - guint32 curr_offset; + guint32 curr_offset; - curr_offset = offset; - proto_tree_add_item(tree, hf_gsm_bsslap_ms_pow, tvb, curr_offset, 1, ENC_BIG_ENDIAN); - curr_offset++; + curr_offset = offset; + proto_tree_add_item(tree, hf_gsm_bsslap_ms_pow, tvb, curr_offset, 1, ENC_BIG_ENDIAN); + curr_offset++; - return(curr_offset - offset); + return(curr_offset - offset); } /* @@ -379,13 +379,13 @@ de_ms_pow(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offse static guint16 de_delta_time(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_) { - guint32 curr_offset; + guint32 curr_offset; - curr_offset = offset; - proto_tree_add_item(tree, hf_gsm_bsslap_timer_value, tvb, curr_offset, 1, ENC_BIG_ENDIAN); - curr_offset++; + curr_offset = offset; + proto_tree_add_item(tree, hf_gsm_bsslap_timer_value, tvb, curr_offset, 1, ENC_BIG_ENDIAN); + curr_offset++; - return(curr_offset - offset); + return(curr_offset - offset); } /* * 5.23 Serving Cell Identifier IE @@ -397,13 +397,13 @@ de_delta_time(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 o static guint16 de_blap_enc_key(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_) { - guint32 curr_offset; + guint32 curr_offset; - curr_offset = offset; - proto_tree_add_text(tree,tvb, curr_offset, 8,"Encryption Key (Kc)"); - curr_offset = curr_offset + 8; + curr_offset = offset; + proto_tree_add_text(tree,tvb, curr_offset, 8,"Encryption Key (Kc)"); + curr_offset = curr_offset + 8; - return(curr_offset - offset); + return(curr_offset - offset); } /* * 5.25 Cipher Mode Setting IE @@ -423,13 +423,13 @@ de_blap_enc_key(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 static guint16 de_poll_rep(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_) { - guint32 curr_offset; + guint32 curr_offset; - curr_offset = offset; - proto_tree_add_item(tree, hf_gsm_bsslap_poll_rep, tvb, curr_offset, 1, ENC_BIG_ENDIAN); - curr_offset++; + curr_offset = offset; + proto_tree_add_item(tree, hf_gsm_bsslap_poll_rep, tvb, curr_offset, 1, ENC_BIG_ENDIAN); + curr_offset++; - return(curr_offset - offset); + return(curr_offset - offset); } /* * 5.29 Packet Channel Description IE @@ -440,13 +440,13 @@ de_poll_rep(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 off static guint16 de_pkt_ch_desc(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_) { - guint32 curr_offset; + guint32 curr_offset; - curr_offset = offset; - proto_tree_add_text(tree,tvb, curr_offset, len,"Not decoded yet"); + curr_offset = offset; + proto_tree_add_text(tree,tvb, curr_offset, len,"Not decoded yet"); - return(len); + return(len); } /* * 5.31 TFI IE @@ -459,13 +459,13 @@ de_pkt_ch_desc(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 static guint16 de_tfi(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_) { - guint32 curr_offset; + guint32 curr_offset; - curr_offset = offset; - proto_tree_add_item(tree, hf_gsm_bsslap_tfi, tvb, curr_offset, 1, ENC_BIG_ENDIAN); - curr_offset++; + curr_offset = offset; + proto_tree_add_item(tree, hf_gsm_bsslap_tfi, tvb, curr_offset, 1, ENC_BIG_ENDIAN); + curr_offset++; - return(curr_offset - offset); + return(curr_offset - offset); } /* @@ -478,104 +478,104 @@ Note this enum must be of the same size as the element decoding list typedef enum { - /. BSS LAP Elements 5 ./ - DE_BLAP_RES1, /. Reserved ./ - DE_BLAP_TA, /. Timing Advance ./ - DE_BLAP_RES3, /. Reserved ./ /. (note) ./ - DE_BLAP_RES4, /. Cell Identity ./ - DE_BLAP_RES5, /. Reserved ./ /. (note) ./ - DE_BLAP_RES6, /. Reserved ./ /. (note) ./ - DE_BLAP_RES7, /. Reserved ./ /. (note) ./ - DE_BLAP_CH_DESC, /. Channel Description ./ - DE_BLAP_RES9, /. Reserved ./ /. (note) ./ - DE_BLAP_RES10, /. Reserved ./ /. (note) ./ - DE_BLAP_RES11, /. Reserved ./ /. (note) ./ - DE_BLAP_MEAS_REP, /. Measurement Report ./ - DE_BLAP_RES13, /. Reserved ./ /. (note) ./ - DE_BLAP_CAUSE, /. Cause ./ - DE_BLAP_RRLP_FLG, /. RRLP Flag ./ - DE_BLAP_RRLP_IE, /. RRLP IE ./ - DE_BLAP_CELL_ID_LIST, /. Cell Identity List ./ - DE_BLAP_ENH_MEAS_REP, /. Enhanced Measurement Report ./ - DE_BLAP_LAC, /. Location Area Code ./ - DE_BLAP_FREQ_LIST, /. Frequency List ./ - DE_BLAP_MS_POW, /. MS Power ./ - DE_BLAP_DELTA_TIME, /. Delta Timer ./ - DE_BLAP_SERV_CELL_ID, /. Serving Cell Identifier ./ - DE_BLAP_ENC_KEY, /. Encryption Key (Kc) ./ - DE_BLAP_CIP_M_SET, /. Cipher Mode Setting ./ - DE_BLAP_CH_MODE, /. Channel Mode ./ - DE_BLAP_POLL_REP, /. Polling Repetition ./ - DE_BLAP_PKT_CH_DESC, /. Packet Channel Description ./ - DE_BLAP_TLLI, /. TLLI ./ - DE_BLAP_TFI, /. TFI ./ - DE_BLAP_START_TIME, /. Starting Time ./ - BSSLAP_NONE /. NONE ./ + /. BSS LAP Elements 5 ./ + DE_BLAP_RES1, /. Reserved ./ + DE_BLAP_TA, /. Timing Advance ./ + DE_BLAP_RES3, /. Reserved ./ /. (note) ./ + DE_BLAP_RES4, /. Cell Identity ./ + DE_BLAP_RES5, /. Reserved ./ /. (note) ./ + DE_BLAP_RES6, /. Reserved ./ /. (note) ./ + DE_BLAP_RES7, /. Reserved ./ /. (note) ./ + DE_BLAP_CH_DESC, /. Channel Description ./ + DE_BLAP_RES9, /. Reserved ./ /. (note) ./ + DE_BLAP_RES10, /. Reserved ./ /. (note) ./ + DE_BLAP_RES11, /. Reserved ./ /. (note) ./ + DE_BLAP_MEAS_REP, /. Measurement Report ./ + DE_BLAP_RES13, /. Reserved ./ /. (note) ./ + DE_BLAP_CAUSE, /. Cause ./ + DE_BLAP_RRLP_FLG, /. RRLP Flag ./ + DE_BLAP_RRLP_IE, /. RRLP IE ./ + DE_BLAP_CELL_ID_LIST, /. Cell Identity List ./ + DE_BLAP_ENH_MEAS_REP, /. Enhanced Measurement Report ./ + DE_BLAP_LAC, /. Location Area Code ./ + DE_BLAP_FREQ_LIST, /. Frequency List ./ + DE_BLAP_MS_POW, /. MS Power ./ + DE_BLAP_DELTA_TIME, /. Delta Timer ./ + DE_BLAP_SERV_CELL_ID, /. Serving Cell Identifier ./ + DE_BLAP_ENC_KEY, /. Encryption Key (Kc) ./ + DE_BLAP_CIP_M_SET, /. Cipher Mode Setting ./ + DE_BLAP_CH_MODE, /. Channel Mode ./ + DE_BLAP_POLL_REP, /. Polling Repetition ./ + DE_BLAP_PKT_CH_DESC, /. Packet Channel Description ./ + DE_BLAP_TLLI, /. TLLI ./ + DE_BLAP_TFI, /. TFI ./ + DE_BLAP_START_TIME, /. Starting Time ./ + BSSLAP_NONE /. NONE ./ } bsslap_elem_idx_t; */ elem_fcn bsslap_elem_fcn[] = { - /* BSS LAP Elements 5 */ - NULL, /* Reserved */ - de_ta, /* Timing Advance */ - NULL, /* Reserved */ /* (note) */ - NULL, /* "Cell Identity */ - NULL, /* "Reserved */ /* (note) */ - NULL, /* "Reserved */ /* (note) */ - NULL, /* "Reserved */ /* (note) */ - NULL, /* "Channel Description */ - NULL, /* "Reserved */ /* (note) */ - NULL, /* Reserved */ /* (note) */ - NULL, /* Reserved */ /* (note) */ - de_rr_meas_res, /* "Measurement Report */ - NULL, /* "Reserved */ /* (note) */ - de_bsslap_cause, /* "Cause */ - de_rrlp_flg, /* "RRLP Flag */ - de_rrlp_ie, /* "RRLP IE */ - de_cell_id_list, /* "Cell Identity List */ - de_enh_meas_rep, /* Enhanced Measurement Report */ - de_lac, /* "Location Area Code */ - NULL, /* "Frequency List */ - de_ms_pow, /* MS Power */ - de_delta_time, /* Delta Timer */ - NULL, /* Serving Cell Identifier */ - de_blap_enc_key, /* Encryption Key (Kc) */ - NULL, /* Cipher Mode Setting */ - NULL, /* Channel Mode */ - de_poll_rep, /* Polling Repetition */ - de_pkt_ch_desc, /* Packet Channel Description */ - NULL, /* TLLI */ - de_tfi, /* TFI */ - NULL, /* Starting Time */ - NULL, /* NONE */ + /* BSS LAP Elements 5 */ + NULL, /* Reserved */ + de_ta, /* Timing Advance */ + NULL, /* Reserved */ /* (note) */ + NULL, /* "Cell Identity */ + NULL, /* "Reserved */ /* (note) */ + NULL, /* "Reserved */ /* (note) */ + NULL, /* "Reserved */ /* (note) */ + NULL, /* "Channel Description */ + NULL, /* "Reserved */ /* (note) */ + NULL, /* Reserved */ /* (note) */ + NULL, /* Reserved */ /* (note) */ + de_rr_meas_res, /* "Measurement Report */ + NULL, /* "Reserved */ /* (note) */ + de_bsslap_cause, /* "Cause */ + de_rrlp_flg, /* "RRLP Flag */ + de_rrlp_ie, /* "RRLP IE */ + de_cell_id_list, /* "Cell Identity List */ + de_enh_meas_rep, /* Enhanced Measurement Report */ + de_lac, /* "Location Area Code */ + NULL, /* "Frequency List */ + de_ms_pow, /* MS Power */ + de_delta_time, /* Delta Timer */ + NULL, /* Serving Cell Identifier */ + de_blap_enc_key, /* Encryption Key (Kc) */ + NULL, /* Cipher Mode Setting */ + NULL, /* Channel Mode */ + de_poll_rep, /* Polling Repetition */ + de_pkt_ch_desc, /* Packet Channel Description */ + NULL, /* TLLI */ + de_tfi, /* TFI */ + NULL, /* Starting Time */ + NULL, /* NONE */ }; -#define NUM_GSM_BSSLAP_MSG (sizeof(gsm_a_bsslap_msg_strings)/sizeof(value_string)) +#define NUM_GSM_BSSLAP_MSG (sizeof(gsm_a_bsslap_msg_strings)/sizeof(value_string)) static gint ett_gsm_bsslap_msg[NUM_GSM_BSSLAP_MSG]; /* 4.2.2 TA Response ETSI TS 148 071 V7.2.0 (2007-06) */ static void dissect_gsm_bsslap_ta_res(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int offset) { - guint32 curr_offset; - guint32 consumed; - guint curr_len; - - curr_offset = offset; - curr_len = tvb_length_remaining(tvb,offset); - - /* Cell Identity IE / 5.4 M TV 3 */ - ELEM_MAND_TV(BSSLAP_PARAM_CELL_IDENTITY, GSM_A_PDU_TYPE_COMMON, DE_CELL_ID, "Serving Cell Identity"); - /* Timing Advance IE / 5.2 M TV 2 */ - ELEM_MAND_TV(BSSLAP_PARAM_TIMING_ADVANCE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TA, NULL); - /* Measurement Report IE / 5.12 O TLV 18 */ - ELEM_OPT_TLV(BSSLAP_PARAM_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_MEAS_REP, " BSSLAP"); - /* Enhanced Measurement Report IE / 5.18 O TLV 4-n */ - ELEM_OPT_TLV(BSSLAP_PARAM_ENHANCED_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_ENH_MEAS_REP, NULL); - /* Cell Identity List IE / 5.17 O TLV 6-n */ - ELEM_OPT_TLV(BSSLAP_PARAM_CELL_IDENTITY_LIST, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CELL_ID_LIST, "-Measured Cell"); - - return; + guint32 curr_offset; + guint32 consumed; + guint curr_len; + + curr_offset = offset; + curr_len = tvb_length_remaining(tvb,offset); + + /* Cell Identity IE / 5.4 M TV 3 */ + ELEM_MAND_TV(BSSLAP_PARAM_CELL_IDENTITY, GSM_A_PDU_TYPE_COMMON, DE_CELL_ID, "Serving Cell Identity"); + /* Timing Advance IE / 5.2 M TV 2 */ + ELEM_MAND_TV(BSSLAP_PARAM_TIMING_ADVANCE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TA, NULL); + /* Measurement Report IE / 5.12 O TLV 18 */ + ELEM_OPT_TLV(BSSLAP_PARAM_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_MEAS_REP, " BSSLAP"); + /* Enhanced Measurement Report IE / 5.18 O TLV 4-n */ + ELEM_OPT_TLV(BSSLAP_PARAM_ENHANCED_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_ENH_MEAS_REP, NULL); + /* Cell Identity List IE / 5.17 O TLV 6-n */ + ELEM_OPT_TLV(BSSLAP_PARAM_CELL_IDENTITY_LIST, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CELL_ID_LIST, "-Measured Cell"); + + return; } @@ -586,263 +586,263 @@ dissect_gsm_bsslap_ta_res(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, i static void dissect_gsm_bsslap_reject(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int offset) { - guint32 curr_offset; - guint32 consumed; - guint curr_len; + guint32 curr_offset; + guint32 consumed; + guint curr_len; - curr_offset = offset; - curr_len = tvb_length_remaining(tvb,offset); + curr_offset = offset; + curr_len = tvb_length_remaining(tvb,offset); - /* Cause IE / 5.14 M TV 2 */ - ELEM_MAND_TV(BSSLAP_PARAM_CAUSE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CAUSE,NULL); + /* Cause IE / 5.14 M TV 2 */ + ELEM_MAND_TV(BSSLAP_PARAM_CAUSE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CAUSE,NULL); - return; + return; } /* 4.2.6 Reset ETSI TS 148 071 V7.2.0 (2007-06) */ static void dissect_gsm_bsslap_reset(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int offset) { - guint32 curr_offset; - guint32 consumed; - guint curr_len; - - curr_offset = offset; - curr_len = tvb_length_remaining(tvb,offset); - - /* Cell Identity IE / 5.4 M TV 3 */ - ELEM_MAND_TV(BSSLAP_PARAM_CELL_IDENTITY, GSM_A_PDU_TYPE_COMMON, DE_CELL_ID, NULL); - /* Timing Advance IE / 5.2 M TV 2 */ - ELEM_MAND_TV(BSSLAP_PARAM_TIMING_ADVANCE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TA, NULL); - /* Channel Description IE / 5.8 M TV 4 */ - ELEM_MAND_TV(BSSLAP_PARAM_CHANNEL_DESCRIPTION,GSM_A_PDU_TYPE_RR, DE_RR_CH_DSC,NULL); - /* Cause IE / 5.1 M TV 2 */ - ELEM_MAND_TV(BSSLAP_PARAM_CAUSE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CAUSE,NULL); - /* Measurement Report Measurement Report IE / 5.12 O TLV 18 */ - ELEM_OPT_TLV(BSSLAP_PARAM_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_MEAS_REP, " BSSLAP"); - /* Enhanced Measurement Report Enhanced Measurement Report IE / 5.18 O TLV 4-n */ - ELEM_OPT_TLV(BSSLAP_PARAM_ENHANCED_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_ENH_MEAS_REP, NULL); - /* Cell Identity List IE / 5.17 O TLV 6-n */ - ELEM_OPT_TLV(BSSLAP_PARAM_CELL_IDENTITY_LIST, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CELL_ID_LIST, "-Measured Cell"); - /* LAC Location Area Code IE / 5.19 O TV 3 */ - ELEM_OPT_TLV(BSSLAP_PARAM_LOCATION_AREA_CODE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_LAC, NULL); - /* Frequency List Frequency List IE 5.20 C (note 1) TLV 3-n */ - ELEM_OPT_TLV(BSSLAP_PARAM_FREQUENCY_LIST, GSM_A_PDU_TYPE_RR, DE_RR_FREQ_LIST, NULL); - /* Channel Mode IE 5.26 C (notes 2 & 4) TV 2 */ - ELEM_OPT_TV(BSSLAP_PARAM_CHANNEL_MODE, GSM_A_PDU_TYPE_RR, DE_RR_CH_MODE, NULL); - /* MultiRate Configuration 5.27 C (notes 3 & 4) TLV 4-n */ - ELEM_OPT_TLV(BSSLAP_PARAM_MULTIRATE_CONFIGURATION, GSM_A_PDU_TYPE_RR, DE_RR_MULTIRATE_CONF, NULL); - /* Packet Channel Description Packet Channel Description IE 5.29 C (note 5) TV 4 */ - ELEM_OPT_TLV(BSSLAP_PARAM_PACKET_CHANNEL_DESCRIPTION, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_PKT_CH_DESC, NULL); - /* TLLI IE 5.30 C (note 5) TV 5 */ - ELEM_OPT_TV(BSSLAP_PARAM_TLLI, GSM_A_PDU_TYPE_RR, DE_RR_TLLI,NULL); - /* TFI 5.31 C (note 5) TV 2 */ - ELEM_OPT_TV(BSSLAP_PARAM_TFI, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TFI,NULL); - /* Starting Time IE 5.32 C (note 5) TV 3 */ - ELEM_OPT_TV(BSSLAP_PARAM_STARTING_TIME, GSM_A_PDU_TYPE_RR, DE_RR_STARTING_TIME, "TBF Starting Time"); - /* Encryption Key IE 5.24 C (note 4) TV 9 */ - ELEM_OPT_TV(BSSLAP_PARAM_ENCRYPTION_KEY, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_ENC_KEY,NULL); - /* Cipher Mode Setting IE 5.25 C (note 4) TV 2 */ - ELEM_OPT_TV(BSSLAP_PARAM_CIPHER_MODE_SETTING, GSM_A_PDU_TYPE_RR, DE_RR_CIP_MODE_SET, NULL); - return; + guint32 curr_offset; + guint32 consumed; + guint curr_len; + + curr_offset = offset; + curr_len = tvb_length_remaining(tvb,offset); + + /* Cell Identity IE / 5.4 M TV 3 */ + ELEM_MAND_TV(BSSLAP_PARAM_CELL_IDENTITY, GSM_A_PDU_TYPE_COMMON, DE_CELL_ID, NULL); + /* Timing Advance IE / 5.2 M TV 2 */ + ELEM_MAND_TV(BSSLAP_PARAM_TIMING_ADVANCE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TA, NULL); + /* Channel Description IE / 5.8 M TV 4 */ + ELEM_MAND_TV(BSSLAP_PARAM_CHANNEL_DESCRIPTION,GSM_A_PDU_TYPE_RR, DE_RR_CH_DSC,NULL); + /* Cause IE / 5.1 M TV 2 */ + ELEM_MAND_TV(BSSLAP_PARAM_CAUSE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CAUSE,NULL); + /* Measurement Report Measurement Report IE / 5.12 O TLV 18 */ + ELEM_OPT_TLV(BSSLAP_PARAM_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_MEAS_REP, " BSSLAP"); + /* Enhanced Measurement Report Enhanced Measurement Report IE / 5.18 O TLV 4-n */ + ELEM_OPT_TLV(BSSLAP_PARAM_ENHANCED_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_ENH_MEAS_REP, NULL); + /* Cell Identity List IE / 5.17 O TLV 6-n */ + ELEM_OPT_TLV(BSSLAP_PARAM_CELL_IDENTITY_LIST, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CELL_ID_LIST, "-Measured Cell"); + /* LAC Location Area Code IE / 5.19 O TV 3 */ + ELEM_OPT_TLV(BSSLAP_PARAM_LOCATION_AREA_CODE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_LAC, NULL); + /* Frequency List Frequency List IE 5.20 C (note 1) TLV 3-n */ + ELEM_OPT_TLV(BSSLAP_PARAM_FREQUENCY_LIST, GSM_A_PDU_TYPE_RR, DE_RR_FREQ_LIST, NULL); + /* Channel Mode IE 5.26 C (notes 2 & 4) TV 2 */ + ELEM_OPT_TV(BSSLAP_PARAM_CHANNEL_MODE, GSM_A_PDU_TYPE_RR, DE_RR_CH_MODE, NULL); + /* MultiRate Configuration 5.27 C (notes 3 & 4) TLV 4-n */ + ELEM_OPT_TLV(BSSLAP_PARAM_MULTIRATE_CONFIGURATION, GSM_A_PDU_TYPE_RR, DE_RR_MULTIRATE_CONF, NULL); + /* Packet Channel Description Packet Channel Description IE 5.29 C (note 5) TV 4 */ + ELEM_OPT_TLV(BSSLAP_PARAM_PACKET_CHANNEL_DESCRIPTION, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_PKT_CH_DESC, NULL); + /* TLLI IE 5.30 C (note 5) TV 5 */ + ELEM_OPT_TV(BSSLAP_PARAM_TLLI, GSM_A_PDU_TYPE_RR, DE_RR_TLLI,NULL); + /* TFI 5.31 C (note 5) TV 2 */ + ELEM_OPT_TV(BSSLAP_PARAM_TFI, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TFI,NULL); + /* Starting Time IE 5.32 C (note 5) TV 3 */ + ELEM_OPT_TV(BSSLAP_PARAM_STARTING_TIME, GSM_A_PDU_TYPE_RR, DE_RR_STARTING_TIME, "TBF Starting Time"); + /* Encryption Key IE 5.24 C (note 4) TV 9 */ + ELEM_OPT_TV(BSSLAP_PARAM_ENCRYPTION_KEY, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_ENC_KEY,NULL); + /* Cipher Mode Setting IE 5.25 C (note 4) TV 2 */ + ELEM_OPT_TV(BSSLAP_PARAM_CIPHER_MODE_SETTING, GSM_A_PDU_TYPE_RR, DE_RR_CIP_MODE_SET, NULL); + return; } /* 4.2.7 Abort ETSI TS 148 071 V7.2.0 (2007-06) */ static void dissect_gsm_bsslap_abort(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int offset) { - guint32 curr_offset; - guint32 consumed; - guint curr_len; + guint32 curr_offset; + guint32 consumed; + guint curr_len; - curr_offset = offset; - curr_len = tvb_length_remaining(tvb,offset); + curr_offset = offset; + curr_len = tvb_length_remaining(tvb,offset); - /* Cause IE / 5.14 M TV 2 */ - ELEM_MAND_TV(BSSLAP_PARAM_CAUSE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CAUSE,NULL); + /* Cause IE / 5.14 M TV 2 */ + ELEM_MAND_TV(BSSLAP_PARAM_CAUSE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CAUSE,NULL); - return; + return; } /* 4.2.8 TA Layer3 ETSI TS 148 071 V7.2.0 (2007-06) */ static void dissect_gsm_bsslap_ta_layer3(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int offset) { - guint32 curr_offset; - guint32 consumed; - guint curr_len; - - curr_offset = offset; - curr_len = tvb_length_remaining(tvb,offset); - - /* Timing Advance IE / 5.2 M TV 2 */ - ELEM_MAND_TV(BSSLAP_PARAM_TIMING_ADVANCE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TA, NULL); - /* Measurement Report IE / 5.12 O TLV 18 */ - ELEM_OPT_TLV(BSSLAP_PARAM_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_MEAS_REP, " BSSLAP"); - /* Enhanced Measurement Report IE / 5.18 O TLV 4-n */ - ELEM_OPT_TLV(BSSLAP_PARAM_ENHANCED_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_ENH_MEAS_REP, NULL); - /*Cell Identity List IE / 5.17 O TLV 6-n */ - ELEM_OPT_TLV(BSSLAP_PARAM_CELL_IDENTITY_LIST, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CELL_ID_LIST, "-Measured Cell"); - return; + guint32 curr_offset; + guint32 consumed; + guint curr_len; + + curr_offset = offset; + curr_len = tvb_length_remaining(tvb,offset); + + /* Timing Advance IE / 5.2 M TV 2 */ + ELEM_MAND_TV(BSSLAP_PARAM_TIMING_ADVANCE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TA, NULL); + /* Measurement Report IE / 5.12 O TLV 18 */ + ELEM_OPT_TLV(BSSLAP_PARAM_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_MEAS_REP, " BSSLAP"); + /* Enhanced Measurement Report IE / 5.18 O TLV 4-n */ + ELEM_OPT_TLV(BSSLAP_PARAM_ENHANCED_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_ENH_MEAS_REP, NULL); + /*Cell Identity List IE / 5.17 O TLV 6-n */ + ELEM_OPT_TLV(BSSLAP_PARAM_CELL_IDENTITY_LIST, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CELL_ID_LIST, "-Measured Cell"); + return; } /* 4.2.9 MS Position Command ETSI TS 148 071 V7.2.0 (2007-06) */ static void dissect_gsm_bsslap_ms_pos_cmd(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int offset) { - guint32 curr_offset; - guint32 consumed; - guint curr_len; - - curr_offset = offset; - curr_len = tvb_length_remaining(tvb,offset); - - /* RRLP flag IE / 5.15 M TV 2 */ - ELEM_MAND_TV(BSSLAP_PARAM_RRLP_FLAG, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_RRLP_FLG,"flag"); - /* RRLP IE / 5.16 M TLV 3-n */ - ELEM_MAND_TV(BSSLAP_PARAM_RRLP_IE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_RRLP_IE,"RRLP Info"); - return; + guint32 curr_offset; + guint32 consumed; + guint curr_len; + + curr_offset = offset; + curr_len = tvb_length_remaining(tvb,offset); + + /* RRLP flag IE / 5.15 M TV 2 */ + ELEM_MAND_TV(BSSLAP_PARAM_RRLP_FLAG, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_RRLP_FLG,"flag"); + /* RRLP IE / 5.16 M TLV 3-n */ + ELEM_MAND_TV(BSSLAP_PARAM_RRLP_IE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_RRLP_IE,"RRLP Info"); + return; } /* 4.2.10 MS Position Response ETSI TS 148 071 V7.2.0 (2007-06) */ static void dissect_gsm_bsslap_ms_pos_res(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int offset) { - guint32 curr_offset; - guint32 consumed; - guint curr_len; - - curr_offset = offset; - curr_len = tvb_length_remaining(tvb,offset); - - /* flag RRLP flag IE / 5.15 M TV 2 */ - ELEM_MAND_TV(BSSLAP_PARAM_RRLP_FLAG, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_RRLP_FLG,"flag"); - /* RRLP Info RRLP IE / 5.16 M TLV 3-n */ - ELEM_MAND_TV(BSSLAP_PARAM_RRLP_IE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_RRLP_IE,"RRLP Info"); - /* Timing Advance IE / 5.2 O TV 2 */ - ELEM_OPT_TV(BSSLAP_PARAM_TIMING_ADVANCE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TA, NULL); - /* Measurement Report IE / 5.12 O TLV 18 */ - ELEM_OPT_TLV(BSSLAP_PARAM_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_MEAS_REP, " BSSLAP"); - /* Enhanced Measurement Report IE / 5.18 O TLV 4-n */ - ELEM_OPT_TLV(BSSLAP_PARAM_ENHANCED_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_ENH_MEAS_REP, NULL); - /* Cell Identity List IE / 5.17 O TLV 6-n */ - ELEM_OPT_TLV(BSSLAP_PARAM_CELL_IDENTITY_LIST, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CELL_ID_LIST, "-Measured Cell"); - return; + guint32 curr_offset; + guint32 consumed; + guint curr_len; + + curr_offset = offset; + curr_len = tvb_length_remaining(tvb,offset); + + /* flag RRLP flag IE / 5.15 M TV 2 */ + ELEM_MAND_TV(BSSLAP_PARAM_RRLP_FLAG, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_RRLP_FLG,"flag"); + /* RRLP Info RRLP IE / 5.16 M TLV 3-n */ + ELEM_MAND_TV(BSSLAP_PARAM_RRLP_IE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_RRLP_IE,"RRLP Info"); + /* Timing Advance IE / 5.2 O TV 2 */ + ELEM_OPT_TV(BSSLAP_PARAM_TIMING_ADVANCE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TA, NULL); + /* Measurement Report IE / 5.12 O TLV 18 */ + ELEM_OPT_TLV(BSSLAP_PARAM_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_MEAS_REP, " BSSLAP"); + /* Enhanced Measurement Report IE / 5.18 O TLV 4-n */ + ELEM_OPT_TLV(BSSLAP_PARAM_ENHANCED_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_ENH_MEAS_REP, NULL); + /* Cell Identity List IE / 5.17 O TLV 6-n */ + ELEM_OPT_TLV(BSSLAP_PARAM_CELL_IDENTITY_LIST, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CELL_ID_LIST, "-Measured Cell"); + return; } /* 4.2.11 U-TDOA Request ETSI TS 148 071 V7.2.0 (2007-06) */ static void dissect_gsm_bsslap_u_tdoa_req(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int offset) { - guint32 curr_offset; - guint32 consumed; - guint curr_len; + guint32 curr_offset; + guint32 consumed; + guint curr_len; - curr_offset = offset; - curr_len = tvb_length_remaining(tvb,offset); + curr_offset = offset; + curr_len = tvb_length_remaining(tvb,offset); - /* Delta Timer IE 5.22 O (note 1) TV 2 */ - ELEM_OPT_TV(BSSLAP_PARAM_DELTA_TIMER, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_DELTA_TIME, NULL); - /* Polling Repitition IE 5.28 (note) C (note 2) TV 2 */ - ELEM_OPT_TV(BSSLAP_PARAM_POLLING_REPETITION, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_POLL_REP, NULL); + /* Delta Timer IE 5.22 O (note 1) TV 2 */ + ELEM_OPT_TV(BSSLAP_PARAM_DELTA_TIMER, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_DELTA_TIME, NULL); + /* Polling Repitition IE 5.28 (note) C (note 2) TV 2 */ + ELEM_OPT_TV(BSSLAP_PARAM_POLLING_REPETITION, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_POLL_REP, NULL); - return; + return; } /* 4.2.12 U-TDOA Response ETSI TS 148 071 V7.2.0 (2007-06) */ static void dissect_gsm_bsslap_u_tdoa_res(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int offset) { - guint32 curr_offset; - guint32 consumed; - guint curr_len; - - curr_offset = offset; - curr_len = tvb_length_remaining(tvb,offset); - - /* Channel Description IE 5.8 M TV 4 */ - ELEM_MAND_TV(BSSLAP_PARAM_CHANNEL_DESCRIPTION,GSM_A_PDU_TYPE_RR, DE_RR_CH_DSC, NULL); - /* Serving Cell Identifier Cell Identifier IE 5.23 M TLV 4-n */ - ELEM_MAND_TLV(BSSLAP_PARAM_SERVING_CELL_IDENTIFIER,GSM_A_PDU_TYPE_BSSMAP, BE_CELL_ID, NULL); - /* Frequency List IE 5.20 C (note 3) TLV 3-n */ - ELEM_OPT_TLV(BSSLAP_PARAM_FREQUENCY_LIST, GSM_A_PDU_TYPE_RR, DE_RR_FREQ_LIST, NULL); - /* Timing Advance IE 5.2 O TV 2 */ - ELEM_OPT_TV(BSSLAP_PARAM_TIMING_ADVANCE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TA, NULL); - /* MS Power IE 5.21 O TV 2 */ - ELEM_OPT_TV(BSSLAP_PARAM_MS_POWER, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_MS_POW, NULL); - /* Measurement Report IE 5.12 O TLV 18 */ - ELEM_OPT_TLV(BSSLAP_PARAM_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_MEAS_REP, " BSSLAP"); - /* Encryption Key IE 5.24 C (note 4) TV 9 */ - ELEM_OPT_TV(BSSLAP_PARAM_ENCRYPTION_KEY, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_ENC_KEY, NULL); - /* Cipher Mode Setting IE 5.25 C (note 4) TV 2 */ - ELEM_OPT_TV(BSSLAP_PARAM_CIPHER_MODE_SETTING, GSM_A_PDU_TYPE_RR, DE_RR_CIP_MODE_SET, NULL); - /* Channel Mode IE 5.26 C (notes 1 & 4)TV 2 */ - ELEM_OPT_TV(BSSLAP_PARAM_CHANNEL_MODE, GSM_A_PDU_TYPE_RR, DE_RR_CH_MODE, NULL); - /* MultiRate Configuration IE 5.27 C (notes 1 & 4)TLV 4-n */ - ELEM_OPT_TLV(BSSLAP_PARAM_MULTIRATE_CONFIGURATION, GSM_A_PDU_TYPE_RR, DE_RR_MULTIRATE_CONF, NULL); - /* Cell Identity List IE / 5.17 O TLV 6-n */ - ELEM_OPT_TLV(BSSLAP_PARAM_CELL_IDENTITY_LIST, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CELL_ID_LIST, "-Measured Cell"); - /* Packet Channel Description IE 5.29 C (note 5) TV 4 */ - ELEM_OPT_TLV(BSSLAP_PARAM_PACKET_CHANNEL_DESCRIPTION, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_PKT_CH_DESC, NULL); - /* TLLI IE 5.30 C (note 5) TV 5 */ - ELEM_OPT_TV(BSSLAP_PARAM_TLLI, GSM_A_PDU_TYPE_RR, DE_RR_TLLI, NULL); - /* TFI IE 5.31 C (note 5) TV 2 BSSLAP_PARAM_TFI*/ - ELEM_OPT_TV(BSSLAP_PARAM_TFI, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TFI, NULL); - /* Starting Time IE 5.32 C (note 5) TV 3*/ - ELEM_OPT_TV(BSSLAP_PARAM_STARTING_TIME, GSM_A_PDU_TYPE_RR, DE_RR_STARTING_TIME, "TBF Starting Time"); - return; + guint32 curr_offset; + guint32 consumed; + guint curr_len; + + curr_offset = offset; + curr_len = tvb_length_remaining(tvb,offset); + + /* Channel Description IE 5.8 M TV 4 */ + ELEM_MAND_TV(BSSLAP_PARAM_CHANNEL_DESCRIPTION,GSM_A_PDU_TYPE_RR, DE_RR_CH_DSC, NULL); + /* Serving Cell Identifier Cell Identifier IE 5.23 M TLV 4-n */ + ELEM_MAND_TLV(BSSLAP_PARAM_SERVING_CELL_IDENTIFIER,GSM_A_PDU_TYPE_BSSMAP, BE_CELL_ID, NULL); + /* Frequency List IE 5.20 C (note 3) TLV 3-n */ + ELEM_OPT_TLV(BSSLAP_PARAM_FREQUENCY_LIST, GSM_A_PDU_TYPE_RR, DE_RR_FREQ_LIST, NULL); + /* Timing Advance IE 5.2 O TV 2 */ + ELEM_OPT_TV(BSSLAP_PARAM_TIMING_ADVANCE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TA, NULL); + /* MS Power IE 5.21 O TV 2 */ + ELEM_OPT_TV(BSSLAP_PARAM_MS_POWER, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_MS_POW, NULL); + /* Measurement Report IE 5.12 O TLV 18 */ + ELEM_OPT_TLV(BSSLAP_PARAM_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_MEAS_REP, " BSSLAP"); + /* Encryption Key IE 5.24 C (note 4) TV 9 */ + ELEM_OPT_TV(BSSLAP_PARAM_ENCRYPTION_KEY, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_ENC_KEY, NULL); + /* Cipher Mode Setting IE 5.25 C (note 4) TV 2 */ + ELEM_OPT_TV(BSSLAP_PARAM_CIPHER_MODE_SETTING, GSM_A_PDU_TYPE_RR, DE_RR_CIP_MODE_SET, NULL); + /* Channel Mode IE 5.26 C (notes 1 & 4)TV 2 */ + ELEM_OPT_TV(BSSLAP_PARAM_CHANNEL_MODE, GSM_A_PDU_TYPE_RR, DE_RR_CH_MODE, NULL); + /* MultiRate Configuration IE 5.27 C (notes 1 & 4)TLV 4-n */ + ELEM_OPT_TLV(BSSLAP_PARAM_MULTIRATE_CONFIGURATION, GSM_A_PDU_TYPE_RR, DE_RR_MULTIRATE_CONF, NULL); + /* Cell Identity List IE / 5.17 O TLV 6-n */ + ELEM_OPT_TLV(BSSLAP_PARAM_CELL_IDENTITY_LIST, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CELL_ID_LIST, "-Measured Cell"); + /* Packet Channel Description IE 5.29 C (note 5) TV 4 */ + ELEM_OPT_TLV(BSSLAP_PARAM_PACKET_CHANNEL_DESCRIPTION, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_PKT_CH_DESC, NULL); + /* TLLI IE 5.30 C (note 5) TV 5 */ + ELEM_OPT_TV(BSSLAP_PARAM_TLLI, GSM_A_PDU_TYPE_RR, DE_RR_TLLI, NULL); + /* TFI IE 5.31 C (note 5) TV 2 BSSLAP_PARAM_TFI*/ + ELEM_OPT_TV(BSSLAP_PARAM_TFI, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TFI, NULL); + /* Starting Time IE 5.32 C (note 5) TV 3*/ + ELEM_OPT_TV(BSSLAP_PARAM_STARTING_TIME, GSM_A_PDU_TYPE_RR, DE_RR_STARTING_TIME, "TBF Starting Time"); + return; } static void dissect_gsm_bsslap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - proto_item *item; - proto_tree *sub_tree; - int offset=0; - guint8 octet; + proto_item *item; + proto_tree *sub_tree; + int offset=0; + guint8 octet; /* Make entries in Protocol column and Info column on summary display */ - col_append_str(pinfo->cinfo, COL_PROTOCOL, "/BSSLAP"); - if (tree) { - octet = tvb_get_guint8(tvb, offset); - item = proto_tree_add_item(tree, proto_gsm_bsslap, tvb, 0, -1, ENC_NA); - sub_tree = proto_item_add_subtree(item, ett_gsm_bsslap); - - /* Message Type IE / 5.1 M V 1 */ - proto_tree_add_item(sub_tree, hf_gsm_bsslap_msg_type, tvb, offset, 1, ENC_BIG_ENDIAN); - offset++; - - switch (octet){ - case BSSLAP_TA_REQUEST: - /* Only message type IE */ - break; - case BSSLAP_TA_RESPONSE: - dissect_gsm_bsslap_ta_res(tvb, sub_tree, pinfo, offset); - break; - case BSSLAP_REJECT: - dissect_gsm_bsslap_reject(tvb, sub_tree, pinfo, offset); - break; - case BSSLAP_RESET: - dissect_gsm_bsslap_reset(tvb, sub_tree, pinfo, offset); - break; - case BSSLAP_ABORT: - dissect_gsm_bsslap_abort(tvb, sub_tree, pinfo, offset); - break; - case BSSLAP_TA_LAYER3: - dissect_gsm_bsslap_ta_layer3(tvb, sub_tree, pinfo, offset); - break; - case BSSLAP_MS_POS_CMD: - dissect_gsm_bsslap_ms_pos_cmd(tvb, sub_tree, pinfo, offset); - break; - case BSSLAP_MS_POS_RES: - dissect_gsm_bsslap_ms_pos_res(tvb, sub_tree, pinfo, offset); - break; - case BSSLAP_U_TDOA_REQ: - dissect_gsm_bsslap_u_tdoa_req(tvb, sub_tree, pinfo, offset); - break; - case BSSLAP_U_TDOA_RES: - dissect_gsm_bsslap_u_tdoa_res(tvb, sub_tree, pinfo, offset); - break; - default: - break; - } - } + col_append_str(pinfo->cinfo, COL_PROTOCOL, "/BSSLAP"); + if (tree) { + octet = tvb_get_guint8(tvb, offset); + item = proto_tree_add_item(tree, proto_gsm_bsslap, tvb, 0, -1, ENC_NA); + sub_tree = proto_item_add_subtree(item, ett_gsm_bsslap); + + /* Message Type IE / 5.1 M V 1 */ + proto_tree_add_item(sub_tree, hf_gsm_bsslap_msg_type, tvb, offset, 1, ENC_BIG_ENDIAN); + offset++; + + switch (octet){ + case BSSLAP_TA_REQUEST: + /* Only message type IE */ + break; + case BSSLAP_TA_RESPONSE: + dissect_gsm_bsslap_ta_res(tvb, sub_tree, pinfo, offset); + break; + case BSSLAP_REJECT: + dissect_gsm_bsslap_reject(tvb, sub_tree, pinfo, offset); + break; + case BSSLAP_RESET: + dissect_gsm_bsslap_reset(tvb, sub_tree, pinfo, offset); + break; + case BSSLAP_ABORT: + dissect_gsm_bsslap_abort(tvb, sub_tree, pinfo, offset); + break; + case BSSLAP_TA_LAYER3: + dissect_gsm_bsslap_ta_layer3(tvb, sub_tree, pinfo, offset); + break; + case BSSLAP_MS_POS_CMD: + dissect_gsm_bsslap_ms_pos_cmd(tvb, sub_tree, pinfo, offset); + break; + case BSSLAP_MS_POS_RES: + dissect_gsm_bsslap_ms_pos_res(tvb, sub_tree, pinfo, offset); + break; + case BSSLAP_U_TDOA_REQ: + dissect_gsm_bsslap_u_tdoa_req(tvb, sub_tree, pinfo, offset); + break; + case BSSLAP_U_TDOA_RES: + dissect_gsm_bsslap_u_tdoa_res(tvb, sub_tree, pinfo, offset); + break; + default: + break; + } + } } @@ -850,107 +850,120 @@ dissect_gsm_bsslap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) void proto_reg_handoff_gsm_bsslap(void) { - bsslap_rrlp_handle = find_dissector("rrlp"); + bsslap_rrlp_handle = find_dissector("rrlp"); } void proto_register_gsm_bsslap(void) { - guint i; - guint last_offset; - - - /* Setup list of header fields */ - static hf_register_info hf[] = { - { &hf_gsm_bsslap_msg_type, - { "Message Type IE", "gsm_bsslap.msg_type", - FT_UINT8, BASE_DEC, VALS(gsm_a_bsslap_msg_strings), 0x0, - NULL, HFILL } - }, - { &hf_gsm_a_bsslap_elem_id, - { "Element ID", "gsm_bsslap.elem_id", - FT_UINT8, BASE_HEX, NULL, 0, - NULL, HFILL } - }, - { &hf_gsm_bsslap_ta, - { "Timing Advance", "gsm_bsslap.ta", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, + guint i; + guint last_offset; + + + /* Setup list of header fields */ + static hf_register_info hf[] = { + { &hf_gsm_bsslap_msg_type, + { "Message Type IE", "gsm_bsslap.msg_type", + FT_UINT8, BASE_DEC, VALS(gsm_a_bsslap_msg_strings), 0x0, + NULL, HFILL } + }, + { &hf_gsm_a_bsslap_elem_id, + { "Element ID", "gsm_bsslap.elem_id", + FT_UINT8, BASE_HEX, NULL, 0, + NULL, HFILL } + }, + { &hf_gsm_bsslap_ta, + { "Timing Advance", "gsm_bsslap.ta", + FT_UINT8, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, { &hf_gsm_bsslap_timer_value, - {"Timer Value", "gsm_bsslap.timerValue", - FT_UINT8, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, + {"Timer Value", "gsm_bsslap.timerValue", + FT_UINT8, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, { &hf_gsm_bsslap_ms_pow, - {"MS Power", "gsm_bsslap.MS_pow", - FT_UINT8, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_gsm_bsslap_cause, - {"Cause", "gsm_bsslap.cause", - FT_UINT8, BASE_DEC, VALS(gsm_bsslap_cause_vals), 0x0, - NULL, HFILL } - }, - { &hf_gsm_bsslap_rrlp_flg, - {"RRLP Flag", "gsm_bsslap.rrlp_flg", - FT_BOOLEAN, 8, TFS(&gsm_bsslap_rrlp_flg_vals), 0x01, - "Cause", HFILL } - }, - { &hf_gsm_bsslap_tfi, - {"TFI", "gsm_bsslap.tfi", - FT_UINT8, BASE_DEC, NULL, 0x1f, - NULL, HFILL } - }, - { &hf_gsm_bsslap_poll_rep, - {"Number of polling repetitions", "gsm_bsslap.poll_rep", - FT_UINT8, BASE_DEC, NULL, 0x3F, - NULL, HFILL } - }, - { &hf_gsm_bsslap_lac, - {"Location Area Code", "gsm_bsslap.lac", - FT_UINT8, BASE_DEC, NULL, 0x3f, - NULL, HFILL } - }, - { &hf_gsm_bsslap_cell_id_disc, - {"Cell identification Discriminator", "gsm_bsslap.cell_id_disc", - FT_UINT8, BASE_DEC, VALS(gsm_a_bsslap_cell_id_disc_vals), 0xf, - NULL, HFILL } - }, - }; - - /* Setup protocol subtree array */ -#define NUM_INDIVIDUAL_ELEMS 2 - gint *ett[NUM_INDIVIDUAL_ELEMS + NUM_GSM_BSSLAP_MSG + - NUM_GSM_BSSLAP_ELEM]; - - ett[0] = &ett_gsm_bsslap; - ett[1] = &ett_bsslap_cell_list; - - last_offset = NUM_INDIVIDUAL_ELEMS; - - for (i=0; i < NUM_GSM_BSSLAP_MSG; i++, last_offset++) - { - ett_gsm_bsslap_msg[i] = -1; - ett[last_offset] = &ett_gsm_bsslap_msg[i]; - } - - for (i=0; i < NUM_GSM_BSSLAP_ELEM; i++, last_offset++) - { - ett_gsm_bsslap_elem[i] = -1; - ett[last_offset] = &ett_gsm_bsslap_elem[i]; - } + {"MS Power", "gsm_bsslap.MS_pow", + FT_UINT8, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_gsm_bsslap_cause, + {"Cause", "gsm_bsslap.cause", + FT_UINT8, BASE_DEC, VALS(gsm_bsslap_cause_vals), 0x0, + NULL, HFILL } + }, + { &hf_gsm_bsslap_rrlp_flg, + {"RRLP Flag", "gsm_bsslap.rrlp_flg", + FT_BOOLEAN, 8, TFS(&gsm_bsslap_rrlp_flg_vals), 0x01, + "Cause", HFILL } + }, + { &hf_gsm_bsslap_tfi, + {"TFI", "gsm_bsslap.tfi", + FT_UINT8, BASE_DEC, NULL, 0x1f, + NULL, HFILL } + }, + { &hf_gsm_bsslap_poll_rep, + {"Number of polling repetitions", "gsm_bsslap.poll_rep", + FT_UINT8, BASE_DEC, NULL, 0x3F, + NULL, HFILL } + }, + { &hf_gsm_bsslap_lac, + {"Location Area Code", "gsm_bsslap.lac", + FT_UINT8, BASE_DEC, NULL, 0x3f, + NULL, HFILL } + }, + { &hf_gsm_bsslap_cell_id_disc, + {"Cell identification Discriminator", "gsm_bsslap.cell_id_disc", + FT_UINT8, BASE_DEC, VALS(gsm_a_bsslap_cell_id_disc_vals), 0xf, + NULL, HFILL } + }, + }; + + /* Setup protocol subtree array */ +#define NUM_INDIVIDUAL_ELEMS 2 + gint *ett[NUM_INDIVIDUAL_ELEMS + NUM_GSM_BSSLAP_MSG + + NUM_GSM_BSSLAP_ELEM]; + + ett[0] = &ett_gsm_bsslap; + ett[1] = &ett_bsslap_cell_list; + + last_offset = NUM_INDIVIDUAL_ELEMS; + + for (i=0; i < NUM_GSM_BSSLAP_MSG; i++, last_offset++) + { + ett_gsm_bsslap_msg[i] = -1; + ett[last_offset] = &ett_gsm_bsslap_msg[i]; + } + + for (i=0; i < NUM_GSM_BSSLAP_ELEM; i++, last_offset++) + { + ett_gsm_bsslap_elem[i] = -1; + ett[last_offset] = &ett_gsm_bsslap_elem[i]; + } /* Register the protocol name and description */ - proto_gsm_bsslap = - proto_register_protocol("BSS LCS Assistance Protocol", - "BSSLAP", "bsslap"); + proto_gsm_bsslap = + proto_register_protocol("BSS LCS Assistance Protocol", + "BSSLAP", "bsslap"); /* Required function calls to register the header fields and subtrees used */ - proto_register_field_array(proto_gsm_bsslap, hf, array_length(hf)); - proto_register_subtree_array(ett, array_length(ett)); + proto_register_field_array(proto_gsm_bsslap, hf, array_length(hf)); + proto_register_subtree_array(ett, array_length(ett)); - register_dissector("gsm_bsslap", dissect_gsm_bsslap, proto_gsm_bsslap); + register_dissector("gsm_bsslap", dissect_gsm_bsslap, proto_gsm_bsslap); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 4 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * vi: set shiftwidth=4 tabstop=8 expandtab: + * :indentSize=4:tabSize=8:noTabs=true: + */ diff --git a/epan/dissectors/packet-gsm_bssmap_le.c b/epan/dissectors/packet-gsm_bssmap_le.c index 9aa587bd21..01570c7d02 100644 --- a/epan/dissectors/packet-gsm_bssmap_le.c +++ b/epan/dissectors/packet-gsm_bssmap_le.c @@ -58,15 +58,15 @@ static const value_string gsm_bssmap_le_msg_strings[] = { { 2, "Reserved" }, { 3, "Reserved" }, { 4, "Reserved" }, - { BSSMAP_LE_PERFORM_LOCATION_REQUEST, "Perform Location Request" }, - { BSSMAP_LE_PERFORM_LOCATION_RESPONSE, "Perform Location Response" }, - { BSSMAP_LE_PERFORM_LOCATION_ABORT, "Perform Location Abort" }, - { BSSMAP_LE_PERFORM_LOCATION_INFORMATION, "Perform Location Information" }, + { BSSMAP_LE_PERFORM_LOCATION_REQUEST, "Perform Location Request" }, + { BSSMAP_LE_PERFORM_LOCATION_RESPONSE, "Perform Location Response" }, + { BSSMAP_LE_PERFORM_LOCATION_ABORT, "Perform Location Abort" }, + { BSSMAP_LE_PERFORM_LOCATION_INFORMATION, "Perform Location Information" }, { BSSMAP_LE_CONNECTION_ORIENTED_INFORMATION, "Connection Oriented Information" }, - { BSSMAP_LE_CONNECTIONLESS_INFORMATION, "Connectionless Information" }, - { BSSMAP_LE_RESET, "Reset" }, - { BSSMAP_LE_RESET_ACKNOWLEDGE, "Reset Acknowledge" }, - { 0, NULL } /*Null terminated list. Make sure we add this to our value/string structures. */ + { BSSMAP_LE_CONNECTIONLESS_INFORMATION, "Connectionless Information" }, + { BSSMAP_LE_RESET, "Reset" }, + { BSSMAP_LE_RESET_ACKNOWLEDGE, "Reset Acknowledge" }, + { 0, NULL } }; /* Information Element definitions */ @@ -102,36 +102,36 @@ static const value_string gsm_bssmap_le_msg_strings[] = { #define BSSMAP_LE_IMEI 128 static const value_string gsm_bssmap_le_elem_strings[] = { - { DE_BMAPLE_LCSQOS, "LCS QoS" }, - { DE_BMAPLE_LCS_PRIO, "LCS Priority" }, - { DE_BMAPLE_LOC_TYPE, "Location Type" }, - { DE_BMAPLE_GANSS_LOC_TYPE, "GANSS Location Type" }, - { DE_BMAPLE_GEO_LOC, "Geographic Location" }, - { DE_BMAPLE_POS_DATA, "Positioning Data" }, - { DE_BMAPLE_GANSS_POS_DATA, "GANSS Positioning Data" }, - { DE_BMAPLE_VELOC_DATA, "Velocity Data" }, - { DE_BMAPLE_LCS_CAUSE, "LCS Cause" }, - { DE_BMAPLE_LCS_CLIENT_TYPE, "LCS Client Type" }, - { DE_BMAPLE_APDU, "APDU" }, - { DE_BMAPLE_NETWORK_ELEM_ID, "Network Element Identity" }, - { DE_BMAPLE_REQ_GPS_ASSIST_D, "Requested GPS Assistance Data" }, - { DE_BMAPLE_REQ_GNSS_ASSIST_D, "Requested GANSS Assistance Data" }, - { DE_BMAPLE_DECIPH_KEYS, "Deciphering Keys" }, - { DE_BMAPLE_RETURN_ERROR_REQ, "Return Error Request" }, + { DE_BMAPLE_LCSQOS, "LCS QoS" }, + { DE_BMAPLE_LCS_PRIO, "LCS Priority" }, + { DE_BMAPLE_LOC_TYPE, "Location Type" }, + { DE_BMAPLE_GANSS_LOC_TYPE, "GANSS Location Type" }, + { DE_BMAPLE_GEO_LOC, "Geographic Location" }, + { DE_BMAPLE_POS_DATA, "Positioning Data" }, + { DE_BMAPLE_GANSS_POS_DATA, "GANSS Positioning Data" }, + { DE_BMAPLE_VELOC_DATA, "Velocity Data" }, + { DE_BMAPLE_LCS_CAUSE, "LCS Cause" }, + { DE_BMAPLE_LCS_CLIENT_TYPE, "LCS Client Type" }, + { DE_BMAPLE_APDU, "APDU" }, + { DE_BMAPLE_NETWORK_ELEM_ID, "Network Element Identity" }, + { DE_BMAPLE_REQ_GPS_ASSIST_D, "Requested GPS Assistance Data" }, + { DE_BMAPLE_REQ_GNSS_ASSIST_D, "Requested GANSS Assistance Data" }, + { DE_BMAPLE_DECIPH_KEYS, "Deciphering Keys" }, + { DE_BMAPLE_RETURN_ERROR_REQ, "Return Error Request" }, { DE_BMAPLE_RETURN_ERROR_CAUSE, "Return Error Cause" }, - { DE_BMAPLE_SEGMENTATION, "Segmentation" }, - { DE_BMAPLE_CLASSMARK_TYPE_3, "Classmark Information Type 3" }, - { DE_BMAPLE_CAUSE, "Cause" }, - { DE_BMAPLE_CELL_IDENTIFIER, "Cell Identifier" }, - { DE_BMAPLE_CHOSEN_CHANNEL, "Chosen Channel" }, - { DE_BMAPLE_IMSI, "IMSI" }, - { DE_BMAPLE_RES1, "Reserved" }, - { DE_BMAPLE_RES2, "Reserved" }, - { DE_BMAPLE_RES3, "Reserved" }, - { DE_BMAPLE_LCS_CAPABILITY, "LCS Capability" }, - { DE_BMAPLE_PACKET_MEAS_REP, "Packet Measurement Report" }, - { DE_BMAPLE_MEAS_CELL_ID, "Cell Identity List" }, - { DE_BMAPLE_IMEI, "IMEI" }, + { DE_BMAPLE_SEGMENTATION, "Segmentation" }, + { DE_BMAPLE_CLASSMARK_TYPE_3, "Classmark Information Type 3" }, + { DE_BMAPLE_CAUSE, "Cause" }, + { DE_BMAPLE_CELL_IDENTIFIER, "Cell Identifier" }, + { DE_BMAPLE_CHOSEN_CHANNEL, "Chosen Channel" }, + { DE_BMAPLE_IMSI, "IMSI" }, + { DE_BMAPLE_RES1, "Reserved" }, + { DE_BMAPLE_RES2, "Reserved" }, + { DE_BMAPLE_RES3, "Reserved" }, + { DE_BMAPLE_LCS_CAPABILITY, "LCS Capability" }, + { DE_BMAPLE_PACKET_MEAS_REP, "Packet Measurement Report" }, + { DE_BMAPLE_MEAS_CELL_ID, "Cell Identity List" }, + { DE_BMAPLE_IMEI, "IMEI" }, { 0, NULL } }; value_string_ext gsm_bssmap_le_elem_strings_ext = VALUE_STRING_EXT_INIT(gsm_bssmap_le_elem_strings); @@ -235,8 +235,8 @@ gint ett_gsm_bssmap_le_elem[NUM_GSM_BSSMAP_LE_ELEM]; static guint16 de_bmaple_apdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_) { - guint32 curr_offset; - guint8 apdu_protocol_id; + guint32 curr_offset; + guint8 apdu_protocol_id; tvbuff_t *APDU_tvb; curr_offset = offset; @@ -468,7 +468,7 @@ static guint16 de_bmaple_client(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_) { guint32 curr_offset; - guint8 bitCount; + guint8 bitCount; bitCount = offset<<3; curr_offset = offset; @@ -561,7 +561,7 @@ static guint16 de_bmaple_pos_dta(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_) { tvbuff_t *data_tvb; - guint32 curr_offset; + guint32 curr_offset; curr_offset = offset; @@ -903,8 +903,8 @@ void dissect_bssmap_le(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { static gsm_a_tap_rec_t tap_rec[4]; - static gsm_a_tap_rec_t *tap_p; - static guint tap_current=0; + static gsm_a_tap_rec_t *tap_p; + static guint tap_current=0; guint8 oct; guint32 offset, saved_offset; guint32 len; @@ -912,7 +912,7 @@ dissect_bssmap_le(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) proto_item *bssmap_le_item = NULL; proto_tree *bssmap_le_tree = NULL; const gchar *str; - sccp_msg_info_t* sccp_msg_p; + sccp_msg_info_t *sccp_msg_p; sccp_msg_p = pinfo->sccp_info; @@ -1011,8 +1011,8 @@ dissect_bssmap_le(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) void proto_register_gsm_bssmap_le(void) { - guint i; - guint last_offset; + guint i; + guint last_offset; /* Setup list of header fields */ static hf_register_info hf[] = { @@ -1052,59 +1052,59 @@ proto_register_gsm_bssmap_le(void) NULL, HFILL} }, { &hf_gsm_bssmap_le_acq_ass, - { "Acquisition Assistance", "gsm_bssmap_le.acq_ass", - FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x80, - NULL, HFILL } + { "Acquisition Assistance", "gsm_bssmap_le.acq_ass", + FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x80, + NULL, HFILL } }, { &hf_gsm_bssmap_le_ref_time, - { "Reference Time", "gsm_bssmap_le.ref_time", - FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x40, - NULL, HFILL } + { "Reference Time", "gsm_bssmap_le.ref_time", + FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x40, + NULL, HFILL } }, { &hf_gsm_bssmap_le_ref_loc, - { "Reference Location", "gsm_bssmap_le.ref_loc", - FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x20, - NULL, HFILL } + { "Reference Location", "gsm_bssmap_le.ref_loc", + FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x20, + NULL, HFILL } }, { &hf_gsm_bssmap_le_dgps_corr, - { "DGPS Corrections", "gsm_bssmap_le.gps_corr", - FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x08, - NULL, HFILL } + { "DGPS Corrections", "gsm_bssmap_le.gps_corr", + FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x08, + NULL, HFILL } }, { &hf_gsm_bssmap_le_nav_mod, - { "Navigation Model", "gsm_bssmap_le.nav_mod", - FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x10, - NULL, HFILL } + { "Navigation Model", "gsm_bssmap_le.nav_mod", + FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x10, + NULL, HFILL } }, { &hf_gsm_bssmap_le_iono_mod, - { "Ionospheric Model", "gsm_bssmap_le.iono_mod", - FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x04, - NULL, HFILL } + { "Ionospheric Model", "gsm_bssmap_le.iono_mod", + FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x04, + NULL, HFILL } }, { &hf_gsm_bssmap_le_utc_mod, - { "UTC Model", "gsm_bssmap_le.utc_mod", - FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x02, - NULL, HFILL } + { "UTC Model", "gsm_bssmap_le.utc_mod", + FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x02, + NULL, HFILL } }, { &hf_gsm_bssmap_le_almanac, - { "Almanac", "gsm_bssmap_le.almanac", - FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x01, - NULL, HFILL } + { "Almanac", "gsm_bssmap_le.almanac", + FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x01, + NULL, HFILL } }, { &hf_gsm_bssmap_le_ephemeris_ext_chk, - { "Ephemeris Extension Check", "gsm_bssmap_le.ephemeris_ext_chk", - FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x04, - NULL, HFILL } + { "Ephemeris Extension Check", "gsm_bssmap_le.ephemeris_ext_chk", + FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x04, + NULL, HFILL } }, { &hf_gsm_bssmap_le_ephemeris_ext, - { "Ephemeris Extension", "gsm_bssmap_le.ephemeris_ext", - FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x02, - NULL, HFILL } + { "Ephemeris Extension", "gsm_bssmap_le.ephemeris_ext", + FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x02, + NULL, HFILL } }, { &hf_gsm_bssmap_le_real_time_int, - { "Real-Time Integrity", "gsm_bssmap_le.real_time_int", - FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x01, - NULL, HFILL } + { "Real-Time Integrity", "gsm_bssmap_le.real_time_int", + FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x01, + NULL, HFILL } }, { &hf_gsm_bssmap_le_lcs_cause_value, { "Cause Value", "gsm_bssmap_le.lcsCauseValue", @@ -1207,3 +1207,16 @@ proto_reg_handoff_gsm_bssmap_le(void) gsm_bsslap_handle = find_dissector("gsm_bsslap"); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-gssapi.c b/epan/dissectors/packet-gssapi.c index fcb949d7ff..29a342b6eb 100644 --- a/epan/dissectors/packet-gssapi.c +++ b/epan/dissectors/packet-gssapi.c @@ -69,7 +69,7 @@ static gboolean gssapi_reassembly = TRUE; typedef struct _gssapi_conv_info_t { gssapi_oid_value *oid; - wmem_tree_t *frags; + wmem_tree_t *frags; gboolean do_reassembly; /* this field is used on first sequential scan of packets to help indicate when the next blob is a fragment continuing a previous one */ int first_frame; @@ -381,9 +381,9 @@ dissect_gssapi_work(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, } if (!oidvalue) { - proto_tree_add_text(subtree, gss_tvb, start_offset, 0, - "Unknown header (class=%d, pc=%d, tag=%d)", - appclass, pc, tag); + proto_tree_add_text(subtree, gss_tvb, start_offset, 0, + "Unknown header (class=%d, pc=%d, tag=%d)", + appclass, pc, tag); return_offset = tvb_length(gss_tvb); goto done; } else { @@ -692,3 +692,16 @@ proto_reg_handoff_gssapi(void) gssapi_handle = find_dissector("gssapi"); dissector_add_string("dns.tsig.mac", "gss.microsoft.com", gssapi_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-h248_q1950.c b/epan/dissectors/packet-h248_q1950.c index c404443127..21446fc2d9 100644 --- a/epan/dissectors/packet-h248_q1950.c +++ b/epan/dissectors/packet-h248_q1950.c @@ -47,35 +47,35 @@ static int hf_h248_pkg_BCP_BNCChar = -1; static gint ett_h248_pkg_BCP = -1; static const value_string h248_pkg_BCP_parameters[] _U_ = { - { 0x0001, "BNCChar (BNC Characteristics)" }, - {0, NULL} + { 0x0001, "BNCChar (BNC Characteristics)" }, + {0, NULL} }; static const value_string h248_pkg_BCP_props_vals[] = { - {0, "Bearer Characteristics Q.1950 Annex A (bcp)" }, - {1, "BNC Characteristics (BNCChar)"}, - {0,NULL} + {0, "Bearer Characteristics Q.1950 Annex A (bcp)" }, + {1, "BNC Characteristics (BNCChar)"}, + {0,NULL} }; /* Properties */ h248_pkg_param_t h248_pkg_BCP_props[] = { - { 0x0001, &hf_h248_pkg_BCP_BNCChar, h248_param_ber_integer, &implicit }, - { 0, NULL, NULL, NULL} + { 0x0001, &hf_h248_pkg_BCP_BNCChar, h248_param_ber_integer, &implicit }, + { 0, NULL, NULL, NULL} }; /* Packet defenitions */ static h248_package_t h248_pkg_BCP = { - 0x001e, - &hf_h248_pkg_BCP, - &ett_h248_pkg_BCP, - h248_pkg_BCP_props_vals, - NULL, - NULL, - NULL, - h248_pkg_BCP_props, /* Properties */ - NULL, /* signals */ - NULL, /* events */ - NULL /* statistics */ + 0x001e, + &hf_h248_pkg_BCP, + &ett_h248_pkg_BCP, + h248_pkg_BCP_props_vals, + NULL, + NULL, + NULL, + h248_pkg_BCP_props, /* Properties */ + NULL, /* signals */ + NULL, /* events */ + NULL /* statistics */ }; /* A.4 Bearer Network connection cut-through package */ @@ -86,41 +86,41 @@ static int hf_h248_pkg_BNCCT_prop = -1; static gint ett_h248_pkg_BNCCT = -1; static const value_string h248_pkg_BNCCT_parameters[] _U_ = { - { 0x0001, "BNC Cut Through Capability" }, - { 0, NULL } + { 0x0001, "BNC Cut Through Capability" }, + { 0, NULL } }; static const value_string h248_pkg_BNCCT_props_vals[] = { - {0,"Bearer Network Connection Cut Q.1950 Annex A" }, - {1,"BNCCT"}, - {0,NULL} + {0,"Bearer Network Connection Cut Q.1950 Annex A" }, + {1,"BNCCT"}, + {0,NULL} }; static const value_string h248_pkg_BNCCT_prop_vals[] = { - {1,"Early"}, - {2,"Late"}, - {0,NULL} + {1,"Early"}, + {2,"Late"}, + {0,NULL} }; /* Properties */ static const h248_pkg_param_t h248_pkg_BNCCT_props[] = { - { 0x0001, &hf_h248_pkg_BNCCT_prop, h248_param_ber_integer, &implicit }, - { 0, NULL, NULL, NULL} + { 0x0001, &hf_h248_pkg_BNCCT_prop, h248_param_ber_integer, &implicit }, + { 0, NULL, NULL, NULL} }; /* Packet defenitions */ static h248_package_t h248_pkg_BNCCT = { - 0x001f, - &hf_h248_pkg_BNCCT, - &ett_h248_pkg_BNCCT, - h248_pkg_BNCCT_props_vals, - NULL, - NULL, - NULL, - h248_pkg_BNCCT_props, /* Properties */ - NULL, /* signals */ - NULL, /* events */ - NULL /* statistics */ + 0x001f, + &hf_h248_pkg_BNCCT, + &ett_h248_pkg_BNCCT, + h248_pkg_BNCCT_props_vals, + NULL, + NULL, + NULL, + h248_pkg_BNCCT_props, /* Properties */ + NULL, /* signals */ + NULL, /* events */ + NULL /* statistics */ }; /* A.5 Bearer Reuse Idle Package */ @@ -131,44 +131,44 @@ static int hf_h248_pkg_RII= -1; static gint ett_h248_pkg_RI= -1; static const value_string h248_pkg_RI_parameters[] = { - { 0x0000, "Reuse Idle Q.1950 Annex A" }, - { 0x0001, "Reuse Idle Indication" }, - { 0, NULL } + { 0x0000, "Reuse Idle Q.1950 Annex A" }, + { 0x0001, "Reuse Idle Indication" }, + { 0, NULL } }; static const value_string h248_pkg_RII_vals[] = { - {0,"Not_Reuse_Idle"}, - {1,"ReUse_Idle"}, - {0,NULL} + {0,"Not_Reuse_Idle"}, + {1,"ReUse_Idle"}, + {0,NULL} }; /* Properties */ h248_pkg_param_t h248_pkg_RI_props[] = { - { 0x0001, &hf_h248_pkg_RII, h248_param_ber_integer, &implicit }, - { 0, NULL, NULL, NULL} + { 0x0001, &hf_h248_pkg_RII, h248_param_ber_integer, &implicit }, + { 0, NULL, NULL, NULL} }; /* Packet defenitions */ static h248_package_t h248_pkg_RI = { - 0x0020, - &hf_h248_pkg_RI, - &ett_h248_pkg_RI, - h248_pkg_RI_parameters, - NULL, - NULL, - NULL, - h248_pkg_RI_props, /* Properties */ - NULL, /* signals */ - NULL, /* events */ - NULL /* statistics */ + 0x0020, + &hf_h248_pkg_RI, + &ett_h248_pkg_RI, + h248_pkg_RI_parameters, + NULL, + NULL, + NULL, + h248_pkg_RI_props, /* Properties */ + NULL, /* signals */ + NULL, /* events */ + NULL /* statistics */ }; /* A.5 Bearer Reuse Idle Package */ /* A.6 Generic bearer connection package - Package Name: GB - Package ID: 0x0021 + Package Name: GB + Package ID: 0x0021 */ static int hf_h248_pkg_GB= -1; @@ -188,89 +188,89 @@ static gint ett_h248_pkg_GB_RelBNC= -1; static gint ett_h248_pkg_GB_BNCChange= -1; static const value_string h248_pkg_GB_events_vals[] = { - { 0x0001, "BNCChange" }, - { 0, NULL } + { 0x0001, "BNCChange" }, + { 0, NULL } }; static const value_string h248_pkg_GB_BNCChange_type_vals[] = { - {0x01, "Bearer Established"}, - {0x02,"Bearer Modified"}, - {0x03,"Bearer Cut through"}, - {0x04,"Bearer Modification Failure"}, - {0,NULL} + {0x01, "Bearer Established"}, + {0x02,"Bearer Modified"}, + {0x03,"Bearer Cut through"}, + {0x04,"Bearer Modification Failure"}, + {0,NULL} }; static const value_string h248_pkg_GB_BNCChange_params_vals[] = { - {0x01, "Type"}, - {0,NULL} + {0x01, "Type"}, + {0,NULL} }; static const h248_pkg_param_t h248_pkg_GB_BNCChange_pars[] = { - { 0x0001, &hf_h248_pkg_GB_BNCChange_type, h248_param_ber_integer, &implicit }, - { 0, NULL, NULL, NULL} + { 0x0001, &hf_h248_pkg_GB_BNCChange_type, h248_param_ber_integer, &implicit }, + { 0, NULL, NULL, NULL} }; static const h248_pkg_evt_t h248_pkg_GB_events[] = { - { 0x0001, &hf_h248_pkg_GB_BNCChange, &ett_h248_pkg_GB_BNCChange, h248_pkg_GB_BNCChange_pars, h248_pkg_GB_BNCChange_params_vals}, - { 0, NULL, NULL, NULL, NULL} + { 0x0001, &hf_h248_pkg_GB_BNCChange, &ett_h248_pkg_GB_BNCChange, h248_pkg_GB_BNCChange_pars, h248_pkg_GB_BNCChange_params_vals}, + { 0, NULL, NULL, NULL, NULL} }; static const value_string h248_pkg_GB_signals_vals[] = { - {0x01, "Establish BNC"}, - {0x02,"Modify BNC"}, - {0,NULL} + {0x01, "Establish BNC"}, + {0x02, "Modify BNC"}, + {0,NULL} }; static const value_string h248_pkg_GB_RelBNC_vals[] = { - {0x01, "Generalcause"}, - {0x02,"Failurecause"}, - {0x03,"Reset"}, - {0,NULL} + {0x01, "Generalcause"}, + {0x02, "Failurecause"}, + {0x03, "Reset"}, + {0,NULL} }; static const value_string h248_pkg_GB_RelBNC_Generalcause_vals[] = { - {0x01, "Normal Release"}, - {0x02,"Unavailable Resources"}, - {0x03,"Failure, Temporary"}, - {0x04,"Failure, Permanent"}, - {0x05,"Interworking Error"}, - {0x06,"Unsupported"}, - {0,NULL} + {0x01, "Normal Release"}, + {0x02, "Unavailable Resources"}, + {0x03, "Failure, Temporary"}, + {0x04, "Failure, Permanent"}, + {0x05, "Interworking Error"}, + {0x06, "Unsupported"}, + {0,NULL} }; static const h248_pkg_param_t h248_pkg_GB_RelBNC_pars[] = { - { 0x0001, &hf_h248_pkg_GB_RelBNC_Generalcause, h248_param_ber_integer, &implicit }, - { 0x0002, &hf_h248_pkg_GB_RelBNC_Failurecause, h248_param_ber_octetstring, &implicit }, - { 0x0003, &hf_h248_pkg_GB_RelBNC_Reset, h248_param_ber_boolean, &implicit }, - { 0, NULL, NULL, NULL} + { 0x0001, &hf_h248_pkg_GB_RelBNC_Generalcause, h248_param_ber_integer, &implicit }, + { 0x0002, &hf_h248_pkg_GB_RelBNC_Failurecause, h248_param_ber_octetstring, &implicit }, + { 0x0003, &hf_h248_pkg_GB_RelBNC_Reset, h248_param_ber_boolean, &implicit }, + { 0, NULL, NULL, NULL} }; static const h248_pkg_sig_t h248_pkg_GB_signals[] = { - { 0x0001,&hf_h248_pkg_GB_EstBNC,&ett_h248_pkg_GB_EstBNC, NULL, NULL}, - { 0x0002,&hf_h248_pkg_GB_ModBNC,&ett_h248_pkg_GB_ModBNC, NULL, NULL}, - { 0x0003,&hf_h248_pkg_GB_RelBNC,&ett_h248_pkg_GB_RelBNC, h248_pkg_GB_RelBNC_pars, h248_pkg_GB_RelBNC_vals}, - { 0, NULL, NULL, NULL, NULL} + { 0x0001,&hf_h248_pkg_GB_EstBNC,&ett_h248_pkg_GB_EstBNC, NULL, NULL}, + { 0x0002,&hf_h248_pkg_GB_ModBNC,&ett_h248_pkg_GB_ModBNC, NULL, NULL}, + { 0x0003,&hf_h248_pkg_GB_RelBNC,&ett_h248_pkg_GB_RelBNC, h248_pkg_GB_RelBNC_pars, h248_pkg_GB_RelBNC_vals}, + { 0, NULL, NULL, NULL, NULL} }; static const value_string h248_pkg_GB_props_vals[] = { - { 0x0000, "Generic Bearer Connection Q.1950 Annex A (gb)" }, - { 0, NULL } + { 0x0000, "Generic Bearer Connection Q.1950 Annex A (gb)" }, + { 0, NULL } }; static h248_package_t h248_pkg_GB = { - 0x0021, - &hf_h248_pkg_GB, - &ett_h248_pkg_GB, - h248_pkg_GB_props_vals, - h248_pkg_GB_signals_vals, - h248_pkg_GB_events_vals, - NULL, - NULL, /* Properties */ - h248_pkg_GB_signals, /* signals */ - h248_pkg_GB_events, /* events */ - NULL /* statistics */ + 0x0021, + &hf_h248_pkg_GB, + &ett_h248_pkg_GB, + h248_pkg_GB_props_vals, + h248_pkg_GB_signals_vals, + h248_pkg_GB_events_vals, + NULL, + NULL, /* Properties */ + h248_pkg_GB_signals, /* signals */ + h248_pkg_GB_events, /* events */ + NULL /* statistics */ }; @@ -287,93 +287,93 @@ static gint ett_h248_pkg_bt_tind = -1; static gint ett_h248_pkg_bt_bit= -1; static void dissect_bt_tunneled_proto(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, int hfid, h248_curr_info_t* i _U_, void* d _U_) { - tvbuff_t* bctp_tvb = NULL; - gint8 appclass; - gboolean pc; - gint32 tag; - asn1_ctx_t asn1_ctx; + tvbuff_t* bctp_tvb = NULL; + gint8 appclass; + gboolean pc; + gint32 tag; + asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - get_ber_identifier(tvb, 0, &appclass, &pc, &tag); + get_ber_identifier(tvb, 0, &appclass, &pc, &tag); - /* XXX: is this enough to guess it? */ - if (tag==BER_UNI_TAG_OCTETSTRING) { - dissect_ber_octet_string(FALSE, &asn1_ctx, tree, tvb, 0, hfid, &bctp_tvb); + /* XXX: is this enough to guess it? */ + if (tag == BER_UNI_TAG_OCTETSTRING) { + dissect_ber_octet_string(FALSE, &asn1_ctx, tree, tvb, 0, hfid, &bctp_tvb); - if (bctp_tvb) { - call_dissector(bctp_dissector,bctp_tvb,pinfo,tree); - } - } else { - proto_tree_add_item(tree,hfid,tvb,0,-1,ENC_NA); - } + if (bctp_tvb) { + call_dissector(bctp_dissector,bctp_tvb,pinfo,tree); + } + } else { + proto_tree_add_item(tree,hfid,tvb,0,-1,ENC_NA); + } } /* Properties */ static const value_string h248_pkg_bt_props_vals[] = { - { 0, "Bearer Control Tunnelling Q.1950 Annex A" }, - { 1, "Tunnelling Options"}, - { 0, NULL} + { 0, "Bearer Control Tunnelling Q.1950 Annex A" }, + { 1, "Tunnelling Options"}, + { 0, NULL} }; static const value_string h248_pkg_bt_tunopt_vals[] = { - { 1, "1 (In the same message as the command response to the command which generated the bearer control tunnel)"}, - { 2, "2 (Tunnel message at any time)"}, - { 3, "NO"}, - { 0, NULL} + { 1, "1 (In the same message as the command response to the command which generated the bearer control tunnel)"}, + { 2, "2 (Tunnel message at any time)"}, + { 3, "NO"}, + { 0, NULL} }; static const h248_pkg_param_t h248_pkg_bt_props[] = { - { 0x0001, &hf_h248_pkg_bt_tunopt, h248_param_ber_integer, &implicit }, - { 0, NULL, NULL, NULL} + { 0x0001, &hf_h248_pkg_bt_tunopt, h248_param_ber_integer, &implicit }, + { 0, NULL, NULL, NULL} }; /* Events */ static const value_string h248_pkg_bt_evt_vals[] = { - {1,"Tunnel indication"}, - {0,NULL} + {1,"Tunnel indication"}, + {0,NULL} }; static const value_string h248_pkg_bt_tind_vals[] = { - {1,"Tunnel Indication"}, - {0,NULL} + {1,"Tunnel Indication"}, + {0,NULL} }; static const h248_pkg_param_t h248_pkg_bt_bit_params[] = { - { 0x0001, &hf_h248_pkg_bt_bit, dissect_bt_tunneled_proto, &implicit }, - { 0, NULL, NULL, NULL} + { 0x0001, &hf_h248_pkg_bt_bit, dissect_bt_tunneled_proto, &implicit }, + { 0, NULL, NULL, NULL} }; static const value_string h248_pkg_bt_sigs_vals[] = { - {1,"Bearer Information Tunnel"}, - {0,NULL} + {1,"Bearer Information Tunnel"}, + {0,NULL} }; static const h248_pkg_evt_t h248_pkg_bt_events[] = { - { 0x0001, &hf_h248_pkg_bt_tind, &ett_h248_pkg_bt_tind, h248_pkg_bt_bit_params, h248_pkg_bt_tind_vals}, - { 0, NULL, NULL, NULL, NULL} + { 0x0001, &hf_h248_pkg_bt_tind, &ett_h248_pkg_bt_tind, h248_pkg_bt_bit_params, h248_pkg_bt_tind_vals}, + { 0, NULL, NULL, NULL, NULL} }; static const h248_pkg_sig_t h248_pkg_bt_signals[] = { - { 0x0001,&hf_h248_pkg_bt_bit,&ett_h248_pkg_bt_bit, h248_pkg_bt_bit_params, h248_pkg_bt_tind_vals}, - { 0, NULL, NULL, NULL, NULL} + { 0x0001,&hf_h248_pkg_bt_bit,&ett_h248_pkg_bt_bit, h248_pkg_bt_bit_params, h248_pkg_bt_tind_vals}, + { 0, NULL, NULL, NULL, NULL} }; /* Packet defenitions */ static h248_package_t h248_pkg_bct = { - 0x0022, - &hf_h248_pkg_bt, - &ett_h248_pkg_bt, - h248_pkg_bt_props_vals, - h248_pkg_bt_sigs_vals, - h248_pkg_bt_evt_vals, - NULL, - h248_pkg_bt_props, /* Properties */ - h248_pkg_bt_signals, /* signals */ - h248_pkg_bt_events, /* events */ - NULL /* statistics */ + 0x0022, + &hf_h248_pkg_bt, + &ett_h248_pkg_bt, + h248_pkg_bt_props_vals, + h248_pkg_bt_sigs_vals, + h248_pkg_bt_evt_vals, + NULL, + h248_pkg_bt_props, /* Properties */ + h248_pkg_bt_signals, /* signals */ + h248_pkg_bt_events, /* events */ + NULL /* statistics */ }; /* A.8 Basic call progress tones generator with directionality */ @@ -394,239 +394,252 @@ static gint ett_h248_pkg_bcg = -1; static gint ett_h248_pkg_bcg_sig_bdt = -1; static const value_string h248_pkg_bcg_sig_bdt_par_btd_vals[] = { - { 0x0001, "ext (External)" }, - { 0x0002, "int (Internal)" }, - { 0x0003, "both (Both)" }, - {0, NULL}, + { 0x0001, "ext (External)" }, + { 0x0002, "int (Internal)" }, + { 0x0003, "both (Both)" }, + {0, NULL}, }; static h248_pkg_param_t h248_pkg_h248_pkg_bcg_sig_bdt_params[] = { - { 0x0001, &hf_h248_pkg_bcg_sig_bdt_par_btd, h248_param_ber_integer, &implicit }, - { 0, NULL, NULL, NULL} + { 0x0001, &hf_h248_pkg_bcg_sig_bdt_par_btd, h248_param_ber_integer, &implicit }, + { 0, NULL, NULL, NULL} }; static const value_string h248_pkg_bcg_signals_vals[] = { - { 0x0041, "Dial Tone (bdt)" }, - { 0x0042, "Ringing Tone (brt)" }, - { 0x0043, "Busy Tone (bbt)" }, - { 0x0044, "Congestion Tone (bct)" }, - { 0x0045, "Warning Tone (bwt)" }, - { 0x0046, "Payphone Recognition Tone (bpt)" }, - { 0x0047, "Call Waiting Tone (bcw)" }, - { 0x0048, "Caller Waiting Tone (bcr)" }, - { 0x0049, "Pay Tone (bpy)" }, - { 0, NULL } + { 0x0041, "Dial Tone (bdt)" }, + { 0x0042, "Ringing Tone (brt)" }, + { 0x0043, "Busy Tone (bbt)" }, + { 0x0044, "Congestion Tone (bct)" }, + { 0x0045, "Warning Tone (bwt)" }, + { 0x0046, "Payphone Recognition Tone (bpt)" }, + { 0x0047, "Call Waiting Tone (bcw)" }, + { 0x0048, "Caller Waiting Tone (bcr)" }, + { 0x0049, "Pay Tone (bpy)" }, + { 0, NULL } }; static h248_pkg_sig_t h248_pkg_bcg_signals[] = { - /* All the tones have the same parameters */ - { 0x0040, &hf_h248_pkg_bcg_sig_bdt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL }, - { 0x0041, &hf_h248_pkg_bcg_sig_brt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL }, - { 0x0042, &hf_h248_pkg_bcg_sig_bbt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL }, - { 0x0043, &hf_h248_pkg_bcg_sig_bct, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL }, - { 0x0044, &hf_h248_pkg_bcg_sig_bsit, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL }, - { 0x0045, &hf_h248_pkg_bcg_sig_bwt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL}, - { 0x0046, &hf_h248_pkg_bcg_sig_bpt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL }, - { 0x0047, &hf_h248_pkg_bcg_sig_bcw, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL }, - { 0x0048, &hf_h248_pkg_bcg_sig_bcr, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL }, - { 0x0049, &hf_h248_pkg_bcg_sig_bpy, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL }, - { 0, NULL, NULL, NULL,NULL} + /* All the tones have the same parameters */ + { 0x0040, &hf_h248_pkg_bcg_sig_bdt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL }, + { 0x0041, &hf_h248_pkg_bcg_sig_brt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL }, + { 0x0042, &hf_h248_pkg_bcg_sig_bbt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL }, + { 0x0043, &hf_h248_pkg_bcg_sig_bct, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL }, + { 0x0044, &hf_h248_pkg_bcg_sig_bsit, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL }, + { 0x0045, &hf_h248_pkg_bcg_sig_bwt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL}, + { 0x0046, &hf_h248_pkg_bcg_sig_bpt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL }, + { 0x0047, &hf_h248_pkg_bcg_sig_bcw, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL }, + { 0x0048, &hf_h248_pkg_bcg_sig_bcr, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL }, + { 0x0049, &hf_h248_pkg_bcg_sig_bpy, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL }, + { 0, NULL, NULL, NULL,NULL} }; static const value_string h248_pkg_bcg_props_vals[] = { - { 0, "Basic Call Progress Tones Q.1950 Annex A" }, - { 0, NULL } + { 0, "Basic Call Progress Tones Q.1950 Annex A" }, + { 0, NULL } }; /* Packet defenitions */ static h248_package_t h248_pkg_bcg = { - 0x0023, - &hf_h248_pkg_bcg, - &ett_h248_pkg_bcg, - h248_pkg_bcg_props_vals, - h248_pkg_bcg_signals_vals, - NULL, - NULL, - NULL, /* Properties */ - h248_pkg_bcg_signals, /* signals */ - NULL, /* events */ - NULL /* statistics */ + 0x0023, + &hf_h248_pkg_bcg, + &ett_h248_pkg_bcg, + h248_pkg_bcg_props_vals, + h248_pkg_bcg_signals_vals, + NULL, + NULL, + NULL, /* Properties */ + h248_pkg_bcg_signals, /* signals */ + NULL, /* events */ + NULL /* statistics */ }; void proto_reg_handoff_q1950(void) { - bctp_dissector = find_dissector("bctp"); + bctp_dissector = find_dissector("bctp"); } /* Register dissector */ void proto_register_q1950(void) { - static hf_register_info hf[] = { - /* A.3 Bearer characteristics package */ - { &hf_h248_pkg_BCP, - { "BCP (Bearer characteristics package)", "h248.BCP", - FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL } - }, - { &hf_h248_pkg_BCP_BNCChar, - { "BNCChar (BNC Characteristics)", "h248.bcp.bncchar", - FT_UINT32, BASE_HEX|BASE_EXT_STRING, &bearer_network_connection_characteristics_vals_ext, 0, "BNC Characteristics", HFILL } - }, - - /* A.4 Bearer Network connection cut-through package */ - { &hf_h248_pkg_BNCCT, - { "BNCCT (Bearer network connection cut-through package)", "h248.BNCCT", - FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL } - }, - { &hf_h248_pkg_BNCCT_prop, - { "Bearer network connection cut-through capability", "h248.bcp.bncct", - FT_UINT32, BASE_HEX, VALS(h248_pkg_BNCCT_prop_vals), 0, "This property allows the MGC to ask the MG when the cut through of a bearer will occur, early or late.", HFILL } - }, - - { &hf_h248_pkg_GB, - { "GB (Generic bearer connection)", "h248.GB", - FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL } - }, - { &hf_h248_pkg_GB_BNCChange, - { "BNCChange", "h248.GB.BNCChang", - FT_BYTES, BASE_NONE, NULL, 0, "This event occurs whenever a change to a Bearer Network connection occurs", HFILL } - }, - { &hf_h248_pkg_GB_BNCChange_type, - { "Type", "h248.GB.BNCChang.Type", - FT_UINT32, BASE_HEX, VALS(h248_pkg_GB_BNCChange_type_vals), 0, NULL, HFILL } - }, - { &hf_h248_pkg_GB_EstBNC, - { "Type", "h248.GB.BNCChang.EstBNC", - FT_BYTES, BASE_NONE, NULL, 0, "This signal triggers the bearer control function to send bearer establishment signalling", HFILL } - }, - { &hf_h248_pkg_GB_ModBNC, - { "Type", "h248.GB.BNCChang.Type", - FT_BYTES, BASE_NONE, NULL, 0, "This signal triggers the bearer control function to send bearer modification", HFILL } - }, - { &hf_h248_pkg_GB_RelBNC, - { "RelBNC", "h248.GB.BNCChang.RelBNC", - FT_BYTES, BASE_NONE, NULL, 0, "This signal triggers the bearer control function to send bearer release", HFILL } - }, - { &hf_h248_pkg_GB_RelBNC_Generalcause, - { "Generalcause", "h248.GB.BNCChang.RelBNC.Generalcause", - FT_UINT32, BASE_HEX, VALS(h248_pkg_GB_RelBNC_Generalcause_vals), 0, "This indicates the general reason for the Release", HFILL } - }, - { &hf_h248_pkg_GB_RelBNC_Failurecause, - { "Failurecause", "h248.GB.BNCChang.RelBNC.Failurecause", - FT_BYTES, BASE_NONE, NULL, 0, "The Release Cause is the value generated by the Released equipment", HFILL } - }, - { &hf_h248_pkg_GB_RelBNC_Reset, - { "RelBNC", "h248.GB.BNCChang.RelBNC", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, "This signal triggers the bearer control function to send bearer release", HFILL } - }, - - /* A.5 Bearer Network connection cut-through package */ - { &hf_h248_pkg_RI, - { "RI (Reuse idle package)", "h248.RI", - FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL } - }, - { &hf_h248_pkg_RII, - { "Reuse Idle Indication", "h248.bcp.rii", - FT_UINT32, BASE_HEX, VALS(h248_pkg_RII_vals), 0, "This property indicates that the provided bearer network connection relates to an Idle Bearer.", HFILL } - }, - - /* A.7 Bearer control tunnelling package */ - { &hf_h248_pkg_bt, - { "BT (Bearer control Tunneling)", "h248.BT", - FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL } - }, - { &hf_h248_pkg_bt_tunopt, - { "Tunnelling Options", "h248.BT.TunOpt", - FT_UINT32, BASE_DEC, VALS(h248_pkg_bt_tunopt_vals), 0, NULL, HFILL } - }, - { &hf_h248_pkg_bt_tind, - { "tind (Tunnel INDication)", "h248.BT.TIND", - FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL } - }, - { &hf_h248_pkg_bt_bit, - { "Bearer Information Transport", "h248.BT.BIT", - FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL } - }, - - - /* A.8 Basic call progress tones generator with directionality */ - { &hf_h248_pkg_bcg, - { "bcg (Basic call progress tones generator with directionality)", "h248.bcg", - FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL } - }, - { &hf_h248_pkg_bcg_sig_bdt_par_btd, - { "btd (Tone Direction)", "h248.bcp.btd", - FT_UINT32, BASE_HEX, VALS(h248_pkg_bcg_sig_bdt_par_btd_vals), 0, NULL, HFILL } - }, - { &hf_h248_pkg_bcg_sig_bdt, - { "bdt (Dial Tone)", "h248.bcg.bdt", - FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } - }, - { &hf_h248_pkg_bcg_sig_brt, - { "brt (Ringing tone)", "h248.bcg.brt", - FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } - }, - { &hf_h248_pkg_bcg_sig_bbt, - { "bbt (Busy tone)", "h248.bcg.bbt", - FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } - }, - { &hf_h248_pkg_bcg_sig_bct, - { "bct (Congestion tone)", "h248.bcg.bct", - FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } - }, - { &hf_h248_pkg_bcg_sig_bsit, - { "bsit (Special information tone)", "h248.bcg.bsit", - FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } - }, - { &hf_h248_pkg_bcg_sig_bwt, - { "bwt (Warning tone)", "h248.bcg.bwt", - FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } - }, - { &hf_h248_pkg_bcg_sig_bpt, - { "bpt (Payphone recognition tone)", "h248.bcg.bpt", - FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } - }, - { &hf_h248_pkg_bcg_sig_bcw, - { "bcw (Call waiting tone)", "h248.bcg.bcw", - FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } - }, - { &hf_h248_pkg_bcg_sig_bcr, - { "bcr (Call ringing tone)", "h248.bcg.bcr", - FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } - }, - { &hf_h248_pkg_bcg_sig_bpy, - { "bpy (Pay tone)", "h248.bcg.bpy", - FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } - }, - }; - - static gint *ett[] = { - &ett_h248_pkg_BCP, - &ett_h248_pkg_bt, - &ett_h248_pkg_bt_tind, - &ett_h248_pkg_bt_bit, - &ett_h248_pkg_bcg, - &ett_h248_pkg_bcg_sig_bdt, - &ett_h248_pkg_BNCCT, - &ett_h248_pkg_RI, - &ett_h248_pkg_GB, - &ett_h248_pkg_GB_EstBNC, - &ett_h248_pkg_GB_ModBNC, - &ett_h248_pkg_GB_RelBNC, - &ett_h248_pkg_GB_BNCChange - }; - - proto_q1950 = proto_register_protocol(PNAME, PSNAME, PFNAME); - - proto_register_field_array(proto_q1950, hf, array_length(hf)); - - proto_register_subtree_array(ett, array_length(ett)); - - /* Register the packages */ - h248_register_package(&h248_pkg_BCP,REPLACE_PKG); - h248_register_package(&h248_pkg_BNCCT,REPLACE_PKG); - h248_register_package(&h248_pkg_RI,REPLACE_PKG); - h248_register_package(&h248_pkg_GB,REPLACE_PKG); - h248_register_package(&h248_pkg_bcg,REPLACE_PKG); - h248_register_package(&h248_pkg_bct,REPLACE_PKG); + static hf_register_info hf[] = { + /* A.3 Bearer characteristics package */ + { &hf_h248_pkg_BCP, + { "BCP (Bearer characteristics package)", "h248.BCP", + FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL } + }, + { &hf_h248_pkg_BCP_BNCChar, + { "BNCChar (BNC Characteristics)", "h248.bcp.bncchar", + FT_UINT32, BASE_HEX|BASE_EXT_STRING, &bearer_network_connection_characteristics_vals_ext, 0, "BNC Characteristics", HFILL } + }, + + /* A.4 Bearer Network connection cut-through package */ + { &hf_h248_pkg_BNCCT, + { "BNCCT (Bearer network connection cut-through package)", "h248.BNCCT", + FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL } + }, + { &hf_h248_pkg_BNCCT_prop, + { "Bearer network connection cut-through capability", "h248.bcp.bncct", + FT_UINT32, BASE_HEX, VALS(h248_pkg_BNCCT_prop_vals), 0, "This property allows the MGC to ask the MG when the cut through of a bearer will occur, early or late.", HFILL } + }, + + { &hf_h248_pkg_GB, + { "GB (Generic bearer connection)", "h248.GB", + FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL } + }, + { &hf_h248_pkg_GB_BNCChange, + { "BNCChange", "h248.GB.BNCChang", + FT_BYTES, BASE_NONE, NULL, 0, "This event occurs whenever a change to a Bearer Network connection occurs", HFILL } + }, + { &hf_h248_pkg_GB_BNCChange_type, + { "Type", "h248.GB.BNCChang.Type", + FT_UINT32, BASE_HEX, VALS(h248_pkg_GB_BNCChange_type_vals), 0, NULL, HFILL } + }, + { &hf_h248_pkg_GB_EstBNC, + { "Type", "h248.GB.BNCChang.EstBNC", + FT_BYTES, BASE_NONE, NULL, 0, "This signal triggers the bearer control function to send bearer establishment signalling", HFILL } + }, + { &hf_h248_pkg_GB_ModBNC, + { "Type", "h248.GB.BNCChang.Type", + FT_BYTES, BASE_NONE, NULL, 0, "This signal triggers the bearer control function to send bearer modification", HFILL } + }, + { &hf_h248_pkg_GB_RelBNC, + { "RelBNC", "h248.GB.BNCChang.RelBNC", + FT_BYTES, BASE_NONE, NULL, 0, "This signal triggers the bearer control function to send bearer release", HFILL } + }, + { &hf_h248_pkg_GB_RelBNC_Generalcause, + { "Generalcause", "h248.GB.BNCChang.RelBNC.Generalcause", + FT_UINT32, BASE_HEX, VALS(h248_pkg_GB_RelBNC_Generalcause_vals), 0, "This indicates the general reason for the Release", HFILL } + }, + { &hf_h248_pkg_GB_RelBNC_Failurecause, + { "Failurecause", "h248.GB.BNCChang.RelBNC.Failurecause", + FT_BYTES, BASE_NONE, NULL, 0, "The Release Cause is the value generated by the Released equipment", HFILL } + }, + { &hf_h248_pkg_GB_RelBNC_Reset, + { "RelBNC", "h248.GB.BNCChang.RelBNC", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, "This signal triggers the bearer control function to send bearer release", HFILL } + }, + + /* A.5 Bearer Network connection cut-through package */ + { &hf_h248_pkg_RI, + { "RI (Reuse idle package)", "h248.RI", + FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL } + }, + { &hf_h248_pkg_RII, + { "Reuse Idle Indication", "h248.bcp.rii", + FT_UINT32, BASE_HEX, VALS(h248_pkg_RII_vals), 0, "This property indicates that the provided bearer network connection relates to an Idle Bearer.", HFILL } + }, + + /* A.7 Bearer control tunnelling package */ + { &hf_h248_pkg_bt, + { "BT (Bearer control Tunneling)", "h248.BT", + FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL } + }, + { &hf_h248_pkg_bt_tunopt, + { "Tunnelling Options", "h248.BT.TunOpt", + FT_UINT32, BASE_DEC, VALS(h248_pkg_bt_tunopt_vals), 0, NULL, HFILL } + }, + { &hf_h248_pkg_bt_tind, + { "tind (Tunnel INDication)", "h248.BT.TIND", + FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL } + }, + { &hf_h248_pkg_bt_bit, + { "Bearer Information Transport", "h248.BT.BIT", + FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL } + }, + + + /* A.8 Basic call progress tones generator with directionality */ + { &hf_h248_pkg_bcg, + { "bcg (Basic call progress tones generator with directionality)", "h248.bcg", + FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL } + }, + { &hf_h248_pkg_bcg_sig_bdt_par_btd, + { "btd (Tone Direction)", "h248.bcp.btd", + FT_UINT32, BASE_HEX, VALS(h248_pkg_bcg_sig_bdt_par_btd_vals), 0, NULL, HFILL } + }, + { &hf_h248_pkg_bcg_sig_bdt, + { "bdt (Dial Tone)", "h248.bcg.bdt", + FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } + }, + { &hf_h248_pkg_bcg_sig_brt, + { "brt (Ringing tone)", "h248.bcg.brt", + FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } + }, + { &hf_h248_pkg_bcg_sig_bbt, + { "bbt (Busy tone)", "h248.bcg.bbt", + FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } + }, + { &hf_h248_pkg_bcg_sig_bct, + { "bct (Congestion tone)", "h248.bcg.bct", + FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } + }, + { &hf_h248_pkg_bcg_sig_bsit, + { "bsit (Special information tone)", "h248.bcg.bsit", + FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } + }, + { &hf_h248_pkg_bcg_sig_bwt, + { "bwt (Warning tone)", "h248.bcg.bwt", + FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } + }, + { &hf_h248_pkg_bcg_sig_bpt, + { "bpt (Payphone recognition tone)", "h248.bcg.bpt", + FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } + }, + { &hf_h248_pkg_bcg_sig_bcw, + { "bcw (Call waiting tone)", "h248.bcg.bcw", + FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } + }, + { &hf_h248_pkg_bcg_sig_bcr, + { "bcr (Call ringing tone)", "h248.bcg.bcr", + FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } + }, + { &hf_h248_pkg_bcg_sig_bpy, + { "bpy (Pay tone)", "h248.bcg.bpy", + FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL } + }, + }; + + static gint *ett[] = { + &ett_h248_pkg_BCP, + &ett_h248_pkg_bt, + &ett_h248_pkg_bt_tind, + &ett_h248_pkg_bt_bit, + &ett_h248_pkg_bcg, + &ett_h248_pkg_bcg_sig_bdt, + &ett_h248_pkg_BNCCT, + &ett_h248_pkg_RI, + &ett_h248_pkg_GB, + &ett_h248_pkg_GB_EstBNC, + &ett_h248_pkg_GB_ModBNC, + &ett_h248_pkg_GB_RelBNC, + &ett_h248_pkg_GB_BNCChange + }; + + proto_q1950 = proto_register_protocol(PNAME, PSNAME, PFNAME); + + proto_register_field_array(proto_q1950, hf, array_length(hf)); + + proto_register_subtree_array(ett, array_length(ett)); + + /* Register the packages */ + h248_register_package(&h248_pkg_BCP,REPLACE_PKG); + h248_register_package(&h248_pkg_BNCCT,REPLACE_PKG); + h248_register_package(&h248_pkg_RI,REPLACE_PKG); + h248_register_package(&h248_pkg_GB,REPLACE_PKG); + h248_register_package(&h248_pkg_bcg,REPLACE_PKG); + h248_register_package(&h248_pkg_bct,REPLACE_PKG); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 4 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * vi: set shiftwidth=4 tabstop=8 expandtab: + * :indentSize=4:tabSize=8:noTabs=true: + */ diff --git a/epan/dissectors/packet-hclnfsd.c b/epan/dissectors/packet-hclnfsd.c index df5d4e7b57..61fe2e10c4 100644 --- a/epan/dissectors/packet-hclnfsd.c +++ b/epan/dissectors/packet-hclnfsd.c @@ -644,64 +644,64 @@ dissect_hclnfsd_get_printq_reply(tvbuff_t *tvb, int offset, packet_info *pinfo _ /* NULL as function pointer means: take the generic one. */ static const vsff hclnfsd1_proc[] = { - { HCLNFSDPROC_NULL, "NULL", - NULL, NULL }, - { HCLNFSDPROC_SPOOL_INQUIRE, "SPOOL_INQUIRE", - dissect_hclnfsd_spool_inquire_call, NULL }, - { HCLNFSDPROC_SPOOL_FILE, "SPOOL_FILE", - dissect_hclnfsd_spool_file_call, NULL }, - { HCLNFSDPROC_AUTHORIZE, "AUTHORIZE", - dissect_hclnfsd_authorize_call, dissect_hclnfsd_authorize_reply }, - { HCLNFSDPROC_GRP_NAME_TO_NUMB, "GRP_NAME_TO_NUMB", - dissect_hclnfsd_grp_name_to_numb_call, dissect_hclnfsd_grp_name_to_numb_reply }, - { HCLNFSDPROC_GRP_TO_NUMBER, "GRP_TO_NUMBER", - dissect_hclnfsd_grp_to_number_call, dissect_hclnfsd_grp_to_number_reply }, - { HCLNFSDPROC_RETURN_HOST, "RETURN_HOST", - dissect_hclnfsd_return_host_call, dissect_hclnfsd_return_host_reply }, - { HCLNFSDPROC_UID_TO_NAME, "UID_TO_NAME", - dissect_hclnfsd_uid_to_name_call, dissect_hclnfsd_uid_to_name_reply }, - { HCLNFSDPROC_NAME_TO_UID, "NAME_TO_UID", - dissect_hclnfsd_name_to_uid_call, dissect_hclnfsd_name_to_uid_reply }, - { HCLNFSDPROC_SHARE, "SHARE", - dissect_hclnfsd_share_call, dissect_hclnfsd_share_reply }, - { HCLNFSDPROC_UNSHARE, "UNSHARE", - dissect_hclnfsd_unshare_call, dissect_hclnfsd_unshare_reply }, - { HCLNFSDPROC_LOCK, "LOCK", - dissect_hclnfsd_lock_call, dissect_hclnfsd_lock_reply }, - { HCLNFSDPROC_REMOVE, "REMOVE", - dissect_hclnfsd_remove_call, NULL }, - { HCLNFSDPROC_UNLOCK, "UNLOCK", - dissect_hclnfsd_unlock_call, dissect_hclnfsd_unlock_reply }, - { HCLNFSDPROC_GET_PRINTERS, "GET_PRINTERS", - NULL, dissect_hclnfsd_get_printers_reply }, - { HCLNFSDPROC_GET_PRINTQ, "GET_PRINTQ", - dissect_hclnfsd_get_printq_call, dissect_hclnfsd_get_printq_reply }, - { HCLNFSDPROC_CANCEL_PRJOB, "CANCEL_PRJOB", - NULL, NULL }, - { HCLNFSDPROC_ZAP_LOCKS, "ZAP_LOCKS", - NULL, NULL }, - { 0, NULL, NULL, NULL } + { HCLNFSDPROC_NULL, "NULL", + NULL, NULL }, + { HCLNFSDPROC_SPOOL_INQUIRE, "SPOOL_INQUIRE", + dissect_hclnfsd_spool_inquire_call, NULL }, + { HCLNFSDPROC_SPOOL_FILE, "SPOOL_FILE", + dissect_hclnfsd_spool_file_call, NULL }, + { HCLNFSDPROC_AUTHORIZE, "AUTHORIZE", + dissect_hclnfsd_authorize_call, dissect_hclnfsd_authorize_reply }, + { HCLNFSDPROC_GRP_NAME_TO_NUMB, "GRP_NAME_TO_NUMB", + dissect_hclnfsd_grp_name_to_numb_call, dissect_hclnfsd_grp_name_to_numb_reply }, + { HCLNFSDPROC_GRP_TO_NUMBER, "GRP_TO_NUMBER", + dissect_hclnfsd_grp_to_number_call, dissect_hclnfsd_grp_to_number_reply }, + { HCLNFSDPROC_RETURN_HOST, "RETURN_HOST", + dissect_hclnfsd_return_host_call, dissect_hclnfsd_return_host_reply }, + { HCLNFSDPROC_UID_TO_NAME, "UID_TO_NAME", + dissect_hclnfsd_uid_to_name_call, dissect_hclnfsd_uid_to_name_reply }, + { HCLNFSDPROC_NAME_TO_UID, "NAME_TO_UID", + dissect_hclnfsd_name_to_uid_call, dissect_hclnfsd_name_to_uid_reply }, + { HCLNFSDPROC_SHARE, "SHARE", + dissect_hclnfsd_share_call, dissect_hclnfsd_share_reply }, + { HCLNFSDPROC_UNSHARE, "UNSHARE", + dissect_hclnfsd_unshare_call, dissect_hclnfsd_unshare_reply }, + { HCLNFSDPROC_LOCK, "LOCK", + dissect_hclnfsd_lock_call, dissect_hclnfsd_lock_reply }, + { HCLNFSDPROC_REMOVE, "REMOVE", + dissect_hclnfsd_remove_call, NULL }, + { HCLNFSDPROC_UNLOCK, "UNLOCK", + dissect_hclnfsd_unlock_call, dissect_hclnfsd_unlock_reply }, + { HCLNFSDPROC_GET_PRINTERS, "GET_PRINTERS", + NULL, dissect_hclnfsd_get_printers_reply }, + { HCLNFSDPROC_GET_PRINTQ, "GET_PRINTQ", + dissect_hclnfsd_get_printq_call, dissect_hclnfsd_get_printq_reply }, + { HCLNFSDPROC_CANCEL_PRJOB, "CANCEL_PRJOB", + NULL, NULL }, + { HCLNFSDPROC_ZAP_LOCKS, "ZAP_LOCKS", + NULL, NULL }, + { 0, NULL, NULL, NULL } }; static const value_string hclnfsd1_proc_vals[] = { - { HCLNFSDPROC_NULL, "NULL" }, - { HCLNFSDPROC_SPOOL_INQUIRE, "SPOOL_INQUIRE" }, - { HCLNFSDPROC_SPOOL_FILE, "SPOOL_FILE" }, - { HCLNFSDPROC_AUTHORIZE, "AUTHORIZE" }, - { HCLNFSDPROC_GRP_NAME_TO_NUMB, "GRP_NAME_TO_NUMB" }, - { HCLNFSDPROC_GRP_TO_NUMBER, "GRP_TO_NUMBER" }, - { HCLNFSDPROC_RETURN_HOST, "RETURN_HOST" }, - { HCLNFSDPROC_UID_TO_NAME, "UID_TO_NAME" }, - { HCLNFSDPROC_NAME_TO_UID, "NAME_TO_UID" }, - { HCLNFSDPROC_SHARE, "SHARE" }, - { HCLNFSDPROC_UNSHARE, "UNSHARE" }, - { HCLNFSDPROC_LOCK, "LOCK" }, - { HCLNFSDPROC_REMOVE, "REMOVE" }, - { HCLNFSDPROC_UNLOCK, "UNLOCK" }, - { HCLNFSDPROC_GET_PRINTERS, "GET_PRINTERS" }, - { HCLNFSDPROC_GET_PRINTQ, "GET_PRINTQ" }, - { HCLNFSDPROC_CANCEL_PRJOB, "CANCEL_PRJOB" }, - { HCLNFSDPROC_ZAP_LOCKS, "ZAP_LOCKS" }, - { 0, NULL } + { HCLNFSDPROC_NULL, "NULL" }, + { HCLNFSDPROC_SPOOL_INQUIRE, "SPOOL_INQUIRE" }, + { HCLNFSDPROC_SPOOL_FILE, "SPOOL_FILE" }, + { HCLNFSDPROC_AUTHORIZE, "AUTHORIZE" }, + { HCLNFSDPROC_GRP_NAME_TO_NUMB, "GRP_NAME_TO_NUMB" }, + { HCLNFSDPROC_GRP_TO_NUMBER, "GRP_TO_NUMBER" }, + { HCLNFSDPROC_RETURN_HOST, "RETURN_HOST" }, + { HCLNFSDPROC_UID_TO_NAME, "UID_TO_NAME" }, + { HCLNFSDPROC_NAME_TO_UID, "NAME_TO_UID" }, + { HCLNFSDPROC_SHARE, "SHARE" }, + { HCLNFSDPROC_UNSHARE, "UNSHARE" }, + { HCLNFSDPROC_LOCK, "LOCK" }, + { HCLNFSDPROC_REMOVE, "REMOVE" }, + { HCLNFSDPROC_UNLOCK, "UNLOCK" }, + { HCLNFSDPROC_GET_PRINTERS, "GET_PRINTERS" }, + { HCLNFSDPROC_GET_PRINTQ, "GET_PRINTQ" }, + { HCLNFSDPROC_CANCEL_PRJOB, "CANCEL_PRJOB" }, + { HCLNFSDPROC_ZAP_LOCKS, "ZAP_LOCKS" }, + { 0, NULL } }; /* end of hclnfsd version 1 */ @@ -889,3 +889,16 @@ proto_reg_handoff_hclnfsd(void) /* Register the procedure tables */ rpc_init_proc_table(HCLNFSD_PROGRAM, 1, hclnfsd1_proc, hf_hclnfsd_procedure_v1); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-iwarp-ddp-rdmap.c b/epan/dissectors/packet-iwarp-ddp-rdmap.c index 225c3de9df..50f61f8199 100644 --- a/epan/dissectors/packet-iwarp-ddp-rdmap.c +++ b/epan/dissectors/packet-iwarp-ddp-rdmap.c @@ -190,21 +190,21 @@ static gint ett_iwarp_rdma_term_ctrl = -1; static gint ett_iwarp_rdma_term_hdrct = -1; static const value_string rdmap_messages[] = { - { RDMA_WRITE, "Write" }, - { RDMA_READ_REQUEST, "Read Request" }, - { RDMA_READ_RESPONSE, "Read Response" }, - { RDMA_SEND, "Send" }, - { RDMA_SEND_INVALIDATE, "Send with Invalidate" }, - { RDMA_SEND_SE, "Send with SE" }, + { RDMA_WRITE, "Write" }, + { RDMA_READ_REQUEST, "Read Request" }, + { RDMA_READ_RESPONSE, "Read Response" }, + { RDMA_SEND, "Send" }, + { RDMA_SEND_INVALIDATE, "Send with Invalidate" }, + { RDMA_SEND_SE, "Send with SE" }, { RDMA_SEND_SE_INVALIDATE, "Send with SE and Invalidate" }, - { RDMA_TERMINATE, "Terminate" }, + { RDMA_TERMINATE, "Terminate" }, { 0, NULL } }; static const value_string layer_names[] = { { IWARP_LAYER_RDMA, "RDMA" }, - { IWARP_LAYER_DDP, "DDP" }, - { IWARP_LAYER_LLP, "LLP" }, + { IWARP_LAYER_DDP, "DDP" }, + { IWARP_LAYER_LLP, "LLP" }, { 0, NULL } }; @@ -904,3 +904,16 @@ proto_reg_handoff_iwarp_ddp_rdmap(void) { data_handle = find_dissector("data"); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-iwarp-mpa.c b/epan/dissectors/packet-iwarp-mpa.c index a88bfdb131..51388035a5 100644 --- a/epan/dissectors/packet-iwarp-mpa.c +++ b/epan/dissectors/packet-iwarp-mpa.c @@ -984,3 +984,16 @@ proto_reg_handoff_mpa(void) heur_dissector_add("tcp", dissect_iwarp_mpa, proto_iwarp_mpa); ddp_rdmap_handle = find_dissector("iwarp_ddp_rdmap"); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-lapd.c b/epan/dissectors/packet-lapd.c index ecfa566505..f62829e0bf 100644 --- a/epan/dissectors/packet-lapd.c +++ b/epan/dissectors/packet-lapd.c @@ -590,110 +590,110 @@ proto_reg_handoff_lapd(void); void proto_register_lapd(void) { - static hf_register_info hf[] = { - - { &hf_lapd_direction, - { "Direction", "lapd.direction", FT_UINT8, BASE_DEC, VALS(lapd_direction_vals), 0x0, - NULL, HFILL }}, - - { &hf_lapd_address, - { "Address Field", "lapd.address", FT_UINT16, BASE_HEX, NULL, 0x0, - "Address", HFILL }}, - - { &hf_lapd_sapi, - { "SAPI", "lapd.sapi", FT_UINT16, BASE_DEC, VALS(lapd_sapi_vals), LAPD_SAPI, - "Service Access Point Identifier", HFILL }}, - - { &hf_lapd_gsm_sapi, - { "SAPI", "lapd.sapi", FT_UINT16, BASE_DEC, VALS(lapd_gsm_sapi_vals), LAPD_SAPI, - "Service Access Point Identifier", HFILL }}, - - { &hf_lapd_cr, - { "C/R", "lapd.cr", FT_UINT16, BASE_DEC, NULL, LAPD_CR, - "Command/Response bit", HFILL }}, - - { &hf_lapd_ea1, - { "EA1", "lapd.ea1", FT_UINT16, BASE_DEC, NULL, LAPD_EA1, - "First Address Extension bit", HFILL }}, - - { &hf_lapd_tei, - { "TEI", "lapd.tei", FT_UINT16, BASE_DEC, NULL, LAPD_TEI, - "Terminal Endpoint Identifier", HFILL }}, - - { &hf_lapd_ea2, - { "EA2", "lapd.ea2", FT_UINT16, BASE_DEC, NULL, LAPD_EA2, - "Second Address Extension bit", HFILL }}, - - { &hf_lapd_control, - { "Control Field", "lapd.control", FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL }}, - - { &hf_lapd_n_r, - { "N(R)", "lapd.control.n_r", FT_UINT16, BASE_DEC, - NULL, XDLC_N_R_EXT_MASK, NULL, HFILL }}, - - { &hf_lapd_n_s, - { "N(S)", "lapd.control.n_s", FT_UINT16, BASE_DEC, - NULL, XDLC_N_S_EXT_MASK, NULL, HFILL }}, - - { &hf_lapd_p, - { "Poll", "lapd.control.p", FT_BOOLEAN, 8, - TFS(&tfs_set_notset), XDLC_P_F, NULL, HFILL }}, - - { &hf_lapd_p_ext, - { "Poll", "lapd.control.p", FT_BOOLEAN, 16, - TFS(&tfs_set_notset), XDLC_P_F_EXT, NULL, HFILL }}, - - { &hf_lapd_f, - { "Final", "lapd.control.f", FT_BOOLEAN, 8, - TFS(&tfs_set_notset), XDLC_P_F, NULL, HFILL }}, - - { &hf_lapd_f_ext, - { "Final", "lapd.control.f", FT_BOOLEAN, 16, - TFS(&tfs_set_notset), XDLC_P_F_EXT, NULL, HFILL }}, - - { &hf_lapd_s_ftype, - { "Supervisory frame type", "lapd.control.s_ftype", FT_UINT16, BASE_HEX, - VALS(stype_vals), XDLC_S_FTYPE_MASK, NULL, HFILL }}, - - { &hf_lapd_u_modifier_cmd, - { "Command", "lapd.control.u_modifier_cmd", FT_UINT8, BASE_HEX, - VALS(modifier_vals_cmd), XDLC_U_MODIFIER_MASK, NULL, HFILL }}, - - { &hf_lapd_u_modifier_resp, - { "Response", "lapd.control.u_modifier_resp", FT_UINT8, BASE_HEX, - VALS(modifier_vals_resp), XDLC_U_MODIFIER_MASK, NULL, HFILL }}, - - { &hf_lapd_ftype_i, - { "Frame type", "lapd.control.ftype", FT_UINT16, BASE_HEX, - VALS(ftype_vals), XDLC_I_MASK, NULL, HFILL }}, - - { &hf_lapd_ftype_s_u, - { "Frame type", "lapd.control.ftype", FT_UINT8, BASE_HEX, - VALS(ftype_vals), XDLC_S_U_MASK, NULL, HFILL }}, - - { &hf_lapd_ftype_s_u_ext, - { "Frame type", "lapd.control.ftype", FT_UINT16, BASE_HEX, - VALS(ftype_vals), XDLC_S_U_MASK, NULL, HFILL }}, - - { &hf_lapd_checksum, - { "Checksum", "lapd.checksum", FT_UINT16, BASE_HEX, - NULL, 0x0, "Details at: http://www.wireshark.org/docs/wsug_html_chunked/ChAdvChecksums.html", HFILL }}, - - { &hf_lapd_checksum_good, - { "Good Checksum", "lapd.checksum_good", FT_BOOLEAN, BASE_NONE, - NULL, 0x0, "True: checksum matches packet content; False: doesn't match content or not checked", HFILL }}, - - { &hf_lapd_checksum_bad, - { "Bad Checksum", "lapd.checksum_bad", FT_BOOLEAN, BASE_NONE, - NULL, 0x0, "True: checksum doesn't match packet content; False: matches content or not checked", HFILL }}, - }; - static gint *ett[] = { - &ett_lapd, - &ett_lapd_address, - &ett_lapd_control, - &ett_lapd_checksum - }; + static hf_register_info hf[] = { + + { &hf_lapd_direction, + { "Direction", "lapd.direction", FT_UINT8, BASE_DEC, VALS(lapd_direction_vals), 0x0, + NULL, HFILL }}, + + { &hf_lapd_address, + { "Address Field", "lapd.address", FT_UINT16, BASE_HEX, NULL, 0x0, + "Address", HFILL }}, + + { &hf_lapd_sapi, + { "SAPI", "lapd.sapi", FT_UINT16, BASE_DEC, VALS(lapd_sapi_vals), LAPD_SAPI, + "Service Access Point Identifier", HFILL }}, + + { &hf_lapd_gsm_sapi, + { "SAPI", "lapd.sapi", FT_UINT16, BASE_DEC, VALS(lapd_gsm_sapi_vals), LAPD_SAPI, + "Service Access Point Identifier", HFILL }}, + + { &hf_lapd_cr, + { "C/R", "lapd.cr", FT_UINT16, BASE_DEC, NULL, LAPD_CR, + "Command/Response bit", HFILL }}, + + { &hf_lapd_ea1, + { "EA1", "lapd.ea1", FT_UINT16, BASE_DEC, NULL, LAPD_EA1, + "First Address Extension bit", HFILL }}, + + { &hf_lapd_tei, + { "TEI", "lapd.tei", FT_UINT16, BASE_DEC, NULL, LAPD_TEI, + "Terminal Endpoint Identifier", HFILL }}, + + { &hf_lapd_ea2, + { "EA2", "lapd.ea2", FT_UINT16, BASE_DEC, NULL, LAPD_EA2, + "Second Address Extension bit", HFILL }}, + + { &hf_lapd_control, + { "Control Field", "lapd.control", FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL }}, + + { &hf_lapd_n_r, + { "N(R)", "lapd.control.n_r", FT_UINT16, BASE_DEC, + NULL, XDLC_N_R_EXT_MASK, NULL, HFILL }}, + + { &hf_lapd_n_s, + { "N(S)", "lapd.control.n_s", FT_UINT16, BASE_DEC, + NULL, XDLC_N_S_EXT_MASK, NULL, HFILL }}, + + { &hf_lapd_p, + { "Poll", "lapd.control.p", FT_BOOLEAN, 8, + TFS(&tfs_set_notset), XDLC_P_F, NULL, HFILL }}, + + { &hf_lapd_p_ext, + { "Poll", "lapd.control.p", FT_BOOLEAN, 16, + TFS(&tfs_set_notset), XDLC_P_F_EXT, NULL, HFILL }}, + + { &hf_lapd_f, + { "Final", "lapd.control.f", FT_BOOLEAN, 8, + TFS(&tfs_set_notset), XDLC_P_F, NULL, HFILL }}, + + { &hf_lapd_f_ext, + { "Final", "lapd.control.f", FT_BOOLEAN, 16, + TFS(&tfs_set_notset), XDLC_P_F_EXT, NULL, HFILL }}, + + { &hf_lapd_s_ftype, + { "Supervisory frame type", "lapd.control.s_ftype", FT_UINT16, BASE_HEX, + VALS(stype_vals), XDLC_S_FTYPE_MASK, NULL, HFILL }}, + + { &hf_lapd_u_modifier_cmd, + { "Command", "lapd.control.u_modifier_cmd", FT_UINT8, BASE_HEX, + VALS(modifier_vals_cmd), XDLC_U_MODIFIER_MASK, NULL, HFILL }}, + + { &hf_lapd_u_modifier_resp, + { "Response", "lapd.control.u_modifier_resp", FT_UINT8, BASE_HEX, + VALS(modifier_vals_resp), XDLC_U_MODIFIER_MASK, NULL, HFILL }}, + + { &hf_lapd_ftype_i, + { "Frame type", "lapd.control.ftype", FT_UINT16, BASE_HEX, + VALS(ftype_vals), XDLC_I_MASK, NULL, HFILL }}, + + { &hf_lapd_ftype_s_u, + { "Frame type", "lapd.control.ftype", FT_UINT8, BASE_HEX, + VALS(ftype_vals), XDLC_S_U_MASK, NULL, HFILL }}, + + { &hf_lapd_ftype_s_u_ext, + { "Frame type", "lapd.control.ftype", FT_UINT16, BASE_HEX, + VALS(ftype_vals), XDLC_S_U_MASK, NULL, HFILL }}, + + { &hf_lapd_checksum, + { "Checksum", "lapd.checksum", FT_UINT16, BASE_HEX, + NULL, 0x0, "Details at: http://www.wireshark.org/docs/wsug_html_chunked/ChAdvChecksums.html", HFILL }}, + + { &hf_lapd_checksum_good, + { "Good Checksum", "lapd.checksum_good", FT_BOOLEAN, BASE_NONE, + NULL, 0x0, "True: checksum matches packet content; False: doesn't match content or not checked", HFILL }}, + + { &hf_lapd_checksum_bad, + { "Bad Checksum", "lapd.checksum_bad", FT_BOOLEAN, BASE_NONE, + NULL, 0x0, "True: checksum doesn't match packet content; False: matches content or not checked", HFILL }}, + }; + static gint *ett[] = { + &ett_lapd, + &ett_lapd_address, + &ett_lapd_control, + &ett_lapd_checksum + }; static ei_register_info ei[] = { { &ei_lapd_abort, { "lapd.abort.expert", PI_PROTOCOL, PI_ERROR, "Formatted message", EXPFILL }}, @@ -704,7 +704,7 @@ proto_register_lapd(void) expert_module_t* expert_lapd; proto_lapd = proto_register_protocol("Link Access Procedure, Channel D (LAPD)", - "LAPD", "lapd"); + "LAPD", "lapd"); proto_register_field_array (proto_lapd, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); expert_lapd = expert_register_protocol(proto_lapd); @@ -721,14 +721,14 @@ proto_register_lapd(void) lapd_module = prefs_register_protocol(proto_lapd, proto_reg_handoff_lapd); prefs_register_bool_preference(lapd_module, "use_gsm_sapi_values", - "Use GSM SAPI values", - "Use SAPI values as specified in TS 48 056", - &global_lapd_gsm_sapis); + "Use GSM SAPI values", + "Use SAPI values as specified in TS 48 056", + &global_lapd_gsm_sapis); prefs_register_uint_preference(lapd_module, "rtp_payload_type", - "RTP payload type for embedded LAPD", - "RTP payload type for embedded LAPD. It must be one of the dynamic types " - "from 96 to 127. Set it to 0 to disable.", - 10, &pref_lapd_rtp_payload_type); + "RTP payload type for embedded LAPD", + "RTP payload type for embedded LAPD. It must be one of the dynamic types " + "from 96 to 127. Set it to 0 to disable.", + 10, &pref_lapd_rtp_payload_type); } void @@ -760,3 +760,16 @@ proto_reg_handoff_lapd(void) if ((lapd_rtp_payload_type > 95) && (lapd_rtp_payload_type < 128)) dissector_add_uint("rtp.pt", lapd_rtp_payload_type, lapd_bitstream_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-lapsat.c b/epan/dissectors/packet-lapsat.c index 62830abd5b..84b453646d 100644 --- a/epan/dissectors/packet-lapsat.c +++ b/epan/dissectors/packet-lapsat.c @@ -771,3 +771,16 @@ proto_reg_handoff_lapsat(void) { data_handle = find_dissector("data"); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-lon.c b/epan/dissectors/packet-lon.c index 2e6262fb63..ef3bad3c1c 100644 --- a/epan/dissectors/packet-lon.c +++ b/epan/dissectors/packet-lon.c @@ -768,3 +768,16 @@ proto_reg_handoff_lon(void) dissector_add_uint("cnip.protocol", 0, lon_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-ltp.c b/epan/dissectors/packet-ltp.c index ec33a46701..7c2a2a9ce1 100644 --- a/epan/dissectors/packet-ltp.c +++ b/epan/dissectors/packet-ltp.c @@ -182,26 +182,26 @@ static gint ett_ltp_fragment = -1; static gint ett_ltp_fragments = -1; static const fragment_items ltp_frag_items = { - /*Fragment subtrees*/ - &ett_ltp_fragment, - &ett_ltp_fragments, - /*Fragment Fields*/ - &hf_ltp_fragments, - &hf_ltp_fragment, - &hf_ltp_fragment_overlap, - &hf_ltp_fragment_overlap_conflicts, - &hf_ltp_fragment_multiple_tails, - &hf_ltp_fragment_too_long_fragment, - &hf_ltp_fragment_error, - &hf_ltp_fragment_count, - /*Reassembled in field*/ - &hf_ltp_reassembled_in, - /*Reassembled length field*/ - &hf_ltp_reassembled_length, - /* Reassembled data field */ - NULL, - /*Tag*/ - "LTP fragments" + /*Fragment subtrees*/ + &ett_ltp_fragment, + &ett_ltp_fragments, + /*Fragment Fields*/ + &hf_ltp_fragments, + &hf_ltp_fragment, + &hf_ltp_fragment_overlap, + &hf_ltp_fragment_overlap_conflicts, + &hf_ltp_fragment_multiple_tails, + &hf_ltp_fragment_too_long_fragment, + &hf_ltp_fragment_error, + &hf_ltp_fragment_count, + /*Reassembled in field*/ + &hf_ltp_reassembled_in, + /*Reassembled length field*/ + &hf_ltp_reassembled_length, + /* Reassembled data field */ + NULL, + /*Tag*/ + "LTP fragments" }; static int @@ -438,10 +438,10 @@ dissect_report_segment(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ltp_tree, "Negative reception claim count: %d", rcpt_clm_cnt); return 0; } - /* Each reception claim is at least 2 bytes, so if the count is larger than the - * max number of claims we can possibly squeeze into the remaining tvbuff, then - * the packet is malformed. - */ + /* Each reception claim is at least 2 bytes, so if the count is larger than the + * max number of claims we can possibly squeeze into the remaining tvbuff, then + * the packet is malformed. + */ if (rcpt_clm_cnt > tvb_length_remaining(tvb, frame_offset + segment_offset) / 2) { proto_item_set_end(ltp_rpt_item, tvb, frame_offset + segment_offset); expert_add_info_format(pinfo, ltp_tree, &ei_ltp_mal_reception_claim, @@ -988,7 +988,7 @@ proto_reg_handoff_ltp(void) if (!initialized) { ltp_handle = new_create_dissector_handle(dissect_ltp, proto_ltp); - bundle_handle = find_dissector("bundle"); + bundle_handle = find_dissector("bundle"); initialized = TRUE; } else { dissector_delete_uint("udp.port", currentPort, ltp_handle); @@ -1000,3 +1000,16 @@ proto_reg_handoff_ltp(void) dissector_add_uint("udp.port", currentPort, ltp_handle); dissector_add_uint("dccp.port", currentPort, ltp_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-mount.c b/epan/dissectors/packet-mount.c index b34e40de22..1270c899ef 100644 --- a/epan/dissectors/packet-mount.c +++ b/epan/dissectors/packet-mount.c @@ -170,8 +170,8 @@ dissect_mount_dirpath_call(tvbuff_t *tvb, int offset, packet_info *pinfo, host=ip_to_str((const guint8 *)pinfo->dst.data); len=tvb_get_ntohl(tvb, offset); - if (len >= ITEM_LABEL_LENGTH) - THROW(ReportedBoundsError); + if (len >= ITEM_LABEL_LENGTH) + THROW(ReportedBoundsError); name=(unsigned char *)g_malloc(strlen(host)+1+len+1+200); ptr=name; @@ -356,53 +356,53 @@ dissect_mount_export_reply(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_ #define PC_ERROR_VDISABLE 0x0200 static const true_false_string tos_error_all = { - "All info invalid", - "Some or all info valid" + "All info invalid", + "Some or all info valid" }; static const true_false_string tos_error_link_max = { - "LINK_MAX invalid", - "LINK_MAX valid" + "LINK_MAX invalid", + "LINK_MAX valid" }; static const true_false_string tos_error_max_canon = { - "MAX_CANON invalid", - "MAX_CANON valid" + "MAX_CANON invalid", + "MAX_CANON valid" }; static const true_false_string tos_error_max_input = { - "MAX_INPUT invalid", - "MAX_INPUT valid" + "MAX_INPUT invalid", + "MAX_INPUT valid" }; static const true_false_string tos_error_name_max = { - "NAME_MAX invalid", - "NAME_MAX valid" + "NAME_MAX invalid", + "NAME_MAX valid" }; static const true_false_string tos_error_path_max = { - "PATH_MAX invalid", - "PATH_MAX valid" + "PATH_MAX invalid", + "PATH_MAX valid" }; static const true_false_string tos_error_pipe_buf = { - "PIPE_BUF invalid", - "PIPE_BUF valid" + "PIPE_BUF invalid", + "PIPE_BUF valid" }; static const true_false_string tos_chown_restricted = { - "Only a privileged user can change the ownership of a file", - "Users may give away their own files" + "Only a privileged user can change the ownership of a file", + "Users may give away their own files" }; static const true_false_string tos_no_trunc = { - "File names that are too long will get an error", - "File names that are too long will be truncated" + "File names that are too long will get an error", + "File names that are too long will be truncated" }; static const true_false_string tos_error_vdisable = { - "VDISABLE invalid", - "VDISABLE valid" + "VDISABLE invalid", + "VDISABLE valid" }; @@ -747,30 +747,30 @@ dissect_mount_statvfs_reply(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, p /* Mount protocol version 1, RFC 1094 */ static const vsff mount1_proc[] = { - { 0, "NULL", NULL, NULL }, - { MOUNTPROC_MNT, "MNT", - dissect_mount_dirpath_call, dissect_mount1_mnt_reply }, - { MOUNTPROC_DUMP, "DUMP", - NULL, dissect_mount_dump_reply }, - { MOUNTPROC_UMNT, "UMNT", - dissect_mount_dirpath_call, NULL }, - { MOUNTPROC_UMNTALL, "UMNTALL", - NULL, NULL }, - { MOUNTPROC_EXPORT, "EXPORT", - NULL, dissect_mount_export_reply }, - { MOUNTPROC_EXPORTALL, "EXPORTALL", - NULL, dissect_mount_export_reply }, - { 0, NULL, NULL, NULL } + { 0, "NULL", NULL, NULL }, + { MOUNTPROC_MNT, "MNT", + dissect_mount_dirpath_call, dissect_mount1_mnt_reply }, + { MOUNTPROC_DUMP, "DUMP", + NULL, dissect_mount_dump_reply }, + { MOUNTPROC_UMNT, "UMNT", + dissect_mount_dirpath_call, NULL }, + { MOUNTPROC_UMNTALL, "UMNTALL", + NULL, NULL }, + { MOUNTPROC_EXPORT, "EXPORT", + NULL, dissect_mount_export_reply }, + { MOUNTPROC_EXPORTALL, "EXPORTALL", + NULL, dissect_mount_export_reply }, + { 0, NULL, NULL, NULL } }; static const value_string mount1_proc_vals[] = { - { 0, "NULL" }, - { MOUNTPROC_MNT, "MNT" }, - { MOUNTPROC_DUMP, "DUMP" }, - { MOUNTPROC_UMNT, "UMNT" }, - { MOUNTPROC_UMNTALL, "UMNTALL" }, - { MOUNTPROC_EXPORT, "EXPORT" }, - { MOUNTPROC_EXPORTALL, "EXPORTALL" }, - { 0, NULL } + { 0, "NULL" }, + { MOUNTPROC_MNT, "MNT" }, + { MOUNTPROC_DUMP, "DUMP" }, + { MOUNTPROC_UMNT, "UMNT" }, + { MOUNTPROC_UMNTALL, "UMNTALL" }, + { MOUNTPROC_EXPORT, "EXPORT" }, + { MOUNTPROC_EXPORTALL, "EXPORTALL" }, + { 0, NULL } }; /* end of mount version 1 */ @@ -779,33 +779,33 @@ static const value_string mount1_proc_vals[] = { mount V2 is V1 plus MOUNTPROC_PATHCONF to fetch information for the POSIX "pathconf()" call. */ static const vsff mount2_proc[] = { - { 0, "NULL", NULL, NULL }, - { MOUNTPROC_MNT, "MNT", - dissect_mount_dirpath_call, dissect_mount1_mnt_reply }, - { MOUNTPROC_DUMP, "DUMP", - NULL, dissect_mount_dump_reply }, - { MOUNTPROC_UMNT, "UMNT", - dissect_mount_dirpath_call, NULL }, - { MOUNTPROC_UMNTALL, "UMNTALL", - NULL, NULL }, - { MOUNTPROC_EXPORT, "EXPORT", - NULL, dissect_mount_export_reply }, - { MOUNTPROC_EXPORTALL, "EXPORTALL", - NULL, dissect_mount_export_reply }, - { MOUNTPROC_PATHCONF, "PATHCONF", - dissect_mount_dirpath_call, dissect_mount_pathconf_reply }, - { 0, NULL, NULL, NULL } + { 0, "NULL", NULL, NULL }, + { MOUNTPROC_MNT, "MNT", + dissect_mount_dirpath_call, dissect_mount1_mnt_reply }, + { MOUNTPROC_DUMP, "DUMP", + NULL, dissect_mount_dump_reply }, + { MOUNTPROC_UMNT, "UMNT", + dissect_mount_dirpath_call, NULL }, + { MOUNTPROC_UMNTALL, "UMNTALL", + NULL, NULL }, + { MOUNTPROC_EXPORT, "EXPORT", + NULL, dissect_mount_export_reply }, + { MOUNTPROC_EXPORTALL, "EXPORTALL", + NULL, dissect_mount_export_reply }, + { MOUNTPROC_PATHCONF, "PATHCONF", + dissect_mount_dirpath_call, dissect_mount_pathconf_reply }, + { 0, NULL, NULL, NULL } }; static const value_string mount2_proc_vals[] = { - { 0, "NULL" }, - { MOUNTPROC_MNT, "MNT" }, - { MOUNTPROC_DUMP, "DUMP" }, - { MOUNTPROC_UMNT, "UMNT" }, - { MOUNTPROC_UMNTALL, "UMNTALL" }, - { MOUNTPROC_EXPORT, "EXPORT" }, - { MOUNTPROC_EXPORTALL, "EXPORTALL" }, - { MOUNTPROC_PATHCONF, "PATHCONF" }, - { 0, NULL } + { 0, "NULL" }, + { MOUNTPROC_MNT, "MNT" }, + { MOUNTPROC_DUMP, "DUMP" }, + { MOUNTPROC_UMNT, "UMNT" }, + { MOUNTPROC_UMNTALL, "UMNTALL" }, + { MOUNTPROC_EXPORT, "EXPORT" }, + { MOUNTPROC_EXPORTALL, "EXPORTALL" }, + { MOUNTPROC_PATHCONF, "PATHCONF" }, + { 0, NULL } }; /* end of mount version 2 */ @@ -840,36 +840,36 @@ static const value_string mount3_proc_vals[] = { MOUNTPROC_EXPORTLIST and MOUNTPROC_STATVFS */ static const vsff sgi_mount1_proc[] = { - { 0, "NULL", NULL, NULL }, - { MOUNTPROC_MNT, "MNT", - dissect_mount_dirpath_call, dissect_mount1_mnt_reply }, - { MOUNTPROC_DUMP, "DUMP", - NULL, dissect_mount_dump_reply }, - { MOUNTPROC_UMNT, "UMNT", - dissect_mount_dirpath_call, NULL }, - { MOUNTPROC_UMNTALL, "UMNTALL", - NULL, NULL }, - { MOUNTPROC_EXPORT, "EXPORT", - NULL, dissect_mount_export_reply }, - { MOUNTPROC_EXPORTALL, "EXPORTALL", - NULL, dissect_mount_export_reply }, - { MOUNTPROC_EXPORTLIST,"EXPORTLIST", - NULL, dissect_mount_exportlist_reply }, - { MOUNTPROC_STATVFS, "STATVFS", - dissect_mount_dirpath_call, dissect_mount_statvfs_reply }, - { 0, NULL, NULL, NULL } + { 0, "NULL", NULL, NULL }, + { MOUNTPROC_MNT, "MNT", + dissect_mount_dirpath_call, dissect_mount1_mnt_reply }, + { MOUNTPROC_DUMP, "DUMP", + NULL, dissect_mount_dump_reply }, + { MOUNTPROC_UMNT, "UMNT", + dissect_mount_dirpath_call, NULL }, + { MOUNTPROC_UMNTALL, "UMNTALL", + NULL, NULL }, + { MOUNTPROC_EXPORT, "EXPORT", + NULL, dissect_mount_export_reply }, + { MOUNTPROC_EXPORTALL, "EXPORTALL", + NULL, dissect_mount_export_reply }, + { MOUNTPROC_EXPORTLIST,"EXPORTLIST", + NULL, dissect_mount_exportlist_reply }, + { MOUNTPROC_STATVFS, "STATVFS", + dissect_mount_dirpath_call, dissect_mount_statvfs_reply }, + { 0, NULL, NULL, NULL } }; static const value_string sgi_mount1_proc_vals[] = { - { 0, "NULL" }, - { MOUNTPROC_MNT, "MNT" }, - { MOUNTPROC_DUMP, "DUMP" }, - { MOUNTPROC_UMNT, "UMNT" }, - { MOUNTPROC_UMNTALL, "UMNTALL" }, - { MOUNTPROC_EXPORT, "EXPORT" }, - { MOUNTPROC_EXPORTALL, "EXPORTALL" }, - { MOUNTPROC_EXPORTLIST, "EXPORTLIST" }, - { MOUNTPROC_STATVFS, "STATVFS" }, - { 0, NULL } + { 0, "NULL" }, + { MOUNTPROC_MNT, "MNT" }, + { MOUNTPROC_DUMP, "DUMP" }, + { MOUNTPROC_UMNT, "UMNT" }, + { MOUNTPROC_UMNTALL, "UMNTALL" }, + { MOUNTPROC_EXPORT, "EXPORT" }, + { MOUNTPROC_EXPORTALL, "EXPORTALL" }, + { MOUNTPROC_EXPORTLIST, "EXPORTLIST" }, + { MOUNTPROC_STATVFS, "STATVFS" }, + { 0, NULL } }; /* end of SGI mount protocol version 1 */ @@ -1106,3 +1106,16 @@ proto_reg_handoff_mount(void) rpc_init_proc_table(MOUNT_PROGRAM, 3, mount3_proc, hf_mount_procedure_v3); rpc_init_proc_table(SGI_MOUNT_PROGRAM, 1, sgi_mount1_proc, hf_sgi_mount_procedure_v1); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-nbipx.c b/epan/dissectors/packet-nbipx.c index 77d15e4d1b..56744f4b80 100644 --- a/epan/dissectors/packet-nbipx.c +++ b/epan/dissectors/packet-nbipx.c @@ -857,3 +857,16 @@ proto_reg_handoff_nmpi(void) dissector_add_uint("ipx.socket", IPX_SOCKET_NWLINK_SMB_MAILSLOT, nmpi_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-netlink-route.c b/epan/dissectors/packet-netlink-route.c index 52e3d7843e..5d32fd2121 100644 --- a/epan/dissectors/packet-netlink-route.c +++ b/epan/dissectors/packet-netlink-route.c @@ -986,3 +986,16 @@ proto_reg_handoff_netlink_route(void) { dissector_add_uint("netlink.protocol", WS_NETLINK_ROUTE, netlink_route_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-portmap.c b/epan/dissectors/packet-portmap.c index 87d37b6fa4..c832846f73 100644 --- a/epan/dissectors/packet-portmap.c +++ b/epan/dissectors/packet-portmap.c @@ -647,3 +647,16 @@ proto_reg_handoff_portmap(void) rpc_init_proc_table(PORTMAP_PROGRAM, 4, portmap4_proc, hf_portmap_procedure_v4); rpc_handle = find_dissector("rpc"); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-pw-satop.c b/epan/dissectors/packet-pw-satop.c index 8418de00a8..0197aa1293 100644 --- a/epan/dissectors/packet-pw-satop.c +++ b/epan/dissectors/packet-pw-satop.c @@ -475,3 +475,16 @@ void proto_reg_handoff_pw_satop(void) dissector_add_for_decode_as("mpls.label", find_dissector("pw_satop_mpls")); dissector_add_for_decode_as("udp.port", find_dissector("pw_satop_udp")); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-rlogin.c b/epan/dissectors/packet-rlogin.c index d5c157e500..7536d5ca19 100644 --- a/epan/dissectors/packet-rlogin.c +++ b/epan/dissectors/packet-rlogin.c @@ -69,11 +69,11 @@ static int hf_data = -1; static const value_string control_message_vals[] = { - { 0x02, "Clear buffer" }, - { 0x10, "Raw mode" }, - { 0x20, "Cooked mode" }, - { 0x80, "Window size request" }, - { 0, NULL } + { 0x02, "Clear buffer" }, + { 0x10, "Raw mode" }, + { 0x20, "Cooked mode" }, + { 0x80, "Window size request" }, + { 0, NULL } }; @@ -179,10 +179,10 @@ rlogin_state_machine(rlogin_hash_entry_t *hash_info, tvbuff_t *tvb, packet_info /* Dissect details of packet */ static void rlogin_display(rlogin_hash_entry_t *hash_info, - tvbuff_t *tvb, - packet_info *pinfo, - proto_tree *tree, - struct tcpinfo *tcpinfo) + tvbuff_t *tvb, + packet_info *pinfo, + proto_tree *tree, + struct tcpinfo *tcpinfo) { /* Display the proto tree */ int offset = 0; @@ -586,3 +586,16 @@ void proto_reg_handoff_rlogin(void) dissector_handle_t rlogin_handle = new_create_dissector_handle(dissect_rlogin,proto_rlogin); dissector_add_uint("tcp.port", RLOGIN_PORT, rlogin_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-sndcp-xid.c b/epan/dissectors/packet-sndcp-xid.c index 28c5f37493..218bf7a2a7 100644 --- a/epan/dissectors/packet-sndcp-xid.c +++ b/epan/dissectors/packet-sndcp-xid.c @@ -46,22 +46,22 @@ void proto_register_sndcp_xid(void); static const value_string sndcp_xid_dcomp_algo_str[] = { - {0x0, "V.42 bis"}, - {0x1, "V.44"}, - {0, NULL} + {0x0, "V.42 bis"}, + {0x1, "V.44"}, + {0, NULL} }; static const value_string sndcp_xid_pcomp_algo_str[] = { - {0x0, "RFC 1144"}, - {0x1, "RFC 2507"}, - {0x2, "ROHC (RFC 3095)"}, - {0, NULL} + {0x0, "RFC 1144"}, + {0x1, "RFC 2507"}, + {0x2, "ROHC (RFC 3095)"}, + {0, NULL} }; typedef struct { - guint8 nb_of_dcomp_pcomp; /* note that a DCOMP or a PCOMP is 4 bit wide */ - guint16 (**func_array_ptr) (tvbuff_t *, proto_tree *, guint16); + guint8 nb_of_dcomp_pcomp; /* note that a DCOMP or a PCOMP is 4 bit wide */ + guint16 (**func_array_ptr) (tvbuff_t *, proto_tree *, guint16); } algo_parameters_t; /* Initialize the protocol and registered fields @@ -73,13 +73,13 @@ static int proto_sndcp_xid = -1; * Entity ranges from 0 to 31 (6.5.1.1.3) */ static guint8 dcomp_entity_algo_id[32]={-1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1}; + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1}; static guint8 pcomp_entity_algo_id[32]={-1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1}; + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1}; @@ -156,236 +156,236 @@ static void parse_compression_parameters(tvbuff_t *tvb, proto_tree *tree, gboole /******************************************************/ static guint16 parse_applicable_nsapi(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 nsapi_byte1, nsapi_byte2; - nsapi_byte1 = tvb_get_guint8(tvb, offset); - nsapi_byte2 = tvb_get_guint8(tvb, offset+1); - - proto_tree_add_uint(tree, hf_element_applicable_nsapi_15, tvb, offset, 1, nsapi_byte1); - proto_tree_add_uint(tree, hf_element_applicable_nsapi_14, tvb, offset, 1, nsapi_byte1); - proto_tree_add_uint(tree, hf_element_applicable_nsapi_13, tvb, offset, 1, nsapi_byte1); - proto_tree_add_uint(tree, hf_element_applicable_nsapi_12, tvb, offset, 1, nsapi_byte1); - proto_tree_add_uint(tree, hf_element_applicable_nsapi_11, tvb, offset, 1, nsapi_byte1); - proto_tree_add_uint(tree, hf_element_applicable_nsapi_10, tvb, offset, 1, nsapi_byte1); - proto_tree_add_uint(tree, hf_element_applicable_nsapi_9, tvb, offset, 1, nsapi_byte1); - proto_tree_add_uint(tree, hf_element_applicable_nsapi_8, tvb, offset, 1, nsapi_byte1); - - proto_tree_add_uint(tree, hf_element_applicable_nsapi_7, tvb, offset+1, 1, nsapi_byte2); - proto_tree_add_uint(tree, hf_element_applicable_nsapi_6, tvb, offset+1, 1, nsapi_byte2); - proto_tree_add_uint(tree, hf_element_applicable_nsapi_5, tvb, offset+1, 1, nsapi_byte2); - proto_tree_add_uint(tree, hf_element_applicable_nsapi_spare, tvb, offset+1, 1, nsapi_byte2); - - return 2U; + guint8 nsapi_byte1, nsapi_byte2; + nsapi_byte1 = tvb_get_guint8(tvb, offset); + nsapi_byte2 = tvb_get_guint8(tvb, offset+1); + + proto_tree_add_uint(tree, hf_element_applicable_nsapi_15, tvb, offset, 1, nsapi_byte1); + proto_tree_add_uint(tree, hf_element_applicable_nsapi_14, tvb, offset, 1, nsapi_byte1); + proto_tree_add_uint(tree, hf_element_applicable_nsapi_13, tvb, offset, 1, nsapi_byte1); + proto_tree_add_uint(tree, hf_element_applicable_nsapi_12, tvb, offset, 1, nsapi_byte1); + proto_tree_add_uint(tree, hf_element_applicable_nsapi_11, tvb, offset, 1, nsapi_byte1); + proto_tree_add_uint(tree, hf_element_applicable_nsapi_10, tvb, offset, 1, nsapi_byte1); + proto_tree_add_uint(tree, hf_element_applicable_nsapi_9, tvb, offset, 1, nsapi_byte1); + proto_tree_add_uint(tree, hf_element_applicable_nsapi_8, tvb, offset, 1, nsapi_byte1); + + proto_tree_add_uint(tree, hf_element_applicable_nsapi_7, tvb, offset+1, 1, nsapi_byte2); + proto_tree_add_uint(tree, hf_element_applicable_nsapi_6, tvb, offset+1, 1, nsapi_byte2); + proto_tree_add_uint(tree, hf_element_applicable_nsapi_5, tvb, offset+1, 1, nsapi_byte2); + proto_tree_add_uint(tree, hf_element_applicable_nsapi_spare, tvb, offset+1, 1, nsapi_byte2); + + return 2U; } static guint16 parse_rfc1144_s0(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 s0; - s0 = tvb_get_guint8(tvb, offset); + guint8 s0; + s0 = tvb_get_guint8(tvb, offset); - proto_tree_add_uint(tree, hf_sndcp_xid_rfc1144_s0, tvb, offset, 1, s0); + proto_tree_add_uint(tree, hf_sndcp_xid_rfc1144_s0, tvb, offset, 1, s0); - return 1U; + return 1U; } static guint16 parse_rfc2507_f_max_period(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 f_max_period_byte1, f_max_period_byte2; - f_max_period_byte1 = tvb_get_guint8(tvb, offset); - f_max_period_byte2 = tvb_get_guint8(tvb, offset+1); + guint8 f_max_period_byte1, f_max_period_byte2; + f_max_period_byte1 = tvb_get_guint8(tvb, offset); + f_max_period_byte2 = tvb_get_guint8(tvb, offset+1); - proto_tree_add_uint(tree, hf_sndcp_xid_rfc2507_f_max_period_msb, tvb, offset, 1, f_max_period_byte1); - proto_tree_add_uint(tree, hf_sndcp_xid_rfc2507_f_max_period_lsb, tvb, offset, 1, f_max_period_byte2); + proto_tree_add_uint(tree, hf_sndcp_xid_rfc2507_f_max_period_msb, tvb, offset, 1, f_max_period_byte1); + proto_tree_add_uint(tree, hf_sndcp_xid_rfc2507_f_max_period_lsb, tvb, offset, 1, f_max_period_byte2); - return 2U; + return 2U; } static guint16 parse_rfc2507_f_max_time(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 f_max_time; - f_max_time = tvb_get_guint8(tvb, offset); + guint8 f_max_time; + f_max_time = tvb_get_guint8(tvb, offset); - proto_tree_add_uint(tree, hf_sndcp_xid_rfc2507_f_max_time, tvb, offset, 1, f_max_time); + proto_tree_add_uint(tree, hf_sndcp_xid_rfc2507_f_max_time, tvb, offset, 1, f_max_time); - return 1U; + return 1U; } static guint16 parse_rfc2507_max_header(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 max_header; - max_header = tvb_get_guint8(tvb, offset); + guint8 max_header; + max_header = tvb_get_guint8(tvb, offset); - proto_tree_add_uint(tree, hf_sndcp_xid_rfc2507_max_header, tvb, offset, 1, max_header); + proto_tree_add_uint(tree, hf_sndcp_xid_rfc2507_max_header, tvb, offset, 1, max_header); - return 1U; + return 1U; } static guint16 parse_rfc2507_tcp_space(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 tcp_space; - tcp_space = tvb_get_guint8(tvb, offset); + guint8 tcp_space; + tcp_space = tvb_get_guint8(tvb, offset); - proto_tree_add_uint(tree, hf_sndcp_xid_rfc2507_tcp_space, tvb, offset, 1, tcp_space); + proto_tree_add_uint(tree, hf_sndcp_xid_rfc2507_tcp_space, tvb, offset, 1, tcp_space); - return 1U; + return 1U; } static guint16 parse_rfc2507_non_tcp_space(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 tcp_space_msb, tcp_space_lsb; - tcp_space_msb = tvb_get_guint8(tvb, offset); - tcp_space_lsb = tvb_get_guint8(tvb, offset+1); + guint8 tcp_space_msb, tcp_space_lsb; + tcp_space_msb = tvb_get_guint8(tvb, offset); + tcp_space_lsb = tvb_get_guint8(tvb, offset+1); - proto_tree_add_uint(tree, hf_sndcp_xid_rfc2507_non_tcp_space_msb, tvb, offset, 1, tcp_space_msb); - proto_tree_add_uint(tree, hf_sndcp_xid_rfc2507_non_tcp_space_lsb, tvb, offset, 1, tcp_space_lsb); + proto_tree_add_uint(tree, hf_sndcp_xid_rfc2507_non_tcp_space_msb, tvb, offset, 1, tcp_space_msb); + proto_tree_add_uint(tree, hf_sndcp_xid_rfc2507_non_tcp_space_lsb, tvb, offset, 1, tcp_space_lsb); - return 2U; + return 2U; } static guint16 parse_rohc_max_cid(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 max_cid_msb, max_cid_lsb; - max_cid_msb = tvb_get_guint8(tvb, offset); - max_cid_lsb = tvb_get_guint8(tvb, offset+1); + guint8 max_cid_msb, max_cid_lsb; + max_cid_msb = tvb_get_guint8(tvb, offset); + max_cid_lsb = tvb_get_guint8(tvb, offset+1); - proto_tree_add_uint(tree, hf_sndcp_xid_rohc_max_cid_spare, tvb, offset, 1, max_cid_msb); - proto_tree_add_uint(tree, hf_sndcp_xid_rohc_max_cid_msb, tvb, offset, 1, max_cid_msb); - proto_tree_add_uint(tree, hf_sndcp_xid_rohc_max_cid_lsb, tvb, offset+1, 1, max_cid_lsb); + proto_tree_add_uint(tree, hf_sndcp_xid_rohc_max_cid_spare, tvb, offset, 1, max_cid_msb); + proto_tree_add_uint(tree, hf_sndcp_xid_rohc_max_cid_msb, tvb, offset, 1, max_cid_msb); + proto_tree_add_uint(tree, hf_sndcp_xid_rohc_max_cid_lsb, tvb, offset+1, 1, max_cid_lsb); - return 2U; + return 2U; } static guint16 parse_rohc_max_header(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 max_header; + guint8 max_header; - max_header = tvb_get_guint8(tvb, offset+1); + max_header = tvb_get_guint8(tvb, offset+1); - proto_tree_add_uint(tree, hf_sndcp_xid_rohc_max_header, tvb, offset+1, 1, max_header); + proto_tree_add_uint(tree, hf_sndcp_xid_rohc_max_header, tvb, offset+1, 1, max_header); - return 2U; + return 2U; } static guint16 parse_rohc_profile(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 profile_msb, profile_lsb; - profile_msb = tvb_get_guint8(tvb, offset); - profile_lsb = tvb_get_guint8(tvb, offset+1); + guint8 profile_msb, profile_lsb; + profile_msb = tvb_get_guint8(tvb, offset); + profile_lsb = tvb_get_guint8(tvb, offset+1); - proto_tree_add_uint(tree, hf_sndcp_xid_rohc_profile_msb, tvb, offset, 1, profile_msb); - proto_tree_add_uint(tree, hf_sndcp_xid_rohc_profile_lsb, tvb, offset+1, 1, profile_lsb); + proto_tree_add_uint(tree, hf_sndcp_xid_rohc_profile_msb, tvb, offset, 1, profile_msb); + proto_tree_add_uint(tree, hf_sndcp_xid_rohc_profile_lsb, tvb, offset+1, 1, profile_lsb); - return 2U; + return 2U; } static guint16 parse_V42bis_p0(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 p0; + guint8 p0; - p0 = tvb_get_guint8(tvb, offset); + p0 = tvb_get_guint8(tvb, offset); - proto_tree_add_uint(tree, hf_sndcp_xid_V42bis_p0_spare, tvb, offset, 1, p0); - proto_tree_add_uint(tree, hf_sndcp_xid_V42bis_p0, tvb, offset, 1, p0); + proto_tree_add_uint(tree, hf_sndcp_xid_V42bis_p0_spare, tvb, offset, 1, p0); + proto_tree_add_uint(tree, hf_sndcp_xid_V42bis_p0, tvb, offset, 1, p0); - return 1U; + return 1U; } static guint16 parse_V42bis_p1(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 p1_msb, p1_lsb; + guint8 p1_msb, p1_lsb; - p1_msb = tvb_get_guint8(tvb, offset); - p1_lsb = tvb_get_guint8(tvb, offset+1); + p1_msb = tvb_get_guint8(tvb, offset); + p1_lsb = tvb_get_guint8(tvb, offset+1); - proto_tree_add_uint(tree, hf_sndcp_xid_V42bis_p1_msb, tvb, offset, 1, p1_msb); - proto_tree_add_uint(tree, hf_sndcp_xid_V42bis_p1_lsb, tvb, offset+1, 1, p1_lsb); + proto_tree_add_uint(tree, hf_sndcp_xid_V42bis_p1_msb, tvb, offset, 1, p1_msb); + proto_tree_add_uint(tree, hf_sndcp_xid_V42bis_p1_lsb, tvb, offset+1, 1, p1_lsb); - return 2U; + return 2U; } static guint16 parse_V42bis_p2(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 p2; + guint8 p2; - p2 = tvb_get_guint8(tvb, offset); + p2 = tvb_get_guint8(tvb, offset); - proto_tree_add_uint(tree, hf_sndcp_xid_V42bis_p2, tvb, offset, 1, p2); + proto_tree_add_uint(tree, hf_sndcp_xid_V42bis_p2, tvb, offset, 1, p2); - return 1U; + return 1U; } static guint16 parse_V44_c0(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 c0; + guint8 c0; - c0 = tvb_get_guint8(tvb, offset); - proto_tree_add_uint(tree, hf_sndcp_xid_V44_c0_spare, tvb, offset, 1, c0); - proto_tree_add_uint(tree, hf_sndcp_xid_V44_c0, tvb, offset, 1, c0); + c0 = tvb_get_guint8(tvb, offset); + proto_tree_add_uint(tree, hf_sndcp_xid_V44_c0_spare, tvb, offset, 1, c0); + proto_tree_add_uint(tree, hf_sndcp_xid_V44_c0, tvb, offset, 1, c0); - return 1U; + return 1U; } static guint16 parse_V44_p0(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 p0; + guint8 p0; - p0 = tvb_get_guint8(tvb, offset); + p0 = tvb_get_guint8(tvb, offset); - proto_tree_add_uint(tree, hf_sndcp_xid_V44_p0_spare, tvb, offset, 1, p0); - proto_tree_add_uint(tree, hf_sndcp_xid_V44_p0, tvb, offset, 1, p0); + proto_tree_add_uint(tree, hf_sndcp_xid_V44_p0_spare, tvb, offset, 1, p0); + proto_tree_add_uint(tree, hf_sndcp_xid_V44_p0, tvb, offset, 1, p0); - return 1U; + return 1U; } static guint16 parse_V44_p1t(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 p1t_msb, p1t_lsb; + guint8 p1t_msb, p1t_lsb; - p1t_msb = tvb_get_guint8(tvb, offset); - p1t_lsb = tvb_get_guint8(tvb, offset+1); + p1t_msb = tvb_get_guint8(tvb, offset); + p1t_lsb = tvb_get_guint8(tvb, offset+1); - proto_tree_add_uint(tree, hf_sndcp_xid_V44_p1t_msb, tvb, offset, 1, p1t_msb); - proto_tree_add_uint(tree, hf_sndcp_xid_V44_p1t_lsb, tvb, offset+1, 1, p1t_lsb); + proto_tree_add_uint(tree, hf_sndcp_xid_V44_p1t_msb, tvb, offset, 1, p1t_msb); + proto_tree_add_uint(tree, hf_sndcp_xid_V44_p1t_lsb, tvb, offset+1, 1, p1t_lsb); - return 2U; + return 2U; } static guint16 parse_V44_p1r(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 p1r_msb, p1r_lsb; + guint8 p1r_msb, p1r_lsb; - p1r_msb = tvb_get_guint8(tvb, offset); - p1r_lsb = tvb_get_guint8(tvb, offset+1); + p1r_msb = tvb_get_guint8(tvb, offset); + p1r_lsb = tvb_get_guint8(tvb, offset+1); - proto_tree_add_uint(tree, hf_sndcp_xid_V44_p1r_msb, tvb, offset, 1, p1r_msb); - proto_tree_add_uint(tree, hf_sndcp_xid_V44_p1r_lsb, tvb, offset+1, 1, p1r_lsb); + proto_tree_add_uint(tree, hf_sndcp_xid_V44_p1r_msb, tvb, offset, 1, p1r_msb); + proto_tree_add_uint(tree, hf_sndcp_xid_V44_p1r_lsb, tvb, offset+1, 1, p1r_lsb); - return 2U; + return 2U; } static guint16 parse_V44_p3t(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 p3t_msb, p3t_lsb; + guint8 p3t_msb, p3t_lsb; - p3t_msb = tvb_get_guint8(tvb, offset); - p3t_lsb = tvb_get_guint8(tvb, offset+1); + p3t_msb = tvb_get_guint8(tvb, offset); + p3t_lsb = tvb_get_guint8(tvb, offset+1); - proto_tree_add_uint(tree, hf_sndcp_xid_V44_p3t_msb, tvb, offset, 1, p3t_msb); - proto_tree_add_uint(tree, hf_sndcp_xid_V44_p3t_lsb, tvb, offset+1, 1, p3t_lsb); + proto_tree_add_uint(tree, hf_sndcp_xid_V44_p3t_msb, tvb, offset, 1, p3t_msb); + proto_tree_add_uint(tree, hf_sndcp_xid_V44_p3t_lsb, tvb, offset+1, 1, p3t_lsb); - return 2U; + return 2U; } static guint16 parse_V44_p3r(tvbuff_t *tvb, proto_tree *tree, guint16 offset) { - guint8 p3r_msb, p3r_lsb; + guint8 p3r_msb, p3r_lsb; - p3r_msb = tvb_get_guint8(tvb, offset); - p3r_lsb = tvb_get_guint8(tvb, offset+1); + p3r_msb = tvb_get_guint8(tvb, offset); + p3r_lsb = tvb_get_guint8(tvb, offset+1); - proto_tree_add_uint(tree, hf_sndcp_xid_V44_p3r_msb, tvb, offset, 1, p3r_msb); - proto_tree_add_uint(tree, hf_sndcp_xid_V44_p3r_lsb, tvb, offset+1, 1, p3r_lsb); + proto_tree_add_uint(tree, hf_sndcp_xid_V44_p3r_msb, tvb, offset, 1, p3r_msb); + proto_tree_add_uint(tree, hf_sndcp_xid_V44_p3r_lsb, tvb, offset+1, 1, p3r_lsb); - return 2U; + return 2U; } @@ -394,76 +394,76 @@ static guint16 parse_V44_p3r(tvbuff_t *tvb, proto_tree *tree, guint16 offset) /***************************************************/ static guint16 (*rfc1144_elem_fcn[])(tvbuff_t *, proto_tree *, guint16) = { parse_applicable_nsapi, - parse_rfc1144_s0, - NULL + parse_rfc1144_s0, + NULL }; static guint16 (*rfc2507_elem_fcn[])(tvbuff_t *, proto_tree *, guint16) = { - parse_applicable_nsapi, - parse_rfc2507_f_max_period, - parse_rfc2507_f_max_time, - parse_rfc2507_max_header, - parse_rfc2507_tcp_space, - parse_rfc2507_non_tcp_space, - NULL + parse_applicable_nsapi, + parse_rfc2507_f_max_period, + parse_rfc2507_f_max_time, + parse_rfc2507_max_header, + parse_rfc2507_tcp_space, + parse_rfc2507_non_tcp_space, + NULL }; static guint16 (*rohc_elem_fcn[])(tvbuff_t *, proto_tree *, guint16) = { - parse_applicable_nsapi, - parse_rohc_max_cid, - parse_rohc_max_header, - parse_rohc_profile, /* Profile 1 */ - parse_rohc_profile, /* Profile 2 */ - parse_rohc_profile, /* Profile 3 */ - parse_rohc_profile, /* Profile 4 */ - parse_rohc_profile, /* Profile 5 */ - parse_rohc_profile, /* Profile 6 */ - parse_rohc_profile, /* Profile 7 */ - parse_rohc_profile, /* Profile 8 */ - parse_rohc_profile, /* Profile 9 */ - parse_rohc_profile, /* Profile 10 */ - parse_rohc_profile, /* Profile 11 */ - parse_rohc_profile, /* Profile 12 */ - parse_rohc_profile, /* Profile 13 */ - parse_rohc_profile, /* Profile 14 */ - parse_rohc_profile, /* Profile 15 */ - parse_rohc_profile, /* Profile 16 */ - NULL + parse_applicable_nsapi, + parse_rohc_max_cid, + parse_rohc_max_header, + parse_rohc_profile, /* Profile 1 */ + parse_rohc_profile, /* Profile 2 */ + parse_rohc_profile, /* Profile 3 */ + parse_rohc_profile, /* Profile 4 */ + parse_rohc_profile, /* Profile 5 */ + parse_rohc_profile, /* Profile 6 */ + parse_rohc_profile, /* Profile 7 */ + parse_rohc_profile, /* Profile 8 */ + parse_rohc_profile, /* Profile 9 */ + parse_rohc_profile, /* Profile 10 */ + parse_rohc_profile, /* Profile 11 */ + parse_rohc_profile, /* Profile 12 */ + parse_rohc_profile, /* Profile 13 */ + parse_rohc_profile, /* Profile 14 */ + parse_rohc_profile, /* Profile 15 */ + parse_rohc_profile, /* Profile 16 */ + NULL }; /* Array containing the number of pcomp and the function array pointer */ static algo_parameters_t pcomp_algo_pars[] = { - {2, rfc1144_elem_fcn}, - {5, rfc2507_elem_fcn}, - {2, rohc_elem_fcn} + {2, rfc1144_elem_fcn}, + {5, rfc2507_elem_fcn}, + {2, rohc_elem_fcn} }; /* Data compression algorithms */ static guint16 (*v42bis_elem_fcn[])(tvbuff_t *, proto_tree *, guint16) = { - parse_applicable_nsapi, - parse_V42bis_p0, - parse_V42bis_p1, - parse_V42bis_p2, - NULL + parse_applicable_nsapi, + parse_V42bis_p0, + parse_V42bis_p1, + parse_V42bis_p2, + NULL }; static guint16 (*v44_elem_fcn[])(tvbuff_t *, proto_tree *, guint16) = { - parse_applicable_nsapi, - parse_V44_c0, - parse_V44_p0, - parse_V44_p1t, - parse_V44_p1r, - parse_V44_p3t, - parse_V44_p3r, - NULL + parse_applicable_nsapi, + parse_V44_c0, + parse_V44_p0, + parse_V44_p1t, + parse_V44_p1r, + parse_V44_p3t, + parse_V44_p3r, + NULL }; /* Array containing the number of dcomp and the function array pointer */ static algo_parameters_t dcomp_algo_pars[] = { - {1, v42bis_elem_fcn}, - {2, v44_elem_fcn}, + {1, v42bis_elem_fcn}, + {2, v44_elem_fcn}, }; @@ -472,233 +472,233 @@ static algo_parameters_t dcomp_algo_pars[] = { static void dissect_sndcp_xid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree) { - /* Set up structures needed to add the protocol subtree and manage it - */ - proto_item *ti, *dcomp_item; - proto_tree *sndcp_tree, *version_tree, *dcomp_tree, *pcomp_tree; - guint16 offset = 0, l3_param_len; - guint8 parameter_type, parameter_len; - - /* create display subtree for the protocol - */ - ti = proto_tree_add_item(tree, proto_sndcp_xid, tvb, 0, -1, ENC_NA); - sndcp_tree = proto_item_add_subtree(ti, ett_sndcp_xid); - l3_param_len = tvb_reported_length(tvb); - - while (offset < l3_param_len-1) - { - parameter_type = tvb_get_guint8(tvb, offset); - parameter_len = tvb_get_guint8(tvb, offset+1); - - if (parameter_type == SNDCP_VERSION_PAR_TYPE) - { - guint8 value = tvb_get_guint8(tvb, offset+2); - version_tree = proto_tree_add_subtree_format(sndcp_tree, tvb, offset, parameter_len+2, - ett_sndcp_xid_version_field, NULL, "Version (SNDCP version number) - Value %d", value); - - proto_tree_add_uint(version_tree, hf_sndcp_xid_type, tvb, offset, - 1, parameter_type); - proto_tree_add_uint(version_tree, hf_sndcp_xid_len, tvb, offset+1, - 1, parameter_len); - proto_tree_add_uint(version_tree, hf_sndcp_xid_value, tvb, offset+2, - 1, value); - offset += 3; - } - - else if (parameter_type == DATA_COMPRESSION_PAR_TYPE) - { - tvbuff_t * dcomp_tvb; - - dcomp_tree = proto_tree_add_subtree(sndcp_tree, tvb, offset, parameter_len+2, - ett_sndcp_comp_field, &dcomp_item, "Data Compression"); - proto_tree_add_uint(dcomp_tree, hf_sndcp_xid_type, tvb, offset, - 1, parameter_type); - proto_tree_add_uint(dcomp_tree, hf_sndcp_xid_len, tvb, offset+1, - 1, parameter_len); - offset += 2; - - dcomp_tvb = tvb_new_subset_length(tvb, offset, parameter_len); - parse_compression_parameters(dcomp_tvb, dcomp_tree, TRUE); - offset += parameter_len; - - - } - else if (parameter_type == PROTOCOL_COMPRESSION_PAR_TYPE) - { - tvbuff_t * pcomp_tvb; - - pcomp_tree = proto_tree_add_subtree(sndcp_tree, tvb, offset, parameter_len+2, - ett_sndcp_comp_field, NULL, "Protocol Control Information Compression"); - proto_tree_add_uint(pcomp_tree, hf_sndcp_xid_type, tvb, offset, - 1, parameter_type); - proto_tree_add_uint(pcomp_tree, hf_sndcp_xid_len, tvb, offset+1, - 1, parameter_len); - offset += 2; - - pcomp_tvb = tvb_new_subset_length(tvb, offset, parameter_len); - parse_compression_parameters(pcomp_tvb, pcomp_tree, FALSE); - offset += parameter_len; - - } - else - { - break; /* error: exit */ - } - } + /* Set up structures needed to add the protocol subtree and manage it + */ + proto_item *ti, *dcomp_item; + proto_tree *sndcp_tree, *version_tree, *dcomp_tree, *pcomp_tree; + guint16 offset = 0, l3_param_len; + guint8 parameter_type, parameter_len; + + /* create display subtree for the protocol + */ + ti = proto_tree_add_item(tree, proto_sndcp_xid, tvb, 0, -1, ENC_NA); + sndcp_tree = proto_item_add_subtree(ti, ett_sndcp_xid); + l3_param_len = tvb_reported_length(tvb); + + while (offset < l3_param_len-1) + { + parameter_type = tvb_get_guint8(tvb, offset); + parameter_len = tvb_get_guint8(tvb, offset+1); + + if (parameter_type == SNDCP_VERSION_PAR_TYPE) + { + guint8 value = tvb_get_guint8(tvb, offset+2); + version_tree = proto_tree_add_subtree_format(sndcp_tree, tvb, offset, parameter_len+2, + ett_sndcp_xid_version_field, NULL, "Version (SNDCP version number) - Value %d", value); + + proto_tree_add_uint(version_tree, hf_sndcp_xid_type, tvb, offset, + 1, parameter_type); + proto_tree_add_uint(version_tree, hf_sndcp_xid_len, tvb, offset+1, + 1, parameter_len); + proto_tree_add_uint(version_tree, hf_sndcp_xid_value, tvb, offset+2, + 1, value); + offset += 3; + } + + else if (parameter_type == DATA_COMPRESSION_PAR_TYPE) + { + tvbuff_t * dcomp_tvb; + + dcomp_tree = proto_tree_add_subtree(sndcp_tree, tvb, offset, parameter_len+2, + ett_sndcp_comp_field, &dcomp_item, "Data Compression"); + proto_tree_add_uint(dcomp_tree, hf_sndcp_xid_type, tvb, offset, + 1, parameter_type); + proto_tree_add_uint(dcomp_tree, hf_sndcp_xid_len, tvb, offset+1, + 1, parameter_len); + offset += 2; + + dcomp_tvb = tvb_new_subset_length(tvb, offset, parameter_len); + parse_compression_parameters(dcomp_tvb, dcomp_tree, TRUE); + offset += parameter_len; + + + } + else if (parameter_type == PROTOCOL_COMPRESSION_PAR_TYPE) + { + tvbuff_t * pcomp_tvb; + + pcomp_tree = proto_tree_add_subtree(sndcp_tree, tvb, offset, parameter_len+2, + ett_sndcp_comp_field, NULL, "Protocol Control Information Compression"); + proto_tree_add_uint(pcomp_tree, hf_sndcp_xid_type, tvb, offset, + 1, parameter_type); + proto_tree_add_uint(pcomp_tree, hf_sndcp_xid_len, tvb, offset+1, + 1, parameter_len); + offset += 2; + + pcomp_tvb = tvb_new_subset_length(tvb, offset, parameter_len); + parse_compression_parameters(pcomp_tvb, pcomp_tree, FALSE); + offset += parameter_len; + + } + else + { + break; /* error: exit */ + } + } } static void parse_compression_parameters(tvbuff_t *tvb, proto_tree *tree, gboolean dcomp) { - guint8 entity, len, algo_id; - guint8 number_of_comp, i; - gboolean p_bit_set; - algo_parameters_t * algo_pars; - guint8 function_index; - proto_tree *comp_entity_tree = NULL; - guint16 tvb_len, offset=0 , new_offset, entity_offset; - value_string const * comp_algo_str; - - tvb_len = tvb_reported_length(tvb); - if (tvb_len < 3) return; /* entity, algo and length bytes should always be present 6.5.1.1 and 6.6.1.1 */ - - /* Loop to decode each entity (cf Figure 10) */ - while (offset < tvb_len) - { - /* Read the entity byte */ - entity = tvb_get_guint8(tvb, offset); - p_bit_set = ((entity & 0x80) == 0x80) ? 1 : 0; - entity = entity & 0x1F; - - /* P bit is set: means that algo identifier and dcomp are present */ - if (p_bit_set) - { - /* Read the algorithm id. TODO: store the algo in a different variable for each different entity */ - algo_id = tvb_get_guint8(tvb, offset+1) & 0x1F; - - /* sanity check: check that the algo id that will be used inside the array has a valid range */ - if (dcomp) - { - if(algo_id <= ALGO_V44) - { - algo_pars = dcomp_algo_pars; - dcomp_entity_algo_id[entity] = algo_id; - comp_algo_str = sndcp_xid_dcomp_algo_str; - } - else return; - } - else - { - if (algo_id <= ALGO_ROHC) - { - algo_pars = pcomp_algo_pars; - pcomp_entity_algo_id[entity] = algo_id; - comp_algo_str = sndcp_xid_pcomp_algo_str; - } - else return; - } - - /* Read the length */ - len = tvb_get_guint8(tvb, offset+2); - - comp_entity_tree = proto_tree_add_subtree_format(tree, tvb, offset, len + 3, - ett_sndcp_comp_field, NULL, "Entity %d, Algorithm %s", - entity & 0x1F, val_to_str(algo_id & 0x1F, comp_algo_str,"Undefined Algorithm Identifier:%X")); - - proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_pbit, tvb, offset, 1, p_bit_set << 7); - proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_spare_byte1, tvb, offset, 1, entity); - proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_entity, tvb, offset, 1, entity); - - proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_spare_byte2, tvb, offset+1, 1, algo_id); - proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_algo_id, tvb, offset+1, 1, algo_id); - proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_len, tvb, offset+2, 1, len); - - /* Read the dcomp/pcomp field */ - offset += 3; /* entity_offset will be used as the offset from length byte */ - number_of_comp = algo_pars[algo_id].nb_of_dcomp_pcomp; - - for (i=0; i < (number_of_comp+1) / 2; i++) - { - guint8 byte; - - byte = tvb_get_guint8(tvb, offset+i); - proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp[2*i], tvb, offset+i, 1, byte); - - /* if there is an even number of dcomp/pcomp */ - if (2*i+1 < number_of_comp) - { - proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp[2*i+1], tvb, offset+i, 1, byte); - } - /* else there is padding in the end */ - else - { - proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_spare, tvb, offset+i, 1, byte); - } - - } - entity_offset = i; - function_index = 0; - - /* Process the elements byte per byte */ - while ((entity_offset < len) && (algo_pars[algo_id].func_array_ptr[function_index] != NULL)) - { - new_offset = offset+entity_offset; - entity_offset += algo_pars[algo_id].func_array_ptr[function_index](tvb, comp_entity_tree, new_offset); - function_index++; - } - offset += entity_offset; - - } - else /* P bit not set */ - { - len = tvb_get_guint8(tvb, offset+1); - - if (dcomp) - { - algo_pars = dcomp_algo_pars; - algo_id = dcomp_entity_algo_id[entity]; - comp_algo_str = sndcp_xid_dcomp_algo_str; - } - else - { - algo_pars = pcomp_algo_pars; - algo_id = pcomp_entity_algo_id[entity]; - comp_algo_str = sndcp_xid_pcomp_algo_str; - } - comp_entity_tree = proto_tree_add_subtree_format(tree, tvb, offset, len + 2, - ett_sndcp_comp_field, NULL, "Entity %d decoded as Algorithm %s", - entity & 0x1F, val_to_str(algo_id & 0x1F, comp_algo_str,"Undefined Algorithm Identifier:%X")); - - proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_pbit, tvb, offset, 1, p_bit_set << 7); - proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_spare_byte1, tvb, offset, 1, entity); - proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_entity, tvb, offset, 1, entity); - proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_len, tvb, offset+2, 1, len); - - offset += 2; - entity_offset = 0; - function_index = 0; - - if (dcomp) - { - if (algo_id > ALGO_V44) return; - } - else - { - if (algo_id > ALGO_ROHC) return; - } - - /* Process the elements byte per byte */ - while ((entity_offset < len) && (algo_pars[algo_id].func_array_ptr[function_index] != NULL)) - { - new_offset = offset+entity_offset; - entity_offset += algo_pars[algo_id].func_array_ptr[function_index](tvb, comp_entity_tree, new_offset); - function_index++; - } - offset += entity_offset; - } - } - - /* Else if length is lower than 3, the packet is not correctly formatted */ + guint8 entity, len, algo_id; + guint8 number_of_comp, i; + gboolean p_bit_set; + algo_parameters_t * algo_pars; + guint8 function_index; + proto_tree *comp_entity_tree = NULL; + guint16 tvb_len, offset=0 , new_offset, entity_offset; + value_string const * comp_algo_str; + + tvb_len = tvb_reported_length(tvb); + if (tvb_len < 3) return; /* entity, algo and length bytes should always be present 6.5.1.1 and 6.6.1.1 */ + + /* Loop to decode each entity (cf Figure 10) */ + while (offset < tvb_len) + { + /* Read the entity byte */ + entity = tvb_get_guint8(tvb, offset); + p_bit_set = ((entity & 0x80) == 0x80) ? 1 : 0; + entity = entity & 0x1F; + + /* P bit is set: means that algo identifier and dcomp are present */ + if (p_bit_set) + { + /* Read the algorithm id. TODO: store the algo in a different variable for each different entity */ + algo_id = tvb_get_guint8(tvb, offset+1) & 0x1F; + + /* sanity check: check that the algo id that will be used inside the array has a valid range */ + if (dcomp) + { + if(algo_id <= ALGO_V44) + { + algo_pars = dcomp_algo_pars; + dcomp_entity_algo_id[entity] = algo_id; + comp_algo_str = sndcp_xid_dcomp_algo_str; + } + else return; + } + else + { + if (algo_id <= ALGO_ROHC) + { + algo_pars = pcomp_algo_pars; + pcomp_entity_algo_id[entity] = algo_id; + comp_algo_str = sndcp_xid_pcomp_algo_str; + } + else return; + } + + /* Read the length */ + len = tvb_get_guint8(tvb, offset+2); + + comp_entity_tree = proto_tree_add_subtree_format(tree, tvb, offset, len + 3, + ett_sndcp_comp_field, NULL, "Entity %d, Algorithm %s", + entity & 0x1F, val_to_str(algo_id & 0x1F, comp_algo_str,"Undefined Algorithm Identifier:%X")); + + proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_pbit, tvb, offset, 1, p_bit_set << 7); + proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_spare_byte1, tvb, offset, 1, entity); + proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_entity, tvb, offset, 1, entity); + + proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_spare_byte2, tvb, offset+1, 1, algo_id); + proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_algo_id, tvb, offset+1, 1, algo_id); + proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_len, tvb, offset+2, 1, len); + + /* Read the dcomp/pcomp field */ + offset += 3; /* entity_offset will be used as the offset from length byte */ + number_of_comp = algo_pars[algo_id].nb_of_dcomp_pcomp; + + for (i=0; i < (number_of_comp+1) / 2; i++) + { + guint8 byte; + + byte = tvb_get_guint8(tvb, offset+i); + proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp[2*i], tvb, offset+i, 1, byte); + + /* if there is an even number of dcomp/pcomp */ + if (2*i+1 < number_of_comp) + { + proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp[2*i+1], tvb, offset+i, 1, byte); + } + /* else there is padding in the end */ + else + { + proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_spare, tvb, offset+i, 1, byte); + } + + } + entity_offset = i; + function_index = 0; + + /* Process the elements byte per byte */ + while ((entity_offset < len) && (algo_pars[algo_id].func_array_ptr[function_index] != NULL)) + { + new_offset = offset+entity_offset; + entity_offset += algo_pars[algo_id].func_array_ptr[function_index](tvb, comp_entity_tree, new_offset); + function_index++; + } + offset += entity_offset; + + } + else /* P bit not set */ + { + len = tvb_get_guint8(tvb, offset+1); + + if (dcomp) + { + algo_pars = dcomp_algo_pars; + algo_id = dcomp_entity_algo_id[entity]; + comp_algo_str = sndcp_xid_dcomp_algo_str; + } + else + { + algo_pars = pcomp_algo_pars; + algo_id = pcomp_entity_algo_id[entity]; + comp_algo_str = sndcp_xid_pcomp_algo_str; + } + comp_entity_tree = proto_tree_add_subtree_format(tree, tvb, offset, len + 2, + ett_sndcp_comp_field, NULL, "Entity %d decoded as Algorithm %s", + entity & 0x1F, val_to_str(algo_id & 0x1F, comp_algo_str,"Undefined Algorithm Identifier:%X")); + + proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_pbit, tvb, offset, 1, p_bit_set << 7); + proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_spare_byte1, tvb, offset, 1, entity); + proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_entity, tvb, offset, 1, entity); + proto_tree_add_uint(comp_entity_tree, hf_sndcp_xid_comp_len, tvb, offset+2, 1, len); + + offset += 2; + entity_offset = 0; + function_index = 0; + + if (dcomp) + { + if (algo_id > ALGO_V44) return; + } + else + { + if (algo_id > ALGO_ROHC) return; + } + + /* Process the elements byte per byte */ + while ((entity_offset < len) && (algo_pars[algo_id].func_array_ptr[function_index] != NULL)) + { + new_offset = offset+entity_offset; + entity_offset += algo_pars[algo_id].func_array_ptr[function_index](tvb, comp_entity_tree, new_offset); + function_index++; + } + offset += entity_offset; + } + } + + /* Else if length is lower than 3, the packet is not correctly formatted */ } /* Register the protocol with Wireshark @@ -709,161 +709,174 @@ static void parse_compression_parameters(tvbuff_t *tvb, proto_tree *tree, gboole void proto_register_sndcp_xid(void) { - /* Setup list of header fields - */ - static hf_register_info hf[] = { - /* L3 XID Parameter Parsing Info */ - {&hf_sndcp_xid_type, - { "Parameter type","llcgprs.l3xidpartype", FT_UINT8, BASE_DEC, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_len, - { "Length","llcgprs.l3xidparlen", FT_UINT8, BASE_DEC, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_value, - { "Value","llcgprs.l3xidparvalue", FT_UINT8, BASE_DEC, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_comp_pbit, - { "P bit","llcgprs.l3xiddcomppbit", FT_UINT8, BASE_DEC, NULL, 0x80, "Data", HFILL}}, - {&hf_sndcp_xid_comp_spare_byte1, - { "Spare","llcgprs.l3xidspare", FT_UINT8, BASE_HEX, NULL, 0x60, "Ignore", HFILL}}, - {&hf_sndcp_xid_comp_entity, - { "Entity","llcgprs.l3xidentity", FT_UINT8, BASE_DEC, NULL, 0x1F, "Data", HFILL}}, - {&hf_sndcp_xid_comp_spare_byte2, - { "Spare","llcgprs.l3xidspare", FT_UINT8, BASE_HEX, NULL, 0xE0, "Ignore", HFILL}}, - {&hf_sndcp_xid_comp_algo_id, - { "Algorithm identifier","llcgprs.l3xidalgoid", FT_UINT8, BASE_DEC, NULL, 0x1F, "Data", HFILL}}, - {&hf_sndcp_xid_comp_len, - { "Length","llcgprs.l3xidcomplen", FT_UINT8, BASE_DEC, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_comp[0], - { "DCOMP1","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0xF0, "Data", HFILL}}, - {&hf_sndcp_xid_comp[1], - { "DCOMP2","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0x0F, "Data", HFILL}}, - {&hf_sndcp_xid_comp[2], - { "DCOMP3","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0xF0, "Data", HFILL}}, - {&hf_sndcp_xid_comp[3], - { "DCOMP4","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0x0F, "Data", HFILL}}, - {&hf_sndcp_xid_comp[4], - { "DCOMP5","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0xF0, "Data", HFILL}}, - {&hf_sndcp_xid_comp[5], - { "DCOMP6","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0x0F, "Data", HFILL}}, - {&hf_sndcp_xid_comp[6], - { "DCOMP7","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0xF0, "Data", HFILL}}, - {&hf_sndcp_xid_comp[7], - { "DCOMP8","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0x0F, "Data", HFILL}}, - {&hf_sndcp_xid_comp[8], - { "DCOMP9","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0xF0, "Data", HFILL}}, - {&hf_sndcp_xid_comp[9], - { "DCOMP10","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0x0F, "Data", HFILL}}, - {&hf_sndcp_xid_comp[10], - { "DCOMP11","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0xF0, "Data", HFILL}}, - {&hf_sndcp_xid_comp[11], - { "DCOMP12","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0x0F, "Data", HFILL}}, - {&hf_sndcp_xid_comp[12], - { "DCOMP13","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0xF0, "Data", HFILL}}, - {&hf_sndcp_xid_comp[13], - { "DCOMP14","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0x0F, "Data", HFILL}}, - {&hf_sndcp_xid_comp[14], - { "DCOMP15","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0xF0, "Data", HFILL}}, - {&hf_sndcp_xid_comp_spare, - { "Spare","llcgprs.l3xidspare", FT_UINT8, BASE_HEX, NULL, 0x0F, "Ignore", HFILL}}, - {&hf_element_applicable_nsapi_15, - { "NSAPI 15","sndcpxid.nsapi15", FT_UINT8, BASE_DEC, NULL, 0x80, "Data", HFILL}}, - {&hf_element_applicable_nsapi_14, - { "NSAPI 14","sndcpxid.nsapi14", FT_UINT8, BASE_DEC, NULL, 0x40, "Data", HFILL}}, - {&hf_element_applicable_nsapi_13, - { "NSAPI 13","sndcpxid.nsapi13", FT_UINT8, BASE_DEC, NULL, 0x20, "Data", HFILL}}, - {&hf_element_applicable_nsapi_12, - { "NSAPI 12","sndcpxid.nsapi12", FT_UINT8, BASE_DEC, NULL, 0x10, "Data", HFILL}}, - {&hf_element_applicable_nsapi_11, - { "NSAPI 11","sndcpxid.nsapi11", FT_UINT8, BASE_DEC, NULL, 0x08, "Data", HFILL}}, - {&hf_element_applicable_nsapi_10, - { "NSAPI 10","sndcpxid.nsapi10", FT_UINT8, BASE_DEC, NULL, 0x04, "Data", HFILL}}, - {&hf_element_applicable_nsapi_9, - { "NSAPI 9","sndcpxid.nsapi9", FT_UINT8, BASE_DEC, NULL, 0x02, "Data", HFILL}}, - {&hf_element_applicable_nsapi_8, - { "NSAPI 8","sndcpxid.nsapi8", FT_UINT8, BASE_DEC, NULL, 0x01, "Data", HFILL}}, - {&hf_element_applicable_nsapi_7, - { "NSAPI 7","sndcpxid.nsapi7", FT_UINT8, BASE_DEC, NULL, 0x80, "Data", HFILL}}, - {&hf_element_applicable_nsapi_6, - { "NSAPI 6","sndcpxid.nsapi6", FT_UINT8, BASE_DEC, NULL, 0x40, "Data", HFILL}}, - {&hf_element_applicable_nsapi_5, - { "NSAPI 5","sndcpxid.nsapi5", FT_UINT8, BASE_DEC, NULL, 0x20, "Data", HFILL}}, - {&hf_element_applicable_nsapi_spare, - { "Spare","sndcpxid.spare", FT_UINT8, BASE_DEC, NULL, 0x1F, "Ignore", HFILL}}, - {&hf_sndcp_xid_rfc1144_s0, - { "S0 - 1","sndcpxid.rfc1144_s0", FT_UINT8, BASE_DEC, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_rfc2507_f_max_period_msb, - { "F Max Period MSB","sndcpxid.rfc2507_f_max_period_msb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_rfc2507_f_max_period_lsb, - { "F Max Period LSB","sndcpxid.rfc2507_f_max_period_lsb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_rfc2507_f_max_time, - { "F Max Time","sndcpxid.rfc2507_f_max_time", FT_UINT8, BASE_DEC, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_rfc2507_max_header, - { "Max Header","sndcpxid.rfc2507_max_header", FT_UINT8, BASE_DEC, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_rfc2507_tcp_space, - { "TCP Space","sndcpxid.rfc2507_max_tcp_space", FT_UINT8, BASE_DEC, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_rfc2507_non_tcp_space_msb, - { "TCP non space MSB","sndcpxid.rfc2507_max_non_tcp_space_msb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_rfc2507_non_tcp_space_lsb, - { "TCP non space LSB","sndcpxid.rfc2507_max_non_tcp_space_lsb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_rohc_max_cid_spare, - { "Spare","sndcpxid.rohc_max_cid_spare", FT_UINT8, BASE_DEC, NULL, 0xC0, "Ignore", HFILL}}, - {&hf_sndcp_xid_rohc_max_cid_msb, - { "Max CID MSB","sndcpxid.rohc_max_cid_msb", FT_UINT8, BASE_HEX, NULL, 0x3F, "Data", HFILL}}, - {&hf_sndcp_xid_rohc_max_cid_lsb, - { "Max CID LSB","sndcpxid.rohc_max_cid_lsb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_rohc_max_header, - { "Max header","sndcpxid.rohc_max_header", FT_UINT8, BASE_DEC, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_rohc_profile_msb, - { "Profile MSB","sndcpxid.rohc_profile_msb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_rohc_profile_lsb, - { "Profile LSB","sndcpxid.rohc_profile_lsb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_V42bis_p0_spare, - { "Spare","sndcpxid.V42bis_p0spare", FT_UINT8, BASE_DEC, NULL, 0xFC, "Ignore", HFILL}}, - {&hf_sndcp_xid_V42bis_p0, - { "P0","sndcpxid.V42bis_p0", FT_UINT8, BASE_HEX, NULL, 0x03, "Data", HFILL}}, - {&hf_sndcp_xid_V42bis_p1_msb, - { "P1 MSB","sndcpxid.V42bis_p1_msb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_V42bis_p1_lsb, - { "P1 LSB","sndcpxid.V42bis_p1_lsb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_V42bis_p2, - { "P2","sndcpxid.V42bis_p2", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_V44_c0_spare, - { "P2","sndcpxid.V44_c0_spare", FT_UINT8, BASE_HEX, NULL, 0x3F, "Ignore", HFILL}}, - {&hf_sndcp_xid_V44_c0, - { "P2","sndcpxid.V44_c0", FT_UINT8, BASE_HEX, NULL, 0xC0, "Data", HFILL}}, - {&hf_sndcp_xid_V44_p0_spare, - { "Spare","sndcpxid.V44_p0spare", FT_UINT8, BASE_DEC, NULL, 0xFC, "Ignore", HFILL}}, - {&hf_sndcp_xid_V44_p0, - { "P0","sndcpxid.V44_p0", FT_UINT8, BASE_HEX, NULL, 0x03, "Data", HFILL}}, - {&hf_sndcp_xid_V44_p1t_msb, - { "P1t MSB","sndcpxid.V44_p1t_msb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_V44_p1t_lsb, - { "P1t LSB","sndcpxid.V44_p1t_lsb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_V44_p1r_msb, - { "P1r MSB","sndcpxid.V44_p1r_msb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_V44_p1r_lsb, - { "P1r LSB","sndcpxid.V44_p1r_lsb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_V44_p3t_msb, - { "P3t MSB","sndcpxid.V44_p3t_msb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_V44_p3t_lsb, - { "P3t LSB","sndcpxid.V44_p3t_lsb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_V44_p3r_msb, - { "P3r MSB","sndcpxid.V44_p3r_msb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, - {&hf_sndcp_xid_V44_p3r_lsb, - { "P3r LSB","sndcpxid.V44_p3r_lsb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, - }; - - /* Setup protocol subtree array */ - static gint *ett[] = { - &ett_sndcp_xid, - &ett_sndcp_xid_version_field, - &ett_sndcp_comp_field - }; - - /* Register the protocol name and description */ - proto_sndcp_xid = proto_register_protocol("Subnetwork Dependent Convergence Protocol XID", - "SNDCP XID", "sndcpxid"); - - /* Required function calls to register the header fields and subtrees used */ - proto_register_field_array(proto_sndcp_xid, hf, array_length(hf)); - proto_register_subtree_array(ett, array_length(ett)); - register_dissector("sndcpxid", dissect_sndcp_xid, proto_sndcp_xid); + /* Setup list of header fields + */ + static hf_register_info hf[] = { + /* L3 XID Parameter Parsing Info */ + {&hf_sndcp_xid_type, + { "Parameter type","llcgprs.l3xidpartype", FT_UINT8, BASE_DEC, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_len, + { "Length","llcgprs.l3xidparlen", FT_UINT8, BASE_DEC, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_value, + { "Value","llcgprs.l3xidparvalue", FT_UINT8, BASE_DEC, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_comp_pbit, + { "P bit","llcgprs.l3xiddcomppbit", FT_UINT8, BASE_DEC, NULL, 0x80, "Data", HFILL}}, + {&hf_sndcp_xid_comp_spare_byte1, + { "Spare","llcgprs.l3xidspare", FT_UINT8, BASE_HEX, NULL, 0x60, "Ignore", HFILL}}, + {&hf_sndcp_xid_comp_entity, + { "Entity","llcgprs.l3xidentity", FT_UINT8, BASE_DEC, NULL, 0x1F, "Data", HFILL}}, + {&hf_sndcp_xid_comp_spare_byte2, + { "Spare","llcgprs.l3xidspare", FT_UINT8, BASE_HEX, NULL, 0xE0, "Ignore", HFILL}}, + {&hf_sndcp_xid_comp_algo_id, + { "Algorithm identifier","llcgprs.l3xidalgoid", FT_UINT8, BASE_DEC, NULL, 0x1F, "Data", HFILL}}, + {&hf_sndcp_xid_comp_len, + { "Length","llcgprs.l3xidcomplen", FT_UINT8, BASE_DEC, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_comp[0], + { "DCOMP1","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0xF0, "Data", HFILL}}, + {&hf_sndcp_xid_comp[1], + { "DCOMP2","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0x0F, "Data", HFILL}}, + {&hf_sndcp_xid_comp[2], + { "DCOMP3","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0xF0, "Data", HFILL}}, + {&hf_sndcp_xid_comp[3], + { "DCOMP4","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0x0F, "Data", HFILL}}, + {&hf_sndcp_xid_comp[4], + { "DCOMP5","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0xF0, "Data", HFILL}}, + {&hf_sndcp_xid_comp[5], + { "DCOMP6","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0x0F, "Data", HFILL}}, + {&hf_sndcp_xid_comp[6], + { "DCOMP7","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0xF0, "Data", HFILL}}, + {&hf_sndcp_xid_comp[7], + { "DCOMP8","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0x0F, "Data", HFILL}}, + {&hf_sndcp_xid_comp[8], + { "DCOMP9","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0xF0, "Data", HFILL}}, + {&hf_sndcp_xid_comp[9], + { "DCOMP10","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0x0F, "Data", HFILL}}, + {&hf_sndcp_xid_comp[10], + { "DCOMP11","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0xF0, "Data", HFILL}}, + {&hf_sndcp_xid_comp[11], + { "DCOMP12","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0x0F, "Data", HFILL}}, + {&hf_sndcp_xid_comp[12], + { "DCOMP13","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0xF0, "Data", HFILL}}, + {&hf_sndcp_xid_comp[13], + { "DCOMP14","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0x0F, "Data", HFILL}}, + {&hf_sndcp_xid_comp[14], + { "DCOMP15","llcgprs.l3xiddcomp", FT_UINT8, BASE_DEC, NULL, 0xF0, "Data", HFILL}}, + {&hf_sndcp_xid_comp_spare, + { "Spare","llcgprs.l3xidspare", FT_UINT8, BASE_HEX, NULL, 0x0F, "Ignore", HFILL}}, + {&hf_element_applicable_nsapi_15, + { "NSAPI 15","sndcpxid.nsapi15", FT_UINT8, BASE_DEC, NULL, 0x80, "Data", HFILL}}, + {&hf_element_applicable_nsapi_14, + { "NSAPI 14","sndcpxid.nsapi14", FT_UINT8, BASE_DEC, NULL, 0x40, "Data", HFILL}}, + {&hf_element_applicable_nsapi_13, + { "NSAPI 13","sndcpxid.nsapi13", FT_UINT8, BASE_DEC, NULL, 0x20, "Data", HFILL}}, + {&hf_element_applicable_nsapi_12, + { "NSAPI 12","sndcpxid.nsapi12", FT_UINT8, BASE_DEC, NULL, 0x10, "Data", HFILL}}, + {&hf_element_applicable_nsapi_11, + { "NSAPI 11","sndcpxid.nsapi11", FT_UINT8, BASE_DEC, NULL, 0x08, "Data", HFILL}}, + {&hf_element_applicable_nsapi_10, + { "NSAPI 10","sndcpxid.nsapi10", FT_UINT8, BASE_DEC, NULL, 0x04, "Data", HFILL}}, + {&hf_element_applicable_nsapi_9, + { "NSAPI 9","sndcpxid.nsapi9", FT_UINT8, BASE_DEC, NULL, 0x02, "Data", HFILL}}, + {&hf_element_applicable_nsapi_8, + { "NSAPI 8","sndcpxid.nsapi8", FT_UINT8, BASE_DEC, NULL, 0x01, "Data", HFILL}}, + {&hf_element_applicable_nsapi_7, + { "NSAPI 7","sndcpxid.nsapi7", FT_UINT8, BASE_DEC, NULL, 0x80, "Data", HFILL}}, + {&hf_element_applicable_nsapi_6, + { "NSAPI 6","sndcpxid.nsapi6", FT_UINT8, BASE_DEC, NULL, 0x40, "Data", HFILL}}, + {&hf_element_applicable_nsapi_5, + { "NSAPI 5","sndcpxid.nsapi5", FT_UINT8, BASE_DEC, NULL, 0x20, "Data", HFILL}}, + {&hf_element_applicable_nsapi_spare, + { "Spare","sndcpxid.spare", FT_UINT8, BASE_DEC, NULL, 0x1F, "Ignore", HFILL}}, + {&hf_sndcp_xid_rfc1144_s0, + { "S0 - 1","sndcpxid.rfc1144_s0", FT_UINT8, BASE_DEC, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_rfc2507_f_max_period_msb, + { "F Max Period MSB","sndcpxid.rfc2507_f_max_period_msb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_rfc2507_f_max_period_lsb, + { "F Max Period LSB","sndcpxid.rfc2507_f_max_period_lsb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_rfc2507_f_max_time, + { "F Max Time","sndcpxid.rfc2507_f_max_time", FT_UINT8, BASE_DEC, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_rfc2507_max_header, + { "Max Header","sndcpxid.rfc2507_max_header", FT_UINT8, BASE_DEC, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_rfc2507_tcp_space, + { "TCP Space","sndcpxid.rfc2507_max_tcp_space", FT_UINT8, BASE_DEC, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_rfc2507_non_tcp_space_msb, + { "TCP non space MSB","sndcpxid.rfc2507_max_non_tcp_space_msb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_rfc2507_non_tcp_space_lsb, + { "TCP non space LSB","sndcpxid.rfc2507_max_non_tcp_space_lsb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_rohc_max_cid_spare, + { "Spare","sndcpxid.rohc_max_cid_spare", FT_UINT8, BASE_DEC, NULL, 0xC0, "Ignore", HFILL}}, + {&hf_sndcp_xid_rohc_max_cid_msb, + { "Max CID MSB","sndcpxid.rohc_max_cid_msb", FT_UINT8, BASE_HEX, NULL, 0x3F, "Data", HFILL}}, + {&hf_sndcp_xid_rohc_max_cid_lsb, + { "Max CID LSB","sndcpxid.rohc_max_cid_lsb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_rohc_max_header, + { "Max header","sndcpxid.rohc_max_header", FT_UINT8, BASE_DEC, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_rohc_profile_msb, + { "Profile MSB","sndcpxid.rohc_profile_msb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_rohc_profile_lsb, + { "Profile LSB","sndcpxid.rohc_profile_lsb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_V42bis_p0_spare, + { "Spare","sndcpxid.V42bis_p0spare", FT_UINT8, BASE_DEC, NULL, 0xFC, "Ignore", HFILL}}, + {&hf_sndcp_xid_V42bis_p0, + { "P0","sndcpxid.V42bis_p0", FT_UINT8, BASE_HEX, NULL, 0x03, "Data", HFILL}}, + {&hf_sndcp_xid_V42bis_p1_msb, + { "P1 MSB","sndcpxid.V42bis_p1_msb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_V42bis_p1_lsb, + { "P1 LSB","sndcpxid.V42bis_p1_lsb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_V42bis_p2, + { "P2","sndcpxid.V42bis_p2", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_V44_c0_spare, + { "P2","sndcpxid.V44_c0_spare", FT_UINT8, BASE_HEX, NULL, 0x3F, "Ignore", HFILL}}, + {&hf_sndcp_xid_V44_c0, + { "P2","sndcpxid.V44_c0", FT_UINT8, BASE_HEX, NULL, 0xC0, "Data", HFILL}}, + {&hf_sndcp_xid_V44_p0_spare, + { "Spare","sndcpxid.V44_p0spare", FT_UINT8, BASE_DEC, NULL, 0xFC, "Ignore", HFILL}}, + {&hf_sndcp_xid_V44_p0, + { "P0","sndcpxid.V44_p0", FT_UINT8, BASE_HEX, NULL, 0x03, "Data", HFILL}}, + {&hf_sndcp_xid_V44_p1t_msb, + { "P1t MSB","sndcpxid.V44_p1t_msb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_V44_p1t_lsb, + { "P1t LSB","sndcpxid.V44_p1t_lsb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_V44_p1r_msb, + { "P1r MSB","sndcpxid.V44_p1r_msb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_V44_p1r_lsb, + { "P1r LSB","sndcpxid.V44_p1r_lsb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_V44_p3t_msb, + { "P3t MSB","sndcpxid.V44_p3t_msb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_V44_p3t_lsb, + { "P3t LSB","sndcpxid.V44_p3t_lsb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_V44_p3r_msb, + { "P3r MSB","sndcpxid.V44_p3r_msb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, + {&hf_sndcp_xid_V44_p3r_lsb, + { "P3r LSB","sndcpxid.V44_p3r_lsb", FT_UINT8, BASE_HEX, NULL, 0xFF, "Data", HFILL}}, + }; + + /* Setup protocol subtree array */ + static gint *ett[] = { + &ett_sndcp_xid, + &ett_sndcp_xid_version_field, + &ett_sndcp_comp_field + }; + + /* Register the protocol name and description */ + proto_sndcp_xid = proto_register_protocol("Subnetwork Dependent Convergence Protocol XID", + "SNDCP XID", "sndcpxid"); + + /* Required function calls to register the header fields and subtrees used */ + proto_register_field_array(proto_sndcp_xid, hf, array_length(hf)); + proto_register_subtree_array(ett, array_length(ett)); + register_dissector("sndcpxid", dissect_sndcp_xid, proto_sndcp_xid); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 4 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * vi: set shiftwidth=4 tabstop=8 expandtab: + * :indentSize=4:tabSize=8:noTabs=true: + */ diff --git a/epan/dissectors/packet-srvloc.c b/epan/dissectors/packet-srvloc.c index 0084b6b796..c9b7741290 100644 --- a/epan/dissectors/packet-srvloc.c +++ b/epan/dissectors/packet-srvloc.c @@ -184,21 +184,21 @@ static const true_false_string tfs_srvloc_flags_v2_reqmulti = { "Not multicast or broadcast" }; -#define TCP_PORT_SRVLOC 427 -#define UDP_PORT_SRVLOC 427 +#define TCP_PORT_SRVLOC 427 +#define UDP_PORT_SRVLOC 427 /* Define function types */ -#define SRVREQ 1 -#define SRVRPLY 2 -#define SRVREG 3 -#define SRVDEREG 4 -#define SRVACK 5 -#define ATTRRQST 6 -#define ATTRRPLY 7 -#define DAADVERT 8 -#define SRVTYPERQST 9 -#define SRVTYPERPLY 10 +#define SRVREQ 1 +#define SRVRPLY 2 +#define SRVREG 3 +#define SRVDEREG 4 +#define SRVACK 5 +#define ATTRRQST 6 +#define ATTRRPLY 7 +#define DAADVERT 8 +#define SRVTYPERQST 9 +#define SRVTYPERPLY 10 #define SAADVERT 11 /* SLPv2, section 8 */ /* Create protocol header structure */ @@ -206,31 +206,31 @@ static const true_false_string tfs_srvloc_flags_v2_reqmulti = { /* bradh: looks like never used. */ /* bradh: comment it out for now since it doesn't work for v2 struct srvloc_hdr { - guint8 version; - guint8 function; - guint16 length; - guint8 flags; - guint8 dialect; - guchar language[2]; - guint16 encoding; - guint16 xid; + guint8 version; + guint8 function; + guint16 length; + guint8 flags; + guint8 dialect; + guchar language[2]; + guint16 encoding; + guint16 xid; }; */ /* List to resolve function numbers to names */ static const value_string srvloc_functions[] = { - { SRVREQ, "Service Request" }, - { SRVRPLY, "Service Reply" }, - { SRVREG, "Service Registration" }, - { SRVDEREG, "Service Deregister" }, - { SRVACK, "Service Acknowledge" }, - { ATTRRQST, "Attribute Request" }, - { ATTRRPLY, "Attribute Reply" }, - { DAADVERT, "DA Advertisement" }, + { SRVREQ, "Service Request" }, + { SRVRPLY, "Service Reply" }, + { SRVREG, "Service Registration" }, + { SRVDEREG, "Service Deregister" }, + { SRVACK, "Service Acknowledge" }, + { ATTRRQST, "Attribute Request" }, + { ATTRRPLY, "Attribute Reply" }, + { DAADVERT, "DA Advertisement" }, { SRVTYPERQST, "Service Type Request" }, { SRVTYPERPLY, "Service Type Reply" }, - { SAADVERT, "SA Advertisement" }, /* v2 only */ + { SAADVERT, "SA Advertisement" }, /* v2 only */ { 0, NULL } }; @@ -239,11 +239,11 @@ static const value_string srvloc_functions[] = { /* Define flag masks */ -#define FLAG_O 0x80 -#define FLAG_M 0x40 -#define FLAG_U 0x20 -#define FLAG_A 0x10 -#define FLAG_F 0x08 +#define FLAG_O 0x80 +#define FLAG_M 0x40 +#define FLAG_U 0x20 +#define FLAG_A 0x10 +#define FLAG_F 0x08 /* it all changes for Version 2 */ #define FLAG_O_V2 0x8000 @@ -252,62 +252,62 @@ static const value_string srvloc_functions[] = { /* Define Error Codes - Version 1*/ -#define SUCCESS 0 -#define LANG_NOT_SPTD 1 -#define PROT_PARSE_ERR 2 -#define INVLD_REG 3 -#define SCOPE_NOT_SPTD 4 -#define CHRSET_NOT_UND 5 -#define AUTH_ABSENT 6 -#define AUTH_FAILED 7 +#define SUCCESS 0 +#define LANG_NOT_SPTD 1 +#define PROT_PARSE_ERR 2 +#define INVLD_REG 3 +#define SCOPE_NOT_SPTD 4 +#define CHRSET_NOT_UND 5 +#define AUTH_ABSENT 6 +#define AUTH_FAILED 7 /* List to resolve error codes to names */ static const value_string srvloc_errs[] = { - { SUCCESS, "No Error" }, - { LANG_NOT_SPTD, "Language not supported" }, + { SUCCESS, "No Error" }, + { LANG_NOT_SPTD, "Language not supported" }, { PROT_PARSE_ERR, "Protocol parse error" }, - { INVLD_REG, "Invalid registration" }, + { INVLD_REG, "Invalid registration" }, { SCOPE_NOT_SPTD, "Scope not supported" }, { CHRSET_NOT_UND, "Character set not understood" }, - { AUTH_ABSENT, "Authentication absent" }, - { AUTH_FAILED, "Authentication failed" }, + { AUTH_ABSENT, "Authentication absent" }, + { AUTH_FAILED, "Authentication failed" }, { 0, NULL } }; /* Define Error Codes for Version 2 */ -#define LANGUAGE_NOT_SUPPORTED 1 -#define PARSE_ERROR 2 -#define INVALID_REGISTRATION 3 -#define SCOPE_NOT_SUPPORTED 4 -#define AUTHENTICATION_UNKNOWN 5 -#define AUTHENTICATION_ABSENT 6 -#define AUTHENTICATION_FAILED 7 -#define VER_NOT_SUPPORTED 9 -#define INTERNAL_ERROR 10 -#define DA_BUSY_NOW 11 -#define OPTION_NOT_UNDERSTOOD 12 -#define INVALID_UPDATE 13 -#define MSG_NOT_SUPPORTED 14 -#define REFRESH_REJECTED 15 +#define LANGUAGE_NOT_SUPPORTED 1 +#define PARSE_ERROR 2 +#define INVALID_REGISTRATION 3 +#define SCOPE_NOT_SUPPORTED 4 +#define AUTHENTICATION_UNKNOWN 5 +#define AUTHENTICATION_ABSENT 6 +#define AUTHENTICATION_FAILED 7 +#define VER_NOT_SUPPORTED 9 +#define INTERNAL_ERROR 10 +#define DA_BUSY_NOW 11 +#define OPTION_NOT_UNDERSTOOD 12 +#define INVALID_UPDATE 13 +#define MSG_NOT_SUPPORTED 14 +#define REFRESH_REJECTED 15 static const value_string srvloc_errs_v2[] = { - { SUCCESS, "No Error" }, + { SUCCESS, "No Error" }, { LANGUAGE_NOT_SUPPORTED, "No data in the requested language" }, - { PARSE_ERROR, "The message fails to obey SLP syntax." }, - { INVALID_REGISTRATION, "The SrvReg has problems" }, - { SCOPE_NOT_SUPPORTED, "Scope list not supported" }, + { PARSE_ERROR, "The message fails to obey SLP syntax." }, + { INVALID_REGISTRATION, "The SrvReg has problems" }, + { SCOPE_NOT_SUPPORTED, "Scope list not supported" }, { AUTHENTICATION_UNKNOWN, "Unsupported SLP SPI." }, - { AUTHENTICATION_ABSENT, "URL and ATTR authentication not provided"}, - { AUTHENTICATION_FAILED, "Authentication error"}, - { VER_NOT_SUPPORTED, "Unsupported version number in message header" }, - { INTERNAL_ERROR, "The DA (or SA) is too sick to respond" }, - { DA_BUSY_NOW, "UA or SA SHOULD retry" }, - { OPTION_NOT_UNDERSTOOD, "Unknown option from the mandatory range"}, - { INVALID_UPDATE, "Invalid SrvReg" }, - { MSG_NOT_SUPPORTED, "No support for AttrRqst or SrvTypeRqst" }, - { REFRESH_REJECTED, "SrvReg sent too soon"}, + { AUTHENTICATION_ABSENT, "URL and ATTR authentication not provided"}, + { AUTHENTICATION_FAILED, "Authentication error"}, + { VER_NOT_SUPPORTED, "Unsupported version number in message header" }, + { INTERNAL_ERROR, "The DA (or SA) is too sick to respond" }, + { DA_BUSY_NOW, "UA or SA SHOULD retry" }, + { OPTION_NOT_UNDERSTOOD, "Unknown option from the mandatory range"}, + { INVALID_UPDATE, "Invalid SrvReg" }, + { MSG_NOT_SUPPORTED, "No support for AttrRqst or SrvTypeRqst" }, + { REFRESH_REJECTED, "SrvReg sent too soon"}, { 0, NULL } }; @@ -315,7 +315,7 @@ static const value_string srvloc_errs_v2[] = { * Character encodings. * This is a small subset of what's in * - * http://www.iana.org/assignments/character-sets + * http://www.iana.org/assignments/character-sets * * XXX - we should do something useful with this, i.e. properly * handle strings based on the character set they're in. @@ -328,55 +328,55 @@ static const value_string srvloc_errs_v2[] = { * character set handling for strings, and it should be stuck with * the task of figuring out how to properly handle them. */ -#define CHARSET_ASCII 3 -#define CHARSET_ISO_10646_UTF_1 27 -#define CHARSET_ISO_646_BASIC 28 -#define CHARSET_ISO_646_IRV 30 -#define CHARSET_ISO_8859_1 4 -#define CHARSET_ISO_10646_UCS_2 1000 /* a/k/a Unicode */ -#define CHARSET_UTF_7 1012 -#define CHARSET_UTF_8 106 +#define CHARSET_ASCII 3 +#define CHARSET_ISO_10646_UTF_1 27 +#define CHARSET_ISO_646_BASIC 28 +#define CHARSET_ISO_646_IRV 30 +#define CHARSET_ISO_8859_1 4 +#define CHARSET_ISO_10646_UCS_2 1000 /* a/k/a Unicode */ +#define CHARSET_UTF_7 1012 +#define CHARSET_UTF_8 106 static const value_string charsets[] = { - { CHARSET_ASCII, "US-ASCII" }, - { CHARSET_ISO_10646_UTF_1, "ISO 10646 UTF-1" }, - { CHARSET_ISO_646_BASIC, "ISO 646 basic:1983" }, - { CHARSET_ISO_646_IRV, "ISO 646 IRV:1983" }, - { CHARSET_ISO_8859_1, "ISO 8859-1" }, - { CHARSET_ISO_10646_UCS_2, "Unicode" }, - { CHARSET_UTF_7, "UTF-7" }, - { CHARSET_UTF_8, "UTF-8" }, - { 0, NULL } + { CHARSET_ASCII, "US-ASCII" }, + { CHARSET_ISO_10646_UTF_1, "ISO 10646 UTF-1" }, + { CHARSET_ISO_646_BASIC, "ISO 646 basic:1983" }, + { CHARSET_ISO_646_IRV, "ISO 646 IRV:1983" }, + { CHARSET_ISO_8859_1, "ISO 8859-1" }, + { CHARSET_ISO_10646_UCS_2, "Unicode" }, + { CHARSET_UTF_7, "UTF-7" }, + { CHARSET_UTF_8, "UTF-8" }, + { 0, NULL } }; static int dissect_authblk(tvbuff_t *tvb, int offset, proto_tree *tree) { - struct tm *stamp; - time_t seconds; - double floatsec; - guint16 length; + struct tm *stamp; + time_t seconds; + double floatsec; + guint16 length; seconds = (time_t)(tvb_get_ntohl(tvb, offset) - 2208988800u); /* epoch is 00:00:00 (midnight) UTC on 1900-01-01 */ stamp = gmtime(&seconds); if (stamp != NULL) { - floatsec = stamp->tm_sec + tvb_get_ntohl(tvb, offset + 4) / 4294967296.0; - proto_tree_add_text(tree, tvb, offset, 8, - "Timestamp: %04d-%02d-%02d %02d:%02d:%07.4f UTC", - stamp->tm_year + 1900, stamp->tm_mon + 1, - stamp->tm_mday, stamp->tm_hour, stamp->tm_min, - floatsec); + floatsec = stamp->tm_sec + tvb_get_ntohl(tvb, offset + 4) / 4294967296.0; + proto_tree_add_text(tree, tvb, offset, 8, + "Timestamp: %04d-%02d-%02d %02d:%02d:%07.4f UTC", + stamp->tm_year + 1900, stamp->tm_mon + 1, + stamp->tm_mday, stamp->tm_hour, stamp->tm_min, + floatsec); } else { - proto_tree_add_text(tree, tvb, offset, 8, "Timestamp not representable"); + proto_tree_add_text(tree, tvb, offset, 8, "Timestamp not representable"); } proto_tree_add_text(tree, tvb, offset + 8, 2, "Block Structure Descriptor: %u", - tvb_get_ntohs(tvb, offset + 8)); + tvb_get_ntohs(tvb, offset + 8)); length = tvb_get_ntohs(tvb, offset + 10); proto_tree_add_text(tree, tvb, offset + 10, 2, "Authenticator length: %u", - length); + length); offset += 12; proto_tree_add_text(tree, tvb, offset, length, "Authentication block: %s", - tvb_format_text(tvb, offset, length)); + tvb_format_text(tvb, offset, length)); offset += length; return offset; } @@ -429,13 +429,13 @@ add_v1_string(proto_tree *tree, int hf, tvbuff_t *tvb, int offset, int length, /* * XXX - is this trying to guess the byte order? * - * http://www.iana.org/assignments/character-sets + * http://www.iana.org/assignments/character-sets * * says of ISO-10646-UCS-2, which has the code 1000 (this routine is used * with CHARSET_ISO_10646_UCS_2, which is #defined to be 1000): * - * this needs to specify network byte order: the standard - * does not specify (it is a 16-bit integer space) + * this needs to specify network byte order: the standard + * does not specify (it is a 16-bit integer space) * * Does that mean that in SRVLOC, ISO-10646-UCS-2 is always big-endian? * If so, can we just use "tvb_get_string_enc()" and be @@ -446,47 +446,47 @@ add_v1_string(proto_tree *tree, int hf, tvbuff_t *tvb, int offset, int length, static const guint8* unicode_to_bytes(tvbuff_t *tvb, int offset, int length, gboolean endianness) { - const guint8 *ascii_text = tvb_get_string_enc(wmem_packet_scope(), tvb, offset, length, ENC_ASCII); - int i, j=0; - guint8 c_char, c_char1; - guint8 *byte_array; - - /* XXX - Is this the correct behavior? */ - if (length < 1) - return ""; - - if (endianness) { - byte_array = (guint8 *)wmem_alloc(wmem_packet_scope(), length*2 + 1); - for (i = length; i > 0; i--) { - c_char = ascii_text[i]; - if (c_char != 0) { - i--; - c_char1 = ascii_text[i]; - if (c_char1 == 0) { + const guint8 *ascii_text = tvb_get_string_enc(wmem_packet_scope(), tvb, offset, length, ENC_ASCII); + int i, j = 0; + guint8 c_char, c_char1; + guint8 *byte_array; + + /* XXX - Is this the correct behavior? */ + if (length < 1) + return ""; + + if (endianness) { + byte_array = (guint8 *)wmem_alloc(wmem_packet_scope(), length*2 + 1); + for (i = length; i > 0; i--) { + c_char = ascii_text[i]; + if (c_char != 0) { i--; c_char1 = ascii_text[i]; + if (c_char1 == 0) { + i--; + c_char1 = ascii_text[i]; + } + byte_array[j] = c_char1; + j++; + byte_array[j] = c_char; + j++; } - byte_array[j] = c_char1; - j++; - byte_array[j] = c_char; - j++; } - } - } - else - { - byte_array = (guint8 *)wmem_alloc(wmem_packet_scope(), length + 1); - for (i = 0; i < length; i++) { - c_char = ascii_text[i]; - if (c_char != 0) { - byte_array[j] = c_char; - j++; + } + else + { + byte_array = (guint8 *)wmem_alloc(wmem_packet_scope(), length + 1); + for (i = 0; i < length; i++) { + c_char = ascii_text[i]; + if (c_char != 0) { + byte_array[j] = c_char; + j++; + } } - } - } + } - byte_array[j]=0; - return byte_array; + byte_array[j]=0; + return byte_array; } /* @@ -509,7 +509,7 @@ attr_list(proto_tree *tree, int hf, tvbuff_t *tvb, int offset, int length, int i, svc, ss, type_len, foffset=offset; guint32 prot; const guint8 *byte_value; - proto_tree *srvloc_tree; + proto_tree *srvloc_tree; char *tmp; static const value_string srvloc_svc[] = { @@ -563,11 +563,11 @@ attr_list(proto_tree *tree, int hf, tvbuff_t *tvb, int offset, int length, srvloc_tree = proto_tree_add_subtree_format(tree, tvb, foffset, -1, ett_srvloc_attr, NULL, "Item %d", i); svc = tvb_get_guint8(tvb, foffset+1); - proto_tree_add_text(srvloc_tree, tvb, foffset+1, 1, - "Service Type: %s", val_to_str_const(svc, srvloc_svc, "Unknown")); + proto_tree_add_text(srvloc_tree, tvb, foffset+1, 1, + "Service Type: %s", val_to_str_const(svc, srvloc_svc, "Unknown")); ss = tvb_get_guint8(tvb, foffset+5); - proto_tree_add_text(srvloc_tree, tvb, foffset+5, 1, - "Communication Type: %s", val_to_str_const(ss, srvloc_ss, "Unknown")); + proto_tree_add_text(srvloc_tree, tvb, foffset+5, 1, + "Communication Type: %s", val_to_str_const(ss, srvloc_ss, "Unknown")); foffset += 9; if (svc == 50) { if (tvb_get_guint8(tvb, foffset)==54) { /* TCP */ @@ -636,11 +636,11 @@ attr_list(proto_tree *tree, int hf, tvbuff_t *tvb, int offset, int length, srvloc_tree = proto_tree_add_subtree_format(tree, tvb, foffset, -1, ett_srvloc_attr, NULL, "Item %d", i); svc = tvb_get_guint8(tvb, foffset+1); - proto_tree_add_text(srvloc_tree, tvb, foffset+1, 1, - "Service Type: %s", val_to_str_const(svc, srvloc_svc, "Unknown")); + proto_tree_add_text(srvloc_tree, tvb, foffset+1, 1, + "Service Type: %s", val_to_str_const(svc, srvloc_svc, "Unknown")); ss = tvb_get_guint8(tvb, foffset+3); - proto_tree_add_text(srvloc_tree, tvb, foffset+3, 1, - "Communication Type: %s", val_to_str_const(ss, srvloc_ss, "Unknown")); + proto_tree_add_text(srvloc_tree, tvb, foffset+3, 1, + "Communication Type: %s", val_to_str_const(ss, srvloc_ss, "Unknown")); foffset += 5; if (svc == 50) { if (tvb_get_guint8(tvb, foffset)==54) { /* TCP */ @@ -752,14 +752,14 @@ static int dissect_url_entry_v1(tvbuff_t *tvb, int offset, proto_tree *tree, guint16 encoding, guint16 flags) { - guint16 url_len; + guint16 url_len; proto_tree_add_item(tree, hf_srvloc_url_lifetime, tvb, offset, 2, - ENC_BIG_ENDIAN); + ENC_BIG_ENDIAN); offset += 2; url_len = tvb_get_ntohs(tvb, offset); proto_tree_add_uint(tree, hf_srvloc_url_urllen, tvb, offset, 2, - url_len); + url_len); offset += 2; add_v1_string(tree, hf_srvloc_url_url, tvb, offset, url_len, encoding); offset += url_len; @@ -771,30 +771,30 @@ dissect_url_entry_v1(tvbuff_t *tvb, int offset, proto_tree *tree, static int dissect_url_entry_v2(tvbuff_t *tvb, int offset, proto_tree *tree) { - guint8 reserved; - guint16 url_len; - guint8 num_auths; + guint8 reserved; + guint16 url_len; + guint8 num_auths; reserved = tvb_get_guint8(tvb, offset); proto_tree_add_uint(tree, hf_srvloc_url_reserved, tvb, offset, 1, - reserved); + reserved); offset += 1; proto_tree_add_item(tree, hf_srvloc_url_lifetime, tvb, offset, 2, - ENC_BIG_ENDIAN); + ENC_BIG_ENDIAN); offset += 2; url_len = tvb_get_ntohs(tvb, offset); proto_tree_add_uint(tree, hf_srvloc_url_urllen, tvb, offset, 2, - url_len); + url_len); offset += 2; proto_tree_add_item(tree, hf_srvloc_url_url, tvb, offset, url_len, ENC_ASCII|ENC_NA); offset += url_len; num_auths = tvb_get_guint8(tvb, offset); proto_tree_add_uint(tree, hf_srvloc_url_numauths, tvb, offset, 1, - num_auths); + num_auths); offset += 1; while (num_auths > 0) { - offset = dissect_authblk_v2(tvb, offset, tree); - num_auths--; + offset = dissect_authblk_v2(tvb, offset, tree); + num_auths--; } return offset; } @@ -1428,14 +1428,14 @@ void proto_register_srvloc(void) { static hf_register_info hf[] = { - /* Helper functions for the Version 1 Header*/ + /* Helper functions for the Version 1 Header*/ {&hf_srvloc_error, {"Error Code", "srvloc.err", FT_UINT16, BASE_DEC, VALS(srvloc_errs), 0x0, NULL, HFILL } }, - /* Helper function for the Version 2 Header */ + /* Helper function for the Version 2 Header */ {&hf_srvloc_error_v2, {"Error Code", "srvloc.errv2", FT_UINT16, BASE_DEC, VALS(srvloc_errs_v2), 0x0, @@ -1462,29 +1462,29 @@ proto_register_srvloc(void) NULL, HFILL } }, - /* Helper functions for URL and URL Entry parsing - both versions */ - {&hf_srvloc_url_reserved, - {"Reserved", "srvloc.url.reserved", - FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL } - }, - {&hf_srvloc_url_lifetime, - {"URL lifetime", "srvloc.url.lifetime", - FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - {&hf_srvloc_url_urllen, - {"URL Length", "srvloc.url.urllen", - FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - {&hf_srvloc_url_url, - {"URL", "srvloc.url.url", - FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } - }, - {&hf_srvloc_url_numauths, - {"Num Auths", "srvloc.url.numauths", - FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - - /* Helper functions for the common header fields */ + /* Helper functions for URL and URL Entry parsing - both versions */ + {&hf_srvloc_url_reserved, + {"Reserved", "srvloc.url.reserved", + FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL } + }, + {&hf_srvloc_url_lifetime, + {"URL lifetime", "srvloc.url.lifetime", + FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + {&hf_srvloc_url_urllen, + {"URL Length", "srvloc.url.urllen", + FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + {&hf_srvloc_url_url, + {"URL", "srvloc.url.url", + FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } + }, + {&hf_srvloc_url_numauths, + {"Num Auths", "srvloc.url.numauths", + FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + + /* Helper functions for the common header fields */ {&hf_srvloc_function, {"Function", "srvloc.function", FT_UINT8, BASE_DEC, VALS(srvloc_functions), 0x0, @@ -1509,25 +1509,25 @@ proto_register_srvloc(void) NULL, HFILL } }, - { &hf_srvloc_flags_v1_overflow, - { "Overflow", "srvloc.flags_v1.overflow.", FT_BOOLEAN, 8, - TFS(&tfs_srvloc_flags_overflow), FLAG_O, "Can whole packet fit into a datagram?", HFILL }}, + { &hf_srvloc_flags_v1_overflow, + { "Overflow", "srvloc.flags_v1.overflow.", FT_BOOLEAN, 8, + TFS(&tfs_srvloc_flags_overflow), FLAG_O, "Can whole packet fit into a datagram?", HFILL }}, - { &hf_srvloc_flags_v1_monolingual, - { "Monolingual", "srvloc.flags_v1.monolingual", FT_BOOLEAN, 8, - TFS(&tfs_srvloc_flags_v1_monolingual), FLAG_M, "Can whole packet fit into a datagram?", HFILL }}, + { &hf_srvloc_flags_v1_monolingual, + { "Monolingual", "srvloc.flags_v1.monolingual", FT_BOOLEAN, 8, + TFS(&tfs_srvloc_flags_v1_monolingual), FLAG_M, "Can whole packet fit into a datagram?", HFILL }}, - { &hf_srvloc_flags_v1_url_auth, - { "URL Authentication", "srvloc.flags_v1.url_auth", FT_BOOLEAN, 8, - TFS(&tfs_srvloc_flags_v1_url_auth), FLAG_U, "Can whole packet fit into a datagram?", HFILL }}, + { &hf_srvloc_flags_v1_url_auth, + { "URL Authentication", "srvloc.flags_v1.url_auth", FT_BOOLEAN, 8, + TFS(&tfs_srvloc_flags_v1_url_auth), FLAG_U, "Can whole packet fit into a datagram?", HFILL }}, - { &hf_srvloc_flags_v1_attribute_auth, - { "Attribute Authentication", "srvloc.flags_v1.attribute_auth", FT_BOOLEAN, 8, - TFS(&tfs_srvloc_flags_v1_attribute_auth), FLAG_A, "Can whole packet fit into a datagram?", HFILL }}, + { &hf_srvloc_flags_v1_attribute_auth, + { "Attribute Authentication", "srvloc.flags_v1.attribute_auth", FT_BOOLEAN, 8, + TFS(&tfs_srvloc_flags_v1_attribute_auth), FLAG_A, "Can whole packet fit into a datagram?", HFILL }}, - { &hf_srvloc_flags_v1_fresh, - { "Fresh Registration", "srvloc.flags_v1.fresh", FT_BOOLEAN, 8, - TFS(&tfs_srvloc_flags_fresh), FLAG_F, "Is this a new registration?", HFILL }}, + { &hf_srvloc_flags_v1_fresh, + { "Fresh Registration", "srvloc.flags_v1.fresh", FT_BOOLEAN, 8, + TFS(&tfs_srvloc_flags_fresh), FLAG_F, "Is this a new registration?", HFILL }}, {&hf_srvloc_flags_v2, {"Flags", "srvloc.flags_v2", @@ -1535,334 +1535,334 @@ proto_register_srvloc(void) NULL, HFILL } }, - { &hf_srvloc_flags_v2_overflow, - { "Overflow", "srvloc.flags_v2.overflow", FT_BOOLEAN, 16, - TFS(&tfs_srvloc_flags_overflow), FLAG_O_V2, "Can whole packet fit into a datagram?", HFILL }}, - - { &hf_srvloc_flags_v2_fresh, - { "Fresh Registration", "srvloc.flags_v2.fresh", FT_BOOLEAN, 16, - TFS(&tfs_srvloc_flags_fresh), FLAG_F_V2, "Is this a new registration?", HFILL }}, - - { &hf_srvloc_flags_v2_reqmulti, - { "Multicast requested", "srvloc.flags_v2.reqmulti", FT_BOOLEAN, 16, - TFS(&tfs_srvloc_flags_v2_reqmulti), FLAG_R_V2, "Do we want multicast?", HFILL }}, - - /* collection of helper functions for dissect_authblk_v2 */ - { &hf_srvloc_authblkv2_bsd, - { "BSD", "srvloc.authblkv2_bsd", FT_UINT16, BASE_HEX, NULL, 0x0, - "Block Structure Descriptor", HFILL} - }, - { &hf_srvloc_authblkv2_len, - { "Length", "srvloc.authblkv2_len", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of Authentication Block", HFILL} - }, - { &hf_srvloc_authblkv2_timestamp, - { "Timestamp", "srvloc.authblkv2.timestamp", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, - NULL, 0, "Timestamp on Authentication Block", HFILL } - }, - { &hf_srvloc_authblkv2_slpspilen, - { "SLP SPI Length", "srvloc.authblkv2.slpspilen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of the SLP SPI", HFILL} - }, - { &hf_srvloc_authblkv2_slpspi, - { "SLP SPI", "srvloc.authblkv2.slpspi", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - - /* collection of helper functions for Service Request */ - { &hf_srvloc_srvreq_prlistlen, - { "Previous Response List Length", "srvloc.srvreq.prlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of Previous Response List", HFILL} - }, - { &hf_srvloc_srvreq_prlist, - { "Previous Response List", "srvloc.srvreq.prlist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_srvreq_srvtypelen, - { "Service Type Length", "srvloc.srvreq.srvtypelen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of Service Type List", HFILL} - }, - { &hf_srvloc_srvreq_srvtypelist, - { "Service Type List", "srvloc.srvreq.srvtypelist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_srvreq_scopelistlen, - { "Scope List Length", "srvloc.srvreq.scopelistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of the Scope List", HFILL} - }, - { &hf_srvloc_srvreq_scopelist, - { "Scope List", "srvloc.srvreq.scopelist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_srvreq_predicatelen, - { "Predicate Length", "srvloc.srvreq.predicatelen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of the Predicate", HFILL} - }, - { &hf_srvloc_srvreq_predicate, - { "Predicate", "srvloc.srvreq.predicate", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_srvreq_slpspilen, - { "SLP SPI Length", "srvloc.srvreq.slpspilen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of the SLP SPI", HFILL} - }, - { &hf_srvloc_srvreq_slpspi, - { "SLP SPI", "srvloc.srvreq.slpspi", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - - /* Helper function for Service Request */ - { &hf_srvloc_srvrply_urlcount, - { "Number of URLs", "srvloc.srvreq.urlcount", FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL} - }, - - /* Helper functions for Service Registration */ - { &hf_srvloc_srvreg_srvtypelen, - { "Service Type Length", "srvloc.srvreq.srvtypelen", FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_srvreg_srvtype, - { "Service Type", "srvloc.srvreq.srvtype", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_srvreg_scopelistlen, - { "Scope List Length", "srvloc.srvreq.scopelistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_srvreg_scopelist, - { "Scope List", "srvloc.srvreq.scopelist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_srvreg_attrlistlen, - { "Attribute List Length", "srvloc.srvreq.attrlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_srvreg_attrlist, - { "Attribute List", "srvloc.srvreq.attrlist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_srvreg_attrauthcount, - { "Attr Auths", "srvloc.srvreq.attrauthcount", FT_UINT8, BASE_DEC, NULL, 0x0, - "Number of Attribute Authentication Blocks", HFILL} - }, - - /* Helper functions for Service Deregistration */ - { &hf_srvloc_srvdereg_scopelistlen, - { "Scope List Length", "srvloc.srvdereq.scopelistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_srvdereg_scopelist, - { "Scope List", "srvloc.srvdereq.scopelist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_srvdereg_taglistlen, - { "Tag List Length", "srvloc.srvdereq.taglistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_srvdereg_taglist, - { "Tag List", "srvloc.srvdereq.taglist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - - - /* collection of helper functions for Attribute Request */ - { &hf_srvloc_attrreq_prlistlen, - { "Previous Response List Length", "srvloc.attrreq.prlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of Previous Response List", HFILL} - }, - { &hf_srvloc_attrreq_prlist, - { "Previous Response List", "srvloc.attrreq.prlist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_attrreq_urllen, - { "URL Length", "srvloc.attrreq.urllen", FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_attrreq_url, - { "Service URL", "srvloc.attrreq.url", FT_STRING, BASE_NONE, NULL, 0x0, - "URL of service", HFILL} - }, - { &hf_srvloc_attrreq_scopelistlen, - { "Scope List Length", "srvloc.attrreq.scopelistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of the Scope List", HFILL} - }, - { &hf_srvloc_attrreq_scopelist, - { "Scope List", "srvloc.attrreq.scopelist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_attrreq_attrlistlen, - { "Attribute List Length", "srvloc.attrreq.attrlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_attrreq_attrlist, - { "Attribute List", "srvloc.attrreq.attrlist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_attrreq_taglistlen, - { "Tag List Length", "srvloc.attrreq.taglistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_attrreq_taglist, - { "Tag List", "srvloc.attrreq.taglist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_attrreq_slpspilen, - { "SLP SPI Length", "srvloc.attrreq.slpspilen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of the SLP SPI", HFILL} - }, - { &hf_srvloc_attrreq_slpspi, - { "SLP SPI", "srvloc.attrreq.slpspi", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - - /* collection of helper functions for Attribute Reply */ - { &hf_srvloc_attrrply_attrlistlen, - { "Attribute List Length", "srvloc.attrrply.attrlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of Attribute List", HFILL} - }, - { &hf_srvloc_attrrply_attrlist, - { "Attribute List", "srvloc.attrrply.attrlist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_attrrply_attrauthcount, - { "Attr Auths", "srvloc.srvreq.attrauthcount", FT_UINT8, BASE_DEC, NULL, 0x0, - "Number of Attribute Authentication Blocks", HFILL} - }, - - /* collection of helper functions for DA Advertisement */ - { &hf_srvloc_daadvert_timestamp, - { "DAADVERT Timestamp", "srvloc.daadvert.timestamp", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, - NULL, 0, "Timestamp on DA Advert", HFILL } - }, - { &hf_srvloc_daadvert_urllen, - { "URL Length", "srvloc.daadvert.urllen", FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_daadvert_url, - { "URL", "srvloc.daadvert.url", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_daadvert_scopelistlen, - { "Scope List Length", "srvloc.daadvert.scopelistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of the Scope List", HFILL} - }, - { &hf_srvloc_daadvert_scopelist, - { "Scope List", "srvloc.daadvert.scopelist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_daadvert_attrlistlen, - { "Attribute List Length", "srvloc.daadvert.attrlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_daadvert_attrlist, - { "Attribute List", "srvloc.daadvert.attrlist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_daadvert_slpspilen, - { "SLP SPI Length", "srvloc.daadvert.slpspilen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of the SLP SPI", HFILL} - }, - { &hf_srvloc_daadvert_slpspi, - { "SLP SPI", "srvloc.daadvert.slpspi", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_daadvert_authcount, - { "Auths", "srvloc.daadvert.authcount", FT_UINT8, BASE_DEC, NULL, 0x0, - "Number of Authentication Blocks", HFILL} - }, - - /* collection of helper functions for Service Type Request */ - { &hf_srvloc_srvtypereq_prlistlen, - { "Previous Response List Length", "srvloc.srvtypereq.prlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of Previous Response List", HFILL} - }, - { &hf_srvloc_srvtypereq_prlist, - { "Previous Response List", "srvloc.srvtypereq.prlist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_srvtypereq_nameauthlistlen, - { "Naming Authority List Length", "srvloc.srvtypereq.nameauthlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of the Naming Authority List", HFILL} - }, - { &hf_srvloc_srvtypereq_nameauthlistlenall, - { "Naming Authority List Length (All Naming Authorities)", "srvloc.srvtypereq.nameauthlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of the Naming Authority List", HFILL} - }, - { &hf_srvloc_srvtypereq_nameauthlist, - { "Naming Authority List", "srvloc.srvtypereq.nameauthlist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_srvtypereq_scopelistlen, - { "Scope List Length", "srvloc.srvtypereq.scopelistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of the Scope List", HFILL} - }, - { &hf_srvloc_srvtypereq_scopelist, - { "Scope List", "srvloc.srvtypereq.scopelist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - - /* collection of helper functions for Service Type Replies */ - { &hf_srvloc_srvtyperply_srvtypelen, - { "Service Type Length", "srvloc.srvtypereq.srvtypelen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of the Service Type", HFILL} - }, - { &hf_srvloc_srvtyperply_srvtype, - { "Service Type", "srvloc.srvtyperply.srvtype", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_srvtyperply_srvtypelistlen, - { "Service Type List Length", "srvloc.srvtypereq.srvtypelistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of the Service Type List", HFILL} - }, - { &hf_srvloc_srvtyperply_srvtypelist, - { "Service Type List", "srvloc.srvtyperply.srvtypelist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - - /* collection of helper functions for SA Advertisement */ - { &hf_srvloc_saadvert_urllen, - { "URL Length", "srvloc.saadvert.urllen", FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_saadvert_url, - { "URL", "srvloc.saadvert.url", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_saadvert_scopelistlen, - { "Scope List Length", "srvloc.saadvert.scopelistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - "Length of the Scope List", HFILL} - }, - { &hf_srvloc_saadvert_scopelist, - { "Scope List", "srvloc.saadvert.scopelist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_saadvert_attrlistlen, - { "Attribute List Length", "srvloc.saadvert.attrlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_saadvert_attrlist, - { "Attribute List", "srvloc.saadvert.attrlist", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - }, - { &hf_srvloc_saadvert_authcount, - { "Auths", "srvloc.saadvert.authcount", FT_UINT8, BASE_DEC, NULL, 0x0, - "Number of Authentication Blocks", HFILL} - }, - { &hf_srvloc_add_ref_ip, - { "IP Address", "srvloc.list.ipaddr", FT_IPv4, BASE_NONE, NULL, 0x0, - "IP Address of SLP server", HFILL} - }, - { &hf_srvloc_srvrply_svcname, - { "Service Name Value", "srvloc.srvrply.svcname", FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL} - } + { &hf_srvloc_flags_v2_overflow, + { "Overflow", "srvloc.flags_v2.overflow", FT_BOOLEAN, 16, + TFS(&tfs_srvloc_flags_overflow), FLAG_O_V2, "Can whole packet fit into a datagram?", HFILL }}, + + { &hf_srvloc_flags_v2_fresh, + { "Fresh Registration", "srvloc.flags_v2.fresh", FT_BOOLEAN, 16, + TFS(&tfs_srvloc_flags_fresh), FLAG_F_V2, "Is this a new registration?", HFILL }}, + + { &hf_srvloc_flags_v2_reqmulti, + { "Multicast requested", "srvloc.flags_v2.reqmulti", FT_BOOLEAN, 16, + TFS(&tfs_srvloc_flags_v2_reqmulti), FLAG_R_V2, "Do we want multicast?", HFILL }}, + + /* collection of helper functions for dissect_authblk_v2 */ + { &hf_srvloc_authblkv2_bsd, + { "BSD", "srvloc.authblkv2_bsd", FT_UINT16, BASE_HEX, NULL, 0x0, + "Block Structure Descriptor", HFILL} + }, + { &hf_srvloc_authblkv2_len, + { "Length", "srvloc.authblkv2_len", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of Authentication Block", HFILL} + }, + { &hf_srvloc_authblkv2_timestamp, + { "Timestamp", "srvloc.authblkv2.timestamp", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, + NULL, 0, "Timestamp on Authentication Block", HFILL } + }, + { &hf_srvloc_authblkv2_slpspilen, + { "SLP SPI Length", "srvloc.authblkv2.slpspilen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of the SLP SPI", HFILL} + }, + { &hf_srvloc_authblkv2_slpspi, + { "SLP SPI", "srvloc.authblkv2.slpspi", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + + /* collection of helper functions for Service Request */ + { &hf_srvloc_srvreq_prlistlen, + { "Previous Response List Length", "srvloc.srvreq.prlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of Previous Response List", HFILL} + }, + { &hf_srvloc_srvreq_prlist, + { "Previous Response List", "srvloc.srvreq.prlist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_srvreq_srvtypelen, + { "Service Type Length", "srvloc.srvreq.srvtypelen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of Service Type List", HFILL} + }, + { &hf_srvloc_srvreq_srvtypelist, + { "Service Type List", "srvloc.srvreq.srvtypelist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_srvreq_scopelistlen, + { "Scope List Length", "srvloc.srvreq.scopelistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of the Scope List", HFILL} + }, + { &hf_srvloc_srvreq_scopelist, + { "Scope List", "srvloc.srvreq.scopelist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_srvreq_predicatelen, + { "Predicate Length", "srvloc.srvreq.predicatelen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of the Predicate", HFILL} + }, + { &hf_srvloc_srvreq_predicate, + { "Predicate", "srvloc.srvreq.predicate", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_srvreq_slpspilen, + { "SLP SPI Length", "srvloc.srvreq.slpspilen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of the SLP SPI", HFILL} + }, + { &hf_srvloc_srvreq_slpspi, + { "SLP SPI", "srvloc.srvreq.slpspi", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + + /* Helper function for Service Request */ + { &hf_srvloc_srvrply_urlcount, + { "Number of URLs", "srvloc.srvreq.urlcount", FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL} + }, + + /* Helper functions for Service Registration */ + { &hf_srvloc_srvreg_srvtypelen, + { "Service Type Length", "srvloc.srvreq.srvtypelen", FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_srvreg_srvtype, + { "Service Type", "srvloc.srvreq.srvtype", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_srvreg_scopelistlen, + { "Scope List Length", "srvloc.srvreq.scopelistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_srvreg_scopelist, + { "Scope List", "srvloc.srvreq.scopelist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_srvreg_attrlistlen, + { "Attribute List Length", "srvloc.srvreq.attrlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_srvreg_attrlist, + { "Attribute List", "srvloc.srvreq.attrlist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_srvreg_attrauthcount, + { "Attr Auths", "srvloc.srvreq.attrauthcount", FT_UINT8, BASE_DEC, NULL, 0x0, + "Number of Attribute Authentication Blocks", HFILL} + }, + + /* Helper functions for Service Deregistration */ + { &hf_srvloc_srvdereg_scopelistlen, + { "Scope List Length", "srvloc.srvdereq.scopelistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_srvdereg_scopelist, + { "Scope List", "srvloc.srvdereq.scopelist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_srvdereg_taglistlen, + { "Tag List Length", "srvloc.srvdereq.taglistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_srvdereg_taglist, + { "Tag List", "srvloc.srvdereq.taglist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + + + /* collection of helper functions for Attribute Request */ + { &hf_srvloc_attrreq_prlistlen, + { "Previous Response List Length", "srvloc.attrreq.prlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of Previous Response List", HFILL} + }, + { &hf_srvloc_attrreq_prlist, + { "Previous Response List", "srvloc.attrreq.prlist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_attrreq_urllen, + { "URL Length", "srvloc.attrreq.urllen", FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_attrreq_url, + { "Service URL", "srvloc.attrreq.url", FT_STRING, BASE_NONE, NULL, 0x0, + "URL of service", HFILL} + }, + { &hf_srvloc_attrreq_scopelistlen, + { "Scope List Length", "srvloc.attrreq.scopelistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of the Scope List", HFILL} + }, + { &hf_srvloc_attrreq_scopelist, + { "Scope List", "srvloc.attrreq.scopelist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_attrreq_attrlistlen, + { "Attribute List Length", "srvloc.attrreq.attrlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_attrreq_attrlist, + { "Attribute List", "srvloc.attrreq.attrlist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_attrreq_taglistlen, + { "Tag List Length", "srvloc.attrreq.taglistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_attrreq_taglist, + { "Tag List", "srvloc.attrreq.taglist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_attrreq_slpspilen, + { "SLP SPI Length", "srvloc.attrreq.slpspilen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of the SLP SPI", HFILL} + }, + { &hf_srvloc_attrreq_slpspi, + { "SLP SPI", "srvloc.attrreq.slpspi", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + + /* collection of helper functions for Attribute Reply */ + { &hf_srvloc_attrrply_attrlistlen, + { "Attribute List Length", "srvloc.attrrply.attrlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of Attribute List", HFILL} + }, + { &hf_srvloc_attrrply_attrlist, + { "Attribute List", "srvloc.attrrply.attrlist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_attrrply_attrauthcount, + { "Attr Auths", "srvloc.srvreq.attrauthcount", FT_UINT8, BASE_DEC, NULL, 0x0, + "Number of Attribute Authentication Blocks", HFILL} + }, + + /* collection of helper functions for DA Advertisement */ + { &hf_srvloc_daadvert_timestamp, + { "DAADVERT Timestamp", "srvloc.daadvert.timestamp", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, + NULL, 0, "Timestamp on DA Advert", HFILL } + }, + { &hf_srvloc_daadvert_urllen, + { "URL Length", "srvloc.daadvert.urllen", FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_daadvert_url, + { "URL", "srvloc.daadvert.url", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_daadvert_scopelistlen, + { "Scope List Length", "srvloc.daadvert.scopelistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of the Scope List", HFILL} + }, + { &hf_srvloc_daadvert_scopelist, + { "Scope List", "srvloc.daadvert.scopelist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_daadvert_attrlistlen, + { "Attribute List Length", "srvloc.daadvert.attrlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_daadvert_attrlist, + { "Attribute List", "srvloc.daadvert.attrlist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_daadvert_slpspilen, + { "SLP SPI Length", "srvloc.daadvert.slpspilen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of the SLP SPI", HFILL} + }, + { &hf_srvloc_daadvert_slpspi, + { "SLP SPI", "srvloc.daadvert.slpspi", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_daadvert_authcount, + { "Auths", "srvloc.daadvert.authcount", FT_UINT8, BASE_DEC, NULL, 0x0, + "Number of Authentication Blocks", HFILL} + }, + + /* collection of helper functions for Service Type Request */ + { &hf_srvloc_srvtypereq_prlistlen, + { "Previous Response List Length", "srvloc.srvtypereq.prlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of Previous Response List", HFILL} + }, + { &hf_srvloc_srvtypereq_prlist, + { "Previous Response List", "srvloc.srvtypereq.prlist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_srvtypereq_nameauthlistlen, + { "Naming Authority List Length", "srvloc.srvtypereq.nameauthlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of the Naming Authority List", HFILL} + }, + { &hf_srvloc_srvtypereq_nameauthlistlenall, + { "Naming Authority List Length (All Naming Authorities)", "srvloc.srvtypereq.nameauthlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of the Naming Authority List", HFILL} + }, + { &hf_srvloc_srvtypereq_nameauthlist, + { "Naming Authority List", "srvloc.srvtypereq.nameauthlist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_srvtypereq_scopelistlen, + { "Scope List Length", "srvloc.srvtypereq.scopelistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of the Scope List", HFILL} + }, + { &hf_srvloc_srvtypereq_scopelist, + { "Scope List", "srvloc.srvtypereq.scopelist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + + /* collection of helper functions for Service Type Replies */ + { &hf_srvloc_srvtyperply_srvtypelen, + { "Service Type Length", "srvloc.srvtypereq.srvtypelen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of the Service Type", HFILL} + }, + { &hf_srvloc_srvtyperply_srvtype, + { "Service Type", "srvloc.srvtyperply.srvtype", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_srvtyperply_srvtypelistlen, + { "Service Type List Length", "srvloc.srvtypereq.srvtypelistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of the Service Type List", HFILL} + }, + { &hf_srvloc_srvtyperply_srvtypelist, + { "Service Type List", "srvloc.srvtyperply.srvtypelist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + + /* collection of helper functions for SA Advertisement */ + { &hf_srvloc_saadvert_urllen, + { "URL Length", "srvloc.saadvert.urllen", FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_saadvert_url, + { "URL", "srvloc.saadvert.url", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_saadvert_scopelistlen, + { "Scope List Length", "srvloc.saadvert.scopelistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + "Length of the Scope List", HFILL} + }, + { &hf_srvloc_saadvert_scopelist, + { "Scope List", "srvloc.saadvert.scopelist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_saadvert_attrlistlen, + { "Attribute List Length", "srvloc.saadvert.attrlistlen", FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_saadvert_attrlist, + { "Attribute List", "srvloc.saadvert.attrlist", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + { &hf_srvloc_saadvert_authcount, + { "Auths", "srvloc.saadvert.authcount", FT_UINT8, BASE_DEC, NULL, 0x0, + "Number of Authentication Blocks", HFILL} + }, + { &hf_srvloc_add_ref_ip, + { "IP Address", "srvloc.list.ipaddr", FT_IPv4, BASE_NONE, NULL, 0x0, + "IP Address of SLP server", HFILL} + }, + { &hf_srvloc_srvrply_svcname, + { "Service Name Value", "srvloc.srvrply.svcname", FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL} + } }; static gint *ett[] = { - &ett_srvloc, - &ett_srvloc_attr, - &ett_srvloc_flags, + &ett_srvloc, + &ett_srvloc_attr, + &ett_srvloc_flags, }; static ei_register_info ei[] = { { &ei_srvloc_error, { "srvloc.err.expert", PI_RESPONSE_CODE, PI_ERROR, "Error", EXPFILL }}, @@ -1874,17 +1874,17 @@ proto_register_srvloc(void) expert_module_t* expert_srvloc; proto_srvloc = proto_register_protocol("Service Location Protocol", - "SRVLOC", "srvloc"); + "SRVLOC", "srvloc"); proto_register_field_array(proto_srvloc, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); expert_srvloc = expert_register_protocol(proto_srvloc); expert_register_field_array(expert_srvloc, ei, array_length(ei)); - srvloc_module = prefs_register_protocol(proto_srvloc, NULL); - prefs_register_bool_preference(srvloc_module, "desegment_tcp", - "Reassemble SRVLOC messages spanning multiple TCP segments", - "Whether the SRVLOC dissector should reassemble messages spanning multiple TCP segments. " - "To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.", - &srvloc_desegment); + srvloc_module = prefs_register_protocol(proto_srvloc, NULL); + prefs_register_bool_preference(srvloc_module, "desegment_tcp", + "Reassemble SRVLOC messages spanning multiple TCP segments", + "Whether the SRVLOC dissector should reassemble messages spanning multiple TCP segments. " + "To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.", + &srvloc_desegment); } void @@ -1894,6 +1894,19 @@ proto_reg_handoff_srvloc(void) srvloc_handle = new_create_dissector_handle(dissect_srvloc, proto_srvloc); dissector_add_uint("udp.port", UDP_PORT_SRVLOC, srvloc_handle); srvloc_tcp_handle = new_create_dissector_handle(dissect_srvloc_tcp, - proto_srvloc); + proto_srvloc); dissector_add_uint("tcp.port", TCP_PORT_SRVLOC, srvloc_tcp_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 4 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * vi: set shiftwidth=4 tabstop=8 expandtab: + * :indentSize=4:tabSize=8:noTabs=true: + */ diff --git a/epan/dissectors/packet-teklink.c b/epan/dissectors/packet-teklink.c index 9cf89f39b5..5a6bfc4bab 100644 --- a/epan/dissectors/packet-teklink.c +++ b/epan/dissectors/packet-teklink.c @@ -567,3 +567,16 @@ proto_reg_handoff_teklink(void) /* Register the procedure tables */ rpc_init_proc_table(PROGRAM_TEKLINK, 1, teklink_proc, hf_teklink_procedure); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-usb-hub.c b/epan/dissectors/packet-usb-hub.c index 33518718b6..9896e842de 100644 --- a/epan/dissectors/packet-usb-hub.c +++ b/epan/dissectors/packet-usb-hub.c @@ -81,40 +81,40 @@ static gint ett_usb_hub_port_status = -1; static gint ett_usb_hub_port_change = -1; /* Table 11-16. Hub Class Request Codes */ -#define USB_HUB_REQUEST_GET_STATUS 0 -#define USB_HUB_REQUEST_CLEAR_FEATURE 1 -#define USB_HUB_REQUEST_SET_FEATURE 3 -#define USB_HUB_REQUEST_GET_DESCRIPTOR 6 -#define USB_HUB_REQUEST_SET_DESCRIPTOR 7 -#define USB_HUB_REQUEST_CLEAR_TT_BUFFER 8 -#define USB_HUB_REQUEST_RESET_TT 9 +#define USB_HUB_REQUEST_GET_STATUS 0 +#define USB_HUB_REQUEST_CLEAR_FEATURE 1 +#define USB_HUB_REQUEST_SET_FEATURE 3 +#define USB_HUB_REQUEST_GET_DESCRIPTOR 6 +#define USB_HUB_REQUEST_SET_DESCRIPTOR 7 +#define USB_HUB_REQUEST_CLEAR_TT_BUFFER 8 +#define USB_HUB_REQUEST_RESET_TT 9 #define USB_HUB_REQUEST_GET_TT_STATE 10 #define USB_HUB_REQUEST_STOP_TT 11 static const value_string setup_request_names_vals[] = { - { USB_HUB_REQUEST_GET_STATUS, "GET_STATUS" }, - { USB_HUB_REQUEST_CLEAR_FEATURE, "CLEAR_FEATURE" }, - { USB_HUB_REQUEST_SET_FEATURE, "SET_FEATURE" }, - { USB_HUB_REQUEST_GET_DESCRIPTOR, "GET_DESCRIPTOR" }, - { USB_HUB_REQUEST_SET_DESCRIPTOR, "SET_DESCRIPTOR" }, + { USB_HUB_REQUEST_GET_STATUS, "GET_STATUS" }, + { USB_HUB_REQUEST_CLEAR_FEATURE, "CLEAR_FEATURE" }, + { USB_HUB_REQUEST_SET_FEATURE, "SET_FEATURE" }, + { USB_HUB_REQUEST_GET_DESCRIPTOR, "GET_DESCRIPTOR" }, + { USB_HUB_REQUEST_SET_DESCRIPTOR, "SET_DESCRIPTOR" }, { USB_HUB_REQUEST_CLEAR_TT_BUFFER, "CLEAR_TT_BUFFER" }, - { USB_HUB_REQUEST_GET_TT_STATE, "GET_TT_STATE" }, - { USB_HUB_REQUEST_STOP_TT, "STOP_TT" }, + { USB_HUB_REQUEST_GET_TT_STATE, "GET_TT_STATE" }, + { USB_HUB_REQUEST_STOP_TT, "STOP_TT" }, { 0, NULL } }; /* Table 11-17 Hub Class Feature Selectors */ -#define USB_HUB_FEATURE_C_HUB_LOCAL_POWER 0 -#define USB_HUB_FEATURE_C_HUB_OVER_CURRENT 1 - -#define USB_HUB_FEATURE_PORT_CONNECTION 0 -#define USB_HUB_FEATURE_PORT_ENABLE 1 -#define USB_HUB_FEATURE_PORT_SUSPEND 2 -#define USB_HUB_FEATURE_PORT_OVER_CURRENT 3 -#define USB_HUB_FEATURE_PORT_RESET 4 -#define USB_HUB_FEATURE_PORT_POWER 8 -#define USB_HUB_FEATURE_PORT_LOW_SPEED 9 +#define USB_HUB_FEATURE_C_HUB_LOCAL_POWER 0 +#define USB_HUB_FEATURE_C_HUB_OVER_CURRENT 1 + +#define USB_HUB_FEATURE_PORT_CONNECTION 0 +#define USB_HUB_FEATURE_PORT_ENABLE 1 +#define USB_HUB_FEATURE_PORT_SUSPEND 2 +#define USB_HUB_FEATURE_PORT_OVER_CURRENT 3 +#define USB_HUB_FEATURE_PORT_RESET 4 +#define USB_HUB_FEATURE_PORT_POWER 8 +#define USB_HUB_FEATURE_PORT_LOW_SPEED 9 #define USB_HUB_FEATURE_C_PORT_CONNECTION 16 #define USB_HUB_FEATURE_C_PORT_ENABLE 17 #define USB_HUB_FEATURE_C_PORT_SUSPEND 18 @@ -124,26 +124,26 @@ static const value_string setup_request_names_vals[] = { #define USB_HUB_FEATURE_PORT_INDICATOR 22 static const value_string hub_class_feature_selectors_recipient_hub_vals[] = { - { USB_HUB_FEATURE_C_HUB_LOCAL_POWER, "C_HUB_LOCAL_POWER" }, + { USB_HUB_FEATURE_C_HUB_LOCAL_POWER, "C_HUB_LOCAL_POWER" }, { USB_HUB_FEATURE_C_HUB_OVER_CURRENT, "C_HUB_OVER_CURRENT" }, { 0, NULL } }; static const value_string hub_class_feature_selectors_recipient_port_vals[] = { - { USB_HUB_FEATURE_PORT_CONNECTION, "PORT_CONNECTION" }, - { USB_HUB_FEATURE_PORT_ENABLE, "PORT_ENABLE" }, - { USB_HUB_FEATURE_PORT_SUSPEND, "PORT_SUSPEND" }, - { USB_HUB_FEATURE_PORT_OVER_CURRENT, "PORT_OVER_CURRENT" }, - { USB_HUB_FEATURE_PORT_RESET, "PORT_RESET" }, - { USB_HUB_FEATURE_PORT_POWER, "PORT_POWER" }, - { USB_HUB_FEATURE_PORT_LOW_SPEED, "PORT_LOW_SPEED" }, - { USB_HUB_FEATURE_C_PORT_CONNECTION, "C_PORT_CONNECTION" }, - { USB_HUB_FEATURE_C_PORT_ENABLE, "C_PORT_ENABLE" }, - { USB_HUB_FEATURE_C_PORT_SUSPEND, "C_PORT_SUSPEND" }, + { USB_HUB_FEATURE_PORT_CONNECTION, "PORT_CONNECTION" }, + { USB_HUB_FEATURE_PORT_ENABLE, "PORT_ENABLE" }, + { USB_HUB_FEATURE_PORT_SUSPEND, "PORT_SUSPEND" }, + { USB_HUB_FEATURE_PORT_OVER_CURRENT, "PORT_OVER_CURRENT" }, + { USB_HUB_FEATURE_PORT_RESET, "PORT_RESET" }, + { USB_HUB_FEATURE_PORT_POWER, "PORT_POWER" }, + { USB_HUB_FEATURE_PORT_LOW_SPEED, "PORT_LOW_SPEED" }, + { USB_HUB_FEATURE_C_PORT_CONNECTION, "C_PORT_CONNECTION" }, + { USB_HUB_FEATURE_C_PORT_ENABLE, "C_PORT_ENABLE" }, + { USB_HUB_FEATURE_C_PORT_SUSPEND, "C_PORT_SUSPEND" }, { USB_HUB_FEATURE_C_PORT_OVER_CURRENT, "C_PORT_OVER_CURRENT" }, - { USB_HUB_FEATURE_C_PORT_RESET, "C_PORT_RESET" }, - { USB_HUB_FEATURE_PORT_TEST, "PORT_TEST" }, - { USB_HUB_FEATURE_PORT_INDICATOR, "PORT_INDICATOR" }, + { USB_HUB_FEATURE_C_PORT_RESET, "C_PORT_RESET" }, + { USB_HUB_FEATURE_PORT_TEST, "PORT_TEST" }, + { USB_HUB_FEATURE_PORT_INDICATOR, "PORT_INDICATOR" }, { 0, NULL } }; @@ -827,3 +827,16 @@ proto_reg_handoff_usb_hub(void) dissector_add_uint("usb.control", IF_CLASS_HUB, usb_hub_control_handle); dissector_add_uint("usb.control", IF_CLASS_UNKNOWN, usb_hub_control_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-vtp.c b/epan/dissectors/packet-vtp.c index 2f01eeb961..5d68cc809d 100644 --- a/epan/dissectors/packet-vtp.c +++ b/epan/dissectors/packet-vtp.c @@ -87,7 +87,7 @@ static int dissect_vlan_info(tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *tree); static void dissect_vlan_info_tlv(tvbuff_t *tvb, packet_info *pinfo, int offset, int length, - proto_tree *tree, proto_item *ti, guint8 type); + proto_tree *tree, proto_item *ti, guint8 type); #define SUMMARY_ADVERT 0x01 #define SUBSET_ADVERT 0x02 @@ -105,37 +105,37 @@ static const value_string type_vals[] = { static void set_vtp_info_col(tvbuff_t *tvb, packet_info *pinfo) { - switch (tvb_get_guint8(tvb, 1)) { + switch (tvb_get_guint8(tvb, 1)) { - case SUMMARY_ADVERT: - col_add_fstr(pinfo->cinfo, COL_INFO, - "Summary Advertisement, Revision: %u", tvb_get_ntohl(tvb, 36)); + case SUMMARY_ADVERT: + col_add_fstr(pinfo->cinfo, COL_INFO, + "Summary Advertisement, Revision: %u", tvb_get_ntohl(tvb, 36)); - if (tvb_get_guint8(tvb, 2) > 0) { - col_append_fstr(pinfo->cinfo, COL_INFO, - ", Followers: %u", tvb_get_guint8(tvb, 2)); - } + if (tvb_get_guint8(tvb, 2) > 0) { + col_append_fstr(pinfo->cinfo, COL_INFO, + ", Followers: %u", tvb_get_guint8(tvb, 2)); + } - break; + break; - case SUBSET_ADVERT: - col_add_fstr(pinfo->cinfo, COL_INFO, - "Subset Advertisement, Revision: %u, Seq: %u", - tvb_get_ntohl(tvb, 36), tvb_get_guint8(tvb, 2)); - break; + case SUBSET_ADVERT: + col_add_fstr(pinfo->cinfo, COL_INFO, + "Subset Advertisement, Revision: %u, Seq: %u", + tvb_get_ntohl(tvb, 36), tvb_get_guint8(tvb, 2)); + break; - case ADVERT_REQUEST: - col_set_str(pinfo->cinfo, COL_INFO, "Advertisement Request"); - break; + case ADVERT_REQUEST: + col_set_str(pinfo->cinfo, COL_INFO, "Advertisement Request"); + break; - case JOIN_MSG: - col_set_str(pinfo->cinfo, COL_INFO, "Join"); - break; + case JOIN_MSG: + col_set_str(pinfo->cinfo, COL_INFO, "Join"); + break; - default: - col_set_str(pinfo->cinfo, COL_INFO, "Unrecognized VTP message"); - break; - } + default: + col_set_str(pinfo->cinfo, COL_INFO, "Unrecognized VTP message"); + break; + } } static void @@ -330,8 +330,8 @@ dissect_vlan_info(tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *tre status = tvb_get_guint8(tvb, offset); ti = proto_tree_add_uint(vlan_info_tree, hf_vtp_vlan_status, tvb, offset, 1, status); - if (status & VLAN_SUSPENDED) - proto_item_append_text(ti, " (VLAN suspended)"); + if (status & VLAN_SUSPENDED) + proto_item_append_text(ti, " (VLAN suspended)"); status_tree = proto_item_add_subtree(ti, ett_vtp_vlan_status); proto_tree_add_boolean(status_tree, hf_vtp_vlan_status_vlan_susp, tvb, offset, 1, status); @@ -415,7 +415,7 @@ static const value_string backup_crf_mode_vals[] = { static void dissect_vlan_info_tlv(tvbuff_t *tvb, packet_info *pinfo, int offset, int length, - proto_tree *tree, proto_item *ti, guint8 type) + proto_tree *tree, proto_item *ti, guint8 type) { switch (type) { @@ -652,7 +652,7 @@ proto_register_vtp(void) { &hf_vtp_vlan_data, { "Data", "vtp.vlan_info.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - }; + }; static gint *ett[] = { &ett_vtp, @@ -683,3 +683,16 @@ proto_reg_handoff_vtp(void) vtp_handle = create_dissector_handle(dissect_vtp, proto_vtp); dissector_add_uint("llc.cisco_pid", 0x2003, vtp_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-wcp.c b/epan/dissectors/packet-wcp.c index bc6b598ad1..03b1daa569 100644 --- a/epan/dissectors/packet-wcp.c +++ b/epan/dissectors/packet-wcp.c @@ -202,10 +202,10 @@ static dissector_handle_t fr_uncompressed_handle; static const value_string cmd_string[] = { {0, "Compressed Data"}, - {1, "Uncompressed Data"}, - {15, "Extended"}, + {1, "Uncompressed Data"}, + {15, "Extended"}, { 0, NULL } - }; +}; static const value_string ext_cmd_string[] = { {0, "Per Packet Compression"}, @@ -215,7 +215,7 @@ static const value_string ext_cmd_string[] = { {0x0a, "Init Ack"}, { 0, NULL } - }; +}; @@ -609,124 +609,137 @@ static tvbuff_t *wcp_uncompress( tvbuff_t *src_tvb, int offset, packet_info *pin void proto_register_wcp(void) { - static hf_register_info hf[] = { - { &hf_wcp_cmd, - { "Command", "wcp.cmd", FT_UINT8, BASE_HEX, VALS(cmd_string), WCP_CMD, - "Compression Command", HFILL }}, - { &hf_wcp_ext_cmd, - { "Extended Command", "wcp.ext_cmd", FT_UINT8, BASE_HEX, VALS(ext_cmd_string), WCP_EXT_CMD, - "Extended Compression Command", HFILL }}, - { &hf_wcp_seq, - { "SEQ", "wcp.seq", FT_UINT16, BASE_HEX, NULL, WCP_SEQ, - "Sequence Number", HFILL }}, - { &hf_wcp_chksum, - { "Checksum", "wcp.checksum", FT_UINT8, BASE_DEC, NULL, 0, - "Packet Checksum", HFILL }}, - { &hf_wcp_tid, - { "TID", "wcp.tid", FT_UINT16, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_wcp_rev, - { "Revision", "wcp.rev", FT_UINT8, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_wcp_init, - { "Initiator", "wcp.init", FT_UINT8, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_wcp_seq_size, - { "Seq Size", "wcp.seq_size", FT_UINT8, BASE_DEC, NULL, 0, - "Sequence Size", HFILL }}, - { &hf_wcp_alg_cnt, - { "Alg Count", "wcp.alg_cnt", FT_UINT8, BASE_DEC, NULL, 0, - "Algorithm Count", HFILL }}, - { &hf_wcp_alg_a, - { "Alg 1", "wcp.alg1", FT_UINT8, BASE_DEC, NULL, 0, - "Algorithm #1", HFILL }}, - { &hf_wcp_alg_b, - { "Alg 2", "wcp.alg2", FT_UINT8, BASE_DEC, NULL, 0, - "Algorithm #2", HFILL }}, - { &hf_wcp_alg_c, - { "Alg 3", "wcp.alg3", FT_UINT8, BASE_DEC, NULL, 0, - "Algorithm #3", HFILL }}, - { &hf_wcp_alg_d, - { "Alg 4", "wcp.alg4", FT_UINT8, BASE_DEC, NULL, 0, - "Algorithm #4", HFILL }}, - { &hf_wcp_alg, - { "Alg", "wcp.alg", FT_UINT8, BASE_DEC, NULL, 0, - "Algorithm", HFILL }}, + static hf_register_info hf[] = { + { &hf_wcp_cmd, + { "Command", "wcp.cmd", FT_UINT8, BASE_HEX, VALS(cmd_string), WCP_CMD, + "Compression Command", HFILL }}, + { &hf_wcp_ext_cmd, + { "Extended Command", "wcp.ext_cmd", FT_UINT8, BASE_HEX, VALS(ext_cmd_string), WCP_EXT_CMD, + "Extended Compression Command", HFILL }}, + { &hf_wcp_seq, + { "SEQ", "wcp.seq", FT_UINT16, BASE_HEX, NULL, WCP_SEQ, + "Sequence Number", HFILL }}, + { &hf_wcp_chksum, + { "Checksum", "wcp.checksum", FT_UINT8, BASE_DEC, NULL, 0, + "Packet Checksum", HFILL }}, + { &hf_wcp_tid, + { "TID", "wcp.tid", FT_UINT16, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_wcp_rev, + { "Revision", "wcp.rev", FT_UINT8, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_wcp_init, + { "Initiator", "wcp.init", FT_UINT8, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_wcp_seq_size, + { "Seq Size", "wcp.seq_size", FT_UINT8, BASE_DEC, NULL, 0, + "Sequence Size", HFILL }}, + { &hf_wcp_alg_cnt, + { "Alg Count", "wcp.alg_cnt", FT_UINT8, BASE_DEC, NULL, 0, + "Algorithm Count", HFILL }}, + { &hf_wcp_alg_a, + { "Alg 1", "wcp.alg1", FT_UINT8, BASE_DEC, NULL, 0, + "Algorithm #1", HFILL }}, + { &hf_wcp_alg_b, + { "Alg 2", "wcp.alg2", FT_UINT8, BASE_DEC, NULL, 0, + "Algorithm #2", HFILL }}, + { &hf_wcp_alg_c, + { "Alg 3", "wcp.alg3", FT_UINT8, BASE_DEC, NULL, 0, + "Algorithm #3", HFILL }}, + { &hf_wcp_alg_d, + { "Alg 4", "wcp.alg4", FT_UINT8, BASE_DEC, NULL, 0, + "Algorithm #4", HFILL }}, + { &hf_wcp_alg, + { "Alg", "wcp.alg", FT_UINT8, BASE_DEC, NULL, 0, + "Algorithm", HFILL }}, #if 0 - { &hf_wcp_rexmit, - { "Rexmit", "wcp.rexmit", FT_UINT8, BASE_DEC, NULL, 0, - "Retransmit", HFILL }}, + { &hf_wcp_rexmit, + { "Rexmit", "wcp.rexmit", FT_UINT8, BASE_DEC, NULL, 0, + "Retransmit", HFILL }}, #endif - { &hf_wcp_hist_size, - { "History", "wcp.hist", FT_UINT8, BASE_DEC, NULL, 0, - "History Size", HFILL }}, - { &hf_wcp_ppc, - { "PerPackComp", "wcp.ppc", FT_UINT8, BASE_DEC, NULL, 0, - "Per Packet Compression", HFILL }}, - { &hf_wcp_pib, - { "PIB", "wcp.pib", FT_UINT8, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_wcp_compressed_data, - { "Compressed Data", "wcp.compressed_data", FT_NONE, BASE_NONE, NULL, 0, - "Raw compressed data", HFILL }}, - { &hf_wcp_comp_bits, - { "Compress Flag", "wcp.flag", FT_UINT8, BASE_HEX, NULL, 0, - "Compressed byte flag", HFILL }}, + { &hf_wcp_hist_size, + { "History", "wcp.hist", FT_UINT8, BASE_DEC, NULL, 0, + "History Size", HFILL }}, + { &hf_wcp_ppc, + { "PerPackComp", "wcp.ppc", FT_UINT8, BASE_DEC, NULL, 0, + "Per Packet Compression", HFILL }}, + { &hf_wcp_pib, + { "PIB", "wcp.pib", FT_UINT8, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_wcp_compressed_data, + { "Compressed Data", "wcp.compressed_data", FT_NONE, BASE_NONE, NULL, 0, + "Raw compressed data", HFILL }}, + { &hf_wcp_comp_bits, + { "Compress Flag", "wcp.flag", FT_UINT8, BASE_HEX, NULL, 0, + "Compressed byte flag", HFILL }}, #if 0 - { &hf_wcp_comp_marker, - { "Compress Marker", "wcp.mark", FT_UINT8, BASE_DEC, NULL, 0, - "Compressed marker", HFILL }}, + { &hf_wcp_comp_marker, + { "Compress Marker", "wcp.mark", FT_UINT8, BASE_DEC, NULL, 0, + "Compressed marker", HFILL }}, #endif - { &hf_wcp_offset, - { "Source offset", "wcp.off", FT_UINT16, BASE_HEX, NULL, WCP_OFFSET_MASK, - "Data source offset", HFILL }}, - { &hf_wcp_short_len, - { "Compress Length", "wcp.short_len", FT_UINT8, BASE_HEX, NULL, 0xf0, - "Compressed length", HFILL }}, - { &hf_wcp_long_len, - { "Compress Length", "wcp.long_len", FT_UINT8, BASE_HEX, NULL, 0, - "Compressed length", HFILL }}, - { &hf_wcp_long_run, - { "Long Compression", "wcp.long_comp", FT_BYTES, BASE_NONE, NULL, 0, - "Long Compression type", HFILL }}, - { &hf_wcp_short_run, - { "Short Compression", "wcp.short_comp", FT_BYTES, BASE_NONE, NULL, 0, - "Short Compression type", HFILL }}, - - }; - - - static gint *ett[] = { - &ett_wcp, - &ett_wcp_comp_data, - &ett_wcp_field, - }; - - static ei_register_info ei[] = { - { &ei_wcp_compressed_data_exceeds, { "wcp.compressed_data.exceeds", PI_MALFORMED, PI_ERROR, "Compressed data exceeds maximum buffer length", EXPFILL }}, - { &ei_wcp_uncompressed_data_exceeds, { "wcp.uncompressed_data.exceeds", PI_MALFORMED, PI_ERROR, "Uncompressed data exceeds maximum buffer length", EXPFILL }}, - }; - - expert_module_t* expert_wcp; - - proto_wcp = proto_register_protocol ("Wellfleet Compression", "WCP", "wcp"); - proto_register_field_array (proto_wcp, hf, array_length(hf)); - proto_register_subtree_array(ett, array_length(ett)); - expert_wcp = expert_register_protocol(proto_wcp); - expert_register_field_array(expert_wcp, ei, array_length(ei)); + { &hf_wcp_offset, + { "Source offset", "wcp.off", FT_UINT16, BASE_HEX, NULL, WCP_OFFSET_MASK, + "Data source offset", HFILL }}, + { &hf_wcp_short_len, + { "Compress Length", "wcp.short_len", FT_UINT8, BASE_HEX, NULL, 0xf0, + "Compressed length", HFILL }}, + { &hf_wcp_long_len, + { "Compress Length", "wcp.long_len", FT_UINT8, BASE_HEX, NULL, 0, + "Compressed length", HFILL }}, + { &hf_wcp_long_run, + { "Long Compression", "wcp.long_comp", FT_BYTES, BASE_NONE, NULL, 0, + "Long Compression type", HFILL }}, + { &hf_wcp_short_run, + { "Short Compression", "wcp.short_comp", FT_BYTES, BASE_NONE, NULL, 0, + "Short Compression type", HFILL }}, + + }; + + + static gint *ett[] = { + &ett_wcp, + &ett_wcp_comp_data, + &ett_wcp_field, + }; + + static ei_register_info ei[] = { + { &ei_wcp_compressed_data_exceeds, { "wcp.compressed_data.exceeds", PI_MALFORMED, PI_ERROR, "Compressed data exceeds maximum buffer length", EXPFILL }}, + { &ei_wcp_uncompressed_data_exceeds, { "wcp.uncompressed_data.exceeds", PI_MALFORMED, PI_ERROR, "Uncompressed data exceeds maximum buffer length", EXPFILL }}, + }; + + expert_module_t* expert_wcp; + + proto_wcp = proto_register_protocol ("Wellfleet Compression", "WCP", "wcp"); + proto_register_field_array (proto_wcp, hf, array_length(hf)); + proto_register_subtree_array(ett, array_length(ett)); + expert_wcp = expert_register_protocol(proto_wcp); + expert_register_field_array(expert_wcp, ei, array_length(ei)); } void proto_reg_handoff_wcp(void) { - dissector_handle_t wcp_handle; + dissector_handle_t wcp_handle; - /* - * Get handle for the Frame Relay (uncompressed) dissector. - */ - fr_uncompressed_handle = find_dissector("fr_uncompressed"); + /* + * Get handle for the Frame Relay (uncompressed) dissector. + */ + fr_uncompressed_handle = find_dissector("fr_uncompressed"); - wcp_handle = create_dissector_handle(dissect_wcp, proto_wcp); - dissector_add_uint("fr.nlpid", NLPID_COMPRESSED, wcp_handle); - dissector_add_uint("ethertype", ETHERTYPE_WCP, wcp_handle); + wcp_handle = create_dissector_handle(dissect_wcp, proto_wcp); + dissector_add_uint("fr.nlpid", NLPID_COMPRESSED, wcp_handle); + dissector_add_uint("ethertype", ETHERTYPE_WCP, wcp_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-winsrepl.c b/epan/dissectors/packet-winsrepl.c index cb24e9778b..3d5162ef8a 100644 --- a/epan/dissectors/packet-winsrepl.c +++ b/epan/dissectors/packet-winsrepl.c @@ -683,10 +683,10 @@ dissect_winsrepl_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, static guint get_winsrepl_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset) { - guint pdu_len; + guint pdu_len; - pdu_len=tvb_get_ntohl(tvb, offset); - return pdu_len+4; + pdu_len=tvb_get_ntohl(tvb, offset); + return pdu_len+4; } static int @@ -885,3 +885,16 @@ proto_reg_handoff_winsrepl(void) winsrepl_handle = new_create_dissector_handle(dissect_winsrepl, proto_winsrepl); dissector_add_uint("tcp.port", glb_winsrepl_tcp_port, winsrepl_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-wow.c b/epan/dissectors/packet-wow.c index 1c3550446c..056419a35c 100644 --- a/epan/dissectors/packet-wow.c +++ b/epan/dissectors/packet-wow.c @@ -641,3 +641,16 @@ proto_reg_handoff_wow(void) dissector_add_uint("tcp.port", WOW_PORT, wow_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ diff --git a/epan/dissectors/packet-ymsg.c b/epan/dissectors/packet-ymsg.c index f1b104b5f0..ad96d89a58 100644 --- a/epan/dissectors/packet-ymsg.c +++ b/epan/dissectors/packet-ymsg.c @@ -174,23 +174,23 @@ enum yahoo_service { /* these are easier to see in hex */ /* Message flags */ enum yahoo_status { - YAHOO_STATUS_AVAILABLE = 0, - YAHOO_STATUS_BRB, - YAHOO_STATUS_BUSY, - YAHOO_STATUS_NOTATHOME, - YAHOO_STATUS_NOTATDESK, - YAHOO_STATUS_NOTINOFFICE, - YAHOO_STATUS_ONPHONE, - YAHOO_STATUS_ONVACATION, - YAHOO_STATUS_OUTTOLUNCH, - YAHOO_STATUS_STEPPEDOUT, - YAHOO_STATUS_INVISIBLE = 12, - YAHOO_STATUS_CUSTOM = 99, - YAHOO_STATUS_IDLE = 999, - YAHOO_STATUS_WEBLOGIN = 0x5a55aa55, - YAHOO_STATUS_OFFLINE = 0x5a55aa56, /* don't ask */ - YAHOO_STATUS_TYPING = 0x16, - YAHOO_STATUS_DISCONNECTED = -1 /* in ymsg 15. doesn't mean the normal sense of 'disconnected' */ + YAHOO_STATUS_AVAILABLE = 0, + YAHOO_STATUS_BRB, + YAHOO_STATUS_BUSY, + YAHOO_STATUS_NOTATHOME, + YAHOO_STATUS_NOTATDESK, + YAHOO_STATUS_NOTINOFFICE, + YAHOO_STATUS_ONPHONE, + YAHOO_STATUS_ONVACATION, + YAHOO_STATUS_OUTTOLUNCH, + YAHOO_STATUS_STEPPEDOUT, + YAHOO_STATUS_INVISIBLE = 12, + YAHOO_STATUS_CUSTOM = 99, + YAHOO_STATUS_IDLE = 999, + YAHOO_STATUS_WEBLOGIN = 0x5a55aa55, + YAHOO_STATUS_OFFLINE = 0x5a55aa56, /* don't ask */ + YAHOO_STATUS_TYPING = 0x16, + YAHOO_STATUS_DISCONNECTED = -1 /* in ymsg 15. doesn't mean the normal sense of 'disconnected' */ }; enum ypacket_status { @@ -524,7 +524,7 @@ proto_register_ymsg(void) { &hf_ymsg_content_line_value, { "Value", "ymsg.content-line.value", FT_STRING, BASE_NONE, NULL, 0, "Content line value", HFILL }} - }; + }; static gint *ett[] = { &ett_ymsg, &ett_ymsg_content, @@ -563,3 +563,16 @@ proto_reg_handoff_ymsg(void) */ heur_dissector_add("tcp", dissect_ymsg, proto_ymsg); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=8 tabstop=8 noexpandtab: + * :indentSize=8:tabSize=8:noTabs=false: + */ |