File: socket.sh

package info (click to toggle)
linux 6.18.9-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,742,212 kB
  • sloc: ansic: 26,783,651; asm: 272,129; sh: 148,799; python: 79,242; makefile: 57,742; perl: 36,527; xml: 19,542; cpp: 5,911; yacc: 4,939; lex: 2,950; awk: 1,607; sed: 30; ruby: 25
file content (28 lines) | stat: -rwxr-xr-x 874 bytes parent folder | download | duplicates (18)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/sh
# SPDX-License-Identifier: LGPL-2.1

if [ $# -gt 0 ] ; then
	uapi_header_dir=$1
	beauty_header_dir=$2
else
	uapi_header_dir=tools/include/uapi/linux/
	beauty_header_dir=tools/perf/trace/beauty/include/linux/
fi

printf "static const char *socket_ipproto[] = {\n"
ipproto_regex='^[[:space:]]+IPPROTO_(\w+)[[:space:]]+=[[:space:]]+([[:digit:]]+),.*'

grep -E $ipproto_regex ${uapi_header_dir}/in.h | \
	sed -r "s/$ipproto_regex/\2 \1/g"	| \
	sort -n | xargs printf "\t[%s] = \"%s\",\n"
printf "};\n\n"

printf "static const char *socket_level[] = {\n"
socket_level_regex='^#define[[:space:]]+SOL_(\w+)[[:space:]]+([[:digit:]]+)([[:space:]]+/.*)?'

grep -E $socket_level_regex ${beauty_header_dir}/socket.h | \
	sed -E "s%$socket_level_regex%\2 \1%g"	| \
	sort -n | xargs printf "\t[%s] = \"%s\",\n"
printf "};\n\n"

printf 'DEFINE_STRARRAY(socket_level, "SOL_");\n'