]> granicus.if.org Git - strace/blob - maint/ioctls_hex.sh
33937a6212da9e1410bd54ad686f6307fc68bb75
[strace] / maint / ioctls_hex.sh
1 #!/bin/sh
2 # Copyright (c) 2001 Wichert Akkerman <wichert@cistron.nl>
3 # Copyright (c) 2004-2015 Dmitry V. Levin <ldv@altlinux.org>
4 # All rights reserved.
5 #
6 # SPDX-License-Identifier: LGPL-2.1-or-later
7
8 set -efu
9
10 me="${0##*/}"
11
12 [ $# -ge 2 ] || {
13         echo >&2 "usage: $me include-directory type [files...]"
14         exit 1
15 }
16
17 dir="$1"; shift # dir must exist
18 type="$1"; shift # type might be a regexp
19
20 cd "$dir"
21
22 regexp='[[:space:]]*#[[:space:]]*define[[:space:]]\+\([A-Z][A-Z0-9_]*\)[[:space:]]\+\(0x'"$type"'..\)\>'
23
24 for f; do
25         grep "^$regexp" "$f" "uapi/$f" 2>/dev/null ||:;
26 done |
27         sed 's|^uapi/||' |
28         sed -n 's/^\([^:]*\):'"$regexp"'.*/{ "\1", "\2", 0, \3, 0 },/p' |
29         LC_COLLATE=C sort -u