diff options
author | Bill Meier <wmeier@newsguy.com> | 2011-04-12 14:33:30 +0000 |
---|---|---|
committer | Bill Meier <wmeier@newsguy.com> | 2011-04-12 14:33:30 +0000 |
commit | e07cb22a47b95e6827a5cc4df3f4421594b0ca53 (patch) | |
tree | 782ba615d6e26f69faa33f4cabcc683a81470167 /plugins | |
parent | 2e9f0857f67d6bfc95c4ed9da73c4bab20893c50 (diff) |
Rework whitespace.
svn path=/trunk/; revision=36583
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/gryphon/packet-gryphon.c | 1944 |
1 files changed, 973 insertions, 971 deletions
diff --git a/plugins/gryphon/packet-gryphon.c b/plugins/gryphon/packet-gryphon.c index 565a585ac9..0c42735b13 100644 --- a/plugins/gryphon/packet-gryphon.c +++ b/plugins/gryphon/packet-gryphon.c @@ -30,14 +30,14 @@ #include <glib.h> #include <epan/packet.h> -#include "packet-gryphon.h" #include <epan/dissectors/packet-tcp.h> #include <epan/prefs.h> +#include "packet-gryphon.h" /* * See * - * http://www.dgtech.com/gryphon/sys/www/docs/html/ + * http://www.dgtech.com/gryphon/sys/www/docs/html/ */ static int proto_gryphon = -1; @@ -128,19 +128,19 @@ static int cmd_bits_out(tvbuff_t*, int, proto_tree*); static int cmd_init_strat(tvbuff_t*, int, proto_tree*); static const char *frame_type[] = { - "", - "Command request", - "Command response", - "Network (vehicle) data", - "Event", - "Miscellaneous", - "Text string" + "", + "Command request", + "Command response", + "Network (vehicle) data", + "Event", + "Miscellaneous", + "Text string" }; /* * Length of the frame header. */ -#define FRAME_HEADER_LEN 8 +#define FRAME_HEADER_LEN 8 static guint get_gryphon_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset) @@ -172,49 +172,49 @@ static void dissect_gryphon(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { tcp_dissect_pdus(tvb, pinfo, tree, gryphon_desegment, FRAME_HEADER_LEN, - get_gryphon_pdu_len, dissect_gryphon_pdu); + get_gryphon_pdu_len, dissect_gryphon_pdu); } static const value_string src_dest[] = { - {SD_CARD, "Card"}, - {SD_SERVER, "Server"}, - {SD_CLIENT, "Client"}, - {SD_SCHED, "Scheduler"}, - {SD_SCRIPT, "Script Processor"}, - {SD_PGM, "Program Loader"}, - {SD_USDT, "USDT Server"}, - {SD_BLM, "Bus Load Monitoring"}, - {SD_FLIGHT, "Flight Recorder"}, - {SD_RESP, "Message Responder"}, - {SD_IOPWR, "I/O and power"}, - {SD_UTIL, "Utility/Miscellaneous"}, - {0, NULL} + {SD_CARD, "Card"}, + {SD_SERVER, "Server"}, + {SD_CLIENT, "Client"}, + {SD_SCHED, "Scheduler"}, + {SD_SCRIPT, "Script Processor"}, + {SD_PGM, "Program Loader"}, + {SD_USDT, "USDT Server"}, + {SD_BLM, "Bus Load Monitoring"}, + {SD_FLIGHT, "Flight Recorder"}, + {SD_RESP, "Message Responder"}, + {SD_IOPWR, "I/O and power"}, + {SD_UTIL, "Utility/Miscellaneous"}, + {0, NULL} }; static void dissect_gryphon_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, - gboolean is_msgresp_add) + gboolean is_msgresp_add) { - int offset = 0; - proto_tree *gryphon_tree; - proto_item *ti; - proto_tree *header_tree, *body_tree, *localTree; - proto_item *header_item, *body_item, *localItem, *hiddenItem; - int start_offset, msgend; - int msglen, msgpad; + int offset = 0; + proto_tree *gryphon_tree; + proto_item *ti; + proto_tree *header_tree, *body_tree, *localTree; + proto_item *header_item, *body_item, *localItem, *hiddenItem; + int start_offset, msgend; + int msglen, msgpad; unsigned int src, dest, i, frmtyp; - guint8 flags; + guint8 flags; if (!is_msgresp_add) { - col_set_str(pinfo->cinfo, COL_PROTOCOL, "Gryphon"); - col_clear(pinfo->cinfo, COL_INFO); + col_set_str(pinfo->cinfo, COL_PROTOCOL, "Gryphon"); + col_clear(pinfo->cinfo, COL_INFO); } if (!is_msgresp_add) { - ti = proto_tree_add_item(tree, proto_gryphon, tvb, 0, -1, FALSE); - gryphon_tree = proto_item_add_subtree(ti, ett_gryphon); + ti = proto_tree_add_item(tree, proto_gryphon, tvb, 0, -1, FALSE); + gryphon_tree = proto_item_add_subtree(ti, ett_gryphon); } else - gryphon_tree = tree; + gryphon_tree = tree; src = tvb_get_guint8(tvb, offset + 0); dest = tvb_get_guint8(tvb, offset + 2); @@ -223,453 +223,450 @@ dissect_gryphon_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, frmtyp = flags & ~RESPONSE_FLAGS; if (!is_msgresp_add) { - /* - * This tvbuff includes padding to make its length a multiple - * of 4 bytes; set it to the actual length. - */ - set_actual_length(tvb, msglen + FRAME_HEADER_LEN); - - /* - * Indicate what kind of message this is. - */ - if (frmtyp >= SIZEOF (frame_type)) - col_set_str(pinfo->cinfo, COL_INFO, "- Invalid -"); - else - col_set_str(pinfo->cinfo, COL_INFO, frame_type[frmtyp]); + /* + * This tvbuff includes padding to make its length a multiple + * of 4 bytes; set it to the actual length. + */ + set_actual_length(tvb, msglen + FRAME_HEADER_LEN); + + /* + * Indicate what kind of message this is. + */ + if (frmtyp >= SIZEOF (frame_type)) + col_set_str(pinfo->cinfo, COL_INFO, "- Invalid -"); + else + col_set_str(pinfo->cinfo, COL_INFO, frame_type[frmtyp]); } if (tree == NULL) - return; + return; if (frmtyp >= SIZEOF (frame_type)) { - /* - * Unknown message type. - */ - proto_tree_add_text(gryphon_tree, tvb, offset, msglen, "Data"); - return; + /* + * Unknown message type. + */ + proto_tree_add_text(gryphon_tree, tvb, offset, msglen, "Data"); + return; } header_item = proto_tree_add_text(gryphon_tree, tvb, offset, MSG_HDR_SZ, "Header"); header_tree = proto_item_add_subtree(header_item, ett_gryphon_header); proto_tree_add_text(header_tree, tvb, offset, 2, - "Source: %s, channel %u", - val_to_str(src, src_dest, "Unknown (0x%02x)"), - tvb_get_guint8(tvb, offset + 1)); + "Source: %s, channel %u", + val_to_str(src, src_dest, "Unknown (0x%02x)"), + tvb_get_guint8(tvb, offset + 1)); - hiddenItem = proto_tree_add_uint(header_tree, hf_gryphon_src, tvb, - offset, 1, src); - PROTO_ITEM_SET_HIDDEN(hiddenItem); + hiddenItem = proto_tree_add_uint(header_tree, hf_gryphon_src, tvb, + offset, 1, src); + PROTO_ITEM_SET_HIDDEN(hiddenItem); - hiddenItem = proto_tree_add_uint(header_tree, hf_gryphon_srcchan, tvb, - offset+1, 1, tvb_get_guint8(tvb, offset + 1)); - PROTO_ITEM_SET_HIDDEN(hiddenItem); + hiddenItem = proto_tree_add_uint(header_tree, hf_gryphon_srcchan, tvb, + offset+1, 1, tvb_get_guint8(tvb, offset + 1)); + PROTO_ITEM_SET_HIDDEN(hiddenItem); proto_tree_add_text(header_tree, tvb, offset+2, 2, - "Destination: %s, channel %u", - val_to_str(dest, src_dest, "Unknown (0x%02x)"), - tvb_get_guint8(tvb, offset + 3)); + "Destination: %s, channel %u", + val_to_str(dest, src_dest, "Unknown (0x%02x)"), + tvb_get_guint8(tvb, offset + 3)); - hiddenItem = proto_tree_add_uint(header_tree, hf_gryphon_dest, tvb, - offset+2, 1, dest); - PROTO_ITEM_SET_HIDDEN(hiddenItem); + hiddenItem = proto_tree_add_uint(header_tree, hf_gryphon_dest, tvb, + offset+2, 1, dest); + PROTO_ITEM_SET_HIDDEN(hiddenItem); hiddenItem = proto_tree_add_uint(header_tree, hf_gryphon_destchan, tvb, - offset+3, 1, tvb_get_guint8(tvb, offset + 3)); - PROTO_ITEM_SET_HIDDEN(hiddenItem); + offset+3, 1, tvb_get_guint8(tvb, offset + 3)); + PROTO_ITEM_SET_HIDDEN(hiddenItem); proto_tree_add_text(header_tree, tvb, offset+4, 2, - "Data length: %u byte%s", msglen, msglen == 1 ? "" : "s"); + "Data length: %u byte%s", msglen, msglen == 1 ? "" : "s"); proto_tree_add_text(header_tree, tvb, offset+6, 1, - "Frame type: %s", frame_type[frmtyp]); - - if (is_msgresp_add) { - localItem = proto_tree_add_text(header_tree, tvb, offset+6, 1, "Flags"); - localTree = proto_item_add_subtree (localItem, ett_gryphon_flags); - proto_tree_add_text(localTree, tvb, offset+6, 1, "%s", - decode_boolean_bitfield(flags, DONT_WAIT_FOR_RESP, 8, - "Don't wait for response", - "Wait for response")); - proto_tree_add_text(localTree, tvb, offset+6, 1, "%s", - decode_boolean_bitfield(flags, WAIT_FOR_PREV_RESP, 8, - "Wait for previous responses", - "Don't wait for previous responses")); + "Frame type: %s", frame_type[frmtyp]); + + if (is_msgresp_add) { + localItem = proto_tree_add_text(header_tree, tvb, offset+6, 1, "Flags"); + localTree = proto_item_add_subtree (localItem, ett_gryphon_flags); + proto_tree_add_text(localTree, tvb, offset+6, 1, "%s", + decode_boolean_bitfield(flags, DONT_WAIT_FOR_RESP, 8, + "Don't wait for response", + "Wait for response")); + proto_tree_add_text(localTree, tvb, offset+6, 1, "%s", + decode_boolean_bitfield(flags, WAIT_FOR_PREV_RESP, 8, + "Wait for previous responses", + "Don't wait for previous responses")); } proto_tree_add_text(header_tree, tvb, offset+7, 1, "reserved"); hiddenItem = proto_tree_add_uint(header_tree, hf_gryphon_type, tvb, - offset+6, 1, frmtyp); - PROTO_ITEM_SET_HIDDEN(hiddenItem); + offset+6, 1, frmtyp); + PROTO_ITEM_SET_HIDDEN(hiddenItem); msgpad = 3 - (msglen + 3) % 4; msgend = offset + msglen + msgpad + MSG_HDR_SZ; body_item = proto_tree_add_text(gryphon_tree, tvb, offset + MSG_HDR_SZ, - msglen + msgpad, "Body"); + msglen + msgpad, "Body"); body_tree = proto_item_add_subtree(body_item, ett_gryphon_body); start_offset = offset; offset += MSG_HDR_SZ; switch (frmtyp) { case GY_FT_CMD: - offset = decode_command(tvb, offset, dest, body_tree); - break; + offset = decode_command(tvb, offset, dest, body_tree); + break; case GY_FT_RESP: - offset = decode_response(tvb, offset, src, body_tree); - break; + offset = decode_response(tvb, offset, src, body_tree); + break; case GY_FT_DATA: - offset = decode_data(tvb, offset, body_tree); - break; + offset = decode_data(tvb, offset, body_tree); + break; case GY_FT_EVENT: - offset = decode_event(tvb, offset, body_tree); - break; + offset = decode_event(tvb, offset, body_tree); + break; case GY_FT_MISC: - offset = decode_misc (tvb, offset, body_tree); - break; + offset = decode_misc (tvb, offset, body_tree); + break; case GY_FT_TEXT: - break; + break; default: - break; + break; } if (offset < msgend - msgpad) { - i = msgend - msgpad - offset; - proto_tree_add_text(gryphon_tree, tvb, offset, i, "Data"); - offset += i; + i = msgend - msgpad - offset; + proto_tree_add_text(gryphon_tree, tvb, offset, i, "Data"); + offset += i; } if (offset < msgend) { - i = msgend - offset; - proto_tree_add_text(gryphon_tree, tvb, offset, i, "padding"); - offset += i; + i = msgend - offset; + proto_tree_add_text(gryphon_tree, tvb, offset, i, "padding"); + offset += i; } } static const val_str_dsp cmds[] = { - {CMD_INIT, "Initialize", cmd_init, NULL}, - {CMD_GET_STAT, "Get status", NULL, NULL}, - {CMD_GET_CONFIG, "Get configuration", NULL, resp_config}, - {CMD_EVENT_ENABLE, "Enable event", eventnum, NULL}, - {CMD_EVENT_DISABLE, "Disable event", eventnum, NULL}, - {CMD_GET_TIME, "Get time", NULL, resp_time}, - {CMD_SET_TIME, "Set time", resp_time, NULL}, - {CMD_GET_RXDROP, "Get number of dropped RX messages", NULL, NULL}, - {CMD_RESET_RXDROP, "Clear number of dropped RX messages", NULL, NULL}, - {CMD_BCAST_ON, "Set broadcasts on", NULL, NULL}, - {CMD_BCAST_OFF, "Set broadcasts off", NULL, NULL}, - {CMD_CARD_SET_SPEED, "Set channel baud rate", speed, NULL}, - {CMD_CARD_GET_SPEED, "Get channel baud rate", NULL, speed}, - {CMD_CARD_SET_FILTER, "Set filter (deprecated)", cmd_setfilt, NULL}, - {CMD_CARD_GET_FILTER, "Get filter", resp_addfilt, cmd_addfilt}, - {CMD_CARD_TX, "Transmit message", decode_data, NULL}, - {CMD_CARD_TX_LOOP_ON, "Set transmit loopback on", NULL, NULL}, - {CMD_CARD_TX_LOOP_OFF, "Set transmit loopback off", NULL, NULL}, - {CMD_CARD_IOCTL, "IOCTL pass-through", cmd_ioctl, NULL}, - {CMD_CARD_ADD_FILTER, "Add a filter", cmd_addfilt, resp_addfilt}, - {CMD_CARD_MODIFY_FILTER, "Modify a filter", cmd_modfilt, NULL}, - {CMD_CARD_GET_FILTER_HANDLES, "Get filter handles", NULL, resp_filthan}, - {CMD_CARD_SET_DEFAULT_FILTER, "Set default filter", dfiltmode, NULL}, - {CMD_CARD_GET_DEFAULT_FILTER, "Get default filter mode", NULL, dfiltmode}, - {CMD_CARD_SET_FILTER_MODE, "Set filter mode", filtmode, NULL}, - {CMD_CARD_GET_FILTER_MODE, "Get filter mode", NULL, filtmode}, - {CMD_CARD_GET_EVNAMES, "Get event names", NULL, resp_events}, - {CMD_CARD_GET_SPEEDS, "Get defined speeds", NULL, resp_getspeeds}, - {CMD_SERVER_REG, "Register with server", cmd_register, resp_register}, - {CMD_SERVER_SET_SORT, "Set the sorting behavior", cmd_sort, NULL}, - {CMD_SERVER_SET_OPT, "Set the type of optimization", cmd_optimize, NULL}, - {CMD_BLM_SET_MODE, "Set Bus Load Monitoring mode", blm_mode, NULL}, - {CMD_BLM_GET_MODE, "Get Bus Load Monitoring mode", NULL, blm_mode}, - {CMD_BLM_GET_DATA, "Get Bus Load data", NULL, resp_blm_data}, - {CMD_BLM_GET_STATS, "Get Bus Load statistics", NULL, resp_blm_stat}, - {CMD_FLIGHT_GET_CONFIG, "Get flight recorder channel info", NULL, NULL}, - {CMD_FLIGHT_START_MON, "Start flight recorder monitoring", NULL, NULL}, - {CMD_FLIGHT_STOP_MON, "Stop flight recorder monitoring", NULL, NULL}, - {CMD_MSGRESP_ADD, "Add response message", cmd_addresp, resp_addresp}, - {CMD_MSGRESP_GET, "Get response message", resp_addresp, cmd_addresp}, - {CMD_MSGRESP_MODIFY, "Modify response message state", cmd_modresp, NULL}, - {CMD_MSGRESP_GET_HANDLES, "Get response message handles", NULL, resp_resphan}, - {CMD_PGM_DESC, "Describe program to to uploaded", cmd_desc, resp_desc}, - {CMD_PGM_UPLOAD, "Upload a program to the Gryphon", cmd_upload, NULL}, - {CMD_PGM_DELETE, "Delete an uploaded program", cmd_delete, NULL}, - {CMD_PGM_LIST, "Get a list of uploaded programs", cmd_list, resp_list}, - {CMD_PGM_START, "Start an uploaded program", cmd_start, resp_start}, - {CMD_PGM_START2, "Start an uploaded program", NULL, resp_start}, - {CMD_PGM_STOP, "Stop an uploaded program", resp_start, NULL}, - {CMD_PGM_STATUS, "Get status of an uploaded program", cmd_delete, resp_status}, - {CMD_PGM_OPTIONS, "Set program upload options", cmd_options, resp_status}, - {CMD_PGM_FILES, "Get a list of files & directories", cmd_files, resp_files}, - {CMD_SCHED_TX, "Schedule transmission of messages", cmd_sched, resp_sched}, - {CMD_SCHED_KILL_TX, "Stop and destroy a message transmission", resp_sched, NULL}, - {CMD_SCHED_STOP_TX, "Kill a message transmission (deprecated)", resp_sched, NULL}, - {CMD_SCHED_MSG_REPLACE, "Replace a scheduled message", cmd_sched_rep, NULL}, - {CMD_USDT_IOCTL, "Register/Unregister with USDT server", cmd_usdt, NULL}, - {CMD_USDT_REGISTER, "Register/Unregister with USDT server", cmd_usdt, NULL}, - {CMD_USDT_SET_FUNCTIONAL, "Set IDs to use extended addressing", cmd_usdt, NULL}, - {CMD_IOPWR_GETINP, "Read current digital inputs", NULL, cmd_bits_in}, - {CMD_IOPWR_GETLATCH, "Read latched digital inputs", NULL, cmd_bits_in}, - {CMD_IOPWR_CLRLATCH, "Read & clear latched digital inputs", cmd_bits_in, cmd_bits_in}, - {CMD_IOPWR_GETOUT, "Read digital outputs", NULL, cmd_bits_out}, - {CMD_IOPWR_SETOUT, "Write digital outputs", cmd_bits_out, NULL}, - {CMD_IOPWR_SETBIT, "Set indicated output bits", cmd_bits_out, NULL}, - {CMD_IOPWR_CLRBIT, "Clear indicated output bits", cmd_bits_out, NULL}, - {CMD_IOPWR_GETPOWER, "Read digital inputs at power on time", NULL, cmd_bits_in}, - {CMD_UTIL_SET_INIT_STRATEGY, "Set initialization strategy", cmd_init_strat, NULL}, - {CMD_UTIL_GET_INIT_STRATEGY, "Get initialization strategy", NULL, cmd_init_strat}, - {-1, "- unknown -", NULL, NULL}, - }; + {CMD_INIT, "Initialize" , cmd_init , NULL}, + {CMD_GET_STAT, "Get status" , NULL , NULL}, + {CMD_GET_CONFIG, "Get configuration" , NULL , resp_config}, + {CMD_EVENT_ENABLE, "Enable event" , eventnum , NULL}, + {CMD_EVENT_DISABLE, "Disable event" , eventnum , NULL}, + {CMD_GET_TIME, "Get time" , NULL , resp_time}, + {CMD_SET_TIME, "Set time" , resp_time , NULL}, + {CMD_GET_RXDROP, "Get number of dropped RX messages" , NULL , NULL}, + {CMD_RESET_RXDROP, "Clear number of dropped RX messages" , NULL , NULL}, + {CMD_BCAST_ON, "Set broadcasts on" , NULL , NULL}, + {CMD_BCAST_OFF, "Set broadcasts off" , NULL , NULL}, + {CMD_CARD_SET_SPEED, "Set channel baud rate" , speed , NULL}, + {CMD_CARD_GET_SPEED, "Get channel baud rate" , NULL , speed}, + {CMD_CARD_SET_FILTER, "Set filter (deprecated)" , cmd_setfilt , NULL}, + {CMD_CARD_GET_FILTER, "Get filter" , resp_addfilt , cmd_addfilt}, + {CMD_CARD_TX, "Transmit message" , decode_data , NULL}, + {CMD_CARD_TX_LOOP_ON, "Set transmit loopback on" , NULL , NULL}, + {CMD_CARD_TX_LOOP_OFF, "Set transmit loopback off" , NULL , NULL}, + {CMD_CARD_IOCTL, "IOCTL pass-through" , cmd_ioctl , NULL}, + {CMD_CARD_ADD_FILTER, "Add a filter" , cmd_addfilt , resp_addfilt}, + {CMD_CARD_MODIFY_FILTER, "Modify a filter" , cmd_modfilt , NULL}, + {CMD_CARD_GET_FILTER_HANDLES, "Get filter handles" , NULL , resp_filthan}, + {CMD_CARD_SET_DEFAULT_FILTER, "Set default filter" , dfiltmode , NULL}, + {CMD_CARD_GET_DEFAULT_FILTER, "Get default filter mode" , NULL , dfiltmode}, + {CMD_CARD_SET_FILTER_MODE, "Set filter mode" , filtmode , NULL}, + {CMD_CARD_GET_FILTER_MODE, "Get filter mode" , NULL , filtmode}, + {CMD_CARD_GET_EVNAMES, "Get event names" , NULL , resp_events}, + {CMD_CARD_GET_SPEEDS, "Get defined speeds" , NULL , resp_getspeeds}, + {CMD_SERVER_REG, "Register with server" , cmd_register , resp_register}, + {CMD_SERVER_SET_SORT, "Set the sorting behavior" , cmd_sort , NULL}, + {CMD_SERVER_SET_OPT, "Set the type of optimization" , cmd_optimize , NULL}, + {CMD_BLM_SET_MODE, "Set Bus Load Monitoring mode" , blm_mode , NULL}, + {CMD_BLM_GET_MODE, "Get Bus Load Monitoring mode" , NULL , blm_mode}, + {CMD_BLM_GET_DATA, "Get Bus Load data" , NULL , resp_blm_data}, + {CMD_BLM_GET_STATS, "Get Bus Load statistics" , NULL , resp_blm_stat}, + {CMD_FLIGHT_GET_CONFIG, "Get flight recorder channel info" , NULL , NULL}, + {CMD_FLIGHT_START_MON, "Start flight recorder monitoring" , NULL , NULL}, + {CMD_FLIGHT_STOP_MON, "Stop flight recorder monitoring" , NULL , NULL}, + {CMD_MSGRESP_ADD, "Add response message" , cmd_addresp , resp_addresp}, + {CMD_MSGRESP_GET, "Get response message" , resp_addresp , cmd_addresp}, + {CMD_MSGRESP_MODIFY, "Modify response message state" , cmd_modresp , NULL}, + {CMD_MSGRESP_GET_HANDLES, "Get response message handles" , NULL , resp_resphan}, + {CMD_PGM_DESC, "Describe program to to uploaded" , cmd_desc , resp_desc}, + {CMD_PGM_UPLOAD, "Upload a program to the Gryphon" , cmd_upload , NULL}, + {CMD_PGM_DELETE, "Delete an uploaded program" , cmd_delete , NULL}, + {CMD_PGM_LIST, "Get a list of uploaded programs" , cmd_list , resp_list}, + {CMD_PGM_START, "Start an uploaded program" , cmd_start , resp_start}, + {CMD_PGM_START2, "Start an uploaded program" , NULL , resp_start}, + {CMD_PGM_STOP, "Stop an uploaded program" , resp_start , NULL}, + {CMD_PGM_STATUS, "Get status of an uploaded program" , cmd_delete , resp_status}, + {CMD_PGM_OPTIONS, "Set program upload options" , cmd_options , resp_status}, + {CMD_PGM_FILES, "Get a list of files & directories" , cmd_files , resp_files}, + {CMD_SCHED_TX, "Schedule transmission of messages" , cmd_sched , resp_sched}, + {CMD_SCHED_KILL_TX, "Stop and destroy a message transmission" , resp_sched , NULL}, + {CMD_SCHED_STOP_TX, "Kill a message transmission (deprecated)", resp_sched , NULL}, + {CMD_SCHED_MSG_REPLACE, "Replace a scheduled message" , cmd_sched_rep , NULL}, + {CMD_USDT_IOCTL, "Register/Unregister with USDT server" , cmd_usdt , NULL}, + {CMD_USDT_REGISTER, "Register/Unregister with USDT server" , cmd_usdt , NULL}, + {CMD_USDT_SET_FUNCTIONAL, "Set IDs to use extended addressing" , cmd_usdt , NULL}, + {CMD_IOPWR_GETINP, "Read current digital inputs" , NULL , cmd_bits_in}, + {CMD_IOPWR_GETLATCH, "Read latched digital inputs" , NULL , cmd_bits_in}, + {CMD_IOPWR_CLRLATCH, "Read & clear latched digital inputs" , cmd_bits_in , cmd_bits_in}, + {CMD_IOPWR_GETOUT, "Read digital outputs" , NULL , cmd_bits_out}, + {CMD_IOPWR_SETOUT, "Write digital outputs" , cmd_bits_out , NULL}, + {CMD_IOPWR_SETBIT, "Set indicated output bits" , cmd_bits_out , NULL}, + {CMD_IOPWR_CLRBIT, "Clear indicated output bits" , cmd_bits_out , NULL}, + {CMD_IOPWR_GETPOWER, "Read digital inputs at power on time" , NULL , cmd_bits_in}, + {CMD_UTIL_SET_INIT_STRATEGY, "Set initialization strategy" , cmd_init_strat, NULL}, + {CMD_UTIL_GET_INIT_STRATEGY, "Get initialization strategy" , NULL , cmd_init_strat}, + {-1, "- unknown -" , NULL , NULL}, +}; static const value_string responses_vs[] = { - {RESP_OK, "OK - no error"}, - {RESP_UNKNOWN_ERR, "Unknown error"}, - {RESP_UNKNOWN_CMD, "Unrecognised command"}, - {RESP_UNSUPPORTED, "Unsupported command"}, - {RESP_INVAL_CHAN, "Invalid channel specified"}, - {RESP_INVAL_DST, "Invalid destination"}, - {RESP_INVAL_PARAM, "Invalid parameter(s)"}, - {RESP_INVAL_MSG, "Invalid message"}, - {RESP_INVAL_LEN, "Invalid length field"}, - {RESP_TX_FAIL, "Transmit failed"}, - {RESP_RX_FAIL, "Receive failed"}, - {RESP_AUTH_FAIL, "Authorization failed"}, - {RESP_MEM_ALLOC_ERR, "Memory allocation error"}, - {RESP_TIMEOUT, "Command timed out"}, - {RESP_UNAVAILABLE, "Unavailable"}, - {RESP_BUF_FULL, "Buffer full"}, - {RESP_NO_SUCH_JOB, "No such job"}, - {0, NULL}, - }; + {RESP_OK, "OK - no error"}, + {RESP_UNKNOWN_ERR, "Unknown error"}, + {RESP_UNKNOWN_CMD, "Unrecognised command"}, + {RESP_UNSUPPORTED, "Unsupported command"}, + {RESP_INVAL_CHAN, "Invalid channel specified"}, + {RESP_INVAL_DST, "Invalid destination"}, + {RESP_INVAL_PARAM, "Invalid parameter(s)"}, + {RESP_INVAL_MSG, "Invalid message"}, + {RESP_INVAL_LEN, "Invalid length field"}, + {RESP_TX_FAIL, "Transmit failed"}, + {RESP_RX_FAIL, "Receive failed"}, + {RESP_AUTH_FAIL, "Authorization failed"}, + {RESP_MEM_ALLOC_ERR, "Memory allocation error"}, + {RESP_TIMEOUT, "Command timed out"}, + {RESP_UNAVAILABLE, "Unavailable"}, + {RESP_BUF_FULL, "Buffer full"}, + {RESP_NO_SUCH_JOB, "No such job"}, + {0, NULL}, +}; static const value_string filter_data_types[] = { - {FILTER_DATA_TYPE_HEADER_FRAME, "frame header"}, - {FILTER_DATA_TYPE_HEADER, "data message header"}, - {FILTER_DATA_TYPE_DATA, "data message data"}, - {FILTER_DATA_TYPE_EXTRA_DATA, "data message extra data"}, - {FILTER_EVENT_TYPE_HEADER, "event message header"}, - {FILTER_EVENT_TYPE_DATA, "event message"}, - {0, NULL}, - }; + {FILTER_DATA_TYPE_HEADER_FRAME, "frame header"}, + {FILTER_DATA_TYPE_HEADER, "data message header"}, + {FILTER_DATA_TYPE_DATA, "data message data"}, + {FILTER_DATA_TYPE_EXTRA_DATA, "data message extra data"}, + {FILTER_EVENT_TYPE_HEADER, "event message header"}, + {FILTER_EVENT_TYPE_DATA, "event message"}, + {0, NULL}, +}; static const value_string operators[] = { - {BIT_FIELD_CHECK, "Bit field check"}, - {SVALUE_GT, "Greater than (signed)"}, - {SVALUE_GE, "Greater than or equal to (signed)"}, - {SVALUE_LT, "Less than (signed)"}, - {SVALUE_LE, "Less than or equal to (signed)"}, - {VALUE_EQ, "Equal to"}, - {VALUE_NE, "Not equal to"}, - {UVALUE_GT, "Greater than (unsigned)"}, - {UVALUE_GE, "Greater than or equal to (unsigned)"}, - {UVALUE_LT, "Less than (unsigned)"}, - {UVALUE_LE, "Less than or equal to (unsigned)"}, - {DIG_LOW_TO_HIGH, "Digital, low to high transistion"}, - {DIG_HIGH_TO_LOW, "Digital, high to low transistion"}, - {DIG_TRANSITION, "Digital, change of state"}, - {0, NULL}, - }; + {BIT_FIELD_CHECK, "Bit field check"}, + {SVALUE_GT, "Greater than (signed)"}, + {SVALUE_GE, "Greater than or equal to (signed)"}, + {SVALUE_LT, "Less than (signed)"}, + {SVALUE_LE, "Less than or equal to (signed)"}, + {VALUE_EQ, "Equal to"}, + {VALUE_NE, "Not equal to"}, + {UVALUE_GT, "Greater than (unsigned)"}, + {UVALUE_GE, "Greater than or equal to (unsigned)"}, + {UVALUE_LT, "Less than (unsigned)"}, + {UVALUE_LE, "Less than or equal to (unsigned)"}, + {DIG_LOW_TO_HIGH, "Digital, low to high transistion"}, + {DIG_HIGH_TO_LOW, "Digital, high to low transistion"}, + {DIG_TRANSITION, "Digital, change of state"}, + {0, NULL}, +}; static const value_string modes[] = { - {FILTER_OFF_PASS_ALL, "Filter off, pass all messages"}, - {FILTER_OFF_BLOCK_ALL, "Filter off, block all messages"}, - {FILTER_ON, "Filter on"}, - {0, NULL}, - }; + {FILTER_OFF_PASS_ALL, "Filter off, pass all messages"}, + {FILTER_OFF_BLOCK_ALL, "Filter off, block all messages"}, + {FILTER_ON, "Filter on"}, + {0, NULL}, +}; static const value_string dmodes[] = { - {DEFAULT_FILTER_BLOCK, "Block"}, - {DEFAULT_FILTER_PASS, "Pass"}, - {0, NULL}, - }; + {DEFAULT_FILTER_BLOCK, "Block"}, + {DEFAULT_FILTER_PASS, "Pass"}, + {0, NULL}, +}; static const value_string filtacts[] = { - {DELETE_FILTER, "Delete"}, - {ACTIVATE_FILTER, "Activate"}, - {DEACTIVATE_FILTER, "Deactivate"}, - {0, NULL}, - }; + {DELETE_FILTER, "Delete"}, + {ACTIVATE_FILTER, "Activate"}, + {DEACTIVATE_FILTER, "Deactivate"}, + {0, NULL}, +}; static const value_string ioctls[] = { - {GINIT, "GINIT: Initialize"}, - {GLOOPON, "GLOOPON: Loop on"}, - {GLOOPOFF, "GLOOPOFF: Loop off"}, - {GGETHWTYPE, "GGETHWTYPE: Get hardware type"}, - {GGETREG, "GGETREG: Get register"}, - {GSETREG, "GSETREG: Set register"}, - {GGETRXCOUNT, "GGETRXCOUNT: Get the receive message counter"}, - {GSETRXCOUNT, "GSETRXCOUNT: Set the receive message counter"}, - {GGETTXCOUNT, "GGETTXCOUNT: Get the transmit message counter"}, - {GSETTXCOUNT, "GSETTXCOUNT: Set the transmit message counter"}, - {GGETRXDROP, "GGETRXDROP: Get the number of dropped receive messages"}, - {GSETRXDROP, "GSETRXDROP: Set the number of dropped receive messages"}, - {GGETTXDROP, "GGETTXDROP: Get the number of dropped transmit messages"}, - {GSETTXDROP, "GSETTXDROP: Set the number of dropped transmit messages"}, - {GGETRXBAD, "GGETRXBAD: Get the number of bad receive messages"}, - {GGETTXBAD, "GGETTXBAD: Get the number of bad transmit messages"}, - {GGETCOUNTS, "GGETCOUNTS: Get total message counter"}, - {GGETBLMON, "GGETBLMON: Get bus load monitoring status"}, - {GSETBLMON, "GSETBLMON: Set bus load monitoring status (turn on/off)"}, - {GGETERRLEV, "GGETERRLEV: Get error level"}, - {GSETERRLEV, "GSETERRLEV: Set error level"}, - {GGETBITRATE, "GGETBITRATE: Get bit rate"}, - {GGETRAM, "GGETRAM: Read value from RAM"}, - {GSETRAM, "GSETRAM: Write value to RAM"}, - {GCANGETBTRS, "GCANGETBTRS: Read CAN bit timing registers"}, - {GCANSETBTRS, "GCANSETBTRS: Write CAN bit timing registers"}, - {GCANGETBC, "GCANGETBC: Read CAN bus configuration register"}, - {GCANSETBC, "GCANSETBC: Write CAN bus configuration register"}, - {GCANGETMODE, "GCANGETMODE"}, - {GCANSETMODE, "GCANSETMODE"}, - {GCANGETTRANS, "GCANGETTRANS"}, - {GCANSETTRANS, "GCANSETTRANS"}, - {GCANSENDERR, "GCANSENDERR"}, - {GCANRGETOBJ, "GCANRGETOBJ"}, - {GCANRSETSTDID, "GCANRSETSTDID"}, - {GCANRSETEXTID, "GCANRSETEXTID"}, - {GCANRSETDATA, "GCANRSETDATA"}, - {GCANRENABLE, "GCANRENABLE"}, - {GCANRDISABLE, "GCANRDISABLE"}, - {GCANRGETMASKS, "GCANRGETMASKS"}, - {GCANRSETMASKS, "GCANRSETMASKS"}, - {GCANSWGETMODE, "GCANSWGETMODE"}, - {GCANSWSETMODE, "GCANSWSETMODE"}, - {GDLCGETFOURX, "GDLCGETFOURX"}, - {GDLCSETFOURX, "GDLCSETFOURX"}, - {GDLCGETLOAD, "GDLCGETLOAD"}, - {GDLCSETLOAD, "GDLCSETLOAD"}, - {GDLCSENDBREAK, "GDLCSENDBREAK"}, - {GDLCABORTTX, "GDLCABORTTX"}, - {GDLCGETHDRMODE, "DLCGETHDRMODE"}, - {GDLCSETHDRMODE, "GDLCSETHDRMODE"}, - {GHONSLEEP, "GHONSLEEP"}, - {GHONSILENCE, "GHONSILENCE"}, - {GKWPSETPTIMES, "GKWPSETPTIMES"}, - {GKWPSETWTIMES, "GKWPSETWTIMES"}, - {GKWPDOWAKEUP, "GKWPDOWAKEUP"}, - {GKWPGETBITTIME, "GKWPGETBITTIME"}, - {GKWPSETBITTIME, "GKWPSETBITTIME"}, - {GKWPSETNODEADDR, "GKWPSETNODEADDR"}, - {GKWPGETNODETYPE, "GKWPGETNODETYPE"}, - {GKWPSETNODETYPE, "GKWPSETNODETYPE"}, - {GKWPSETWAKETYPE, "GKWPSETWAKETYPE"}, - {GKWPSETTARGADDR, "GKWPSETTARGADDR"}, - {GKWPSETKEYBYTES, "GKWPSETKEYBYTES"}, - {GKWPSETSTARTREQ, "GKWPSETSTARTREQ"}, - {GKWPSETSTARTRESP, "GKWPSETSTARTRESP"}, - {GKWPSETPROTOCOL, "GKWPSETPROTOCOL"}, - {GKWPGETLASTKEYBYTES, "GKWPGETLASTKEYBYTES"}, - {GKWPSETLASTKEYBYTES, "GKWPSETLASTKEYBYTES"}, - {GSCPGETBBR, "GSCPGETBBR"}, - {GSCPSETBBR, "GSCPSETBBR"}, - {GSCPGETID, "GSCPGETID"}, - {GSCPSETID, "GSCPSETID"}, - {GSCPADDFUNCID, "GSCPADDFUNCID"}, - {GSCPCLRFUNCID, "GSCPCLRFUNCID"}, - {GUBPGETBITRATE, "GUBPGETBITRATE"}, - {GUBPSETBITRATE, "GUBPSETBITRATE"}, - {GUBPGETINTERBYTE, "GUBPGETINTERBYTE"}, - {GUBPSETINTERBYTE, "GUBPSETINTERBYTE"}, - {GUBPGETNACKMODE, "GUBPGETNACKMODE"}, - {GUBPSETNACKMODE, "GUBPSETNACKMODE"}, - {GUBPGETRETRYDELAY, "GUBPGETRETRYDELAY"}, - {GUBPSETRETRYDELAY, "GUBPSETRETRYDELAY"}, - {GRESETHC08, "GRESETHC08: Reset the HC08 processor"}, - {GTESTHC08COP, "GTESTHC08COP: Stop updating the HC08 watchdog timer"}, - {GSJAGETLISTEN, "GSJAGETLISTEN"}, - {GSJASETLISTEN, "GSJASETLISTEN"}, - {GSJAGETSELFTEST, "GSJAGETSELFTEST"}, - {GSJASETSELFTEST, "GSJASETSELFTEST"}, - {GSJAGETXMITONCE, "GSJAGETXMITONCE"}, - {GSJASETXMITONCE, "GSJASETXMITONCE"}, - {GSJAGETTRIGSTATE, "GSJAGETTRIGSTATE"}, - {GSJASETTRIGCTRL, "GSJASETTRIGCTRL"}, - {GSJAGETTRIGCTRL, "GSJAGETTRIGCTRL"}, - {GSJAGETOUTSTATE, "GSJAGETOUTSTATE"}, - {GSJASETOUTSTATE, "GSJASETOUTSTATE"}, - {GSJAGETFILTER, "GSJAGETFILTER"}, - {GSJASETFILTER, "GSJASETFILTER"}, - {GSJAGETMASK, "GSJAGETMASK"}, - {GSJASETMASK, "GSJASETMASK"}, - {GSJAGETINTTERM, "GSJAGETINTTERM"}, - {GSJASETINTTERM, "GSJASETINTTERM"}, - {GSJAGETFTTRANS, "GSJAGETFTTRANS"}, - {GSJASETFTTRANS, "GSJASETFTTRANS"}, - {GSJAGETFTERROR, "GSJAGETFTERROR"}, - {GLINGETBITRATE, "GLINGETBITRATE: Get the current bit rate"}, - {GLINSETBITRATE, "GLINSETBITRATE: Set the bit rate"}, - {GLINGETBRKSPACE, "GLINGETBRKSPACE"}, - {GLINSETBRKSPACE, "GLINSETBRKSPACE"}, - {GLINGETBRKMARK, "GLINGETBRKMARK"}, - {GLINSETBRKMARK, "GLINSETBRKMARK"}, - {GLINGETIDDELAY, "GLINGETIDDELAY"}, - {GLINSETIDDELAY, "GLINSETIDDELAY"}, - {GLINGETRESPDELAY, "GLINGETRESPDELAY"}, - {GLINSETRESPDELAY, "GLINSETRESPDELAY"}, - {GLINGETINTERBYTE, "GLINGETINTERBYTE"}, - {GLINSETINTERBYTE, "GLINSETINTERBYTE"}, - {GLINGETWAKEUPDELAY, "GLINGETWAKEUPDELAY"}, - {GLINSETWAKEUPDELAY, "GLINSETWAKEUPDELAY"}, - {GLINGETWAKEUPTIMEOUT, "GLINGETWAKEUPTIMEOUT"}, - {GLINSETWAKEUPTIMEOUT, "GLINSETWAKEUPTIMEOUT"}, - {GLINGETWUTIMOUT3BR, "GLINGETWUTIMOUT3BR"}, - {GLINSETWUTIMOUT3BR, "GLINSETWUTIMOUT3BR"}, - {GLINSENDWAKEUP, "GLINSENDWAKEUP"}, - {GLINGETMODE, "GLINGETMODE"}, - {GLINSETMODE, "GLINSETMODE"}, - {GINPGETINP, "GINPGETINP: Read current digital inputs"}, - {GINPGETLATCH, "GINPGETLATCH: Read latched digital inputs"}, - {GINPCLRLATCH, "GINPCLRLATCH: Read and clear latched digital inputs"}, - {GOUTGET, "GOUTGET: Read digital outputs"}, - {GOUTSET, "GOUTSET: Write digital outputs"}, - {GOUTSETBIT, "GOUTSETBIT: Set digital output bits"}, - {GOUTCLEARBIT, "GOUTCLEARBIT"}, - {GPWRGETWHICH, "GPWRGETWHICH"}, - {GPWROFF, "GPWROFF"}, - {GPWROFFRESET, "GPWROFFRESET"}, - {GPWRRESET, "GPWRRESET"}, - - - - {0, NULL}, - }; + {GINIT, "GINIT: Initialize"}, + {GLOOPON, "GLOOPON: Loop on"}, + {GLOOPOFF, "GLOOPOFF: Loop off"}, + {GGETHWTYPE, "GGETHWTYPE: Get hardware type"}, + {GGETREG, "GGETREG: Get register"}, + {GSETREG, "GSETREG: Set register"}, + {GGETRXCOUNT, "GGETRXCOUNT: Get the receive message counter"}, + {GSETRXCOUNT, "GSETRXCOUNT: Set the receive message counter"}, + {GGETTXCOUNT, "GGETTXCOUNT: Get the transmit message counter"}, + {GSETTXCOUNT, "GSETTXCOUNT: Set the transmit message counter"}, + {GGETRXDROP, "GGETRXDROP: Get the number of dropped receive messages"}, + {GSETRXDROP, "GSETRXDROP: Set the number of dropped receive messages"}, + {GGETTXDROP, "GGETTXDROP: Get the number of dropped transmit messages"}, + {GSETTXDROP, "GSETTXDROP: Set the number of dropped transmit messages"}, + {GGETRXBAD, "GGETRXBAD: Get the number of bad receive messages"}, + {GGETTXBAD, "GGETTXBAD: Get the number of bad transmit messages"}, + {GGETCOUNTS, "GGETCOUNTS: Get total message counter"}, + {GGETBLMON, "GGETBLMON: Get bus load monitoring status"}, + {GSETBLMON, "GSETBLMON: Set bus load monitoring status (turn on/off)"}, + {GGETERRLEV, "GGETERRLEV: Get error level"}, + {GSETERRLEV, "GSETERRLEV: Set error level"}, + {GGETBITRATE, "GGETBITRATE: Get bit rate"}, + {GGETRAM, "GGETRAM: Read value from RAM"}, + {GSETRAM, "GSETRAM: Write value to RAM"}, + {GCANGETBTRS, "GCANGETBTRS: Read CAN bit timing registers"}, + {GCANSETBTRS, "GCANSETBTRS: Write CAN bit timing registers"}, + {GCANGETBC, "GCANGETBC: Read CAN bus configuration register"}, + {GCANSETBC, "GCANSETBC: Write CAN bus configuration register"}, + {GCANGETMODE, "GCANGETMODE"}, + {GCANSETMODE, "GCANSETMODE"}, + {GCANGETTRANS, "GCANGETTRANS"}, + {GCANSETTRANS, "GCANSETTRANS"}, + {GCANSENDERR, "GCANSENDERR"}, + {GCANRGETOBJ, "GCANRGETOBJ"}, + {GCANRSETSTDID, "GCANRSETSTDID"}, + {GCANRSETEXTID, "GCANRSETEXTID"}, + {GCANRSETDATA, "GCANRSETDATA"}, + {GCANRENABLE, "GCANRENABLE"}, + {GCANRDISABLE, "GCANRDISABLE"}, + {GCANRGETMASKS, "GCANRGETMASKS"}, + {GCANRSETMASKS, "GCANRSETMASKS"}, + {GCANSWGETMODE, "GCANSWGETMODE"}, + {GCANSWSETMODE, "GCANSWSETMODE"}, + {GDLCGETFOURX, "GDLCGETFOURX"}, + {GDLCSETFOURX, "GDLCSETFOURX"}, + {GDLCGETLOAD, "GDLCGETLOAD"}, + {GDLCSETLOAD, "GDLCSETLOAD"}, + {GDLCSENDBREAK, "GDLCSENDBREAK"}, + {GDLCABORTTX, "GDLCABORTTX"}, + {GDLCGETHDRMODE, "DLCGETHDRMODE"}, + {GDLCSETHDRMODE, "GDLCSETHDRMODE"}, + {GHONSLEEP, "GHONSLEEP"}, + {GHONSILENCE, "GHONSILENCE"}, + {GKWPSETPTIMES, "GKWPSETPTIMES"}, + {GKWPSETWTIMES, "GKWPSETWTIMES"}, + {GKWPDOWAKEUP, "GKWPDOWAKEUP"}, + {GKWPGETBITTIME, "GKWPGETBITTIME"}, + {GKWPSETBITTIME, "GKWPSETBITTIME"}, + {GKWPSETNODEADDR, "GKWPSETNODEADDR"}, + {GKWPGETNODETYPE, "GKWPGETNODETYPE"}, + {GKWPSETNODETYPE, "GKWPSETNODETYPE"}, + {GKWPSETWAKETYPE, "GKWPSETWAKETYPE"}, + {GKWPSETTARGADDR, "GKWPSETTARGADDR"}, + {GKWPSETKEYBYTES, "GKWPSETKEYBYTES"}, + {GKWPSETSTARTREQ, "GKWPSETSTARTREQ"}, + {GKWPSETSTARTRESP, "GKWPSETSTARTRESP"}, + {GKWPSETPROTOCOL, "GKWPSETPROTOCOL"}, + {GKWPGETLASTKEYBYTES, "GKWPGETLASTKEYBYTES"}, + {GKWPSETLASTKEYBYTES, "GKWPSETLASTKEYBYTES"}, + {GSCPGETBBR, "GSCPGETBBR"}, + {GSCPSETBBR, "GSCPSETBBR"}, + {GSCPGETID, "GSCPGETID"}, + {GSCPSETID, "GSCPSETID"}, + {GSCPADDFUNCID, "GSCPADDFUNCID"}, + {GSCPCLRFUNCID, "GSCPCLRFUNCID"}, + {GUBPGETBITRATE, "GUBPGETBITRATE"}, + {GUBPSETBITRATE, "GUBPSETBITRATE"}, + {GUBPGETINTERBYTE, "GUBPGETINTERBYTE"}, + {GUBPSETINTERBYTE, "GUBPSETINTERBYTE"}, + {GUBPGETNACKMODE, "GUBPGETNACKMODE"}, + {GUBPSETNACKMODE, "GUBPSETNACKMODE"}, + {GUBPGETRETRYDELAY, "GUBPGETRETRYDELAY"}, + {GUBPSETRETRYDELAY, "GUBPSETRETRYDELAY"}, + {GRESETHC08, "GRESETHC08: Reset the HC08 processor"}, + {GTESTHC08COP, "GTESTHC08COP: Stop updating the HC08 watchdog timer"}, + {GSJAGETLISTEN, "GSJAGETLISTEN"}, + {GSJASETLISTEN, "GSJASETLISTEN"}, + {GSJAGETSELFTEST, "GSJAGETSELFTEST"}, + {GSJASETSELFTEST, "GSJASETSELFTEST"}, + {GSJAGETXMITONCE, "GSJAGETXMITONCE"}, + {GSJASETXMITONCE, "GSJASETXMITONCE"}, + {GSJAGETTRIGSTATE, "GSJAGETTRIGSTATE"}, + {GSJASETTRIGCTRL, "GSJASETTRIGCTRL"}, + {GSJAGETTRIGCTRL, "GSJAGETTRIGCTRL"}, + {GSJAGETOUTSTATE, "GSJAGETOUTSTATE"}, + {GSJASETOUTSTATE, "GSJASETOUTSTATE"}, + {GSJAGETFILTER, "GSJAGETFILTER"}, + {GSJASETFILTER, "GSJASETFILTER"}, + {GSJAGETMASK, "GSJAGETMASK"}, + {GSJASETMASK, "GSJASETMASK"}, + {GSJAGETINTTERM, "GSJAGETINTTERM"}, + {GSJASETINTTERM, "GSJASETINTTERM"}, + {GSJAGETFTTRANS, "GSJAGETFTTRANS"}, + {GSJASETFTTRANS, "GSJASETFTTRANS"}, + {GSJAGETFTERROR, "GSJAGETFTERROR"}, + {GLINGETBITRATE, "GLINGETBITRATE: Get the current bit rate"}, + {GLINSETBITRATE, "GLINSETBITRATE: Set the bit rate"}, + {GLINGETBRKSPACE, "GLINGETBRKSPACE"}, + {GLINSETBRKSPACE, "GLINSETBRKSPACE"}, + {GLINGETBRKMARK, "GLINGETBRKMARK"}, + {GLINSETBRKMARK, "GLINSETBRKMARK"}, + {GLINGETIDDELAY, "GLINGETIDDELAY"}, + {GLINSETIDDELAY, "GLINSETIDDELAY"}, + {GLINGETRESPDELAY, "GLINGETRESPDELAY"}, + {GLINSETRESPDELAY, "GLINSETRESPDELAY"}, + {GLINGETINTERBYTE, "GLINGETINTERBYTE"}, + {GLINSETINTERBYTE, "GLINSETINTERBYTE"}, + {GLINGETWAKEUPDELAY, "GLINGETWAKEUPDELAY"}, + {GLINSETWAKEUPDELAY, "GLINSETWAKEUPDELAY"}, + {GLINGETWAKEUPTIMEOUT, "GLINGETWAKEUPTIMEOUT"}, + {GLINSETWAKEUPTIMEOUT, "GLINSETWAKEUPTIMEOUT"}, + {GLINGETWUTIMOUT3BR, "GLINGETWUTIMOUT3BR"}, + {GLINSETWUTIMOUT3BR, "GLINSETWUTIMOUT3BR"}, + {GLINSENDWAKEUP, "GLINSENDWAKEUP"}, + {GLINGETMODE, "GLINGETMODE"}, + {GLINSETMODE, "GLINSETMODE"}, + {GINPGETINP, "GINPGETINP: Read current digital inputs"}, + {GINPGETLATCH, "GINPGETLATCH: Read latched digital inputs"}, + {GINPCLRLATCH, "GINPCLRLATCH: Read and clear latched digital inputs"}, + {GOUTGET, "GOUTGET: Read digital outputs"}, + {GOUTSET, "GOUTSET: Write digital outputs"}, + {GOUTSETBIT, "GOUTSETBIT: Set digital output bits"}, + {GOUTCLEARBIT, "GOUTCLEARBIT"}, + {GPWRGETWHICH, "GPWRGETWHICH"}, + {GPWROFF, "GPWROFF"}, + {GPWROFFRESET, "GPWROFFRESET"}, + {GPWRRESET, "GPWRRESET"}, + {0, NULL}, +}; static int decode_command(tvbuff_t *tvb, int offset, int dst, proto_tree *pt) { - int cmd, padding, msglen; + int cmd, padding, msglen; unsigned int i; - proto_tree *ft; - proto_item *ti; - proto_item *hi; + proto_tree *ft; + proto_item *ti; + proto_item *hi; msglen = tvb_reported_length_remaining(tvb, offset); cmd = tvb_get_guint8(tvb, offset); hi = proto_tree_add_uint(pt, hf_gryphon_cmd, tvb, offset, 1, cmd); - PROTO_ITEM_SET_HIDDEN(hi); + PROTO_ITEM_SET_HIDDEN(hi); if (cmd > 0x3F) - cmd += dst * 256; + cmd += dst * 256; for (i = 0; i < SIZEOF(cmds); i++) { - if (cmds[i].value == cmd) - break; + if (cmds[i].value == cmd) + break; } if (i >= SIZEOF(cmds) && dst >= SD_KNOWN) { - cmd = (cmd & 0xFF) + SD_CARD * 256; - for (i = 0; i < SIZEOF(cmds); i++) { - if (cmds[i].value == cmd) - break; - } + cmd = (cmd & 0xFF) + SD_CARD * 256; + for (i = 0; i < SIZEOF(cmds); i++) { + if (cmds[i].value == cmd) + break; + } } if (i >= SIZEOF(cmds)) - i = SIZEOF(cmds) - 1; + i = SIZEOF(cmds) - 1; proto_tree_add_text (pt, tvb, offset, 4, "Command: %s", cmds[i].strptr); offset += 4; msglen -= 4; if (cmds[i].cmd_fnct && msglen > 0) { - padding = 3 - (msglen + 3) % 4; - ti = proto_tree_add_text(pt, tvb, offset, -1, "Data: (%d byte%s)", + padding = 3 - (msglen + 3) % 4; + ti = proto_tree_add_text(pt, tvb, offset, -1, "Data: (%d byte%s)", msglen, msglen == 1 ? "" : "s"); - ft = proto_item_add_subtree(ti, ett_gryphon_command_data); - offset = (*(cmds[i].cmd_fnct)) (tvb, offset, ft); + ft = proto_item_add_subtree(ti, ett_gryphon_command_data); + offset = (*(cmds[i].cmd_fnct)) (tvb, offset, ft); } return offset; } @@ -677,44 +674,44 @@ decode_command(tvbuff_t *tvb, int offset, int dst, proto_tree *pt) static int decode_response(tvbuff_t *tvb, int offset, int src, proto_tree *pt) { - int cmd, msglen; + int cmd, msglen; unsigned int i, resp; - proto_tree *ft; - proto_item *ti; + proto_tree *ft; + proto_item *ti; msglen = tvb_reported_length_remaining(tvb, offset); cmd = tvb_get_guint8(tvb, offset); if (cmd > 0x3F) - cmd += src * 256; + cmd += src * 256; for (i = 0; i < SIZEOF(cmds); i++) { - if (cmds[i].value == cmd) - break; + if (cmds[i].value == cmd) + break; } if (i >= SIZEOF(cmds) && src >= SD_KNOWN) { - cmd = (cmd & 0xFF) + SD_CARD * 256; - for (i = 0; i < SIZEOF(cmds); i++) { - if (cmds[i].value == cmd) - break; - } + cmd = (cmd & 0xFF) + SD_CARD * 256; + for (i = 0; i < SIZEOF(cmds); i++) { + if (cmds[i].value == cmd) + break; + } } if (i >= SIZEOF(cmds)) - i = SIZEOF(cmds) - 1; + i = SIZEOF(cmds) - 1; proto_tree_add_text (pt, tvb, offset, 4, "Command: %s", cmds[i].strptr); offset += 4; msglen -= 4; resp = tvb_get_ntohl (tvb, offset); proto_tree_add_text (pt, tvb, offset, 4, "Status: %s", - val_to_str(resp, responses_vs, "Unknown (0x%08x)")); + val_to_str(resp, responses_vs, "Unknown (0x%08x)")); offset += 4; msglen -= 4; if (cmds[i].rsp_fnct && msglen > 0) { - ti = proto_tree_add_text(pt, tvb, offset, msglen, "Data: (%d byte%s)", + ti = proto_tree_add_text(pt, tvb, offset, msglen, "Data: (%d byte%s)", msglen, msglen == 1 ? "" : "s"); - ft = proto_item_add_subtree(ti, ett_gryphon_response_data); - offset = (*(cmds[i].rsp_fnct)) (tvb, offset, ft); + ft = proto_item_add_subtree(ti, ett_gryphon_response_data); + offset = (*(cmds[i].rsp_fnct)) (tvb, offset, ft); } return offset; } @@ -722,18 +719,18 @@ decode_response(tvbuff_t *tvb, int offset, int src, proto_tree *pt) static int decode_data(tvbuff_t *tvb, int offset, proto_tree *pt) { - proto_item *item, *item1; - proto_tree *tree, *tree1; - int hdrsize, datasize, extrasize, hdrbits, msgsize, padding, mode; - int hours, minutes, seconds, fraction; - unsigned long timestamp; - - hdrsize = tvb_get_guint8(tvb, offset+0); - hdrbits = tvb_get_guint8(tvb, offset+1); - datasize = tvb_get_ntohs(tvb, offset+2); + proto_item *item, *item1; + proto_tree *tree, *tree1; + int hdrsize, datasize, extrasize, hdrbits, msgsize, padding, mode; + int hours, minutes, seconds, fraction; + unsigned long timestamp; + + hdrsize = tvb_get_guint8(tvb, offset+0); + hdrbits = tvb_get_guint8(tvb, offset+1); + datasize = tvb_get_ntohs(tvb, offset+2); extrasize = tvb_get_guint8(tvb, offset+4); - padding = 3 - (hdrsize + datasize + extrasize + 3) % 4; - msgsize = hdrsize + datasize + extrasize + padding + 16; + padding = 3 - (hdrsize + datasize + extrasize + 3) % 4; + msgsize = hdrsize + datasize + extrasize + padding + 16; item = proto_tree_add_text(pt, tvb, offset, 16, "Message header"); tree = proto_item_add_subtree (item, ett_gryphon_data_header); @@ -746,64 +743,64 @@ decode_data(tvbuff_t *tvb, int offset, proto_tree *pt) mode = tvb_get_guint8(tvb, offset+5); item1 = proto_tree_add_text(tree, tvb, offset+5, 1, "Mode: %d", mode); if (mode) { - tree1 = proto_item_add_subtree (item1, ett_gryphon_flags); - if (mode & 0x80) { - proto_tree_add_text(tree1, tvb, offset+5, 1, "%s", - decode_boolean_bitfield(mode, 0x80, 8, - "Transmitted message", NULL)); - } - if (mode & 0x40) { - proto_tree_add_text(tree1, tvb, offset+5, 1, "%s", - decode_boolean_bitfield(mode, 0x40, 8, - "Received message", NULL)); - } - if (mode & 0x20) { - proto_tree_add_text(tree1, tvb, offset+5, 1, "%s", - decode_boolean_bitfield(mode, 0x20, 8, - "Local message", NULL)); - } - if (mode & 0x10) { - proto_tree_add_text(tree1, tvb, offset+5, 1, "%s", - decode_boolean_bitfield(mode, 0x10, 8, - "Remote message", NULL)); - } - if (mode & 0x01) { - proto_tree_add_text(tree1, tvb, offset+5, 1, "%s", - decode_boolean_bitfield(mode, 0x01, 8, - "Internal message", NULL)); - } + tree1 = proto_item_add_subtree (item1, ett_gryphon_flags); + if (mode & 0x80) { + proto_tree_add_text(tree1, tvb, offset+5, 1, "%s", + decode_boolean_bitfield(mode, 0x80, 8, + "Transmitted message", NULL)); + } + if (mode & 0x40) { + proto_tree_add_text(tree1, tvb, offset+5, 1, "%s", + decode_boolean_bitfield(mode, 0x40, 8, + "Received message", NULL)); + } + if (mode & 0x20) { + proto_tree_add_text(tree1, tvb, offset+5, 1, "%s", + decode_boolean_bitfield(mode, 0x20, 8, + "Local message", NULL)); + } + if (mode & 0x10) { + proto_tree_add_text(tree1, tvb, offset+5, 1, "%s", + decode_boolean_bitfield(mode, 0x10, 8, + "Remote message", NULL)); + } + if (mode & 0x01) { + proto_tree_add_text(tree1, tvb, offset+5, 1, "%s", + decode_boolean_bitfield(mode, 0x01, 8, + "Internal message", NULL)); + } } proto_tree_add_text(tree, tvb, offset+6, 1, "Priority: %u", - tvb_get_guint8(tvb, offset+6)); + tvb_get_guint8(tvb, offset+6)); proto_tree_add_text(tree, tvb, offset+7, 1, "Error status: %u", - tvb_get_guint8(tvb, offset+7)); + tvb_get_guint8(tvb, offset+7)); timestamp = tvb_get_ntohl(tvb, offset+8); - hours = timestamp /(100000 * 60 *60); - minutes = (timestamp / (100000 * 60)) % 60; - seconds = (timestamp / 100000) % 60; + hours = timestamp /(100000 * 60 *60); + minutes = (timestamp / (100000 * 60)) % 60; + seconds = (timestamp / 100000) % 60; fraction = timestamp % 100000; proto_tree_add_text(tree, tvb, offset+8, 4, "Timestamp: %d:%02d:%02d.%05d", hours, minutes, seconds, fraction); proto_tree_add_text(tree, tvb, offset+12, 1, "Context: %u", - tvb_get_guint8(tvb, offset+12)); + tvb_get_guint8(tvb, offset+12)); proto_tree_add_text(tree, tvb, offset+13, 3, "reserved:"); offset += 16; item = proto_tree_add_text(pt, tvb, offset, msgsize-16-padding, "Message Body"); tree = proto_item_add_subtree (item, ett_gryphon_data_body); if (hdrsize) { - proto_tree_add_text(tree, tvb, offset, hdrsize, "Header"); - offset += hdrsize; + proto_tree_add_text(tree, tvb, offset, hdrsize, "Header"); + offset += hdrsize; } if (datasize) { - proto_tree_add_text(tree, tvb, offset, datasize, "Data"); - offset += datasize; + proto_tree_add_text(tree, tvb, offset, datasize, "Data"); + offset += datasize; } if (extrasize) { - proto_tree_add_text(tree, tvb, offset, extrasize, "Extra data"); - offset += extrasize; + proto_tree_add_text(tree, tvb, offset, extrasize, "Extra data"); + offset += extrasize; } if (padding) { - proto_tree_add_text(pt, tvb, offset, padding, "padding"); - offset += padding; + proto_tree_add_text(pt, tvb, offset, padding, "padding"); + offset += padding; } return offset; } @@ -811,18 +808,18 @@ decode_data(tvbuff_t *tvb, int offset, proto_tree *pt) static int decode_event(tvbuff_t *tvb, int offset, proto_tree *pt) { - int msglen; - int hours, minutes, seconds, fraction, padding, length; + int msglen; + int hours, minutes, seconds, fraction, padding, length; unsigned long timestamp; - int msgend; + int msgend; msglen = tvb_reported_length_remaining(tvb, offset); padding = 3 - (msglen + 3) % 4; msgend = offset + msglen; proto_tree_add_text(pt, tvb, offset, 1, "Event ID: %u", - tvb_get_guint8(tvb, offset)); + tvb_get_guint8(tvb, offset)); proto_tree_add_text(pt, tvb, offset+1, 1, "Event context: %u", - tvb_get_guint8(tvb, offset+1)); + tvb_get_guint8(tvb, offset+1)); proto_tree_add_text(pt, tvb, offset+2, 2, "reserved"); offset += 4; timestamp = tvb_get_ntohl(tvb, offset); @@ -833,14 +830,14 @@ decode_event(tvbuff_t *tvb, int offset, proto_tree *pt) proto_tree_add_text(pt, tvb, offset, 4, "Timestamp: %d:%02d:%02d.%05d", hours, minutes, seconds, fraction); offset += 4; if (offset < msgend) { - length = msgend - offset; - proto_tree_add_text (pt, tvb, offset, length, "Data (%d byte%s)", + length = msgend - offset; + proto_tree_add_text (pt, tvb, offset, length, "Data (%d byte%s)", length, length == 1 ? "" : "s"); - offset += length; + offset += length; } if (padding) { - proto_tree_add_text(pt, tvb, offset, padding, "padding"); - offset += padding; + proto_tree_add_text(pt, tvb, offset, padding, "padding"); + offset += padding; } return offset; } @@ -849,7 +846,7 @@ static int decode_misc (tvbuff_t *tvb, int offset, proto_tree *pt) { #define LENGTH 120 - int padding, msglen; + int padding, msglen; gint length; unsigned char local_data[LENGTH+1]; @@ -859,8 +856,8 @@ decode_misc (tvbuff_t *tvb, int offset, proto_tree *pt) proto_tree_add_text(pt, tvb, offset, msglen, "Data: %s", local_data); offset += msglen; if (padding) { - proto_tree_add_text (pt, tvb, offset, padding, "padding"); - offset += padding; + proto_tree_add_text (pt, tvb, offset, padding, "padding"); + offset += padding; } return offset; } @@ -868,12 +865,12 @@ decode_misc (tvbuff_t *tvb, int offset, proto_tree *pt) static int cmd_init(tvbuff_t *tvb, int offset, proto_tree *pt) { - const char *ptr; + const char *ptr; if (tvb_get_guint8(tvb, offset) == 0) - ptr = "Always initialize"; + ptr = "Always initialize"; else - ptr = "Initialize if not previously initialized"; + ptr = "Initialize if not previously initialized"; proto_tree_add_text(pt, tvb, offset, 1, "Mode: %s", ptr); proto_tree_add_text(pt, tvb, offset+1, 3, "reserved"); offset += 4; @@ -883,12 +880,12 @@ cmd_init(tvbuff_t *tvb, int offset, proto_tree *pt) static int eventnum(tvbuff_t *tvb, int offset, proto_tree *pt) { - guint8 event = tvb_get_guint8(tvb, offset); + guint8 event = tvb_get_guint8(tvb, offset); if (event) - proto_tree_add_text(pt, tvb, offset, 1, "Event number: %u", event); + proto_tree_add_text(pt, tvb, offset, 1, "Event number: %u", event); else - proto_tree_add_text(pt, tvb, offset, 1, "Event numbers: All"); + proto_tree_add_text(pt, tvb, offset, 1, "Event numbers: All"); proto_tree_add_text(pt, tvb, offset+1, 3, "padding"); offset += 4; return offset; @@ -940,29 +937,29 @@ resp_time(tvbuff_t *tvb, int offset, proto_tree *pt) static int cmd_setfilt(tvbuff_t *tvb, int offset, proto_tree *pt) { - int flag = tvb_get_ntohl(tvb, offset); - int length, padding; + int flag = tvb_get_ntohl(tvb, offset); + int length, padding; char mode[30]; length = tvb_get_guint8(tvb, offset+4) + tvb_get_guint8(tvb, offset+5) - + tvb_get_ntohs(tvb, offset+6); + + tvb_get_ntohs(tvb, offset+6); if (flag) - g_strlcpy (mode, "Pass", 30); + g_strlcpy (mode, "Pass", 30); else - g_strlcpy (mode, "Block", 30); + g_strlcpy (mode, "Block", 30); if (length == 0) - g_strlcat (mode, " all", 30); + g_strlcat (mode, " all", 30); proto_tree_add_text(pt, tvb, offset, 4, "Pass/Block flag: %s", mode); proto_tree_add_text(pt, tvb, offset+4, 4, "Length of Pattern & Mask: %d", length); offset += 8; if (length) { - proto_tree_add_text(pt, tvb, offset, length * 2, "discarded data"); - offset += length * 2; + proto_tree_add_text(pt, tvb, offset, length * 2, "discarded data"); + offset += length * 2; } padding = 3 - (length * 2 + 3) % 4; if (padding) { - proto_tree_add_text(pt, tvb, offset+1, 3, "padding"); - offset += padding; + proto_tree_add_text(pt, tvb, offset+1, 3, "padding"); + offset += padding; } return offset; } @@ -970,18 +967,18 @@ cmd_setfilt(tvbuff_t *tvb, int offset, proto_tree *pt) static int cmd_ioctl(tvbuff_t *tvb, int offset, proto_tree *pt) { - int msglen; - unsigned int ioctl; + int msglen; + unsigned int ioctl; msglen = tvb_reported_length_remaining(tvb, offset); ioctl = tvb_get_ntohl(tvb, offset); proto_tree_add_text(pt, tvb, offset, 4, "IOCTL: %s", - val_to_str(ioctl, ioctls, "Unknown (0x%08x)")); + val_to_str(ioctl, ioctls, "Unknown (0x%08x)")); offset += 4; msglen -= 4; if (msglen > 0) { - proto_tree_add_text(pt, tvb, offset, msglen, "Data"); - offset += msglen; + proto_tree_add_text(pt, tvb, offset, msglen, "Data"); + offset += msglen; } return offset; } @@ -989,32 +986,32 @@ cmd_ioctl(tvbuff_t *tvb, int offset, proto_tree *pt) static int cmd_addfilt(tvbuff_t *tvb, int offset, proto_tree *pt) { - proto_item *item; - proto_tree *tree; - guint8 flags; - int blocks, i, length; + proto_item *item; + proto_tree *tree; + guint8 flags; + int blocks, i, length; item = proto_tree_add_text(pt, tvb, offset, 1, "Flags"); tree = proto_item_add_subtree (item, ett_gryphon_flags); flags = tvb_get_guint8(tvb, offset); proto_tree_add_text(tree, tvb, offset, 1, "%s", - decode_boolean_bitfield(flags, FILTER_PASS_FLAG, 8, - "Conforming messages are passed", - "Conforming messages are blocked")); + decode_boolean_bitfield(flags, FILTER_PASS_FLAG, 8, + "Conforming messages are passed", + "Conforming messages are blocked")); proto_tree_add_text(tree, tvb, offset, 1, "%s", - decode_boolean_bitfield(flags, FILTER_ACTIVE_FLAG, 8, - "The filter is active", "The filter is inactive")); + decode_boolean_bitfield(flags, FILTER_ACTIVE_FLAG, 8, + "The filter is active", "The filter is inactive")); offset += 1; blocks = tvb_get_guint8(tvb, offset); proto_tree_add_text(pt, tvb, offset, 1, "Number of filter blocks = %d", blocks); proto_tree_add_text(pt, tvb, offset+1, 6, "reserved"); offset += 7; for (i = 1; i <= blocks; i++) { - length = tvb_get_ntohs(tvb, offset+2) * 2 + 8; - length += 3 - (length + 3) % 4; - item = proto_tree_add_text(pt, tvb, offset, length, "Filter block %d", i); - tree = proto_item_add_subtree (item, ett_gryphon_cmd_filter_block); - offset = filter_block(tvb, offset, tree); + length = tvb_get_ntohs(tvb, offset+2) * 2 + 8; + length += 3 - (length + 3) % 4; + item = proto_tree_add_text(pt, tvb, offset, length, "Filter block %d", i); + tree = proto_item_add_subtree (item, ett_gryphon_cmd_filter_block); + offset = filter_block(tvb, offset, tree); } return offset; } @@ -1023,7 +1020,7 @@ static int resp_addfilt(tvbuff_t *tvb, int offset, proto_tree *pt) { proto_tree_add_text(pt, tvb, offset, 1, "Filter handle: %u", - tvb_get_guint8(tvb, offset)); + tvb_get_guint8(tvb, offset)); proto_tree_add_text(pt, tvb, offset+1, 3, "reserved"); offset += 4; return offset; @@ -1032,18 +1029,18 @@ resp_addfilt(tvbuff_t *tvb, int offset, proto_tree *pt) static int cmd_modfilt(tvbuff_t *tvb, int offset, proto_tree *pt) { - guint8 filter_handle; + guint8 filter_handle; unsigned char action; filter_handle = tvb_get_guint8(tvb, offset); if (filter_handle) - proto_tree_add_text(pt, tvb, offset, 1, "Filter handle: %u", - filter_handle); + proto_tree_add_text(pt, tvb, offset, 1, "Filter handle: %u", + filter_handle); else - proto_tree_add_text(pt, tvb, offset, 1, "Filter handles: all"); + proto_tree_add_text(pt, tvb, offset, 1, "Filter handles: all"); action = tvb_get_guint8(tvb, offset + 1); proto_tree_add_text(pt, tvb, offset+1, 1, "Action: %s filter", - val_to_str(action, filtacts, "Unknown (%u)")); + val_to_str(action, filtacts, "Unknown (%u)")); proto_tree_add_text(pt, tvb, offset+2, 2, "reserved"); offset += 4; return offset; @@ -1052,17 +1049,17 @@ cmd_modfilt(tvbuff_t *tvb, int offset, proto_tree *pt) static int resp_filthan(tvbuff_t *tvb, int offset, proto_tree *pt) { - int handles = tvb_get_guint8(tvb, offset); - int i, padding; + int handles = tvb_get_guint8(tvb, offset); + int i, padding; proto_tree_add_text(pt, tvb, offset, 1, "Number of filter handles: %d", handles); for (i = 1; i <= handles; i++){ - proto_tree_add_text(pt, tvb, offset+i, 1, "Handle %d: %u", i, - tvb_get_guint8(tvb, offset+i)); + proto_tree_add_text(pt, tvb, offset+i, 1, "Handle %d: %u", i, + tvb_get_guint8(tvb, offset+i)); } padding = 3 - (handles + 1 + 3) % 4; if (padding) - proto_tree_add_text(pt, tvb, offset+1+handles, padding, "padding"); + proto_tree_add_text(pt, tvb, offset+1+handles, padding, "padding"); offset += 1+handles+padding; return offset; } @@ -1074,7 +1071,7 @@ dfiltmode(tvbuff_t *tvb, int offset, proto_tree *pt) mode = tvb_get_guint8(tvb, offset); proto_tree_add_text(pt, tvb, offset, 1, "Filter mode: %s", - val_to_str(mode, dmodes, "Unknown (%u)")); + val_to_str(mode, dmodes, "Unknown (%u)")); proto_tree_add_text(pt, tvb, offset+1, 3, "reserved"); offset += 4; return offset; @@ -1087,7 +1084,7 @@ filtmode(tvbuff_t *tvb, int offset, proto_tree *pt) mode = tvb_get_guint8(tvb, offset); proto_tree_add_text(pt, tvb, offset, 1, "Filter mode: %s", - val_to_str(mode, modes, "Unknown (%u)")); + val_to_str(mode, modes, "Unknown (%u)")); proto_tree_add_text(pt, tvb, offset+1, 3, "reserved"); offset += 4; return offset; @@ -1096,23 +1093,23 @@ filtmode(tvbuff_t *tvb, int offset, proto_tree *pt) static int resp_events(tvbuff_t *tvb, int offset, proto_tree *pt) { - int msglen; + int msglen; unsigned int i; - proto_tree *tree; - proto_item *item; + proto_tree *tree; + proto_item *item; msglen = tvb_reported_length_remaining(tvb, offset); i = 1; while (msglen != 0) { - item = proto_tree_add_text(pt, tvb, offset, 20, "Event %d:", i); - tree = proto_item_add_subtree (item, ett_gryphon_cmd_events_data); - proto_tree_add_text(tree, tvb, offset, 1, "Event ID: %u", - tvb_get_guint8(tvb, offset)); - proto_tree_add_text(tree, tvb, offset+1, 19, "Event name: %.19s", - tvb_get_ephemeral_string(tvb, offset+1, 19)); - offset += 20; - msglen -= 20; - i++; + item = proto_tree_add_text(pt, tvb, offset, 20, "Event %d:", i); + tree = proto_item_add_subtree (item, ett_gryphon_cmd_events_data); + proto_tree_add_text(tree, tvb, offset, 1, "Event ID: %u", + tvb_get_guint8(tvb, offset)); + proto_tree_add_text(tree, tvb, offset+1, 19, "Event name: %.19s", + tvb_get_ephemeral_string(tvb, offset+1, 19)); + offset += 20; + msglen -= 20; + i++; } return offset; } @@ -1121,10 +1118,10 @@ static int cmd_register(tvbuff_t *tvb, int offset, proto_tree *pt) { proto_tree_add_text(pt, tvb, offset, 16, "Username: %.16s", - tvb_get_ephemeral_string(tvb, offset, 16)); + tvb_get_ephemeral_string(tvb, offset, 16)); offset += 16; proto_tree_add_text(pt, tvb, offset, 32, "Password: %.32s", - tvb_get_ephemeral_string(tvb, offset, 32)); + tvb_get_ephemeral_string(tvb, offset, 32)); offset += 32; return offset; } @@ -1133,9 +1130,9 @@ static int resp_register(tvbuff_t *tvb, int offset, proto_tree *pt) { proto_tree_add_text(pt, tvb, offset, 1, "Client ID: %u", - tvb_get_guint8(tvb, offset)); + tvb_get_guint8(tvb, offset)); proto_tree_add_text(pt, tvb, offset+1, 1, "Privileges: %u", - tvb_get_guint8(tvb, offset+1)); + tvb_get_guint8(tvb, offset+1)); proto_tree_add_text(pt, tvb, offset+2, 2, "reserved"); offset += 4; return offset; @@ -1159,9 +1156,9 @@ resp_getspeeds(tvbuff_t *tvb, int offset, proto_tree *pt) number == 1 ? "is" : "are", number, number == 1 ? "" : "s"); offset += 10; for (index = 0; index < number; index++) { - proto_tree_add_text(pt, tvb, offset, size, "Data for preset %d", - index+1); - offset += size; + proto_tree_add_text(pt, tvb, offset, size, "Data for preset %d", + index+1); + offset += size; } return offset; } @@ -1169,11 +1166,11 @@ resp_getspeeds(tvbuff_t *tvb, int offset, proto_tree *pt) static int cmd_sort(tvbuff_t *tvb, int offset, proto_tree *pt) { - const char *which; + const char *which; which = tvb_get_guint8(tvb, offset) ? - "Sort into blocks of up to 16 messages" : - "Do not sort messages"; + "Sort into blocks of up to 16 messages" : + "Do not sort messages"; proto_tree_add_text(pt, tvb, offset, 1, "Set sorting: %s", which); offset += 1; return offset; @@ -1182,11 +1179,11 @@ cmd_sort(tvbuff_t *tvb, int offset, proto_tree *pt) static int cmd_optimize(tvbuff_t *tvb, int offset, proto_tree *pt) { - const char *which; + const char *which; which = tvb_get_guint8(tvb, offset) ? - "Optimize for latency (Nagle algorithm disabled)" : - "Optimize for throughput (Nagle algorithm enabled)"; + "Optimize for latency (Nagle algorithm disabled)" : + "Optimize for throughput (Nagle algorithm enabled)"; proto_tree_add_text(pt, tvb, offset, 1, "Set optimization: %s", which); offset += 1; return offset; @@ -1195,69 +1192,69 @@ cmd_optimize(tvbuff_t *tvb, int offset, proto_tree *pt) static int resp_config(tvbuff_t *tvb, int offset, proto_tree *pt) { - proto_item *ti, *item; - proto_tree *ft, *tree; - int devices; - int i; + proto_item *ti, *item; + proto_tree *ft, *tree; + int devices; + int i; unsigned int j, x; static const value_string protocol_types[] = { - {GDUMMY * 256 + GDGDMARKONE, "Dummy device driver"}, - {GCAN * 256 + G82527, "CAN, 82527 subtype"}, - {GCAN * 256 + GSJA1000, "CAN, SJA1000 subtype"}, - {GCAN * 256 + G82527SW, "CAN, 82527 single wire subtype"}, - {GCAN * 256 + G82527ISO11992, "CAN, 82527 ISO11992 subtype"}, - {GCAN * 256 + G82527_SINGLECHAN, "CAN, Fiber Optic 82527 subtype"}, - {GCAN * 256 + G82527SW_SINGLECHAN, "CAN, Fiber Optic 82527 single wire subtype"}, - {GCAN * 256 + G82527ISO11992_SINGLECHAN, "CAN, Fiber Optic ISO11992 subtype"}, - {GCAN * 256 + GSJA1000FT, "CAN, SJA1000 Fault Tolerant subtype"}, - {GCAN * 256 + GSJA1000C, "CAN, SJA1000 onboard subtype"}, - {GCAN * 256 + GSJA1000FT_FO, "CAN, SJA1000 Fiber Optic Fault Tolerant subtype"}, - {GJ1850 * 256 + GHBCCPAIR, "J1850, HBCC subtype"}, - {GJ1850 * 256 + GDLC, "J1850, GM DLC subtype"}, - {GJ1850 * 256 + GCHRYSLER, "J1850, Chrysler subtype"}, - {GJ1850 * 256 + GDEHC12, "J1850, DE HC12 KWP/BDLC subtype"}, - {GKWP2000 * 256 + GDEHC12KWP, "Keyword protocol 2000/ISO 9141"}, - {GHONDA * 256 + GDGHC08, "Honda UART, DG HC08 subtype"}, - {GFORDUBP * 256 + GDGUBP08, "Ford UBP, DG HC08 subtype"}, - {GSCI * 256 + G16550SCI, "Chrysler SCI, UART subtype"}, - {GCCD * 256 + G16550CDP68HC68, "Chrysler C2D, UART / CDP68HC68S1 subtype"}, - {GLIN * 256 + GDGLIN08, "LIN, DG HC08 subtype"}, - {0, NULL}, + {GDUMMY * 256 + GDGDMARKONE, "Dummy device driver"}, + {GCAN * 256 + G82527, "CAN, 82527 subtype"}, + {GCAN * 256 + GSJA1000, "CAN, SJA1000 subtype"}, + {GCAN * 256 + G82527SW, "CAN, 82527 single wire subtype"}, + {GCAN * 256 + G82527ISO11992, "CAN, 82527 ISO11992 subtype"}, + {GCAN * 256 + G82527_SINGLECHAN, "CAN, Fiber Optic 82527 subtype"}, + {GCAN * 256 + G82527SW_SINGLECHAN, "CAN, Fiber Optic 82527 single wire subtype"}, + {GCAN * 256 + G82527ISO11992_SINGLECHAN, "CAN, Fiber Optic ISO11992 subtype"}, + {GCAN * 256 + GSJA1000FT, "CAN, SJA1000 Fault Tolerant subtype"}, + {GCAN * 256 + GSJA1000C, "CAN, SJA1000 onboard subtype"}, + {GCAN * 256 + GSJA1000FT_FO, "CAN, SJA1000 Fiber Optic Fault Tolerant subtype"}, + {GJ1850 * 256 + GHBCCPAIR, "J1850, HBCC subtype"}, + {GJ1850 * 256 + GDLC, "J1850, GM DLC subtype"}, + {GJ1850 * 256 + GCHRYSLER, "J1850, Chrysler subtype"}, + {GJ1850 * 256 + GDEHC12, "J1850, DE HC12 KWP/BDLC subtype"}, + {GKWP2000 * 256 + GDEHC12KWP, "Keyword protocol 2000/ISO 9141"}, + {GHONDA * 256 + GDGHC08, "Honda UART, DG HC08 subtype"}, + {GFORDUBP * 256 + GDGUBP08, "Ford UBP, DG HC08 subtype"}, + {GSCI * 256 + G16550SCI, "Chrysler SCI, UART subtype"}, + {GCCD * 256 + G16550CDP68HC68, "Chrysler C2D, UART / CDP68HC68S1 subtype"}, + {GLIN * 256 + GDGLIN08, "LIN, DG HC08 subtype"}, + {0, NULL}, }; proto_tree_add_text(pt, tvb, offset, 20, "Device name: %.20s", - tvb_get_ephemeral_string(tvb, offset, 20)); + tvb_get_ephemeral_string(tvb, offset, 20)); offset += 20; proto_tree_add_text(pt, tvb, offset, 8, "Device version: %.8s", - tvb_get_ephemeral_string(tvb, offset, 8)); + tvb_get_ephemeral_string(tvb, offset, 8)); offset += 8; proto_tree_add_text(pt, tvb, offset, 20, "Device serial number: %.20s", - tvb_get_ephemeral_string(tvb, offset, 20)); + tvb_get_ephemeral_string(tvb, offset, 20)); offset += 20; devices = tvb_get_guint8(tvb, offset); proto_tree_add_text(pt, tvb, offset, 1, "Number of channels: %d", devices); proto_tree_add_text(pt, tvb, offset+1, 11, "Name & version extension: %.11s", - tvb_get_ephemeral_string(tvb, offset+1, 11)); + tvb_get_ephemeral_string(tvb, offset+1, 11)); proto_tree_add_text(pt, tvb, offset+12, 4, "reserved"); offset += 16; for (i = 1; i <= devices; i++) { - ti = proto_tree_add_text(pt, tvb, offset, 80, "Channel %d:", i); - ft = proto_item_add_subtree(ti, ett_gryphon_cmd_config_device); - proto_tree_add_text(ft, tvb, offset, 20, "Driver name: %.20s", - tvb_get_ephemeral_string(tvb, offset, 20)); - offset += 20; + ti = proto_tree_add_text(pt, tvb, offset, 80, "Channel %d:", i); + ft = proto_item_add_subtree(ti, ett_gryphon_cmd_config_device); + proto_tree_add_text(ft, tvb, offset, 20, "Driver name: %.20s", + tvb_get_ephemeral_string(tvb, offset, 20)); + offset += 20; - proto_tree_add_text(ft, tvb, offset, 8, "Driver version: %.8s", - tvb_get_ephemeral_string(tvb, offset, 8)); - offset += 8; + proto_tree_add_text(ft, tvb, offset, 8, "Driver version: %.8s", + tvb_get_ephemeral_string(tvb, offset, 8)); + offset += 8; - proto_tree_add_text(ft, tvb, offset, 16, "Device security string: %.16s", - tvb_get_ephemeral_string(tvb, offset, 16)); - offset += 16; + proto_tree_add_text(ft, tvb, offset, 16, "Device security string: %.16s", + tvb_get_ephemeral_string(tvb, offset, 16)); + offset += 16; x = tvb_get_ntohl (tvb, offset); if (x) { @@ -1265,49 +1262,49 @@ resp_config(tvbuff_t *tvb, int offset, proto_tree *pt) tree = proto_item_add_subtree (item, ett_gryphon_valid_headers); for (j = 0; ; j++) { if (x & 1) { - proto_tree_add_text(tree, tvb, offset, 4, "%d byte%s", j, + proto_tree_add_text(tree, tvb, offset, 4, "%d byte%s", j, j == 1 ? "" : "s"); } if ((x >>= 1) == 0) break; } } - offset += 4; + offset += 4; x = tvb_get_ntohs (tvb, offset); - proto_tree_add_text(ft, tvb, offset, 2, "Maximum data length = %d byte%s", + proto_tree_add_text(ft, tvb, offset, 2, "Maximum data length = %d byte%s", x, x == 1 ? "" : "s"); - offset += 2; + offset += 2; x = tvb_get_ntohs (tvb, offset); - proto_tree_add_text(ft, tvb, offset, 2, "Minimum data length = %d byte%s", + proto_tree_add_text(ft, tvb, offset, 2, "Minimum data length = %d byte%s", x, x == 1 ? "" : "s"); - offset += 2; + offset += 2; - proto_tree_add_text(ft, tvb, offset, 20, "Hardware serial number: %.20s", - tvb_get_ephemeral_string(tvb, offset, 20)); - offset += 20; + proto_tree_add_text(ft, tvb, offset, 20, "Hardware serial number: %.20s", + tvb_get_ephemeral_string(tvb, offset, 20)); + offset += 20; - x = tvb_get_ntohs(tvb, offset); - proto_tree_add_text(ft, tvb, offset, 2, "Protocol type & subtype: %s", - val_to_str(x, protocol_types, "Unknown (0x%04x)")); - offset += 2; + x = tvb_get_ntohs(tvb, offset); + proto_tree_add_text(ft, tvb, offset, 2, "Protocol type & subtype: %s", + val_to_str(x, protocol_types, "Unknown (0x%04x)")); + offset += 2; - proto_tree_add_text(ft, tvb, offset, 1, "Channel ID: %u", - tvb_get_guint8(tvb, offset)); + proto_tree_add_text(ft, tvb, offset, 1, "Channel ID: %u", + tvb_get_guint8(tvb, offset)); offset++; - proto_tree_add_text(ft, tvb, offset, 1, "Card slot number: %u", - tvb_get_guint8(tvb, offset)); + proto_tree_add_text(ft, tvb, offset, 1, "Card slot number: %u", + tvb_get_guint8(tvb, offset)); offset ++; x = tvb_get_ntohs (tvb, offset); - proto_tree_add_text(ft, tvb, offset, 2, "Maximum extra data = %d byte%s", + proto_tree_add_text(ft, tvb, offset, 2, "Maximum extra data = %d byte%s", x, x == 1 ? "" : "s"); offset += 2; x = tvb_get_ntohs (tvb, offset); - proto_tree_add_text(ft, tvb, offset, 2, "Minimum extra data = %d byte%s", + proto_tree_add_text(ft, tvb, offset, 2, "Minimum extra data = %d byte%s", x, x == 1 ? "" : "s"); offset += 2; @@ -1318,72 +1315,72 @@ resp_config(tvbuff_t *tvb, int offset, proto_tree *pt) static int cmd_sched(tvbuff_t *tvb, int offset, proto_tree *pt) { - int msglen; - proto_item *item, *item1; - proto_tree *tree, *tree1; - int save_offset; + int msglen; + proto_item *item, *item1; + proto_tree *tree, *tree1; + int save_offset; unsigned int i, x, length; unsigned char def_chan = tvb_get_guint8(tvb, offset-9); msglen = tvb_reported_length_remaining(tvb, offset); x = tvb_get_ntohl(tvb, offset); if (x == 0xFFFFFFFF) - proto_tree_add_text(pt, tvb, offset, 4, "Number of iterations: \"infinite\""); + proto_tree_add_text(pt, tvb, offset, 4, "Number of iterations: \"infinite\""); else - proto_tree_add_text(pt, tvb, offset, 4, "Number of iterations: %u", x); + proto_tree_add_text(pt, tvb, offset, 4, "Number of iterations: %u", x); offset += 4; msglen -= 4; x = tvb_get_ntohl(tvb, offset); item = proto_tree_add_text(pt, tvb, offset, 4, "Flags: 0x%08x", x); tree = proto_item_add_subtree (item, ett_gryphon_flags); proto_tree_add_text(tree, tvb, offset, 4, "%s", - decode_boolean_bitfield(x, 0x01, 32, - "Critical scheduler", "Normal scheduler")); + decode_boolean_bitfield(x, 0x01, 32, + "Critical scheduler", "Normal scheduler")); offset += 4; msglen -= 4; i = 1; while (msglen > 0) { - length = 16 + tvb_get_guint8(tvb, offset+16) + - tvb_get_ntohs(tvb, offset+18) + tvb_get_guint8(tvb, offset+20) + 16; - length += 3 - (length + 3) % 4; - item = proto_tree_add_text(pt, tvb, offset, length, "Message %d", i); - tree = proto_item_add_subtree (item, ett_gryphon_cmd_sched_data); - x = tvb_get_ntohl(tvb, offset); - proto_tree_add_text(tree, tvb, offset, 4, "Sleep: %u milliseconds", x); - offset += 4; - msglen -= 4; - x = tvb_get_ntohl(tvb, offset); - proto_tree_add_text(tree, tvb, offset, 4, "Transmit count: %u", x); - offset += 4; - msglen -= 4; - x = tvb_get_ntohl(tvb, offset); - proto_tree_add_text(tree, tvb, offset, 4, "Transmit period: %u milliseconds", x); - offset += 4; - msglen -= 4; + length = 16 + tvb_get_guint8(tvb, offset+16) + + tvb_get_ntohs(tvb, offset+18) + tvb_get_guint8(tvb, offset+20) + 16; + length += 3 - (length + 3) % 4; + item = proto_tree_add_text(pt, tvb, offset, length, "Message %d", i); + tree = proto_item_add_subtree (item, ett_gryphon_cmd_sched_data); + x = tvb_get_ntohl(tvb, offset); + proto_tree_add_text(tree, tvb, offset, 4, "Sleep: %u milliseconds", x); + offset += 4; + msglen -= 4; + x = tvb_get_ntohl(tvb, offset); + proto_tree_add_text(tree, tvb, offset, 4, "Transmit count: %u", x); + offset += 4; + msglen -= 4; + x = tvb_get_ntohl(tvb, offset); + proto_tree_add_text(tree, tvb, offset, 4, "Transmit period: %u milliseconds", x); + offset += 4; + msglen -= 4; x = tvb_get_ntohs(tvb, offset); - item1 = proto_tree_add_text(tree, tvb, offset, 2, "Flags"); + item1 = proto_tree_add_text(tree, tvb, offset, 2, "Flags"); tree1 = proto_item_add_subtree (item1, ett_gryphon_flags); proto_tree_add_text(tree1, tvb, offset, 2, "%s%s", - decode_boolean_bitfield(x, 1, 16, "S", "Do not s"), + decode_boolean_bitfield(x, 1, 16, "S", "Do not s"), "kip the last \"Transmit period\""); if (i == 1) { proto_tree_add_text(tree1, tvb, offset, 2, "%s%s", - decode_boolean_bitfield(x, 2, 16, "S", "Do not s"), + decode_boolean_bitfield(x, 2, 16, "S", "Do not s"), "kip the first \"Sleep\" value"); } - x = tvb_get_guint8(tvb, offset+2); - if (x == 0) - x = def_chan; - proto_tree_add_text(tree, tvb, offset+2, 1, "Channel: %u", x); - proto_tree_add_text(tree, tvb, offset+3, 1, "reserved"); - offset += 4; - msglen -= 4; - item1 = proto_tree_add_text(tree, tvb, offset, length, "Message"); - tree1 = proto_item_add_subtree (item1, ett_gryphon_cmd_sched_cmd); - save_offset = offset; - offset = decode_data(tvb, offset, tree1); - msglen -= offset - save_offset; - i++; + x = tvb_get_guint8(tvb, offset+2); + if (x == 0) + x = def_chan; + proto_tree_add_text(tree, tvb, offset+2, 1, "Channel: %u", x); + proto_tree_add_text(tree, tvb, offset+3, 1, "reserved"); + offset += 4; + msglen -= 4; + item1 = proto_tree_add_text(tree, tvb, offset, length, "Message"); + tree1 = proto_item_add_subtree (item1, ett_gryphon_cmd_sched_cmd); + save_offset = offset; + offset = decode_data(tvb, offset, tree1); + msglen -= offset - save_offset; + i++; } return offset; } @@ -1391,8 +1388,8 @@ cmd_sched(tvbuff_t *tvb, int offset, proto_tree *pt) static int cmd_sched_rep(tvbuff_t *tvb, int offset, proto_tree *pt) { - int msglen; - int save_offset; + int msglen; + int save_offset; unsigned int x; const char *type; @@ -1423,10 +1420,10 @@ resp_blm_data(tvbuff_t *tvb, int offset, proto_tree *pt) int hours, minutes, seconds, fraction, x, fract; unsigned long timestamp; static const char *fields[] = { - "Bus load average: %d.%02d%%", - "Current bus load: %d.%02d%%", - "Peak bus load: %d.%02d%%", - "Historic peak bus load: %d.%02d%%" + "Bus load average: %d.%02d%%", + "Current bus load: %d.%02d%%", + "Peak bus load: %d.%02d%%", + "Historic peak bus load: %d.%02d%%" }; timestamp = tvb_get_ntohl(tvb, offset); @@ -1437,11 +1434,11 @@ resp_blm_data(tvbuff_t *tvb, int offset, proto_tree *pt) proto_tree_add_text(pt, tvb, offset, 4, "Timestamp: %d:%02d:%02d.%05d", hours, minutes, seconds, fraction); offset += 4; for (i = 0; i < SIZEOF(fields); i++){ - x = tvb_get_ntohs(tvb, offset); - fract = x % 100; - x /= 100; - proto_tree_add_text(pt, tvb, offset, 2, fields[i], x, fract); - offset += 2; + x = tvb_get_ntohs(tvb, offset); + fract = x % 100; + x /= 100; + proto_tree_add_text(pt, tvb, offset, 2, fields[i], x, fract); + offset += 2; } return offset; } @@ -1450,66 +1447,70 @@ static int resp_blm_stat(tvbuff_t *tvb, int offset, proto_tree *pt) { unsigned int x, i; - const char *fields[] = { - "Receive frame count: %u", - "Transmit frame count: %u", - "Receive dropped frame count: %u", - "Transmit dropped frame count: %u", - "Receive error count: %u", - "Transmit error count: %u", + const char *fields[] = { + "Receive frame count: %u", + "Transmit frame count: %u", + "Receive dropped frame count: %u", + "Transmit dropped frame count: %u", + "Receive error count: %u", + "Transmit error count: %u", }; offset = resp_blm_data(tvb, offset, pt); for (i = 0; i < SIZEOF(fields); i++){ - x = tvb_get_ntohl(tvb, offset); - proto_tree_add_text(pt, tvb, offset, 4, fields[i], x); - offset += 4; + x = tvb_get_ntohl(tvb, offset); + proto_tree_add_text(pt, tvb, offset, 4, fields[i], x); + offset += 4; } return offset; } static const value_string action_vals[] = { - { FR_RESP_AFTER_EVENT, "Send response(s) for each conforming message" }, - { FR_RESP_AFTER_PERIOD, "Send response(s) after the specified period expires following a conforming message" }, - { FR_IGNORE_DURING_PER, "Send response(s) for a conforming message and ignore\nfurther messages until the specified period expires" }, - { 0, NULL } + { FR_RESP_AFTER_EVENT, + "Send response(s) for each conforming message" }, + { FR_RESP_AFTER_PERIOD, + "Send response(s) after the specified period expires following a conforming message" }, + { FR_IGNORE_DURING_PER, + "Send response(s) for a conforming message and ignore\nfurther messages until the specified period expires" }, + { 0, + NULL } }; static const value_string deact_on_event_vals[] = { { FR_DEACT_ON_EVENT, - "Deactivate this response for a conforming message" }, + "Deactivate this response for a conforming message" }, { FR_DELETE|FR_DEACT_ON_EVENT, - "Delete this response for a conforming message" }, + "Delete this response for a conforming message" }, { 0, - NULL } + NULL } }; static const value_string deact_after_per_vals[] = { { FR_DEACT_AFTER_PER, - "Deactivate this response after the specified period following a conforming message" }, + "Deactivate this response after the specified period following a conforming message" }, { FR_DELETE|FR_DEACT_AFTER_PER, - "Delete this response after the specified period following a conforming message" }, + "Delete this response after the specified period following a conforming message" }, { 0, - NULL } + NULL } }; static int cmd_addresp(tvbuff_t *tvb, int offset, proto_tree *pt) { - proto_item *item; - proto_tree *tree; - guint8 flags; - int blocks, responses, old_handle, i, msglen, length; - int action, actionType, actionValue; - tvbuff_t *next_tvb; + proto_item *item; + proto_tree *tree; + guint8 flags; + int blocks, responses, old_handle, i, msglen, length; + int action, actionType, actionValue; + tvbuff_t *next_tvb; actionType = 0; flags = tvb_get_guint8(tvb, offset); item = proto_tree_add_text(pt, tvb, offset, 1, "Flags: 0x%02x", flags); tree = proto_item_add_subtree (item, ett_gryphon_flags); proto_tree_add_text(tree, tvb, offset, 1, "%s", - decode_boolean_bitfield(flags, FILTER_ACTIVE_FLAG, 8, - "The response is active", "The response is inactive")); + decode_boolean_bitfield(flags, FILTER_ACTIVE_FLAG, 8, + "The response is active", "The response is inactive")); offset += 1; blocks = tvb_get_guint8(tvb, offset); proto_tree_add_text(pt, tvb, offset, 1, "Number of filter blocks = %d", blocks); @@ -1522,57 +1523,57 @@ cmd_addresp(tvbuff_t *tvb, int offset, proto_tree *pt) offset += 1; action = tvb_get_guint8(tvb, offset); item = proto_tree_add_text(pt, tvb, offset, 1, "Action: %s", - val_to_str(action & 0x07, action_vals, "Unknown (%u)")); + val_to_str(action & 0x07, action_vals, "Unknown (%u)")); tree = proto_item_add_subtree (item, ett_gryphon_flags); proto_tree_add_text(tree, tvb, offset, 1, "%s", - decode_enumerated_bitfield(action, 0x07, 8, action_vals, "%s")); + decode_enumerated_bitfield(action, 0x07, 8, action_vals, "%s")); actionValue = tvb_get_ntohs(tvb, offset+2); if (actionValue) { - if (action & FR_PERIOD_MSGS) { - actionType = 1; - } else { - actionType = 0; - } - proto_tree_add_text(tree, tvb, offset, 1, "%s", - decode_boolean_bitfield(action, FR_PERIOD_MSGS, 8, - "The period is in frames", "The period is in 0.01 seconds")); + if (action & FR_PERIOD_MSGS) { + actionType = 1; + } else { + actionType = 0; + } + proto_tree_add_text(tree, tvb, offset, 1, "%s", + decode_boolean_bitfield(action, FR_PERIOD_MSGS, 8, + "The period is in frames", "The period is in 0.01 seconds")); } if (action & FR_DEACT_ON_EVENT) { - proto_tree_add_text(tree, tvb, offset, 1, "%s", - decode_enumerated_bitfield(action, FR_DELETE|FR_DEACT_ON_EVENT, 8, - deact_on_event_vals, "%s")); + proto_tree_add_text(tree, tvb, offset, 1, "%s", + decode_enumerated_bitfield(action, FR_DELETE|FR_DEACT_ON_EVENT, 8, + deact_on_event_vals, "%s")); } if (action & FR_DEACT_AFTER_PER) { - proto_tree_add_text(tree, tvb, offset, 1, "%s", - decode_enumerated_bitfield(action, FR_DELETE|FR_DEACT_AFTER_PER, 8, - deact_after_per_vals, "%s")); + proto_tree_add_text(tree, tvb, offset, 1, "%s", + decode_enumerated_bitfield(action, FR_DELETE|FR_DEACT_AFTER_PER, 8, + deact_after_per_vals, "%s")); } offset += 1; proto_tree_add_text(pt, tvb, offset, 1, "reserved"); offset += 1; if (actionValue) { - if (actionType == 1) { - proto_tree_add_text(tree, tvb, offset, 2, "Period: %d messages", actionValue); - } else { - proto_tree_add_text(tree, tvb, offset, 2, "Period: %d.%02d seconds", actionValue/100, actionValue%100); - } + if (actionType == 1) { + proto_tree_add_text(tree, tvb, offset, 2, "Period: %d messages", actionValue); + } else { + proto_tree_add_text(tree, tvb, offset, 2, "Period: %d.%02d seconds", actionValue/100, actionValue%100); + } } offset += 2; for (i = 1; i <= blocks; i++) { - length = tvb_get_ntohs(tvb, offset+2) * 2 + 8; - length += 3 - (length + 3) % 4; - item = proto_tree_add_text(pt, tvb, offset, length, "Filter block %d", i); - tree = proto_item_add_subtree (item, ett_gryphon_cmd_filter_block); - offset = filter_block(tvb, offset, tree); + length = tvb_get_ntohs(tvb, offset+2) * 2 + 8; + length += 3 - (length + 3) % 4; + item = proto_tree_add_text(pt, tvb, offset, length, "Filter block %d", i); + tree = proto_item_add_subtree (item, ett_gryphon_cmd_filter_block); + offset = filter_block(tvb, offset, tree); } for (i = 1; i <= responses; i++) { - msglen = tvb_get_ntohs(tvb, offset+4) + 8; - length = msglen + 3 - (msglen + 3) % 4; - item = proto_tree_add_text(pt, tvb, offset, length, "Response block %d", i); - tree = proto_item_add_subtree (item, ett_gryphon_cmd_response_block); - next_tvb = tvb_new_subset(tvb, offset, msglen, msglen); - dissect_gryphon_message(next_tvb, NULL, tree, TRUE); - offset += length; + msglen = tvb_get_ntohs(tvb, offset+4) + 8; + length = msglen + 3 - (msglen + 3) % 4; + item = proto_tree_add_text(pt, tvb, offset, length, "Response block %d", i); + tree = proto_item_add_subtree (item, ett_gryphon_cmd_response_block); + next_tvb = tvb_new_subset(tvb, offset, msglen, msglen); + dissect_gryphon_message(next_tvb, NULL, tree, TRUE); + offset += length; } return offset; } @@ -1581,7 +1582,7 @@ static int resp_addresp(tvbuff_t *tvb, int offset, proto_tree *pt) { proto_tree_add_text(pt, tvb, offset, 1, "Response handle: %u", - tvb_get_guint8(tvb, offset)); + tvb_get_guint8(tvb, offset)); proto_tree_add_text(pt, tvb, offset+1, 3, "reserved"); offset += 4; return offset; @@ -1592,19 +1593,19 @@ cmd_modresp(tvbuff_t *tvb, int offset, proto_tree *pt) { unsigned char action; unsigned char dest = tvb_get_guint8(tvb, offset-5); - guint8 resp_handle; + guint8 resp_handle; resp_handle = tvb_get_guint8(tvb, offset); if (resp_handle) - proto_tree_add_text(pt, tvb, offset, 1, "Response handle: %u", - resp_handle); + proto_tree_add_text(pt, tvb, offset, 1, "Response handle: %u", + resp_handle); else if (dest) - proto_tree_add_text(pt, tvb, offset, 1, "Response handles: all on channel %c", dest); + proto_tree_add_text(pt, tvb, offset, 1, "Response handles: all on channel %c", dest); else - proto_tree_add_text(pt, tvb, offset, 1, "Response handles: all"); + proto_tree_add_text(pt, tvb, offset, 1, "Response handles: all"); action = tvb_get_guint8(tvb, offset+1); proto_tree_add_text(pt, tvb, offset+1, 1, "Action: %s response", - val_to_str(action, filtacts, "Unknown (%u)")); + val_to_str(action, filtacts, "Unknown (%u)")); proto_tree_add_text(pt, tvb, offset+2, 2, "reserved"); offset += 4; return offset; @@ -1613,17 +1614,17 @@ cmd_modresp(tvbuff_t *tvb, int offset, proto_tree *pt) static int resp_resphan(tvbuff_t *tvb, int offset, proto_tree *pt) { - int handles = tvb_get_guint8(tvb, offset); - int i, padding; + int handles = tvb_get_guint8(tvb, offset); + int i, padding; proto_tree_add_text(pt, tvb, offset, 1, "Number of response handles: %d", handles); for (i = 1; i <= handles; i++){ - proto_tree_add_text(pt, tvb, offset+i, 1, "Handle %d: %u", i, - tvb_get_guint8(tvb, offset+i)); + proto_tree_add_text(pt, tvb, offset+i, 1, "Handle %d: %u", i, + tvb_get_guint8(tvb, offset+i)); } padding = 3 - (handles + 1 + 3) % 4; if (padding) - proto_tree_add_text(pt, tvb, offset+1+handles, padding, "padding"); + proto_tree_add_text(pt, tvb, offset+1+handles, padding, "padding"); offset += 1+handles+padding; return offset; } @@ -1642,13 +1643,13 @@ static int cmd_desc(tvbuff_t *tvb, int offset, proto_tree *pt) { proto_tree_add_text(pt, tvb, offset, 4, "Program size: %u bytes", - tvb_get_ntohl(tvb, offset)); + tvb_get_ntohl(tvb, offset)); offset += 4; proto_tree_add_text(pt, tvb, offset, 32, "Program name: %.32s", - tvb_get_ephemeral_string(tvb, offset, 32)); + tvb_get_ephemeral_string(tvb, offset, 32)); offset += 32; proto_tree_add_text(pt, tvb, offset, 80, "Program description: %.80s", - tvb_get_ephemeral_string(tvb, offset, 80)); + tvb_get_ephemeral_string(tvb, offset, 80)); offset += 80; return offset; } @@ -1656,19 +1657,19 @@ cmd_desc(tvbuff_t *tvb, int offset, proto_tree *pt) static int resp_desc(tvbuff_t *tvb, int offset, proto_tree *pt) { - proto_item *item; - proto_tree *tree; - guint8 flags; + proto_item *item; + proto_tree *tree; + guint8 flags; flags = tvb_get_guint8(tvb, offset); item = proto_tree_add_text(pt, tvb, offset, 1, "Flags: 0x%02x", flags); tree = proto_item_add_subtree (item, ett_gryphon_flags); proto_tree_add_text(tree, tvb, offset, 1, "%s", - decode_boolean_bitfield(flags, 0x01, 8, - "The program is already present", - "The program is not present")); + decode_boolean_bitfield(flags, 0x01, 8, + "The program is already present", + "The program is not present")); proto_tree_add_text(pt, tvb, offset+1, 1, "Handle: %u", - tvb_get_guint8(tvb, offset+1)); + tvb_get_guint8(tvb, offset+1)); proto_tree_add_text(pt, tvb, offset+2, 2, "reserved"); offset += 4; return offset; @@ -1677,24 +1678,24 @@ resp_desc(tvbuff_t *tvb, int offset, proto_tree *pt) static int cmd_upload(tvbuff_t *tvb, int offset, proto_tree *pt) { - int msglen; + int msglen; unsigned int length; msglen = tvb_reported_length_remaining(tvb, offset); proto_tree_add_text(pt, tvb, offset, 2, "Block number: %u", - tvb_get_ntohs(tvb, offset)); + tvb_get_ntohs(tvb, offset)); proto_tree_add_text(pt, tvb, offset+2, 1, "Handle: %u", - tvb_get_guint8(tvb, offset+2)); + tvb_get_guint8(tvb, offset+2)); offset += 3; msglen -= 3; length = msglen; proto_tree_add_text(pt, tvb, offset, length, "Data (%u byte%s)", - length, length == 1 ? "" : "s"); + length, length == 1 ? "" : "s"); offset += length; length = 3 - (length + 3) % 4; if (length) { - proto_tree_add_text(pt, tvb, offset, length, "padding"); - offset += length; + proto_tree_add_text(pt, tvb, offset, length, "padding"); + offset += length; } return offset; } @@ -1703,7 +1704,7 @@ static int cmd_delete(tvbuff_t *tvb, int offset, proto_tree *pt) { proto_tree_add_text(pt, tvb, offset, 32, "Program name: %.32s", - tvb_get_ephemeral_string(tvb, offset, 32)); + tvb_get_ephemeral_string(tvb, offset, 32)); offset += 32; return offset; } @@ -1712,7 +1713,7 @@ static int cmd_list(tvbuff_t *tvb, int offset, proto_tree *pt) { proto_tree_add_text(pt, tvb, offset, 1, "Block number: %u", - tvb_get_guint8(tvb, offset)); + tvb_get_guint8(tvb, offset)); proto_tree_add_text(pt, tvb, offset+1, 3, "reserved"); offset += 4; return offset; @@ -1721,8 +1722,8 @@ cmd_list(tvbuff_t *tvb, int offset, proto_tree *pt) static int resp_list(tvbuff_t *tvb, int offset, proto_tree *pt) { - proto_item *item; - proto_tree *tree; + proto_item *item; + proto_tree *tree; unsigned int i, count; count = tvb_get_guint8(tvb, offset); @@ -1730,17 +1731,17 @@ resp_list(tvbuff_t *tvb, int offset, proto_tree *pt) proto_tree_add_text(pt, tvb, offset+1, 1, "reserved"); offset += 2; proto_tree_add_text(pt, tvb, offset, 2, "Number of remaining programs: %u", - tvb_get_ntohs(tvb, offset)); + tvb_get_ntohs(tvb, offset)); offset += 2; for (i = 1; i <= count; i++) { - item = proto_tree_add_text(pt, tvb, offset, 112, "Program %u", i); - tree = proto_item_add_subtree (item, ett_gryphon_pgm_list); - proto_tree_add_text(tree, tvb, offset, 32, "Name: %.32s", - tvb_get_ephemeral_string(tvb, offset, 32)); - offset += 32; - proto_tree_add_text(tree, tvb, offset, 80, "Description: %.80s", - tvb_get_ephemeral_string(tvb, offset, 80)); - offset += 80; + item = proto_tree_add_text(pt, tvb, offset, 112, "Program %u", i); + tree = proto_item_add_subtree (item, ett_gryphon_pgm_list); + proto_tree_add_text(tree, tvb, offset, 32, "Name: %.32s", + tvb_get_ephemeral_string(tvb, offset, 32)); + offset += 32; + proto_tree_add_text(tree, tvb, offset, 80, "Description: %.80s", + tvb_get_ephemeral_string(tvb, offset, 80)); + offset += 80; } return offset; } @@ -1748,13 +1749,13 @@ resp_list(tvbuff_t *tvb, int offset, proto_tree *pt) static int cmd_start(tvbuff_t *tvb, int offset, proto_tree *pt) { - guint8 *string; - gint length; + guint8 *string; + gint length; int msglen; int hdr_stuff = offset; msglen = tvb_reported_length_remaining(tvb, offset); - offset = cmd_delete(tvb, offset, pt); /* decode the name */ + offset = cmd_delete(tvb, offset, pt); /* decode the name */ if (offset < msglen + hdr_stuff) { string = tvb_get_ephemeral_stringz(tvb, offset, &length); if (length > 1) { @@ -1762,8 +1763,8 @@ cmd_start(tvbuff_t *tvb, int offset, proto_tree *pt) offset += length; length = 3 - (length + 3) % 4; if (length) { - proto_tree_add_text(pt, tvb, offset, length, "padding"); - offset += length; + proto_tree_add_text(pt, tvb, offset, length, "padding"); + offset += length; } } } @@ -1778,7 +1779,7 @@ resp_start(tvbuff_t *tvb, int offset, proto_tree *pt) msglen = tvb_reported_length_remaining(tvb, offset); if (msglen > 0) { proto_tree_add_text(pt, tvb, offset, 1, "Channel (Client) number: %u", - tvb_get_guint8(tvb, offset)); + tvb_get_guint8(tvb, offset)); proto_tree_add_text(pt, tvb, offset+1, 3, "reserved"); offset += 4; } @@ -1788,8 +1789,8 @@ resp_start(tvbuff_t *tvb, int offset, proto_tree *pt) static int resp_status(tvbuff_t *tvb, int offset, proto_tree *pt) { - proto_item *item; - proto_tree *tree; + proto_item *item; + proto_tree *tree; unsigned int i, copies, length; copies = tvb_get_guint8(tvb, offset); @@ -1797,16 +1798,16 @@ resp_status(tvbuff_t *tvb, int offset, proto_tree *pt) tree = proto_item_add_subtree (item, ett_gryphon_pgm_status); offset += 1; if (copies) { - for (i = 1; i <= copies; i++) { - proto_tree_add_text(tree, tvb, offset, 1, "Program %u channel (client) number %u", - i, tvb_get_guint8(tvb, offset)); - offset += 1; - } + for (i = 1; i <= copies; i++) { + proto_tree_add_text(tree, tvb, offset, 1, "Program %u channel (client) number %u", + i, tvb_get_guint8(tvb, offset)); + offset += 1; + } } length = 3 - (copies + 1 + 3) % 4; if (length) { - proto_tree_add_text(pt, tvb, offset, length, "padding"); - offset += length; + proto_tree_add_text(pt, tvb, offset, length, "padding"); + offset += length; } return offset; } @@ -1814,70 +1815,70 @@ resp_status(tvbuff_t *tvb, int offset, proto_tree *pt) static int cmd_options(tvbuff_t *tvb, int offset, proto_tree *pt) { - int msglen; - proto_item *item; - proto_tree *tree; + int msglen; + proto_item *item; + proto_tree *tree; unsigned int i, size, padding, option, option_length, option_value; - const char *string, *string1; + const char *string, *string1; msglen = tvb_reported_length_remaining(tvb, offset); proto_tree_add_text(pt, tvb, offset, 1, "Handle: %u", - tvb_get_guint8(tvb, offset)); + tvb_get_guint8(tvb, offset)); proto_tree_add_text(pt, tvb, offset+1, 3, "reserved"); offset += 4; msglen -= 4; for (i = 1; msglen > 0; i++) { - option_length = tvb_get_guint8(tvb, offset+1); - size = option_length + 2; - padding = 3 - ((size + 3) %4); - item = proto_tree_add_text(pt, tvb, offset, size + padding, "Option number %u", i); - tree = proto_item_add_subtree (item, ett_gryphon_pgm_options); - option = tvb_get_guint8(tvb, offset); - switch (option_length) { - case 1: - option_value = tvb_get_guint8(tvb, offset+2); - break; - case 2: - option_value = tvb_get_ntohs(tvb, offset+2); - break; - case 4: - option_value = tvb_get_ntohl(tvb, offset+2); - break; - default: - option_value = 0; - } - string = "unknown option"; - string1 = "unknown option data"; - switch (option) { - case PGM_CONV: - string = "Type of data in the file"; - switch (option_value) { - case PGM_BIN: - string1 = "Binary - Don't modify"; - break; - case PGM_ASCII: - string1 = "ASCII - Remove CR's"; - break; - } - break; - case PGM_TYPE: - string = "Type of file"; - switch (option_value) { - case PGM_PGM: - string1 = "Executable"; - break; - case PGM_DATA: - string1 = "Data"; - break; - } - break; - } - proto_tree_add_text(tree, tvb, offset, 1, "%s", string); - proto_tree_add_text(tree, tvb, offset+2, option_length, "%s", string1); - if (padding) - proto_tree_add_text(tree, tvb, offset+option_length+2, padding, "padding"); - offset += size + padding; - msglen -= size + padding; + option_length = tvb_get_guint8(tvb, offset+1); + size = option_length + 2; + padding = 3 - ((size + 3) %4); + item = proto_tree_add_text(pt, tvb, offset, size + padding, "Option number %u", i); + tree = proto_item_add_subtree (item, ett_gryphon_pgm_options); + option = tvb_get_guint8(tvb, offset); + switch (option_length) { + case 1: + option_value = tvb_get_guint8(tvb, offset+2); + break; + case 2: + option_value = tvb_get_ntohs(tvb, offset+2); + break; + case 4: + option_value = tvb_get_ntohl(tvb, offset+2); + break; + default: + option_value = 0; + } + string = "unknown option"; + string1 = "unknown option data"; + switch (option) { + case PGM_CONV: + string = "Type of data in the file"; + switch (option_value) { + case PGM_BIN: + string1 = "Binary - Don't modify"; + break; + case PGM_ASCII: + string1 = "ASCII - Remove CR's"; + break; + } + break; + case PGM_TYPE: + string = "Type of file"; + switch (option_value) { + case PGM_PGM: + string1 = "Executable"; + break; + case PGM_DATA: + string1 = "Data"; + break; + } + break; + } + proto_tree_add_text(tree, tvb, offset, 1, "%s", string); + proto_tree_add_text(tree, tvb, offset+2, option_length, "%s", string1); + if (padding) + proto_tree_add_text(tree, tvb, offset+option_length+2, padding, "padding"); + offset += size + padding; + msglen -= size + padding; } return offset; } @@ -1885,18 +1886,18 @@ cmd_options(tvbuff_t *tvb, int offset, proto_tree *pt) static int cmd_files(tvbuff_t *tvb, int offset, proto_tree *pt) { - int msglen; + int msglen; const gchar *which; msglen = tvb_reported_length_remaining(tvb, offset); if (tvb_get_guint8(tvb, offset) == 0) - which = "First group of names"; + which = "First group of names"; else - which = "Subsequent group of names"; + which = "Subsequent group of names"; proto_tree_add_text(pt, tvb, offset, 1, "%s", which); proto_tree_add_text(pt, tvb, offset+1, msglen-1, "Directory: %.*s", - msglen-1, tvb_get_ephemeral_string(tvb, offset+1, msglen-1)); + msglen-1, tvb_get_ephemeral_string(tvb, offset+1, msglen-1)); offset += msglen; return offset; } @@ -1904,8 +1905,8 @@ cmd_files(tvbuff_t *tvb, int offset, proto_tree *pt) static int resp_files(tvbuff_t *tvb, int offset, proto_tree *pt) { - int msglen; - const gchar *flag; + int msglen; + const gchar *flag; msglen = tvb_reported_length_remaining(tvb, offset); flag = tvb_get_guint8(tvb, offset) ? "Yes": "No"; @@ -1918,76 +1919,76 @@ resp_files(tvbuff_t *tvb, int offset, proto_tree *pt) static int cmd_usdt(tvbuff_t *tvb, int offset, proto_tree *pt) { - int ids, id, remain, size, i, j, bytes; - const gchar *desc; - guint8 flags; - proto_tree *localTree; - proto_item *localItem; - const gchar *actions[] = { - "Use 11 bit headers only", - "Use 29 bit headers only", - "Use both 11 & 29 bit headers", - "undefined" + int ids, id, remain, size, i, j, bytes; + const gchar *desc; + guint8 flags; + proto_tree *localTree; + proto_item *localItem; + const gchar *actions[] = { + "Use 11 bit headers only", + "Use 29 bit headers only", + "Use both 11 & 29 bit headers", + "undefined" }; const gchar *xmit_opts[] = { - "Pad messages with less than 8 data bytes with 0x00's", - "Pad messages with less than 8 data bytes with 0xFF's", - "Do not pad messages with less than 8 data bytes", - "undefined" + "Pad messages with less than 8 data bytes with 0x00's", + "Pad messages with less than 8 data bytes with 0xFF's", + "Do not pad messages with less than 8 data bytes", + "undefined" }; const gchar *recv_opts[] = { - "Do not verify the integrity of long received messages and do not send them to the client", - "Verify the integrity of long received messages and send them to the client", - "Verify the integrity of long received messages but do not send them to the client", - "undefined" + "Do not verify the integrity of long received messages and do not send them to the client", + "Verify the integrity of long received messages and send them to the client", + "Verify the integrity of long received messages but do not send them to the client", + "undefined" }; const gchar *block_desc[] = {"USDT request", "USDT response", "UUDT response"}; flags = tvb_get_guint8(tvb, offset); if (flags & 1) - desc = "R"; + desc = "R"; else - desc = "Unr"; + desc = "Unr"; proto_tree_add_text(pt, tvb, offset, 1, "%segister with gusdt", desc); if (flags & 1) { localItem = proto_tree_add_text(pt, tvb, offset, 1, "Action flags"); localTree = proto_item_add_subtree (localItem, ett_gryphon_flags); - proto_tree_add_text(localTree, tvb, offset, 1, "%s%s", - decode_boolean_bitfield (flags, 1, 8, - "R", "Unr"), "egister with gusdt"); - proto_tree_add_text(localTree, tvb, offset, 1, "%s = %s", + proto_tree_add_text(localTree, tvb, offset, 1, "%s%s", + decode_boolean_bitfield (flags, 1, 8, + "R", "Unr"), "egister with gusdt"); + proto_tree_add_text(localTree, tvb, offset, 1, "%s = %s", decode_numeric_bitfield (flags, 6, 8, "%d"), actions[(flags >> 1) & 3]); flags = tvb_get_guint8(tvb, offset+1); localItem = proto_tree_add_text(pt, tvb, offset+1, 1, "Transmit options"); localTree = proto_item_add_subtree (localItem, ett_gryphon_flags); - proto_tree_add_text(localTree, tvb, offset+1, 1, "%s%s", - decode_boolean_bitfield (flags, 1, 8, - "E", "Do not e"), + proto_tree_add_text(localTree, tvb, offset+1, 1, "%s%s", + decode_boolean_bitfield (flags, 1, 8, + "E", "Do not e"), "cho long transmit messages back to the client"); - proto_tree_add_text(localTree, tvb, offset+1, 1, "%s = %s", + proto_tree_add_text(localTree, tvb, offset+1, 1, "%s = %s", decode_numeric_bitfield (flags, 6, 8, "%d"), xmit_opts[(flags >> 1) & 3]); - proto_tree_add_text(localTree, tvb, offset+1, 1, "%s%s", - decode_boolean_bitfield (flags, 8, 8, - "S", "Do not s"), + proto_tree_add_text(localTree, tvb, offset+1, 1, "%s%s", + decode_boolean_bitfield (flags, 8, 8, + "S", "Do not s"), "end a USDT_DONE event when the last frame of a multi-frame USDT message is transmitted"); flags = tvb_get_guint8(tvb, offset+2); localItem = proto_tree_add_text(pt, tvb, offset+2, 1, "Receive options"); localTree = proto_item_add_subtree (localItem, ett_gryphon_flags); - proto_tree_add_text(localTree, tvb, offset+2, 1, "%s = %s", + proto_tree_add_text(localTree, tvb, offset+2, 1, "%s = %s", decode_numeric_bitfield (flags, 3, 8, "%d"), recv_opts[flags & 3]); - proto_tree_add_text(localTree, tvb, offset+2, 1, "%s%s", - decode_boolean_bitfield (flags, 4, 8, - "S", "Do not s"), + proto_tree_add_text(localTree, tvb, offset+2, 1, "%s%s", + decode_boolean_bitfield (flags, 4, 8, + "S", "Do not s"), "end a USDT_FIRSTFRAME event when the first frame of a multi-frame USDT message is received"); - proto_tree_add_text(localTree, tvb, offset+2, 1, "%s%s", - decode_boolean_bitfield (flags, 8, 8, - "S", "Do not s"), + proto_tree_add_text(localTree, tvb, offset+2, 1, "%s%s", + decode_boolean_bitfield (flags, 8, 8, + "S", "Do not s"), "end a USDT_LASTFRAME event when the last frame of a multi-frame USDT message is received"); if ((ids = tvb_get_guint8(tvb, offset+3))) { @@ -2002,7 +2003,8 @@ cmd_usdt(tvbuff_t *tvb, int offset, proto_tree *pt) ids--; } } else { - proto_tree_add_text(pt, tvb, offset+3, 1, "Using extended addressing for the single, internally defined, ID"); + proto_tree_add_text(pt, tvb, offset+3, 1, + "Using extended addressing for the single, internally defined, ID"); offset += 4; } for (i = 0; i < 2; i++) { @@ -2052,11 +2054,11 @@ cmd_usdt(tvbuff_t *tvb, int offset, proto_tree *pt) static int cmd_bits_in (tvbuff_t *tvb, int offset, proto_tree *pt) { - proto_item *item; - proto_tree *tree; + proto_item *item; + proto_tree *tree; unsigned int i; - int msglen, mask, value; - const char *decode[] = {"Input 1", "Input 2", "Input 3", "Pushbutton"}; + int msglen, mask, value; + const char *decode[] = {"Input 1", "Input 2", "Input 3", "Pushbutton"}; msglen = tvb_reported_length_remaining(tvb, offset); value = tvb_get_guint8(tvb, offset); @@ -2066,7 +2068,7 @@ cmd_bits_in (tvbuff_t *tvb, int offset, proto_tree *pt) for (i = 0, mask = 1; i < SIZEOF (decode); mask <<= 1, i++) { if (value & mask) { proto_tree_add_text(tree, tvb, offset, 1, "%s is set", - decode[i]); + decode[i]); } } } else { @@ -2081,11 +2083,11 @@ cmd_bits_in (tvbuff_t *tvb, int offset, proto_tree *pt) static int cmd_bits_out (tvbuff_t *tvb, int offset, proto_tree *pt) { - proto_item *item; - proto_tree *tree; + proto_item *item; + proto_tree *tree; unsigned int i; - int msglen, mask, value; - const char *decode[] = {"Output 1", "Output 2"}; + int msglen, mask, value; + const char *decode[] = {"Output 1", "Output 2"}; msglen = tvb_reported_length_remaining(tvb, offset); value = tvb_get_guint8(tvb, offset); @@ -2095,7 +2097,7 @@ cmd_bits_out (tvbuff_t *tvb, int offset, proto_tree *pt) for (i = 0, mask = 1; i < SIZEOF (decode); mask <<= 1, i++) { if (value & mask) { proto_tree_add_text(tree, tvb, offset, 1, "%s is set", - decode[i]); + decode[i]); } } } else { @@ -2110,12 +2112,12 @@ cmd_bits_out (tvbuff_t *tvb, int offset, proto_tree *pt) static int cmd_init_strat (tvbuff_t *tvb, int offset, proto_tree *pt) { - int msglen, index; + int msglen, index; float value; msglen = tvb_reported_length_remaining(tvb, offset); proto_tree_add_text(pt, tvb, offset, 4, "Reset Limit = %u messages", - tvb_get_ntohl(tvb, offset)); + tvb_get_ntohl(tvb, offset)); offset += 4; msglen -= 4; for (index = 1; msglen; index++, offset++, msglen--) { @@ -2123,10 +2125,10 @@ cmd_init_strat (tvbuff_t *tvb, int offset, proto_tree *pt) if (value) { value /= 4; proto_tree_add_text(pt, tvb, offset, 1, "Delay %d = %.2f seconds", - index, value); + index, value); } else { proto_tree_add_text(pt, tvb, offset, 1, "Delay %d = infinite", - index); + index); } } return offset; @@ -2136,7 +2138,7 @@ static int speed(tvbuff_t *tvb, int offset, proto_tree *pt) { proto_tree_add_text(pt, tvb, offset, 1, "Baud rate index: %u", - tvb_get_guint8(tvb, offset)); + tvb_get_guint8(tvb, offset)); proto_tree_add_text(pt, tvb, offset+1, 3, "reserved"); offset += 4; return offset; @@ -2149,46 +2151,46 @@ filter_block(tvbuff_t *tvb, int offset, proto_tree *pt) int length, padding; proto_tree_add_text(pt, tvb, offset, 2, "Filter field starts at byte %u", - tvb_get_ntohs(tvb, offset)); + tvb_get_ntohs(tvb, offset)); length = tvb_get_ntohs(tvb, offset+2); proto_tree_add_text(pt, tvb, offset+2, 2, "Filter field is %d byte%s long", length, length == 1 ? "" : "s"); type = tvb_get_guint8(tvb, offset+4); proto_tree_add_text(pt, tvb, offset+4, 1, "Filtering on %s", - val_to_str(type, filter_data_types, "Unknown (0x%02x)")); + val_to_str(type, filter_data_types, "Unknown (0x%02x)")); operator = tvb_get_guint8(tvb, offset+5); proto_tree_add_text(pt, tvb, offset+5, 1, "Type of comparison: %s", - val_to_str(operator, operators, "Unknown (%u)")); + val_to_str(operator, operators, "Unknown (%u)")); proto_tree_add_text(pt, tvb, offset+6, 2, "reserved"); offset += 8; if (operator == BIT_FIELD_CHECK) { - proto_tree_add_text(pt, tvb, offset, length, "Pattern"); - proto_tree_add_text(pt, tvb, offset+length, length, "Mask"); + proto_tree_add_text(pt, tvb, offset, length, "Pattern"); + proto_tree_add_text(pt, tvb, offset+length, length, "Mask"); } else { - switch (length) { - case 1: - proto_tree_add_text(pt, tvb, offset, 1, "Value: %u", - tvb_get_guint8(tvb, offset)); - break; - case 2: - proto_tree_add_text(pt, tvb, offset, 2, "Value: %u", - tvb_get_ntohs(tvb, offset)); - break; - case 4: - proto_tree_add_text(pt, tvb, offset, 4, "Value: %u", - tvb_get_ntohl(tvb, offset)); - break; - default: - proto_tree_add_text(pt, tvb, offset, length, "Value"); - } + switch (length) { + case 1: + proto_tree_add_text(pt, tvb, offset, 1, "Value: %u", + tvb_get_guint8(tvb, offset)); + break; + case 2: + proto_tree_add_text(pt, tvb, offset, 2, "Value: %u", + tvb_get_ntohs(tvb, offset)); + break; + case 4: + proto_tree_add_text(pt, tvb, offset, 4, "Value: %u", + tvb_get_ntohl(tvb, offset)); + break; + default: + proto_tree_add_text(pt, tvb, offset, length, "Value"); + } } offset += length * 2; padding = 3 - (length * 2 + 3) % 4; if (padding) { - proto_tree_add_text(pt, tvb, offset, padding, "padding"); - offset += padding; + proto_tree_add_text(pt, tvb, offset, padding, "padding"); + offset += padding; } return offset; } @@ -2204,22 +2206,22 @@ blm_mode(tvbuff_t *tvb, int offset, proto_tree *pt) y = tvb_get_ntohl(tvb, offset+4); switch (x) { case 0: - mode = "Off"; - g_snprintf (line, 50, "reserved"); - break; + mode = "Off"; + g_snprintf (line, 50, "reserved"); + break; case 1: - mode = "Average over time"; - seconds = y / 1000; - y = y % 1000; - g_snprintf (line, 50, "Averaging period: %d.%03d seconds", seconds, y); - break; + mode = "Average over time"; + seconds = y / 1000; + y = y % 1000; + g_snprintf (line, 50, "Averaging period: %d.%03d seconds", seconds, y); + break; case 2: - mode = "Average over frame count"; - g_snprintf (line, 50, "Averaging period: %d frames", y); - break; + mode = "Average over frame count"; + g_snprintf (line, 50, "Averaging period: %d frames", y); + break; default: - mode = "- unknown -"; - g_snprintf (line, 50, "reserved"); + mode = "- unknown -"; + g_snprintf (line, 50, "reserved"); } proto_tree_add_text(pt, tvb, offset, 4, "Mode: %s", mode); offset += 4; @@ -2232,44 +2234,44 @@ void proto_register_gryphon(void) { static hf_register_info hf[] = { - { &hf_gryphon_src, - { "Source", "gryphon.src", FT_UINT8, BASE_HEX, VALS(src_dest), 0x0, - NULL, HFILL }}, - { &hf_gryphon_srcchan, - { "Source channel", "gryphon.srcchan", FT_UINT8, BASE_DEC, NULL, 0x0, - NULL, HFILL }}, - { &hf_gryphon_dest, - { "Destination", "gryphon.dest", FT_UINT8, BASE_HEX, VALS(src_dest), 0x0, - NULL, HFILL }}, - { &hf_gryphon_destchan, - { "Destination channel", "gryphon.destchan", FT_UINT8, BASE_DEC, NULL, 0x0, - NULL, HFILL }}, - { &hf_gryphon_type, - { "Frame type", "gryphon.type", FT_UINT8, BASE_DEC, NULL, 0x0, - NULL, HFILL }}, - { &hf_gryphon_cmd, - { "Command", "gryphon.cmd", FT_UINT8, BASE_DEC, NULL, 0x0, - NULL, HFILL }}, + { &hf_gryphon_src, + { "Source", "gryphon.src", FT_UINT8, BASE_HEX, VALS(src_dest), 0x0, + NULL, HFILL }}, + { &hf_gryphon_srcchan, + { "Source channel", "gryphon.srcchan", FT_UINT8, BASE_DEC, NULL, 0x0, + NULL, HFILL }}, + { &hf_gryphon_dest, + { "Destination", "gryphon.dest", FT_UINT8, BASE_HEX, VALS(src_dest), 0x0, + NULL, HFILL }}, + { &hf_gryphon_destchan, + { "Destination channel", "gryphon.destchan", FT_UINT8, BASE_DEC, NULL, 0x0, + NULL, HFILL }}, + { &hf_gryphon_type, + { "Frame type", "gryphon.type", FT_UINT8, BASE_DEC, NULL, 0x0, + NULL, HFILL }}, + { &hf_gryphon_cmd, + { "Command", "gryphon.cmd", FT_UINT8, BASE_DEC, NULL, 0x0, + NULL, HFILL }}, }; static gint *ett[] = { - &ett_gryphon, - &ett_gryphon_header, - &ett_gryphon_body, - &ett_gryphon_command_data, - &ett_gryphon_response_data, - &ett_gryphon_data_header, - &ett_gryphon_flags, - &ett_gryphon_data_body, - &ett_gryphon_cmd_filter_block, - &ett_gryphon_cmd_events_data, - &ett_gryphon_cmd_config_device, - &ett_gryphon_cmd_sched_data, - &ett_gryphon_cmd_sched_cmd, - &ett_gryphon_cmd_response_block, - &ett_gryphon_pgm_list, - &ett_gryphon_pgm_status, - &ett_gryphon_pgm_options, + &ett_gryphon, + &ett_gryphon_header, + &ett_gryphon_body, + &ett_gryphon_command_data, + &ett_gryphon_response_data, + &ett_gryphon_data_header, + &ett_gryphon_flags, + &ett_gryphon_data_body, + &ett_gryphon_cmd_filter_block, + &ett_gryphon_cmd_events_data, + &ett_gryphon_cmd_config_device, + &ett_gryphon_cmd_sched_data, + &ett_gryphon_cmd_sched_cmd, + &ett_gryphon_cmd_response_block, + &ett_gryphon_pgm_list, + &ett_gryphon_pgm_status, + &ett_gryphon_pgm_options, &ett_gryphon_valid_headers, &ett_gryphon_usdt_data, &ett_gryphon_digital_data, @@ -2277,16 +2279,16 @@ proto_register_gryphon(void) module_t *gryphon_module; proto_gryphon = proto_register_protocol("DG Gryphon Protocol", - "Gryphon", - "gryphon"); + "Gryphon", + "gryphon"); proto_register_field_array(proto_gryphon, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); gryphon_module = prefs_register_protocol(proto_gryphon, NULL); prefs_register_bool_preference(gryphon_module, "desegment", - "Desegment all Gryphon messages spanning multiple TCP segments", - "Whether the Gryphon dissector should desegment all messages spanning multiple TCP segments", - &gryphon_desegment); + "Desegment all Gryphon messages spanning multiple TCP segments", + "Whether the Gryphon dissector should desegment all messages spanning multiple TCP segments", + &gryphon_desegment); } void |