25 lines · bash
1#!/bin/sh2# SPDX-License-Identifier: LGPL-2.13 4# This one uses a copy from the kernel sources headers that is in a5# place used just for these tools/perf/beauty/ usage, we shouldn't not6# put it in tools/include/linux otherwise they would be used in the7# normal compiler building process and would drag needless stuff from the8# kernel.9 10# When what these scripts need is already in tools/include/ then use it,11# otherwise grab and check the copy from the kernel sources just for these12# string table building scripts.13 14[ $# -eq 1 ] && header_dir=$1 || header_dir=tools/perf/trace/beauty/include/linux/15 16printf "static const char *socket_families[] = {\n"17# #define AF_LOCAL 1 /* POSIX name for AF_UNIX */18regex='^#define[[:space:]]+AF_(\w+)[[:space:]]+([[:digit:]]+).*'19 20grep -E $regex ${header_dir}/socket.h | \21 sed -r "s/$regex/\2 \1/g" | \22 xargs printf "\t[%s] = \"%s\",\n" | \23 grep -E -v "\"(UNIX|MAX)\""24printf "};\n"25