diff options
Diffstat (limited to 'src/libbasic/include/basic')
-rw-r--r-- | src/libbasic/include/basic/Makefile | 62 | ||||
-rw-r--r-- | src/libbasic/include/basic/escape.h | 2 | ||||
-rw-r--r-- | src/libbasic/include/basic/missing.h | 13 | ||||
-rw-r--r-- | src/libbasic/include/basic/socket-util.h | 1 |
4 files changed, 71 insertions, 7 deletions
diff --git a/src/libbasic/include/basic/Makefile b/src/libbasic/include/basic/Makefile new file mode 100644 index 0000000000..eb8483fe8f --- /dev/null +++ b/src/libbasic/include/basic/Makefile @@ -0,0 +1,62 @@ +# -*- Mode: makefile; indent-tabs-mode: t -*- +# +# This file is part of systemd. +# +# Copyright 2010-2012 Lennart Poettering +# Copyright 2010-2012 Kay Sievers +# Copyright 2013 Zbigniew Jędrzejewski-Szmek +# Copyright 2013 David Strauss +# Copyright 2016 Luke Shumaker +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# systemd is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with systemd; If not, see <http://www.gnu.org/licenses/>. +include $(dir $(lastword $(MAKEFILE_LIST)))/../../../../config.mk +include $(topsrcdir)/build-aux/Makefile.head.mk + +$(outdir)/errno-list.txt: + $(AM_V_GEN)$(CPP) $(sd.ALL_CPPFLAGS) -dM -include errno.h - </dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+/ { print $$2; }' >$@ + +$(outdir)/errno-to-name.h: $(outdir)/errno-list.txt + $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} !/EDEADLOCK/ && !/EWOULDBLOCK/ && !/ENOTSUP/ { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' <$< >$@ + + +$(outdir)/af-list.txt: + $(AM_V_GEN)$(CPP) $(sd.ALL_CPPFLAGS) -dM -include sys/socket.h - </dev/null | grep -v AF_UNSPEC | grep -v AF_MAX | $(AWK) '/^#define[ \t]+AF_[^ \t]+[ \t]+PF_[^ \t]/ { print $$2; }' >$@ + +$(outdir)/af-to-name.h: $(outdir)/af-list.txt + $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const af_names[] = { "} !/AF_FILE/ && !/AF_ROUTE/ && !/AF_LOCAL/ { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' <$< >$@ + + +$(outdir)/arphrd-list.txt: + $(AM_V_GEN)$(CPP) $(sd.ALL_CPPFLAGS) -dM -include net/if_arp.h - </dev/null | $(AWK) '/^#define[ \t]+ARPHRD_[^ \t]+[ \t]+[^ \t]/ { print $$2; }' | sed -e 's/ARPHRD_//' >$@ + +$(outdir)/arphrd-to-name.h: $(outdir)/arphrd-list.txt + $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const arphrd_names[] = { "} !/CISCO/ { printf "[ARPHRD_%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' <$< >$@ + +$(outdir)/arphrd-from-name.gperf: $(outdir)/arphrd-list.txt + $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct arphrd_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { printf "%s, ARPHRD_%s\n", $$1, $$1 }' <$< >$@ + + +$(outdir)/cap-list.txt: + $(AM_V_GEN)$(CPP) $(sd.ALL_CPPFLAGS) -dM -include linux/capability.h -include missing.h - </dev/null | $(AWK) '/^#define[ \t]+CAP_[A-Z_]+[ \t]+/ { print $$2; }' | grep -v CAP_LAST_CAP >$@ + +$(outdir)/cap-to-name.h: $(outdir)/cap-list.txt + $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const capability_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, tolower($$1) } END{print "};"}' <$< >$@ + +$(outdir)/cap-from-name.gperf: $(outdir)/cap-list.txt + $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct capability_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { printf "%s, %s\n", $$1, $$1 }' <$< >$@ + +$(outdir)/cap-from-name.h: $(outdir)/cap-from-name.gperf + $(AM_V_GPERF)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_capability -H hash_capability_name -p -C <$< >$@ + +include $(topsrcdir)/build-aux/Makefile.tail.mk diff --git a/src/libbasic/include/basic/escape.h b/src/libbasic/include/basic/escape.h index deaa4def28..6e58f61e19 100644 --- a/src/libbasic/include/basic/escape.h +++ b/src/libbasic/include/basic/escape.h @@ -25,8 +25,8 @@ #include <sys/types.h> #include <uchar.h> -#include "string-util.h" #include "missing.h" +#include "string-util.h" /* What characters are special in the shell? */ /* must be escaped outside and inside double-quotes */ diff --git a/src/libbasic/include/basic/missing.h b/src/libbasic/include/basic/missing.h index 651e414395..168d8cdb0a 100644 --- a/src/libbasic/include/basic/missing.h +++ b/src/libbasic/include/basic/missing.h @@ -23,6 +23,13 @@ #include <errno.h> #include <fcntl.h> +#include <net/ethernet.h> +#include <stdlib.h> +#include <sys/resource.h> +#include <sys/syscall.h> +#include <uchar.h> +#include <unistd.h> + #include <linux/audit.h> #include <linux/capability.h> #include <linux/if_link.h> @@ -31,12 +38,6 @@ #include <linux/neighbour.h> #include <linux/oom.h> #include <linux/rtnetlink.h> -#include <net/ethernet.h> -#include <stdlib.h> -#include <sys/resource.h> -#include <sys/syscall.h> -#include <uchar.h> -#include <unistd.h> #ifdef HAVE_AUDIT #include <libaudit.h> diff --git a/src/libbasic/include/basic/socket-util.h b/src/libbasic/include/basic/socket-util.h index e9230e4a9f..bad1f32e09 100644 --- a/src/libbasic/include/basic/socket-util.h +++ b/src/libbasic/include/basic/socket-util.h @@ -26,6 +26,7 @@ #include <sys/socket.h> #include <sys/types.h> #include <sys/un.h> + #include <linux/netlink.h> #include <linux/if_packet.h> |