path: root/Makefile.am
diff options
authorSean Young <sean@mess.org>2018-05-20 21:10:47 +0100
committerSean Young <sean@mess.org>2018-08-13 10:15:52 +0100
commitd6025b0e8c7f57b0f9390f987acc5eed57360d80 (patch)
tree1922f486adc601bbc198aa67fbc7aef81361a4d4 /Makefile.am
parent83062bda386de80f6bcf86da83ec490678b66081 (diff)
keytable: add support for BPF based protocols
We use a modified version of samples/bpf/bpf_load.c from the linux kernel tree to load elf based BPF protocols and display the BPF program names. Any global int variables can be overrided from the command line. The immediate values are patched in the BPF LD instructions. Write a BPF protocol decoder in C, and compile with: clang -O2 -c --target=bpf foo.c Now you can load the object file like so: ir-keytable -p foo.o -v Any parameters can be specified using -e name=value. Signed-off-by: Sean Young <sean@mess.org>
Diffstat (limited to 'Makefile.am')
1 files changed, 3 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am
index d6b01205..cb8b0d19 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -25,7 +25,8 @@ sync-with-kernel:
! -f $(KERNEL_DIR)/usr/include/linux/ivtv.h -o \
! -f $(KERNEL_DIR)/usr/include/linux/dvb/frontend.h -o \
! -f $(KERNEL_DIR)/usr/include/linux/dvb/dmx.h -o \
- ! -f $(KERNEL_DIR)/usr/include/linux/lirc.h ]; then \
+ ! -f $(KERNEL_DIR)/usr/include/linux/lirc.h -o \
+ ! -f $(KERNEL_DIR)/usr/include/linux/bpf.h ]; then \
echo "Error you must set KERNEL_DIR to point to an extracted kernel source dir"; \
echo "and run 'make headers_install' in \$$KERNEL_DIR."; \
exit 1; \
@@ -43,6 +44,7 @@ sync-with-kernel:
cp $(top_srcdir)/include/linux/dvb/frontend.h $(top_srcdir)/lib/include/libdvbv5/dvb-frontend.h
cp -a $(KERNEL_DIR)/usr/include/linux/dvb/dmx.h $(top_srcdir)/include/linux/dvb
cp -a $(KERNEL_DIR)/usr/include/linux/lirc.h $(top_srcdir)/include/linux
+ cp -a $(KERNEL_DIR)/usr/include/linux/bpf.h $(top_srcdir)/include/linux
cp -a $(KERNEL_DIR)/usr/include/linux/cec.h $(top_srcdir)/include/linux
cp -a $(KERNEL_DIR)/usr/include/linux/cec-funcs.h $(top_srcdir)/include/linux
cp -a $(KERNEL_DIR)/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c $(top_srcdir)/utils/common

Privacy Policy