aboutsummaryrefslogtreecommitdiffstats
path: root/tests/libosmo-gtlv/Makefile.am
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2022-01-12 02:57:58 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2022-06-16 13:04:33 +0200
commitf842c8c8d0d809b298668c9f547e6df837532fce (patch)
tree6c3995481acf761db5785eb40eca18a2ce3927c8 /tests/libosmo-gtlv/Makefile.am
parent2100097ef1be98a338b583f15bb5f529690829ff (diff)
libosmo-gtlv: add auto dec/enc to/from structs
Add osmo_gtlv_coding: describe the value part of a TLV (decode and encode), describe a struct with its members, and get/put readily decoded structs from/to a raw PDU, directly. With osmo_gtlv_coding defined for a protocol's tags, we only deal with encoded PDUs or fully decoded C structs, no TLV related re-implementations clutter up the message handling code. A usage example is given in gtlv_dec_enc_test. The first real use will be the PFCP protocol in osmo-upf.git. With osmo_gtlv_coding, there still is a lot of monkey work involved in describing the decoded structs. A subsequent patch adds a generator for osmo_gtlv_coding and message structs from tag value lists. Related: SYS#5599 Change-Id: I65de793105882a452124ee58adb0e58469e6e796
Diffstat (limited to 'tests/libosmo-gtlv/Makefile.am')
-rw-r--r--tests/libosmo-gtlv/Makefile.am12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/libosmo-gtlv/Makefile.am b/tests/libosmo-gtlv/Makefile.am
index 7ab4ae0..6d85334 100644
--- a/tests/libosmo-gtlv/Makefile.am
+++ b/tests/libosmo-gtlv/Makefile.am
@@ -10,10 +10,12 @@ AM_CFLAGS = \
noinst_PROGRAMS = \
gtlv_test \
+ gtlv_dec_enc_test \
$(NULL)
EXTRA_DIST = \
gtlv_test.ok \
+ gtlv_dec_enc_test.ok \
$(NULL)
gtlv_test_SOURCES = \
@@ -25,6 +27,16 @@ gtlv_test_LDADD = \
$(LIBOSMOCORE_LIBS) \
$(NULL)
+gtlv_dec_enc_test_SOURCES = \
+ gtlv_dec_enc_test.c \
+ $(NULL)
+
+gtlv_dec_enc_test_LDADD = \
+ $(top_builddir)/src/libosmo-gtlv/libosmo-gtlv.a \
+ $(LIBOSMOCORE_LIBS) \
+ $(NULL)
+
.PHONY: update_exp
update_exp:
$(builddir)/gtlv_test >$(srcdir)/gtlv_test.ok
+ $(builddir)/gtlv_dec_enc_test >$(srcdir)/gtlv_dec_enc_test.ok