forked from osmocom/wireshark
Refer to the endianness arguments as "encoding" rather than
"representation" - we already use "representation" to refer to the text representation of fields. Change some routines with an endianness argument to make it a representation argument instead; svn path=/trunk/; revision=32929
This commit is contained in:
parent
19f350b9f4
commit
1b444c55fd
|
@ -2003,7 +2003,7 @@ There are several functions that the programmer can use to add either
|
|||
protocol or field labels to the proto_tree:
|
||||
|
||||
proto_item*
|
||||
proto_tree_add_item(tree, id, tvb, start, length, representation);
|
||||
proto_tree_add_item(tree, id, tvb, start, length, encoding);
|
||||
|
||||
proto_item*
|
||||
proto_tree_add_none_format(tree, id, tvb, start, length, format, ...);
|
||||
|
@ -2235,10 +2235,10 @@ proto_register_*() function) and a value. The value will be fetched
|
|||
from the tvbuff by proto_tree_add_item(), based on the type of the field
|
||||
and, for integral and Boolean fields, the byte order of the value; the
|
||||
byte order, for items for which that's relevant, is specified by the
|
||||
'representation' argument, which is REP_LITTLE_ENDIAN if the value is
|
||||
'encoding' argument, which is REP_LITTLE_ENDIAN if the value is
|
||||
little-endian and REP_BIG_ENDIAN if it is big-endian. If the byte order
|
||||
is not relevant, use REP_NA (Not Applicable). In the future, other
|
||||
elements of the representation, such as the character encoding for
|
||||
elements of the encoding, such as the character encoding for
|
||||
character strings, might be supported.
|
||||
|
||||
Now that definitions of fields have detailed information about bitfield
|
||||
|
|
|
@ -176,8 +176,8 @@ dissect_error_cause(tvbuff_t *cause_tvb, proto_tree *parameter_tree)
|
|||
cause_item = proto_tree_add_text(parameter_tree, cause_tvb, CAUSE_HEADER_OFFSET, tvb_length(cause_tvb), "%s", val_to_str(code, cause_code_values, "Unknown error cause"));
|
||||
cause_tree = proto_item_add_subtree(cause_item, ett_asap_cause);
|
||||
|
||||
proto_tree_add_item(cause_tree, hf_cause_code, cause_tvb, CAUSE_CODE_OFFSET, CAUSE_CODE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_length, cause_tvb, CAUSE_LENGTH_OFFSET, CAUSE_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_code, cause_tvb, CAUSE_CODE_OFFSET, CAUSE_CODE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_length, cause_tvb, CAUSE_LENGTH_OFFSET, CAUSE_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
switch(code) {
|
||||
case UNRECOGNIZED_PARAMETER_CAUSE_CODE:
|
||||
|
@ -216,7 +216,7 @@ dissect_error_cause(tvbuff_t *cause_tvb, proto_tree *parameter_tree)
|
|||
break;
|
||||
}
|
||||
if (padding_length > 0)
|
||||
proto_tree_add_item(cause_tree, hf_cause_padding, cause_tvb, CAUSE_HEADER_OFFSET + length, padding_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_padding, cause_tvb, CAUSE_HEADER_OFFSET + length, padding_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -253,7 +253,7 @@ dissect_error_causes(tvbuff_t *error_causes_tvb, proto_tree *parameter_tree)
|
|||
static void
|
||||
dissect_ipv4_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_ipv4_address, parameter_tvb, IPV4_ADDRESS_OFFSET, IPV4_ADDRESS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_ipv4_address, parameter_tvb, IPV4_ADDRESS_OFFSET, IPV4_ADDRESS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", ip_to_str((const guint8 *)tvb_get_ptr(parameter_tvb, IPV4_ADDRESS_OFFSET, IPV4_ADDRESS_LENGTH)));
|
||||
}
|
||||
|
||||
|
@ -263,7 +263,7 @@ dissect_ipv4_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, prot
|
|||
static void
|
||||
dissect_ipv6_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_ipv6_address, parameter_tvb, IPV6_ADDRESS_OFFSET, IPV6_ADDRESS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_ipv6_address, parameter_tvb, IPV6_ADDRESS_OFFSET, IPV6_ADDRESS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", ip6_to_str((const struct e_in6_addr *)tvb_get_ptr(parameter_tvb, IPV6_ADDRESS_OFFSET, IPV6_ADDRESS_LENGTH)));
|
||||
}
|
||||
|
||||
|
@ -280,9 +280,9 @@ dissect_dccp_transport_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_
|
|||
{
|
||||
tvbuff_t *parameters_tvb;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_dccp_port, parameter_tvb, DCCP_PORT_OFFSET, DCCP_PORT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dccp_reserved, parameter_tvb, DCCP_RESERVED_OFFSET, DCCP_RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dccp_service_code, parameter_tvb, DCCP_SERVICE_CODE_OFFSET, DCCP_SERVICE_CODE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dccp_port, parameter_tvb, DCCP_PORT_OFFSET, DCCP_PORT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dccp_reserved, parameter_tvb, DCCP_RESERVED_OFFSET, DCCP_RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dccp_service_code, parameter_tvb, DCCP_SERVICE_CODE_OFFSET, DCCP_SERVICE_CODE_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
parameters_tvb = tvb_new_subset_remaining(parameter_tvb, DCCP_ADDRESS_OFFSET);
|
||||
dissect_parameters(parameters_tvb, parameter_tree);
|
||||
|
@ -307,8 +307,8 @@ dissect_sctp_transport_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_
|
|||
{
|
||||
tvbuff_t *parameters_tvb;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_sctp_port, parameter_tvb, SCTP_PORT_OFFSET, SCTP_PORT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_transport_use, parameter_tvb, SCTP_TRANSPORT_USE_OFFSET, SCTP_TRANSPORT_USE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_sctp_port, parameter_tvb, SCTP_PORT_OFFSET, SCTP_PORT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_transport_use, parameter_tvb, SCTP_TRANSPORT_USE_OFFSET, SCTP_TRANSPORT_USE_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
parameters_tvb = tvb_new_subset_remaining(parameter_tvb, SCTP_ADDRESS_OFFSET);
|
||||
dissect_parameters(parameters_tvb, parameter_tree);
|
||||
|
@ -325,8 +325,8 @@ dissect_tcp_transport_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_t
|
|||
{
|
||||
tvbuff_t *parameters_tvb;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_tcp_port, parameter_tvb, TCP_PORT_OFFSET, TCP_PORT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_transport_use, parameter_tvb, TCP_TRANSPORT_USE_OFFSET, TCP_TRANSPORT_USE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_tcp_port, parameter_tvb, TCP_PORT_OFFSET, TCP_PORT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_transport_use, parameter_tvb, TCP_TRANSPORT_USE_OFFSET, TCP_TRANSPORT_USE_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
parameters_tvb = tvb_new_subset_remaining(parameter_tvb, TCP_ADDRESS_OFFSET);
|
||||
dissect_parameters(parameters_tvb, parameter_tree);
|
||||
|
@ -343,8 +343,8 @@ dissect_udp_transport_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_t
|
|||
{
|
||||
tvbuff_t *parameters_tvb;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_udp_port, parameter_tvb, UDP_PORT_OFFSET, UDP_PORT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_udp_reserved, parameter_tvb, UDP_RESERVED_OFFSET, UDP_RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_udp_port, parameter_tvb, UDP_PORT_OFFSET, UDP_PORT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_udp_reserved, parameter_tvb, UDP_RESERVED_OFFSET, UDP_RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
parameters_tvb = tvb_new_subset_remaining(parameter_tvb, UDP_ADDRESS_OFFSET);
|
||||
dissect_parameters(parameters_tvb, parameter_tree);
|
||||
|
@ -361,8 +361,8 @@ dissect_udp_lite_transport_parameter(tvbuff_t *parameter_tvb, proto_tree *parame
|
|||
{
|
||||
tvbuff_t *parameters_tvb;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_udp_lite_port, parameter_tvb, UDP_LITE_PORT_OFFSET, UDP_LITE_PORT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_udp_lite_reserved, parameter_tvb, UDP_LITE_RESERVED_OFFSET, UDP_LITE_RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_udp_lite_port, parameter_tvb, UDP_LITE_PORT_OFFSET, UDP_LITE_PORT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_udp_lite_reserved, parameter_tvb, UDP_LITE_RESERVED_OFFSET, UDP_LITE_RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
parameters_tvb = tvb_new_subset_remaining(parameter_tvb, UDP_LITE_ADDRESS_OFFSET);
|
||||
dissect_parameters(parameters_tvb, parameter_tree);
|
||||
|
@ -426,7 +426,7 @@ dissect_pool_member_selection_policy_parameter(tvbuff_t *parameter_tvb, proto_tr
|
|||
guint32 type;
|
||||
guint length;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_policy_type, parameter_tvb, POLICY_TYPE_OFFSET, POLICY_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_policy_type, parameter_tvb, POLICY_TYPE_OFFSET, POLICY_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
type = tvb_get_ntohl(parameter_tvb, POLICY_TYPE_OFFSET);
|
||||
switch (type) {
|
||||
case RANDOM_POLICY:
|
||||
|
@ -434,10 +434,10 @@ dissect_pool_member_selection_policy_parameter(tvbuff_t *parameter_tvb, proto_tr
|
|||
break;
|
||||
case WEIGHTED_RANDOM_POLICY:
|
||||
case WEIGHTED_ROUND_ROBIN_POLICY:
|
||||
proto_tree_add_item(parameter_tree, hf_policy_weight, parameter_tvb, POLICY_WEIGHT_OFFSET, POLICY_WEIGHT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_policy_weight, parameter_tvb, POLICY_WEIGHT_OFFSET, POLICY_WEIGHT_LENGTH, ENC_BIG_ENDIAN);
|
||||
break;
|
||||
case PRIORITY_POLICY:
|
||||
proto_tree_add_item(parameter_tree, hf_policy_priority, parameter_tvb, POLICY_PRIORITY_OFFSET, POLICY_PRIORITY_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_policy_priority, parameter_tvb, POLICY_PRIORITY_OFFSET, POLICY_PRIORITY_LENGTH, ENC_BIG_ENDIAN);
|
||||
break;
|
||||
case LEAST_USED_POLICY:
|
||||
case RANDOMIZED_LEAST_USED_POLICY:
|
||||
|
@ -461,14 +461,14 @@ dissect_pool_member_selection_policy_parameter(tvbuff_t *parameter_tvb, proto_tr
|
|||
proto_tree_add_double_format_value(parameter_tree, hf_policy_loaddpf, parameter_tvb, POLICY_LUDPF_LOADDPF_OFFSET, POLICY_LUDPF_LOADDPF_LENGTH,
|
||||
tvb_get_ntohl(parameter_tvb, POLICY_LUDPF_LOADDPF_OFFSET) / (double)0xffffffff, "%1.5f",
|
||||
tvb_get_ntohl(parameter_tvb, POLICY_LUDPF_LOADDPF_OFFSET) / (double)0xffffffff);
|
||||
proto_tree_add_item(parameter_tree, hf_policy_distance, parameter_tvb, POLICY_LUDPF_DISTANCE_OFFSET, POLICY_LUDPF_DISTANCE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_policy_distance, parameter_tvb, POLICY_LUDPF_DISTANCE_OFFSET, POLICY_LUDPF_DISTANCE_LENGTH, ENC_BIG_ENDIAN);
|
||||
break;
|
||||
case WEIGHTED_RANDOM_DPF_POLICY:
|
||||
proto_tree_add_item(parameter_tree, hf_policy_weight, parameter_tvb, POLICY_WEIGHT_OFFSET, POLICY_WEIGHT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_policy_weight, parameter_tvb, POLICY_WEIGHT_OFFSET, POLICY_WEIGHT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_double_format_value(parameter_tree, hf_policy_weightdpf, parameter_tvb, POLICY_WRANDDPF_WEIGHTDPF_OFFSET, POLICY_WRANDDPF_WEIGHTDPF_LENGTH,
|
||||
tvb_get_ntohl(parameter_tvb, POLICY_WRANDDPF_WEIGHTDPF_OFFSET) / (double)0xffffffff, "%1.5f",
|
||||
tvb_get_ntohl(parameter_tvb, POLICY_WRANDDPF_WEIGHTDPF_OFFSET) / (double)0xffffffff);
|
||||
proto_tree_add_item(parameter_tree, hf_policy_distance, parameter_tvb, POLICY_WRANDDPF_DISTANCE_OFFSET, POLICY_WRANDDPF_DISTANCE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_policy_distance, parameter_tvb, POLICY_WRANDDPF_DISTANCE_OFFSET, POLICY_WRANDDPF_DISTANCE_LENGTH, ENC_BIG_ENDIAN);
|
||||
break;
|
||||
default:
|
||||
length = tvb_length(parameter_tvb) - POLICY_VALUE_OFFSET;
|
||||
|
@ -490,7 +490,7 @@ dissect_pool_handle_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tre
|
|||
char* tmp;
|
||||
|
||||
handle_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
pi = proto_tree_add_item(parameter_tree, hf_pool_handle, parameter_tvb, POOL_HANDLE_OFFSET, handle_length, REP_BIG_ENDIAN);
|
||||
pi = proto_tree_add_item(parameter_tree, hf_pool_handle, parameter_tvb, POOL_HANDLE_OFFSET, handle_length, ENC_BIG_ENDIAN);
|
||||
|
||||
tmp = (gchar*)tvb_get_ephemeral_string(parameter_tvb, POOL_HANDLE_OFFSET, handle_length);
|
||||
proto_item_append_text(pi, " (%s)", tmp);
|
||||
|
@ -511,9 +511,9 @@ dissect_pool_element_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tr
|
|||
tvbuff_t* parameters_tvb;
|
||||
proto_item* pi;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_pe_pe_identifier, parameter_tvb, PE_PE_IDENTIFIER_OFFSET, PE_PE_IDENTIFIER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_home_enrp_id, parameter_tvb, HOME_ENRP_INDENTIFIER_OFFSET, HOME_ENRP_INDENTIFIER_LENGTH, REP_BIG_ENDIAN);
|
||||
pi = proto_tree_add_item(parameter_tree, hf_reg_life, parameter_tvb, REGISTRATION_LIFE_OFFSET, REGISTRATION_LIFE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_pe_pe_identifier, parameter_tvb, PE_PE_IDENTIFIER_OFFSET, PE_PE_IDENTIFIER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_home_enrp_id, parameter_tvb, HOME_ENRP_INDENTIFIER_OFFSET, HOME_ENRP_INDENTIFIER_LENGTH, ENC_BIG_ENDIAN);
|
||||
pi = proto_tree_add_item(parameter_tree, hf_reg_life, parameter_tvb, REGISTRATION_LIFE_OFFSET, REGISTRATION_LIFE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(pi, "ms");
|
||||
|
||||
parameters_tvb = tvb_new_subset_remaining(parameter_tvb, USER_TRANSPORT_PARAMETER_OFFSET);
|
||||
|
@ -529,7 +529,7 @@ dissect_server_information_parameter(tvbuff_t *parameter_tvb, proto_tree *parame
|
|||
{
|
||||
tvbuff_t *parameters_tvb;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_server_identifier, parameter_tvb, SERVER_ID_OFFSET, SERVER_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_server_identifier, parameter_tvb, SERVER_ID_OFFSET, SERVER_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
parameters_tvb = tvb_new_subset_remaining(parameter_tvb, SERVER_TRANSPORT_OFFSET);
|
||||
dissect_parameters(parameters_tvb, parameter_tree);
|
||||
|
@ -555,7 +555,7 @@ dissect_cookie_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, pr
|
|||
|
||||
cookie_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
if (cookie_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_cookie, parameter_tvb, COOKIE_OFFSET, cookie_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_cookie, parameter_tvb, COOKIE_OFFSET, cookie_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u byte%s)", cookie_length, plurality(cookie_length, "", "s"));
|
||||
}
|
||||
|
||||
|
@ -565,7 +565,7 @@ dissect_cookie_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, pr
|
|||
static void
|
||||
dissect_pe_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_pe_identifier, parameter_tvb, PE_IDENTIFIER_OFFSET, PE_IDENTIFIER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_pe_identifier, parameter_tvb, PE_IDENTIFIER_OFFSET, PE_IDENTIFIER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (0x%x)", tvb_get_ntohl(parameter_tvb, PE_IDENTIFIER_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -575,7 +575,7 @@ dissect_pe_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_t
|
|||
static void
|
||||
dissect_pe_checksum_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_pe_checksum, parameter_tvb, PE_CHECKSUM_OFFSET, PE_CHECKSUM_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_pe_checksum, parameter_tvb, PE_CHECKSUM_OFFSET, PE_CHECKSUM_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (0x%x)", tvb_get_ntohs(parameter_tvb, PE_CHECKSUM_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -585,7 +585,7 @@ dissect_pe_checksum_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tre
|
|||
static void
|
||||
dissect_handle_resolution_option_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_hropt_items, parameter_tvb, HROPT_ITEMS_OFFSET, HROPT_ITEMS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_hropt_items, parameter_tvb, HROPT_ITEMS_OFFSET, HROPT_ITEMS_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -597,7 +597,7 @@ dissect_unknown_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, p
|
|||
parameter_value_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
|
||||
if (parameter_value_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_value, parameter_tvb, PARAMETER_VALUE_OFFSET, parameter_value_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_value, parameter_tvb, PARAMETER_VALUE_OFFSET, parameter_value_length, ENC_BIG_ENDIAN);
|
||||
|
||||
proto_item_append_text(parameter_item, " (type %u and %u byte%s value)", type, parameter_value_length, plurality(parameter_value_length, "", "s"));
|
||||
}
|
||||
|
@ -656,8 +656,8 @@ dissect_parameter(tvbuff_t *parameter_tvb, proto_tree *asap_tree)
|
|||
parameter_tree = proto_item_add_subtree(parameter_item, ett_asap_parameter);
|
||||
|
||||
/* add tag and length to the asap tree */
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_type, parameter_tvb, PARAMETER_TYPE_OFFSET, PARAMETER_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_type, parameter_tvb, PARAMETER_TYPE_OFFSET, PARAMETER_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
switch(type) {
|
||||
case IPV4_ADDRESS_PARAMETER_TYPE:
|
||||
|
@ -714,7 +714,7 @@ dissect_parameter(tvbuff_t *parameter_tvb, proto_tree *asap_tree)
|
|||
};
|
||||
|
||||
if (padding_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -811,18 +811,18 @@ dissect_asap_message(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *asap
|
|||
col_add_fstr(pinfo->cinfo, COL_INFO, "%s ", val_to_str(type, message_type_values, "Unknown ASAP type"));
|
||||
|
||||
if (asap_tree) {
|
||||
proto_tree_add_item(asap_tree, hf_message_type, message_tvb, MESSAGE_TYPE_OFFSET, MESSAGE_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
flags_item = proto_tree_add_item(asap_tree, hf_message_flags, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(asap_tree, hf_message_type, message_tvb, MESSAGE_TYPE_OFFSET, MESSAGE_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
flags_item = proto_tree_add_item(asap_tree, hf_message_flags, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
flags_tree = proto_item_add_subtree(flags_item, ett_asap_flags);
|
||||
if (type == REGISTRATION_RESPONSE_MESSAGE_TYPE) {
|
||||
proto_tree_add_item(flags_tree, hf_reject_bit, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_reject_bit, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
if (type == ENDPOINT_KEEP_ALIVE_MESSAGE_TYPE) {
|
||||
proto_tree_add_item(flags_tree, hf_home_enrp_server_bit, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_home_enrp_server_bit, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
proto_tree_add_item(asap_tree, hf_message_length, message_tvb, MESSAGE_LENGTH_OFFSET, MESSAGE_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(asap_tree, hf_message_length, message_tvb, MESSAGE_LENGTH_OFFSET, MESSAGE_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
if ((type == SERVER_ANNOUNCE_MESSAGE_TYPE) || (type == ENDPOINT_KEEP_ALIVE_MESSAGE_TYPE)) {
|
||||
proto_tree_add_item(asap_tree, hf_server_identifier, message_tvb, SERVER_IDENTIFIER_OFFSET, SERVER_IDENTIFIER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(asap_tree, hf_server_identifier, message_tvb, SERVER_IDENTIFIER_OFFSET, SERVER_IDENTIFIER_LENGTH, ENC_BIG_ENDIAN);
|
||||
parameters_tvb = tvb_new_subset_remaining(message_tvb, MESSAGE_VALUE_OFFSET + SERVER_IDENTIFIER_LENGTH);
|
||||
} else {
|
||||
parameters_tvb = tvb_new_subset_remaining(message_tvb, MESSAGE_VALUE_OFFSET);
|
||||
|
@ -845,7 +845,7 @@ dissect_asap(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *tree)
|
|||
necessary to generate protocol tree items. */
|
||||
if (tree) {
|
||||
/* create the asap protocol tree */
|
||||
asap_item = proto_tree_add_item(tree, proto_asap, message_tvb, 0, -1, REP_NA);
|
||||
asap_item = proto_tree_add_item(tree, proto_asap, message_tvb, 0, -1, ENC_NA);
|
||||
asap_tree = proto_item_add_subtree(asap_item, ett_asap);
|
||||
} else {
|
||||
asap_tree = NULL;
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
* was passed to proto_tree_add_item() as the byte-order argument, was
|
||||
* defined as FALSE - which meant big-endian.
|
||||
*
|
||||
* For now, we'll use REP_BIG_ENDIAN, now that we have REP_BIG_ENDIAN and
|
||||
* For now, we'll use ENC_BIG_ENDIAN, now that we have ENC_BIG_ENDIAN and
|
||||
* REP_LITTLE_ENDIAN definitions.
|
||||
*/
|
||||
#define BSSGP_TRANSLATION_MAX_LEN 50
|
||||
|
@ -1387,7 +1387,7 @@ decode_mobile_identity(bssgp_ie_t *ie, build_info_t *bi, int ie_start_offset) {
|
|||
"TMSI/P-TMSI %0x04x", tmsi);
|
||||
if (bi->bssgp_tree) {
|
||||
proto_tree_add_item(tf, hf_bssgp_tmsi_ptmsi, bi->tvb, bi->offset, 4,
|
||||
REP_BIG_ENDIAN);
|
||||
ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(ti, ": %#04x", tmsi);
|
||||
}
|
||||
decode_nri(tf, bi, tmsi);
|
||||
|
@ -1465,7 +1465,7 @@ decode_lai(build_info_t *bi, proto_tree *parent_tree) {
|
|||
|
||||
lac = tvb_get_ntohs(bi->tvb, bi->offset);
|
||||
proto_tree_add_item(parent_tree, hf_bssgp_lac,
|
||||
bi->tvb, bi->offset, 2, REP_BIG_ENDIAN);
|
||||
bi->tvb, bi->offset, 2, ENC_BIG_ENDIAN);
|
||||
bi->offset += 2;
|
||||
|
||||
g_snprintf(lai, RES_LEN, "%s-%u", mcc_mnc, lac);
|
||||
|
@ -1481,7 +1481,7 @@ decode_rai(build_info_t *bi, proto_tree *parent_tree) {
|
|||
char *lai = decode_lai(bi, parent_tree);
|
||||
|
||||
rac = tvb_get_guint8(bi->tvb, bi->offset);
|
||||
proto_tree_add_item(parent_tree, hf_bssgp_rac, bi->tvb, bi->offset, 1, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parent_tree, hf_bssgp_rac, bi->tvb, bi->offset, 1, ENC_BIG_ENDIAN);
|
||||
bi->offset++;
|
||||
|
||||
g_snprintf(rai, RES_LEN, "%s-%u", lai, rac);
|
||||
|
@ -1500,7 +1500,7 @@ decode_rai_ci(build_info_t *bi, proto_tree *parent_tree) {
|
|||
|
||||
ci = tvb_get_ntohs(bi->tvb, bi->offset);
|
||||
proto_tree_add_item(parent_tree, hf_bssgp_ci,
|
||||
bi->tvb, bi->offset, 2, REP_BIG_ENDIAN);
|
||||
bi->tvb, bi->offset, 2, ENC_BIG_ENDIAN);
|
||||
bi->offset += 2;
|
||||
g_snprintf(rai_ci, RES_LEN, "RAI %s, CI %u", rai, ci);
|
||||
#undef RES_LEN
|
||||
|
@ -1703,7 +1703,7 @@ decode_iei_bvci(bssgp_ie_t *ie, build_info_t *bi, int ie_start_offset) {
|
|||
proto_item_append_text(ti, ": %u", bvci);
|
||||
hidden_item = proto_tree_add_item(bi->bssgp_tree, hf_bssgp_bvci,
|
||||
bi->tvb, bi->offset, 2,
|
||||
REP_BIG_ENDIAN);
|
||||
ENC_BIG_ENDIAN);
|
||||
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||
}
|
||||
bi->offset += ie->value_length;
|
||||
|
@ -2879,7 +2879,7 @@ decode_iei_tlli(bssgp_ie_t *ie, build_info_t *bi, int ie_start_offset) {
|
|||
tf = proto_item_add_subtree(ti, ett_bssgp_tlli);
|
||||
|
||||
proto_tree_add_item(tf, hf_bssgp_tlli,
|
||||
bi->tvb, bi->offset, 4, REP_BIG_ENDIAN);
|
||||
bi->tvb, bi->offset, 4, ENC_BIG_ENDIAN);
|
||||
|
||||
bi->offset += 4;
|
||||
|
||||
|
@ -2905,7 +2905,7 @@ decode_iei_tmsi(bssgp_ie_t *ie, build_info_t *bi, int ie_start_offset) {
|
|||
tf = proto_item_add_subtree(ti, ett_bssgp_tmsi_ptmsi);
|
||||
|
||||
proto_tree_add_item(tf, hf_bssgp_tmsi_ptmsi,
|
||||
bi->tvb, bi->offset, 4, REP_BIG_ENDIAN);
|
||||
bi->tvb, bi->offset, 4, ENC_BIG_ENDIAN);
|
||||
}
|
||||
bi->offset += 4;
|
||||
|
||||
|
@ -3406,7 +3406,7 @@ decode_iei_nsei(bssgp_ie_t *ie, build_info_t *bi, int ie_start_offset) {
|
|||
ti = bssgp_proto_tree_add_ie(ie, bi, ie_start_offset);
|
||||
proto_item_append_text(ti, ": %u", nsei);
|
||||
hidden_item = proto_tree_add_item(bi->bssgp_tree, hf_bssgp_nsei,
|
||||
bi->tvb, bi->offset, 2, REP_BIG_ENDIAN);
|
||||
bi->tvb, bi->offset, 2, ENC_BIG_ENDIAN);
|
||||
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||
}
|
||||
bi->offset += ie->value_length;
|
||||
|
@ -3993,7 +3993,7 @@ decode_iei_rim_application_identity(bssgp_ie_t *ie _U_, build_info_t *bi, int ie
|
|||
}
|
||||
|
||||
ti = proto_tree_add_item(bi->bssgp_tree, hf_bssgp_appid,
|
||||
bi->tvb, bi->offset, 1, REP_BIG_ENDIAN);
|
||||
bi->tvb, bi->offset, 1, ENC_BIG_ENDIAN);
|
||||
|
||||
appid = tvb_get_guint8(bi->tvb, bi->offset);
|
||||
switch (appid) {
|
||||
|
@ -4058,7 +4058,7 @@ decode_iei_rim_routing_information(bssgp_ie_t *ie, build_info_t *bi, int ie_star
|
|||
tf = proto_item_add_subtree(ti, ett_bssgp_rim_routing_information);
|
||||
|
||||
proto_tree_add_item(tf, hf_bssgp_ra_discriminator,
|
||||
bi->tvb, bi->offset, 1, REP_BIG_ENDIAN);
|
||||
bi->tvb, bi->offset, 1, ENC_BIG_ENDIAN);
|
||||
|
||||
data = tvb_get_guint8(bi->tvb, bi->offset);
|
||||
|
||||
|
@ -4067,7 +4067,7 @@ decode_iei_rim_routing_information(bssgp_ie_t *ie, build_info_t *bi, int ie_star
|
|||
decode_rai(bi, tf);
|
||||
|
||||
proto_tree_add_item(tf, hf_bssgp_ci,
|
||||
bi->tvb, bi->offset, 2, REP_BIG_ENDIAN);
|
||||
bi->tvb, bi->offset, 2, ENC_BIG_ENDIAN);
|
||||
bi->offset += 2;
|
||||
|
||||
} else {
|
||||
|
@ -4099,7 +4099,7 @@ decode_iei_application_error(bssgp_ie_t *ie, build_info_t *bi, int ie_start_offs
|
|||
ti = bssgp_proto_tree_add_ie(ie, bi, ie_start_offset);
|
||||
tf = proto_item_add_subtree(ti, ett_bssgp_ran_information_container_unit);
|
||||
|
||||
proto_tree_add_item(tf, hf_bssgp_iei_nacc_cause, bi->tvb, bi->offset, 1, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(tf, hf_bssgp_iei_nacc_cause, bi->tvb, bi->offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_text(tf, bi->tvb, bi->offset, tvb_length(bi->tvb) - bi->offset , "Erroneous Application Container including IEI and LI");
|
||||
|
||||
} else {
|
||||
|
@ -4176,7 +4176,7 @@ decode_iei_ran_information_application_container(bssgp_ie_t *ie, build_info_t *b
|
|||
proto_tree_add_text(tf, bi->tvb, bi->offset, LEN_SI,
|
||||
" SI (%u), %u octets", i + 1, LEN_SI);
|
||||
/* XXX: Not decoded yet; which section in 3GPP TS 44.018? */
|
||||
proto_tree_add_item(tf, hf_bssgp_rrc_si_msg_type, bi->tvb, bi->offset, 1, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(tf, hf_bssgp_rrc_si_msg_type, bi->tvb, bi->offset, 1, ENC_BIG_ENDIAN);
|
||||
/* TODO:
|
||||
* Add decoding in packet-gsm_a.c ? Needs a new exported function "gsm_a_decode_rr_message?)
|
||||
*
|
||||
|
@ -4250,9 +4250,9 @@ decode_iei_rim_pdu_indications(bssgp_ie_t *ie, build_info_t *bi, int ie_start_of
|
|||
data = tvb_get_guint8(bi->tvb, bi->offset);
|
||||
|
||||
if (bi->pdutype == BSSGP_IEI_RAN_INFORMATION_CONTAINER_UNIT) {
|
||||
proto_tree_add_item(tf, hf_ran_inf_pdu_type_ext, bi->tvb, bi->offset, 1, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(tf, hf_ran_inf_pdu_type_ext, bi->tvb, bi->offset, 1, ENC_BIG_ENDIAN);
|
||||
}else{
|
||||
proto_tree_add_item(tf, hf_ran_inf_req_pdu_type_ext, bi->tvb, bi->offset, 1, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(tf, hf_ran_inf_req_pdu_type_ext, bi->tvb, bi->offset, 1, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
value = get_masked_guint8(data, MASK_ACK);
|
||||
|
@ -5984,7 +5984,7 @@ dissect_bssgp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
bi.offset++;
|
||||
|
||||
if (tree) {
|
||||
ti = proto_tree_add_item(tree, proto_bssgp, tvb, 0, -1, REP_NA);
|
||||
ti = proto_tree_add_item(tree, proto_bssgp, tvb, 0, -1, ENC_NA);
|
||||
bssgp_tree = proto_item_add_subtree(ti, ett_bssgp);
|
||||
proto_tree_add_uint_format_value(bssgp_tree, hf_bssgp_pdu_type, tvb, 0, 1,
|
||||
bi.pdutype,
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -96,7 +96,7 @@ static dissector_handle_t dpnss_handle;
|
|||
static void
|
||||
dissect_int_interface_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_int_interface_id, parameter_tvb, INT_INTERFACE_ID_OFFSET, INT_INTERFACE_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_int_interface_id, parameter_tvb, INT_INTERFACE_ID_OFFSET, INT_INTERFACE_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%d)", tvb_get_ntohl(parameter_tvb, INT_INTERFACE_ID_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -109,7 +109,7 @@ dissect_text_interface_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree
|
|||
|
||||
interface_id_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_text_interface_id, parameter_tvb, TEXT_INTERFACE_ID_OFFSET, interface_id_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_text_interface_id, parameter_tvb, TEXT_INTERFACE_ID_OFFSET, interface_id_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%.*s)", interface_id_length,
|
||||
(const char *)tvb_get_ptr(parameter_tvb, TEXT_INTERFACE_ID_OFFSET, interface_id_length));
|
||||
}
|
||||
|
@ -122,7 +122,7 @@ dissect_info_string_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tre
|
|||
guint16 info_string_length;
|
||||
|
||||
info_string_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_info_string, parameter_tvb, INFO_STRING_OFFSET, info_string_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_info_string, parameter_tvb, INFO_STRING_OFFSET, info_string_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%.*s)", info_string_length,
|
||||
(const char *)tvb_get_ptr(parameter_tvb, INFO_STRING_OFFSET, info_string_length));
|
||||
}
|
||||
|
@ -142,12 +142,12 @@ dissect_info_string_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tre
|
|||
static void
|
||||
dissect_dlci_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_reserved, parameter_tvb, DLCI_OFFSET, DLCI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_v_bit, parameter_tvb, DLCI_OFFSET, DLCI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_zero_bit, parameter_tvb, DLCI_OFFSET, DLCI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_channel, parameter_tvb, DLCI_OFFSET, DLCI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_one_bit, parameter_tvb, DLCI_OFFSET, DLCI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_spare, parameter_tvb, SPARE_OFFSET, SPARE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_reserved, parameter_tvb, DLCI_OFFSET, DLCI_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_v_bit, parameter_tvb, DLCI_OFFSET, DLCI_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_zero_bit, parameter_tvb, DLCI_OFFSET, DLCI_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_channel, parameter_tvb, DLCI_OFFSET, DLCI_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_one_bit, parameter_tvb, DLCI_OFFSET, DLCI_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_spare, parameter_tvb, SPARE_OFFSET, SPARE_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -156,7 +156,7 @@ dissect_diagnostic_information_parameter(tvbuff_t *parameter_tvb, proto_tree *pa
|
|||
guint16 diag_info_length;
|
||||
|
||||
diag_info_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_diag_info, parameter_tvb, PARAMETER_VALUE_OFFSET, diag_info_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_diag_info, parameter_tvb, PARAMETER_VALUE_OFFSET, diag_info_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u byte%s)", diag_info_length, plurality(diag_info_length, "", "s"));
|
||||
}
|
||||
|
||||
|
@ -176,8 +176,8 @@ dissect_integer_range_interface_identifier_parameter(tvbuff_t *parameter_tvb, pr
|
|||
number_of_ranges = (tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH) / INTERVAL_LENGTH;
|
||||
offset = PARAMETER_VALUE_OFFSET;
|
||||
for(range_number = 1; range_number <= number_of_ranges; range_number++) {
|
||||
proto_tree_add_item(parameter_tree, hf_interface_range_start, parameter_tvb, offset + START_OFFSET, START_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_interface_range_end, parameter_tvb, offset + END_OFFSET, END_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_interface_range_start, parameter_tvb, offset + START_OFFSET, START_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_interface_range_end, parameter_tvb, offset + END_OFFSET, END_LENGTH, ENC_BIG_ENDIAN);
|
||||
offset += INTERVAL_LENGTH;
|
||||
};
|
||||
|
||||
|
@ -192,7 +192,7 @@ dissect_heartbeat_data_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_
|
|||
guint16 heartbeat_data_length;
|
||||
|
||||
heartbeat_data_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_heartbeat_data, parameter_tvb, HEARTBEAT_DATA_OFFSET, heartbeat_data_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_heartbeat_data, parameter_tvb, HEARTBEAT_DATA_OFFSET, heartbeat_data_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u byte%s)", heartbeat_data_length, plurality(heartbeat_data_length, "", "s"));
|
||||
}
|
||||
|
||||
|
@ -210,7 +210,7 @@ static const value_string traffic_mode_type_values[] = {
|
|||
static void
|
||||
dissect_traffic_mode_type_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_traffic_mode_type, parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET, TRAFFIC_MODE_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_traffic_mode_type, parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET, TRAFFIC_MODE_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)",
|
||||
val_to_str(tvb_get_ntohl(parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET), traffic_mode_type_values, "unknown"));
|
||||
}
|
||||
|
@ -253,7 +253,7 @@ static const value_string error_code_values[] = {
|
|||
static void
|
||||
dissect_error_code_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_error_code, parameter_tvb, ERROR_CODE_OFFSET, ERROR_CODE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_error_code, parameter_tvb, ERROR_CODE_OFFSET, ERROR_CODE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)",
|
||||
val_to_str(tvb_get_ntohl(parameter_tvb, ERROR_CODE_OFFSET), error_code_values, "unknown"));
|
||||
}
|
||||
|
@ -296,7 +296,7 @@ dissect_status_type_identification_parameter(tvbuff_t *parameter_tvb, proto_tree
|
|||
status_type = tvb_get_ntohs(parameter_tvb, STATUS_TYPE_OFFSET);
|
||||
status_id = tvb_get_ntohs(parameter_tvb, STATUS_IDENT_OFFSET);
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_status_type, parameter_tvb, STATUS_TYPE_OFFSET, STATUS_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_status_type, parameter_tvb, STATUS_TYPE_OFFSET, STATUS_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_uint_format(parameter_tree, hf_status_id, parameter_tvb, STATUS_IDENT_OFFSET, STATUS_IDENT_LENGTH,
|
||||
status_id, "Status identification: %u (%s)", status_id,
|
||||
val_to_str(status_type * 256 * 256 + status_id, status_type_id_values, "unknown"));
|
||||
|
@ -343,7 +343,7 @@ static const value_string release_reason_values[] = {
|
|||
static void
|
||||
dissect_release_reason_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_release_reason, parameter_tvb, RELEASE_REASON_OFFSET, RELEASE_REASON_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_release_reason, parameter_tvb, RELEASE_REASON_OFFSET, RELEASE_REASON_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)",
|
||||
val_to_str(tvb_get_ntohl(parameter_tvb, RELEASE_REASON_OFFSET), release_reason_values, "unknown"));
|
||||
}
|
||||
|
@ -362,7 +362,7 @@ static const value_string tei_status_values[] = {
|
|||
static void
|
||||
dissect_tei_status_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_tei_status, parameter_tvb, TEI_STATUS_OFFSET, TEI_STATUS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_tei_status, parameter_tvb, TEI_STATUS_OFFSET, TEI_STATUS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)",
|
||||
val_to_str(tvb_get_ntohl(parameter_tvb, TEI_STATUS_OFFSET), tei_status_values, "unknown"));
|
||||
}
|
||||
|
@ -373,7 +373,7 @@ dissect_tei_status_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree
|
|||
static void
|
||||
dissect_asp_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_asp_id, parameter_tvb, ASP_ID_OFFSET, ASP_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_asp_id, parameter_tvb, ASP_ID_OFFSET, ASP_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohl(parameter_tvb, ASP_ID_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -385,7 +385,7 @@ dissect_dlc_status_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree
|
|||
/* FIXME: This can be done better */
|
||||
parameter_value_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
if (parameter_value_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_states, parameter_tvb, PARAMETER_VALUE_OFFSET, parameter_value_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_states, parameter_tvb, PARAMETER_VALUE_OFFSET, parameter_value_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -395,7 +395,7 @@ dissect_unknown_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, p
|
|||
|
||||
parameter_value_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
if (parameter_value_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_value, parameter_tvb, PARAMETER_VALUE_OFFSET, parameter_value_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_value, parameter_tvb, PARAMETER_VALUE_OFFSET, parameter_value_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " with tag %u and %u byte%s value",
|
||||
tvb_get_ntohs(parameter_tvb, PARAMETER_TAG_OFFSET), parameter_value_length, plurality(parameter_value_length, "", "s"));
|
||||
}
|
||||
|
@ -452,8 +452,8 @@ dissect_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *tree,
|
|||
parameter_tree = proto_item_add_subtree(parameter_item, ett_dua_parameter);
|
||||
|
||||
/* add tag and length to the dua tree */
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
switch(tag) {
|
||||
case INT_INTERFACE_IDENTIFIER_PARAMETER_TAG:
|
||||
|
@ -507,7 +507,7 @@ dissect_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *tree,
|
|||
};
|
||||
|
||||
if (padding_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -661,14 +661,14 @@ dissect_common_header(tvbuff_t *common_header_tvb, packet_info *pinfo, proto_tre
|
|||
|
||||
if (dua_tree) {
|
||||
/* add the components of the common header to the protocol tree */
|
||||
proto_tree_add_item(dua_tree, hf_version, common_header_tvb, VERSION_OFFSET, VERSION_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(dua_tree, hf_reserved, common_header_tvb, RESERVED_OFFSET, RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(dua_tree, hf_message_class, common_header_tvb, MESSAGE_CLASS_OFFSET, MESSAGE_CLASS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(dua_tree, hf_version, common_header_tvb, VERSION_OFFSET, VERSION_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(dua_tree, hf_reserved, common_header_tvb, RESERVED_OFFSET, RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(dua_tree, hf_message_class, common_header_tvb, MESSAGE_CLASS_OFFSET, MESSAGE_CLASS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_uint_format(dua_tree, hf_message_type,
|
||||
common_header_tvb, MESSAGE_TYPE_OFFSET, MESSAGE_TYPE_LENGTH,
|
||||
message_type, "Message type: %u (%s)",
|
||||
message_type, val_to_str(message_class * 256 + message_type, message_class_type_values, "reserved"));
|
||||
proto_tree_add_item(dua_tree, hf_message_length, common_header_tvb, MESSAGE_LENGTH_OFFSET, MESSAGE_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(dua_tree, hf_message_length, common_header_tvb, MESSAGE_LENGTH_OFFSET, MESSAGE_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -696,7 +696,7 @@ dissect_dua(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *tree)
|
|||
necessary to generate protocol tree items. */
|
||||
if (tree) {
|
||||
/* create the m3ua protocol tree */
|
||||
dua_item = proto_tree_add_item(tree, proto_dua, message_tvb, 0, -1, REP_NA);
|
||||
dua_item = proto_tree_add_item(tree, proto_dua, message_tvb, 0, -1, ENC_NA);
|
||||
dua_tree = proto_item_add_subtree(dua_item, ett_dua);
|
||||
} else {
|
||||
dua_tree = NULL;
|
||||
|
|
|
@ -182,8 +182,8 @@ dissect_error_cause(tvbuff_t *cause_tvb, proto_tree *parameter_tree)
|
|||
cause_item = proto_tree_add_text(parameter_tree, cause_tvb, CAUSE_HEADER_OFFSET, tvb_length(cause_tvb), "%s", val_to_str(code, cause_code_values, "Unknown error cause"));
|
||||
cause_tree = proto_item_add_subtree(cause_item, ett_enrp_cause);
|
||||
|
||||
proto_tree_add_item(cause_tree, hf_cause_code, cause_tvb, CAUSE_CODE_OFFSET, CAUSE_CODE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_length, cause_tvb, CAUSE_LENGTH_OFFSET, CAUSE_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_code, cause_tvb, CAUSE_CODE_OFFSET, CAUSE_CODE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_length, cause_tvb, CAUSE_LENGTH_OFFSET, CAUSE_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
switch(code) {
|
||||
case UNRECOGNIZED_PARAMETER_CAUSE_CODE:
|
||||
|
@ -221,7 +221,7 @@ dissect_error_cause(tvbuff_t *cause_tvb, proto_tree *parameter_tree)
|
|||
break;
|
||||
}
|
||||
if (padding_length > 0)
|
||||
proto_tree_add_item(cause_tree, hf_cause_padding, cause_tvb, CAUSE_HEADER_OFFSET + length, padding_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_padding, cause_tvb, CAUSE_HEADER_OFFSET + length, padding_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -258,7 +258,7 @@ dissect_error_causes(tvbuff_t *error_causes_tvb, proto_tree *parameter_tree)
|
|||
static void
|
||||
dissect_ipv4_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_ipv4_address, parameter_tvb, IPV4_ADDRESS_OFFSET, IPV4_ADDRESS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_ipv4_address, parameter_tvb, IPV4_ADDRESS_OFFSET, IPV4_ADDRESS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", ip_to_str((const guint8 *)tvb_get_ptr(parameter_tvb, IPV4_ADDRESS_OFFSET, IPV4_ADDRESS_LENGTH)));
|
||||
}
|
||||
|
||||
|
@ -268,7 +268,7 @@ dissect_ipv4_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, prot
|
|||
static void
|
||||
dissect_ipv6_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_ipv6_address, parameter_tvb, IPV6_ADDRESS_OFFSET, IPV6_ADDRESS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_ipv6_address, parameter_tvb, IPV6_ADDRESS_OFFSET, IPV6_ADDRESS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", ip6_to_str((const struct e_in6_addr *)tvb_get_ptr(parameter_tvb, IPV6_ADDRESS_OFFSET, IPV6_ADDRESS_LENGTH)));
|
||||
}
|
||||
|
||||
|
@ -285,9 +285,9 @@ dissect_dccp_transport_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_
|
|||
{
|
||||
tvbuff_t *parameters_tvb;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_dccp_port, parameter_tvb, DCCP_PORT_OFFSET, DCCP_PORT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dccp_reserved, parameter_tvb, DCCP_RESERVED_OFFSET, DCCP_RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dccp_service_code, parameter_tvb, DCCP_SERVICE_CODE_OFFSET, DCCP_SERVICE_CODE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dccp_port, parameter_tvb, DCCP_PORT_OFFSET, DCCP_PORT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dccp_reserved, parameter_tvb, DCCP_RESERVED_OFFSET, DCCP_RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dccp_service_code, parameter_tvb, DCCP_SERVICE_CODE_OFFSET, DCCP_SERVICE_CODE_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
parameters_tvb = tvb_new_subset_remaining(parameter_tvb, DCCP_ADDRESS_OFFSET);
|
||||
dissect_parameters(parameters_tvb, parameter_tree);
|
||||
|
@ -312,8 +312,8 @@ dissect_sctp_transport_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_
|
|||
{
|
||||
tvbuff_t *parameters_tvb;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_sctp_port, parameter_tvb, SCTP_PORT_OFFSET, SCTP_PORT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_transport_use, parameter_tvb, SCTP_TRANSPORT_USE_OFFSET, SCTP_TRANSPORT_USE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_sctp_port, parameter_tvb, SCTP_PORT_OFFSET, SCTP_PORT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_transport_use, parameter_tvb, SCTP_TRANSPORT_USE_OFFSET, SCTP_TRANSPORT_USE_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
parameters_tvb = tvb_new_subset_remaining(parameter_tvb, SCTP_ADDRESS_OFFSET);
|
||||
dissect_parameters(parameters_tvb, parameter_tree);
|
||||
|
@ -330,8 +330,8 @@ dissect_tcp_transport_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_t
|
|||
{
|
||||
tvbuff_t *parameters_tvb;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_tcp_port, parameter_tvb, TCP_PORT_OFFSET, TCP_PORT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_transport_use, parameter_tvb, TCP_TRANSPORT_USE_OFFSET, TCP_TRANSPORT_USE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_tcp_port, parameter_tvb, TCP_PORT_OFFSET, TCP_PORT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_transport_use, parameter_tvb, TCP_TRANSPORT_USE_OFFSET, TCP_TRANSPORT_USE_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
parameters_tvb = tvb_new_subset_remaining(parameter_tvb, TCP_ADDRESS_OFFSET);
|
||||
dissect_parameters(parameters_tvb, parameter_tree);
|
||||
|
@ -348,8 +348,8 @@ dissect_udp_transport_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_t
|
|||
{
|
||||
tvbuff_t *parameters_tvb;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_udp_port, parameter_tvb, UDP_PORT_OFFSET, UDP_PORT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_udp_reserved, parameter_tvb, UDP_RESERVED_OFFSET, UDP_RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_udp_port, parameter_tvb, UDP_PORT_OFFSET, UDP_PORT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_udp_reserved, parameter_tvb, UDP_RESERVED_OFFSET, UDP_RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
parameters_tvb = tvb_new_subset_remaining(parameter_tvb, UDP_ADDRESS_OFFSET);
|
||||
dissect_parameters(parameters_tvb, parameter_tree);
|
||||
|
@ -366,8 +366,8 @@ dissect_udp_lite_transport_parameter(tvbuff_t *parameter_tvb, proto_tree *parame
|
|||
{
|
||||
tvbuff_t *parameters_tvb;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_udp_lite_port, parameter_tvb, UDP_LITE_PORT_OFFSET, UDP_LITE_PORT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_udp_lite_reserved, parameter_tvb, UDP_LITE_RESERVED_OFFSET, UDP_LITE_RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_udp_lite_port, parameter_tvb, UDP_LITE_PORT_OFFSET, UDP_LITE_PORT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_udp_lite_reserved, parameter_tvb, UDP_LITE_RESERVED_OFFSET, UDP_LITE_RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
parameters_tvb = tvb_new_subset_remaining(parameter_tvb, UDP_LITE_ADDRESS_OFFSET);
|
||||
dissect_parameters(parameters_tvb, parameter_tree);
|
||||
|
@ -431,7 +431,7 @@ dissect_pool_member_selection_policy_parameter(tvbuff_t *parameter_tvb, proto_tr
|
|||
guint32 type;
|
||||
guint length;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_policy_type, parameter_tvb, POLICY_TYPE_OFFSET, POLICY_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_policy_type, parameter_tvb, POLICY_TYPE_OFFSET, POLICY_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
type = tvb_get_ntohl(parameter_tvb, POLICY_TYPE_OFFSET);
|
||||
switch (type) {
|
||||
case RANDOM_POLICY:
|
||||
|
@ -439,10 +439,10 @@ dissect_pool_member_selection_policy_parameter(tvbuff_t *parameter_tvb, proto_tr
|
|||
break;
|
||||
case WEIGHTED_RANDOM_POLICY:
|
||||
case WEIGHTED_ROUND_ROBIN_POLICY:
|
||||
proto_tree_add_item(parameter_tree, hf_policy_weight, parameter_tvb, POLICY_WEIGHT_OFFSET, POLICY_WEIGHT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_policy_weight, parameter_tvb, POLICY_WEIGHT_OFFSET, POLICY_WEIGHT_LENGTH, ENC_BIG_ENDIAN);
|
||||
break;
|
||||
case PRIORITY_POLICY:
|
||||
proto_tree_add_item(parameter_tree, hf_policy_priority, parameter_tvb, POLICY_PRIORITY_OFFSET, POLICY_PRIORITY_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_policy_priority, parameter_tvb, POLICY_PRIORITY_OFFSET, POLICY_PRIORITY_LENGTH, ENC_BIG_ENDIAN);
|
||||
break;
|
||||
case LEAST_USED_POLICY:
|
||||
case RANDOMIZED_LEAST_USED_POLICY:
|
||||
|
@ -466,14 +466,14 @@ dissect_pool_member_selection_policy_parameter(tvbuff_t *parameter_tvb, proto_tr
|
|||
proto_tree_add_double_format_value(parameter_tree, hf_policy_loaddpf, parameter_tvb, POLICY_LUDPF_LOADDPF_OFFSET, POLICY_LUDPF_LOADDPF_LENGTH,
|
||||
tvb_get_ntohl(parameter_tvb, POLICY_LUDPF_LOADDPF_OFFSET) / (double)0xffffffff, "%1.5f",
|
||||
tvb_get_ntohl(parameter_tvb, POLICY_LUDPF_LOADDPF_OFFSET) / (double)0xffffffff);
|
||||
proto_tree_add_item(parameter_tree, hf_policy_distance, parameter_tvb, POLICY_LUDPF_DISTANCE_OFFSET, POLICY_LUDPF_DISTANCE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_policy_distance, parameter_tvb, POLICY_LUDPF_DISTANCE_OFFSET, POLICY_LUDPF_DISTANCE_LENGTH, ENC_BIG_ENDIAN);
|
||||
break;
|
||||
case WEIGHTED_RANDOM_DPF_POLICY:
|
||||
proto_tree_add_item(parameter_tree, hf_policy_weight, parameter_tvb, POLICY_WEIGHT_OFFSET, POLICY_WEIGHT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_policy_weight, parameter_tvb, POLICY_WEIGHT_OFFSET, POLICY_WEIGHT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_double_format_value(parameter_tree, hf_policy_weightdpf, parameter_tvb, POLICY_WRANDDPF_WEIGHTDPF_OFFSET, POLICY_WRANDDPF_WEIGHTDPF_LENGTH,
|
||||
tvb_get_ntohl(parameter_tvb, POLICY_WRANDDPF_WEIGHTDPF_OFFSET) / (double)0xffffffff, "%1.5f",
|
||||
tvb_get_ntohl(parameter_tvb, POLICY_WRANDDPF_WEIGHTDPF_OFFSET) / (double)0xffffffff);
|
||||
proto_tree_add_item(parameter_tree, hf_policy_distance, parameter_tvb, POLICY_WRANDDPF_DISTANCE_OFFSET, POLICY_WRANDDPF_DISTANCE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_policy_distance, parameter_tvb, POLICY_WRANDDPF_DISTANCE_OFFSET, POLICY_WRANDDPF_DISTANCE_LENGTH, ENC_BIG_ENDIAN);
|
||||
break;
|
||||
default:
|
||||
length = tvb_length(parameter_tvb) - POLICY_VALUE_OFFSET;
|
||||
|
@ -495,7 +495,7 @@ dissect_pool_handle_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tre
|
|||
char* tmp;
|
||||
|
||||
handle_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
pi = proto_tree_add_item(parameter_tree, hf_pool_handle, parameter_tvb, POOL_HANDLE_OFFSET, handle_length, REP_BIG_ENDIAN);
|
||||
pi = proto_tree_add_item(parameter_tree, hf_pool_handle, parameter_tvb, POOL_HANDLE_OFFSET, handle_length, ENC_BIG_ENDIAN);
|
||||
|
||||
tmp = (gchar*)tvb_get_ephemeral_string(parameter_tvb, POOL_HANDLE_OFFSET, handle_length);
|
||||
proto_item_append_text(pi, " (%s)", tmp);
|
||||
|
@ -516,9 +516,9 @@ dissect_pool_element_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tr
|
|||
tvbuff_t* parameters_tvb;
|
||||
proto_item* pi;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_pe_pe_identifier, parameter_tvb, PE_PE_IDENTIFIER_OFFSET, PE_PE_IDENTIFIER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_home_enrp_id, parameter_tvb, HOME_ENRP_INDENTIFIER_OFFSET, HOME_ENRP_INDENTIFIER_LENGTH, REP_BIG_ENDIAN);
|
||||
pi = proto_tree_add_item(parameter_tree, hf_reg_life, parameter_tvb, REGISTRATION_LIFE_OFFSET, REGISTRATION_LIFE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_pe_pe_identifier, parameter_tvb, PE_PE_IDENTIFIER_OFFSET, PE_PE_IDENTIFIER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_home_enrp_id, parameter_tvb, HOME_ENRP_INDENTIFIER_OFFSET, HOME_ENRP_INDENTIFIER_LENGTH, ENC_BIG_ENDIAN);
|
||||
pi = proto_tree_add_item(parameter_tree, hf_reg_life, parameter_tvb, REGISTRATION_LIFE_OFFSET, REGISTRATION_LIFE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(pi, "ms");
|
||||
|
||||
parameters_tvb = tvb_new_subset_remaining(parameter_tvb, USER_TRANSPORT_PARAMETER_OFFSET);
|
||||
|
@ -534,7 +534,7 @@ dissect_server_information_parameter(tvbuff_t *parameter_tvb, proto_tree *parame
|
|||
{
|
||||
tvbuff_t *parameters_tvb;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_server_identifier, parameter_tvb, SERVER_ID_OFFSET, SERVER_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_server_identifier, parameter_tvb, SERVER_ID_OFFSET, SERVER_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
parameters_tvb = tvb_new_subset_remaining(parameter_tvb, SERVER_TRANSPORT_OFFSET);
|
||||
dissect_parameters(parameters_tvb, parameter_tree);
|
||||
|
@ -560,7 +560,7 @@ dissect_cookie_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, pr
|
|||
|
||||
cookie_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
if (cookie_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_cookie, parameter_tvb, COOKIE_OFFSET, cookie_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_cookie, parameter_tvb, COOKIE_OFFSET, cookie_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u byte%s)", cookie_length, plurality(cookie_length, "", "s"));
|
||||
}
|
||||
|
||||
|
@ -570,7 +570,7 @@ dissect_cookie_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, pr
|
|||
static void
|
||||
dissect_pe_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_pe_identifier, parameter_tvb, PE_IDENTIFIER_OFFSET, PE_IDENTIFIER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_pe_identifier, parameter_tvb, PE_IDENTIFIER_OFFSET, PE_IDENTIFIER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (0x%x)", tvb_get_ntohl(parameter_tvb, PE_IDENTIFIER_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -581,7 +581,7 @@ dissect_pe_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_t
|
|||
static void
|
||||
dissect_pe_checksum_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_pe_checksum, parameter_tvb, PE_CHECKSUM_OFFSET, PE_CHECKSUM_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_pe_checksum, parameter_tvb, PE_CHECKSUM_OFFSET, PE_CHECKSUM_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (0x%x)", tvb_get_ntohs(parameter_tvb, PE_CHECKSUM_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -594,7 +594,7 @@ dissect_unknown_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, p
|
|||
parameter_value_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
|
||||
if (parameter_value_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_value, parameter_tvb, PARAMETER_VALUE_OFFSET, parameter_value_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_value, parameter_tvb, PARAMETER_VALUE_OFFSET, parameter_value_length, ENC_BIG_ENDIAN);
|
||||
|
||||
proto_item_append_text(parameter_item, " (type %u and %u byte%s value)", type, parameter_value_length, plurality(parameter_value_length, "", "s"));
|
||||
}
|
||||
|
@ -651,8 +651,8 @@ dissect_parameter(tvbuff_t *parameter_tvb, proto_tree *enrp_tree)
|
|||
parameter_tree = proto_item_add_subtree(parameter_item, ett_enrp_parameter);
|
||||
|
||||
/* add tag and length to the enrp tree */
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_type, parameter_tvb, PARAMETER_TYPE_OFFSET, PARAMETER_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_type, parameter_tvb, PARAMETER_TYPE_OFFSET, PARAMETER_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
switch(type) {
|
||||
case IPV4_ADDRESS_PARAMETER_TYPE:
|
||||
|
@ -706,7 +706,7 @@ dissect_parameter(tvbuff_t *parameter_tvb, proto_tree *enrp_tree)
|
|||
};
|
||||
|
||||
if (padding_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -760,9 +760,9 @@ dissect_enrp_presence_message(tvbuff_t *message_tvb, proto_tree *message_tree, p
|
|||
{
|
||||
tvbuff_t *parameters_tvb;
|
||||
|
||||
proto_tree_add_item(flags_tree, hf_reply_required_bit, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_reply_required_bit, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
parameters_tvb = tvb_new_subset_remaining(message_tvb, MESSAGE_PARAMETERS_OFFSET);
|
||||
dissect_parameters(parameters_tvb, message_tree);
|
||||
}
|
||||
|
@ -779,9 +779,9 @@ static void
|
|||
dissect_enrp_handle_table_request_message(tvbuff_t *message_tvb, proto_tree *message_tree, proto_tree *flags_tree)
|
||||
{
|
||||
/* FIXME: ensure that the length is 12 bytes. */
|
||||
proto_tree_add_item(flags_tree, hf_own_children_only_bit, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_own_children_only_bit, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
#define REJECT_BIT_MASK 0x01
|
||||
|
@ -802,10 +802,10 @@ dissect_enrp_handle_table_response_message(tvbuff_t *message_tvb, proto_tree *me
|
|||
{
|
||||
tvbuff_t *parameters_tvb;
|
||||
|
||||
proto_tree_add_item(flags_tree, hf_more_to_send_bit, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_reject_bit, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_more_to_send_bit, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_reject_bit, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
parameters_tvb = tvb_new_subset_remaining(message_tvb, MESSAGE_PARAMETERS_OFFSET);
|
||||
dissect_parameters(parameters_tvb, message_tree);
|
||||
}
|
||||
|
@ -834,11 +834,11 @@ dissect_enrp_handle_update_message(tvbuff_t *message_tvb, proto_tree *message_tr
|
|||
{
|
||||
tvbuff_t *parameters_tvb;
|
||||
|
||||
proto_tree_add_item(flags_tree, hf_tos_bit, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_update_action, message_tvb, UPDATE_ACTION_OFFSET, UPDATE_ACTION_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_pmu_reserved, message_tvb, PNU_RESERVED_OFFSET, PNU_RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_tos_bit, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_update_action, message_tvb, UPDATE_ACTION_OFFSET, UPDATE_ACTION_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_pmu_reserved, message_tvb, PNU_RESERVED_OFFSET, PNU_RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
parameters_tvb = tvb_new_subset_remaining(message_tvb, PNU_MESSAGE_PARAMETERS_OFFSET);
|
||||
dissect_parameters(parameters_tvb, message_tree);
|
||||
}
|
||||
|
@ -847,8 +847,8 @@ static void
|
|||
dissect_enrp_list_request_message(tvbuff_t *message_tvb, proto_tree *message_tree, proto_tree *flags_tree _U_)
|
||||
{
|
||||
/* FIXME: ensure that the length is 12 bytes. */
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -856,9 +856,9 @@ dissect_enrp_list_response_message(tvbuff_t *message_tvb, proto_tree *message_tr
|
|||
{
|
||||
tvbuff_t *parameters_tvb;
|
||||
|
||||
proto_tree_add_item(flags_tree, hf_reject_bit, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_reject_bit, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
parameters_tvb = tvb_new_subset_remaining(message_tvb, MESSAGE_PARAMETERS_OFFSET);
|
||||
dissect_parameters(parameters_tvb, message_tree);
|
||||
}
|
||||
|
@ -870,27 +870,27 @@ static void
|
|||
dissect_enrp_init_takeover_message(tvbuff_t *message_tvb, proto_tree *message_tree, proto_tree *flags_tree _U_)
|
||||
{
|
||||
/* FIXME: ensure that the length is 16 bytes. */
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_target_servers_id, message_tvb, TARGET_SERVERS_ID_OFFSET, TARGET_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_target_servers_id, message_tvb, TARGET_SERVERS_ID_OFFSET, TARGET_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
dissect_enrp_init_takeover_ack_message(tvbuff_t *message_tvb, proto_tree *message_tree, proto_tree *flags_tree _U_)
|
||||
{
|
||||
/* FIXME: ensure that the length is 16 bytes. */
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_target_servers_id, message_tvb, TARGET_SERVERS_ID_OFFSET, TARGET_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_target_servers_id, message_tvb, TARGET_SERVERS_ID_OFFSET, TARGET_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
dissect_enrp_init_takeover_server_message(tvbuff_t *message_tvb, proto_tree *message_tree, proto_tree *flags_tree _U_)
|
||||
{
|
||||
/* FIXME: ensure that the length is 16 bytes. */
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_target_servers_id, message_tvb, TARGET_SERVERS_ID_OFFSET, TARGET_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_target_servers_id, message_tvb, TARGET_SERVERS_ID_OFFSET, TARGET_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -898,8 +898,8 @@ dissect_enrp_error_message(tvbuff_t *message_tvb, proto_tree *message_tree, prot
|
|||
{
|
||||
tvbuff_t *parameters_tvb;
|
||||
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_sender_servers_id, message_tvb, SENDER_SERVERS_ID_OFFSET, SENDER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_receiver_servers_id, message_tvb, RECEIVER_SERVERS_ID_OFFSET, RECEIVER_SERVERS_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
parameters_tvb = tvb_new_subset_remaining(message_tvb, MESSAGE_PARAMETERS_OFFSET);
|
||||
dissect_parameters(parameters_tvb, message_tree);
|
||||
}
|
||||
|
@ -907,7 +907,7 @@ dissect_enrp_error_message(tvbuff_t *message_tvb, proto_tree *message_tree, prot
|
|||
static void
|
||||
dissect_unknown_message(tvbuff_t *message_tvb, proto_tree *message_tree, proto_tree *flags_tree _U_)
|
||||
{
|
||||
proto_tree_add_item(message_tree, hf_message_value, message_tvb, MESSAGE_VALUE_OFFSET, tvb_length(message_tvb) - MESSAGE_HEADER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(message_tree, hf_message_value, message_tvb, MESSAGE_VALUE_OFFSET, tvb_length(message_tvb) - MESSAGE_HEADER_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
#define ENRP_PRESENCE_MESSAGE_TYPE 0x01
|
||||
|
@ -947,10 +947,10 @@ dissect_enrp_message(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *enrp
|
|||
col_add_fstr(pinfo->cinfo, COL_INFO, "%s ", val_to_str(type, message_type_values, "Unknown ENRP Type"));
|
||||
|
||||
if (enrp_tree) {
|
||||
proto_tree_add_item(enrp_tree, hf_message_type, message_tvb, MESSAGE_TYPE_OFFSET, MESSAGE_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
flags_item = proto_tree_add_item(enrp_tree, hf_message_flags, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(enrp_tree, hf_message_type, message_tvb, MESSAGE_TYPE_OFFSET, MESSAGE_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
flags_item = proto_tree_add_item(enrp_tree, hf_message_flags, message_tvb, MESSAGE_FLAGS_OFFSET, MESSAGE_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
flags_tree = proto_item_add_subtree(flags_item, ett_enrp_flags);
|
||||
proto_tree_add_item(enrp_tree, hf_message_length, message_tvb, MESSAGE_LENGTH_OFFSET, MESSAGE_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(enrp_tree, hf_message_length, message_tvb, MESSAGE_LENGTH_OFFSET, MESSAGE_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
switch (type) {
|
||||
case ENRP_PRESENCE_MESSAGE_TYPE:
|
||||
dissect_enrp_presence_message(message_tvb, enrp_tree, flags_tree);
|
||||
|
@ -1003,7 +1003,7 @@ dissect_enrp(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *tree)
|
|||
necessary to generate protocol tree items. */
|
||||
if (tree) {
|
||||
/* create the enrp protocol tree */
|
||||
enrp_item = proto_tree_add_item(tree, proto_enrp, message_tvb, 0, -1, REP_NA);
|
||||
enrp_item = proto_tree_add_item(tree, proto_enrp, message_tvb, 0, -1, ENC_NA);
|
||||
enrp_tree = proto_item_add_subtree(enrp_item, ett_enrp);
|
||||
} else {
|
||||
enrp_tree = NULL;
|
||||
|
|
|
@ -114,7 +114,7 @@ dissect_int_interface_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *
|
|||
|
||||
proto_item_append_text(parameter_item, " (");
|
||||
for (id_number = 1; id_number <= number_of_ids; id_number++) {
|
||||
proto_tree_add_item(parameter_tree, hf_int_interface_id, parameter_tvb, offset, INT_INTERFACE_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_int_interface_id, parameter_tvb, offset, INT_INTERFACE_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, (id_number > 1) ? ", %d" : "%d", tvb_get_ntohl(parameter_tvb, offset));
|
||||
offset += INT_INTERFACE_ID_LENGTH;
|
||||
}
|
||||
|
@ -130,7 +130,7 @@ dissect_text_interface_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree
|
|||
|
||||
interface_id_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_text_interface_id, parameter_tvb, TEXT_INTERFACE_ID_OFFSET, interface_id_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_text_interface_id, parameter_tvb, TEXT_INTERFACE_ID_OFFSET, interface_id_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%.*s)", interface_id_length,
|
||||
(const char *)tvb_get_ptr(parameter_tvb, TEXT_INTERFACE_ID_OFFSET, interface_id_length));
|
||||
}
|
||||
|
@ -143,7 +143,7 @@ dissect_info_string_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tre
|
|||
guint16 info_string_length;
|
||||
|
||||
info_string_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_info_string, parameter_tvb, INFO_STRING_OFFSET, info_string_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_info_string, parameter_tvb, INFO_STRING_OFFSET, info_string_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%.*s)", info_string_length,
|
||||
(const char *)tvb_get_ptr(parameter_tvb, INFO_STRING_OFFSET, info_string_length));
|
||||
}
|
||||
|
@ -183,18 +183,18 @@ static void
|
|||
dissect_dlci_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree)
|
||||
{
|
||||
proto_item *sapi_item;
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_zero_bit, parameter_tvb, DLCI_SAPI_OFFSET, DLCI_SAPI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_spare_bit, parameter_tvb, DLCI_SAPI_OFFSET, DLCI_SAPI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_zero_bit, parameter_tvb, DLCI_SAPI_OFFSET, DLCI_SAPI_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_spare_bit, parameter_tvb, DLCI_SAPI_OFFSET, DLCI_SAPI_LENGTH, ENC_BIG_ENDIAN);
|
||||
/* Add the SAPI + some explanatory text, store the SAPI value so that we can later how to
|
||||
* dissect the protocol data */
|
||||
sapi_item = proto_tree_add_item(parameter_tree, hf_dlci_sapi, parameter_tvb, DLCI_SAPI_OFFSET, DLCI_SAPI_LENGTH, REP_BIG_ENDIAN);
|
||||
sapi_item = proto_tree_add_item(parameter_tree, hf_dlci_sapi, parameter_tvb, DLCI_SAPI_OFFSET, DLCI_SAPI_LENGTH, ENC_BIG_ENDIAN);
|
||||
sapi_val = (tvb_get_guint8(parameter_tvb, DLCI_SAPI_OFFSET) & SAPI_MASK) >> SAPI_SHIFT;
|
||||
proto_item_append_text(sapi_item, " (%s)", val_to_str( sapi_val, sapi_values, "Unknown/reserved"));
|
||||
sapi_val_assigned = TRUE;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_one_bit, parameter_tvb, DLCI_TEI_OFFSET, DLCI_TEI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_tei, parameter_tvb, DLCI_TEI_OFFSET, DLCI_TEI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_spare, parameter_tvb, DLCI_SPARE_OFFSET, DLCI_SPARE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_one_bit, parameter_tvb, DLCI_TEI_OFFSET, DLCI_TEI_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_tei, parameter_tvb, DLCI_TEI_OFFSET, DLCI_TEI_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dlci_spare, parameter_tvb, DLCI_SPARE_OFFSET, DLCI_SPARE_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -203,7 +203,7 @@ dissect_diagnostic_information_parameter(tvbuff_t *parameter_tvb, proto_tree *pa
|
|||
guint16 diag_info_length;
|
||||
|
||||
diag_info_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_diag_info, parameter_tvb, PARAMETER_VALUE_OFFSET, diag_info_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_diag_info, parameter_tvb, PARAMETER_VALUE_OFFSET, diag_info_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u byte%s)", diag_info_length, plurality(diag_info_length, "", "s"));
|
||||
}
|
||||
|
||||
|
@ -224,8 +224,8 @@ dissect_integer_range_interface_identifier_parameter(tvbuff_t *parameter_tvb, pr
|
|||
offset = PARAMETER_VALUE_OFFSET;
|
||||
proto_item_append_text(parameter_item, " (");
|
||||
for (range_number = 1; range_number <= number_of_ranges; range_number++) {
|
||||
proto_tree_add_item(parameter_tree, hf_interface_range_start, parameter_tvb, offset + START_OFFSET, START_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_interface_range_end, parameter_tvb, offset + END_OFFSET, END_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_interface_range_start, parameter_tvb, offset + START_OFFSET, START_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_interface_range_end, parameter_tvb, offset + END_OFFSET, END_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, (range_number > 1) ? ", %d-%d" : "%d-%d",
|
||||
tvb_get_ntohl(parameter_tvb, offset + START_OFFSET), tvb_get_ntohl(parameter_tvb, offset + END_OFFSET));
|
||||
offset += INTERVAL_LENGTH;
|
||||
|
@ -241,7 +241,7 @@ dissect_heartbeat_data_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_
|
|||
guint16 heartbeat_data_length;
|
||||
|
||||
heartbeat_data_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_heartbeat_data, parameter_tvb, HEARTBEAT_DATA_OFFSET, heartbeat_data_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_heartbeat_data, parameter_tvb, HEARTBEAT_DATA_OFFSET, heartbeat_data_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u byte%s)", heartbeat_data_length, plurality(heartbeat_data_length, "", "s"));
|
||||
}
|
||||
|
||||
|
@ -257,7 +257,7 @@ static const value_string asp_reason_values[] = {
|
|||
static void
|
||||
dissect_asp_reason_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_asp_reason, parameter_tvb, ASP_REASON_OFFSET, ASP_REASON_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_asp_reason, parameter_tvb, ASP_REASON_OFFSET, ASP_REASON_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, ASP_REASON_OFFSET), asp_reason_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -275,7 +275,7 @@ static const value_string traffic_mode_type_values[] = {
|
|||
static void
|
||||
dissect_traffic_mode_type_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_traffic_mode_type, parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET, TRAFFIC_MODE_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_traffic_mode_type, parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET, TRAFFIC_MODE_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)",
|
||||
val_to_str(tvb_get_ntohl(parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET), traffic_mode_type_values, "unknown"));
|
||||
}
|
||||
|
@ -335,7 +335,7 @@ static const value_string error_code_ig_values[] = {
|
|||
static void
|
||||
dissect_error_code_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, support_IG?hf_error_code_ig:hf_error_code, parameter_tvb, ERROR_CODE_OFFSET, ERROR_CODE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, support_IG?hf_error_code_ig:hf_error_code, parameter_tvb, ERROR_CODE_OFFSET, ERROR_CODE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)",
|
||||
val_to_str(tvb_get_ntohl(parameter_tvb, ERROR_CODE_OFFSET), support_IG?error_code_ig_values:error_code_values, "unknown"));
|
||||
}
|
||||
|
@ -386,7 +386,7 @@ dissect_status_type_identification_parameter(tvbuff_t *parameter_tvb, proto_tree
|
|||
status_type = tvb_get_ntohs(parameter_tvb, STATUS_TYPE_OFFSET);
|
||||
status_id = tvb_get_ntohs(parameter_tvb, STATUS_IDENT_OFFSET);
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_status_type, parameter_tvb, STATUS_TYPE_OFFSET, STATUS_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_status_type, parameter_tvb, STATUS_TYPE_OFFSET, STATUS_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_uint_format(parameter_tree, hf_status_id, parameter_tvb, STATUS_IDENT_OFFSET, STATUS_IDENT_LENGTH,
|
||||
status_id, "Status identification: %u (%s)", status_id,
|
||||
val_to_str(status_type * 256 * 256 + status_id, support_IG?status_type_id_ig_values:status_type_id_values, "unknown"));
|
||||
|
@ -446,7 +446,7 @@ static const value_string release_reason_values[] = {
|
|||
static void
|
||||
dissect_release_reason_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_release_reason, parameter_tvb, RELEASE_REASON_OFFSET, RELEASE_REASON_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_release_reason, parameter_tvb, RELEASE_REASON_OFFSET, RELEASE_REASON_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)",
|
||||
val_to_str(tvb_get_ntohl(parameter_tvb, RELEASE_REASON_OFFSET), release_reason_values, "unknown"));
|
||||
}
|
||||
|
@ -465,7 +465,7 @@ static const value_string tei_status_values[] = {
|
|||
static void
|
||||
dissect_tei_status_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_tei_status, parameter_tvb, TEI_STATUS_OFFSET, TEI_STATUS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_tei_status, parameter_tvb, TEI_STATUS_OFFSET, TEI_STATUS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)",
|
||||
val_to_str(tvb_get_ntohl(parameter_tvb, TEI_STATUS_OFFSET), tei_status_values, "unknown"));
|
||||
}
|
||||
|
@ -476,7 +476,7 @@ dissect_tei_status_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree
|
|||
static void
|
||||
dissect_asp_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_asp_id, parameter_tvb, ASP_ID_OFFSET, ASP_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_asp_id, parameter_tvb, ASP_ID_OFFSET, ASP_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohl(parameter_tvb, ASP_ID_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -487,7 +487,7 @@ dissect_unknown_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, p
|
|||
|
||||
parameter_value_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
if (parameter_value_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_value, parameter_tvb, PARAMETER_VALUE_OFFSET, parameter_value_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_value, parameter_tvb, PARAMETER_VALUE_OFFSET, parameter_value_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " with tag %u and %u byte%s value",
|
||||
tvb_get_ntohs(parameter_tvb, PARAMETER_TAG_OFFSET), parameter_value_length, plurality(parameter_value_length, "", "s"));
|
||||
}
|
||||
|
@ -560,8 +560,8 @@ dissect_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *tree,
|
|||
parameter_tree = proto_item_add_subtree(parameter_item, ett_iua_parameter);
|
||||
|
||||
/* add tag and length to the iua tree */
|
||||
proto_tree_add_item(parameter_tree, support_IG?hf_parameter_tag_ig:hf_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, support_IG?hf_parameter_tag_ig:hf_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
switch(tag) {
|
||||
case INT_INTERFACE_IDENTIFIER_PARAMETER_TAG:
|
||||
|
@ -621,7 +621,7 @@ dissect_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *tree,
|
|||
};
|
||||
|
||||
if (padding_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -850,14 +850,14 @@ dissect_common_header(tvbuff_t *common_header_tvb, packet_info *pinfo, proto_tre
|
|||
|
||||
if (iua_tree) {
|
||||
/* add the components of the common header to the protocol tree */
|
||||
proto_tree_add_item(iua_tree, hf_version, common_header_tvb, VERSION_OFFSET, VERSION_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(iua_tree, hf_reserved, common_header_tvb, RESERVED_OFFSET, RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(iua_tree, hf_message_class, common_header_tvb, MESSAGE_CLASS_OFFSET, MESSAGE_CLASS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(iua_tree, hf_version, common_header_tvb, VERSION_OFFSET, VERSION_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(iua_tree, hf_reserved, common_header_tvb, RESERVED_OFFSET, RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(iua_tree, hf_message_class, common_header_tvb, MESSAGE_CLASS_OFFSET, MESSAGE_CLASS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_uint_format(iua_tree, hf_message_type,
|
||||
common_header_tvb, MESSAGE_TYPE_OFFSET, MESSAGE_TYPE_LENGTH,
|
||||
message_type, "Message type: %u (%s)",
|
||||
message_type, val_to_str(message_class * 256 + message_type, support_IG?message_class_type_ig_values:message_class_type_values, "reserved"));
|
||||
proto_tree_add_item(iua_tree, hf_message_length, common_header_tvb, MESSAGE_LENGTH_OFFSET, MESSAGE_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(iua_tree, hf_message_length, common_header_tvb, MESSAGE_LENGTH_OFFSET, MESSAGE_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -888,7 +888,7 @@ dissect_iua(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *tree)
|
|||
necessary to generate protocol tree items. */
|
||||
if (tree) {
|
||||
/* create the m3ua protocol tree */
|
||||
iua_item = proto_tree_add_item(tree, proto_iua, message_tvb, 0, -1, REP_NA);
|
||||
iua_item = proto_tree_add_item(tree, proto_iua, message_tvb, 0, -1, ENC_NA);
|
||||
iua_tree = proto_item_add_subtree(iua_item, ett_iua);
|
||||
} else {
|
||||
iua_tree = NULL;
|
||||
|
|
|
@ -164,10 +164,10 @@ dissect_v2_header(tvbuff_t *header_tvb, packet_info *pinfo, proto_tree *m2pa_tre
|
|||
col_add_fstr(pinfo->cinfo, COL_INFO, "%s ", val_to_str(message_type, v2_message_type_values, "reserved"));
|
||||
|
||||
if (m2pa_tree) {
|
||||
proto_tree_add_item(m2pa_tree, hf_version, header_tvb, VERSION_OFFSET, VERSION_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_spare, header_tvb, SPARE_OFFSET, SPARE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_v2_type, header_tvb, V2_TYPE_OFFSET, V2_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_length, header_tvb, V2_LENGTH_OFFSET, LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_version, header_tvb, VERSION_OFFSET, VERSION_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_spare, header_tvb, SPARE_OFFSET, SPARE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_v2_type, header_tvb, V2_TYPE_OFFSET, V2_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_length, header_tvb, V2_LENGTH_OFFSET, LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -182,15 +182,15 @@ dissect_v8_header(tvbuff_t *header_tvb, packet_info *pinfo, proto_tree *m2pa_tre
|
|||
col_add_fstr(pinfo->cinfo, COL_INFO, "%s ", val_to_str(message_type, v8_message_type_values, "Unknown"));
|
||||
|
||||
if (m2pa_tree) {
|
||||
proto_tree_add_item(m2pa_tree, hf_version, header_tvb, VERSION_OFFSET, VERSION_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_spare, header_tvb, SPARE_OFFSET, SPARE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_class, header_tvb, CLASS_OFFSET, CLASS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_v8_type, header_tvb, V8_TYPE_OFFSET, V8_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_length, header_tvb, V8_LENGTH_OFFSET, LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_unused, header_tvb, FIRST_UNUSED_OFFSET, UNUSED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_bsn, header_tvb, BSN_OFFSET, BSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_unused, header_tvb, SECOND_UNUSED_OFFSET, UNUSED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_fsn, header_tvb, FSN_OFFSET, FSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_version, header_tvb, VERSION_OFFSET, VERSION_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_spare, header_tvb, SPARE_OFFSET, SPARE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_class, header_tvb, CLASS_OFFSET, CLASS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_v8_type, header_tvb, V8_TYPE_OFFSET, V8_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_length, header_tvb, V8_LENGTH_OFFSET, LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_unused, header_tvb, FIRST_UNUSED_OFFSET, UNUSED_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_bsn, header_tvb, BSN_OFFSET, BSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_unused, header_tvb, SECOND_UNUSED_OFFSET, UNUSED_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_fsn, header_tvb, FSN_OFFSET, FSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -205,15 +205,15 @@ dissect_v12_header(tvbuff_t *header_tvb, packet_info *pinfo, proto_tree *m2pa_tr
|
|||
col_add_fstr(pinfo->cinfo, COL_INFO, "%s ", val_to_str(message_type, v8_message_type_values, "Unknown"));
|
||||
|
||||
if (m2pa_tree) {
|
||||
proto_tree_add_item(m2pa_tree, hf_version, header_tvb, VERSION_OFFSET, VERSION_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_spare, header_tvb, SPARE_OFFSET, SPARE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_class, header_tvb, CLASS_OFFSET, CLASS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_v12_type, header_tvb, V12_TYPE_OFFSET, V12_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_length, header_tvb, V12_LENGTH_OFFSET, LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_unused, header_tvb, FIRST_UNUSED_OFFSET, UNUSED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_bsn, header_tvb, BSN_OFFSET, BSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_unused, header_tvb, SECOND_UNUSED_OFFSET, UNUSED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_fsn, header_tvb, FSN_OFFSET, FSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_version, header_tvb, VERSION_OFFSET, VERSION_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_spare, header_tvb, SPARE_OFFSET, SPARE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_class, header_tvb, CLASS_OFFSET, CLASS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_v12_type, header_tvb, V12_TYPE_OFFSET, V12_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_length, header_tvb, V12_LENGTH_OFFSET, LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_unused, header_tvb, FIRST_UNUSED_OFFSET, UNUSED_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_bsn, header_tvb, BSN_OFFSET, BSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_unused, header_tvb, SECOND_UNUSED_OFFSET, UNUSED_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_fsn, header_tvb, FSN_OFFSET, FSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -236,8 +236,8 @@ dissect_v2_user_data_message(tvbuff_t *message_data_tvb, packet_info *pinfo, pro
|
|||
m2pa_li_item = proto_tree_add_text(m2pa_tree, message_data_tvb, LI_OFFSET, LI_LENGTH, "Length Indicator");
|
||||
m2pa_li_tree = proto_item_add_subtree(m2pa_li_item, ett_m2pa_li);
|
||||
|
||||
proto_tree_add_item(m2pa_li_tree, hf_v2_li_spare, message_data_tvb, LI_OFFSET, LI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_li_tree, hf_v2_li_prio, message_data_tvb, LI_OFFSET, LI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_li_tree, hf_v2_li_spare, message_data_tvb, LI_OFFSET, LI_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_li_tree, hf_v2_li_prio, message_data_tvb, LI_OFFSET, LI_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
/* Re-adjust length of M2PA item since it will be dissected as MTP3 */
|
||||
proto_item_set_len(m2pa_item, V2_HEADER_LENGTH + LI_LENGTH);
|
||||
|
@ -262,8 +262,8 @@ dissect_v8_user_data_message(tvbuff_t *message_data_tvb, packet_info *pinfo, pro
|
|||
if (m2pa_tree) {
|
||||
m2pa_li_item = proto_tree_add_text(m2pa_tree, message_data_tvb, LI_OFFSET, LI_LENGTH, "Length Indicator");
|
||||
m2pa_li_tree = proto_item_add_subtree(m2pa_li_item, ett_m2pa_li);
|
||||
proto_tree_add_item(m2pa_li_tree, hf_v8_li_prio, message_data_tvb, LI_OFFSET, LI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_li_tree, hf_v8_li_spare, message_data_tvb, LI_OFFSET, LI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_li_tree, hf_v8_li_prio, message_data_tvb, LI_OFFSET, LI_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_li_tree, hf_v8_li_spare, message_data_tvb, LI_OFFSET, LI_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
/* Re-adjust length of M2PA item since it will be dissected as MTP3 */
|
||||
proto_item_set_len(m2pa_item, V8_HEADER_LENGTH + LI_LENGTH);
|
||||
|
@ -291,8 +291,8 @@ dissect_v12_user_data_message(tvbuff_t *message_data_tvb, packet_info *pinfo, pr
|
|||
if (m2pa_tree) {
|
||||
m2pa_li_item = proto_tree_add_text(m2pa_tree, message_data_tvb, PRI_OFFSET, PRI_LENGTH, "Priority");
|
||||
m2pa_li_tree = proto_item_add_subtree(m2pa_li_item, ett_m2pa_li);
|
||||
proto_tree_add_item(m2pa_li_tree, hf_pri_prio, message_data_tvb, PRI_OFFSET, PRI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_li_tree, hf_pri_spare, message_data_tvb, PRI_OFFSET, PRI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_li_tree, hf_pri_prio, message_data_tvb, PRI_OFFSET, PRI_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_li_tree, hf_pri_spare, message_data_tvb, PRI_OFFSET, PRI_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
/* Re-adjust length of M2PA item since it will be dissected as MTP3 */
|
||||
proto_item_set_len(m2pa_item, V12_HEADER_LENGTH + PRI_LENGTH);
|
||||
|
@ -321,7 +321,7 @@ dissect_v2_link_status_message(tvbuff_t *message_data_tvb, packet_info *pinfo, p
|
|||
if (check_col(pinfo->cinfo, COL_INFO))
|
||||
col_append_fstr(pinfo->cinfo, COL_INFO, "(%s) ", val_to_str(tvb_get_ntohl(message_data_tvb, STATUS_OFFSET), v2_link_status_values, "Unknown"));
|
||||
if (m2pa_tree)
|
||||
proto_tree_add_item(m2pa_tree, hf_v2_status, message_data_tvb, STATUS_OFFSET, STATUS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_v2_status, message_data_tvb, STATUS_OFFSET, STATUS_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static const value_string v8_link_status_values[] = {
|
||||
|
@ -346,9 +346,9 @@ dissect_v8_link_status_message(tvbuff_t *message_data_tvb, packet_info *pinfo, p
|
|||
|
||||
filler_length = tvb_length(message_data_tvb) - STATUS_LENGTH;
|
||||
|
||||
proto_tree_add_item(m2pa_tree, hf_v8_status, message_data_tvb, STATUS_OFFSET, STATUS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_v8_status, message_data_tvb, STATUS_OFFSET, STATUS_LENGTH, ENC_BIG_ENDIAN);
|
||||
if (filler_length > 0)
|
||||
proto_tree_add_item(m2pa_tree, hf_filler, message_data_tvb, FILLER_OFFSET, filler_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_filler, message_data_tvb, FILLER_OFFSET, filler_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static const value_string v12_link_status_values[] = {
|
||||
|
@ -373,9 +373,9 @@ dissect_v12_link_status_message(tvbuff_t *message_data_tvb, packet_info *pinfo,
|
|||
|
||||
filler_length = tvb_length(message_data_tvb) - STATUS_LENGTH;
|
||||
|
||||
proto_tree_add_item(m2pa_tree, hf_v12_status, message_data_tvb, STATUS_OFFSET, STATUS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_v12_status, message_data_tvb, STATUS_OFFSET, STATUS_LENGTH, ENC_BIG_ENDIAN);
|
||||
if (filler_length > 0)
|
||||
proto_tree_add_item(m2pa_tree, hf_filler, message_data_tvb, FILLER_OFFSET, filler_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_filler, message_data_tvb, FILLER_OFFSET, filler_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -385,7 +385,7 @@ dissect_unknown_message(tvbuff_t *message_data_tvb, proto_tree *m2pa_tree)
|
|||
|
||||
length = tvb_length(message_data_tvb);
|
||||
if ((m2pa_tree) && (length > 0))
|
||||
proto_tree_add_item(m2pa_tree, hf_unknown_data, message_data_tvb, 0, length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2pa_tree, hf_unknown_data, message_data_tvb, 0, length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
#define V2_MESSAGE_DATA_OFFSET (HEADER_OFFSET + V2_HEADER_LENGTH)
|
||||
|
@ -484,7 +484,7 @@ dissect_v12_message_data(tvbuff_t *message_tvb, packet_info *pinfo, proto_item *
|
|||
{
|
||||
proto_item *pi;
|
||||
|
||||
pi = proto_tree_add_item(m2pa_tree, hf_undecode_data, message_tvb, length, (actual_length - length), REP_BIG_ENDIAN);
|
||||
pi = proto_tree_add_item(m2pa_tree, hf_undecode_data, message_tvb, length, (actual_length - length), ENC_BIG_ENDIAN);
|
||||
expert_add_info_format(pinfo, pi, PI_MALFORMED, PI_WARN,
|
||||
"There are %d bytes of data which is greater than M2PA's length parameter (%d)",
|
||||
actual_length, length);
|
||||
|
@ -532,7 +532,7 @@ dissect_m2pa(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
};
|
||||
|
||||
if (tree) {
|
||||
m2pa_item = proto_tree_add_item(tree, proto_m2pa, tvb, 0, -1, REP_NA);
|
||||
m2pa_item = proto_tree_add_item(tree, proto_m2pa, tvb, 0, -1, ENC_NA);
|
||||
m2pa_tree = proto_item_add_subtree(m2pa_item, ett_m2pa);
|
||||
} else {
|
||||
m2pa_item = NULL;
|
||||
|
|
|
@ -247,13 +247,13 @@ dissect_common_header(tvbuff_t *common_header_tvb, packet_info *pinfo, proto_tre
|
|||
|
||||
if (m2ua_tree) {
|
||||
/* add the components of the common header to the protocol tree */
|
||||
proto_tree_add_item(m2ua_tree, hf_version, common_header_tvb, VERSION_OFFSET, VERSION_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2ua_tree, hf_reserved, common_header_tvb, RESERVED_OFFSET, RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2ua_tree, hf_message_class, common_header_tvb, MESSAGE_CLASS_OFFSET, MESSAGE_CLASS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2ua_tree, hf_version, common_header_tvb, VERSION_OFFSET, VERSION_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2ua_tree, hf_reserved, common_header_tvb, RESERVED_OFFSET, RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2ua_tree, hf_message_class, common_header_tvb, MESSAGE_CLASS_OFFSET, MESSAGE_CLASS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_uint_format(m2ua_tree, hf_message_type, common_header_tvb, MESSAGE_TYPE_OFFSET, MESSAGE_TYPE_LENGTH, message_type,
|
||||
"Message type: %s (%u)",
|
||||
val_to_str(message_class * 256 + message_type, message_class_type_values, "reserved"), message_type);
|
||||
proto_tree_add_item(m2ua_tree, hf_message_length, common_header_tvb, MESSAGE_LENGTH_OFFSET, MESSAGE_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m2ua_tree, hf_message_length, common_header_tvb, MESSAGE_LENGTH_OFFSET, MESSAGE_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -273,7 +273,7 @@ dissect_common_header(tvbuff_t *common_header_tvb, packet_info *pinfo, proto_tre
|
|||
static void
|
||||
dissect_interface_identifier_int_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_interface_id_int, parameter_tvb, INT_INTERFACE_ID_OFFSET, INT_INTERFACE_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_interface_id_int, parameter_tvb, INT_INTERFACE_ID_OFFSET, INT_INTERFACE_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%d)", tvb_get_ntohl(parameter_tvb, INT_INTERFACE_ID_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -286,7 +286,7 @@ dissect_interface_identifier_text_parameter(tvbuff_t *parameter_tvb, proto_tree
|
|||
|
||||
interface_id_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_interface_id_text, parameter_tvb, TEXT_INTERFACE_ID_OFFSET, interface_id_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_interface_id_text, parameter_tvb, TEXT_INTERFACE_ID_OFFSET, interface_id_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%.*s)", interface_id_length,
|
||||
(const char *)tvb_get_ptr(parameter_tvb, TEXT_INTERFACE_ID_OFFSET, interface_id_length));
|
||||
}
|
||||
|
@ -299,7 +299,7 @@ dissect_info_string_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tre
|
|||
guint16 info_string_length;
|
||||
|
||||
info_string_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_info_string, parameter_tvb, INFO_STRING_OFFSET, info_string_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_info_string, parameter_tvb, INFO_STRING_OFFSET, info_string_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%.*s)", info_string_length,
|
||||
(const char *)tvb_get_ptr(parameter_tvb, INFO_STRING_OFFSET, info_string_length));
|
||||
}
|
||||
|
@ -312,7 +312,7 @@ dissect_diagnostic_information_parameter(tvbuff_t *parameter_tvb, proto_tree *pa
|
|||
guint16 diag_info_length;
|
||||
|
||||
diag_info_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_diagnostic_information, parameter_tvb, DIAGNOSTIC_INFO_OFFSET, diag_info_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_diagnostic_information, parameter_tvb, DIAGNOSTIC_INFO_OFFSET, diag_info_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u byte%s)", diag_info_length, plurality(diag_info_length, "", "s"));
|
||||
}
|
||||
|
||||
|
@ -332,8 +332,8 @@ dissect_interface_identifier_range_parameter(tvbuff_t *parameter_tvb, proto_tree
|
|||
number_of_ranges = (tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH) / INTERVAL_LENGTH;
|
||||
offset = PARAMETER_VALUE_OFFSET;
|
||||
for(range_number = 1; range_number <= number_of_ranges; range_number++) {
|
||||
proto_tree_add_item(parameter_tree, hf_interface_id_start, parameter_tvb, offset + START_OFFSET, START_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_interface_id_stop, parameter_tvb, offset + END_OFFSET, END_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_interface_id_start, parameter_tvb, offset + START_OFFSET, START_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_interface_id_stop, parameter_tvb, offset + END_OFFSET, END_LENGTH, ENC_BIG_ENDIAN);
|
||||
offset += INTERVAL_LENGTH;
|
||||
};
|
||||
|
||||
|
@ -348,7 +348,7 @@ dissect_heartbeat_data_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_
|
|||
guint16 heartbeat_data_length;
|
||||
|
||||
heartbeat_data_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_heartbeat_data, parameter_tvb, HEARTBEAT_DATA_OFFSET, heartbeat_data_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_heartbeat_data, parameter_tvb, HEARTBEAT_DATA_OFFSET, heartbeat_data_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u byte%s)", heartbeat_data_length, plurality(heartbeat_data_length, "", "s"));
|
||||
}
|
||||
|
||||
|
@ -368,7 +368,7 @@ static const value_string traffic_mode_type_values[] = {
|
|||
static void
|
||||
dissect_traffic_mode_type_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_traffic_mode_type, parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET, TRAFFIC_MODE_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_traffic_mode_type, parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET, TRAFFIC_MODE_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)",
|
||||
val_to_str(tvb_get_ntohl(parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET), traffic_mode_type_values, "unknown"));
|
||||
}
|
||||
|
@ -417,7 +417,7 @@ static const value_string error_code_values[] = {
|
|||
static void
|
||||
dissect_error_code_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_error_code, parameter_tvb, ERROR_CODE_OFFSET, ERROR_CODE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_error_code, parameter_tvb, ERROR_CODE_OFFSET, ERROR_CODE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)",
|
||||
val_to_str(tvb_get_ntohl(parameter_tvb, ERROR_CODE_OFFSET), error_code_values, "unknown"));
|
||||
}
|
||||
|
@ -463,7 +463,7 @@ dissect_status_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, pr
|
|||
status_type = tvb_get_ntohs(parameter_tvb, STATUS_TYPE_OFFSET);
|
||||
status_id = tvb_get_ntohs(parameter_tvb, STATUS_IDENT_OFFSET);
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_status_type, parameter_tvb, STATUS_TYPE_OFFSET, STATUS_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_status_type, parameter_tvb, STATUS_TYPE_OFFSET, STATUS_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_uint_format(parameter_tree, hf_status_ident, parameter_tvb, STATUS_IDENT_OFFSET, STATUS_IDENT_LENGTH,
|
||||
status_id, "Status identification: %u (%s)", status_id,
|
||||
val_to_str(status_type * 256 * 256 + status_id, status_type_id_values, "unknown"));
|
||||
|
@ -478,7 +478,7 @@ dissect_status_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, pr
|
|||
static void
|
||||
dissect_asp_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_asp_id, parameter_tvb, ASP_IDENTIFIER_OFFSET, ASP_IDENTIFIER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_asp_id, parameter_tvb, ASP_IDENTIFIER_OFFSET, ASP_IDENTIFIER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohl(parameter_tvb, ASP_IDENTIFIER_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -488,7 +488,7 @@ dissect_asp_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_
|
|||
static void
|
||||
dissect_correlation_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_correlation_id, parameter_tvb, CORRELATION_ID_OFFSET, CORRELATION_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_correlation_id, parameter_tvb, CORRELATION_ID_OFFSET, CORRELATION_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohl(parameter_tvb, CORRELATION_ID_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -521,7 +521,7 @@ dissect_protocol_data_2_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, p
|
|||
|
||||
payload_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH - DATA_2_LI_LENGTH;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_data_2_li, parameter_tvb, DATA_2_LI_OFFSET, DATA_2_LI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_data_2_li, parameter_tvb, DATA_2_LI_OFFSET, DATA_2_LI_LENGTH, ENC_BIG_ENDIAN);
|
||||
payload_tvb = tvb_new_subset(parameter_tvb, DATA_2_MTP3_OFFSET, payload_length, payload_length);
|
||||
proto_item_set_len(parameter_item, PARAMETER_HEADER_LENGTH + DATA_2_LI_LENGTH);
|
||||
call_dissector(mtp3_handle, payload_tvb, pinfo, tree);
|
||||
|
@ -560,7 +560,7 @@ static const value_string state_values[] = {
|
|||
static void
|
||||
dissect_state_request_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_state, parameter_tvb, STATE_OFFSET, STATE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_state, parameter_tvb, STATE_OFFSET, STATE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, STATE_OFFSET), state_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -582,7 +582,7 @@ static const value_string event_values[] = {
|
|||
static void
|
||||
dissect_state_event_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_event, parameter_tvb, EVENT_OFFSET, EVENT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_event, parameter_tvb, EVENT_OFFSET, EVENT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, STATE_OFFSET), event_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -604,7 +604,7 @@ static const value_string level_values[] = {
|
|||
static void
|
||||
dissect_congestion_status_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_congestion_status, parameter_tvb, CONGESTION_STATUS_OFFSET, CONGESTION_STATUS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_congestion_status, parameter_tvb, CONGESTION_STATUS_OFFSET, CONGESTION_STATUS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, CONGESTION_STATUS_OFFSET), level_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -614,7 +614,7 @@ dissect_congestion_status_parameter(tvbuff_t *parameter_tvb, proto_tree *paramet
|
|||
static void
|
||||
dissect_discard_status_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_discard_status, parameter_tvb, DISCARD_STATUS_OFFSET, DISCARD_STATUS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_discard_status, parameter_tvb, DISCARD_STATUS_OFFSET, DISCARD_STATUS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, DISCARD_STATUS_OFFSET), level_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -633,7 +633,7 @@ static const value_string action_values[] = {
|
|||
static void
|
||||
dissect_action_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_uint(parameter_tree, hf_action, parameter_tvb, ACTION_OFFSET, ACTION_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_uint(parameter_tree, hf_action, parameter_tvb, ACTION_OFFSET, ACTION_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, ACTION_OFFSET), action_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -643,7 +643,7 @@ dissect_action_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, pr
|
|||
static void
|
||||
dissect_sequence_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_sequence_number, parameter_tvb, SEQUENCE_NUMBER_OFFSET, SEQUENCE_NUMBER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_sequence_number, parameter_tvb, SEQUENCE_NUMBER_OFFSET, SEQUENCE_NUMBER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohl(parameter_tvb, SEQUENCE_NUMBER_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -662,7 +662,7 @@ static const value_string retrieval_result_values[] = {
|
|||
static void
|
||||
dissect_retrieval_result_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_retrieval_result, parameter_tvb, RETRIEVAL_RESULT_OFFSET, RETRIEVAL_RESULT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_retrieval_result, parameter_tvb, RETRIEVAL_RESULT_OFFSET, RETRIEVAL_RESULT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, RETRIEVAL_RESULT_OFFSET), retrieval_result_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -683,7 +683,7 @@ dissect_link_key_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tr
|
|||
static void
|
||||
dissect_local_lk_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_local_lk_id, parameter_tvb, LOCAL_LK_ID_OFFSET, LOCAL_LK_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_local_lk_id, parameter_tvb, LOCAL_LK_ID_OFFSET, LOCAL_LK_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohl(parameter_tvb, LOCAL_LK_ID_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -695,8 +695,8 @@ dissect_local_lk_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *param
|
|||
static void
|
||||
dissect_sdt_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_sdt_reserved, parameter_tvb, SDT_RESERVED_OFFSET, SDT_RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_sdt_id, parameter_tvb, SDT_ID_OFFSET, SDT_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_sdt_reserved, parameter_tvb, SDT_RESERVED_OFFSET, SDT_RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_sdt_id, parameter_tvb, SDT_ID_OFFSET, SDT_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohs(parameter_tvb, SDT_ID_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -708,8 +708,8 @@ dissect_sdt_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_
|
|||
static void
|
||||
dissect_sdl_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_sdl_reserved, parameter_tvb, SDL_RESERVED_OFFSET, SDL_RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_sdl_id, parameter_tvb, SDL_ID_OFFSET, SDL_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_sdl_reserved, parameter_tvb, SDL_RESERVED_OFFSET, SDL_RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_sdl_id, parameter_tvb, SDL_ID_OFFSET, SDL_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohs(parameter_tvb, SDL_ID_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -752,7 +752,7 @@ static const value_string registration_status_values[] = {
|
|||
static void
|
||||
dissect_registration_status_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_registration_status, parameter_tvb, REGISTRATION_STATUS_OFFSET, REGISTRATION_STATUS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_registration_status, parameter_tvb, REGISTRATION_STATUS_OFFSET, REGISTRATION_STATUS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, REGISTRATION_STATUS_OFFSET), registration_status_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -787,7 +787,7 @@ static const value_string deregistration_status_values[] = {
|
|||
static void
|
||||
dissect_deregistration_status_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_deregistration_status, parameter_tvb, DEREGISTRATION_STATUS_OFFSET, DEREGISTRATION_STATUS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_deregistration_status, parameter_tvb, DEREGISTRATION_STATUS_OFFSET, DEREGISTRATION_STATUS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, DEREGISTRATION_STATUS_OFFSET), deregistration_status_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -798,7 +798,7 @@ dissect_unknown_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, p
|
|||
|
||||
parameter_value_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
if (parameter_value_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_value, parameter_tvb, PARAMETER_VALUE_OFFSET, parameter_value_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_value, parameter_tvb, PARAMETER_VALUE_OFFSET, parameter_value_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " with tag %u and %u byte%s value",
|
||||
tvb_get_ntohs(parameter_tvb, PARAMETER_TAG_OFFSET), parameter_value_length, plurality(parameter_value_length, "", "s"));
|
||||
}
|
||||
|
@ -905,14 +905,14 @@ dissect_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *tree,
|
|||
proto_tree_add_text(parameter_tree, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH,
|
||||
"Parameter Tag: Protocol data 1 (0x000e)");
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
tag = PROTOCOL_DATA_1_PARAMETER_TAG;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* add tag and length to the m2ua tree */
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
switch(tag) {
|
||||
|
@ -1010,7 +1010,7 @@ dissect_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *tree,
|
|||
};
|
||||
|
||||
if (padding_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1059,7 +1059,7 @@ dissect_m2ua(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *tree)
|
|||
necessary to generate protocol tree items. */
|
||||
if (tree) {
|
||||
/* create the m2ua protocol tree */
|
||||
m2ua_item = proto_tree_add_item(tree, proto_m2ua, message_tvb, 0, -1, REP_NA);
|
||||
m2ua_item = proto_tree_add_item(tree, proto_m2ua, message_tvb, 0, -1, ENC_NA);
|
||||
m2ua_tree = proto_item_add_subtree(m2ua_item, ett_m2ua);
|
||||
} else {
|
||||
m2ua_tree = NULL;
|
||||
|
|
|
@ -343,12 +343,12 @@ dissect_v5_common_header(tvbuff_t *common_header_tvb, packet_info *pinfo, proto_
|
|||
|
||||
if (m3ua_tree) {
|
||||
/* add the components of the common header to the protocol tree */
|
||||
proto_tree_add_item(m3ua_tree, hf_version, common_header_tvb, VERSION_OFFSET, VERSION_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m3ua_tree, hf_reserved, common_header_tvb, RESERVED_OFFSET, RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m3ua_tree, hf_v5_message_class, common_header_tvb, MESSAGE_CLASS_OFFSET, MESSAGE_CLASS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m3ua_tree, hf_version, common_header_tvb, VERSION_OFFSET, VERSION_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m3ua_tree, hf_reserved, common_header_tvb, RESERVED_OFFSET, RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m3ua_tree, hf_v5_message_class, common_header_tvb, MESSAGE_CLASS_OFFSET, MESSAGE_CLASS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_uint_format(m3ua_tree, hf_message_type, common_header_tvb, MESSAGE_TYPE_OFFSET, MESSAGE_TYPE_LENGTH, message_type,
|
||||
"Message type: %s (%u)", val_to_str(message_class * 256 + message_type, v5_message_class_type_values, "reserved"), message_type);
|
||||
proto_tree_add_item(m3ua_tree, hf_message_length, common_header_tvb, MESSAGE_LENGTH_OFFSET, MESSAGE_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m3ua_tree, hf_message_length, common_header_tvb, MESSAGE_LENGTH_OFFSET, MESSAGE_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -366,12 +366,12 @@ dissect_common_header(tvbuff_t *common_header_tvb, packet_info *pinfo, proto_tre
|
|||
|
||||
if (m3ua_tree) {
|
||||
/* add the components of the common header to the protocol tree */
|
||||
proto_tree_add_item(m3ua_tree, hf_version, common_header_tvb, VERSION_OFFSET, VERSION_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m3ua_tree, hf_reserved, common_header_tvb, RESERVED_OFFSET, RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m3ua_tree, hf_message_class, common_header_tvb, MESSAGE_CLASS_OFFSET, MESSAGE_CLASS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m3ua_tree, hf_version, common_header_tvb, VERSION_OFFSET, VERSION_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m3ua_tree, hf_reserved, common_header_tvb, RESERVED_OFFSET, RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(m3ua_tree, hf_message_class, common_header_tvb, MESSAGE_CLASS_OFFSET, MESSAGE_CLASS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_uint_format(m3ua_tree, hf_message_type, common_header_tvb, MESSAGE_TYPE_OFFSET, MESSAGE_TYPE_LENGTH, message_type,
|
||||
"Message type: %s (%u)", val_to_str(message_class * 256 + message_type, message_class_type_values, "reserved"), message_type);
|
||||
proto_tree_add_item(m3ua_tree, hf_message_length, common_header_tvb, MESSAGE_LENGTH_OFFSET, MESSAGE_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(m3ua_tree, hf_message_length, common_header_tvb, MESSAGE_LENGTH_OFFSET, MESSAGE_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -381,7 +381,7 @@ dissect_common_header(tvbuff_t *common_header_tvb, packet_info *pinfo, proto_tre
|
|||
static void
|
||||
dissect_network_appearance_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_network_appearance, parameter_tvb, NETWORK_APPEARANCE_OFFSET, NETWORK_APPEARANCE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_network_appearance, parameter_tvb, NETWORK_APPEARANCE_OFFSET, NETWORK_APPEARANCE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohl(parameter_tvb, NETWORK_APPEARANCE_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -409,7 +409,7 @@ dissect_info_string_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tre
|
|||
guint16 info_string_length;
|
||||
|
||||
info_string_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_info_string, parameter_tvb, INFO_STRING_OFFSET, info_string_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_info_string, parameter_tvb, INFO_STRING_OFFSET, info_string_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%.*s)", info_string_length,
|
||||
(const char *)tvb_get_ptr(parameter_tvb, INFO_STRING_OFFSET, info_string_length));
|
||||
}
|
||||
|
@ -431,8 +431,8 @@ dissect_affected_destinations_parameter(tvbuff_t *parameter_tvb, proto_tree *par
|
|||
number_of_destinations = (tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH) >> 2;
|
||||
destination_offset = PARAMETER_VALUE_OFFSET;
|
||||
for(destination_number=1; destination_number <= number_of_destinations; destination_number++) {
|
||||
proto_tree_add_item(parameter_tree, hf_affected_point_code_mask, parameter_tvb, destination_offset + AFFECTED_MASK_OFFSET, AFFECTED_MASK_LENGTH, REP_BIG_ENDIAN);
|
||||
item = proto_tree_add_item(parameter_tree, hf_affected_point_code_pc, parameter_tvb, destination_offset + AFFECTED_DPC_OFFSET, AFFECTED_DPC_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_affected_point_code_mask, parameter_tvb, destination_offset + AFFECTED_MASK_OFFSET, AFFECTED_MASK_LENGTH, ENC_BIG_ENDIAN);
|
||||
item = proto_tree_add_item(parameter_tree, hf_affected_point_code_pc, parameter_tvb, destination_offset + AFFECTED_DPC_OFFSET, AFFECTED_DPC_LENGTH, ENC_BIG_ENDIAN);
|
||||
if (mtp3_pc_structured())
|
||||
proto_item_append_text(item, " (%s)", mtp3_pc_to_str(tvb_get_ntoh24(parameter_tvb, destination_offset + AFFECTED_DPC_OFFSET)));
|
||||
destination_offset += AFFECTED_DESTINATION_LENGTH;
|
||||
|
@ -451,7 +451,7 @@ dissect_routing_context_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter
|
|||
number_of_contexts = (tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH) >> 2;
|
||||
context_offset = PARAMETER_VALUE_OFFSET;
|
||||
for(context_number=1; context_number <= number_of_contexts; context_number++) {
|
||||
proto_tree_add_item(parameter_tree, hf_routing_context, parameter_tvb, context_offset, ROUTING_CONTEXT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_routing_context, parameter_tvb, context_offset, ROUTING_CONTEXT_LENGTH, ENC_BIG_ENDIAN);
|
||||
context_offset += ROUTING_CONTEXT_LENGTH;
|
||||
};
|
||||
proto_item_append_text(parameter_item, " (%u context%s)", number_of_contexts, plurality(number_of_contexts, "", "s"));
|
||||
|
@ -465,7 +465,7 @@ dissect_diagnostic_information_parameter(tvbuff_t *parameter_tvb, proto_tree *pa
|
|||
guint16 diag_info_length;
|
||||
|
||||
diag_info_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_diagnostic_information, parameter_tvb, DIAGNOSTIC_INFO_OFFSET, diag_info_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_diagnostic_information, parameter_tvb, DIAGNOSTIC_INFO_OFFSET, diag_info_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u byte%s)", diag_info_length, plurality(diag_info_length, "", "s"));
|
||||
}
|
||||
|
||||
|
@ -477,7 +477,7 @@ dissect_heartbeat_data_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_
|
|||
guint16 heartbeat_data_length;
|
||||
|
||||
heartbeat_data_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_heartbeat_data, parameter_tvb, HEARTBEAT_DATA_OFFSET, heartbeat_data_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_heartbeat_data, parameter_tvb, HEARTBEAT_DATA_OFFSET, heartbeat_data_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u byte%s)", heartbeat_data_length, plurality(heartbeat_data_length, "", "s"));
|
||||
}
|
||||
|
||||
|
@ -537,8 +537,8 @@ static const value_string user_identity_values[] = {
|
|||
static void
|
||||
dissect_user_cause_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_cause, parameter_tvb, CAUSE_OFFSET, CAUSE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_user, parameter_tvb, USER_OFFSET, USER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_cause, parameter_tvb, CAUSE_OFFSET, CAUSE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_user, parameter_tvb, USER_OFFSET, USER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s: %s)",
|
||||
val_to_str(tvb_get_ntohs(parameter_tvb, USER_OFFSET), user_identity_values, "Unknown user"),
|
||||
val_to_str(tvb_get_ntohs(parameter_tvb, CAUSE_OFFSET), unavailability_cause_values, "unknown cause"));
|
||||
|
@ -560,7 +560,7 @@ static const value_string reason_values[] = {
|
|||
static void
|
||||
dissect_reason_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_reason, parameter_tvb, REASON_OFFSET, REASON_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_reason, parameter_tvb, REASON_OFFSET, REASON_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, REASON_OFFSET), reason_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -577,7 +577,7 @@ static const value_string v5_traffic_mode_type_values[] = {
|
|||
static void
|
||||
dissect_v5_traffic_mode_type_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_v5_traffic_mode_type, parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET, TRAFFIC_MODE_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_v5_traffic_mode_type, parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET, TRAFFIC_MODE_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET), v5_traffic_mode_type_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -591,7 +591,7 @@ static const value_string v6_traffic_mode_type_values[] = {
|
|||
static void
|
||||
dissect_v6_traffic_mode_type_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_v6_traffic_mode_type, parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET, TRAFFIC_MODE_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_v6_traffic_mode_type, parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET, TRAFFIC_MODE_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET), v6_traffic_mode_type_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -603,7 +603,7 @@ static const value_string v7_traffic_mode_type_values[] = {
|
|||
static void
|
||||
dissect_v7_traffic_mode_type_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_v7_traffic_mode_type, parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET, TRAFFIC_MODE_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_v7_traffic_mode_type, parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET, TRAFFIC_MODE_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET), v7_traffic_mode_type_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -616,7 +616,7 @@ static const value_string traffic_mode_type_values[] = {
|
|||
static void
|
||||
dissect_traffic_mode_type_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_traffic_mode_type, parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET, TRAFFIC_MODE_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_traffic_mode_type, parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET, TRAFFIC_MODE_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET), traffic_mode_type_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -637,7 +637,7 @@ static const value_string v5_error_code_values[] = {
|
|||
static void
|
||||
dissect_v5_error_code_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_v5_error_code, parameter_tvb, ERROR_CODE_OFFSET, ERROR_CODE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_v5_error_code, parameter_tvb, ERROR_CODE_OFFSET, ERROR_CODE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, ERROR_CODE_OFFSET), v5_error_code_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -658,7 +658,7 @@ static const value_string v6_error_code_values[] = {
|
|||
static void
|
||||
dissect_v6_error_code_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_v6_error_code, parameter_tvb, ERROR_CODE_OFFSET, ERROR_CODE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_v6_error_code, parameter_tvb, ERROR_CODE_OFFSET, ERROR_CODE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, ERROR_CODE_OFFSET), v6_error_code_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -681,7 +681,7 @@ static const value_string v7_error_code_values[] = {
|
|||
static void
|
||||
dissect_v7_error_code_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_v7_error_code, parameter_tvb, ERROR_CODE_OFFSET, ERROR_CODE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_v7_error_code, parameter_tvb, ERROR_CODE_OFFSET, ERROR_CODE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, ERROR_CODE_OFFSET), v7_error_code_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -709,7 +709,7 @@ static const value_string error_code_values[] = {
|
|||
static void
|
||||
dissect_error_code_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_error_code, parameter_tvb, ERROR_CODE_OFFSET, ERROR_CODE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_error_code, parameter_tvb, ERROR_CODE_OFFSET, ERROR_CODE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, ERROR_CODE_OFFSET), error_code_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -754,7 +754,7 @@ dissect_v567_status_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tre
|
|||
status_type = tvb_get_ntohs(parameter_tvb, STATUS_TYPE_OFFSET);
|
||||
status_info = tvb_get_ntohs(parameter_tvb, STATUS_INFO_OFFSET);
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_status_type, parameter_tvb, STATUS_TYPE_OFFSET, STATUS_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_status_type, parameter_tvb, STATUS_TYPE_OFFSET, STATUS_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_uint_format(parameter_tree, hf_status_info, parameter_tvb, STATUS_INFO_OFFSET, STATUS_INFO_LENGTH, status_info,
|
||||
"Status info: %s (%u)", val_to_str(status_type * 256 * 256 + status_info, v567_status_type_info_values, "unknown"), status_info);
|
||||
|
||||
|
@ -779,7 +779,7 @@ dissect_status_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, pr
|
|||
status_type = tvb_get_ntohs(parameter_tvb, STATUS_TYPE_OFFSET);
|
||||
status_info = tvb_get_ntohs(parameter_tvb, STATUS_INFO_OFFSET);
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_status_type, parameter_tvb, STATUS_TYPE_OFFSET, STATUS_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_status_type, parameter_tvb, STATUS_TYPE_OFFSET, STATUS_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_uint_format(parameter_tree, hf_status_info, parameter_tvb, STATUS_INFO_OFFSET, STATUS_INFO_LENGTH, status_info,
|
||||
"Status info: %s (%u)", val_to_str(status_type * 256 * 256 + status_info, status_type_info_values, "unknown"), status_info);
|
||||
|
||||
|
@ -802,8 +802,8 @@ static const value_string congestion_level_values[] = {
|
|||
static void
|
||||
dissect_congestion_indication_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_congestion_reserved, parameter_tvb, CONG_IND_RESERVED_OFFSET, CONG_IND_RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_congestion_level, parameter_tvb, CONG_IND_LEVEL_OFFSET, CONG_IND_LEVEL_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_congestion_reserved, parameter_tvb, CONG_IND_RESERVED_OFFSET, CONG_IND_RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_congestion_level, parameter_tvb, CONG_IND_LEVEL_OFFSET, CONG_IND_LEVEL_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_guint8(parameter_tvb, CONG_IND_LEVEL_OFFSET), congestion_level_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -813,7 +813,7 @@ dissect_congestion_indication_parameter(tvbuff_t *parameter_tvb, proto_tree *par
|
|||
static void
|
||||
dissect_asp_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_asp_identifier, parameter_tvb, ASP_IDENTIFIER_OFFSET, ASP_IDENTIFIER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_asp_identifier, parameter_tvb, ASP_IDENTIFIER_OFFSET, ASP_IDENTIFIER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohl(parameter_tvb, ASP_IDENTIFIER_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -846,7 +846,7 @@ dissect_protocol_data_2_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, p
|
|||
li = tvb_get_guint8(parameter_tvb, LI_OCTETT_OFFSET);
|
||||
protocol_data_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH - LI_OCTETT_LENGTH;
|
||||
payload_tvb = tvb_new_subset(parameter_tvb, PROTOCOL_DATA_2_OFFSET, protocol_data_length, protocol_data_length);
|
||||
proto_tree_add_item(parameter_tree, hf_li, parameter_tvb, LI_OCTETT_OFFSET, LI_OCTETT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_li, parameter_tvb, LI_OCTETT_OFFSET, LI_OCTETT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (SS7 message of %u byte%s)", protocol_data_length, plurality(protocol_data_length, "", "s"));
|
||||
proto_item_set_len(parameter_item, PARAMETER_HEADER_LENGTH + LI_OCTETT_LENGTH);
|
||||
call_dissector(mtp3_handle, payload_tvb, pinfo, tree);
|
||||
|
@ -865,8 +865,8 @@ dissect_concerned_destination_parameter(tvbuff_t *parameter_tvb, proto_tree *par
|
|||
{
|
||||
proto_item *item;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_concerned_dest_reserved, parameter_tvb, CON_DEST_RESERVED_OFFSET, CON_DEST_RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
item = proto_tree_add_item(parameter_tree, hf_concerned_dest_pc, parameter_tvb, CON_DEST_PC_OFFSET, CON_DEST_PC_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_concerned_dest_reserved, parameter_tvb, CON_DEST_RESERVED_OFFSET, CON_DEST_RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
item = proto_tree_add_item(parameter_tree, hf_concerned_dest_pc, parameter_tvb, CON_DEST_PC_OFFSET, CON_DEST_PC_LENGTH, ENC_BIG_ENDIAN);
|
||||
if (mtp3_pc_structured())
|
||||
proto_item_append_text(item, " (%s)", mtp3_pc_to_str(tvb_get_ntoh24(parameter_tvb, CON_DEST_PC_OFFSET)));
|
||||
proto_item_append_text(parameter_item, " (%s)", mtp3_pc_to_str(tvb_get_ntoh24(parameter_tvb, CON_DEST_PC_OFFSET)));
|
||||
|
@ -907,9 +907,9 @@ static const value_string registration_result_status_values[] = {
|
|||
static void
|
||||
dissect_v67_registration_result_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_registration_result_identifier, parameter_tvb, REG_RES_IDENTIFIER_OFFSET, REG_RES_IDENTIFIER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_registration_result_status, parameter_tvb, REG_RES_STATUS_OFFSET, REG_RES_STATUS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_registration_result_context, parameter_tvb, REG_RES_CONTEXT_OFFSET, REG_RES_CONTEXT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_registration_result_identifier, parameter_tvb, REG_RES_IDENTIFIER_OFFSET, REG_RES_IDENTIFIER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_registration_result_status, parameter_tvb, REG_RES_STATUS_OFFSET, REG_RES_STATUS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_registration_result_context, parameter_tvb, REG_RES_CONTEXT_OFFSET, REG_RES_CONTEXT_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -941,8 +941,8 @@ static const value_string v6_deregistration_result_status_values[] = {
|
|||
static void
|
||||
dissect_v67_deregistration_result_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_v6_deregistration_result_context, parameter_tvb, DEREG_RES_CONTEXT_OFFSET, DEREG_RES_CONTEXT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_v6_deregistration_result_status, parameter_tvb, DEREG_RES_STATUS_OFFSET, DEREG_RES_STATUS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_v6_deregistration_result_context, parameter_tvb, DEREG_RES_CONTEXT_OFFSET, DEREG_RES_CONTEXT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_v6_deregistration_result_status, parameter_tvb, DEREG_RES_STATUS_OFFSET, DEREG_RES_STATUS_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -967,7 +967,7 @@ dissect_local_routing_key_identifier_parameter(tvbuff_t *parameter_tvb, proto_tr
|
|||
guint32 id;
|
||||
|
||||
id = tvb_get_ntohl(parameter_tvb, LOCAL_RK_IDENTIFIER_OFFSET);
|
||||
proto_tree_add_item(parameter_tree, hf_local_rk_identifier, parameter_tvb, LOCAL_RK_IDENTIFIER_OFFSET, LOCAL_RK_IDENTIFIER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_local_rk_identifier, parameter_tvb, LOCAL_RK_IDENTIFIER_OFFSET, LOCAL_RK_IDENTIFIER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohl(parameter_tvb, LOCAL_RK_IDENTIFIER_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -982,8 +982,8 @@ dissect_destination_point_code_parameter(tvbuff_t *parameter_tvb, proto_tree *pa
|
|||
{
|
||||
proto_item *item;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_dpc_mask, parameter_tvb, DPC_MASK_OFFSET, DPC_MASK_LENGTH, REP_BIG_ENDIAN);
|
||||
item = proto_tree_add_item(parameter_tree, hf_dpc_pc, parameter_tvb, DPC_PC_OFFSET, DPC_PC_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_dpc_mask, parameter_tvb, DPC_MASK_OFFSET, DPC_MASK_LENGTH, ENC_BIG_ENDIAN);
|
||||
item = proto_tree_add_item(parameter_tree, hf_dpc_pc, parameter_tvb, DPC_PC_OFFSET, DPC_PC_LENGTH, ENC_BIG_ENDIAN);
|
||||
if (mtp3_pc_structured())
|
||||
proto_item_append_text(item, " (%s)", mtp3_pc_to_str(tvb_get_ntoh24(parameter_tvb, DPC_PC_OFFSET)));
|
||||
proto_item_append_text(parameter_item, " (%s)", mtp3_pc_to_str(tvb_get_ntoh24(parameter_tvb, DPC_PC_OFFSET)));
|
||||
|
@ -1002,7 +1002,7 @@ dissect_service_indicators_parameter(tvbuff_t *parameter_tvb, proto_tree *parame
|
|||
|
||||
si_offset = PARAMETER_VALUE_OFFSET;
|
||||
for(si_number=1; si_number <= number_of_sis; si_number++) {
|
||||
proto_tree_add_item(parameter_tree, hf_si, parameter_tvb, si_offset, SI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_si, parameter_tvb, si_offset, SI_LENGTH, ENC_BIG_ENDIAN);
|
||||
si_offset += SI_LENGTH;
|
||||
};
|
||||
proto_item_append_text(parameter_item, " (%u indicator%s)", number_of_sis, plurality(number_of_sis, "", "s"));
|
||||
|
@ -1021,7 +1021,7 @@ dissect_subsystem_numbers_parameter(tvbuff_t *parameter_tvb, proto_tree *paramet
|
|||
|
||||
ssn_offset = PARAMETER_VALUE_OFFSET;
|
||||
for(ssn_number=1; ssn_number <= number_of_ssns; ssn_number++) {
|
||||
proto_tree_add_item(parameter_tree, hf_ssn, parameter_tvb, ssn_offset, SSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_ssn, parameter_tvb, ssn_offset, SSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
ssn_offset += SSN_LENGTH;
|
||||
};
|
||||
proto_item_append_text(parameter_item, " (%u number%s)", number_of_ssns, plurality(number_of_ssns, "", "s"));
|
||||
|
@ -1046,8 +1046,8 @@ dissect_originating_point_code_list_parameter(tvbuff_t *parameter_tvb, proto_tre
|
|||
|
||||
point_code_offset = PARAMETER_VALUE_OFFSET;
|
||||
for(point_code_number=1; point_code_number <= number_of_point_codes; point_code_number++) {
|
||||
proto_tree_add_item(parameter_tree, hf_opc_list_mask, parameter_tvb, point_code_offset + OPC_MASK_OFFSET, OPC_MASK_LENGTH, REP_BIG_ENDIAN);
|
||||
item = proto_tree_add_item(parameter_tree, hf_opc_list_pc, parameter_tvb, point_code_offset + OPC_PC_OFFSET, OPC_PC_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_opc_list_mask, parameter_tvb, point_code_offset + OPC_MASK_OFFSET, OPC_MASK_LENGTH, ENC_BIG_ENDIAN);
|
||||
item = proto_tree_add_item(parameter_tree, hf_opc_list_pc, parameter_tvb, point_code_offset + OPC_PC_OFFSET, OPC_PC_LENGTH, ENC_BIG_ENDIAN);
|
||||
if (mtp3_pc_structured())
|
||||
proto_item_append_text(item, " (%s)", mtp3_pc_to_str(tvb_get_ntoh24(parameter_tvb, point_code_offset + OPC_PC_OFFSET)));
|
||||
point_code_offset += OPC_LENGTH;
|
||||
|
@ -1083,18 +1083,18 @@ dissect_circuit_range_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_t
|
|||
cic_range_item = proto_tree_add_text(parameter_tree, parameter_tvb, point_code_offset + CIC_RANGE_MASK_OFFSET, CIC_RANGE_LENGTH, "CIC range");
|
||||
cic_range_tree = proto_item_add_subtree(cic_range_item, ett_parameter);
|
||||
|
||||
proto_tree_add_item(cic_range_tree, hf_cic_range_mask, parameter_tvb, point_code_offset + CIC_RANGE_MASK_OFFSET, CIC_RANGE_MASK_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cic_range_tree, hf_cic_range_mask, parameter_tvb, point_code_offset + CIC_RANGE_MASK_OFFSET, CIC_RANGE_MASK_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
pc = tvb_get_ntoh24(parameter_tvb, point_code_offset + CIC_RANGE_PC_OFFSET);
|
||||
pc_string = mtp3_pc_to_str(pc);
|
||||
pc_item = proto_tree_add_item(cic_range_tree, hf_cic_range_pc, parameter_tvb, point_code_offset + CIC_RANGE_PC_OFFSET, CIC_RANGE_PC_LENGTH, REP_BIG_ENDIAN);
|
||||
pc_item = proto_tree_add_item(cic_range_tree, hf_cic_range_pc, parameter_tvb, point_code_offset + CIC_RANGE_PC_OFFSET, CIC_RANGE_PC_LENGTH, ENC_BIG_ENDIAN);
|
||||
if (mtp3_pc_structured())
|
||||
proto_item_append_text(pc_item, " (%s)", pc_string);
|
||||
|
||||
cic_low = tvb_get_ntohs(parameter_tvb, point_code_offset + CIC_RANGE_LOWER_OFFSET);
|
||||
proto_tree_add_item(cic_range_tree, hf_cic_range_lower, parameter_tvb, point_code_offset + CIC_RANGE_LOWER_OFFSET, CIC_RANGE_LOWER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cic_range_tree, hf_cic_range_lower, parameter_tvb, point_code_offset + CIC_RANGE_LOWER_OFFSET, CIC_RANGE_LOWER_LENGTH, ENC_BIG_ENDIAN);
|
||||
cic_high = tvb_get_ntohs(parameter_tvb, point_code_offset + CIC_RANGE_UPPER_OFFSET);
|
||||
proto_tree_add_item(cic_range_tree, hf_cic_range_upper, parameter_tvb, point_code_offset + CIC_RANGE_UPPER_OFFSET, CIC_RANGE_UPPER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cic_range_tree, hf_cic_range_upper, parameter_tvb, point_code_offset + CIC_RANGE_UPPER_OFFSET, CIC_RANGE_UPPER_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
proto_item_append_text(cic_range_item, " (%s: %d-%d)", pc_string, cic_low, cic_high);
|
||||
point_code_offset += CIC_RANGE_LENGTH;
|
||||
|
@ -1147,7 +1147,7 @@ dissect_protocol_data_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, pro
|
|||
ulp_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH - DATA_HDR_LENGTH;
|
||||
|
||||
if (parameter_tree) {
|
||||
item = proto_tree_add_item(parameter_tree, hf_protocol_data_opc, parameter_tvb, DATA_OPC_OFFSET, DATA_OPC_LENGTH, REP_BIG_ENDIAN);
|
||||
item = proto_tree_add_item(parameter_tree, hf_protocol_data_opc, parameter_tvb, DATA_OPC_OFFSET, DATA_OPC_LENGTH, ENC_BIG_ENDIAN);
|
||||
if (mtp3_pc_structured())
|
||||
proto_item_append_text(item, " (%s)", mtp3_pc_to_str(tvb_get_ntohl(parameter_tvb, DATA_OPC_OFFSET)));
|
||||
if(mtp3_tap->addr_opc.ni == 0)
|
||||
|
@ -1155,7 +1155,7 @@ dissect_protocol_data_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, pro
|
|||
q708_tree = proto_item_add_subtree(item,ett_q708_opc);
|
||||
analyze_q708_ispc(parameter_tvb, q708_tree, DATA_OPC_OFFSET, DATA_OPC_LENGTH, mtp3_tap->addr_opc.pc);
|
||||
}
|
||||
item = proto_tree_add_item(parameter_tree, hf_protocol_data_dpc, parameter_tvb, DATA_DPC_OFFSET, DATA_DPC_LENGTH, REP_BIG_ENDIAN);
|
||||
item = proto_tree_add_item(parameter_tree, hf_protocol_data_dpc, parameter_tvb, DATA_DPC_OFFSET, DATA_DPC_LENGTH, ENC_BIG_ENDIAN);
|
||||
if (mtp3_pc_structured())
|
||||
proto_item_append_text(item, " (%s)", mtp3_pc_to_str(tvb_get_ntohl(parameter_tvb, DATA_DPC_OFFSET)));
|
||||
if(mtp3_tap->addr_dpc.ni == 0)
|
||||
|
@ -1164,10 +1164,10 @@ dissect_protocol_data_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, pro
|
|||
analyze_q708_ispc(parameter_tvb, q708_tree, DATA_DPC_OFFSET, DATA_DPC_LENGTH, mtp3_tap->addr_dpc.pc);
|
||||
}
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_protocol_data_si, parameter_tvb, DATA_SI_OFFSET, DATA_SI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_protocol_data_ni, parameter_tvb, DATA_NI_OFFSET, DATA_NI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_protocol_data_mp, parameter_tvb, DATA_MP_OFFSET, DATA_MP_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_protocol_data_sls, parameter_tvb, DATA_SLS_OFFSET, DATA_SLS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_protocol_data_si, parameter_tvb, DATA_SI_OFFSET, DATA_SI_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_protocol_data_ni, parameter_tvb, DATA_NI_OFFSET, DATA_NI_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_protocol_data_mp, parameter_tvb, DATA_MP_OFFSET, DATA_MP_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_protocol_data_sls, parameter_tvb, DATA_SLS_OFFSET, DATA_SLS_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
proto_item_append_text(parameter_item, " (SS7 message of %u byte%s)", ulp_length, plurality(ulp_length, "", "s"));
|
||||
proto_item_set_len(parameter_item, PARAMETER_HEADER_LENGTH + DATA_HDR_LENGTH);
|
||||
|
@ -1176,17 +1176,17 @@ dissect_protocol_data_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, pro
|
|||
PROTO_ITEM_SET_GENERATED(item);
|
||||
parameter_tree = proto_item_add_subtree(item,ett_mtp3_equiv);
|
||||
|
||||
item = proto_tree_add_item(parameter_tree, hf_protocol_data_mtp3_opc, parameter_tvb, DATA_OPC_OFFSET, DATA_OPC_LENGTH, REP_BIG_ENDIAN);
|
||||
item = proto_tree_add_item(parameter_tree, hf_protocol_data_mtp3_opc, parameter_tvb, DATA_OPC_OFFSET, DATA_OPC_LENGTH, ENC_BIG_ENDIAN);
|
||||
PROTO_ITEM_SET_GENERATED(item);
|
||||
item = proto_tree_add_item(parameter_tree, hf_protocol_data_mtp3_dpc, parameter_tvb, DATA_DPC_OFFSET, DATA_OPC_LENGTH, REP_BIG_ENDIAN);
|
||||
item = proto_tree_add_item(parameter_tree, hf_protocol_data_mtp3_dpc, parameter_tvb, DATA_DPC_OFFSET, DATA_OPC_LENGTH, ENC_BIG_ENDIAN);
|
||||
PROTO_ITEM_SET_GENERATED(item);
|
||||
item = proto_tree_add_item(parameter_tree, hf_protocol_data_mtp3_pc, parameter_tvb, DATA_OPC_OFFSET, DATA_OPC_LENGTH, REP_BIG_ENDIAN);
|
||||
item = proto_tree_add_item(parameter_tree, hf_protocol_data_mtp3_pc, parameter_tvb, DATA_OPC_OFFSET, DATA_OPC_LENGTH, ENC_BIG_ENDIAN);
|
||||
PROTO_ITEM_SET_GENERATED(item);
|
||||
item = proto_tree_add_item(parameter_tree, hf_protocol_data_mtp3_pc, parameter_tvb, DATA_DPC_OFFSET, DATA_OPC_LENGTH, REP_BIG_ENDIAN);
|
||||
item = proto_tree_add_item(parameter_tree, hf_protocol_data_mtp3_pc, parameter_tvb, DATA_DPC_OFFSET, DATA_OPC_LENGTH, ENC_BIG_ENDIAN);
|
||||
PROTO_ITEM_SET_GENERATED(item);
|
||||
item = proto_tree_add_item(parameter_tree, hf_protocol_data_mtp3_ni, parameter_tvb, DATA_NI_OFFSET, DATA_NI_LENGTH, REP_BIG_ENDIAN);
|
||||
item = proto_tree_add_item(parameter_tree, hf_protocol_data_mtp3_ni, parameter_tvb, DATA_NI_OFFSET, DATA_NI_LENGTH, ENC_BIG_ENDIAN);
|
||||
PROTO_ITEM_SET_GENERATED(item);
|
||||
item = proto_tree_add_item(parameter_tree, hf_protocol_data_mtp3_sls, parameter_tvb, DATA_SLS_OFFSET, DATA_SLS_LENGTH, REP_BIG_ENDIAN);
|
||||
item = proto_tree_add_item(parameter_tree, hf_protocol_data_mtp3_sls, parameter_tvb, DATA_SLS_OFFSET, DATA_SLS_LENGTH, ENC_BIG_ENDIAN);
|
||||
PROTO_ITEM_SET_GENERATED(item);
|
||||
|
||||
}
|
||||
|
@ -1202,7 +1202,7 @@ dissect_protocol_data_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, pro
|
|||
static void
|
||||
dissect_correlation_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_correlation_identifier, parameter_tvb, CORR_ID_OFFSET, CORR_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_correlation_identifier, parameter_tvb, CORR_ID_OFFSET, CORR_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohl(parameter_tvb, CORR_ID_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -1228,7 +1228,7 @@ static const value_string registration_status_values[] = {
|
|||
static void
|
||||
dissect_registration_status_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_registration_status, parameter_tvb, REG_STATUS_OFFSET, REG_STATUS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_registration_status, parameter_tvb, REG_STATUS_OFFSET, REG_STATUS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, REG_STATUS_OFFSET), registration_status_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -1247,7 +1247,7 @@ static const value_string deregistration_status_values[] = {
|
|||
static void
|
||||
dissect_deregistration_status_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_deregistration_status, parameter_tvb, DEREG_STATUS_OFFSET, DEREG_STATUS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_deregistration_status, parameter_tvb, DEREG_STATUS_OFFSET, DEREG_STATUS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, DEREG_STATUS_OFFSET), deregistration_status_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -1280,7 +1280,7 @@ dissect_unknown_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, p
|
|||
|
||||
tag = tvb_get_ntohs(parameter_tvb, PARAMETER_TAG_OFFSET);
|
||||
parameter_value_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_value, parameter_tvb, PARAMETER_VALUE_OFFSET, parameter_value_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_value, parameter_tvb, PARAMETER_VALUE_OFFSET, parameter_value_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (tag %u and %u byte%s value)", tag, parameter_value_length, plurality(parameter_value_length, "", "s"));
|
||||
}
|
||||
|
||||
|
@ -1334,8 +1334,8 @@ dissect_v5_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *tr
|
|||
parameter_tree = proto_item_add_subtree(parameter_item, ett_parameter);
|
||||
|
||||
/* add tag and length to the parameter tree */
|
||||
proto_tree_add_item(parameter_tree, hf_v5_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_v5_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
switch(tag) {
|
||||
case V5_NETWORK_APPEARANCE_PARAMETER_TAG:
|
||||
|
@ -1382,7 +1382,7 @@ dissect_v5_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *tr
|
|||
break;
|
||||
};
|
||||
if (padding_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
#define V6_NETWORK_APPEARANCE_PARAMETER_TAG 1
|
||||
|
@ -1461,8 +1461,8 @@ dissect_v6_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *tr
|
|||
parameter_tree = proto_item_add_subtree(parameter_item, ett_parameter);
|
||||
|
||||
/* add tag and length to the parameter tree */
|
||||
proto_tree_add_item(parameter_tree, hf_v6_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_v6_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
switch(tag) {
|
||||
case V6_NETWORK_APPEARANCE_PARAMETER_TAG:
|
||||
|
@ -1549,7 +1549,7 @@ dissect_v6_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *tr
|
|||
};
|
||||
|
||||
if (padding_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
#define V7_NETWORK_APPEARANCE_PARAMETER_TAG 0x80
|
||||
|
@ -1628,8 +1628,8 @@ dissect_v7_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *tr
|
|||
parameter_tree = proto_item_add_subtree(parameter_item, ett_parameter);
|
||||
|
||||
/* add tag and length to the parameter tree */
|
||||
proto_tree_add_item(parameter_tree, hf_v7_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_v7_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
switch(tag) {
|
||||
case V7_NETWORK_APPEARANCE_PARAMETER_TAG:
|
||||
|
@ -1716,7 +1716,7 @@ dissect_v7_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *tr
|
|||
};
|
||||
|
||||
if (padding_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
#define INFO_STRING_PARAMETER_TAG 0x0004
|
||||
|
@ -1795,8 +1795,8 @@ dissect_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *tree,
|
|||
parameter_tree = proto_item_add_subtree(parameter_item, ett_parameter);
|
||||
|
||||
/* add tag and length to the parameter tree */
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
switch(tag) {
|
||||
case INFO_STRING_PARAMETER_TAG:
|
||||
|
@ -1880,7 +1880,7 @@ dissect_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *tree,
|
|||
};
|
||||
|
||||
if (padding_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1963,7 +1963,7 @@ dissect_m3ua(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *tree)
|
|||
necessary to generate protocol tree items. */
|
||||
if (tree) {
|
||||
/* create the m3ua protocol tree */
|
||||
m3ua_item = proto_tree_add_item(tree, proto_m3ua, message_tvb, 0, -1, REP_NA);
|
||||
m3ua_item = proto_tree_add_item(tree, proto_m3ua, message_tvb, 0, -1, ENC_NA);
|
||||
m3ua_tree = proto_item_add_subtree(m3ua_item, ett_m3ua);
|
||||
} else {
|
||||
m3ua_tree = NULL;
|
||||
|
|
|
@ -817,7 +817,7 @@ struct mq_msg_properties {
|
|||
static guint32 tvb_get_guint32_endian(tvbuff_t *a_tvb, gint a_iOffset, gint a_rep)
|
||||
{
|
||||
guint32 iResult;
|
||||
if (a_rep & REP_LITTLE_ENDIAN)
|
||||
if (a_rep & ENC_LITTLE_ENDIAN)
|
||||
iResult = tvb_get_letohl(a_tvb, a_iOffset);
|
||||
else
|
||||
iResult = tvb_get_ntohl(a_tvb, a_iOffset);
|
||||
|
@ -1238,7 +1238,7 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
guint32 iSegmentLength = 0;
|
||||
guint32 iSizePayload = 0;
|
||||
gint iSizeMD_gbl = 0;
|
||||
gint rep = REP_BIG_ENDIAN;
|
||||
gint rep = ENC_BIG_ENDIAN;
|
||||
gboolean bPayload = FALSE;
|
||||
gboolean bEBCDIC = FALSE;
|
||||
gint iDistributionListSize = 0;
|
||||
|
@ -1265,7 +1265,7 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
guint8 iControlFlags = 0;
|
||||
if (structId == MQ_STRUCTID_TSH_EBCDIC) bEBCDIC = TRUE;
|
||||
opcode = tvb_get_guint8(tvb, offset + 9);
|
||||
rep = (tvb_get_guint8(tvb, offset + 8) == MQ_LITTLE_ENDIAN ? REP_LITTLE_ENDIAN : REP_BIG_ENDIAN);
|
||||
rep = (tvb_get_guint8(tvb, offset + 8) == MQ_LITTLE_ENDIAN ? ENC_LITTLE_ENDIAN : ENC_BIG_ENDIAN);
|
||||
iSegmentLength = tvb_get_ntohl(tvb, offset + 4);
|
||||
iControlFlags = tvb_get_guint8(tvb, offset + 10);
|
||||
|
||||
|
@ -1276,7 +1276,7 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
|
||||
if (tree)
|
||||
{
|
||||
ti = proto_tree_add_item(tree, proto_mq, tvb, offset, -1, REP_NA);
|
||||
ti = proto_tree_add_item(tree, proto_mq, tvb, offset, -1, ENC_NA);
|
||||
proto_item_append_text(ti, " (%s)", val_to_str(opcode, mq_opcode_vals, "Unknown (0x%02x)"));
|
||||
if (bEBCDIC == TRUE) proto_item_append_text(ti, " (EBCDIC)");
|
||||
mqroot_tree = proto_item_add_subtree(ti, ett_mq);
|
||||
|
@ -2300,7 +2300,7 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
col_append_str(pinfo->cinfo, COL_INFO, " [Undesegmented]");
|
||||
if (tree)
|
||||
{
|
||||
proto_tree_add_item(tree, proto_mq, tvb, offset, -1, REP_NA);
|
||||
proto_tree_add_item(tree, proto_mq, tvb, offset, -1, ENC_NA);
|
||||
}
|
||||
call_dissector(data_handle, tvb_new_subset_remaining(tvb, offset), pinfo, tree);
|
||||
}
|
||||
|
@ -2367,7 +2367,7 @@ reassemble_mq(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
if (tree)
|
||||
{
|
||||
proto_item* ti = NULL;
|
||||
ti = proto_tree_add_item(tree, proto_mq, tvb, 0, -1, REP_NA);
|
||||
ti = proto_tree_add_item(tree, proto_mq, tvb, 0, -1, ENC_NA);
|
||||
proto_item_append_text(ti, " (%s) [Reassembled MQ]", val_to_str(opcode, mq_opcode_vals, "Unknown (0x%02x)"));
|
||||
}
|
||||
return;
|
||||
|
|
|
@ -103,21 +103,21 @@ dissect_mtp2_header(tvbuff_t *su_tvb, proto_item *mtp2_tree)
|
|||
{
|
||||
if (mtp2_tree) {
|
||||
if (use_extended_sequence_numbers) {
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_ext_bsn, su_tvb, EXTENDED_BSN_BIB_OFFSET, EXTENDED_BSN_BIB_LENGTH, REP_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_ext_res, su_tvb, EXTENDED_BSN_BIB_OFFSET, EXTENDED_BSN_BIB_LENGTH, REP_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_ext_bib, su_tvb, EXTENDED_BSN_BIB_OFFSET, EXTENDED_BSN_BIB_LENGTH, REP_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_ext_fsn, su_tvb, EXTENDED_FSN_FIB_OFFSET, EXTENDED_FSN_FIB_LENGTH, REP_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_ext_res, su_tvb, EXTENDED_BSN_BIB_OFFSET, EXTENDED_BSN_BIB_LENGTH, REP_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_ext_fib, su_tvb, EXTENDED_FSN_FIB_OFFSET, EXTENDED_FSN_FIB_LENGTH, REP_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_ext_li, su_tvb, EXTENDED_LI_OFFSET, EXTENDED_LI_LENGTH, REP_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_ext_spare, su_tvb, EXTENDED_LI_OFFSET, EXTENDED_LI_LENGTH, REP_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_ext_bsn, su_tvb, EXTENDED_BSN_BIB_OFFSET, EXTENDED_BSN_BIB_LENGTH, ENC_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_ext_res, su_tvb, EXTENDED_BSN_BIB_OFFSET, EXTENDED_BSN_BIB_LENGTH, ENC_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_ext_bib, su_tvb, EXTENDED_BSN_BIB_OFFSET, EXTENDED_BSN_BIB_LENGTH, ENC_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_ext_fsn, su_tvb, EXTENDED_FSN_FIB_OFFSET, EXTENDED_FSN_FIB_LENGTH, ENC_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_ext_res, su_tvb, EXTENDED_BSN_BIB_OFFSET, EXTENDED_BSN_BIB_LENGTH, ENC_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_ext_fib, su_tvb, EXTENDED_FSN_FIB_OFFSET, EXTENDED_FSN_FIB_LENGTH, ENC_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_ext_li, su_tvb, EXTENDED_LI_OFFSET, EXTENDED_LI_LENGTH, ENC_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_ext_spare, su_tvb, EXTENDED_LI_OFFSET, EXTENDED_LI_LENGTH, ENC_LITTLE_ENDIAN);
|
||||
} else {
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_bsn, su_tvb, BSN_BIB_OFFSET, BSN_BIB_LENGTH, REP_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_bib, su_tvb, BSN_BIB_OFFSET, BSN_BIB_LENGTH, REP_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_fsn, su_tvb, FSN_FIB_OFFSET, FSN_FIB_LENGTH, REP_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_fib, su_tvb, FSN_FIB_OFFSET, FSN_FIB_LENGTH, REP_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_li, su_tvb, LI_OFFSET, LI_LENGTH, REP_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_spare, su_tvb, LI_OFFSET, LI_LENGTH, REP_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_bsn, su_tvb, BSN_BIB_OFFSET, BSN_BIB_LENGTH, ENC_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_bib, su_tvb, BSN_BIB_OFFSET, BSN_BIB_LENGTH, ENC_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_fsn, su_tvb, FSN_FIB_OFFSET, FSN_FIB_LENGTH, ENC_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_fib, su_tvb, FSN_FIB_OFFSET, FSN_FIB_LENGTH, ENC_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_li, su_tvb, LI_OFFSET, LI_LENGTH, ENC_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_spare, su_tvb, LI_OFFSET, LI_LENGTH, ENC_LITTLE_ENDIAN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -256,7 +256,7 @@ dissect_mtp2_lssu(tvbuff_t *su_tvb, packet_info *pinfo, proto_item *mtp2_tree)
|
|||
sf_extra_offset = SF_EXTRA_OFFSET;
|
||||
}
|
||||
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_sf, su_tvb, sf_offset, SF_LENGTH, REP_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_sf, su_tvb, sf_offset, SF_LENGTH, ENC_LITTLE_ENDIAN);
|
||||
sf = tvb_get_guint8(su_tvb, SF_OFFSET);
|
||||
|
||||
/* If the LI is 2 then there is an extra octet following the standard SF
|
||||
|
@ -264,7 +264,7 @@ dissect_mtp2_lssu(tvbuff_t *su_tvb, packet_info *pinfo, proto_item *mtp2_tree)
|
|||
* (In any case the first byte of the SF always has the same meaning.)
|
||||
*/
|
||||
if ((tvb_get_guint8(su_tvb, LI_OFFSET) & LI_MASK) == 2)
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_sf_extra, su_tvb, sf_extra_offset, SF_EXTRA_LENGTH, REP_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(mtp2_tree, hf_mtp2_sf_extra, su_tvb, sf_extra_offset, SF_EXTRA_LENGTH, ENC_LITTLE_ENDIAN);
|
||||
|
||||
if (check_col(pinfo->cinfo, COL_INFO))
|
||||
col_set_str(pinfo->cinfo, COL_INFO, val_to_str_const(sf, status_field_acro_vals, "Unknown"));
|
||||
|
@ -345,7 +345,7 @@ dissect_mtp2_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolea
|
|||
col_set_str(pinfo->cinfo, COL_PROTOCOL, "MTP2");
|
||||
|
||||
if (tree) {
|
||||
mtp2_item = proto_tree_add_item(tree, proto_mtp2, tvb, 0, -1, REP_NA);
|
||||
mtp2_item = proto_tree_add_item(tree, proto_mtp2, tvb, 0, -1, ENC_NA);
|
||||
mtp2_tree = proto_item_add_subtree(mtp2_item, ett_mtp2);
|
||||
};
|
||||
|
||||
|
|
|
@ -958,7 +958,7 @@ dissect_heartbeat_info_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_
|
|||
|
||||
heartbeat_info_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
if (heartbeat_info_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_heartbeat_info, parameter_tvb, HEARTBEAT_INFO_PARAMETER_INFO_OFFSET, heartbeat_info_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_heartbeat_info, parameter_tvb, HEARTBEAT_INFO_PARAMETER_INFO_OFFSET, heartbeat_info_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (Information: %u byte%s)", heartbeat_info_length, plurality(heartbeat_info_length, "", "s"));
|
||||
}
|
||||
|
||||
|
@ -969,7 +969,7 @@ static void
|
|||
dissect_ipv4_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item, proto_item *additional_item, gboolean dissecting_init_init_ack_chunk)
|
||||
{
|
||||
if (parameter_tree) {
|
||||
proto_tree_add_item(parameter_tree, hf_ipv4_address, parameter_tvb, IPV4_ADDRESS_OFFSET, IPV4_ADDRESS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_ipv4_address, parameter_tvb, IPV4_ADDRESS_OFFSET, IPV4_ADDRESS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (Address: %s)", ip_to_str((const guint8 *)tvb_get_ptr(parameter_tvb, IPV4_ADDRESS_OFFSET, IPV4_ADDRESS_LENGTH)));
|
||||
if (additional_item)
|
||||
proto_item_append_text(additional_item, "%s", ip_to_str((const guint8 *)tvb_get_ptr(parameter_tvb, IPV4_ADDRESS_OFFSET, IPV4_ADDRESS_LENGTH)));
|
||||
|
@ -989,7 +989,7 @@ static void
|
|||
dissect_ipv6_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item, proto_item *additional_item, gboolean dissecting_init_init_ack_chunk)
|
||||
{
|
||||
if (parameter_tree) {
|
||||
proto_tree_add_item(parameter_tree, hf_ipv6_address, parameter_tvb, IPV6_ADDRESS_OFFSET, IPV6_ADDRESS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_ipv6_address, parameter_tvb, IPV6_ADDRESS_OFFSET, IPV6_ADDRESS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (Address: %s)", ip6_to_str((const struct e_in6_addr *)tvb_get_ptr(parameter_tvb, IPV6_ADDRESS_OFFSET, IPV6_ADDRESS_LENGTH)));
|
||||
if (additional_item)
|
||||
proto_item_append_text(additional_item, "%s", ip6_to_str((const struct e_in6_addr *)tvb_get_ptr(parameter_tvb, IPV6_ADDRESS_OFFSET, IPV6_ADDRESS_LENGTH)));
|
||||
|
@ -1011,7 +1011,7 @@ dissect_state_cookie_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tr
|
|||
|
||||
state_cookie_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
if (state_cookie_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_state_cookie, parameter_tvb, STATE_COOKIE_PARAMETER_COOKIE_OFFSET, state_cookie_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_state_cookie, parameter_tvb, STATE_COOKIE_PARAMETER_COOKIE_OFFSET, state_cookie_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (Cookie length: %u byte%s)", state_cookie_length, plurality(state_cookie_length, "", "s"));
|
||||
}
|
||||
|
||||
|
@ -1028,7 +1028,7 @@ dissect_unrecognized_parameters_parameter(tvbuff_t *parameter_tvb, packet_info *
|
|||
static void
|
||||
dissect_cookie_preservative_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_cookie_preservative_increment, parameter_tvb, COOKIE_PRESERVATIVE_PARAMETER_INCR_OFFSET, COOKIE_PRESERVATIVE_PARAMETER_INCR_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_cookie_preservative_increment, parameter_tvb, COOKIE_PRESERVATIVE_PARAMETER_INCR_OFFSET, COOKIE_PRESERVATIVE_PARAMETER_INCR_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (Increment :%u msec)", tvb_get_ntohl(parameter_tvb, COOKIE_PRESERVATIVE_PARAMETER_INCR_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -1040,7 +1040,7 @@ dissect_hostname_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree,
|
|||
guint16 hostname_length;
|
||||
|
||||
hostname_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_hostname, parameter_tvb, HOSTNAME_OFFSET, hostname_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_hostname, parameter_tvb, HOSTNAME_OFFSET, hostname_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (Hostname: %.*s)", hostname_length, (const char *)tvb_get_ptr(parameter_tvb, HOSTNAME_OFFSET, hostname_length));
|
||||
|
||||
}
|
||||
|
@ -1070,7 +1070,7 @@ dissect_supported_address_types_parameter(tvbuff_t *parameter_tvb, proto_tree *p
|
|||
offset = PARAMETER_VALUE_OFFSET;
|
||||
proto_item_append_text(parameter_item, " (Supported types: ");
|
||||
for(addr_type_number = 1; addr_type_number <= number_of_addr_types; addr_type_number++) {
|
||||
proto_tree_add_item(parameter_tree, hf_supported_address_type, parameter_tvb, offset, SUPPORTED_ADDRESS_TYPE_PARAMETER_ADDRESS_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_supported_address_type, parameter_tvb, offset, SUPPORTED_ADDRESS_TYPE_PARAMETER_ADDRESS_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
addr_type = tvb_get_ntohs(parameter_tvb, offset);
|
||||
switch (addr_type) {
|
||||
case IPv4_ADDRESS_TYPE:
|
||||
|
@ -1105,16 +1105,16 @@ dissect_outgoing_ssn_reset_request_parameter(tvbuff_t *parameter_tvb, proto_tree
|
|||
{
|
||||
guint length, number_of_sids, sid_number, sid_offset;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_stream_reset_req_seq_nr, parameter_tvb, STREAM_RESET_REQ_SEQ_NR_OFFSET, STREAM_RESET_SEQ_NR_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_stream_reset_rsp_seq_nr, parameter_tvb, STREAM_RESET_REQ_RSP_SEQ_NR_OFFSET, STREAM_RESET_SEQ_NR_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_senders_last_assigned_tsn, parameter_tvb, SENDERS_LAST_ASSIGNED_TSN_OFFSET, SENDERS_LAST_ASSIGNED_TSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_stream_reset_req_seq_nr, parameter_tvb, STREAM_RESET_REQ_SEQ_NR_OFFSET, STREAM_RESET_SEQ_NR_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_stream_reset_rsp_seq_nr, parameter_tvb, STREAM_RESET_REQ_RSP_SEQ_NR_OFFSET, STREAM_RESET_SEQ_NR_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_senders_last_assigned_tsn, parameter_tvb, SENDERS_LAST_ASSIGNED_TSN_OFFSET, SENDERS_LAST_ASSIGNED_TSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET);
|
||||
sid_offset = SENDERS_LAST_ASSIGNED_TSN_OFFSET + SENDERS_LAST_ASSIGNED_TSN_LENGTH;
|
||||
if (length > PARAMETER_HEADER_LENGTH + STREAM_RESET_SEQ_NR_LENGTH + STREAM_RESET_SEQ_NR_LENGTH + SENDERS_LAST_ASSIGNED_TSN_LENGTH) {
|
||||
number_of_sids = (length - (PARAMETER_HEADER_LENGTH + STREAM_RESET_SEQ_NR_LENGTH + STREAM_RESET_SEQ_NR_LENGTH + SENDERS_LAST_ASSIGNED_TSN_LENGTH)) / SID_LENGTH;
|
||||
for(sid_number = 1; sid_number <= number_of_sids; sid_number++) {
|
||||
proto_tree_add_item(parameter_tree, hf_stream_reset_sid, parameter_tvb, sid_offset, SID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_stream_reset_sid, parameter_tvb, sid_offset, SID_LENGTH, ENC_BIG_ENDIAN);
|
||||
sid_offset += SID_LENGTH;
|
||||
}
|
||||
}
|
||||
|
@ -1125,14 +1125,14 @@ dissect_incoming_ssn_reset_request_parameter(tvbuff_t *parameter_tvb, proto_tree
|
|||
{
|
||||
guint length, number_of_sids, sid_number, sid_offset;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_stream_reset_req_seq_nr, parameter_tvb, STREAM_RESET_REQ_SEQ_NR_OFFSET, STREAM_RESET_SEQ_NR_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_stream_reset_req_seq_nr, parameter_tvb, STREAM_RESET_REQ_SEQ_NR_OFFSET, STREAM_RESET_SEQ_NR_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET);
|
||||
sid_offset = STREAM_RESET_REQ_SEQ_NR_OFFSET + STREAM_RESET_SEQ_NR_LENGTH;
|
||||
if (length > PARAMETER_HEADER_LENGTH + STREAM_RESET_SEQ_NR_LENGTH) {
|
||||
number_of_sids = (length - (PARAMETER_HEADER_LENGTH + STREAM_RESET_SEQ_NR_LENGTH)) / SID_LENGTH;
|
||||
for(sid_number = 1; sid_number <= number_of_sids; sid_number++) {
|
||||
proto_tree_add_item(parameter_tree, hf_stream_reset_sid, parameter_tvb, sid_offset, SID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_stream_reset_sid, parameter_tvb, sid_offset, SID_LENGTH, ENC_BIG_ENDIAN);
|
||||
sid_offset += SID_LENGTH;
|
||||
}
|
||||
}
|
||||
|
@ -1143,7 +1143,7 @@ dissect_incoming_ssn_reset_request_parameter(tvbuff_t *parameter_tvb, proto_tree
|
|||
static void
|
||||
dissect_ssn_tsn_reset_request_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item _U_)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_stream_reset_req_seq_nr, parameter_tvb, STREAM_RESET_REQ_SEQ_NR_OFFSET, STREAM_RESET_SEQ_NR_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_stream_reset_req_seq_nr, parameter_tvb, STREAM_RESET_REQ_SEQ_NR_OFFSET, STREAM_RESET_SEQ_NR_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
#define STREAM_RESET_RSP_RESULT_LENGTH 4
|
||||
|
@ -1172,12 +1172,12 @@ dissect_stream_reset_response_parameter(tvbuff_t *parameter_tvb, proto_tree *par
|
|||
|
||||
length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET);
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_stream_reset_rsp_seq_nr, parameter_tvb, STREAM_RESET_RSP_RSP_SEQ_NR_OFFSET, STREAM_RESET_SEQ_NR_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_stream_reset_rsp_result, parameter_tvb, STREAM_RESET_RSP_RESULT_OFFSET, STREAM_RESET_RSP_RESULT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_stream_reset_rsp_seq_nr, parameter_tvb, STREAM_RESET_RSP_RSP_SEQ_NR_OFFSET, STREAM_RESET_SEQ_NR_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_stream_reset_rsp_result, parameter_tvb, STREAM_RESET_RSP_RESULT_OFFSET, STREAM_RESET_RSP_RESULT_LENGTH, ENC_BIG_ENDIAN);
|
||||
if (length >= PARAMETER_HEADER_LENGTH + STREAM_RESET_SEQ_NR_LENGTH + STREAM_RESET_RSP_RESULT_LENGTH + SENDERS_NEXT_TSN_LENGTH)
|
||||
proto_tree_add_item(parameter_tree, hf_senders_next_tsn, parameter_tvb, SENDERS_NEXT_TSN_OFFSET, SENDERS_NEXT_TSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_senders_next_tsn, parameter_tvb, SENDERS_NEXT_TSN_OFFSET, SENDERS_NEXT_TSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
if (length >= PARAMETER_HEADER_LENGTH + STREAM_RESET_SEQ_NR_LENGTH + STREAM_RESET_RSP_RESULT_LENGTH + SENDERS_NEXT_TSN_LENGTH + RECEIVERS_NEXT_TSN_LENGTH)
|
||||
proto_tree_add_item(parameter_tree, hf_receivers_next_tsn, parameter_tvb, RECEIVERS_NEXT_TSN_OFFSET, RECEIVERS_NEXT_TSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_receivers_next_tsn, parameter_tvb, RECEIVERS_NEXT_TSN_OFFSET, RECEIVERS_NEXT_TSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1199,7 +1199,7 @@ dissect_random_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree)
|
|||
|
||||
number_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
if (number_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_random_number, parameter_tvb, RANDOM_NUMBER_OFFSET, number_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_random_number, parameter_tvb, RANDOM_NUMBER_OFFSET, number_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1210,7 +1210,7 @@ dissect_chunks_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree)
|
|||
|
||||
number_of_chunks = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
for(chunk_number = 1, offset = PARAMETER_VALUE_OFFSET; chunk_number <= number_of_chunks; chunk_number++, offset += CHUNK_TYPE_LENGTH)
|
||||
proto_tree_add_item(parameter_tree, hf_chunks_to_auth, parameter_tvb, offset, CHUNK_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_chunks_to_auth, parameter_tvb, offset, CHUNK_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static const value_string hmac_id_values[] = {
|
||||
|
@ -1233,7 +1233,7 @@ dissect_hmac_algo_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree)
|
|||
|
||||
number_of_ids = (tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH) / HMAC_ID_LENGTH;
|
||||
for(id_number = 1, offset = PARAMETER_VALUE_OFFSET; id_number <= number_of_ids; id_number++, offset += HMAC_ID_LENGTH)
|
||||
proto_tree_add_item(parameter_tree, hf_hmac_id, parameter_tvb, offset, HMAC_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_hmac_id, parameter_tvb, offset, HMAC_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1245,7 +1245,7 @@ dissect_supported_extensions_parameter(tvbuff_t *parameter_tvb, proto_tree *para
|
|||
proto_item_append_text(parameter_item, " (Supported types: ");
|
||||
number_of_types = (tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH) / CHUNK_TYPE_LENGTH;
|
||||
for(type_number = 1, offset = PARAMETER_VALUE_OFFSET; type_number <= number_of_types; type_number++, offset += CHUNK_TYPE_LENGTH) {
|
||||
proto_tree_add_item(parameter_tree, hf_supported_chunk_type, parameter_tvb, offset, CHUNK_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_supported_chunk_type, parameter_tvb, offset, CHUNK_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, "%s", val_to_str(tvb_get_guint8(parameter_tvb, offset), chunk_type_values, "Unknown"));
|
||||
if (type_number < number_of_types)
|
||||
proto_item_append_text(parameter_item, ", ");
|
||||
|
@ -1271,7 +1271,7 @@ dissect_add_ip_address_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, pr
|
|||
|
||||
address_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH - CORRELATION_ID_LENGTH;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_correlation_id, parameter_tvb, CORRELATION_ID_OFFSET, CORRELATION_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_correlation_id, parameter_tvb, CORRELATION_ID_OFFSET, CORRELATION_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
address_tvb = tvb_new_subset(parameter_tvb, ADDRESS_PARAMETER_OFFSET, address_length, address_length);
|
||||
proto_item_append_text(parameter_item, " (Address: ");
|
||||
dissect_parameter(address_tvb, pinfo, parameter_tree, parameter_item, FALSE);
|
||||
|
@ -1286,7 +1286,7 @@ dissect_del_ip_address_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, pr
|
|||
|
||||
address_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH - CORRELATION_ID_LENGTH;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_correlation_id, parameter_tvb, CORRELATION_ID_OFFSET, CORRELATION_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_correlation_id, parameter_tvb, CORRELATION_ID_OFFSET, CORRELATION_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
address_tvb = tvb_new_subset(parameter_tvb, ADDRESS_PARAMETER_OFFSET, address_length, address_length);
|
||||
proto_item_append_text(parameter_item, " (Address: ");
|
||||
dissect_parameter(address_tvb, pinfo, parameter_tree, parameter_item, FALSE);
|
||||
|
@ -1301,7 +1301,7 @@ dissect_error_cause_indication_parameter(tvbuff_t *parameter_tvb, packet_info *p
|
|||
guint16 causes_length;
|
||||
tvbuff_t *causes_tvb;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_correlation_id, parameter_tvb, CORRELATION_ID_OFFSET, CORRELATION_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_correlation_id, parameter_tvb, CORRELATION_ID_OFFSET, CORRELATION_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
causes_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH - CORRELATION_ID_LENGTH;
|
||||
causes_tvb = tvb_new_subset(parameter_tvb, ERROR_CAUSE_IND_CASUES_OFFSET, causes_length, causes_length);
|
||||
dissect_error_causes(causes_tvb, pinfo, parameter_tree);
|
||||
|
@ -1315,7 +1315,7 @@ dissect_set_primary_address_parameter(tvbuff_t *parameter_tvb, packet_info *pinf
|
|||
|
||||
address_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH - CORRELATION_ID_LENGTH;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_correlation_id, parameter_tvb, CORRELATION_ID_OFFSET, CORRELATION_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_correlation_id, parameter_tvb, CORRELATION_ID_OFFSET, CORRELATION_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
address_tvb = tvb_new_subset(parameter_tvb, ADDRESS_PARAMETER_OFFSET, address_length, address_length);
|
||||
proto_item_append_text(parameter_item, " (Address: ");
|
||||
dissect_parameter(address_tvb, pinfo, parameter_tree, parameter_item, FALSE);
|
||||
|
@ -1325,7 +1325,7 @@ dissect_set_primary_address_parameter(tvbuff_t *parameter_tvb, packet_info *pinf
|
|||
static void
|
||||
dissect_success_report_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_correlation_id, parameter_tvb, CORRELATION_ID_OFFSET, CORRELATION_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_correlation_id, parameter_tvb, CORRELATION_ID_OFFSET, CORRELATION_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (Correlation ID: %u)", tvb_get_ntohl(parameter_tvb, CORRELATION_ID_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -1335,7 +1335,7 @@ dissect_success_report_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_
|
|||
static void
|
||||
dissect_adap_indication_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_adap_indication, parameter_tvb, ADAP_INDICATION_OFFSET, ADAP_INDICATION_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_adap_indication, parameter_tvb, ADAP_INDICATION_OFFSET, ADAP_INDICATION_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (Indication: %u)", tvb_get_ntohl(parameter_tvb, ADAP_INDICATION_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -1348,7 +1348,7 @@ dissect_unknown_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, p
|
|||
parameter_value_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
|
||||
if (parameter_value_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_value, parameter_tvb, PARAMETER_VALUE_OFFSET, parameter_value_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_value, parameter_tvb, PARAMETER_VALUE_OFFSET, parameter_value_length, ENC_BIG_ENDIAN);
|
||||
|
||||
proto_item_append_text(parameter_item, " (Type %u, value length: %u byte%s)", type, parameter_value_length, plurality(parameter_value_length, "", "s"));
|
||||
}
|
||||
|
@ -1440,11 +1440,11 @@ dissect_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *chunk
|
|||
parameter_item = proto_tree_add_text(chunk_tree, parameter_tvb, PARAMETER_HEADER_OFFSET, tvb_length(parameter_tvb), "%s parameter", val_to_str(type, parameter_identifier_values, "Unknown"));
|
||||
parameter_tree = proto_item_add_subtree(parameter_item, ett_sctp_chunk_parameter);
|
||||
|
||||
type_item = proto_tree_add_item(parameter_tree, hf_parameter_type, parameter_tvb, PARAMETER_TYPE_OFFSET, PARAMETER_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
type_item = proto_tree_add_item(parameter_tree, hf_parameter_type, parameter_tvb, PARAMETER_TYPE_OFFSET, PARAMETER_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
type_tree = proto_item_add_subtree(type_item, ett_sctp_parameter_type);
|
||||
proto_tree_add_item(type_tree, hf_parameter_bit_1, parameter_tvb, PARAMETER_TYPE_OFFSET, PARAMETER_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(type_tree, hf_parameter_bit_2, parameter_tvb, PARAMETER_TYPE_OFFSET, PARAMETER_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(type_tree, hf_parameter_bit_1, parameter_tvb, PARAMETER_TYPE_OFFSET, PARAMETER_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(type_tree, hf_parameter_bit_2, parameter_tvb, PARAMETER_TYPE_OFFSET, PARAMETER_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
} else {
|
||||
parameter_item = NULL;
|
||||
parameter_tree = NULL;
|
||||
|
@ -1532,7 +1532,7 @@ dissect_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *chunk
|
|||
}
|
||||
|
||||
if (padding_length > 0)
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1581,8 +1581,8 @@ dissect_parameters(tvbuff_t *parameters_tvb, packet_info *pinfo, proto_tree *tre
|
|||
static void
|
||||
dissect_invalid_stream_identifier_cause(tvbuff_t *cause_tvb, proto_tree *cause_tree, proto_item *cause_item)
|
||||
{
|
||||
proto_tree_add_item(cause_tree, hf_cause_stream_identifier, cause_tvb, CAUSE_STREAM_IDENTIFIER_OFFSET, CAUSE_STREAM_IDENTIFIER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_reserved, cause_tvb, CAUSE_RESERVED_OFFSET, CAUSE_RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_stream_identifier, cause_tvb, CAUSE_STREAM_IDENTIFIER_OFFSET, CAUSE_STREAM_IDENTIFIER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_reserved, cause_tvb, CAUSE_RESERVED_OFFSET, CAUSE_RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(cause_item, " (SID: %u)", tvb_get_ntohs(cause_tvb, CAUSE_STREAM_IDENTIFIER_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -1600,10 +1600,10 @@ dissect_missing_mandatory_parameters_cause(tvbuff_t *cause_tvb, proto_tree *caus
|
|||
guint offset;
|
||||
|
||||
number_of_missing_parameters = tvb_get_ntohl(cause_tvb, CAUSE_NUMBER_OF_MISSING_PARAMETERS_OFFSET);
|
||||
proto_tree_add_item(cause_tree, hf_cause_number_of_missing_parameters, cause_tvb, CAUSE_NUMBER_OF_MISSING_PARAMETERS_OFFSET, CAUSE_NUMBER_OF_MISSING_PARAMETERS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_number_of_missing_parameters, cause_tvb, CAUSE_NUMBER_OF_MISSING_PARAMETERS_OFFSET, CAUSE_NUMBER_OF_MISSING_PARAMETERS_LENGTH, ENC_BIG_ENDIAN);
|
||||
offset = CAUSE_FIRST_MISSING_PARAMETER_TYPE_OFFSET;
|
||||
for(missing_parameter_number = 1; missing_parameter_number <= number_of_missing_parameters; missing_parameter_number++) {
|
||||
proto_tree_add_item(cause_tree, hf_cause_missing_parameter_type, cause_tvb, offset, CAUSE_MISSING_PARAMETER_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_missing_parameter_type, cause_tvb, offset, CAUSE_MISSING_PARAMETER_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
offset += CAUSE_MISSING_PARAMETER_TYPE_LENGTH;
|
||||
}
|
||||
}
|
||||
|
@ -1614,7 +1614,7 @@ dissect_missing_mandatory_parameters_cause(tvbuff_t *cause_tvb, proto_tree *caus
|
|||
static void
|
||||
dissect_stale_cookie_error_cause(tvbuff_t *cause_tvb, proto_tree *cause_tree, proto_item *cause_item)
|
||||
{
|
||||
proto_tree_add_item(cause_tree, hf_cause_measure_of_staleness, cause_tvb, CAUSE_MEASURE_OF_STALENESS_OFFSET, CAUSE_MEASURE_OF_STALENESS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_measure_of_staleness, cause_tvb, CAUSE_MEASURE_OF_STALENESS_OFFSET, CAUSE_MEASURE_OF_STALENESS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(cause_item, " (Measure: %u usec)", tvb_get_ntohl(cause_tvb, CAUSE_MEASURE_OF_STALENESS_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -1681,7 +1681,7 @@ dissect_unrecognized_parameters_cause(tvbuff_t *cause_tvb, packet_info *pinfo, p
|
|||
static void
|
||||
dissect_no_user_data_cause(tvbuff_t *cause_tvb, proto_tree *cause_tree, proto_item *cause_item)
|
||||
{
|
||||
proto_tree_add_item(cause_tree, hf_cause_tsn, cause_tvb, CAUSE_TSN_OFFSET, CAUSE_TSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_tsn, cause_tvb, CAUSE_TSN_OFFSET, CAUSE_TSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(cause_item, " (TSN: %u)", tvb_get_ntohl(cause_tvb, CAUSE_TSN_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -1710,7 +1710,7 @@ dissect_user_initiated_abort_cause(tvbuff_t *cause_tvb, proto_tree *cause_tree)
|
|||
|
||||
cause_info_length = tvb_get_ntohs(cause_tvb, CAUSE_LENGTH_OFFSET) - CAUSE_HEADER_LENGTH;
|
||||
if (cause_info_length > 0)
|
||||
proto_tree_add_item(cause_tree, hf_cause_info, cause_tvb, CAUSE_INFO_OFFSET, cause_info_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_info, cause_tvb, CAUSE_INFO_OFFSET, cause_info_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1720,7 +1720,7 @@ dissect_protocol_violation_cause(tvbuff_t *cause_tvb, proto_tree *cause_tree)
|
|||
|
||||
cause_info_length = tvb_get_ntohs(cause_tvb, CAUSE_LENGTH_OFFSET) - CAUSE_HEADER_LENGTH;
|
||||
if (cause_info_length > 0)
|
||||
proto_tree_add_item(cause_tree, hf_cause_info, cause_tvb, CAUSE_INFO_OFFSET, cause_info_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_info, cause_tvb, CAUSE_INFO_OFFSET, cause_info_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1774,7 +1774,7 @@ dissect_request_refused_cause(tvbuff_t *cause_tvb, packet_info *pinfo, proto_tre
|
|||
static void
|
||||
dissect_unsupported_hmac_id_cause(tvbuff_t *cause_tvb, packet_info *pinfo _U_, proto_tree *cause_tree)
|
||||
{
|
||||
proto_tree_add_item(cause_tree, hf_hmac_id, cause_tvb, CAUSE_INFO_OFFSET, HMAC_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_hmac_id, cause_tvb, CAUSE_INFO_OFFSET, HMAC_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1784,7 +1784,7 @@ dissect_unknown_cause(tvbuff_t *cause_tvb, proto_tree *cause_tree, proto_item *c
|
|||
|
||||
cause_info_length = tvb_get_ntohs(cause_tvb, CAUSE_LENGTH_OFFSET) - CAUSE_HEADER_LENGTH;
|
||||
if (cause_info_length > 0)
|
||||
proto_tree_add_item(cause_tree, hf_cause_info, cause_tvb, CAUSE_INFO_OFFSET, cause_info_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_info, cause_tvb, CAUSE_INFO_OFFSET, cause_info_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(cause_item, " (Code: %u, information length: %u byte%s)", tvb_get_ntohs(cause_tvb, CAUSE_CODE_OFFSET), cause_info_length, plurality(cause_info_length, "", "s"));
|
||||
}
|
||||
|
||||
|
@ -1845,8 +1845,8 @@ dissect_error_cause(tvbuff_t *cause_tvb, packet_info *pinfo, proto_tree *chunk_t
|
|||
cause_item = proto_tree_add_text(chunk_tree, cause_tvb, CAUSE_HEADER_OFFSET, tvb_length(cause_tvb), "%s cause", val_to_str(code, cause_code_values, "Unknown"));
|
||||
cause_tree = proto_item_add_subtree(cause_item, ett_sctp_chunk_cause);
|
||||
|
||||
proto_tree_add_item(cause_tree, hf_cause_code, cause_tvb, CAUSE_CODE_OFFSET, CAUSE_CODE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_length, cause_tvb, CAUSE_LENGTH_OFFSET, CAUSE_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_code, cause_tvb, CAUSE_CODE_OFFSET, CAUSE_CODE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_length, cause_tvb, CAUSE_LENGTH_OFFSET, CAUSE_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
switch(code) {
|
||||
case INVALID_STREAM_IDENTIFIER:
|
||||
|
@ -1909,7 +1909,7 @@ dissect_error_cause(tvbuff_t *cause_tvb, packet_info *pinfo, proto_tree *chunk_t
|
|||
}
|
||||
|
||||
if (padding_length > 0)
|
||||
proto_tree_add_item(cause_tree, hf_cause_padding, cause_tvb, CAUSE_HEADER_OFFSET + length, padding_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(cause_tree, hf_cause_padding, cause_tvb, CAUSE_HEADER_OFFSET + length, padding_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2694,14 +2694,14 @@ dissect_data_chunk(tvbuff_t *chunk_tvb,
|
|||
if (chunk_tree) {
|
||||
proto_item_set_len(chunk_item, DATA_CHUNK_HEADER_LENGTH);
|
||||
flags_tree = proto_item_add_subtree(flags_item, ett_sctp_data_chunk_flags);
|
||||
proto_tree_add_item(flags_tree, hf_data_chunk_e_bit, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_data_chunk_b_bit, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_data_chunk_u_bit, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_data_chunk_i_bit, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
tsn_item = proto_tree_add_item(chunk_tree, hf_data_chunk_tsn, chunk_tvb, DATA_CHUNK_TSN_OFFSET, DATA_CHUNK_TSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_data_chunk_stream_id, chunk_tvb, DATA_CHUNK_STREAM_ID_OFFSET, DATA_CHUNK_STREAM_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_data_chunk_stream_seq_number, chunk_tvb, DATA_CHUNK_STREAM_SEQ_NUMBER_OFFSET, DATA_CHUNK_STREAM_SEQ_NUMBER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_data_chunk_payload_proto_id, chunk_tvb, DATA_CHUNK_PAYLOAD_PROTOCOL_ID_OFFSET, DATA_CHUNK_PAYLOAD_PROTOCOL_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_data_chunk_e_bit, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_data_chunk_b_bit, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_data_chunk_u_bit, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_data_chunk_i_bit, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
tsn_item = proto_tree_add_item(chunk_tree, hf_data_chunk_tsn, chunk_tvb, DATA_CHUNK_TSN_OFFSET, DATA_CHUNK_TSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_data_chunk_stream_id, chunk_tvb, DATA_CHUNK_STREAM_ID_OFFSET, DATA_CHUNK_STREAM_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_data_chunk_stream_seq_number, chunk_tvb, DATA_CHUNK_STREAM_SEQ_NUMBER_OFFSET, DATA_CHUNK_STREAM_SEQ_NUMBER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_data_chunk_payload_proto_id, chunk_tvb, DATA_CHUNK_PAYLOAD_PROTOCOL_ID_OFFSET, DATA_CHUNK_PAYLOAD_PROTOCOL_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
proto_item_append_text(chunk_item, "(%s, ", (u_bit) ? "unordered" : "ordered");
|
||||
if (b_bit) {
|
||||
|
@ -2820,13 +2820,13 @@ dissect_init_chunk(tvbuff_t *chunk_tvb, guint16 chunk_length, packet_info *pinfo
|
|||
}
|
||||
if (chunk_tree) {
|
||||
/* handle fixed parameters */
|
||||
proto_tree_add_item(chunk_tree, hf_init_chunk_initiate_tag, chunk_tvb, INIT_CHUNK_INITIATE_TAG_OFFSET, INIT_CHUNK_INITIATE_TAG_LENGTH, REP_BIG_ENDIAN);
|
||||
hidden_item = proto_tree_add_item(chunk_tree, hf_initiate_tag, chunk_tvb, INIT_CHUNK_INITIATE_TAG_OFFSET, INIT_CHUNK_INITIATE_TAG_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_init_chunk_initiate_tag, chunk_tvb, INIT_CHUNK_INITIATE_TAG_OFFSET, INIT_CHUNK_INITIATE_TAG_LENGTH, ENC_BIG_ENDIAN);
|
||||
hidden_item = proto_tree_add_item(chunk_tree, hf_initiate_tag, chunk_tvb, INIT_CHUNK_INITIATE_TAG_OFFSET, INIT_CHUNK_INITIATE_TAG_LENGTH, ENC_BIG_ENDIAN);
|
||||
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||
proto_tree_add_item(chunk_tree, hf_init_chunk_adv_rec_window_credit, chunk_tvb, INIT_CHUNK_ADV_REC_WINDOW_CREDIT_OFFSET, INIT_CHUNK_ADV_REC_WINDOW_CREDIT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_init_chunk_number_of_outbound_streams, chunk_tvb, INIT_CHUNK_NUMBER_OF_OUTBOUND_STREAMS_OFFSET, INIT_CHUNK_NUMBER_OF_OUTBOUND_STREAMS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_init_chunk_number_of_inbound_streams, chunk_tvb, INIT_CHUNK_NUMBER_OF_INBOUND_STREAMS_OFFSET, INIT_CHUNK_NUMBER_OF_INBOUND_STREAMS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_init_chunk_initial_tsn, chunk_tvb, INIT_CHUNK_INITIAL_TSN_OFFSET, INIT_CHUNK_INITIAL_TSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_init_chunk_adv_rec_window_credit, chunk_tvb, INIT_CHUNK_ADV_REC_WINDOW_CREDIT_OFFSET, INIT_CHUNK_ADV_REC_WINDOW_CREDIT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_init_chunk_number_of_outbound_streams, chunk_tvb, INIT_CHUNK_NUMBER_OF_OUTBOUND_STREAMS_OFFSET, INIT_CHUNK_NUMBER_OF_OUTBOUND_STREAMS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_init_chunk_number_of_inbound_streams, chunk_tvb, INIT_CHUNK_NUMBER_OF_INBOUND_STREAMS_OFFSET, INIT_CHUNK_NUMBER_OF_INBOUND_STREAMS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_init_chunk_initial_tsn, chunk_tvb, INIT_CHUNK_INITIAL_TSN_OFFSET, INIT_CHUNK_INITIAL_TSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
proto_item_append_text(chunk_item, " (Outbound streams: %u, inbound streams: %u)",
|
||||
tvb_get_ntohs(chunk_tvb, INIT_CHUNK_NUMBER_OF_OUTBOUND_STREAMS_OFFSET),
|
||||
|
@ -2852,13 +2852,13 @@ dissect_init_ack_chunk(tvbuff_t *chunk_tvb, guint16 chunk_length, packet_info *p
|
|||
}
|
||||
if (chunk_tree) {
|
||||
/* handle fixed parameters */
|
||||
proto_tree_add_item(chunk_tree, hf_initack_chunk_initiate_tag, chunk_tvb, INIT_CHUNK_INITIATE_TAG_OFFSET, INIT_CHUNK_INITIATE_TAG_LENGTH, REP_BIG_ENDIAN);
|
||||
hidden_item = proto_tree_add_item(chunk_tree, hf_initiate_tag, chunk_tvb, INIT_CHUNK_INITIATE_TAG_OFFSET, INIT_CHUNK_INITIATE_TAG_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_initack_chunk_initiate_tag, chunk_tvb, INIT_CHUNK_INITIATE_TAG_OFFSET, INIT_CHUNK_INITIATE_TAG_LENGTH, ENC_BIG_ENDIAN);
|
||||
hidden_item = proto_tree_add_item(chunk_tree, hf_initiate_tag, chunk_tvb, INIT_CHUNK_INITIATE_TAG_OFFSET, INIT_CHUNK_INITIATE_TAG_LENGTH, ENC_BIG_ENDIAN);
|
||||
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||
proto_tree_add_item(chunk_tree, hf_initack_chunk_adv_rec_window_credit, chunk_tvb, INIT_CHUNK_ADV_REC_WINDOW_CREDIT_OFFSET, INIT_CHUNK_ADV_REC_WINDOW_CREDIT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_initack_chunk_number_of_outbound_streams, chunk_tvb, INIT_CHUNK_NUMBER_OF_OUTBOUND_STREAMS_OFFSET, INIT_CHUNK_NUMBER_OF_OUTBOUND_STREAMS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_initack_chunk_number_of_inbound_streams, chunk_tvb, INIT_CHUNK_NUMBER_OF_INBOUND_STREAMS_OFFSET, INIT_CHUNK_NUMBER_OF_INBOUND_STREAMS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_initack_chunk_initial_tsn, chunk_tvb, INIT_CHUNK_INITIAL_TSN_OFFSET, INIT_CHUNK_INITIAL_TSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_initack_chunk_adv_rec_window_credit, chunk_tvb, INIT_CHUNK_ADV_REC_WINDOW_CREDIT_OFFSET, INIT_CHUNK_ADV_REC_WINDOW_CREDIT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_initack_chunk_number_of_outbound_streams, chunk_tvb, INIT_CHUNK_NUMBER_OF_OUTBOUND_STREAMS_OFFSET, INIT_CHUNK_NUMBER_OF_OUTBOUND_STREAMS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_initack_chunk_number_of_inbound_streams, chunk_tvb, INIT_CHUNK_NUMBER_OF_INBOUND_STREAMS_OFFSET, INIT_CHUNK_NUMBER_OF_INBOUND_STREAMS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_initack_chunk_initial_tsn, chunk_tvb, INIT_CHUNK_INITIAL_TSN_OFFSET, INIT_CHUNK_INITIAL_TSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
proto_item_append_text(chunk_item, " (Outbound streams: %u, inbound streams: %u)",
|
||||
tvb_get_ntohs(chunk_tvb, INIT_CHUNK_NUMBER_OF_OUTBOUND_STREAMS_OFFSET),
|
||||
|
@ -2908,11 +2908,11 @@ dissect_sack_chunk(packet_info* pinfo, tvbuff_t *chunk_tvb, proto_tree *chunk_tr
|
|||
guint32 a_rwnd;
|
||||
|
||||
flags_tree = proto_item_add_subtree(flags_item, ett_sctp_sack_chunk_flags);
|
||||
proto_tree_add_item(flags_tree, hf_sack_chunk_ns, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
ctsa_item = proto_tree_add_item(chunk_tree, hf_sack_chunk_cumulative_tsn_ack, chunk_tvb, SACK_CHUNK_CUMULATIVE_TSN_ACK_OFFSET, SACK_CHUNK_CUMULATIVE_TSN_ACK_LENGTH, REP_BIG_ENDIAN);
|
||||
a_rwnd_item = proto_tree_add_item(chunk_tree, hf_sack_chunk_adv_rec_window_credit, chunk_tvb, SACK_CHUNK_ADV_REC_WINDOW_CREDIT_OFFSET, SACK_CHUNK_ADV_REC_WINDOW_CREDIT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_sack_chunk_number_of_gap_blocks, chunk_tvb, SACK_CHUNK_NUMBER_OF_GAP_BLOCKS_OFFSET, SACK_CHUNK_NUMBER_OF_GAP_BLOCKS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_sack_chunk_number_of_dup_tsns, chunk_tvb, SACK_CHUNK_NUMBER_OF_DUP_TSNS_OFFSET, SACK_CHUNK_NUMBER_OF_DUP_TSNS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_sack_chunk_ns, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
ctsa_item = proto_tree_add_item(chunk_tree, hf_sack_chunk_cumulative_tsn_ack, chunk_tvb, SACK_CHUNK_CUMULATIVE_TSN_ACK_OFFSET, SACK_CHUNK_CUMULATIVE_TSN_ACK_LENGTH, ENC_BIG_ENDIAN);
|
||||
a_rwnd_item = proto_tree_add_item(chunk_tree, hf_sack_chunk_adv_rec_window_credit, chunk_tvb, SACK_CHUNK_ADV_REC_WINDOW_CREDIT_OFFSET, SACK_CHUNK_ADV_REC_WINDOW_CREDIT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_sack_chunk_number_of_gap_blocks, chunk_tvb, SACK_CHUNK_NUMBER_OF_GAP_BLOCKS_OFFSET, SACK_CHUNK_NUMBER_OF_GAP_BLOCKS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_sack_chunk_number_of_dup_tsns, chunk_tvb, SACK_CHUNK_NUMBER_OF_DUP_TSNS_OFFSET, SACK_CHUNK_NUMBER_OF_DUP_TSNS_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
a_rwnd = tvb_get_ntohl(chunk_tvb, SACK_CHUNK_ADV_REC_WINDOW_CREDIT_OFFSET);
|
||||
if (a_rwnd == 0)
|
||||
|
@ -2939,13 +2939,13 @@ dissect_sack_chunk(packet_info* pinfo, tvbuff_t *chunk_tvb, proto_tree *chunk_tr
|
|||
block_item = proto_tree_add_text(chunk_tree, chunk_tvb, gap_block_offset, SACK_CHUNK_GAP_BLOCK_LENGTH, "Gap Acknowledgement for TSN %u to %u", cum_tsn_ack + start, cum_tsn_ack + end);
|
||||
block_tree = proto_item_add_subtree(block_item, ett_sctp_sack_chunk_gap_block);
|
||||
|
||||
pi = proto_tree_add_item(block_tree, hf_sack_chunk_gap_block_start, chunk_tvb, gap_block_offset, SACK_CHUNK_GAP_BLOCK_START_LENGTH, REP_BIG_ENDIAN);
|
||||
pi = proto_tree_add_item(block_tree, hf_sack_chunk_gap_block_start, chunk_tvb, gap_block_offset, SACK_CHUNK_GAP_BLOCK_START_LENGTH, ENC_BIG_ENDIAN);
|
||||
pt = proto_item_add_subtree(pi, ett_sctp_sack_chunk_gap_block_start);
|
||||
pi = proto_tree_add_uint(pt, hf_sack_chunk_gap_block_start_tsn,
|
||||
chunk_tvb, gap_block_offset,SACK_CHUNK_GAP_BLOCK_START_LENGTH, cum_tsn_ack + start);
|
||||
PROTO_ITEM_SET_GENERATED(pi);
|
||||
|
||||
pi = proto_tree_add_item(block_tree, hf_sack_chunk_gap_block_end, chunk_tvb, gap_block_offset + SACK_CHUNK_GAP_BLOCK_START_LENGTH, SACK_CHUNK_GAP_BLOCK_END_LENGTH, REP_BIG_ENDIAN);
|
||||
pi = proto_tree_add_item(block_tree, hf_sack_chunk_gap_block_end, chunk_tvb, gap_block_offset + SACK_CHUNK_GAP_BLOCK_START_LENGTH, SACK_CHUNK_GAP_BLOCK_END_LENGTH, ENC_BIG_ENDIAN);
|
||||
pt = proto_item_add_subtree(pi, ett_sctp_sack_chunk_gap_block_end);
|
||||
pi = proto_tree_add_uint(pt, hf_sack_chunk_gap_block_end_tsn, chunk_tvb,
|
||||
gap_block_offset + SACK_CHUNK_GAP_BLOCK_START_LENGTH, SACK_CHUNK_GAP_BLOCK_END_LENGTH, cum_tsn_ack + end);
|
||||
|
@ -2976,7 +2976,7 @@ dissect_sack_chunk(packet_info* pinfo, tvbuff_t *chunk_tvb, proto_tree *chunk_tr
|
|||
number_of_dup_tsns = tvb_get_ntohs(chunk_tvb, SACK_CHUNK_NUMBER_OF_DUP_TSNS_OFFSET);
|
||||
dup_tsn_offset = SACK_CHUNK_GAP_BLOCK_OFFSET + number_of_gap_blocks * SACK_CHUNK_GAP_BLOCK_LENGTH;
|
||||
for(dup_tsn_number = 1; dup_tsn_number <= number_of_dup_tsns; dup_tsn_number++) {
|
||||
proto_tree_add_item(chunk_tree, hf_sack_chunk_duplicate_tsn, chunk_tvb, dup_tsn_offset, SACK_CHUNK_DUP_TSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_sack_chunk_duplicate_tsn, chunk_tvb, dup_tsn_offset, SACK_CHUNK_DUP_TSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
dup_tsn_offset += SACK_CHUNK_DUP_TSN_LENGTH;
|
||||
}
|
||||
|
||||
|
@ -3034,16 +3034,16 @@ dissect_nr_sack_chunk(packet_info* pinfo, tvbuff_t *chunk_tvb, proto_tree *chunk
|
|||
guint32 tsns_nr_gap_acked = 0;
|
||||
|
||||
flags_tree = proto_item_add_subtree(flags_item, ett_sctp_nr_sack_chunk_flags);
|
||||
proto_tree_add_item(flags_tree, hf_nr_sack_chunk_ns, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_nr_sack_chunk_ns, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
ctsa_item = proto_tree_add_item(chunk_tree, hf_nr_sack_chunk_cumulative_tsn_ack, chunk_tvb, NR_SACK_CHUNK_CUMULATIVE_TSN_ACK_OFFSET, NR_SACK_CHUNK_CUMULATIVE_TSN_ACK_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_nr_sack_chunk_adv_rec_window_credit, chunk_tvb, NR_SACK_CHUNK_ADV_REC_WINDOW_CREDIT_OFFSET, NR_SACK_CHUNK_ADV_REC_WINDOW_CREDIT_LENGTH, REP_BIG_ENDIAN);
|
||||
ctsa_item = proto_tree_add_item(chunk_tree, hf_nr_sack_chunk_cumulative_tsn_ack, chunk_tvb, NR_SACK_CHUNK_CUMULATIVE_TSN_ACK_OFFSET, NR_SACK_CHUNK_CUMULATIVE_TSN_ACK_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_nr_sack_chunk_adv_rec_window_credit, chunk_tvb, NR_SACK_CHUNK_ADV_REC_WINDOW_CREDIT_OFFSET, NR_SACK_CHUNK_ADV_REC_WINDOW_CREDIT_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
num_of_gap_blocks = proto_tree_add_item(chunk_tree, hf_nr_sack_chunk_number_of_gap_blocks, chunk_tvb, NR_SACK_CHUNK_NUMBER_OF_GAP_BLOCKS_OFFSET, NR_SACK_CHUNK_NUMBER_OF_GAP_BLOCKS_LENGTH, REP_BIG_ENDIAN);
|
||||
num_of_gap_blocks = proto_tree_add_item(chunk_tree, hf_nr_sack_chunk_number_of_gap_blocks, chunk_tvb, NR_SACK_CHUNK_NUMBER_OF_GAP_BLOCKS_OFFSET, NR_SACK_CHUNK_NUMBER_OF_GAP_BLOCKS_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
proto_tree_add_item(chunk_tree, hf_nr_sack_chunk_number_of_nr_gap_blocks, chunk_tvb, NR_SACK_CHUNK_NUMBER_OF_NR_GAP_BLOCKS_OFFSET, NR_SACK_CHUNK_NUMBER_OF_NR_GAP_BLOCKS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_nr_sack_chunk_number_of_dup_tsns, chunk_tvb, NR_SACK_CHUNK_NUMBER_OF_DUP_TSNS_OFFSET, NR_SACK_CHUNK_NUMBER_OF_DUP_TSNS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_nr_sack_chunk_reserved, chunk_tvb, NR_SACK_CHUNK_RESERVED_OFFSET, NR_SACK_CHUNK_RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_nr_sack_chunk_number_of_nr_gap_blocks, chunk_tvb, NR_SACK_CHUNK_NUMBER_OF_NR_GAP_BLOCKS_OFFSET, NR_SACK_CHUNK_NUMBER_OF_NR_GAP_BLOCKS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_nr_sack_chunk_number_of_dup_tsns, chunk_tvb, NR_SACK_CHUNK_NUMBER_OF_DUP_TSNS_OFFSET, NR_SACK_CHUNK_NUMBER_OF_DUP_TSNS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_nr_sack_chunk_reserved, chunk_tvb, NR_SACK_CHUNK_RESERVED_OFFSET, NR_SACK_CHUNK_RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
|
||||
number_of_gap_blocks = tvb_get_ntohs(chunk_tvb, NR_SACK_CHUNK_NUMBER_OF_GAP_BLOCKS_OFFSET);
|
||||
|
@ -3065,13 +3065,13 @@ dissect_nr_sack_chunk(packet_info* pinfo, tvbuff_t *chunk_tvb, proto_tree *chunk
|
|||
block_item = proto_tree_add_text(chunk_tree, chunk_tvb, gap_block_offset, NR_SACK_CHUNK_GAP_BLOCK_LENGTH, "Gap Acknowledgement for TSN %u to %u", cum_tsn_ack + start, cum_tsn_ack + end);
|
||||
block_tree = proto_item_add_subtree(block_item, ett_sctp_nr_sack_chunk_gap_block);
|
||||
|
||||
pi = proto_tree_add_item(block_tree, hf_nr_sack_chunk_gap_block_start, chunk_tvb, gap_block_offset, NR_SACK_CHUNK_GAP_BLOCK_START_LENGTH, REP_BIG_ENDIAN);
|
||||
pi = proto_tree_add_item(block_tree, hf_nr_sack_chunk_gap_block_start, chunk_tvb, gap_block_offset, NR_SACK_CHUNK_GAP_BLOCK_START_LENGTH, ENC_BIG_ENDIAN);
|
||||
pt = proto_item_add_subtree(pi, ett_sctp_nr_sack_chunk_gap_block_start);
|
||||
pi = proto_tree_add_uint(pt, hf_nr_sack_chunk_gap_block_start_tsn,
|
||||
chunk_tvb, gap_block_offset,NR_SACK_CHUNK_GAP_BLOCK_START_LENGTH, cum_tsn_ack + start);
|
||||
PROTO_ITEM_SET_GENERATED(pi);
|
||||
|
||||
pi = proto_tree_add_item(block_tree, hf_nr_sack_chunk_gap_block_end, chunk_tvb, gap_block_offset + NR_SACK_CHUNK_GAP_BLOCK_START_LENGTH, NR_SACK_CHUNK_GAP_BLOCK_END_LENGTH, REP_BIG_ENDIAN);
|
||||
pi = proto_tree_add_item(block_tree, hf_nr_sack_chunk_gap_block_end, chunk_tvb, gap_block_offset + NR_SACK_CHUNK_GAP_BLOCK_START_LENGTH, NR_SACK_CHUNK_GAP_BLOCK_END_LENGTH, ENC_BIG_ENDIAN);
|
||||
pt = proto_item_add_subtree(pi, ett_sctp_nr_sack_chunk_gap_block_end);
|
||||
pi = proto_tree_add_uint(pt, hf_nr_sack_chunk_gap_block_end_tsn, chunk_tvb,
|
||||
gap_block_offset + NR_SACK_CHUNK_GAP_BLOCK_START_LENGTH, NR_SACK_CHUNK_GAP_BLOCK_END_LENGTH, cum_tsn_ack + end);
|
||||
|
@ -3112,13 +3112,13 @@ dissect_nr_sack_chunk(packet_info* pinfo, tvbuff_t *chunk_tvb, proto_tree *chunk
|
|||
block_item = proto_tree_add_text(chunk_tree, chunk_tvb, nr_gap_block_offset, NR_SACK_CHUNK_NR_GAP_BLOCK_LENGTH, "NR-Gap Acknowledgement for TSN %u to %u", cum_tsn_ack + start, cum_tsn_ack + end);
|
||||
block_tree = proto_item_add_subtree(block_item, ett_sctp_nr_sack_chunk_nr_gap_block);
|
||||
|
||||
pi = proto_tree_add_item(block_tree, hf_nr_sack_chunk_nr_gap_block_start, chunk_tvb, nr_gap_block_offset, NR_SACK_CHUNK_NR_GAP_BLOCK_START_LENGTH, REP_BIG_ENDIAN);
|
||||
pi = proto_tree_add_item(block_tree, hf_nr_sack_chunk_nr_gap_block_start, chunk_tvb, nr_gap_block_offset, NR_SACK_CHUNK_NR_GAP_BLOCK_START_LENGTH, ENC_BIG_ENDIAN);
|
||||
pt = proto_item_add_subtree(pi, ett_sctp_nr_sack_chunk_nr_gap_block_start);
|
||||
pi = proto_tree_add_uint(pt, hf_nr_sack_chunk_nr_gap_block_start_tsn,
|
||||
chunk_tvb, nr_gap_block_offset, NR_SACK_CHUNK_NR_GAP_BLOCK_START_LENGTH, cum_tsn_ack + start);
|
||||
PROTO_ITEM_SET_GENERATED(pi);
|
||||
|
||||
pi = proto_tree_add_item(block_tree, hf_nr_sack_chunk_nr_gap_block_end, chunk_tvb, nr_gap_block_offset + NR_SACK_CHUNK_NR_GAP_BLOCK_START_LENGTH, NR_SACK_CHUNK_NR_GAP_BLOCK_END_LENGTH, REP_BIG_ENDIAN);
|
||||
pi = proto_tree_add_item(block_tree, hf_nr_sack_chunk_nr_gap_block_end, chunk_tvb, nr_gap_block_offset + NR_SACK_CHUNK_NR_GAP_BLOCK_START_LENGTH, NR_SACK_CHUNK_NR_GAP_BLOCK_END_LENGTH, ENC_BIG_ENDIAN);
|
||||
pt = proto_item_add_subtree(pi, ett_sctp_nr_sack_chunk_nr_gap_block_end);
|
||||
pi = proto_tree_add_uint(pt, hf_nr_sack_chunk_nr_gap_block_end_tsn, chunk_tvb,
|
||||
nr_gap_block_offset + NR_SACK_CHUNK_NR_GAP_BLOCK_START_LENGTH, NR_SACK_CHUNK_NR_GAP_BLOCK_END_LENGTH, cum_tsn_ack + end);
|
||||
|
@ -3149,7 +3149,7 @@ dissect_nr_sack_chunk(packet_info* pinfo, tvbuff_t *chunk_tvb, proto_tree *chunk
|
|||
|
||||
|
||||
for(dup_tsn_number = 1; dup_tsn_number <= number_of_dup_tsns; dup_tsn_number++) {
|
||||
proto_tree_add_item(chunk_tree, hf_sack_chunk_duplicate_tsn, chunk_tvb, dup_tsn_offset, NR_SACK_CHUNK_DUP_TSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_sack_chunk_duplicate_tsn, chunk_tvb, dup_tsn_offset, NR_SACK_CHUNK_DUP_TSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
dup_tsn_offset += NR_SACK_CHUNK_DUP_TSN_LENGTH;
|
||||
}
|
||||
|
||||
|
@ -3201,7 +3201,7 @@ dissect_abort_chunk(tvbuff_t *chunk_tvb, guint16 chunk_length, packet_info *pinf
|
|||
|
||||
if (chunk_tree) {
|
||||
flags_tree = proto_item_add_subtree(flags_item, ett_sctp_abort_chunk_flags);
|
||||
proto_tree_add_item(flags_tree, hf_abort_chunk_t_bit, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_abort_chunk_t_bit, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
causes_tvb = tvb_new_subset(chunk_tvb, CHUNK_VALUE_OFFSET, chunk_length - CHUNK_HEADER_LENGTH, chunk_length - CHUNK_HEADER_LENGTH);
|
||||
dissect_error_causes(causes_tvb, pinfo, chunk_tree);
|
||||
}
|
||||
|
@ -3214,7 +3214,7 @@ static void
|
|||
dissect_shutdown_chunk(tvbuff_t *chunk_tvb, proto_tree *chunk_tree, proto_item *chunk_item)
|
||||
{
|
||||
if (chunk_tree) {
|
||||
proto_tree_add_item(chunk_tree, hf_shutdown_chunk_cumulative_tsn_ack, chunk_tvb, SHUTDOWN_CHUNK_CUMULATIVE_TSN_ACK_OFFSET, SHUTDOWN_CHUNK_CUMULATIVE_TSN_ACK_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_shutdown_chunk_cumulative_tsn_ack, chunk_tvb, SHUTDOWN_CHUNK_CUMULATIVE_TSN_ACK_OFFSET, SHUTDOWN_CHUNK_CUMULATIVE_TSN_ACK_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(chunk_item, " (Cumulative TSN ack: %u)", tvb_get_ntohl(chunk_tvb, SHUTDOWN_CHUNK_CUMULATIVE_TSN_ACK_OFFSET));
|
||||
}
|
||||
}
|
||||
|
@ -3243,7 +3243,7 @@ static void
|
|||
dissect_cookie_echo_chunk(tvbuff_t *chunk_tvb, guint16 chunk_length, proto_tree *chunk_tree, proto_item *chunk_item)
|
||||
{
|
||||
if (chunk_tree) {
|
||||
proto_tree_add_item(chunk_tree, hf_cookie, chunk_tvb, COOKIE_OFFSET, chunk_length - CHUNK_HEADER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_cookie, chunk_tvb, COOKIE_OFFSET, chunk_length - CHUNK_HEADER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(chunk_item, " (Cookie length: %u byte%s)", chunk_length - CHUNK_HEADER_LENGTH, plurality(chunk_length - CHUNK_HEADER_LENGTH, "", "s"));
|
||||
}
|
||||
}
|
||||
|
@ -3260,7 +3260,7 @@ static void
|
|||
dissect_ecne_chunk(tvbuff_t *chunk_tvb, proto_tree *chunk_tree, proto_item *chunk_item)
|
||||
{
|
||||
if (chunk_tree)
|
||||
proto_tree_add_item(chunk_tree, hf_ecne_chunk_lowest_tsn, chunk_tvb, ECNE_CHUNK_LOWEST_TSN_OFFSET, ECNE_CHUNK_LOWEST_TSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_ecne_chunk_lowest_tsn, chunk_tvb, ECNE_CHUNK_LOWEST_TSN_OFFSET, ECNE_CHUNK_LOWEST_TSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(chunk_item, " (Lowest TSN: %u)", tvb_get_ntohl(chunk_tvb, ECNE_CHUNK_LOWEST_TSN_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -3271,7 +3271,7 @@ static void
|
|||
dissect_cwr_chunk(tvbuff_t *chunk_tvb, proto_tree *chunk_tree, proto_item *chunk_item)
|
||||
{
|
||||
if (chunk_tree)
|
||||
proto_tree_add_item(chunk_tree, hf_cwr_chunk_lowest_tsn, chunk_tvb, CWR_CHUNK_LOWEST_TSN_OFFSET, CWR_CHUNK_LOWEST_TSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_cwr_chunk_lowest_tsn, chunk_tvb, CWR_CHUNK_LOWEST_TSN_OFFSET, CWR_CHUNK_LOWEST_TSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(chunk_item, " (Lowest TSN: %u)", tvb_get_ntohl(chunk_tvb, CWR_CHUNK_LOWEST_TSN_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -3294,7 +3294,7 @@ dissect_shutdown_complete_chunk(tvbuff_t *chunk_tvb, proto_tree *chunk_tree, pro
|
|||
|
||||
if (chunk_tree) {
|
||||
flags_tree = proto_item_add_subtree(flags_item, ett_sctp_shutdown_complete_chunk_flags);
|
||||
proto_tree_add_item(flags_tree, hf_shutdown_complete_chunk_t_bit, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_shutdown_complete_chunk_t_bit, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3319,14 +3319,14 @@ dissect_forward_tsn_chunk(tvbuff_t *chunk_tvb, guint16 chunk_length, proto_tree
|
|||
return;
|
||||
}
|
||||
if (chunk_tree) {
|
||||
proto_tree_add_item(chunk_tree, hf_forward_tsn_chunk_tsn, chunk_tvb, FORWARD_TSN_CHUNK_TSN_OFFSET, FORWARD_TSN_CHUNK_TSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_forward_tsn_chunk_tsn, chunk_tvb, FORWARD_TSN_CHUNK_TSN_OFFSET, FORWARD_TSN_CHUNK_TSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
number_of_affected_streams = (chunk_length - CHUNK_HEADER_LENGTH - FORWARD_TSN_CHUNK_TSN_LENGTH) /
|
||||
(FORWARD_TSN_CHUNK_SID_LENGTH + FORWARD_TSN_CHUNK_SSN_LENGTH);
|
||||
offset = CHUNK_VALUE_OFFSET + FORWARD_TSN_CHUNK_TSN_LENGTH;
|
||||
|
||||
for(affected_stream = 0; affected_stream < number_of_affected_streams; affected_stream++) {
|
||||
proto_tree_add_item(chunk_tree, hf_forward_tsn_chunk_sid, chunk_tvb, offset + FORWARD_TSN_CHUNK_SID_OFFSET, FORWARD_TSN_CHUNK_SID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_forward_tsn_chunk_ssn, chunk_tvb, offset + FORWARD_TSN_CHUNK_SSN_OFFSET, FORWARD_TSN_CHUNK_SSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_forward_tsn_chunk_sid, chunk_tvb, offset + FORWARD_TSN_CHUNK_SID_OFFSET, FORWARD_TSN_CHUNK_SID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_forward_tsn_chunk_ssn, chunk_tvb, offset + FORWARD_TSN_CHUNK_SSN_OFFSET, FORWARD_TSN_CHUNK_SSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
offset = offset + (FORWARD_TSN_CHUNK_SID_LENGTH + FORWARD_TSN_CHUNK_SSN_LENGTH);
|
||||
}
|
||||
proto_item_append_text(chunk_item, "(Cumulative TSN: %u)", tvb_get_ntohl(chunk_tvb, FORWARD_TSN_CHUNK_TSN_OFFSET));
|
||||
|
@ -3358,10 +3358,10 @@ dissect_auth_chunk(tvbuff_t *chunk_tvb, guint16 chunk_length, proto_tree *chunk_
|
|||
guint hmac_length;
|
||||
|
||||
hmac_length = chunk_length - CHUNK_HEADER_LENGTH - HMAC_ID_LENGTH - SHARED_KEY_ID_LENGTH;
|
||||
proto_tree_add_item(chunk_tree, hf_shared_key_id, chunk_tvb, SHARED_KEY_ID_OFFSET, SHARED_KEY_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_hmac_id, chunk_tvb, HMAC_ID_OFFSET, HMAC_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_shared_key_id, chunk_tvb, SHARED_KEY_ID_OFFSET, SHARED_KEY_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_hmac_id, chunk_tvb, HMAC_ID_OFFSET, HMAC_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
if (hmac_length > 0)
|
||||
proto_tree_add_item(chunk_tree, hf_hmac, chunk_tvb, HMAC_OFFSET, hmac_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_hmac, chunk_tvb, HMAC_OFFSET, hmac_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
#define SCTP_SERIAL_NUMBER_LENGTH 4
|
||||
|
@ -3380,7 +3380,7 @@ dissect_asconf_chunk(tvbuff_t *chunk_tvb, guint16 chunk_length, packet_info *pin
|
|||
return;
|
||||
}
|
||||
if (chunk_tree) {
|
||||
proto_tree_add_item(chunk_tree, hf_asconf_serial, chunk_tvb, SERIAL_NUMBER_OFFSET, SCTP_SERIAL_NUMBER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_asconf_serial, chunk_tvb, SERIAL_NUMBER_OFFSET, SCTP_SERIAL_NUMBER_LENGTH, ENC_BIG_ENDIAN);
|
||||
chunk_length -= CHUNK_HEADER_LENGTH + SCTP_SERIAL_NUMBER_LENGTH;
|
||||
parameters_tvb = tvb_new_subset(chunk_tvb, ASCONF_CHUNK_PARAMETERS_OFFSET, chunk_length, chunk_length);
|
||||
dissect_parameters(parameters_tvb, pinfo, chunk_tree, NULL, FALSE);
|
||||
|
@ -3401,7 +3401,7 @@ dissect_asconf_ack_chunk(tvbuff_t *chunk_tvb, guint16 chunk_length, packet_info
|
|||
return;
|
||||
}
|
||||
if (chunk_tree) {
|
||||
proto_tree_add_item(chunk_tree, hf_asconf_ack_serial, chunk_tvb, SERIAL_NUMBER_OFFSET, SCTP_SERIAL_NUMBER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_asconf_ack_serial, chunk_tvb, SERIAL_NUMBER_OFFSET, SCTP_SERIAL_NUMBER_LENGTH, ENC_BIG_ENDIAN);
|
||||
chunk_length -= CHUNK_HEADER_LENGTH + SCTP_SERIAL_NUMBER_LENGTH;
|
||||
parameters_tvb = tvb_new_subset(chunk_tvb, ASCONF_ACK_CHUNK_PARAMETERS_OFFSET, chunk_length, chunk_length);
|
||||
dissect_parameters(parameters_tvb, pinfo, chunk_tree, NULL, FALSE);
|
||||
|
@ -3462,17 +3462,17 @@ dissect_pktdrop_chunk(tvbuff_t *chunk_tvb, guint16 chunk_length, packet_info *pi
|
|||
if (chunk_tree) {
|
||||
flags_tree = proto_item_add_subtree(flags_item, ett_sctp_pktdrop_chunk_flags);
|
||||
|
||||
proto_tree_add_item(flags_tree, hf_pktdrop_chunk_m_bit, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_pktdrop_chunk_b_bit, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_pktdrop_chunk_t_bit, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_pktdrop_chunk_bandwidth, chunk_tvb, PKTDROP_CHUNK_BANDWIDTH_OFFSET, PKTDROP_CHUNK_BANDWIDTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_pktdrop_chunk_queuesize, chunk_tvb, PKTDROP_CHUNK_QUEUESIZE_OFFSET, PKTDROP_CHUNK_QUEUESIZE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_pktdrop_chunk_truncated_length, chunk_tvb, PKTDROP_CHUNK_TRUNCATED_SIZE_OFFSET, PKTDROP_CHUNK_TRUNCATED_SIZE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_pktdrop_chunk_reserved, chunk_tvb, PKTDROP_CHUNK_RESERVED_SIZE_OFFSET, PKTDROP_CHUNK_RESERVED_SIZE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_pktdrop_chunk_m_bit, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_pktdrop_chunk_b_bit, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flags_tree, hf_pktdrop_chunk_t_bit, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_pktdrop_chunk_bandwidth, chunk_tvb, PKTDROP_CHUNK_BANDWIDTH_OFFSET, PKTDROP_CHUNK_BANDWIDTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_pktdrop_chunk_queuesize, chunk_tvb, PKTDROP_CHUNK_QUEUESIZE_OFFSET, PKTDROP_CHUNK_QUEUESIZE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_pktdrop_chunk_truncated_length, chunk_tvb, PKTDROP_CHUNK_TRUNCATED_SIZE_OFFSET, PKTDROP_CHUNK_TRUNCATED_SIZE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_pktdrop_chunk_reserved, chunk_tvb, PKTDROP_CHUNK_RESERVED_SIZE_OFFSET, PKTDROP_CHUNK_RESERVED_SIZE_LENGTH, ENC_BIG_ENDIAN);
|
||||
/* XXX - set pinfo->in_error_pkt? */
|
||||
if (chunk_length > 0) {
|
||||
if (tvb_get_guint8(chunk_tvb, CHUNK_FLAGS_OFFSET) & SCTP_PKTDROP_CHUNK_T_BIT)
|
||||
proto_tree_add_item(chunk_tree, hf_pktdrop_chunk_data_field, chunk_tvb, PKTDROP_CHUNK_DATA_FIELD_OFFSET, chunk_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_pktdrop_chunk_data_field, chunk_tvb, PKTDROP_CHUNK_DATA_FIELD_OFFSET, chunk_length, ENC_BIG_ENDIAN);
|
||||
else
|
||||
dissect_sctp_packet(data_field_tvb, pinfo, chunk_tree, TRUE);
|
||||
}
|
||||
|
@ -3484,7 +3484,7 @@ dissect_unknown_chunk(tvbuff_t *chunk_tvb, guint16 chunk_length, guint8 chunk_ty
|
|||
{
|
||||
if (chunk_tree) {
|
||||
if (chunk_length > CHUNK_HEADER_LENGTH)
|
||||
proto_tree_add_item(chunk_tree, hf_chunk_value, chunk_tvb, CHUNK_VALUE_OFFSET, chunk_length - CHUNK_HEADER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_chunk_value, chunk_tvb, CHUNK_VALUE_OFFSET, chunk_length - CHUNK_HEADER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(chunk_item, " (Type: %u, value length: %u byte%s)", chunk_type, chunk_length, plurality(chunk_length - CHUNK_HEADER_LENGTH, "", "s"));
|
||||
}
|
||||
}
|
||||
|
@ -3537,11 +3537,11 @@ dissect_sctp_chunk(tvbuff_t *chunk_tvb,
|
|||
chunk_tree = proto_item_add_subtree(chunk_item, ett_sctp_chunk);
|
||||
|
||||
/* then insert the chunk header components into the protocol tree */
|
||||
type_item = proto_tree_add_item(chunk_tree, hf_chunk_type, chunk_tvb, CHUNK_TYPE_OFFSET, CHUNK_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
type_item = proto_tree_add_item(chunk_tree, hf_chunk_type, chunk_tvb, CHUNK_TYPE_OFFSET, CHUNK_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
type_tree = proto_item_add_subtree(type_item, ett_sctp_chunk_type);
|
||||
proto_tree_add_item(type_tree, hf_chunk_bit_1, chunk_tvb, CHUNK_TYPE_OFFSET, CHUNK_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(type_tree, hf_chunk_bit_2, chunk_tvb, CHUNK_TYPE_OFFSET, CHUNK_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
flags_item = proto_tree_add_item(chunk_tree, hf_chunk_flags, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(type_tree, hf_chunk_bit_1, chunk_tvb, CHUNK_TYPE_OFFSET, CHUNK_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(type_tree, hf_chunk_bit_2, chunk_tvb, CHUNK_TYPE_OFFSET, CHUNK_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
flags_item = proto_tree_add_item(chunk_tree, hf_chunk_flags, chunk_tvb, CHUNK_FLAGS_OFFSET, CHUNK_FLAGS_LENGTH, ENC_BIG_ENDIAN);
|
||||
} else {
|
||||
chunk_tree = NULL;
|
||||
chunk_item = NULL;
|
||||
|
@ -3644,7 +3644,7 @@ dissect_sctp_chunk(tvbuff_t *chunk_tvb,
|
|||
}
|
||||
|
||||
if (padding_length > 0)
|
||||
proto_tree_add_item(chunk_tree, hf_chunk_padding, chunk_tvb, CHUNK_HEADER_OFFSET + length, padding_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(chunk_tree, hf_chunk_padding, chunk_tvb, CHUNK_HEADER_OFFSET + length, padding_length, ENC_BIG_ENDIAN);
|
||||
|
||||
if (useinfo && ((type == SCTP_DATA_CHUNK_ID) || show_always_control_chunks))
|
||||
col_set_fence(pinfo->cinfo, COL_INFO);
|
||||
|
@ -3695,7 +3695,7 @@ dissect_sctp_chunks(tvbuff_t *tvb,
|
|||
offset += total_length;
|
||||
last_offset = offset;
|
||||
if (tvb_reported_length_remaining(tvb, offset) > 0) {
|
||||
sctp_item = proto_tree_add_item(tree, proto_sctp, tvb, offset, -1, REP_NA);
|
||||
sctp_item = proto_tree_add_item(tree, proto_sctp, tvb, offset, -1, ENC_NA);
|
||||
sctp_tree = proto_item_add_subtree(sctp_item, ett_sctp);
|
||||
sctp_item_length_set = FALSE;
|
||||
}
|
||||
|
@ -3774,16 +3774,16 @@ dissect_sctp_packet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolea
|
|||
get_sctp_port(source_port), source_port,
|
||||
get_sctp_port(destination_port), destination_port);
|
||||
else
|
||||
sctp_item = proto_tree_add_item(tree, proto_sctp, tvb, 0, -1, REP_NA);
|
||||
sctp_item = proto_tree_add_item(tree, proto_sctp, tvb, 0, -1, ENC_NA);
|
||||
sctp_tree = proto_item_add_subtree(sctp_item, ett_sctp);
|
||||
|
||||
/* add the components of the common header to the protocol tree */
|
||||
proto_tree_add_item(sctp_tree, hf_source_port, tvb, SOURCE_PORT_OFFSET, SOURCE_PORT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(sctp_tree, hf_destination_port, tvb, DESTINATION_PORT_OFFSET, DESTINATION_PORT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(sctp_tree, hf_verification_tag, tvb, VERIFICATION_TAG_OFFSET, VERIFICATION_TAG_LENGTH, REP_BIG_ENDIAN);
|
||||
hidden_item = proto_tree_add_item(sctp_tree, hf_port, tvb, SOURCE_PORT_OFFSET, SOURCE_PORT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(sctp_tree, hf_source_port, tvb, SOURCE_PORT_OFFSET, SOURCE_PORT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(sctp_tree, hf_destination_port, tvb, DESTINATION_PORT_OFFSET, DESTINATION_PORT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(sctp_tree, hf_verification_tag, tvb, VERIFICATION_TAG_OFFSET, VERIFICATION_TAG_LENGTH, ENC_BIG_ENDIAN);
|
||||
hidden_item = proto_tree_add_item(sctp_tree, hf_port, tvb, SOURCE_PORT_OFFSET, SOURCE_PORT_LENGTH, ENC_BIG_ENDIAN);
|
||||
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||
hidden_item = proto_tree_add_item(sctp_tree, hf_port, tvb, DESTINATION_PORT_OFFSET, DESTINATION_PORT_LENGTH, REP_BIG_ENDIAN);
|
||||
hidden_item = proto_tree_add_item(sctp_tree, hf_port, tvb, DESTINATION_PORT_OFFSET, DESTINATION_PORT_LENGTH, ENC_BIG_ENDIAN);
|
||||
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||
|
||||
if (tvb_bytes_exist(tvb, 0, reported_length)) {
|
||||
|
|
|
@ -377,12 +377,12 @@ dissect_common_header(tvbuff_t *common_header_tvb, packet_info *pinfo, proto_tre
|
|||
|
||||
if (sua_tree) {
|
||||
/* add the components of the common header to the protocol tree */
|
||||
proto_tree_add_item(sua_tree, hf_version, common_header_tvb, VERSION_OFFSET, VERSION_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(sua_tree, hf_reserved, common_header_tvb, RESERVED_OFFSET, RESERVED_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(sua_tree, hf_message_class, common_header_tvb, MESSAGE_CLASS_OFFSET, MESSAGE_CLASS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(sua_tree, hf_version, common_header_tvb, VERSION_OFFSET, VERSION_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(sua_tree, hf_reserved, common_header_tvb, RESERVED_OFFSET, RESERVED_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(sua_tree, hf_message_class, common_header_tvb, MESSAGE_CLASS_OFFSET, MESSAGE_CLASS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_uint_format(sua_tree, hf_message_type, common_header_tvb, MESSAGE_TYPE_OFFSET, MESSAGE_TYPE_LENGTH, message_type, "Message Type: %s (%u)",
|
||||
val_to_str(message_class * 256 + message_type, message_class_type_values, "reserved"), message_type);
|
||||
proto_tree_add_item(sua_tree, hf_message_length, common_header_tvb, MESSAGE_LENGTH_OFFSET, MESSAGE_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(sua_tree, hf_message_length, common_header_tvb, MESSAGE_LENGTH_OFFSET, MESSAGE_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -394,7 +394,7 @@ dissect_info_string_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tre
|
|||
guint16 info_string_length;
|
||||
|
||||
info_string_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_info_string, parameter_tvb, INFO_STRING_OFFSET, info_string_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_info_string, parameter_tvb, INFO_STRING_OFFSET, info_string_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%.*s)", info_string_length,
|
||||
(const char *)tvb_get_ptr(parameter_tvb, INFO_STRING_OFFSET, info_string_length));
|
||||
}
|
||||
|
@ -410,7 +410,7 @@ dissect_routing_context_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter
|
|||
number_of_contexts = (tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH) / 4;
|
||||
context_offset = PARAMETER_VALUE_OFFSET;
|
||||
for(context_number=1; context_number <= number_of_contexts; context_number++) {
|
||||
proto_tree_add_item(parameter_tree, hf_routing_context, parameter_tvb, context_offset, ROUTING_CONTEXT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_routing_context, parameter_tvb, context_offset, ROUTING_CONTEXT_LENGTH, ENC_BIG_ENDIAN);
|
||||
context_offset += ROUTING_CONTEXT_LENGTH;
|
||||
};
|
||||
proto_item_append_text(parameter_item, " (%u context%s)", number_of_contexts, plurality(number_of_contexts, "", "s"));
|
||||
|
@ -424,7 +424,7 @@ dissect_diagnostic_information_parameter(tvbuff_t *parameter_tvb, proto_tree *pa
|
|||
guint16 diag_info_length;
|
||||
|
||||
diag_info_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_diagnostic_information_info, parameter_tvb, DIAGNOSTIC_INFO_OFFSET, diag_info_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_diagnostic_information_info, parameter_tvb, DIAGNOSTIC_INFO_OFFSET, diag_info_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u byte%s)", diag_info_length, plurality(diag_info_length, "", "s"));
|
||||
}
|
||||
|
||||
|
@ -436,7 +436,7 @@ dissect_heartbeat_data_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_
|
|||
guint16 heartbeat_data_length;
|
||||
|
||||
heartbeat_data_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_heartbeat_data, parameter_tvb, HEARTBEAT_DATA_OFFSET, heartbeat_data_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_heartbeat_data, parameter_tvb, HEARTBEAT_DATA_OFFSET, heartbeat_data_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u byte%s)", heartbeat_data_length, plurality(heartbeat_data_length, "", "s"));
|
||||
}
|
||||
|
||||
|
@ -452,7 +452,7 @@ static const value_string traffic_mode_type_values[] = {
|
|||
static void
|
||||
dissect_traffic_mode_type_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_traffic_mode_type, parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET, TRAFFIC_MODE_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_traffic_mode_type, parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET, TRAFFIC_MODE_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, TRAFFIC_MODE_TYPE_OFFSET), traffic_mode_type_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -484,7 +484,7 @@ static const value_string v8_error_code_values[] = {
|
|||
static void
|
||||
dissect_v8_error_code_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_v8_error_code, parameter_tvb, ERROR_CODE_OFFSET, ERROR_CODE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_v8_error_code, parameter_tvb, ERROR_CODE_OFFSET, ERROR_CODE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, ERROR_CODE_OFFSET), v8_error_code_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -514,7 +514,7 @@ static const value_string error_code_values[] = {
|
|||
static void
|
||||
dissect_error_code_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_error_code, parameter_tvb, ERROR_CODE_OFFSET, ERROR_CODE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_error_code, parameter_tvb, ERROR_CODE_OFFSET, ERROR_CODE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, ERROR_CODE_OFFSET), error_code_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -558,7 +558,7 @@ dissect_status_type_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tre
|
|||
status_type = tvb_get_ntohs(parameter_tvb, STATUS_TYPE_OFFSET);
|
||||
status_info = tvb_get_ntohs(parameter_tvb, STATUS_INFO_OFFSET);
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_status_type, parameter_tvb, STATUS_TYPE_OFFSET, STATUS_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_status_type, parameter_tvb, STATUS_TYPE_OFFSET, STATUS_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_uint_format(parameter_tree, hf_status_info, parameter_tvb, STATUS_INFO_OFFSET, STATUS_INFO_LENGTH,
|
||||
status_info, "Status info: %s (%u)", val_to_str(status_type * 256 * 256 + status_info, status_type_info_values, "unknown"), status_info);
|
||||
|
||||
|
@ -571,7 +571,7 @@ dissect_status_type_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tre
|
|||
static void
|
||||
dissect_asp_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_asp_identifier, parameter_tvb, ASP_IDENTIFIER_OFFSET, ASP_IDENTIFIER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_asp_identifier, parameter_tvb, ASP_IDENTIFIER_OFFSET, ASP_IDENTIFIER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohl(parameter_tvb, ASP_IDENTIFIER_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -592,8 +592,8 @@ dissect_affected_destinations_parameter(tvbuff_t *parameter_tvb, proto_tree *par
|
|||
number_of_destinations= (tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH) / 4;
|
||||
destination_offset = PARAMETER_VALUE_OFFSET;
|
||||
for(destination_number=1; destination_number <= number_of_destinations; destination_number++) {
|
||||
proto_tree_add_item(parameter_tree, hf_mask, parameter_tvb, destination_offset + AFFECTED_MASK_OFFSET, AFFECTED_MASK_LENGTH, REP_BIG_ENDIAN);
|
||||
dpc_item = proto_tree_add_item(parameter_tree, hf_dpc, parameter_tvb, destination_offset + AFFECTED_DPC_OFFSET, AFFECTED_DPC_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_mask, parameter_tvb, destination_offset + AFFECTED_MASK_OFFSET, AFFECTED_MASK_LENGTH, ENC_BIG_ENDIAN);
|
||||
dpc_item = proto_tree_add_item(parameter_tree, hf_dpc, parameter_tvb, destination_offset + AFFECTED_DPC_OFFSET, AFFECTED_DPC_LENGTH, ENC_BIG_ENDIAN);
|
||||
if (mtp3_pc_structured())
|
||||
proto_item_append_text(dpc_item, " (%s)", mtp3_pc_to_str(tvb_get_ntoh24(parameter_tvb, destination_offset + AFFECTED_DPC_OFFSET)));
|
||||
destination_offset += AFFECTED_DESTINATION_LENGTH;
|
||||
|
@ -607,7 +607,7 @@ dissect_affected_destinations_parameter(tvbuff_t *parameter_tvb, proto_tree *par
|
|||
static void
|
||||
dissect_correlation_id_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_correlation_id, parameter_tvb, CORRELATION_ID_OFFSET, CORRELATION_ID_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_correlation_id, parameter_tvb, CORRELATION_ID_OFFSET, CORRELATION_ID_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohl(parameter_tvb, CORRELATION_ID_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -650,7 +650,7 @@ static const value_string registration_status_values[] = {
|
|||
static void
|
||||
dissect_registration_status_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_registration_status, parameter_tvb, REGISTRATION_STATUS_OFFSET, REGISTRATION_STATUS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_registration_status, parameter_tvb, REGISTRATION_STATUS_OFFSET, REGISTRATION_STATUS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, REGISTRATION_STATUS_OFFSET), registration_status_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -669,7 +669,7 @@ static const value_string deregistration_status_values[] = {
|
|||
static void
|
||||
dissect_deregistration_status_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_deregistration_status, parameter_tvb, DEREGISTRATION_STATUS_OFFSET, DEREGISTRATION_STATUS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_deregistration_status, parameter_tvb, DEREGISTRATION_STATUS_OFFSET, DEREGISTRATION_STATUS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", val_to_str(tvb_get_ntohl(parameter_tvb, DEREGISTRATION_STATUS_OFFSET), deregistration_status_values, "unknown"));
|
||||
}
|
||||
|
||||
|
@ -679,7 +679,7 @@ dissect_deregistration_status_parameter(tvbuff_t *parameter_tvb, proto_tree *par
|
|||
static void
|
||||
dissect_local_routing_key_identifier_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_local_routing_key_identifier, parameter_tvb, LOCAL_ROUTING_KEY_IDENTIFIER_OFFSET, LOCAL_ROUTING_KEY_IDENTIFIER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_local_routing_key_identifier, parameter_tvb, LOCAL_ROUTING_KEY_IDENTIFIER_OFFSET, LOCAL_ROUTING_KEY_IDENTIFIER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%d)", tvb_get_ntohl(parameter_tvb, LOCAL_ROUTING_KEY_IDENTIFIER_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -689,8 +689,8 @@ dissect_local_routing_key_identifier_parameter(tvbuff_t *parameter_tvb, proto_tr
|
|||
static void
|
||||
dissect_ss7_hop_counter_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_ss7_hop_counter_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_3_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_ss7_hop_counter_counter, parameter_tvb, SS7_HOP_COUNTER_OFFSET, SS7_HOP_COUNTER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_ss7_hop_counter_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_3_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_ss7_hop_counter_counter, parameter_tvb, SS7_HOP_COUNTER_OFFSET, SS7_HOP_COUNTER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_guint8(parameter_tvb, SS7_HOP_COUNTER_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -728,13 +728,13 @@ dissect_source_address_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_
|
|||
tvbuff_t *parameters_tvb;
|
||||
|
||||
if(parameter_tree) {
|
||||
proto_tree_add_item(parameter_tree, hf_source_address_routing_indicator, parameter_tvb, ROUTING_INDICATOR_OFFSET, ROUTING_INDICATOR_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_source_address_routing_indicator, parameter_tvb, ROUTING_INDICATOR_OFFSET, ROUTING_INDICATOR_LENGTH, ENC_BIG_ENDIAN);
|
||||
address_indicator_item = proto_tree_add_text(parameter_tree, parameter_tvb, ADDRESS_INDICATOR_OFFSET, ADDRESS_INDICATOR_LENGTH, "Address Indicator");
|
||||
address_indicator_tree = proto_item_add_subtree(address_indicator_item, ett_sua_source_address_indicator);
|
||||
proto_tree_add_item(address_indicator_tree, hf_source_address_reserved_bits, parameter_tvb, ADDRESS_INDICATOR_OFFSET, ADDRESS_INDICATOR_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(address_indicator_tree, hf_source_address_gt_bit, parameter_tvb, ADDRESS_INDICATOR_OFFSET, ADDRESS_INDICATOR_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(address_indicator_tree, hf_source_address_pc_bit, parameter_tvb, ADDRESS_INDICATOR_OFFSET, ADDRESS_INDICATOR_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(address_indicator_tree, hf_source_address_ssn_bit, parameter_tvb, ADDRESS_INDICATOR_OFFSET, ADDRESS_INDICATOR_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(address_indicator_tree, hf_source_address_reserved_bits, parameter_tvb, ADDRESS_INDICATOR_OFFSET, ADDRESS_INDICATOR_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(address_indicator_tree, hf_source_address_gt_bit, parameter_tvb, ADDRESS_INDICATOR_OFFSET, ADDRESS_INDICATOR_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(address_indicator_tree, hf_source_address_pc_bit, parameter_tvb, ADDRESS_INDICATOR_OFFSET, ADDRESS_INDICATOR_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(address_indicator_tree, hf_source_address_ssn_bit, parameter_tvb, ADDRESS_INDICATOR_OFFSET, ADDRESS_INDICATOR_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
parameters_tvb = tvb_new_subset_remaining(parameter_tvb, ADDRESS_PARAMETERS_OFFSET);
|
||||
|
@ -749,13 +749,13 @@ dissect_destination_address_parameter(tvbuff_t *parameter_tvb, proto_tree *param
|
|||
tvbuff_t *parameters_tvb;
|
||||
|
||||
if(parameter_tree) {
|
||||
proto_tree_add_item(parameter_tree, hf_destination_address_routing_indicator, parameter_tvb, ROUTING_INDICATOR_OFFSET, ROUTING_INDICATOR_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_destination_address_routing_indicator, parameter_tvb, ROUTING_INDICATOR_OFFSET, ROUTING_INDICATOR_LENGTH, ENC_BIG_ENDIAN);
|
||||
address_indicator_item = proto_tree_add_text(parameter_tree, parameter_tvb, ADDRESS_INDICATOR_OFFSET, ADDRESS_INDICATOR_LENGTH, "Address Indicator");
|
||||
address_indicator_tree = proto_item_add_subtree(address_indicator_item, ett_sua_destination_address_indicator);
|
||||
proto_tree_add_item(address_indicator_tree, hf_destination_address_reserved_bits, parameter_tvb, ADDRESS_INDICATOR_OFFSET, ADDRESS_INDICATOR_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(address_indicator_tree, hf_destination_address_gt_bit, parameter_tvb, ADDRESS_INDICATOR_OFFSET, ADDRESS_INDICATOR_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(address_indicator_tree, hf_destination_address_pc_bit, parameter_tvb, ADDRESS_INDICATOR_OFFSET, ADDRESS_INDICATOR_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(address_indicator_tree, hf_destination_address_ssn_bit, parameter_tvb, ADDRESS_INDICATOR_OFFSET, ADDRESS_INDICATOR_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(address_indicator_tree, hf_destination_address_reserved_bits, parameter_tvb, ADDRESS_INDICATOR_OFFSET, ADDRESS_INDICATOR_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(address_indicator_tree, hf_destination_address_gt_bit, parameter_tvb, ADDRESS_INDICATOR_OFFSET, ADDRESS_INDICATOR_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(address_indicator_tree, hf_destination_address_pc_bit, parameter_tvb, ADDRESS_INDICATOR_OFFSET, ADDRESS_INDICATOR_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(address_indicator_tree, hf_destination_address_ssn_bit, parameter_tvb, ADDRESS_INDICATOR_OFFSET, ADDRESS_INDICATOR_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
parameters_tvb = tvb_new_subset_remaining(parameter_tvb, ADDRESS_PARAMETERS_OFFSET);
|
||||
|
@ -769,7 +769,7 @@ static void
|
|||
dissect_source_reference_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
srn = tvb_get_ntohl(parameter_tvb, SOURCE_REFERENCE_NUMBER_OFFSET);
|
||||
proto_tree_add_item(parameter_tree, hf_source_reference_number, parameter_tvb, SOURCE_REFERENCE_NUMBER_OFFSET, SOURCE_REFERENCE_NUMBER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_source_reference_number, parameter_tvb, SOURCE_REFERENCE_NUMBER_OFFSET, SOURCE_REFERENCE_NUMBER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohl(parameter_tvb, SOURCE_REFERENCE_NUMBER_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -780,7 +780,7 @@ static void
|
|||
dissect_destination_reference_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
drn = tvb_get_ntohl(parameter_tvb, DESTINATION_REFERENCE_NUMBER_OFFSET);
|
||||
proto_tree_add_item(parameter_tree, hf_destination_reference_number, parameter_tvb, DESTINATION_REFERENCE_NUMBER_OFFSET, DESTINATION_REFERENCE_NUMBER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_destination_reference_number, parameter_tvb, DESTINATION_REFERENCE_NUMBER_OFFSET, DESTINATION_REFERENCE_NUMBER_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohl(parameter_tvb, DESTINATION_REFERENCE_NUMBER_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -810,10 +810,10 @@ dissect_sccp_cause_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree
|
|||
proto_item *pi;
|
||||
const gchar *cause_string;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_cause_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_2_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_cause_type, parameter_tvb, CAUSE_TYPE_OFFSET, CAUSE_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_cause_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_2_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_cause_type, parameter_tvb, CAUSE_TYPE_OFFSET, CAUSE_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
cause_type = tvb_get_guint8(parameter_tvb, CAUSE_TYPE_OFFSET);
|
||||
pi = proto_tree_add_item(parameter_tree, hf_cause_value, parameter_tvb, CAUSE_VALUE_OFFSET, CAUSE_VALUE_LENGTH, REP_BIG_ENDIAN);
|
||||
pi = proto_tree_add_item(parameter_tree, hf_cause_value, parameter_tvb, CAUSE_VALUE_OFFSET, CAUSE_VALUE_LENGTH, ENC_BIG_ENDIAN);
|
||||
cause = tvb_get_guint8(parameter_tvb, CAUSE_VALUE_OFFSET);
|
||||
|
||||
switch (cause_type) {
|
||||
|
@ -862,17 +862,17 @@ dissect_sequence_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter
|
|||
proto_item *receive_sequence_number_item;
|
||||
proto_tree *receive_sequence_number_tree;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_sequence_number_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_2_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_sequence_number_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_2_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
receive_sequence_number_item = proto_tree_add_text(parameter_tree, parameter_tvb, SEQUENCE_NUMBER_REC_SEQ_OFFSET, SEQUENCE_NUMBER_REC_SEQ_LENGTH, "Receive Sequence Number");
|
||||
receive_sequence_number_tree = proto_item_add_subtree(receive_sequence_number_item, ett_sua_sequence_number_rec_number);
|
||||
proto_tree_add_item(receive_sequence_number_tree, hf_sequence_number_rec_number, parameter_tvb, SEQUENCE_NUMBER_REC_SEQ_OFFSET, SEQUENCE_NUMBER_REC_SEQ_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(receive_sequence_number_tree, hf_sequence_number_more_data_bit, parameter_tvb, SEQUENCE_NUMBER_REC_SEQ_OFFSET, SEQUENCE_NUMBER_REC_SEQ_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(receive_sequence_number_tree, hf_sequence_number_rec_number, parameter_tvb, SEQUENCE_NUMBER_REC_SEQ_OFFSET, SEQUENCE_NUMBER_REC_SEQ_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(receive_sequence_number_tree, hf_sequence_number_more_data_bit, parameter_tvb, SEQUENCE_NUMBER_REC_SEQ_OFFSET, SEQUENCE_NUMBER_REC_SEQ_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
sent_sequence_number_item = proto_tree_add_text(parameter_tree, parameter_tvb, SEQUENCE_NUMBER_SENT_SEQ_OFFSET, SEQUENCE_NUMBER_SENT_SEQ_LENGTH, "Sent Sequence Number");
|
||||
sent_sequence_number_tree = proto_item_add_subtree(sent_sequence_number_item, ett_sua_sequence_number_sent_number);
|
||||
proto_tree_add_item(sent_sequence_number_tree, hf_sequence_number_sent_number, parameter_tvb, SEQUENCE_NUMBER_SENT_SEQ_OFFSET, SEQUENCE_NUMBER_SENT_SEQ_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(sent_sequence_number_tree, hf_sequence_number_spare_bit, parameter_tvb, SEQUENCE_NUMBER_SENT_SEQ_OFFSET, SEQUENCE_NUMBER_SENT_SEQ_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(sent_sequence_number_tree, hf_sequence_number_sent_number, parameter_tvb, SEQUENCE_NUMBER_SENT_SEQ_OFFSET, SEQUENCE_NUMBER_SENT_SEQ_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(sent_sequence_number_tree, hf_sequence_number_spare_bit, parameter_tvb, SEQUENCE_NUMBER_SENT_SEQ_OFFSET, SEQUENCE_NUMBER_SENT_SEQ_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
#define RECEIVE_SEQUENCE_NUMBER_REC_SEQ_LENGTH 1
|
||||
|
@ -884,11 +884,11 @@ dissect_receive_sequence_number_parameter(tvbuff_t *parameter_tvb, proto_tree *p
|
|||
proto_item *receive_sequence_number_item;
|
||||
proto_tree *receive_sequence_number_tree;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_receive_sequence_number_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_3_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_receive_sequence_number_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_3_LENGTH, ENC_BIG_ENDIAN);
|
||||
receive_sequence_number_item = proto_tree_add_text(parameter_tree, parameter_tvb, RECEIVE_SEQUENCE_NUMBER_REC_SEQ_OFFSET, RECEIVE_SEQUENCE_NUMBER_REC_SEQ_LENGTH, "Receive Sequence Number");
|
||||
receive_sequence_number_tree = proto_item_add_subtree(receive_sequence_number_item, ett_sua_receive_sequence_number_number);
|
||||
proto_tree_add_item(receive_sequence_number_tree, hf_receive_sequence_number_number, parameter_tvb, RECEIVE_SEQUENCE_NUMBER_REC_SEQ_OFFSET, RECEIVE_SEQUENCE_NUMBER_REC_SEQ_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(receive_sequence_number_tree, hf_receive_sequence_number_spare_bit, parameter_tvb, RECEIVE_SEQUENCE_NUMBER_REC_SEQ_OFFSET, RECEIVE_SEQUENCE_NUMBER_REC_SEQ_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(receive_sequence_number_tree, hf_receive_sequence_number_number, parameter_tvb, RECEIVE_SEQUENCE_NUMBER_REC_SEQ_OFFSET, RECEIVE_SEQUENCE_NUMBER_REC_SEQ_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(receive_sequence_number_tree, hf_receive_sequence_number_spare_bit, parameter_tvb, RECEIVE_SEQUENCE_NUMBER_REC_SEQ_OFFSET, RECEIVE_SEQUENCE_NUMBER_REC_SEQ_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
#define PROTOCOL_CLASSES_LENGTH 1
|
||||
|
@ -915,15 +915,15 @@ dissect_asp_capabilities_parameter(tvbuff_t *parameter_tvb, proto_tree *paramete
|
|||
proto_item *protocol_classes_item;
|
||||
proto_tree *protocol_classes_tree;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_asp_capabilities_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_2_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_asp_capabilities_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_2_LENGTH, ENC_BIG_ENDIAN);
|
||||
protocol_classes_item = proto_tree_add_text(parameter_tree, parameter_tvb, PROTOCOL_CLASSES_OFFSET, PROTOCOL_CLASSES_LENGTH, "Protocol classes");
|
||||
protocol_classes_tree = proto_item_add_subtree(protocol_classes_item, ett_sua_protcol_classes);
|
||||
proto_tree_add_item(protocol_classes_tree, hf_asp_capabilities_reserved_bits, parameter_tvb, PROTOCOL_CLASSES_OFFSET, PROTOCOL_CLASSES_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(protocol_classes_tree, hf_asp_capabilities_a_bit, parameter_tvb, PROTOCOL_CLASSES_OFFSET, PROTOCOL_CLASSES_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(protocol_classes_tree, hf_asp_capabilities_b_bit, parameter_tvb, PROTOCOL_CLASSES_OFFSET, PROTOCOL_CLASSES_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(protocol_classes_tree, hf_asp_capabilities_c_bit, parameter_tvb, PROTOCOL_CLASSES_OFFSET, PROTOCOL_CLASSES_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(protocol_classes_tree, hf_asp_capabilities_d_bit, parameter_tvb, PROTOCOL_CLASSES_OFFSET, PROTOCOL_CLASSES_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_asp_capabilities_interworking, parameter_tvb, INTERWORKING_OFFSET, INTERWORKING_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(protocol_classes_tree, hf_asp_capabilities_reserved_bits, parameter_tvb, PROTOCOL_CLASSES_OFFSET, PROTOCOL_CLASSES_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(protocol_classes_tree, hf_asp_capabilities_a_bit, parameter_tvb, PROTOCOL_CLASSES_OFFSET, PROTOCOL_CLASSES_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(protocol_classes_tree, hf_asp_capabilities_b_bit, parameter_tvb, PROTOCOL_CLASSES_OFFSET, PROTOCOL_CLASSES_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(protocol_classes_tree, hf_asp_capabilities_c_bit, parameter_tvb, PROTOCOL_CLASSES_OFFSET, PROTOCOL_CLASSES_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(protocol_classes_tree, hf_asp_capabilities_d_bit, parameter_tvb, PROTOCOL_CLASSES_OFFSET, PROTOCOL_CLASSES_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_asp_capabilities_interworking, parameter_tvb, INTERWORKING_OFFSET, INTERWORKING_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
#define CREDIT_LENGTH 4
|
||||
|
@ -932,7 +932,7 @@ dissect_asp_capabilities_parameter(tvbuff_t *parameter_tvb, proto_tree *paramete
|
|||
static void
|
||||
dissect_credit_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_credit, parameter_tvb, CREDIT_OFFSET, CREDIT_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_credit, parameter_tvb, CREDIT_OFFSET, CREDIT_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohl(parameter_tvb, CREDIT_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -946,7 +946,7 @@ dissect_data_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, prot
|
|||
data_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
|
||||
if(parameter_tree) {
|
||||
proto_tree_add_item(parameter_tree, hf_data, parameter_tvb, DATA_PARAMETER_DATA_OFFSET, data_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_data, parameter_tvb, DATA_PARAMETER_DATA_OFFSET, data_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (SS7 message of %u byte%s)", data_length, plurality(data_length, "", "s"));
|
||||
}
|
||||
|
||||
|
@ -971,8 +971,8 @@ static const value_string cause_values[] = {
|
|||
static void
|
||||
dissect_user_cause_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_cause, parameter_tvb, CAUSE_OFFSET, CAUSE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_user, parameter_tvb, USER_OFFSET, USER_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_cause, parameter_tvb, CAUSE_OFFSET, CAUSE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_user, parameter_tvb, USER_OFFSET, USER_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
#define NETWORK_APPEARANCE_LENGTH 4
|
||||
|
@ -981,7 +981,7 @@ dissect_user_cause_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree
|
|||
static void
|
||||
dissect_network_appearance_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_network_appearance, parameter_tvb, NETWORK_APPEARANCE_OFFSET, NETWORK_APPEARANCE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_network_appearance, parameter_tvb, NETWORK_APPEARANCE_OFFSET, NETWORK_APPEARANCE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohl(parameter_tvb, NETWORK_APPEARANCE_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -1004,9 +1004,9 @@ dissect_routing_key_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tre
|
|||
static void
|
||||
dissect_drn_label_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_drn_label_start, parameter_tvb, DRN_START_OFFSET, DRN_START_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_drn_label_end, parameter_tvb, DRN_END_OFFSET, DRN_END_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_drn_label_value, parameter_tvb, DRN_VALUE_OFFSET, DRN_VALUE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_drn_label_start, parameter_tvb, DRN_START_OFFSET, DRN_START_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_drn_label_end, parameter_tvb, DRN_END_OFFSET, DRN_END_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_drn_label_value, parameter_tvb, DRN_VALUE_OFFSET, DRN_VALUE_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
#define TID_START_LENGTH 1
|
||||
|
@ -1020,9 +1020,9 @@ dissect_drn_label_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree)
|
|||
static void
|
||||
dissect_tid_label_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_tid_label_start, parameter_tvb, TID_START_OFFSET, TID_START_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_tid_label_end, parameter_tvb, TID_END_OFFSET, TID_END_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_tid_label_value, parameter_tvb, TID_VALUE_OFFSET, TID_VALUE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_tid_label_start, parameter_tvb, TID_START_OFFSET, TID_START_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_tid_label_end, parameter_tvb, TID_END_OFFSET, TID_END_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_tid_label_value, parameter_tvb, TID_VALUE_OFFSET, TID_VALUE_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
#define ADDRESS_RANGE_ADDRESS_PARAMETERS_OFFSET PARAMETER_VALUE_OFFSET
|
||||
|
@ -1042,8 +1042,8 @@ dissect_address_range_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_t
|
|||
static void
|
||||
dissect_smi_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_smi_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_3_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_smi, parameter_tvb, SMI_OFFSET, SMI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_smi_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_3_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_smi, parameter_tvb, SMI_OFFSET, SMI_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_guint8(parameter_tvb, SMI_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -1053,8 +1053,8 @@ dissect_smi_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto
|
|||
static void
|
||||
dissect_importance_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_importance_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_3_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_importance, parameter_tvb, IMPORTANCE_OFFSET, IMPORTANCE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_importance_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_3_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_importance, parameter_tvb, IMPORTANCE_OFFSET, IMPORTANCE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_guint8(parameter_tvb, IMPORTANCE_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -1064,8 +1064,8 @@ dissect_importance_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree
|
|||
static void
|
||||
dissect_message_priority_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_message_priority_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_3_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_message_priority, parameter_tvb, MESSAGE_PRIORITY_OFFSET, MESSAGE_PRIORITY_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_message_priority_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_3_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_message_priority, parameter_tvb, MESSAGE_PRIORITY_OFFSET, MESSAGE_PRIORITY_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_guint8(parameter_tvb, MESSAGE_PRIORITY_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -1087,13 +1087,13 @@ dissect_protocol_class_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_
|
|||
proto_item *protocol_class_item;
|
||||
proto_tree *protocol_class_tree;
|
||||
|
||||
proto_tree_add_item(parameter_tree, hf_protocol_class_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_3_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_protocol_class_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_3_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
protocol_class_item = proto_tree_add_text(parameter_tree, parameter_tvb, PROTOCOL_CLASS_OFFSET, PROTOCOL_CLASS_LENGTH, "Protocol Class");
|
||||
protocol_class_tree = proto_item_add_subtree(protocol_class_item, ett_sua_return_on_error_bit_and_protocol_class);
|
||||
|
||||
proto_tree_add_item(protocol_class_tree, hf_return_on_error_bit, parameter_tvb, PROTOCOL_CLASS_OFFSET, PROTOCOL_CLASS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(protocol_class_tree, hf_protocol_class, parameter_tvb, PROTOCOL_CLASS_OFFSET, PROTOCOL_CLASS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(protocol_class_tree, hf_return_on_error_bit, parameter_tvb, PROTOCOL_CLASS_OFFSET, PROTOCOL_CLASS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(protocol_class_tree, hf_protocol_class, parameter_tvb, PROTOCOL_CLASS_OFFSET, PROTOCOL_CLASS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%d)", tvb_get_guint8(parameter_tvb, PROTOCOL_CLASS_OFFSET) & PROTOCOL_CLASS_MASK);
|
||||
}
|
||||
|
||||
|
@ -1103,7 +1103,7 @@ dissect_protocol_class_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_
|
|||
static void
|
||||
dissect_sequence_control_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_sequence_control, parameter_tvb, SEQUENCE_CONTROL_OFFSET, SEQUENCE_CONTROL_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_sequence_control, parameter_tvb, SEQUENCE_CONTROL_OFFSET, SEQUENCE_CONTROL_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohl(parameter_tvb, SEQUENCE_CONTROL_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -1128,9 +1128,9 @@ dissect_segmentation_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tr
|
|||
|
||||
first_remaining_item = proto_tree_add_text(parameter_tree, parameter_tvb, FIRST_REMAINING_OFFSET, FIRST_REMAINING_LENGTH, "First / Remaining");
|
||||
first_remaining_tree = proto_item_add_subtree(first_remaining_item, ett_sua_first_remaining);
|
||||
proto_tree_add_item(first_remaining_tree, hf_first_bit, parameter_tvb, FIRST_REMAINING_OFFSET, FIRST_REMAINING_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(first_remaining_tree, hf_number_of_remaining_segments, parameter_tvb, FIRST_REMAINING_OFFSET, FIRST_REMAINING_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_segmentation_reference, parameter_tvb, SEGMENTATION_REFERENCE_OFFSET, SEGMENTATION_REFERENCE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(first_remaining_tree, hf_first_bit, parameter_tvb, FIRST_REMAINING_OFFSET, FIRST_REMAINING_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(first_remaining_tree, hf_number_of_remaining_segments, parameter_tvb, FIRST_REMAINING_OFFSET, FIRST_REMAINING_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_segmentation_reference, parameter_tvb, SEGMENTATION_REFERENCE_OFFSET, SEGMENTATION_REFERENCE_LENGTH, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
#define CONGESTION_LEVEL_LENGTH 4
|
||||
|
@ -1139,7 +1139,7 @@ dissect_segmentation_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tr
|
|||
static void
|
||||
dissect_congestion_level_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_congestion_level, parameter_tvb, CONGESTION_LEVEL_OFFSET, CONGESTION_LEVEL_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_congestion_level, parameter_tvb, CONGESTION_LEVEL_OFFSET, CONGESTION_LEVEL_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", tvb_get_ntohl(parameter_tvb, CONGESTION_LEVEL_OFFSET));
|
||||
}
|
||||
|
||||
|
@ -1202,12 +1202,12 @@ dissect_global_title_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tr
|
|||
|
||||
global_title_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) -
|
||||
(PARAMETER_HEADER_LENGTH + RESERVED_3_LENGTH + GTI_LENGTH + NO_OF_DIGITS_LENGTH + TRANSLATION_TYPE_LENGTH + NUMBERING_PLAN_LENGTH + NATURE_OF_ADDRESS_LENGTH);
|
||||
proto_tree_add_item(parameter_tree, hf_gt_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_3_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_gti, parameter_tvb, GTI_OFFSET, GTI_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_number_of_digits, parameter_tvb, NO_OF_DIGITS_OFFSET, NO_OF_DIGITS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_translation_type, parameter_tvb, TRANSLATION_TYPE_OFFSET, TRANSLATION_TYPE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_numbering_plan, parameter_tvb, NUMBERING_PLAN_OFFSET, NUMBERING_PLAN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_nature_of_address, parameter_tvb, NATURE_OF_ADDRESS_OFFSET, NATURE_OF_ADDRESS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_gt_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_3_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_gti, parameter_tvb, GTI_OFFSET, GTI_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_number_of_digits, parameter_tvb, NO_OF_DIGITS_OFFSET, NO_OF_DIGITS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_translation_type, parameter_tvb, TRANSLATION_TYPE_OFFSET, TRANSLATION_TYPE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_numbering_plan, parameter_tvb, NUMBERING_PLAN_OFFSET, NUMBERING_PLAN_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_nature_of_address, parameter_tvb, NATURE_OF_ADDRESS_OFFSET, NATURE_OF_ADDRESS_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
||||
number_of_digits = tvb_get_guint8(parameter_tvb, NO_OF_DIGITS_OFFSET);
|
||||
even_length = !(number_of_digits % 2);
|
||||
|
@ -1241,7 +1241,7 @@ dissect_global_title_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tr
|
|||
static void
|
||||
dissect_point_code_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_point_code_dpc, parameter_tvb, POINT_CODE_OFFSET, POINT_CODE_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_point_code_dpc, parameter_tvb, POINT_CODE_OFFSET, POINT_CODE_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", mtp3_pc_to_str(tvb_get_ntohl(parameter_tvb, POINT_CODE_OFFSET)));
|
||||
}
|
||||
|
||||
|
@ -1255,8 +1255,8 @@ dissect_ssn_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto
|
|||
*ssn = tvb_get_guint8(parameter_tvb, SSN_OFFSET);
|
||||
|
||||
if(parameter_tree) {
|
||||
proto_tree_add_item(parameter_tree, hf_ssn_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_3_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_ssn_number, parameter_tvb, SSN_OFFSET, SSN_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_ssn_reserved, parameter_tvb, PARAMETER_VALUE_OFFSET, RESERVED_3_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_ssn_number, parameter_tvb, SSN_OFFSET, SSN_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%u)", *ssn);
|
||||
}
|
||||
}
|
||||
|
@ -1267,7 +1267,7 @@ dissect_ssn_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto
|
|||
static void
|
||||
dissect_ipv4_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_ipv4, parameter_tvb, IPV4_ADDRESS_OFFSET, IPV4_ADDRESS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_ipv4, parameter_tvb, IPV4_ADDRESS_OFFSET, IPV4_ADDRESS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", ip_to_str((const guint8 *)tvb_get_ptr(parameter_tvb, IPV4_ADDRESS_OFFSET, IPV4_ADDRESS_LENGTH)));
|
||||
}
|
||||
|
||||
|
@ -1279,7 +1279,7 @@ dissect_hostname_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree,
|
|||
guint16 hostname_length;
|
||||
|
||||
hostname_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_hostname, parameter_tvb, HOSTNAME_OFFSET, hostname_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_hostname, parameter_tvb, HOSTNAME_OFFSET, hostname_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%.*s)", hostname_length,
|
||||
(const char *)tvb_get_ptr(parameter_tvb, HOSTNAME_OFFSET, hostname_length));
|
||||
}
|
||||
|
@ -1290,7 +1290,7 @@ dissect_hostname_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree,
|
|||
static void
|
||||
dissect_ipv6_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_tree_add_item(parameter_tree, hf_ipv6, parameter_tvb, IPV6_ADDRESS_OFFSET, IPV6_ADDRESS_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_ipv6, parameter_tvb, IPV6_ADDRESS_OFFSET, IPV6_ADDRESS_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, " (%s)", ip6_to_str((const struct e_in6_addr *)tvb_get_ptr(parameter_tvb, IPV6_ADDRESS_OFFSET, IPV6_ADDRESS_LENGTH)));
|
||||
}
|
||||
|
||||
|
@ -1300,7 +1300,7 @@ dissect_unknown_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, p
|
|||
guint16 parameter_value_length;
|
||||
|
||||
parameter_value_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_value, parameter_tvb, PARAMETER_VALUE_OFFSET, parameter_value_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_value, parameter_tvb, PARAMETER_VALUE_OFFSET, parameter_value_length, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(parameter_item, "(tag %u and %u byte%s value)", tvb_get_ntohs(parameter_tvb, PARAMETER_TAG_OFFSET), parameter_value_length, plurality(parameter_value_length, "", "s"));
|
||||
}
|
||||
|
||||
|
@ -1413,8 +1413,8 @@ dissect_v8_parameter(tvbuff_t *parameter_tvb, proto_tree *tree, tvbuff_t **data_
|
|||
parameter_tree = proto_item_add_subtree(parameter_item, ett_sua_parameter);
|
||||
|
||||
/* add tag and length to the sua tree */
|
||||
proto_tree_add_item(parameter_tree, hf_v8_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_v8_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
} else {
|
||||
parameter_tree = NULL;
|
||||
parameter_item = NULL;
|
||||
|
@ -1571,7 +1571,7 @@ dissect_v8_parameter(tvbuff_t *parameter_tvb, proto_tree *tree, tvbuff_t **data_
|
|||
break;
|
||||
};
|
||||
if (parameter_tree && (padding_length > 0))
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
#define INFO_STRING_PARAMETER_TAG 0x0004
|
||||
|
@ -1689,8 +1689,8 @@ dissect_parameter(tvbuff_t *parameter_tvb, proto_tree *tree, tvbuff_t **data_tvb
|
|||
parameter_tree = proto_item_add_subtree(parameter_item, ett_sua_parameter);
|
||||
|
||||
/* add tag and length to the sua tree */
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_length, parameter_tvb, PARAMETER_LENGTH_OFFSET, PARAMETER_LENGTH_LENGTH, ENC_BIG_ENDIAN);
|
||||
} else {
|
||||
parameter_tree = NULL;
|
||||
parameter_item = NULL;
|
||||
|
@ -1856,7 +1856,7 @@ dissect_parameter(tvbuff_t *parameter_tvb, proto_tree *tree, tvbuff_t **data_tvb
|
|||
break;
|
||||
};
|
||||
if (parameter_tree && (padding_length > 0))
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, REP_BIG_ENDIAN);
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_padding, parameter_tvb, PARAMETER_HEADER_OFFSET + length, padding_length, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1965,7 +1965,7 @@ dissect_sua(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *tree)
|
|||
necessary to generate protocol tree items. */
|
||||
if (tree) {
|
||||
/* create the sua protocol tree */
|
||||
sua_item = proto_tree_add_item(tree, proto_sua, message_tvb, 0, -1, REP_NA);
|
||||
sua_item = proto_tree_add_item(tree, proto_sua, message_tvb, 0, -1, ENC_NA);
|
||||
sua_tree = proto_item_add_subtree(sua_item, ett_sua);
|
||||
} else {
|
||||
sua_tree = NULL;
|
||||
|
|
155
epan/proto.c
155
epan/proto.c
|
@ -211,7 +211,7 @@ proto_tree_set_ipv6_tvb(field_info *fi, tvbuff_t *tvb, gint start, gint length);
|
|||
static void
|
||||
proto_tree_set_guid(field_info *fi, const e_guid_t *value_ptr);
|
||||
static void
|
||||
proto_tree_set_guid_tvb(field_info *fi, tvbuff_t *tvb, gint start, gboolean little_endian);
|
||||
proto_tree_set_guid_tvb(field_info *fi, tvbuff_t *tvb, gint start, const guint encoding);
|
||||
static void
|
||||
proto_tree_set_oid(field_info *fi, const guint8* value_ptr, gint length);
|
||||
static void
|
||||
|
@ -229,7 +229,7 @@ proto_tree_set_int(field_info *fi, gint32 value);
|
|||
static void
|
||||
proto_tree_set_uint64(field_info *fi, guint64 value);
|
||||
static void
|
||||
proto_tree_set_uint64_tvb(field_info *fi, tvbuff_t *tvb, gint start, guint length, gboolean little_endian);
|
||||
proto_tree_set_uint64_tvb(field_info *fi, tvbuff_t *tvb, gint start, guint length, const guint encoding);
|
||||
static gboolean
|
||||
proto_item_add_bitmask_tree(proto_item *item, tvbuff_t *tvb, const int offset,
|
||||
const int len, const gint ett, const gint **fields,
|
||||
|
@ -972,11 +972,11 @@ ptvcursor_add_subtree_item(ptvcursor_t * ptvc, proto_item * it, gint ett_subtree
|
|||
*/
|
||||
proto_tree *
|
||||
ptvcursor_add_with_subtree(ptvcursor_t * ptvc, int hfindex, gint length,
|
||||
gboolean little_endian, gint ett_subtree)
|
||||
const guint encoding, gint ett_subtree)
|
||||
{
|
||||
proto_item * it;
|
||||
|
||||
it = ptvcursor_add_no_advance(ptvc, hfindex, length, little_endian);
|
||||
it = ptvcursor_add_no_advance(ptvc, hfindex, length, encoding);
|
||||
return ptvcursor_add_subtree_item(ptvc, it, ett_subtree, length);
|
||||
}
|
||||
|
||||
|
@ -1090,9 +1090,14 @@ proto_tree_add_debug_text(proto_tree *tree, const char *format, ...)
|
|||
return pi;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* NOTE: to support code written when proto_tree_add_item() took a
|
||||
* gboolean as its last argument, with FALSE meaning "big-endian"
|
||||
* and TRUE meaning "little-endian", we treat any non-zero value of
|
||||
* "encoding" as meaning "little-endian".
|
||||
*/
|
||||
static guint32
|
||||
get_uint_value(tvbuff_t *tvb, gint offset, gint length, gboolean little_endian)
|
||||
get_uint_value(tvbuff_t *tvb, gint offset, gint length, const guint encoding)
|
||||
{
|
||||
guint32 value;
|
||||
|
||||
|
@ -1103,18 +1108,18 @@ get_uint_value(tvbuff_t *tvb, gint offset, gint length, gboolean little_endian)
|
|||
break;
|
||||
|
||||
case 2:
|
||||
value = little_endian ? tvb_get_letohs(tvb, offset)
|
||||
: tvb_get_ntohs(tvb, offset);
|
||||
value = encoding ? tvb_get_letohs(tvb, offset)
|
||||
: tvb_get_ntohs(tvb, offset);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
value = little_endian ? tvb_get_letoh24(tvb, offset)
|
||||
: tvb_get_ntoh24(tvb, offset);
|
||||
value = encoding ? tvb_get_letoh24(tvb, offset)
|
||||
: tvb_get_ntoh24(tvb, offset);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
value = little_endian ? tvb_get_letohl(tvb, offset)
|
||||
: tvb_get_ntohl(tvb, offset);
|
||||
value = encoding ? tvb_get_letohl(tvb, offset)
|
||||
: tvb_get_ntohl(tvb, offset);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -1125,8 +1130,14 @@ get_uint_value(tvbuff_t *tvb, gint offset, gint length, gboolean little_endian)
|
|||
return value;
|
||||
}
|
||||
|
||||
/*
|
||||
* NOTE: to support code written when proto_tree_add_item() took a
|
||||
* gboolean as its last argument, with FALSE meaning "big-endian"
|
||||
* and TRUE meaning "little-endian", we treat any non-zero value of
|
||||
* "encoding" as meaning "little-endian".
|
||||
*/
|
||||
static gint32
|
||||
get_int_value(tvbuff_t *tvb, gint offset, gint length, gboolean little_endian)
|
||||
get_int_value(tvbuff_t *tvb, gint offset, gint length, const guint encoding)
|
||||
{
|
||||
gint32 value;
|
||||
|
||||
|
@ -1137,13 +1148,13 @@ get_int_value(tvbuff_t *tvb, gint offset, gint length, gboolean little_endian)
|
|||
break;
|
||||
|
||||
case 2:
|
||||
value = (gint16) (little_endian ? tvb_get_letohs(tvb, offset)
|
||||
: tvb_get_ntohs(tvb, offset));
|
||||
value = (gint16) (encoding ? tvb_get_letohs(tvb, offset)
|
||||
: tvb_get_ntohs(tvb, offset));
|
||||
break;
|
||||
|
||||
case 3:
|
||||
value = little_endian ? tvb_get_letoh24(tvb, offset)
|
||||
: tvb_get_ntoh24(tvb, offset);
|
||||
value = encoding ? tvb_get_letoh24(tvb, offset)
|
||||
: tvb_get_ntoh24(tvb, offset);
|
||||
if (value & 0x00800000) {
|
||||
/* Sign bit is set; sign-extend it. */
|
||||
value |= 0xFF000000;
|
||||
|
@ -1151,8 +1162,8 @@ get_int_value(tvbuff_t *tvb, gint offset, gint length, gboolean little_endian)
|
|||
break;
|
||||
|
||||
case 4:
|
||||
value = little_endian ? tvb_get_letohl(tvb, offset)
|
||||
: tvb_get_ntohl(tvb, offset);
|
||||
value = encoding ? tvb_get_letohl(tvb, offset)
|
||||
: tvb_get_ntohl(tvb, offset);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -1197,7 +1208,7 @@ proto_lookup_or_create_interesting_hfids(proto_tree *tree,
|
|||
static proto_item *
|
||||
proto_tree_new_item(field_info *new_fi, proto_tree *tree,
|
||||
tvbuff_t *tvb, gint start, gint length,
|
||||
gboolean little_endian)
|
||||
const guint encoding)
|
||||
{
|
||||
proto_item *pi;
|
||||
guint32 value, n;
|
||||
|
@ -1243,7 +1254,7 @@ proto_tree_new_item(field_info *new_fi, proto_tree *tree,
|
|||
break;
|
||||
|
||||
case FT_UINT_BYTES:
|
||||
n = get_uint_value(tvb, start, length, little_endian);
|
||||
n = get_uint_value(tvb, start, length, encoding);
|
||||
proto_tree_set_bytes_tvb(new_fi, tvb, start + length, n);
|
||||
|
||||
/* Instead of calling proto_item_set_len(), since we don't yet
|
||||
|
@ -1253,7 +1264,7 @@ proto_tree_new_item(field_info *new_fi, proto_tree *tree,
|
|||
|
||||
case FT_BOOLEAN:
|
||||
proto_tree_set_boolean(new_fi,
|
||||
get_uint_value(tvb, start, length, little_endian));
|
||||
get_uint_value(tvb, start, length, encoding));
|
||||
break;
|
||||
|
||||
/* XXX - make these just FT_UINT? */
|
||||
|
@ -1262,13 +1273,13 @@ proto_tree_new_item(field_info *new_fi, proto_tree *tree,
|
|||
case FT_UINT24:
|
||||
case FT_UINT32:
|
||||
proto_tree_set_uint(new_fi,
|
||||
get_uint_value(tvb, start, length, little_endian));
|
||||
get_uint_value(tvb, start, length, encoding));
|
||||
break;
|
||||
|
||||
case FT_INT64:
|
||||
case FT_UINT64:
|
||||
DISSECTOR_ASSERT( length <= 8 && length >= 1);
|
||||
proto_tree_set_uint64_tvb(new_fi, tvb, start, length, little_endian);
|
||||
proto_tree_set_uint64_tvb(new_fi, tvb, start, length, encoding);
|
||||
break;
|
||||
|
||||
/* XXX - make these just FT_INT? */
|
||||
|
@ -1277,13 +1288,21 @@ proto_tree_new_item(field_info *new_fi, proto_tree *tree,
|
|||
case FT_INT24:
|
||||
case FT_INT32:
|
||||
proto_tree_set_int(new_fi,
|
||||
get_int_value(tvb, start, length, little_endian));
|
||||
get_int_value(tvb, start, length, encoding));
|
||||
break;
|
||||
|
||||
case FT_IPv4:
|
||||
DISSECTOR_ASSERT(length == FT_IPv4_LEN);
|
||||
value = tvb_get_ipv4(tvb, start);
|
||||
proto_tree_set_ipv4(new_fi, little_endian ? GUINT32_SWAP_LE_BE(value) : value);
|
||||
/*
|
||||
* NOTE: to support code written when
|
||||
* proto_tree_add_item() took a gboolean as its
|
||||
* last argument, with FALSE meaning "big-endian"
|
||||
* and TRUE meaning "little-endian", we treat any
|
||||
* non-zero value of "encoding" as meaning
|
||||
* "little-endian".
|
||||
*/
|
||||
proto_tree_set_ipv4(new_fi, encoding ? GUINT32_SWAP_LE_BE(value) : value);
|
||||
break;
|
||||
|
||||
case FT_IPXNET:
|
||||
|
@ -1304,7 +1323,7 @@ proto_tree_new_item(field_info *new_fi, proto_tree *tree,
|
|||
|
||||
case FT_GUID:
|
||||
DISSECTOR_ASSERT(length == FT_GUID_LEN);
|
||||
proto_tree_set_guid_tvb(new_fi, tvb, start, little_endian);
|
||||
proto_tree_set_guid_tvb(new_fi, tvb, start, encoding);
|
||||
break;
|
||||
|
||||
case FT_OID:
|
||||
|
@ -1313,7 +1332,20 @@ proto_tree_new_item(field_info *new_fi, proto_tree *tree,
|
|||
|
||||
case FT_FLOAT:
|
||||
DISSECTOR_ASSERT(length == 4);
|
||||
if (little_endian)
|
||||
/*
|
||||
* NOTE: to support code written when
|
||||
* proto_tree_add_item() took a gboolean as its
|
||||
* last argument, with FALSE meaning "big-endian"
|
||||
* and TRUE meaning "little-endian", we treat any
|
||||
* non-zero value of "encoding" as meaning
|
||||
* "little-endian".
|
||||
*
|
||||
* At some point in the future, we might
|
||||
* support non-IEEE-binary floating-point
|
||||
* formats in the encoding as well
|
||||
* (IEEE decimal, System/3x0, VAX).
|
||||
*/
|
||||
if (encoding)
|
||||
floatval = tvb_get_letohieee_float(tvb, start);
|
||||
else
|
||||
floatval = tvb_get_ntohieee_float(tvb, start);
|
||||
|
@ -1321,8 +1353,21 @@ proto_tree_new_item(field_info *new_fi, proto_tree *tree,
|
|||
break;
|
||||
|
||||
case FT_DOUBLE:
|
||||
/*
|
||||
* NOTE: to support code written when
|
||||
* proto_tree_add_item() took a gboolean as its
|
||||
* last argument, with FALSE meaning "big-endian"
|
||||
* and TRUE meaning "little-endian", we treat any
|
||||
* non-zero value of "encoding" as meaning
|
||||
* "little-endian".
|
||||
*
|
||||
* At some point in the future, we might
|
||||
* support non-IEEE-binary floating-point
|
||||
* formats in the encoding as well
|
||||
* (IEEE decimal, System/3x0, VAX).
|
||||
*/
|
||||
DISSECTOR_ASSERT(length == 8);
|
||||
if (little_endian)
|
||||
if (encoding)
|
||||
doubleval = tvb_get_letohieee_double(tvb, start);
|
||||
else
|
||||
doubleval = tvb_get_ntohieee_double(tvb, start);
|
||||
|
@ -1398,7 +1443,7 @@ proto_tree_new_item(field_info *new_fi, proto_tree *tree,
|
|||
break;
|
||||
|
||||
case FT_UINT_STRING:
|
||||
n = get_uint_value(tvb, start, length, little_endian);
|
||||
n = get_uint_value(tvb, start, length, encoding);
|
||||
proto_tree_set_string_tvb(new_fi, tvb, start + length, n);
|
||||
|
||||
/* Instead of calling proto_item_set_len(), since we
|
||||
|
@ -1416,7 +1461,20 @@ proto_tree_new_item(field_info *new_fi, proto_tree *tree,
|
|||
case FT_ABSOLUTE_TIME:
|
||||
case FT_RELATIVE_TIME:
|
||||
DISSECTOR_ASSERT(length == 8);
|
||||
if (little_endian) {
|
||||
/*
|
||||
* NOTE: to support code written when
|
||||
* proto_tree_add_item() took a gboolean as its
|
||||
* last argument, with FALSE meaning "big-endian"
|
||||
* and TRUE meaning "little-endian", we treat any
|
||||
* non-zero value of "encoding" as meaning
|
||||
* "little-endian".
|
||||
*
|
||||
* At some point in the future, we might
|
||||
* support non-struct timespec formats in
|
||||
* the encoding as well (struct timeval,
|
||||
* NTP time, Windows NT FILETIME, time_t, etc.).
|
||||
*/
|
||||
if (encoding) {
|
||||
time_stamp.secs = tvb_get_letohl(tvb, start);
|
||||
time_stamp.nsecs = tvb_get_letohl(tvb, start+4);
|
||||
} else {
|
||||
|
@ -1433,7 +1491,12 @@ proto_tree_new_item(field_info *new_fi, proto_tree *tree,
|
|||
DISSECTOR_ASSERT_NOT_REACHED();
|
||||
break;
|
||||
}
|
||||
FI_SET_FLAG(new_fi, (little_endian) ? FI_LITTLE_ENDIAN : FI_BIG_ENDIAN);
|
||||
/*
|
||||
* XXX - this should just check the REP_*_ENDIAN bit, with
|
||||
* those fields for which we treat any non-zero value of
|
||||
* "encoding" checking the rest of the bits.
|
||||
*/
|
||||
FI_SET_FLAG(new_fi, (encoding) ? FI_LITTLE_ENDIAN : FI_BIG_ENDIAN);
|
||||
|
||||
/* Don't add new node to proto_tree until now so that any exceptions
|
||||
* raised by a tvbuff access method doesn't leave junk in the proto_tree. */
|
||||
|
@ -1457,7 +1520,7 @@ proto_tree_new_item(field_info *new_fi, proto_tree *tree,
|
|||
and returns proto_item* */
|
||||
proto_item *
|
||||
ptvcursor_add(ptvcursor_t *ptvc, int hfindex, gint length,
|
||||
gboolean little_endian)
|
||||
const guint encoding)
|
||||
{
|
||||
field_info *new_fi;
|
||||
header_field_info *hfinfo;
|
||||
|
@ -1477,7 +1540,7 @@ ptvcursor_add(ptvcursor_t *ptvc, int hfindex, gint length,
|
|||
* The length of the rest of the item is in the first N
|
||||
* bytes of the item.
|
||||
*/
|
||||
n = get_uint_value(ptvc->tvb, offset, length, little_endian);
|
||||
n = get_uint_value(ptvc->tvb, offset, length, encoding);
|
||||
ptvc->offset += n;
|
||||
}
|
||||
|
||||
|
@ -1489,14 +1552,14 @@ ptvcursor_add(ptvcursor_t *ptvc, int hfindex, gint length,
|
|||
return NULL;
|
||||
|
||||
return proto_tree_new_item(new_fi, ptvc->tree, ptvc->tvb,
|
||||
offset, length, little_endian);
|
||||
offset, length, encoding);
|
||||
}
|
||||
|
||||
/* Add an item to a proto_tree, using the text label registered to that item;
|
||||
the item is extracted from the tvbuff handed to it. */
|
||||
proto_item *
|
||||
proto_tree_add_item(proto_tree *tree, const int hfindex, tvbuff_t *tvb,
|
||||
const gint start, gint length, const gboolean little_endian)
|
||||
const gint start, gint length, const guint encoding)
|
||||
{
|
||||
field_info *new_fi;
|
||||
header_field_info *hfinfo;
|
||||
|
@ -1509,7 +1572,7 @@ proto_tree_add_item(proto_tree *tree, const int hfindex, tvbuff_t *tvb,
|
|||
return(NULL);
|
||||
|
||||
return proto_tree_new_item(new_fi, tree, tvb, start,
|
||||
length, little_endian);
|
||||
length, encoding);
|
||||
}
|
||||
|
||||
/* Add a FT_NONE to a proto_tree */
|
||||
|
@ -1542,12 +1605,12 @@ proto_tree_add_none_format(proto_tree *tree, const int hfindex, tvbuff_t *tvb,
|
|||
* offset, and returns proto_item* */
|
||||
proto_item *
|
||||
ptvcursor_add_no_advance(ptvcursor_t* ptvc, int hf, gint length,
|
||||
gboolean endianness)
|
||||
const guint encoding)
|
||||
{
|
||||
proto_item *item;
|
||||
|
||||
item = proto_tree_add_item(ptvc->tree, hf, ptvc->tvb, ptvc->offset,
|
||||
length, endianness);
|
||||
length, encoding);
|
||||
|
||||
return item;
|
||||
}
|
||||
|
@ -2067,11 +2130,11 @@ proto_tree_set_guid(field_info *fi, const e_guid_t *value_ptr)
|
|||
|
||||
static void
|
||||
proto_tree_set_guid_tvb(field_info *fi, tvbuff_t *tvb, gint start,
|
||||
gboolean little_endian)
|
||||
const guint encoding)
|
||||
{
|
||||
e_guid_t guid;
|
||||
|
||||
tvb_get_guid(tvb, start, &guid, little_endian);
|
||||
tvb_get_guid(tvb, start, &guid, encoding);
|
||||
proto_tree_set_guid(fi, &guid);
|
||||
}
|
||||
|
||||
|
@ -2170,14 +2233,20 @@ proto_tree_set_uint64(field_info *fi, guint64 value)
|
|||
fvalue_set_integer64(&fi->value, value);
|
||||
}
|
||||
|
||||
/*
|
||||
* NOTE: to support code written when proto_tree_add_item() took a
|
||||
* gboolean as its last argument, with FALSE meaning "big-endian"
|
||||
* and TRUE meaning "little-endian", we treat any non-zero value of
|
||||
* "encoding" as meaning "little-endian".
|
||||
*/
|
||||
static void
|
||||
proto_tree_set_uint64_tvb(field_info *fi, tvbuff_t *tvb, gint start,
|
||||
guint length, gboolean little_endian)
|
||||
guint length, const guint encoding)
|
||||
{
|
||||
guint64 value = 0;
|
||||
guint8* b = ep_tvb_memdup(tvb,start,length);
|
||||
|
||||
if(little_endian) {
|
||||
if(encoding) {
|
||||
b += length;
|
||||
switch(length) {
|
||||
default: DISSECTOR_ASSERT_NOT_REACHED();
|
||||
|
|
32
epan/proto.h
32
epan/proto.h
|
@ -141,7 +141,7 @@ typedef struct _protocol protocol_t;
|
|||
file, lineno, __DISSECTOR_ASSERT_STRINGIFY(expression))))
|
||||
|
||||
/*
|
||||
* The representation of a field of a particular type may involve more
|
||||
* The encoding of a field of a particular type may involve more
|
||||
* than just whether it's big-endian or little-endian and its size.
|
||||
*
|
||||
* For integral values, that's it, as 99.9999999999999% of the machines
|
||||
|
@ -169,35 +169,35 @@ typedef struct _protocol protocol_t;
|
|||
* nanoseconds, DOS date/time, Windows FILETIME, NTP time, etc..
|
||||
*
|
||||
* We might also, in the future, want to allow a field specifier to
|
||||
* indicate the representation of the field, or at least its default
|
||||
* representation, as most fields in most protocols always use the
|
||||
* same representation (although that's not true of all fields, so we
|
||||
* indicate the encoding of the field, or at least its default
|
||||
* encoding, as most fields in most protocols always use the
|
||||
* same encoding (although that's not true of all fields, so we
|
||||
* still need to be able to specify that at run time).
|
||||
*
|
||||
* So, for now, we define REP_BIG_ENDIAN and REP_LITTLE_ENDIAN as
|
||||
* So, for now, we define ENC_BIG_ENDIAN and ENC_LITTLE_ENDIAN as
|
||||
* bit flags, to be combined, in the future, with other information
|
||||
* to specify the representation in the last argument to
|
||||
* to specify the encoding in the last argument to
|
||||
* proto_tree_add_item(), and possibly to specify in a field
|
||||
* definition (e.g., ORed in with the type value).
|
||||
*
|
||||
* Currently, proto_tree_add_item() treats its last argument as a
|
||||
* Boolean - if it's zero, the field is big-endian, and if it's non-zero,
|
||||
* the field is little-endian - and other code in epan/proto.c does
|
||||
* the same. We therefore define REP_BIG_ENDIAN as 0x00000000 and
|
||||
* REP_LITTLE_ENDIAN as 0x80000000 - we're using the high-order bit
|
||||
* the same. We therefore define ENC_BIG_ENDIAN as 0x00000000 and
|
||||
* ENC_LITTLE_ENDIAN as 0x80000000 - we're using the high-order bit
|
||||
* so that we could put a field type and/or a value such as a character
|
||||
* encoding in the lower bits.
|
||||
*
|
||||
* For protocols (FT_PROTOCOL), aggregate items with subtrees (FT_NONE),
|
||||
* opaque byte-array fields (FT_BYTES), and other fields where there
|
||||
* is no choice of representation (either because it's "just a bucket
|
||||
* of bytes" or because the representation is completely fixed), we
|
||||
* have REP_NA (for "Not Applicable").
|
||||
* is no choice of encoding (either because it's "just a bucket
|
||||
* of bytes" or because the encoding is completely fixed), we
|
||||
* have ENC_NA (for "Not Applicable").
|
||||
*/
|
||||
#define REP_BIG_ENDIAN 0x00000000
|
||||
#define REP_LITTLE_ENDIAN 0x80000000
|
||||
#define ENC_BIG_ENDIAN 0x00000000
|
||||
#define ENC_LITTLE_ENDIAN 0x80000000
|
||||
|
||||
#define REP_NA 0x00000000
|
||||
#define ENC_NA 0x00000000
|
||||
|
||||
/* Values for header_field_info.display */
|
||||
|
||||
|
@ -616,11 +616,11 @@ extern void proto_tree_set_appendix(proto_tree *tree, tvbuff_t *tvb, gint start,
|
|||
@param tvb the tv buffer of the current data
|
||||
@param start start of data in tvb
|
||||
@param length length of data in tvb
|
||||
@param little_endian big or little endian byte representation
|
||||
@param encoding data encoding
|
||||
@return the newly created item */
|
||||
extern proto_item *
|
||||
proto_tree_add_item(proto_tree *tree, const int hfindex, tvbuff_t *tvb,
|
||||
const gint start, gint length, const gboolean little_endian);
|
||||
const gint start, gint length, const guint encoding);
|
||||
|
||||
/** Add a text-only node to a proto_tree.
|
||||
@param tree the tree to append this item to
|
||||
|
|
|
@ -42,13 +42,13 @@ ptvcursor_new(proto_tree* tree, tvbuff_t* tvb, gint offset);
|
|||
/* Gets data from tvbuff, adds it to proto_tree, increments offset,
|
||||
* and returns proto_item* */
|
||||
proto_item*
|
||||
ptvcursor_add(ptvcursor_t* ptvc, int hf, gint length, gboolean endianness);
|
||||
ptvcursor_add(ptvcursor_t* ptvc, int hf, gint length, const guint encoding);
|
||||
|
||||
|
||||
/* Gets data from tvbuff, adds it to proto_tree, *DOES NOT* increment
|
||||
* offset, and returns proto_item* */
|
||||
proto_item*
|
||||
ptvcursor_add_no_advance(ptvcursor_t* ptvc, int hf, gint length, gboolean endianness);
|
||||
ptvcursor_add_no_advance(ptvcursor_t* ptvc, int hf, gint length, const guint encoding);
|
||||
|
||||
/* Advance the ptvcursor's offset within its tvbuff without
|
||||
* adding anything to the proto_tree. */
|
||||
|
@ -90,7 +90,7 @@ ptvcursor_pop_subtree(ptvcursor_t* ptvc);
|
|||
*/
|
||||
proto_tree*
|
||||
ptvcursor_add_with_subtree(ptvcursor_t* ptvc, int hfindex, gint length,
|
||||
gboolean little_endian, gint ett_subtree);
|
||||
const guint encoding, gint ett_subtree);
|
||||
|
||||
/* Add a text node to the tree and create a subtree
|
||||
* If the length is unknown, length may be defined as SUBTREE_UNDEFINED_LENGTH.
|
||||
|
|
|
@ -1530,10 +1530,16 @@ tvb_get_letohguid(tvbuff_t *tvb, const gint offset, e_guid_t *guid)
|
|||
tvb_memcpy(tvb, guid->data4, offset + 8, sizeof guid->data4);
|
||||
}
|
||||
|
||||
/*
|
||||
* NOTE: to support code written when proto_tree_add_item() took a
|
||||
* gboolean as its last argument, with FALSE meaning "big-endian"
|
||||
* and TRUE meaning "little-endian", we treat any non-zero value of
|
||||
* "representation" as meaning "little-endian".
|
||||
*/
|
||||
void
|
||||
tvb_get_guid(tvbuff_t *tvb, const gint offset, e_guid_t *guid, const gboolean little_endian)
|
||||
tvb_get_guid(tvbuff_t *tvb, const gint offset, e_guid_t *guid, const guint representation)
|
||||
{
|
||||
if (little_endian) {
|
||||
if (representation) {
|
||||
tvb_get_letohguid(tvb, offset, guid);
|
||||
} else {
|
||||
tvb_get_ntohguid(tvb, offset, guid);
|
||||
|
|
|
@ -341,7 +341,7 @@ extern void tvb_get_ipv6(tvbuff_t*, const gint offset, struct e_in6_addr *addr);
|
|||
/* Fetch a GUID. */
|
||||
extern void tvb_get_ntohguid(tvbuff_t *tvb, const gint offset, e_guid_t *guid);
|
||||
extern void tvb_get_letohguid(tvbuff_t *tvb, const gint offset, e_guid_t *guid);
|
||||
extern void tvb_get_guid(tvbuff_t *tvb, const gint offset, e_guid_t *guid, const gboolean little_endian);
|
||||
extern void tvb_get_guid(tvbuff_t *tvb, const gint offset, e_guid_t *guid, const guint representation);
|
||||
|
||||
/* Fetch a specified number of bits from bit offset in a tvb */
|
||||
extern guint8 tvb_get_bits8(tvbuff_t *tvb, gint bit_offset, const gint no_of_bits);
|
||||
|
|
|
@ -613,7 +613,7 @@ static proto_tree *start_dissecting(tvbuff_t *tvb, packet_info *pinfo, proto_tre
|
|||
*/
|
||||
|
||||
if (ptree) {
|
||||
ti = proto_tree_add_item(ptree, proto_coseventcomm, tvb, *offset, -1, REP_NA);
|
||||
ti = proto_tree_add_item(ptree, proto_coseventcomm, tvb, *offset, -1, ENC_NA);
|
||||
tree = proto_item_add_subtree(ti, ett_coseventcomm);
|
||||
}
|
||||
return tree;
|
||||
|
|
|
@ -1560,7 +1560,7 @@ static proto_tree *start_dissecting(tvbuff_t *tvb, packet_info *pinfo, proto_tre
|
|||
*/
|
||||
|
||||
if (ptree) {
|
||||
ti = proto_tree_add_item(ptree, proto_cosnaming, tvb, *offset, -1, REP_NA);
|
||||
ti = proto_tree_add_item(ptree, proto_cosnaming, tvb, *offset, -1, ENC_NA);
|
||||
tree = proto_item_add_subtree(ti, ett_cosnaming);
|
||||
}
|
||||
return tree;
|
||||
|
|
|
@ -101303,7 +101303,7 @@ static proto_tree *start_dissecting(tvbuff_t *tvb, packet_info *pinfo, proto_tre
|
|||
*/
|
||||
|
||||
if (ptree) {
|
||||
ti = proto_tree_add_item(ptree, proto_parlay, tvb, *offset, -1, REP_NA);
|
||||
ti = proto_tree_add_item(ptree, proto_parlay, tvb, *offset, -1, ENC_NA);
|
||||
tree = proto_item_add_subtree(ti, ett_parlay);
|
||||
}
|
||||
return tree;
|
||||
|
|
|
@ -4239,7 +4239,7 @@ static proto_tree *start_dissecting(tvbuff_t *tvb, packet_info *pinfo, proto_tre
|
|||
*/
|
||||
|
||||
if (ptree) {
|
||||
ti = proto_tree_add_item(ptree, proto_tango, tvb, *offset, -1, REP_NA);
|
||||
ti = proto_tree_add_item(ptree, proto_tango, tvb, *offset, -1, ENC_NA);
|
||||
tree = proto_item_add_subtree(ti, ett_tango);
|
||||
}
|
||||
return tree;
|
||||
|
|
|
@ -2145,7 +2145,7 @@ static proto_tree *start_dissecting(tvbuff_t *tvb, packet_info *pinfo, proto_tre
|
|||
*/
|
||||
|
||||
if (ptree) {
|
||||
ti = proto_tree_add_item(ptree, proto_@dissname@, tvb, *offset, -1, REP_NA);
|
||||
ti = proto_tree_add_item(ptree, proto_@dissname@, tvb, *offset, -1, ENC_NA);
|
||||
tree = proto_item_add_subtree(ti, ett_@dissname@);
|
||||
}
|
||||
return tree;
|
||||
|
|
Loading…
Reference in New Issue