162306a36Sopenharmony_ci#!/bin/sh 262306a36Sopenharmony_ci# SPDX-License-Identifier: LGPL-2.1 362306a36Sopenharmony_ci 462306a36Sopenharmony_ciif [ $# -gt 0 ] ; then 562306a36Sopenharmony_ci uapi_header_dir=$1 662306a36Sopenharmony_ci beauty_header_dir=$2 762306a36Sopenharmony_cielse 862306a36Sopenharmony_ci uapi_header_dir=tools/include/uapi/linux/ 962306a36Sopenharmony_ci beauty_header_dir=tools/perf/trace/beauty/include/linux/ 1062306a36Sopenharmony_cifi 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciprintf "static const char *socket_ipproto[] = {\n" 1362306a36Sopenharmony_ciipproto_regex='^[[:space:]]+IPPROTO_(\w+)[[:space:]]+=[[:space:]]+([[:digit:]]+),.*' 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_cigrep -E $ipproto_regex ${uapi_header_dir}/in.h | \ 1662306a36Sopenharmony_ci sed -r "s/$ipproto_regex/\2 \1/g" | \ 1762306a36Sopenharmony_ci sort -n | xargs printf "\t[%s] = \"%s\",\n" 1862306a36Sopenharmony_ciprintf "};\n\n" 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciprintf "static const char *socket_level[] = {\n" 2162306a36Sopenharmony_cisocket_level_regex='^#define[[:space:]]+SOL_(\w+)[[:space:]]+([[:digit:]]+)([[:space:]]+\/.*)?' 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_cigrep -E $socket_level_regex ${beauty_header_dir}/socket.h | \ 2462306a36Sopenharmony_ci sed -r "s/$socket_level_regex/\2 \1/g" | \ 2562306a36Sopenharmony_ci sort -n | xargs printf "\t[%s] = \"%s\",\n" 2662306a36Sopenharmony_ciprintf "};\n\n" 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ciprintf 'DEFINE_STRARRAY(socket_level, "SOL_");\n' 29