aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
authorDaniel Willmann <daniel@totalueberwachung.de>2011-08-05 13:51:27 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2012-09-11 15:22:00 +0200
commit47b5b3eeb2e8e9081e809e860dc5c201c9a0bb1b (patch)
treeb4466b083f2a71c1bded0bd8ac65ee103f303459 /openbsc
parent5e95f45af0e96c9f79d053de55a1cbd689496883 (diff)
gsm_data: Include a structure for the geographical location in gsm_bts
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/include/openbsc/gsm_data_shared.h18
-rw-r--r--openbsc/src/libcommon/gsm_data.c2
2 files changed, 20 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gsm_data_shared.h b/openbsc/include/openbsc/gsm_data_shared.h
index 269386d72..3a7539819 100644
--- a/openbsc/include/openbsc/gsm_data_shared.h
+++ b/openbsc/include/openbsc/gsm_data_shared.h
@@ -498,11 +498,29 @@ enum neigh_list_manual_mode {
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 c273e6bb2..8b030e9dd 100644
--- a/openbsc/src/libcommon/gsm_data.c
+++ b/openbsc/src/libcommon/gsm_data.c
@@ -410,6 +410,8 @@ struct gsm_bts *gsm_bts_alloc_register(struct gsm_network *net, enum gsm_bts_typ
INIT_LLIST_HEAD(&bts->abis_queue);
+ INIT_LLIST_HEAD(&bts->loc_list);
+
return bts;
}