aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2013-12-08 22:02:12 +0000
committerAnders Broman <anders.broman@ericsson.com>2013-12-08 22:02:12 +0000
commit4124b7aa170001bcb0df4b8605a9a6b1682e5b5f (patch)
treead499e4e97ada84295a364f0fd96eee524da9392
parent23c9eb270fc7aeb82f7bc171b58e8038031ce4be (diff)
- Forward declaration of register functions.
svn path=/trunk/; revision=53872
-rw-r--r--asn1/goose/packet-goose-template.c3
-rw-r--r--asn1/gsm_map/GSMMAP.asn4
-rw-r--r--asn1/gsm_map/packet-gsm_map-template.c15
-rw-r--r--asn1/h235/packet-h235-template.c3
-rw-r--r--asn1/h283/packet-h283-template.c3
-rw-r--r--asn1/h323/packet-h323-template.c2
-rw-r--r--asn1/h450-ros/packet-h450-ros-template.c3
-rw-r--r--asn1/h460/packet-h460-template.c3
-rw-r--r--asn1/ldap/packet-ldap-template.c3
-rw-r--r--asn1/p7/packet-p7-template.c3
-rw-r--r--asn1/ranap/packet-ranap-template.c1
-rw-r--r--asn1/tetra/packet-tetra-template.c3
-rw-r--r--epan/dissectors/packet-goose.c13
-rw-r--r--epan/dissectors/packet-gsm_map.c35
-rw-r--r--epan/dissectors/packet-h235.c13
-rw-r--r--epan/dissectors/packet-h283.c13
-rw-r--r--epan/dissectors/packet-h323.c12
-rw-r--r--epan/dissectors/packet-h450-ros.c13
-rw-r--r--epan/dissectors/packet-h460.c13
-rw-r--r--epan/dissectors/packet-h501.c12
-rw-r--r--epan/dissectors/packet-ldap.c15
-rw-r--r--epan/dissectors/packet-p7.c23
-rw-r--r--epan/dissectors/packet-ranap.c9
-rw-r--r--epan/dissectors/packet-tetra.c13
24 files changed, 152 insertions, 78 deletions
diff --git a/asn1/goose/packet-goose-template.c b/asn1/goose/packet-goose-template.c
index c65a9b1d9f..0e07a5c52f 100644
--- a/asn1/goose/packet-goose-template.c
+++ b/asn1/goose/packet-goose-template.c
@@ -38,6 +38,9 @@
#define PSNAME "GOOSE"
#define PFNAME "goose"
+void proto_register_goose(void);
+void proto_reg_handoff_goose(void);
+
/* Initialize the protocol and registered fields */
static int proto_goose = -1;
static int hf_goose_appid = -1;
diff --git a/asn1/gsm_map/GSMMAP.asn b/asn1/gsm_map/GSMMAP.asn
index 8fe32799e8..b62ef43a67 100644
--- a/asn1/gsm_map/GSMMAP.asn
+++ b/asn1/gsm_map/GSMMAP.asn
@@ -146,7 +146,7 @@ GSMMAPOperationLocalvalue ::= INTEGER{
processAccessSignalling (33),
forwardAccessSignalling (34),
noteInternalHandover (35),
- unAllocated (36),
+ cancelVcsgLocation (36),
reset (37),
forwardCheckSS (38),
prepareGroupCall (39),
@@ -163,7 +163,7 @@ GSMMAPOperationLocalvalue ::= INTEGER{
activateTraceMode (50),
deactivateTraceMode (51),
traceSubscriberActivity (52),
- unAllocated (53),
+ updateVcsgLocation (53),
beginSubscriberActivity (54),
sendIdentification (55),
sendAuthenticationInfo (56),
diff --git a/asn1/gsm_map/packet-gsm_map-template.c b/asn1/gsm_map/packet-gsm_map-template.c
index 4d31d45d3e..f00f460f87 100644
--- a/asn1/gsm_map/packet-gsm_map-template.c
+++ b/asn1/gsm_map/packet-gsm_map-template.c
@@ -1116,7 +1116,9 @@ static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
TRUE , dissect_gsm_map_ms_ForwardAccessSignalling_Arg, -1);
break;
/* reserved noteInternalHandover (35) */
- /* undefined 36 */
+ case 36: /*cancelVcsgLocation*/
+ offset=dissect_gsm_map_ms_CancelVcsgLocationArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
case 37: /*reset*/
offset=dissect_gsm_map_ms_ResetArg(FALSE, tvb, offset, actx, tree, -1);
break;
@@ -1184,7 +1186,10 @@ static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
offset=dissect_gsm_map_om_DeactivateTraceModeArg(FALSE, tvb, offset, actx, tree, -1);
break;
/* reserved traceSubscriberActivity (52) */
- /* undefined 53 */
+
+ case 53: /* UpdateVcsgLocation 53 */
+ offset=dissect_gsm_map_ms_UpdateVcsgLocationArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
case 54: /*beginSubscriberActivity*/
offset=dissect_gsm_old_BeginSubscriberActivityArg(FALSE, tvb, offset, actx, tree, -1);
break;
@@ -1469,6 +1474,9 @@ static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset,
case 32: /*provideSIWFSSignallingModify*/
offset=dissect_gsm_old_SIWFSSignallingModifyRes(FALSE, tvb, offset, actx, tree, -1);
break;
+ case 36: /*cancelVcsgLocation*/
+ offset=dissect_gsm_map_ms_CancelVcsgLocationRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
case 39: /*prepareGroupCall*/
offset=dissect_gsm_map_gr_PrepareGroupCallRes(FALSE, tvb, offset, actx, tree, -1);
break;
@@ -1505,6 +1513,9 @@ static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset,
case 51: /*deactivateTraceMode*/
offset=dissect_gsm_map_om_DeactivateTraceModeRes(FALSE, tvb, offset, actx, tree, -1);
break;
+ case 53: /* UpdateVcsgLocation 53 */
+ offset=dissect_gsm_map_ms_UpdateVcsgLocationRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
case 55: /*sendIdentification */
offset=dissect_mc_message(tvb, offset, actx, tree,
FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
diff --git a/asn1/h235/packet-h235-template.c b/asn1/h235/packet-h235-template.c
index 55137f0952..072f266c90 100644
--- a/asn1/h235/packet-h235-template.c
+++ b/asn1/h235/packet-h235-template.c
@@ -46,6 +46,9 @@
#define OID_TG "0.0.8.235.0.3.70"
#define OID_SG "0.0.8.235.0.3.71"
+void proto_register_h235(void);
+void proto_reg_handoff_h235(void);
+
/* Initialize the protocol and registered fields */
static int proto_h235 = -1;
#include "packet-h235-hf.c"
diff --git a/asn1/h283/packet-h283-template.c b/asn1/h283/packet-h283-template.c
index 05a946dcb1..decad2f135 100644
--- a/asn1/h283/packet-h283-template.c
+++ b/asn1/h283/packet-h283-template.c
@@ -36,6 +36,9 @@
#define PSNAME "LCT"
#define PFNAME "lct"
+void proto_register_h283(void);
+void proto_reg_handoff_h283(void);
+
/* Initialize the protocol and registered fields */
static int proto_h283 = -1;
#include "packet-h283-hf.c"
diff --git a/asn1/h323/packet-h323-template.c b/asn1/h323/packet-h323-template.c
index 2dbfef2a1a..363ffc8cde 100644
--- a/asn1/h323/packet-h323-template.c
+++ b/asn1/h323/packet-h323-template.c
@@ -39,6 +39,8 @@
#define PSNAME "H.323"
#define PFNAME "h323"
+void proto_register_h323(void);
+void proto_reg_handoff_h323(void);
/* Generic Extensible Framework */
gef_ctx_t* gef_ctx_alloc(gef_ctx_t *parent, const gchar *type) {
diff --git a/asn1/h450-ros/packet-h450-ros-template.c b/asn1/h450-ros/packet-h450-ros-template.c
index 50064acfd5..ee31ab6411 100644
--- a/asn1/h450-ros/packet-h450-ros-template.c
+++ b/asn1/h450-ros/packet-h450-ros-template.c
@@ -37,6 +37,9 @@
#define PSNAME "H450.ROS"
#define PFNAME "h450.ros"
+void proto_register_h450_ros(void);
+void proto_reg_handoff_h450_ros(void);
+
/* Initialize the protocol and registered fields */
static int proto_h450_ros = -1;
#include "packet-h450-ros-hf.c"
diff --git a/asn1/h460/packet-h460-template.c b/asn1/h460/packet-h460-template.c
index 4490fbc835..03385dd10a 100644
--- a/asn1/h460/packet-h460-template.c
+++ b/asn1/h460/packet-h460-template.c
@@ -41,6 +41,9 @@
#define PSNAME "H.460"
#define PFNAME "h460"
+void proto_register_h460(void);
+void proto_reg_handoff_h460(void);
+
/* Initialize the protocol and registered fields */
static int proto_h460 = -1;
#include "packet-h460-hf.c"
diff --git a/asn1/ldap/packet-ldap-template.c b/asn1/ldap/packet-ldap-template.c
index 6f821b5f73..1d83292dbe 100644
--- a/asn1/ldap/packet-ldap-template.c
+++ b/asn1/ldap/packet-ldap-template.c
@@ -119,6 +119,9 @@
#define PSNAME "LDAP"
#define PFNAME "ldap"
+void proto_register_ldap(void);
+void proto_reg_handoff_ldap(void);
+
/* Initialize the protocol and registered fields */
static int ldap_tap = -1;
static int proto_ldap = -1;
diff --git a/asn1/p7/packet-p7-template.c b/asn1/p7/packet-p7-template.c
index ed8015e815..36cb8789ca 100644
--- a/asn1/p7/packet-p7-template.c
+++ b/asn1/p7/packet-p7-template.c
@@ -43,6 +43,9 @@
#define PSNAME "P7"
#define PFNAME "p7"
+void proto_register_p7(void);
+void proto_reg_handoff_p7(void);
+
static guint global_p7_tcp_port = 102;
static dissector_handle_t tpkt_handle;
static int seqno = 0;
diff --git a/asn1/ranap/packet-ranap-template.c b/asn1/ranap/packet-ranap-template.c
index d0cc896e36..cc89e548e6 100644
--- a/asn1/ranap/packet-ranap-template.c
+++ b/asn1/ranap/packet-ranap-template.c
@@ -141,7 +141,6 @@ static int dissect_OutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
static int dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
static int dissect_ranap_TargetRNC_ToSourceRNC_TransparentContainer(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
-void proto_reg_handoff_ranap(void);
#include "packet-ranap-fn.c"
diff --git a/asn1/tetra/packet-tetra-template.c b/asn1/tetra/packet-tetra-template.c
index 2283c6130e..fe4fae4876 100644
--- a/asn1/tetra/packet-tetra-template.c
+++ b/asn1/tetra/packet-tetra-template.c
@@ -46,6 +46,9 @@
#define PROTO_TAG_tetra "TETRA"
+void proto_register_tetra(void);
+void proto_reg_handoff_ldap(void);
+
/* Wireshark ID of the tetra protocol */
static int proto_tetra = -1;
diff --git a/epan/dissectors/packet-goose.c b/epan/dissectors/packet-goose.c
index 618704e868..81f12879a2 100644
--- a/epan/dissectors/packet-goose.c
+++ b/epan/dissectors/packet-goose.c
@@ -46,6 +46,9 @@
#define PSNAME "GOOSE"
#define PFNAME "goose"
+void proto_register_goose(void);
+void proto_reg_handoff_goose(void);
+
/* Initialize the protocol and registered fields */
static int proto_goose = -1;
static int hf_goose_appid = -1;
@@ -119,7 +122,7 @@ static int hf_goose_mMSString = -1; /* MMSString */
static int hf_goose_utc_time = -1; /* UtcTime */
/*--- End of included file: packet-goose-hf.c ---*/
-#line 51 "../../asn1/goose/packet-goose-template.c"
+#line 54 "../../asn1/goose/packet-goose-template.c"
/* Initialize the subtree pointers */
static int ett_goose = -1;
@@ -146,7 +149,7 @@ static gint ett_goose_SEQUENCE_OF_Data = -1;
static gint ett_goose_Data = -1;
/*--- End of included file: packet-goose-ett.c ---*/
-#line 56 "../../asn1/goose/packet-goose-template.c"
+#line 59 "../../asn1/goose/packet-goose-template.c"
/*--- Included file: packet-goose-fn.c ---*/
@@ -709,7 +712,7 @@ dissect_goose_GOOSEpdu(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
/*--- End of included file: packet-goose-fn.c ---*/
-#line 58 "../../asn1/goose/packet-goose-template.c"
+#line 61 "../../asn1/goose/packet-goose-template.c"
/*
* Dissect GOOSE PDUs inside a PPDU.
@@ -1018,7 +1021,7 @@ void proto_register_goose(void) {
"UtcTime", HFILL }},
/*--- End of included file: packet-goose-hfarr.c ---*/
-#line 126 "../../asn1/goose/packet-goose-template.c"
+#line 129 "../../asn1/goose/packet-goose-template.c"
};
/* List of subtrees */
@@ -1046,7 +1049,7 @@ void proto_register_goose(void) {
&ett_goose_Data,
/*--- End of included file: packet-goose-ettarr.c ---*/
-#line 132 "../../asn1/goose/packet-goose-template.c"
+#line 135 "../../asn1/goose/packet-goose-template.c"
};
static ei_register_info ei[] = {
diff --git a/epan/dissectors/packet-gsm_map.c b/epan/dissectors/packet-gsm_map.c
index bbd8ca377d..d68a38d194 100644
--- a/epan/dissectors/packet-gsm_map.c
+++ b/epan/dissectors/packet-gsm_map.c
@@ -1865,7 +1865,7 @@ static int hf_NokiaMAP_Extensions_ClassOfServiceID_idHighBit = -1;
static int hf_NokiaMAP_Extensions_ClassOfServiceID_idLowBit = -1;
/*--- End of included file: packet-gsm_map-hf.c ---*/
-#line 156 "../../asn1/gsm_map/packet-gsm_map-template.c"
+#line 157 "../../asn1/gsm_map/packet-gsm_map-template.c"
/* Initialize the subtree pointers */
static gint ett_gsm_map = -1;
@@ -2563,7 +2563,7 @@ static gint ett_NokiaMAP_Extensions_AnyTimePO_BarringArg = -1;
static gint ett_NokiaMAP_Extensions_AnyTimePO_BarringRes = -1;
/*--- End of included file: packet-gsm_map-ett.c ---*/
-#line 185 "../../asn1/gsm_map/packet-gsm_map-template.c"
+#line 186 "../../asn1/gsm_map/packet-gsm_map-template.c"
static expert_field ei_gsm_map_unknown_sequence3 = EI_INIT;
static expert_field ei_gsm_map_unknown_sequence = EI_INIT;
@@ -16322,7 +16322,7 @@ static const value_string gsm_old_GSMMAPOperationLocalvalue_vals[] = {
{ 33, "processAccessSignalling" },
{ 34, "forwardAccessSignalling" },
{ 35, "noteInternalHandover" },
- { 36, "unAllocated" },
+ { 36, "cancelVcsgLocation" },
{ 37, "reset" },
{ 38, "forwardCheckSS" },
{ 39, "prepareGroupCall" },
@@ -16339,7 +16339,7 @@ static const value_string gsm_old_GSMMAPOperationLocalvalue_vals[] = {
{ 50, "activateTraceMode" },
{ 51, "deactivateTraceMode" },
{ 52, "traceSubscriberActivity" },
- { 53, "unAllocated" },
+ { 53, "updateVcsgLocation" },
{ 54, "beginSubscriberActivity" },
{ 55, "sendIdentification" },
{ 56, "sendAuthenticationInfo" },
@@ -19882,7 +19882,7 @@ dissect_NokiaMAP_Extensions_AnyTimePO_BarringRes(gboolean implicit_tag _U_, tvbu
/*--- End of included file: packet-gsm_map-fn.c ---*/
-#line 846 "../../asn1/gsm_map/packet-gsm_map-template.c"
+#line 847 "../../asn1/gsm_map/packet-gsm_map-template.c"
/* Specific translation for MAP V3 */
const value_string gsm_map_V1V2_opr_code_strings[] = {
@@ -20104,7 +20104,7 @@ const value_string gsm_map_opr_code_strings[] = {
/* Unknown or empty loop list OPERATION */
/*--- End of included file: packet-gsm_map-table.c ---*/
-#line 857 "../../asn1/gsm_map/packet-gsm_map-template.c"
+#line 858 "../../asn1/gsm_map/packet-gsm_map-template.c"
{ 0, NULL }
};
static const value_string gsm_map_err_code_string_vals[] = {
@@ -20319,7 +20319,7 @@ static const value_string gsm_map_err_code_string_vals[] = {
/* Unknown or empty loop list OPERATION */
/*--- End of included file: packet-gsm_map-table.c ---*/
-#line 861 "../../asn1/gsm_map/packet-gsm_map-template.c"
+#line 862 "../../asn1/gsm_map/packet-gsm_map-template.c"
{ 0, NULL }
};
static const true_false_string gsm_map_extension_value = {
@@ -20577,7 +20577,9 @@ static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
TRUE , dissect_gsm_map_ms_ForwardAccessSignalling_Arg, -1);
break;
/* reserved noteInternalHandover (35) */
- /* undefined 36 */
+ case 36: /*cancelVcsgLocation*/
+ offset=dissect_gsm_map_ms_CancelVcsgLocationArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
case 37: /*reset*/
offset=dissect_gsm_map_ms_ResetArg(FALSE, tvb, offset, actx, tree, -1);
break;
@@ -20645,7 +20647,10 @@ static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
offset=dissect_gsm_map_om_DeactivateTraceModeArg(FALSE, tvb, offset, actx, tree, -1);
break;
/* reserved traceSubscriberActivity (52) */
- /* undefined 53 */
+
+ case 53: /* UpdateVcsgLocation 53 */
+ offset=dissect_gsm_map_ms_UpdateVcsgLocationArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
case 54: /*beginSubscriberActivity*/
offset=dissect_gsm_old_BeginSubscriberActivityArg(FALSE, tvb, offset, actx, tree, -1);
break;
@@ -20930,6 +20935,9 @@ static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset,
case 32: /*provideSIWFSSignallingModify*/
offset=dissect_gsm_old_SIWFSSignallingModifyRes(FALSE, tvb, offset, actx, tree, -1);
break;
+ case 36: /*cancelVcsgLocation*/
+ offset=dissect_gsm_map_ms_CancelVcsgLocationRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
case 39: /*prepareGroupCall*/
offset=dissect_gsm_map_gr_PrepareGroupCallRes(FALSE, tvb, offset, actx, tree, -1);
break;
@@ -20966,6 +20974,9 @@ static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset,
case 51: /*deactivateTraceMode*/
offset=dissect_gsm_map_om_DeactivateTraceModeRes(FALSE, tvb, offset, actx, tree, -1);
break;
+ case 53: /* UpdateVcsgLocation 53 */
+ offset=dissect_gsm_map_ms_UpdateVcsgLocationRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
case 55: /*sendIdentification */
offset=dissect_mc_message(tvb, offset, actx, tree,
FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
@@ -28790,7 +28801,7 @@ void proto_register_gsm_map(void) {
NULL, HFILL }},
/*--- End of included file: packet-gsm_map-hfarr.c ---*/
-#line 2694 "../../asn1/gsm_map/packet-gsm_map-template.c"
+#line 2706 "../../asn1/gsm_map/packet-gsm_map-template.c"
};
/* List of subtrees */
@@ -29490,7 +29501,7 @@ void proto_register_gsm_map(void) {
&ett_NokiaMAP_Extensions_AnyTimePO_BarringRes,
/*--- End of included file: packet-gsm_map-ettarr.c ---*/
-#line 2725 "../../asn1/gsm_map/packet-gsm_map-template.c"
+#line 2737 "../../asn1/gsm_map/packet-gsm_map-template.c"
};
static ei_register_info ei[] = {
@@ -29592,7 +29603,7 @@ void proto_register_gsm_map(void) {
/*--- End of included file: packet-gsm_map-dis-tab.c ---*/
-#line 2761 "../../asn1/gsm_map/packet-gsm_map-template.c"
+#line 2773 "../../asn1/gsm_map/packet-gsm_map-template.c"
oid_add_from_string("ericsson-gsm-Map-Ext","1.2.826.0.1249.58.1.0" );
oid_add_from_string("accessTypeNotAllowed-id","1.3.12.2.1107.3.66.1.2");
/*oid_add_from_string("map-ac networkLocUp(1) version3(3)","0.4.0.0.1.0.1.3" );
diff --git a/epan/dissectors/packet-h235.c b/epan/dissectors/packet-h235.c
index 277d405f18..7cea3cb5bb 100644
--- a/epan/dissectors/packet-h235.c
+++ b/epan/dissectors/packet-h235.c
@@ -54,6 +54,9 @@
#define OID_TG "0.0.8.235.0.3.70"
#define OID_SG "0.0.8.235.0.3.71"
+void proto_register_h235(void);
+void proto_reg_handoff_h235(void);
+
/* Initialize the protocol and registered fields */
static int proto_h235 = -1;
@@ -162,7 +165,7 @@ static int hf_h235_fecBeforeSrtp = -1; /* NULL */
static int hf_h235_fecAfterSrtp = -1; /* NULL */
/*--- End of included file: packet-h235-hf.c ---*/
-#line 52 "../../asn1/h235/packet-h235-template.c"
+#line 55 "../../asn1/h235/packet-h235-template.c"
/* Initialize the subtree pointers */
@@ -202,7 +205,7 @@ static gint ett_h235_SEQUENCE_OF_GenericData = -1;
static gint ett_h235_FecOrder = -1;
/*--- End of included file: packet-h235-ett.c ---*/
-#line 55 "../../asn1/h235/packet-h235-template.c"
+#line 58 "../../asn1/h235/packet-h235-template.c"
static int
@@ -1048,7 +1051,7 @@ static int dissect_SrtpCryptoCapability_PDU(tvbuff_t *tvb _U_, packet_info *pinf
/*--- End of included file: packet-h235-fn.c ---*/
-#line 64 "../../asn1/h235/packet-h235-template.c"
+#line 67 "../../asn1/h235/packet-h235-template.c"
/*--- proto_register_h235 ----------------------------------------------*/
@@ -1465,7 +1468,7 @@ void proto_register_h235(void) {
NULL, HFILL }},
/*--- End of included file: packet-h235-hfarr.c ---*/
-#line 72 "../../asn1/h235/packet-h235-template.c"
+#line 75 "../../asn1/h235/packet-h235-template.c"
};
/* List of subtrees */
@@ -1507,7 +1510,7 @@ void proto_register_h235(void) {
&ett_h235_FecOrder,
/*--- End of included file: packet-h235-ettarr.c ---*/
-#line 77 "../../asn1/h235/packet-h235-template.c"
+#line 80 "../../asn1/h235/packet-h235-template.c"
};
/* Register protocol */
diff --git a/epan/dissectors/packet-h283.c b/epan/dissectors/packet-h283.c
index 69bc124f50..46cc95b15d 100644
--- a/epan/dissectors/packet-h283.c
+++ b/epan/dissectors/packet-h283.c
@@ -44,6 +44,9 @@
#define PSNAME "LCT"
#define PFNAME "lct"
+void proto_register_h283(void);
+void proto_reg_handoff_h283(void);
+
/* Initialize the protocol and registered fields */
static int proto_h283 = -1;
@@ -83,7 +86,7 @@ static int hf_h283_deviceListResp = -1; /* T_deviceListResp */
static int hf_h283_deviceChange = -1; /* NULL */
/*--- End of included file: packet-h283-hf.c ---*/
-#line 42 "../../asn1/h283/packet-h283-template.c"
+#line 45 "../../asn1/h283/packet-h283-template.c"
/* Initialize the subtree pointers */
static int ett_h283 = -1;
@@ -106,7 +109,7 @@ static gint ett_h283_LCTIndication = -1;
static gint ett_h283_NonStandardMessage = -1;
/*--- End of included file: packet-h283-ett.c ---*/
-#line 46 "../../asn1/h283/packet-h283-template.c"
+#line 49 "../../asn1/h283/packet-h283-template.c"
/* Subdissectors */
static dissector_handle_t rdc_pdu_handle;
@@ -564,7 +567,7 @@ static int dissect_LCTPDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_t
/*--- End of included file: packet-h283-fn.c ---*/
-#line 55 "../../asn1/h283/packet-h283-template.c"
+#line 58 "../../asn1/h283/packet-h283-template.c"
static int
dissect_h283_udp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
@@ -720,7 +723,7 @@ void proto_register_h283(void) {
NULL, HFILL }},
/*--- End of included file: packet-h283-hfarr.c ---*/
-#line 78 "../../asn1/h283/packet-h283-template.c"
+#line 81 "../../asn1/h283/packet-h283-template.c"
};
/* List of subtrees */
@@ -745,7 +748,7 @@ void proto_register_h283(void) {
&ett_h283_NonStandardMessage,
/*--- End of included file: packet-h283-ettarr.c ---*/
-#line 84 "../../asn1/h283/packet-h283-template.c"
+#line 87 "../../asn1/h283/packet-h283-template.c"
};
/* Register protocol */
diff --git a/epan/dissectors/packet-h323.c b/epan/dissectors/packet-h323.c
index 0e123c20a1..42dc9da732 100644
--- a/epan/dissectors/packet-h323.c
+++ b/epan/dissectors/packet-h323.c
@@ -47,6 +47,8 @@
#define PSNAME "H.323"
#define PFNAME "h323"
+void proto_register_h323(void);
+void proto_reg_handoff_h323(void);
/* Generic Extensible Framework */
gef_ctx_t* gef_ctx_alloc(gef_ctx_t *parent, const gchar *type) {
@@ -129,7 +131,7 @@ static int hf_h323_timeToLive = -1; /* TimeToLive */
static int hf_h323_includeFastStart = -1; /* NULL */
/*--- End of included file: packet-h323-hf.c ---*/
-#line 92 "../../asn1/h323/packet-h323-template.c"
+#line 94 "../../asn1/h323/packet-h323-template.c"
/* Initialize the subtree pointers */
@@ -150,7 +152,7 @@ static gint ett_h323_T_fastStart = -1;
static gint ett_h323_StatusInquiry_RD = -1;
/*--- End of included file: packet-h323-ett.c ---*/
-#line 95 "../../asn1/h323/packet-h323-template.c"
+#line 97 "../../asn1/h323/packet-h323-template.c"
/*--- Included file: packet-h323-fn.c ---*/
@@ -441,7 +443,7 @@ static int dissect_RobustnessData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_,
/*--- End of included file: packet-h323-fn.c ---*/
-#line 97 "../../asn1/h323/packet-h323-template.c"
+#line 99 "../../asn1/h323/packet-h323-template.c"
/*--- proto_register_h323 ----------------------------------------------*/
void proto_register_h323(void) {
@@ -565,7 +567,7 @@ void proto_register_h323(void) {
NULL, HFILL }},
/*--- End of included file: packet-h323-hfarr.c ---*/
-#line 104 "../../asn1/h323/packet-h323-template.c"
+#line 106 "../../asn1/h323/packet-h323-template.c"
};
/* List of subtrees */
@@ -588,7 +590,7 @@ void proto_register_h323(void) {
&ett_h323_StatusInquiry_RD,
/*--- End of included file: packet-h323-ettarr.c ---*/
-#line 109 "../../asn1/h323/packet-h323-template.c"
+#line 111 "../../asn1/h323/packet-h323-template.c"
};
/* Register protocol */
diff --git a/epan/dissectors/packet-h450-ros.c b/epan/dissectors/packet-h450-ros.c
index d4afcbab30..1f42d59291 100644
--- a/epan/dissectors/packet-h450-ros.c
+++ b/epan/dissectors/packet-h450-ros.c
@@ -45,6 +45,9 @@
#define PSNAME "H450.ROS"
#define PFNAME "h450.ros"
+void proto_register_h450_ros(void);
+void proto_reg_handoff_h450_ros(void);
+
/* Initialize the protocol and registered fields */
static int proto_h450_ros = -1;
@@ -72,7 +75,7 @@ static int hf_h450_ros_returnResultProblem = -1; /* ReturnResultProblem */
static int hf_h450_ros_returnErrorProblem = -1; /* ReturnErrorProblem */
/*--- End of included file: packet-h450-ros-hf.c ---*/
-#line 43 "../../asn1/h450-ros/packet-h450-ros-template.c"
+#line 46 "../../asn1/h450-ros/packet-h450-ros-template.c"
/* Initialize the subtree pointers */
@@ -88,7 +91,7 @@ static gint ett_h450_ros_Reject = -1;
static gint ett_h450_ros_T_problem = -1;
/*--- End of included file: packet-h450-ros-ett.c ---*/
-#line 46 "../../asn1/h450-ros/packet-h450-ros-template.c"
+#line 49 "../../asn1/h450-ros/packet-h450-ros-template.c"
static expert_field ei_ros_undecoded = EI_INIT;
@@ -581,7 +584,7 @@ dissect_h450_ros_ROS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
/*--- End of included file: packet-h450-ros-fn.c ---*/
-#line 75 "../../asn1/h450-ros/packet-h450-ros-template.c"
+#line 78 "../../asn1/h450-ros/packet-h450-ros-template.c"
/*--- proto_register_h450_ros -----------------------------------------------*/
void proto_register_h450_ros(void) {
@@ -673,7 +676,7 @@ void proto_register_h450_ros(void) {
"ReturnErrorProblem", HFILL }},
/*--- End of included file: packet-h450-ros-hfarr.c ---*/
-#line 82 "../../asn1/h450-ros/packet-h450-ros-template.c"
+#line 85 "../../asn1/h450-ros/packet-h450-ros-template.c"
};
/* List of subtrees */
@@ -691,7 +694,7 @@ void proto_register_h450_ros(void) {
&ett_h450_ros_T_problem,
/*--- End of included file: packet-h450-ros-ettarr.c ---*/
-#line 87 "../../asn1/h450-ros/packet-h450-ros-template.c"
+#line 90 "../../asn1/h450-ros/packet-h450-ros-template.c"
};
static ei_register_info ei[] = {
diff --git a/epan/dissectors/packet-h460.c b/epan/dissectors/packet-h460.c
index 2f88793e73..564339d4ce 100644
--- a/epan/dissectors/packet-h460.c
+++ b/epan/dissectors/packet-h460.c
@@ -49,6 +49,9 @@
#define PSNAME "H.460"
#define PFNAME "h460"
+void proto_register_h460(void);
+void proto_reg_handoff_h460(void);
+
/* Initialize the protocol and registered fields */
static int proto_h460 = -1;
@@ -256,7 +259,7 @@ static int hf_h460_21_capability = -1; /* Capability */
static int hf_h460_21_sourceAddress = -1; /* UnicastAddress */
/*--- End of included file: packet-h460-hf.c ---*/
-#line 47 "../../asn1/h460/packet-h460-template.c"
+#line 50 "../../asn1/h460/packet-h460-template.c"
/* Initialize the subtree pointers */
@@ -353,7 +356,7 @@ static gint ett_h460_21_SEQUENCE_SIZE_1_256_OF_Capability = -1;
static gint ett_h460_21_TransmitCapabilities = -1;
/*--- End of included file: packet-h460-ett.c ---*/
-#line 50 "../../asn1/h460/packet-h460-template.c"
+#line 53 "../../asn1/h460/packet-h460-template.c"
/* Subdissectors */
static dissector_handle_t q931_ie_handle = NULL;
@@ -1964,7 +1967,7 @@ static int dissect_h460_21_CapabilityAdvertisement_PDU(tvbuff_t *tvb _U_, packet
/*--- End of included file: packet-h460-fn.c ---*/
-#line 56 "../../asn1/h460/packet-h460-template.c"
+#line 59 "../../asn1/h460/packet-h460-template.c"
static int
dissect_ies(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
@@ -2870,7 +2873,7 @@ void proto_register_h460(void) {
"UnicastAddress", HFILL }},
/*--- End of included file: packet-h460-hfarr.c ---*/
-#line 247 "../../asn1/h460/packet-h460-template.c"
+#line 250 "../../asn1/h460/packet-h460-template.c"
};
/* List of subtrees */
@@ -2969,7 +2972,7 @@ void proto_register_h460(void) {
&ett_h460_21_TransmitCapabilities,
/*--- End of included file: packet-h460-ettarr.c ---*/
-#line 252 "../../asn1/h460/packet-h460-template.c"
+#line 255 "../../asn1/h460/packet-h460-template.c"
};
/* Register protocol */
diff --git a/epan/dissectors/packet-h501.c b/epan/dissectors/packet-h501.c
index 7115e20418..1dd7e8f78c 100644
--- a/epan/dissectors/packet-h501.c
+++ b/epan/dissectors/packet-h501.c
@@ -48,6 +48,8 @@
#define PSNAME "H.501"
#define PFNAME "h501"
+void proto_register_h501(void);
+
/* Initialize the protocol and registered fields */
static int proto_h501 = -1;
@@ -305,7 +307,7 @@ static int hf_h501_releaseCompleteReason = -1; /* ReleaseCompleteReason */
static int hf_h501_causeIE = -1; /* INTEGER_1_65535 */
/*--- End of included file: packet-h501-hf.c ---*/
-#line 46 "../../asn1/h501/packet-h501-template.c"
+#line 48 "../../asn1/h501/packet-h501-template.c"
/* Initialize the subtree pointers */
static int ett_h501 = -1;
@@ -413,7 +415,7 @@ static gint ett_h501_Role = -1;
static gint ett_h501_TerminationCause = -1;
/*--- End of included file: packet-h501-ett.c ---*/
-#line 50 "../../asn1/h501/packet-h501-template.c"
+#line 52 "../../asn1/h501/packet-h501-template.c"
/* Dissectors */
static dissector_handle_t h501_pdu_handle;
@@ -2515,7 +2517,7 @@ static int dissect_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_
/*--- End of included file: packet-h501-fn.c ---*/
-#line 62 "../../asn1/h501/packet-h501-template.c"
+#line 64 "../../asn1/h501/packet-h501-template.c"
static int
dissect_h501_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
@@ -3556,7 +3558,7 @@ void proto_register_h501(void) {
"INTEGER_1_65535", HFILL }},
/*--- End of included file: packet-h501-hfarr.c ---*/
-#line 98 "../../asn1/h501/packet-h501-template.c"
+#line 100 "../../asn1/h501/packet-h501-template.c"
};
/* List of subtrees */
@@ -3666,7 +3668,7 @@ void proto_register_h501(void) {
&ett_h501_TerminationCause,
/*--- End of included file: packet-h501-ettarr.c ---*/
-#line 104 "../../asn1/h501/packet-h501-template.c"
+#line 106 "../../asn1/h501/packet-h501-template.c"
};
/* Register protocol */
diff --git a/epan/dissectors/packet-ldap.c b/epan/dissectors/packet-ldap.c
index b67af77b53..f1323d9d21 100644
--- a/epan/dissectors/packet-ldap.c
+++ b/epan/dissectors/packet-ldap.c
@@ -127,6 +127,9 @@
#define PSNAME "LDAP"
#define PFNAME "ldap"
+void proto_register_ldap(void);
+void proto_reg_handoff_ldap(void);
+
/* Initialize the protocol and registered fields */
static int ldap_tap = -1;
static int proto_ldap = -1;
@@ -342,7 +345,7 @@ static int hf_ldap_graceAuthNsRemaining = -1; /* INTEGER_0_maxInt */
static int hf_ldap_error = -1; /* T_error */
/*--- End of included file: packet-ldap-hf.c ---*/
-#line 190 "../../asn1/ldap/packet-ldap-template.c"
+#line 193 "../../asn1/ldap/packet-ldap-template.c"
/* Initialize the subtree pointers */
static gint ett_ldap = -1;
@@ -415,7 +418,7 @@ static gint ett_ldap_PasswordPolicyResponseValue = -1;
static gint ett_ldap_T_warning = -1;
/*--- End of included file: packet-ldap-ett.c ---*/
-#line 201 "../../asn1/ldap/packet-ldap-template.c"
+#line 204 "../../asn1/ldap/packet-ldap-template.c"
static expert_field ei_ldap_exceeded_filter_length = EI_INIT;
static expert_field ei_ldap_too_many_filter_elements = EI_INIT;
@@ -3835,7 +3838,7 @@ static void dissect_PasswordPolicyResponseValue_PDU(tvbuff_t *tvb _U_, packet_in
/*--- End of included file: packet-ldap-fn.c ---*/
-#line 883 "../../asn1/ldap/packet-ldap-template.c"
+#line 886 "../../asn1/ldap/packet-ldap-template.c"
static int dissect_LDAPMessage_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, ldap_conv_info_t *ldap_info) {
int offset = 0;
@@ -5778,7 +5781,7 @@ void proto_register_ldap(void) {
NULL, HFILL }},
/*--- End of included file: packet-ldap-hfarr.c ---*/
-#line 2249 "../../asn1/ldap/packet-ldap-template.c"
+#line 2252 "../../asn1/ldap/packet-ldap-template.c"
};
/* List of subtrees */
@@ -5853,7 +5856,7 @@ void proto_register_ldap(void) {
&ett_ldap_T_warning,
/*--- End of included file: packet-ldap-ettarr.c ---*/
-#line 2262 "../../asn1/ldap/packet-ldap-template.c"
+#line 2265 "../../asn1/ldap/packet-ldap-template.c"
};
/* UAT for header fields */
static uat_field_t custom_attribute_types_uat_fields[] = {
@@ -6019,7 +6022,7 @@ proto_reg_handoff_ldap(void)
/*--- End of included file: packet-ldap-dis-tab.c ---*/
-#line 2411 "../../asn1/ldap/packet-ldap-template.c"
+#line 2414 "../../asn1/ldap/packet-ldap-template.c"
}
diff --git a/epan/dissectors/packet-p7.c b/epan/dissectors/packet-p7.c
index 1375ab7e45..a3b5108555 100644
--- a/epan/dissectors/packet-p7.c
+++ b/epan/dissectors/packet-p7.c
@@ -51,6 +51,9 @@
#define PSNAME "P7"
#define PFNAME "p7"
+void proto_register_p7(void);
+void proto_reg_handoff_p7(void);
+
static guint global_p7_tcp_port = 102;
static dissector_handle_t tpkt_handle;
static int seqno = 0;
@@ -120,7 +123,7 @@ static int proto_p7 = -1;
#define ub_ua_restrictions 16
/*--- End of included file: packet-p7-val.h ---*/
-#line 57 "../../asn1/p7/packet-p7-template.c"
+#line 60 "../../asn1/p7/packet-p7-template.c"
/*--- Included file: packet-p7-hf.c ---*/
@@ -492,7 +495,7 @@ static int hf_p7_T_entry_class_problem_entry_class_not_subscribed = -1;
static int hf_p7_T_entry_class_problem_inappropriate_entry_class = -1;
/*--- End of included file: packet-p7-hf.c ---*/
-#line 59 "../../asn1/p7/packet-p7-template.c"
+#line 62 "../../asn1/p7/packet-p7-template.c"
/* Initialize the subtree pointers */
static gint ett_p7 = -1;
@@ -634,7 +637,7 @@ static gint ett_p7_RTSE_apdus = -1;
static gint ett_p7_RTABapdu = -1;
/*--- End of included file: packet-p7-ett.c ---*/
-#line 63 "../../asn1/p7/packet-p7-template.c"
+#line 66 "../../asn1/p7/packet-p7-template.c"
/*--- Included file: packet-p7-table.c ---*/
@@ -677,7 +680,7 @@ static const value_string p7_err_code_string_vals[] = {
/*--- End of included file: packet-p7-table.c ---*/
-#line 65 "../../asn1/p7/packet-p7-template.c"
+#line 68 "../../asn1/p7/packet-p7-template.c"
/*--- Included file: packet-p7-fn.c ---*/
@@ -4080,7 +4083,7 @@ static void dissect_RTSE_apdus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pr
/*--- End of included file: packet-p7-fn.c ---*/
-#line 67 "../../asn1/p7/packet-p7-template.c"
+#line 70 "../../asn1/p7/packet-p7-template.c"
/*--- Included file: packet-p7-table11.c ---*/
@@ -4112,7 +4115,7 @@ static const ros_opr_t p7_opr_tab[] = {
/*--- End of included file: packet-p7-table11.c ---*/
-#line 69 "../../asn1/p7/packet-p7-template.c"
+#line 72 "../../asn1/p7/packet-p7-template.c"
/*--- Included file: packet-p7-table21.c ---*/
#line 1 "../../asn1/p7/packet-p7-table21.c"
@@ -4151,7 +4154,7 @@ static const ros_err_t p7_err_tab[] = {
/*--- End of included file: packet-p7-table21.c ---*/
-#line 70 "../../asn1/p7/packet-p7-template.c"
+#line 73 "../../asn1/p7/packet-p7-template.c"
static const ros_info_t p7_ros_info = {
"P7",
@@ -5631,7 +5634,7 @@ void proto_register_p7(void) {
NULL, HFILL }},
/*--- End of included file: packet-p7-hfarr.c ---*/
-#line 89 "../../asn1/p7/packet-p7-template.c"
+#line 92 "../../asn1/p7/packet-p7-template.c"
};
/* List of subtrees */
@@ -5775,7 +5778,7 @@ void proto_register_p7(void) {
&ett_p7_RTABapdu,
/*--- End of included file: packet-p7-ettarr.c ---*/
-#line 95 "../../asn1/p7/packet-p7-template.c"
+#line 98 "../../asn1/p7/packet-p7-template.c"
};
module_t *p7_module;
@@ -5834,7 +5837,7 @@ void proto_reg_handoff_p7(void) {
/*--- End of included file: packet-p7-dis-tab.c ---*/
-#line 121 "../../asn1/p7/packet-p7-template.c"
+#line 124 "../../asn1/p7/packet-p7-template.c"
/* APPLICATION CONTEXT */
diff --git a/epan/dissectors/packet-ranap.c b/epan/dissectors/packet-ranap.c
index 9e9cc59198..4b030013df 100644
--- a/epan/dissectors/packet-ranap.c
+++ b/epan/dissectors/packet-ranap.c
@@ -1544,7 +1544,6 @@ static int dissect_OutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
static int dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
static int dissect_ranap_TargetRNC_ToSourceRNC_TransparentContainer(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
-void proto_reg_handoff_ranap(void);
/*--- Included file: packet-ranap-fn.c ---*/
@@ -13072,7 +13071,7 @@ static int dissect_RANAP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, prot
/*--- End of included file: packet-ranap-fn.c ---*/
-#line 147 "../../asn1/ranap/packet-ranap-template.c"
+#line 146 "../../asn1/ranap/packet-ranap-template.c"
static int
dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
@@ -16116,7 +16115,7 @@ void proto_register_ranap(void) {
NULL, HFILL }},
/*--- End of included file: packet-ranap-hfarr.c ---*/
-#line 322 "../../asn1/ranap/packet-ranap-template.c"
+#line 321 "../../asn1/ranap/packet-ranap-template.c"
};
/* List of subtrees */
@@ -16453,7 +16452,7 @@ void proto_register_ranap(void) {
&ett_ranap_Outcome,
/*--- End of included file: packet-ranap-ettarr.c ---*/
-#line 330 "../../asn1/ranap/packet-ranap-template.c"
+#line 329 "../../asn1/ranap/packet-ranap-template.c"
};
@@ -16836,7 +16835,7 @@ proto_reg_handoff_ranap(void)
/*--- End of included file: packet-ranap-dis-tab.c ---*/
-#line 380 "../../asn1/ranap/packet-ranap-template.c"
+#line 379 "../../asn1/ranap/packet-ranap-template.c"
} else {
dissector_delete_uint("sccp.ssn", local_ranap_sccp_ssn, ranap_handle);
}
diff --git a/epan/dissectors/packet-tetra.c b/epan/dissectors/packet-tetra.c
index ed31026d6f..417a9658d1 100644
--- a/epan/dissectors/packet-tetra.c
+++ b/epan/dissectors/packet-tetra.c
@@ -54,6 +54,9 @@
#define PROTO_TAG_tetra "TETRA"
+void proto_register_tetra(void);
+void proto_reg_handoff_ldap(void);
+
/* Wireshark ID of the tetra protocol */
static int proto_tetra = -1;
@@ -687,7 +690,7 @@ static int hf_tetra_proprietary_element_owner_extension = -1; /* BIT_STRING */
static int hf_tetra_simplex_duplex_selection_06 = -1; /* T_simplex_duplex_selection_05 */
/*--- End of included file: packet-tetra-hf.c ---*/
-#line 86 "../../asn1/tetra/packet-tetra-template.c"
+#line 89 "../../asn1/tetra/packet-tetra-template.c"
/* Initialize the subtree pointers */
/* These are the ids of the subtrees that we may be creating */
@@ -972,7 +975,7 @@ static gint ett_tetra_Type2 = -1;
static gint ett_tetra_Modify_type = -1;
/*--- End of included file: packet-tetra-ett.c ---*/
-#line 96 "../../asn1/tetra/packet-tetra-template.c"
+#line 99 "../../asn1/tetra/packet-tetra-template.c"
static expert_field ei_tetra_channels_incorrect = EI_INIT;
@@ -8776,7 +8779,7 @@ static void dissect_MAC_ACCESS_DEFINE_PDU(tvbuff_t *tvb _U_, packet_info *pinfo
/*--- End of included file: packet-tetra-fn.c ---*/
-#line 100 "../../asn1/tetra/packet-tetra-template.c"
+#line 103 "../../asn1/tetra/packet-tetra-template.c"
static const value_string channeltypenames[] = {
{ 0, "Reserved" },
@@ -11675,7 +11678,7 @@ void proto_register_tetra (void)
"T_simplex_duplex_selection_05", HFILL }},
/*--- End of included file: packet-tetra-hfarr.c ---*/
-#line 626 "../../asn1/tetra/packet-tetra-template.c"
+#line 629 "../../asn1/tetra/packet-tetra-template.c"
};
/* List of subtrees */
@@ -11960,7 +11963,7 @@ void proto_register_tetra (void)
&ett_tetra_Modify_type,
/*--- End of included file: packet-tetra-ettarr.c ---*/
-#line 636 "../../asn1/tetra/packet-tetra-template.c"
+#line 639 "../../asn1/tetra/packet-tetra-template.c"
};
static ei_register_info ei[] = {