1795f91dbSArnaldo Carvalho de Melo#!/bin/sh 2795f91dbSArnaldo Carvalho de Melo# SPDX-License-Identifier: LGPL-2.1 3795f91dbSArnaldo Carvalho de Melo 41a1edf33SArnaldo Carvalho de Meloif [ $# -gt 0 ] ; then 51a1edf33SArnaldo Carvalho de Melo uapi_header_dir=$1 6ecf0a35bSArnaldo Carvalho de Melo beauty_header_dir=$2 71a1edf33SArnaldo Carvalho de Meloelse 81a1edf33SArnaldo Carvalho de Melo uapi_header_dir=tools/include/uapi/linux/ 9ecf0a35bSArnaldo Carvalho de Melo beauty_header_dir=tools/perf/trace/beauty/include/linux/ 101a1edf33SArnaldo Carvalho de Melofi 11795f91dbSArnaldo Carvalho de Melo 12795f91dbSArnaldo Carvalho de Meloprintf "static const char *socket_ipproto[] = {\n" 1382e3664bSArnaldo Carvalho de Meloipproto_regex='^[[:space:]]+IPPROTO_(\w+)[[:space:]]+=[[:space:]]+([[:digit:]]+),.*' 14795f91dbSArnaldo Carvalho de Melo 15*818448e9STiezhu Yanggrep -E $ipproto_regex ${uapi_header_dir}/in.h | \ 1682e3664bSArnaldo Carvalho de Melo sed -r "s/$ipproto_regex/\2 \1/g" | \ 17d3f82839SArnaldo Carvalho de Melo sort -n | xargs printf "\t[%s] = \"%s\",\n" 18ecf0a35bSArnaldo Carvalho de Meloprintf "};\n\n" 19ecf0a35bSArnaldo Carvalho de Melo 20ecf0a35bSArnaldo Carvalho de Meloprintf "static const char *socket_level[] = {\n" 21ecf0a35bSArnaldo Carvalho de Melosocket_level_regex='^#define[[:space:]]+SOL_(\w+)[[:space:]]+([[:digit:]]+)([[:space:]]+\/.*)?' 22ecf0a35bSArnaldo Carvalho de Melo 23*818448e9STiezhu Yanggrep -E $socket_level_regex ${beauty_header_dir}/socket.h | \ 24ecf0a35bSArnaldo Carvalho de Melo sed -r "s/$socket_level_regex/\2 \1/g" | \ 25ecf0a35bSArnaldo Carvalho de Melo sort -n | xargs printf "\t[%s] = \"%s\",\n" 26ecf0a35bSArnaldo Carvalho de Meloprintf "};\n\n" 27ecf0a35bSArnaldo Carvalho de Melo 28ecf0a35bSArnaldo Carvalho de Meloprintf 'DEFINE_STRARRAY(socket_level, "SOL_");\n' 29