1#!/bin/sh 2# SPDX-License-Identifier: LGPL-2.1 3 4if [ $# -gt 0 ] ; then 5 uapi_header_dir=$1 6 beauty_header_dir=$2 7else 8 uapi_header_dir=tools/include/uapi/linux/ 9 beauty_header_dir=tools/perf/trace/beauty/include/linux/ 10fi 11 12printf "static const char *socket_ipproto[] = {\n" 13ipproto_regex='^[[:space:]]+IPPROTO_(\w+)[[:space:]]+=[[:space:]]+([[:digit:]]+),.*' 14 15grep -E $ipproto_regex ${uapi_header_dir}/in.h | \ 16 sed -r "s/$ipproto_regex/\2 \1/g" | \ 17 sort -n | xargs printf "\t[%s] = \"%s\",\n" 18printf "};\n\n" 19 20printf "static const char *socket_level[] = {\n" 21socket_level_regex='^#define[[:space:]]+SOL_(\w+)[[:space:]]+([[:digit:]]+)([[:space:]]+/.*)?' 22 23grep -E $socket_level_regex ${beauty_header_dir}/socket.h | \ 24 sed -E "s%$socket_level_regex%\2 \1%g" | \ 25 sort -n | xargs printf "\t[%s] = \"%s\",\n" 26printf "};\n\n" 27 28printf 'DEFINE_STRARRAY(socket_level, "SOL_");\n' 29