LCLS: add GCR comparison helper

Change-Id: I9e3b5560a058b976638d03cb819415d237ae9984
diff --git a/src/gsm/gsm29205.c b/src/gsm/gsm29205.c
index 0ef29b7..0d34468 100644
--- a/src/gsm/gsm29205.c
+++ b/src/gsm/gsm29205.c
@@ -91,3 +91,24 @@
 
 	return parsed + 5;
 }
+
+/*! Compare two GCR structs.
+ *  \param[in] gcr1 pointer to the GCR struct
+ *  \param[in] gcr2 pointer to the GCR struct
+ *  \returns true if GCRs are equal, false otherwise */
+bool osmo_gcr_eq(const struct osmo_gcr_parsed *gcr1, const struct osmo_gcr_parsed *gcr2)
+{
+	if (gcr1->net_len != gcr2->net_len)
+		return false;
+
+	if (gcr1->node != gcr2->node)
+		return false;
+
+	if (memcmp(gcr1->cr, gcr2->cr, 5) != 0)
+		return false;
+
+	if (memcmp(gcr1->net, gcr2->net, gcr2->net_len) != 0)
+		return false;
+
+	return true;
+}
diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map
index 60ce5d1..f9e9b8b 100644
--- a/src/gsm/libosmogsm.map
+++ b/src/gsm/libosmogsm.map
@@ -240,6 +240,7 @@
 
 osmo_enc_gcr;
 osmo_dec_gcr;
+osmo_gcr_eq;
 
 gsm0858_rsl_ul_meas_enc;