e1_input: Support I.460 timeslot type
Unlike the legacy TRAU mode, this only adds I460 mux/demux,
without any TRAU frame synchronization. The user must still be
adding the actual sub-channels using osmo_i460_subchan_add()
depending on his requirements.
Change-Id: I44da6dfec77ef475adb35001a0e4fa11d549aa02
diff --git a/include/osmocom/abis/e1_input.h b/include/osmocom/abis/e1_input.h
index 44708bb..9b99f12 100644
--- a/include/osmocom/abis/e1_input.h
+++ b/include/osmocom/abis/e1_input.h
@@ -9,6 +9,7 @@
#include <osmocom/core/timer.h>
#include <osmocom/core/msgb.h>
#include <osmocom/core/select.h>
+#include <osmocom/gsm/i460_mux.h>
#include <osmocom/abis/subchan_demux.h>
#include <osmocom/abis/lapd.h>
@@ -73,9 +74,10 @@
E1INP_TS_TYPE_TRAU,
E1INP_TS_TYPE_RAW,
E1INP_TS_TYPE_HDLC,
+ E1INP_TS_TYPE_I460,
};
const char *e1inp_tstype_name(enum e1inp_ts_type tp);
-extern const struct value_string e1inp_ts_type_names[6];
+extern const struct value_string e1inp_ts_type_names[];
/* A timeslot in the E1 interface */
struct e1inp_ts {
@@ -115,6 +117,9 @@
/* queue of pending to-be-transmitted msgbs */
struct llist_head tx_queue;
} hdlc;
+ struct {
+ struct osmo_i460_timeslot i460_ts;
+ } i460;
};
union {
struct {