summaryrefslogtreecommitdiff
path: root/gsmstack/gsmstack.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2008-12-01 01:19:19 +0530
committerHarald Welte <laforge@gnumonks.org>2008-12-01 01:19:19 +0530
commitfd405f799425b6832a0c9cc7a56b07f43288b8b1 (patch)
treec02cdfa014a63339950a98ef7e3bdbebb44adbf5 /gsmstack/gsmstack.c
parent753c2fc0f6861f6a3dcf6e5520343d93b5ed2317 (diff)
gsmstack: add new unfinished GSM burst/channel demultiplex
This is some unfinished work on a new codebase for 'proper' demultiplex of all the various physical and logical channel types. Basically this includes everything needed to get from the differential-decoded bursts up to the MAC blocks that can be passed up to layer 2.
Diffstat (limited to 'gsmstack/gsmstack.c')
-rw-r--r--gsmstack/gsmstack.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/gsmstack/gsmstack.c b/gsmstack/gsmstack.c
new file mode 100644
index 0000000..1690d15
--- /dev/null
+++ b/gsmstack/gsmstack.c
@@ -0,0 +1,31 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <malloc.h>
+#include <errno.h>
+
+#include "gsmstack.h"
+
+
+struct gsm_rf_chan *gsm_init_rfchan(unsigned int arfcn)
+{
+ struct gsm_rf_chan *rf;
+ int i;
+
+ rf = malloc(sizeof(*rf));
+ if (!rf)
+ return NULL;
+ memset(rf, 0, sizeof(*rf));
+
+ rf->arfcn = arfcn;
+
+ for (i = 0; i < NR_TIMESLOTS; i++) {
+ struct gsm_phys_chan *pchan;
+
+ pchan = rf->phys_chan[i];
+ pchan->timeslot = i;
+ pchan->rf_chan = rf;
+ }
+
+ return rf;
+}
personal git repositories of Harald Welte. Your mileage may vary