aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom/gsm
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2022-11-29 23:16:52 +0100
committerHarald Welte <laforge@osmocom.org>2023-03-08 20:43:15 +0100
commitc4cfb802dfc4be4abb04cb3a716a067b1686cc88 (patch)
tree0343ea42377bdbad69585f4d1fea8e4acc2ff094 /include/osmocom/gsm
parent065dab866e9ba4f9465ca1682818cc0159dad801 (diff)
gsm: TS 44.021 modified V.110 frame encoding/decoding support
3GPP TS 44.021 specifies the format for modified V.110 frames as used on the GSM air (radio) interface. Implement encoders and decoders for this modified V.110 format. Related: OS#1572 Change-Id: I60a2f2690459359437df20cf4da9043fa7c3ad11
Diffstat (limited to 'include/osmocom/gsm')
-rw-r--r--include/osmocom/gsm/Makefile.am1
-rw-r--r--include/osmocom/gsm/gsm44021.h8
2 files changed, 9 insertions, 0 deletions
diff --git a/include/osmocom/gsm/Makefile.am b/include/osmocom/gsm/Makefile.am
index 2c59e557..f840a275 100644
--- a/include/osmocom/gsm/Makefile.am
+++ b/include/osmocom/gsm/Makefile.am
@@ -29,6 +29,7 @@ osmogsm_HEADERS = \
gsm23003.h \
gsm23236.h \
gsm29118.h \
+ gsm44021.h \
gsm48.h \
gsm48_arfcn_range_encode.h \
gsm48_ie.h \
diff --git a/include/osmocom/gsm/gsm44021.h b/include/osmocom/gsm/gsm44021.h
new file mode 100644
index 00000000..8f89c56b
--- /dev/null
+++ b/include/osmocom/gsm/gsm44021.h
@@ -0,0 +1,8 @@
+#pragma once
+#include <osmocom/isdn/v110.h>
+
+int osmo_csd_12k_6k_decode_frame(struct osmo_v110_decoded_frame *fr, const ubit_t *ra_bits, size_t n_bits);
+int osmo_csd_12k_6k_encode_frame(ubit_t *ra_bits, size_t ra_bits_size, const struct osmo_v110_decoded_frame *fr);
+int osmo_csd_3k6_decode_frame(struct osmo_v110_decoded_frame *fr, const ubit_t *ra_bits, size_t n_bits);
+int osmo_csd_3k6_encode_frame(ubit_t *ra_bits, size_t ra_bits_size, const struct osmo_v110_decoded_frame *fr);
+void osmo_csd_ubit_dump(FILE *outf, const ubit_t *fr, size_t in_len);