aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/system_information.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-06-15 16:44:12 +0200
committerHarald Welte <laforge@gnumonks.org>2010-06-20 10:44:53 +0200
commit7401ae6a7932dd8156087bdaf6fc476e6a49f96f (patch)
treec994b808dbd732c5547c4f12a9cebc87ceb9530f /openbsc/include/openbsc/system_information.h
parentfd3708976ab894cd3a8529d3956b32d39344ca24 (diff)
[BSC] Keep a SYSTEM INFORMATION cache for each BTS
This will later be useful for handover where we need to copy the cell channel allocation into a normal 04.08 message
Diffstat (limited to 'openbsc/include/openbsc/system_information.h')
-rw-r--r--openbsc/include/openbsc/system_information.h35
1 files changed, 34 insertions, 1 deletions
diff --git a/openbsc/include/openbsc/system_information.h b/openbsc/include/openbsc/system_information.h
index 982a9ac63..55c00d817 100644
--- a/openbsc/include/openbsc/system_information.h
+++ b/openbsc/include/openbsc/system_information.h
@@ -1,6 +1,39 @@
#ifndef _SYSTEM_INFO_H
#define _SYSTEM_INFO_H
-int gsm_generate_si(u_int8_t *output, struct gsm_bts *bts, int type);
+#define GSM_MACBLOCK_LEN 23
+
+enum osmo_sysinfo_type {
+ SYSINFO_TYPE_NONE,
+ SYSINFO_TYPE_1,
+ SYSINFO_TYPE_2,
+ SYSINFO_TYPE_3,
+ SYSINFO_TYPE_4,
+ SYSINFO_TYPE_5,
+ SYSINFO_TYPE_6,
+ SYSINFO_TYPE_7,
+ SYSINFO_TYPE_8,
+ SYSINFO_TYPE_9,
+ SYSINFO_TYPE_10,
+ SYSINFO_TYPE_13,
+ SYSINFO_TYPE_16,
+ SYSINFO_TYPE_17,
+ SYSINFO_TYPE_18,
+ SYSINFO_TYPE_19,
+ SYSINFO_TYPE_20,
+ SYSINFO_TYPE_2bis,
+ SYSINFO_TYPE_2ter,
+ SYSINFO_TYPE_2quater,
+ SYSINFO_TYPE_5bis,
+ SYSINFO_TYPE_5ter,
+ /* FIXME all the various bis and ter */
+ _MAX_SYSINFO_TYPE
+};
+
+typedef u_int8_t sysinfo_buf_t[GSM_MACBLOCK_LEN];
+
+uint8_t gsm_sitype2rsl(enum osmo_sysinfo_type si_type);
+const char *gsm_sitype_name(enum osmo_sysinfo_type si_type);
+int gsm_generate_si(struct gsm_bts *bts, enum osmo_sysinfo_type type);
#endif