Don't call col...() and expert..() functions under 'if (tree)';

Reformat hf[] entries and various other.


svn path=/trunk/; revision=43671
This commit is contained in:
Bill Meier 2012-07-11 20:40:13 +00:00
parent fad55cdecc
commit ac7b2df9e8
1 changed files with 176 additions and 79 deletions

View File

@ -74,9 +74,9 @@ static gint ett_coap_payload = -1;
/* COAP's IANA-assigned port number */
#define DEFAULT_COAP_PORT 5683
static const gchar *coap_content_type = NULL;
static gint coap_content_type_value = ~0;
static guint global_coap_port_number = DEFAULT_COAP_PORT;
static const gchar *coap_content_type = NULL;
static gint coap_content_type_value = ~0;
static guint global_coap_port_number = DEFAULT_COAP_PORT;
static gint block_number = ~0;
static guint block_mflag = 0;
@ -137,15 +137,15 @@ static const value_string vals_code[] = {
* No-Option must not be included in this structure, is handled in the function
* of the dissector, especially.
*/
#define COAP_OPT_CONTENT_TYPE 1
#define COAP_OPT_MAX_AGE 2
#define COAP_OPT_PROXY_URI 3
#define COAP_OPT_ETAG 4
#define COAP_OPT_URI_HOST 5
#define COAP_OPT_LOCATION_PATH 6
#define COAP_OPT_URI_PORT 7
#define COAP_OPT_LOCATION_QUERY 8
#define COAP_OPT_URI_PATH 9
#define COAP_OPT_CONTENT_TYPE 1
#define COAP_OPT_MAX_AGE 2
#define COAP_OPT_PROXY_URI 3
#define COAP_OPT_ETAG 4
#define COAP_OPT_URI_HOST 5
#define COAP_OPT_LOCATION_PATH 6
#define COAP_OPT_URI_PORT 7
#define COAP_OPT_LOCATION_QUERY 8
#define COAP_OPT_URI_PATH 9
#define COAP_OPT_OBSERVE 10 /* core-observe */
#define COAP_OPT_TOKEN 11
#define COAP_OPT_ACCEPT 12
@ -156,23 +156,23 @@ static const value_string vals_code[] = {
#define COAP_OPT_IF_NONE_MATCH 21
static const value_string vals_opt_type[] = {
{ COAP_OPT_CONTENT_TYPE, "Content-Type" },
{ COAP_OPT_MAX_AGE, "Max-age" },
{ COAP_OPT_PROXY_URI, "Proxy-Uri" },
{ COAP_OPT_ETAG, "Etag" },
{ COAP_OPT_URI_HOST, "Uri-Host" },
{ COAP_OPT_LOCATION_PATH, "Location-Path" },
{ COAP_OPT_URI_PORT, "Uri-Port" },
{ COAP_OPT_CONTENT_TYPE, "Content-Type" },
{ COAP_OPT_MAX_AGE, "Max-age" },
{ COAP_OPT_PROXY_URI, "Proxy-Uri" },
{ COAP_OPT_ETAG, "Etag" },
{ COAP_OPT_URI_HOST, "Uri-Host" },
{ COAP_OPT_LOCATION_PATH, "Location-Path" },
{ COAP_OPT_URI_PORT, "Uri-Port" },
{ COAP_OPT_LOCATION_QUERY, "Location-Query" },
{ COAP_OPT_URI_PATH, "Uri-Path" },
{ COAP_OPT_OBSERVE, "Observe" },
{ COAP_OPT_TOKEN, "Token" },
{ COAP_OPT_ACCEPT, "Accept" },
{ COAP_OPT_IF_MATCH, "If-Match" },
{ COAP_OPT_URI_QUERY, "Uri-Query" },
{ COAP_OPT_BLOCK2, "Block2" },
{ COAP_OPT_BLOCK1, "Block1" },
{ COAP_OPT_IF_NONE_MATCH, "If-None-Match" },
{ COAP_OPT_URI_PATH, "Uri-Path" },
{ COAP_OPT_OBSERVE, "Observe" },
{ COAP_OPT_TOKEN, "Token" },
{ COAP_OPT_ACCEPT, "Accept" },
{ COAP_OPT_IF_MATCH, "If-Match" },
{ COAP_OPT_URI_QUERY, "Uri-Query" },
{ COAP_OPT_BLOCK2, "Block2" },
{ COAP_OPT_BLOCK1, "Block1" },
{ COAP_OPT_IF_NONE_MATCH, "If-None-Match" },
{ 0, NULL },
};
@ -191,8 +191,8 @@ void proto_reg_handoff_coap(void);
static int
coap_is_str_ipv6addr(guint8 *str)
{
size_t len = strlen(str);
int colon = 0;
size_t len = strlen(str);
int colon = 0;
while (len--) {
if (*str++ == ':')
@ -269,10 +269,10 @@ dissect_coap_opt_time(tvbuff_t *tvb, packet_info *pinfo, proto_tree *subtree, gi
static void
dissect_coap_opt_block(tvbuff_t *tvb, packet_info *pinfo, proto_tree *subtree, gint offset, gint opt_length, int hfindex)
{
guint8 val = 0;
guint encoded_block_size = 0;
guint block_size;
proto_item *item = NULL;
guint8 val = 0;
guint encoded_block_size = 0;
guint block_size;
proto_item *item = NULL;
switch (opt_length) {
case 1:
@ -305,7 +305,7 @@ static void
dissect_coap_opt_port(tvbuff_t *tvb, packet_info *pinfo, proto_tree *subtree, gint offset, gint opt_length, int hfindex)
{
proto_item *item = NULL;
char portstr[6];
char portstr[6];
memset(portstr, '\0', sizeof(portstr));
@ -342,12 +342,12 @@ dissect_coap_opt_port(tvbuff_t *tvb, packet_info *pinfo, proto_tree *subtree, gi
static int
dissect_coap_options(tvbuff_t *tvb, packet_info *pinfo, proto_tree *coap_tree, gint offset, guint8 opt_count, guint8 *opt_code)
{
guint8 opt_delta;
gint opt_length;
proto_tree *subtree = NULL;
proto_item *item = NULL;
gint opt_hlen = 0;
tvbuff_t *tvb_lenbuf = NULL;
guint8 opt_delta;
gint opt_length;
proto_tree *subtree = NULL;
proto_item *item = NULL;
gint opt_hlen = 0;
tvbuff_t *tvb_lenbuf = NULL;
opt_delta = (tvb_get_guint8(tvb, offset) & 0xf0) >> 4;
*opt_code += opt_delta;
@ -440,23 +440,20 @@ dissect_coap_options(tvbuff_t *tvb, packet_info *pinfo, proto_tree *coap_tree, g
static void
dissect_coap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
guint offset = 0;
proto_item *coap_root = NULL;
proto_tree *coap_tree = NULL;
guint8 ttype = 0;
guint8 opt_count = 0;
guint8 code = 0;
guint16 tid = 0;
guint coap_length = 0;
guint8 opt_code = 0;
int i;
guint offset = 0;
proto_item *coap_root = NULL;
proto_tree *coap_tree = NULL;
guint8 ttype = 0;
guint8 opt_count = 0;
guint8 code = 0;
guint16 tid = 0;
guint coap_length = 0;
guint8 opt_code = 0;
int i;
col_set_str(pinfo->cinfo, COL_PROTOCOL, "COAP");
col_clear(pinfo->cinfo, COL_INFO);
if (!parent_tree)
return;
/* initialize the COAP length and the content-type */
/*
* the length of COAP message is not specified in the COAP header.
@ -547,31 +544,131 @@ void
proto_register_coap(void)
{
static hf_register_info hf[] = {
{ &hf_coap_version, { "Version", "coap.version", FT_UINT8, BASE_DEC, NULL, 0xc0, "COAP Version", HFILL }},
{ &hf_coap_ttype, { "Type", "coap.type", FT_UINT8, BASE_DEC, VALS(vals_ttype), 0x30, "COAP Transaction Type", HFILL }},
{ &hf_coap_opt_count, { "Option Count", "coap.optcount", FT_UINT8, BASE_DEC, NULL, 0x0f, "COAP Option Count", HFILL }},
{ &hf_coap_code, { "Code", "coap.code", FT_UINT8, BASE_DEC, VALS(vals_code), 0x0, "COAP Method or Response Code", HFILL }},
{ &hf_coap_tid, { "Transaction ID", "coap.tid", FT_UINT16, BASE_DEC, NULL, 0x0, "COAP Transaction ID", HFILL }},
{ &hf_coap_opt_delta, { "Delta", "coap.opt.delta", FT_UINT8, BASE_DEC, NULL, 0xf0, "COAP Option Delta", HFILL }},
{ &hf_coap_opt_length, { "Length", "coap.opt.length", FT_UINT16, BASE_DEC, NULL, 0x0, "COAP Option Length", HFILL }},
{ &hf_coap_opt_ctype, { "Content-type", "coap.opt.ctype", FT_UINT8, BASE_DEC, VALS(vals_ctype), 0x0, "COAP Content Type", HFILL }},
{ &hf_coap_opt_max_age, { "Max-age", "coap.opt.max_age", FT_UINT32, BASE_DEC, NULL, 0x0, "COAP Max-age", HFILL }},
{ &hf_coap_opt_proxy_uri, { "Proxy-Uri", "coap.opt.proxy_uri", FT_STRING, BASE_NONE, NULL, 0x0, "COAP Proxy-Uri", HFILL }},
{ &hf_coap_opt_etag, { "Etag", "coap.opt.etag", FT_BYTES, BASE_NONE, NULL, 0x0, "COAP Etag", HFILL }},
{ &hf_coap_opt_uri_host, { "Uri-Host", "coap.opt.uri_host", FT_STRING, BASE_NONE, NULL, 0x0, "COAP Uri-Host", HFILL }},
{ &hf_coap_opt_location_path, { "Location-Path", "coap.opt.location_path", FT_STRING, BASE_NONE, NULL, 0x0, "COAP URI Path", HFILL }},
{ &hf_coap_opt_uri_port, { "Uri-Port", "coap.opt.uri_port", FT_UINT16, BASE_DEC, NULL, 0x0, "COAP Uri-Port", HFILL }},
{ &hf_coap_opt_location_query, { "Location-Query", "coap.opt.location_query", FT_STRING, BASE_NONE, NULL, 0x0, "COAP URI Query", HFILL }},
{ &hf_coap_opt_uri_path, { "Uri-Path", "coap.opt.uri_path", FT_STRING, BASE_NONE, NULL, 0x0, "COAP Uri-Path", HFILL }},
{ &hf_coap_opt_observe, { "Lifetime", "coap.opt.subscr_lifetime", FT_INT32, BASE_DEC, NULL, 0x0, "COAP Observe", HFILL }},
{ &hf_coap_opt_token, { "Token", "coap.opt.token", FT_BYTES, BASE_NONE, NULL, 0x0, "COAP Token", HFILL }},
{ &hf_coap_opt_accept, { "Accept", "coap.opt.accept", FT_UINT8, BASE_DEC, VALS(vals_ctype), 0x0, "COAP Acceptable Content Type", HFILL }},
{ &hf_coap_opt_if_match, { "If-Match", "coap.opt.if_match", FT_BYTES, BASE_NONE, NULL, 0x0, "COAP If-Match", HFILL }},
{ &hf_coap_opt_block_number, { "Block Number", "coap.opt.block_number", FT_INT32, BASE_DEC, NULL, 0x0, "COAP Block Number", HFILL }},
{ &hf_coap_opt_block_mflag, { "More Flag", "coap.opt.block_mflag", FT_UINT8, BASE_DEC, NULL, 0x08, "COAP Block More Size", HFILL }},
{ &hf_coap_opt_block_size, { "Encoded Block Size", "coap.opt.block_size", FT_UINT8, BASE_DEC, NULL, 0x07, "COAP Encoded Block Size", HFILL }},
{ &hf_coap_opt_uri_query, { "Uri-Query", "coap.opt.uri_query", FT_STRING, BASE_NONE, NULL, 0x0, "COAP Uri-Query", HFILL }},
{ &hf_coap_opt_if_none_match, { "If-None-Match", "coap.opt.if_none_match", FT_BYTES, BASE_NONE, NULL, 0x0, "COAP If-None-Match", HFILL }},
{ &hf_coap_version,
{ "Version", "coap.version",
FT_UINT8, BASE_DEC, NULL, 0xc0,
"COAP Version", HFILL }
},
{ &hf_coap_ttype,
{ "Type", "coap.type",
FT_UINT8, BASE_DEC, VALS(vals_ttype), 0x30,
"COAP Transaction Type", HFILL }
},
{ &hf_coap_opt_count,
{ "Option Count", "coap.optcount",
FT_UINT8, BASE_DEC, NULL, 0x0f,
"COAP Option Count", HFILL }
},
{ &hf_coap_code,
{ "Code", "coap.code",
FT_UINT8, BASE_DEC, VALS(vals_code), 0x0,
"COAP Method or Response Code", HFILL }
},
{ &hf_coap_tid,
{ "Transaction ID", "coap.tid",
FT_UINT16, BASE_DEC, NULL, 0x0,
"COAP Transaction ID", HFILL }
},
{ &hf_coap_opt_delta,
{ "Delta", "coap.opt.delta",
FT_UINT8, BASE_DEC, NULL, 0xf0,
"COAP Option Delta", HFILL }
},
{ &hf_coap_opt_length,
{ "Length", "coap.opt.length",
FT_UINT16, BASE_DEC, NULL, 0x0,
"COAP Option Length", HFILL }
},
{ &hf_coap_opt_ctype,
{ "Content-type", "coap.opt.ctype",
FT_UINT8, BASE_DEC, VALS(vals_ctype), 0x0,
"COAP Content Type", HFILL }
},
{ &hf_coap_opt_max_age,
{ "Max-age", "coap.opt.max_age",
FT_UINT32, BASE_DEC, NULL, 0x0,
"COAP Max-age", HFILL }
},
{ &hf_coap_opt_proxy_uri,
{ "Proxy-Uri", "coap.opt.proxy_uri",
FT_STRING, BASE_NONE, NULL, 0x0,
"COAP Proxy-Uri", HFILL }
},
{ &hf_coap_opt_etag,
{ "Etag", "coap.opt.etag",
FT_BYTES, BASE_NONE, NULL, 0x0,
"COAP Etag", HFILL }
},
{ &hf_coap_opt_uri_host,
{ "Uri-Host", "coap.opt.uri_host",
FT_STRING, BASE_NONE, NULL, 0x0,
"COAP Uri-Host", HFILL }
},
{ &hf_coap_opt_location_path,
{ "Location-Path", "coap.opt.location_path",
FT_STRING, BASE_NONE, NULL, 0x0,
"COAP URI Path", HFILL }
},
{ &hf_coap_opt_uri_port,
{ "Uri-Port", "coap.opt.uri_port",
FT_UINT16, BASE_DEC, NULL, 0x0,
"COAP Uri-Port", HFILL }
},
{ &hf_coap_opt_location_query,
{ "Location-Query", "coap.opt.location_query",
FT_STRING, BASE_NONE, NULL, 0x0,
"COAP URI Query", HFILL }
},
{ &hf_coap_opt_uri_path,
{ "Uri-Path", "coap.opt.uri_path",
FT_STRING, BASE_NONE, NULL, 0x0,
"COAP Uri-Path", HFILL }
},
{ &hf_coap_opt_observe,
{ "Lifetime", "coap.opt.subscr_lifetime",
FT_INT32, BASE_DEC, NULL, 0x0,
"COAP Observe", HFILL }
},
{ &hf_coap_opt_token,
{ "Token", "coap.opt.token",
FT_BYTES, BASE_NONE, NULL, 0x0,
"COAP Token", HFILL }
},
{ &hf_coap_opt_accept,
{ "Accept", "coap.opt.accept",
FT_UINT8, BASE_DEC, VALS(vals_ctype), 0x0,
"COAP Acceptable Content Type", HFILL }
},
{ &hf_coap_opt_if_match,
{ "If-Match", "coap.opt.if_match",
FT_BYTES, BASE_NONE, NULL, 0x0,
"COAP If-Match", HFILL }
},
{ &hf_coap_opt_block_number,
{ "Block Number", "coap.opt.block_number",
FT_INT32, BASE_DEC, NULL, 0x0,
"COAP Block Number", HFILL }
},
{ &hf_coap_opt_block_mflag,
{ "More Flag", "coap.opt.block_mflag",
FT_UINT8, BASE_DEC, NULL, 0x08,
"COAP Block More Size", HFILL }
},
{ &hf_coap_opt_block_size,
{ "Encoded Block Size", "coap.opt.block_size",
FT_UINT8, BASE_DEC, NULL, 0x07,
"COAP Encoded Block Size", HFILL }
},
{ &hf_coap_opt_uri_query,
{ "Uri-Query", "coap.opt.uri_query",
FT_STRING, BASE_NONE, NULL, 0x0,
"COAP Uri-Query", HFILL }
},
{ &hf_coap_opt_if_none_match,
{ "If-None-Match", "coap.opt.if_none_match",
FT_BYTES, BASE_NONE, NULL, 0x0,
"COAP If-None-Match", HFILL }
},
};
static gint *ett[] = {