summaryrefslogtreecommitdiffstats
path: root/src/host/layer23/include/osmocom/bb/mobile/support.h
diff options
context:
space:
mode:
authorSylvain Munaut2010-07-27 20:44:46 +0200
committerSylvain Munaut2010-07-27 20:49:27 +0200
commit9e9f99c0a094a3b82a75bbac33cabc2be8a6bacb (patch)
tree24f420eb61d8204c93ae1f369221626e2c27a948 /src/host/layer23/include/osmocom/bb/mobile/support.h
parentlayer23: Split [1/2] -> The source code (diff)
downloadosmocom-9e9f99c0a094a3b82a75bbac33cabc2be8a6bacb.tar.gz
osmocom-9e9f99c0a094a3b82a75bbac33cabc2be8a6bacb.tar.xz
osmocom-9e9f99c0a094a3b82a75bbac33cabc2be8a6bacb.zip
layer23: Split [2/2] -> The header files
This split the headers and adapt the source. We use osmocom/bb as a prefix because libosomore also uses osmocom and generic names such as misc & common could conflict in the future. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Diffstat (limited to 'src/host/layer23/include/osmocom/bb/mobile/support.h')
-rw-r--r--src/host/layer23/include/osmocom/bb/mobile/support.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/host/layer23/include/osmocom/bb/mobile/support.h b/src/host/layer23/include/osmocom/bb/mobile/support.h
new file mode 100644
index 0000000..9af4d1b
--- /dev/null
+++ b/src/host/layer23/include/osmocom/bb/mobile/support.h
@@ -0,0 +1,94 @@
+#ifndef _SUPPORT_H
+#define _SUPPORT_H
+
+#define GSM_CIPHER_A5_1 0
+#define GSM_CIPHER_A5_2 1
+#define GSM_CIPHER_A5_3 2
+#define GSM_CIPHER_A5_4 3
+#define GSM_CIPHER_A5_5 4
+#define GSM_CIPHER_A5_6 5
+#define GSM_CIPHER_A5_7 6
+#define GSM_CIPHER_RESERVED 7
+
+struct gsm_support {
+ struct osmocom_ms *ms;
+
+ /* rf power capability */
+ uint8_t pwr_lev_900; /* and < 900 */
+ uint8_t pwr_lev_1800; /* DCS and PCS */
+ /* controlled early classmark sending */
+ uint8_t es_ind;
+ /* revision level */
+ uint8_t rev_lev;
+ /* support of VGCS */
+ uint8_t vgcs;
+ /* support of VBS */
+ uint8_t vbs;
+ /* support of SMS */
+ uint8_t sms_ptp;
+ /* screening indicator */
+ uint8_t ss_ind;
+ /* pseudo synchronised capability */
+ uint8_t ps_cap;
+ /* CM service prompt */
+ uint8_t cmsp;
+ /* solsa support */
+ uint8_t solsa;
+ /* location service support */
+ uint8_t lcsva;
+ /* codec supprot */
+ uint8_t a5_1;
+ uint8_t a5_2;
+ uint8_t a5_3;
+ uint8_t a5_4;
+ uint8_t a5_5;
+ uint8_t a5_6;
+ uint8_t a5_7;
+ /* radio support */
+ uint8_t p_gsm;
+ uint8_t e_gsm;
+ uint8_t r_gsm;
+ uint8_t r_capa;
+ uint8_t low_capa;
+ uint8_t dcs_1800;
+ uint8_t dcs_capa;
+ uint8_t freq_map[128];
+ /* multi slot support */
+ uint8_t ms_sup;
+ /* ucs2 treatment */
+ uint8_t ucs2_treat;
+ /* support extended measurements */
+ uint8_t ext_meas;
+ /* support switched measurement capability */
+ uint8_t meas_cap;
+ uint8_t sms_val;
+ uint8_t sm_val;
+ /* positioning method capability */
+ uint8_t loc_serv;
+ uint8_t e_otd_ass;
+ uint8_t e_otd_based;
+ uint8_t gps_ass;
+ uint8_t gps_based;
+ uint8_t gps_conv;
+
+ /* radio */
+ int8_t min_rxlev_db;
+ uint8_t scan_to;
+ uint8_t sync_to;
+};
+
+struct gsm_support_scan_max {
+ uint16_t start;
+ uint16_t end;
+ uint16_t max;
+ uint16_t temp;
+};
+extern struct gsm_support_scan_max gsm_sup_smax[];
+
+void gsm_support_init(struct osmocom_ms *ms);
+int gsm_support_txpwr(uint8_t tx_power, uint16_t arfcn);
+void gsm_support_dump(struct gsm_support *sup,
+ void (*print)(void *, const char *, ...), void *priv);
+
+#endif /* _SUPPORT_H */
+