From Don Newton:
authorjake <jake@f5534014-38df-0310-8fa8-9805f1628bb7>
Tue, 2 Dec 2008 07:09:01 +0000 (07:09 +0000)
committerjake <jake@f5534014-38df-0310-8fa8-9805f1628bb7>
Tue, 2 Dec 2008 07:09:01 +0000 (07:09 +0000)
Flesh out call duration timer message.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@26898 f5534014-38df-0310-8fa8-9805f1628bb7

plugins/unistim/defines.h
plugins/unistim/display.h
plugins/unistim/header_field.h
plugins/unistim/packet-unistim.c

index 928a7072b350116fc77546732bfafba0c9c199f2..2b8843addb8ffff3961b397dc96e28f5ea2ceba2 100644 (file)
 #define DISPLAY_LAYER_ALL_SKEYS  0x80
 #define DISPLAY_ONE_OR_CYCLIC    0x80
 
+#define DISPLAY_CALL_TIMER_MODE    0x01
+#define DISPLAY_CALL_TIMER_RESET   0x02
+#define DISPLAY_CALL_TIMER_DISPLAY 0x04
+#define DISPLAY_CALL_TIMER_DELAY   0x08
+#define DISPLAY_CALL_TIMER_ID      0x3f
+
 #define KEY_NUM_PROG_KEYS        0x1f
 #define KEY_NUM_SOFT_KEYS        0xe0
 #define KEY_HD_KEY_EXISTS        0x01
index 54058ab2810ee1b99568a7870f09a634f3f64017..e8e7dd73e5228d5f6b9ef2526263b5dfe78de54c 100644 (file)
@@ -118,6 +118,11 @@ static int hf_display_layer_skey_id=-1;
 static int hf_display_layer_all_skeys=-1;
 static int hf_display_once_or_cyclic=-1;
 static int hf_display_layer_duration=-1;
+static int hf_display_call_timer_mode=-1;
+static int hf_display_call_timer_reset=-1;
+static int hf_display_call_timer_display=-1;
+static int hf_display_call_timer_delay=-1;
+static int hf_display_call_timer_id=-1;
 
 
 static const value_string arrow_dirs[]={
@@ -246,6 +251,25 @@ static const value_string icon_types[]={
  {0,NULL}
 };
 
+static const true_false_string call_duration_timer_mode={
+  "Mode = start timer",
+  "Mode = stop timer"
+};
+
+static const true_false_string call_duration_timer_reset={
+  "Reset time to zero",
+  "Do not reset timer"
+};
+
+static const true_false_string call_duration_display_timer={
+  "Call Duration timer is shown on the display",
+  "Call Duration timer is not shown on the display"
+};
+
+static const true_false_string call_duration_timer_delay={
+  "Action occurs after Call Duration Timer Delay",
+  "Action occurs immediately"
+};
 
 #endif
 
index 92ad72cfe7362bf833e06ccaf7f46a4bf19944ef..054e0823e688be23c6b102214da48005f5aa395d 100644 (file)
@@ -1296,6 +1296,27 @@ static hf_register_info hf[] = {
           {"User Activity Timeout Value","unistim.keys.user.timeout.value",FT_UINT8,
              BASE_DEC,NULL,0x00,NULL,HFILL}
        },
+       { &hf_display_call_timer_mode,
+         {"Call Timer Mode","unistim.display.call.timer.mode",FT_BOOLEAN,
+           8,TFS(&call_duration_timer_mode),DISPLAY_CALL_TIMER_MODE,NULL,HFILL}
+       },
+       { &hf_display_call_timer_reset,
+         {"Call Timer Reset","unistim.display.call.timer.reset",FT_BOOLEAN,
+           8,TFS(&call_duration_timer_reset),DISPLAY_CALL_TIMER_RESET,NULL,HFILL}
+       },
+       { &hf_display_call_timer_display,
+         {"Call Timer Display","unistim.display.call.timer.display",FT_BOOLEAN,
+           8,TFS(&call_duration_display_timer),DISPLAY_CALL_TIMER_DISPLAY,NULL,HFILL}
+       },
+       { &hf_display_call_timer_delay,
+         {"Call Timer Delay","unistim.display.call.timer.delay",FT_BOOLEAN,
+           8,TFS(&call_duration_timer_delay),DISPLAY_CALL_TIMER_DELAY,NULL,HFILL}
+       },
+       { &hf_display_call_timer_id,
+         {"Call Timer ID","unistim.display.call.timer.id",FT_UINT8,
+           BASE_DEC,NULL,DISPLAY_CALL_TIMER_ID,NULL,HFILL}
+       },
+
 /****LAST****/   
       { &hf_generic_string,
          {"DATA","unistim.generic.data",FT_STRING,
index 4a9f53b8ccd13dabf5e16061985da07ae02567c5..d84867322bb3ff5a221276f26e227459c6134800 100644 (file)
@@ -789,8 +789,19 @@ dissect_display_switch(proto_tree *msg_tree,
          break;
       case 0x0b:
    /*Call Duration Timer*/
-         proto_tree_add_item(msg_tree,hf_generic_data,tvb,offset,msg_len,FALSE);
-         offset+=msg_len;
+         proto_tree_add_item(msg_tree,hf_basic_bit_field,tvb,offset,1,FALSE);
+         proto_tree_add_item(msg_tree,hf_display_call_timer_mode,tvb,offset,
+                             1,FALSE);
+         proto_tree_add_item(msg_tree,hf_display_call_timer_reset,tvb,offset,
+                             1,FALSE);
+         proto_tree_add_item(msg_tree,hf_display_call_timer_display,tvb,offset,
+                             1,FALSE);
+         proto_tree_add_item(msg_tree,hf_display_call_timer_delay,tvb,offset,
+                             1,FALSE);
+         offset+=1;msg_len-=1;
+         proto_tree_add_item(msg_tree,hf_display_call_timer_id,tvb,offset,
+                             1,FALSE);
+         offset+=1;msg_len-=1;
          break;
       case 0x0c:
    /*Query Display Manager*/