summaryrefslogtreecommitdiffstats
path: root/src/host/layer23/include/osmocom
diff options
context:
space:
mode:
authorAndreas.Eversberg <jolly@eversberg.eu>2010-11-13 18:45:09 +0000
committerAndreas.Eversberg <jolly@eversberg.eu>2010-11-13 18:45:09 +0000
commit6f2b172780195e0af780ecd0a4fff0fac9b8438b (patch)
tree44423a4d31fa2767e26c988a258a960e7e51e5a1 /src/host/layer23/include/osmocom
parent4df881932c30c2d3deb88c53a55a21fd342068d8 (diff)
[layer23] Added support for multiple MS instances
To create another instance: 'ms <name> create' To remove an instance: 'no ms <name>' If no instance exists, 'ms 1' is created automatically on startup. Each instance can be enabled / disabled by using 'shutdown' or 'no shutdown'. Multiple instances may share the same layer2 socket (same phone hardware), but in this case only one instance can be enabled at the same time. This makes it much easier to select different settings without modifying them. A 'shutdown' initiates the IMSI detach procedure before shutdown is completed. A 'shutdown force' will immidiately shutdown. There is no need to restart the software anymore, if fundamental settings are changed. In this case, a 'shutdown' followed by a 'no shutdown' will do the job. If you already have an old osmocom.cfg, you need to "no shutdown" it. Everything else behaves as before.
Diffstat (limited to 'src/host/layer23/include/osmocom')
-rw-r--r--src/host/layer23/include/osmocom/bb/common/osmocom_data.h8
-rw-r--r--src/host/layer23/include/osmocom/bb/mobile/gsm322.h2
-rw-r--r--src/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h1
-rw-r--r--src/host/layer23/include/osmocom/bb/mobile/settings.h3
4 files changed, 12 insertions, 2 deletions
diff --git a/src/host/layer23/include/osmocom/bb/common/osmocom_data.h b/src/host/layer23/include/osmocom/bb/common/osmocom_data.h
index 77a60672..da35cdb0 100644
--- a/src/host/layer23/include/osmocom/bb/common/osmocom_data.h
+++ b/src/host/layer23/include/osmocom/bb/common/osmocom_data.h
@@ -53,6 +53,7 @@ struct osmocom_ms {
struct write_queue l2_wq, sap_wq;
uint16_t test_arfcn;
+ uint8_t delete, shutdown, started;
struct gsm_support support;
struct gsm_settings settings;
struct gsm_subscriber subscr;
@@ -70,9 +71,10 @@ struct osmocom_ms {
enum osmobb_sig_subsys {
SS_L1CTL,
+ SS_GLOBAL,
};
-enum osmobb_meas_sig {
+enum osmobb_l1ctl_sig {
S_L1CTL_FBSB_ERR,
S_L1CTL_FBSB_RESP,
S_L1CTL_RESET,
@@ -83,6 +85,10 @@ enum osmobb_meas_sig {
S_L1CTL_LOSS_IND,
};
+enum osmobb_global_sig {
+ S_GLOBAL_SHUTDOWN,
+};
+
struct osmobb_fbsb_res {
struct osmocom_ms *ms;
int8_t snr;
diff --git a/src/host/layer23/include/osmocom/bb/mobile/gsm322.h b/src/host/layer23/include/osmocom/bb/mobile/gsm322.h
index 78e380fe..467ff39a 100644
--- a/src/host/layer23/include/osmocom/bb/mobile/gsm322.h
+++ b/src/host/layer23/include/osmocom/bb/mobile/gsm322.h
@@ -196,6 +196,8 @@ void start_loss_timer(struct gsm322_cellsel *cs, int sec, int micro);
extern const char *plmn_a_state_names[];
extern const char *plmn_m_state_names[];
extern const char *cs_state_names[];
+int gsm322_l1_signal(unsigned int subsys, unsigned int signal,
+ void *handler_data, void *signal_data);
char *gsm_print_rxlev(uint8_t rxlev);
diff --git a/src/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h b/src/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h
index 0d181824..447dc95f 100644
--- a/src/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h
+++ b/src/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h
@@ -191,7 +191,6 @@ struct gsm48_mmlayer {
/* other */
uint8_t est_cause; /* cause of establishment msg */
int mr_substate; /* rem most recent substate */
- uint8_t power_off; /* set, if power off after detach */
uint8_t power_off_idle; /* waits for IDLE before po */
};
diff --git a/src/host/layer23/include/osmocom/bb/mobile/settings.h b/src/host/layer23/include/osmocom/bb/mobile/settings.h
index 178ef081..d0848a82 100644
--- a/src/host/layer23/include/osmocom/bb/mobile/settings.h
+++ b/src/host/layer23/include/osmocom/bb/mobile/settings.h
@@ -8,6 +8,9 @@ enum {
};
struct gsm_settings {
+ char layer2_socket_path[128];
+ char sap_socket_path[128];
+
/* IMEI */
char imei[16];
char imeisv[17];