gsm_data: Include a structure for the geographical location in gsm_bts
diff --git a/openbsc/include/openbsc/gsm_data_shared.h b/openbsc/include/openbsc/gsm_data_shared.h
index 269386d..3a75398 100644
--- a/openbsc/include/openbsc/gsm_data_shared.h
+++ b/openbsc/include/openbsc/gsm_data_shared.h
@@ -498,11 +498,29 @@
 	NL_MODE_MANUAL_SI5SEP = 2, /* SI2 and SI5 have separate neighbor lists */
 };
 
+enum bts_loc_fix {
+	BTS_LOC_FIX_INVALID = 0,
+	BTS_LOC_FIX_2D = 1,
+	BTS_LOC_FIX_3D = 2,
+};
+
+struct bts_location {
+	struct llist_head list;
+	time_t tstamp;
+	enum bts_loc_fix valid;
+	double lat;
+	double lon;
+	double height;
+};
+
 /* One BTS */
 struct gsm_bts {
 	/* list header in net->bts_list */
 	struct llist_head list;
 
+	/* Geographical location of the BTS */
+	struct llist_head loc_list;
+
 	/* number of ths BTS in network */
 	uint8_t nr;
 	/* human readable name / description */
diff --git a/openbsc/src/libcommon/gsm_data.c b/openbsc/src/libcommon/gsm_data.c
index c273e6b..8b030e9 100644
--- a/openbsc/src/libcommon/gsm_data.c
+++ b/openbsc/src/libcommon/gsm_data.c
@@ -410,6 +410,8 @@
 
 	INIT_LLIST_HEAD(&bts->abis_queue);
 
+	INIT_LLIST_HEAD(&bts->loc_list);
+
 	return bts;
 }