aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/gsm_data.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-03-14 15:37:43 +0800
committerHarald Welte <laforge@gnumonks.org>2010-03-22 19:02:04 +0800
commit97a282b037408438a876af81e2e9c5194c2bb69e (patch)
tree4b7bc0f413a75d02d8402bf724b889c74d6a93ad /openbsc/include/openbsc/gsm_data.h
parentd859a24f7d1dca2aed4e69330124e52d674d1589 (diff)
Create new gprs-conf branch with the non-SGSN part of the gprs branch
This new gprs-conf branch is intended to contain everything needed to configure GPRS in the nanoBTS, but without implementing the SGSN/GGSN functionality. The SGSN/GGSN development will happen in a branch based on this branch called "gprs-sgsn"
Diffstat (limited to 'openbsc/include/openbsc/gsm_data.h')
-rw-r--r--openbsc/include/openbsc/gsm_data.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index db3eaff59..1c18c55d9 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -374,6 +374,7 @@ struct gsm_envabtse {
struct gsm_bts_gprs_nsvc {
struct gsm_bts *bts;
int id;
+ u_int16_t nsvci;
struct gsm_nm_state nm_state;
};
@@ -467,8 +468,10 @@ struct gsm_bts {
} nse;
struct {
struct gsm_nm_state nm_state;
+ u_int16_t bvci;
} cell;
struct gsm_bts_gprs_nsvc nsvc[2];
+ u_int8_t rac;
} gprs;
/* transceivers */
@@ -681,6 +684,16 @@ const char *rrlp_mode_name(enum rrlp_mode mode);
void gsm_trx_lock_rf(struct gsm_bts_trx *trx, int locked);
+/* A parsed GPRS routing area */
+struct gprs_ra_id {
+ u_int16_t mnc;
+ u_int16_t mcc;
+ u_int16_t lac;
+ u_int8_t rac;
+};
+
+int gsm48_ra_id_by_bts(u_int8_t *buf, struct gsm_bts *bts);
+void gprs_ra_id_by_bts(struct gprs_ra_id *raid, struct gsm_bts *bts);
struct gsm_meas_rep *lchan_next_meas_rep(struct gsm_lchan *lchan);
int gsm_bts_model_register(struct gsm_bts_model *model);