1# Filter preprocessor __NR_* macros and extract system call names. 2# Copyright (C) 2017-2021 Free Software Foundation, Inc. 3# This file is part of the GNU C Library. 4# 5# The GNU C Library is free software; you can redistribute it and/or 6# modify it under the terms of the GNU Lesser General Public 7# License as published by the Free Software Foundation; either 8# version 2.1 of the License, or (at your option) any later version. 9# 10# The GNU C Library is distributed in the hope that it will be useful, 11# but WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13# Lesser General Public License for more details. 14# 15# You should have received a copy of the GNU Lesser General Public 16# License along with the GNU C Library; if not, see 17# <https://www.gnu.org/licenses/>. 18 19# Skip reserved system calls. 20/^#define __NR_(unused|reserved)[0-9]+ / { 21 next; 22} 23 24# Skip pseudo-system calls which describe ranges. 25/^#define __NR_(syscalls|arch_specific_syscall|(OABI_)?SYSCALL_BASE|SYSCALL_MASK) / { 26 next; 27} 28/^#define __NR_(|64_|[NO]32_)Linux(_syscalls)? / { 29 next; 30} 31 32# Print the remaining _NR_* macros as system call names. 33/^#define __NR_/ { 34 print substr($2, 6); 35} 36