Project import
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..4b1e2ba
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,92 @@
+#
+#    Copyright (c) 2010-2011 Nest, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the makefile for the system call tracer (strace).
+#
+
+BuildConfigSpecialized	:= No
+BuildProductSpecialized	:= No
+
+include pre.mak
+
+PackageName		:= strace
+
+PackageExtension	:= tar.bz2
+PackageSeparator	:= -
+
+PackagePatchArgs	:=
+
+PackageArchive		:= $(PackageName).$(PackageExtension)
+PackageSourceDir	:= $(PackageName)$(PackageSeparator)$(PackageVersion)
+
+PackageBuildMakefile	= $(call GenerateBuildPaths,Makefile)
+
+CleanPaths		+= $(PackageLicenseFile)
+
+all: $(PackageDefaultGoal)
+
+# Generate the package license contents.
+
+$(PackageSourceDir)/COPYRIGHT: source
+
+$(PackageLicenseFile): $(PackageSourceDir)/COPYRIGHT
+	$(copy-result)
+
+# Extract the source from the archive and apply patches, if any.
+
+$(PackageSourceDir): $(PackageArchive) $(PackagePatchPaths)
+	$(expand-and-patch-package)
+
+# Prepare the sources.
+
+.PHONY: source
+source: | $(PackageSourceDir)
+
+# Patch the sources, if necessary.
+
+.PHONY: patch
+patch: source
+
+# Generate the package build makefile.
+
+$(PackageBuildMakefile): | $(PackageSourceDir) $(BuildDirectory)
+	$(Verbose)cd $(BuildDirectory) && \
+	$(CURDIR)/$(PackageSourceDir)/configure \
+	INSTALL="$(INSTALL) $(INSTALLFLAGS)" \
+	CC="$(CC)" STRIP=$(STRIP) \
+	--build=$(HostTuple) \
+	--host=$(TargetTuple) \
+	--prefix=/usr
+
+# Configure the source for building.
+
+.PHONY: configure
+configure: source $(PackageBuildMakefile)
+
+# Build the source.
+
+.PHONY: build
+build: configure
+	$(Verbose)$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) all
+
+# Stage the build to a temporary installation area.
+
+.PHONY: stage
+stage: build | $(ResultDirectory)
+	$(Verbose)$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) DESTDIR=$(ResultDirectory) install
+
+clean:
+	$(Verbose)$(RM) $(RMFLAGS) -r $(PackageSourceDir)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory)
+
+include post.mak
diff --git a/strace-4.5.20/AUTHORS b/strace-4.5.20/AUTHORS
new file mode 100644
index 0000000..bbba831
--- /dev/null
+++ b/strace-4.5.20/AUTHORS
@@ -0,0 +1 @@
+See the file CREDITS.  Automake likes us to have this file called AUTHORS.
diff --git a/strace-4.5.20/COPYRIGHT b/strace-4.5.20/COPYRIGHT
new file mode 100644
index 0000000..faaa2d8
--- /dev/null
+++ b/strace-4.5.20/COPYRIGHT
@@ -0,0 +1,31 @@
+Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+Copyright (c) 1993 Ulrich Pegelow <pegelow@moorea.uni-muenster.de>
+Copyright (c) 1995, 1996 Michael Elizabeth Chastain <mec@duracef.shout.net>
+Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+Copyright (C) 1998-2001 Wichert Akkerman <wakkerma@deephackmode.org>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. The name of the author may not be used to endorse or promote products
+   derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+$Id$
diff --git a/strace-4.5.20/CREDITS b/strace-4.5.20/CREDITS
new file mode 100644
index 0000000..1b6600f
--- /dev/null
+++ b/strace-4.5.20/CREDITS
@@ -0,0 +1,49 @@
+The primary authors of strace are:
+
+	Paul Kranenburg <pk@cs.few.eur.nl>
+	Branko Lankester <branko@hacktic.nl>
+	Rick Sladkey <jrs@world.std.com>
+
+Thanks to the follow people for contributing to strace by reporting
+bugs, providing fixes, providing information, providing resources or
+porting to new systems:
+
+	Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+	Arkadiusz Miskiewicz <misiek@pld.org.pl>
+	Marty Leisner <leisner@sdsp.mc.xerox.com>
+	Lupe Christoph <lupe@alanya.isar.muc.de>
+	Thanh Ma <tma@encore.com>
+	Keith Thompson <kst@alsys.com>
+	Roland Borde <bo@uebemc.siemens.de>
+	Matt Day <mday@artisoft.com>
+	Joe Ilacqua <spike@world.std.com>
+	Ju"rgen Fluk <louis@marco.de>
+	Bo Kullmar <bk@kullmar.se>
+	Leonard N. Zubkoff <lnz@dandelion.com>
+	Reuben Sumner <rasumner@undergrad.math.uwaterloo.ca>
+	Juergen Weigert <jnweiger@immd4.informatik.uni-erlangen.de>
+	Linus Torvalds <Linus.Torvalds@cs.Helsinki.FI>
+	Michael E Chastain <mec@duracef.shout.net>
+	Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>
+	David S. Miller <davem@caip.rutgers.edu>
+	Matthias Pfaller <leo@dachau.marco.de>
+	Thomas Bogendoerfer <tsbogend@bigbug.franken.de>
+	Richard Henderson <richard@twiddle.tamu.edu>
+	Tom Dyas <tdyas@eden.rutgers.edu>
+	Henrik Storner <storner@osiris.ping.dk>
+	David Mosberger-Tang <davidm@hpl.hp.com>
+	Ulrich Drepper <drepper@cygnus.com>
+	Nate Eldredge <nate@cartsys.com>
+	Jakub Jelinek <jj@ultra.linux.cz>
+	John Hughes <john@Calva.COM>
+	Richard Braakman <dark@xs4all.nl>
+	Florian Lohoff <flo@rfc822.org>
+	D.J. Barrow <djbarrow@de.ibm.com>
+	Topi Miettinen <Topi.Miettinen@nic.fi>
+	Gaël Roualland <gael.roualland@iname.com>
+	Richard Hirst <rhirst@linuxcare.com>
+	Ganesan Rajagopal <rganesan@myrealbox.com>
+	Greg Banks <gbanks@pocketpenguins.com>
+	Andi Kleen <ak@suse.de>
+	Michal Ludvig <mludvig@suse.cz>
+	Heiko Carstens <heiko.carstens@de.ibm.com>
diff --git a/strace-4.5.20/ChangeLog b/strace-4.5.20/ChangeLog
new file mode 100644
index 0000000..9538df5
--- /dev/null
+++ b/strace-4.5.20/ChangeLog
@@ -0,0 +1,595 @@
+2010-04-13  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Prepare for 4.5.20 release
+	* NEWS: Update for 4.5.20 release.
+	* configure.ac: Version 4.5.20.
+	* debian/changelog: 4.5.20-1.
+	* strace.spec: 4.5.20-1.
+
+2010-04-13  Frederik Schüler  <fs@debian.org>
+
+	Update debian/* files for the upcoming release
+	* debian/control: update standards-version to 3.8.4.
+	* debian/rules: allow parallel building.
+	* debian/rules: comment out verbose build, only needed for debugging.
+	* debian/rules: clean up clean: target, dh_clean does most of the work
+	  already.
+	* debian/rules: use *-stamp instead of stamp-*, so dh_clean can tidy
+	  up for us.
+
+2010-04-13  Heiko Carstens  <heiko.carstens@de.ibm.com>
+
+	Fix s390 system call table list
+	* linux/s390/syscallent.h: Add the missing entries for preadv and
+	pwritev to the system call table list.
+	* linux/s390x/syscallent.h: Likewise.
+
+2010-04-07  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Update linux/ioctlent.h
+	* linux/ioctlent.sh: Search in asm-generic directory as well.
+	* linux/ioctlent.h: Regenerated.
+
+	Update linux/*/syscallent.h files to match Linux kernel v2.6.33
+	* linux/alpha/syscallent.h: Add 47 hooks.
+	* linux/arm/syscallent.h: Update hooks for pselect6, ppoll,
+	epoll_pwait.  Add 11 hooks.
+	* linux/bfin/syscallent.h: Update hooks for prctl, fallocate,
+	signalfd4, eventfd2, epoll_create1, dup3, pipe2, perf_event_open.
+	Hook up recvmmsg.
+	* linux/hppa/syscallent.h: Update hooks for signalfd4, eventfd2,
+	epoll_create1, dup3, pipe2, perf_event_open.
+	* linux/i386/syscallent.h: Fix syscall name for the kexec_load hook.
+	Add 5 hooks.
+	* linux/ia64/syscallent.h: Fix syscall name for the kexec_load hook.
+	Add 4 hooks.
+	* linux/m68k/syscallent.h: Add 50 hooks.
+	* linux/powerpc/syscallent.h: Fix hook for timerfd_create.  Fix
+	6 syscall names to match the kernel.  Use sys_semop to parse semop.
+	Add 14 hooks.
+	* linux/s390/syscallent.h: Fix syscall name for the kexec_load hook.
+	Add 14 hooks.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Add 13 hooks.
+	* linux/sh64/syscallent.h: Add 15 hooks.
+	* linux/sparc/syscallent.h: Add 22 hooks.
+	* linux/x86_64/syscallent.h: Add 5 hooks.
+
+	Enhance recvmmsg parser
+	* net.c (sys_recvmmsg): Decode mmsghdr structure on exit from the
+	syscall.  Decode timespec structure both on entrance and on exit.
+
+2010-04-07  Andreas Schwab  <schwab@linux-m68k.org>
+
+	Decode recvmmsg syscall
+	* net.c (do_msghr): New function to print struct msghdr.
+	(printmsghdr): Use it.
+	(printmmsghdr, sys_recvmmsg): New.
+	* linux/syscall.h: Declare sys_recvmmsg.
+	(SYS_sub_recvmmsg): Define.
+	(SYS_socket_nsubcalls): Bump.
+	* linux/sparc/syscall.h: Likewise.
+	* linux/arm/syscallent.h: Add sys_recvmmsg.
+	* linux/bfin/syscallent.h: Likewise.
+	* linux/i386/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/ia64/syscallent.h: Adjust.
+
+2010-04-07  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* strace.1: Fix quoting of hyphens and formatting of strace options.
+
+	Split trace_syscall() for better readability
+	* syscall.c (trace_syscall): Split into trace_syscall_exiting() and
+	trace_syscall_entering().
+
+	Implement -C option to combine regular and -c output
+	* defs.h (cflag_t): New enum.
+	* strace.1: Document -C option.
+	* strace.c (cflag): Update type.
+	(main): Handle -C option.
+	(trace): Update use of cflag.
+	* count.c (count_syscall): Move clearing of TCB_INSYSCALL to ...
+	* syscall.c (trace_syscall): ... here.  Update use of cflag.
+	Based on patch by Adrien Kunysz.
+
+	Fix "make dist" regression introduced by commit v4.5.19-12-g5078770
+	* Makefile.am (EXTRA_DIST): Rename linux/syscallent.h to linux/i386/syscallent.h
+
+	* desc.c (sys_epoll_pwait): Fix output formatting bug.
+
+	* desc.c (decode_select): Fix potential stack buffer overflow.
+
+2010-03-31  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Fix msgsnd indirect ipccall decoding
+	This regression was introduced by commit v4.5.18-136-g783f5bc.
+	* ipc.c (tprint_msgsnd): Add and use "flags" argument.
+	(sys_msgsnd): Pass "flags" argument to tprint_msgsnd().
+	Patch by Anton Blanchard.
+
+2010-03-23  Mark Wielaard  <mjw@redhat.com>
+
+	Hook up inotify_init1 open mode flags printer
+	* file.c [LINUX] (sys_inotify_init1): New function.
+	* linux/syscall.h: Declare new sys_inotify_init1 handler.
+	* linux/bfin/syscallent.h: Hook up new handler.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/i386/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+
+2010-03-09  Andreas Schwab  <schwab@redhat.com>
+
+	Avoid spurious error when checking for linux/netlink.h
+	* configure.ac: Include <asm/types.h> when checking for
+	linux/netlink.h.
+
+2010-02-23  Andreas Schwab  <schwab@linux-m68k.org>
+
+	Fix reporting signal mask by sigreturn on powerpc
+	* signal.c (sys_sigreturn) [POWERPC]: Skip dummy stack frame when
+	locating signal context.
+
+2010-02-09  David Daney  <ddaney@caviumnetworks.com>
+
+	Fix MIPS N32/N64 compile error
+	* syscall.c [LINUX_MIPSN32 || LINUX_MIPSN64] (syscall_enter): Pass
+	tcp->pid to ptrace().
+
+2010-02-05  Chris Metcalf  <cmetcalf@tilera.com>
+
+	Add support for the TILE architecture
+	* configure.ac: Add TILE to the list of supported architectures.
+	* defs.h: Define TCB_WAITEXECVE for TILE.
+	* linux/tile/syscallent.h: New file.
+	* Makefile.am (EXTRA_DIST): Add linux/tile/syscallent.h
+	* process.c (change_syscall, struct_user_offsets): Add TILE support.
+	* syscall.c (get_scno, get_error, syscall_enter): Likewise.
+	* mem.c (mmap_flags, print_mmap): Add MAP_CACHE_xxx TILE extensions
+	support.
+	* signal.c (sigact_flags): Add SA_NOPTRACE.
+	(sys_sigreturn): Add TILE support.
+
+2010-02-04  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Remove dead code
+	* defs.h (tv_tv): Remove.
+	* net.c (sys_xsetsockaddr): Remove commented out dead code.
+	* process.c (setarg, sys_execv, sys_execve, struct_user_offsets):
+	Likewise.
+	* signal.c (sys_sigsuspend): Likewise.
+	* strace.c (reaper, trace): Likewise.
+	* stream.c (internal_stream_ioctl): Likewise.
+	* syscall.c (trace_syscall): Likewise.
+	* term.c (term_ioctl): Likewise.
+	* util.c (tv_tv, umoven, uload, getpc, fixvfork, setbpt, clearbpt):
+	Likewise.
+
+	Merge Linux internal_clone() into internal_fork()
+	* defs.h (internal_clone): Remove.
+	* process.c (internal_clone): Merge into internal_fork().
+	(internal_fork) [!LINUX]: Remove dead code.
+	* syscall.c (internal_syscall): Replace internal_clone() with
+	internal_fork().
+
+	* Makefile.am (INCLUDES): Remove redundant search directories.
+
+2010-02-04  Frederik Schüler  <fs@debian.org>
+
+	Update debian/* files
+	* debian/control: add sparc64 to the architectures list.
+	This closes Debian bug #560062
+	* Backport commit f0df31e71a58c6e79ba77c1a9d84b2f38d44bec7 to fix FTBFS.
+	This closes Debian bug #560516
+	* debian/control: Update standards-version to 3.8.3.
+	* debian/control: Lower package priority to optional, matching
+	the archive override.
+	* debian/control: add ${misc:Depends} to Depends: lines where
+	appropriate.
+	* debian/watch: new file, allows automatic tracking of new
+	upstream versions.
+	* debian/source/format: new file, adapt to debian source format "quilt"
+	* debian/rules: indentation cleanups; use dh_testroot and dh_prep
+	in clean target.
+
+2010-01-25  Andreas Schwab  <schwab@redhat.com>
+
+	Fix spurious failure of AC_STAT64 test
+	* acinclude.m4 (AC_STAT64): Include <sys/types.h> first.
+
+2010-01-12  Andreas Schwab  <schwab@redhat.com>
+
+	Don't kill the process when detaching
+	* strace.c (detach): Call clearbpt when TCB_BPTSET is set.
+
+2009-12-25  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Decode fifth argument of mremap syscall
+	* mem.c (sys_mremap): Decode fifth argument.
+	* linux/*/syscallent.h: Update the number of mremap syscall arguments.
+
+2009-12-24  Chris Metcalf  <cmetcalf@tilera.com>
+
+	* mem.c (sys_mbind): Display first argument in hex
+
+	* mem.c (mremap_flags): Add MREMAP_FIXED
+
+2009-11-16  Mike Frysinger  <vapier@gentoo.org>
+
+	Move i386-specific files out of common linux dir
+	* linux/syscallent.h: Moved to ...
+	* linux/i386/syscallent.h: ... here.
+	* linux/ia64/syscallent.h: Update i386 syscallent.h include.
+	* linux/sparc/gen.pl: Likewise.
+	* linux/x86_64/syscallent1.h: Likewise.
+
+2009-11-16  Andreas Schwab  <schwab@redhat.com>
+
+	Remove support for pre-C89
+	* defs.h: Remove references to __STDC__ and P macros.
+	* strace.c: Likewise.
+
+2009-11-13  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Decode more SOL_PACKET socket options
+	* net.c (sockpacketoptions): Add more PACKET_* entries.
+	(sys_getsockopt): Decode PACKET_STATISTICS.
+	(printsockopt): Decode PACKET_RX_RING and PACKET_TX_RING.
+	Patch by Gabor Gombas.
+
+2009-11-11  Andreas Schwab  <schwab@redhat.com>
+
+	Ignore errors if a thread is killed
+	* util.c (clearbpt): Ignore ESRCH error.
+
+2009-11-06  Bernhard Reutner-Fischer  <rep.dot.nop@gmail.com>
+
+	Fix handling of Linux systems without struct statfs64
+	* acinclude.m4 (AC_STATFS64): New macro to check for struct statfs64.
+	* configure.ac: Call AC_STATFS64.
+	* file.c (printstatfs64, sys_statfs64, sys_fstatfs64): Compile only
+	  if struct statfs64 is available.
+
+2009-11-06  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Fix getsockopt decoding on architectures where sizeof(long) > sizeof(int)
+	* net.c (sys_getsockopt): Optimize output a bit.
+	Decode integer argument using printnum_int(), patch by Gabor Gombas.
+
+	Check umove() return code
+	* bjm.c (sys_query_module): Print input parameters when entering
+	syscall.  Fix handling of syscall error.  Handle unlikely umove()
+	failures.
+	* ipc.c (tprint_msgrcv): New function.  Move part of msgrcv parser code
+	here, add check umove() return code.
+	(sys_msgsnd): Print msqid parameter as int instead of long.
+	(sys_msgrcv): Likewise.  Use tprint_msgrcv().
+	* process.c (print_affinitylist): Check umove() return code.
+	* sock.c (sock_ioctl): Handle unlikely umove() failure in the
+	SIOCGIFCONF parser.
+
+	Fix check for linux/netlink.h on Linux 2.6.32-rc5+
+	* configure.ac (AC_CHECK_HEADERS): In check for linux/netlink.h, include
+	sys/socket.h instead of linux/socket.h beforehand.
+
+2009-11-04  Andreas Schwab  <schwab@redhat.com>
+
+	Decode fallocate on PowerPC
+	* linux/powerpc/syscallent.h: Decode fallocate.
+
+	Factor out printing of 64bit syscall argument
+	* defs.h (ALIGN64): Remove.
+	(printllval): Declare.
+	* util.c (printllval): Define.
+	* file.c (sys_readahead): Use printllval.
+	(sys_lseek64): Likewise.
+	(sys_truncate64): Likewise.
+	(sys_ftruncate64): Likewise.
+	(sys_fadvise64): Likewise.
+	(sys_fadvise64_64): Likewise.
+	(sys_fallocate): Likewise.
+	* io.c (sys_pread): Likewise.
+	(sys_pwrite): Likewise.
+	(sys_pread64): Likewise.
+	(sys_pwrite64): Likewise.
+	* mem.c (sys_mmap64): Likewise.
+
+2009-11-03  Andreas Schwab  <schwab@redhat.com>
+
+	Correct decoding of readahead and fadvice64(_64) on PowerPC
+	* file.c (sys_readahead): Align 64bit argument.  Handle PowerPC64
+	like other 64bit architectures.
+	(sys_fadvise64): Likewise.
+	(sys_fadvise64_64): Handle PowerPC like ARM.
+	* linux/powerpc/syscallent.h (sys_readahead): Account for 64bit
+	argument alignment on PowerPC32.
+
+2009-10-27  Andreas Schwab  <schwab@redhat.com>
+
+	Maintain separate print column for each process
+	* defs.h (struct tcp): Add curcol.
+	* strace.c: (alloc_tcb): Initialize it.
+	(trace): Use curcol from current process and save it before
+	continuing.
+	(tprintf): Don't modify curcol on output error.
+
+2009-10-21  Roland McGrath  <roland@redhat.com>
+
+	* strace.spec: 4.5.19-1 release.
+
+2009-10-21  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* file.c (printstat64): Cleanup trailing whitespace.
+
+2009-10-16  Andreas Schwab  <schwab@redhat.com>
+
+	Fix decoding of newfstatat syscall on x86-64
+	* file.c (printstat64) [LINUX && X68_64]: If tracing a 64-bit
+	process redirect to printstat.
+	Fixes RH#529316 "Field values shown for "newfstatat" system
+	call are incorrect"
+
+2009-10-12  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* configure.ac (AC_CHECK_HEADERS): Remove asm/reg.h.
+
+2009-10-12  Mike Frysinger  <vapier@gentoo.org>
+
+	sparc/linux: Rewrite to use asm/ptrace.h
+	The current sparc/linux code uses asm/reg.h, but recent Linux kernels
+	dropped that header completely.  So switch over to the ptrace headers
+	as those should stick around indefinitely as part of the ABI.
+
+	* defs.h [LINUXSPARC] (U_REG_G1, U_REG_O0, U_REG_O1): Define.
+	* process.c: Drop asm/regs.h include.
+	[SPARC || SPARC64] (change_syscall): Change struct regs to struct pt_regs.
+	* signal.c: Drop asm/regs.h include.
+	(m_siginfo_t): Unify [SPARC || SPARC64] and [MIPS].
+	[SPARC || SPARC64] (sys_sigreturn): Change struct regs to struct pt_regs.
+	* syscall.c: Drop asm/regs.h include.
+	[SPARC || SPARC64] (internal_syscall, get_scno, get_error, force_result,
+	syscall_enter): Change struct regs to struct pt_regs.
+	* util.c: Drop asm/regs.h include.
+	(_hack_syscall5, _ptrace): Delete.
+	[SPARC || SPARC64] (getpc, printcall, arg_setup_state): Change
+	struct regs to struct pt_regs.
+
+2009-10-11  Roland McGrath  <roland@redhat.com>
+
+	* make-dist: Clean up.
+
+	* configure.ac: Use AC_CONFIG_AUX_DIR([.]).
+
+2009-10-09  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* make-dist: New script for preparing release tarballs.
+
+	* git-set-file-times: Import from rsync.
+
+	* Makefile.am [MAINTAINER_MODE]: Define and export TAR_OPTIONS.
+
+2009-10-08  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Enhance msgsnd() parser
+	* ipc.c (tprint_msgsnd): New function.  Move msgsnd parser code here,
+	add check for umove() return code.
+	(sys_msgsnd): Use tprint_msgsnd().
+
+	* NEWS: Update for 4.5.19 release.
+
+	Enhance semop()/semtimedop() sembuf parser
+	* ipc.c (tprint_sembuf): New function. Move sembuf parser code here,
+	add abbrev() support.
+	(sys_semop, sys_semtimedop): Use tprint_sembuf().
+
+2009-10-08  Jakub Bogusz  <qboosh@pld-linux.org>
+
+	Add pretty printing of sembuf argument to semop() and semtimedop()
+	* ipc.c (semop_flags): New xlat structure.
+	(sys_semop, sys_semtimedop): Add pretty printing of sembuf argument.
+
+2009-10-08  Mike Frysinger  <vapier@gentoo.org>
+
+	Add support for Linux/no-mmu with vfork
+	* configure.ac (AC_CHECK_FUNCS): Add fork.
+	* strace.c (strace_vforked): Define.
+	(startup_child): Do not raise SIGSTOP if vforked.
+	(trace): Skip first exec when starting up after vforked.
+	* syscall.c [BFIN] (get_scno): Drop waitexec checks.
+
+	Avoid malloc(0) in getdents parsers
+	On end of directory, getdents returns 0.  This return value is used to
+	then try and do malloc(0), but on some systems this will always return
+	NULL.  Since the code won't read the pointer in question if len is 0,
+	then don't bother calling malloc(0) and set the pointer to NULL ourself.
+	* file.c (sys_getdents, sys_getdents64): Avoid malloc(0) call.
+
+2009-10-07  Mike Frysinger  <vapier@gentoo.org>
+
+	Add sys_nanosleep() prototype for sparc
+	* linux/sparc/syscall.h (sys_nanosleep): New prototype.
+	Reported by Frederik Schüler.
+
+	Silence compiler warnings about implicit cast from pointer to integer
+	* util.c (do_ptrace): Cast ptrace() 4th arg to long.
+	(ptrace_restart): Drop void* cast on ptrace() 4th arg.
+
+	Ignore .gdb files from FLAT toolchains
+	* .gitignore: Add /*.gdb.
+
+	* configure.ac (AC_CHECK_FUNCS): Sort and expand.
+
+	Blackfin: Update ioctl/syscall lists
+	* linux/bfin/ioctlent.h: Sync list with latest kernel sources.
+	* linux/bfin/syscallent.h: Likewise.
+
+	ioctlsort: Check ppc hosts too
+	* linux/ioctlsort.c: Check for __powerpc__.
+
+2009-10-07  Andreas Schwab  <schwab@redhat.com>
+
+	Fix build on ia64
+	* linux/ia64/syscallent.h: Update for addition of accept4 syscall
+	in ../syscallent.h.
+
+2009-10-07  Roland McGrath  <roland@redhat.com>
+
+	* strace.spec (%doc): Add ChangeLog-CVS.
+
+	* Makefile.am (srpm): New phony target.
+
+	* Makefile.am (EXTRA_DIST): Add ChangeLog.
+	($(srcdir)/ChangeLog): New target, replaces gen-changelog phony target.
+	Put it inside [MAINTAINER_MODE].
+
+2009-10-06  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* NEWS: Update for 4.5.19 release.
+
+2009-10-05  Frederik Schüler  <fs@debian.org>
+
+	Prepare debian/* files for release
+	* debian/rules: Do not ship ChangeLog anymore.
+	* debian/control: Update to Debian standards version 3.8.1, and remove
+	Roland from the Maintainers list.  This closes Debian bug #521458.
+	* debian/changelog: Document changes and prepare for release.
+
+2009-10-05  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* defs.h [HPPA]: Lower MAX_ARGS from 32 to 6.
+
+	* ipc.c [LINUX] (sys_shmat): HPPA does not use an IPC multiplexer.
+	Based on patch from Carlos O'Donell.
+
+2009-10-05  Carlos O'Donell  <carlos@systemhalted.org>
+
+	* linux/hppa/syscallent.h: Update syscalls.
+	Based on work by Kyle McMartin and Helge Deller.
+
+	Fix SA_HANDLER function pointer comparisons for hppa
+	* signal.c (sys_sigaction): Cast SA_HANDLER function pointers to long.
+	(sys_rt_sigaction): Likewise.
+
+2009-10-05  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
+
+	CRIS: Correct first argument to upeek()
+	This complements commit ea0e6e80260d2b1b7ad40282012b0e47869bcddf.
+	* syscall.c [CRISV10 || CRISV32] (syscall_fixup, syscall_enter): Pass
+	tcp pointer instead of pid to upeek().
+	* util.c [CRISV10 || CRISV32] (printcall): Likewise.
+
+2009-10-05  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* signal.c (do_signalfd): Fix typo in output format.
+
+2009-09-21  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makefile.am (gen_changelog_start_date): Fix date.
+
+2009-09-19  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Prepare for 4.5.19 release
+	* NEWS: Update for 4.5.19 release.
+	* configure.ac: Version 4.5.19.
+	* debian/changelog: 4.5.19-1.
+	* strace.spec: 4.5.19-1.
+
+	Update debian/* to 4.5.18-1
+	* debian/changelog: Update to 4.5.18-1.
+	* debian/compat: Set compatibility level to 7.
+	* debian/control (Build-Depends): Update debhelper requirement.
+	(strace, strace64): Add Section and Priority tags.
+
+2009-09-19  Kirill A. Shutemov  <kirill@shutemov.name>
+
+	Fix fadvise64 decoding on ARM
+	* file.c (sys_fadvise64_64) [ARM]: Fix argument ordering.
+
+2009-09-18  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Fix follow fork/vfork on Linux ARM OABI
+	__NR_SYSCALL_BASE eis 0 for EABI and is 0x900000 for OABI.
+	* process (change_syscall) [LINUX && ARM]: Mask off the high order bits
+	when changing syscall.
+
+	Reviewed-by: Kirill A. Shutemov <kirill@shutemov.name>
+
+2009-09-18  Mike Frysinger  <vapier@gentoo.org>
+
+	Mark shell scripts as executable
+
+	Ignore ioctlsort helper program
+	* .gitignore: Add ioctlsort.
+
+	linux/errno: Add ERFKILL
+	* linux/errnoent.h: Change ERRNO_132 to ERFKILL according to errno 132
+	definition introduced in Linux 2.6.31.
+
+2009-09-01  Paolo Bonzini  <pbonzini@redhat.com>
+
+	Add accept4 socketcall
+	This second patch in the series adds support for accept4 as a socketcall
+	sub-call.  Besides the need to renumber all system calls, this poses
+	no problem.
+	Tested on i686.
+
+	* linux/arm/syscallent.h: Add accept4 socketcall.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/syscallent.h: Likewise.
+
+	* linux/sparc/syscall.h (SYS_sub_accept4): Declare.
+	(SYS_socket_nsubcalls): Update.
+	* linux/syscall.h: Likewise.
+
+	Replace x86-64 paccept with accept4
+	This patch changes the paccept syscall to accept4 for x86-64, since
+	the former was dropped in Linux kernel commit v2.6.27-rc7-14-g2d4c826.
+	At the same time, it adds support for pretty printing its arguments.
+
+	* linux/x86_64/syscallent.h: Replace paccept with accept4,
+	hook in sys_accept4.
+	* net.c (sys_accept): Leave a small stub calling the new...
+	(do_accept): ... function, which also adds a flags_arg argument.
+	(sys_accept4): New.
+
+2009-08-28  Andreas Schwab  <schwab@redhat.com>
+
+	Zero-extend 32-bit addresses when printing argv array.
+	(printargv): Zero-extend 32-bit addresses.
+	Fixes RH#519480 "64-bit strace is lazy on execve of 32-bit
+	process".
+
+2009-08-12  Andreas Schwab  <schwab@redhat.com>
+
+	Add more futex decoding.
+	* process.c (FUTEX_WAIT_REQUEUE_PI, FUTEX_CMP_REQUEUE_PI)
+	(FUTEX_PRIVATE_FLAG, FUTEX_CLOCK_REALTIME): Define.
+	(futexops): Add entries for them.
+	(sys_futex): Decode FUTEX_CMP_REQUEUE_PI and
+	FUTEX_WAIT_REQUEUE_PI.
+
+2009-07-08  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Generate ChangeLog from git log
+	* .gitignore: Add ChangeLog
+	* ChangeLog: Rename to ChangeLog-CVS.
+	* Makefile.am (gen-changelog): New rule.
+	(dist-hook): Depend on it.
+	(EXTRA_DIST): Add ChangeLog-CVS.
+	* README-hacking: Describe changes.
+	* gitlog-to-changelog: Import from gnulib.
+
+
+See ChangeLog-CVS for older changes.
diff --git a/strace-4.5.20/ChangeLog-CVS b/strace-4.5.20/ChangeLog-CVS
new file mode 100644
index 0000000..b5262ad
--- /dev/null
+++ b/strace-4.5.20/ChangeLog-CVS
@@ -0,0 +1,5614 @@
+2009-07-08  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Clean up spacing to fix warnings reported by git diff --check.
+	* ChangeLog: Fix spaces before tab in indent.
+	* bjm.c: Likewise.
+	* debian/changelog: Likewise.
+	* strace-graph: Likewise.
+	* syscall.c: Likewise.
+	* INSTALL: Fix trailing blank lines.
+	* README-linux: Likewise.
+	* README-svr4: Likewise.
+	* linux/sparc/gen.pl: Likewise.
+	* linux/sparc/syscall1.h: Likewise.
+	* linux/sparc64/syscall1.h: Likewise.
+	* linux/x86_64/gentab.pl: Likewise.
+	* sunos4/syscall.h: Likewise.
+	* test/Makefile: Likewise.
+	* debian/rules: Fix trailing whitespaces.
+	* desc.c: Likewise.
+	* svr4/syscallent.h: Likewise.
+	* test/childthread.c: Likewise.
+	* test/leaderkill.c: Likewise.
+
+2009-07-07  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* .cvsignore: Remove.
+	* README-CVS: Rename to README-hacking.
+	* Makefile.am (EXTRA_DIST): Remove README-CVS.
+
+2009-06-01  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* bjm.c (sys_query_module): Fix format warning reported by
+	gcc -Wformat-security.
+	* file.c (tprint_open_modes): Likewise.
+	* process.c (printargv): Likewise.
+	* signal.c (printsignal): Likewise.
+
+	Clean up header checks.
+	* configure.ac: Reformat AC_CHECK_HEADERS to keep it sorted and
+	easily updated, and reduce merging errors in the future.
+	* system.c: Convert all non-standard #ifdef checks for specific
+	headers to regular #ifdef HAVE_*_H checks.
+	Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+2009-04-20  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	* file.c (printstatsol, printstat_sparc64):
+	Remove NULL/error check for addr parameter.
+	(printoldstat, printstat, printoldstat64):
+	Move NULL/error check for addr parameter
+	so that it happens before printstatsol/printstat_sparc64 calls.
+
+2009-04-16  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	* file.c (print_dirfd): Use int for file descriptor, not a long.
+	* process.c (printwaitn): Use int for PID, not a long.
+
+2009-04-15  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	* signal (sys_rt_sigtimedwait): Fix sigtimedwait syscall decoding.
+
+2009-04-15  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	* signal (sys_rt_sigaction): Print struct sigaction correctly
+	in 32/64 environment.
+	* desc.c (printflock): Add #ifdefs around earlier flock 32/64 fix
+	so that we don't waste time on arches with one personality.
+
+2009-04-14  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	* signal.c: Whitespace, comment, and style fixes, no code changes.
+	* file.c: Ditto.
+	* time.c: Ditto.
+	* process.c: Ditto.
+	* resource.c: Ditto.
+
+2009-03-23  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	* system.c (sram_alloc_flag): Add L2_SRAM constant.
+	by Mike Frysinger (vapier AT gentoo.org).
+	(sys_sram_alloc): Fix improperly used %zu:
+	tcp->u_arg is not a size_t, it is a long.
+	* net.c (printcmsghdr): Fix improperly used %zu:
+	struct cmsghdr::cmsg_len is not a size_t.
+
+2009-03-10  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	Decode fcntl's F_{GET,SET}LEASE, F_NOTIFY, and F_DUPFD_CLOEXEC.
+	By Mike Frysinger (vapier AT gentoo.org)
+	* desc.c: Add F_SETLEASE, F_GETLEASE, F_NOTIFY,
+	F_DUPFD_CLOEXEC to fcntlcmds[]. Create notifyflags[] array.
+	(sys_fcntl): Handle new flags.
+
+	Optimize printing of open modes.
+	* defs.h: Declare sprint_open_modes(),
+	remove unused parameter in tprint_open_modes().
+	* desc.c (sprint_open_modes): Move fuction definition from here...
+	* file.c (sprint_open_modes): To here.
+	(tprint_open_modes): Use sprint_open_modes(), it already
+	generates needed string.
+	* ipc.c: Remove unused parameter from calls
+	to tprint_open_modes().
+
+2009-02-27  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	AVR32 support by Hans-Christian Egtvedt
+	(hans-christian.egtvedt AT atmel.com).
+	* configure.ac: Make it recognize avr32.
+	* defs.h: Define LINUX_AVR32.
+	* linux/avr32/syscallent.h: New file.
+	* Makefile.am: Reference linux/avr32/syscallent.h.
+	* proc.c (change_syscall, setarg): Add support for avr32.
+	(struct xlat struct_user_offsets[]): Ditto.
+	* syscall.c (get_scno): Ditto.
+	(get_error, force_result, syscall_enter): Ditto.
+	* util.c (getpc, printcall): Ditto.
+
+2009-02-25  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	CRIS support by Hinko Kocevar (hinko.kocevar AT cetrtapot.si)
+	* configure.ac: Make it recognize cris.
+	* process.c: Define ARG_xxx constants for cris.
+	(change_syscall): Add support for cris.
+	(struct_user_offsets): Add cris-specific data.
+	* signal.c (sys_sigreturn): Add support for cris.
+	* syscall.c (get_scno): Add support for cris.
+	(syscall_fixup): Add support for cris.
+	(get_error): Add support for cris.
+	(syscall_enter): Add support for cris.
+	(force_result): While at it, fix cpp directives indentation.
+	* util.c (printcall): Add support for cris.
+
+2009-02-24  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	* process.c: Indent preprocessor directives so that nesting
+	can be figured out. Add PTRACE_SET_SYSCALL to ptrace_cmds[].
+	* ioctlent.sh: Improved by Mike Frysinger.
+	* HACKING-scripts: New file by Mike Frysinger.
+
+2009-02-20  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	Further signalent.h cleanup.
+	* linux/ia64/signalent.h: Remove, it is identical to common signalent.h
+	sans "SIGRTnn" definitions which are redundant.
+	* linux/powerpc/signalent.h: Remove, it is identical to common signalent.h
+	sans outdated "SIGUNUSED" which should be "SIGSYS".
+	* linux/s390/signalent.h: Ditto.
+	* linux/s390x/signalent.h: Ditto.
+	* Makefile.am: Remove references to the above files.
+
+2009-02-20  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	Patch by Mike Frysinger (vapier AT gentoo.org).
+	* linux/ioctlent.sh: Update sed machinery to parse _IOC() macros
+	with two constants.
+
+2009-02-20  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	Patch by Mike Frysinger (vapier AT gentoo.org).
+	* Makefile.am: Remove reference to linux/sh/signalent.h.
+	* linux/sh/signalent.h: Remove, it is identical to common signalent.h.
+
+2009-02-20  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	Patch by Mike Frysinger (vapier AT gentoo.org).
+	* linux/errnoent.h: Make ERRNO_58 show EDEADLOCK for POWERPC.
+	* Makefile.am: Remove reference to linux/powerpc/errnoent.h.
+	* linux/powerpc/errnoent.h: Remove, we can use common errnoent.h now.
+
+2009-02-20  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	Patch by Mike Frysinger (vapier AT gentoo.org).
+	Removing redundant errnoent.h files.
+	* Makefile.am: Remove reference to linux/ia64/errnoent.h,
+	linux/s390/errnoent.h, linux/s390x/errnoent.h and linux/sh/errnoent.h.
+	* linux/ia64/errnoent.h: Remove, this arch uses common errnoent.h.
+	* linux/s390/errnoent.h: Ditto.
+	* linux/s390x/errnoent.h: Ditto.
+	* linux/sh/errnoent.h: Ditto.
+
+2009-02-10  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac: Check for struct sigcontext.
+	* signal.c [LINUX] [M68K] (struct sigcontext): Don't define it if
+	[HAVE_STRUCT_SIGCONTEXT].
+	From Muttley Meen <muttley.meen@gmail.com>.
+
+2009-02-09  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	* defs.h: Correct the comment about TCB_SUSPENDED.
+	* strace.c: Fix misplaced #endif.
+	* util.c: Indent preprocessor directives, mark code parts
+	which can never be reached by compilation because of
+	the combination of #if directives. These are likely dead code,
+	I want to remove them later.
+
+2009-01-29  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	* strace.c (newoutf): Prevent -o FILENAME overflowing the stack.
+	(startup_attach): Fix wrong pid in "Process <PID> attached".
+	(handle_group_exit): Do not consider exit to be spurious if
+	tcb has TCB_STARTUP bit set - we can attach to the task
+	right before its death, it can legitimately happen.
+	(handle_stopped_tcbs): Ditto.
+
+2009-01-26  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	* process.c (printwaitn): Add comment about wait4() pid expansion.
+	Use #ifdef ALPHA instead of LINUX_64BIT, it was misleading
+	(by implying "any 64-bit platform").
+	* defs.h: Remove now-unused LINUX_64BIT define.
+	* resource.c (sys_osf_getrusage): Fix indentation.
+
+2009-01-26  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	* process.c (internal_clone): Fix fallout from tcb table expansion
+	simplification. Due to overlooked else, I forgot to group
+	fork_tcb(tcp) and alloctcb(pid) in a block.
+
+2009-01-23  Michal Nowak  <mnowak@redhat.com>
+
+	* syscall.c (get_scno): Fix warnings about unused variable 'pid'.
+
+2009-01-23  Michal Nowak  <mnowak@redhat.com>
+
+	* mem.c (print_ldt_entry): Fix warning:
+	Format '%#08lx' expects type 'long unsigned int', but
+	argument 2 was type 'unsigned int'.
+
+2009-01-17  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	Two cleanups: tcb table expansion failure is not really a survivable
+	event, we do not have any viable way to continue. No wonder most
+	places where that is detected have FIXMEs.
+	It's way simpler to treat as fatal failure, and handle it inside
+	tcb table expansion finctions.
+	Second cleanup: tidy up haphazard locations of a few externs.
+
+	* defs.h: Change return type of expand_tcbtab() to void.
+	Declare change_syscall().
+	* process.c: Change all callsites of alloctcb(), alloc_tcb() and
+	fork_tcb(), removing now-redundant error checks.
+	(fork_tcb): Change return type to void - it can't fail now.
+	* strace.c: Move extern declarations out of function bodies.
+	Change all callsites of alloctcb(), alloc_tcb() and
+	fork_tcb(), removing now-redundant error checks.
+	(expand_tcbtab): Change return type to void - it can't fail now.
+	On failure to expand, print a message, clean up, and exit.
+	(alloc_tcb): On failure to expand, print a message, clean up, and exit.
+	* util.c (setbpt): Remove extern declaration from function body.
+
+2009-01-14  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	* linux/bfin/syscallent.h: sys_futex has 6 parameters, not 5.
+
+2009-01-13  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	Fixes for ptrace() argument parsing.
+	* process.c: Add parsing of PTRACE_SETOPTIONS, PTRACE_GETEVENTMSG,
+	PTRACE_GETSIGINFO, PTRACE_SETSIGINFO.
+	* defs.h: Declare several "extern const struct xlat" arrays here.
+	* desc.c: Remove open_mode_flags[] and open_access_modes[]
+	extern declarations.
+	* net.c: Remove open_mode_flags[] extern declaration.
+	* sock.c: Remove addrfams[] extern declaration.
+	* util.c: Remove struct_user_offsets[] extern declaration.
+	* signal.c: Remove open_mode_flags[] extern declaration.
+
+2009-01-06  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	Output format fixes, improving the situation after recent
+	change which added beeter handling of processes suddenly
+	disappearing. Now we often do not finish last line
+	before exiting in those cases.
+	The only change affecting something other than output
+	is change in umovestr where we were calling
+	abort() on ptrace error.
+
+	* strace.c (trace): If trace_syscall() failed with ESRCH,
+	finish current output line with " <unfinished ...>".
+	(mp_ioctl): While we are at it, fix gross style mismatch
+	in this function definition. No code chages.
+	* syscall.c (trace_syscall): If decode fails on syscall exit,
+	finish current output line with "= ? <unavailable>".
+	* util.c (umoven): Do not complain if error is ESRCH.
+	(umovestr): Do not complain and do not abort() if error is ESRCH.
+	* defs.h: Remove unused tcp parameter from printtrailer().
+	* process.c: Adjust printtrailer() calls accordingly.
+	* strace.c: Adjust printtrailer() calls accordingly.
+	* syscall.c: Adjust printtrailer() calls accordingly.
+
+2009-01-06  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	* desc.c (printflock): Fix display of fcntl(F_SETLK) on
+	non-native 32-bit architecture.
+	Fixes RH#471169 "format fcntl64() system calls for
+	32 bit application incorrect".
+	* desc.c: const'ify two static struct xlat vector[]'s,
+	convert all remaining old style C parameter declarations
+	in this file.
+
+2008-11-13  Kirill A. Shutemov  <kirill@shutemov.name>
+
+	* linux/arm/syscallent.h: Update syscalls.
+	Based on patch by Enrico Scholz.
+
+	* linux/arm/syscallent.h: Fix build on ARM EABI which does not
+	provide syscalls socketcall and ipc.
+
+2009-01-01  Andreas Schwab  <schwab@suse.de>
+
+	* net.c (sys_accept): Properly decode third argument as pointer to
+	int.
+
+2008-12-30  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	Experimental support for -D option.
+	Unlike normal case, with -D *grandparent* process exec's,
+	becoming a traced process. Child exits (this prevents traced process
+	from having children it doesn't expect to have), and grandchild
+	attaches to grandparent similarly to strace -p PID.
+	This allows for more transparent interaction in cases
+	when process and its parent are communicating via signals,
+	wait() etc. Without -D, strace process gets lodged in between,
+	disrupting parent<->child link.
+	* strace.c: Add global flag variable daemonized_tracer for -D option.
+	(startup_attach): If -D, fork and block parent in pause().
+	In this case we are already a child, we in fact created a grandchild.
+	After attaching to grandparent, grandchild SIGKILLs parent.
+	(startup_child): If -D, parent blocks in wait(), then
+	execs the program to strace. Normally (w/o -D), it is child
+	who execs the program.
+	(main): Detect -D option, call startup_attach() if it is given.
+
+2008-12-30  Kirill A. Shutemov  <kirill@shutemov.name>
+
+	Fix some warnings on ARM build.
+	* defs.h: include <sys/ptrace.h> on arm too.
+	* syscall.c: EABI arm does not need decode_subcall(),
+	ifdef it out.
+
+2008-12-29  Nick Black  <dankamongmen@acm.org>
+
+	* linux/syscallent.h: Mark sendfile(2) as network syscall.
+	* linux/*/syscallent.h: Same, for all architectures.
+
+2008-12-17  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	Make strace detect when traced process suddenly disappeared
+	(prime example is randomly arriving SIGKILL).
+	* defs.h (do_ptrace, ptrace_restart): Declare new functions
+	* process.c: Use ptrace_restart instead of bare ptrace.
+	This catches and records ESRCH errors.
+	Print "<unavailable>" if syscall decode or result can't be
+	determined because of an earlier error in ptrace()
+	* syscall.c (trace_syscall): Stop indiscriminately bailing out
+	on errors, print "syscall(????" or even "????(????" but continue.
+	* util.c (do_ptrace, ptrace_restart): Define new functions.
+	(upeek): use do_ptrace in order to catch and record ESRCH.
+	Do not print error message in this case.
+	Fixes RH#472053.
+
+2008-12-17  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	* signal.c (sys_sigaction, sys_rt_sigaction): Fix typo
+	in (sa_handler == SIG_IGN) comparison, it was using SIG_DFL
+	instead.
+
+2008-12-16  Denys Vlasenko  <dvlasenk@redhat.com>
+
+	* defs.h: Modify declaration of upeek to take struct tcb *
+	parameter instead of pid_t.
+	* process.c: Change all upeek calls accordingly.
+	* signal.c: Likewise.
+	* strace.c: Likewise.
+	* syscall.c: Likewise.
+	* util.c: Likewise.
+
+2008-11-11  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* sock.c [LINUX] (sock_ioctl): Parse more SIOCS* ioctls.
+
+2008-12-09  Roland McGrath  <roland@redhat.com>
+
+	* strace.1 (DIAGNOSTICS): New section, describe exit behavior.
+
+2008-11-09  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* process.c (prctl_options): Update constants from linux 2.6.27.
+	* system.c (capabilities): Add more capability values.
+
+	* util.c (string_quote): Fix support for NUL-terminated string.
+	Add comments.
+	(printpathn): Fix the case when "..." was appended to the output
+	but no truncation was actually made.  Add comments.
+	(printstr): Fix memory allocation.  Fix two cases when "..." was
+	appended to the output but no truncation was actually made.
+	Add comments.
+	Fixes RH#470529.
+
+2008-10-23  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Implement parsers for new linux syscalls.
+	* desc.c (do_dup2, [LINUX] sys_dup3): New functions.
+	(sys_dup2): Use do_dup2.
+	[LINUX] (sys_epoll_create1): New function.
+	[LINUX] (do_eventfd, sys_eventfd2): New functions.
+	[LINUX] (sys_eventfd): Use do_eventfd.
+	* net.c (do_pipe, [LINUX] sys_pipe2): New functions.
+	(sys_pipe): Use do_pipe.
+	* signal.c [LINUX] (do_signalfd, sys_signalfd4): New functions.
+	[LINUX] (sys_signalfd): Use do_signalfd.
+	* linux/syscall.h: Declare new sys_* functions.
+	* linux/syscallent.h: Hook up signalfd4, eventfd2, epoll_create1,
+	dup3, pipe2, inotify_init1.
+	* linux/x86_64/syscallent.h: Hook up paccept, signalfd4, eventfd2,
+	epoll_create1, dup3, pipe2, inotify_init1.
+
+2008-10-23  Mike Frysinger  <vapier@gentoo.org>
+
+	Port strace to the Blackfin architecture.
+	* configure.ac: Add bfin to supported architectures.
+	* process.c: Skip u_fpvalid/u_fpstate for Blackfin architecture.
+	(change_syscall): Support Blackfin architecture.
+	* syscall.c: Declare r0 for Blackfin architecture.
+	(get_scno): Decode Blackfin syscall number.
+	(syscall_fixup): Extract Blackfin return value.
+	(get_error): Decode Blackfin return value.
+	(force_result): Poke Blackfin return value.
+	(syscall_enter): Extract Blackfin syscall arguments.
+	* defs.h: Define TCB_WAITEXECVE for Blackfin architecture.
+	* linux/syscall.h (sys_sram_alloc): Declare for Blackfin
+	architecture.
+	* system.c (sys_sram_alloc): Decode Blackfin sram_alloc() syscall.
+	* util.c (getpc): Handle PC on Blackfin architecture.
+	(printcall): Likewise.
+	* linux/bfin/ioctlent.h, linux/bfin/syscallent.h: New Blackfin
+	headers.
+	* Makefile.am (EXTRA_DIST): Add linux/bfin/ioctlent.h and
+	linux/bfin/syscallent.h.
+
+2008-09-18  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure.ac: Accept uclinux hosts as linux.
+
+2008-10-22  Dmitry V. Levin <ldv@altlinux.org>
+
+	Handle socket type flags introduced in linux 2.6.27.
+	* net.c (socktypes): Add SOCK_DCCP.
+	(sock_type_flags): New xlat structure.
+	(tprint_sock_type): New function.
+	(sys_socket, sys_socketpair): Use it to parse socket type and
+	socket type flags.
+
+2008-09-29  Dmitry V. Levin <ldv@altlinux.org>
+
+	* strace.c (startup_child): Save child pid for future use.
+	(main): Exit/kill ourself with straced child's exitcode/signal.
+	(trace): If signalled process pid matches the saved child pid,
+	save the signal number.  If terminated process pid matches the
+	saved child pid, save its exit status.
+	Patch from Denys Vlasenko <dvlasenk@redhat.com>
+	Fixes RH#105371.
+
+2008-09-12  Tomas Pospisek  <tpo@sourcepole.ch>
+	    Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* strace.1 (DESCRIPTION): New description of unfinished system calls
+	and system calls restarting.
+
+2008-09-03  Dmitry V. Levin <ldv@altlinux.org>
+
+	* desc.c (sys_fcntl): Do not initialize auxstr for failed syscall.
+	* process.c (sys_fork, sys_rfork) [USE_PROCFS]: Likewise.
+	* signal.c (sys_signal): Likewise.
+	* stream.c (internal_stream_ioctl): Likewise.
+	* time.c (sys_adjtimex): Likewise.
+	* syscall.c (trace_syscall): If RVAL_STR is set, then
+	print auxstr for failed syscall as well.
+
+	* syscall.c (is_restart_error): New function.
+	* defs.h (is_restart_error): Declare it.
+
+	* linux/dummy.h (sys_nanosleep): Uncouple from sys_adjtime().
+	* time.c (sys_nanosleep): New function, based on is_restart_error().
+
+	* process.c (sys_prctl): Decode PR_SET_PDEATHSIG, PR_GET_PDEATHSIG,
+	PR_SET_DUMPABLE, PR_GET_DUMPABLE, PR_SET_KEEPCAPS, PR_GET_KEEPCAPS.
+	Fix PR_GET_UNALIGN decoder.
+	(prctl_options): Add more constants.
+
+	* linux/syscallent.h: Use sys_prctl() decoder for "prctl" syscall.
+	* linux/alpha/syscallent.h: Likewise.
+	* linux/arm/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+
+2008-09-02  Dmitry V. Levin <ldv@altlinux.org>
+
+	* linux/x86_64/syscallent.h: Fix syscall numbers for "tee" and
+	"sync_file_range".
+	From Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp>
+
+2008-08-28  Roland McGrath  <roland@redhat.com>
+
+	* strace.1 (BUGS): New section, mention SIGTRAP interference.
+
+	* strace.spec (%ifarch %{strace64_arches}): Use cp -p instead of ln
+	for %{rhel} < 6.
+
+	* configure.ac, NEWS: Version 4.5.18.
+	* strace.spec: 4.5.18-1.
+
+2008-08-24  Roland McGrath  <roland@redhat.com>
+
+	* linux/syscall.h (SYS_socket_subcall et al, SYS_ipc_subcall et al):
+	Don't define these if [__ARM_EABI__].
+	Reported by Johannes Stezenbach <js@sig21.net>.
+
+	* syscall.c (trace_syscall): Conditionalize on [SYS_socket_subcall]
+	and [SYS_ipc_subcall] individually.
+
+	* linux/powerpc/syscallent.h: Handle subpage_prot.
+	* mem.c [LINUX && POWERPC] (sys_subpage_prot): New function.
+	* linux/syscall.h [POWERPC]: Declare it.
+	From Simon Murray <simon@transitive.com>.
+
+	* mem.c (mmap_prot): Handle PROT_SAO.
+	From Simon Murray <simon@transitive.com>.
+
+	* mem.c (madvise_flags): Typo fixes.  Rename to madvise_cmds.
+	(sys_madvise): Use printxval, not printflags.
+	Reported by Rajeev V. Pillai <rajeevvp@gmail.com>.
+
+2008-08-19  Roland McGrath  <roland@redhat.com>
+
+	* signal.c (sys_sigaction, sys_rt_sigaction): Don't omit the rest of
+	the struct after sa_handler is a known constant.  Some sa_flags bits
+	have meaning even for SIG_IGN/SIG_DFL.
+
+2008-08-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* util.c (CLONE_VM): Define if not defined already.
+	(setbpt): Clear CLONE_VM in the case we already clear CLONE_VFORK for
+	SYS_clone and SYS_clone2.
+	Reported by Michal Nowak.
+	Fixes RH#455078.
+
+2008-08-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Fix compiler warnings.
+	* signal.c (sys_signal): Cast to SIG_* to the matching type LONG.
+	* strace.c (trace): Variables PSR and PC are now signed.
+	* syscall.c (syscall_enter): Variable RBS_END is now signed long.
+	Remove/add the RBS_END casts appropriately.
+	* util.c [IA64] (arg_setup): Variable BSP is now signed long.
+	Remove/add the BSP casts appropriately.
+	<ia32>: Initialize *STATE.
+
+2008-07-31  Roland McGrath  <roland@redhat.com>
+
+	* Makefile.am (EXTRA_DIST): Add new linux/arm/ files.
+
+	* file.c [LINUX] (struct kernel_dirent): Define it locally,
+	do not use <linux/dirent.h>.
+	Fixes RH#457291.
+
+	* configure.ac: Add AC_HEADER_STDBOOL.
+	* defs.h [HAVE_STDBOOL_H]: #include <stdbool.h>.
+	Fixes Debian#492774.
+
+2008-07-24  Dmitry V. Levin <ldv@altlinux.org>
+
+	* strace.c (main): Fix -F option backwards compatibility.
+
+2008-07-22  Roland McGrath  <roland@redhat.com>
+
+	* Makefile.am (EXTRA_DIST): Add new debian/ files.
+
+2008-07-21  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac: Version 4.5.17.
+	* strace.spec: 4.5.17-1.
+
+	* defs.h [LINUXSPARC]: Don't #include <linux/a.out.h>.
+
+2008-07-19  Frederik Schüler <fs@debian.org>
+
+	* debian/control: Add strace64 package.
+	* debian/rules: Use debhelper flag --same-arch instead of --arch in
+	order to build strace64 only on the specified architectures.
+	* debian/strace64.install: New file, list for dh_install.
+	* debian/strace64.manpages: New file, list for dh_install.
+	* debian/changelog: Add prereleases entries.
+	Fixes Debian#491167, Debian#491188.
+
+2008-07-18  Andreas Schwab  <schwab@suse.de>
+
+	* linux/ia64/syscallent.h: Decode mincore syscall.
+
+	* linux/powerpc/syscallent.h: Fix argument count for request_key.
+
+	* term.c (term_ioctl): Decode indirect parameter as int, not long.
+
+2008-07-17  Roland McGrath  <roland@redhat.com>
+
+	* NEWS, strace.spec: Updates in preparation for release.
+
+	* process.c (printwaitn): When current personality's wordsize is
+	smaller than native, sign-extend the PID argument from 32 bits.
+
+	* process.c (futexops): Update table.
+	(sys_futex): Handle FUTEX_WAIT_BITSET correctly.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#448628.
+
+	* linux/syscallent.h: Fix "futex" argument count.
+	* linux/alpha/syscallent.h: Likewise.
+	* linux/arm/syscallent.h: Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#448629.
+
+	* signal.c (sigact_flags): Prefer SA_NODEFER to SA_NOMASK,
+	SA_RESETHAND to SA_ONESHOT.
+	Fixes RH#455821.
+
+2008-07-09  Frederik Schüler <fs@debian.org>
+
+	* debian/rules: Remove the broken udeb creation routines, and redo the
+	complete install procedure using debhelper.
+	* debian/strace.docs: New file, list for dh_installdocs.
+	* debian/strace.examples: New file, list for dh_installexamples.
+	* debian/strace.install: New file, list for dh_install.
+	* debian/strace-udeb.install: New file, list for dh_install.
+	* debian/strace.manpages : New file, list for dh_installmanpages.
+	* debian/copyright: Update.
+	* debian/control: Fix libc6 build dependency for alpha and ia64.
+	(strace-udeb: XC-Package-Type): Add header.
+	* debian/changelog: Cosmetic changes.
+
+2008-07-03  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Trace vfork under -f on all the platforms.
+	* strace.1 <-f>: Describe Linux catches new children immediately.
+	<-F>: Make the option obsolete.  Move the SunOS VFORK comment to the
+	`-f' option description.
+	* defs.h (followvfork): Declaration removed.
+	* strace.c (followvfork): Variable removed.
+	(main) <-F>: Merge with the `-f' option.
+	(trace): Make !FOLLOWVFORK unconditional.
+	* process.c (internal_fork): Make !FOLLOWVFORK unconditional.
+
+2008-07-01  Frederik Schüler <fs@debian.org>
+
+	* debian/changelog: List all bugs closed since the last release.
+	* debian/control: Remove Wichert Akkerman from uploaders list.
+	* debian/control: Bump standards version to 3.8.0.
+	* debian/control: Add Homepage field.
+	* debian/rules: Fix dpkg-gencontrol call.
+	* debian/compat: New file, set to compatibility level 5.
+	* debian/rules: Call dh_clean on clean target.
+	* debian/rules: Add dh_md5sums call.
+	Fixes Debian#439428.
+
+2008-06-30  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Fix ia64 `-f' on clone2 formerly crashing the child.
+	* util.c [IA64] (restore_arg0, restore_arg1): Define as empty.
+	Fixes RH#453438.
+
+2008-06-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* util.c (CLONE_VFORK): Define if not defined already.
+	(setbpt): Clear CLONE_VFORK for SYS_clone and SYS_clone2.
+	Reported by Vitaly Mayatskikh.
+	Fixes RH#455078.
+
+2008-06-29  Dmitry V. Levin <ldv@altlinux.org>
+
+	* linux/x86_64/syscallent.h: Remove duplicate syscall entries
+	for #283 and #284.
+
+2008-06-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* linux/syscallent.h: Remove a duplicite syscall stub #326.
+
+2008-05-27  Roland McGrath  <roland@redhat.com>
+
+	* syscall.c [LINUX] (is_negated_errno): New function.
+	(get_error) [LINUX]: Use it for all such cases.
+	Fixes RH#447587.
+
+2008-05-19  Roland McGrath  <roland@redhat.com>
+
+	* linux/x86_64/syscallent.h: Update entries for timerfd_* and fallocate.
+
+	* file.c (sys_fallocate): New function.
+	* linux/syscall.h: Declare it.
+	* linux/syscallent.h: Update entry.
+	From Kyle McMartin <kyle@mcmartin.ca>.
+
+	* time.c (sys_timerfd_create): New function.
+	(sys_timerfd_settime, sys_timerfd_gettime): New functions.
+	* linux/syscall.h: Declare them.
+	* linux/syscallent.h: Update entries for those syscalls.
+	From Kyle McMartin <kyle@mcmartin.ca>.
+
+	* debian/rules (binary-arch): Fix chmod/chown typo.
+	Fixes Debian#459255.
+
+	* debian/rules (binary-arch): Install strace-graph in examples/
+	directory under package doc.
+	Fixes Debian#469068.
+
+	* signal.c (sys_kill): When current personality's wordsize is smaller
+	than native, sign-extend the PID argument from 32 bits.
+	Fixes RH#430585.
+
+	* configure.ac: Add check for struct sigcontext_struct in <signal.h>.
+	* signal.c [! HAVE_ASM_SIGCONTEXT_H] [I386] (struct sigcontext_struct):
+	Conditionalize definition on !HAVE_STRUCT_SIGCONTEXT_STRUCT.
+	Fixes Debian#456879.
+
+	* util.c [LINUX] (setbpt): Use correct SYS_clone number for current
+	personality.
+	Fixes RH#447475.
+
+2008-05-08  David S. Miller  <davem@davemloft.net>
+
+	* syscall.c (socket_map, sparc_socket_decode): Delete.
+	(trace_syscall): Use common socketcall and ipc subcall
+	support on sparc.
+	* linux/sparc/syscall.h (sys_semtimedop): Declare.
+	(SYS_socket_subcall, SYS_sub_socket, SYS_sub_bind,
+	SYS_sub_connect, SYS_sub_listen, SYS_sub_accept,
+	SYS_sub_getsockname, SYS_sub_getpeername,
+	SYS_sub_socketpair, SYS_sub_send, SYS_sub_recv,
+	SYS_sub_sendto, SYS_sub_recvfrom, SYS_sub_shutdown,
+	SYS_sub_setsockopt, SYS_sub_getsockopt, SYS_sub_sendmsg,
+	SYS_sub_recvmsg, SYS_socket_nsubcalls, SYS_ipc_subcall,
+	SYS_sub_semop, SYS_sub_semget, SYS_sub_semctl,
+	SYS_sub_semtimedop, SYS_sub_msgsnd, SYS_sub_msgrcv,
+	SYS_sub_msgget, SYS_sub_msgctl, SYS_sub_shmat,
+	SYS_sub_shmdt, SYS_sub_shmget, SYS_sub_shmctl,
+	SYS_ipc_nsubcalls): Define
+	* linux/sparc/syscallent.h: Add socketcall and ipc entries.
+
+2008-01-25  Bruna Moreira  <bruna.moreira@indt.org>
+
+	* defs.h [ARM]: Define SUPPORTED_PERSONALITIES to 2.
+	* syscall.c (get_scno) [ARM]: Add support for architecture specific
+	syscalls.
+	* linux/arm/syscallent.h: Update network syscalls list.
+	* linux/arm/syscallent1.h: New file. Add new architecture specific
+	syscalls.
+	* linux/arm/errnoent1.h: New file.
+	* linux/arm/ioctlent1.h: New file.
+	* linux/arm/signalent1.h: New file.
+	Fixes Debian#441000.
+
+2008-01-07  Paul Mundt  <lethal@linux-sh.org>
+
+	* linux/sh64/syscallent.h: Update numerous calls, fix others.
+
+2007-08-26  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* defs.h [MIPS]: Include <sgidefs.h>.
+	(MAX_QUALS): Update for MIPS.
+	(LINUX_MIPSO32, LINUX_MIPSN32, LINUX_MIPSN64, LINUX_MIPS64): Define.
+	(struct tcb): Add ext_arg for MIPS N32.
+	(TCB_WAITEXECVE): Define for MIPS.
+	(ALIGN64): Use LINUX_MIPSO32.
+	* file.c (sys_lseek): Use ext_arg for MIPS N32.
+	(sys_readahead, sys_fadvise64_64): Likewise.
+	* io.c (sys_pread64, sys_pwrite64): Likewise.
+	* mem.c (print_mmap): Take OFFSET argument.
+	(sys_old_mmap): Update call to print_mmap.
+	(sys_mmap): Use ext_arg for MIPS N32.
+	* process.c (struct_user_offsets): Add MIPS registers.
+	* signal.c (sys_sigreturn): Handle MIPS N32 and MIPS N64.  Correct
+	MIPS O32 call to sprintsigmask.
+	* syscall.c (internal_syscall): Handle MIPS N32.  Check for
+	TCB_WAITEXECVE on MIPS.
+	(force_result): Add a comment about MIPS N32.
+	(syscall_enter): Handle MIPS N32 and MIPS N64.
+	* linux/syscall.h (sys_pread64, sys_pwrite64): Declare.
+	* linux/mips/syscallent.h: Include "dummy.h".  Handle alternate
+	MIPS ABIs.
+
+2008-04-19  Dmitry V. Levin <ldv@altlinux.org>
+
+	* file.c [_LFS64_LARGEFILE] (sys_getdents64): Do the same
+	d_reclen check as in sys_getdents: warn if d_reclen is 0 rather
+	than looping forever.
+	[FREEBSD] (sys_getdirentries): Likewise.
+	Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+	* file.c [LINUXSPARC] (printstatsol): Fix sprinttime()
+	invocation.  The sprinttime() function takes a time_t argument,
+	but timestruct_t argument was given.
+	Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+	* file.c (sprinttime): Check localtime() return value, to avoid
+	potential NULL dereference due to invalid time structures.
+	Signed-off-by: Harald van Dijk <truedfx@gentoo.org>
+	Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+	* linux/errnoent.h: Update errno list based on latest
+	linux/errno.h and asm-generic/errno*.h files.
+	Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+	* signalent.sh: Fix sort(1) old-style options.
+	* syscallent.sh: Likewise.
+	Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+	* count.c (call_summary_pers): Check calloc() return value.
+	Signed-off-by: "Yang Zhiguo" <yzgcsu@cn.fujitsu.com>
+
+2008-03-26  Roland McGrath  <roland@redhat.com>
+
+	* strace.spec (strace64_arches): Add sparc64.
+
+2007-11-20  Roland McGrath  <roland@redhat.com>
+
+	* CREDITS, ChangeLog: Converted contents to UTF8.
+
+2007-11-19  Roland McGrath  <roland@redhat.com>
+
+	* strace.spec: Add BuildRequires on libaio-devel, libacl-devel.
+
+2007-11-19  Andreas Schwab  <schwab@suse.de>
+
+	* process.c (sys_ptrace) [IA64]: For PTRACE_PEEKDATA,
+	PTRACE_PEEKTEXT and PTRACE_PEEKUSER the data is returned directly.
+
+	* linux/syscallent.h: Fix argument count for getdents64.
+	* linux/arm/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+
+	* linux/ia64/syscallent.h: Use sys_getdents64.
+	* linux/sh/syscallent.h: Likewise.
+
+2007-11-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* strace.c [LINUX] (droptcb): Recurse on TCP->parent if it is a
+	TCB_EXITING zombie group leader.
+	* test/childthread.c: New file.
+	* test/.cvsignore, test/Makefile: Add it.
+	Code advisory: Roland McGrath
+	Fixes RH#354261.
+
+2007-11-03  Roland McGrath  <roland@redhat.com>
+
+	* process.c (prctl_options): Add numerous constants.
+	From Sami Farin <safari@u.safari.iki.fi>.
+	Fixes RH#364401.
+
+2007-11-03  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* strace.c (main): Move the STARTUP_CHILD call before setting up the
+	signal handlers.  New comment about the valid internal states.
+
+2007-11-02  Thiemo Seufer  <ths@networkno.de>
+
+	* signal.c (m_siginfo_t): Add for MIPS.
+	(sys_sigreturn): struct sigcontext on MIPS has no sigset_t member,
+	acquire the signal mask with the same trick as on Sparc.
+	Fixes Debian#448802.
+
+2007-11-01  Roland McGrath  <roland@redhat.com>
+
+	* util.c (string_quote): Return nonzero if the string was unterminated.
+	(printstr): Use that value instead of just our own test.
+	(printpathn): Likewise.
+	Fixes RH#358241.
+
+	* linux/mips/syscallent.h: Fix argument count for fadvise64_64.
+	From Paul Mundt <lethal@linux-sh.org>.
+
+	* linux/mips/syscallent.h: Fix argument count for lookup_dcookie.
+	From Paul Mundt <lethal@linux-sh.org>.
+
+	* linux/sh64/syscallent.h: Fix SYS_socket_subcall check.
+	From Paul Mundt <lethal@linux-sh.org>.
+
+	* linux/sh/syscallent.h: Update numerous calls.
+	From Paul Mundt <lethal@linux-sh.org>.
+
+2007-09-22  Dmitry V. Levin <ldv@altlinux.org>
+
+	* desc.c (sys_pselect6): Decode signal mask when entering syscall.
+	Relax signal mask size check.
+
+	* time.c (print_timespec, sprint_timespec): New functions.
+	* defs.h (print_timespec, sprint_timespec): Declare them.
+	* desc.c (sys_io_getevents): Use print_timespec.
+	* stream.c (sys_ppoll): Likewise.
+	(decode_poll): Use sprint_timespec.
+
+2007-09-22  Alan Curry <pacman@world.std.com>
+	    Dmitry V. Levin <ldv@altlinux.org>
+
+	* stream.c (decode_poll): Rearrange so that arguments are decoded
+	and printed on syscall entry, except for revents and the output
+	timespec which are now printed in the auxstr.
+	(sys_poll): Print the input timeout argument on syscall entry.
+	[LINUX] (sys_ppoll): Likewise.
+	Fixes Debian#369651.
+
+2007-09-22  Dmitry V. Levin <ldv@altlinux.org>
+
+	* desc.c (sprintflags): Remove static qualifier, add "prefix"
+	argument, move function to ...
+	* util.c (sprintflags): ... here.
+	* defs.h (sprintflags): Declare it.
+
+2007-11-01  Roland McGrath  <roland@redhat.com>
+
+	* syscall.c (get_scno) [ARM]: Check TCB_WAITEXECVE.
+	Reported by Bernhard Fischer <rep.dot.nop@gmail.com>.
+
+	* net.c (sockpacketoptions): Make PACKET_ADD_MEMBERSHIP and
+	PACKET_DROP_MEMBERSHIP conditional.
+	From Bernhard Fischer <rep.dot.nop@gmail.com>.
+
+	* configure.ac: Match sh64* for SH64, sh* for SH.
+	Reported by Bernhard Fischer <rep.dot.nop@gmail.com>.
+
+2007-10-01  Dmitry V. Levin <ldv@altlinux.org>
+
+	* net.c (printsock): Output AF_UNIX socket address using
+	printpathn() to avoid unprintable characters in output.
+	Suggested by Neil Campbell.
+
+2007-10-01  Dmitry V. Levin <ldv@altlinux.org>
+
+	* util.c (string_quote): Move quoting code from ...
+	(printstr) ... here.  Use string_quote.
+	(printpathn): Update for new string_quote interface.
+	(printpath): Use printpathn.
+
+2007-09-25  Dmitry V. Levin <ldv@altlinux.org>
+
+	* strace.c (main): Use calloc for tcbtab allocation.
+	Check calloc return value.
+	Reported by Bai Weidong.
+
+2007-09-11  Roland McGrath  <roland@redhat.com>
+
+	* linux/sparc/syscall.h: Add missing decls.
+	* linux/sparc/syscallent.h: Correct entries for setgroups32,
+	getgroups32, sys_getdents64.
+	From Jakub Bogusz <qboosh@pld-linux.org>.
+
+	* linux/alpha/syscallent.h: Correct entries for madvise, setresgid,
+	getresgid, pivot_root, mincore, pciconfig_iobase, getdents64.
+	From Jakub Bogusz <qboosh@pld-linux.org>.
+
+	* linux/syscallent.h: Fix getegid32 entry.
+	From Jakub Bogusz <qboosh@pld-linux.org>.
+
+	* defs.h [LINUXSPARC]: Use asm/psrcompat.h for [SPARC64], not asm/psr.h.
+	From Jakub Bogusz <qboosh@pld-linux.org>.
+
+	* mem.c (sys_getpagesize): Define for [SPARC || SPARC64] too.
+	From Jakub Bogusz <qboosh@pld-linux.org>.
+
+2007-08-20  Dmitry V. Levin <ldv@altlinux.org>
+
+	* syscall.c (qual_syscall, qualify): Fix nsyscalls and MAX_QUALS misuse.
+	Reported by Xiaoning Ding.
+
+2007-08-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
+	    Roland McGrath  <roland@redhat.com>
+
+	* file.c [!HAVE_STAT64 && LINUX && X86_64] (struct stat64): Define it.
+	[!HAVE_STAT64 && LINUX && X86_64] (HAVE_STAT64, STAT64_SIZE): Define.
+	[HAVE_STAT64] (printstat64) [STAT64_SIZE]: Add compile-time assertion.
+	Fixes RH#222275.
+
+	* file.c (printstat64): Test [HAVE_LONG_LONG] for st_size printing
+	and cast to widest type available.
+
+2007-08-03  Ulrich Drepper  <drepper@redhat.com>
+
+	* file.c (open_mode_flags): Add O_CLOEXEC.
+	* net.c (msg_flags): Add MSG_CMSG_CLOEXEC.
+	Fixes RH#365781.
+
+2007-08-03  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.5.16.
+	* debian/changelog, strace.spec: 4.5.16-1.
+
+	* debian/control (Build-Depends): Replace libc6-dev-s390x and
+	libc6-dev-sparc64 with gcc-multilib.
+	* debian/rules: Replace sparc-linux, s390-linux conditionals with
+	general "arch64_map" hair, handle x86_64 and powerpc64 too.
+	From Matthias Klose <doko@cs.tu-berlin.de>.
+	Fixes Debian#435303.
+
+2007-08-02  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* strace.c (detach): Moved the resume notification code to ...
+	(resume_from_tcp): ... a new function here.
+	(handle_group_exit): No longer detach also the thread group leader.
+	(trace): Fixed panic on exit of the TCB_GROUP_EXITING leader itself.
+	Fixes RH#247907.
+
+	* test/leaderkill.c (start): Renamed to ...
+	(start0): ... here.
+	(start1): New function.
+	(main): Created a new spare thread.
+
+2007-08-01  Roland McGrath  <roland@redhat.com>
+
+	* util.c (umoven): Don't perror for EIO.
+	(umovestr): Likewise.
+
+	* process.c (printargv): Handle boundary cases correctly.
+	Handle biarch fetching correctly.
+
+	* util.c (printstr): Don't print ... if the string matches the length
+	limit exactly.
+
+	* linux/sparc64/syscallent.h: Just #include the sparc file.
+	* linux/sparc64/syscallent1.h: Likewise.
+	* linux/sparc64/syscallent2.h: Likewise.
+
+	* linux/arm/syscallent.h: Add entry for getcpu.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/mips/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+
+	* linux/arm/syscallent.h: Add entry for eventfd.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/mips/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+
+	* linux/arm/syscallent.h: Add entry for timerfd.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/mips/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+
+	* linux/arm/syscallent.h: Add entry for signalfd.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/mips/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+
+	* linux/hppa/syscallent.h: Add entry for epoll_pwait.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/mips/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+
+2007-07-23  Ulrich Drepper  <drepper@redhat.com>
+
+	* process.c (sys_getcpu): New function.
+	* linux/syscall.h: Declare sys_getcpu.
+	* linux/syscallent.h: Add entry for getcpu.
+
+	* desc.c (sys_eventfd): New function.
+	* linux/syscall.h: Declare sys_eventfd.
+	* linux/syscallent.h: Add entry for eventfd.
+	* linux/x86_64/syscallent.h: Likewise.
+
+	* time.c (printitv_bitness): Add missing braces to enclose
+	conditional code.
+	(TDF_TIMER_ABSTIME): Define if not already.
+	(timerfdflags): New variable.
+	(sys_timerfd): New function.
+	* linux/syscall.h: Declare sys_timerfd.
+	* linux/syscallent.h: Add timerfd entry.
+	* linux/x86_64/syscallent.h: Likewise.
+
+	* linux/syscall.h: Declare sys_signalfd.
+	* linux/syscallent.h: Add entry for signalfd.
+	* linux/x86_64/syscallent.h: Likewise.
+	* signal.c (sys_signalfd): New function.
+
+	* desc.c (sys_epoll_wait): Move body of function to ...
+	(epoll_wait_common): ...here.  New function.
+	(sys_epoll_pwait): New function.
+	* linux/syscall.h: Declare sys_epoll_pwait.
+	* linux/syscallent.h: Add entry for epoll_pwait.
+	* linux/x86_64/syscallent.h: Likewise.
+
+2007-07-23  Roland McGrath  <roland@redhat.com>
+
+	* time.c (printtv_bitness): SPECIAL only counts when tv_sec == 0.
+
+	* linux/arm/syscallent.h: Add move_pages.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/mips/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+
+	* linux/syscallent.h: move_pages takes 6 args, not 5.
+	* linux/x86_64/syscallent.h: Likewise.
+
+2007-07-23  Ulrich Drepper  <drepper@redhat.com>
+
+	* defs.h: Add new parameter to printtv_bitness prototype.
+	(printttv): Pass zero for the new parameter.
+	(printtv_special): New macro.
+	* desc.c (decode_select): Pass zero for the new parameter of
+	printtv_bitness.
+	* file.c (utimensatflags): New macro.
+	(sys_osf_utimes): Pass zero for the new parameter of
+	printtv_bitness.
+	(sys_utimes): Likewise.
+	(sys_futimesat): Likewise.
+	(decode_utimes): Add new parameter.  Pass it to the
+	printtv_bitness calls.  Fix printing of time values.
+	(sys_utimensat): New function.
+	* time.c (UTIME_NOW, UTIME_OMIT): Define if not already
+	happened.
+	(printtv_bitness): Add new parameter.  Print special UTIME_*
+	values as strings if set.
+	(sys_osf_gettimeofday): Pass zero for the new parameter of
+	printtv_bitness.
+	(sys_osf_settimeofday): Likewise.
+	* linux/syscall.h: Declare sys_utimensat.
+	* linux/syscallent.h: Add utimensat entry.
+	* linux/x86_64/syscallent.h: Likewise.
+
+	* mem.c (move_pages_flags): New variable.
+	(sys_move_pages): New function.
+	* linux/syscall.h: Declare sys_move_pages.
+	* linux/syscallent.h: Add entry for sys_move_pages.
+	* linux/x86_64/syscallent.h: Likewise.
+
+	* mem.c (MPOL_MF_MOVE, MPOL_MF_MOVE_ALL): Define.
+	(mbindflags): Add MPOL_MF_MOVE and MPOL_MF_MOVE_ALL entries.
+
+2007-07-23  Roland McGrath  <roland@redhat.com>
+
+	* util.c (tv_add): Fix rounding comparison.
+	Reported by Bai Weidong <baiwd@cn.fujitsu.com>.
+
+2007-07-11  Roland McGrath  <roland@redhat.com>
+
+	* count.c (call_summary_pers): Use tv_float conversion for output of
+	cumulative time, in case it is negative from bogus -O value.
+	From Lai JiangShan <laijs@cn.fujitsu.com>.
+
+	* strace.c (handle_group_exit): Detach TCP before LEADER.
+	Don't use PTRACE_KILL on LEADER.
+
+	* util.c (printstr): Fix size calculation for outstr allocation.
+
+	* configure.ac (struct sigcontext.sc_hi2): Use #ifdef around
+	<asm/sigcontext.h> to match signal.c include conditions.
+
+2007-07-05  Roland McGrath  <roland@redhat.com>
+
+	* debian/rules: Use debian/$(package) instead of debian/tmp as temp dir.
+
+	* configure.ac: Use <stddef.h> before <linux/socket.h>.
+
+	* debian/changelog: Harmonize with debian version.
+	* debian/control (Uploaders): Fix surname spelling.
+	(Build-Depends): Make debhelper requirement (>= 5.0.0).
+	(Standards-Version): Update to 3.7.2.
+
+	* .cvsignore: Add some automake-created files.
+
+	* file.c (sys_utime): Use personality_wordsize to handle biarch.
+	Fixes RH#247185.
+
+	* signal.c (sys_sigreturn) [MIPS]: Pass 3rd arg to sprintsigmask.
+	From Zhang Le <zhilg@users.sourceforge.net>.
+
+	* strace.c (strace_fopen): [_LFS64_LARGEFILE]: Use fopen64.
+	Fixes Debian#385310.
+
+	* strace.c (main): Fix error message for unfound -u user.
+	From Srinivasa Ds <srinivasa@in.ibm.com>.
+	Fixes RH#247170.
+
+	* debian/control (Architecture): Add armel.
+
+	* linux/syscallent.h: Fix sys_delete_module arg count.
+	* linux/alpha/syscallent.h: Likewise.
+	* linux/arm/syscallent.h: Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/mips/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+	* linux/sparc64/syscallent2.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+	* linux/dummy.h (sys_delete_module): Use sys_open.
+	From Johannes Stezenbach <js@linuxtv.org>.
+
+	* configure.ac: Check for struct sigcontext.sc_hi2.
+	* signal.c (sys_sigreturn) [MIPS]: Use sc_hi2 vs sc_sigset if found.
+
+	* process.c [LINUX] (futexops): Add many new values.
+	[LINUX] (futexwakeops, futexwakecmps): New tables.
+	[LINUX] (sys_futex): Use them.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#241467.
+
+2007-07-05  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* strace.c (detach): New prototype.  Extended the function comment.
+	[LINUX] (detach): Call droptcb() instead of the wrongly parametrized
+	detach() call.
+	(handle_group_exit): Call droptcb() instead of the wrongly parametrized
+	detach() call.	Always call detach() only once from the group leader.
+	Comment the leader killing known bug tested by `test/leaderkill.c'.
+	Code advisory: Roland McGrath
+	Fixes RH#240961.
+
+	* test/leaderkill.c: New file.
+	* test/.cvsignore, test/Makefile: Add it.
+
+2007-03-21  Andreas Schwab  <schwab@suse.de>
+
+	* file.c (sys_newfstatat): Don't use printstat64 on ppc64.
+
+2007-03-29  Vladimir Nadvornik <nadvornik@suse.cz>
+	    Dmitry V. Levin <ldv@altlinux.org>
+
+	Trace linux SG_IO ioctl arguments and results.
+	* scsi.c: New file.
+	* Makefile.am (strace_SOURCES): Add it.
+	* defs.h (scsi_ioctl): New function.
+	* ioctl.c (ioctl_decode): Use scsi_ioctl().
+
+2007-06-28  Dmitry V. Levin <ldv@altlinux.org>
+
+	* util.c (tv_mul): Multiply tv_usec properly.
+	Patch from Cai Fei <caifei@cn.fujitsu.com>.
+
+2007-06-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Never interrupt when the attached traced process would be left stopped.
+	* strace.c (main): `-p' attaching moved to ...
+	(startup_attach): ... a new function, renamed a variable C to TCBI.
+	Block interrupting signals since the first tracee has been attached.
+	New comment about INTERRUPTED in the nonthreaded case.
+	[LINUX] (startup_attach): Check INTERRUPTED after each attached thread.
+	(main): Command spawning moved to ...
+	(startup_child): ... a new function, replaced RETURN with EXIT.
+	[LINUX] (detach): New variable CATCH_SIGSTOP, do not signal
+	new SIGSTOP for processes still in TCB_STARTUP.
+	(main): Move signals and BLOCKED_SET init before the tracees attaching,
+	[SUNOS4] (trace): Removed fixvfork () call as a dead code, SIGSTOP must
+	have been already caught before clearing TCB_STARTUP.
+	(trace): Removed the `!WIFSTOPPED(status)' dead code.
+	Clear TCB_STARTUP only in the case the received signal was SIGSTOP.
+	New comment when `TCB_BPTSET && TCB_STARTUP' combination can be set.
+	Code advisory: Roland McGrath
+	Fixes RH#240986.
+
+2007-05-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* strace.c [LINUX] (my_tgkill): New macro.
+	[LINUX] (detach): Use my_tgkill () instead of kill(2).
+	Fixes RH#240962.
+
+2007-03-30  Dmitry V. Levin <ldv@altlinux.org>
+
+	* mem.c (mmap_flags): Add MAP_32BIT.
+	Reported by Kirill A. Shutemov.
+
+2007-01-12  Dmitry V. Levin <ldv@altlinux.org>
+
+	* sock.c (sock_ioctl): Check umove() return code.
+	[LINUX]: Handle SIOCGIFTXQLEN and SIOCGIFMAP.
+
+2007-03-16  Roland McGrath  <roland@redhat.com>
+
+	* linux/s390/syscallent.h: Use sys_restart_syscall for 7.
+	* linux/s390x/syscallent.h: Likewise.
+
+2007-02-18  Roland McGrath  <roland@redhat.com>
+
+	* strace.spec (Summary): Remove trailing period.
+	(%files): Add %doc files.
+	(%changelog): Double %s in text.
+	(BuildRoot): Change to Fedora canonical.
+	(%install): Don't use %makeinstall macro.
+	(%build): Use %{?_smp_mflags}.
+
+2007-01-16  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.5.15.
+	* debian/changelog, strace.spec: 4.5.15-1.
+
+2007-01-16  Dmitry V. Levin <ldv@altlinux.org>
+
+	Update mount parser to match kernel behaviour.
+	* system.c [LINUX] (MS_VERBOSE): Rename to MS_SILENT.
+	[LINUX] (MS_UNBINDABLE, MS_PRIVATE, MS_SLAVE, MS_SHARED):
+	New macros.
+	[LINUX] (mount_flags): Add them.
+	[LINUX] (MS_MGC_MSK): New macro.
+	[LINUX] (sys_mount): Update parser to match kernel behaviour:
+	discard MS_MGC_VAL magic, do not decode type and/or data
+	strings when specified flags do not imply valid strings.
+
+2007-01-12  Dmitry V. Levin <ldv@altlinux.org>
+
+	* time.c [LINUX] (tprint_timex32, tprint_timex): Decode adjtimex
+	modes as flags.
+
+2007-01-11  Dmitry V. Levin <ldv@altlinux.org>
+
+	Update umount parser.
+	* system.c [LINUX] (MNT_FORCE, MNT_DETACH, MNT_EXPIRE): New macros.
+	[LINUX] (umount_flags): New xlat structure with MNT_* entries.
+	[LINUX] (sys_umount2): Use umount_flags.
+
+	Fix open(2) flags parser.
+	* defs.h (tprint_open_modes): New function.
+	* desc.c (sprint_open_modes): New function.
+	(sys_fcntl): Use tprint_open_modes() and sprint_open_modes().
+	* file.c (openmodes): Split xlat into open_access_modes and
+	open_mode_flags.
+	(tprint_open_modes): New function.
+	(decode_open): Use it.
+	* ipc.c (sys_mq_open, printmqattr): Likewise.
+	Fixes RH#222385.
+
+2007-01-11  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.5.15.
+	* debian/changelog, strace.spec: 4.5.15-1.
+
+	* debian/control (Uploaders): Add Frederik Schueler <fs@debian.org>.
+
+	* strace.spec (Release): Use %{?dist}.
+
+	* system.c [LINUX] (CTL_CPU): Define in case header is missing it.
+
+2006-12-27  Dmitry V. Levin <ldv@altlinux.org>
+
+	Add const qualifier to xlookup() return value.
+	* defs.h (xlookup): Add const qualifier to return value.
+	* desc.c (sprintflags): Likewise.
+	* process.c (printpriv): Update xlookup() use.
+	* signal.c (sprintsigmask): Add const qualifier to first argument and
+	return value.
+	* util.c (xlookup): Add const qualifier to return value.
+	(printxval): Update xlookup() use.
+
+2006-12-21  Dmitry V. Levin <ldv@altlinux.org>
+
+	Move counts code to separate file.
+	* count.c: New file.
+	* Makefile.am (strace_SOURCES): Add count.c.
+	* syscall.c (call_counts, countv, counts, shortest, time_cmp,
+	syscall_cmp, count_cmp, sortfun, overhead, set_sortby,
+	set_overhead, call_summary_pers, call_summary): Move to count.c
+	* count.c (count_syscall): New function.
+	* defs.h (count_syscall): Declare it.
+	* syscall.c (trace_syscall): Use it.
+
+2006-12-20  Dmitry V. Levin <ldv@altlinux.org>
+
+	* syscall.c (internal_syscall): Change conditions for internal_exit,
+	internal_fork, internal_clone, internal_exec and internal_wait
+	calls from switching on known scno values to switching on known
+	sysent[tcp->scno].sys_func values.
+	Fixes RH#179740.
+
+	Show system call summary for each personality.
+	* syscall.c (countv): New call_counts pointers array.
+	(counts): Convert to macro wrapper around countv.
+	(call_summary_pers): New function.
+	(call_summary): Use it for each personality.
+	Fixes RH#192193.
+
+2006-12-12  Dmitry V. Levin <ldv@altlinux.org>
+
+	Fix -ff -o behaviour.  Fix piping trace output.
+	* defs.h (newoutf): Remove.
+	(alloctcb): Rename to alloc_tcb.  Add alloctcb() macro wrapper
+	around alloc_tcb().
+	* process.c [!USE_PROCFS] (internal_clone, internal_fork):
+	Remove newoutf() call.
+	* strace.c (set_cloexec_flag, strace_fopen, strace_popen,
+	swap_uid): New functions.
+	(popen_pid): New variable.
+	(newoutf): Make static, use strace_fopen().
+	(main): Use strace_fopen() and strace_popen(), remove uids
+	swapping.  Do not open outfname when followfork > 1.
+	Reinitialize tcp->outf properly.
+	(alloctcb): Rename to alloc_tcb.  Use newoutf().
+	(trace): Check popen_pid.  Remove newoutf() call.
+	[USE_PROCFS] (proc_open, proc_poll_open): Use set_cloexec_flag().
+	Fixes RH#204950, RH#218435, Debian#353935.
+
+2006-12-10  Dmitry V. Levin <ldv@altlinux.org>
+
+	Add biarch support for "struct sigevent".
+	* time.c [LINUX && SUPPORTED_PERSONALITIES > 1] (printsigevent32):
+	New function.
+	[LINUX] (printsigevent): [SUPPORTED_PERSONALITIES > 1]
+	Handle 32-bit personality.
+
+	Add biarch support for "struct timex".
+	* time.c [LINUX && SUPPORTED_PERSONALITIES > 1] (tprint_timex32):
+	New function.
+	[LINUX] (tprint_timex): New function.
+	[LINUX] (sys_adjtimex): Use it.
+
+	Enhance adjtimex parser.
+	* time.c [LINUX] (adjtimex_modes, adjtimex_status,
+	adjtimex_state): New xlat structures.
+	[LINUX] (sys_adjtimex): Print the whole struct timex.
+	Decode modes, status and return code.
+
+	Add biarch support for "struct itimerval".
+	* time.c (printitv): Rename to printitv_bitness().
+	Add printitv() macro wrapper around printitv_bitness().
+	(printitv_bitness): Handle 32-bit personality.
+	[ALPHA] (sys_osf_getitimer, sys_osf_setitimer):
+	Use printitv_bitness().
+	(tprint_timeval, tprint_timeval32): New functions.
+	(printtv_bitness, printitv_bitness, sys_adjtimex): Use them.
+	(printitv32): Remove.
+
+	Add biarch support for "struct timeval".
+	* defs.h (bitness_t): New enum type.
+	(printtv_bitness, sprinttv): New function prototypes.
+	(printtv): Convert to macro wrapper around printtv_bitness().
+	(printtv32): Remove.
+	* desc.c (decode_select): Use printtv_bitness() and sprinttv().
+	(sys_oldselect, sys_osf_select, sys_select, sys_pselect6):
+	Update decode_select() use.
+	* file.c [ALPHA] (sys_osf_utimes): Use printtv_bitness().
+	* time.c (printtv_bitness, sprinttv): New functions.
+	(printtv, printtv32): Remove.
+	[ALPHA] (sys_osf_settimeofday, sys_osf_settimeofday):
+	Use printtv_bitness().
+	Fixes RH#171626, RH#173050.
+
+	Add biarch support for "struct iovec".
+	* defs.h (personality_wordsize): Add.
+	* io.c [HAVE_SYS_UIO_H] (tprint_iov): [LINUX &&
+	SUPPORTED_PERSONALITIES > 1] Handle 32-bit personality.
+	* util.c [HAVE_SYS_UIO_H] (dumpiov): [LINUX &&
+	SUPPORTED_PERSONALITIES > 1] Likewise.
+	Patch from Jakub Jelinek.
+	Fixes RH#218433.
+
+	* time.c (sys_timer_create): Check umove() return code.
+
+	Make several global variables static.
+	#ifdef definitions of rarely unused functions.
+	* defs.h (rflag, tflag, outfname): Remove.
+	* strace.c (iflag, interactive, pflag_seen, rflag, tflag,
+	outfname, username): Make static.
+	* desc.c (sys_getdtablesize): Define only for
+	ALPHA || FREEBSD || SUNOS4.
+	* file.c (sys_fchroot): Define only for SUNOS4 || SVR4.
+	(sys_mkfifo): Define only for FREEBSD.
+	* mem.c (sys_sbrk): Define only for FREEBSD || SUNOS4.
+	(sys_getpagesize): Define only for
+	ALPHA || FREEBSD || IA64 || SUNOS4 || SVR4.
+	* net.c (sys_so_socket): Define only for SVR4.
+	* process.c (sys_gethostid): Define only for
+	FREEBSD || SUNOS4 || SVR4.
+	(sys_gethostname): Define only for
+	ALPHA || FREEBSD || SUNOS4 || SVR4.
+	(sys_setpgrp): Define only for ALPHA || SUNOS4 || SVR4.
+	(sys_execv): Define only for SPARC || SPARC64 || SUNOS4.
+	* signal.c (sys_sigblock): Define only for FREEBSD || SUNOS4.
+	(sys_sighold, sys_sigwait): Define only for SVR4.
+	(sys_killpg): Define only for FREEBSD || SUNOS4.
+	* stream.c (sys_getmsg): Define only for
+	SPARC || SPARC64 || SUNOS4 || SVR4.
+	* syscall.c (sys_indir): Define only for SUNOS4.
+
+2006-11-27  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* system.c [LINUX]: Define CTL_PROC, since Linux 2.6.18+ headers
+	removed CTL_PROC enum.	Patch from Jakub Jelinek.
+	[LINUX] (sysctl_root): Add CTL_BUS, CTL_ABI and CTL_CPU.
+
+2006-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* linux/ia64/syscallent.h: Add #if check to make sure that
+	SYS_socket_subcall adjustment isn't forgotten again.
+
+2006-10-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Implement comprehensive quotactl(2) parser for Linux.
+	* Makefile.am (strace_SOURCES): Add quota.c.
+	* quota.c: New file.
+	* resource.c: Remove old quotactl(2) parser.
+	Fixes RH#118696.
+
+2006-10-14  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* configure.ac (AC_CHECK_HEADERS): Add inttypes.h.
+	* file.c [_LFS64_LARGEFILE && (LINUX || SVR4)]:
+	Include <inttypes.h>.
+	(sys_getdents64): Use PRIu64/PRId64 to avoid gcc warnings on
+	64-bit platforms.
+
+	* strace.c (main): Check getcwd() return code.
+
+2006-10-13  Ulrich Drepper  <drepper@redhat.com>
+	    Bernhard Kaindl <bk@suse.de>
+	    Dmitry V. Levin  <ldv@altlinux.org>
+	    Michael Holzheu <holzheu@de.ibm.com>
+
+	Add hooks for new syscalls.  Add decoders for *at, inotify*,
+	pselect6, ppoll and unshare syscalls.
+
+	* defs.h: Declare print_sigset.
+	* desc.c (sys_pselect6): New function.
+	* file.c (decode_open, decode_access, decode_mkdir,
+	decode_readlink, decode_chmod, decode_utimes, decode_mknod):
+	New functions.
+	(sys_open, sys_access, sys_mkdir, sys_readlink, sys_chmod,
+	sys_utimes, sys_mknod): Use them.
+	[LINUX] (fstatatflags, unlinkatflags, inotify_modes): New
+	variables.
+	[LINUX] (print_dirfd, sys_openat, sys_faccessat,
+	sys_newfstatat, sys_mkdirat, sys_linkat, sys_unlinkat,
+	sys_symlinkat, sys_readlinkat, sys_renameat, sys_fchownat,
+	sys_fchmodat, sys_futimesat, sys_mknodat, sys_inotify_add_watch,
+	sys_inotify_rm_watch): New functions.
+	* process.c [LINUX] (sys_unshare): New function.
+	* signal.c (print_sigset): New function.
+	(sys_sigprocmask): Use it.
+	* stream.c (decode_poll): New function.
+	(sys_poll): Use it.
+	[LINUX] (sys_ppoll): New function.
+	* linux/syscall.h: Delcare new syscall handlers.
+	* linux/syscallent.h: Hook up new syscalls.
+	* linux/alpha/syscallent.h: Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/mips/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+	Fixes RH#178633.
+
+2006-10-06  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* strace.c [!USE_PROCFS] (trace): Presence of PT_GETSIGINFO
+	macro does not mean that PT_CR_IPSR and PT_CR_IIP macros are
+	also defined, so check them along with PT_GETSIGINFO.
+	Fixes RH#209856.
+
+2006-09-01  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* file.c (print_xattr_val): Fix memory corruption bug reported
+	by James Antill.
+	Fixes RH#200621.
+
+2006-04-21  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* defs.h [LINUX && X86_64 && !__NR_exit_group]: Define
+	__NR_exit_group.
+
+2006-03-29  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Fix race conditions in tcb allocation.
+	* process.c (fork_tcb): Return error code as documented.  Do not
+	print "tcb table full" error message.
+	[USE_PROCFS] (internal_fork): Do not print "tcb table full"
+	error message.
+	[SYS_clone || SYS_clone2] (internal_clone, internal_fork): Call
+	fork_tcb() before alloctcb().  Do not print "tcb table full"
+	error message.
+	* strace.c (main): Do not print "tcb table full" error message.
+	(expand_tcbtab): Print error message in case of memory allocation
+	failure.
+	(alloctcb): Print error message when tcb table is full.
+	(trace): Expand tcb table if necessary prior to allocating
+	entry there.  Do not print "tcb table full" error message.
+	Fixes RH#180293.
+
+2006-08-22  Roland McGrath  <roland@redhat.com>
+
+	* ipc.c (sys_msgget, sys_semget, sys_shmget): Show key values in hex.
+	Fixes RH#198179.
+
+2006-08-21  Roland McGrath  <roland@redhat.com>
+
+	* linux/syscall.h (SYS_socket_subcall): Bump to 400.
+	* linux/syscallent.h: Update table.
+	* linux/arm/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	Fixes RH#201462.
+
+2006-04-25  Roland McGrath  <roland@redhat.com>
+
+	* strace.c (main): Fail when -c is given with -ff.
+	* strace.1: Note their incompatibility.
+	Fixes RH#187847.
+
+	* strace.c (main): Fail when nonoption args follow -p switches.
+	Fixes Debian#361302.
+
+	* Makefile.am (EXTRA_DIST): Add xlate.el.
+
+	* linux/mips/Makefile.in: File removed, unused cruft.
+	* linux/sparc/Makefile.in: Likewise.
+
+	* strace.spec (Source0): Use http://dl.sourceforge.net URL.
+
+	* ipc.c (sys_semtimedop): Fixed inverted indirect_ipccall test.
+	* linux/hppa/syscallent.h: Fixed semtimedop entry.
+	From Mike Stroyan <mike.stroyan@hp.com>.
+	Fixes Debian#340239.
+
+2006-03-30  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* linux/arm/syscallent.h: Correct the name of exit.  Remove
+	M68K conditionals and sys_security.  Correct syscalls 243-282.
+	Fixes Debian#360154.
+
+	* process.c (change_syscall): Add ARM support.
+	* syscall.c (get_scno): Handle ARM EABI.
+	Fixes Debian#360152.
+
+2006-01-16  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.5.14.
+	* debian/changelog, strace.spec: 4.5.14-1.
+
+2006-01-13  Roland McGrath  <roland@redhat.com>
+
+	* debian/control (Build-Depends): Add debhelper.
+
+2006-01-12  Roland McGrath  <roland@redhat.com>
+
+	* signal.c [LINUX] (sys_restart_syscall): New function.
+	* linux/syscall.h: Declare sys_restart_syscall.
+	* linux/sparc/syscall.h: Likewise.
+	* linux/syscallent.h: Call 0 is restart_syscall.
+	* linux/arm/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+	* linux/alpha/syscallent.h: Use sys_restart_syscall.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/mips/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+	Fixes RH#165469, Debian#350641.
+
+2005-08-08  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* system.c [LINUX] (MS_MGC_VAL): New macro.
+	[LINUX] (mount_flags): Add it.
+	[LINUX] (sys_mount): If neither MS_BIND nor MS_MOVE bits are
+        set in the flags argument, try to fetch data string.
+	Fixes RH#165377.
+
+2006-01-12  Roland McGrath  <roland@redhat.com>
+
+	* system.c (sys_sysctl): Don't read off end of NAME when max_strlen
+	exceeds INFO.nlen.
+	From Timo Lindfors <timo.lindfors@iki.fi>.
+	Fixes Debian#339117.
+
+	* debian/rules (binary-arch): Don't pass -s to install.  Use dh_strip.
+	Fixes Debian#325132.
+
+	* debian/control (Standards-Version): Update to 3.6.2.
+
+	* defs.h [LINUXSPARC] (PERSONALITY0_WORDSIZE, PERSONALITY1_WORDSIZE):
+	New macros.
+	[SPARC64] (PERSONALITY2_WORDSIZE): New macro.
+	[X86_64] (PERSONALITY0_WORDSIZE, PERSONALITY1_WORDSIZE): New macros.
+	* syscall.c (PERSONALITY0_WORDSIZE): New macro if undefined.
+	(personality_wordsize): New variable.
+	(decode_subcall): Use it for size of argument words.
+	Fixes RH#174354.
+
+2005-11-17  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Implement qual_flags support for each personality.
+	* strace.c (main): Move qualify calls after set_personality call.
+	* syscall.c (qual_flags0): New variable..
+	[SUPPORTED_PERSONALITIES >= 2] (qual_flags1): New variable.
+	[SUPPORTED_PERSONALITIES >= 3] (qual_flags2): New variable.
+	(qual_flags): Change variable definition from array to pointer.
+	(set_personality): Initialize qual_flags variable.
+	(qualify_one): Add "pers" argument to specify personality.
+	[SUPPORTED_PERSONALITIES >= 2]: Set qual_flags1 if requested.
+	[SUPPORTED_PERSONALITIES >= 3]: Set qual_flags2 if requested.
+	(qual_syscall): Pass personality to qualify_one.
+	[SUPPORTED_PERSONALITIES >= 2]: Look for syscall also in sysent1
+	table.
+	[SUPPORTED_PERSONALITIES >= 3]: Look for syscall also in sysent2
+	table.
+	(qual_signal): Pass personality to qualify_one.
+	(qual_desc): Likewise.
+	(qualify): Use qualify_one instead of manual qual_flags
+	manipulations.
+	[SUPPORTED_PERSONALITIES >= 2]: Look for syscall also in sysent1
+	table.
+	[SUPPORTED_PERSONALITIES >= 3]: Look for syscall also in sysent2
+	table.
+	* defs.h: Update qual_flags declaration.
+	Fixes RH#173986.
+
+2005-11-14  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* syscall.c (qual_syscall): Handle numeric syscall specification.
+	Fixes RH#174798.
+
+	* syscall.c (qual_signal, qual_options): Remove redundant argument
+	check.
+
+2005-12-01  Roland McGrath  <roland@redhat.com>
+
+	* ipc.c (indirect_ipccall) [MIPS || HPPA]: Return false.
+	Fixes Debian#340239.
+
+	* Makefile.am (EXTRA_DIST): Add linux/arm/syscallent.h
+	and linux/m68k/syscallent.h.
+	Fixes Debian#336197.
+
+	* debian/control (Architecture): Add armeb.
+	Fixes Debian#335681.
+
+2005-11-02 Michal Marek  <mmarek@suse.cz>
+
+	* strace-graph (handle_trace): follow clone() and vfork() calls.
+
+2005-10-25  Heiko Carstens  <heiko.carstens@de.ibm.com>
+
+	* linux/s390/syscallent.h: Added ioprio_set, ioprio_get,
+	inotify_init, inotify_add_watch, inotify_rm_watch.
+	Corrected number of arguments for request_key.
+	* linux/s390x/syscallent.h: Likewise.
+
+2005-12-01  Roland McGrath  <roland@redhat.com>
+
+	* ipc.c (indirect_ipccall) [IA64]: Return false unless the syscall
+	number is in the low range of IA32 syscalls.
+
+2005-10-07  Andreas Schwab  <schwab@suse.de>
+
+	* linux/ia64/syscallent.h: Syscall 1105 is gettid, not ioperm.
+
+2005-12-01  Roland McGrath  <roland@redhat.com>
+
+	* resource.c (resources): Add RLIMIT_NICE, RLIMIT_RTPRIO.
+	Reported by Scott Tsai <scottt958@yahoo.com.tw>.
+
+	* ipc.c (indirect_ipccall): New function.
+	(sys_msgctl, sys_msgsnd, sys_msgrcv, sys_semop): Use that predicate
+	instead of #ifdef LINUX test.
+	[LINUX] (sys_semtimedop): Likewise.
+	(sys_shmctl, sys_shmat, sys_shmdt): Likewise.
+	Fixes RH#164755.
+
+2005-07-31  Ulrich Drepper  <drepper@redhat.com>
+
+	* linux/x86_64/syscallent.h: Fix syscall parameter count for msgrcv and
+	msgctl.
+
+	* ipc.c (sys_msgrcv): Add entering handling and print first parameter
+	there.
+	Fixes RH#164757.
+
+2005-08-08  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* strace.1: Update "SEE ALSO" links to reference to valid
+	manpages.
+	Patch from Michail Litvak <mci@owl.openwall.com>.
+	Fixes RH#165375.
+
+2005-10-21  Roland McGrath  <roland@redhat.com>
+
+	* util.c (printpathn): Cap N at sizeof path - 1.
+
+2005-08-03  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.5.13.
+	* debian/changelog, strace.spec: 4.5.13-1.
+
+	* configure.ac: Check for struct dqblk.dqb_curblocks field.
+	* resource.c [LINUX] (OLD_CMD): New macro.
+	(quotacmds): Use it to hard-wire old O_* values, don't use macros.
+	(sys_quotactl): If dqb_curblocks is not there, it's called
+	dqb_curspace instead.  Print dqb_* fields as unsigned long long.
+
+2005-07-19  Michael Schmitz  <schmitz@debian.org>
+
+	Long overdue m68k cleanup.
+	* linux/syscallent.h: remove m68k declarations.
+	* linux/m68k/syscallent.h: new file, fixed up declarations
+	to match kernel version 2.6.11. Newer syscalls are sufficiently
+	different from i386 to merit a separate file.
+
+2005-08-03  Roland McGrath  <roland@redhat.com>
+
+	* linux/x86_64/syscallent.h: Update init_module argument count.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent2.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/arm/syscallent.h: Likewise.
+
+2005-07-22  James Lentini  <jlentini@gmail.com>
+
+	* bjm.c (sys_init_module): Display all three arguments.
+	* linux/syscallent.h: Update argument count.
+
+2005-08-03  Roland McGrath  <roland@redhat.com>
+
+	* process.c (internal_wait): Don't suspend when known child is known
+	to be exiting already.
+
+	* strace.c (detach): If detaching the last live thread in a group with
+	a zombie leader, then detach the leader too.
+	(handle_group_exit): Use detach, not droptcb, for predeceased thread.
+	Mark process about to take a signal with TCB_GROUP_EXITING flag.
+	Fixes RH#161919.
+
+2005-07-19  Roland McGrath  <roland@redhat.com>
+
+	* defs.h [LINUX] [M68K] (__NR_exit_group): Define it if missing.
+	Fixes Debian#315500.
+
+2005-07-14  Heiko Carstens  <heiko.carstens@de.ibm.com>
+
+	* linux/s390/syscallent.h (sys_tgkill, vserver, fadvise64_64)
+	(statfs64, fstatfs64, remap_file_pages, mbind, get_mempolicy)
+	(set_mempolicy, mq_open, mq_unlink, mq_timedsend, mq_timedreceive)
+	(mq_notify, mq_getsetattr, sys_kexec_load, add_key, request_key)
+	(keyctl, waitid): Added.
+	* linux/s390x/syscallent.h: Likewise and added missing _llseek.
+	* linux/s390/errnoent.h (ECANCELED, ENOKEY, EKEYEXPIRED)
+	(EKEYREVOKED, EKEYREJECTED, EOWNERDEAD, ENOTRECOVERABLE): Added.
+	* linux/s390x/errnoent.h: Likewise.
+
+2005-07-05  Roland McGrath  <roland@redhat.com>
+
+	* mem.c [LINUX] (sys_old_mmap) [X86_64]: Extract 32-bit values if
+	child is 32-bit.
+	Fixes RH#162467.
+
+2005-06-08  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Introduce "-e trace=desc".
+	* defs.h (TRACE_DESC): New flag.
+	* syscall.c: Define TD macro before include of syscallent files
+	and undefine it afterwards.
+	(lookup_class): Recognize "desc" keyword.
+	* strace.1: Document "-e trace=desc".
+	* freebsd/i386/syscallent.h: Mark those syscalls which take a
+	file descriptor as an argument or return a file descriptor with
+	TD flag.
+	* linux/alpha/syscallent.h: Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/mips/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent2.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+	* linux/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+	* sunos4/syscallent.h: Likewise.
+	* svr4/syscallent.h: Likewise.
+	Fixes RH#159400.
+
+	Remove TF flag from those syscalls which have no filename argument.
+	* freebsd/i386/syscallent.h: Remove TF flag from fstat, pread,
+	pwrite, fstat, sendfile.
+	* linux/alpha/syscallent.h: Remove TF flag from read, write,
+	pread, pwrite, sendfile.
+	* linux/hppa/syscallent.h: Remove TF flag from read, write,
+	pread, pwrite, fstat64, sendfile, ftruncate64.
+	* linux/ia64/syscallent.h: Remove TF flag from read, write,
+	sendfile, fstat, fadvise64.
+	* linux/mips/syscallent.h: Remove TF flag from read, write,
+	fstatfs, fstat, pread, pwrite, sendfile, ftruncate64, fstat64,
+	sendfile64, fadvise64, fstatfs64.
+	* linux/powerpc/syscallent.h: Remove TF flag from read, write,
+	fstat, pread, pwrite, sendfile, ftruncate64, fstat64, sendfile64,
+	fadvise64, fstatfs64, fadvise64_64.
+	* linux/s390/syscallent.h: Remove TF flag from pread, pwrite,
+	sendfile, ftruncate64, fstat64, sendfile64.
+	* linux/s390x/syscallent.h: Remove TF flag from pread, pwrite,
+	sendfile, sendfile64.
+	* linux/sh/syscallent.h: Remove TF flag from pread, pwrite,
+	sendfile, fstat64.
+	* linux/sh64/syscallent.h: Remove TF flag from pread, pwrite,
+	sendfile, ftruncate64, fstat64.
+	* linux/sparc/syscallent.h: Remove TF flag from sendfile, fstat64,
+	pread, pwrite, sendfile64.
+	* linux/sparc64/syscallent2.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+	* linux/syscallent.h: Remove TF flag from pread, pwrite, sendfile,
+	ftruncate64, fstat64, sendfile64, fadvise64, fadvise64, fstatfs64,
+	fadvise64_64.
+	* linux/x86_64/syscallent.h: Remove TF flag from pread, pwrite,
+	sendfile, fadvise64_64.
+	* svr4/syscallent.h: Remove TF flag from pread, pwrite, ftruncate,
+	fstatvfs64, ftruncate64.
+	Fixes RH#159340.
+
+2005-07-04  Roland McGrath  <roland@redhat.com>
+
+	* net.c (sockipv6options): Add IPV6_ADD_MEMBERSHIP,
+	IPV6_DROP_MEMBERSHIP, IPV6_ROUTER_ALERT.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#162450.
+
+	* net.c (sockipoptions): Fix typos.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#161578.
+
+	* util.c (printnum_int): New function, printnum with s/long/int/.
+	* defs.h: Declare it.
+	* net.c (printsockopt): Use it for int-sized option.
+	Fixes RH#162449.
+	Reported by Ulrich Drepper <drepper@redhat.com>.
+
+2005-06-09  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.5.12.
+	* debian/changelog, strace.spec: 4.5.12-1.
+
+2005-06-08  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Minor namespace cleanup.
+	* defs.h (string_quote): Remove declaration.
+	* file.c (openmodessol) [LINUXSPARC]: Make static.
+	(fileflags): Likewise.
+	(aclcmds, aclipc) [HAVE_SYS_ACL_H]: Likewise.
+	(direnttypes) [FREEBSD || LINUX]: Likewise.
+	(xattrflags): Likewise.
+	* process.c (unalignctl_string): Make static.
+	(setarg): Disable.
+	* syscall.c (subcalls_table): Make static.
+	(socket_map) [!(LINUX && (ALPHA || MIPS))]: Likewise.
+	(sparc_socket_decode): Make static, define for [SPARC || SPARC64] only.
+	(decode_subcall): Make static.
+	(syscall_fixup): Likewise.
+	(get_error): Likewise.
+	(syscall_enter): Likewise.
+	* util.c (tv_tv): Disable.
+	(getpc): Likewise.
+	(string_quote): Make static.
+	Fixes RH#159688.
+
+2005-05-12  Philippe De Muyter  <phdm@macqel.be>
+
+	* util.c (getpc, printcall): Check #if defined(M68K), not M68k.
+	Enables `-i' on m68k machines.
+
+2005-06-06  Roland McGrath  <roland@redhat.com>
+
+	* process.c (struct_user_offsets) [X86_64]: Reorder elements so
+	matching works right.
+	Fixes RH#159787.
+
+	* linux/syscall.h (SYS_socket, SYS_bind, SYS_connect, SYS_listen)
+	(SYS_accept, SYS_getsockname, SYS_getpeername, SYS_socketpair)
+	(SYS_send, SYS_recv, SYS_sendto, SYS_recvfrom, SYS_shutdown)
+	(SYS_setsockopt, SYS_getsockopt, SYS_sendmsg, SYS_recvmsg)
+	(SYS_getsockname, SYS_semop, SYS_semgsub_et, SYS_semget, SYS_semctl)
+	(SYS_semtimedop, SYS_msgsnd, SYS_msgrcv, SYS_msgget)
+	(SYS_msgctl, SYS_shmat, SYS_shmdt, SYS_shmget)
+	(SYS_shmctl): Macros renamed to SYS_sub_*.
+	* syscall.c (dumpio): Match SYS_sub_* if defined instead of SYS_*.
+
+	* linux/syscall.h (SYS_waitid): Define if not defined.
+
+	* linux/syscallent.h: Fix pread/pwrite names to pread64/pwrite64.
+
+	* defs.h (struct sysent): New member `native_scno'.
+	(known_scno): Declare new function.
+	* linux/syscallent.h: Add new final field to interesting syscalls.
+	* syscall.c (known_scno): New function.
+	(dumpio, internal_syscall, syscall_fixup, trace_syscall): Use it.
+	* process.c (internal_fork, internal_exit): Likewise.
+	[IA64] (ARG_STACKSIZE, ARG_PTID, ARG_CTID, ARG_TLS): Likewise.
+	* strace.c (proc_open): Likewise.
+	* util.c [LINUX] (setbpt): Likewise.
+	* linux/syscall.h: Remove [!defined(X86_64)] from conditional
+	for defining SYS_socket_subcall et al.
+	* linux/syscallent.h: Likewise for #error check.
+	* syscall.c (trace_syscall): Likewise for SYS_{socketcall,ipc} cases.
+	Fixes RH#158934.
+
+2005-06-02  Roland McGrath  <roland@redhat.com>
+
+	* file.c (printstatfs64): Cast values to unsigned long long and use
+	%llu formats.
+	Fixes RH#158243.
+
+2005-05-31  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Deal with memory management issues.
+	* defs.h (tprint_iov): Update prototype.
+	* desc.c (sys_epoll_wait) [HAVE_SYS_EPOLL_H]: Do not allocate
+	epoll_event array of arbitrary size on the stack, to avoid
+	stack overflow.
+	* file.c (print_xattr_val): Check for integer overflow during
+	malloc size calculation, to avoid heap corruption.
+	* io.c (tprint_iov) [HAVE_SYS_UIO_H]: Check for integer overflow
+	during malloc size calculation, to avoid heap corruption.
+	Change iovec array handling to avoid heap memory allocation.
+	* mem.c (get_nodes) [LINUX]: Check for integer overflow during
+	size calculation and do not allocate array of arbitrary size on
+	the stack, to avoid stack overflow.
+	* net.c (printcmsghdr) [HAVE_SENDMSG]: Do not allocate array of
+	arbitrary size on the stack, to avoid stack overflow.  Do not
+	trust cmsg.cmsg_len to avoid read beyond the end of allocated
+	object.
+	(printmsghdr) [HAVE_SENDMSG]: Update tprint_iov() usage.
+	* process.c (sys_setgroups): Check for integer overflow during
+	malloc size calculation, to avoid heap corruption.  Change gid_t
+	array handling to avoid heap memory allocation.
+	(sys_getgroups): Likewise.
+	(sys_setgroups32) [LINUX]: Likewise.
+	(sys_getgroups32) [LINUX]: Likewise.
+	* stream.c (sys_poll) [HAVE_SYS_POLL_H]: Check for integer
+	overflow during malloc size calculation, to avoid heap corruption.
+	Change pollfd array handling to avoid heap memory allocation.
+	* system.c (sys_sysctl) [LINUX]: Check for integer overflow
+	during malloc size calculation, to avoid heap corruption.
+	* util.c (dumpiov) [HAVE_SYS_UIO_H]: Check for integer overflow
+	during malloc size calculation, to avoid heap corruption.
+	Fixes RH#159196.
+
+	* util.c (printxval): Change third argument from "char *" to
+	"const char *".
+	(printflags): Add third argument, "const char *", with similar
+	meaning to the third argument of printxval().
+	* defs.h (printxval): Change third argument from "char *" to
+	"const char *".
+	(printflags): Add third argument.
+	* bjm.c (sys_query_module) [LINUX]: Pass third argument to
+	printflags().
+	* desc.c (sys_fcntl): Likewise.
+	(sys_flock) [LOCK_SH]: Likewise.
+	(print_epoll_event) [HAVE_SYS_EPOLL_H]: Likewise.
+	* file.c (sys_open): Likewise.
+	(solaris_open) [LINUXSPARC]: Likewise.
+	(sys_access): Likewise.
+	(sys_chflags, sys_fchflags) [FREEBSD]: Likewise.
+	(realprintstat) [HAVE_LONG_LONG_OFF_T &&
+	HAVE_STRUCT_STAT_ST_FLAGS]: Likewise.
+	(printstat64) [HAVE_STAT64 &&
+	HAVE_STRUCT_STAT_ST_FLAGS]: Likewise.
+	(sys_setxattr, sys_fsetxattr): Likewise.
+	* ipc.c (sys_msgget, sys_msgsnd, sys_msgrcv, sys_semget,
+	sys_shmget, sys_shmat) [LINUX || SUNOS4 || FREEBSD]: Likewise.
+	(sys_mq_open) [LINUX]: Likewise.
+	(printmqattr) [HAVE_MQUEUE_H]: Likewise.
+	* mem.c (print_mmap) [!HAVE_LONG_LONG_OFF_T]: Likewise.
+	(sys_mmap64) [_LFS64_LARGEFILE || HAVE_LONG_LONG_OFF_T]: Likewise.
+	(sys_mprotect): Likewise.
+	(sys_mremap, sys_madvise, sys_mlockall) [LINUX]: Likewise.
+	(sys_msync) [MS_ASYNC]: Likewise.
+	(sys_mctl) [MC_SYNC]: Likewise.
+	(sys_remap_file_pages, sys_mbind, sys_get_mempolicy) [LINUX]:
+	Likewise.
+	* net.c (printmsghdr) [HAVE_STRUCT_MSGHDR_MSG_CONTROL]: Likewise.
+	(sys_send, sys_sendto): Likewise.
+	(sys_sendmsg) [HAVE_SENDMSG]: Likewise.
+	(sys_recv, sys_recvfrom): Likewise.
+	(sys_recvmsg) [HAVE_SENDMSG]: Likewise.
+	(printicmpfilter) [ICMP_FILTER]: Likewise.
+	* proc.c (proc_ioctl) [SVR4 && !HAVE_MP_PROCFS || FREEBSD]: Likewise.
+	* process.c (sys_clone) [LINUX]: Likewise.
+	(printwaitn): Likewise.
+	(sys_waitid) [SVR4 || LINUX]: Likewise.
+	* signal.c (sys_sigvec) [SUNOS4 || FREEBSD]: Likewise.
+	(sys_sigaction): Likewise.
+	(printcontext) [SVR4]: Likewise.
+	(print_stack_t) [LINUX) || FREEBSD]: Likewise.
+	(sys_rt_sigaction) [LINUX]: Likewise.
+	* sock.c (sock_ioctl) [LINUX]: Likewise.
+	* stream.c (sys_putmsg, sys_getmsg): Likewise.
+	(sys_putpmsg) [SYS_putpmsg]: Likewise.
+	(sys_getpmsg) [SYS_getpmsg]: Likewise.
+	(sys_poll): Likewise.
+	(print_transport_message) [TI_BIND]: Likewise.
+	(stream_ioctl): Likewise.
+	* system.c (sys_mount, sys_reboot): Likewise.
+	(sys_cacheflush) [LINUX && M68K]: Likewise.
+	(sys_capget, sys_capset) [SYS_capget]: Likewise.
+	* term.c (term_ioctl) [TIOCMGET]: Likewise.
+	* time.c (sys_clock_nanosleep, sys_timer_settime) [LINUX]:
+	Likewise.
+	Fixes RH#159310.
+
+	* bjm.c (sys_query_module) [LINUX]: Unitize "out of memory"
+	errors reporting style.
+	* strace.c (rebuild_pollv) [USE_PROCFS]: Likewise.
+	* system.c (sys_capget, sys_capset) [SYS_capget]: Likewise.
+	* util.c (printstr): Likewise.
+	(dumpiov) [HAVE_SYS_UIO_H]: Likewise.
+	(fixvfork) [SUNOS4]: Likewise.
+	* desc.c (decode_select): Continue to decode syscall arguments
+	in case of OOM condition.
+	* file.c (sys_getdents): Likewise.
+	(sys_getdents64) [_LFS64_LARGEFILE]: Likewise.
+	(sys_getdirentries) [FREEBSD]: Likewise.
+	* mem.c (sys_mincore): Changed type of variables which deal with
+	malloc size from int to unsigned long.
+	Fixes RH#159308.
+
+2005-05-22  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* bjm.c [LINUX]: Do not include <linux/linkage.h>.  It is not
+	safe to include kernel headers, and this one is not used anyway.
+	Fixes RH#158488.
+
+2005-05-26  Roland McGrath  <roland@redhat.com>
+
+	* system.c (sys_sysctl): Check for errors accessing user pointers.
+	Use malloc instead of alloca in case size is insane.
+
+2005-05-09  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac: Check for libaio.h.
+	* desc.c (sys_io_setup, sys_io_submit, sys_io_cancel,
+	sys_io_getevents, sys_io_destroy): New functions.
+	* linux/syscall.h: Declare them.
+	* linux/syscallent.h: Use those for io_* syscalls.
+	* linux/alpha/syscallent.h: Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/mips/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+	From Zach Brown <zach.brown@oracle.com>.
+	Fixes RH#155065.
+
+	* debian/control (Architecture): Add ppc64.
+	Fixes Debian bug #301089.
+
+2005-05-05  Anton Blanchard  <anton@samba.org>
+
+	* process.c (ptrace_cmds): Add PTRACE_GETVRREGS and PTRACE_SETVRREGS
+	if defined.
+
+2005-05-09  Roland McGrath  <roland@redhat.com>
+
+	* strace.c (main): Refuse negative -s argument value.
+	Fixes Debian bug #303256.
+
+2005-04-25  Anton Blanchard  <anton@samba.org>
+
+	* file.c (openmodes): Add O_NOATIME flag if defined.
+
+2005-04-05  Anton Blanchard  <anton@samba.org>
+
+	* linux/powerpc/ioctlent.h: Regenerated.
+
+	* signal.c (signame): Don't try and dereference negative index.
+
+	* linux/powerpc/syscallent.h: Add debug_setcontext, vserver,
+	mbind, *_mempolicy, mq_*, sys_kexec_load, add_key, request_key,
+	keyctl, waitid, sys_semtimedop.  Fix various other syscalls.
+
+	* ipc.c (shm_resource_flags): New variable, table has SHM_HUGETLB
+	but not IPC_NOWAIT, which have the same value.
+	(sys_shmget): Use that instead of resource_flags.
+
+2005-03-22  Roland McGrath  <roland@redhat.com>
+
+	* desc.c (decode_select): Increase local buffer size.
+	Fixes RH#151570.
+
+	* configure.ac, NEWS: Version 4.5.11.
+	* debian/changelog, strace.spec: 4.5.11-1.
+
+	* linux/arm/syscallent.h: Fix 113 entry (syscall, not vm86old).
+
+2005-03-14  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.5.10.
+	* debian/changelog, strace.spec: 4.5.10-1.
+
+2005-02-26  GOTO Masanori  <gotom@debian.or.jp>
+
+	* linux/alpha/syscallent.h: Fix the reversed order of lstat64 and
+	fstat64.  Clean up osf_nrecvmsg and osf_ngetsockname.
+
+2005-02-28  Andreas Schwab  <schwab@suse.de>
+
+	* syscall.c (getrval2): Move #ifdef IA64 inside #ifdef LINUX.
+
+2005-03-14  Roland McGrath  <roland@redhat.com>
+
+	* linux/mips/syscallent.h: Update various calls.
+	From Thiemo Seufer <ths@networkno.de>.
+	Fixes Debian bug #256684.
+
+	* debian/control (Architecture): Add s390.
+	Fixes Debian bug #294172.
+
+2005-03-06  Roland McGrath  <roland@redhat.com>
+
+	* strace.c (trace) [PTRACE_GETSIGINFO]: Fetch siginfo_t for SIGSEGV
+	and SIGBUS signals, use si_addr in output.
+
+2005-03-01  Roland McGrath  <roland@redhat.com>
+
+	* file.c (print_xattr_val): Add a cast.
+
+2005-02-05  Roland McGrath  <roland@redhat.com>
+
+	* desc.c (decode_select): Calculate size of passed fd_set vectors and
+	copy in the user's size rather than the standard sizeof(fd_set).
+	Fixes Debian bug #65654, #284290.
+
+	* util.c (printpath, printpathn): Print NULL and don't try any fetch
+	when ADDR is zero.
+	Fixes Debian bug #63093.
+
+	* debian/control (Build-Depends): Fix for s390 and sparc.
+	From Bastian Blank <waldi@debian.org>.
+	Fixes Debian bug #293564.
+
+2004-12-19  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* strace.c (main) [!USE_PROCFS]: In child process, raise SIGSTOP
+	right before execv() call.  Remove fake_execve() call.
+	* defs.h (fake_execve): Remove unused declaration.
+	* process.c (fake_execve): Remove unused function.
+	Fixes RH#143365.
+
+2005-02-04  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.5.9.
+	* debian/changelog, strace.spec: 4.5.9-2.
+
+	* file.c (O_LARGEFILE): Omit when #undef'd because it was zero.
+
+2005-02-02  Roland McGrath  <roland@redhat.com>
+
+	* debian/control: Add strace-udeb package for installer debugging.
+	* debian/rules (binary-arch): Build it.
+	From Joshua Kwan <joshk@triplehelix.org>.
+	Fixes Debian bug #268294.
+
+	* file.c (openmodes) [O_LARGEFILE] [O_LARGEFILE == 0]: Redefine to
+	known values for Linux.
+
+	* util.c (printcall): Print 16 ?s when long is 8 bytes.
+	Fixes RH#146932.
+
+	* linux/sparc/syscall.h: Declare sys_epoll_create, sys_epoll_ctl,
+	sys_epoll_wait.
+	* linux/sparc64/syscall.h: Just #include "../sparc/syscall.h" here.
+	* ioctl.c (nioctlents2): Add const to type.
+	Fixes Debian bug #278449.
+
+	* sock.c (iffflags): New variable, table of IFF_* values.
+	(print_addr): New function.
+	(sock_ioctl): Handle SIOCGIFADDR, SIOCGIFDSTADDR, SIOCGIFBRDADDR,
+	SIOCGIFNETMASK, SIOCGIFFLAGS, SIOCGIFMETRIC, SIOCGIFMTU, SIOCGIFSLAVE,
+	SIOCGIFHWADDR.	Use print_addr for SIOCGIFCONF, SIOCGIFNAME, and
+	SIOCGIFINDEX, and fix their output.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#138223.
+	Fixes Debian bug #192164.
+
+2004-12-20  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* configure.ac: Use AC_GNU_SOURCE macro instead of changing CFLAGS.
+	* defs.h [HAVE_CONFIG_H]: Include config.h first.
+	* strace.c: Include "defs.h" first.
+	Fixes RH#143370.
+
+	* syscall.c (call_summary): Fix potential NULL dereference.
+	Fixes RH#143369.
+
+2004-12-19  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* syscall.c (qual_signal): Check bounds for numeric signal names.
+	Fix parser of symbolic signal names.
+	Fix return code, as required by qualify() function.
+	* syscall.c (qual_desc): Check bounds for descriptor number.
+	* syscall.c (qual_syscall): Correct return code, to be consistent
+	with qualify() and other qual_* functions.
+	Fixes RH#143362.
+
+2005-02-01  Roland McGrath  <roland@redhat.com>
+
+	* system.c [LINUX] (MS_MANDLOCK, MS_NOATIME, MS_NODIRATIME, MS_BIND,
+	MS_MOVE, MS_REC, MS_VERBOSE, MS_POSIXACL, MS_ACTIVE, MS_NOUSER):
+	New macros.
+	[LINUX] (mount_flags): Add them.
+	[LINUX] (sys_mount): If any of (MS_BIND|MS_MOVE|MS_REMOUNT) bits are
+	set in the flags argument, don't try to fetch the filesystem string.
+	Fixes RH#141932.
+
+	* config.guess: Update from canonical version, timestamp 2004-11-12.
+	* config.sub: Likewise, timestamp 2004-11-30.
+
+	* process.c [LINUX] [X86_64] (sys_arch_prctl): New function.
+	* linux/syscall.h: Declare it.
+	* linux/x86_64/syscallent.h: Use it.
+	Part of RH#142667.
+
+	* process.c (sys_sched_setscheduler): Use %#lx format for bad pointer.
+	(sys_sched_getparam, sys_sched_setparam): Likewise.
+	Part of RH#142667.
+
+	* signal.c [HAVE_SIGACTION] [LINUX && X86_64] (SA_RESTORER): Define
+	here too.
+	Part of RH#142667.
+
+	* linux/syscallent.h: Use sys_mincore instead of printargs.
+	* linux/x86_64/syscallent.h: Likewise.  Also use sys_getrlimit,
+	sys_semtimedop, sys_umount2.
+	Part of RH#142667.
+
+	* syscall.c (qual_signal): Fix inverted return value and bogus
+	argument to qualify_one in the named case.
+
+	* file.c (print_xattr_val): Don't use auto array sized by syscall
+	argument.  Use malloc instead, so it can fail for insane values.
+	Fixes Debian bug #283704.
+
+	* net.c (sys_getsockopt): Fix a format %ld -> %d.
+
+	* linux/syscall.h [IA64] (SYS_semtimedop): #undef it.
+
+	* syscall.c (syscall_enter) [X86_64]: Fix 32-bit argument register map
+	not to double the middle entry!
+	Fixes RH#146093.
+
+	* linux/x86_64/syscallent.h: Fix exit_group entry.
+
+	* util.c (getpc) [S390 || S390X]: Implement it.
+	Patch by David Wilder <wilder@us.ibm.com>.
+
+	* linux/ia64/syscallent.h: Add fadvise64, fstatfs64, statfs64, mbind,
+	[gs]et_mempolicy, mq_*, sys_kexec_load, vserver, and waitid.
+	Fixes RH#146245.
+
+2005-01-22  Andreas Schwab  <schwab@suse.de>
+
+	* net.c (sys_getsockopt): Change type of len to int.
+
+2004-10-19  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.5.8.
+	* debian/changelog, strace.spec: 4.5.8-1.
+
+	* file.c (sys_fadvise64): Conditionalize just on [LINUX].
+
+	* configure.ac: Check for sys/epoll.h.
+	* desc.c: Protect #include <sys/epoll.h> with [HAVE_SYS_EPOLL_H].
+	(epollctls, epollevents): Protect each entry with #ifdef on its macro.
+
+	* strace.c (handle_group_exit): Don't detach leader that wasn't
+	TCB_ATTACHED.  Instead mark it with TCB_GROUP_EXITING.
+	Remove droptcb loop at end, no longer required since 2.6 reports each
+	thread death.
+	Fixes RH#135254.
+
+	* strace.c (trace): Use handle_group_exit for non-TCB_ATTACHED child
+	taking signal when it has nclone_threads > 0.
+
+	* strace.c (handle_group_exit, trace): Mark leader with
+	TCB_GROUP_EXITING and don't be surprised at child deaths when their
+	leader has it set.
+	Fixes RH#132150.
+
+	* process.c (WCOREFLAG): Define if not defined.
+	(W_STOPCODE, W_EXITCODE): Likewise.
+	Reported by Marty Leisner <mleisner@eng.mc.xerox.com>.
+
+	* sock.c [! LINUX]: Include <sys/socket.h> before <sys/sockio.h>.
+	Reported by Marty Leisner <mleisner@eng.mc.xerox.com>.
+
+	* debian/rules: Make strace64.1.gz symlink to strace.1.gz instead of
+	strace64.1 to strace.1, which doesn't exist.
+	Fixes Debian bug #269220.
+
+2004-09-05  Phil Blundell  <pb@nexus.co.uk>
+
+	* linux/arm/syscallent.h: New file.
+
+2004-10-19  Roland McGrath  <roland@redhat.com>
+
+	* debian/rules (DEB_BUILD_GNU_TYPE, CONFIG_OPTS): New variables.
+	[$(DEB_HOST_GNU_TYPE) == s390-linux] (build64, HOST64, CC64): Set them.
+	(build/Makefile): Use $(CONFIG_OPTS).
+	(build64/Makefile): Pass --host as well as --build.
+	From Bastian Blank <waldi@debian.org>.
+	Fixes Debian bug #271500.
+
+	* linux/hppa/syscallent.h: Update for 2.6.9 syscalls.
+	From Randolph Chung <tausq@debian.org>
+	Fixes Debian bug #273887.
+
+	* file.c (sys_llseek): Revert last change.
+
+2004-09-14  Richard Henderson  <rth@twiddle.net>
+
+	* linux/alpha/syscallent.h: Add tgkill, *stat64, vserver, mbind,
+	[gs]et_mempolicy, mq_*, waitid.
+
+2004-10-07  Roland McGrath  <roland@redhat.com>
+
+	* file.c (sys_llssek, sys_readahead, sys_fadvise64, sys_fadvise64_64):
+	Use LONG_LONG macro.
+	* io.c (sys_pread, sys_pwrite, sys_sendfile): Likewise.
+
+	* linux/x86_64/syscallent.h: Fix botched table entries.
+	From Ulrich Drepper <drepper@redhat.com>.
+
+	* mem.c [LINUX] (sys_mbind, sys_set_mempolicy, sys_get_mempolicy):
+	New functions.
+	* linux/syscall.h: Declare them.
+	* linux/x86_64/syscallent.h: Likewise.
+	From Ulrich Drepper <drepper@redhat.com>.
+
+	* linux/syscallent.h: Handle mbind, set_mempolicy, get_mempolicy.
+	From Ulrich Drepper <drepper@redhat.com>.
+
+	* file.c [LINUX && (I386 || X86_64)] (sys_fadvise64, sys_fadvise64_64):
+	New functions.
+	* linux/syscall.h: Declare them.
+	* linux/syscallent.h: Handle fadvise64 and fadvise64_64 using those.
+	* linux/x86_64/syscallent.h: Likewise.
+	From Ulrich Drepper <drepper@redhat.com>.
+
+2004-09-13  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* linux/ioctlsort.c (main): Omit duplicate lines
+	(with same name and code) from output.
+	* linux/ioctlent.sh: Build the list of ioctls defined in
+	scsi/sg.h (0x22..), scsi/scsi.h and scsi/scsi_ioctl.h (0x53..),
+	as suggested by Peter Jones <pjones@redhat.com>
+	* linux/ioctlent.h: Regenerated.
+	Fixes RH#129808.
+
+2004-09-13  Ulrich Drepper <drepper@redhat.com>
+	    Dmitry V. Levin <ldv@altlinux.org>
+
+	* time.c [LINUX] (print_rtc): New function, for printing rtc_time
+	structure.
+	[LINUX] (rtc_ioctl): New function, for parsing RTC_* ioctls.
+	* ioctl.c [LINUX] (ioctl_decode): Call rtc_ioctl.
+	* defs.h [LINUX]: Declare rtc_ioctl.
+	Fixes RH#58606.
+
+2004-10-06  Roland McGrath  <roland@redhat.com>
+
+	* desc.c [LINUX] (sys_epoll_create, sys_epoll_ctl, sys_epoll_wait):
+	New functions.
+	* linux/syscall.h: Declare them.
+	* linux/syscallent.h: Use those for epoll_* syscalls.
+	* linux/alpha/syscallent.h: Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+	* linux/sparc64/syscallent2.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#134463.
+
+	* resource.c (resources): Add RLIMIT_LOCKS, RLIMIT_SIGPENDING,
+	and RLIMIT_MSGQUEUE, if defined.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#133594.
+
+	* net.c [HAVE_SENDMSG] (printcmsghdr): New function.
+	(printmsghdr): Use it.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#131689.
+
+	* file.c (sprintmode): Add const to return type.
+	(sprintfstype): Likewise.
+	* signal.c (printsiginfo): Add a const.
+
+2004-09-15  Roland McGrath  <roland@redhat.com>
+
+	* linux/x86_64/syscallent.h: Use sys_waitid.
+
+	* linux/syscallent.h: waitid takes 5 arguments, and is in TP category.
+	* process.c (sys_waitid): Handle fifth argument (struct rusage *).
+
+2004-09-11  Roland McGrath  <roland@redhat.com>
+
+	* time.c (sys_clock_nanosleep): Print zero flags arg correctly.
+	(sys_timer_settime): Likewise.
+	(printsigevent): Print signals by name for SIGEV_SIGNAL.
+	(sys_timer_create): Print clock ID symbolically.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#131420.
+
+2004-09-07  Michal Ludvig  <mludvig@suse.cz>
+
+	* defs.h (nioctlents1, nsignals2): Fix typos in decls.
+
+2004-09-03  Roland McGrath  <roland@redhat.com>
+
+	* syscall.c (qual_options): Add const to defn.
+	Update all uses.
+	(call_count, error_count, tv_count): Variables removed.
+	(struct call_counts, counts): New type and variable.
+	Update all users of the old three to use the new array of structs.
+	(trace_syscall): Allocate counts on first use.
+	(sorted_count): Variable removed.
+	(call_summary): Allocate locally.
+
+	* syscall.c (sysent0, sysent1, sysent2, sysent): Add const to defn.
+	(nsyscalls0, nsyscalls1, nsyscalls2): Likewise.
+	(errnoent0, errnoent1, errnoent2, errnoent): Likewise.
+	(nerrnos0, nerrnos1, nerrnos2): Likewise.
+	* signal.c (signalent0, signalent1, signalent2): Likewise.
+	(nsignals0, nsignals1, nsignals2): Likewise.
+	(signame): LIkewise.
+	* ioctl.c (ioctlent0, ioctlent1, ioctlent2): Likewise.
+	(nioctlents0, nioctlents1, nioctlents2): Likewise.
+	(ioctl_lookup, ioctl_next_match): Likewise.
+	* defs.h: Update decls.
+	* io.c (sys_ioctl): Update users.
+
+	* util.c (xlookup, printxval, addflags, printflags): Use const for
+	struct xlat * argument.
+	* defs.h (xlookup, printxval, addflags, printflags): Update decls.
+	* bjm.c: Add const to all struct xlat defns.
+	* desc.c: Likewise.
+	* file.c: Likewise.
+	* ipc.c: Likewise.
+	* mem.c: Likewise.
+	* net.c: Likewise.
+	* proc.c: Likewise.
+	* process.c: Likewise.
+	* resource.c: Likewise.
+	* signal.c: Likewise.
+	* sock.c: Likewise.
+	* stream.c: Likewise.
+	* system.c: Likewise.
+	* term.c: Likewise.
+	* time.c: Likewise.
+	* util.c: Likewise.
+
+2004-09-01  Roland McGrath  <roland@redhat.com>
+
+	* linux/x86_64/syscallent.h: Add new entries for timer_*, clock_*, and
+	mq_* syscalls, and names only for new calls up to 252.
+	* linux/syscallent.h: Add waitid.
+	* linux/x86_64/syscallent.h: Likewise.
+	* linux/syscall.h: Declare sys_waitid.
+
+	* process.c (internal_wait): Take second arg giving index of flags
+	argument.
+	* defs.h: Update prototype.
+	* syscall.c (internal_syscall): Update caller.
+	Also use internal_wait for SYS_waitid.
+	* process.c (sys_waitid): Define for [LINUX] as well.
+	Don't tweak TCB_SUSPENDED--internal_wait does that.
+	(waitid_types): Conditionalize use of nonstandard P_* macros.
+
+2004-08-31  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.5.7.
+	* debian/changelog: 4.5.7-1.
+	* strace.spec: 4.5.7-2.
+
+	* debian/rules: Rewrite sparc64 change of 2004-07-12.
+	Always do each build in a separate build directory.
+	Fixes Debian bug #254728.
+
+	* time.c (clocknames): Use #ifdef around CLOCK_* uses.
+
+	* strace.1: Say that -c shows system CPU time, not real time.
+	Fixes Debian bug #254438.
+
+	* syscall.c (dumpio): Match pread and pwrite system calls too.
+	Fixes Debian bug #239947.
+
+	* net.c (sockoptions): Add all SO_* macros known in Linux 2.6.9.
+	Fixes Debian bug #171653.
+
+2004-07-12  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* signal.c [LINUX] (parse_sigset_t): Fix hex strings parser.
+	Fixes RH#128091.
+
+2004-08-30  Roland McGrath  <roland@redhat.com>
+
+	* strace.c (main): Don't call fake_execve under -c.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#129166.
+
+	* net.c (sockipoptions): Add some options.
+	[SOL_IPV6] (sockipv6options): New variable.
+	(sys_getsockopt, printsockopt): Use it for SOL_IPV6 level.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#128391.
+
+	* time.c (clocknames): New variable, symbolic names for clock_t.
+	(sys_clock_settime, sys_clock_gettime, sys_clock_nanosleep): Use it.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#129378.
+
+	* system.c (personality_options): Hard-code values here.
+	Don't #include <linux/personality.h> at all.
+	Fixes RH#130965 and Debian bug #40588.
+
+	* file.c (print_xattr_val): New function to show attribute values.
+	(sys_setxattr, sys_fsetxattr, sys_getxattr, sys_fgetxattr): Use it.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#131177.
+
+2004-07-12  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.5.6.
+	* strace.spec, debian/changelog: 4.5.6-1.
+
+	* Makefile.am (EXTRA_DIST): Add linux/sparc64 files.
+
+	* debian/rules: On sparc-linux, build strace64 as well.
+	From Ben Collins <bcollins@debian.org>.
+	Fixes Debian bug #254728.
+
+2004-07-07  David S. Miller  <davem@nuts.davemloft.net>
+
+	* linux/sparc/syscallent.h: Sync with reality.
+	* linux/sparc/syscall.h (sys_sendfile64, sys_futex, sys_gettid,
+	sys_sched_setaffinity, sys_sched_getaffinity, sys_setxattr,
+	sys_lsetxattr, sys_fsetxattr, sys_getxattr, sys_lgetxattr,
+	sys_fgetxattr, sys_listxattr, sys_llistxattr, sys_flistxattr,
+	sys_removexattr, sys_lremovexattr, sys_fremovexattr,
+	sys_remap_file_pages, sys_readahead, sys_tgkill, sys_statfs64,
+	sys_fstatfs64, sys_clock_settime, sys_clock_gettime,
+	sys_clock_getres, sys_clock_nanosleep, sys_timer_create,
+	sys_timer_settime, sys_timer_gettime): New declarations.
+	* linux/sparc64/dummy2.h, linux/sparc64/syscallent2.h,
+	linux/sparc64/syscall.h, linux/sparc64/errnoent.h,
+	linux/sparc64/errnoent1.h, linux/sparc64/errnoent2.h,
+	linux/sparc64/ioctlent.h, linux/sparc64/ioctlent1.h,
+	linux/sparc64/ioctlent2.h, linux/sparc64/signalent.h,
+	linux/sparc64/signalent.h, linux/sparc64/signalent.h,
+	linux/sparc64/signalent1.h, linux/sparc64/signalent2.h,
+	linux/sparc64/syscall1.h, linux/sparc64/syscallent.h,
+	linux/sparc64/syscallent1.h: New files.
+	* defs.h (LINUXSPARC): Define also when SPARC64.
+	(LINUX && SPARC64): Set SUPPORTED_PERSONALITIES to 3.
+	Ignore SIGTRAP after execve by defining TCB_WAITEXECVE.
+	Define possibly missing __NR_exit_group.  Declare getrval2.
+	* configure.ac (sparc64): New architecture case.
+	* file.c (stat_sparc64): New structure.
+	(printstat_sparc64): New output routine for that.
+	(printstat): Call it, if personality is 2.
+	(printstat64): Likewise.
+	* util.c: Conditionalize ptrace defines on LINUXSPARC
+	not LINUX && SPARC.
+	(SPARC64 && LINUX): Define r_pc to r_tpc, and PTRACE_FOOREGS
+	to PTRACE_FOOREGS64 so that more sparc code can be shared
+	between 64-bit and 32-bit.
+	(_hack_syscall5): Correct trap number when SPARC64.
+	(PTRACE_WRITE{TEXT,DATA}): Add SPARC64 to ifdef guard.
+	(getpc): Handle SPARC64 && LINUX.
+	(printcall): Likewise.
+	(arg fetching/setting): Use same code for SPARC64 LINUX
+	as for SPARC.
+	(setbpt): Handle SPARC64 && LINUX.
+	(clearbpt): Likewise.
+	* signal.c: Conditionalize ptrace defines on SPARC and
+	SPARC64.
+	(SPARC64 && LINUX): Define r_pc to r_tpc, and PTRACE_FOOREGS
+	to PTRACE_FOOREGS64 so that more sparc code can be shared
+	between 64-bit and 32-bit.
+	(m_siginfo): Use same definition on SPARC64 as SPARC.
+	(sys_sigreturn): Handle LINUX && SPARC64.
+	* syscall.c: Conditionalize ptrace defines on SPARC and
+	SPARC64.
+	(SPARC64 && LINUX): Define r_pc to r_tpc, and PTRACE_FOOREGS
+	to PTRACE_FOOREGS64 so that more sparc code can be shared
+	between 64-bit and 32-bit.
+	(getscno): Use same static state on SPARC64 as SPARC,
+	and add SPARC64 handling.
+	(get_error): Handle LINUX && SPARC64.
+	(force_result): Likewise.
+	(syscall_enter): Likewise.
+	(trace_syscall): Handle sys_socketcall and sys_ipc on SPARC64
+	just like SPARC.
+	(getrval2): Handle LINUX && SPARC64.
+	* process.c: Conditionalize ptrace defines on SPARC and
+	SPARC64.
+	(SPARC64 && LINUX): Define r_pc to r_tpc, and PTRACE_FOOREGS
+	to PTRACE_FOOREGS64 so that more sparc code can be shared
+	between 64-bit and 32-bit.
+	(change_syscall): Handle LINUX && SPARC64.
+	(struct_user_offsets): Ifdef out those which do not exist
+	on SPARC64.
+	* net.c (sys_pipe): Handle LINUX && SPARC64.
+	* ioctl.c: Fix initializer typo for nioctlents2, was
+	nioctlents1 by accident.
+
+2004-06-28  Andreas Schwab  <schwab@suse.de>
+
+	* process.c (internal_exec): Move TCB_WAITEXECVE handling here.
+	(sys_execve): Remove it here.
+
+2004-07-12  Roland McGrath  <roland@redhat.com>
+
+	* Makefile.am (EXTRA_DIST): Add linux/sh64/syscallent.h.
+
+	* debian/control (Section): Move to utils, matching Debian override.
+
+	* net.c (addrfams): Make variable global.
+	* sock.c (sock_ioctl): Decode the arguments for SIOCGIFNAME,
+	SIOCGIFINDEX, and SIOCGIFCONF.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#126917.
+
+	* linux/ioctlsort.c: Add some #includes.
+	[POWERPC]: Kludge out high bits.
+	* linux/ia64/ioctlent.h: Regenerated using RHEL3 headers.
+	* linux/powerpc/ioctlent.h: Likewise.
+
+2004-07-11  Roland McGrath  <roland@redhat.com>
+
+	* linux/ioctlent.sh: Replace asm with $asm in all places.
+
+	* configure.ac: Add I386 as AM_CONDITIONAL.
+	* Makefile.am [LINUX]: Add maintainer-mode rules to regenerate
+	the ioctlent.h file.
+
+2004-07-08  Roland McGrath  <roland@redhat.com>
+
+	* resource.c (sys_quotactl): Truncate first argument to 32 bits, since
+	that's what the kernel will do.
+
+2004-07-07  Roland McGrath  <roland@redhat.com>
+
+	* linux/ioctlent.sh: Take optional second argument to use as directory
+	name in place of `asm'.
+
+2004-06-27  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.5.5.
+	* strace.spec, debian/changelog: 4.5.5-1.
+
+2004-06-22  Roland McGrath  <roland@redhat.com>
+
+	* syscall.c (syscall_fixup) [LINUX && X86_64]: For 32-bit process,
+	sign extend the low 32 bits of RAX to 64 bits.
+	Fixes RH#126547.
+
+	* syscall.c (force_result): [LINUX && X86_64]: Fix RAX*4 -> RAX*8.
+
+2004-06-03  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.5.4.
+	* strace.spec, debian/changelog: 4.5.4-1.
+
+	* net.c (domains): Add many PF_* values #ifdef PF_*.
+	(addrfams): Add many AF_* values #ifdef AF_*.
+	Fixes Debian bug #250506.
+
+2004-05-02  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* linux/ioctlsort.c (compare): When ioctl codes equal, compare
+	names.
+	(main): Print a note that program output is generated by
+	ioctlsort.
+	* linux/ioctlent.sh: Build the list of ioctls defined in
+	linux/fb.h (0x46..), linux/kd.h (0x4B..), linux/cdrom.h (0x53..),
+	asm/ioctls.h (0x54..), linux/vt.h (0x56..), linux/videotext.h
+	(0x71..), linux/videotext.h (0x72..), asm/sockios.h (0x89..),
+	linux/sockios.h (0x89..), linux/wireless.h (0x8B..).
+	* linux/ioctlent.h: Regenerated from linux-2.6.5.
+	Fixes RH#122257.
+
+2004-06-03  Roland McGrath  <roland@redhat.com>
+
+	* debian/control (Architecture): Add amd64.
+	Fixes Debian bug #246568.
+
+	* strace.c (main) [LINUX]: Expand TCBTAB as necessary for threads
+	attached.  Attach threads only under -f.  Set TCB_FOLLOWFORK in them.
+	(expand_tcbtab): New function, broken out of ...
+	* process.c (fork_tcb): ... here, call that.
+	* defs.h: Declare expand_tcbtab.
+
+2004-04-19  Roland McGrath  <roland@redhat.com>
+
+	* process.c (printstatus): Add a space before | in output.
+
+2004-04-16  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac: Version 4.5.3.
+	* strace.spec, debian/changelog: 4.5.3-1.
+
+2004-03-18  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* resource.c (sys_quotactl) [LINUX]: Cast arithmetic shift operand
+	from long to unsigned long, to fix output of the quotactl command
+	parser.
+	Fixes RH#118694.
+
+2004-04-16  Roland McGrath  <roland@redhat.com>
+
+	* linux/s390/ioctlent.h, linux/s390x/ioctlent.h: Update DASD ioctls.
+	From Maxim Shchetynin <maxim@de.ibm.com>.
+
+	* configure.ac: Check for <mqueue.h>.
+	* ipc.c (sys_mq_open, printmqattr) [! HAVE_MQUEUE_H]: Don't try to
+	decode struct mq_attr.
+	* NEWS: Mention mq support.
+
+	* linux/syscall.h: Support new mq_* syscalls on Linux.
+	* linux/syscallent.h: Likewise.
+	* linux/dummy.h: Likewise.
+	* ipc.c: Likewise.
+	* time.c (printsigevent): Handle SIGEV_THREAD.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#120701.
+
+2004-04-13  Roland McGrath  <roland@redhat.com>
+
+	* net.c (msg_flags): Grok MSG_FIX, MSG_SYN, MSG_RST, MSG_NOSIGNAL,
+	MSG_MORE.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#120541.
+
+	* process.c (printstatus): Mask out bits presented symbolically, and
+	print "| 0xnnn" if the remaining bits are not all zero.
+	Fixes Debian bug #240062.
+
+	* process.c (print_affinitylist): Rewritten to handle indirect values.
+	(sys_sched_setaffinity, sys_sched_getaffinity): Update callers.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#118685.
+
+	* acinclude.m4: Quote first argument to AC_DEFUN in all cases.
+
+2004-04-08  Roland McGrath  <roland@redhat.com>
+
+	* strace.c (main) [LINUX]: When attaching for -p, look in
+	/proc/PID/task for all threads and attach them as presumed
+	CLONE_THREAD children.
+	* NEWS: Mention the feature.
+	Fixes RH#120462.
+
+2004-03-02  Roland McGrath  <roland@redhat.com>
+
+	* util.c (setbpt): Fix one missed spot to use new arg0_index macro.
+	From Michael Holzheu <HOLZHEU@de.ibm.com>.
+
+	* debian/control (Standards-Version): Update to 3.6.1.
+
+2004-03-01  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.5.2.
+	* strace.spec, debian/changelog: 4.5.2-1.
+
+	* strace.c (main): Avoid potential buffer overruns from ludicrous
+	arguments or PATH values.
+	* syscall.c (qual_signal): Bail out for too-long string.
+
+	* mem.c [LINUX]: <asm/mman.h> -> <linux/mman.h>
+	Fixes Debian bug #223207.
+
+	* linux/sparc/syscall.h: Copy linux/syscall.h decls of sys_sched_*.
+
+	* configure.ac: Check for `struct user_desc' in <asm/ldt.h>.
+	* process.c [HAVE_STRUCT_USER_DESC]: Use struct user_desc in place of
+	struct modify_ldt_ldt_s.
+	* mem.c [HAVE_STRUCT_USER_DESC]: Likewise.
+
+	* system.c (sysctl_vm): Conditionalize VM_* macro uses, add some more.
+	From Tim Yamin <plasmaroo@gentoo.org>.
+
+	* process.c (sys_execve): Clear instead of set TCB_WAITEXECVE on
+	erring syscall.
+
+	* configure.ac: Check for `struct pt_all_user_regs'
+	and `struct ia64_fpreg' in <sys/ptrace.h>.
+	* util.c, process.c, syscall.c, signal.c: Work around conflicts between
+	<sys/ptrace.h> and <linux/ptrace.h> for defining those types.
+
+	* process.c (struct_user_offsets) [LINUX && IA64]: Conditionalize
+	PT_AR_CSD and PT_AR_SSD uses in case of older kernel headers.
+
+	* util.c [LINUX] (arg0_index, arg1_index): New macros.
+	[S390 || S390X]: Define them with inverted values.
+	(setbpt): Use them for u_arg indices.
+
+2004-02-26  Andreas Schwab  <schwab@suse.de>
+
+	* defs.h [LINUX && IA64]: Declare getrval2 also on IA64.
+	* net.c (sys_pipe) [LINUX && IA64]: For IA64 use the two return values.
+	* syscall.c (getrval2) [LINUX && IA64]: Implement for IA64.
+
+2004-03-01  Roland McGrath  <roland@redhat.com>
+
+	* linux/dummy.h (sys_sched_getscheduler, sys_sched_setparam,
+	sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler,
+	sys_sched_get_priority_max, sys_sched_get_priority_min): Remove macros.
+	* process.c [LINUX] (sys_sched_getscheduler, sys_sched_setparam,
+	sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler,
+	sys_sched_get_priority_min): New functions.
+	From Ulrich Drepper <drepper@redhat.com>.
+	Fixes RH#116990.
+
+2004-02-20  Roland McGrath  <roland@redhat.com>
+
+	* linux/hppa/syscallent.h: Update some syscalls.
+	From Randolph Chung <tausq@debian.org>.
+	Fixes Debian bug #231632.
+
+2003-12-31  David Mosberger  <davidm@hpl.hp.com>
+
+	* process.c (internal_exit): For ia64, also recognize IA-32 252
+	as exit_group().
+	(change_syscall): For IA64, also support changing IA-32 syscalls.
+	* syscall.c (internal_syscall): For IA64, also recognize IA-32
+        syscall 252 (exit_group) as an internal_exit() syscall.
+	* util.c (SYS_fork): For IA64, define them to the IA-32 syscall
+	number.
+	(SYS_vfork): Likewise.
+	(arg_setup): For IA64 version, also support IA-32 syscalls.
+	(get_arg0): Likewise.
+	(get_arg1): Likewise.
+	(set_arg0): Likewise.
+	(set_arg1): Likewise.
+
+2004-02-15  Anton Blanchard  <anton@samba.org>
+
+	* linux/powerpc/syscallent.h: Add rtas call.
+	Shift multiplexed syscalls to start at 300, we are already about
+	to hit 256 real syscalls.
+	* linux/syscall.h: SYS_socket_subcall is now 300 for [POWERPC].
+
+2004-02-19  Roland McGrath  <roland@redhat.com>
+
+	* strace.c (main): Use TCP->pid, not PID, in -p message.
+	Fixes Debian bug #229802.
+
+2004-01-13  Roland McGrath  <roland@redhat.com>
+
+	* syscall.c (force_result) [LINUX] [S390 || S390X]: Remove bogus upeek
+	call.
+
+	* stream.c (internal_stream_ioctl): Fix typo strict -> struct.
+	Reported by Petter Reinholdtsen <pere@hungry.com>.
+
+2003-12-31  David Mosberger  <davidm@hpl.hp.com>
+
+	* process.c (struct_user_offsets) [IA64]: Fix up register name list.
+
+2003-12-14  Anton Blanchard  <anton@samba.org>
+
+	* file.c (sys_getdents64): Don't cast d_ino and d_off to unsigned long.
+	Use %llu formats for them.
+
+	* file.c [LINUX] (fsmagic): Add SYSFS_MAGIC.
+
+	* linux/powerpc/syscallent.h: Update to include recently added
+	syscalls.
+
+	* syscall.c (get_error) [POWERPC]: Cast result to unsigned long for
+	ppc64, we were misreporting syscalls that really succeeded as having
+	failed.
+
+2004-01-13  Roland McGrath  <roland@redhat.com>
+
+	* strace.1: Remove comment about vfork on Linux.
+	Fixes Debian bug #223390.
+
+	* file.c (direnttypes): Define under [LINUX] as well.  Add DT_UNKNOWN.
+	(sys_getdents64) [LINUX]: Print d_type field.
+
+2003-12-15  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* strace.c (trace) [WCOREDUMP]: Show coredump status of the
+	killed process if available.  Fixes RH#112117.
+
+2003-11-13  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.5.1.
+	* strace.spec, debian/changelog: 4.5.1-1.
+
+2003-09-06  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* defs.h (ioctl_lookup): Prototype change.
+	* ioctl.c (ioctl_next_match): New function.
+	* defs.h: Declare it.
+	* io.c (sys_ioctl): Use it, to display all possible ioctl names
+	when there's more than one match.
+	* ioctl.c (ioctl_lookup): Likewise.
+	* stream.c (internal_stream_ioctl): Likewise.
+	Patch from Solar Designer <solar@openwall.com>.
+
+2003-11-13  Roland McGrath  <roland@redhat.com>
+
+	* linux/sh/syscallent.h: Use sys_setgroups32, sys_getgroups32.
+	* linux/sh64/syscallent.h: Likewise.
+
+2003-09-06  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Fixes for RH#105359.
+	* util.c (printuid): New function.
+	* defs.h: Declare it.
+	* file.c (sys_chown): Use it.
+	* file.c (sys_fchown): Likewise.
+	* process.c (sys_setreuid, sys_setregid, sys_setresuid,
+	sys_setresgid): Likewise.
+	* linux/syscallent.h: Better handle getgid32, geteuid32, getegid32,
+	setreuid32, setregid32, getgroups32, setgroups32, fchown32,
+	setresuid32, getresuid32, setresgid32, getresgid32, chown32,
+	setuid32, setgid32, setfsuid32, setfsgid32.
+	* process.c [LINUX]: Define GETGROUPS32_T.
+	* process.c [LINUX] (sys_setgroups32, sys_getgroups32):
+	New functions.
+	* linux/syscall.h (sys_setgroups32, sys_getgroups32):
+	Declare them.
+
+2003-11-11  Roland McGrath  <roland@redhat.com>
+
+	* strace.c (main): Bail with usage error for missing command before we
+	open the -o file or fiddle uids.
+
+2003-11-06  Roland McGrath  <roland@redhat.com>
+
+	* strace.c (main): Treat piped output more like file output.
+	Disallow -ff with piped output.  Fixes RH#105366.
+	Reported by Dmitry V. Levin <ldv@altlinux.org>
+
+	* strace.c (tprintf): Check result of vfprintf and use perror when it
+	fails while not writing to stderr itself.  Fixes Debian bug #218762.
+
+	* net.c (printsock): Fix typo in #ifdef AF_NETLINK.
+	From Ulrich Drepper <drepper@redhat.com>.
+
+2003-11-01  Roland McGrath  <roland@redhat.com>
+
+	* syscall.c (trace_syscall) [LINUX]: Calculate ONE_TICK once using
+	setitimer rather than hard-coding a value based on HZ.
+	Fixes RH#108012, reported by Florian La Roche <laroche@redhat.com>.
+
+2003-10-21  Roland McGrath  <roland@redhat.com>
+
+	* strace.1: Fixed a few spelling errors.
+	Fixes Debian bug #217008.
+
+	* syscall.c: Revert last change, was broken.
+
+2003-10-01  Roland McGrath  <roland@redhat.com>
+
+	* process.c (internal_clone): Don't suspend parent when call requested
+	a specific PID that is not a traced child.
+
+	* signal.c [LINUX] (parse_sigset_t): Rewrite to process hex strings
+	from right to left so we don't have to presume the size.
+	Reported by David Woodhouse <dwmw2@redhat.com>.
+
+2003-09-25  Roland McGrath  <roland@redhat.com>
+
+	* mem.c (mmap_prot) [PROT_SEM, PROT_GROWSDOWN, PROT_GROWSUP]: Include
+	these in the table if they are defined.
+
+2003-09-24  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.5.
+	* strace.spec, debian/changelog: 4.5-1.
+
+	* syscall.c (get_scno) [LINUX] [S390 || S390X]: Bail out of
+	instruction decoding branch if TCB_INSYSCALL is clear.
+	Reported by <jochen@penguin-breeder.org>.
+
+	* linux/ioctlent.h: Swap order of overloaded TC* and SNDCTL_* values.
+
+2003-09-23  Roland McGrath  <roland@redhat.com>
+
+	* strace.spec: On ppc64 (maybe others later), create an strace64
+	package as well containing just /usr/bin/strace64.
+
+	* signal.c (sprintsigmask): Print RT_%u for __SIGRTMIN..__SIGRTMAX.
+	Fixes RH#104365.
+
+2003-08-21  Roland McGrath  <roland@redhat.com>
+
+	* linux/syscallent.h: Fix mlock argument count.  Fixes RH#101499.
+	* linux/x86_64/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+
+2003-07-28  Daniel Jacobowitz  <drow@mvista.com>
+
+	* defs.h (ALIGN64): Define for MIPS.
+	* io.c (PREAD_OFFSET_ARG): Define.
+	(sys_pread, sys_pwrite): Use it.
+	* process.c (struct_user_offsets) [SH]: Check whether REG_XDREG0
+	is defined.
+	* linux/sh/syscallent.h (pread, pwrite): Take six arguments.
+	(truncate64, ftruncate64): Pretty-print.
+	* linux/mips/syscallent.h (pread, pwrite): Take six arguments.
+	(truncate64, ftruncate64): Take four arguments.
+
+2003-07-17  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.4.99.
+	* strace.spec, debian/changelog: 4.4.99-1.
+
+2003-07-15  Anton Blanchard  <anton@samba.org>
+
+	* ipc.c: Add SHM_HUGETLB field.
+	Mask out permission bits in msgget, semget and shmget before
+		printing resource_flags.
+	Mask execute permission bits (even though we dont currently
+		use them).
+
+2003-07-17  Roland McGrath  <roland@redhat.com>
+
+	* linux/powerpc/syscallent.h (tgkill): New at 250.
+
+	* linux/syscallent.h: truncate64/ftruncate64 need 3 args.
+	From Ulrich Drepper <drepper@redhat.com>.
+
+	* linux/syscallent.h: Handle statfs64, fstatfs64, utimes.
+	* file.c (printstatfs): Print f_fsid and f_frsize.
+	[LINUX] (printstatfs64, sys_statfs64, sys_fstatfs64): New functions.
+	* linux/syscall.h: Add decls.
+	From Ulrich Drepper <drepper@redhat.com>.
+
+2003-07-09  Roland McGrath  <roland@redhat.com>
+
+	* linux/ia64/syscallent.h (tgkill): New at 1235.
+
+2003-07-05  Richard Henderson  <rth@twiddle.net>
+
+	* process.c (sys_clone): Order arguments for alpha the same as x86_64.
+	* syscall.c (ERESTART_RESTARTBLOCK): New.
+	(trace_syscall): Print it.
+	* linux/alpha/syscallent.h (osf_syscall): Name properly.
+	(osf_set_program_attributes): Fix typo.
+	(osf_nfssvc): Likewise.
+	(osf_sigsendset): Likewise.
+	(getdents64, gettid, readahead, tkill, setxattr, lsetxattr, fsetxattr,
+	getxattr, lgetxattr, fgetxattr, listxattr, llistxattr, flistxattr,
+	removexattr, lremovexattr, fremovexattr, futex, sched_setaffinity,
+	sched_getaffinity, tuxcall, io_setup, io_destroy, io_getevents,
+	io_submit, io_cancel, exit_group, lookup_dcookie, epoll_create,
+	epoll_ctl, epoll_wait, remap_file_pages, set_tid_address,
+	restart_syscall, fadvise, timer_create, timer_settime, timer_gettime,
+	timer_getoverrun, timer_delete, clock_settime, clock_gettime,
+	clock_getres, clock_nanosleep, semtimedop): New.
+
+2003-07-08  Roland McGrath  <roland@redhat.com>
+
+	* signal.c (sys_tgkill): New function.
+	* linux/syscall.h: Declare it.
+	* linux/syscallent.h: Add tgkill.
+
+2003-06-27  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac: Check for type `struct __old_kernel_stat'.
+	* file.c (convertoldstat, printoldstat): Define under
+	[LINUX && HAVE_STRUCT___OLD_KERNEL_STAT] rather than a list of archs.
+	(sys_oldstat, sys_oldfstat, sys_oldlstat): Likewise.
+	* linux/dummy.h [! HAVE_STRUCT___OLD_KERNEL_STAT]
+	(sys_oldstat, sys_oldfstat, sys_oldlstat): #define to printargs.
+
+2003-06-26  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac: SHMEDIA -> SH64
+	* defs.h: Likewise.
+	* mem.c: Likewise.
+	* process.c: Likewise.
+	* sock.c: Likewise.
+	* syscall.c: Likewise.
+	* util.c: Likewise.
+	* linux/shmedia/syscallent.h: Moved to ...
+	* linux/sh64/syscallent.h: ... here.
+
+	* config.guess: Update from canonical version, timestamp 2003-06-17.
+	* config.sub: Likewise.
+
+	* syscall.c (force_result) [LINUX] [ARM]: Fix variable usage.
+	From: Joshua Neal <tinara@netpipeline.net>.
+
+	* process.c [LINUX] (sys_futex): Grok FUTEX_REQUEUE and print 5th arg.
+	* linux/syscallent.h: sys_futex argument count is now 5, not 4.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+	From Jakub Jelinek <jakub@redhat.com>.
+
+	* syscall.c (get_scno) [S390 || S390X]: Fix old vs new mode detection.
+	From Michael Holzheu <HOLZHEU@de.ibm.com>.
+
+2003-06-23  Roland McGrath  <roland@redhat.com>
+
+	* net.c (sys_socket): Decode protocol for PF_INET6 same as PF_INET.
+	From Ulrich Drepper <drepper@redhat.com>.
+
+2003-06-10  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.4.98.
+	* strace.spec, debian/changelog: 4.4.98-1.
+
+2003-06-09  Roland McGrath  <roland@redhat.com>
+
+	* linux/s390x/syscallent.h: Update many syscalls.
+	* linux/syscall.h (SYS_socket_subcall): Update [S390X] value.
+
+	* linux/s390/syscallent.h: Update many syscalls.
+	* linux/syscall.h (SYS_socket_subcall): Update [S390] value.
+
+	* linux/shmedia/syscallent.h: New file.
+	From Stephen Thomas <stephen.thomas@superh.com>.
+
+	* strace.c (trace): Print a message and newline for a WIFEXITED report
+	from the process we just printed an unterminated syscall line for.
+
+2003-06-03  Roland McGrath  <roland@redhat.com>
+
+	* util.c (printcall) [LINUX]: Fix typo [IA62] -> [IA64].
+
+	Linux/ARM improvements from Russell King <rmk@arm.linux.org.uk>:
+	* defs.h [LINUX] (TCB_WAITEXECVE): Define for [ARM] too.
+	* process.c (struct_user_offsets) [LINUX] [ARM]: Add ARM registers.
+	* signal.c [LINUX] (sys_sigreturn) [ARM]: New case.
+	* syscall.c (get_scno, syscall_fixup) [LINUX] [ARM]: Case rewritten.
+	(get_error) [LINUX] [ARM]: Update.
+	(syscall_enter) [LINUX] [ARM]: New case.
+	* util.c (printcall) [LINUX] [ARM]: New case.
+
+	* debian/control (Standards-Version): Update to 3.5.10.
+
+	* strace.c (main): In PATH search, accept only a regular file with
+	execute bits set.  Fixes Debian bug #137103.
+
+2003-06-02  Roland McGrath  <roland@redhat.com>
+
+	* strace.c (main): Set -q when given -o and not -p, and not when not
+	given -o, to match what the man page always said.
+	Fixes Debian bug #47113, #153678.
+
+	* configure.ac, NEWS: Version 4.4.97.
+	* strace.spec, debian/changelog: 4.4.97-1.
+
+	* configure.ac, defs.h, mem.c, process.c, sock.c, syscall.c, util.c:
+	Merged in SHmedia port from Stephen Thomas <stephen.thomas@superh.com>.
+
+	* config.guess: Update from ftp://ftp.gnu.org/pub/gnu/config/,
+	timestamp 2003-05-22.
+	* config.sub: Likewise, timestamp 2003-05-24.
+
+2003-05-22  Roland McGrath  <roland@redhat.com>
+
+	* defs.h (struct tcb): New member `nzombies'.
+	* strace.c (alloctcb): Initialize it.
+	(droptcb): Increment our parent's zombie count.
+	* process.c (internal_wait): Don't go into TCB_SUSPENDED if the
+	process has zombies it can reap.  On the way out, if we reaped
+	an untraced process, decrement the zombie count.
+
+	* process.c (sys_clone): Mask CSIGNAL out of flags and print that
+	separately using signame.
+
+	* process.c (internal_clone) [TCB_CLONE_THREAD]: Use ARG_FLAGS instead
+	of literal 0 for index.  Consult the right flags without clobbering
+	anything when we reparent the new child to the caller's parent thread.
+
+	* linux/s390/syscallent.h: Fix sys_clone argument count.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/mips/syscallent.h: Likewise.
+	* linux/alpha/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+
+	* process.c [LINUX] [S390 || S390X] (ARG_CTID, ARG_TLS): Fix swapped
+	indices.  Reported by Jakub Jelinek <jakub@redhat.com>.
+
+	* signal.c [LINUX] (SI_SIGIO, SI_TKILL): New macros.
+	[LINUX || SVR4] (siginfo_codes): Add strings for them.
+
+	* process.c (print_affinitylist): Fix loop condition.
+	Reported by Ian Wienand <ianw@gelato.unsw.edu.au>.
+
+2003-04-10  Roland McGrath  <roland@redhat.com>
+
+	* syscall.c (qual_desc): Return zero after parsing number.
+	From Rob Leslie <rob@mars.org>, fixes Debian bug #188379.
+
+2003-04-07  Roland McGrath  <roland@redhat.com>
+
+	* linux/syscallent.h: Handle semtimedop subcall of ipc syscall.
+	* linux/syscall.h: Likewise.
+	* ipc.c [LINUX] (sys_semtimedop): New function.
+	From Ulrich Drepper <drepper@redhat.com>.
+
+	* ipc.c (sys_semget): Mask off permission bits for resource_flags.
+	From Ulrich Drepper <drepper@redhat.com>.
+
+2003-04-01  Philippe De Muyter  <phdm@macqel.be>
+
+	* sock.c, stream.c: Check #ifdef LINUX, not linux.
+	* file.c: Always provide sys_*attr, regardless of #ifdef XATTR_CREATE.
+
+2003-03-30  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.4.96.
+	* strace.spec, debian/changelog: 4.4.96-1.
+
+2003-02-26  Stuart Menefy <stuart.menefy@st.com>
+
+	Various fixes for SuperH [SH]:
+	* mem.c (sys_old_mmap): mmap() parameters passed in registers
+	* net.c (sys_pipe), syscall.c (getrval2): pipe() results returned
+	in registers
+	* process.c (change_syscall): Fixed register which holds system
+	call number
+	* util.c (arg0_offset, arg1_offset): provide definition
+	* Makefile.am: Added new files in linux/sh
+	* linux/sh/syscallent.h: New file.
+	* linux/sh/errnoent.h: New file.
+	* linux/sh/ioctlent.h: New file.
+	* linux/sh/signalent.h: New file.
+
+	* linux/ioctlent.sh: Take an arg for location of header files
+	* syscallent.sh: Replaced lost $
+
+2003-03-30  Roland McGrath  <roland@redhat.com>
+
+	* time.c [LINUX]: Handle new Linux 2.5 clock/timer syscalls.
+	* linux/syscall.h, linux/syscallent.h, linux/dummy.h: Likewise.
+	From Ulrich Drepper <drepper@redhat.com>.
+
+	* linux/syscallent.h: Use sys_getrlimit for 191.
+	Use name "old_getrlimit" for 76.
+	Reported by Ulrich Drepper <drepper@redhat.com>.
+
+2003-03-18  Roland McGrath  <roland@redhat.com>
+
+	* process.c [LINUX] (sys_clone): Don't dereference parent_tid argument.
+
+2003-03-17  Roland McGrath  <roland@redhat.com>
+
+	* linux/x86_64/syscallent.h: clone takes 5 args.
+	* process.c [LINUX] (sys_clone) [X86_64]: Fix argument order.
+
+2003-03-15  Roland McGrath  <roland@redhat.com>
+
+	* linux/x86_64/syscallent.h: Add exit_group syscall at 231.
+
+2003-03-14  Roland McGrath  <roland@redhat.com>
+
+	* linux/x86_64/syscallent.h: Update and add many 2.5 syscalls.
+
+	* linux/ia64/syscallent.h: clone takes 5 arguments.
+	* process.c [LINUX && IA64] (ARG_*): Update for 2.5 clone calls.
+
+2003-03-12  Roland McGrath  <roland@redhat.com>
+
+	* linux/ia64/syscallent.h: Fix arg counts for clone and clone2.
+	Use sys_clone for clone2.
+	* linux/syscall.h: Don't declare sys_clone2.
+	* process.c (sys_clone): Rewritten to handle both flavors,
+	print all extra args depending on flag bits.
+	(sys_clone2): Function removed.
+
+	* linux/ia64/syscallent.h: Add a bunch of 2.5 syscalls.
+
+2003-03-04  Roland McGrath  <roland@redhat.com>
+
+	* syscall.c (get_scno) [IA64]: Do TCB_WAITEXECVE check only when
+	TCB_INSYSCALL is clear, like other platforms do.
+
+2003-03-04  Ulrich Drepper  <drepper@redhat.com>
+
+	* mem.c [LINUX] (sys_remap_file_pages): New function.
+	* linux/syscall.h: Declare it.
+	* linux/syscallent.h: Use it.
+	* linux/powerpc/syscallent.h: Likewise.
+
+	* process.c [LINUX] (sys_futex): Omit final if op is not FUTEX_WAIT.
+
+2003-02-26  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac: Fix typo in netinet/in.h check.
+	Also include <sys/types.h> and <sys/socket.h> before <netinet/in.h>.
+	Reported by Alex Semenyaka <alexs@snark.rinet.ru>.
+
+2003-02-24  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.4.95.
+	* strace.spec, debian/changelog: 4.4.95-1.
+
+	* process.c (sys_getresgid): Fix typos in argument access.
+
+2003-02-23  Roland McGrath  <roland@redhat.com>
+
+	* process.c (sys_getresuid): Fix typos in argument access.
+	Reported by Anton Blanchard <anton@samba.org>.
+
+2003-02-19  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.4.94.
+	* strace.spec, debian/changelog: 4.4.94-1.
+
+	* version.c: Removed.
+	* Makefile.am (strace_SOURCES): Remove it.
+	* strace.c: Use PACKAGE_NAME and VERSION macros instead of version var.
+
+	FreeBSD rfork support changes from Russ Cox <rsc@plan9.bell-labs.com>:
+	* syscall.c (internal_syscall): Handle SYS_rfork with internal_fork.
+	* process.c (internal_fork) [SYS_rfork]: Bail if RFPROC flag not set.
+
+2003-01-23  Roland McGrath  <roland@redhat.com>
+
+	* signal.c: Reorder #ifdefs so HAVE_ASM_SIGCONTEXT_H doesn't matter on
+	SPARC, which doesn't use the header regardless.
+
+	* util.c [LINUX && SPARC]: Do renaming kludges around <asm/reg.h>
+	like signal.c does.
+
+	* linux/sparc/syscall.h: Declare sys_getdents64, sys_llseek.
+
+	* linux/dummy.h [! SYS_getpmsg] (sys_getpmsg): #define to printargs.
+	[! SYS_putpmsg] (sys_putpmsg): Likewise.
+
+	* process.c: Reorder includes to put sys/reg.h before linux/ptrace.h,
+	since they can conflict.
+
+2003-01-21  Roland McGrath  <roland@redhat.com>
+
+	* strace.c (usage): Omit -z, since it has never worked properly.
+	* NEWS: Likewise.
+
+	* strace.c (main): Grok new option `-E var=val' or `-E var' to put
+	var=val in environ or to remove var, respectively.
+	(usage): Mention it.
+	* strace.1, NEWS: Document it.
+
+	* configure.ac, NEWS: Version 4.4.93.
+	* strace.spec, debian/changelog: 4.4.93-1.
+	* strace.spec (Source0): Use strace-VERSION.tar.bz2 now.
+
+2003-01-20  Roland McGrath  <roland@redhat.com>
+
+	* defs.h [LINUX] [S390 || S390X] (TCB_WAITEXECVE): Define it.
+	* syscall.c (get_scno, syscall_fixup) [LINUX] [S390 || S390X]: Handle
+	TCB_WAITEXECVE state with special kludges.
+
+	* process.c [LINUX] (sys_clone) [S390 || S390X]: Argument order is
+	reversed from other architectures.
+
+	* process.c (sys_execve) [LINUX]: Make setting TCB_WAITEXECVE flag
+	conditional on [TCB_WAITEXECVE] instead of list of processors.
+
+	* util.c (restore_arg0): Evaluate args in no-op defns.
+
+	* util.c [S390 || S390X] (arg0_offset, arg1_offset): Fix definitions
+	for clone call on S390.  From Michael Holzheu <holzheu@de.ibm.com>.
+
+2003-01-17  Anton Blanchard <anton@samba.org>
+
+	* util.c [LINUX] (setbpt): Handle SYS_vfork like SYS_fork.
+
+	* linux/syscall.h (SYS_socket_subcall): 256 also for POWERPC.
+
+2003-01-14  Roland McGrath  <roland@redhat.com>
+
+	* linux/powerpc/errnoent.h: Add missing errnos.
+	* linux/powerpc/ioctlent.h: Update ioctl values.
+	From Anton Blanchard <anton@samba.org>.
+
+	* io.c [LINUX] (sys_pread, sys_pwrite): Fix last change.
+	From Anton Blanchard <anton@samba.org>.
+
+	* linux/hppa/syscallent.h: Use sys_getdents64, sys_truncate64,
+	sys_ftruncate64, instead of printargs, for those syscalls.
+	* linux/mips/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+
+	* linux/syscall.h (SYS_socket_subcall): Only 256 for S390, S390X.
+	All others at the moment use linux/syscallent.h, where it's 300.
+
+	* strace.1: Update bug reporting info.
+
+	* resource.c [LINUX] (quotacmds): Grok new command encodings.
+	From Nathan Scott <nathans@debian.org>.
+
+	* configure.ac, NEWS: Version 4.4.92.
+	* strace.spec, debian/changelog: 4.4.92-1.
+
+	* configure.ac: Match powerpc* (includes powerpc64), and don't match
+	ppc (never comes out of config.sub).
+
+	* process.c (sys_ptrace): Use #lx format for address argument.
+	[POWERPC]: Use sizeof(unsigned long) in place of 4 for multipliers.
+	* process.c [POWERPC]: Likewise.
+	* signal.c (sys_sigreturn) [POWERPC]: Likewise.
+	* syscall.c (get_scno) [POWERPC]: Likewise.
+	* util.c [POWERPC]: Likewise.
+	(printnum): Use long for NUM.
+	From Anton Blanchard <anton@samba.org>.
+
+	* defs.h (ALIGN64): Fix defn for PPC, same as FreeBSD one.
+
+	* util.c [LINUX] (restore_arg0, restore_arg1): New macros, defined
+	appropriately via set_arg0 or no-ops for each architecture.
+	(clearbpt): Use those instead of set_arg0 and set_arg1.
+
+	* defs.h [_LARGEFILE64_SOURCE] (_LFS64_LARGEFILE): Define it.
+	* linux/syscallent.h: Use sys_getdents64, sys_truncate64,
+	sys_ftruncate64, instead of printargs, for those syscalls.
+
+	* process.c: Use <linux/ptrace.h> regardless of <sys/reg.h>.
+	(sys_ptrace): Use printxval.
+	(ptrace_cmds): Make PTRACE_GETREGS et al conditional on #ifdef PTRACE_*
+	instead of only #ifdef SUNOS4.  Add PTRACE_[GS]ETFPXREGS.
+
+	* ipc.c (PRINTCTL): New macro.  #ifdef IPC_64, factor out the flag and
+	print it before using printxval.
+	(sys_msgctl, sys_semctl, sys_shmctl): Use it.
+
+2003-01-13  Roland McGrath  <roland@redhat.com>
+
+	* config.guess: Update from ftp://ftp.gnu.org/pub/gnu/config/,
+	timestamp 2003-01-10.
+	* config.sub: Likewise, timestamp 2003-01-03.
+	* install-sh: Update from Automake 1.7.2.
+
+	* linux/powerpc/signalent.h: Add SIGRTMIN.
+	From Anton Blanchard <anton@samba.org>.
+
+	* linux/powerpc/syscallent.h: Add missing system calls.
+	Decode more system calls, we were just printargs for many things.
+	Remove some x86-specific system calls.
+	Remove two syscalls between the socket and ipc syscalls,
+	it was resulting in all IPC syscalls being off by two.
+
+	* ioctl.c (ioctl_decode) [POWERPC]: Decode term ioctls like Alpha.
+	From Anton Blanchard <anton@samba.org>.
+
+	* defs.h [POWERPC] (UESP, EIP, EAX, ORIG_EAX): Remove this cruft.
+	[LINUX && POWERPC && !__powerpc64__] (ALIGN64): New macro.
+	* io.c (sys_pread, sys_pwrite): Use ALIGN64.
+	From Anton Blanchard <anton@samba.org>.
+
+	* term.c [LINUX]: Get kernel definition of struct termios.
+	From Anton Blanchard <anton@samba.org>.
+
+	* linux/ioctlent.sh: Look in sound/ directory too.
+	From Anton Blanchard <anton@samba.org>.
+
+	* desc.c (printflock64): Fix ADDR argument type.
+	From Anton Blanchard <anton@samba.org>.
+
+	* strace.c [! HAVE_STRSIGNAL]: Clean up #ifdefs on decls for
+	sys_siglist and _sys_siglist.
+	Reported by John Hughes <john@Calva.COM>.
+
+	* net.c: HAVE_OPTHDR -> HAVE_STRUCT_OPTHDR
+	Reported by John Hughes <john@Calva.COM>.
+
+	* linux/syscall.h [ARM] (SYS_socket_subcall): Set to 300.
+
+2003-01-10  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, NEWS: Version 4.4.91.
+	* strace.spec, debian/changelog: 4.4.91-1
+
+	* util.c [LINUX && X86_64] (arg0_offset, arg1_offset): Use correct
+	values for x86-64, conditional on current_personality.
+
+	* strace.c (droptcb): Clear flags word before calling rebuild_pollv.
+
+	* configure.ac: Check struct T_conn_res for QUEUE_ptr or ACCEPTOR_id.
+	* stream.c (print_transport_message): Use #ifdefs for those members.
+
+	* strace.c (rebuild_pollv): Fix typo: struct poll -> struct pollfd.
+
+	* configure.ac: Fix siginfo_t/sig_atomic_t checks.
+	Use prerequisite #include <netinet/in.h> for netinet/*.h checks.
+
+	* strace.c (pfd2tcb): Fix for new tcbtab type.
+	(rebuild_pollv): Likewise.
+	(detach): Put variables used under [LINUX] inside #ifdef.
+
+	* process.c (change_syscall) [POWERPC]: Add missing return.
+	* util.c [POWERPC] (arg0_offset): Set to 4*PT_R3, not 4*PT_ORIG_R3.
+
+	* strace.spec: New file.
+	* debian/changelog: 4.4.90-1
+	* debian/rules (binary-arch): Depend on build.
+	(clean): Don't try to run Makefile.in.
+	* debian/control (Standards-Version): Now 3.5.8.
+
+	* configure.ac: Diddle CFLAGS after AC_PROG_CC, not before.
+
+2003-01-09  Roland McGrath  <roland@redhat.com>
+
+	* syscall.c (force_result) [S390 || S390X]: Fix typo.
+
+	* debian/control: Update Maintainer: field.
+
+2003-01-08  Roland McGrath  <roland@redhat.com>
+
+	* NEWS: Update for 4.4.90 test release.
+
+	Support for new Linux 2.5 thread features.
+	* defs.h [LINUX]: Define __NR_exit_group if not defined.
+	(struct tcb): New members nclone_threads, nclone_detached,
+	and nclone_waiting.
+	(TCB_CLONE_DETACHED, TCB_CLONE_THREAD, TCB_GROUP_EXITING): New macros.
+	(waiting_parent): Macro removed.
+	(pid2tcb): Declare it.
+	* process.c (internal_clone) [TCB_CLONE_THREAD]: Reparent the new
+	child to our parent if we are a CLONE_THREAD child ourselves.
+	Maintain TCB_CLONE_THREAD and TCB_CLONE_DETACHED flags and counts.
+	(internal_wait) [TCB_CLONE_THREAD]: Factor out detached children when
+	determining if we have any.  If TCB_CLONE_THREAD is set, check
+	parent's children instead of our own, and bump nclone_waiting count.
+	(internal_exit) [__NR_exit_group]: Set the TCB_GROUP_EXITING flag if
+	the syscall was exit_group.
+	* syscall.c (internal_syscall): Use internal_exit for exit_group.
+	* strace.c (pid2tcb): No longer static.
+	(alloctcb) [TCB_CLONE_THREAD]: Initialize new fields.
+	(droptcb) [TCB_CLONE_THREAD]: Maintain new fields.
+	If we have thread children, set TCB_EXITING and don't clear the TCB.
+	(resume) [TCB_CLONE_THREAD]: Decrement parent's nclone_waiting.
+	(detach) [TCB_CLONE_THREAD]: When calling resume, check all thread
+	children of our parent that might be waiting for us too.
+	[TCB_GROUP_EXITING] (handle_group_exit): New function.
+	(trace) [TCB_GROUP_EXITING]: Use that in place of detach or droptcb.
+
+	Revamp -f support for Linux.
+	* util.c [LINUX] (setbpt, clearbpt): New implementations that tweak
+	the system call to be clone with CLONE_PTRACE set.  Various new static
+	helper functions.
+	* process.c (internal_clone): Define also #ifdef SYS_clone2.
+	Initialize TCPCHILD->parent field.
+	[CLONE_PTRACE]: Don't do PTRACE_ATTACH here, because it's preattached.
+	Check in case the new child is in the tcb already.
+	(internal_fork) [LINUX]: Just call internal_clone.
+	* strace.c (trace) [LINUX]: Under -f/-F, grok an unknown pid
+	reporting to wait, put it in the TCB with TCB_ATTACHED|TCB_SUSPENDED.
+
+	* linux/x86_64/syscallent1.h (sys_oldlstat): #define as printargs.
+
+	* file.c [LINUX]: #undef st_[amc]time in case they are macros.
+
+	* Makefile.am (AM_CFLAGS): New variable, define to $(WARNFLAGS).
+
+	* Makefile.am (EXTRA_DIST): Remove debian/postinst and debian/prerm.
+
+2003-01-09  Wichert Akkerman  <wichert@deephackmode.org>
+
+	* debian/postinst, debian/prerm: removed, /usr/doc symlink is no
+	longer used
+	* debian/rules: no longer install postinst and prerm
+	* debian/control: do not end summary with full stop (lintian)
+
+2002-12-30  Roland McGrath  <roland@redhat.com>
+
+	* Makefile.am (bin_SCRIPTS): New variable, list strace-graph.
+	(EXTRA_DIST): Add missing files.
+
+	* configure.ac: Fix asm/sigcontext.h check to include prerequisite.
+
+	* syscall.c (qualify_one): New function.
+	(qual_options): Replace lookup field with qualify, update initializer.
+	(qualify): Update caller.
+	(qual_signal, qual_fault, qual_desc): Rewritten from lookup_*.
+	(qual_syscall): Rewritten lookup_syscall, match name more than once.
+	Fixes RH#70579, bites IA64 -efoo when foo exists on IA32.
+
+	* version.c (version): Make const, bump to 4.4.90.
+	* strace.c: Update decl.
+
+	* Makefile.am [LINUX && X86_64]: Remove cruft.
+	* linux/x86_64/errnoent1.h: New file.
+	* linux/x86_64/ioctlent1.h: New file.
+	* linux/x86_64/signalent1.h: New file.
+	* linux/x86_64/syscallent1.h: New file.
+	* linux/x86_64/i386-headers.diff: File removed.
+	* linux/x86_64/makeheaders.sh: File removed.
+	* linux/x86_64/Makefile.in: File removed.
+
+	* linux/syscallent.h [X86_64]: Disable sanity checks, subcall stuff is
+	already broken for 32-bit personality on x86-64.
+
+2002-12-29  Roland McGrath  <roland@redhat.com>
+
+	* configure.ac, Makefile.am: Punt subdirs, handle everything here.
+	* linux/Makefile.am: File removed.
+	* freebsd/Makefile.am: File removed.
+	* sunos4/Makefile.in: File removed.
+	* svr4/Makefile.in: File removed.
+
+	* linux/alpha/Makefile.in: File removed.
+	* linux/hppa/Makefile.in: File removed.
+	* linux/ia64/Makefile.in: File removed.
+	* linux/powerpc/Makefile.in: File removed.
+	* linux/s390/Makefile.in: File removed.
+	* linux/s390x/Makefile.in: File removed.
+
+2002-12-26  Roland McGrath  <roland@redhat.com>
+
+	* syscallent.sh: Grok three flavors of #define line, uniquify.
+	* linux/hppa/syscallent.sh: File removed.
+	* linux/powerpc/syscallent.sh: File removed.
+
+	* linux/Makefile.am: New file.
+	* linux/Makefile.in: File removed.
+	* freebsd/Makefile.am: New file.
+	* freebsd/i386/Makefile.am: New file.
+	* freebsd/i386/Makefile.in: File removed.
+
+2002-12-22  Roland McGrath  <roland@redhat.com>
+
+	Update to Autoconf 2.57, and Automakify with version 1.7.
+	* Makefile.am: New file.
+	* Makefile.in: File removed.
+	* configure.in: Moved to ...
+	* configure.ac: ... here.  Update for Autoconf 2.5x and Automake.
+	* aclocal.m4: Moved to ...
+	* acinclude.m4: ... here.  Update for Autoconf 2.5x.
+	* acconfig.h: File removed.
+	* AUTHORS: New file, makes automake happy.
+	* autogen.sh: File removed.
+	* README-CVS: Update to recommend autoreconf instead.
+	* file.c: HAVE_ST_* -> HAVE_STRUCT_STAT_ST_*.
+	* net.c: HAVE_SIN6_SCOPE_ID -> HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID,
+	HAVE_MSG_CONTROL -> HAVE_STRUCT_MSGHDR_MSG_CONTROL.
+	* strace.c: *_DECLARED -> HAVE_DECL_*
+	* stream.c: HAVE_* -> HAVE_STRUCT_*
+
+	* linux/Makefile.in (ioctldefs.h ioctls.h): Use $(SHELL) instead of
+	sh, and use $(srcdir) to find the script.
+	* linux/powerpc/Makefile.in (ioctlent.raw): Find ioctlent.sh in ../.
+	(ioctlsort.o): Use ../ioctlsort.c, not ../../ioctlsort.c.
+	* linux/x86_64/Makefile.in (headers): Renamed to all.
+	* linux/alpha/Makefile.in: Add empty install target.
+	* linux/x86_64/Makefile.in: Likewise.
+	* linux/powerpc/Makefile.in: Likewise.
+	* linux/Makefile.in: Likewise.
+
+2002-12-26  Roland McGrath  <roland@redhat.com>
+
+	* defs.h [LINUX && MIPS] (MAX_QUALS): Set to 5000, not 4999.
+	From Daniel Jacobowitz <drow@false.org>.
+
+2002-12-21  Roland McGrath  <roland@redhat.com>
+
+	* linux/syscallent.h: Add some new 2.5 syscall names.
+	Now clone takes 5 args.
+	* process.c [LINUX] (clone_flags): Update with 2.5 flag bits.
+	[LINUX] (sys_clone): Print new args.
+	* mem.c (print_ldt_entry): Make global.
+
+	* linux/syscall.h [I386 || IA64] (SYS_socket_subcall): Bump to 300 for
+	safety, since up to 260 are already used in 2.5 kernels.
+	* linux/syscallent.h: Update the table.
+	* linux/ia64/syscallent.h: Likewise.
+
+	* syscall.c (force_result): New function.
+	* process.c (internal_wait): Handle ECHILD exit from wait call with
+	WNOHANG flag set; force the return value to 0 in the inferior when it
+	has live children we are tracing.
+	* NEWS: Mention the bug fix.
+
+2002-12-17  Roland McGrath  <roland@redhat.com>
+
+	* linux/ia64/syscallent.h: Remove placeholders 275-298 to catch up
+	with linux/syscallent.h additions.
+
+	* strace.c (tcbtab): Make this a pointer to pointers, not an array.
+	(tcbtabsize): New variable.
+	(main): Initialize them using dynamic allocation.
+	(alloctcb, main): Use tcbtabsize in place of MAX_PROCS; indirect.
+	(pid2tcb, cleanup): Likewise.
+	[USE_PROCFS] (pollv): Make this a pointer, not an array; make static.
+	(rebuild_pollv): Dynamically allocate the vector.
+	* defs.h (tcbtab): Update decls.
+	(MAX_PROCS): Macro removed, no more static limit on this.
+	* process.c (fork_tcb): New function.
+	(internal_clone, internal_fork): Use it instead of checking nprocs.
+
+	* strace.c (detach) [LINUX]: Use __WALL (or a second try with __WCLONE)
+	in wait after sending SIGSTOP.
+
+2002-12-16  Roland McGrath  <roland@redhat.com>
+
+	* signal.c (sprintsigmask): Increase static buffer size to account for
+	worst possible case.  Reported by Daniel Jacobowitz <drow@false.org>.
+
+	* process.c [LINUX] (wait4_options): Fix __WCLONE value.  Add
+	__WNOTHREAD and __WALL.
+
+	* strace.c (trace) [LINUX]: Only check errno if wait4 actually fails,
+	so we don't repeat a wait and thus drop a status.  Fixes RH#62591.
+
+2002-12-15  Roland McGrath  <roland@redhat.com>
+
+	* process.c (setarg) [POWERPC]: Support it.
+
+	* util.c [POWERPC] (LOOP): Fix value, now 0x48000000 (0: b 0b).
+	Old value was bogus, not even a proper instruction.
+	From Guy M. Streeter <streeter@redhat.com>.
+
+	* strace.c (main) [! USE_PROCFS]: Always reset SIGCHLD to SIG_DFL.
+
+	* configure.in: Don't check for putpmsg.
+	* stream.c (sys_getpmsg, sys_putpmsg): Make these conditional on
+	#ifdef SYS_*, rather than on HAVE_PUTPMSG.
+
+	* aclocal.m4 (AC_STAT64): Include <linux/types.h> before <asm/stat.h>
+	in test.  Test our own #ifdef LINUX rather than predefined `linux'.
+
+	* linux/powerpc/syscallent.h: Use sys_llseek for _llseek.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+
+	* syscall.c (syscall_enter) [LINUX && POWERPC]: Define PT_ORIG_R3 if
+	not defined, since <asm/ptrace.h> defines it only #ifdef __KERNEL__.
+	* process.c: Likewise.
+
+	* desc.c (sys_osf_select): Add missing return type.
+
+	* syscall.c (trace_syscall): Use strerror, not sys_errlist/sys_nerr.
+
+	* linux/ia64/syscallent.h: Remove macros for sys_delete_module,
+	sys_nanosleep, both already in linux/dummy.h.
+
+	* syscall.c (get_scno): Move static `currpers' inside #ifdef X86_64.
+	(trace_syscall): Fix return without value.
+
+	* linux/syscallent.h: Update table with names of new syscalls
+	io_setup, io_destroy, io_getvents, io_submit, io_cancel.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+
+	* signal.c [LINUX && I386]: Provide SA_RESTORER constant if not
+	defined.  If the bit is set, print the sa_restorer field of sigaction.
+
+	* mem.c: Add sys_{get,set}_thread_area.
+	* linux/syscall.h: Declare them.
+	* linux/syscallent.h: Update the table for these.
+	* linux/dummy.h (sys_modify_ldt): Define only #ifndef I386.
+	(sys_get_thread_area, sys_set_thread_area): New macros #ifndef I386.
+
+	* configure.in: Check for linux/xattr.h and linux/futex.h headers.
+	* linux/syscall.h: Add sys_* decls for new syscalls getpmsg, putpmsg,
+	readahead, sendfile64, setxattr, fsetxattr, getxattr, fgetxattr, int
+	listxattr, flistxattr, removexattr, fremovexattr, sched_setaffinity,
+	sched_getaffinity, futex.
+	* linux/syscallent.h: Update the table.
+	* io.c: Add sys_sendfile64.
+	* file.c: Add sys_readahead, sys_*xattr.
+	* process.c: Add sys_futex, sys_*affinity.
+
+	* linux/syscall.h (SYS_socket_subcall): Define to 256 on all machines.
+	(SYS_ipc_subcall): Always SYS_socket_subcall + SYS_socket_nsubcalls.
+	* linux/syscallent.h: Update the table for socket and ipc subcalls.
+
+2002-11-09  Heiko Carstens <heiko.carstens@de.ibm.com>
+
+	Bugfix for s390/s390x:
+	* syscall.c: Fixed scno derivation for s390/s390x.
+
+2002-11-06  Michal Ludvig  <mludvig@suse.cz>
+
+	Merged patch from Steven J. Hill <sjhill@realitydiluted.com>
+	to allow the compilation of a native MIPS strace.
+
+2002-11-06  Michal Ludvig  <mludvig@suse.cz>
+
+	From Marty Leisner <leisner@rochester.rr.com>,
+	rewritten by mludvig:
+	* strace.c (not_failing_only): New.
+	(usage): Added -z switch description.
+	(main): Added -z switch parsing to not_failing_only variable.
+	* syscall.c (trace_syscall): Added not_failing_only handling.
+
+2002-10-08  Heiko Carstens <heiko.carstens@de.ibm.com>
+
+	Missing complete changelog for 2002-10-07 commit:
+	* Makefile.in: Added linux/s390, linux/s390x to ALL_SUBDIRS.
+	* acconfig.h: New define for s390x.
+	* config.sub: Added missing define for s390 and new one for s390x.
+	* configure.in: Added new define for s390x.
+	* file.c: Added missing #undef dirent64 and new defines for s390x.
+	* linux/s390: New directory.
+	* linux/s390/Makefile.in: New file.
+	* linux/s390/errnoent.h: New file.
+	* linux/s390/ioctlent.h: New file.
+	* linux/s390/signalent.h: New file.
+	* linux/s390/syscallent.h: New file.
+	* linux/s390x: New directoy.
+	* linux/s390x/Makefile.in: New file.
+	* linux/s390x/errnoent.h: New file.
+	* linux/s390x/ioctlent.h: New file.
+	* linux/s390x/signalent.h: New file.
+	* linux/s390x/syscallent.h: New file.
+	* linux/syscall.h: Added sys_mincore() prototype and added new
+	s390x defines.
+	* process.c: Added s390x defines.
+	(change_syscall): Changed handling for s390.
+	(setarg): Added missing s390/s390x code in setarg().
+	* signal.c: Added s390x define.
+	(sys_sigreturn): Bugfix in s390/s390x code (wrong number of
+	arguments to sprintsigmask()).
+	* stream.c (internal_stream_ioctl): Changed int cast to long cast,
+	since printstr() expects a long.
+	* syscall.c (decode_subcall): Changed several variables to be long
+	instead of int to match 64 bit requirements. Added s390x defines.
+	(syscall_enter): Changed upeek() call to match s390 and s390x
+	requirements.
+	* util.c: Added s390x defines.
+
+2002-10-07  Michal Ludvig  <mludvig@suse.cz>
+
+	Merged s390x port by Heiko Carstens <Heiko.Carstens@de.ibm.com>
+	and bugfixes to s390 by D.J. Barrow.
+
+2002-09-23  Michal Ludvig  <mludvig@suse.cz>
+
+	Merged x86-64 port by Andi Kleen <ak@suse.de>
+	and Michal Ludvig <mludvig@suse.cz>
+	* Makefile.in: New target 'headers'. Failure ignored.
+	* acconfig.h: New defines for x86-64.
+	* configure.in: Ditto.
+	* defs.h: Ditto.
+	* file.c: Ditto.
+	* signal.c: Ditto.
+	* process.c: Added support for x86-64.
+	* util.c: Ditto.
+	* syscall.c: Ditto + added automatic personality switching.
+	* linux/syscall.h: Ditto.
+	* linux/x86_64: New directory.
+	* linux/x86_64/Makefile.in: New file.
+	* linux/x86_64/gentab.pl: Ditto.
+	* linux/x86_64/i386-headers.diff: Ditto.
+	* linux/x86_64/makeheaders.sh: Ditto.
+	* linux/x86_64/syscallent.h: Ditto.
+	* mem.c (print_mmap): Always print arg[4] as int.
+
+2002-09-23  Michal Ludvig  <mludvig@suse.cz>
+
+	* configure.in: Fix regular expressions.
+	* linux/syscall.h: Added missing braces in prototype of
+	sys_getdents64().
+	* file.c: Use '#ifdef LINUX' instead of '#ifdef linux'.
+	(struct fileflags): Made extern to inhibit compiation warnings.
+	(sys_getdents64): Merged LINUX and SVR4 part.
+	* syscall.c (get_scno): Split multiline string into two distinct
+	strings.
+
+2002-05-24  John Hughes <john@calva.com>
+
+	* stream.h, net.h: Avoid possible infinite loop caused by
+	unsigned arithmetic in preceeding change.
+
+2002-05-23  John Hughes <john@calva.com>
+
+	* acconfig.h: Add HAVE_OPTHDR and HAVE_T_OPTHDR defines.
+
+	* aclocal.m4: Add tests for struct opthdr in sys/socket.h and
+	struct t_opthdr in sys/tiuser.h, define HAVE_OPTHDR and HAVE_T_OPTHDR
+	if found.
+
+	* configure.in: use tests for struct opthdr and struct t_opthdr.
+
+	* defs.h: add new function print_sock_optmgmt.
+
+	* io.c: add hack that lets ioctl decode functions set auxilliary
+	string return.
+
+	* stream.c: better decoding for timod ioctls.
+
+	* net.c: add function print_sock_optmgmt, used by timod ioctl
+	decoding functions in stream.c.
+
+2002-05-23  John Hughes <john@calva.com>
+
+	* acconfig.h: Make autoheader happy about Linux/SuperH
+
+2002-05-23  John Hughes <john@calva.com>
+
+	* strace.c: Get rid of warning if not using POLL_HACK
+
+2002-05-22  John Hughes <john@calva.com>
+
+	* net.c: Simplify {get,set}sockopt, decode SO_LINGER, cope with
+	options that are not just ints, cope with systems that don't
+	#define SOL_TCP and so on.
+
+2002-05-21  John Hughes <john@calva.com>
+
+	* strace.c: Fix warning if POLL_HACK is used.
+
+2002-05-17  John Hughes <john@calva.com>
+
+	* svr4/ioctlent.sh: Some defines on UW come with too many spaces.
+
+2002-05-17  John Hughes <john@calva.com>
+
+	* svr4/ioctlent.sh: Cope with #defines wrapped in #ifdefs.
+
+2002-05-17  John Hughes <john@calva.com>
+
+	* stream.c: tidy up output a little.
+
+2002-05-17  John Hughes <john@calva.com>
+
+	* process.c, svr4/dummy.h, svr4/syscall.h: decode arguments
+	to procpriv syscall.
+
+2002-05-01  Wichert Akkerman <wichert@deephackmode.org>
+
+	* configure.in, defs.h, process.c, sock.c, syscall.c, util.c: merge
+	  patch from Greg Banks <gbanks@pocketpenguins.com> for Linux/SuperH
+	  support
+
+2002-04-01  Wichert Akkerman <wichert@deephackmode.org>
+
+	* strace.c: close tcp->outf in droptcb()
+
+2002-04-01  Wichert Akkerman <wichert@deephackmode.org>
+
+	* net.c: decode packet options
+
+2002-03-31  Wichert Akkerman <wichert@deephackmode.org>
+
+	* linux/{alpha,hppa,ia64,mips,powerpc,sparc}/syscallent.h: regenerated
+
+2002-03-31  Wichert Akkerman <wichert@deephackmode.org>
+
+	* debian/*: added
+	* linux/syscallent.h: fix typo and add the reserved stream syscalls
+	* defs.h, file.c, io.c: fix signed/unsigned issues
+	* syscall.c: check for negative u_errors
+	* cvsbuild: renamed to autogen.sh
+
+2001-12-17  Wichert Akkerman <wakkerma@debian.org>
+
+	* net.c: add new TCP socket options
+
+2001-10-26  John Hughes <john@calva.com>
+
+	* svr4/ioctlent.sh: Cope with #define lines containing
+	comments that terminate on subsequent lines.  Used to
+	comment out subsequent ioctls!
+
+2001-10-25  Wichert Akkerman <wakkerma@debian.org>
+
+	* linux/ioctlent.h: regenerated using current scripts so
+	  term ioctls are included
+
+2001-10-19  John Hughes  <john@Calva.COM>
+
+	* strace.c(proc_open): On SVR4 only trace the syscalls,
+	signals and faults we care about.
+
+2001-10-18  John Hughes  <john@Calva.COM>
+
+	* acconfig.h: Add HAS_SIGINFO_T.
+	* aclocal.m4: add check for siginfo_t in signal.h.
+	* configure.in: use check for siginfo_t.
+	* defs.h: if HAVE_SIGINFO_T the declare printsiginfo.  On SVR4
+	  allow access to siginfo when signal recieved.
+	* process.c: Remove SVR4 only version of printsiginfo.
+	* signal.c: merge SVR4 and LINUX versions of printsiginfo.
+	* strace.c: on SVR4 print siginfo when signal recieved.
+
+2001-10-18  John Hughes  <john@Calva.COM>
+
+	* system.c(sys_ssisys): handle return values for ssisys
+
+2001-10-18  John Hughes  <john@Calva.COM>
+
+	* signal.c: handle sigwait
+	* svr4/dummy.c: Move sigwait to done
+	* svr4/syscall.h: handle sigwait
+
+2001-10-16  John Hughes  <john@Calva.COM>
+
+	* system.c(sys_ssisys): decode some args for ssisys.
+
+2001-10-16  John Hughes  <john@Calva.COM>
+
+	* mem.c: MS_SYNC is zero, so must be first in xlat list.
+
+	* svr4/dummy.h: memcntl is much like mctl.
+
+2001-10-16  John Hughes  <john@Calva.COM>
+
+	* util.c (umovestr): UnixWare (svr4?) returns 0 when trying
+	to read unmapped page.  Make it possible to strace ksh.
+
+2001-10-03  David Mosberger  <davidm@hpl.hp.com>
+
+	* process.c (internal_clone): Avoid race condition by clearing
+	breakpoint after attaching to child.
+
+2001-10-02  David Mosberger  <davidm@hpl.hp.com>
+
+	* linux/ia64/syscallent.h: Define ia32 syscall numbers (originally
+	by Don Dugger, with my refinements).
+
+	* linux/ia64/ioctlent.h: Regenerate and manually merge conflicting
+	ioctls (TCGETS & SNDCTL_TMR_TIMEBASE, etc.).
+
+	* linux/ia64/Makefile.in (ioctldefs.h ioctls.h): Update for
+	new ioctlent.h generation scheme.
+
+	* linux/syscall.h (sys_clone2): Declare.
+	[IA64] Define ia32 socket, ipc, and extra syscall numbers.
+
+	* linux/ioctlent.sh (regexp): Also handle <asm/ioctls.h> so we
+	don't miss the tty ioctls (unfortunately, some of the sound timer
+	ioctls are in conflict with them!).
+
+	* util.c (setbpt) [IA64]: Add ia32 support (by Don Dugger).
+	(clrbpt) [IA64]: Ditto.
+
+	* syscall.c (internal_syscall): Handle SYS_clone2, SYS32_wait4,
+	and SYS32_exit.
+	(get_scno): Get ia32 syscall number from r1 (orig eax) instead of
+	r8 (eax).  Handle TCB_WAITEXECVE.
+	(syscall_fixup): Handle ia64.
+	(syscall_enter): Fix argument fetching for ia64.
+
+	* strace.c [IA64 && LINUX]: Include <asm/ptrace_offsets.h>.
+	(trace) [PT_GETSIGINFO]: Print signal address and pc if possible.
+
+	* process.c (tcp): New function.
+	(change_syscall): Add support for ia64 linux.
+	(sys_execve): Turn on TCB_WAITEXECVE for ia64 linux.
+
+	* desc.c (getlk): Cast l_len to "long long" to avoid warnings when
+	type is narrower.
+	* resource.c (sprintrlim64): Ditto.
+
+	* defs.h (TCB_WAITEXECVE) [IA64]: Define.
+	[IA64]: Declare "ia32" variable.
+
+	* bjm.c: Do not include <linux/module.h>.  It's not safe to include
+	kernel headers.  Declare the necessary constants and structures
+	directly instead.
+
+2001-10-01  David Mosberger  <davidm@hpl.hp.com>
+
+	* signal.c (parse_sigset_t): New function.
+	(sigishandled): Fix off-by-one bug by using parse_sigset_t() and
+	avoiding relying on internal layout of sigset_t datastructure.
+
+2001-04-26  David Mosberger  <davidm@hpl.hp.com>
+
+	* linux/ia64/syscallent.h: Add getunwind().
+
+2001-04-11  David Mosberger  <davidm@hpl.hp.com>
+
+	* syscall.c (syscall_enter): Use PT_RBS_END instead of deprecated
+	PT_AR_BSP.  Pick up arguments starting with out0, which is not
+	always the same as r32 (e.g., consider inlined syscalls).
+
+2001-09-28   John Hughes <john@Calva.COM>
+
+  * process.c: FreeBSD-CURRENT no longer has PT_READ_U, and anyway we
+    were showing it as PT_WRITE_U!  Fix from Maxime Henrion.
+
+2001-09-18   John Hughes <john@Calva.COM>
+
+  * net.c: fix display of sockaddr structures, sometimes too many "}",
+    sometimes too few.  Fix suggested by Richard Kettlewell.
+
+2001-08-19   Wichert Akkerman <wakkerma@debian.org>
+
+  * signal.c: do not include asm/sigcontext.h on IA64 since it gets
+    the struct from bits/sigcontext.h already which signal.h includes.
+
+2001-08-03   Wichert Akkerman <wakkerma@debian.org>
+
+  * linux/ioctlent.sh: change regexps so we catch sound ioctls as well in
+    Linux
+  * linux/Makefile.in: fix a few things so the ioctl list is generated
+    properly
+  * ioctl.c: remember to shift ioctl masks as well
+
+2001-08-03   Wichert Akkerman <wakkerma@debian.org>
+
+  * Linux/**/syscallent.h: synchronize section for fcntl and use sys_fcntl
+    for sys_fcntl as well
+
+2001-08-03   Wichert Akkerman <wakkerma@debian.org>
+
+  * linux/hppa/syscallent.h: updated from Matthew Wilcox
+
+2001-08-03   Wichert Akkerman <wakkerma@debian.org>
+
+  * process.c: seems Linux/IA64 changed register names on us, switch to
+    using new names.
+
+2001-08-03   Wichert Akkerman <wakkerma@debian.org>
+
+  * strace.c: set CLOEXEC  flag for outputfile
+
+2001-08-03   Wichert Akkerman <wakkerma@debian.org>
+
+  * linux/sparc/syscall.h, linux/sparc/syscallent.h: add some LFS calls
+
+2001-07-23  Wichert Akkerman <wakkerma@debian.org>
+
+  * configure.in: Support cross-compiling between architectures
+
+2001-07-13  Wichert Akkerman <wakkerma@debian.org>
+
+  * configure.in: add S390 to architecture list
+
+2001-07-10  John Hughes <john@Calva.COM>
+
+  * TODO, defs.h, io.h, net.c, strace.c, syscall.c, util.c: Merge fixes
+    from Richard Kettlewell <rkettlewell@zeus.com> which add I/O dumping
+    of args to readv/writev.  Also gets rid of redundant printiovec
+    routine from net.c (duplicate of tprint_iov in util.c).
+
+2001-07-02  Wichert Akkerman <wakkerma@debian.org>
+
+  * config.{guess,sub}: updated
+
+2001-05-15  John Hughes <john@Calva.COM>
+
+  * signal.c: pass a pointer to sigmask to printsigmask from printcontext,
+    it was just passing the sigmask (ucp->uc_sigmask).
+
+2001-05-15  John Hughes <john@Calva.COM>
+
+  * util.c: Don't run off the end of valid memory in umovestr when
+    USE_PROCFS.  Important for FREEBSD systems (which seem to have an
+    unmapped page just after the args/env area).
+
+2001-04-18  John Hughes <john@Calva.COM>
+
+  * configure.in: test for sys/nscsys.h, the non-stop clusters includes.
+  * process.c: handle rfork{1,all} and rexecve calls on non-stop clusters.
+  * syscall.c: treat rfork{1,all} and fork{1,all} as fork like calls.
+    Treat rexecve as an exec.
+  * system.c: decode arguments to ssisys call on nsc systems.
+  * svr4/dummy.h, svr4/syscall.h: now we handle rfork{1,all}, ssisys and
+    rexecve calls.
+
+2001-04-12  Wichert Akkerman <wakkerma@debian.org>
+
+  * process.c: fix cast for powerpc code
+  * linux/powerpc/syscallent.h: update syscall list
+  * README: fix address for the strace mailinglist
+  * signal.c: switch to using /proc/<pid>/status on Linux so we can get
+    the realtime signals as well
+
+2001-04-10  Wichert Akkerman <wakkerma@debian.org>
+
+  * Merge patches from Maciej W. Rozycki:
+    + util.c: add code to print PC for MIPS
+    + linux/mips/syscallent.h: updated
+    + system.c: formating fixes for sys_sysmips
+    + configure.in: test for yet more headers
+    + stream.c: use configure-headertests instead of relying on OS hints
+
+2001-04-07  Wichert Akkerman <wakkerma@debian.org>
+
+  * NEWS: start 4.3.1 items
+  * version.c: updated to say 4.3.1 (was still 4.2, oops!)
+
+2001-04-07  Wichert Akkerman <wakkerma@debian.org>
+
+  * configure.in: test for asm/sysmips.h and linux/utsname.h
+  * linux/syscall.h: fix a typo for sys_sysmips
+  * system.c: include asm/sysmips.h and linux/utsname.h if they exist,
+    fix typo
+
+2001-03-31  Wichert Akkerman <wakkerma@debian.org>
+
+  * linux/mips/ioctlent.h: updated using new Linux ioctl setup
+
+2001-03-31  Wichert Akkerman <wakkerma@debian.org>
+
+  * linux/ia64/ioctlent.h: regenerated
+
+2001-03-31  Wichert Akkerman <wakkerma@debian.org>
+
+  * linux/{alpha,ia64,powerpc}/ioctlent.sh: removed, all archs use the
+    general Linux ioctlent.sh
+
+2001-03-31  Wichert Akkerman <wakkerma@debian.org>
+
+  * linux/ioctlent.sh: add dir variable for location of kernel headers
+
+2001-03-29  Wichert Akkerman <wakkerma@debian.org>
+
+  * linux/ia64/ioctlent.h: updated using new Linux ioctl setup
+
+2001-03-29  Wichert Akkerman <wakkerma@debian.org>
+
+  * linux/powerpc/ioctlent.h: updated using new Linux ioctl setup
+
+2001-03-29  Wichert Akkerman <wakkerma@debian.org>
+
+  * linux/hppa/ioctlent.h: updated using new Linux ioctl setup
+
+2001-03-29  Wichert Akkerman <wakkerma@debian.org>
+
+  * linux/alpha/ioctlent.h: updated using new Linux ioctl setup
+
+2001-03-28  Wichert Akkerman <wakkerma@debian.org>
+
+  * configure.in: use sparc* so we can compile on sparc64 as well
+  * process.c, syscall.c: work around double define of fpq, fq and fpu
+    structs on Linux/sparc, and use regs instead of pt_regs
+  * don't use asm/sigcontext.h on Linux/sparc
+
+2001-03-28  Wichert Akkerman <wakkerma@debian.org>
+
+  * linux/sparc/ioctlent.h: updated using new Linux ioctl setup
+
+2001-03-28  Wichert Akkerman <wakkerma@debian.org>
+
+  * strace.c: use __WALL as wait4 flag if it exists so we can properly
+    trace threaded programs
+
+2001-03-27  John Hughes <john@Calva.COM>
+
+  * aclocal.m4: add check for endianness of long long.
+  * acconfig.h: add #define for LITTLE_ENDIAN_LONG_LONG.
+  * configure.in: check for endianness of long long.
+  * defs.h: change LONG_LONG macro to work with either endianness of
+    long long.
+
+2001-03-27  John Hughes <john@Calva.COM>
+
+  * net.c: Make compilable by SCO UDK compiler (doesn't like empty
+    initialisation list for array).
+
+2001-03-27  John Hughes <john@Calva.COM>
+
+  * svr4/syscallent.h: ntp_adjtime entry was duplicated on Solaris
+    systems - bad merge of Harald Boehme's patch by me.
+
+2001-03-27  Wichert Akkerman <wakkerma@debian.org>
+
+  * lots of files: add Linux/hppa support
+
+2001-03-19  Wichert Akkerman <wakkerma@debian.org>
+
+  * linux/mips/syscallent.h: we can't have -1 nargs, change to 0
+  * linux/syscallent.h: not that syscalls 220 and 221 are used now
+  * config.guess: updated
+
+2001-03-17  Wichert Akkerman <wakkerma@debian.org>
+
+  * linux/ioclsort.c: new file
+  * linux/ioctlent.sh: complete rewrite to use a more sane approach to get
+    the ioctl list that doesn't involve attempting to #include all kernel
+    headers
+  * linux/.cvsignore: added ioctdefs.h and ioctls.h which are generated
+    by the new ioctlent.sh
+  * ioctl.c: only look at the number and type bits for linux, since
+    ioctlent.sh no longer supplies the others
+
+2001-03-08  John Hughes <john@Calva.COM>
+
+  * freebsd/syscalls.pl: On FreeBSD we must cope with COMPATibility syscalls,
+    pretend they have names ending with "?" so that -e trace=stat (for
+    example) will work.
+  * freebsd/i386/syscallent.h: add ? to compatability syscalls.
+  * freebsd/i386/syscall.h: consistency.
+
+2001-03-08  John Hughes <john@Calva.COM>
+
+  * acconfig.h: add new ST_xxx defines.
+  * aclocal.m4: macros to check for more fields in struct stat.
+  * configure.in: use new macros to check for fields in struct stat.
+  * file.c: use new defines to replace #ifdef FREEBSD by #if HAVE_ST_xxx.
+
+2001-03-08  John Hughes <john@Calva.COM>
+
+  * defs.h: rename wimpy get64 as powerful new LONG_LONG
+  * file.c: use LONG_LONG
+  * io.c: use LONG_LONG
+  * mem.c use LONG_LONG
+
+2001-03-08  John Hughes <john@Calva.COM>
+
+  * acconfig.h: new #defines HAVE_LONG_LONG_OFF_T and HAVE_LONG_LONG_RLIM_T.
+  * aclocal.m4: routines to check for long long off_t and rlim_t.
+  * configure.in: check for long long off_t and rlim_t.
+  * desc.c: if HAVE_LONG_LONG_OFF_T treat flock as flock64
+  * file.c: if HAVE_LONG_LONG_OFF_T treat stat,lstat,fstat and lseek as 64
+    bit versions.
+  * io.c: if HAVE_LONG_LONG_OFF_T use 64 bit versions of pread and pwrite.
+  * mem.c: if HAVE_LONG_LONG_OFF_T use 64 bit version of mmap
+  * resource.c: if HAVE_LONG_LONG_OFF_T use 64 bit versions of getrlimit
+    and setrlimit.
+  * freebsd/syscalls.print: don't explicitly use 64 bit versions of calls,
+    now done automaticaly for us.
+  * freebsd/i386/syscall.h: ditto.
+  * freebsd/i386/syscallent.h ditto.
+
+2001-03-07  John Hughes <john@Calva.COM>
+
+  * desc.c: On FreeBSD flock structure uses 64 bit offsets.
+  * file.c: On FreeBSD use stat64 and pals instead of stat.
+  * freebsd/syscalls.print: use stat64, lstat64 and fstat64.
+  * freebsd/i386/syscall.h: ditto.
+  * freebsd/i386/syscallent.h: ditto.
+
+2001-03-07  John Hughes <john@Calva.COM>
+
+  * file.c: merge missing part of Harald Böhme's solaris patches,
+    was only declaring sys_{stat64,lstat64,fstat64} on linux!
+
+2001-03-07  John Hughes <john@Calva.COM>
+
+  * svr4/dummy.h: fix multiple define warning on non LFS64 systems.
+  * svr4/syscallent.h: pread/pwrite are TF calls.
+
+2001-03-07  John Hughes <john@Calva.COM>
+
+  * defs.h: add ALIGN64 macro to cope with FreeBSD's strange insistence
+    on alignment for off_t (64 bit) arguments.  Also simplify get64 so
+    we don't need to know endianness of long long.
+  * file.c: FreeBSD now uses 64 bit versions of lseek, truncate,
+    ftruncate, allows reduction in numvber of horrid #if's
+  * io.c: FreeBSD now uses 64 bit versions of pread, pwrite.
+  * mem.c: FreeBSD now uses 64 bit version of mmap.
+  * freebsd/syscalls.print: use 64 bit versions of various syscalls.
+  * freebsd/i386/syscall.h: use 64 bit versions of various syscalls.
+  * freebsd/i386/syscallent.h: use 64 bit versions of various syscalls.
+
+2001-03-06  John Hughes <john@Calva.COM>
+
+  * file.c: Implement truncate64 and ftruncate64
+  * svr4/dummy.h: add dummies for truncate64 and ftruncate64 for non
+    LFS64 systems.
+  * svr4/syscall.h: add declarations for truncate64 and ftruncate64.
+
+2001-03-06  John Hughes <john@Calva.COM>
+
+  * freebsd/syscalls.pl: fix for FreeBSD 4.1 (new optional field in
+    syscall master file).
+
+2001-03-06  John Hughes <john@Calva.COM>
+
+  * syscall.c: fix for FreeBSD 4.1 (SYS_semconfig has disappeared).  Also
+    zap incorrect syscall subarg range check.
+
+2001-03-06  John Hughes <john@Calva.COM>
+
+  * configure.in, defs.h, desc.c, file.c, io.c, mem.c, net.c, resource.c,
+    signal.c, syscall.c, svr4/dummy.h, svr4/syscall.h, svr4/syscallent.h:
+    merge Harald Böhme's solaris patches (_LFS64_LARGEFILE and kernel aio
+    mostly).
+
+2001-03-06  John Hughes <john@Calva.COM>
+
+  * dummy.h: add unimplemented UW sycalls
+  * syscall.h: we can do settimeofday for UW, whopee!
+  * syscallent.h: fix unimplemented UW syscalls
+
+2001-03-06  John Hughes <john@Calva.COM>
+
+  * aclocal.m4: look for pr_syscall in pr_lwp if we HAVE_MP_PROCFS
+  * defs.h: add PR_SYSCALL to allow use of pr_lwp.pr_syscall if it exists.
+  * syscall.c: use PR_SYSCALL instead of pr_syscall, fix up UnixWare code
+    so it doesn't try to use pr_sysarg.
+
+2001-03-06  John Hughes <john@Calva.COM>
+
+  * aclocal.m4: on systems other than linux look for stat64 in sys/stat.h
+  * file.c: handle xstat version _STAT64_VER, aka stat64.
+
+2001-03-06  John Hughes <john@Calva.COM>
+
+  * net.c: make sure SOL_ options are defined before using.
+  * signal.c: declare sigset variable, only used on linux, inside #ifdef.
+
+2001-02-21  Wichert Akkerman <wakkerma@debian.org>
+
+  * net.c: fix format for printing Unix domain sockets
+
+2001-02-19  Wichert Akkerman <wakkerma@debian.org>
+
+  * linux/mips/syscallent.h: use new sys_sysmips
+  * system.c: add sys_sysmips decoding
+
+2001-02-16  Wichert Akkerman <wakkerma@debian.org>
+
+  * CREDITS: add Arkadiusz Miskiewicz <misiek@pld.org.pl> who
+    submitted the IP6 scope ID updates
+  * acconfig.h: add HAVE_SIN6_SCOPE_ID and HAVE_SIN6_SCOPE_ID_LINUX
+  * aclocal.m4: add AC_SIN6_SCOPE_ID to check if sin6_scope_id is
+    available
+  * configure.in: check for if_indextoname function and sin6_scope_id
+  * net.c: teach printsock about IP6 scope ids
+
+2001-02-16  Wichert Akkerman <wakkerma@debian.org>
+
+  * configure.in: test for netinet/tcp.h and netinet/udp.h existance
+  * net.c: include netinet/tcp.h and netinet/udp.h if they exist
+  * Makefile.in: use @mandir@ and @bindir@
+
+2000-11-26  Wichert Akkerman <wakkerma@debian.org>
+
+  *  net.c: fix formating error in sys_setsockopt
+  *  net.c: add list of socketlayers and use that for [gs]etsockopt
+
+2000-10-12  Wichert Akkerman <wakkerma@debian.org>
+
+  * time.c: use sys/timex.h so things compile with 2.2 kernels
+  * stream.c: test if MSG_* constants are #defined
+
+2000-09-03  Wichert Akkerman <wakkerma@debian.org>
+
+  * process.c: perform bpt trick for clone as well so we can get the
+    pid of the child before it starts doing something
+  * file.c: rename dirent64 struct to kernel_dirent64 so things compile
+    again with newer libcs
+  * test/clone.c: improve our testcase a bit
+  * Merge another patch from Gäel Roualland with FreeBSD updates
+
+2000-09-01  Wichert Akkerman <wakkerma@debian.org>
+
+  * lots of files: merge patch from Gaël Roualland to add
+    support for FreeBSD.
+
+2000-08-09  Wichert Akkerman <wakkerma@debian.org>
+
+  * file.c: update to reflect that st_ino suddenly became a long long
+    in the in Linux 2.4.0-test6
+
+2000-08-09  Wichert Akkerman <wakkerma@debian.org>
+
+  * test/clone.c: minor fixup
+  * Another bunch of patches from John Hughes merged:
+  * signal.c:
+    + SVR4 printcontext(): sigset_t != sigset_t*
+    + getcontext returns a value, so print on exit of syscall
+    + add UC_FP to ucontext_flags for OS writers that can't spell
+    + sys_signal(): special case SIG_{ERR,DFL,IGN}
+    + decode_subcall(): only do subcall range checking when needed
+  * bunch of UnixWare updates
+  * aclocal.m4, acconfig.h, configure.in: add test for long long type
+
+2000-07-04  Wichert Akkerman <wakkerma@debian.org>
+
+  * net.c: add SOL_PACKET and SOL_RAW socket options, update
+    SOL_IP and SOL_TCP
+
+2000-06-23  Wichert Akkerman <wakkerma@debian.org>
+
+  * strace.c: close outf before we exec a child process
+
+2000-06-09  Ulrich Drepper  <drepper@redhat.com>
+
+  * configure.in: Don't link against libnsl on Linux, it's unnecessary.
+  * defs.h (struct tcb): Make auxstr member const.
+  * file.c (fsmagic): And many more magic numbers.
+  * util.c: Don't include <linux/ptrace.h> for glibc 2.1 and up.
+
+2000-04-26  Wichert Akkerman <wakkerma@debian.org>
+
+  * defs.h: balance #if/#endif again
+  * system.c: fix return statements in sys_capget()
+  * Merge updates from Topi Miettinen <Topi.Miettinen@nic.fi>:
+    + file.c: add F_[SG]ETSIG to fcntl flags
+    + strace.c: don't setre[gu]id if not needed
+    + system.c: handle sys_reboot for Linux
+    + term.c: add baudrate constants up to B4000000
+    + linux/**/syscallent.h: note that munlockall has no arguments
+
+2000-04-25  David Mosberger  <davidm@hpl.hp.com>
+
+  * CREDITS: fix email address
+  * process.c: handle PR_[GS]ET_UNALIGN and PR_[GS]ET_KEEPCAPS
+  * signal.c: honour offset of sigconfig in sigframe structure for
+    Linux/ia64
+  * linux/ia64/syscallent.h: Add perfmonctl, pivotroot, mincore, and
+    madvise syscalls.
+  * syscall.c (syscall_enter): With Kevin's latest ptrace patches,
+    AR_BSP points to the _end_ of the active register frame, so we need
+    to adjust bsp by moving it back by the size of the active frame
+    before using it.
+
+2000-04-24  Wichert Akkerman <wakkerma@debian.org>
+
+  * process.c: add sparc support to change_syscall
+
+2000-04-22  Wichert Akkerman <wakkerma@debian.org>
+
+  * linux/mips/syscallent.h: fix some typos
+
+2000-04-14  Wichert Akkerman <wakkerma@debian.org>
+
+  * linux/mips/syscallent.h: added names for SVR4, SYSV, BSD4.3 and POSIX
+    syscalls
+
+2000-04-13  Wichert Akkerman <wakkerma@debian.org>
+
+  * defs.h: Linux/MIPS uses syscalls up to >4k, so set MAX_QUALS to
+    4999
+
+2000-04-09  Wichert Akkerman <wakkerma@debian.org>
+
+  * README-linux: updated to note that strace might not compile
+    with development kernels
+  * bjm.c: sys_query_module: check if malloc succeeds
+  * system.c: sys_cap[gs]et(): check if malloc succeeds, only malloc once
+  * linux/syscallent.h: updated for 2.3.99pre3
+  * linux/alpha/syscallent.h: updated for 2.3.99pre3, add all osf syscalls
+    even though Linux doesn't implement them
+  * syscall.c: add global variables for MIPS registers as well
+  * syscall.c: move global variables to before get_scno since that uses them
+  * util.c: oops, misspelled defined
+  * process.c: fix ptrace calls in change_syscall
+  * mem.c: decode sys_madvise
+  * Merge patch from Topi Miettinen <Topi.Miettinen@nic.fi>
+    + add support for quotactl, fdatasync, mlock, mlockall, munlockall & acct
+    + small fix for RLIMIT_* and RUSAGE_BOTH
+    + enhace support for capget and capset
+
+2000-02-19 Wichert Akkerman <wakkerma@debian.org>
+
+  * test/vfork.c: new file to test vfork traces
+  * test/.cvsignore: new file
+  * defs.h: Up maximum number of traced processed to 64
+  * strace.c: Disable some debugging code from davidm
+  * implement setarg for more architectures
+  * implement change_syscall
+
+1999-12-27  Morten Welinder  <terra@diku.dk>
+
+	* syscall.c (lookup_signal, lookup_desc): isdigit requires an
+	_unsigned_ char parameter.
+
+2000-02-14 Wichert Akkerman <wakkerma@debian.org>
+
+  * S390 updates
+
+2000-02-03 Wichert Akkerman <wakkerma@debian.org>
+
+  * Merge Linux/ia64 patches
+
+2000-01-02 Pavel Machek	     <pavel@ucw.cz>
+
+  * probe if sys/poll.h exists in configure + minor cleanups
+
+  * syscall.c: split trace_syscall into few pieces to make code readable
+
+2000-01-21 Wichert Akkerman  <wakkerma@debian.org>
+
+  * Release version 4.2 to get the current updates out and so
+    we can concentrate in finishing the clone support.
+
+2000-01-11 Wichert Akkerman  <wakkerma@debian.org>
+
+  * Add 1900 to tm_year in sprinttime
+
+1999-12-24  Wichert Akkerman  <wakkerma@debian.org>
+
+ * file.c: protect printstat64 with STAT64 instead of linux so we can
+   compile on Linux architectures that don't have it
+ * util.c: fix LOOP for ARM
+
+Fri Dec 24 18:05:00 EST 1999
+
+1999-12-23  Ulrich Drepper  <drepper@cygnus.com>
+
+ * file.c: Use ugly libc_stat trick also for stat64.
+   Implement sys_stat64, sys_fstat64, sys_lstat64, and printstat64.
+ * process.c (internal_clone): Fix a few typos and add definitions to make
+   it at least compile.
+ * linux/syscall.h: Declare sys_stat64, sys_lstat64, and sys_fstat64.
+ * linux/syscallent.h: Define table entries for sys_stat64, sys_lstat64,
+   and sys_fstat64.
+ * aclocal.m4: Define AC_STAT64.
+ * acconfig.h: Define HAVE_STAT64.
+ * configure.in: Add AC_STAT64.
+
+Thu Dec 23 15:01:37 CET 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Merge patch from ftp://oss.software.ibm.com/linux390/ to add
+    support for Linux on the IBM S/390 architecture
+  * process.c: add internal_clone(), currently only shows the options
+  * syscall.c: use internal_clone to handle SYS_clone
+
+Mon Dec 20 00:27:50 CET 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Rewrite mmap-handling to support mmap2 on Linux
+
+Tue Dec 14 11:35:16 CET 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Note that Linux can handle sys_semop() as well
+
+Tue Nov 30 11:05:26 CET 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Include linux/in6.h for glibc2.0 and older
+
+Mon Nov 29 16:33:04 CET 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Merge patches from John Hughes to make configure support UnixWare
+
+Sat Nov 27 21:38:17 CET 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Enhance sys_query_module
+
+Fri Nov 26 10:51:55 CET 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Patches from John Hughes:
+    + cosmectic fix in sys_getpmsg
+    + allow net.c to compile on systems without AF_INET6
+    + Only use long_to_sigset on Linux systems
+    + UnixWare treats sigmask_t and sigmask_t* as the same thing
+    + Add pollhack
+    + Parse mount arguments for UnixWare
+    + ACL fixes for UnixWare
+
+Fri Nov 26 01:28:09 CET 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Release 4.1 to get all the changes made out there
+
+Thu Nov 18 18:04:04 CET 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Merge stracefork from Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
+    + Socket calls parsed better
+	+ bunch of alpha OSF syscalls added
+	+ Fix alpha 32/64 bit issues
+
+Mon Nov  1 20:52:08 CET 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Move Linux kernelmodule-functions from system.c to bjm.c and
+    remove duplicate for sys_create_module
+  * Linux MIPS updates:
+    + Play with #ifdef's in net.c to get IPv6 right
+    + Use printargs for vm86-syscall
+
+Sun Oct 31 22:03:00 CET 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Merge Linux mips patch from Florian Lohoff <flo@rfc822.org>
+
+Mon Oct 11 00:36:25 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Merge patch from Keith Owens <kaos@ocs.com.au> to sys_query_module
+    and sys_delete_module correctly
+
+Wed Oct  6 02:00:33 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Update cvsbuild to give a better error if autoconf isn't installed
+  * Add test for linux/ptrace.h to configure
+  * Since we define GNU_SOURCE in the Makefile we don't need to define
+    USE_GNU in file.c anymore
+
+Fri Sep 10 04:35:16 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * #define USE_GNU before including file.c so we get some extra O_* flags
+
+Tue Aug 31 16:27:21 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Add missing } in IPv6 output
+
+Tue Aug 31 01:23:08 CEST 1999  Wichert Akkerman <wakkerma@debian.org>
+
+  * Update copyright for strace-graph to BSD to be consistent with
+    the rest of strace
+
+Mon Aug 30 00:53:57 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Merge patch from Daniel Jacobowitz: KERN_JAVA_* and KERN_SECURELVL aren't
+    defined for all kernelversions
+  * Add strace-graph, written by Richard Braakman <dark@xs4all.nl>
+
+Thu Aug 19 13:10:15 CEST 1999 Jakub Jelinek <jj@ultra.linux.cz>
+
+  * linux/sparc/syscall.h: Declare create_module/init_module.
+  * configure.in: Allow compilation in a different directory
+    than the source one.
+  * signal.c: Use asm/reg.h and struct regs instead of pt_regs
+    so that we don't depend on asm/ptrace.h which clashes with
+    glibc sys/ptrace.h.
+  * util.c: Likewise.
+  * syscall.c: Likewise.
+
+Wed Aug  4 18:01:50 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Syscall 94 on Linux alpha is sys_poll
+
+Sun Jul 25 14:38:33 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Merge in UnixWare patches from John Hughes <john@Calva.COM>
+
+Thu Jul 15 23:00:32 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Merge patch from Maciej W. Rozycki <macro@ds2.pg.gda.pl>:
+    + Correctly implement fix sys_createmodule (Linux)
+    + Add limited handlig of sys_initmodule (Linux)
+
+Tue Jul 13 17:07:50 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Add configure-test for sys/reg.h and use that
+  * Use sys/reg.h instead of asm/ptrace.h
+
+Sat Jul 10 01:46:10 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Remove hack in signal.c for arm architecture
+  * Add hack so we compile correctly on powerpc
+
+Fri Jul  9 02:28:16 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Add a corrected patch from Daniel Jacobowitz
+
+Thu Jul  8 16:00:04 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Merge patch from Daniel Jacobowitz to allow us to use the kernel types
+    for the stat structure
+
+Thu Jun 24 15:54:18 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Fix test for sys/reg include
+
+Tue Jun 22 17:26:33 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Fixed some Linux/powerpc sillyness, thanks to Daniel Jacobowitz
+  * Fixed some SunOS compile problems earlier that I forgot to include
+    here
+
+Mon Jun 14 12:44:25 CEST 1999
+
+  * Avoid leakint fd into child when forking, patch from
+    John Hughes <john@Calva.COM>
+
+Fri Jun 11 14:54:47 CEST 1999
+
+  * Applied IRIX64 patch from Thomas E. Dickey <dickey@clark.net>
+  * Applied Solaris and manpage updates from Guy Harris <guy@netapp.com>
+
+Wed Jun  9 14:48:49 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Brought syscall list for alpha up to date
+
+Wed Jun  2 18:30:12 CEST 1999 Jakub Jelinek <jj@ultra.linux.cz>
+
+  * system.c: sys_umount2 syscall support.
+  * linux/sparc/errnoent.h: Update sparc-linux errnos.
+  * linux/sparc/syscall.h: Update used sparc-linux syscalls.
+  * linux/sparc/syscallent.h: Match 2.2.9 system calls.
+  * file.c: sparc-linux asm/stat.h uses dev_t etc. types,
+    so it needs strace's own copy of the stat structure.
+  * util.c: Make it compile on sparc-linux.
+  * strace.c: Fix strace -f and -ff operation on sparc-linux.
+  * signal.c: rt_sigaction has different arguments on sparc*-linux
+    and alpha-linux.
+  * syscall.c: Recognize sparc64-linux binaries.
+
+Fri May 28 21:09:00 PST Ulrich Drepper <drepper@cygnus.com>
+
+  * configure.in: Fix typo (CFLAG -> CFLAGS).
+
+  * syscall.c: Don't include linux/ptrace.h explicitly for glibc.
+
+Thu May 27 13:59:27 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Add some sysctl support, patch from Ulrich Drepper
+
+Wed May 26 01:04:34 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Use kernel dirent structure for Linux
+
+Sun May  9 02:18:30 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Merge in patches from Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
+    + some layout and other minor fixes
+    + add some m68k-specific things to linux/syscallent.h. Note that m68k
+      is similar enough to i386 to not need it's own subdirectory
+    + add support for sendfile and mremap syscalls for Linux
+  * Merge in patches from Sascha Schumann <sascha@schumann.2ns.de>
+    + ioctls.h vs sys/ioctl.h on Alpha platform
+    + pointer was casted to an int in stream.c
+    + strsignal() needs -D_GNU_SOURCE in CFLAGS
+    + several other casts changed
+    + correct ARM/POWERPC architecture defines in acconfig.h
+  * Merge in patches from Morten Welinder <terra@diku.dk>
+    + add some autoconf-tests for includefiles
+    + handle solaris version of sigcontext struct (actually I hacked this
+      up again, but the idea is his :)
+
+Sun Apr 18 22:32:42 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Update syscalls for linux alpha, patch from Bart Warmerdam
+    <bartw@debian.org>
+  * Update sparc code so it actually compiles
+
+Fri Apr 16 02:18:05 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Add support for old_*stat functions for Linux. Please note you need
+    to use reasonably recent kernel headers to compile strace now.
+  * Change references to LINUX into linux in file.c
+  * Fix include for LDT in mem.c
+
+Thu Apr 15 22:28:15 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Change in strace maintainership, jrs passed the torch to me.
+  * Use autoconf 2.13
+  * Incorporate all changes already made in the Debian strace package:
+    + compiles with more Linux kernels
+    + added support for more Linux architectures
+    + add support for a lot of extra syscalls
+    + fix some problems with hanging children
+    + check stray syscall after execv
+    + decode capget and capset arguments
+    + add more constants to net.c
+    + detect ROSE networking
+    + add more protocol families to domains
+    + add IPIP protocol
+    + added MSG_PROXY and MSG_CTRUNC to msg_flags
+    + added SO_BSDCOMPAT and SO_REUSEPORT to sockoptions
+    + added IP, IPX and TCP-options
+    + added IP, IPX and TCP support to get-/setsockopt()
+    + added IPX support
+    + updated handling of signals
+
+Sun Oct 27 22:28:00 1996  J. Richard Sladkey  <jrs@world.std.com>
+
+	* util.c (umovestr) [LINUX]: Handle Linux like SunOS4
+	instead of SVR4.  That is, read a few bytes at a time
+	to avoid overrunning the end of the stack.
+
+Fri May 31 01:48:49 1996  J. Richard Sladkey  <jrs@world.std.com>
+
+	* version.c: Version 3.1 is released.
+
+Thu May 23 01:04:43 1996  J. Richard Sladkey  <jrs@world.std.com>
+
+	* aclocal.m4 (AC_DECL_SYS_ERRLIST): Try looking in stdio.h
+	as well since that's where glibc declares it.  Go figure.
+	* signal.c (sys_sigreturn) [ALPHA]: Use sigcontext
+	instead of sigcontext_struct since glibc v5+ apparently
+	plays games with the native OS namespace.
+	From David Mosberger-Tang <davidm@AZStarNet.com>.
+
+Mon May 20 23:17:14 1996  J. Richard Sladkey  <jrs@world.std.com>
+
+	* version.c: Version 3.0.14 is released.
+
+	* aclocal.m4 (AC_STRUCT_MSG_CONTROL): New macro.
+	* configure.in: Add call to AC_STRUCT_MSG_CONTROL.
+	* net.c (printmsghdr): Handle BSD 4.3 and 4.4 msghdr members
+	differently.
+	Reported by Henrik Storner <storner@osiris.ping.dk>.
+
+	* configure.in: (AC_CHECK_{HEADERS,FUNCS}): Add checks for
+	sys/filio.h and sys/stream.h and remove check for poll.
+	* desc.c (decode_select, sys_select, sys_oldselect) [LINUX]:
+	Handle old and new styles of argument passing for select on Linux.
+	* ioctl.c, stream.c: Conditionalize stream code on presence of
+	sys/stream.h instead of poll because glibc implements poll but
+	not the rest of the stream interface.
+	* signal.c [LINUX]: Standardize on the name sigcontext_struct.
+	(sys_sigprocmask) [ALPHA]: Handle OSF flavor which is more like
+	sigsetmask.
+	* term.c (term_ioctl): Use _VMIN, if present, for TC{G,S}ETA*.
+	* util.c (umoven, umovestr): Move data in long-sized chunks
+	at a time, instead of hard coding it to be 4.
+	From David Mosberger-Tang <davidm@AZStarNet.com>.
+
+Mon May 20 01:19:36 1996  J. Richard Sladkey  <jrs@world.std.com>
+
+	* version.c: Version 3.0.13 is released.
+
+	* configure.in (AC_CHECK_HEADERS): Add check for asm/sigcontext.h.
+	* signal.c [HAVE_ASM_SIGCONTEXT_H]: Conditionally include
+	asm/sigcontext.h to define sigcontext_struct and don't define it
+	locally if the header is present.
+
+	* syscall.c (nerrnos{0,2}): Correct size computation.
+
+	* Makefile.in: Remove dependencies and rules relating to files
+	normally found in the os directory.  Because of the new scheme we
+	don't know precisely where they come from.  Sigh.
+	* signalent.sh: Make it work for sunos4, linux, and svr4.
+	* {sunos4,linux{,/alpha},svr4}/Makefile.in: Make rules correspond
+	to traditional make syntax.  Add signalent.h to files which can
+	unconditionally be rebuilt.  Prevent signalent.h from being
+	unconditionally being rebuilt since it's customized.
+	* {sunos4,linux{,/alpha},svr4}/{ioctlent,errnoent,signalent}.h:
+	Use versions built by {ioctlent,errnoent,signaltent}.sh.
+	* sunos4/ioctlent.sh: Work around sprintf troubles with SunOS
+	4.1.4 and gcc 2.7.2.
+
+Sun May 19 17:14:09 1996  J. Richard Sladkey  <jrs@world.std.com>
+
+	* configure.in, Makefile.in: Add OSARCH concept to finish
+	build support for the alpha.
+	* Makefile.in, linux/Makefile.in: Rewrite clean, distclean,
+	and maintainer-clean rules.
+	* defs.h, ioctlsort.c: Make ioctl code member unsigned.
+	* ioctl.c, ioctlsort.c (compare): Perform explicit checking
+	for less, greater, and equal since subtraction on two's
+	complement numbers isn't an order relation (it isn't transitive)!
+	* linux/Makefile.in: Add rules for the signalent.h file.
+	* linux/alpha/Makefile.in: New file.
+
+Sun May 19 01:12:28 1996  J. Richard Sladkey  <jrs@world.std.com>
+
+	* version.c: Version 3.0.12 is released.
+
+	* linux{,alpha}/ioctlent.sh: Tweak for recent kernels.
+	From Michael E Chastain <mec@duracef.shout.net>.
+
+	* defs.h (SUPPORTED_PERSONALITES, DEFAULT_PERSONALITY): New.
+	* syscall.c (set_personality): New.
+	* strace.c (main): Call set_personality.
+	* defs.h, syscall.c, ioctl.c, signal.c: Make sysent, errnoent,
+	ioctlent, and signalent indirect pointers and redirect them
+	based on personality.
+	* {sunos4,svr4,linux{,/alpha}}/signalent.h: New files.
+	Suggested by Tom Dyas <tdyas@eden.rutgers.edu>.
+
+	* util.c (upeek): Handle case where ptrace returns a long
+	and sizeof(long) != sizeof(int).
+	From Richard Henderson <richard@twiddle.tamu.edu>
+
+Fri May 17 21:03:36 1996  J. Richard Sladkey  <jrs@world.std.com>
+
+	* version.c: Version 3.0.11 is released.
+
+	* many files: Fix more printf warnings for other platforms.
+
+	* ipc.c (sys_msgrcv) [LINUX]: Conditionalize definition of ipc_wrapper.
+
+	* linux/dummy.h: Handle missing library support for {send,recv}msg.
+	Reported by Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
+
+	* linux/syscall.h (sys_utimes): Fix a typo in the declaration.
+	From Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
+
+Fri May 17 00:50:06 1996  J. Richard Sladkey  <jrs@world.std.com>
+
+	* version.c: Version 3.0.10 is released.
+
+	* Makfile.in: Add os/arch to includes so that a given arch
+	(like alpha) can override the native arch (like i386).
+	* configure.in: Check for sendmsg.
+
+	* net.c: Make sendmsg and recvmsg dependent on an autoconf
+	test.  Reported by Michael E Chastain <mec@duracef.shout.net>.
+
+	* acconfig.h, configure.in: Detect the alpha.
+	* ioctl.c: Handle the alpha.
+	* defs.h: Make some members long for the alpha.  Define
+	some register nicknames.  Add support for WAITEXECVE.
+	* file.c [ALPHA]: Support the alpha for statfs.  Add
+	osf_statfs and osf_fstatfs for the alpha.  Make damn sure
+	major and minor results are suitable for passing to printf.
+	* signal.c, syscall.c: Support the alpha.
+	* process.c: Add alpha user offsets.
+	* most files: Use %l? for printf arguments since
+	most are now longs for the alpha.
+	* linux/alpha/{errnoent.h,ioctlent.{h,sh},syscallent.h}:
+	New for the alpha.
+	From Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
+
+Wed May 15 00:29:37 1996  J. Richard Sladkey  <jrs@world.std.com>
+
+	* version.c: Version 3.0.9 is released.
+
+	* config.in, config.sub, install-sh: Upgrade to autoconf 2.10.
+
+	* linux/dummy.h, linux/syscallent.h, linux/syscall.h: Add recent
+	Linux kernel version system calls.
+
+Wed Mar 13 01:03:38 1996  J. Richard Sladkey  <jrs@world.std.com>
+
+	* ipc.c [SUNOS4]: Add SunOS support for decoding IPC calls.
+	* syscall.c [SUNOS4]: Compile decode_subcall on SunOS and
+	decode IPC calls using it.
+	* sunos4/dummy.h: Alias sys_semop to printargs.
+	* sunos4/syscall.h: Add new pseudo syscalls for IPC.
+	* sunos4/syscallent.h: Include new subcalls for IPC.
+	From Matthias Pfaller <leo@dachau.marco.de>.
+
+Tue Feb 13 22:08:25 1996  J. Richard Sladkey  <jrs@world.std.com>
+
+	* version.c: Version 3.0.8 is released.
+
+	* time.c [LINUX]: Explicitly include linux/version.h.
+
+	* strace.c (main): Don't let them even *try* to
+	get strace to attach to itself since some systems
+	don't handle this case very gracefully.
+	Reported by David S. Miller <davem@caip.rutgers.edu>.
+
+	* Makefile.in (distclean): Fix it for subdirectories.
+
+	* sunos4/syscallent.h, svr4/syscallent.h: Fill in the new
+	sys_flags member for each defined system call.
+
+Fri Dec  8 01:17:28 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* defs.h (TRACE_*): New flags to describe what class
+	of system call each system call is.
+	(sysent): Add sys_flags member.
+	* syscall.c (sysent): Define (and later undef) abbreviations
+	for the system call class flags.
+	(lookup_class): New function to translate strings to
+	system call class flags.
+	(qualify): Handle new system call class mechanism.
+	* linux/syscallent.h: Fill in the new sys_flags member
+	for each defined system call.
+
+	* defs.h (print_sock): Remove redundant and non-K&R C
+	compatible prototype.  From Juergen Weigert
+	<jnweiger@immd4.informatik.uni-erlangen.de>.
+
+Thu Dec  7 01:17:40 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* linux/ioctlent.sh: Tweak to improve ioctl accuracy.
+	From Michael E Chastain <mec@duracef.shout.net>.
+
+	* system.c (includes) [LINUX]: Add linux/nfs.h for recent
+	kernels.  From Michael E Chastain <mec@duracef.shout.net>.
+
+Wed Dec  6 21:52:28 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* file.c (sprintfstype): Enclose string result in double
+	quotes.
+
+	* time.c (sys_adjtimex) [LINUX]: Conditionalize
+	constantly evolving timex structure.
+	From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
+
+	* defs.h, syscall.c, strace.c: Rename syscall to
+	trace_syscall and change prototype and all callers
+	because of broken Linux shared libraries.
+	From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
+
+	* Makefile.in (clean): Check for a file with test -f not
+	test -d.  From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
+
+Tue Sep 26 02:32:31 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* version.c: Version 3.0.7 is released.
+
+	* util.c (string_quote): Fix thinko which caused core
+	dumps for strings with quotes in them.
+	Reported by Marty Leisner <leisner@sdsp.mc.xerox.com>.
+
+	* linux/Makefile.in (errnoent.h rule): Grab all errno.h
+	files from /usr/include, not just the linux one.
+	From Michael E Chastain <mec@duracef.shout.net>.
+
+	* linux/errnoent.sh: Total rewrite to handle more ioctls with
+	fewer false positives on more kernel flavors.
+	From Michael E Chastain <mec@duracef.shout.net>.
+
+Mon Sep  4 01:29:22 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* version.c: Version 3.0.6 is released.
+
+	* linux/dummy.h, linux/syscall.h, linux/syscallent.h: Add
+	sys_msync.
+	* mem.c (mctl_funcs, mctl_lockas, sys_mctl): Conditionalize
+	on MC_SYNC instead of HAVE_MCTL.
+	(mctl_sync): Conditionalize on MS_ASYNC instead of HAVE_MCTL.
+	(sys_msync): New function.
+
+Sat Sep  2 12:06:04 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* linux/dummy.h, linux/syscall.h, linux/syscallent.h: Add
+	sys_flock and sys_getdents.
+	* desc.c (flockcmds, sys_flock): Conditionalize on LOCK_SH
+	not SUNOS4.
+	* file.c (sys_getdents): Define unconditionally and handle
+	LINUX case.
+	* strace.c (main): Disallow username option unless both real
+	and effective uids are root.
+
+Wed Aug 30 01:29:58 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* strace.c (main): Ensure that run_uid and run_gid are
+	always set to something meaningful.
+	(main, newoutf) [!SVR4]: Swap real and effective uids while
+	opening any output files.
+	(main) [!SVR4]: Treat effective uid of root as a request
+	to handle suid binaries correctly using the real uid of
+	the invoking user.
+
+Sat Aug 19 00:06:08 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* Makefile.in: Add `|| true' to clean rule because
+	although GNU make 3.74 uses `sh -c' to invoke commands
+	every other make in the world uses `sh -ec'.
+
+	* syscall.c (syscall) [SVR4, MIPS]: The fifth and subsequent
+	arguments appear to be stored on the stack, not in the
+	registers following A3 (empirical result).
+
+	* defs.h: Add prototype for printsock.
+	* svr4/dummy.h: Remove generic handling of sys_mount.
+	* system.c [SVR4, MIPS]: Include several system headers to cleanly
+	get access to SGI mount information.
+	(mount_flags, nfs_flags) [SVR4, MIPS]: New objects.
+	(sys_mount) [SVR4, MIPS]: New function.
+	(sys_mount) [SVR4, !MIPS]: New function.
+
+Tue Jul  4 00:30:34 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* version.c: Version 3.0.5 is released.
+
+	* desc.c, resource.c, strace.c, syscall.c, time.c: Cast tv_sec and
+	tv_usec members to long when using printf.
+
+	* ipc.c: Omit define of __KERNEL__.
+	({MSG,SEM,SHM}_{STAT,INFO}): Explicitly define those things we
+	want which __KERNEL__ used to provide.
+	(sys_msgrcv): Change reference to ipc_kludge structure to
+	look-alike ipc_wrapper to avoid dependence on __KERNEL__.
+
+	mem.c (mmap_flags) [MAP_{GROWSDOWN,DENYWRITE,EXECUTABLE}]: Add
+	Linux specific options.
+
+	syscall.c: Use SYS_ERRLIST_DECLARED instead of guessing.
+	[E{RESTART{SYS,NO{INTR,HAND}},NOIOCTLCMD}]: Explicitly define
+	instead of depending of __KERNEL__.
+
+	term.c: Cast c_{i,o,c,l}flag to long when using printf.
+
+Tue Jun  6 00:27:48 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* aclocal.m4 (AC_DECL_SYS_ERRLIST, AC_DECL__SYS_SIGLIST): New.
+	* configure.in: Call AC_DECL_SYS_ERRLIST, AC_DECL_SYS_SIGLIST,
+	and AC_DECL__SYS_SIGLIST.
+	* acconfig.h (SYS_ERRLIST_DECLARED): New.
+	* strace.c (strerror): Use SYS_ERRLIST_DECLARED.
+	(strsignal): Use SYS_SIGLIST_DECLARED.
+
+	net.c (sys_socket): Omit inadvertent surplus comma when
+	protocol family isn't PF_INET.
+
+	util.c (dumpstr): Fix incorrect printing of one too many
+	characters when the length is not an even multiple of 16 bytes.
+	Reported by Juergen Weigert
+	<jnweiger@immd4.informatik.uni-erlangen.de>.
+
+Thu May  4 23:37:47 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* ioctl.c (compare): Change prototype to match POSIX qsort.
+	* signal.c (sigishandled) [SVR4]: Omit everything after return.
+	* strace.c (trace) [SVR4]: Break out of for loop instead of
+	returning when finished so final return statement is executed.
+	* syscall.c (internal_syscall): Add more SYS_wait* variations.
+	(syscall) [LINUX]: Correct typo which commented out the M68K
+	argument to ifdef.
+	* util.c (printstr): Cast unsigned char pointer argument
+	to char pointer in umovestr call.
+	(dumpstr): Likewise for umoven.
+
+Wed May  3 01:10:56 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* version.c: Version 3.0.4 is released.
+
+	* signal.c (sys_sigblock): Move after the definition of
+	sys_sigsetmask that it calls to avoid an implicit declaration.
+	* stream.c (transport_user_options, transport_server_options):
+	Only needed if TI_BIND is defined.
+	* configure.in: Add -Wno-implicit to WARNFLAGS on SunOS 4.x.
+
+	* process.c (internal_fork) [SVR4]: Fix a typo that omitted
+	the tcp arguement from the call to exiting.  Add getrval2
+	check so no fork processing is done in the child.
+	(printwaitn): Initialize exited so that its value is defined
+	for all flows of execution.
+
+Tue May  2 22:39:42 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* linux/dummy.h: Add aliases for sysfs, personality, afs_syscall,
+	setfsuid, setfsgid, and _llseek syscalls.
+	* linux/syscall.h: Add prototypes for them.
+	* linux/syscallent.h: Add them to the syscall entries table.
+	* system.c (headers) [LINUX]: Include linux/unistd.h to get __NR_*
+	defines and conditionally include linux/personality.h if
+	__NR_personality is defined.
+	(personality_options) [LINUX]: New table.
+	(sys_personality) [LINUX]: New function.
+
+Tue May  2 00:20:39 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* strace.c (trace) [!SVR4]: Change forever loop to one predicated
+	on the number of traced processes so that we can have untraced
+	children (e.g. via popen).
+
+	* strace (main) [!SVR4]: Call fake_execve to get the actual
+	exec and its arguments into the trace.
+	(environ): Declare it.
+	* process.c (fake_execve): New function.
+	(headers): Include sys/syscall.h to get SYS_* defines.
+
+	* process.c (sys_execv, sys_execve): Surround argument annotations
+	with C comment delimiters.
+	(printargv, printargc): The arg vector is an array of char pointers
+	not ints.
+
+	* strace.c (printleader): Also check for multiple -p arguments
+	when deciding whether to print the pid field.
+
+	* strace.c (strerror) [!HAVE_STRERROR]: New function.
+	* defs.h (strerror, strsignal): Add these prototypes if we provide
+	the functions.
+	* configure.in (AC_CHECK_FUNCS): Add strerror.
+
+	* strace.c (main, proc_poller): Add SIGPIPE to the list of caught
+	and blocked signals.
+
+	* strace.c (main): Add username option.  Verify they are root before
+	letting them use it.  Look up the ids in the password file.  Set
+	them just before executing the program.
+	From Reuben Sumner <rasumner@undergrad.math.uwaterloo.ca>.
+
+Sat Apr 29 00:09:56 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* version.c: Version 3.0.3 is released.
+
+	* system.c (mount_flags) [LINUX]: Omit duplicated MS_NOSUID entry.
+	From Reuben Sumner <rasumner@undergrad.math.uwaterloo.ca>.
+
+	* strace.c (outfname): Initialize to NULL.
+	(main): Defer output file processing until after arguments.
+	Allow either a pipe or a bang for command arguments.
+	Check if outfname is NULL instead of checking outf for stderr.
+	Reinitialize each startup TCB's outf to fix -p/-o ordering bug.
+	(droptcb): Reset close TCB's outf to NULL instead of stderr.
+	(tprintf): Avoid calling vfprintf if outf is NULL.
+
+	* strace.c (main): Use popen if -o argument begins with a pipe.
+	From Marty Leisner <leisner@sdsp.mc.xerox.com>.
+
+	* process.c (printstatus): Fix a typo where WIFSIGNALED was meant
+	but WIFSTOPPED was used.
+
+	* Makefile.in: Add an EXTRA_DEFS variable and use it in the .c.o
+	rule to prevent the comment from being untrue.
+
+Fri Apr 28 22:01:56 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* strace.c (sys_exit): Move follow fork code to internal_exit.
+	(sys_fork): Move follow fork code to internal_fork.
+	(sys_execv, sys_execve): Move follow fork code to internal_exec.
+	(sys_waitpid, sys_wait4): Move follow fork code to internal_wait.
+	(vforking): Remove this static variable and check scno in
+	internal_fork instead.
+	(internal_exit, internal_fork, internal_exec, internal_wait): New
+	functions.
+	* defs.h: Add prototypes for the new internal_* functions.
+	* syscall.c (syscall): Move syscall entering trace qualifier check
+	and reprint checking after context decoding and precede them with
+	a call to internal_syscall.  Precede syscall exiting trace
+	qualifier check with a call to internal_syscall.
+	(internal_syscall): New function.
+
+	* defs.h (struct tcb): Make scno signed.
+	* strace.c (syscall) Make u_error signed.
+	[LINUX, I386]: Avoid unsigned cast in eax check.
+	* syscall.c (sys_indir): Make i, scno, and nargs signed.
+	* desc.c (sys_select): Make cumlen unsigned
+
+Mon Apr 24 23:52:47 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* net.c (socktypes): Add SOCK_PACKET.
+
+Sun Apr  2 23:50:39 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* Makefile (clean): Check explicitly for a Makefile in subdirs
+	before running make in them.
+
+Sun Mar 26 12:37:21 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* strace.c [MIPS] (proc_open): Conditionalize run on MIPS.
+	[MIPS] (detach): Initialize error for MIPS case.
+	(trace): Initialize ioctl_result and ioctl_errno for overly helpful
+	compilers.
+	* syscall.c (decode_subcall): Move variable i into conditionals
+	that use use it.
+	* system.c (syssgi_options): Conditionalize SGI_RECVLMSG and
+	SGI_SET_FPDEBUG that SGI decided to drop.  I don't have the stomach
+	to change them all.
+	* term.c (term_ioctl): Force [c_[iocl]flags members to long before
+	printing since we don't know what the size of their type is.
+	* util.c [SVR4, MIPS] (umoven): Prevent MIPS from using pread even
+	if autoconf detects it since it seems to either not work or do
+	something else entirely on Irix 5.3.
+
+Sun Mar 26 00:01:11 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* version.c: Version 3.0.2 is released.
+	* linux/dummy.h: Make sys_fchdir like sys_close instead of printargs
+	so that the file descriptor arg is decimal.
+
+Sat Mar 25 22:50:13 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* net.c [LINUX] (protocols): Explicitly define all IPPROTO_* entries
+	because on Linux they are enumerators.
+
+	* system.c [LINUX] (mount_flags): Handle renaming of MS_SYNC to
+	MS_SYNCHRONOUS.
+
+	* util.c (printxval): When there is no translation, print the actual
+	number first and the the default value as a C comment.
+
+	* net.c (sys_send, sys_sendto, sys_sendmsg, sys_getsockopt,
+	sys_setsockopt): Change first argument from unsigned to signed to
+	cater to the frequent practice of calling system calls with a file
+	descriptor of -1.
+	* mem.c (sys_mmap): Likewise.
+
+Sun Mar 19 13:53:52 1995  Rick Sladkey  <jrs@world.std.com>
+
+	* signal.c [LINUX] (signalent): Handle old and new values of SIGIO.
+
+Sun Dec 11 22:51:51 1994  Rick Sladkey  <jrs@world.std.com>
+
+	* version.c: Version 3.0.1 is released.
+	* Makefile.in, configure.in, aclocal.m4: Changes for autoconf 2.0.
+	* config.guess, config.guess: Update from the FSF.
+	* install-sh: New from the FSF.
+
+Mon Dec  5 20:51:29 1994  Rick Sladkey  <jrs@world.std.com>
+
+	* Makefile.in: Add m68k arch.
+	* acconfig.h (M68K): Add m68k define.
+	* configure.in: Add detection of arch m68k.
+	* process.c [M68K] (struct_user_offsets): Support m68k registers and
+	offsets.
+	* signal.c [M68K] (sigcontext_struct): Support m68k sigcontext
+	structure.
+	[M68K] (sys_sigreturn): Support m68k sigreturn handling.
+	* syscall.c [M68K] (syscall): Support m68k syscall number register
+	and errno in d0 instead of eax.
+	* util.c [M68K] (getpc, printcall, setbpt, clearbpt): Support m68k
+	program counter in PT_PC instead of EIP.
+	[M68K] (LOOP): Support m68k loop instruction.
+	From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
+
+	* mem.c [MAP_ANONYMOUS] (mmap_flags): Correct inadvertent reference
+	to MAP_FIXED instead of MAP_ANONYMOUS.
+	From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
+
+	* signal.c [LINUX] (signalent): Signal 30 is now SIGPWR.
+	From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
+
+Mon Dec  5 01:05:46 1994  Rick Sladkey  <jrs@world.std.com>
+
+	* defs.h (tprintf): Fix typo in non-gcc ansi prototype for tprintf.
+	Reported by Thanh Ma <tma@encore.com>.
+
+	* strace.c (cleanup): Send SIGCONT before SIGTERM because Linux
+	1.1.62 doesn't continue a traced child when the parent exits.
+	Reported by Matt Day <mday@artisoft.com>.
+
+	* system.c [LINUX]: Include netinet/in.h before arpa/inet.h.
+
+	* util.c (printstr): Fix longstanding bug in notating string
+	continuation.
+
+	* strace.c [SVR4] (proc_open): Specifically wait for the child the
+	child to go into the execve syscall to avoid spurious traces.
+	[LINUX] (detach): Conditionalize the status variable.
+
+Sun Dec  4 23:21:42 1994  Rick Sladkey  <jrs@world.std.com>
+
+	* Makefile.in: Add mips arch.
+	* acconfig.h (MIPS): Add mips define.
+	* configure.in: Add detection of opsys irix5 and arch mips.  Check
+	for prctl function.
+	Check for sys/sysconfig.h header.
+	* defs.h (MAX_ARGS): Bump maximum syscall arguments from 8 to 32.
+	* file.c [SVR4]: Include sys/cred.h.
+	(access_flags): Update access flags for SGI.
+	(sprinttime): Change type of sprinttime argument from unsigned
+	long to time_t.
+	* process.c [HAVE_PRCTL]: Include sys/prctl.h.
+	[HAVE_PRCTL] (prctl_options, sys_prctl): New for SGI.
+	(printsiginfo): Conditionally compile SI_TIMER and SI_MESGQ.
+	Cast si_band member to long before printing.
+	* signal.c (sigact_flags): Add _SA_BSDCALL for SGI.
+	(sigprocmaskcmds): Add SIG_SETMASK32 for SGI.
+	* strace.c [SVR4] [MIPS]:
+	(foobar): New dummy signal handler.
+	(main): Install a dummy signal handler in the child before pausing
+	to work around an SGI bug in PRSABORT.
+	(proc_open): Send a interrupt to the child instead of aborting the
+	syscall which doesn't work on Irix5.2.
+	* svr4/dummy.h: Add new unfinished SGI syscalls
+	(e.g. sys_sysmp, sys_sginap, etc.).  Handle some SGI syscalls like
+	existing calls (e.g. sys_ksigaction like sys_sigaction).
+	Printargs does the print thing for sys_sethostid.
+	* svr4/syscall.h: Declare all new SGI syscalls.
+	(SGI_KLUDGE): Define syscall table starting index to be 1 for SGI
+	and add it to all subcall entry points.
+	(SYS_pgrpsys_subcall, SYS_sigcall_subcall, SYS_context): Don't
+	decode as subcalls on MIPS. Instead, use the normal syscalls.
+	* svr4/syscallent.h [MIPS]: Lead syscall table with a dummy entry
+	since SGI syscall numbers are off by one.
+	[MIPS] (sys_pgrpsys): Rename to sys_setpgrp on SGI.
+	[MIPS] (sys_xenix): Rename to sys_syssgi on SGI.
+	[MIPS] (sys_sysmachine): Rename to sys_sysmips on SGI.
+	[MIPS]: Conditionalize SVR4 extension into SGI and Solaris classes.
+	* syscall.c (dumpio): Validate descriptor against MAX_QUALS.
+	[HAVE_PR_SYSCALL] (syscall): Conditionalize SYS_vfork.
+	[MIPS] (syscall): Add SGI section for decoding u_error and u_rval.
+	Add workaround for broken SGI pr_sysarg on syscall entry.
+	[SVR4] (syscall): Conditionalize subcall decoding for
+	SYS_ptrpsys_subcall, SYS_sigcall_subcall and SYS_context_subcall.
+	[SVR4] [MIPS] (getrval2): Handle SGI.
+	* syscallent.sh: Dork the sed line to be choosier about SYS_ lines.
+	* system.c [HAVE_SYSCONFIG_H]: Include sys/sysconfig.h.
+	[MIPS] (syssgi_options, sys_syssgi): New for SGI.
diff --git a/strace-4.5.20/INSTALL b/strace-4.5.20/INSTALL
new file mode 100644
index 0000000..7a11ed0
--- /dev/null
+++ b/strace-4.5.20/INSTALL
@@ -0,0 +1,180 @@
+Basic Installation
+==================
+
+   These are generic installation instructions.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, a file
+`config.cache' that saves the results of its tests to speed up
+reconfiguring, and a file `config.log' containing compiler output
+(useful mainly for debugging `configure').
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If at some point `config.cache'
+contains results you don't want to keep, you may remove or edit it.
+
+   The file `configure.in' is used to create `configure' by a program
+called `autoconf'.  You only need `configure.in' if you want to change
+it or regenerate `configure' using a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.  If you're
+     using `csh' on an old version of System V, you might need to type
+     `sh ./configure' instead to prevent `csh' from trying to execute
+     `configure' itself.
+
+     Running `configure' takes awhile.  While running, it prints some
+     messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Optionally, type `make check' to run any self-tests that come with
+     the package.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.
+
+  5. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+Compilers and Options
+=====================
+
+   Some systems require unusual options for compilation or linking that
+the `configure' script does not know about.  You can give `configure'
+initial values for variables by setting them in the environment.  Using
+a Bourne-compatible shell, you can do that on the command line like
+this:
+     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+
+Or on systems that have the `env' program, you can do it like this:
+     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+
+Compiling For Multiple Architectures
+====================================
+
+   You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+   If you have to use a `make' that does not supports the `VPATH'
+variable, you have to compile the package for one architecture at a time
+in the source code directory.  After you have installed the package for
+one architecture, use `make distclean' before reconfiguring for another
+architecture.
+
+Installation Names
+==================
+
+   By default, `make install' will install the package's files in
+`/usr/local/bin', `/usr/local/man', etc.  You can specify an
+installation prefix other than `/usr/local' by giving `configure' the
+option `--prefix=PATH'.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+give `configure' the option `--exec-prefix=PATH', the package will use
+PATH as the prefix for installing programs and libraries.
+Documentation and other data files will still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=PATH' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+   Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+   There may be some features `configure' can not figure out
+automatically, but needs to determine by the type of host the package
+will run on.  Usually `configure' can figure that out, but if it prints
+a message saying it can not guess the host type, give it the
+`--host=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name with three fields:
+     CPU-COMPANY-SYSTEM
+
+See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the host type.
+
+   If you are building compiler tools for cross-compiling, you can also
+use the `--target=TYPE' option to select the type of system they will
+produce code for and the `--build=TYPE' option to select the type of
+system on which you are compiling the package.
+
+Sharing Defaults
+================
+
+   If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Operation Controls
+==================
+
+   `configure' recognizes the following options to control how it
+operates.
+
+`--cache-file=FILE'
+     Use and save the results of the tests in FILE instead of
+     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
+     debugging `configure'.
+
+`--help'
+     Print a summary of the options to `configure', and exit.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`--version'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`configure' also accepts some other, not widely useful, options.
diff --git a/strace-4.5.20/Makefile.am b/strace-4.5.20/Makefile.am
new file mode 100644
index 0000000..c44762e
--- /dev/null
+++ b/strace-4.5.20/Makefile.am
@@ -0,0 +1,130 @@
+# Automake input for strace.
+
+bin_PROGRAMS = strace
+man_MANS = strace.1
+bin_SCRIPTS = strace-graph
+
+# OS is one of `linux', `sunos4', `svr4', or `freebsd'.
+OS		= @opsys@
+# ARCH is `i386', `m68k', `sparc', etc.
+ARCH		= @arch@
+
+AM_CFLAGS = $(WARNFLAGS)
+INCLUDES = -I$(srcdir)/$(OS)/$(ARCH) -I$(srcdir)/$(OS)
+
+strace_SOURCES = strace.c syscall.c count.c util.c desc.c file.c ipc.c \
+		 io.c ioctl.c mem.c net.c process.c bjm.c quota.c \
+		 resource.c signal.c sock.c system.c term.c time.c \
+		 proc.c scsi.c stream.c
+noinst_HEADERS = defs.h
+
+EXTRA_DIST = $(man_MANS) errnoent.sh signalent.sh syscallent.sh ioctlsort.c \
+	     debian/changelog debian/control debian/copyright debian/rules \
+	     debian/compat debian/strace64.install debian/strace64.manpages \
+	     debian/strace.docs debian/strace.examples debian/strace.install \
+	     debian/strace.manpages debian/strace-udeb.install \
+	     strace.spec \
+	     strace-graph ChangeLog ChangeLog-CVS COPYRIGHT CREDITS PORTING \
+	     README-freebsd README-linux README-sunos4 README-svr4 \
+	     linux/ioctlsort.c linux/ioctlent.sh \
+	     linux/ioctlent.h linux/errnoent.h linux/signalent.h \
+	     linux/syscall.h linux/dummy.h \
+	     linux/i386/syscallent.h \
+	     linux/alpha/errnoent.h linux/alpha/ioctlent.h \
+	     linux/alpha/signalent.h linux/alpha/syscallent.h \
+	     linux/arm/syscallent.h linux/arm/syscallent1.h \
+	     linux/arm/signalent1.h linux/arm/ioctlent1.h \
+	     linux/arm/errnoent1.h \
+	     linux/avr32/syscallent.h \
+	     linux/bfin/ioctlent.h linux/bfin/syscallent.h \
+	     linux/hppa/errnoent.h linux/hppa/ioctlent.h \
+	     linux/hppa/signalent.h linux/hppa/syscallent.h \
+	     linux/ia64/syscallent.h \
+	     linux/ia64/ioctlent.h \
+	     linux/m68k/syscallent.h \
+	     linux/mips/ioctlent.sh linux/mips/errnoent.h \
+	     linux/mips/ioctlent.h linux/mips/signalent.h \
+	     linux/mips/syscallent.h \
+	     linux/powerpc/syscallent.h \
+	     linux/powerpc/ioctlent.h \
+	     linux/s390/ioctlent.h \
+	     linux/s390/syscallent.h \
+	     linux/s390x/ioctlent.h \
+	     linux/s390x/syscallent.h \
+	     linux/sh/syscallent.h \
+	     linux/sh/ioctlent.h \
+	     linux/sh64/syscallent.h \
+	     linux/sparc/dummy2.h \
+	     linux/sparc/errnoent.h linux/sparc/errnoent1.h \
+	     linux/sparc/ioctlent.h linux/sparc/ioctlent1.h \
+	     linux/sparc/signalent.h linux/sparc/signalent1.h \
+	     linux/sparc/syscall.h linux/sparc/syscall1.h \
+	     linux/sparc/syscallent.h linux/sparc/syscallent1.h \
+	     linux/sparc/gen.pl linux/sparc/syscall.h.2 \
+	     linux/sparc64/dummy2.h linux/sparc64/errnoent.h \
+	     linux/sparc64/errnoent1.h linux/sparc64/errnoent2.h \
+	     linux/sparc64/ioctlent.h linux/sparc64/ioctlent1.h \
+	     linux/sparc64/ioctlent2.h linux/sparc64/signalent.h \
+	     linux/sparc64/signalent1.h linux/sparc64/signalent2.h \
+	     linux/sparc64/syscall.h linux/sparc64/syscall1.h \
+	     linux/sparc64/syscallent.h linux/sparc64/syscallent1.h \
+	     linux/sparc64/syscallent2.h \
+	     linux/tile/syscallent.h \
+	     linux/x86_64/syscallent.h linux/x86_64/gentab.pl \
+	     linux/x86_64/errnoent1.h linux/x86_64/ioctlent1.h \
+	     linux/x86_64/signalent1.h linux/x86_64/syscallent1.h \
+	     freebsd/ioctlent.sh \
+	     freebsd/syscalls.cat freebsd/syscalls.pl freebsd/syscalls.print \
+	     freebsd/i386/errnoent.h freebsd/i386/ioctlent.h \
+	     freebsd/i386/signalent.h \
+	     freebsd/i386/syscall.h freebsd/i386/syscallent.h \
+	     sunos4/dummy.h sunos4/errnoent.h \
+	     sunos4/ioctlent.h sunos4/ioctlent.sh sunos4/signalent.h \
+	     sunos4/syscall.h sunos4/syscallent.h \
+	     svr4/dummy.h svr4/errnoent.h svr4/ioctlent.h svr4/ioctlent.sh \
+	     svr4/signalent.h svr4/syscall.h svr4/syscallent.h \
+	     xlate.el
+
+.PHONY: srpm
+srpm: dist-bzip2
+	rpmbuild --define '%_srcrpmdir .' -ts $(distdir).tar.bz2
+
+if MAINTAINER_MODE
+
+gen_changelog_start_date = 2009-07-08 20:00
+$(srcdir)/ChangeLog: $(top_srcdir)/gitlog-to-changelog $(srcdir)/Makefile.in \
+		     $(top_srcdir)/.git/refs/heads/*
+	@rm -f $@.new
+	(cd $(top_srcdir); \
+	 ./gitlog-to-changelog --since='$(gen_changelog_start_date)'; \
+	 echo; echo; echo 'See ChangeLog-CVS for older changes.' \
+	) > $@.new
+	chmod 444 $@.new
+	mv -f $@.new $@
+
+export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner --mode=go-w,go+rX
+
+if LINUX
+
+IOCTLDIR = /usr/include
+IOCTLASM = asm
+
+if I386
+ioctlent_h = linux/ioctlent.h
+else
+ioctlent_h = linux/$(ARCH)/ioctlent.h
+endif
+
+BUILT_SOURCES = $(ioctlent_h)
+
+$(srcdir)/$(ioctlent_h): ioctlsort
+	$(<D)/$(<F) > $@
+ioctlsort: $(srcdir)/linux/ioctlsort.c ioctls.h ioctldefs.h
+	$(filter-out -I%,$(LINK.c)) -I. -I$(IOCTLDIR) $(filter -I%,$(LINK.c)) \
+	  -o $@ $<
+ioctls.h: $(srcdir)/linux/ioctlent.sh
+	$(SHELL) $< $(IOCTLDIR) $(IOCTLASM)
+ioctldefs.h: ioctls.h ;
+
+endif
+endif
diff --git a/strace-4.5.20/Makefile.in b/strace-4.5.20/Makefile.in
new file mode 100644
index 0000000..d67db60
--- /dev/null
+++ b/strace-4.5.20/Makefile.in
@@ -0,0 +1,891 @@
+# Makefile.in generated by automake 1.11.1a from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software
+# Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Automake input for strace.
+
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = strace$(EXEEXT)
+subdir = .
+DIST_COMMON = README $(am__configure_deps) $(noinst_HEADERS) \
+	$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(srcdir)/config.h.in $(top_srcdir)/configure AUTHORS INSTALL \
+	NEWS TODO config.guess config.sub depcomp install-sh missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" \
+	"$(DESTDIR)$(man1dir)"
+PROGRAMS = $(bin_PROGRAMS)
+am_strace_OBJECTS = strace.$(OBJEXT) syscall.$(OBJEXT) count.$(OBJEXT) \
+	util.$(OBJEXT) desc.$(OBJEXT) file.$(OBJEXT) ipc.$(OBJEXT) \
+	io.$(OBJEXT) ioctl.$(OBJEXT) mem.$(OBJEXT) net.$(OBJEXT) \
+	process.$(OBJEXT) bjm.$(OBJEXT) quota.$(OBJEXT) \
+	resource.$(OBJEXT) signal.$(OBJEXT) sock.$(OBJEXT) \
+	system.$(OBJEXT) term.$(OBJEXT) time.$(OBJEXT) proc.$(OBJEXT) \
+	scsi.$(OBJEXT) stream.$(OBJEXT)
+strace_OBJECTS = $(am_strace_OBJECTS)
+strace_LDADD = $(LDADD)
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+SCRIPTS = $(bin_SCRIPTS)
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(strace_SOURCES)
+DIST_SOURCES = $(strace_SOURCES)
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(man_MANS)
+HEADERS = $(noinst_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d "$(distdir)" \
+    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr "$(distdir)"; }; }
+GZIP_ENV = --best
+DIST_ARCHIVES = $(distdir).tar.bz2
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WARNFLAGS = @WARNFLAGS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+arch = @arch@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+opsys = @opsys@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+man_MANS = strace.1
+bin_SCRIPTS = strace-graph
+
+# OS is one of `linux', `sunos4', `svr4', or `freebsd'.
+OS = @opsys@
+# ARCH is `i386', `m68k', `sparc', etc.
+ARCH = @arch@
+AM_CFLAGS = $(WARNFLAGS)
+INCLUDES = -I$(srcdir)/$(OS)/$(ARCH) -I$(srcdir)/$(OS)
+strace_SOURCES = strace.c syscall.c count.c util.c desc.c file.c ipc.c \
+		 io.c ioctl.c mem.c net.c process.c bjm.c quota.c \
+		 resource.c signal.c sock.c system.c term.c time.c \
+		 proc.c scsi.c stream.c
+
+noinst_HEADERS = defs.h
+EXTRA_DIST = $(man_MANS) errnoent.sh signalent.sh syscallent.sh ioctlsort.c \
+	     debian/changelog debian/control debian/copyright debian/rules \
+	     debian/compat debian/strace64.install debian/strace64.manpages \
+	     debian/strace.docs debian/strace.examples debian/strace.install \
+	     debian/strace.manpages debian/strace-udeb.install \
+	     strace.spec \
+	     strace-graph ChangeLog ChangeLog-CVS COPYRIGHT CREDITS PORTING \
+	     README-freebsd README-linux README-sunos4 README-svr4 \
+	     linux/ioctlsort.c linux/ioctlent.sh \
+	     linux/ioctlent.h linux/errnoent.h linux/signalent.h \
+	     linux/syscall.h linux/dummy.h \
+	     linux/i386/syscallent.h \
+	     linux/alpha/errnoent.h linux/alpha/ioctlent.h \
+	     linux/alpha/signalent.h linux/alpha/syscallent.h \
+	     linux/arm/syscallent.h linux/arm/syscallent1.h \
+	     linux/arm/signalent1.h linux/arm/ioctlent1.h \
+	     linux/arm/errnoent1.h \
+	     linux/avr32/syscallent.h \
+	     linux/bfin/ioctlent.h linux/bfin/syscallent.h \
+	     linux/hppa/errnoent.h linux/hppa/ioctlent.h \
+	     linux/hppa/signalent.h linux/hppa/syscallent.h \
+	     linux/ia64/syscallent.h \
+	     linux/ia64/ioctlent.h \
+	     linux/m68k/syscallent.h \
+	     linux/mips/ioctlent.sh linux/mips/errnoent.h \
+	     linux/mips/ioctlent.h linux/mips/signalent.h \
+	     linux/mips/syscallent.h \
+	     linux/powerpc/syscallent.h \
+	     linux/powerpc/ioctlent.h \
+	     linux/s390/ioctlent.h \
+	     linux/s390/syscallent.h \
+	     linux/s390x/ioctlent.h \
+	     linux/s390x/syscallent.h \
+	     linux/sh/syscallent.h \
+	     linux/sh/ioctlent.h \
+	     linux/sh64/syscallent.h \
+	     linux/sparc/dummy2.h \
+	     linux/sparc/errnoent.h linux/sparc/errnoent1.h \
+	     linux/sparc/ioctlent.h linux/sparc/ioctlent1.h \
+	     linux/sparc/signalent.h linux/sparc/signalent1.h \
+	     linux/sparc/syscall.h linux/sparc/syscall1.h \
+	     linux/sparc/syscallent.h linux/sparc/syscallent1.h \
+	     linux/sparc/gen.pl linux/sparc/syscall.h.2 \
+	     linux/sparc64/dummy2.h linux/sparc64/errnoent.h \
+	     linux/sparc64/errnoent1.h linux/sparc64/errnoent2.h \
+	     linux/sparc64/ioctlent.h linux/sparc64/ioctlent1.h \
+	     linux/sparc64/ioctlent2.h linux/sparc64/signalent.h \
+	     linux/sparc64/signalent1.h linux/sparc64/signalent2.h \
+	     linux/sparc64/syscall.h linux/sparc64/syscall1.h \
+	     linux/sparc64/syscallent.h linux/sparc64/syscallent1.h \
+	     linux/sparc64/syscallent2.h \
+	     linux/tile/syscallent.h \
+	     linux/x86_64/syscallent.h linux/x86_64/gentab.pl \
+	     linux/x86_64/errnoent1.h linux/x86_64/ioctlent1.h \
+	     linux/x86_64/signalent1.h linux/x86_64/syscallent1.h \
+	     freebsd/ioctlent.sh \
+	     freebsd/syscalls.cat freebsd/syscalls.pl freebsd/syscalls.print \
+	     freebsd/i386/errnoent.h freebsd/i386/ioctlent.h \
+	     freebsd/i386/signalent.h \
+	     freebsd/i386/syscall.h freebsd/i386/syscallent.h \
+	     sunos4/dummy.h sunos4/errnoent.h \
+	     sunos4/ioctlent.h sunos4/ioctlent.sh sunos4/signalent.h \
+	     sunos4/syscall.h sunos4/syscallent.h \
+	     svr4/dummy.h svr4/errnoent.h svr4/ioctlent.h svr4/ioctlent.sh \
+	     svr4/signalent.h svr4/syscall.h svr4/syscallent.h \
+	     xlate.el
+
+@MAINTAINER_MODE_TRUE@gen_changelog_start_date = 2009-07-08 20:00
+@LINUX_TRUE@@MAINTAINER_MODE_TRUE@IOCTLDIR = /usr/include
+@LINUX_TRUE@@MAINTAINER_MODE_TRUE@IOCTLASM = asm
+@I386_FALSE@@LINUX_TRUE@@MAINTAINER_MODE_TRUE@ioctlent_h = linux/$(ARCH)/ioctlent.h
+@I386_TRUE@@LINUX_TRUE@@MAINTAINER_MODE_TRUE@ioctlent_h = linux/ioctlent.h
+@LINUX_TRUE@@MAINTAINER_MODE_TRUE@BUILT_SOURCES = $(ioctlent_h)
+all: $(BUILT_SOURCES) config.h
+	$(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .o .obj
+am--refresh:
+	@:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+	      $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	$(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+
+config.h: stamp-h1
+	@if test ! -f $@; then \
+	  rm -f stamp-h1; \
+	  $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
+	else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+	@rm -f stamp-h1
+	cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
+	($(am__cd) $(top_srcdir) && $(AUTOHEADER))
+	rm -f stamp-h1
+	touch $@
+
+distclean-hdr:
+	-rm -f config.h stamp-h1
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	      echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+	      $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	    } \
+	; done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+strace$(EXEEXT): $(strace_OBJECTS) $(strace_DEPENDENCIES) 
+	@rm -f strace$(EXEEXT)
+	$(LINK) $(strace_OBJECTS) $(strace_LDADD) $(LIBS)
+install-binSCRIPTS: $(bin_SCRIPTS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+	@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n' \
+	    -e 'h;s|.*|.|' \
+	    -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+	      if (++n[d] == $(am__install_max)) { \
+		print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+	    else { print "f", d "/" $$4, $$1 } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	     if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	     test -z "$$files" || { \
+	       echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	     } \
+	; done
+
+uninstall-binSCRIPTS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	       sed -e 's,.*/,,;$(transform)'`; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bjm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/count.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/desc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mem.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quota.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/resource.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scsi.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syscall.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/system.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/term.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+install-man1: $(man_MANS)
+	@$(NORMAL_INSTALL)
+	test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
+	@list=''; test -n "$(man1dir)" || exit 0; \
+	{ for i in $$list; do echo "$$i"; done; \
+	l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.1[a-z]*$$/p'; \
+	} | while read p; do \
+	  if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; echo "$$p"; \
+	done | \
+	sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+	sed 'N;N;s,\n, ,g' | { \
+	list=; while read file base inst; do \
+	  if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+	    echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+	    $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+	  fi; \
+	done; \
+	for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+	while read files; do \
+	  test -z "$$files" || { \
+	    echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+	    $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+	done; }
+
+uninstall-man1:
+	@$(NORMAL_UNINSTALL)
+	@list=''; test -n "$(man1dir)" || exit 0; \
+	files=`{ for i in $$list; do echo "$$i"; done; \
+	l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.1[a-z]*$$/p'; \
+	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+	test -z "$$files" || { \
+	  echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
+	  cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	set x; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@case `sed 15q $(srcdir)/NEWS` in \
+	*"$(VERSION)"*) : ;; \
+	*) \
+	  echo "NEWS not updated; not releasing" 1>&2; \
+	  exit 1;; \
+	esac
+	@list='$(MANS)'; if test -n "$$list"; then \
+	  list=`for p in $$list; do \
+	    if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	    if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+	  if test -n "$$list" && \
+	    grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+	    echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+	    grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
+	    echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+	    echo "       typically \`make maintainer-clean' will remove them" >&2; \
+	    exit 1; \
+	  else :; fi; \
+	else :; fi
+	$(am__remove_distdir)
+	test -d "$(distdir)" || mkdir "$(distdir)"
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	-test -n "$(am__skip_mode_fix)" \
+	|| find "$(distdir)" -type d ! -perm -755 \
+		-exec chmod u+rwx,go+rx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r "$(distdir)"
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-lzma: distdir
+	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+	$(am__remove_distdir)
+
+dist-xz: distdir
+	tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.lzma*) \
+	  lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+	*.tar.xz*) \
+	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	test -d $(distdir)/_build || exit 0; \
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && am__cwd=`pwd` \
+	  && $(am__cd) $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+	  && cd "$$am__cwd" \
+	  || exit 1
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+	@$(am__cd) '$(distuninstallcheck_dir)' \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(MANS) $(HEADERS) config.h
+installdirs:
+	for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-hdr distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS install-binSCRIPTS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: all check install install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
+	clean-binPROGRAMS clean-generic ctags dist dist-all dist-bzip2 \
+	dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
+	distcheck distclean distclean-compile distclean-generic \
+	distclean-hdr distclean-tags distcleancheck distdir \
+	distuninstallcheck dvi dvi-am html html-am info info-am \
+	install install-am install-binPROGRAMS install-binSCRIPTS \
+	install-data install-data-am install-dvi install-dvi-am \
+	install-exec install-exec-am install-html install-html-am \
+	install-info install-info-am install-man install-man1 \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-binPROGRAMS \
+	uninstall-binSCRIPTS uninstall-man uninstall-man1
+
+
+.PHONY: srpm
+srpm: dist-bzip2
+	rpmbuild --define '%_srcrpmdir .' -ts $(distdir).tar.bz2
+@MAINTAINER_MODE_TRUE@$(srcdir)/ChangeLog: $(top_srcdir)/gitlog-to-changelog $(srcdir)/Makefile.in \
+@MAINTAINER_MODE_TRUE@		     $(top_srcdir)/.git/refs/heads/*
+@MAINTAINER_MODE_TRUE@	@rm -f $@.new
+@MAINTAINER_MODE_TRUE@	(cd $(top_srcdir); \
+@MAINTAINER_MODE_TRUE@	 ./gitlog-to-changelog --since='$(gen_changelog_start_date)'; \
+@MAINTAINER_MODE_TRUE@	 echo; echo; echo 'See ChangeLog-CVS for older changes.' \
+@MAINTAINER_MODE_TRUE@	) > $@.new
+@MAINTAINER_MODE_TRUE@	chmod 444 $@.new
+@MAINTAINER_MODE_TRUE@	mv -f $@.new $@
+
+@MAINTAINER_MODE_TRUE@export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner --mode=go-w,go+rX
+
+@LINUX_TRUE@@MAINTAINER_MODE_TRUE@$(srcdir)/$(ioctlent_h): ioctlsort
+@LINUX_TRUE@@MAINTAINER_MODE_TRUE@	$(<D)/$(<F) > $@
+@LINUX_TRUE@@MAINTAINER_MODE_TRUE@ioctlsort: $(srcdir)/linux/ioctlsort.c ioctls.h ioctldefs.h
+@LINUX_TRUE@@MAINTAINER_MODE_TRUE@	$(filter-out -I%,$(LINK.c)) -I. -I$(IOCTLDIR) $(filter -I%,$(LINK.c)) \
+@LINUX_TRUE@@MAINTAINER_MODE_TRUE@	  -o $@ $<
+@LINUX_TRUE@@MAINTAINER_MODE_TRUE@ioctls.h: $(srcdir)/linux/ioctlent.sh
+@LINUX_TRUE@@MAINTAINER_MODE_TRUE@	$(SHELL) $< $(IOCTLDIR) $(IOCTLASM)
+@LINUX_TRUE@@MAINTAINER_MODE_TRUE@ioctldefs.h: ioctls.h ;
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/strace-4.5.20/NEWS b/strace-4.5.20/NEWS
new file mode 100644
index 0000000..1628b83
--- /dev/null
+++ b/strace-4.5.20/NEWS
@@ -0,0 +1,328 @@
+Noteworthy changes in release 4.5.20
+====================================
+
+* Improvements
+  * Implemented decoding of new linux syscalls: inotify_init1, recvmmsg.
+  * Implemented basic decoding of new linux syscalls: preadv, pwritev,
+    rt_tgsigqueueinfo, perf_event_open.
+  * Enhanced decoding of recently added syscalls on non-x86 architectures
+    by replacing a bare decoder with elaborate parsers enabled earlier
+    for x86/x86-64.
+  * Implemented -C option to combine regular and -c output.
+    (Addresses Debian bug #466196)
+  * Enhanced decoding of mbind and mremap syscalls.
+  * Enhanced SOL_PACKET socket options decoding.
+  * Regenerated list of ioctl names from linux 2.6.33.
+  * Added TILE architecture support.
+
+* Bug fixes
+  * Fixed build with Linux kernel headers 2.6.32-rc5+.
+    (Addresses Debian bug #560516 and Fedora bug #539044)
+  * Fixed build on mips.
+  * Fixed handling of Linux systems without struct statfs64.
+  * Fixed reporting signal mask by sigreturn on powerpc.
+  * Fixed potential stack buffer overflow in select decoder.
+    (Addresses Fedora bug #556678)
+  * Corrected msgsnd indirect ipccall decoding.
+  * Corrected decoding of 64bit syscalls.
+    (Addresses Debian bug #570603)
+  * Corrected getsockopt decoding on architectures where
+    sizeof(long) > sizeof(int).
+    (Addresses Debian bug #494844)
+  * Corrected decoding of epoll_pwait.
+    (Addresses Debian bug #513014)
+  * Corrected handling of killed threads.
+
+Noteworthy changes in release 4.5.19
+====================================
+
+* Changes in behavior
+  * When command exits, strace now exits with the same exit status.
+    If command is terminated by a signal, strace terminates itself
+    with the same signal, so that strace can be used as a wrapper
+    process transparent to the invoking parent process.
+    When using -p option, the exit status of strace is zero unless
+    there was an unexpected error in doing the tracing.
+    (Addresses Fedora bug #105371 and Debian bug #37665)
+
+* Improvements
+  * Implemented decoding of new Linux syscalls: accept4, dup3,
+    epoll_create1, eventfd2, inotify_init1, pipe2, signalfd4.
+  * Implemented decoding of socket type flags introduced in Linux 2.6.27.
+  * Implemented decoding of accept4 socketcall.
+  * Enhanced prctl decoding.
+  * Enhanced nanosleep decoding.
+  * Enhanced ptrace decoding.
+  * Enhanced futex decoding.
+  * Enhanced CAP_* decoding.
+  * Enhanced SIOCS* ioctls decoding.
+  * Enhanced fcntl F_* flags decoding.
+  * Enhanced semop/semtimedop decoding.
+  * Updated ARM architecture support.
+  * Added Blackfin architecture support.
+  * Added AVR32 architecture support.
+  * Added CRIS architecture support.
+  * Made strace detect when traced process suddenly disappeared.
+
+* Bug fixes
+  * Fixed syscall numbers for tee and sync_file_range.
+    (Addresses Debian bug #503124)
+  * Fixed several bugs in strings decoder, including potential heap
+    memory corruption.
+    (Addresses Fedora bugs #470529, #478324 and #511035)
+  * Marked sendfile(2) as a network syscall.
+    (Addresses Debian bug #509499)
+  * Fixed accept(2) decoding.
+    (Addresses Debian bug #507573)
+  * Fixed sigtimedwait(2) decoding.
+  * Fixed build on ARM EABI.
+    (Addresses Debian bugs #520084 and #535564, and Fedora bug #507576)
+  * Fixed display of 32-bit fcntl(F_SETLK) on 64-bit architectures.
+    (Addresses Red Hat bug #471169)
+  * Fixed display of 32-bit argv array on 64-bit architectures.
+    (Addresses Fedora bug #519480)
+  * Fixed display of 32-bit struct sigaction on 64-bit architectures.
+  * Fixed HPPA architecture support.
+    (Addresses Debian bugs #437928 and #546619)
+
+Changes in 4.5.18
+==============
+* Bug fixes.
+* Support new Linux/PPC system call subpage_prot and PROT_SAO flag.
+* In sigaction system call, display sa_flags value along with SIG_DFL/SIG_IGN.
+
+Changes in 4.5.17
+==============
+* Many bug fixes.
+* -F is now deprecated, -f has traced vfork too on Linux for a long time now.
+* Print O_CLOEXEC, MSG_CMSG_CLOEXEC flag bits.
+* Improved output for prctl system call on Linux.
+* Improved support for Linux/ARM.
+* SA_NOMASK is now spelled SA_NODEFER, and SA_ONESHOT is spelled SA_RESETHAND.
+
+Changes in 4.5.16
+==============
+* Bug fixes.
+* Improved output for delete_module, futex, and mbind system calls on Linux.
+* Improved output for SG_IO ioctls on Linux.
+* Support new Linux system calls move_pages, utimensat, signalfd, timerfd,
+  eventfd, getcpu, epoll_pwait.
+
+Changes in 4.5.15
+==============
+* Bug fixes.
+* Several biarch improvements.
+* Improved output for adjtimex, sysctl, quotactl, mount, umount.
+* Support new Linux system calls *at, inotify*, pselect6, ppoll and unshare.
+
+Changes in 4.5.14
+==============
+* Bug fixes.
+* Accept numeric system calls in -e.
+
+Changes in 4.5.13
+==============
+* Bug fixes.
+* Introduce "-e trace=desc".
+
+Changes in 4.5.12
+==============
+* Bug fixes.
+* Better x86-64 support for IA32 processes.
+* Update PowerPC system calls.
+* Better printing for Linux aio system calls.
+
+Changes in 4.5.11
+==============
+* Quick fix release for build issues.
+* One fix for Linux/ARM system call table.
+
+Changes in 4.5.10
+==============
+* Bug fixes.
+* Print fault address for SIGSEGV/SIGBUS signals when available.
+
+Changes in 4.5.9
+==============
+* Bug fixes.
+* Improve socket ioctl printing.
+* Update Linux/IA64 syscall list.
+* Fix Linux/x86-64 syscall argument extraction for 32-bit processes.
+* Improve mount flags printing.
+* Support symbolic printing of x86_64 arch_prctl parameters.
+
+Changes in 4.5.8
+==============
+* Bug fixes.
+* Update syscall tables for Alpha, ARM, HPPA.
+* Support new Linux syscalls mbind, set_mempolicy, get_mempolicy, waitid.
+* Support Linux syscalls fadvise64, fadvise64_64, and epoll_*.
+* Improve ioctl command name matching.
+* Print RTC_* ioctl structure contents.
+* Support newer RLIMIT_* values.
+* Print struct cmsghdr details in sendmsg.
+
+Changes in 4.5.7
+==============
+* Bug fixes.
+* Print attribute values in *xattr system calls on Linux.
+* Include pread and pwrite calls in -e read and -e write tracing.
+* Update SO_* and IP_* value lists and add IPV6_* values for socket options.
+* Print clock_t values symbolically in Linux clock_* system calls.
+
+Changes in 4.5.6
+==============
+* Bug fixes, Linux ioctl updates.
+* David Miller contributed support for Linux/SPARC64.
+
+Changes in 4.5.5
+==============
+* Just bug fixes.
+
+Changes in 4.5.4
+==============
+* Update Linux ioctl lists.
+* Update PF_* and AF_* value lists.
+* The 4.5.3 -p behavior for NPTL threads applies only under -f, and got fixed.
+
+Changes in 4.5.3
+==============
+* Bug fixes.
+* On Linux using NPTL threads, -p will now attach to all threads in a process.
+* Handle new mq_* system calls in Linux 2.6.6 and later.
+
+Changes in 4.5.2
+==============
+* Bug fixes.
+* Report some new VM_* bit values on Linux.
+* Better output for Linux sched_* system calls.
+
+Changes in 4.5.1
+==============
+* Bug fixes.
+* Display multiple ioctl name matches on Linux.
+
+Changes in 4.5
+==============
+* New port to AMD's x86-64 architecture. One strace binary can
+  handle both new x86-64 and old i386 processes.
+* Fixed support for LFS64 calls.
+* New switch -E to add/remove environment variables for the command.
+* Merged s390/s390x port.
+* Trace an unbounded number of processes.
+* Handle numerous new system calls in Linux 2.5, and new threads semantics.
+* Fixed bugs with attach/detach leaving things stopped.
+* Fixed traced process seeing ECHILD despite live, traced children
+  in waitpid calls with WNOHANG.
+* Stuart Menefy contributed a port to Linux/SH.
+* Stephen Thomas contributed a port to Linux/SH64.
+* Many other bug fixes.
+
+Changes in 4.4
+==============
+* Fix Linux/ia64 support, looks like someone renamed a few things on us
+* Fix the ioctl setup for Linux, turned out it did not really work.
+  Improve the ioctl extracter as well so we decode some more ones.
+
+Changes in 4.3.1
+================
+* compile fixes for Linux/mips
+
+Changes in 4.3
+==============
+* Linux ia64 and hppa ports added
+* The usual Linux syscall updates (includes 32bit uid/gid support),
+* Linux ioctl list updated
+* Support IPv6 scope ids
+* FreeBSD/i386 port added
+* UnixWare and Solaris updates
+* Better support for tracing multithreaded processes in Linux
+
+Changes in 4.2
+==============
+* Compiles on glibc2.0 systems again
+* Linux/S390 port added
+* The usual Linux syscall updates
+* we can follow fork on arm now
+
+Changes in 4.1
+================
+* Linux/MIPS port added
+* Lots of Linux updates again
+* Improved IPv6 support
+* Add strace-graph
+
+Changes in 4.0.1
+================
+* Minor bugfixes
+* Compiles on glibc2.0 systems again
+
+Changes in 4.0
+==============
+* Get stat structure properly on Linux 64bit archs
+* Personalities work again
+* Compile correctly on SunOS again
+* IRIX64 updates
+* Solaris updates
+
+Changes in 3.99.1
+=================
+* Linux (ultra)sparc fixes
+* Linux alpha fixes
+* Minor cleanups
+
+Changes in 3.99
+===============
+* New maintainer
+* add support for more Linux architectures (powerpc, sparc, arm)
+* support lots more Linux syscalls
+* fix signal handling
+* add IPX and IPIP support
+* check stray syscall after execv
+* fix hanging children
+
+Changes in version 3.1
+======================
+
+* Irix5 is supported
+* Linux 68k is supported
+* Linux alpha is supported
+* configure is upgraded to autoconf 2.x
+* using -f in combination with -e now works correctly
+* output can be piped to a program
+* tracing setuid programs works better
+* it is now reasonable to install strace setuid to root in some circumstances
+* new useful tracing names like file and process to trace whole
+  classes of system calls, e.g. -efile traces all system calls that
+  take a file name as an argument
+* IPC calls on SunOS 4.1.x are decoded
+* Linux program memory is reliably dereferenced
+* Linux decodes at least the name of all syscalls as of pre2.0.4
+* various cosmetic changes and bug fixes
+
+Changes from versions 2.x to version 3.0
+========================================
+
+* filename arguments are neither abbreviated nor stringified
+* string arguments are now true C strings using octal instead of hex by default
+* preprocessor constants are never shortened (e.g. was RDONLY => now O_RDONLY)
+* by default the output for multiple processes now goes into one file
+* all structures, vectors, bitsets, etc. use consistent output formats
+* the -c option now means count calls, -i does what the old -c used to do
+
+New Features in version 3.0
+===========================
+
+* non-ascii strings can be optionally printed entirely in hex
+* the output format is readable when mutiple processes are generating output
+* exit values are printed in an alignment column
+* is is possible to suppress messages about attaching and detaching
+* various tracing features can be enabled on a per syscall/signal/desc basis
+* selective tracing of syscalls
+* selective printing of syscall structures
+* selective abbreviation of long structures on a per syscall basis
+* selective printing of raw syscall arguments and results
+* selective tracing of signals
+* selective dumping of all I/O read from file descriptors
+* selective dumping of all I/O written to file descriptors
+* optional counting of time, calls, and errors for each syscall
diff --git a/strace-4.5.20/PORTING b/strace-4.5.20/PORTING
new file mode 100644
index 0000000..aef4ce4
--- /dev/null
+++ b/strace-4.5.20/PORTING
@@ -0,0 +1,70 @@
+I am frequently asked to port strace to a given platform.  Less
+frequently I am asked how one would go about porting strace to a given
+platform. :-) Since I have ported strace to a few platforms already I
+have some advice to the would-be strace porter.
+
+The number one question is ``Does the native operating support a
+concept which enables even the mere possibility of tracing?''.  So far
+I have seen two mechanisms which support system call tracing.  They
+are the SunOS originated feature of the PTRACE_SYSCALL argument to the
+ptrace system call and the PIOCSENTRY/PIOCSEXIT ioctl for the /proc
+filesystem under System V release 4 style Unix derived systems.  There
+may be others (surely a better one could be devised :-) but innovation
+is a rare commodity so unless one of these is supported you may be
+SOL.
+
+Therefore the first step is to try `man 2 ptrace' and `man 4 proc' to
+see if there is even a glimmer of hope.  Without assistance from the
+operating system, system call tracing is a lost cause.  If there is a
+native system call tracing program (however pathetic it might be :-),
+you may be able to use it to trace itself to determine what mechanism
+it is using for tracing the system calls of another process.  If the
+interface is documented you should be a happy camper.  Otherwise,
+unless you can tolerate the thought of many thankless hours
+single-stepping in a debugger with little or nothing to show for it,
+you should consider other tasks to distract you from your friends,
+family, education, job, spouse and/or significant other.
+
+If you have arrived here, your OS should have ptrace or proc or you
+should have a high tolerance for pain.  Then again, curious but
+detached readers are invited to continue with little to risk but
+boredom.  If the mechanism is neither ptrace nor proc then examine how
+it is intended to work and see how well it fits with what strace
+already does.  If it fits, fine, add a few more ifdefs.  If there is a
+gross mismatch, write a whole new event loop.
+
+At this point you are responsible for determining three things: how is
+the specific system call communicated, how are system call arguments
+handled, and how is errno handled.  These things can usually be
+resolved in a day or two using a decent assembly level debugger and
+some educated guesswork.  For example, set a breakpoint on `read'.
+Then disassemble the code and see where the arguments go.  Do they go
+on the stack?  Do they go into registers?  Some combination of the
+two?  Find the point where the transition from user mode to kernel
+mode is made.  Can you identify the arguments at this point?  When the
+call returns where does errno go?  Into a specific register?  Into a
+global variable?
+
+Next you need to determine how to decode numeric system call numbers
+into system call names (syscallent.h), errno values into errno names
+(errnoent.h) and ioctl values into ioctl names (ioctlent.h).  Often
+this fragile step can be accomplished by massaging system header files
+with ad hoc shell scripts.  Expect your scripts to break with every
+dot rev of each OS release.
+
+Finally, once you have the basic framework in which system calls and
+their arguments can be decoded, you must do the dirty work of decoding
+every useful call.  Some may be similar or identical to like-named
+calls in other operating systems.  Go ahead and tweak what is there
+to achieve what you want.  If there is more difference than similarity,
+then just write your own version of it using one of the existing
+implementations for ideas.
+
+The first order of decoding is the generation of suitable system call,
+errno, ioctl and signal tables.  Sample scripts are included to assist
+with the generation of a first pass at these tables.
+
+Good luck and feel free to contact me before and/or during any major
+project.
+
+Rick Sladkey <jrs@world.std.com>
diff --git a/strace-4.5.20/README b/strace-4.5.20/README
new file mode 100644
index 0000000..51490cb
--- /dev/null
+++ b/strace-4.5.20/README
@@ -0,0 +1,31 @@
+This is strace 4.0, a system call tracer for SunOS 4.x, Linux, System
+V release 4, Solaris 2.x and Irix 5.x.  strace is released under a
+Berkeley-style license at the request of Paul Kranenburg; see the file
+COPYRIGHT for details.
+
+Read the INSTALL file for generic instructions on how to install
+strace.  If configure cannot guess your system configuration, you can
+specify it on the command line after the other options like this:
+
+	./configure --prefix=/usr i486-linux
+
+A single sunos4.1 binary should work on all the sun4, sun4c and sun4m
+kernel architectures.  Let me know if sun4d doesn't work.  Other
+i486-*-sysv4 systems may work with little or no tweaking.
+
+See the file NEWS for information on what has changed in recent
+versions.
+
+See the file PORTING if you like strace but it doesn't work on an
+operating system you use frequently.
+
+See the file CREDITS to see who has contributed to strace.
+
+See the file TODO if you feel like helping out.
+
+You can get the latest version of strace from its homepage at
+http://sourceforge.net/projects/strace/ .
+
+Please send bug reports and enhancements to the strace
+mailinglist at strace-devel@lists.sourceforge.net, or directly to
+Wichert Akkerman <wakkerma@debian.org>
diff --git a/strace-4.5.20/README-freebsd b/strace-4.5.20/README-freebsd
new file mode 100644
index 0000000..ef9bd3b
--- /dev/null
+++ b/strace-4.5.20/README-freebsd
@@ -0,0 +1,26 @@
+Here's a preliminary port of strace to FreeBSD.
+
+Here are some notes about it :
+
+- This couldn't have been done without the sources of the truss
+  utility by Sean Eric Fagan, which were of great help.
+
+- The tracing mecanism used by FreeBD is a lot like the SVR4 one, so
+  this port shares a lot of code with the SVR4 port, including the
+  akward event loop when tracing multiple processes.
+
+- This works for i386 binaries, although support for alpha processor
+  should be quite straight forward, but I do not have an alpha to
+  test it on.
+
+- Tracing linux binaries is not supported yet, but should be possible
+  with some work.
+
+- There are some issues with following forks, and only a few FreeBSD
+  specific syscalls are decoded right now.
+
+- This was tested on FreeBSD 4.0. I believe the tracing interface is
+  present since at least FreeBSD 3.0, so it "should" work on all
+  latest releases. I have no idea for other BSDs, though.
+
+Gaël Roualland <gael.roualland@iname.com>
diff --git a/strace-4.5.20/README-linux b/strace-4.5.20/README-linux
new file mode 100644
index 0000000..62df258
--- /dev/null
+++ b/strace-4.5.20/README-linux
@@ -0,0 +1,31 @@
+
+Strace has been ported by Branko Lankester <branko@hacktic.nl>
+to run on Linux systems.  Since then it has been greatly modified
+by various other people.
+
+If you want to compile strace on a Linux system please make sure that
+you use recent kernel headers. Strace needs those to get the proper data
+structures and constatns used by the kernel, since these can be
+different from the structures that the C library uses. Currently you
+will need at least a 2.2.7 or newer kernel.
+
+To complicate things a bit further strace might not compile if you are
+using development kernels. These tend to have headers that conflict with
+the headers from libc which makes it impossible to use them.
+
+There are three ways to compile strace with other kernel headers:
+* Specify the location in CFLAGS when running configure
+
+     CFLAGS=-I/usr/src/linux/include ./configure
+
+* you can tell make where your kernel sources are. For example if you
+  have your kernelsource in /usr/src/linux, you can invoke make like
+  this:
+
+     make CFLAGS="\$CFLAGS -I/usr/src/linux/include"
+
+  (the extra \$CFLAGS is there to make sure we don't override any CFLAGS
+  settings that configure has found).
+
+* you can link /usr/include/linux and /usr/include/asm to the
+  corresponding directories in your kernel source-tree.
diff --git a/strace-4.5.20/README-sunos4 b/strace-4.5.20/README-sunos4
new file mode 100644
index 0000000..1fa8ae2
--- /dev/null
+++ b/strace-4.5.20/README-sunos4
@@ -0,0 +1,85 @@
+========================================================================
+This is the unmodified README from Paul Kranenburg's release of strace
+for SunOS 4.1.x.  Some of the notes and instructions are no longer valid
+however the file has been retained for its historical value. -- jrs
+========================================================================
+
+/*
+ * @(#)README	2.4 92/01/21
+ *
+ * Copyright (C) 1991 Paul Kranenburg.
+ *
+ * Please send comments, enhancements or any other useful ideas to
+ * the address at the end of this file.
+ *
+ */
+
+strace(1) is a system call tracer for Sun(tm) systems much like the
+Sun supplied program trace(1). strace(1) is a useful utility to sort
+of debug programs for which no source is available which unfortunately
+includes almost all of the Sun supplied system software.
+
+Like trace(1), strace displays each system call and its arguments as it
+is invoked by the traced process, but tries to do a better job of
+decoding the arguments, displaying them in symbolic format whenever
+possible. Passed structures/character arrays are read from the process'
+address space and displayed in an appropriate format.
+
+It is also possible to instruct strace to trace child processes as
+they are created by the fork(2) system call. However, this is slightly
+involved for two reasons: 1) the trace flag is cleared in the child
+process by the fork system call, so we must make a special effort to
+gain control of the child (see NOTES below), 2) our tracing manipulations
+of the child may interfere with a possible wait(2) system call executed
+by the (also traced) parent process. In this case we don't allow the parent
+to continue until one of its children enters a state that may cause the
+parent's wait(2) call to return.
+
+
+NOTES.
+
+o	Not all system calls have been implemented yet as described
+	above (see dummy.h for a list), these calls only have their args
+	displayed as hex numbers.
+
+o	The program draws heavily on Sun's extensions to the ptrace(2)
+	system call.
+
+o	This release is based upon SunOS 4.1.1. The syscall list (syscall.h)
+	and ioctl's (ioctlent.m4) are probably most critically dependant
+	on the OS version (see also /sys/os/init_sysent.c).
+	You may have to edit `ioctlsort.c' and/or `ioctlent.m4' to get
+	`ioctlsort.c' to compile with your suite of system header files.
+
+o	The way in which child processes are caught and attached to after
+	the fork() call is Sparc-specific (in fact it has the looks of a
+	terrible hack). Also, this trick won't work with vfork(2).
+	Enhancements are sollicited for.
+
+o	Dynamically linked executables can be convinced to use the fork(2)
+	system call in stead of vfork(2) by modifying their (internal)
+	symbol table immediately after such a program is exec'ed. Be
+	warned that programs which depend on vfork's peculiar semantics
+	may not run as expected. Enable by the `-F' switch.
+
+
+INSTALLATION.
+
+	Edit the paths in the Makefile to suit your local system.
+	Enter the usual make commands (`make debug' to enable the
+	compiler `-g' flag).
+
+	Not all sites have a complete set of include files, depending
+	on the selected software categories at OS install time. The
+	makefile tries to detect the presence of the Sunview category,
+	if other files are missing you may have to edit `ioctlent.h'.
+
+
+COMMENTS TO:
+
+	P. Kranenburg
+	Department of Computer Science
+	Erasmus University Rotterdam
+	P.O. Box 1738
+	NL-3000 DR Rotterdam
+	e-mail: pk@cs.few.eur.nl
diff --git a/strace-4.5.20/README-svr4 b/strace-4.5.20/README-svr4
new file mode 100644
index 0000000..387d24d
--- /dev/null
+++ b/strace-4.5.20/README-svr4
@@ -0,0 +1,21 @@
+Even though SVR4 has truss, you may prefer using strace for a number
+of reasons.  Not the least of which are portability and source code.
+
+The main event loop is awkward on systems for which procfs isn't
+pollable.  I think a pollable procfs is a Solaris invention so most SVR4
+systems have this weakness.  On Solaris, strace runs as a single
+controlling process.  This is a big improvement if you are debugging a
+lot of processes at once.
+
+There is no thread support but it wouldn't be very difficult to add it.
+
+On UnixWare using the -f option to follow forked children sometimes shows
+many "unfinished" system calls as strace bounces between each runnable child.
+A crude workaround for this is available by adding
+
+    #define POLL_HACK 1
+
+to the config.h file.  This forces strace to check whether the last process
+has finished a system call before polling other processes for events.
+
+Wichert Akkerman <wakkerma@debian.org>
diff --git a/strace-4.5.20/TODO b/strace-4.5.20/TODO
new file mode 100644
index 0000000..1d6a8e8
--- /dev/null
+++ b/strace-4.5.20/TODO
@@ -0,0 +1,32 @@
+-- new entries from wta
+* clone doesn't work; cloned processes can hang
+* partially done: finish up change_syscall using new setargs
+* do setargs for non-ia64
+* generate syscallent.h from the kernel sources (asm/unistd.h)
+* update linux/sparc syscall entries; Linux messed things up by overriding
+  all kinds of SunOS entries
+* synchronize linux/**/syscallent.h, number of arguments for a syscal isn't
+  consistent across different architectures
+
+-- old entries from jrs
+attempt reopen of /proc file if we get EAGAIN from any /proc ioctl
+kill procs we error out of on svr4
+enclose "total x dents" in a comment
+declare gettimeofday and pread for solaris2
+update automatic remaking of autoconf targets
+I don't like run on last close, change it?
+parse long options?
+count signals too with -c
+treat attach, detach messages like signals
+add pread, pwrite to I/O dumping
+add system assist for qualifiers on svr4
+change printcall to getcaller and fix for linux and svr4
+fix fork hang for svr4 without pollable procfs
+print events on entry to and revents on exit from poll
+monitor procfs open and release the other child if the process wants to own it
+fix incorrect syscall number if exit without entry on svr4 without pr_syscall
+fix clean targets so config.h and config.status can be removed
+ignore faults which occur before exec
+look for more ioctls on solaris, used in nslookup for example
+consider adding backtrace support
+consider adding general purpose interpreter
diff --git a/strace-4.5.20/acinclude.m4 b/strace-4.5.20/acinclude.m4
new file mode 100644
index 0000000..da66c64
--- /dev/null
+++ b/strace-4.5.20/acinclude.m4
@@ -0,0 +1,299 @@
+dnl
+dnl This file contains macros used in configure.ac.
+dnl automake uses this file to generate aclocal.m4, which is used by autoconf.
+dnl
+
+dnl ### A macro to find the include directory, useful for cross-compiling.
+AC_DEFUN([AC_INCLUDEDIR],
+[AC_REQUIRE([AC_PROG_AWK])dnl
+AC_SUBST(includedir)
+AC_MSG_CHECKING(for primary include directory)
+includedir=/usr/include
+if test -n "$GCC"
+then
+	>conftest.c
+	new_includedir=`
+		$CC -v -E conftest.c 2>&1 | $AWK '
+			/^End of search list/ { print last; exit }
+			{ last = [$]1 }
+		'
+	`
+	rm -f conftest.c
+	if test -n "$new_includedir" && test -d "$new_includedir"
+	then
+		includedir=$new_includedir
+	fi
+fi
+AC_MSG_RESULT($includedir)
+])
+
+dnl ### A macro to set gcc warning flags.
+define(AC_WARNFLAGS,
+[AC_SUBST(WARNFLAGS)
+if test -z "$WARNFLAGS"
+then
+	if test -n "$GCC"
+	then
+		# If we're using gcc we want warning flags.
+		WARNFLAGS=-Wall
+	fi
+fi
+])
+
+dnl ### A macro to determine if we have a "MP" type procfs
+AC_DEFUN([AC_MP_PROCFS],
+[AC_MSG_CHECKING(for MP procfs)
+AC_CACHE_VAL(ac_cv_mp_procfs,
+[AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#include <stdio.h>
+#include <signal.h>
+#include <sys/procfs.h>
+
+main()
+{
+	int pid;
+	char proc[32];
+	FILE *ctl;
+	FILE *status;
+	int cmd;
+	struct pstatus pstatus;
+
+	if ((pid = fork()) == 0) {
+		pause();
+		exit(0);
+	}
+	sprintf(proc, "/proc/%d/ctl", pid);
+	if ((ctl = fopen(proc, "w")) == NULL)
+		goto fail;
+	sprintf(proc, "/proc/%d/status", pid);
+	if ((status = fopen (proc, "r")) == NULL)
+		goto fail;
+	cmd = PCSTOP;
+	if (write (fileno (ctl), &cmd, sizeof cmd) < 0)
+		goto fail;
+	if (read (fileno (status), &pstatus, sizeof pstatus) < 0)
+		goto fail;
+	kill(pid, SIGKILL);
+	exit(0);
+fail:
+	kill(pid, SIGKILL);
+	exit(1);
+}
+]])],[ac_cv_mp_procfs=yes],[ac_cv_mp_procfs=no],[
+# Guess or punt.
+case "$host_os" in
+svr4.2*|svr5*)
+	ac_cv_mp_procfs=yes
+	;;
+*)
+	ac_cv_mp_procfs=no
+	;;
+esac
+])])
+AC_MSG_RESULT($ac_cv_mp_procfs)
+if test "$ac_cv_mp_procfs" = yes
+then
+	AC_DEFINE([HAVE_MP_PROCFS], 1,
+[Define if you have a SVR4 MP type procfs.
+I.E. /dev/xxx/ctl, /dev/xxx/status.
+Also implies that you have the pr_lwp member in prstatus.])
+fi
+])
+
+dnl ### A macro to determine if procfs is pollable.
+AC_DEFUN([AC_POLLABLE_PROCFS],
+[AC_MSG_CHECKING(for pollable procfs)
+AC_CACHE_VAL(ac_cv_pollable_procfs,
+[AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#include <stdio.h>
+#include <signal.h>
+#include <sys/procfs.h>
+#include <sys/stropts.h>
+#include <poll.h>
+
+#ifdef HAVE_MP_PROCFS
+#define PIOCSTOP	PCSTOP
+#define POLLWANT	POLLWRNORM
+#define PROC		"/proc/%d/ctl"
+#define PROC_MODE	"w"
+int IOCTL (int fd, int cmd, int arg) {
+	return write (fd, &cmd, sizeof cmd);
+}
+#else
+#define POLLWANT	POLLPRI
+#define	PROC		"/proc/%d"
+#define PROC_MODE	"r+"
+#define IOCTL		ioctl
+#endif
+
+main()
+{
+	int pid;
+	char proc[32];
+	FILE *pfp;
+	struct pollfd pfd;
+
+	if ((pid = fork()) == 0) {
+		pause();
+		exit(0);
+	}
+	sprintf(proc, PROC, pid);
+	if ((pfp = fopen(proc, PROC_MODE)) == NULL)
+		goto fail;
+	if (IOCTL(fileno(pfp), PIOCSTOP, NULL) < 0)
+		goto fail;
+	pfd.fd = fileno(pfp);
+	pfd.events = POLLWANT;
+	if (poll(&pfd, 1, 0) < 0)
+		goto fail;
+	if (!(pfd.revents & POLLWANT))
+		goto fail;
+	kill(pid, SIGKILL);
+	exit(0);
+fail:
+	kill(pid, SIGKILL);
+	exit(1);
+}
+]])],[ac_cv_pollable_procfs=yes],[ac_cv_pollable_procfs=no],[
+# Guess or punt.
+case "$host_os" in
+solaris2*|irix5*|svr4.2uw*|svr5*)
+	ac_cv_pollable_procfs=yes
+	;;
+*)
+	ac_cv_pollable_procfs=no
+	;;
+esac
+])])
+AC_MSG_RESULT($ac_cv_pollable_procfs)
+if test "$ac_cv_pollable_procfs" = yes
+then
+	AC_DEFINE([HAVE_POLLABLE_PROCFS], 1,
+[Define if you have SVR4 and the poll system call works on /proc files.])
+fi
+])
+
+dnl ### A macro to determine if the prstatus structure has a pr_syscall member.
+AC_DEFUN([AC_STRUCT_PR_SYSCALL],
+[AC_MSG_CHECKING(for pr_syscall in struct prstatus)
+AC_CACHE_VAL(ac_cv_struct_pr_syscall,
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/procfs.h>]], [[#ifdef HAVE_MP_PROCFS
+pstatus_t s;
+s.pr_lwp.pr_syscall
+#else
+prstatus_t s;
+s.pr_syscall
+#endif]])],[ac_cv_struct_pr_syscall=yes],[ac_cv_struct_pr_syscall=no])])
+AC_MSG_RESULT($ac_cv_struct_pr_syscall)
+if test "$ac_cv_struct_pr_syscall" = yes
+then
+	AC_DEFINE([HAVE_PR_SYSCALL], 1,
+[Define if the prstatus structure in sys/procfs.h has a pr_syscall member.])
+fi
+])
+
+dnl ### A macro to determine whether stat64 is defined.
+AC_DEFUN([AC_STAT64],
+[AC_MSG_CHECKING(for stat64 in (asm|sys)/stat.h)
+AC_CACHE_VAL(ac_cv_type_stat64,
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
+#ifdef LINUX
+#include <linux/types.h>
+#include <asm/stat.h>
+#else
+#include <sys/stat.h>
+#endif]], [[struct stat64 st;]])],[ac_cv_type_stat64=yes],[ac_cv_type_stat64=no])])
+AC_MSG_RESULT($ac_cv_type_stat64)
+if test "$ac_cv_type_stat64" = yes
+then
+	AC_DEFINE([HAVE_STAT64], 1,
+[Define if stat64 is available in asm/stat.h.])
+fi
+])
+
+dnl ### A macro to determine whether statfs64 is defined.
+AC_DEFUN([AC_STATFS64],
+[AC_MSG_CHECKING(for statfs64 in sys/vfs.h)
+AC_CACHE_VAL(ac_cv_type_statfs64,
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef LINUX
+#include <linux/types.h>
+#include <sys/vfs.h>
+#endif]], [[struct statfs64 st;]])],[ac_cv_type_statfs64=yes],[ac_cv_type_statfs64=no])])
+AC_MSG_RESULT($ac_cv_type_statfs64)
+if test "$ac_cv_type_statfs64" = yes
+then
+	AC_DEFINE([HAVE_STATFS64], 1,
+[Define if statfs64 is available in sys/vfs.h.])
+fi
+])
+
+
+dnl ### A macro to determine if off_t is a long long
+AC_DEFUN([AC_OFF_T_IS_LONG_LONG],
+[AC_MSG_CHECKING(for long long off_t)
+AC_CACHE_VAL(ac_cv_have_long_long_off_t,
+[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <sys/types.h>
+main () {
+	if (sizeof (off_t) == sizeof (long long) &&
+	    sizeof (off_t) > sizeof (long))
+	    return 0;
+	return 1;
+}
+]])],[ac_cv_have_long_long_off_t=yes],[ac_cv_have_long_long_off_t=no],[# Should try to guess here
+ac_cv_have_long_long_off_t=no
+])])
+AC_MSG_RESULT($ac_cv_have_long_long_off_t)
+if test "$ac_cv_have_long_long_off_t" = yes
+then
+	AC_DEFINE([HAVE_LONG_LONG_OFF_T], 1, [Define if off_t is a long long.])
+fi
+])
+
+dnl ### A macro to determine if rlim_t is a long long
+AC_DEFUN([AC_RLIM_T_IS_LONG_LONG],
+[AC_MSG_CHECKING(for long long rlim_t)
+AC_CACHE_VAL(ac_cv_have_long_long_rlim_t,
+[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+main () {
+	if (sizeof (rlim_t) == sizeof (long long) &&
+	    sizeof (rlim_t) > sizeof (long))
+	    return 0;
+	return 1;
+}
+]])],[ac_cv_have_long_long_rlim_t=yes],[ac_cv_have_long_long_rlim_t=no],[# Should try to guess here
+ac_cv_have_long_long_rlim_t=no
+])])
+AC_MSG_RESULT($ac_cv_have_long_long_rlim_t)
+if test "$ac_cv_have_long_long_rlim_t" = yes
+then
+	AC_DEFINE([HAVE_LONG_LONG_RLIM_T], 1, [Define if rlim_t is a long long.])
+fi
+])
+
+dnl ### A macro to determine endianness of long long
+AC_DEFUN([AC_LITTLE_ENDIAN_LONG_LONG],
+[AC_MSG_CHECKING(for little endian long long)
+AC_CACHE_VAL(ac_cv_have_little_endian_long_long,
+[AC_RUN_IFELSE([AC_LANG_SOURCE([[
+int main () {
+	union {
+		long long ll;
+		long l [2];
+	} u;
+	u.ll = 0x12345678;
+	if (u.l[0] == 0x12345678)
+		return 0;
+	return 1;
+}
+]])],[ac_cv_have_little_endian_long_long=yes],[ac_cv_have_little_endian_long_long=no],[# Should try to guess here
+ac_cv_have_little_endian_long_long=no
+])])
+AC_MSG_RESULT($ac_cv_have_little_endian_long_long)
+if test "$ac_cv_have_little_endian_long_long" = yes
+then
+	AC_DEFINE([HAVE_LITTLE_ENDIAN_LONG_LONG], 1,
+[Define if long long is little-endian.])
+fi
+])
diff --git a/strace-4.5.20/aclocal.m4 b/strace-4.5.20/aclocal.m4
new file mode 100644
index 0000000..68578ce
--- /dev/null
+++ b/strace-4.5.20/aclocal.m4
@@ -0,0 +1,1007 @@
+# generated automatically by aclocal 1.11.1a -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
+[m4_warning([this file was generated for autoconf 2.65.
+You have another version of autoconf.  It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.11'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version.  Point them to the right macro.
+m4_if([$1], [1.11.1a], [],
+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too.  Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.11.1a])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 9
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
+# 2010  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 11
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                   [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  am__universal=false
+  m4_case([$1], [CC],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac],
+    [CXX],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac])
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+  am__nodep='_no'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
+])
+
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 5
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named `Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`AS_DIRNAME("$mf")`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running `make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # When using ansi2knr, U may be empty or an underscore; expand it
+    U=`sed -n 's/^U = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`AS_DIRNAME(["$file"])`
+      AS_MKDIR_P([$dirpart/$fdir])
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
+  done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 16
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.62])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+			     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+		  [_AM_DEPENDENCIES(CC)],
+		  [define([AC_PROG_CC],
+			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+		  [_AM_DEPENDENCIES(CXX)],
+		  [define([AC_PROG_CXX],
+			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+		  [_AM_DEPENDENCIES(OBJC)],
+		  [define([AC_PROG_OBJC],
+			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+])
+
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $_am_arg | $_am_arg:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless `enable' is passed literally.
+# For symmetry, `disable' may be passed as well.  Anyway, the user
+# can override the default with the --enable/--disable switch.
+AC_DEFUN([AM_MAINTAINER_MODE],
+[m4_case(m4_default([$1], [disable]),
+       [enable], [m4_define([am_maintainer_other], [disable])],
+       [disable], [m4_define([am_maintainer_other], [enable])],
+       [m4_define([am_maintainer_other], [enable])
+        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+  AC_ARG_ENABLE([maintainer-mode],
+[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer],
+      [USE_MAINTAINER_MODE=$enableval],
+      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
+  MAINT=$MAINTAINER_MODE_TRUE
+  AC_SUBST([MAINT])dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Check to see how 'make' treats includes.	            -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 6
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+  [[\\/$]]* | ?:[[\\/]]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[[\\\"\#\$\&\'\`$am_lf]]*)
+    AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
+    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t "$srcdir/configure" conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([acinclude.m4])
diff --git a/strace-4.5.20/bjm.c b/strace-4.5.20/bjm.c
new file mode 100644
index 0000000..6c948d5
--- /dev/null
+++ b/strace-4.5.20/bjm.c
@@ -0,0 +1,213 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+#include "defs.h"
+
+#if defined(LINUX)
+
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/wait.h>
+#include <sys/resource.h>
+#include <sys/utsname.h>
+#include <sys/user.h>
+#include <sys/syscall.h>
+#include <signal.h>
+
+/* Bits of module.flags.  */
+
+#define MOD_UNINITIALIZED	0
+#define MOD_RUNNING		1
+#define MOD_DELETED		2
+#define MOD_AUTOCLEAN		4
+#define MOD_VISITED  		8
+#define MOD_USED_ONCE		16
+#define MOD_JUST_FREED		32
+#define MOD_INITIALIZING	64
+
+/* Values for query_module's which.  */
+
+#define QM_MODULES	1
+#define QM_DEPS		2
+#define QM_REFS		3
+#define QM_SYMBOLS	4
+#define QM_INFO		5
+
+struct module_symbol
+{
+	unsigned long value;
+	const char *name;
+};
+
+struct module_info
+{
+	unsigned long addr;
+	unsigned long size;
+	unsigned long flags;
+	long usecount;
+};
+
+static const struct xlat which[] = {
+	{ 0,		"0"		},
+	{ QM_MODULES,	"QM_MODULES"	},
+	{ QM_DEPS,	"QM_DEPS"	},
+	{ QM_REFS,	"QM_REFS"	},
+	{ QM_SYMBOLS,	"QM_SYMBOLS"	},
+	{ QM_INFO,	"QM_INFO"	},
+	{ 0,		NULL		},
+};
+
+static const struct xlat modflags[] = {
+	{ MOD_UNINITIALIZED,	"MOD_UNINITIALIZED"	},
+	{ MOD_RUNNING,		"MOD_RUNNING"		},
+	{ MOD_DELETED,		"MOD_DELETED"		},
+	{ MOD_AUTOCLEAN,	"MOD_AUTOCLEAN"		},
+	{ MOD_VISITED,		"MOD_VISITED"		},
+	{ MOD_USED_ONCE,	"MOD_USED_ONCE"		},
+	{ MOD_JUST_FREED,	"MOD_JUST_FREED"	},
+	{ 0,			NULL			},
+};
+
+int
+sys_query_module(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printstr(tcp, tcp->u_arg[0], -1);
+		tprintf(", ");
+		printxval(which, tcp->u_arg[1], "QM_???");
+		tprintf(", ");
+	} else {
+		size_t ret;
+
+		if (!verbose(tcp) || syserror(tcp) ||
+		    umove(tcp, tcp->u_arg[4], &ret) < 0) {
+			tprintf("%#lx, %lu, %#lx", tcp->u_arg[2],
+				tcp->u_arg[3], tcp->u_arg[4]);
+		} else if (tcp->u_arg[1]==QM_INFO) {
+			struct module_info	mi;
+			if (umove(tcp, tcp->u_arg[2], &mi) < 0) {
+				tprintf("%#lx, ", tcp->u_arg[2]);
+			} else {
+				tprintf("{address=%#lx, size=%lu, flags=",
+					mi.addr, mi.size);
+				printflags(modflags, mi.flags, "MOD_???");
+				tprintf(", usecount=%lu}, ", mi.usecount);
+			}
+			tprintf("%Zu", ret);
+		} else if ((tcp->u_arg[1]==QM_MODULES) ||
+			   (tcp->u_arg[1]==QM_DEPS) ||
+			   (tcp->u_arg[1]==QM_REFS)) {
+			tprintf("{");
+			if (!abbrev(tcp)) {
+				char*	data	= malloc(tcp->u_arg[3]);
+				char*	mod	= data;
+				size_t	idx;
+
+				if (!data) {
+					fprintf(stderr, "out of memory\n");
+					tprintf(" /* %Zu entries */ ", ret);
+				} else {
+					if (umoven(tcp, tcp->u_arg[2],
+						tcp->u_arg[3], data) < 0) {
+						tprintf(" /* %Zu entries */ ", ret);
+					} else {
+						for (idx=0; idx<ret; idx++) {
+							tprintf("%s%s",
+								(idx ? ", " : ""),
+								mod);
+							mod += strlen(mod)+1;
+						}
+					}
+					free(data);
+				}
+			} else
+				tprintf(" /* %Zu entries */ ", ret);
+			tprintf("}, %Zu", ret);
+		} else if (tcp->u_arg[1]==QM_SYMBOLS) {
+			tprintf("{");
+			if (!abbrev(tcp)) {
+				char*			data	= malloc(tcp->u_arg[3]);
+				struct module_symbol*	sym	= (struct module_symbol*)data;
+				size_t			idx;
+
+				if (!data) {
+					fprintf(stderr, "out of memory\n");
+					tprintf(" /* %Zu entries */ ", ret);
+				} else {
+					if (umoven(tcp, tcp->u_arg[2],
+						tcp->u_arg[3], data) < 0) {
+						tprintf(" /* %Zu entries */ ", ret);
+					} else {
+						for (idx=0; idx<ret; idx++) {
+							tprintf("%s{name=%s, value=%lu}",
+								(idx ? " " : ""),
+								data+(long)sym->name,
+								sym->value);
+							sym++;
+						}
+					}
+					free(data);
+				}
+			} else
+				tprintf(" /* %Zu entries */ ", ret);
+			tprintf("}, %Zd", ret);
+		} else {
+			printstr(tcp, tcp->u_arg[2], tcp->u_arg[3]);
+			tprintf(", %#lx", tcp->u_arg[4]);
+		}
+	}
+	return 0;
+}
+
+int
+sys_create_module(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", %lu", tcp->u_arg[1]);
+	}
+	return RVAL_HEX;
+}
+
+int
+sys_init_module(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%#lx, ", tcp->u_arg[0]);
+		tprintf("%lu, ", tcp->u_arg[1]);
+		printstr(tcp, tcp->u_arg[2], -1);
+	}
+	return 0;
+}
+#endif /* LINUX */
diff --git a/strace-4.5.20/config.guess b/strace-4.5.20/config.guess
new file mode 100755
index 0000000..c2246a4
--- /dev/null
+++ b/strace-4.5.20/config.guess
@@ -0,0 +1,1502 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+#   Free Software Foundation, Inc.
+
+timestamp='2009-12-30'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner.  Please send patches (context
+# diff format) to <config-patches@gnu.org> and include a ChangeLog
+# entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+	for c in cc gcc c89 c99 ; do
+	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+	     CC_FOR_BUILD="$c"; break ;
+	  fi ;
+	done ;
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found ;
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# NetBSD (nbsd) targets should (where applicable) match one or
+	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	#
+	# Note: NetBSD doesn't particularly care about the vendor
+	# portion of the name.  We always set it to "unknown".
+	sysctl="sysctl -n hw.machine_arch"
+	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	case "${UNAME_MACHINE_ARCH}" in
+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    sh5el) machine=sh5le-unknown ;;
+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE_ARCH}" in
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+		eval $set_cc_for_build
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep -q __ELF__
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+	        os=netbsd
+		;;
+	esac
+	# The OS release
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "${UNAME_VERSION}" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		;;
+	esac
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}"
+	exit ;;
+    *:OpenBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+	exit ;;
+    *:ekkoBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+	exit ;;
+    *:SolidBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+	exit ;;
+    macppc:MirBSD:*:*)
+	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    *:MirBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    alpha:OSF1:*:*)
+	case $UNAME_RELEASE in
+	*4.0)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+		;;
+	*5.*)
+	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		;;
+	esac
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE="alphaev5" ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE="alphaev56" ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE="alphapca56" ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE="alphapca57" ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE="alphaev6" ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE="alphaev67" ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE="alphaev69" ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE="alphaev7" ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE="alphaev79" ;;
+	esac
+	# A Pn.n version is a patched version.
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	exit ;;
+    Alpha\ *:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# Should we change UNAME_MACHINE based on the output of uname instead
+	# of the specific Alpha model?
+	echo alpha-pc-interix
+	exit ;;
+    21064:Windows_NT:50:3)
+	echo alpha-dec-winnt3.5
+	exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-unknown-sysv4
+	exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-amigaos
+	exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-morphos
+	exit ;;
+    *:OS/390:*:*)
+	echo i370-ibm-openedition
+	exit ;;
+    *:z/VM:*:*)
+	echo s390-ibm-zvmoe
+	exit ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+	exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+	echo arm-acorn-riscix${UNAME_RELEASE}
+	exit ;;
+    arm:riscos:*:*|arm:RISCOS:*:*)
+	echo arm-unknown-riscos
+	exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+	echo hppa1.1-hitachi-hiuxmpp
+	exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+	if test "`(/bin/universe) 2>/dev/null`" = att ; then
+		echo pyramid-pyramid-sysv3
+	else
+		echo pyramid-pyramid-bsd
+	fi
+	exit ;;
+    NILE*:*:*:dcosx)
+	echo pyramid-pyramid-svr4
+	exit ;;
+    DRS?6000:unix:4.0:6*)
+	echo sparc-icl-nx6
+	exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+	case `/usr/bin/uname -p` in
+	    sparc) echo sparc-icl-nx7; exit ;;
+	esac ;;
+    s390x:SunOS:*:*)
+	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4H:SunOS:5.*:*)
+	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+	echo i386-pc-auroraux${UNAME_RELEASE}
+	exit ;;
+    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+	eval $set_cc_for_build
+	SUN_ARCH="i386"
+	# If there is a compiler, see if it is configured for 64-bit objects.
+	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+	# This test works for both compilers.
+	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		grep IS_64BIT_ARCH >/dev/null
+	    then
+		SUN_ARCH="x86_64"
+	    fi
+	fi
+	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:6*:*)
+	# According to config.sub, this is the proper way to canonicalize
+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+	# it's likely to be more like Solaris than SunOS4.
+	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:*:*)
+	case "`/usr/bin/arch -k`" in
+	    Series*|S4*)
+		UNAME_RELEASE=`uname -v`
+		;;
+	esac
+	# Japanese Language versions have a version number like `4.1.3-JL'.
+	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	exit ;;
+    sun3*:SunOS:*:*)
+	echo m68k-sun-sunos${UNAME_RELEASE}
+	exit ;;
+    sun*:*:4.2BSD:*)
+	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	case "`/bin/arch`" in
+	    sun3)
+		echo m68k-sun-sunos${UNAME_RELEASE}
+		;;
+	    sun4)
+		echo sparc-sun-sunos${UNAME_RELEASE}
+		;;
+	esac
+	exit ;;
+    aushp:SunOS:*:*)
+	echo sparc-auspex-sunos${UNAME_RELEASE}
+	exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+        exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-unknown-mint${UNAME_RELEASE}
+        exit ;;
+    m68k:machten:*:*)
+	echo m68k-apple-machten${UNAME_RELEASE}
+	exit ;;
+    powerpc:machten:*:*)
+	echo powerpc-apple-machten${UNAME_RELEASE}
+	exit ;;
+    RISC*:Mach:*:*)
+	echo mips-dec-mach_bsd4.3
+	exit ;;
+    RISC*:ULTRIX:*:*)
+	echo mips-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    VAX*:ULTRIX*:*:*)
+	echo vax-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+	echo clipper-intergraph-clix${UNAME_RELEASE}
+	exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+	#if defined (host_mips) && defined (MIPSEB)
+	#if defined (SYSTYPE_SYSV)
+	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_SVR4)
+	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	#endif
+	#endif
+	  exit (-1);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c &&
+	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+	  SYSTEM_NAME=`$dummy $dummyarg` &&
+	    { echo "$SYSTEM_NAME"; exit; }
+	echo mips-mips-riscos${UNAME_RELEASE}
+	exit ;;
+    Motorola:PowerMAX_OS:*:*)
+	echo powerpc-motorola-powermax
+	exit ;;
+    Motorola:*:4.3:PL8-*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+	echo powerpc-harris-powerunix
+	exit ;;
+    m88k:CX/UX:7*:*)
+	echo m88k-harris-cxux7
+	exit ;;
+    m88k:*:4*:R4*)
+	echo m88k-motorola-sysv4
+	exit ;;
+    m88k:*:3*:R3*)
+	echo m88k-motorola-sysv3
+	exit ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	then
+	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    then
+		echo m88k-dg-dgux${UNAME_RELEASE}
+	    else
+		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+	    fi
+	else
+	    echo i586-dg-dgux${UNAME_RELEASE}
+	fi
+ 	exit ;;
+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+	echo m88k-dolphin-sysv3
+	exit ;;
+    M88*:*:R3*:*)
+	# Delta 88k system running SVR3
+	echo m88k-motorola-sysv3
+	exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+	echo m88k-tektronix-sysv3
+	exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+	echo m68k-tektronix-bsd
+	exit ;;
+    *:IRIX*:*:*)
+	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+	echo i386-ibm-aix
+	exit ;;
+    ia64:AIX:*:*)
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:2:3)
+	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		eval $set_cc_for_build
+		sed 's/^		//' << EOF >$dummy.c
+		#include <sys/systemcfg.h>
+
+		main()
+			{
+			if (!__power_pc())
+				exit(1);
+			puts("powerpc-ibm-aix3.2.5");
+			exit(0);
+			}
+EOF
+		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+		then
+			echo "$SYSTEM_NAME"
+		else
+			echo rs6000-ibm-aix3.2.5
+		fi
+	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+		echo rs6000-ibm-aix3.2.4
+	else
+		echo rs6000-ibm-aix3.2
+	fi
+	exit ;;
+    *:AIX:*:[456])
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+		IBM_ARCH=rs6000
+	else
+		IBM_ARCH=powerpc
+	fi
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:*:*)
+	echo rs6000-ibm-aix
+	exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+	echo romp-ibm-bsd4.4
+	exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+	echo rs6000-bull-bosx
+	exit ;;
+    DPX/2?00:B.O.S.:*:*)
+	echo m68k-bull-sysv3
+	exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+	echo m68k-hp-bsd
+	exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+	echo m68k-hp-bsd4.4
+	exit ;;
+    9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	case "${UNAME_MACHINE}" in
+	    9000/31? )            HP_ARCH=m68000 ;;
+	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])
+		if [ -x /usr/bin/getconf ]; then
+		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                        esac ;;
+                    esac
+		fi
+		if [ "${HP_ARCH}" = "" ]; then
+		    eval $set_cc_for_build
+		    sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+              	{
+              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+              	case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+              	    switch (bits)
+              		{
+              		case 64: puts ("hppa2.0w"); break;
+              		case 32: puts ("hppa2.0n"); break;
+              		default: puts ("hppa2.0"); break;
+              		} break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+              	    puts ("hppa2.0"); break;
+              #endif
+              	default: puts ("hppa1.0"); break;
+              	}
+                  exit (0);
+              }
+EOF
+		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    test -z "$HP_ARCH" && HP_ARCH=hppa
+		fi ;;
+	esac
+	if [ ${HP_ARCH} = "hppa2.0w" ]
+	then
+	    eval $set_cc_for_build
+
+	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+	    # generating 64-bit code.  GNU and HP use different nomenclature:
+	    #
+	    # $ CC_FOR_BUILD=cc ./config.guess
+	    # => hppa2.0w-hp-hpux11.23
+	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+	    # => hppa64-hp-hpux11.23
+
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+		grep -q __LP64__
+	    then
+		HP_ARCH="hppa2.0w"
+	    else
+		HP_ARCH="hppa64"
+	    fi
+	fi
+	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	exit ;;
+    ia64:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux${HPUX_REV}
+	exit ;;
+    3050*:HI-UX:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <unistd.h>
+	int
+	main ()
+	{
+	  long cpu = sysconf (_SC_CPU_VERSION);
+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+	     results, however.  */
+	  if (CPU_IS_PA_RISC (cpu))
+	    {
+	      switch (cpu)
+		{
+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;
+		}
+	    }
+	  else if (CPU_IS_HP_MC68K (cpu))
+	    puts ("m68k-hitachi-hiuxwe2");
+	  else puts ("unknown-hitachi-hiuxwe2");
+	  exit (0);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+		{ echo "$SYSTEM_NAME"; exit; }
+	echo unknown-hitachi-hiuxwe2
+	exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+	echo hppa1.1-hp-bsd
+	exit ;;
+    9000/8??:4.3bsd:*:*)
+	echo hppa1.0-hp-bsd
+	exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+	echo hppa1.0-hp-mpeix
+	exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+	echo hppa1.1-hp-osf
+	exit ;;
+    hp8??:OSF1:*:*)
+	echo hppa1.0-hp-osf
+	exit ;;
+    i*86:OSF1:*:*)
+	if [ -x /usr/sbin/sysversion ] ; then
+	    echo ${UNAME_MACHINE}-unknown-osf1mk
+	else
+	    echo ${UNAME_MACHINE}-unknown-osf1
+	fi
+	exit ;;
+    parisc*:Lites*:*:*)
+	echo hppa1.1-hp-lites
+	exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+	echo c1-convex-bsd
+        exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+        exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+	echo c34-convex-bsd
+        exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+	echo c38-convex-bsd
+        exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+	echo c4-convex-bsd
+        exit ;;
+    CRAY*Y-MP:*:*:*)
+	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*[A-Z]90:*:*:*)
+	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+	      -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*TS:*:*:*)
+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*T3E:*:*:*)
+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    *:UNICOS/mp:*:*)
+	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+	exit ;;
+    sparc*:BSD/OS:*:*)
+	echo sparc-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:BSD/OS:*:*)
+	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:FreeBSD:*:*)
+	case ${UNAME_MACHINE} in
+	    pc98)
+		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	    amd64)
+		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	    *)
+		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	esac
+	exit ;;
+    i*:CYGWIN*:*)
+	echo ${UNAME_MACHINE}-pc-cygwin
+	exit ;;
+    *:MINGW*:*)
+	echo ${UNAME_MACHINE}-pc-mingw32
+	exit ;;
+    i*:windows32*:*)
+    	# uname -m includes "-pc" on this system.
+    	echo ${UNAME_MACHINE}-mingw32
+	exit ;;
+    i*:PW*:*)
+	echo ${UNAME_MACHINE}-pc-pw32
+	exit ;;
+    *:Interix*:*)
+    	case ${UNAME_MACHINE} in
+	    x86)
+		echo i586-pc-interix${UNAME_RELEASE}
+		exit ;;
+	    authenticamd | genuineintel | EM64T)
+		echo x86_64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	    IA64)
+		echo ia64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	esac ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+	echo i${UNAME_MACHINE}-pc-mks
+	exit ;;
+    8664:Windows_NT:*)
+	echo x86_64-pc-mks
+	exit ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+	# UNAME_MACHINE based on the output of uname instead of i386?
+	echo i586-pc-interix
+	exit ;;
+    i*:UWIN*:*)
+	echo ${UNAME_MACHINE}-pc-uwin
+	exit ;;
+    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+	echo x86_64-unknown-cygwin
+	exit ;;
+    p*:CYGWIN*:*)
+	echo powerpcle-unknown-cygwin
+	exit ;;
+    prep*:SunOS:5.*:*)
+	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    *:GNU:*:*)
+	# the GNU system
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	exit ;;
+    *:GNU/*:*:*)
+	# other systems with GNU libc and userland
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+	exit ;;
+    i*86:Minix:*:*)
+	echo ${UNAME_MACHINE}-pc-minix
+	exit ;;
+    alpha:Linux:*:*)
+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+	objdump --private-headers /bin/sh | grep -q ld.so.1
+	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	exit ;;
+    arm*:Linux:*:*)
+	eval $set_cc_for_build
+	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+	    | grep -q __ARM_EABI__
+	then
+	    echo ${UNAME_MACHINE}-unknown-linux-gnu
+	else
+	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+	fi
+	exit ;;
+    avr32*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    cris:Linux:*:*)
+	echo cris-axis-linux-gnu
+	exit ;;
+    crisv32:Linux:*:*)
+	echo crisv32-axis-linux-gnu
+	exit ;;
+    frv:Linux:*:*)
+    	echo frv-unknown-linux-gnu
+	exit ;;
+    i*86:Linux:*:*)
+	LIBC=gnu
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#ifdef __dietlibc__
+	LIBC=dietlibc
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+	exit ;;
+    ia64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m32r*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m68*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    mips:Linux:*:* | mips64:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef ${UNAME_MACHINE}
+	#undef ${UNAME_MACHINE}el
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=${UNAME_MACHINE}el
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=${UNAME_MACHINE}
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    or32:Linux:*:*)
+	echo or32-unknown-linux-gnu
+	exit ;;
+    padre:Linux:*:*)
+	echo sparc-unknown-linux-gnu
+	exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-gnu
+	exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+	# Look for CPU level
+	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
+	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
+	  *)    echo hppa-unknown-linux-gnu ;;
+	esac
+	exit ;;
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-gnu
+	exit ;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-gnu
+	exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+	echo ${UNAME_MACHINE}-ibm-linux
+	exit ;;
+    sh64*:Linux:*:*)
+    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sh*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    vax:Linux:*:*)
+	echo ${UNAME_MACHINE}-dec-linux-gnu
+	exit ;;
+    x86_64:Linux:*:*)
+	echo x86_64-unknown-linux-gnu
+	exit ;;
+    xtensa*:Linux:*:*)
+    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    i*86:DYNIX/ptx:4*:*)
+	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+	# earlier versions are messed up and put the nodename in both
+	# sysname and nodename.
+	echo i386-sequent-sysv4
+	exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,
+	# I just have to hope.  -- rms.
+        # Use sysv4.2uw... so that sysv4* matches it.
+	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+	exit ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit ;;
+    i*86:XTS-300:*:STOP)
+	echo ${UNAME_MACHINE}-unknown-stop
+	exit ;;
+    i*86:atheos:*:*)
+	echo ${UNAME_MACHINE}-unknown-atheos
+	exit ;;
+    i*86:syllable:*:*)
+	echo ${UNAME_MACHINE}-pc-syllable
+	exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    i*86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+	else
+		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+	fi
+	exit ;;
+    i*86:*:5:[678]*)
+    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	case `/bin/uname -X | grep "^Machine"` in
+	    *486*)	     UNAME_MACHINE=i486 ;;
+	    *Pentium)	     UNAME_MACHINE=i586 ;;
+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+	esac
+	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+	exit ;;
+    i*86:*:3.2:*)
+	if test -f /usr/options/cb.name; then
+		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+	elif /bin/uname -X 2>/dev/null >/dev/null ; then
+		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+			&& UNAME_MACHINE=i586
+		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+	else
+		echo ${UNAME_MACHINE}-pc-sysv32
+	fi
+	exit ;;
+    pc:*:*:*)
+	# Left here for compatibility:
+        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+        # the processor, so we play safe by assuming i586.
+	# Note: whatever this is, it MUST be the same as what config.sub
+	# prints for the "djgpp" host, or else GDB configury will decide that
+	# this is a cross-build.
+	echo i586-pc-msdosdjgpp
+        exit ;;
+    Intel:Mach:3*:*)
+	echo i386-pc-mach3
+	exit ;;
+    paragon:*:*:*)
+	echo i860-intel-osf1
+	exit ;;
+    i860:*:4.*:*) # i860-SVR4
+	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+	else # Add other i860-SVR4 vendors below as they are discovered.
+	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+	fi
+	exit ;;
+    mini*:CTIX:SYS*5:*)
+	# "miniframe"
+	echo m68010-convergent-sysv
+	exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+	echo m68k-convergent-sysv
+	exit ;;
+    M680?0:D-NIX:5.3:*)
+	echo m68k-diab-dnix
+	exit ;;
+    M68*:*:R3V[5678]*:*)
+	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+	OS_REL=''
+	test -r /etc/.relid \
+	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+          && { echo i486-ncr-sysv4; exit; } ;;
+    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+	OS_REL='.3'
+	test -r /etc/.relid \
+	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+	echo m68k-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    mc68030:UNIX_System_V:4.*:*)
+	echo m68k-atari-sysv4
+	exit ;;
+    TSUNAMI:LynxOS:2.*:*)
+	echo sparc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    rs6000:LynxOS:2.*:*)
+	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    SM[BE]S:UNIX_SV:*:*)
+	echo mips-dde-sysv${UNAME_RELEASE}
+	exit ;;
+    RM*:ReliantUNIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    RM*:SINIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    *:SINIX-*:*:*)
+	if uname -p 2>/dev/null >/dev/null ; then
+		UNAME_MACHINE=`(uname -p) 2>/dev/null`
+		echo ${UNAME_MACHINE}-sni-sysv4
+	else
+		echo ns32k-sni-sysv
+	fi
+	exit ;;
+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                      # says <Richard.M.Bartel@ccMail.Census.GOV>
+        echo i586-unisys-sysv4
+        exit ;;
+    *:UNIX_System_V:4*:FTX*)
+	# From Gerald Hewes <hewes@openmarket.com>.
+	# How about differentiating between stratus architectures? -djm
+	echo hppa1.1-stratus-sysv4
+	exit ;;
+    *:*:*:FTX*)
+	# From seanf@swdc.stratus.com.
+	echo i860-stratus-sysv4
+	exit ;;
+    i*86:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo ${UNAME_MACHINE}-stratus-vos
+	exit ;;
+    *:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo hppa1.1-stratus-vos
+	exit ;;
+    mc68*:A/UX:*:*)
+	echo m68k-apple-aux${UNAME_RELEASE}
+	exit ;;
+    news*:NEWS-OS:6*:*)
+	echo mips-sony-newsos6
+	exit ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+	if [ -d /usr/nec ]; then
+	        echo mips-nec-sysv${UNAME_RELEASE}
+	else
+	        echo mips-unknown-sysv${UNAME_RELEASE}
+	fi
+        exit ;;
+    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+	echo powerpc-be-beos
+	exit ;;
+    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
+	echo powerpc-apple-beos
+	exit ;;
+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+	echo i586-pc-beos
+	exit ;;
+    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
+	echo i586-pc-haiku
+	exit ;;
+    SX-4:SUPER-UX:*:*)
+	echo sx4-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-5:SUPER-UX:*:*)
+	echo sx5-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-6:SUPER-UX:*:*)
+	echo sx6-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-7:SUPER-UX:*:*)
+	echo sx7-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8:SUPER-UX:*:*)
+	echo sx8-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8R:SUPER-UX:*:*)
+	echo sx8r-nec-superux${UNAME_RELEASE}
+	exit ;;
+    Power*:Rhapsody:*:*)
+	echo powerpc-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Rhapsody:*:*)
+	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Darwin:*:*)
+	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+	case $UNAME_PROCESSOR in
+	    i386)
+		eval $set_cc_for_build
+		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		      grep IS_64BIT_ARCH >/dev/null
+		  then
+		      UNAME_PROCESSOR="x86_64"
+		  fi
+		fi ;;
+	    unknown) UNAME_PROCESSOR=powerpc ;;
+	esac
+	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+	exit ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+	UNAME_PROCESSOR=`uname -p`
+	if test "$UNAME_PROCESSOR" = "x86"; then
+		UNAME_PROCESSOR=i386
+		UNAME_MACHINE=pc
+	fi
+	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+	exit ;;
+    *:QNX:*:4*)
+	echo i386-pc-qnx
+	exit ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+	echo nse-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
+	echo nsr-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    *:NonStop-UX:*:*)
+	echo mips-compaq-nonstopux
+	exit ;;
+    BS2000:POSIX*:*:*)
+	echo bs2000-siemens-sysv
+	exit ;;
+    DS/*:UNIX_System_V:*:*)
+	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+	exit ;;
+    *:Plan9:*:*)
+	# "uname -m" is not consistent, so use $cputype instead. 386
+	# is converted to i386 for consistency with other x86
+	# operating systems.
+	if test "$cputype" = "386"; then
+	    UNAME_MACHINE=i386
+	else
+	    UNAME_MACHINE="$cputype"
+	fi
+	echo ${UNAME_MACHINE}-unknown-plan9
+	exit ;;
+    *:TOPS-10:*:*)
+	echo pdp10-unknown-tops10
+	exit ;;
+    *:TENEX:*:*)
+	echo pdp10-unknown-tenex
+	exit ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+	echo pdp10-dec-tops20
+	exit ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+	echo pdp10-xkl-tops20
+	exit ;;
+    *:TOPS-20:*:*)
+	echo pdp10-unknown-tops20
+	exit ;;
+    *:ITS:*:*)
+	echo pdp10-unknown-its
+	exit ;;
+    SEI:*:*:SEIUX)
+        echo mips-sei-seiux${UNAME_RELEASE}
+	exit ;;
+    *:DragonFly:*:*)
+	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    *:*VMS:*:*)
+    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	case "${UNAME_MACHINE}" in
+	    A*) echo alpha-dec-vms ; exit ;;
+	    I*) echo ia64-dec-vms ; exit ;;
+	    V*) echo vax-dec-vms ; exit ;;
+	esac ;;
+    *:XENIX:*:SysV)
+	echo i386-pc-xenix
+	exit ;;
+    i*86:skyos:*:*)
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	exit ;;
+    i*86:rdos:*:*)
+	echo ${UNAME_MACHINE}-pc-rdos
+	exit ;;
+    i*86:AROS:*:*)
+	echo ${UNAME_MACHINE}-pc-aros
+	exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+	  ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+	printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+	printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+	{ echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+	echo c1-convex-bsd
+	exit ;;
+    c2*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit ;;
+    c34*)
+	echo c34-convex-bsd
+	exit ;;
+    c38*)
+	echo c38-convex-bsd
+	exit ;;
+    c4*)
+	echo c4-convex-bsd
+	exit ;;
+    esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/strace-4.5.20/config.h.in b/strace-4.5.20/config.h.in
new file mode 100644
index 0000000..0ac3d8a
--- /dev/null
+++ b/strace-4.5.20/config.h.in
@@ -0,0 +1,484 @@
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+
+/* Define for the Alpha architecture. */
+#undef ALPHA
+
+/* Define for the ARM architecture. */
+#undef ARM
+
+/* Define for the AVR32 architecture. */
+#undef AVR32
+
+/* Define for the Blackfin architecture. */
+#undef BFIN
+
+/* Define for the CRISv10 architecture. */
+#undef CRISV10
+
+/* Define for the CRISv32 architecture. */
+#undef CRISV32
+
+/* Define for the FreeBSD operating system. */
+#undef FREEBSD
+
+/* Define to the type of elements in the array set by `getgroups'. Usually
+   this is either `int' or `gid_t'. */
+#undef GETGROUPS_T
+
+/* Define to 1 if you have the <asm/cachectl.h> header file. */
+#undef HAVE_ASM_CACHECTL_H
+
+/* Define to 1 if you have the <asm/sigcontext.h> header file. */
+#undef HAVE_ASM_SIGCONTEXT_H
+
+/* Define to 1 if you have the <asm/sysmips.h> header file. */
+#undef HAVE_ASM_SYSMIPS_H
+
+/* Define to 1 if you have the declaration of `sys_errlist', and to 0 if you
+   don't. */
+#undef HAVE_DECL_SYS_ERRLIST
+
+/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you
+   don't. */
+#undef HAVE_DECL_SYS_SIGLIST
+
+/* Define to 1 if you have the declaration of `_sys_siglist', and to 0 if you
+   don't. */
+#undef HAVE_DECL__SYS_SIGLIST
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+#undef HAVE_DIRENT_H
+
+/* Define to 1 if you have the `fork' function. */
+#undef HAVE_FORK
+
+/* Define to 1 if you have the `getdents' function. */
+#undef HAVE_GETDENTS
+
+/* Define to 1 if you have the `if_indextoname' function. */
+#undef HAVE_IF_INDEXTONAME
+
+/* Define to 1 if you have the `inet_ntop' function. */
+#undef HAVE_INET_NTOP
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <ioctls.h> header file. */
+#undef HAVE_IOCTLS_H
+
+/* Define to 1 if you have the <libaio.h> header file. */
+#undef HAVE_LIBAIO_H
+
+/* Define to 1 if you have the `nsl' library (-lnsl). */
+#undef HAVE_LIBNSL
+
+/* Define to 1 if you have the <linux/capability.h> header file. */
+#undef HAVE_LINUX_CAPABILITY_H
+
+/* Define to 1 if you have the <linux/icmp.h> header file. */
+#undef HAVE_LINUX_ICMP_H
+
+/* Define to 1 if you have the <linux/if_packet.h> header file. */
+#undef HAVE_LINUX_IF_PACKET_H
+
+/* Define to 1 if you have the <linux/in6.h> header file. */
+#undef HAVE_LINUX_IN6_H
+
+/* Define to 1 if you have the <linux/netlink.h> header file. */
+#undef HAVE_LINUX_NETLINK_H
+
+/* Define to 1 if you have the <linux/ptrace.h> header file. */
+#undef HAVE_LINUX_PTRACE_H
+
+/* Define to 1 if you have the <linux/utsname.h> header file. */
+#undef HAVE_LINUX_UTSNAME_H
+
+/* Define if long long is little-endian. */
+#undef HAVE_LITTLE_ENDIAN_LONG_LONG
+
+/* Define to 1 if the system has the type `long long'. */
+#undef HAVE_LONG_LONG
+
+/* Define if off_t is a long long. */
+#undef HAVE_LONG_LONG_OFF_T
+
+/* Define if rlim_t is a long long. */
+#undef HAVE_LONG_LONG_RLIM_T
+
+/* Define to 1 if you have the `mctl' function. */
+#undef HAVE_MCTL
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define if you have a SVR4 MP type procfs. I.E. /dev/xxx/ctl,
+   /dev/xxx/status. Also implies that you have the pr_lwp member in prstatus.
+   */
+#undef HAVE_MP_PROCFS
+
+/* Define to 1 if you have the <mqueue.h> header file. */
+#undef HAVE_MQUEUE_H
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+#undef HAVE_NDIR_H
+
+/* Define to 1 if you have the <netinet/tcp.h> header file. */
+#undef HAVE_NETINET_TCP_H
+
+/* Define to 1 if you have the <netinet/udp.h> header file. */
+#undef HAVE_NETINET_UDP_H
+
+/* Define if you have SVR4 and the poll system call works on /proc files. */
+#undef HAVE_POLLABLE_PROCFS
+
+/* Define to 1 if you have the <poll.h> header file. */
+#undef HAVE_POLL_H
+
+/* Define to 1 if you have the `prctl' function. */
+#undef HAVE_PRCTL
+
+/* Define to 1 if you have the `pread' function. */
+#undef HAVE_PREAD
+
+/* Define if the prstatus structure in sys/procfs.h has a pr_syscall member.
+   */
+#undef HAVE_PR_SYSCALL
+
+/* Define to 1 if you have the `sendmsg' function. */
+#undef HAVE_SENDMSG
+
+/* Define to 1 if you have the `sigaction' function. */
+#undef HAVE_SIGACTION
+
+/* Define to 1 if the system has the type `siginfo_t'. */
+#undef HAVE_SIGINFO_T
+
+/* Define to 1 if the system has the type `sig_atomic_t'. */
+#undef HAVE_SIG_ATOMIC_T
+
+/* Define if stat64 is available in asm/stat.h. */
+#undef HAVE_STAT64
+
+/* Define if statfs64 is available in sys/vfs.h. */
+#undef HAVE_STATFS64
+
+/* Define to 1 if stdbool.h conforms to C99. */
+#undef HAVE_STDBOOL_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strerror' function. */
+#undef HAVE_STRERROR
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the <stropts.h> header file. */
+#undef HAVE_STROPTS_H
+
+/* Define to 1 if you have the `strsignal' function. */
+#undef HAVE_STRSIGNAL
+
+/* Define to 1 if `dqb_curblocks' is a member of `struct dqblk'. */
+#undef HAVE_STRUCT_DQBLK_DQB_CURBLOCKS
+
+/* Define to 1 if the system has the type `struct ia64_fpreg'. */
+#undef HAVE_STRUCT_IA64_FPREG
+
+/* Define to 1 if `msg_control' is a member of `struct msghdr'. */
+#undef HAVE_STRUCT_MSGHDR_MSG_CONTROL
+
+/* Define to 1 if the system has the type `struct opthdr'. */
+#undef HAVE_STRUCT_OPTHDR
+
+/* Define to 1 if the system has the type `struct pt_all_user_regs'. */
+#undef HAVE_STRUCT_PT_ALL_USER_REGS
+
+/* Define to 1 if the system has the type `struct sigcontext'. */
+#undef HAVE_STRUCT_SIGCONTEXT
+
+/* Define to 1 if `sc_hi2' is a member of `struct sigcontext'. */
+#undef HAVE_STRUCT_SIGCONTEXT_SC_HI2
+
+/* Define to 1 if the system has the type `struct sigcontext_struct'. */
+#undef HAVE_STRUCT_SIGCONTEXT_STRUCT
+
+/* Define to 1 if `sin6_scope_id' is a member of `struct sockaddr_in6'. */
+#undef HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID
+
+/* Define to 1 if `st_aclcnt' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_ACLCNT
+
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_BLKSIZE
+
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_BLOCKS
+
+/* Define to 1 if `st_flags' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_FLAGS
+
+/* Define to 1 if `st_fstype' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_FSTYPE
+
+/* Define to 1 if `st_gen' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_GEN
+
+/* Define to 1 if `st_level' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_LEVEL
+
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_RDEV
+
+/* Define to 1 if `ACCEPTOR_id' is a member of `struct T_conn_res'. */
+#undef HAVE_STRUCT_T_CONN_RES_ACCEPTOR_ID
+
+/* Define to 1 if `QUEUE_ptr' is a member of `struct T_conn_res'. */
+#undef HAVE_STRUCT_T_CONN_RES_QUEUE_PTR
+
+/* Define to 1 if the system has the type `struct t_opthdr'. */
+#undef HAVE_STRUCT_T_OPTHDR
+
+/* Define to 1 if the system has the type `struct user_desc'. */
+#undef HAVE_STRUCT_USER_DESC
+
+/* Define to 1 if the system has the type `struct __old_kernel_stat'. */
+#undef HAVE_STRUCT___OLD_KERNEL_STAT
+
+/* Define to 1 if you have the <sys/acl.h> header file. */
+#undef HAVE_SYS_ACL_H
+
+/* Define to 1 if you have the <sys/aio.h> header file. */
+#undef HAVE_SYS_AIO_H
+
+/* Define to 1 if you have the <sys/asynch.h> header file. */
+#undef HAVE_SYS_ASYNCH_H
+
+/* Define to 1 if you have the <sys/conf.h> header file. */
+#undef HAVE_SYS_CONF_H
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+#undef HAVE_SYS_DIR_H
+
+/* Define to 1 if you have the <sys/door.h> header file. */
+#undef HAVE_SYS_DOOR_H
+
+/* Define to 1 if you have the <sys/epoll.h> header file. */
+#undef HAVE_SYS_EPOLL_H
+
+/* Define to 1 if you have the <sys/filio.h> header file. */
+#undef HAVE_SYS_FILIO_H
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+#undef HAVE_SYS_NDIR_H
+
+/* Define to 1 if you have the <sys/nscsys.h> header file. */
+#undef HAVE_SYS_NSCSYS_H
+
+/* Define to 1 if you have the <sys/poll.h> header file. */
+#undef HAVE_SYS_POLL_H
+
+/* Define to 1 if you have the <sys/ptrace.h> header file. */
+#undef HAVE_SYS_PTRACE_H
+
+/* Define to 1 if you have the <sys/reg.h> header file. */
+#undef HAVE_SYS_REG_H
+
+/* Define to 1 if you have the `sys_siglist' function. */
+#undef HAVE_SYS_SIGLIST
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/stream.h> header file. */
+#undef HAVE_SYS_STREAM_H
+
+/* Define to 1 if you have the <sys/sysconfig.h> header file. */
+#undef HAVE_SYS_SYSCONFIG_H
+
+/* Define to 1 if you have the <sys/tihdr.h> header file. */
+#undef HAVE_SYS_TIHDR_H
+
+/* Define to 1 if you have the <sys/tiuser.h> header file. */
+#undef HAVE_SYS_TIUSER_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <sys/uio.h> header file. */
+#undef HAVE_SYS_UIO_H
+
+/* Define to 1 if you have the <sys/vfs.h> header file. */
+#undef HAVE_SYS_VFS_H
+
+/* Define to 1 if you have the <termio.h> header file. */
+#undef HAVE_TERMIO_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if the system has the type `_Bool'. */
+#undef HAVE__BOOL
+
+/* Define to 1 if you have the `_sys_siglist' function. */
+#undef HAVE__SYS_SIGLIST
+
+/* Define for the HPPA architecture. */
+#undef HPPA
+
+/* Define for the i386 architecture. */
+#undef I386
+
+/* Define for the IA64 architecture. */
+#undef IA64
+
+/* Define for the Linux operating system. */
+#undef LINUX
+
+/* Define for the m68k architecture. */
+#undef M68K
+
+/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
+   */
+#undef MAJOR_IN_MKDEV
+
+/* Define to 1 if `major', `minor', and `makedev' are declared in
+   <sysmacros.h>. */
+#undef MAJOR_IN_SYSMACROS
+
+/* Define for the MIPS architecture. */
+#undef MIPS
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define for the PowerPC architecture. */
+#undef POWERPC
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#undef RETSIGTYPE
+
+/* Define for the S390 architecture. */
+#undef S390
+
+/* Define for the S390x architecture. */
+#undef S390X
+
+/* Define for the SH architecture. */
+#undef SH
+
+/* Define for the SH64 architecture. */
+#undef SH64
+
+/* Define for the SPARC architecture. */
+#undef SPARC
+
+/* Define for the SPARC64 architecture. */
+#undef SPARC64
+
+/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
+#undef STAT_MACROS_BROKEN
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define for the SunOS 4.x operating system. */
+#undef SUNOS4
+
+/* Define if you are have a SPARC with SUNOS4 and your want a version of
+   strace that will work on sun4, sun4c and sun4m kernel architectures. Only
+   useful if you have a symbolic link from machine to /usr/include/sun4 in the
+   compilation directory. */
+#undef SUNOS4_KERNEL_ARCH_KLUDGE
+
+/* Define for the System V release 4 operating system or a derivative like
+   Solaris 2.x or Irix 5.x. */
+#undef SVR4
+
+/* Define for the Tile architecture */
+#undef TILE
+
+/* Define for UnixWare systems. */
+#undef UNIXWARE
+
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
+/* Version number of package */
+#undef VERSION
+
+/* Define for the AMD x86-64 architecture. */
+#undef X86_64
+
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+   this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+#undef gid_t
+
+/* Define to `int' if <sys/types.h> does not define. */
+#undef mode_t
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+#undef uid_t
diff --git a/strace-4.5.20/config.sub b/strace-4.5.20/config.sub
new file mode 100755
index 0000000..8518609
--- /dev/null
+++ b/strace-4.5.20/config.sub
@@ -0,0 +1,1708 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+#   Free Software Foundation, Inc.
+
+timestamp='2009-12-31'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted GNU ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit ;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+  kopensolaris*-gnu* | \
+  storm-chaos* | os2-emx* | rtmk-nova*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+	-sun*os*)
+		# Prevent following clause from handling this invalid input.
+		;;
+	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+	-apple | -axis | -knuth | -cray | -microblaze)
+		os=
+		basic_machine=$1
+		;;
+        -bluegene*)
+	        os=-cnk
+		;;
+	-sim | -cisco | -oki | -wec | -winbond)
+		os=
+		basic_machine=$1
+		;;
+	-scout)
+		;;
+	-wrs)
+		os=-vxworks
+		basic_machine=$1
+		;;
+	-chorusos*)
+		os=-chorusos
+		basic_machine=$1
+		;;
+ 	-chorusrdb)
+ 		os=-chorusrdb
+		basic_machine=$1
+ 		;;
+	-hiux*)
+		os=-hiuxwe2
+		;;
+	-sco6)
+		os=-sco5v6
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco5)
+		os=-sco3.2v5
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco4)
+		os=-sco3.2v4
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2.[4-9]*)
+		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2v[4-9]*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco5v6*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco*)
+		os=-sco3.2v2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-udk*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-isc)
+		os=-isc2.2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-clix*)
+		basic_machine=clipper-intergraph
+		;;
+	-isc*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-lynx*)
+		os=-lynxos
+		;;
+	-ptx*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+		;;
+	-windowsnt*)
+		os=`echo $os | sed -e 's/windowsnt/winnt/'`
+		;;
+	-psos*)
+		os=-psos
+		;;
+	-mint | -mint[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+	# Recognize the basic CPU types without company name.
+	# Some are omitted here because they have special meanings below.
+	1750a | 580 \
+	| a29k \
+	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+	| am33_2.0 \
+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+	| bfin \
+	| c4x | clipper \
+	| d10v | d30v | dlx | dsp16xx \
+	| fido | fr30 | frv \
+	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+	| i370 | i860 | i960 | ia64 \
+	| ip2k | iq2000 \
+	| lm32 \
+	| m32c | m32r | m32rle | m68000 | m68k | m88k \
+	| maxq | mb | microblaze | mcore | mep | metag \
+	| mips | mipsbe | mipseb | mipsel | mipsle \
+	| mips16 \
+	| mips64 | mips64el \
+	| mips64octeon | mips64octeonel \
+	| mips64orion | mips64orionel \
+	| mips64r5900 | mips64r5900el \
+	| mips64vr | mips64vrel \
+	| mips64vr4100 | mips64vr4100el \
+	| mips64vr4300 | mips64vr4300el \
+	| mips64vr5000 | mips64vr5000el \
+	| mips64vr5900 | mips64vr5900el \
+	| mipsisa32 | mipsisa32el \
+	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa64 | mipsisa64el \
+	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64sb1 | mipsisa64sb1el \
+	| mipsisa64sr71k | mipsisa64sr71kel \
+	| mipstx39 | mipstx39el \
+	| mn10200 | mn10300 \
+	| moxie \
+	| mt \
+	| msp430 \
+	| nios | nios2 \
+	| ns16k | ns32k \
+	| or32 \
+	| pdp10 | pdp11 | pj | pjl \
+	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+	| pyramid \
+	| rx \
+	| score \
+	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+	| sh64 | sh64le \
+	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+	| spu | strongarm \
+	| tahoe | thumb | tic4x | tic80 | tron \
+	| ubicom32 \
+	| v850 | v850e \
+	| we32k \
+	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+	| z8k | z80)
+		basic_machine=$basic_machine-unknown
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
+		# Motorola 68HC11/12.
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+		;;
+	ms1)
+		basic_machine=mt-unknown
+		;;
+
+	# We use `pc' rather than `unknown'
+	# because (1) that's what they normally are, and
+	# (2) the word "unknown" tends to confuse beginning users.
+	i*86 | x86_64)
+	  basic_machine=$basic_machine-pc
+	  ;;
+	# Object if more than one company name word.
+	*-*-*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+	# Recognize the basic CPU types with company name.
+	580-* \
+	| a29k-* \
+	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+	| avr-* | avr32-* \
+	| bfin-* | bs2000-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+	| clipper-* | craynv-* | cydra-* \
+	| d10v-* | d30v-* | dlx-* \
+	| elxsi-* \
+	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+	| h8300-* | h8500-* \
+	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+	| i*86-* | i860-* | i960-* | ia64-* \
+	| ip2k-* | iq2000-* \
+	| lm32-* \
+	| m32c-* | m32r-* | m32rle-* \
+	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+	| mips16-* \
+	| mips64-* | mips64el-* \
+	| mips64octeon-* | mips64octeonel-* \
+	| mips64orion-* | mips64orionel-* \
+	| mips64r5900-* | mips64r5900el-* \
+	| mips64vr-* | mips64vrel-* \
+	| mips64vr4100-* | mips64vr4100el-* \
+	| mips64vr4300-* | mips64vr4300el-* \
+	| mips64vr5000-* | mips64vr5000el-* \
+	| mips64vr5900-* | mips64vr5900el-* \
+	| mipsisa32-* | mipsisa32el-* \
+	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa64-* | mipsisa64el-* \
+	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64sb1-* | mipsisa64sb1el-* \
+	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+	| mipstx39-* | mipstx39el-* \
+	| mmix-* \
+	| mt-* \
+	| msp430-* \
+	| nios-* | nios2-* \
+	| none-* | np1-* | ns16k-* | ns32k-* \
+	| orion-* \
+	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+	| pyramid-* \
+	| romp-* | rs6000-* | rx-* \
+	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+	| sparclite-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+	| tahoe-* | thumb-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+	| tron-* \
+	| ubicom32-* \
+	| v850-* | v850e-* | vax-* \
+	| we32k-* \
+	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+	| xstormy16-* | xtensa*-* \
+	| ymp-* \
+	| z8k-* | z80-*)
+		;;
+	# Recognize the basic CPU types without company name, with glob match.
+	xtensa*)
+		basic_machine=$basic_machine-unknown
+		;;
+	# Recognize the various machine names and aliases which stand
+	# for a CPU type and a company and sometimes even an OS.
+	386bsd)
+		basic_machine=i386-unknown
+		os=-bsd
+		;;
+	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+		basic_machine=m68000-att
+		;;
+	3b*)
+		basic_machine=we32k-att
+		;;
+	a29khif)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+    	abacus)
+		basic_machine=abacus-unknown
+		;;
+	adobe68k)
+		basic_machine=m68010-adobe
+		os=-scout
+		;;
+	alliant | fx80)
+		basic_machine=fx80-alliant
+		;;
+	altos | altos3068)
+		basic_machine=m68k-altos
+		;;
+	am29k)
+		basic_machine=a29k-none
+		os=-bsd
+		;;
+	amd64)
+		basic_machine=x86_64-pc
+		;;
+	amd64-*)
+		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	amdahl)
+		basic_machine=580-amdahl
+		os=-sysv
+		;;
+	amiga | amiga-*)
+		basic_machine=m68k-unknown
+		;;
+	amigaos | amigados)
+		basic_machine=m68k-unknown
+		os=-amigaos
+		;;
+	amigaunix | amix)
+		basic_machine=m68k-unknown
+		os=-sysv4
+		;;
+	apollo68)
+		basic_machine=m68k-apollo
+		os=-sysv
+		;;
+	apollo68bsd)
+		basic_machine=m68k-apollo
+		os=-bsd
+		;;
+	aros)
+		basic_machine=i386-pc
+		os=-aros
+		;;
+	aux)
+		basic_machine=m68k-apple
+		os=-aux
+		;;
+	balance)
+		basic_machine=ns32k-sequent
+		os=-dynix
+		;;
+	blackfin)
+		basic_machine=bfin-unknown
+		os=-linux
+		;;
+	blackfin-*)
+		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
+	bluegene*)
+		basic_machine=powerpc-ibm
+		os=-cnk
+		;;
+	c90)
+		basic_machine=c90-cray
+		os=-unicos
+		;;
+        cegcc)
+		basic_machine=arm-unknown
+		os=-cegcc
+		;;
+	convex-c1)
+		basic_machine=c1-convex
+		os=-bsd
+		;;
+	convex-c2)
+		basic_machine=c2-convex
+		os=-bsd
+		;;
+	convex-c32)
+		basic_machine=c32-convex
+		os=-bsd
+		;;
+	convex-c34)
+		basic_machine=c34-convex
+		os=-bsd
+		;;
+	convex-c38)
+		basic_machine=c38-convex
+		os=-bsd
+		;;
+	cray | j90)
+		basic_machine=j90-cray
+		os=-unicos
+		;;
+	craynv)
+		basic_machine=craynv-cray
+		os=-unicosmp
+		;;
+	cr16)
+		basic_machine=cr16-unknown
+		os=-elf
+		;;
+	crds | unos)
+		basic_machine=m68k-crds
+		;;
+	crisv32 | crisv32-* | etraxfs*)
+		basic_machine=crisv32-axis
+		;;
+	cris | cris-* | etrax*)
+		basic_machine=cris-axis
+		;;
+	crx)
+		basic_machine=crx-unknown
+		os=-elf
+		;;
+	da30 | da30-*)
+		basic_machine=m68k-da30
+		;;
+	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+		basic_machine=mips-dec
+		;;
+	decsystem10* | dec10*)
+		basic_machine=pdp10-dec
+		os=-tops10
+		;;
+	decsystem20* | dec20*)
+		basic_machine=pdp10-dec
+		os=-tops20
+		;;
+	delta | 3300 | motorola-3300 | motorola-delta \
+	      | 3300-motorola | delta-motorola)
+		basic_machine=m68k-motorola
+		;;
+	delta88)
+		basic_machine=m88k-motorola
+		os=-sysv3
+		;;
+	dicos)
+		basic_machine=i686-pc
+		os=-dicos
+		;;
+	djgpp)
+		basic_machine=i586-pc
+		os=-msdosdjgpp
+		;;
+	dpx20 | dpx20-*)
+		basic_machine=rs6000-bull
+		os=-bosx
+		;;
+	dpx2* | dpx2*-bull)
+		basic_machine=m68k-bull
+		os=-sysv3
+		;;
+	ebmon29k)
+		basic_machine=a29k-amd
+		os=-ebmon
+		;;
+	elxsi)
+		basic_machine=elxsi-elxsi
+		os=-bsd
+		;;
+	encore | umax | mmax)
+		basic_machine=ns32k-encore
+		;;
+	es1800 | OSE68k | ose68k | ose | OSE)
+		basic_machine=m68k-ericsson
+		os=-ose
+		;;
+	fx2800)
+		basic_machine=i860-alliant
+		;;
+	genix)
+		basic_machine=ns32k-ns
+		;;
+	gmicro)
+		basic_machine=tron-gmicro
+		os=-sysv
+		;;
+	go32)
+		basic_machine=i386-pc
+		os=-go32
+		;;
+	h3050r* | hiux*)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	h8300hms)
+		basic_machine=h8300-hitachi
+		os=-hms
+		;;
+	h8300xray)
+		basic_machine=h8300-hitachi
+		os=-xray
+		;;
+	h8500hms)
+		basic_machine=h8500-hitachi
+		os=-hms
+		;;
+	harris)
+		basic_machine=m88k-harris
+		os=-sysv3
+		;;
+	hp300-*)
+		basic_machine=m68k-hp
+		;;
+	hp300bsd)
+		basic_machine=m68k-hp
+		os=-bsd
+		;;
+	hp300hpux)
+		basic_machine=m68k-hp
+		os=-hpux
+		;;
+	hp3k9[0-9][0-9] | hp9[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k2[0-9][0-9] | hp9k31[0-9])
+		basic_machine=m68000-hp
+		;;
+	hp9k3[2-9][0-9])
+		basic_machine=m68k-hp
+		;;
+	hp9k6[0-9][0-9] | hp6[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k7[0-79][0-9] | hp7[0-79][0-9])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k78[0-9] | hp78[0-9])
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][13679] | hp8[0-9][13679])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][0-9] | hp8[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hppa-next)
+		os=-nextstep3
+		;;
+	hppaosf)
+		basic_machine=hppa1.1-hp
+		os=-osf
+		;;
+	hppro)
+		basic_machine=hppa1.1-hp
+		os=-proelf
+		;;
+	i370-ibm* | ibm*)
+		basic_machine=i370-ibm
+		;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+	i*86v32)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv32
+		;;
+	i*86v4*)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv4
+		;;
+	i*86v)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv
+		;;
+	i*86sol2)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-solaris2
+		;;
+	i386mach)
+		basic_machine=i386-mach
+		os=-mach
+		;;
+	i386-vsta | vsta)
+		basic_machine=i386-unknown
+		os=-vsta
+		;;
+	iris | iris4d)
+		basic_machine=mips-sgi
+		case $os in
+		    -irix*)
+			;;
+		    *)
+			os=-irix4
+			;;
+		esac
+		;;
+	isi68 | isi)
+		basic_machine=m68k-isi
+		os=-sysv
+		;;
+	m68knommu)
+		basic_machine=m68k-unknown
+		os=-linux
+		;;
+	m68knommu-*)
+		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
+	m88k-omron*)
+		basic_machine=m88k-omron
+		;;
+	magnum | m3230)
+		basic_machine=mips-mips
+		os=-sysv
+		;;
+	merlin)
+		basic_machine=ns32k-utek
+		os=-sysv
+		;;
+        microblaze)
+		basic_machine=microblaze-xilinx
+		;;
+	mingw32)
+		basic_machine=i386-pc
+		os=-mingw32
+		;;
+	mingw32ce)
+		basic_machine=arm-unknown
+		os=-mingw32ce
+		;;
+	miniframe)
+		basic_machine=m68000-convergent
+		;;
+	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+	mips3*-*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+		;;
+	mips3*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+		;;
+	monitor)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	morphos)
+		basic_machine=powerpc-unknown
+		os=-morphos
+		;;
+	msdos)
+		basic_machine=i386-pc
+		os=-msdos
+		;;
+	ms1-*)
+		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+		;;
+	mvs)
+		basic_machine=i370-ibm
+		os=-mvs
+		;;
+	ncr3000)
+		basic_machine=i486-ncr
+		os=-sysv4
+		;;
+	netbsd386)
+		basic_machine=i386-unknown
+		os=-netbsd
+		;;
+	netwinder)
+		basic_machine=armv4l-rebel
+		os=-linux
+		;;
+	news | news700 | news800 | news900)
+		basic_machine=m68k-sony
+		os=-newsos
+		;;
+	news1000)
+		basic_machine=m68030-sony
+		os=-newsos
+		;;
+	news-3600 | risc-news)
+		basic_machine=mips-sony
+		os=-newsos
+		;;
+	necv70)
+		basic_machine=v70-nec
+		os=-sysv
+		;;
+	next | m*-next )
+		basic_machine=m68k-next
+		case $os in
+		    -nextstep* )
+			;;
+		    -ns2*)
+		      os=-nextstep2
+			;;
+		    *)
+		      os=-nextstep3
+			;;
+		esac
+		;;
+	nh3000)
+		basic_machine=m68k-harris
+		os=-cxux
+		;;
+	nh[45]000)
+		basic_machine=m88k-harris
+		os=-cxux
+		;;
+	nindy960)
+		basic_machine=i960-intel
+		os=-nindy
+		;;
+	mon960)
+		basic_machine=i960-intel
+		os=-mon960
+		;;
+	nonstopux)
+		basic_machine=mips-compaq
+		os=-nonstopux
+		;;
+	np1)
+		basic_machine=np1-gould
+		;;
+	nsr-tandem)
+		basic_machine=nsr-tandem
+		;;
+	op50n-* | op60c-*)
+		basic_machine=hppa1.1-oki
+		os=-proelf
+		;;
+	openrisc | openrisc-*)
+		basic_machine=or32-unknown
+		;;
+	os400)
+		basic_machine=powerpc-ibm
+		os=-os400
+		;;
+	OSE68000 | ose68000)
+		basic_machine=m68000-ericsson
+		os=-ose
+		;;
+	os68k)
+		basic_machine=m68k-none
+		os=-os68k
+		;;
+	pa-hitachi)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	paragon)
+		basic_machine=i860-intel
+		os=-osf
+		;;
+	parisc)
+		basic_machine=hppa-unknown
+		os=-linux
+		;;
+	parisc-*)
+		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
+	pbd)
+		basic_machine=sparc-tti
+		;;
+	pbb)
+		basic_machine=m68k-tti
+		;;
+	pc532 | pc532-*)
+		basic_machine=ns32k-pc532
+		;;
+	pc98)
+		basic_machine=i386-pc
+		;;
+	pc98-*)
+		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentium | p5 | k5 | k6 | nexgen | viac3)
+		basic_machine=i586-pc
+		;;
+	pentiumpro | p6 | 6x86 | athlon | athlon_*)
+		basic_machine=i686-pc
+		;;
+	pentiumii | pentium2 | pentiumiii | pentium3)
+		basic_machine=i686-pc
+		;;
+	pentium4)
+		basic_machine=i786-pc
+		;;
+	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumpro-* | p6-* | 6x86-* | athlon-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentium4-*)
+		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pn)
+		basic_machine=pn-gould
+		;;
+	power)	basic_machine=power-ibm
+		;;
+	ppc)	basic_machine=powerpc-unknown
+		;;
+	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppcle | powerpclittle | ppc-le | powerpc-little)
+		basic_machine=powerpcle-unknown
+		;;
+	ppcle-* | powerpclittle-*)
+		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64)	basic_machine=powerpc64-unknown
+		;;
+	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+		basic_machine=powerpc64le-unknown
+		;;
+	ppc64le-* | powerpc64little-*)
+		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ps2)
+		basic_machine=i386-ibm
+		;;
+	pw32)
+		basic_machine=i586-unknown
+		os=-pw32
+		;;
+	rdos)
+		basic_machine=i386-pc
+		os=-rdos
+		;;
+	rom68k)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	rm[46]00)
+		basic_machine=mips-siemens
+		;;
+	rtpc | rtpc-*)
+		basic_machine=romp-ibm
+		;;
+	s390 | s390-*)
+		basic_machine=s390-ibm
+		;;
+	s390x | s390x-*)
+		basic_machine=s390x-ibm
+		;;
+	sa29200)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	sb1)
+		basic_machine=mipsisa64sb1-unknown
+		;;
+	sb1el)
+		basic_machine=mipsisa64sb1el-unknown
+		;;
+	sde)
+		basic_machine=mipsisa32-sde
+		os=-elf
+		;;
+	sei)
+		basic_machine=mips-sei
+		os=-seiux
+		;;
+	sequent)
+		basic_machine=i386-sequent
+		;;
+	sh)
+		basic_machine=sh-hitachi
+		os=-hms
+		;;
+	sh5el)
+		basic_machine=sh5le-unknown
+		;;
+	sh64)
+		basic_machine=sh64-unknown
+		;;
+	sparclite-wrs | simso-wrs)
+		basic_machine=sparclite-wrs
+		os=-vxworks
+		;;
+	sps7)
+		basic_machine=m68k-bull
+		os=-sysv2
+		;;
+	spur)
+		basic_machine=spur-unknown
+		;;
+	st2000)
+		basic_machine=m68k-tandem
+		;;
+	stratus)
+		basic_machine=i860-stratus
+		os=-sysv4
+		;;
+	sun2)
+		basic_machine=m68000-sun
+		;;
+	sun2os3)
+		basic_machine=m68000-sun
+		os=-sunos3
+		;;
+	sun2os4)
+		basic_machine=m68000-sun
+		os=-sunos4
+		;;
+	sun3os3)
+		basic_machine=m68k-sun
+		os=-sunos3
+		;;
+	sun3os4)
+		basic_machine=m68k-sun
+		os=-sunos4
+		;;
+	sun4os3)
+		basic_machine=sparc-sun
+		os=-sunos3
+		;;
+	sun4os4)
+		basic_machine=sparc-sun
+		os=-sunos4
+		;;
+	sun4sol2)
+		basic_machine=sparc-sun
+		os=-solaris2
+		;;
+	sun3 | sun3-*)
+		basic_machine=m68k-sun
+		;;
+	sun4)
+		basic_machine=sparc-sun
+		;;
+	sun386 | sun386i | roadrunner)
+		basic_machine=i386-sun
+		;;
+	sv1)
+		basic_machine=sv1-cray
+		os=-unicos
+		;;
+	symmetry)
+		basic_machine=i386-sequent
+		os=-dynix
+		;;
+	t3e)
+		basic_machine=alphaev5-cray
+		os=-unicos
+		;;
+	t90)
+		basic_machine=t90-cray
+		os=-unicos
+		;;
+	tic54x | c54x*)
+		basic_machine=tic54x-unknown
+		os=-coff
+		;;
+	tic55x | c55x*)
+		basic_machine=tic55x-unknown
+		os=-coff
+		;;
+	tic6x | c6x*)
+		basic_machine=tic6x-unknown
+		os=-coff
+		;;
+	tile*)
+		basic_machine=tile-unknown
+		os=-linux-gnu
+		;;
+	tx39)
+		basic_machine=mipstx39-unknown
+		;;
+	tx39el)
+		basic_machine=mipstx39el-unknown
+		;;
+	toad1)
+		basic_machine=pdp10-xkl
+		os=-tops20
+		;;
+	tower | tower-32)
+		basic_machine=m68k-ncr
+		;;
+	tpf)
+		basic_machine=s390x-ibm
+		os=-tpf
+		;;
+	udi29k)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	ultra3)
+		basic_machine=a29k-nyu
+		os=-sym1
+		;;
+	v810 | necv810)
+		basic_machine=v810-nec
+		os=-none
+		;;
+	vaxv)
+		basic_machine=vax-dec
+		os=-sysv
+		;;
+	vms)
+		basic_machine=vax-dec
+		os=-vms
+		;;
+	vpp*|vx|vx-*)
+		basic_machine=f301-fujitsu
+		;;
+	vxworks960)
+		basic_machine=i960-wrs
+		os=-vxworks
+		;;
+	vxworks68)
+		basic_machine=m68k-wrs
+		os=-vxworks
+		;;
+	vxworks29k)
+		basic_machine=a29k-wrs
+		os=-vxworks
+		;;
+	w65*)
+		basic_machine=w65-wdc
+		os=-none
+		;;
+	w89k-*)
+		basic_machine=hppa1.1-winbond
+		os=-proelf
+		;;
+	xbox)
+		basic_machine=i686-pc
+		os=-mingw32
+		;;
+	xps | xps100)
+		basic_machine=xps100-honeywell
+		;;
+	ymp)
+		basic_machine=ymp-cray
+		os=-unicos
+		;;
+	z8k-*-coff)
+		basic_machine=z8k-unknown
+		os=-sim
+		;;
+	z80-*-coff)
+		basic_machine=z80-unknown
+		os=-sim
+		;;
+	none)
+		basic_machine=none-none
+		os=-none
+		;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+	w89k)
+		basic_machine=hppa1.1-winbond
+		;;
+	op50n)
+		basic_machine=hppa1.1-oki
+		;;
+	op60c)
+		basic_machine=hppa1.1-oki
+		;;
+	romp)
+		basic_machine=romp-ibm
+		;;
+	mmix)
+		basic_machine=mmix-knuth
+		;;
+	rs6000)
+		basic_machine=rs6000-ibm
+		;;
+	vax)
+		basic_machine=vax-dec
+		;;
+	pdp10)
+		# there are many clones, so DEC is not a safe bet
+		basic_machine=pdp10-unknown
+		;;
+	pdp11)
+		basic_machine=pdp11-dec
+		;;
+	we32k)
+		basic_machine=we32k-att
+		;;
+	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+		basic_machine=sh-unknown
+		;;
+	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+		basic_machine=sparc-sun
+		;;
+	cydra)
+		basic_machine=cydra-cydrome
+		;;
+	orion)
+		basic_machine=orion-highlevel
+		;;
+	orion105)
+		basic_machine=clipper-highlevel
+		;;
+	mac | mpw | mac-mpw)
+		basic_machine=m68k-apple
+		;;
+	pmac | pmac-mpw)
+		basic_machine=powerpc-apple
+		;;
+	*-unknown)
+		# Make sure to match an already-canonicalized machine name.
+		;;
+	*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+	*-digital*)
+		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+		;;
+	*-commodore*)
+		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+		;;
+	*)
+		;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+        # First match some system type aliases
+        # that might get confused with valid system types.
+	# -solaris* is a basic system type, with this one exception.
+        -auroraux)
+	        os=-auroraux
+		;;
+	-solaris1 | -solaris1.*)
+		os=`echo $os | sed -e 's|solaris1|sunos4|'`
+		;;
+	-solaris)
+		os=-solaris2
+		;;
+	-svr4*)
+		os=-sysv4
+		;;
+	-unixware*)
+		os=-sysv4.2uw
+		;;
+	-gnu/linux*)
+		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+		;;
+	# First accept the basic system types.
+	# The portable systems comes first.
+	# Each alternative MUST END IN A *, to match a version number.
+	# -sysv* is not here because it comes later, after sysvr4.
+	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+	      | -sym* | -kopensolaris* \
+	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+	      | -aos* | -aros* \
+	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+	      | -openbsd* | -solidbsd* \
+	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+	      | -chorusos* | -chorusrdb* | -cegcc* \
+	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+	      | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+	# Remember, each alternative MUST END IN *, to match a version number.
+		;;
+	-qnx*)
+		case $basic_machine in
+		    x86-* | i*86-*)
+			;;
+		    *)
+			os=-nto$os
+			;;
+		esac
+		;;
+	-nto-qnx*)
+		;;
+	-nto*)
+		os=`echo $os | sed -e 's|nto|nto-qnx|'`
+		;;
+	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+		;;
+	-mac*)
+		os=`echo $os | sed -e 's|mac|macos|'`
+		;;
+	-linux-dietlibc)
+		os=-linux-dietlibc
+		;;
+	-linux*)
+		os=`echo $os | sed -e 's|linux|linux-gnu|'`
+		;;
+	-sunos5*)
+		os=`echo $os | sed -e 's|sunos5|solaris2|'`
+		;;
+	-sunos6*)
+		os=`echo $os | sed -e 's|sunos6|solaris3|'`
+		;;
+	-opened*)
+		os=-openedition
+		;;
+        -os400*)
+		os=-os400
+		;;
+	-wince*)
+		os=-wince
+		;;
+	-osfrose*)
+		os=-osfrose
+		;;
+	-osf*)
+		os=-osf
+		;;
+	-utek*)
+		os=-bsd
+		;;
+	-dynix*)
+		os=-bsd
+		;;
+	-acis*)
+		os=-aos
+		;;
+	-atheos*)
+		os=-atheos
+		;;
+	-syllable*)
+		os=-syllable
+		;;
+	-386bsd)
+		os=-bsd
+		;;
+	-ctix* | -uts*)
+		os=-sysv
+		;;
+	-nova*)
+		os=-rtmk-nova
+		;;
+	-ns2 )
+		os=-nextstep2
+		;;
+	-nsk*)
+		os=-nsk
+		;;
+	# Preserve the version number of sinix5.
+	-sinix5.*)
+		os=`echo $os | sed -e 's|sinix|sysv|'`
+		;;
+	-sinix*)
+		os=-sysv4
+		;;
+        -tpf*)
+		os=-tpf
+		;;
+	-triton*)
+		os=-sysv3
+		;;
+	-oss*)
+		os=-sysv3
+		;;
+	-svr4)
+		os=-sysv4
+		;;
+	-svr3)
+		os=-sysv3
+		;;
+	-sysvr4)
+		os=-sysv4
+		;;
+	# This must come after -sysvr4.
+	-sysv*)
+		;;
+	-ose*)
+		os=-ose
+		;;
+	-es1800*)
+		os=-ose
+		;;
+	-xenix)
+		os=-xenix
+		;;
+	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+		os=-mint
+		;;
+	-aros*)
+		os=-aros
+		;;
+	-kaos*)
+		os=-kaos
+		;;
+	-zvmoe)
+		os=-zvmoe
+		;;
+	-dicos*)
+		os=-dicos
+		;;
+        -nacl*)
+	        ;;
+	-none)
+		;;
+	*)
+		# Get rid of the `-' at the beginning of $os.
+		os=`echo $os | sed 's/[^-]*-//'`
+		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+		exit 1
+		;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+        score-*)
+		os=-elf
+		;;
+        spu-*)
+		os=-elf
+		;;
+	*-acorn)
+		os=-riscix1.2
+		;;
+	arm*-rebel)
+		os=-linux
+		;;
+	arm*-semi)
+		os=-aout
+		;;
+        c4x-* | tic4x-*)
+        	os=-coff
+		;;
+	# This must come before the *-dec entry.
+	pdp10-*)
+		os=-tops20
+		;;
+	pdp11-*)
+		os=-none
+		;;
+	*-dec | vax-*)
+		os=-ultrix4.2
+		;;
+	m68*-apollo)
+		os=-domain
+		;;
+	i386-sun)
+		os=-sunos4.0.2
+		;;
+	m68000-sun)
+		os=-sunos3
+		# This also exists in the configure program, but was not the
+		# default.
+		# os=-sunos4
+		;;
+	m68*-cisco)
+		os=-aout
+		;;
+        mep-*)
+		os=-elf
+		;;
+	mips*-cisco)
+		os=-elf
+		;;
+	mips*-*)
+		os=-elf
+		;;
+	or32-*)
+		os=-coff
+		;;
+	*-tti)	# must be before sparc entry or we get the wrong os.
+		os=-sysv3
+		;;
+	sparc-* | *-sun)
+		os=-sunos4.1.1
+		;;
+	*-be)
+		os=-beos
+		;;
+	*-haiku)
+		os=-haiku
+		;;
+	*-ibm)
+		os=-aix
+		;;
+    	*-knuth)
+		os=-mmixware
+		;;
+	*-wec)
+		os=-proelf
+		;;
+	*-winbond)
+		os=-proelf
+		;;
+	*-oki)
+		os=-proelf
+		;;
+	*-hp)
+		os=-hpux
+		;;
+	*-hitachi)
+		os=-hiux
+		;;
+	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+		os=-sysv
+		;;
+	*-cbm)
+		os=-amigaos
+		;;
+	*-dg)
+		os=-dgux
+		;;
+	*-dolphin)
+		os=-sysv3
+		;;
+	m68k-ccur)
+		os=-rtu
+		;;
+	m88k-omron*)
+		os=-luna
+		;;
+	*-next )
+		os=-nextstep
+		;;
+	*-sequent)
+		os=-ptx
+		;;
+	*-crds)
+		os=-unos
+		;;
+	*-ns)
+		os=-genix
+		;;
+	i370-*)
+		os=-mvs
+		;;
+	*-next)
+		os=-nextstep3
+		;;
+	*-gould)
+		os=-sysv
+		;;
+	*-highlevel)
+		os=-bsd
+		;;
+	*-encore)
+		os=-bsd
+		;;
+	*-sgi)
+		os=-irix
+		;;
+	*-siemens)
+		os=-sysv4
+		;;
+	*-masscomp)
+		os=-rtu
+		;;
+	f30[01]-fujitsu | f700-fujitsu)
+		os=-uxpv
+		;;
+	*-rom68k)
+		os=-coff
+		;;
+	*-*bug)
+		os=-coff
+		;;
+	*-apple)
+		os=-macos
+		;;
+	*-atari*)
+		os=-mint
+		;;
+	*)
+		os=-none
+		;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+	*-unknown)
+		case $os in
+			-riscix*)
+				vendor=acorn
+				;;
+			-sunos*)
+				vendor=sun
+				;;
+			-cnk*|-aix*)
+				vendor=ibm
+				;;
+			-beos*)
+				vendor=be
+				;;
+			-hpux*)
+				vendor=hp
+				;;
+			-mpeix*)
+				vendor=hp
+				;;
+			-hiux*)
+				vendor=hitachi
+				;;
+			-unos*)
+				vendor=crds
+				;;
+			-dgux*)
+				vendor=dg
+				;;
+			-luna*)
+				vendor=omron
+				;;
+			-genix*)
+				vendor=ns
+				;;
+			-mvs* | -opened*)
+				vendor=ibm
+				;;
+			-os400*)
+				vendor=ibm
+				;;
+			-ptx*)
+				vendor=sequent
+				;;
+			-tpf*)
+				vendor=ibm
+				;;
+			-vxsim* | -vxworks* | -windiss*)
+				vendor=wrs
+				;;
+			-aux*)
+				vendor=apple
+				;;
+			-hms*)
+				vendor=hitachi
+				;;
+			-mpw* | -macos*)
+				vendor=apple
+				;;
+			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+				vendor=atari
+				;;
+			-vos*)
+				vendor=stratus
+				;;
+		esac
+		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+		;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/strace-4.5.20/configure b/strace-4.5.20/configure
new file mode 100755
index 0000000..8213bb3
--- /dev/null
+++ b/strace-4.5.20/configure
@@ -0,0 +1,7905 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.65 for strace 4.5.20.
+#
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+# Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+	expr "X$arg" : "X\\(.*\\)$as_nl";
+	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test "x$CONFIG_SHELL" = x; then
+  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+"
+  as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+  exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1"
+  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+  if (eval "$as_required") 2>/dev/null; then :
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  as_found=:
+  case $as_dir in #(
+	 /*)
+	   for as_base in sh bash ksh sh5; do
+	     # Try only shells that exist, to save several forks.
+	     as_shell=$as_dir/$as_base
+	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  CONFIG_SHELL=$as_shell as_have_required=yes
+		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  break 2
+fi
+fi
+	   done;;
+       esac
+  as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+      if test "x$CONFIG_SHELL" != x; then :
+  # We cannot yet assume a decent shell, so we have to provide a
+	# neutralization value for shells without unset; and this also
+	# works around shells that cannot unset nonexistent variables.
+	BASH_ENV=/dev/null
+	ENV=/dev/null
+	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+	export CONFIG_SHELL
+	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+    if test x$as_have_required = xno; then :
+  $as_echo "$0: This script requires a shell more modern than all"
+  $as_echo "$0: the shells that I found on your system."
+  if test x${ZSH_VERSION+set} = xset ; then
+    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+  else
+    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+  fi
+  exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+# as_fn_error ERROR [LINENO LOG_FD]
+# ---------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with status $?, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$?; test $as_status -eq 0 && as_status=1
+  if test "$3"; then
+    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  fi
+  $as_echo "$as_me: error: $1" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -p'
+  fi
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+	test -d "$1/.";
+      else
+	case $1 in #(
+	-*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='strace'
+PACKAGE_TARNAME='strace'
+PACKAGE_VERSION='4.5.20'
+PACKAGE_STRING='strace 4.5.20'
+PACKAGE_BUGREPORT=''
+PACKAGE_URL=''
+
+ac_unique_file="strace.c"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+LIBOBJS
+PERL
+WARNFLAGS
+EGREP
+GREP
+CPP
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+am__nodep
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+FREEBSD_FALSE
+FREEBSD_TRUE
+SVR4_FALSE
+SVR4_TRUE
+SUNOS4_FALSE
+SUNOS4_TRUE
+X86_64_FALSE
+X86_64_TRUE
+I386_FALSE
+I386_TRUE
+LINUX_FALSE
+LINUX_TRUE
+arch
+opsys
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_maintainer_mode
+enable_dependency_tracking
+'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval $ac_prev=\$ac_option
+    ac_prev=
+    continue
+  fi
+
+  case $ac_option in
+  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *)	ac_optarg=yes ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
+    datadir=$ac_optarg ;;
+
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
+  -enable-* | --enable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=\$ac_optarg ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst | --locals)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=\$ac_optarg ;;
+
+  -without-* | --without-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=no ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) as_fn_error "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information."
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    case $ac_envvar in #(
+      '' | [0-9]* | *[!_$as_cr_alnum]* )
+      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+    esac
+    eval $ac_envvar=\$ac_optarg
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  as_fn_error "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+  case $enable_option_checking in
+    no) ;;
+    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+  esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+		datadir sysconfdir sharedstatedir localstatedir includedir \
+		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+		libdir localedir mandir
+do
+  eval ac_val=\$$ac_var
+  # Remove trailing slashes.
+  case $ac_val in
+    */ )
+      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+      eval $ac_var=\$ac_val;;
+  esac
+  # Be sure to have absolute directory names.
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+  esac
+  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used." >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  as_fn_error "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  as_fn_error "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_myself" : 'X\(//\)[^/]' \| \
+	 X"$as_myself" : 'X\(//\)$' \| \
+	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r "$srcdir/$ac_unique_file"; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures strace 4.5.20 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR            user executables [EPREFIX/bin]
+  --sbindir=DIR           system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR        program executables [EPREFIX/libexec]
+  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --libdir=DIR            object code libraries [EPREFIX/lib]
+  --includedir=DIR        C header files [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
+  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR           info documentation [DATAROOTDIR/info]
+  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR            man documentation [DATAROOTDIR/man]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/strace]
+  --htmldir=DIR           html documentation [DOCDIR]
+  --dvidir=DIR            dvi documentation [DOCDIR]
+  --pdfdir=DIR            pdf documentation [DOCDIR]
+  --psdir=DIR             ps documentation [DOCDIR]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of strace 4.5.20:";;
+   esac
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-option-checking  ignore unrecognized --enable/--with options
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-maintainer-mode  enable make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer
+  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors
+
+Some influential environment variables:
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
+  CPP         C preprocessor
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to the package provider.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d "$ac_dir" ||
+      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+      continue
+    ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
+    else
+      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
+  done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+  cat <<\_ACEOF
+strace configure 4.5.20
+generated by GNU Autoconf 2.65
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+    ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_header_compiler=yes
+else
+  ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  ac_header_preproc=yes
+else
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+  yes:no: )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_header_mongrel
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+       $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=$ac_status
+fi
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
+# -------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_c_check_type ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=no"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+if (sizeof ($2))
+	 return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+if (sizeof (($2)))
+	    return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  eval "$3=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_type
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+	 test "$cross_compiling" = yes ||
+	 $as_test_x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
+# ----------------------------------------------------
+# Tries to find if the field MEMBER exists in type AGGR, after including
+# INCLUDES, setting cache variable VAR accordingly.
+ac_fn_c_check_member ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
+$as_echo_n "checking for $2.$3... " >&6; }
+if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$5
+int
+main ()
+{
+static $2 ac_aggr;
+if (ac_aggr.$3)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$4=yes"
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$5
+int
+main ()
+{
+static $2 ac_aggr;
+if (sizeof ac_aggr.$3)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$4=yes"
+else
+  eval "$4=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$4
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_member
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $2 innocuous_$2
+
+/* Tell GNU C headers to include stubs.  */
+#define __need_GNU_STUBS_H
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $2 (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$3=yes"
+else
+  if test "$GCC" = yes; then
+		     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#undef $2
+/* Declare this function with the same prototype as __builtin_$2.
+  This removes a warning about conflicting types for built-in function $2 */
+__typeof__(__builtin_$2) $2;
+__typeof__(__builtin_$2) *f = $2;
+
+int
+main ()
+{
+return f != $2;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+		   else
+		     eval "$3=no"
+		   fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_func
+
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
+ac_fn_c_check_decl ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5
+$as_echo_n "checking whether $2 is declared... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+#ifndef $2
+  (void) $2;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_decl
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by strace $as_me 4.5.20, which was
+generated by GNU Autoconf 2.65.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    $as_echo "PATH: $as_dir"
+  done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *\'*)
+      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+    2)
+      as_fn_append ac_configure_args1 " '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      as_fn_append ac_configure_args " '$ac_arg'"
+      ;;
+    esac
+  done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+  (set) 2>&1 |
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      sed -n \
+	"s/'\''/'\''\\\\'\'''\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
+    *)
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+)
+    echo
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      $as_echo "$ac_var='\''$ac_val'\''"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=\$$ac_var
+	case $ac_val in
+	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	esac
+	$as_echo "$ac_var='\''$ac_val'\''"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+      echo
+      cat confdefs.h
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      $as_echo "$as_me: caught signal $ac_signal"
+    $as_echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+  ac_site_file1=$CONFIG_SITE
+elif test "x$prefix" != xNONE; then
+  ac_site_file1=$prefix/share/config.site
+  ac_site_file2=$prefix/etc/config.site
+else
+  ac_site_file1=$ac_default_prefix/share/config.site
+  ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+  test "x$ac_site_file" = xNONE && continue
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
+    esac
+  fi
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	# differences in whitespace do not lead to failure.
+	ac_old_val_w=`echo x $ac_old_val`
+	ac_new_val_w=`echo x $ac_new_val`
+	if test "$ac_old_val_w" != "$ac_new_val_w"; then
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	  ac_cache_corrupted=:
+	else
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+	  eval $ac_var=\$ac_old_val
+	fi
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+ac_aux_dir=
+for ac_dir in . "$srcdir"/.; do
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  as_fn_error "cannot find install-sh, install.sh, or shtool in . \"$srcdir\"/." "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+
+ac_config_headers="$ac_config_headers config.h"
+
+am__api_version='1.11'
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+  ./ | .// | /[cC]/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    rm -rf conftest.one conftest.two conftest.dir
+	    echo one > conftest.one
+	    echo two > conftest.two
+	    mkdir conftest.dir
+	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+	      test -s conftest.one && test -s conftest.two &&
+	      test -s conftest.dir/conftest.one &&
+	      test -s conftest.dir/conftest.two
+	    then
+	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	      break 3
+	    fi
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+
+  done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    INSTALL=$ac_install_sh
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[\\\"\#\$\&\'\`$am_lf]*)
+    as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
+    as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+esac
+
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t "$srcdir/configure" conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$*" != "X $srcdir/configure conftest.file" \
+      && test "$*" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      as_fn_error "ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" "$LINENO" 5
+   fi
+
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   as_fn_error "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+test "$program_prefix" != NONE &&
+  program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+  if test "${ac_cv_path_mkdir+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in mkdir gmkdir; do
+	 for ac_exec_ext in '' $ac_executable_extensions; do
+	   { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+	     'mkdir (GNU coreutils) '* | \
+	     'mkdir (coreutils) '* | \
+	     'mkdir (fileutils) '4.1*)
+	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+	       break 3;;
+	   esac
+	 done
+       done
+  done
+IFS=$as_save_IFS
+
+fi
+
+  test -d ./--version && rmdir ./--version
+  if test "${ac_cv_path_mkdir+set}" = set; then
+    MKDIR_P="$ac_cv_path_mkdir -p"
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for MKDIR_P within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    MKDIR_P="$ac_install_sh -d"
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+  [\\/$]* | ?:[\\/]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AWK+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_AWK="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+	@echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  SET_MAKE=
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  am__isrc=' -I$(srcdir)'
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='strace'
+ VERSION='4.5.20'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
+    # Check whether --enable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then :
+  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
+else
+  USE_MAINTAINER_MODE=no
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
+   if test $USE_MAINTAINER_MODE = yes; then
+  MAINTAINER_MODE_TRUE=
+  MAINTAINER_MODE_FALSE='#'
+else
+  MAINTAINER_MODE_TRUE='#'
+  MAINTAINER_MODE_FALSE=
+fi
+
+  MAINT=$MAINTAINER_MODE_TRUE
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for supported operating system" >&5
+$as_echo_n "checking for supported operating system... " >&6; }
+case "$host_os" in
+*linux*)
+	opsys=linux
+
+$as_echo "#define LINUX 1" >>confdefs.h
+
+	;;
+sunos4*)
+	opsys=sunos4
+
+$as_echo "#define SUNOS4 1" >>confdefs.h
+
+	;;
+solaris2* | sysv[45]* | irix[56]*)
+	opsys=svr4
+
+$as_echo "#define SVR4 1" >>confdefs.h
+
+	case "$host_os" in
+	sysv4.2uw*)
+
+$as_echo "#define UNIXWARE 2" >>confdefs.h
+
+		;;
+	sysv5*)
+
+$as_echo "#define UNIXWARE 7" >>confdefs.h
+
+		;;
+	esac
+	;;
+freebsd*)
+	opsys=freebsd
+
+$as_echo "#define FREEBSD 1" >>confdefs.h
+
+	;;
+*)
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: NO!" >&5
+$as_echo "NO!" >&6; }
+	as_fn_error "operating system $host_os is not supported by strace" "$LINENO" 5
+	;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $opsys" >&5
+$as_echo "$opsys" >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for supported architecture" >&5
+$as_echo_n "checking for supported architecture... " >&6; }
+case "$host_cpu" in
+bfin)
+	arch=bfin
+
+$as_echo "#define BFIN 1" >>confdefs.h
+
+	;;
+i[3456]86|pentium)
+	arch=i386
+
+$as_echo "#define I386 1" >>confdefs.h
+
+	;;
+ia64)
+	arch=ia64
+
+$as_echo "#define IA64 1" >>confdefs.h
+
+	;;
+m68k)
+	arch=m68k
+
+$as_echo "#define M68K 1" >>confdefs.h
+
+	;;
+sparc64*)
+	arch=sparc64
+
+$as_echo "#define SPARC64 1" >>confdefs.h
+
+	;;
+sparc*)
+	arch=sparc
+
+$as_echo "#define SPARC 1" >>confdefs.h
+
+	;;
+mips*)
+	arch=mips
+
+$as_echo "#define MIPS 1" >>confdefs.h
+
+	;;
+alpha*)
+	arch=alpha
+
+$as_echo "#define ALPHA 1" >>confdefs.h
+
+	;;
+powerpc*)
+	arch=powerpc
+
+$as_echo "#define POWERPC 1" >>confdefs.h
+
+	;;
+arm*)
+	arch=arm
+
+$as_echo "#define ARM 1" >>confdefs.h
+
+	;;
+avr32*)
+	arch=avr32
+
+$as_echo "#define AVR32 1" >>confdefs.h
+
+	;;
+s390)
+	arch=s390
+
+$as_echo "#define S390 1" >>confdefs.h
+
+	;;
+s390x)
+	arch=s390x
+
+$as_echo "#define S390X 1" >>confdefs.h
+
+	;;
+hppa*|parisc*)
+	arch=hppa
+
+$as_echo "#define HPPA 1" >>confdefs.h
+
+	;;
+sh64*)
+	arch=sh64
+
+$as_echo "#define SH64 1" >>confdefs.h
+
+	;;
+sh*)
+	arch=sh
+
+$as_echo "#define SH 1" >>confdefs.h
+
+	;;
+x86?64*)
+	arch=x86_64
+
+$as_echo "#define X86_64 1" >>confdefs.h
+
+	;;
+cris|crisv10)
+	arch=crisv10
+
+$as_echo "#define CRISV10 1" >>confdefs.h
+
+	;;
+crisv32)
+	arch=crisv32
+
+$as_echo "#define CRISV32 1" >>confdefs.h
+
+	;;
+tile*)
+	arch=tile
+
+$as_echo "#define TILE 1" >>confdefs.h
+
+	;;
+*)
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: NO!" >&5
+$as_echo "NO!" >&6; }
+	as_fn_error "architecture $host_cpu is not supported by strace" "$LINENO" 5
+	;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $arch" >&5
+$as_echo "$arch" >&6; }
+
+
+
+
+ if test x$opsys = xlinux; then
+  LINUX_TRUE=
+  LINUX_FALSE='#'
+else
+  LINUX_TRUE='#'
+  LINUX_FALSE=
+fi
+
+ if test x$arch = xi386; then
+  I386_TRUE=
+  I386_FALSE='#'
+else
+  I386_TRUE='#'
+  I386_FALSE=
+fi
+
+ if test x$arch = xx86_64; then
+  X86_64_TRUE=
+  X86_64_FALSE='#'
+else
+  X86_64_TRUE='#'
+  X86_64_FALSE=
+fi
+
+ if test x$opsys = xsunos4; then
+  SUNOS4_TRUE=
+  SUNOS4_FALSE='#'
+else
+  SUNOS4_TRUE='#'
+  SUNOS4_FALSE=
+fi
+
+ if test x$opsys = xsvr4; then
+  SVR4_TRUE=
+  SVR4_FALSE='#'
+else
+  SVR4_TRUE='#'
+  SVR4_FALSE=
+fi
+
+ if test x$opsys = xfreebsd; then
+  FREEBSD_TRUE=
+  FREEBSD_FALSE='#'
+else
+  FREEBSD_TRUE='#'
+  FREEBSD_FALSE=
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  fi
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "no acceptable C compiler found in \$PATH
+See \`config.log' for more details." "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link_default") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+	;;
+    [ab].out )
+	# We found the default executable, but exeext='' is most
+	# certainly right.
+	break;;
+    *.* )
+	if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+	then :; else
+	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	fi
+	# We set ac_cv_exeext here because the later test for it is not
+	# safe: cross compilers may not add the suffix if given an `-o'
+	# argument, so we may need to know it at that point already.
+	# Even if this section looks crufty: it has the advantage of
+	# actually working.
+	break;;
+    * )
+	break;;
+  esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+  ac_file=''
+fi
+if test -z "$ac_file"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ as_fn_set_status 77
+as_fn_error "C compiler cannot create executables
+See \`config.log' for more details." "$LINENO" 5; }; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	  break;;
+    * ) break;;
+  esac
+done
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if test "${ac_cv_objext+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+else
+  CFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+  enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+  am__nodep='_no'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
+
+depcc="$CC"   am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
+else
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
+fi
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
+fi
+
+    done
+    ac_cv_prog_CPP=$CPP
+
+fi
+  CPP=$ac_cv_prog_CPP
+else
+  ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$GREP"; then
+  ac_path_GREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in grep ggrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_GREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_GREP"; then
+    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     if test -z "$EGREP"; then
+  ac_path_EGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in egrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_EGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_EGREP"; then
+    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stdc=yes
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+		  inttypes.h stdint.h unistd.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+eval as_val=\$$as_ac_Header
+   if test "x$as_val" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+  ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
+if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+  MINIX=yes
+else
+  MINIX=
+fi
+
+
+  if test "$MINIX" = yes; then
+
+$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
+
+
+$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
+
+
+$as_echo "#define _MINIX 1" >>confdefs.h
+
+  fi
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#	  define __EXTENSIONS__ 1
+	  $ac_includes_default
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_safe_to_define___extensions__=yes
+else
+  ac_cv_safe_to_define___extensions__=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
+$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
+  test $ac_cv_safe_to_define___extensions__ = yes &&
+    $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
+
+  $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
+
+  $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
+
+  $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+
+  $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for primary include directory" >&5
+$as_echo_n "checking for primary include directory... " >&6; }
+includedir=/usr/include
+if test -n "$GCC"
+then
+	>conftest.c
+	new_includedir=`
+		$CC -v -E conftest.c 2>&1 | $AWK '
+			/^End of search list/ { print last; exit }
+			{ last = $1 }
+		'
+	`
+	rm -f conftest.c
+	if test -n "$new_includedir" && test -d "$new_includedir"
+	then
+		includedir=$new_includedir
+	fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $includedir" >&5
+$as_echo "$includedir" >&6; }
+
+
+if test "x$opsys" = "xsunos4" && test "x$arch" = "xsparc"
+then
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for valid machine include directory" >&5
+$as_echo_n "checking for valid machine include directory... " >&6; }
+	if test -d "$includedir/sun4"
+	then
+		rm -f machine
+		ln -s $includedir/sun4 machine
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define SUNOS4_KERNEL_ARCH_KLUDGE 1" >>confdefs.h
+
+	else
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+	fi
+fi
+
+
+if test -z "$WARNFLAGS"
+then
+	if test -n "$GCC"
+	then
+		# If we're using gcc we want warning flags.
+		WARNFLAGS=-Wall
+	fi
+fi
+
+if test "x$opsys" = "xsunos4"
+then
+	if test -n "$GCC"
+	then
+		# SunOS 4.x header files don't declare int functions.
+		WARNFLAGS="$WARNFLAGS -Wno-implicit"
+	fi
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
+fi
+
+    done
+    ac_cv_prog_CPP=$CPP
+
+fi
+  CPP=$ac_cv_prog_CPP
+else
+  ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+if test $ac_cv_c_compiler_gnu = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5
+$as_echo_n "checking whether $CC needs -traditional... " >&6; }
+if test "${ac_cv_prog_gcc_traditional+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+    ac_pattern="Autoconf.*'x'"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sgtty.h>
+Autoconf TIOCGETP
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "$ac_pattern" >/dev/null 2>&1; then :
+  ac_cv_prog_gcc_traditional=yes
+else
+  ac_cv_prog_gcc_traditional=no
+fi
+rm -f conftest*
+
+
+  if test $ac_cv_prog_gcc_traditional = no; then
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <termio.h>
+Autoconf TCGETA
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "$ac_pattern" >/dev/null 2>&1; then :
+  ac_cv_prog_gcc_traditional=yes
+fi
+rm -f conftest*
+
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gcc_traditional" >&5
+$as_echo "$ac_cv_prog_gcc_traditional" >&6; }
+  if test $ac_cv_prog_gcc_traditional = yes; then
+    CC="$CC -traditional"
+  fi
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
+$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
+if test "${ac_cv_c_const+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+/* FIXME: Include the comments suggested by Paul. */
+#ifndef __cplusplus
+  /* Ultrix mips cc rejects this.  */
+  typedef int charset[2];
+  const charset cs;
+  /* SunOS 4.1.1 cc rejects this.  */
+  char const *const *pcpcc;
+  char **ppc;
+  /* NEC SVR4.0.2 mips cc rejects this.  */
+  struct point {int x, y;};
+  static struct point const zero = {0,0};
+  /* AIX XL C 1.02.0.0 rejects this.
+     It does not let you subtract one const X* pointer from another in
+     an arm of an if-expression whose if-part is not a constant
+     expression */
+  const char *g = "string";
+  pcpcc = &g + (g ? g-g : 0);
+  /* HPUX 7.0 cc rejects these. */
+  ++pcpcc;
+  ppc = (char**) pcpcc;
+  pcpcc = (char const *const *) ppc;
+  { /* SCO 3.2v4 cc rejects this.  */
+    char *t;
+    char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+    *t++ = 0;
+    if (s) return 0;
+  }
+  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
+    int x[] = {25, 17};
+    const int *foo = &x[0];
+    ++foo;
+  }
+  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+    typedef const int *iptr;
+    iptr p = 0;
+    ++p;
+  }
+  { /* AIX XL C 1.02.0.0 rejects this saying
+       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+    struct s { int j; const int *ap[3]; };
+    struct s *b; b->j = 5;
+  }
+  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+    const int foo = 10;
+    if (!foo) return 0;
+  }
+  return !cs[0] && !zero.x;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_const=yes
+else
+  ac_cv_c_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
+$as_echo "$ac_cv_c_const" >&6; }
+if test $ac_cv_c_const = no; then
+
+$as_echo "#define const /**/" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stdc=yes
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
+$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
+if test "${ac_cv_header_stdbool_h+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <stdbool.h>
+#ifndef bool
+ "error: bool is not defined"
+#endif
+#ifndef false
+ "error: false is not defined"
+#endif
+#if false
+ "error: false is not 0"
+#endif
+#ifndef true
+ "error: true is not defined"
+#endif
+#if true != 1
+ "error: true is not 1"
+#endif
+#ifndef __bool_true_false_are_defined
+ "error: __bool_true_false_are_defined is not defined"
+#endif
+
+	struct s { _Bool s: 1; _Bool t; } s;
+
+	char a[true == 1 ? 1 : -1];
+	char b[false == 0 ? 1 : -1];
+	char c[__bool_true_false_are_defined == 1 ? 1 : -1];
+	char d[(bool) 0.5 == true ? 1 : -1];
+	bool e = &s;
+	char f[(_Bool) 0.0 == false ? 1 : -1];
+	char g[true];
+	char h[sizeof (_Bool)];
+	char i[sizeof s.t];
+	enum { j = false, k = true, l = false * true, m = true * 256 };
+	/* The following fails for
+	   HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
+	_Bool n[m];
+	char o[sizeof n == m * sizeof n[0] ? 1 : -1];
+	char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
+#	if defined __xlc__ || defined __GNUC__
+	 /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0
+	    reported by James Lemley on 2005-10-05; see
+	    http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
+	    This test is not quite right, since xlc is allowed to
+	    reject this program, as the initializer for xlcbug is
+	    not one of the forms that C requires support for.
+	    However, doing the test right would require a runtime
+	    test, and that would make cross-compilation harder.
+	    Let us hope that IBM fixes the xlc bug, and also adds
+	    support for this kind of constant expression.  In the
+	    meantime, this test will reject xlc, which is OK, since
+	    our stdbool.h substitute should suffice.  We also test
+	    this with GCC, where it should work, to detect more
+	    quickly whether someone messes up the test in the
+	    future.  */
+	 char digs[] = "0123456789";
+	 int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1);
+#	endif
+	/* Catch a bug in an HP-UX C compiler.  See
+	   http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+	   http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
+	 */
+	_Bool q = true;
+	_Bool *pq = &q;
+
+int
+main ()
+{
+
+	*pq |= q;
+	*pq |= ! q;
+	/* Refer to every declared value, to avoid compiler optimizations.  */
+	return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
+		+ !m + !n + !o + !p + !q + !pq);
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stdbool_h=yes
+else
+  ac_cv_header_stdbool_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5
+$as_echo "$ac_cv_header_stdbool_h" >&6; }
+ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default"
+if test "x$ac_cv_type__Bool" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE__BOOL 1
+_ACEOF
+
+
+fi
+
+if test $ac_cv_header_stdbool_h = yes; then
+
+$as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h
+
+fi
+
+ac_header_dirent=no
+for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
+  as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
+$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <$ac_hdr>
+
+int
+main ()
+{
+if ((DIR *) 0)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_ac_Header=yes"
+else
+  eval "$as_ac_Header=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$as_ac_Header
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+eval as_val=\$$as_ac_Header
+   if test "x$as_val" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
+_ACEOF
+
+ac_header_dirent=$ac_hdr; break
+fi
+
+done
+# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
+if test $ac_header_dirent = dirent.h; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
+$as_echo_n "checking for library containing opendir... " >&6; }
+if test "${ac_cv_search_opendir+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char opendir ();
+int
+main ()
+{
+return opendir ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dir; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_opendir=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_opendir+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_opendir+set}" = set; then :
+
+else
+  ac_cv_search_opendir=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
+$as_echo "$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
+$as_echo_n "checking for library containing opendir... " >&6; }
+if test "${ac_cv_search_opendir+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char opendir ();
+int
+main ()
+{
+return opendir ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' x; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_opendir=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_opendir+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_opendir+set}" = set; then :
+
+else
+  ac_cv_search_opendir=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
+$as_echo "$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
+$as_echo_n "checking whether stat file-mode macros are broken... " >&6; }
+if test "${ac_cv_header_stat_broken+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#if defined S_ISBLK && defined S_IFDIR
+extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1];
+#endif
+
+#if defined S_ISBLK && defined S_IFCHR
+extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1];
+#endif
+
+#if defined S_ISLNK && defined S_IFREG
+extern char c3[S_ISLNK (S_IFREG) ? -1 : 1];
+#endif
+
+#if defined S_ISSOCK && defined S_IFREG
+extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1];
+#endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stat_broken=no
+else
+  ac_cv_header_stat_broken=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5
+$as_echo "$ac_cv_header_stat_broken" >&6; }
+if test $ac_cv_header_stat_broken = yes; then
+
+$as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h
+
+fi
+
+ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "$ac_includes_default"
+if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_blocks" "ac_cv_member_struct_stat_st_blocks" "$ac_includes_default"
+if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_BLOCKS 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_aclcnt" "ac_cv_member_struct_stat_st_aclcnt" "$ac_includes_default"
+if test "x$ac_cv_member_struct_stat_st_aclcnt" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_ACLCNT 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_flags" "ac_cv_member_struct_stat_st_flags" "$ac_includes_default"
+if test "x$ac_cv_member_struct_stat_st_flags" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_FLAGS 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_fstype" "ac_cv_member_struct_stat_st_fstype" "$ac_includes_default"
+if test "x$ac_cv_member_struct_stat_st_fstype" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_FSTYPE 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_gen" "ac_cv_member_struct_stat_st_gen" "$ac_includes_default"
+if test "x$ac_cv_member_struct_stat_st_gen" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_GEN 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_level" "ac_cv_member_struct_stat_st_level" "$ac_includes_default"
+if test "x$ac_cv_member_struct_stat_st_level" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_LEVEL 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_rdev" "ac_cv_member_struct_stat_st_rdev" "$ac_includes_default"
+if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_RDEV 1
+_ACEOF
+
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stat64 in (asm|sys)/stat.h" >&5
+$as_echo_n "checking for stat64 in (asm|sys)/stat.h... " >&6; }
+if test "${ac_cv_type_stat64+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+#ifdef LINUX
+#include <linux/types.h>
+#include <asm/stat.h>
+#else
+#include <sys/stat.h>
+#endif
+int
+main ()
+{
+struct stat64 st;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_type_stat64=yes
+else
+  ac_cv_type_stat64=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_stat64" >&5
+$as_echo "$ac_cv_type_stat64" >&6; }
+if test "$ac_cv_type_stat64" = yes
+then
+
+$as_echo "#define HAVE_STAT64 1" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for statfs64 in sys/vfs.h" >&5
+$as_echo_n "checking for statfs64 in sys/vfs.h... " >&6; }
+if test "${ac_cv_type_statfs64+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef LINUX
+#include <linux/types.h>
+#include <sys/vfs.h>
+#endif
+int
+main ()
+{
+struct statfs64 st;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_type_statfs64=yes
+else
+  ac_cv_type_statfs64=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_statfs64" >&5
+$as_echo "$ac_cv_type_statfs64" >&6; }
+if test "$ac_cv_type_statfs64" = yes
+then
+
+$as_echo "#define HAVE_STATFS64 1" >>confdefs.h
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
+$as_echo_n "checking return type of signal handlers... " >&6; }
+if test "${ac_cv_type_signal+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <signal.h>
+
+int
+main ()
+{
+return *(signal (0, 0)) (0) == 1;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_type_signal=int
+else
+  ac_cv_type_signal=void
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5
+$as_echo "$ac_cv_type_signal" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+#define RETSIGTYPE $ac_cv_type_signal
+_ACEOF
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
+$as_echo_n "checking for uid_t in sys/types.h... " >&6; }
+if test "${ac_cv_type_uid_t+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "uid_t" >/dev/null 2>&1; then :
+  ac_cv_type_uid_t=yes
+else
+  ac_cv_type_uid_t=no
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5
+$as_echo "$ac_cv_type_uid_t" >&6; }
+if test $ac_cv_type_uid_t = no; then
+
+$as_echo "#define uid_t int" >>confdefs.h
+
+
+$as_echo "#define gid_t int" >>confdefs.h
+
+fi
+
+ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default"
+if test "x$ac_cv_type_mode_t" = x""yes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define mode_t int
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking type of array argument to getgroups" >&5
+$as_echo_n "checking type of array argument to getgroups... " >&6; }
+if test "${ac_cv_type_getgroups+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ac_cv_type_getgroups=cross
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Thanks to Mike Rendell for this test.  */
+$ac_includes_default
+#define NGID 256
+#undef MAX
+#define MAX(x, y) ((x) > (y) ? (x) : (y))
+
+int
+main ()
+{
+  gid_t gidset[NGID];
+  int i, n;
+  union { gid_t gval; long int lval; }  val;
+
+  val.lval = -1;
+  for (i = 0; i < NGID; i++)
+    gidset[i] = val.gval;
+  n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1,
+		 gidset);
+  /* Exit non-zero if getgroups seems to require an array of ints.  This
+     happens when gid_t is short int but getgroups modifies an array
+     of ints.  */
+  return n > 0 && gidset[n] != val.gval;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_type_getgroups=gid_t
+else
+  ac_cv_type_getgroups=int
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+if test $ac_cv_type_getgroups = cross; then
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <unistd.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "getgroups.*int.*gid_t" >/dev/null 2>&1; then :
+  ac_cv_type_getgroups=gid_t
+else
+  ac_cv_type_getgroups=int
+fi
+rm -f conftest*
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_getgroups" >&5
+$as_echo "$ac_cv_type_getgroups" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+#define GETGROUPS_T $ac_cv_type_getgroups
+_ACEOF
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/types.h defines makedev" >&5
+$as_echo_n "checking whether sys/types.h defines makedev... " >&6; }
+if test "${ac_cv_header_sys_types_h_makedev+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+int
+main ()
+{
+return makedev(0, 0);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_header_sys_types_h_makedev=yes
+else
+  ac_cv_header_sys_types_h_makedev=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_types_h_makedev" >&5
+$as_echo "$ac_cv_header_sys_types_h_makedev" >&6; }
+
+if test $ac_cv_header_sys_types_h_makedev = no; then
+ac_fn_c_check_header_mongrel "$LINENO" "sys/mkdev.h" "ac_cv_header_sys_mkdev_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_mkdev_h" = x""yes; then :
+
+$as_echo "#define MAJOR_IN_MKDEV 1" >>confdefs.h
+
+fi
+
+
+
+  if test $ac_cv_header_sys_mkdev_h = no; then
+    ac_fn_c_check_header_mongrel "$LINENO" "sys/sysmacros.h" "ac_cv_header_sys_sysmacros_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_sysmacros_h" = x""yes; then :
+
+$as_echo "#define MAJOR_IN_SYSMACROS 1" >>confdefs.h
+
+fi
+
+
+  fi
+fi
+
+ac_fn_c_check_type "$LINENO" "sig_atomic_t" "ac_cv_type_sig_atomic_t" "#include <signal.h>
+"
+if test "x$ac_cv_type_sig_atomic_t" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_SIG_ATOMIC_T 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_type "$LINENO" "siginfo_t" "ac_cv_type_siginfo_t" "#include <signal.h>
+"
+if test "x$ac_cv_type_siginfo_t" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_SIGINFO_T 1
+_ACEOF
+
+
+fi
+
+ac_fn_c_check_member "$LINENO" "struct sockaddr_in6" "sin6_scope_id" "ac_cv_member_struct_sockaddr_in6_sin6_scope_id" "#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+"
+if test "x$ac_cv_member_struct_sockaddr_in6_sin6_scope_id" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID 1
+_ACEOF
+
+
+fi
+
+ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default"
+if test "x$ac_cv_type_long_long" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_LONG_LONG 1
+_ACEOF
+
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for little endian long long" >&5
+$as_echo_n "checking for little endian long long... " >&6; }
+if test "${ac_cv_have_little_endian_long_long+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  # Should try to guess here
+ac_cv_have_little_endian_long_long=no
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int main () {
+	union {
+		long long ll;
+		long l [2];
+	} u;
+	u.ll = 0x12345678;
+	if (u.l[0] == 0x12345678)
+		return 0;
+	return 1;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_have_little_endian_long_long=yes
+else
+  ac_cv_have_little_endian_long_long=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_little_endian_long_long" >&5
+$as_echo "$ac_cv_have_little_endian_long_long" >&6; }
+if test "$ac_cv_have_little_endian_long_long" = yes
+then
+
+$as_echo "#define HAVE_LITTLE_ENDIAN_LONG_LONG 1" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long off_t" >&5
+$as_echo_n "checking for long long off_t... " >&6; }
+if test "${ac_cv_have_long_long_off_t+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  # Should try to guess here
+ac_cv_have_long_long_off_t=no
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+main () {
+	if (sizeof (off_t) == sizeof (long long) &&
+	    sizeof (off_t) > sizeof (long))
+	    return 0;
+	return 1;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_have_long_long_off_t=yes
+else
+  ac_cv_have_long_long_off_t=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_long_long_off_t" >&5
+$as_echo "$ac_cv_have_long_long_off_t" >&6; }
+if test "$ac_cv_have_long_long_off_t" = yes
+then
+
+$as_echo "#define HAVE_LONG_LONG_OFF_T 1" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long rlim_t" >&5
+$as_echo_n "checking for long long rlim_t... " >&6; }
+if test "${ac_cv_have_long_long_rlim_t+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  # Should try to guess here
+ac_cv_have_long_long_rlim_t=no
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+main () {
+	if (sizeof (rlim_t) == sizeof (long long) &&
+	    sizeof (rlim_t) > sizeof (long))
+	    return 0;
+	return 1;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_have_long_long_rlim_t=yes
+else
+  ac_cv_have_long_long_rlim_t=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_long_long_rlim_t" >&5
+$as_echo "$ac_cv_have_long_long_rlim_t" >&6; }
+if test "$ac_cv_have_long_long_rlim_t" = yes
+then
+
+$as_echo "#define HAVE_LONG_LONG_RLIM_T 1" >>confdefs.h
+
+fi
+
+ac_fn_c_check_type "$LINENO" "struct opthdr" "ac_cv_type_struct_opthdr" "#include <sys/socket.h>
+"
+if test "x$ac_cv_type_struct_opthdr" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_OPTHDR 1
+_ACEOF
+
+
+fi
+
+ac_fn_c_check_type "$LINENO" "struct t_opthdr" "ac_cv_type_struct_t_opthdr" "#include <sys/tiuser.h>
+"
+if test "x$ac_cv_type_struct_t_opthdr" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_T_OPTHDR 1
+_ACEOF
+
+
+fi
+
+
+if test x$opsys != xlinux; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lnsl" >&5
+$as_echo_n "checking for main in -lnsl... " >&6; }
+if test "${ac_cv_lib_nsl_main+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lnsl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+int
+main ()
+{
+return main ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_nsl_main=yes
+else
+  ac_cv_lib_nsl_main=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_main" >&5
+$as_echo "$ac_cv_lib_nsl_main" >&6; }
+if test "x$ac_cv_lib_nsl_main" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBNSL 1
+_ACEOF
+
+  LIBS="-lnsl $LIBS"
+
+fi
+
+fi
+
+for ac_func in  \
+	fork \
+	getdents \
+	if_indextoname \
+	inet_ntop \
+	mctl \
+	prctl \
+	pread \
+	sendmsg \
+	sigaction \
+	strerror \
+	strsignal \
+	sys_siglist \
+	_sys_siglist \
+
+do :
+  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+eval as_val=\$$as_ac_var
+   if test "x$as_val" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+for ac_header in  \
+	inttypes.h \
+	ioctls.h \
+	libaio.h \
+	mqueue.h \
+	poll.h \
+	stropts.h \
+	termio.h \
+	sys/acl.h \
+	sys/aio.h \
+	sys/asynch.h \
+	sys/conf.h \
+	sys/door.h \
+	sys/epoll.h \
+	sys/filio.h \
+	sys/ioctl.h \
+	sys/nscsys.h \
+	sys/poll.h \
+	sys/ptrace.h \
+	sys/reg.h \
+	sys/stream.h \
+	sys/sysconfig.h \
+	sys/tihdr.h \
+	sys/tiuser.h \
+	sys/uio.h \
+	sys/vfs.h \
+	asm/cachectl.h \
+	asm/sysmips.h \
+	linux/capability.h \
+	linux/ptrace.h \
+	linux/utsname.h \
+
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+eval as_val=\$$as_ac_Header
+   if test "x$as_val" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in linux/icmp.h linux/in6.h linux/netlink.h linux/if_packet.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#include <stddef.h>
+#include <sys/socket.h>
+#include <asm/types.h>
+"
+eval as_val=\$$as_ac_Header
+   if test "x$as_val" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in asm/sigcontext.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "asm/sigcontext.h" "ac_cv_header_asm_sigcontext_h" "#include <signal.h>
+"
+if test "x$ac_cv_header_asm_sigcontext_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_ASM_SIGCONTEXT_H 1
+_ACEOF
+
+fi
+
+done
+
+ac_fn_c_check_type "$LINENO" "struct sigcontext_struct" "ac_cv_type_struct_sigcontext_struct" "#include <signal.h>
+"
+if test "x$ac_cv_type_struct_sigcontext_struct" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_SIGCONTEXT_STRUCT 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_type "$LINENO" "struct sigcontext" "ac_cv_type_struct_sigcontext" "#include <signal.h>
+"
+if test "x$ac_cv_type_struct_sigcontext" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_SIGCONTEXT 1
+_ACEOF
+
+
+fi
+
+for ac_header in netinet/tcp.h netinet/udp.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#include <netinet/in.h>
+"
+eval as_val=\$$as_ac_Header
+   if test "x$as_val" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for MP procfs" >&5
+$as_echo_n "checking for MP procfs... " >&6; }
+if test "${ac_cv_mp_procfs+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+
+# Guess or punt.
+case "$host_os" in
+svr4.2*|svr5*)
+	ac_cv_mp_procfs=yes
+	;;
+*)
+	ac_cv_mp_procfs=no
+	;;
+esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <stdio.h>
+#include <signal.h>
+#include <sys/procfs.h>
+
+main()
+{
+	int pid;
+	char proc[32];
+	FILE *ctl;
+	FILE *status;
+	int cmd;
+	struct pstatus pstatus;
+
+	if ((pid = fork()) == 0) {
+		pause();
+		exit(0);
+	}
+	sprintf(proc, "/proc/%d/ctl", pid);
+	if ((ctl = fopen(proc, "w")) == NULL)
+		goto fail;
+	sprintf(proc, "/proc/%d/status", pid);
+	if ((status = fopen (proc, "r")) == NULL)
+		goto fail;
+	cmd = PCSTOP;
+	if (write (fileno (ctl), &cmd, sizeof cmd) < 0)
+		goto fail;
+	if (read (fileno (status), &pstatus, sizeof pstatus) < 0)
+		goto fail;
+	kill(pid, SIGKILL);
+	exit(0);
+fail:
+	kill(pid, SIGKILL);
+	exit(1);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_mp_procfs=yes
+else
+  ac_cv_mp_procfs=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_mp_procfs" >&5
+$as_echo "$ac_cv_mp_procfs" >&6; }
+if test "$ac_cv_mp_procfs" = yes
+then
+
+$as_echo "#define HAVE_MP_PROCFS 1" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pollable procfs" >&5
+$as_echo_n "checking for pollable procfs... " >&6; }
+if test "${ac_cv_pollable_procfs+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+
+# Guess or punt.
+case "$host_os" in
+solaris2*|irix5*|svr4.2uw*|svr5*)
+	ac_cv_pollable_procfs=yes
+	;;
+*)
+	ac_cv_pollable_procfs=no
+	;;
+esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <stdio.h>
+#include <signal.h>
+#include <sys/procfs.h>
+#include <sys/stropts.h>
+#include <poll.h>
+
+#ifdef HAVE_MP_PROCFS
+#define PIOCSTOP	PCSTOP
+#define POLLWANT	POLLWRNORM
+#define PROC		"/proc/%d/ctl"
+#define PROC_MODE	"w"
+int IOCTL (int fd, int cmd, int arg) {
+	return write (fd, &cmd, sizeof cmd);
+}
+#else
+#define POLLWANT	POLLPRI
+#define	PROC		"/proc/%d"
+#define PROC_MODE	"r+"
+#define IOCTL		ioctl
+#endif
+
+main()
+{
+	int pid;
+	char proc[32];
+	FILE *pfp;
+	struct pollfd pfd;
+
+	if ((pid = fork()) == 0) {
+		pause();
+		exit(0);
+	}
+	sprintf(proc, PROC, pid);
+	if ((pfp = fopen(proc, PROC_MODE)) == NULL)
+		goto fail;
+	if (IOCTL(fileno(pfp), PIOCSTOP, NULL) < 0)
+		goto fail;
+	pfd.fd = fileno(pfp);
+	pfd.events = POLLWANT;
+	if (poll(&pfd, 1, 0) < 0)
+		goto fail;
+	if (!(pfd.revents & POLLWANT))
+		goto fail;
+	kill(pid, SIGKILL);
+	exit(0);
+fail:
+	kill(pid, SIGKILL);
+	exit(1);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_pollable_procfs=yes
+else
+  ac_cv_pollable_procfs=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_pollable_procfs" >&5
+$as_echo "$ac_cv_pollable_procfs" >&6; }
+if test "$ac_cv_pollable_procfs" = yes
+then
+
+$as_echo "#define HAVE_POLLABLE_PROCFS 1" >>confdefs.h
+
+fi
+
+
+ac_fn_c_check_member "$LINENO" "struct msghdr" "msg_control" "ac_cv_member_struct_msghdr_msg_control" "#include <sys/socket.h>
+"
+if test "x$ac_cv_member_struct_msghdr_msg_control" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_MSGHDR_MSG_CONTROL 1
+_ACEOF
+
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pr_syscall in struct prstatus" >&5
+$as_echo_n "checking for pr_syscall in struct prstatus... " >&6; }
+if test "${ac_cv_struct_pr_syscall+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/procfs.h>
+int
+main ()
+{
+#ifdef HAVE_MP_PROCFS
+pstatus_t s;
+s.pr_lwp.pr_syscall
+#else
+prstatus_t s;
+s.pr_syscall
+#endif
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_struct_pr_syscall=yes
+else
+  ac_cv_struct_pr_syscall=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_pr_syscall" >&5
+$as_echo "$ac_cv_struct_pr_syscall" >&6; }
+if test "$ac_cv_struct_pr_syscall" = yes
+then
+
+$as_echo "#define HAVE_PR_SYSCALL 1" >>confdefs.h
+
+fi
+
+
+ac_fn_c_check_member "$LINENO" "struct T_conn_res" "QUEUE_ptr" "ac_cv_member_struct_T_conn_res_QUEUE_ptr" "#include <sys/stream.h>
+#include <sys/tihdr.h>
+"
+if test "x$ac_cv_member_struct_T_conn_res_QUEUE_ptr" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_T_CONN_RES_QUEUE_PTR 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct T_conn_res" "ACCEPTOR_id" "ac_cv_member_struct_T_conn_res_ACCEPTOR_id" "#include <sys/stream.h>
+#include <sys/tihdr.h>
+"
+if test "x$ac_cv_member_struct_T_conn_res_ACCEPTOR_id" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_T_CONN_RES_ACCEPTOR_ID 1
+_ACEOF
+
+
+fi
+
+
+ac_fn_c_check_type "$LINENO" "struct __old_kernel_stat" "ac_cv_type_struct___old_kernel_stat" "#include <asm/stat.h>
+"
+if test "x$ac_cv_type_struct___old_kernel_stat" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT___OLD_KERNEL_STAT 1
+_ACEOF
+
+
+fi
+
+
+ac_fn_c_check_type "$LINENO" "struct pt_all_user_regs" "ac_cv_type_struct_pt_all_user_regs" "#include <sys/ptrace.h>
+"
+if test "x$ac_cv_type_struct_pt_all_user_regs" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_PT_ALL_USER_REGS 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_type "$LINENO" "struct ia64_fpreg" "ac_cv_type_struct_ia64_fpreg" "#include <sys/ptrace.h>
+"
+if test "x$ac_cv_type_struct_ia64_fpreg" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_IA64_FPREG 1
+_ACEOF
+
+
+fi
+
+
+ac_fn_c_check_type "$LINENO" "struct user_desc" "ac_cv_type_struct_user_desc" "#include <asm/ldt.h>
+"
+if test "x$ac_cv_type_struct_user_desc" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_USER_DESC 1
+_ACEOF
+
+
+fi
+
+
+ac_fn_c_check_member "$LINENO" "struct dqblk" "dqb_curblocks" "ac_cv_member_struct_dqblk_dqb_curblocks" "#include <sys/quota.h>
+"
+if test "x$ac_cv_member_struct_dqblk_dqb_curblocks" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_DQBLK_DQB_CURBLOCKS 1
+_ACEOF
+
+
+fi
+
+
+ac_fn_c_check_member "$LINENO" "struct sigcontext" "sc_hi2" "ac_cv_member_struct_sigcontext_sc_hi2" "#include <signal.h>
+#ifdef HAVE_ASM_SIGCONTEXT_H
+# include <asm/sigcontext.h>
+#endif
+"
+if test "x$ac_cv_member_struct_sigcontext_sc_hi2" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_SIGCONTEXT_SC_HI2 1
+_ACEOF
+
+
+fi
+
+
+
+ac_fn_c_check_decl "$LINENO" "sys_errlist" "ac_cv_have_decl_sys_errlist" "$ac_includes_default"
+if test "x$ac_cv_have_decl_sys_errlist" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_SYS_ERRLIST $ac_have_decl
+_ACEOF
+
+ac_fn_c_check_decl "$LINENO" "sys_siglist" "ac_cv_have_decl_sys_siglist" "#include <signal.h>
+"
+if test "x$ac_cv_have_decl_sys_siglist" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_SYS_SIGLIST $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "_sys_siglist" "ac_cv_have_decl__sys_siglist" "#include <signal.h>
+"
+if test "x$ac_cv_have_decl__sys_siglist" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL__SYS_SIGLIST $ac_have_decl
+_ACEOF
+
+
+# Extract the first word of "perl", so it can be a program name with args.
+set dummy perl; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PERL+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PERL in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+PERL=$ac_cv_path_PERL
+if test -n "$PERL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
+$as_echo "$PERL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+ac_config_files="$ac_config_files Makefile"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+
+  (set) 2>&1 |
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      # `set' does not quote correctly, so add quotes: double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \.
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;; #(
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+) |
+  sed '
+     /^ac_cv_env_/b end
+     t clear
+     :clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+    cat confcache >$cache_file
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+ if test -n "$EXEEXT"; then
+  am__EXEEXT_TRUE=
+  am__EXEEXT_FALSE='#'
+else
+  am__EXEEXT_TRUE='#'
+  am__EXEEXT_FALSE=
+fi
+
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${LINUX_TRUE}" && test -z "${LINUX_FALSE}"; then
+  as_fn_error "conditional \"LINUX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${I386_TRUE}" && test -z "${I386_FALSE}"; then
+  as_fn_error "conditional \"I386\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
+  as_fn_error "conditional \"X86_64\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${SUNOS4_TRUE}" && test -z "${SUNOS4_FALSE}"; then
+  as_fn_error "conditional \"SUNOS4\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${SVR4_TRUE}" && test -z "${SVR4_FALSE}"; then
+  as_fn_error "conditional \"SVR4\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${FREEBSD_TRUE}" && test -z "${FREEBSD_FALSE}"; then
+  as_fn_error "conditional \"FREEBSD\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+  as_fn_error "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  as_fn_error "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+	expr "X$arg" : "X\\(.*\\)$as_nl";
+	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error ERROR [LINENO LOG_FD]
+# ---------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with status $?, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$?; test $as_status -eq 0 && as_status=1
+  if test "$3"; then
+    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  fi
+  $as_echo "$as_me: error: $1" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -p'
+  fi
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+	test -d "$1/.";
+      else
+	case $1 in #(
+	-*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by strace $as_me 4.5.20, which was
+generated by GNU Autoconf 2.65.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration.  Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
+  -q, --quiet, --silent
+                   do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+      --file=FILE[:TEMPLATE]
+                   instantiate the configuration file FILE
+      --header=FILE[:TEMPLATE]
+                   instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to the package provider."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+strace config.status 4.5.20
+configured by $0, generated by GNU Autoconf 2.65,
+  with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  *)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    as_fn_append CONFIG_FILES " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --he | --h)
+    # Conflict between --help and --header
+    as_fn_error "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
+  --help | --hel | -h )
+    $as_echo "$ac_cs_usage"; exit ;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) as_fn_error "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+  *) as_fn_append ac_config_targets " $1"
+     ac_need_defaults=false ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  shift
+  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+  CONFIG_SHELL='$SHELL'
+  export CONFIG_SHELL
+  exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+  case $ac_config_target in
+    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+
+  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+  tmp=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+  trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX")` &&
+  test -n "$tmp" && test -d "$tmp"
+} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+  eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+  ac_cs_awk_cr='\\r'
+else
+  ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+  echo "cat >conf$$subs.awk <<_ACEOF" &&
+  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+  echo "_ACEOF"
+} >conf$$subs.sh ||
+  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  . ./conf$$subs.sh ||
+    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+
+  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+  if test $ac_delim_n = $ac_delim_num; then
+    break
+  elif $ac_last_try; then
+    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+  N
+  s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+  for (key in S) S_is_set[key] = 1
+  FS = ""
+
+}
+{
+  line = $ 0
+  nfields = split(line, field, "@")
+  substed = 0
+  len = length(field[1])
+  for (i = 2; i < nfields; i++) {
+    key = field[i]
+    keylen = length(key)
+    if (S_is_set[key]) {
+      value = S[key]
+      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+      len += length(value) + length(field[++i])
+      substed = 1
+    } else
+      len += 1 + keylen
+  }
+
+  print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+  cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[	 ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[	 ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_t"; then
+    break
+  elif $ac_last_try; then
+    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any.  Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[	 ]*#[	 ]*define[	 ][	 ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  for (key in D) D_is_set[key] = 1
+  FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+  line = \$ 0
+  split(line, arg, " ")
+  if (arg[1] == "#") {
+    defundef = arg[2]
+    mac1 = arg[3]
+  } else {
+    defundef = substr(arg[1], 2)
+    mac1 = arg[2]
+  }
+  split(mac1, mac2, "(") #)
+  macro = mac2[1]
+  prefix = substr(line, 1, index(line, defundef) - 1)
+  if (D_is_set[macro]) {
+    # Preserve the white space surrounding the "#".
+    print prefix "define", macro P[macro] D[macro]
+    next
+  } else {
+    # Replace #undef with comments.  This is necessary, for example,
+    # in the case of _POSIX_SOURCE, which is predefined and required
+    # on some systems where configure will not decide to define it.
+    if (defundef == "undef") {
+      print "/*", prefix defundef, macro, "*/"
+      next
+    }
+  }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
+	 # because $ac_f cannot contain `:'.
+	 test -f "$ac_f" ||
+	   case $ac_f in
+	   [\\/$]*) false;;
+	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+	   esac ||
+	   { as_fn_set_status 1
+as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5; };;
+      esac
+      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      as_fn_append ac_file_inputs " '$ac_f'"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input='Generated from '`
+	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+	`' by configure.'
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+    fi
+    # Neutralize special characters interpreted by sed in replacement strings.
+    case $configure_input in #(
+    *\&* | *\|* | *\\* )
+       ac_sed_conf_input=`$as_echo "$configure_input" |
+       sed 's/[\\\\&|]/\\\\&/g'`;; #(
+    *) ac_sed_conf_input=$configure_input;;
+    esac
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$tmp/stdin" \
+      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  as_dir="$ac_dir"; as_fn_mkdir_p
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+  esac
+  ac_MKDIR_P=$MKDIR_P
+  case $MKDIR_P in
+  [\\/$]* | ?:[\\/]* ) ;;
+  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+  esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+  s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+  || as_fn_error "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&2;}
+
+  rm -f "$tmp/stdin"
+  case $ac_file in
+  -) cat "$tmp/out" && rm -f "$tmp/out";;
+  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  esac \
+  || as_fn_error "could not create $ac_file" "$LINENO" 5
+ ;;
+  :H)
+  #
+  # CONFIG_HEADER
+  #
+  if test x"$ac_file" != x-; then
+    {
+      $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+    } >"$tmp/config.h" \
+      || as_fn_error "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+    else
+      rm -f "$ac_file"
+      mv "$tmp/config.h" "$ac_file" \
+	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+    fi
+  else
+    $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error "could not create -" "$LINENO" 5
+  fi
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $_am_arg | $_am_arg:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$_am_arg" : 'X\(//\)[^/]' \| \
+	 X"$_am_arg" : 'X\(//\)$' \| \
+	 X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$_am_arg" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+  esac
+
+
+  case $ac_file$ac_mode in
+    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named `Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$mf" : 'X\(//\)[^/]' \| \
+	 X"$mf" : 'X\(//\)$' \| \
+	 X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running `make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # When using ansi2knr, U may be empty or an underscore; expand it
+    U=`sed -n 's/^U = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$file" : 'X\(//\)[^/]' \| \
+	 X"$file" : 'X\(//\)$' \| \
+	 X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      as_dir=$dirpart/$fdir; as_fn_mkdir_p
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
+  done
+}
+ ;;
+
+  esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
diff --git a/strace-4.5.20/configure.ac b/strace-4.5.20/configure.ac
new file mode 100644
index 0000000..76f55d2
--- /dev/null
+++ b/strace-4.5.20/configure.ac
@@ -0,0 +1,305 @@
+dnl Process this file with autoconf to create configure.  Use autoreconf.
+AC_PREREQ(2.57)
+AC_INIT([strace],[4.5.20])
+AC_CONFIG_SRCDIR([strace.c])
+AC_CONFIG_AUX_DIR([.])
+AM_CONFIG_HEADER([config.h])
+AM_INIT_AUTOMAKE([foreign check-news dist-bzip2 no-dist-gzip])
+AM_MAINTAINER_MODE
+AC_CANONICAL_HOST
+
+AC_MSG_CHECKING([for supported operating system])
+case "$host_os" in
+*linux*)
+	opsys=linux
+	AC_DEFINE([LINUX], 1, [Define for the Linux operating system.])
+	;;
+sunos4*)
+	opsys=sunos4
+	AC_DEFINE([SUNOS4], 1, [Define for the SunOS 4.x operating system.])
+	;;
+solaris2* | sysv[[45]]* | irix[[56]]*)
+	opsys=svr4
+	AC_DEFINE([SVR4], 1, [Define for the System V release 4 operating
+system or a derivative like Solaris 2.x or Irix 5.x.])
+	case "$host_os" in
+	sysv4.2uw*)
+		AC_DEFINE(UNIXWARE, 2, [Define for UnixWare systems.])
+		;;
+	sysv5*)
+		AC_DEFINE(UNIXWARE, 7, [Define for UnixWare systems.])
+		;;
+	esac
+	;;
+freebsd*)
+	opsys=freebsd
+	AC_DEFINE([FREEBSD], 1, [Define for the FreeBSD operating system.])
+	;;
+*)
+	AC_MSG_RESULT([NO!])
+	AC_MSG_ERROR([operating system $host_os is not supported by strace])
+	;;
+esac
+AC_MSG_RESULT($opsys)
+
+AC_MSG_CHECKING([for supported architecture])
+case "$host_cpu" in
+bfin)
+	arch=bfin
+	AC_DEFINE([BFIN], 1, [Define for the Blackfin architecture.])
+	;;
+i[[3456]]86|pentium)
+	arch=i386
+	AC_DEFINE([I386], 1, [Define for the i386 architecture.])
+	;;
+ia64)
+	arch=ia64
+	AC_DEFINE([IA64], 1, [Define for the IA64 architecture.])
+	;;
+m68k)
+	arch=m68k
+	AC_DEFINE([M68K], 1, [Define for the m68k architecture.])
+	;;
+sparc64*)
+	arch=sparc64
+	AC_DEFINE([SPARC64], 1, [Define for the SPARC64 architecture.])
+	;;
+sparc*)
+	arch=sparc
+	AC_DEFINE([SPARC], 1, [Define for the SPARC architecture.])
+	;;
+mips*)
+	arch=mips
+	AC_DEFINE([MIPS], 1, [Define for the MIPS architecture.])
+	;;
+alpha*)
+	arch=alpha
+	AC_DEFINE([ALPHA], 1, [Define for the Alpha architecture.])
+	;;
+powerpc*)
+	arch=powerpc
+	AC_DEFINE([POWERPC], 1, [Define for the PowerPC architecture.])
+	;;
+arm*)
+	arch=arm
+	AC_DEFINE([ARM], 1, [Define for the ARM architecture.])
+	;;
+avr32*)
+	arch=avr32
+	AC_DEFINE([AVR32], 1, [Define for the AVR32 architecture.])
+	;;
+s390)
+	arch=s390
+	AC_DEFINE([S390], 1, [Define for the S390 architecture.])
+	;;
+s390x)
+	arch=s390x
+	AC_DEFINE([S390X], 1, [Define for the S390x architecture.])
+	;;
+hppa*|parisc*)
+	arch=hppa
+	AC_DEFINE([HPPA], 1, [Define for the HPPA architecture.])
+	;;
+sh64*)
+	arch=sh64
+	AC_DEFINE([SH64], 1, [Define for the SH64 architecture.])
+	;;
+sh*)
+	arch=sh
+	AC_DEFINE([SH], 1, [Define for the SH architecture.])
+	;;
+x86?64*)
+	arch=x86_64
+	AC_DEFINE([X86_64], 1, [Define for the AMD x86-64 architecture.])
+	;;
+cris|crisv10)
+	arch=crisv10
+	AC_DEFINE([CRISV10], 1, [Define for the CRISv10 architecture.])
+	;;
+crisv32)
+	arch=crisv32
+	AC_DEFINE([CRISV32], 1, [Define for the CRISv32 architecture.])
+	;;
+tile*)
+	arch=tile
+	AC_DEFINE([TILE], 1, [Define for the Tile architecture])
+	;;
+*)
+	AC_MSG_RESULT([NO!])
+	AC_MSG_ERROR([architecture $host_cpu is not supported by strace])
+	;;
+esac
+AC_MSG_RESULT($arch)
+
+AC_SUBST(opsys)
+AC_SUBST(arch)
+
+AM_CONDITIONAL([LINUX], [test x$opsys = xlinux])
+AM_CONDITIONAL([I386], [test x$arch = xi386])
+AM_CONDITIONAL([X86_64], [test x$arch = xx86_64])
+AM_CONDITIONAL([SUNOS4], [test x$opsys = xsunos4])
+AM_CONDITIONAL([SVR4], [test x$opsys = xsvr4])
+AM_CONDITIONAL([FREEBSD], [test x$opsys = xfreebsd])
+
+AC_PROG_CC
+AC_GNU_SOURCE
+
+AC_INCLUDEDIR
+
+if test "x$opsys" = "xsunos4" && test "x$arch" = "xsparc"
+then
+	AC_MSG_CHECKING(for valid machine include directory)
+	if test -d "$includedir/sun4"
+	then
+		rm -f machine
+		ln -s $includedir/sun4 machine
+		AC_MSG_RESULT(yes)
+		AC_DEFINE(SUNOS4_KERNEL_ARCH_KLUDGE, 1, [
+Define if you are have a SPARC with SUNOS4 and your want a version
+of strace that will work on sun4, sun4c and sun4m kernel architectures.
+Only useful if you have a symbolic link from machine to /usr/include/sun4
+in the compilation directory.])
+	else
+		AC_MSG_RESULT(no)
+	fi
+fi
+
+AC_WARNFLAGS
+if test "x$opsys" = "xsunos4"
+then
+	if test -n "$GCC"
+	then
+		# SunOS 4.x header files don't declare int functions.
+		WARNFLAGS="$WARNFLAGS -Wno-implicit"
+	fi
+fi
+
+AC_PROG_CPP
+AC_PROG_GCC_TRADITIONAL
+AC_PROG_INSTALL
+AC_C_CONST
+AC_HEADER_STDC
+AC_HEADER_STDBOOL
+AC_HEADER_DIRENT
+AC_HEADER_STAT
+AC_CHECK_MEMBERS([struct stat.st_blksize,
+		  struct stat.st_blocks,
+		  struct stat.st_aclcnt,
+		  struct stat.st_flags,
+		  struct stat.st_fstype,
+		  struct stat.st_gen,
+		  struct stat.st_level,
+		  struct stat.st_rdev])
+AC_STAT64
+AC_STATFS64
+
+AC_TYPE_SIGNAL
+AC_TYPE_UID_T
+AC_TYPE_MODE_T
+AC_TYPE_GETGROUPS
+AC_HEADER_MAJOR
+AC_CHECK_TYPES([sig_atomic_t, siginfo_t],,, [#include <signal.h>])
+AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,,
+[#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>])
+AC_CHECK_TYPES([long long])
+AC_LITTLE_ENDIAN_LONG_LONG
+AC_OFF_T_IS_LONG_LONG
+AC_RLIM_T_IS_LONG_LONG
+AC_CHECK_TYPES([struct opthdr],,, [#include <sys/socket.h>])
+AC_CHECK_TYPES([struct t_opthdr],,, [#include <sys/tiuser.h>])
+
+if test x$opsys != xlinux; then
+AC_CHECK_LIB(nsl, main)
+fi
+
+AC_CHECK_FUNCS([ \
+	fork \
+	getdents \
+	if_indextoname \
+	inet_ntop \
+	mctl \
+	prctl \
+	pread \
+	sendmsg \
+	sigaction \
+	strerror \
+	strsignal \
+	sys_siglist \
+	_sys_siglist \
+])
+AC_CHECK_HEADERS([ \
+	inttypes.h \
+	ioctls.h \
+	libaio.h \
+	mqueue.h \
+	poll.h \
+	stropts.h \
+	termio.h \
+	sys/acl.h \
+	sys/aio.h \
+	sys/asynch.h \
+	sys/conf.h \
+	sys/door.h \
+	sys/epoll.h \
+	sys/filio.h \
+	sys/ioctl.h \
+	sys/nscsys.h \
+	sys/poll.h \
+	sys/ptrace.h \
+	sys/reg.h \
+	sys/stream.h \
+	sys/sysconfig.h \
+	sys/tihdr.h \
+	sys/tiuser.h \
+	sys/uio.h \
+	sys/vfs.h \
+	asm/cachectl.h \
+	asm/sysmips.h \
+	linux/capability.h \
+	linux/ptrace.h \
+	linux/utsname.h \
+], [], [])
+AC_CHECK_HEADERS([linux/icmp.h linux/in6.h linux/netlink.h linux/if_packet.h],
+                 [], [], [#include <stddef.h>
+#include <sys/socket.h>
+#include <asm/types.h>])
+AC_CHECK_HEADERS([asm/sigcontext.h], [], [], [#include <signal.h>])
+AC_CHECK_TYPES([struct sigcontext_struct,
+		struct sigcontext],,, [#include <signal.h>])
+AC_CHECK_HEADERS([netinet/tcp.h netinet/udp.h],,, [#include <netinet/in.h>])
+
+AC_MP_PROCFS
+AC_POLLABLE_PROCFS
+
+AC_CHECK_MEMBERS([struct msghdr.msg_control],,, [#include <sys/socket.h>])
+AC_STRUCT_PR_SYSCALL
+
+AC_CHECK_MEMBERS([struct T_conn_res.QUEUE_ptr,
+                  struct T_conn_res.ACCEPTOR_id],,,
+[#include <sys/stream.h>
+#include <sys/tihdr.h>])
+
+AC_CHECK_TYPES([struct __old_kernel_stat],,, [#include <asm/stat.h>])
+
+AC_CHECK_TYPES([struct pt_all_user_regs, struct ia64_fpreg],,,
+	       [#include <sys/ptrace.h>])
+
+AC_CHECK_TYPES([struct user_desc],,, [#include <asm/ldt.h>])
+
+AC_CHECK_MEMBERS([struct dqblk.dqb_curblocks],,, [#include <sys/quota.h>])
+
+AC_CHECK_MEMBERS([struct sigcontext.sc_hi2],,, [#include <signal.h>
+#ifdef HAVE_ASM_SIGCONTEXT_H
+# include <asm/sigcontext.h>
+#endif])
+
+
+AC_CHECK_DECLS([sys_errlist])
+AC_CHECK_DECLS([sys_siglist, _sys_siglist],,, [#include <signal.h>])
+
+AC_PATH_PROG([PERL], [perl])
+
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
diff --git a/strace-4.5.20/count.c b/strace-4.5.20/count.c
new file mode 100644
index 0000000..d0ea016
--- /dev/null
+++ b/strace-4.5.20/count.c
@@ -0,0 +1,253 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
+ *                     Linux for s390 port by D.J. Barrow
+ *                    <barrow_dj@mail.yahoo.com,djbarrow@de.ibm.com>
+ * Copyright (c) 2004 Roland McGrath <roland@redhat.com>
+ * Copyright (c) 2006 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+struct call_counts {
+	struct timeval time;
+	int calls, errors;
+};
+
+static struct call_counts *countv[SUPPORTED_PERSONALITIES];
+#define counts (countv[current_personality])
+
+static struct timeval shortest = { 1000000, 0 };
+
+int
+count_syscall(struct tcb *tcp, struct timeval *tv)
+{
+	if (tcp->scno < 0 || tcp->scno >= nsyscalls)
+		return 0;
+
+	if (!counts)
+	{
+		counts = calloc(nsyscalls, sizeof(*counts));
+		if (!counts)
+		{
+			fprintf(stderr,
+				"strace: out of memory for call counts\n");
+			exit(1);
+		}
+	}
+
+	counts[tcp->scno].calls++;
+	if (tcp->u_error)
+		counts[tcp->scno].errors++;
+
+	tv_sub(tv, tv, &tcp->etime);
+#ifdef LINUX
+	if (tv_cmp(tv, &tcp->dtime) > 0)
+	{
+		static struct timeval one_tick;
+
+		if (one_tick.tv_usec == 0)
+		{
+			/* Initialize it.  */
+			struct itimerval it;
+
+			memset(&it, 0, sizeof it);
+			it.it_interval.tv_usec = 1;
+			setitimer(ITIMER_REAL, &it, NULL);
+			getitimer(ITIMER_REAL, &it);
+			one_tick = it.it_interval;
+		}
+
+		if (tv_nz(&tcp->dtime))
+			*tv = tcp->dtime;
+		else if (tv_cmp(tv, &one_tick) > 0)
+		{
+			if (tv_cmp(&shortest, &one_tick) < 0)
+				*tv = shortest;
+			else
+				*tv = one_tick;
+		}
+	}
+#endif /* LINUX */
+	if (tv_cmp(tv, &shortest) < 0)
+		shortest = *tv;
+	tv_add(&counts[tcp->scno].time, &counts[tcp->scno].time, tv);
+
+	return 0;
+}
+
+static int
+time_cmp(void *a, void *b)
+{
+	return -tv_cmp(&counts[*((int *) a)].time,
+		       &counts[*((int *) b)].time);
+}
+
+static int
+syscall_cmp(void *a, void *b)
+{
+	return strcmp(sysent[*((int *) a)].sys_name,
+		      sysent[*((int *) b)].sys_name);
+}
+
+static int
+count_cmp(void *a, void *b)
+{
+	int     m = counts[*((int *) a)].calls;
+	int     n = counts[*((int *) b)].calls;
+
+	return (m < n) ? 1 : (m > n) ? -1 : 0;
+}
+
+static int (*sortfun)();
+static struct timeval overhead = { -1, -1 };
+
+void
+set_sortby(char *sortby)
+{
+	if (strcmp(sortby, "time") == 0)
+		sortfun = time_cmp;
+	else if (strcmp(sortby, "calls") == 0)
+		sortfun = count_cmp;
+	else if (strcmp(sortby, "name") == 0)
+		sortfun = syscall_cmp;
+	else if (strcmp(sortby, "nothing") == 0)
+		sortfun = NULL;
+	else
+	{
+		fprintf(stderr, "invalid sortby: `%s'\n", sortby);
+		exit(1);
+	}
+}
+
+void set_overhead(int n)
+{
+	overhead.tv_sec = n / 1000000;
+	overhead.tv_usec = n % 1000000;
+}
+
+static void
+call_summary_pers(FILE *outf)
+{
+	int     i, j;
+	int     call_cum, error_cum;
+	struct timeval tv_cum, dtv;
+	double  percent;
+	char   *dashes = "-------------------------";
+	char    error_str[16];
+	int    *sorted_count = calloc(sizeof(int), nsyscalls);
+
+	if (!sorted_count)
+	{
+		fprintf(stderr, "strace: out of memory for call summary\n");
+		return;
+	}
+
+	call_cum = error_cum = tv_cum.tv_sec = tv_cum.tv_usec = 0;
+	if (overhead.tv_sec == -1)
+	{
+		tv_mul(&overhead, &shortest, 8);
+		tv_div(&overhead, &overhead, 10);
+	}
+	for (i = 0; i < nsyscalls; i++)
+	{
+		sorted_count[i] = i;
+		if (counts == NULL || counts[i].calls == 0)
+			continue;
+		tv_mul(&dtv, &overhead, counts[i].calls);
+		tv_sub(&counts[i].time, &counts[i].time, &dtv);
+		call_cum += counts[i].calls;
+		error_cum += counts[i].errors;
+		tv_add(&tv_cum, &tv_cum, &counts[i].time);
+	}
+	if (counts && sortfun)
+		qsort((void *) sorted_count, nsyscalls, sizeof(int), sortfun);
+	fprintf(outf, "%6.6s %11.11s %11.11s %9.9s %9.9s %s\n",
+		"% time", "seconds", "usecs/call",
+		"calls", "errors", "syscall");
+	fprintf(outf, "%6.6s %11.11s %11.11s %9.9s %9.9s %-16.16s\n",
+		dashes, dashes, dashes, dashes, dashes, dashes);
+	if (counts)
+	{
+		for (i = 0; i < nsyscalls; i++)
+		{
+			j = sorted_count[i];
+			if (counts[j].calls == 0)
+				continue;
+			tv_div(&dtv, &counts[j].time, counts[j].calls);
+			if (counts[j].errors)
+				sprintf(error_str, "%d", counts[j].errors);
+			else
+				error_str[0] = '\0';
+			percent = (100.0 * tv_float(&counts[j].time)
+				   / tv_float(&tv_cum));
+			fprintf(outf, "%6.2f %11.6f %11ld %9d %9.9s %s\n",
+				percent, tv_float(&counts[j].time),
+				(long) 1000000 * dtv.tv_sec + dtv.tv_usec,
+				counts[j].calls,
+				error_str, sysent[j].sys_name);
+		}
+	}
+	free(sorted_count);
+
+	fprintf(outf, "%6.6s %11.11s %11.11s %9.9s %9.9s %-16.16s\n",
+		dashes, dashes, dashes, dashes, dashes, dashes);
+	if (error_cum)
+		sprintf(error_str, "%d", error_cum);
+	else
+		error_str[0] = '\0';
+	fprintf(outf, "%6.6s %11.6f %11.11s %9d %9.9s %s\n",
+		"100.00", tv_float(&tv_cum), "",
+		call_cum, error_str, "total");
+}
+
+void
+call_summary(FILE *outf)
+{
+	int     i, old_pers = current_personality;
+
+	for (i = 0; i < SUPPORTED_PERSONALITIES; ++i)
+	{
+		if (!countv[i])
+			continue;
+
+		if (current_personality != i)
+			set_personality(i);
+		if (i)
+			fprintf(outf,
+				"System call usage summary for %u bit mode:\n",
+				personality_wordsize[current_personality] * 8);
+		call_summary_pers(outf);
+	}
+
+	if (old_pers != current_personality)
+		set_personality(old_pers);
+}
diff --git a/strace-4.5.20/debian/changelog b/strace-4.5.20/debian/changelog
new file mode 100644
index 0000000..c71a9cd
--- /dev/null
+++ b/strace-4.5.20/debian/changelog
@@ -0,0 +1,746 @@
+strace (4.5.20-1) unstable; urgency=low
+
+  [ Dmitry V. Levin ]
+  * New upstream version.
+    + Corrected decoding of 64bit syscalls, closes: #570603
+    + Corrected getsockopt decoding on architectures where
+      sizeof(long) > sizeof(int), closes: #494844
+    + Corrected decoding of epoll_pwait, closes: #513014
+    + Implemented -C option to combine regular and -c output, closes: #466196
+
+  [ Frederik Schüler ]
+  * Update standards-version to 3.8.4.
+  * debian/rules: allow parallel building.
+  * debian/rules: comment out verbose build, only needed for debugging.
+  * debian/rules: clean up clean: target, dh_clean does most of the work
+    already.
+  * debian/rules: use *-stamp instead of stamp-*, so dh_clean can tidy
+    up for us.
+
+ -- Frederik Schüler <fs@debian.org>  Tue, 13 Apr 2010 13:02:57 +0200
+
+strace (4.5.19-2) unstable; urgency=low
+
+  * Add sparc64 to the architectures list, closes: #560062
+  * Fix FTBFS, thanks to Aurelien Jarno <aurelien@aurel32.net> for pointing
+    out the solution. Closes: #560516
+  * Rebuild as normal package, closes: #566968
+  * Update standards-version to 3.8.3.
+  * Lower package priority to optional, matching the archive override.
+  * Add watch file.
+
+ -- Frederik Schüler <fs@debian.org>  Tue, 26 Jan 2010 12:20:51 +0100
+
+strace (4.5.19-1) unstable; urgency=low
+
+  [ Dmitry V. Levin ]
+  * New upstream release.
+    + Fixed FTBFS on armel, closes: #520084, #535564
+    + Marked sendfile(2) as a network syscall, closes: #509499
+    + Fixed syscall numbers for tee and sync_file_range, closes: #503124
+    + Corrected accept(2) decoding, closes: #507573
+    + Changed strace to exit/kill with traced process
+      exitcode/signal, closes: #37665
+
+  [ Frederik Schüler ]
+  * Move myself from uploaders to maintainers, and drop Roland from the list,
+    closes: #521458
+  * Apply hppa fixes, thanks to Carlos O'Donell <carlos@systemhalted.org>
+    and Helge Deller <deller@gmx.de> for the fixes, closes: #546619, #437928
+  * Update standards-version to 3.8.1.
+
+ -- Frederik Schüler <fs@debian.org>  Mon, 05 Oct 2009 22:39:54 +0200
+
+strace (4.5.18-1) unstable; urgency=low
+
+  * New upstream release, closes: #515655
+    + Fix FTBFS, closes: #518852
+  * Backported patch from CVS: Fix support for NUL-terminated
+    string, closes: #508484
+  * Build-depend on debhelper (>= 7.0.0).
+
+ -- Frederik Schüler <fs@debian.org>  Mon, 09 Mar 2009 14:39:42 +0100
+
+strace (4.5.17+cvs080723-2) unstable; urgency=low
+
+  * Pull Fix for sparc FTBFS from CVS, closes: #492774
+  * Make strace64 priority extra.
+
+ -- Frederik Schüler <fs@debian.org>  Sat, 02 Aug 2008 10:36:59 +0200
+
+strace (4.5.17+cvs080723-1) unstable; urgency=low
+
+  * New upstream cvs snapshot.
+    - fixes arm and armel FTBFS.
+
+ -- Frederik Schüler <fs@debian.org>  Wed, 23 Jul 2008 15:23:22 +0200
+
+strace (4.5.17-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Frederik Schüler <fs@debian.org>  Sat, 19 Jul 2008 21:38:30 +0200
+
+strace (4.5.16+cvs20080708-2) unstable; urgency=low
+
+  * Rerun autotools in correct order.
+  * Add strace64 package on i386, powerpc, s390 and sparc,
+    closes: #491167, #491188
+
+ -- Frederik Schüler <fs@debian.org>  Thu, 17 Jul 2008 17:21:27 +0200
+
+strace (4.5.16+cvs20080708-1) unstable; urgency=low
+
+  * New upstream snapshot.
+    + Fix chmod/chown typo in debian/rules, closes: #459255.
+    + Install strace-graph too, closes: 469068.
+    + Fix m68k build, closes: 456879.
+    + Arm updates, closes: #441000.
+    + fix build on mips/mipsel, closes: #448802.
+    + show poll() parameters before blocking, closes: #369651.
+    + use dh_strip instead of install -s, closes: #438055, #396682.
+    + fix sparc build, closes: #469379.
+  * Acknowledge NMU, closes: #469380.
+  * Remove Wichert Akkerman from uploaders list.
+  * Bump standards version to 3.8.0.
+    - Add Homepage field.
+  * Add dh_md5sums call, closes: #439428.
+  * Fix dpkg-gencontrol call.
+  * Update debian/copyright.
+
+ -- Frederik Schüler <fs@debian.org>  Tue, 01 Jul 2008 23:05:51 +0200
+
+strace (4.5.16-1) unstable; urgency=low
+
+  * New upstream version.
+    + 64-bit builds, closes: #435303.
+    + LFS build fix, closes: #385310.
+    + Fix multithread issues
+    + Fix spurious SIGSTOP on early interrupt.
+    + Fix utime for biarch.
+    + Fix -u error message.
+    + Better futex syscall printing.
+    + Fix argv/envp printing with small -s settings, and for biarch.
+    + New syscalls: getcpu, eventfd, timerfd, signalfd, epoll_pwait,
+      move_pages, utimensat.
+
+ -- Roland McGrath <frob@debian.org>  Fri, 03 Aug 2007 03:24:21 -0700
+
+strace (4.5.15-1) unstable; urgency=high
+
+  [ Roland McGrath ]
+  * New upstream version.
+    + Fix -ff -o behavior, closes: #353935.
+    + Fail when nonoption args follow -p switches, closes: #361302.
+    + Fix semtimedop, closes: #340239.
+    + ARM support fixes, closes: #360152, #360154.
+
+  [ Frederik Schüler ]
+  * Fix configure script, closes: #428997
+
+ -- Frederik Schüler <fs@debian.org>  Fri, 22 Jun 2007 16:28:08 +0000
+
+strace (4.5.14-2) unstable; urgency=low
+
+  * New comaintainer.
+  * Fix build failure with linux-2.6.18, thanks to Andreas Henriksson for the
+    patch, closes: #392556.
+  * Fix build with libc6 2.5.
+  * Acknowledge NMUs, closes: #315500, #355733
+
+ -- Frederik Schüler <fs@debian.org>  Thu, 26 Oct 2006 22:11:25 +0200
+
+strace (4.5.14-1) unstable; urgency=low
+
+  * New upstream version.
+    + Fix crash in printing sysctl, closes: #339117.
+    + Respect DEB_BUILD_OPTIONS=nostrip, closes: #325132.
+    + Fix ipc syscall decoding, closes: #340239.
+    + Add missing source files to tarball, closes: #336197.
+    + Build on armeb, closes: #335681.
+
+ -- Roland McGrath <frob@debian.org>  Mon, 16 Jan 2006 22:17:38 -0800
+
+strace (4.5.13-1) unstable; urgency=low
+
+  * New upstream version.
+    + Fix m68k build, closes: #315500.
+    + Fix setsockopt decoding on 64-bit.
+    + Fix typos in socket option name strings.
+    + Display more IPV6 socket options by name.
+    + Don't display inappropriate syscalls for -e trace=file.
+    + New selector type -e trace=desc for file-descriptor using calls.
+    + Fix 32-bit old_mmap syscall decoding on x86-64.
+    + Fix errors detaching from multithreaded process on interrupt.
+    + Note 4.5.12 fix for crash handling bad signal numbers.
+
+ -- Roland McGrath <frob@debian.org>  Wed,  3 Aug 2005 04:41:49 -0700
+
+strace (4.5.12-1) unstable; urgency=low
+
+  * New upstream version.
+    + Build on ppc64, closes: #301089.
+    + Refuse negative -s argument value, closes: #303256.
+    + Fix known syscall recognition for IA32 processes on x86-64.
+    + Fix bad output for ptrace on x86-64.
+    + Fix potential buffer overruns.
+    + Make some diagnostics more consistent.
+    + Update PowerPC system calls.
+    + Better printing for Linux aio system calls.
+    + Don't truncate statfs64 fields to 32 bits in output.
+    + Cosmetic code cleanups.
+
+ -- Roland McGrath <frob@debian.org>  Wed,  8 Jun 2005 13:52:39 -0700
+
+strace (4.5.11-1) unstable; urgency=low
+
+  * New upstream version.
+    + Update MIPS system call table, closes: #256684.
+    + Fix build on s390 and sparc, closes: #294172, #293564.
+    + Fix select handling on nonstandard fd_set sizes, closes: #65654, #284290.
+    + Don't print errors for null file name pointers, closes: #63093.
+    + Fix initial execve output with -i.
+    + Fix build nits, closes: #300598.
+
+ -- Roland McGrath <frob@debian.org>  Tue, 22 Mar 2005 15:12:22 -0800
+
+strace (4.5.9-1) unstable; urgency=low
+
+  * New upstream version.
+    + Fix potential crash in getxattr printing, closes: #283704.
+    + Improve socket ioctl printing, closes: #192164.
+    + Fix sparc build, closes: #278449.
+    + Update ia64 syscall list.
+    + Fix x86_64 syscall argument extraction for 32-bit processes.
+    + Fix -e signal=NAME parsing.
+    + Fix x86_64 exit_group syscall handling.
+    + Improve mount flags printing.
+    + Support symbolic printing of x86_64 arch_prctl parameters.
+    + Add strace-udeb package for Debian installer debugging, closes: #268294.
+
+ -- Roland McGrath <frob@debian.org>  Fri,  4 Feb 2005 01:53:01 -0800
+
+strace (4.5.8-1) unstable; urgency=low
+
+  * New upstream version.
+    + Fix strace64 man page symlink, closes: #269220.
+    + Update syscall tables for Alpha, ARM, HPPA, closes: #273887.
+    + Build strace64 for s390, closes: #271500.
+    + Fix some endian issues in 64-bit argument output on 32-bit machines.
+    + Support new Linux syscalls mbind, set_mempolicy, get_mempolicy, waitid.
+    + Support Linux syscalls fadvise64, fadvise64_64, and epoll_*.
+    + Improve ioctl command name matching.
+    + Print RTC_* ioctl structure contents.
+    + Support newer RLIMIT_* values.
+    + Print struct cmsghdr details in sendmsg.
+
+ -- Roland McGrath <frob@debian.org>  Tue, 19 Oct 2004 18:05:28 -0700
+
+strace (4.5.7-1) unstable; urgency=low
+
+  * New upstream version.
+    + Update man page about -c, closes: #254438.
+    + Include pread/pwrite calls in -e read/write tracing, closes: #239947.
+    + Update SO_* and IP_* value lists, closes: #171653.
+    + Print attribute values in *xattr system calls.
+    + Print clock_t values symbolically in Linux clock_* system calls.
+    + Show PER_* values correctly, closes: #40588.
+    + Fix `strace64' build on sparc, closes: #254728.
+
+ -- Roland McGrath <frob@debian.org>  Tue, 31 Aug 2004 01:41:19 -0700
+
+strace (4.5.6-1) unstable; urgency=low
+
+  * New upstream version.
+    + Update Linux ioctl lists and decode some more network ioctls.
+    + Fix `quotactl' argument decoding on 64-bit.
+    + Linux/SPARC64 support, closes: #254728.
+
+ -- Roland McGrath <frob@debian.org>  Mon, 12 Jul 2004 00:18:32 -0700
+
+strace (4.5.5-1) unstable; urgency=low
+
+  * New upstream version.
+    + Fix support for 32-bit (i386) binaries on Linux/AMD64.
+
+ -- Roland McGrath <frob@debian.org>  Sun, 27 Jun 2004 22:19:15 -0700
+
+strace (4.5.4-1) unstable; urgency=low
+
+  * Build package on amd64, closes: #246568.
+  * New upstream version.
+    + Recognize more PF_* and AF_* values, closes: #250506.
+    + Other  fixes.
+
+ -- Roland McGrath <frob@debian.org>  Thu,  3 Jun 2004 19:35:37 -0700
+
+strace (4.5.3-1) unstable; urgency=low
+
+  * New upstream version.
+    + Finish fix for -f on Linux/S390(x).
+    + Print extra wait status bits, closes: #240062.
+
+ -- Roland McGrath <frob@debian.org>  Fri, 16 Apr 2004 15:27:43 -0700
+
+strace (4.5.2-1) unstable; urgency=low
+
+  * New upstream version.
+    + Check for errors writing to -o file, closes: #218762
+    + Print multiple ioctl code matches on Linux.
+    + Various other fixes.
+    + Update typos and obsolete bits in man page, closes: #217008, #223390
+    + Fix compilation problems with newer kernel headers, closes: #223207
+    + Update HPPA system calls, closes: #231632
+    + Fix PID in messages, closes: #229802
+    + Fix s390 brokenness in 4.5, closes: #226098
+
+ -- Roland McGrath <frob@debian.org>  Mon,  1 Mar 2004 22:44:55 -0800
+
+strace (4.5-1) unstable; urgency=low
+
+  * New upstream version.
+    + Fix mlock syscall printing.
+    + MIPS & S390 updates.
+    + Print names for SIGRT_* in sets.
+
+ -- Roland McGrath <frob@debian.org>  Wed, 24 Sep 2003 15:20:18 -0700
+
+strace (4.4.99-1) unstable; urgency=low
+
+  * New upstream version.
+    + Alpha updates.
+    + Add a few more new Linux 2.5 system calls.
+    + Stephen Thomas contributed a port to Linux/SH64.
+    + Print protocol names for PF_INET6 sockets.
+
+ -- Roland McGrath <frob@debian.org>  Thu, 17 Jul 2003 02:04:43 -0700
+
+strace (4.4.98-1) unstable; urgency=low
+
+  * New upstream version.
+    + Fixes clone argument bugs.
+    + Fixes sem* printing bugs.
+    + Fixes -e argument parsing, closes: #188379.
+    + Fixes hanging parent in odd wait cases, closes: #47608, #109656.
+    + Fixes -q defaulting, closes: #47113, #153678.
+    + Fixes trying to execute directories, closes: #137103.
+    + Updates ARM support, thanks to Russell King.
+    + Updates S390/S390x support.
+  * Bump standards-version to 3.5.10
+
+ -- Roland McGrath <frob@debian.org>  Mon,  2 Jun 2003 12:26:29 -0700
+
+strace (4.4.96-1) unstable; urgency=low
+
+  * New upstream version.
+    + Handles yet more new Linux 2.5 system calls.
+    + Fixes x86_64 and ia64 clone printing.
+    + Updates SH port.
+
+ -- Roland McGrath <frob@debian.org>  Sun, 30 Mar 2003 17:14:34 -0800
+
+strace (4.4.95-1) unstable; urgency=low
+
+  * New upstream version.
+    + Fixes printing of getresuid and getresgid values.
+
+ -- Roland McGrath <frob@debian.org>  Mon, 24 Feb 2003 02:50:43 -0800
+
+strace (4.4.94-1) unstable; urgency=low
+
+  * New upstream version.
+    + New option -E to set environment variables.
+    + Build fixes for sparc, closes: #178636.
+
+ -- Roland McGrath <frob@debian.org>  Wed, 19 Feb 2003 19:12:40 -0800
+
+strace (4.4.93-1) unstable; urgency=low
+
+  * New upstream version.
+    + Grok new quotactl arguments, closes: #154067.
+    + Fix m68k build problem, closes: #176528.
+    + Old bugs prior release actually closes: #154068.
+    + Fix S390 bugs with -f, and bugs with execve.
+  * Switched to non-native packaging (empty .diff), closes: #176388.
+
+ -- Roland McGrath <frob@debian.org>  Tue, 21 Jan 2003 12:22:08 -0800
+
+strace (4.4.92-1) unstable; urgency=low
+
+  * New upstream version.
+    + Updated config.guess and config.sub, closes: #176241.
+    + Several fixes for PPC, closes: #144326.
+    + Fixed ptrace output for unknown requests, closes: #77728.
+    + Fixed output of getdents64, truncate64, ftruncate64, closes: #169528.
+    + Old bugs the last release actually closes: #153750, #38467, #109993,
+      #109815, #104594, #113087, #134803, #166622, #96356, #94725, #32147,
+      #32798, #36801, #41066, #81637, #138300, #143791.
+
+ -- Roland McGrath <frob@debian.org>  Tue, 14 Jan 2003 02:02:44 -0800
+
+strace (4.4.91-1) unstable; urgency=low
+
+  * New upstream version.
+    + Fixes -f on x86-64.
+
+ -- Roland McGrath <frob@debian.org>  Fri, 10 Jan 2003 12:55:34 -0800
+
+strace (4.4.90-1) unstable; urgency=low
+
+  * New maintainer.
+  * New upstream version.
+
+ -- Roland McGrath <frob@debian.org>  Fri, 10 Jan 2003 01:58:40 -0800
+
+strace (4.4-1.2) unstable; urgency=low
+
+  * NMU
+  * Quick one-liner to allow building on the ARM. Closes: #109993.
+  * Re-ran autoconf, hopefully I didn't break other arches.
+
+ -- Anand Kumria <wildfire@progsoc.org>  Mon,  1 Oct 2001 14:22:25 +1000
+
+strace (4.4-1.1) unstable; urgency=low
+
+  * NMU.
+  * Added patch from David Mosberger which fixes some ia64 issues.
+    Closes: #113087.
+  * Added ia64-specific Build-Depends on libc6.1-dev.  Closes:
+    #109815.
+  * Ran autoheader, so the s390 patch applies.  Closes: #104594.
+
+ -- Jeff Licquia <jlicquia@progeny.com>  Tue, 25 Sep 2001 13:15:28 -0500
+
+strace (4.4-1) unstable; urgency=low
+
+  * New upstream version
+    + Added S390 support. Closes: Bug#104594
+    + New config.{guess,sub}. Closes: Bug#92532
+    + LFS support for Linux/sparc. Closes: Bug#99215
+    * Works on IA64 again. Closes: Bug#103854
+  * Don't override CFLAGS in debian/rules
+  * Remove rules to create configure & friends. Closes: Bug#92483
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Sun, 19 Aug 2001 14:10:58 +0200
+
+strace (4.3-3.1) unstable; urgency=low
+
+  * copy in new config.{guess,sub} to get support for new architectures.
+    Closes: #94725
+
+ -- LaMont Jones <lamont@debian.org>  Mon,  9 Jul 2001 21:39:34 -0600
+
+strace (4.3-3) unstable; urgency=low
+
+  * Update architecture list
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Sat, 14 Apr 2001 10:42:19 +0200
+
+strace (4.3-2) unstable; urgency=low
+
+  * Run cvsbuild so we don't need to run autohead & friends
+  * Sync to current CVS
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Fri, 13 Apr 2001 19:08:53 +0200
+
+strace (4.3-1) unstable; urgency=low
+
+  * New upstream version
+  * Updated Build-Depends to use a recent glibc so we get the 2.4 kernel
+    headers
+  * Changed Architecture so we only build on Linux
+  * Include section and priority in control info
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Sun,  1 Apr 2001 16:35:32 +0200
+
+strace (4.2-4) frozen unstable; urgency=low
+
+  * Actually install postinst and prerm so we get the proper /usr/doc/strace
+    symlink
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Thu, 17 Feb 2000 21:49:17 +0100
+
+strace (4.2-3) frozen unstable; urgency=low
+
+  * Fix typo in aclocal.m4 that prevented compilation on architectures without
+    LFS
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Sun, 13 Feb 2000 01:19:11 +0100
+
+strace (4.2-2) frozen unstable; urgency=low
+
+  * only include linux/ptrace.h if sys/reg.h hasn't been found by configure,
+    Closes: Bug# 39556
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Thu, 27 Jan 2000 03:22:55 +0100
+
+strace (4.2-1) frozen  unstable; urgency=low
+
+  * New upstream version:
+    + Builds correctly on glibc2.0 again, Closes: Bug# 51648
+    + Small y2k fix in printtimes, Closes: Bug# 54592
+    + semop is handled now, Closes: Bug# 52684
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Fri, 21 Jan 2000 21:45:41 +0100
+
+strace (4.1-1) unstable; urgency=low
+
+  * New upstream version
+  * Bump standards-version to 3.1.0
+  * FHS 2.1 compliant
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Fri, 26 Nov 1999 01:42:07 +0100
+
+strace (4.0-1) unstable; urgency=low
+
+  * New upstream version
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Fri,  9 Jul 1999 16:12:34 +0200
+
+strace (3.99.1-1) unstable; urgency=low
+
+  * New upstream version, second pre-release for 4.0
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Wed,  9 Jun 1999 15:20:42 +0200
+
+strace (3.99-1) unstable; urgency=low
+
+  * New upstream maintainer (me :)
+  * New upstream version, pre-release for strace 4.0
+  * See upstream changelog for changes
+  * Build with glibc2.1
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Tue, 27 Apr 1999 14:00:15 +0200
+
+strace (3.1.0.1-12) unstable; urgency=low
+
+  * Only i386 has a LDT, so check for architecture in mem.c (Bug# 32798)
+  * Check for nsignals properly, closes: #34445
+  * Fix check for overruns in umove*, patch by Nate Eldredge <nate@cartsys.com>
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Mon, 15 Mar 1999 00:43:14 +0100
+
+strace (3.1.0.1-11) unstable; urgency=low
+
+  * Merge some ARM stuff that got stuck in my mailbox
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Sun, 31 Jan 1999 13:04:13 +0100
+
+strace (3.1.0.1-10) unstable; urgency=low
+
+  * Move sys_poll to the DONE section in linux/dummy.h
+  * Support subarchitectures for alpha (Bug# 32147)
+  * Incorporate changes from Ulrich Drepper
+    + up number of supported personalities on Linux sparc to 3
+    + add O_DIRECT, O_LARGEFILE and O_DIRECTORY to openmodes
+    + change prefix for printxval to SEEK_ in sys_lseek
+    + add a support for a whole bunch of syscalls
+    + updated sys_pread and sys_pwrite for SVR4
+    + handle sys_delete_module properly
+    + change SYS_socket_subcall to 230 for non-powerpc architectures
+    + sys_chown is now lchown
+    + looks like a whole lot of syscalls is moved from 180 to 230
+    + Revamp a lot of the signal handling code
+    + handle sys_clone
+    + Lots more (it was a 6494-line patch and I'm too lazy to put all
+      changes in here..)
+  * Please note you need to have 2.1 or 2.2 kernel sources in /usr/src/linux
+    in order to compile this.
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Fri, 29 Jan 1999 02:04:12 +0100
+
+strace (3.1.0.1-9) unstable; urgency=low
+
+  * Add support for poll() systemcall
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Thu, 31 Dec 1998 16:03:44 +0100
+
+strace (3.1.0.1-8) frozen unstable; urgency=low
+
+  * Use new_stat from libc6 now, except for powerpc and sparc
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Thu, 24 Dec 1998 11:35:32 +0100
+
+strace (3.1.0.1-7) frozen unstable; urgency=low
+
+  * Fix sparc support
+  * Display nanosleep call correctly (Bug# 25904)
+  * Honour -v flag in printargs (Bug# 10426)
+  * Play with #define to get proper kernel struct stat
+  * Compile with 2.1.131 kernel source
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Sat, 19 Dec 1998 15:02:14 +0100
+
+strace (3.1.0.1-6) frozen unstable; urgency=low
+
+  * Set NSIG correctly for ARM
+  * Include strace-graph script from Richard Braakman <dark@debian.org>
+    as an example. Try it and be amazed!
+  * Fix sigaction problem, patch from Topi Miettinen
+    <Topi.Miettinen@medialab.sonera.net>
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Mon,  7 Dec 1998 02:10:30 +0100
+
+strace (3.1.0.1-5) unstable; urgency=low
+
+  * Patched from Richard Braakman <dark@debian.org>:
+    + use correct dirent.h on Linux
+    + remove debugging code left from the powerpc patch
+    + fix output for execve when -v is used
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Fri, 13 Nov 1998 15:59:17 +0100
+
+strace (3.1.0.1-5) unstable; urgency=low
+
+  * Add location of upstream sources to the copyright
+  * Merged ARM architecture support from Jim Studt <jim@federated.com>
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Mon,  9 Nov 1998 16:43:24 +0100
+
+strace (3.1.0.1-4) unstable; urgency=low
+
+  * More ppc patches from Daniel Jacobowitz <dan@debian.org>
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Mon, 12 Oct 1998 00:59:44 +0200
+
+strace (3.1.0.1-3) unstable; urgency=low
+
+  * Added support for sys_query_module, patch from Brian J. Murrell
+    <brian@interlinx.bc.ca>
+  * Preserve timestamps for documentation when installed
+  * Incorporate patches from Daniel Jacobowitz <dan@debian.org>:
+    + powerpc patches
+    + Patches include changing SYS_socket_subcall and SYS_ipc_subcall,
+      check for stray syscall exit after execv, and completely regenerated
+      syscall, errno, and ioctl lists.
+    + Decode capget and capset arguments.
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Sun, 11 Oct 1998 22:42:56 +0200
+
+strace (3.1.0.1-2) unstable; urgency=low
+
+  * Patch to support sparc, courtesy of RedHat
+  * Cleaned up some stuff the patch left broken
+  * Fix some more compilation-issues for IPX with current kernels
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Fri, 24 Jul 1998 22:53:43 +0200
+
+strace (3.1.0.1-1) unstable; urgency=low
+
+  * New (actually very old) upstream version. Fixes something we
+    already had fixed
+  * Compiled with current kernel-headers from libc6-dev
+  * Fixed spelling-error
+  * Compress changelog
+  * Bumped standard-version to 2.4.1.0
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Wed, 22 Jul 1998 15:53:23 +0200
+
+strace (3.1-14) unstable; urgency=low
+
+  * Don't let libc6 trick us anymore with {f,l,}stat() calls
+  * Fix configure.in to support PentiumII processors
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Mon, 22 Jun 1998 20:17:20 +0200
+
+strace (3.1-13) unstable; urgency=low
+
+  * Corrected error on PowerPC patch that broke other archictectures
+    (Bug# 13837)
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Tue, 14 Oct 1997 15:41:29 +0200
+
+strace (3.1-12) unstable; urgency=low
+
+  * PowerPC patches by Klee Dienes (Bug# 10788, 10790)
+  * Create correct md5sums (Bug# 13363)
+  * Put changelog in correct place (Bug# 13363)
+  * Pristine sources
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Mon,  6 Oct 1997 15:42:25 +0200
+
+strace (3.1-11) unstable; urgency=LOW
+
+  * Ported to libc6 / glibc2 (Bug# 11729)
+  * Compress manpage
+
+ -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl>  Fri,  1 Aug 1997 00:13:38 +02
+
+strace (3.1-10) unstable; urgency=LOW
+
+  * Install upstream changelog
+  * Added dependencies to control file for libc
+  * Added md5sums to .deb file
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Fri, 11 Jul 1997 12:26:12 +0200
+
+strace (3.1-9) stable; urgency=LOW
+
+  * Fixed bug with hanging children. Patch by Matthias Urlichs
+  * Added some more constants to net.c.
+  * glibc patches, courtesy of Klee Dienes (Bug# 7735)
+
+ -- Wichert Akkerman <wakkerma@debian.org>  Mon, 21 Apr 1997 11:59:45 +0200
+
+strace (3.1-8) frozen unstable; urgency=LOW
+
+  * Added detection of ROSE networking
+
+ -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl>  Tue, 12 Nov 1996 22:21:22 +0100
+
+strace (3.1-7) stable; urgency=LOW
+
+  * Install manpage with correct mode (0644) (Bug#4813)
+  * Renamed debian changelog to changelog.Debian
+
+ -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl>  Sat, 26 Oct 1996 18:15:41 +0200
+
+strace (3.1-6) stable; urgency=LOW
+
+  * Small patch for compilation on kernels 2.1.0 and later (see signal.c)
+
+ -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl>  Fri, 18 Oct 1996 00:28:47 +0200
+strace (3.1-5) stable unstable; urgency=LOW
+
+  * Moved to new packagingformat
+  * Fixed umoven bug (Bug# 4523)
+  * Corrected number of parameters for mmap systemcall (bug# 4508)
+
+ -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl>  Sat, 23 Sep 1996 23:33:58 +0200
+
+strace (3.1-4) unstable; urgency=LOW
+
+  * Fixed changestemplate
+
+ -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl>, Thu Sep 12 14:59:44 MET DST 1996
+
+
+strace (3.1-3) unstable; priority=LOW
+
+  * Revamped debian files
+
+ -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl>, Thu Jul 11 20:19:11 MET DST 1996
+
+
+strace (3.1-2) unstable; priority=LOW
+  * Added some #ifdef's around IPX stuff to make it compilable on non-Linux
+    systems.
+  * changed debian.control and debian.rules to conform to new debian naming
+    schemes
+  * added architecture-option to debian.rules and debian.control
+
+ -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl>
+
+
+strace (3.1-1) unstable; priority=LOW
+
+  * Moved to new upstream version
+  * added more protocol families to domains
+  * added IPIP-protocol to protocols
+  * added MSG_PROXY and MSG_CTRUNC to msg_flags
+  * added SO_BSDCOMPAT and SO_REUSEPORT to sockoptions
+  * added IP, IPX and TCP-options
+  * added IP, IPX and TCP support to get-/setsockopt()
+  * added IPX support
+
+ -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl>
diff --git a/strace-4.5.20/debian/compat b/strace-4.5.20/debian/compat
new file mode 100644
index 0000000..7f8f011
--- /dev/null
+++ b/strace-4.5.20/debian/compat
@@ -0,0 +1 @@
+7
diff --git a/strace-4.5.20/debian/control b/strace-4.5.20/debian/control
new file mode 100644
index 0000000..b22b1a3
--- /dev/null
+++ b/strace-4.5.20/debian/control
@@ -0,0 +1,56 @@
+Source: strace
+Maintainer: Frederik Schüler <fs@debian.org>
+Section: utils
+Priority: optional
+Build-Depends: libc6-dev (>= 2.2.2) [!alpha !ia64], libc6.1-dev (>= 2.2.2) [alpha ia64], gcc-multilib [i386 powerpc s390 sparc], debhelper (>= 7.0.0)
+Standards-Version: 3.8.4
+Homepage: http://sourceforge.net/projects/strace/
+
+Package: strace
+Architecture: alpha amd64 arm armeb armel hppa i386 ia64 m68k mips mipsel powerpc ppc64 s390 s390x sh sparc sparc64
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: A system call tracer
+ strace is a system call tracer, i.e. a debugging tool which prints out
+ a trace of all the system calls made by a another process/program.
+ The program to be traced need not be recompiled for this, so you can
+ use it on binaries for which you don't have source.
+ .
+ System calls and signals are events that happen at the user/kernel
+ interface. A close examination of this boundary is very useful for bug
+ isolation, sanity checking and attempting to capture race conditions.
+
+Package: strace64
+Architecture: i386 powerpc s390 sparc
+Priority: extra
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: A system call tracer for 64bit binaries
+ strace is a system call tracer, i.e. a debugging tool which prints out
+ a trace of all the system calls made by a another process/program.
+ The program to be traced need not be recompiled for this, so you can
+ use it on binaries for which you don't have source.
+ .
+ This package containts the 64bit version of the binary, intended for
+ biarch systems with 32bit userland and 64bit kernel.
+ .
+ System calls and signals are events that happen at the user/kernel
+ interface. A close examination of this boundary is very useful for bug
+ isolation, sanity checking and attempting to capture race conditions.
+
+Package: strace-udeb
+Section: debian-installer
+XC-Package-Type: udeb
+Priority: extra
+Architecture: alpha amd64 arm armeb armel hppa i386 ia64 m68k mips mipsel powerpc ppc64 s390 sh sparc sparc64
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: A system call tracer
+ strace is a system call tracer, i.e. a debugging tool which prints out
+ a trace of all the system calls made by a another process/program.
+ The program to be traced need not be recompiled for this, so you can
+ use it on binaries for which you don't have source.
+ .
+ System calls and signals are events that happen at the user/kernel
+ interface. A close examination of this boundary is very useful for bug
+ isolation, sanity checking and attempting to capture race conditions.
+ .
+ This is a stripped down package intended for debugging use in the Debian
+ installer.
diff --git a/strace-4.5.20/debian/copyright b/strace-4.5.20/debian/copyright
new file mode 100644
index 0000000..59e7b1b
--- /dev/null
+++ b/strace-4.5.20/debian/copyright
@@ -0,0 +1,41 @@
+This is the Debian packaged version of strace. For a complete list of
+changes from the upstream version please see the changelog.
+
+The upstream sources can be found at http://sourceforge.net/projects/strace/
+
+This is the copyright as found in the upstream sources:
+
+Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+Copyright (c) 1993 Ulrich Pegelow <pegelow@moorea.uni-muenster.de>
+Copyright (c) 1995, 1996 Michael Elizabeth Chastain <mec@duracef.shout.net>
+Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+Copyright (C) 1998-2003 Wichert Akkerman <wakkerma@deephackmode.org>
+Copyright (c) 2002-2008 Roland McGrath  <roland@redhat.com>
+Copyright (c) 2003-2008 Dmitry V. Levin <ldv@altlinux.org>
+Copyright (c) 2007-2008 Jan Kratochvil  <jan.kratochvil@redhat.com>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. The name of the author may not be used to endorse or promote products
+   derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+$Id$
diff --git a/strace-4.5.20/debian/rules b/strace-4.5.20/debian/rules
new file mode 100755
index 0000000..8e66ae9
--- /dev/null
+++ b/strace-4.5.20/debian/rules
@@ -0,0 +1,83 @@
+#! /usr/bin/make -f
+
+#export DH_VERBOSE=1
+
+CFLAGS = -Wall -g
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+  CFLAGS += -O0
+else
+  CFLAGS += -O2
+endif
+
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+  NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+  MAKEFLAGS += -j$(NUMJOBS)
+endif
+
+DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
+
+arch64_map = i386=x86_64 powerpc=powerpc64 sparc=sparc64 s390=s390x
+ifneq (,$(filter $(DEB_HOST_ARCH)=%, $(arch64_map)))
+  HOST64 = $(strip $(patsubst $(DEB_HOST_ARCH)=%, %, \
+	     $(filter $(DEB_HOST_ARCH)=%, $(arch64_map))))-linux-gnu
+  CC64 = gcc -m64
+  extra_build_targets += build64-stamp
+endif
+
+ifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
+  CONFIG_OPTS = --build=$(DEB_BUILD_GNU_TYPE)
+else
+  CONFIG_OPTS = --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
+endif
+
+all build: build-stamp $(extra_build_targets)
+
+%-stamp: %/Makefile
+	$(MAKE) -C $*
+	touch $@
+
+build/Makefile:
+	mkdir -p $(@D)
+	cd $(@D); sh ../configure --prefix=/usr $(CONFIG_OPTS)
+
+build64/Makefile:
+	mkdir -p $(@D)
+	cd $(@D); CC="$(CC64)" sh ../configure --prefix=/usr --build=$(DEB_BUILD_GNU_TYPE) --host=$(HOST64)
+
+clean:
+	dh_testdir
+	dh_testroot
+	rm -rf build build64 strace64.1
+	dh_clean
+
+binary: binary-indep binary-arch
+
+binary-indep:
+
+binary-arch: build
+	test -f build-stamp || make $(MFLAGS) -f debian/rules build
+
+	# prepare 64bit executable and manpage, if it has been built
+	test -f build64-stamp && ( mv build64/strace build64/strace64 ; \
+		cp strace.1 strace64.1 ) || true
+
+	dh_testdir -s
+	dh_testroot -s
+	dh_installdirs -s
+	dh_installdocs -s
+	dh_installman -s
+	dh_installexamples -s
+	dh_installchangelogs -s
+	dh_install -s
+	dh_link -s
+	dh_strip -s
+	dh_compress -s
+	dh_fixperms -s
+	dh_installdeb -s
+	dh_shlibdeps -s
+	dh_gencontrol -s
+	dh_md5sums -s
+	dh_builddeb -s
diff --git a/strace-4.5.20/debian/strace-udeb.install b/strace-4.5.20/debian/strace-udeb.install
new file mode 100644
index 0000000..1f41928
--- /dev/null
+++ b/strace-4.5.20/debian/strace-udeb.install
@@ -0,0 +1 @@
+build/strace usr/bin
diff --git a/strace-4.5.20/debian/strace.docs b/strace-4.5.20/debian/strace.docs
new file mode 100644
index 0000000..f62d067
--- /dev/null
+++ b/strace-4.5.20/debian/strace.docs
@@ -0,0 +1,2 @@
+TODO
+NEWS
diff --git a/strace-4.5.20/debian/strace.examples b/strace-4.5.20/debian/strace.examples
new file mode 100644
index 0000000..06b4d96
--- /dev/null
+++ b/strace-4.5.20/debian/strace.examples
@@ -0,0 +1 @@
+strace-graph
diff --git a/strace-4.5.20/debian/strace.install b/strace-4.5.20/debian/strace.install
new file mode 100644
index 0000000..1f41928
--- /dev/null
+++ b/strace-4.5.20/debian/strace.install
@@ -0,0 +1 @@
+build/strace usr/bin
diff --git a/strace-4.5.20/debian/strace.manpages b/strace-4.5.20/debian/strace.manpages
new file mode 100644
index 0000000..5e74dd7
--- /dev/null
+++ b/strace-4.5.20/debian/strace.manpages
@@ -0,0 +1 @@
+strace.1
diff --git a/strace-4.5.20/debian/strace64.install b/strace-4.5.20/debian/strace64.install
new file mode 100644
index 0000000..2d3036d
--- /dev/null
+++ b/strace-4.5.20/debian/strace64.install
@@ -0,0 +1 @@
+build64/strace64 usr/bin
diff --git a/strace-4.5.20/debian/strace64.manpages b/strace-4.5.20/debian/strace64.manpages
new file mode 100644
index 0000000..e3adc93
--- /dev/null
+++ b/strace-4.5.20/debian/strace64.manpages
@@ -0,0 +1 @@
+strace64.1
diff --git a/strace-4.5.20/defs.h b/strace-4.5.20/defs.h
new file mode 100644
index 0000000..62b3719
--- /dev/null
+++ b/strace-4.5.20/defs.h
@@ -0,0 +1,664 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#ifdef MIPS
+#include <sgidefs.h>
+#endif
+
+#ifdef linux
+#include <features.h>
+#endif
+
+#ifdef _LARGEFILE64_SOURCE
+/* This is the macro everything checks before using foo64 names.  */
+# ifndef _LFS64_LARGEFILE
+#  define _LFS64_LARGEFILE 1
+# endif
+#endif
+
+/* configuration section */
+#ifndef MAX_QUALS
+#if defined(LINUX) && defined(MIPS)
+#define MAX_QUALS	7000	/* maximum number of syscalls, signals, etc. */
+#else
+#define MAX_QUALS	2048	/* maximum number of syscalls, signals, etc. */
+#endif
+#endif
+#ifndef DEFAULT_STRLEN
+#define DEFAULT_STRLEN	32	/* default maximum # of bytes printed in
+				  `printstr', change with `-s' switch */
+#endif
+#ifndef DEFAULT_ACOLUMN
+#define DEFAULT_ACOLUMN	40	/* default alignment column for results */
+#endif
+#ifndef MAX_ARGS
+# ifdef HPPA
+#  define MAX_ARGS	6	/* maximum number of args to a syscall */
+# else
+#  define MAX_ARGS	32	/* maximum number of args to a syscall */
+# endif
+#endif
+#ifndef DEFAULT_SORTBY
+#define DEFAULT_SORTBY "time"	/* default sorting method for call profiling */
+#endif
+
+#include <sys/types.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <string.h>
+#include <time.h>
+#include <sys/time.h>
+#include <errno.h>
+
+#ifdef HAVE_STDBOOL_H
+#include <stdbool.h>
+#endif
+
+#ifdef STDC_HEADERS
+#include <stddef.h>
+#endif /* STDC_HEADERS */
+
+#ifdef HAVE_SIGINFO_T
+#include <signal.h>
+#endif
+
+#if defined(LINUX)
+#  if defined(SPARC) || defined(SPARC64)
+#     define LINUXSPARC
+#  endif
+#  if defined(X86_64)
+#     define LINUX_X86_64
+#  endif
+#  if defined(MIPS) && _MIPS_SIM == _MIPS_SIM_ABI32
+#     define LINUX_MIPSO32
+#  endif
+#  if defined(MIPS) && _MIPS_SIM == _MIPS_SIM_NABI32
+#     define LINUX_MIPSN32
+#     define LINUX_MIPS64
+#  endif
+#  if defined(MIPS) && _MIPS_SIM == _MIPS_SIM_ABI64
+#     define LINUX_MIPSN64
+#     define LINUX_MIPS64
+#  endif
+#  if defined(ARM)
+#     define LINUX_ARM
+#  endif
+#  if defined(AVR32)
+#     define LINUX_AVR32
+#  endif
+#endif
+
+#if defined(SVR4) || defined(FREEBSD)
+#define USE_PROCFS
+#else
+#undef USE_PROCFS
+#endif
+
+#ifdef FREEBSD
+#ifndef I386
+#error "FreeBSD support is only for i386 arch right now."
+#endif
+#include <machine/psl.h>
+#include <machine/reg.h>
+#include <sys/syscall.h>
+#endif
+
+#ifdef USE_PROCFS
+#include <sys/procfs.h>
+#ifdef HAVE_MP_PROCFS
+#include <sys/uio.h>
+#endif
+#ifdef FREEBSD
+#include <sys/pioctl.h>
+#endif /* FREEBSD */
+#else /* !USE_PROCFS */
+#if (defined(LINUXSPARC) || defined(LINUX_X86_64) || defined(LINUX_ARM) || defined(LINUX_AVR32)) && defined(__GLIBC__)
+#include <sys/ptrace.h>
+#else
+/* Work around awkward prototype in ptrace.h. */
+#define ptrace xptrace
+#include <sys/ptrace.h>
+#undef ptrace
+#ifdef POWERPC
+#define __KERNEL__
+#include <asm/ptrace.h>
+#undef __KERNEL__
+#endif
+#ifdef LINUX
+extern long ptrace(int, int, char *, long);
+#else /* !LINUX */
+extern int ptrace(int, int, char *, int, ...);
+#endif /* !LINUX */
+#endif /* !LINUXSPARC */
+#endif /* !SVR4 */
+
+#ifdef LINUX
+#if !defined(__GLIBC__)
+#define	PTRACE_PEEKUSER	PTRACE_PEEKUSR
+#define	PTRACE_POKEUSER	PTRACE_POKEUSR
+#endif
+#ifdef ALPHA
+#  define REG_R0 0
+#  define REG_A0 16
+#  define REG_A3 19
+#  define REG_FP 30
+#  define REG_PC 64
+#endif /* ALPHA */
+#ifdef MIPS
+#  define REG_V0 2
+#  define REG_A0 4
+#  define REG_A3 7
+#  define REG_SP 29
+#  define REG_EPC 64
+#endif /* MIPS */
+#ifdef HPPA
+#  define PT_GR20 (20*4)
+#  define PT_GR26 (26*4)
+#  define PT_GR28 (28*4)
+#  define PT_IAOQ0 (106*4)
+#  define PT_IAOQ1 (107*4)
+#endif /* HPPA */
+#ifdef SH64
+   /* SH64 Linux - this code assumes the following kernel API for system calls:
+          PC           Offset 0
+          System Call  Offset 16 (actually, (syscall no.) | (0x1n << 16),
+                       where n = no. of parameters.
+          Other regs   Offset 24+
+
+          On entry:    R2-7 = parameters 1-6 (as many as necessary)
+          On return:   R9   = result. */
+
+   /* Offset for peeks of registers */
+#  define REG_OFFSET         (24)
+#  define REG_GENERAL(x)     (8*(x)+REG_OFFSET)
+#  define REG_PC             (0*8)
+#  define REG_SYSCALL        (2*8)
+#endif /* SH64 */
+#endif /* LINUX */
+
+#define SUPPORTED_PERSONALITIES 1
+#define DEFAULT_PERSONALITY 0
+
+#ifdef LINUXSPARC
+/* Indexes into the pt_regs.u_reg[] array -- UREG_XX from kernel are all off
+ * by 1 and use Ix instead of Ox.  These work for both 32 and 64 bit Linux. */
+#define U_REG_G1 0
+#define U_REG_O0 7
+#define U_REG_O1 8
+#define PERSONALITY0_WORDSIZE 4
+#define PERSONALITY1_WORDSIZE 4
+#undef  SUPPORTED_PERSONALITIES
+#if defined(SPARC64)
+#include <asm/psrcompat.h>
+#define SUPPORTED_PERSONALITIES 3
+#define PERSONALITY2_WORDSIZE 8
+#else
+#include <asm/psr.h>
+#define SUPPORTED_PERSONALITIES 2
+#endif /* SPARC64 */
+#endif /* LINUXSPARC */
+
+#ifdef X86_64
+#undef SUPPORTED_PERSONALITIES
+#define SUPPORTED_PERSONALITIES 2
+#define PERSONALITY0_WORDSIZE 8
+#define PERSONALITY1_WORDSIZE 4
+#endif
+
+#ifdef ARM
+#undef SUPPORTED_PERSONALITIES
+#define SUPPORTED_PERSONALITIES 2
+#define PERSONALITY0_WORDSIZE 4
+#define PERSONALITY1_WORDSIZE 4
+#endif
+
+#ifdef SVR4
+#ifdef HAVE_MP_PROCFS
+extern int mp_ioctl (int f, int c, void *a, int s);
+#define IOCTL(f,c,a)	mp_ioctl (f, c, a, sizeof *a)
+#define IOCTL_STATUS(t) \
+	 pread (t->pfd_stat, &t->status, sizeof t->status, 0)
+#define IOCTL_WSTOP(t)						\
+	(IOCTL (t->pfd, PCWSTOP, (char *)NULL) < 0 ? -1 :		\
+	 IOCTL_STATUS (t))
+#define PR_WHY		pr_lwp.pr_why
+#define PR_WHAT		pr_lwp.pr_what
+#define PR_REG		pr_lwp.pr_context.uc_mcontext.gregs
+#define PR_FLAGS	pr_lwp.pr_flags
+#define PR_SYSCALL	pr_lwp.pr_syscall
+#define PR_INFO		pr_lwp.pr_info
+#define PIOCSTIP	PCSTOP
+#define PIOCSET		PCSET
+#define PIOCRESET	PCRESET
+#define PIOCSTRACE	PCSTRACE
+#define PIOCSFAULT	PCSFAULT
+#define PIOCWSTOP	PCWSTOP
+#define PIOCSTOP	PCSTOP
+#define PIOCSENTRY	PCSENTRY
+#define PIOCSEXIT	PCSEXIT
+#define PIOCRUN		PCRUN
+#else
+#define IOCTL		ioctl
+#define IOCTL_STATUS(t)	ioctl (t->pfd, PIOCSTATUS, &t->status)
+#define IOCTL_WSTOP(t)	ioctl (t->pfd, PIOCWSTOP, &t->status)
+#define PR_WHY		pr_why
+#define PR_WHAT		pr_what
+#define PR_REG		pr_reg
+#define PR_FLAGS	pr_flags
+#define PR_SYSCALL	pr_syscall
+#define PR_INFO		pr_info
+#endif
+#endif
+#ifdef FREEBSD
+#define IOCTL		ioctl
+#define IOCTL_STATUS(t)	ioctl (t->pfd, PIOCSTATUS, &t->status)
+#define IOCTL_WSTOP(t)	ioctl (t->pfd, PIOCWAIT, &t->status)
+#define PIOCRUN         PIOCCONT
+#define PIOCWSTOP       PIOCWAIT
+#define PR_WHY		why
+#define PR_WHAT		val
+#define PR_FLAGS	state
+/* from /usr/src/sys/miscfs/procfs/procfs_vnops.c,
+   status.state = 0 for running, 1 for stopped */
+#define PR_ASLEEP	1
+#define PR_SYSENTRY     S_SCE
+#define PR_SYSEXIT      S_SCX
+#define PR_SIGNALLED    S_SIG
+#define PR_FAULTED      S_CORE
+#endif
+
+/* Trace Control Block */
+struct tcb {
+	short flags;		/* See below for TCB_ values */
+	int pid;		/* Process Id of this entry */
+	long scno;		/* System call number */
+	int u_nargs;		/* System call arguments */
+	long u_arg[MAX_ARGS];	/* System call arguments */
+#if defined (LINUX_MIPSN32)
+	long long ext_arg[MAX_ARGS];	/* System call arguments */
+#endif
+	int u_error;		/* Error code */
+	long u_rval;		/* (first) return value */
+#ifdef HAVE_LONG_LONG
+	long long u_lrval;	/* long long return value */
+#endif
+	FILE *outf;		/* Output file for this process */
+	int curcol;		/* Output column for this process */
+	const char *auxstr;	/* Auxiliary info from syscall (see RVAL_STR) */
+	struct timeval stime;	/* System time usage as of last process wait */
+	struct timeval dtime;	/* Delta for system time usage */
+	struct timeval etime;	/* Syscall entry time */
+				/* Support for tracing forked processes */
+	struct tcb *parent;	/* Parent of this process */
+	int nchildren;		/* # of traced children */
+	int waitpid;		/* pid(s) this process is waiting for */
+	int nzombies;		/* # of formerly traced children now dead */
+#ifdef LINUX
+	int nclone_threads;	/* # of nchildren with CLONE_THREAD */
+	int nclone_detached;	/* # of nchildren with CLONE_DETACHED */
+	int nclone_waiting;	/* clone threads in wait4 (TCB_SUSPENDED) */
+#endif
+				/* (1st arg of wait4()) */
+	long baddr;		/* `Breakpoint' address */
+	long inst[2];		/* Instructions on above */
+	int pfd;		/* proc file descriptor */
+#ifdef SVR4
+#ifdef HAVE_MP_PROCFS
+	int pfd_stat;
+	int pfd_as;
+	pstatus_t status;
+#else
+	prstatus_t status;	/* procfs status structure */
+#endif
+#endif
+	int ptrace_errno;
+#ifdef FREEBSD
+	struct procfs_status status;
+	int pfd_reg;
+	int pfd_status;
+#endif
+};
+
+/* TCB flags */
+#define TCB_STARTUP	00001	/* We have just begun ptracing this process */
+#define TCB_INUSE	00002	/* This table entry is in use */
+#define TCB_INSYSCALL	00004	/* A system call is in progress */
+#define TCB_ATTACHED	00010	/* Process is not our own child */
+#define TCB_EXITING	00020	/* As far as we know, this process is exiting */
+#define TCB_SUSPENDED	00040	/* Process can not be allowed to resume just now */
+#define TCB_BPTSET	00100	/* "Breakpoint" set after fork(2) */
+#define TCB_SIGTRAPPED	00200	/* Process wanted to block SIGTRAP */
+#define TCB_FOLLOWFORK	00400	/* Process should have forks followed */
+#define TCB_REPRINT	01000	/* We should reprint this syscall on exit */
+#ifdef LINUX
+/* x86 does not need TCB_WAITEXECVE.
+ * It can detect execve's SIGTRAP by looking at eax/rax.
+ * See "stray syscall exit: eax = " message in syscall_fixup().
+ */
+# if defined(ALPHA) || defined(AVR32) || defined(SPARC) || defined(SPARC64) \
+  || defined(POWERPC) || defined(IA64) || defined(HPPA) \
+  || defined(SH) || defined(SH64) || defined(S390) || defined(S390X) \
+  || defined(ARM) || defined(MIPS) || defined(BFIN) || defined(TILE)
+#  define TCB_WAITEXECVE 02000	/* ignore SIGTRAP after exceve */
+# endif
+# define TCB_CLONE_DETACHED 04000 /* CLONE_DETACHED set in creating syscall */
+# define TCB_CLONE_THREAD  010000 /* CLONE_THREAD set in creating syscall */
+# define TCB_GROUP_EXITING 020000 /* TCB_EXITING was exit_group, not _exit */
+# include <sys/syscall.h>
+# ifndef __NR_exit_group
+# /* Hack: Most headers around are too old to have __NR_exit_group.  */
+#  ifdef ALPHA
+#   define __NR_exit_group 405
+#  elif defined I386
+#   define __NR_exit_group 252
+#  elif defined X86_64
+#   define __NR_exit_group 231
+#  elif defined IA64
+#   define __NR_exit_group 1236
+#  elif defined POWERPC
+#   define __NR_exit_group 234
+#  elif defined S390 || defined S390X
+#   define __NR_exit_group 248
+#  elif defined SPARC || defined SPARC64
+#   define __NR_exit_group 188
+#  elif defined M68K
+#   define __NR_exit_group 247
+#  endif /* ALPHA et al */
+# endif	/* !__NR_exit_group */
+#endif /* LINUX */
+
+/* qualifier flags */
+#define QUAL_TRACE	0001	/* this system call should be traced */
+#define QUAL_ABBREV	0002	/* abbreviate the structures of this syscall */
+#define QUAL_VERBOSE	0004	/* decode the structures of this syscall */
+#define QUAL_RAW	0010	/* print all args in hex for this syscall */
+#define QUAL_SIGNAL	0020	/* report events with this signal */
+#define QUAL_FAULT	0040	/* report events with this fault */
+#define QUAL_READ	0100	/* dump data read on this file descriptor */
+#define QUAL_WRITE	0200	/* dump data written to this file descriptor */
+
+#define entering(tcp)	(!((tcp)->flags & TCB_INSYSCALL))
+#define exiting(tcp)	((tcp)->flags & TCB_INSYSCALL)
+#define syserror(tcp)	((tcp)->u_error != 0)
+#define verbose(tcp)	(qual_flags[(tcp)->scno] & QUAL_VERBOSE)
+#define abbrev(tcp)	(qual_flags[(tcp)->scno] & QUAL_ABBREV)
+
+struct xlat {
+	int val;
+	char *str;
+};
+
+extern const struct xlat open_mode_flags[];
+extern const struct xlat addrfams[];
+extern const struct xlat struct_user_offsets[];
+extern const struct xlat open_access_modes[];
+
+/* Format of syscall return values */
+#define RVAL_DECIMAL	000	/* decimal format */
+#define RVAL_HEX	001	/* hex format */
+#define RVAL_OCTAL	002	/* octal format */
+#define RVAL_UDECIMAL	003	/* unsigned decimal format */
+#define RVAL_LDECIMAL	004	/* long decimal format */
+#define RVAL_LHEX	005	/* long hex format */
+#define RVAL_LOCTAL	006	/* long octal format */
+#define RVAL_LUDECIMAL	007	/* long unsigned decimal format */
+#define RVAL_MASK	007	/* mask for these values */
+
+#define RVAL_STR	010	/* Print `auxstr' field after return val */
+#define RVAL_NONE	020	/* Print nothing */
+
+#ifndef offsetof
+#define offsetof(type, member)	(((char *) &(((type *) NULL)->member)) - \
+				 ((char *) (type *) NULL))
+#endif /* !offsetof */
+
+/* get offset of member within a user struct */
+#define uoff(member)	offsetof(struct user, member)
+
+#define TRACE_FILE	001	/* Trace file-related syscalls. */
+#define TRACE_IPC	002	/* Trace IPC-related syscalls. */
+#define TRACE_NETWORK	004	/* Trace network-related syscalls. */
+#define TRACE_PROCESS	010	/* Trace process-related syscalls. */
+#define TRACE_SIGNAL	020	/* Trace signal-related syscalls. */
+#define TRACE_DESC	040	/* Trace file descriptor-related syscalls. */
+
+typedef enum {
+	CFLAG_NONE = 0,
+	CFLAG_ONLY_STATS,
+	CFLAG_BOTH
+} cflag_t;
+
+extern struct tcb **tcbtab;
+extern int *qual_flags;
+extern int debug, followfork;
+extern int dtime, xflag, qflag;
+extern cflag_t cflag;
+extern int acolumn;
+extern unsigned int nprocs, tcbtabsize;
+extern int max_strlen;
+extern struct tcb *tcp_last;
+
+enum bitness_t { BITNESS_CURRENT = 0, BITNESS_32 };
+
+extern int set_personality(int personality);
+extern const char *xlookup(const struct xlat *, int);
+extern struct tcb *alloc_tcb(int, int);
+extern struct tcb *pid2tcb(int);
+extern void droptcb(struct tcb *);
+extern void expand_tcbtab(void);
+
+#define alloctcb(pid)	alloc_tcb((pid), 1)
+
+extern void set_sortby(char *);
+extern void set_overhead(int);
+extern void qualify(char *);
+extern int get_scno(struct tcb *);
+extern long known_scno(struct tcb *);
+extern long do_ptrace(int request, struct tcb *tcp, void *addr, void *data);
+extern int ptrace_restart(int request, struct tcb *tcp, int sig);
+extern int trace_syscall(struct tcb *);
+extern int count_syscall(struct tcb *, struct timeval *);
+extern void printxval(const struct xlat *, int, const char *);
+extern int printargs(struct tcb *);
+extern int addflags(const struct xlat *, int);
+extern int printflags(const struct xlat *, int, const char *);
+extern const char *sprintflags(const char *, const struct xlat *, int);
+extern int umoven(struct tcb *, long, int, char *);
+extern int umovestr(struct tcb *, long, int, char *);
+extern int upeek(struct tcb *, long, long *);
+extern void dumpiov(struct tcb *, int, long);
+extern void dumpstr(struct tcb *, long, int);
+extern void printstr(struct tcb *, long, int);
+extern void printnum(struct tcb *, long, char *);
+extern void printnum_int(struct tcb *, long, char *);
+extern void printpath(struct tcb *, long);
+extern void printpathn(struct tcb *, long, int);
+extern void printtv_bitness(struct tcb *, long, enum bitness_t, int);
+extern void sprinttv(struct tcb *, long, enum bitness_t, char *);
+extern void print_timespec(struct tcb *, long);
+extern void sprint_timespec(char *, struct tcb *, long);
+#ifdef HAVE_SIGINFO_T
+extern void printsiginfo(siginfo_t *, int);
+#endif
+extern void printsock(struct tcb *, long, int);
+extern void print_sock_optmgmt(struct tcb *, long, int);
+extern void printrusage(struct tcb *, long);
+extern void printuid(const char *, unsigned long);
+extern int clearbpt(struct tcb *);
+extern int setbpt(struct tcb *);
+extern int sigishandled(struct tcb *, int);
+extern void printcall(struct tcb *);
+extern const char *signame(int);
+extern void print_sigset(struct tcb *, long, int);
+extern void printsignal(int);
+extern void printleader(struct tcb *);
+extern void printtrailer(void);
+extern void tabto(int);
+extern void call_summary(FILE *);
+extern void tprint_iov(struct tcb *, unsigned long, unsigned long);
+extern void tprint_open_modes(mode_t);
+extern const char *sprint_open_modes(mode_t);
+extern int is_restart_error(struct tcb *);
+
+extern int change_syscall(struct tcb *, int);
+extern int internal_fork(struct tcb *);
+extern int internal_exec(struct tcb *);
+extern int internal_wait(struct tcb *, int);
+extern int internal_exit(struct tcb *);
+
+extern const struct ioctlent *ioctl_lookup(long);
+extern const struct ioctlent *ioctl_next_match(const struct ioctlent *);
+extern int ioctl_decode(struct tcb *, long, long);
+extern int term_ioctl(struct tcb *, long, long);
+extern int sock_ioctl(struct tcb *, long, long);
+extern int proc_ioctl(struct tcb *, int, int);
+extern int stream_ioctl(struct tcb *, int, int);
+#ifdef LINUX
+extern int rtc_ioctl(struct tcb *, long, long);
+extern int scsi_ioctl(struct tcb *, long, long);
+#endif
+
+extern int tv_nz(struct timeval *);
+extern int tv_cmp(struct timeval *, struct timeval *);
+extern double tv_float(struct timeval *);
+extern void tv_add(struct timeval *, struct timeval *, struct timeval *);
+extern void tv_sub(struct timeval *, struct timeval *, struct timeval *);
+extern void tv_mul(struct timeval *, struct timeval *, int);
+extern void tv_div(struct timeval *, struct timeval *, int);
+
+#ifdef SUNOS4
+extern int fixvfork(struct tcb *);
+#endif
+#if !(defined(LINUX) && !defined(SPARC) && !defined(SPARC64) && !defined(IA64))
+extern long getrval2(struct tcb *);
+#endif
+#ifdef USE_PROCFS
+extern int proc_open(struct tcb *tcp, int attaching);
+#endif
+
+#define umove(pid, addr, objp)	\
+	umoven((pid), (addr), sizeof *(objp), (char *) (objp))
+
+#define printtv(tcp, addr)	\
+	printtv_bitness((tcp), (addr), BITNESS_CURRENT, 0)
+#define printtv_special(tcp, addr)	\
+	printtv_bitness((tcp), (addr), BITNESS_CURRENT, 1)
+
+#ifdef __GNUC__
+extern void tprintf(const char *fmt, ...)
+	__attribute__ ((format (printf, 1, 2)));
+#else
+extern void tprintf(const char *fmt, ...);
+#endif
+
+#ifndef HAVE_STRERROR
+const char *strerror(int);
+#endif
+#ifndef HAVE_STRSIGNAL
+const char *strsignal(int);
+#endif
+
+extern int current_personality;
+extern const int personality_wordsize[];
+
+struct sysent {
+	int	nargs;
+	int	sys_flags;
+	int	(*sys_func)();
+	const char *sys_name;
+	long	native_scno;	/* Match against SYS_* constants.  */
+};
+
+extern const struct sysent *sysent;
+extern int nsyscalls;
+
+extern const char *const *errnoent;
+extern int nerrnos;
+
+struct ioctlent {
+	const char *doth;
+	const char *symbol;
+	unsigned long code;
+};
+
+extern const struct ioctlent *ioctlent;
+extern int nioctlents;
+
+extern const char *const *signalent;
+extern int nsignals;
+
+extern const struct ioctlent ioctlent0[];
+extern const int nioctlents0;
+extern const char *const signalent0[];
+extern const int nsignals0;
+
+#if SUPPORTED_PERSONALITIES >= 2
+extern const struct ioctlent ioctlent1[];
+extern const int nioctlents1;
+extern const char *const signalent1[];
+extern const int nsignals1;
+#endif /* SUPPORTED_PERSONALITIES >= 2 */
+
+#if SUPPORTED_PERSONALITIES >= 3
+extern const struct ioctlent ioctlent2[];
+extern const int nioctlents2;
+extern const char *const signalent2[];
+extern const int nsignals2;
+#endif /* SUPPORTED_PERSONALITIES >= 3 */
+
+#if HAVE_LONG_LONG
+
+/* _l refers to the lower numbered u_arg,
+ * _h refers to the higher numbered u_arg
+ */
+
+#if HAVE_LITTLE_ENDIAN_LONG_LONG
+#define LONG_LONG(_l,_h) \
+    ((long long)((unsigned long long)(unsigned)(_l) | ((unsigned long long)(_h)<<32)))
+#else
+#define LONG_LONG(_l,_h) \
+    ((long long)((unsigned long long)(unsigned)(_h) | ((unsigned long long)(_l)<<32)))
+#endif
+
+extern int printllval(struct tcb *, const char *, int);
+#endif
+
+#ifdef IA64
+extern long ia32;
+#endif
+
+extern int not_failing_only;
diff --git a/strace-4.5.20/depcomp b/strace-4.5.20/depcomp
new file mode 100755
index 0000000..df8eea7
--- /dev/null
+++ b/strace-4.5.20/depcomp
@@ -0,0 +1,630 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
+# Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+case $1 in
+  '')
+     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+  depmode     Dependency tracking mode.
+  source      Source file read by `PROGRAMS ARGS'.
+  object      Object file output by `PROGRAMS ARGS'.
+  DEPDIR      directory where to store dependencies.
+  depfile     Dependency file to output.
+  tmpdepfile  Temporary file to use when outputing dependencies.
+  libtool     Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "depcomp $scriptversion"
+    exit $?
+    ;;
+esac
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+  echo "depcomp: Variables source, object and depmode must be set" 1>&2
+  exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags.  We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write.  Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+  # HP compiler uses -M and no extra arg.
+  gccflag=-M
+  depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+   # This is just like dashmstdout with a different argument.
+   dashmflag=-xM
+   depmode=dashmstdout
+fi
+
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+   # This is just like msvisualcpp but w/o cygpath translation.
+   # Just convert the backslash-escaped backslashes to single forward
+   # slashes to satisfy depend.m4
+   cygpath_u="sed s,\\\\\\\\,/,g"
+   depmode=msvisualcpp
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff.  Hmm.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am.  Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+  for arg
+  do
+    case $arg in
+    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+    *)  set fnord "$@" "$arg" ;;
+    esac
+    shift # fnord
+    shift # $arg
+  done
+  "$@"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  mv "$tmpdepfile" "$depfile"
+  ;;
+
+gcc)
+## There are various ways to get dependency output from gcc.  Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+##   up in a subdir.  Having to rename by hand is ugly.
+##   (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+##   -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+##   than renaming).
+  if test -z "$gccflag"; then
+    gccflag=-MD,
+  fi
+  "$@" -Wp,"$gccflag$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+  sed -e 's/^[^:]*: / /' \
+      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header).  We avoid this by adding
+## dummy dependencies for each header file.  Too bad gcc doesn't do
+## this for us directly.
+  tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'.  On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+sgi)
+  if test "$libtool" = yes; then
+    "$@" "-Wp,-MDupdate,$tmpdepfile"
+  else
+    "$@" -MDupdate "$tmpdepfile"
+  fi
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+
+  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
+    echo "$object : \\" > "$depfile"
+
+    # Clip off the initial element (the dependent).  Don't try to be
+    # clever and replace this with sed code, as IRIX sed won't handle
+    # lines with more than a fixed number of characters (4096 in
+    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
+    # the IRIX cc adds comments like `#:fec' to the end of the
+    # dependency line.
+    tr ' ' '
+' < "$tmpdepfile" \
+    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+    tr '
+' ' ' >> "$depfile"
+    echo >> "$depfile"
+
+    # The second pass generates a dummy entry for each header file.
+    tr ' ' '
+' < "$tmpdepfile" \
+   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+   >> "$depfile"
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+aix)
+  # The C for AIX Compiler uses -M and outputs the dependencies
+  # in a .u file.  In older versions, this file always lives in the
+  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # start of each line; $object doesn't have directory information.
+  # Version 6 uses the directory in both cases.
+  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+  test "x$dir" = "x$object" && dir=
+  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  if test "$libtool" = yes; then
+    tmpdepfile1=$dir$base.u
+    tmpdepfile2=$base.u
+    tmpdepfile3=$dir.libs/$base.u
+    "$@" -Wc,-M
+  else
+    tmpdepfile1=$dir$base.u
+    tmpdepfile2=$dir$base.u
+    tmpdepfile3=$dir$base.u
+    "$@" -M
+  fi
+  stat=$?
+
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  if test -f "$tmpdepfile"; then
+    # Each line is of the form `foo.o: dependent.h'.
+    # Do two passes, one to just change these to
+    # `$object: dependent.h' and one to simply `dependent.h:'.
+    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+    # That's a tab and a space in the [].
+    sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+icc)
+  # Intel's C compiler understands `-MD -MF file'.  However on
+  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # ICC 7.0 will fill foo.d with something like
+  #    foo.o: sub/foo.c
+  #    foo.o: sub/foo.h
+  # which is wrong.  We want:
+  #    sub/foo.o: sub/foo.c
+  #    sub/foo.o: sub/foo.h
+  #    sub/foo.c:
+  #    sub/foo.h:
+  # ICC 7.1 will output
+  #    foo.o: sub/foo.c sub/foo.h
+  # and will wrap long lines using \ :
+  #    foo.o: sub/foo.c ... \
+  #     sub/foo.h ... \
+  #     ...
+
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  # Each line is of the form `foo.o: dependent.h',
+  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Do two passes, one to just change these to
+  # `$object: dependent.h' and one to simply `dependent.h:'.
+  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+    sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp2)
+  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+  # compilers, which have integrated preprocessors.  The correct option
+  # to use with these is +Maked; it writes dependencies to a file named
+  # 'foo.d', which lands next to the object file, wherever that
+  # happens to be.
+  # Much of this is similar to the tru64 case; see comments there.
+  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+  test "x$dir" = "x$object" && dir=
+  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  if test "$libtool" = yes; then
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir.libs/$base.d
+    "$@" -Wc,+Maked
+  else
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir$base.d
+    "$@" +Maked
+  fi
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+     rm -f "$tmpdepfile1" "$tmpdepfile2"
+     exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  if test -f "$tmpdepfile"; then
+    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+    # Add `dependent.h:' lines.
+    sed -ne '2,${
+	       s/^ *//
+	       s/ \\*$//
+	       s/$/:/
+	       p
+	     }' "$tmpdepfile" >> "$depfile"
+  else
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile" "$tmpdepfile2"
+  ;;
+
+tru64)
+   # The Tru64 compiler uses -MD to generate dependencies as a side
+   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+   # dependencies in `foo.d' instead, so we check for that too.
+   # Subdirectories are respected.
+   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+   test "x$dir" = "x$object" && dir=
+   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+   if test "$libtool" = yes; then
+      # With Tru64 cc, shared objects can also be used to make a
+      # static library.  This mechanism is used in libtool 1.4 series to
+      # handle both shared and static libraries in a single compilation.
+      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+      #
+      # With libtool 1.5 this exception was removed, and libtool now
+      # generates 2 separate objects for the 2 libraries.  These two
+      # compilations output dependencies in $dir.libs/$base.o.d and
+      # in $dir$base.o.d.  We have to check for both files, because
+      # one of the two compilations can be disabled.  We should prefer
+      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+      # automatically cleaned when .libs/ is deleted, while ignoring
+      # the former would cause a distcleancheck panic.
+      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
+      tmpdepfile2=$dir$base.o.d          # libtool 1.5
+      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
+      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
+      "$@" -Wc,-MD
+   else
+      tmpdepfile1=$dir$base.o.d
+      tmpdepfile2=$dir$base.d
+      tmpdepfile3=$dir$base.d
+      tmpdepfile4=$dir$base.d
+      "$@" -MD
+   fi
+
+   stat=$?
+   if test $stat -eq 0; then :
+   else
+      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+      exit $stat
+   fi
+
+   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+   do
+     test -f "$tmpdepfile" && break
+   done
+   if test -f "$tmpdepfile"; then
+      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+      # That's a tab and a space in the [].
+      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+   else
+      echo "#dummy" > "$depfile"
+   fi
+   rm -f "$tmpdepfile"
+   ;;
+
+#nosideeffect)
+  # This comment above is used by automake to tell side-effect
+  # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  test -z "$dashmflag" && dashmflag=-M
+  # Require at least two characters before searching for `:'
+  # in the target name.  This is to cope with DOS-style filenames:
+  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  "$@" $dashmflag |
+    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+dashXmstdout)
+  # This case only exists to satisfy depend.m4.  It is never actually
+  # run, as this mode is specially recognized in the preamble.
+  exit 1
+  ;;
+
+makedepend)
+  "$@" || exit $?
+  # Remove any Libtool call
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+  # X makedepend
+  shift
+  cleared=no eat=no
+  for arg
+  do
+    case $cleared in
+    no)
+      set ""; shift
+      cleared=yes ;;
+    esac
+    if test $eat = yes; then
+      eat=no
+      continue
+    fi
+    case "$arg" in
+    -D*|-I*)
+      set fnord "$@" "$arg"; shift ;;
+    # Strip any option that makedepend may not understand.  Remove
+    # the object too, otherwise makedepend will parse it as a source file.
+    -arch)
+      eat=yes ;;
+    -*|$object)
+      ;;
+    *)
+      set fnord "$@" "$arg"; shift ;;
+    esac
+  done
+  obj_suffix=`echo "$object" | sed 's/^.*\././'`
+  touch "$tmpdepfile"
+  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile" "$tmpdepfile".bak
+  ;;
+
+cpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  "$@" -E |
+    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+    sed '$ s: \\$::' > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  cat < "$tmpdepfile" >> "$depfile"
+  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvisualcpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  IFS=" "
+  for arg
+  do
+    case "$arg" in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+	set fnord "$@"
+	shift
+	shift
+	;;
+    *)
+	set fnord "$@" "$arg"
+	shift
+	shift
+	;;
+    esac
+  done
+  "$@" -E 2>/dev/null |
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
+  echo "	" >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvcmsys)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+none)
+  exec "$@"
+  ;;
+
+*)
+  echo "Unknown depmode $depmode" 1>&2
+  exit 1
+  ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/strace-4.5.20/desc.c b/strace-4.5.20/desc.c
new file mode 100644
index 0000000..9571e49
--- /dev/null
+++ b/strace-4.5.20/desc.c
@@ -0,0 +1,981 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+#include <fcntl.h>
+#include <sys/file.h>
+#ifdef LINUX
+#include <inttypes.h>
+#endif
+#ifdef HAVE_SYS_EPOLL_H
+#include <sys/epoll.h>
+#endif
+#ifdef HAVE_LIBAIO_H
+#include <libaio.h>
+#endif
+
+#if HAVE_LONG_LONG_OFF_T
+/*
+ * Hacks for systems that have a long long off_t
+ */
+#define flock64	flock		/* Horrid hack */
+#define printflock printflock64	/* Horrider hack */
+#endif
+
+
+static const struct xlat fcntlcmds[] = {
+	{ F_DUPFD,	"F_DUPFD"	},
+	{ F_GETFD,	"F_GETFD"	},
+	{ F_SETFD,	"F_SETFD"	},
+	{ F_GETFL,	"F_GETFL"	},
+	{ F_SETFL,	"F_SETFL"	},
+	{ F_GETLK,	"F_GETLK"	},
+	{ F_SETLK,	"F_SETLK"	},
+	{ F_SETLKW,	"F_SETLKW"	},
+	{ F_GETOWN,	"F_GETOWN"	},
+	{ F_SETOWN,	"F_SETOWN"	},
+#ifdef F_RSETLK
+	{ F_RSETLK,	"F_RSETLK"	},
+#endif
+#ifdef F_RSETLKW
+	{ F_RSETLKW,	"F_RSETLKW"	},
+#endif
+#ifdef F_RGETLK
+	{ F_RGETLK,	"F_RGETLK"	},
+#endif
+#ifdef F_CNVT
+	{ F_CNVT,	"F_CNVT"	},
+#endif
+#ifdef F_SETSIG
+	{ F_SETSIG,	"F_SETSIG"	},
+#endif
+#ifdef F_GETSIG
+	{ F_GETSIG,	"F_GETSIG"	},
+#endif
+#ifdef F_CHKFL
+	{ F_CHKFL,	"F_CHKFL"	},
+#endif
+#ifdef F_DUP2FD
+	{ F_DUP2FD,	"F_DUP2FD"	},
+#endif
+#ifdef F_ALLOCSP
+	{ F_ALLOCSP,	"F_ALLOCSP"	},
+#endif
+#ifdef F_ISSTREAM
+	{ F_ISSTREAM,	"F_ISSTREAM"	},
+#endif
+#ifdef F_PRIV
+	{ F_PRIV,	"F_PRIV"	},
+#endif
+#ifdef F_NPRIV
+	{ F_NPRIV,	"F_NPRIV"	},
+#endif
+#ifdef F_QUOTACL
+	{ F_QUOTACL,	"F_QUOTACL"	},
+#endif
+#ifdef F_BLOCKS
+	{ F_BLOCKS,	"F_BLOCKS"	},
+#endif
+#ifdef F_BLKSIZE
+	{ F_BLKSIZE,	"F_BLKSIZE"	},
+#endif
+#ifdef F_GETOWN
+	{ F_GETOWN,	"F_GETOWN"	},
+#endif
+#ifdef F_SETOWN
+	{ F_SETOWN,	"F_SETOWN"	},
+#endif
+#ifdef F_REVOKE
+	{ F_REVOKE,	"F_REVOKE"	},
+#endif
+#ifdef F_SETLK
+	{ F_SETLK,	"F_SETLK"	},
+#endif
+#ifdef F_SETLKW
+	{ F_SETLKW,	"F_SETLKW"	},
+#endif
+#ifdef F_FREESP
+	{ F_FREESP,	"F_FREESP"	},
+#endif
+#ifdef F_GETLK
+	{ F_GETLK,	"F_GETLK"	},
+#endif
+#ifdef F_SETLK64
+	{ F_SETLK64,	"F_SETLK64"	},
+#endif
+#ifdef F_SETLKW64
+	{ F_SETLKW64,	"F_SETLKW64"	},
+#endif
+#ifdef F_FREESP64
+	{ F_FREESP64,	"F_FREESP64"	},
+#endif
+#ifdef F_GETLK64
+	{ F_GETLK64,	"F_GETLK64"	},
+#endif
+#ifdef F_SHARE
+	{ F_SHARE,	"F_SHARE"	},
+#endif
+#ifdef F_UNSHARE
+	{ F_UNSHARE,	"F_UNSHARE"	},
+#endif
+#ifdef F_SETLEASE
+	{ F_SETLEASE,	"F_SETLEASE"	},
+#endif
+#ifdef F_GETLEASE
+	{ F_GETLEASE,	"F_GETLEASE"	},
+#endif
+#ifdef F_NOTIFY
+	{ F_NOTIFY,	"F_NOTIFY"	},
+#endif
+#ifdef F_DUPFD_CLOEXEC
+	{ F_DUPFD_CLOEXEC,"F_DUPFD_CLOEXEC"},
+#endif
+	{ 0,		NULL		},
+};
+
+static const struct xlat fdflags[] = {
+#ifdef FD_CLOEXEC
+	{ FD_CLOEXEC,	"FD_CLOEXEC"	},
+#endif
+	{ 0,		NULL		},
+};
+
+#ifdef LOCK_SH
+
+static const struct xlat flockcmds[] = {
+	{ LOCK_SH,	"LOCK_SH"	},
+	{ LOCK_EX,	"LOCK_EX"	},
+	{ LOCK_NB,	"LOCK_NB"	},
+	{ LOCK_UN,	"LOCK_UN"	},
+	{ 0,		NULL		},
+};
+
+#endif /* LOCK_SH */
+
+static const struct xlat lockfcmds[] = {
+	{ F_RDLCK,	"F_RDLCK"	},
+	{ F_WRLCK,	"F_WRLCK"	},
+	{ F_UNLCK,	"F_UNLCK"	},
+#ifdef F_EXLCK
+	{ F_EXLCK,	"F_EXLCK"	},
+#endif
+#ifdef F_SHLCK
+	{ F_SHLCK,	"F_SHLCK"	},
+#endif
+	{ 0,		NULL		},
+};
+
+#ifdef F_NOTIFY
+static const struct xlat notifyflags[] = {
+#ifdef DN_ACCESS
+	{ DN_ACCESS,	"DN_ACCESS"	},
+#endif
+#ifdef DN_MODIFY
+	{ DN_MODIFY,	"DN_MODIFY"	},
+#endif
+#ifdef DN_CREATE
+	{ DN_CREATE,	"DN_CREATE"	},
+#endif
+#ifdef DN_DELETE
+	{ DN_DELETE,	"DN_DELETE"	},
+#endif
+#ifdef DN_RENAME
+	{ DN_RENAME,	"DN_RENAME"	},
+#endif
+#ifdef DN_ATTRIB
+	{ DN_ATTRIB,	"DN_ATTRIB"	},
+#endif
+#ifdef DN_MULTISHOT
+	{ DN_MULTISHOT,	"DN_MULTISHOT"	},
+#endif
+	{ 0,		NULL		},
+};
+#endif
+
+static const struct xlat whence[] = {
+	{ SEEK_SET,	"SEEK_SET"	},
+	{ SEEK_CUR,	"SEEK_CUR"	},
+	{ SEEK_END,	"SEEK_END"	},
+	{ 0,		NULL		},
+};
+
+#ifndef HAVE_LONG_LONG_OFF_T
+/* fcntl/lockf */
+static void
+printflock(struct tcb *tcp, long addr, int getlk)
+{
+	struct flock fl;
+
+#if SUPPORTED_PERSONALITIES > 1
+	if (personality_wordsize[current_personality] != sizeof(fl.l_start)) {
+		if (personality_wordsize[current_personality] == 4) {
+			/* 32-bit x86 app on x86_64 and similar cases */
+			struct {
+				short int l_type;
+				short int l_whence;
+				int32_t l_start; /* off_t */
+				int32_t l_len; /* off_t */
+				int32_t l_pid; /* pid_t */
+			} fl32;
+			if (umove(tcp, addr, &fl32) < 0) {
+				tprintf("{...}");
+				return;
+			}
+			fl.l_type = fl32.l_type;
+			fl.l_whence = fl32.l_whence;
+			fl.l_start = fl32.l_start;
+			fl.l_len = fl32.l_len;
+			fl.l_pid = fl32.l_pid;
+		} else {
+			/* let people know we have a problem here */
+			tprintf("{ <decode error: unsupported wordsize %d> }",
+				personality_wordsize[current_personality]);
+			return;
+		}
+	} else
+#endif
+	{
+		if (umove(tcp, addr, &fl) < 0) {
+			tprintf("{...}");
+			return;
+		}
+	}
+	tprintf("{type=");
+	printxval(lockfcmds, fl.l_type, "F_???");
+	tprintf(", whence=");
+	printxval(whence, fl.l_whence, "SEEK_???");
+	tprintf(", start=%ld, len=%ld", fl.l_start, fl.l_len);
+	if (getlk)
+		tprintf(", pid=%lu}", (unsigned long) fl.l_pid);
+	else
+		tprintf("}");
+}
+#endif
+
+#if _LFS64_LARGEFILE || HAVE_LONG_LONG_OFF_T
+/* fcntl/lockf */
+static void
+printflock64(struct tcb *tcp, long addr, int getlk)
+{
+	struct flock64 fl;
+
+	if (umove(tcp, addr, &fl) < 0) {
+		tprintf("{...}");
+		return;
+	}
+	tprintf("{type=");
+	printxval(lockfcmds, fl.l_type, "F_???");
+	tprintf(", whence=");
+	printxval(whence, fl.l_whence, "SEEK_???");
+	tprintf(", start=%lld, len=%lld", (long long) fl.l_start, (long long) fl.l_len);
+	if (getlk)
+		tprintf(", pid=%lu}", (unsigned long) fl.l_pid);
+	else
+		tprintf("}");
+}
+#endif
+
+int
+sys_fcntl(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printxval(fcntlcmds, tcp->u_arg[1], "F_???");
+		switch (tcp->u_arg[1]) {
+		case F_SETFD:
+			tprintf(", ");
+			printflags(fdflags, tcp->u_arg[2], "FD_???");
+			break;
+		case F_SETOWN: case F_DUPFD:
+#ifdef F_DUPFD_CLOEXEC
+		case F_DUPFD_CLOEXEC:
+#endif
+			tprintf(", %ld", tcp->u_arg[2]);
+			break;
+		case F_SETFL:
+			tprintf(", ");
+			tprint_open_modes(tcp->u_arg[2]);
+			break;
+		case F_SETLK: case F_SETLKW:
+#ifdef F_FREESP
+		case F_FREESP:
+#endif
+			tprintf(", ");
+			printflock(tcp, tcp->u_arg[2], 0);
+			break;
+#if _LFS64_LARGEFILE
+#ifdef F_FREESP64
+		case F_FREESP64:
+#endif
+		/* Linux glibc defines SETLK64 as SETLK,
+		   even though the kernel has different values - as does Solaris. */
+#if defined(F_SETLK64) && F_SETLK64 + 0 != F_SETLK
+		case F_SETLK64:
+#endif
+#if defined(F_SETLKW64) && F_SETLKW64 + 0 != F_SETLKW
+		case F_SETLKW64:
+#endif
+			tprintf(", ");
+			printflock64(tcp, tcp->u_arg[2], 0);
+			break;
+#endif
+#ifdef F_NOTIFY
+		case F_NOTIFY:
+			tprintf(", ");
+			printflags(notifyflags, tcp->u_arg[2], "DN_???");
+			break;
+#endif
+#ifdef F_SETLEASE
+		case F_SETLEASE:
+			tprintf(", ");
+			printxval(lockfcmds, tcp->u_arg[2], "F_???");
+			break;
+#endif
+		}
+	}
+	else {
+		switch (tcp->u_arg[1]) {
+		case F_DUPFD:
+#ifdef F_DUPFD_CLOEXEC
+		case F_DUPFD_CLOEXEC:
+#endif
+		case F_SETFD: case F_SETFL:
+		case F_SETLK: case F_SETLKW:
+		case F_SETOWN: case F_GETOWN:
+#ifdef F_NOTIFY
+		case F_NOTIFY:
+#endif
+#ifdef F_SETLEASE
+		case F_SETLEASE:
+#endif
+			break;
+		case F_GETFD:
+			if (syserror(tcp) || tcp->u_rval == 0)
+				return 0;
+			tcp->auxstr = sprintflags("flags ", fdflags, tcp->u_rval);
+			return RVAL_HEX|RVAL_STR;
+		case F_GETFL:
+			if (syserror(tcp))
+				return 0;
+			tcp->auxstr = sprint_open_modes(tcp->u_rval);
+			return RVAL_HEX|RVAL_STR;
+		case F_GETLK:
+			tprintf(", ");
+			printflock(tcp, tcp->u_arg[2], 1);
+			break;
+#if _LFS64_LARGEFILE
+#if defined(F_GETLK64) && F_GETLK64+0!=F_GETLK
+		case F_GETLK64:
+#endif
+			tprintf(", ");
+			printflock64(tcp, tcp->u_arg[2], 1);
+			break;
+#endif
+#ifdef F_GETLEASE
+		case F_GETLEASE:
+			if (syserror(tcp))
+				return 0;
+			tcp->auxstr = xlookup(lockfcmds, tcp->u_rval);
+			return RVAL_HEX|RVAL_STR;
+#endif
+		default:
+			tprintf(", %#lx", tcp->u_arg[2]);
+			break;
+		}
+	}
+	return 0;
+}
+
+#ifdef LOCK_SH
+
+int
+sys_flock(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printflags(flockcmds, tcp->u_arg[1], "LOCK_???");
+	}
+	return 0;
+}
+#endif /* LOCK_SH */
+
+int
+sys_close(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld", tcp->u_arg[0]);
+	}
+	return 0;
+}
+
+int
+sys_dup(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld", tcp->u_arg[0]);
+	}
+	return 0;
+}
+
+static int
+do_dup2(struct tcb *tcp, int flags_arg)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, %ld", tcp->u_arg[0], tcp->u_arg[1]);
+		if (flags_arg >= 0) {
+			tprintf(", ");
+			printflags(open_mode_flags, tcp->u_arg[flags_arg], "O_???");
+		}
+	}
+	return 0;
+}
+
+int
+sys_dup2(struct tcb *tcp)
+{
+	return do_dup2(tcp, -1);
+}
+
+#ifdef LINUX
+int
+sys_dup3(struct tcb *tcp)
+{
+	return do_dup2(tcp, 2);
+}
+#endif
+
+#if defined(ALPHA) || defined(FREEBSD) || defined(SUNOS4)
+int
+sys_getdtablesize(struct tcb *tcp)
+{
+	return 0;
+}
+#endif /* ALPHA || FREEBSD || SUNOS4 */
+
+static int
+decode_select(struct tcb *tcp, long *args, enum bitness_t bitness)
+{
+	int i, j, nfds;
+	unsigned int fdsize = ((((args[0] + 7) / 8) + sizeof(long) - 1)
+			       & -sizeof(long));
+	fd_set *fds;
+	static char outstr[1024];
+	char *sep;
+	long arg;
+
+	if (entering(tcp)) {
+		fds = (fd_set *) malloc(fdsize);
+		if (fds == NULL)
+			fprintf(stderr, "out of memory\n");
+		nfds = args[0];
+		tprintf("%d", nfds);
+		for (i = 0; i < 3; i++) {
+			arg = args[i+1];
+			if (arg == 0) {
+				tprintf(", NULL");
+				continue;
+			}
+			if (fds == NULL || !verbose(tcp)) {
+				tprintf(", %#lx", arg);
+				continue;
+			}
+			if (umoven(tcp, arg, fdsize, (char *) fds) < 0) {
+				tprintf(", [?]");
+				continue;
+			}
+			tprintf(", [");
+			for (j = 0, sep = ""; j < nfds; j++) {
+				if (FD_ISSET(j, fds)) {
+					tprintf("%s%u", sep, j);
+					sep = " ";
+				}
+			}
+			tprintf("]");
+		}
+		free(fds);
+		tprintf(", ");
+		printtv_bitness(tcp, args[4], bitness, 0);
+	}
+	else
+	{
+		unsigned int cumlen = 0;
+		char *sep = "";
+
+		if (syserror(tcp))
+			return 0;
+
+		if ((nfds = tcp->u_rval) == 0) {
+			tcp->auxstr = "Timeout";
+			return RVAL_STR;
+		}
+
+		fds = (fd_set *) malloc(fdsize);
+		if (fds == NULL)
+			fprintf(stderr, "out of memory\n");
+
+		outstr[0] = '\0';
+		for (i = 0; i < 3; i++) {
+			int first = 1;
+
+			tcp->auxstr = outstr;
+			arg = args[i+1];
+			if (fds == NULL || !arg ||
+			    umoven(tcp, arg, fdsize, (char *) fds) < 0)
+				continue;
+			for (j = 0; j < args[0]; j++) {
+				if (FD_ISSET(j, fds)) {
+					char str[11 + 3 * sizeof(int)];
+
+					if (first) {
+						sprintf(str, "%s%s [%u", sep,
+							i == 0 ? "in" :
+							i == 1 ? "out" :
+							"except", j);
+						first = 0;
+						sep = ", ";
+					}
+					else
+						sprintf(str, " %u", j);
+					cumlen += strlen(str);
+					if (cumlen < sizeof(outstr))
+						strcat(outstr, str);
+					nfds--;
+				}
+			}
+			if (cumlen)
+				strcat(outstr, "]");
+			if (nfds == 0)
+				break;
+		}
+		free(fds);
+#ifdef LINUX
+		/* This contains no useful information on SunOS.  */
+		if (args[4]) {
+			char str[128];
+
+			sprintf(str, "%sleft ", sep);
+			sprinttv(tcp, args[4], bitness, str + strlen(str));
+			if ((cumlen += strlen(str)) < sizeof(outstr))
+				strcat(outstr, str);
+		}
+#endif /* LINUX */
+		return RVAL_STR;
+	}
+	return 0;
+}
+
+#ifdef LINUX
+
+int
+sys_oldselect(struct tcb *tcp)
+{
+	long args[5];
+
+	if (umoven(tcp, tcp->u_arg[0], sizeof args, (char *) args) < 0) {
+		tprintf("[...]");
+		return 0;
+	}
+	return decode_select(tcp, args, BITNESS_CURRENT);
+}
+
+#ifdef ALPHA
+int
+sys_osf_select(struct tcb *tcp)
+{
+	long *args = tcp->u_arg;
+	return decode_select(tcp, args, BITNESS_32);
+}
+#endif
+
+static const struct xlat epollctls[] = {
+#ifdef EPOLL_CTL_ADD
+	{ EPOLL_CTL_ADD,	"EPOLL_CTL_ADD"	},
+#endif
+#ifdef EPOLL_CTL_MOD
+	{ EPOLL_CTL_MOD,	"EPOLL_CTL_MOD"	},
+#endif
+#ifdef EPOLL_CTL_DEL
+	{ EPOLL_CTL_DEL,	"EPOLL_CTL_DEL"	},
+#endif
+	{ 0,			NULL		}
+};
+
+static const struct xlat epollevents[] = {
+#ifdef EPOLLIN
+	{ EPOLLIN,	"EPOLLIN"	},
+#endif
+#ifdef EPOLLPRI
+	{ EPOLLPRI,	"EPOLLPRI"	},
+#endif
+#ifdef EPOLLOUT
+	{ EPOLLOUT,	"EPOLLOUT"	},
+#endif
+#ifdef EPOLLRDNORM
+	{ EPOLLRDNORM,	"EPOLLRDNORM"	},
+#endif
+#ifdef EPOLLRDBAND
+	{ EPOLLRDBAND,	"EPOLLRDBAND"	},
+#endif
+#ifdef EPOLLWRNORM
+	{ EPOLLWRNORM,	"EPOLLWRNORM"	},
+#endif
+#ifdef EPOLLWRBAND
+	{ EPOLLWRBAND,	"EPOLLWRBAND"	},
+#endif
+#ifdef EPOLLMSG
+	{ EPOLLMSG,	"EPOLLMSG"	},
+#endif
+#ifdef EPOLLERR
+	{ EPOLLERR,	"EPOLLERR"	},
+#endif
+#ifdef EPOLLHUP
+	{ EPOLLHUP,	"EPOLLHUP"	},
+#endif
+#ifdef EPOLLONESHOT
+	{ EPOLLONESHOT,	"EPOLLONESHOT"	},
+#endif
+#ifdef EPOLLET
+	{ EPOLLET,	"EPOLLET"	},
+#endif
+	{ 0,		NULL		}
+};
+
+int
+sys_epoll_create(struct tcb *tcp)
+{
+	if (entering(tcp))
+		tprintf("%ld", tcp->u_arg[0]);
+	return 0;
+}
+
+int
+sys_epoll_create1(struct tcb *tcp)
+{
+	if (entering(tcp))
+		printflags(open_mode_flags, tcp->u_arg[0], "O_???");
+	return 0;
+}
+
+#ifdef HAVE_SYS_EPOLL_H
+static void
+print_epoll_event(struct epoll_event *ev)
+{
+	tprintf("{");
+	printflags(epollevents, ev->events, "EPOLL???");
+	/* We cannot know what format the program uses, so print u32 and u64
+	   which will cover every value.  */
+	tprintf(", {u32=%" PRIu32 ", u64=%" PRIu64 "}}",
+		ev->data.u32, ev->data.u64);
+}
+#endif
+
+int
+sys_epoll_ctl(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printxval(epollctls, tcp->u_arg[1], "EPOLL_CTL_???");
+		tprintf(", %ld, ", tcp->u_arg[2]);
+		if (tcp->u_arg[3] == 0)
+			tprintf("NULL");
+		else {
+#ifdef HAVE_SYS_EPOLL_H
+			struct epoll_event ev;
+			if (umove(tcp, tcp->u_arg[3], &ev) == 0)
+				print_epoll_event(&ev);
+			else
+#endif
+				tprintf("{...}");
+		}
+	}
+	return 0;
+}
+
+static void
+epoll_wait_common(struct tcb *tcp)
+{
+	if (entering(tcp))
+		tprintf("%ld, ", tcp->u_arg[0]);
+	else {
+		if (syserror(tcp))
+			tprintf("%lx", tcp->u_arg[1]);
+		else if (tcp->u_rval == 0)
+			tprintf("{}");
+		else {
+#ifdef HAVE_SYS_EPOLL_H
+			struct epoll_event ev, *start, *cur, *end;
+			int failed = 0;
+
+			tprintf("{");
+			start = (struct epoll_event *) tcp->u_arg[1];
+			end = start + tcp->u_rval;
+			for (cur = start; cur < end; ++cur) {
+				if (cur > start)
+					tprintf(", ");
+				if (umove(tcp, (long) cur, &ev) == 0)
+					print_epoll_event(&ev);
+				else {
+					tprintf("?");
+					failed = 1;
+					break;
+				}
+			}
+			tprintf("}");
+			if (failed)
+				tprintf(" %#lx", (long) start);
+#else
+			tprintf("{...}");
+#endif
+		}
+		tprintf(", %ld, %ld", tcp->u_arg[2], tcp->u_arg[3]);
+	}
+}
+
+int
+sys_epoll_wait(struct tcb *tcp)
+{
+	epoll_wait_common(tcp);
+	return 0;
+}
+
+int
+sys_epoll_pwait(struct tcb *tcp)
+{
+	epoll_wait_common(tcp);
+	if (exiting(tcp)) {
+		tprintf(", ");
+		print_sigset(tcp, tcp->u_arg[4], 0);
+	}
+	return 0;
+}
+
+int
+sys_io_setup(struct tcb *tcp)
+{
+	if (entering(tcp))
+		tprintf("%ld, ", tcp->u_arg[0]);
+	else {
+		if (syserror(tcp))
+			tprintf("0x%0lx", tcp->u_arg[1]);
+		else {
+			unsigned long user_id;
+			if (umove(tcp, tcp->u_arg[1], &user_id) == 0)
+				tprintf("{%lu}", user_id);
+			else
+				tprintf("{...}");
+		}
+	}
+	return 0;
+}
+
+int
+sys_io_destroy(struct tcb *tcp)
+{
+	if (entering(tcp))
+		tprintf("%lu", tcp->u_arg[0]);
+	return 0;
+}
+
+int
+sys_io_submit(struct tcb *tcp)
+{
+	long nr;
+	if (entering(tcp)) {
+		tprintf("%lu, %ld, ", tcp->u_arg[0], tcp->u_arg[1]);
+		nr = tcp->u_arg[1];
+		/* and if nr is negative? */
+		if (nr == 0)
+			tprintf("{}");
+		else {
+#ifdef HAVE_LIBAIO_H
+			long i;
+			struct iocb *iocbp, **iocbs = (void *)tcp->u_arg[2];
+
+			for (i = 0; i < nr; i++, iocbs++) {
+				struct iocb iocb;
+				if (i == 0)
+					tprintf("{");
+				else
+					tprintf(", ");
+
+				if (umove(tcp, (unsigned long)iocbs, &iocbp) ||
+				    umove(tcp, (unsigned long)iocbp, &iocb)) {
+					tprintf("{...}");
+					continue;
+				}
+				tprintf("{%p, %u, %hu, %hu, %d}",
+					iocb.data, iocb.key,
+					iocb.aio_lio_opcode,
+					iocb.aio_reqprio, iocb.aio_fildes);
+			}
+			if (i)
+				tprintf("}");
+#else
+			tprintf("{...}");
+#endif
+		}
+	}
+	return 0;
+}
+
+int
+sys_io_cancel(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+#ifdef HAVE_LIBAIO_H
+		struct iocb iocb;
+#endif
+		tprintf("%lu, ", tcp->u_arg[0]);
+#ifdef HAVE_LIBAIO_H
+		if (umove(tcp, tcp->u_arg[1], &iocb) == 0) {
+			tprintf("{%p, %u, %hu, %hu, %d}, ",
+				iocb.data, iocb.key,
+				iocb.aio_lio_opcode,
+				iocb.aio_reqprio, iocb.aio_fildes);
+		} else
+#endif
+			tprintf("{...}, ");
+	} else {
+		if (tcp->u_rval < 0)
+			tprintf("{...}");
+		else {
+#ifdef HAVE_LIBAIO_H
+			struct io_event event;
+			if (umove(tcp, tcp->u_arg[2], &event) == 0)
+				tprintf("{%p, %p, %ld, %ld}",
+					event.data, event.obj,
+					event.res, event.res2);
+			else
+#endif
+				tprintf("{...}");
+		}
+	}
+	return 0;
+}
+
+int
+sys_io_getevents(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, %ld, %ld, ", tcp->u_arg[0], tcp->u_arg[1],
+			tcp->u_arg[2]);
+	} else {
+		if (tcp->u_rval == 0) {
+			tprintf("{}");
+		} else  {
+#ifdef HAVE_LIBAIO_H
+			struct io_event *events = (void *)tcp->u_arg[3];
+			long i, nr = tcp->u_rval;
+
+			for (i = 0; i < nr; i++, events++) {
+				struct io_event event;
+
+				if (i == 0)
+					tprintf("{");
+				else
+					tprintf(", ");
+
+				if (umove(tcp, (unsigned long)events, &event) != 0) {
+					tprintf("{...}");
+					continue;
+				}
+				tprintf("{%p, %p, %ld, %ld}", event.data,
+					event.obj, event.res, event.res2);
+			}
+			tprintf("}, ");
+#else
+				tprintf("{...}");
+#endif
+		}
+
+		print_timespec(tcp, tcp->u_arg[4]);
+	}
+	return 0;
+}
+#endif /* LINUX */
+
+int
+sys_select(struct tcb *tcp)
+{
+	return decode_select(tcp, tcp->u_arg, BITNESS_CURRENT);
+}
+
+#ifdef LINUX
+int
+sys_pselect6(struct tcb *tcp)
+{
+	int rc = decode_select(tcp, tcp->u_arg, BITNESS_CURRENT);
+	if (entering(tcp)) {
+		struct {
+			void *ss;
+			unsigned long len;
+		} data;
+		if (umove(tcp, tcp->u_arg[5], &data) < 0)
+			tprintf(", %#lx", tcp->u_arg[5]);
+		else {
+			tprintf(", {");
+			if (data.len < sizeof(long))
+				tprintf("%#lx", (long)data.ss);
+			else
+				print_sigset(tcp, (long)data.ss, 0);
+			tprintf(", %lu}", data.len);
+		}
+	}
+	return rc;
+}
+
+static int
+do_eventfd(struct tcb *tcp, int flags_arg)
+{
+	if (entering(tcp)) {
+		tprintf("%lu", tcp->u_arg[0]);
+		if (flags_arg >= 0) {
+			tprintf(", ");
+			printflags(open_mode_flags, tcp->u_arg[flags_arg], "O_???");
+		}
+	}
+	return 0;
+}
+
+int
+sys_eventfd(struct tcb *tcp)
+{
+	return do_eventfd(tcp, -1);
+}
+
+int
+sys_eventfd2(struct tcb *tcp)
+{
+	return do_eventfd(tcp, 1);
+}
+#endif
diff --git a/strace-4.5.20/errnoent.sh b/strace-4.5.20/errnoent.sh
new file mode 100755
index 0000000..3a709ae
--- /dev/null
+++ b/strace-4.5.20/errnoent.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+# Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+#    derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+#	$Id$
+
+awk '
+/^#define[ 	]+E[A-Z0-9_]+[ 	]+[0-9]+/ {
+	errno[$3] = $2
+	if ($3 > max)
+		max = $3
+}
+END {
+	for (i = 0; i <= max; i++) {
+		if (!errno[i])
+			errno[i] = "ERRNO_" i
+		printf "\t\"%s\", /* %d */\n", errno[i], i
+	}
+}
+' $*
diff --git a/strace-4.5.20/file.c b/strace-4.5.20/file.c
new file mode 100644
index 0000000..854548f
--- /dev/null
+++ b/strace-4.5.20/file.c
@@ -0,0 +1,2907 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+#include <dirent.h>
+
+#ifdef LINUX
+struct kernel_dirent {
+	unsigned long   d_ino;
+	unsigned long   d_off;
+	unsigned short  d_reclen;
+	char            d_name[1];
+};
+#else
+# define kernel_dirent dirent
+#endif
+
+#ifdef LINUX
+#  ifdef LINUXSPARC
+struct stat {
+	unsigned short	st_dev;
+	unsigned int	st_ino;
+	unsigned short	st_mode;
+	short		st_nlink;
+	unsigned short	st_uid;
+	unsigned short	st_gid;
+	unsigned short	st_rdev;
+	unsigned int	st_size;
+	int		st_atime;
+	unsigned int	__unused1;
+	int		st_mtime;
+	unsigned int	__unused2;
+	int		st_ctime;
+	unsigned int	__unused3;
+	int		st_blksize;
+	int		st_blocks;
+	unsigned int	__unused4[2];
+};
+#if defined(SPARC64)
+struct stat_sparc64 {
+	unsigned int	st_dev;
+	unsigned long	st_ino;
+	unsigned int	st_mode;
+	unsigned int	st_nlink;
+	unsigned int	st_uid;
+	unsigned int	st_gid;
+	unsigned int	st_rdev;
+	long		st_size;
+	long		st_atime;
+	long		st_mtime;
+	long		st_ctime;
+	long		st_blksize;
+	long		st_blocks;
+	unsigned long	__unused4[2];
+};
+#endif /* SPARC64 */
+#    define stat kernel_stat
+#    include <asm/stat.h>
+#    undef stat
+#  else
+#    undef dev_t
+#    undef ino_t
+#    undef mode_t
+#    undef nlink_t
+#    undef uid_t
+#    undef gid_t
+#    undef off_t
+#    undef loff_t
+
+#    define dev_t __kernel_dev_t
+#    define ino_t __kernel_ino_t
+#    define mode_t __kernel_mode_t
+#    define nlink_t __kernel_nlink_t
+#    define uid_t __kernel_uid_t
+#    define gid_t __kernel_gid_t
+#    define off_t __kernel_off_t
+#    define loff_t __kernel_loff_t
+
+#    include <asm/stat.h>
+
+#    undef dev_t
+#    undef ino_t
+#    undef mode_t
+#    undef nlink_t
+#    undef uid_t
+#    undef gid_t
+#    undef off_t
+#    undef loff_t
+
+#    define dev_t dev_t
+#    define ino_t ino_t
+#    define mode_t mode_t
+#    define nlink_t nlink_t
+#    define uid_t uid_t
+#    define gid_t gid_t
+#    define off_t off_t
+#    define loff_t loff_t
+#  endif
+#  ifdef HPPA	/* asm-parisc/stat.h defines stat64 */
+#    undef stat64
+#  endif
+#  define stat libc_stat
+#  define stat64 libc_stat64
+#  include <sys/stat.h>
+#  undef stat
+#  undef stat64
+   /* These might be macros. */
+#  undef st_atime
+#  undef st_mtime
+#  undef st_ctime
+#  ifdef HPPA
+#    define stat64 hpux_stat64
+#  endif
+#else
+#  include <sys/stat.h>
+#endif
+
+#include <fcntl.h>
+
+#ifdef SVR4
+#  include <sys/cred.h>
+#endif /* SVR4 */
+
+#ifdef HAVE_SYS_VFS_H
+#include <sys/vfs.h>
+#endif
+
+#ifdef HAVE_LINUX_XATTR_H
+#include <linux/xattr.h>
+#elif defined linux
+#define XATTR_CREATE 1
+#define XATTR_REPLACE 2
+#endif
+
+#ifdef FREEBSD
+#include <sys/param.h>
+#include <sys/mount.h>
+#include <sys/stat.h>
+#endif
+
+#if _LFS64_LARGEFILE && (defined(LINUX) || defined(SVR4))
+# ifdef HAVE_INTTYPES_H
+#  include <inttypes.h>
+# else
+#  define PRId64 "lld"
+#  define PRIu64 "llu"
+# endif
+#endif
+
+#if HAVE_LONG_LONG_OFF_T
+/*
+ * Ugly hacks for systems that have typedef long long off_t
+ */
+
+#define stat64 stat
+#define HAVE_STAT64 1	/* Ugly hack */
+
+#define	sys_stat64	sys_stat
+#define sys_fstat64	sys_fstat
+#define sys_lstat64	sys_lstat
+#define sys_lseek64	sys_lseek
+#define sys_truncate64	sys_truncate
+#define sys_ftruncate64	sys_ftruncate
+#endif
+
+#ifdef MAJOR_IN_SYSMACROS
+#include <sys/sysmacros.h>
+#endif
+
+#ifdef MAJOR_IN_MKDEV
+#include <sys/mkdev.h>
+#endif
+
+#ifdef HAVE_SYS_ASYNCH_H
+#include <sys/asynch.h>
+#endif
+
+#ifdef SUNOS4
+#include <ustat.h>
+#endif
+
+const struct xlat open_access_modes[] = {
+	{ O_RDONLY,	"O_RDONLY"	},
+	{ O_WRONLY,	"O_WRONLY"	},
+	{ O_RDWR,	"O_RDWR"	},
+#ifdef O_ACCMODE
+	{ O_ACCMODE,	"O_ACCMODE"	},
+#endif
+	{ 0,		NULL		},
+};
+
+const struct xlat open_mode_flags[] = {
+	{ O_CREAT,	"O_CREAT"	},
+	{ O_EXCL,	"O_EXCL"	},
+	{ O_NOCTTY,	"O_NOCTTY"	},
+	{ O_TRUNC,	"O_TRUNC"	},
+	{ O_APPEND,	"O_APPEND"	},
+	{ O_NONBLOCK,	"O_NONBLOCK"	},
+#ifdef O_SYNC
+	{ O_SYNC,	"O_SYNC"	},
+#endif
+#ifdef O_ASYNC
+	{ O_ASYNC,	"O_ASYNC"	},
+#endif
+#ifdef O_DSYNC
+	{ O_DSYNC,	"O_DSYNC"	},
+#endif
+#ifdef O_RSYNC
+	{ O_RSYNC,	"O_RSYNC"	},
+#endif
+#if defined(O_NDELAY) && (O_NDELAY != O_NONBLOCK)
+	{ O_NDELAY,	"O_NDELAY"	},
+#endif
+#ifdef O_PRIV
+	{ O_PRIV,	"O_PRIV"	},
+#endif
+#ifdef O_DIRECT
+	{ O_DIRECT,	"O_DIRECT"	},
+#endif
+#ifdef O_LARGEFILE
+# if O_LARGEFILE == 0		/* biarch platforms in 64-bit mode */
+#  undef O_LARGEFILE
+#  ifdef SPARC64
+#   define O_LARGEFILE	0x40000
+#  elif defined X86_64 || defined S390X
+#   define O_LARGEFILE	0100000
+#  endif
+# endif
+# ifdef O_LARGEFILE
+	{ O_LARGEFILE,	"O_LARGEFILE"   },
+# endif
+#endif
+#ifdef O_DIRECTORY
+	{ O_DIRECTORY,	"O_DIRECTORY"   },
+#endif
+#ifdef O_NOFOLLOW
+	{ O_NOFOLLOW, 	"O_NOFOLLOW"	},
+#endif
+#ifdef O_NOATIME
+	{ O_NOATIME, 	"O_NOATIME"	},
+#endif
+#ifdef O_CLOEXEC
+	{ O_CLOEXEC,	"O_CLOEXEC"	},
+#endif
+
+#ifdef FNDELAY
+	{ FNDELAY,	"FNDELAY"	},
+#endif
+#ifdef FAPPEND
+	{ FAPPEND,	"FAPPEND"	},
+#endif
+#ifdef FMARK
+	{ FMARK,	"FMARK"		},
+#endif
+#ifdef FDEFER
+	{ FDEFER,	"FDEFER"	},
+#endif
+#ifdef FASYNC
+	{ FASYNC,	"FASYNC"	},
+#endif
+#ifdef FSHLOCK
+	{ FSHLOCK,	"FSHLOCK"	},
+#endif
+#ifdef FEXLOCK
+	{ FEXLOCK,	"FEXLOCK"	},
+#endif
+#ifdef FCREAT
+	{ FCREAT,	"FCREAT"	},
+#endif
+#ifdef FTRUNC
+	{ FTRUNC,	"FTRUNC"	},
+#endif
+#ifdef FEXCL
+	{ FEXCL,	"FEXCL"		},
+#endif
+#ifdef FNBIO
+	{ FNBIO,	"FNBIO"		},
+#endif
+#ifdef FSYNC
+	{ FSYNC,	"FSYNC"		},
+#endif
+#ifdef FNOCTTY
+	{ FNOCTTY,	"FNOCTTY"	},
+#endif
+#ifdef O_SHLOCK
+	{ O_SHLOCK,	"O_SHLOCK"	},
+#endif
+#ifdef O_EXLOCK
+	{ O_EXLOCK,	"O_EXLOCK"	},
+#endif
+	{ 0,		NULL		},
+};
+
+#ifdef LINUX
+
+#ifndef AT_FDCWD
+# define AT_FDCWD                -100
+#endif
+
+/* The fd is an "int", so when decoding x86 on x86_64, we need to force sign
+ * extension to get the right value.  We do this by declaring fd as int here.
+ */
+static void
+print_dirfd(int fd)
+{
+	if (fd == AT_FDCWD)
+		tprintf("AT_FDCWD, ");
+	else
+		tprintf("%d, ", fd);
+}
+#endif
+
+/*
+ * Pity stpcpy() is not standardized...
+ */
+static char *
+str_append(char *dst, const char *src)
+{
+	while ((*dst = *src++) != '\0')
+		dst++;
+	return dst;
+}
+
+/*
+ * low bits of the open(2) flags define access mode,
+ * other bits are real flags.
+ */
+const char *
+sprint_open_modes(mode_t flags)
+{
+	static char outstr[1024];
+	char *p;
+	char sep = 0;
+	const char *str;
+	const struct xlat *x;
+
+	p = str_append(outstr, "flags ");
+	str = xlookup(open_access_modes, flags & 3);
+	if (str) {
+		p = str_append(p, str);
+		flags &= ~3;
+		if (!flags)
+			return outstr;
+		sep = '|';
+	}
+
+	for (x = open_mode_flags; x->str; x++) {
+		if ((flags & x->val) == x->val) {
+			if (sep)
+				*p++ = sep;
+			p = str_append(p, x->str);
+			flags &= ~x->val;
+			if (!flags)
+				return outstr;
+			sep = '|';
+		}
+	}
+	/* flags is still nonzero */
+	if (sep)
+		*p++ = sep;
+	sprintf(p, "%#x", flags);
+	return outstr;
+}
+
+void
+tprint_open_modes(mode_t flags)
+{
+	tprintf("%s", sprint_open_modes(flags) + sizeof("flags"));
+}
+
+static int
+decode_open(struct tcb *tcp, int offset)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[offset]);
+		tprintf(", ");
+		/* flags */
+		tprint_open_modes(tcp->u_arg[offset + 1]);
+		if (tcp->u_arg[offset + 1] & O_CREAT) {
+			/* mode */
+			tprintf(", %#lo", tcp->u_arg[offset + 2]);
+		}
+	}
+	return 0;
+}
+
+int
+sys_open(struct tcb *tcp)
+{
+	return decode_open(tcp, 0);
+}
+
+#ifdef LINUX
+int
+sys_openat(struct tcb *tcp)
+{
+	if (entering(tcp))
+		print_dirfd(tcp->u_arg[0]);
+	return decode_open(tcp, 1);
+}
+#endif
+
+#ifdef LINUXSPARC
+static const struct xlat openmodessol[] = {
+	{ 0,		"O_RDWR"	},
+	{ 1,		"O_RDONLY"	},
+	{ 2,		"O_WRONLY"	},
+	{ 0x80,		"O_NONBLOCK"	},
+	{ 8,		"O_APPEND"	},
+	{ 0x100,	"O_CREAT"	},
+	{ 0x200,	"O_TRUNC"	},
+	{ 0x400,	"O_EXCL"	},
+	{ 0x800,	"O_NOCTTY"	},
+	{ 0x10,		"O_SYNC"	},
+	{ 0x40,		"O_DSYNC"	},
+	{ 0x8000,	"O_RSYNC"	},
+	{ 4,		"O_NDELAY"	},
+	{ 0x1000,	"O_PRIV"	},
+	{ 0,		NULL		},
+};
+
+int
+solaris_open(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+		/* flags */
+		printflags(openmodessol, tcp->u_arg[1] + 1, "O_???");
+		if (tcp->u_arg[1] & 0x100) {
+			/* mode */
+			tprintf(", %#lo", tcp->u_arg[2]);
+		}
+	}
+	return 0;
+}
+
+#endif
+
+int
+sys_creat(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", %#lo", tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+static const struct xlat access_flags[] = {
+	{ F_OK,		"F_OK",		},
+	{ R_OK,		"R_OK"		},
+	{ W_OK,		"W_OK"		},
+	{ X_OK,		"X_OK"		},
+#ifdef EFF_ONLY_OK
+	{ EFF_ONLY_OK,	"EFF_ONLY_OK"	},
+#endif
+#ifdef EX_OK
+	{ EX_OK,	"EX_OK"		},
+#endif
+	{ 0,		NULL		},
+};
+
+static int
+decode_access(struct tcb *tcp, int offset)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[offset]);
+		tprintf(", ");
+		printflags(access_flags, tcp->u_arg[offset + 1], "?_OK");
+	}
+	return 0;
+}
+
+int
+sys_access(struct tcb *tcp)
+{
+	return decode_access(tcp, 0);
+}
+
+#ifdef LINUX
+int
+sys_faccessat(struct tcb *tcp)
+{
+	if (entering(tcp))
+		print_dirfd(tcp->u_arg[0]);
+	return decode_access(tcp, 1);
+}
+#endif
+
+int
+sys_umask(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%#lo", tcp->u_arg[0]);
+	}
+	return RVAL_OCTAL;
+}
+
+static const struct xlat whence[] = {
+	{ SEEK_SET,	"SEEK_SET"	},
+	{ SEEK_CUR,	"SEEK_CUR"	},
+	{ SEEK_END,	"SEEK_END"	},
+	{ 0,		NULL		},
+};
+
+#ifndef HAVE_LONG_LONG_OFF_T
+#if defined (LINUX_MIPSN32)
+int
+sys_lseek(struct tcb *tcp)
+{
+	long long offset;
+	int _whence;
+
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		offset = tcp->ext_arg[1];
+		_whence = tcp->u_arg[2];
+		if (_whence == SEEK_SET)
+			tprintf("%llu, ", offset);
+		else
+			tprintf("%lld, ", offset);
+		printxval(whence, _whence, "SEEK_???");
+	}
+	return RVAL_UDECIMAL;
+}
+#else /* !LINUX_MIPSN32 */
+int
+sys_lseek(struct tcb *tcp)
+{
+	off_t offset;
+	int _whence;
+
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		offset = tcp->u_arg[1];
+		_whence = tcp->u_arg[2];
+		if (_whence == SEEK_SET)
+			tprintf("%lu, ", offset);
+		else
+			tprintf("%ld, ", offset);
+		printxval(whence, _whence, "SEEK_???");
+	}
+	return RVAL_UDECIMAL;
+}
+#endif /* LINUX_MIPSN32 */
+#endif
+
+#ifdef LINUX
+int
+sys_llseek(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		/*
+		 * This one call takes explicitly two 32-bit arguments hi, lo,
+		 * rather than one 64-bit argument for which LONG_LONG works
+		 * appropriate for the native byte order.
+		 */
+		if (tcp->u_arg[4] == SEEK_SET)
+			tprintf("%ld, %llu, ", tcp->u_arg[0],
+				(((long long int) tcp->u_arg[1]) << 32
+				 | (unsigned long long) (unsigned) tcp->u_arg[2]));
+		else
+			tprintf("%ld, %lld, ", tcp->u_arg[0],
+				(((long long int) tcp->u_arg[1]) << 32
+				 | (unsigned long long) (unsigned) tcp->u_arg[2]));
+	}
+	else {
+		long long int off;
+		if (syserror(tcp) || umove(tcp, tcp->u_arg[3], &off) < 0)
+			tprintf("%#lx, ", tcp->u_arg[3]);
+		else
+			tprintf("[%llu], ", off);
+		printxval(whence, tcp->u_arg[4], "SEEK_???");
+	}
+	return 0;
+}
+
+int
+sys_readahead(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		int argn;
+		tprintf("%ld, ", tcp->u_arg[0]);
+		argn = printllval(tcp, "%lld", 1);
+		tprintf(", %ld", tcp->u_arg[argn]);
+	}
+	return 0;
+}
+#endif
+
+#if _LFS64_LARGEFILE || HAVE_LONG_LONG_OFF_T
+int
+sys_lseek64(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		int argn;
+		tprintf("%ld, ", tcp->u_arg[0]);
+		if (tcp->u_arg[3] == SEEK_SET)
+			argn = printllval(tcp, "%llu, ", 1);
+		else
+			argn = printllval(tcp, "%lld, ", 1);
+		printxval(whence, tcp->u_arg[argn], "SEEK_???");
+	}
+	return RVAL_LUDECIMAL;
+}
+#endif
+
+#ifndef HAVE_LONG_LONG_OFF_T
+int
+sys_truncate(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", %lu", tcp->u_arg[1]);
+	}
+	return 0;
+}
+#endif
+
+#if _LFS64_LARGEFILE || HAVE_LONG_LONG_OFF_T
+int
+sys_truncate64(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		printllval(tcp, ", %llu", 1);
+	}
+	return 0;
+}
+#endif
+
+#ifndef HAVE_LONG_LONG_OFF_T
+int
+sys_ftruncate(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, %lu", tcp->u_arg[0], tcp->u_arg[1]);
+	}
+	return 0;
+}
+#endif
+
+#if _LFS64_LARGEFILE || HAVE_LONG_LONG_OFF_T
+int
+sys_ftruncate64(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printllval(tcp, "%llu", 1);
+	}
+	return 0;
+}
+#endif
+
+/* several stats */
+
+static const struct xlat modetypes[] = {
+	{ S_IFREG,	"S_IFREG"	},
+	{ S_IFSOCK,	"S_IFSOCK"	},
+	{ S_IFIFO,	"S_IFIFO"	},
+	{ S_IFLNK,	"S_IFLNK"	},
+	{ S_IFDIR,	"S_IFDIR"	},
+	{ S_IFBLK,	"S_IFBLK"	},
+	{ S_IFCHR,	"S_IFCHR"	},
+	{ 0,		NULL		},
+};
+
+static const char *
+sprintmode(int mode)
+{
+	static char buf[64];
+	const char *s;
+
+	if ((mode & S_IFMT) == 0)
+		s = "";
+	else if ((s = xlookup(modetypes, mode & S_IFMT)) == NULL) {
+		sprintf(buf, "%#o", mode);
+		return buf;
+	}
+	sprintf(buf, "%s%s%s%s", s,
+		(mode & S_ISUID) ? "|S_ISUID" : "",
+		(mode & S_ISGID) ? "|S_ISGID" : "",
+		(mode & S_ISVTX) ? "|S_ISVTX" : "");
+	mode &= ~(S_IFMT|S_ISUID|S_ISGID|S_ISVTX);
+	if (mode)
+		sprintf(buf + strlen(buf), "|%#o", mode);
+	s = (*buf == '|') ? buf + 1 : buf;
+	return *s ? s : "0";
+}
+
+static char *
+sprinttime(time_t t)
+{
+	struct tm *tmp;
+	static char buf[32];
+
+	if (t == 0) {
+		strcpy(buf, "0");
+		return buf;
+	}
+	if ((tmp = localtime(&t)))
+		snprintf(buf, sizeof buf, "%02d/%02d/%02d-%02d:%02d:%02d",
+			tmp->tm_year + 1900, tmp->tm_mon + 1, tmp->tm_mday,
+			tmp->tm_hour, tmp->tm_min, tmp->tm_sec);
+	else
+		snprintf(buf, sizeof buf, "%lu", (unsigned long) t);
+
+	return buf;
+}
+
+#ifdef LINUXSPARC
+typedef struct {
+	int     tv_sec;
+	int     tv_nsec;
+} timestruct_t;
+
+struct solstat {
+	unsigned        st_dev;
+	int             st_pad1[3];     /* network id */
+	unsigned        st_ino;
+	unsigned        st_mode;
+	unsigned        st_nlink;
+	unsigned        st_uid;
+	unsigned        st_gid;
+	unsigned        st_rdev;
+	int             st_pad2[2];
+	int             st_size;
+	int             st_pad3;        /* st_size, off_t expansion */
+	timestruct_t    st_atime;
+	timestruct_t    st_mtime;
+	timestruct_t    st_ctime;
+	int             st_blksize;
+	int             st_blocks;
+	char            st_fstype[16];
+	int             st_pad4[8];     /* expansion area */
+};
+
+static void
+printstatsol(struct tcb *tcp, long addr)
+{
+	struct solstat statbuf;
+
+	if (umove(tcp, addr, &statbuf) < 0) {
+		tprintf("{...}");
+		return;
+	}
+	if (!abbrev(tcp)) {
+		tprintf("{st_dev=makedev(%lu, %lu), st_ino=%lu, st_mode=%s, ",
+			(unsigned long) ((statbuf.st_dev >> 18) & 0x3fff),
+			(unsigned long) (statbuf.st_dev & 0x3ffff),
+			(unsigned long) statbuf.st_ino,
+			sprintmode(statbuf.st_mode));
+		tprintf("st_nlink=%lu, st_uid=%lu, st_gid=%lu, ",
+			(unsigned long) statbuf.st_nlink,
+			(unsigned long) statbuf.st_uid,
+			(unsigned long) statbuf.st_gid);
+		tprintf("st_blksize=%lu, ", (unsigned long) statbuf.st_blksize);
+		tprintf("st_blocks=%lu, ", (unsigned long) statbuf.st_blocks);
+	}
+	else
+		tprintf("{st_mode=%s, ", sprintmode(statbuf.st_mode));
+	switch (statbuf.st_mode & S_IFMT) {
+	case S_IFCHR: case S_IFBLK:
+		tprintf("st_rdev=makedev(%lu, %lu), ",
+			(unsigned long) ((statbuf.st_rdev >> 18) & 0x3fff),
+			(unsigned long) (statbuf.st_rdev & 0x3ffff));
+		break;
+	default:
+		tprintf("st_size=%u, ", statbuf.st_size);
+		break;
+	}
+	if (!abbrev(tcp)) {
+		tprintf("st_atime=%s, ", sprinttime(statbuf.st_atime.tv_sec));
+		tprintf("st_mtime=%s, ", sprinttime(statbuf.st_mtime.tv_sec));
+		tprintf("st_ctime=%s}", sprinttime(statbuf.st_ctime.tv_sec));
+	}
+	else
+		tprintf("...}");
+}
+
+#if defined (SPARC64)
+static void
+printstat_sparc64(struct tcb *tcp, long addr)
+{
+	struct stat_sparc64 statbuf;
+
+	if (umove(tcp, addr, &statbuf) < 0) {
+		tprintf("{...}");
+		return;
+	}
+
+	if (!abbrev(tcp)) {
+		tprintf("{st_dev=makedev(%lu, %lu), st_ino=%lu, st_mode=%s, ",
+			(unsigned long) major(statbuf.st_dev),
+			(unsigned long) minor(statbuf.st_dev),
+			(unsigned long) statbuf.st_ino,
+			sprintmode(statbuf.st_mode));
+		tprintf("st_nlink=%lu, st_uid=%lu, st_gid=%lu, ",
+			(unsigned long) statbuf.st_nlink,
+			(unsigned long) statbuf.st_uid,
+			(unsigned long) statbuf.st_gid);
+		tprintf("st_blksize=%lu, ",
+			(unsigned long) statbuf.st_blksize);
+		tprintf("st_blocks=%lu, ",
+			(unsigned long) statbuf.st_blocks);
+	}
+	else
+		tprintf("{st_mode=%s, ", sprintmode(statbuf.st_mode));
+	switch (statbuf.st_mode & S_IFMT) {
+	case S_IFCHR: case S_IFBLK:
+		tprintf("st_rdev=makedev(%lu, %lu), ",
+			(unsigned long) major(statbuf.st_rdev),
+			(unsigned long) minor(statbuf.st_rdev));
+		break;
+	default:
+		tprintf("st_size=%lu, ", statbuf.st_size);
+		break;
+	}
+	if (!abbrev(tcp)) {
+		tprintf("st_atime=%s, ", sprinttime(statbuf.st_atime));
+		tprintf("st_mtime=%s, ", sprinttime(statbuf.st_mtime));
+		tprintf("st_ctime=%s", sprinttime(statbuf.st_ctime));
+		tprintf("}");
+	}
+	else
+		tprintf("...}");
+}
+#endif /* SPARC64 */
+#endif /* LINUXSPARC */
+
+static const struct xlat fileflags[] = {
+#ifdef FREEBSD
+	{ UF_NODUMP,	"UF_NODUMP"	},
+	{ UF_IMMUTABLE,	"UF_IMMUTABLE"	},
+	{ UF_APPEND,	"UF_APPEND"	},
+	{ UF_OPAQUE,	"UF_OPAQUE"	},
+	{ UF_NOUNLINK,	"UF_NOUNLINK"	},
+	{ SF_ARCHIVED,	"SF_ARCHIVED"	},
+	{ SF_IMMUTABLE,	"SF_IMMUTABLE"	},
+	{ SF_APPEND,	"SF_APPEND"	},
+	{ SF_NOUNLINK,	"SF_NOUNLINK"	},
+#elif UNIXWARE >= 2
+#ifdef 	_S_ISMLD
+	{ _S_ISMLD, 	"_S_ISMLD"	},
+#endif
+#ifdef 	_S_ISMOUNTED
+	{ _S_ISMOUNTED, "_S_ISMOUNTED"	},
+#endif
+#endif
+	{ 0,		NULL		},
+};
+
+#ifdef FREEBSD
+int
+sys_chflags(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+		printflags(fileflags, tcp->u_arg[1], "UF_???");
+	}
+	return 0;
+}
+
+int
+sys_fchflags(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printflags(fileflags, tcp->u_arg[1], "UF_???");
+	}
+	return 0;
+}
+#endif
+
+#ifndef HAVE_LONG_LONG_OFF_T
+static void
+realprintstat(struct tcb *tcp, struct stat *statbuf)
+{
+	if (!abbrev(tcp)) {
+		tprintf("{st_dev=makedev(%lu, %lu), st_ino=%lu, st_mode=%s, ",
+			(unsigned long) major(statbuf->st_dev),
+			(unsigned long) minor(statbuf->st_dev),
+			(unsigned long) statbuf->st_ino,
+			sprintmode(statbuf->st_mode));
+		tprintf("st_nlink=%lu, st_uid=%lu, st_gid=%lu, ",
+			(unsigned long) statbuf->st_nlink,
+			(unsigned long) statbuf->st_uid,
+			(unsigned long) statbuf->st_gid);
+#ifdef HAVE_STRUCT_STAT_ST_BLKSIZE
+		tprintf("st_blksize=%lu, ", (unsigned long) statbuf->st_blksize);
+#endif
+#ifdef HAVE_STRUCT_STAT_ST_BLOCKS
+		tprintf("st_blocks=%lu, ", (unsigned long) statbuf->st_blocks);
+#endif
+	}
+	else
+		tprintf("{st_mode=%s, ", sprintmode(statbuf->st_mode));
+	switch (statbuf->st_mode & S_IFMT) {
+	case S_IFCHR: case S_IFBLK:
+#ifdef HAVE_STRUCT_STAT_ST_RDEV
+		tprintf("st_rdev=makedev(%lu, %lu), ",
+			(unsigned long) major(statbuf->st_rdev),
+			(unsigned long) minor(statbuf->st_rdev));
+#else /* !HAVE_STRUCT_STAT_ST_RDEV */
+		tprintf("st_size=makedev(%lu, %lu), ",
+			(unsigned long) major(statbuf->st_size),
+			(unsigned long) minor(statbuf->st_size));
+#endif /* !HAVE_STRUCT_STAT_ST_RDEV */
+		break;
+	default:
+		tprintf("st_size=%lu, ", statbuf->st_size);
+		break;
+	}
+	if (!abbrev(tcp)) {
+		tprintf("st_atime=%s, ", sprinttime(statbuf->st_atime));
+		tprintf("st_mtime=%s, ", sprinttime(statbuf->st_mtime));
+		tprintf("st_ctime=%s", sprinttime(statbuf->st_ctime));
+#if HAVE_STRUCT_STAT_ST_FLAGS
+		tprintf(", st_flags=");
+		printflags(fileflags, statbuf->st_flags, "UF_???");
+#endif
+#if HAVE_STRUCT_STAT_ST_ACLCNT
+		tprintf(", st_aclcnt=%d", statbuf->st_aclcnt);
+#endif
+#if HAVE_STRUCT_STAT_ST_LEVEL
+		tprintf(", st_level=%ld", statbuf->st_level);
+#endif
+#if HAVE_STRUCT_STAT_ST_FSTYPE
+		tprintf(", st_fstype=%.*s",
+			(int) sizeof statbuf->st_fstype, statbuf->st_fstype);
+#endif
+#if HAVE_STRUCT_STAT_ST_GEN
+		tprintf(", st_gen=%u", statbuf->st_gen);
+#endif
+		tprintf("}");
+	}
+	else
+		tprintf("...}");
+}
+
+
+static void
+printstat(struct tcb *tcp, long addr)
+{
+	struct stat statbuf;
+
+	if (!addr) {
+		tprintf("NULL");
+		return;
+	}
+	if (syserror(tcp) || !verbose(tcp)) {
+		tprintf("%#lx", addr);
+		return;
+	}
+
+#ifdef LINUXSPARC
+	if (current_personality == 1) {
+		printstatsol(tcp, addr);
+		return;
+	}
+#ifdef SPARC64
+	else if (current_personality == 2) {
+		printstat_sparc64(tcp, addr);
+		return;
+	}
+#endif
+#endif /* LINUXSPARC */
+
+	if (umove(tcp, addr, &statbuf) < 0) {
+		tprintf("{...}");
+		return;
+	}
+
+	realprintstat(tcp, &statbuf);
+}
+#endif	/* !HAVE_LONG_LONG_OFF_T */
+
+#if !defined HAVE_STAT64 && defined LINUX && defined X86_64
+/*
+ * Linux x86_64 has unified `struct stat' but its i386 biarch needs
+ * `struct stat64'.  Its <asm-i386/stat.h> definition expects 32-bit `long'.
+ * <linux/include/asm-x86_64/ia32.h> is not in the public includes set.
+ * __GNUC__ is needed for the required __attribute__ below.
+ */
+struct stat64 {
+	unsigned long long	st_dev;
+	unsigned char	__pad0[4];
+	unsigned int	__st_ino;
+	unsigned int	st_mode;
+	unsigned int	st_nlink;
+	unsigned int	st_uid;
+	unsigned int	st_gid;
+	unsigned long long	st_rdev;
+	unsigned char	__pad3[4];
+	long long	st_size;
+	unsigned int	st_blksize;
+	unsigned long long	st_blocks;
+	unsigned int	st_atime;
+	unsigned int	st_atime_nsec;
+	unsigned int	st_mtime;
+	unsigned int	st_mtime_nsec;
+	unsigned int	st_ctime;
+	unsigned int	st_ctime_nsec;
+	unsigned long long	st_ino;
+} __attribute__((packed));
+# define HAVE_STAT64	1
+# define STAT64_SIZE	96
+#endif
+
+#ifdef HAVE_STAT64
+static void
+printstat64(struct tcb *tcp, long addr)
+{
+	struct stat64 statbuf;
+
+#ifdef STAT64_SIZE
+	(void) sizeof(char[sizeof statbuf == STAT64_SIZE ? 1 : -1]);
+#endif
+
+	if (!addr) {
+		tprintf("NULL");
+		return;
+	}
+	if (syserror(tcp) || !verbose(tcp)) {
+		tprintf("%#lx", addr);
+		return;
+	}
+
+#ifdef LINUXSPARC
+	if (current_personality == 1) {
+		printstatsol(tcp, addr);
+		return;
+	}
+# ifdef SPARC64
+	else if (current_personality == 2) {
+		printstat_sparc64(tcp, addr);
+		return;
+	}
+# endif
+#endif /* LINUXSPARC */
+
+#if defined LINUX && defined X86_64
+	if (current_personality == 0) {
+		printstat(tcp, addr);
+		return;
+	}
+#endif
+
+	if (umove(tcp, addr, &statbuf) < 0) {
+		tprintf("{...}");
+		return;
+	}
+
+	if (!abbrev(tcp)) {
+#ifdef HAVE_LONG_LONG
+		tprintf("{st_dev=makedev(%lu, %lu), st_ino=%llu, st_mode=%s, ",
+#else
+		tprintf("{st_dev=makedev(%lu, %lu), st_ino=%lu, st_mode=%s, ",
+#endif
+			(unsigned long) major(statbuf.st_dev),
+			(unsigned long) minor(statbuf.st_dev),
+#ifdef HAVE_LONG_LONG
+			(unsigned long long) statbuf.st_ino,
+#else
+			(unsigned long) statbuf.st_ino,
+#endif
+			sprintmode(statbuf.st_mode));
+		tprintf("st_nlink=%lu, st_uid=%lu, st_gid=%lu, ",
+			(unsigned long) statbuf.st_nlink,
+			(unsigned long) statbuf.st_uid,
+			(unsigned long) statbuf.st_gid);
+#ifdef HAVE_STRUCT_STAT_ST_BLKSIZE
+		tprintf("st_blksize=%lu, ",
+			(unsigned long) statbuf.st_blksize);
+#endif /* HAVE_STRUCT_STAT_ST_BLKSIZE */
+#ifdef HAVE_STRUCT_STAT_ST_BLOCKS
+		tprintf("st_blocks=%lu, ", (unsigned long) statbuf.st_blocks);
+#endif /* HAVE_STRUCT_STAT_ST_BLOCKS */
+	}
+	else
+		tprintf("{st_mode=%s, ", sprintmode(statbuf.st_mode));
+	switch (statbuf.st_mode & S_IFMT) {
+	case S_IFCHR: case S_IFBLK:
+#ifdef HAVE_STRUCT_STAT_ST_RDEV
+		tprintf("st_rdev=makedev(%lu, %lu), ",
+			(unsigned long) major(statbuf.st_rdev),
+			(unsigned long) minor(statbuf.st_rdev));
+#else /* !HAVE_STRUCT_STAT_ST_RDEV */
+		tprintf("st_size=makedev(%lu, %lu), ",
+			(unsigned long) major(statbuf.st_size),
+			(unsigned long) minor(statbuf.st_size));
+#endif /* !HAVE_STRUCT_STAT_ST_RDEV */
+		break;
+	default:
+#ifdef HAVE_LONG_LONG
+		tprintf("st_size=%llu, ", (unsigned long long) statbuf.st_size);
+#else
+		tprintf("st_size=%lu, ", (unsigned long) statbuf.st_size);
+#endif
+		break;
+	}
+	if (!abbrev(tcp)) {
+		tprintf("st_atime=%s, ", sprinttime(statbuf.st_atime));
+		tprintf("st_mtime=%s, ", sprinttime(statbuf.st_mtime));
+		tprintf("st_ctime=%s", sprinttime(statbuf.st_ctime));
+#if HAVE_STRUCT_STAT_ST_FLAGS
+		tprintf(", st_flags=");
+		printflags(fileflags, statbuf.st_flags, "UF_???");
+#endif
+#if HAVE_STRUCT_STAT_ST_ACLCNT
+		tprintf(", st_aclcnt=%d", statbuf.st_aclcnt);
+#endif
+#if HAVE_STRUCT_STAT_ST_LEVEL
+		tprintf(", st_level=%ld", statbuf.st_level);
+#endif
+#if HAVE_STRUCT_STAT_ST_FSTYPE
+		tprintf(", st_fstype=%.*s",
+			(int) sizeof statbuf.st_fstype, statbuf.st_fstype);
+#endif
+#if HAVE_STRUCT_STAT_ST_GEN
+		tprintf(", st_gen=%u", statbuf.st_gen);
+#endif
+		tprintf("}");
+	}
+	else
+		tprintf("...}");
+}
+#endif /* HAVE_STAT64 */
+
+#if defined(LINUX) && defined(HAVE_STRUCT___OLD_KERNEL_STAT)
+static void
+convertoldstat(const struct __old_kernel_stat *oldbuf, struct stat *newbuf)
+{
+	newbuf->st_dev = oldbuf->st_dev;
+	newbuf->st_ino = oldbuf->st_ino;
+	newbuf->st_mode = oldbuf->st_mode;
+	newbuf->st_nlink = oldbuf->st_nlink;
+	newbuf->st_uid = oldbuf->st_uid;
+	newbuf->st_gid = oldbuf->st_gid;
+	newbuf->st_rdev = oldbuf->st_rdev;
+	newbuf->st_size = oldbuf->st_size;
+	newbuf->st_atime = oldbuf->st_atime;
+	newbuf->st_mtime = oldbuf->st_mtime;
+	newbuf->st_ctime = oldbuf->st_ctime;
+	newbuf->st_blksize = 0; /* not supported in old_stat */
+	newbuf->st_blocks = 0; /* not supported in old_stat */
+}
+
+
+static void
+printoldstat(struct tcb *tcp, long addr)
+{
+	struct __old_kernel_stat statbuf;
+	struct stat newstatbuf;
+
+	if (!addr) {
+		tprintf("NULL");
+		return;
+	}
+	if (syserror(tcp) || !verbose(tcp)) {
+		tprintf("%#lx", addr);
+		return;
+	}
+
+#ifdef LINUXSPARC
+	if (current_personality == 1) {
+		printstatsol(tcp, addr);
+		return;
+	}
+#endif /* LINUXSPARC */
+
+	if (umove(tcp, addr, &statbuf) < 0) {
+		tprintf("{...}");
+		return;
+	}
+
+	convertoldstat(&statbuf, &newstatbuf);
+	realprintstat(tcp, &newstatbuf);
+}
+#endif /* LINUX && !IA64 && !HPPA && !X86_64 && !S390 && !S390X */
+
+#ifndef HAVE_LONG_LONG_OFF_T
+int
+sys_stat(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+	} else {
+		printstat(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+#endif
+
+int
+sys_stat64(struct tcb *tcp)
+{
+#ifdef HAVE_STAT64
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+	} else {
+		printstat64(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+#else
+	return printargs(tcp);
+#endif
+}
+
+#ifdef LINUX
+static const struct xlat fstatatflags[] = {
+#ifndef AT_SYMLINK_NOFOLLOW
+# define AT_SYMLINK_NOFOLLOW     0x100
+#endif
+	{ AT_SYMLINK_NOFOLLOW,	"AT_SYMLINK_NOFOLLOW"	},
+	{ 0,			NULL			},
+};
+#define utimensatflags fstatatflags
+
+int
+sys_newfstatat(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		print_dirfd(tcp->u_arg[0]);
+		printpath(tcp, tcp->u_arg[1]);
+		tprintf(", ");
+	} else {
+#if defined HAVE_STAT64 && !(defined POWERPC && defined __powerpc64__)
+		printstat64(tcp, tcp->u_arg[2]);
+#else
+		printstat(tcp, tcp->u_arg[2]);
+#endif
+		tprintf(", ");
+		printflags(fstatatflags, tcp->u_arg[3], "AT_???");
+	}
+	return 0;
+}
+#endif
+
+#if defined(LINUX) && defined(HAVE_STRUCT___OLD_KERNEL_STAT)
+int
+sys_oldstat(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+	} else {
+		printoldstat(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+#endif /* LINUX && HAVE_STRUCT___OLD_KERNEL_STAT */
+
+#ifndef HAVE_LONG_LONG_OFF_T
+int
+sys_fstat(struct tcb *tcp)
+{
+	if (entering(tcp))
+		tprintf("%ld, ", tcp->u_arg[0]);
+	else {
+		printstat(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+#endif
+
+int
+sys_fstat64(struct tcb *tcp)
+{
+#ifdef HAVE_STAT64
+	if (entering(tcp))
+		tprintf("%ld, ", tcp->u_arg[0]);
+	else {
+		printstat64(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+#else
+	return printargs(tcp);
+#endif
+}
+
+#if defined(LINUX) && defined(HAVE_STRUCT___OLD_KERNEL_STAT)
+int
+sys_oldfstat(struct tcb *tcp)
+{
+	if (entering(tcp))
+		tprintf("%ld, ", tcp->u_arg[0]);
+	else {
+		printoldstat(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+#endif /* LINUX && HAVE_STRUCT___OLD_KERNEL_STAT */
+
+#ifndef HAVE_LONG_LONG_OFF_T
+int
+sys_lstat(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+	} else {
+		printstat(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+#endif
+
+int
+sys_lstat64(struct tcb *tcp)
+{
+#ifdef HAVE_STAT64
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+	} else {
+		printstat64(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+#else
+	return printargs(tcp);
+#endif
+}
+
+#if defined(LINUX) && defined(HAVE_STRUCT___OLD_KERNEL_STAT)
+int
+sys_oldlstat(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+	} else {
+		printoldstat(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+#endif /* LINUX && HAVE_STRUCT___OLD_KERNEL_STAT */
+
+
+#if defined(SVR4) || defined(LINUXSPARC)
+
+int
+sys_xstat(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printpath(tcp, tcp->u_arg[1]);
+		tprintf(", ");
+	} else {
+#ifdef _STAT64_VER
+		if (tcp->u_arg[0] == _STAT64_VER)
+			printstat64 (tcp, tcp->u_arg[2]);
+		else
+#endif
+		printstat(tcp, tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+int
+sys_fxstat(struct tcb *tcp)
+{
+	if (entering(tcp))
+		tprintf("%ld, %ld, ", tcp->u_arg[0], tcp->u_arg[1]);
+	else {
+#ifdef _STAT64_VER
+		if (tcp->u_arg[0] == _STAT64_VER)
+			printstat64 (tcp, tcp->u_arg[2]);
+		else
+#endif
+		printstat(tcp, tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+int
+sys_lxstat(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printpath(tcp, tcp->u_arg[1]);
+		tprintf(", ");
+	} else {
+#ifdef _STAT64_VER
+		if (tcp->u_arg[0] == _STAT64_VER)
+			printstat64 (tcp, tcp->u_arg[2]);
+		else
+#endif
+		printstat(tcp, tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+int
+sys_xmknod(struct tcb *tcp)
+{
+	int mode = tcp->u_arg[2];
+
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printpath(tcp, tcp->u_arg[1]);
+		tprintf(", %s", sprintmode(mode));
+		switch (mode & S_IFMT) {
+		case S_IFCHR: case S_IFBLK:
+#ifdef LINUXSPARC
+			tprintf(", makedev(%lu, %lu)",
+				(unsigned long) ((tcp->u_arg[3] >> 18) & 0x3fff),
+				(unsigned long) (tcp->u_arg[3] & 0x3ffff));
+#else
+			tprintf(", makedev(%lu, %lu)",
+				(unsigned long) major(tcp->u_arg[3]),
+				(unsigned long) minor(tcp->u_arg[3]));
+#endif
+			break;
+		default:
+			break;
+		}
+	}
+	return 0;
+}
+
+#ifdef HAVE_SYS_ACL_H
+
+#include <sys/acl.h>
+
+static const struct xlat aclcmds[] = {
+#ifdef SETACL
+	{ SETACL,	"SETACL"	},
+#endif
+#ifdef GETACL
+	{ GETACL,	"GETACL"	},
+#endif
+#ifdef GETACLCNT
+	{ GETACLCNT,	"GETACLCNT"	},
+#endif
+#ifdef ACL_GET
+	{ ACL_GET,	"ACL_GET"	},
+#endif
+#ifdef ACL_SET
+	{ ACL_SET,	"ACL_SET"	},
+#endif
+#ifdef ACL_CNT
+	{ ACL_CNT,	"ACL_CNT"	},
+#endif
+	{ 0,		NULL		},
+};
+
+int
+sys_acl(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+		printxval(aclcmds, tcp->u_arg[1], "???ACL???");
+		tprintf(", %ld", tcp->u_arg[2]);
+		/*
+		 * FIXME - dump out the list of aclent_t's pointed to
+		 * by "tcp->u_arg[3]" if it's not NULL.
+		 */
+		if (tcp->u_arg[3])
+			tprintf(", %#lx", tcp->u_arg[3]);
+		else
+			tprintf(", NULL");
+	}
+	return 0;
+}
+
+
+int
+sys_facl(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printxval(aclcmds, tcp->u_arg[1], "???ACL???");
+		tprintf(", %ld", tcp->u_arg[2]);
+		/*
+		 * FIXME - dump out the list of aclent_t's pointed to
+		 * by "tcp->u_arg[3]" if it's not NULL.
+		 */
+		if (tcp->u_arg[3])
+			tprintf(", %#lx", tcp->u_arg[3]);
+		else
+			tprintf(", NULL");
+	}
+	return 0;
+}
+
+
+static const struct xlat aclipc[] = {
+#ifdef IPC_SHM
+	{ IPC_SHM,	"IPC_SHM"	},
+#endif
+#ifdef IPC_SEM
+	{ IPC_SEM,	"IPC_SEM"	},
+#endif
+#ifdef IPC_MSG
+	{ IPC_MSG,	"IPC_MSG"	},
+#endif
+	{ 0,		NULL		},
+};
+
+
+int
+sys_aclipc(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printxval(aclipc, tcp->u_arg[0], "???IPC???");
+		tprintf(", %#lx, ", tcp->u_arg[1]);
+		printxval(aclcmds, tcp->u_arg[2], "???ACL???");
+		tprintf(", %ld", tcp->u_arg[3]);
+		/*
+		 * FIXME - dump out the list of aclent_t's pointed to
+		 * by "tcp->u_arg[4]" if it's not NULL.
+		 */
+		if (tcp->u_arg[4])
+			tprintf(", %#lx", tcp->u_arg[4]);
+		else
+			tprintf(", NULL");
+	}
+	return 0;
+}
+
+#endif /* HAVE_SYS_ACL_H */
+
+#endif /* SVR4 || LINUXSPARC */
+
+#ifdef LINUX
+
+static const struct xlat fsmagic[] = {
+	{ 0x73757245,	"CODA_SUPER_MAGIC"	},
+	{ 0x012ff7b7,	"COH_SUPER_MAGIC"	},
+	{ 0x1373,	"DEVFS_SUPER_MAGIC"	},
+	{ 0x1cd1,	"DEVPTS_SUPER_MAGIC"	},
+	{ 0x414A53,	"EFS_SUPER_MAGIC"	},
+	{ 0xef51,	"EXT2_OLD_SUPER_MAGIC"	},
+	{ 0xef53,	"EXT2_SUPER_MAGIC"	},
+	{ 0x137d,	"EXT_SUPER_MAGIC"	},
+	{ 0xf995e849,	"HPFS_SUPER_MAGIC"	},
+	{ 0x9660,	"ISOFS_SUPER_MAGIC"	},
+	{ 0x137f,	"MINIX_SUPER_MAGIC"	},
+	{ 0x138f,	"MINIX_SUPER_MAGIC2"	},
+	{ 0x2468,	"MINIX2_SUPER_MAGIC"	},
+	{ 0x2478,	"MINIX2_SUPER_MAGIC2"	},
+	{ 0x4d44,	"MSDOS_SUPER_MAGIC"	},
+	{ 0x564c,	"NCP_SUPER_MAGIC"	},
+	{ 0x6969,	"NFS_SUPER_MAGIC"	},
+	{ 0x9fa0,	"PROC_SUPER_MAGIC"	},
+	{ 0x002f,	"QNX4_SUPER_MAGIC"	},
+	{ 0x52654973,	"REISERFS_SUPER_MAGIC"	},
+	{ 0x02011994,	"SHMFS_SUPER_MAGIC"	},
+	{ 0x517b,	"SMB_SUPER_MAGIC"	},
+	{ 0x012ff7b6,	"SYSV2_SUPER_MAGIC"	},
+	{ 0x012ff7b5,	"SYSV4_SUPER_MAGIC"	},
+	{ 0x00011954,	"UFS_MAGIC"		},
+	{ 0x54190100,	"UFS_CIGAM"		},
+	{ 0x012ff7b4,	"XENIX_SUPER_MAGIC"	},
+	{ 0x012fd16d,	"XIAFS_SUPER_MAGIC"	},
+	{ 0x62656572,	"SYSFS_MAGIC"		},
+	{ 0,		NULL			},
+};
+
+#endif /* LINUX */
+
+#ifndef SVR4
+
+static const char *
+sprintfstype(int magic)
+{
+	static char buf[32];
+#ifdef LINUX
+	const char *s;
+
+	s = xlookup(fsmagic, magic);
+	if (s) {
+		sprintf(buf, "\"%s\"", s);
+		return buf;
+	}
+#endif /* LINUX */
+	sprintf(buf, "%#x", magic);
+	return buf;
+}
+
+static void
+printstatfs(struct tcb *tcp, long addr)
+{
+	struct statfs statbuf;
+
+	if (syserror(tcp) || !verbose(tcp)) {
+		tprintf("%#lx", addr);
+		return;
+	}
+	if (umove(tcp, addr, &statbuf) < 0) {
+		tprintf("{...}");
+		return;
+	}
+#ifdef ALPHA
+
+	tprintf("{f_type=%s, f_fbsize=%u, f_blocks=%u, f_bfree=%u, ",
+		sprintfstype(statbuf.f_type),
+		statbuf.f_bsize, statbuf.f_blocks, statbuf.f_bfree);
+	tprintf("f_bavail=%u, f_files=%u, f_ffree=%u, f_fsid={%d, %d}, f_namelen=%u",
+		statbuf.f_bavail,statbuf.f_files, statbuf.f_ffree,
+		statbuf.f_fsid.__val[0], statbuf.f_fsid.__val[1],
+		statbuf.f_namelen);
+#else /* !ALPHA */
+	tprintf("{f_type=%s, f_bsize=%lu, f_blocks=%lu, f_bfree=%lu, ",
+		sprintfstype(statbuf.f_type),
+		(unsigned long)statbuf.f_bsize,
+		(unsigned long)statbuf.f_blocks,
+		(unsigned long)statbuf.f_bfree);
+	tprintf("f_bavail=%lu, f_files=%lu, f_ffree=%lu, f_fsid={%d, %d}",
+		(unsigned long)statbuf.f_bavail,
+		(unsigned long)statbuf.f_files,
+		(unsigned long)statbuf.f_ffree,
+		statbuf.f_fsid.__val[0], statbuf.f_fsid.__val[1]);
+#ifdef LINUX
+	tprintf(", f_namelen=%lu", (unsigned long)statbuf.f_namelen);
+#endif /* LINUX */
+#endif /* !ALPHA */
+#ifdef _STATFS_F_FRSIZE
+	tprintf(", f_frsize=%lu", (unsigned long)statbuf.f_frsize);
+#endif
+	tprintf("}");
+}
+
+int
+sys_statfs(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+	} else {
+		printstatfs(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+int
+sys_fstatfs(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%lu, ", tcp->u_arg[0]);
+	} else {
+		printstatfs(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+#if defined LINUX && defined HAVE_STATFS64
+static void
+printstatfs64(struct tcb *tcp, long addr)
+{
+	struct statfs64 statbuf;
+
+	if (syserror(tcp) || !verbose(tcp)) {
+		tprintf("%#lx", addr);
+		return;
+	}
+	if (umove(tcp, addr, &statbuf) < 0) {
+		tprintf("{...}");
+		return;
+	}
+	tprintf("{f_type=%s, f_bsize=%llu, f_blocks=%llu, f_bfree=%llu, ",
+		sprintfstype(statbuf.f_type),
+		(unsigned long long)statbuf.f_bsize,
+		(unsigned long long)statbuf.f_blocks,
+		(unsigned long long)statbuf.f_bfree);
+	tprintf("f_bavail=%llu, f_files=%llu, f_ffree=%llu, f_fsid={%d, %d}",
+		(unsigned long long)statbuf.f_bavail,
+		(unsigned long long)statbuf.f_files,
+		(unsigned long long)statbuf.f_ffree,
+		statbuf.f_fsid.__val[0], statbuf.f_fsid.__val[1]);
+	tprintf(", f_namelen=%lu", (unsigned long)statbuf.f_namelen);
+#ifdef _STATFS_F_FRSIZE
+	tprintf(", f_frsize=%llu", (unsigned long long)statbuf.f_frsize);
+#endif
+	tprintf("}");
+}
+
+int
+sys_statfs64(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", %lu, ", tcp->u_arg[1]);
+	} else {
+		if (tcp->u_arg[1] == sizeof (struct statfs64))
+			printstatfs64(tcp, tcp->u_arg[2]);
+		else
+			tprintf("{???}");
+	}
+	return 0;
+}
+
+int
+sys_fstatfs64(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%lu, %lu, ", tcp->u_arg[0], tcp->u_arg[1]);
+	} else {
+		if (tcp->u_arg[1] == sizeof (struct statfs64))
+			printstatfs64(tcp, tcp->u_arg[2]);
+		else
+			tprintf("{???}");
+	}
+	return 0;
+}
+#endif
+
+#if defined(LINUX) && defined(__alpha)
+
+int
+osf_statfs(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+	} else {
+		printstatfs(tcp, tcp->u_arg[1]);
+		tprintf(", %lu", tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+int
+osf_fstatfs(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%lu, ", tcp->u_arg[0]);
+	} else {
+		printstatfs(tcp, tcp->u_arg[1]);
+		tprintf(", %lu", tcp->u_arg[2]);
+	}
+	return 0;
+}
+#endif /* LINUX && __alpha */
+
+#endif /* !SVR4 */
+
+#ifdef SUNOS4
+int
+sys_ustat(struct tcb *tcp)
+{
+	struct ustat statbuf;
+
+	if (entering(tcp)) {
+		tprintf("makedev(%lu, %lu), ",
+				(long) major(tcp->u_arg[0]),
+				(long) minor(tcp->u_arg[0]));
+	}
+	else {
+		if (syserror(tcp) || !verbose(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else if (umove(tcp, tcp->u_arg[1], &statbuf) < 0)
+			tprintf("{...}");
+		else {
+			tprintf("{f_tfree=%lu, f_tinode=%lu, ",
+				statbuf.f_tfree, statbuf.f_tinode);
+			tprintf("f_fname=\"%.*s\", ",
+				(int) sizeof(statbuf.f_fname),
+				statbuf.f_fname);
+			tprintf("f_fpack=\"%.*s\"}",
+				(int) sizeof(statbuf.f_fpack),
+				statbuf.f_fpack);
+		}
+	}
+	return 0;
+}
+#endif /* SUNOS4 */
+
+int
+sys_pivotroot(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+		printpath(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+
+/* directory */
+int
+sys_chdir(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+	}
+	return 0;
+}
+
+static int
+decode_mkdir(struct tcb *tcp, int offset)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[offset]);
+		tprintf(", %#lo", tcp->u_arg[offset + 1]);
+	}
+	return 0;
+}
+
+int
+sys_mkdir(struct tcb *tcp)
+{
+	return decode_mkdir(tcp, 0);
+}
+
+#ifdef LINUX
+int
+sys_mkdirat(struct tcb *tcp)
+{
+	if (entering(tcp))
+		print_dirfd(tcp->u_arg[0]);
+	return decode_mkdir(tcp, 1);
+}
+#endif
+
+int
+sys_rmdir(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+	}
+	return 0;
+}
+
+int
+sys_fchdir(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld", tcp->u_arg[0]);
+	}
+	return 0;
+}
+
+int
+sys_chroot(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+	}
+	return 0;
+}
+
+#if defined(SUNOS4) || defined(SVR4)
+int
+sys_fchroot(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld", tcp->u_arg[0]);
+	}
+	return 0;
+}
+#endif /* SUNOS4 || SVR4 */
+
+int
+sys_link(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+		printpath(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+#ifdef LINUX
+int
+sys_linkat(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		print_dirfd(tcp->u_arg[0]);
+		printpath(tcp, tcp->u_arg[1]);
+		tprintf(", ");
+		print_dirfd(tcp->u_arg[2]);
+		printpath(tcp, tcp->u_arg[3]);
+		tprintf(", %ld", tcp->u_arg[4]);
+	}
+	return 0;
+}
+#endif
+
+int
+sys_unlink(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+	}
+	return 0;
+}
+
+#ifdef LINUX
+static const struct xlat unlinkatflags[] = {
+#ifndef AT_REMOVEDIR
+# define AT_REMOVEDIR            0x200
+#endif
+	{ AT_REMOVEDIR,	"AT_REMOVEDIR"	},
+	{ 0,		NULL		},
+};
+
+int
+sys_unlinkat(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		print_dirfd(tcp->u_arg[0]);
+		printpath(tcp, tcp->u_arg[1]);
+		tprintf(", ");
+		printflags(unlinkatflags, tcp->u_arg[2], "AT_???");
+	}
+	return 0;
+}
+#endif
+
+int
+sys_symlink(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+		printpath(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+#ifdef LINUX
+int
+sys_symlinkat(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+		print_dirfd(tcp->u_arg[1]);
+		printpath(tcp, tcp->u_arg[2]);
+	}
+	return 0;
+}
+#endif
+
+static int
+decode_readlink(struct tcb *tcp, int offset)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[offset]);
+		tprintf(", ");
+	} else {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[offset + 1]);
+		else
+			printpathn(tcp, tcp->u_arg[offset + 1], tcp->u_rval);
+		tprintf(", %lu", tcp->u_arg[offset + 2]);
+	}
+	return 0;
+}
+
+int
+sys_readlink(struct tcb *tcp)
+{
+	return decode_readlink(tcp, 0);
+}
+
+#ifdef LINUX
+int
+sys_readlinkat(struct tcb *tcp)
+{
+	if (entering(tcp))
+		print_dirfd(tcp->u_arg[0]);
+	return decode_readlink(tcp, 1);
+}
+#endif
+
+int
+sys_rename(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+		printpath(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+#ifdef LINUX
+int
+sys_renameat(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		print_dirfd(tcp->u_arg[0]);
+		printpath(tcp, tcp->u_arg[1]);
+		tprintf(", ");
+		print_dirfd(tcp->u_arg[2]);
+		printpath(tcp, tcp->u_arg[3]);
+	}
+	return 0;
+}
+#endif
+
+int
+sys_chown(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		printuid(", ", tcp->u_arg[1]);
+		printuid(", ", tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+#ifdef LINUX
+int
+sys_fchownat(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		print_dirfd(tcp->u_arg[0]);
+		printpath(tcp, tcp->u_arg[1]);
+		printuid(", ", tcp->u_arg[2]);
+		printuid(", ", tcp->u_arg[3]);
+		tprintf(", ");
+		printflags(fstatatflags, tcp->u_arg[4], "AT_???");
+	}
+	return 0;
+}
+#endif
+
+int
+sys_fchown(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld", tcp->u_arg[0]);
+		printuid(", ", tcp->u_arg[1]);
+		printuid(", ", tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+static int
+decode_chmod(struct tcb *tcp, int offset)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[offset]);
+		tprintf(", %#lo", tcp->u_arg[offset + 1]);
+	}
+	return 0;
+}
+
+int
+sys_chmod(struct tcb *tcp)
+{
+	return decode_chmod(tcp, 0);
+}
+
+#ifdef LINUX
+int
+sys_fchmodat(struct tcb *tcp)
+{
+	if (entering(tcp))
+		print_dirfd(tcp->u_arg[0]);
+	return decode_chmod(tcp, 1);
+}
+#endif
+
+int
+sys_fchmod(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, %#lo", tcp->u_arg[0], tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+#ifdef ALPHA
+int
+sys_osf_utimes(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+		printtv_bitness(tcp, tcp->u_arg[1], BITNESS_32,  0);
+	}
+	return 0;
+}
+#endif
+
+static int
+decode_utimes(struct tcb *tcp, int offset, int special)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[offset]);
+		tprintf(", ");
+		if (tcp->u_arg[offset + 1] == 0)
+			tprintf("NULL");
+		else {
+			tprintf("{");
+			printtv_bitness(tcp, tcp->u_arg[offset + 1],
+					BITNESS_CURRENT, special);
+			tprintf(", ");
+			printtv_bitness(tcp, tcp->u_arg[offset + 1]
+					+ sizeof (struct timeval),
+					BITNESS_CURRENT, special);
+			tprintf("}");
+		}
+	}
+	return 0;
+}
+
+int
+sys_utimes(struct tcb *tcp)
+{
+	return decode_utimes(tcp, 0, 0);
+}
+
+#ifdef LINUX
+int
+sys_futimesat(struct tcb *tcp)
+{
+	if (entering(tcp))
+		print_dirfd(tcp->u_arg[0]);
+	return decode_utimes(tcp, 1, 0);
+}
+
+int
+sys_utimensat(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		print_dirfd(tcp->u_arg[0]);
+		decode_utimes(tcp, 1, 1);
+		tprintf(", ");
+		printflags(utimensatflags, tcp->u_arg[3], "AT_???");
+	}
+	return 0;
+}
+#endif
+
+int
+sys_utime(struct tcb *tcp)
+{
+	union {
+		long utl[2];
+		int uti[2];
+	} u;
+
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+		if (!tcp->u_arg[1])
+			tprintf("NULL");
+		else if (!verbose(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else if (umoven(tcp, tcp->u_arg[1],
+				2 * personality_wordsize[current_personality],
+				(char *) &u) < 0)
+			tprintf("[?, ?]");
+		else if (personality_wordsize[current_personality]
+			 == sizeof u.utl[0]) {
+			tprintf("[%s,", sprinttime(u.utl[0]));
+			tprintf(" %s]", sprinttime(u.utl[1]));
+		}
+		else if (personality_wordsize[current_personality]
+			 == sizeof u.uti[0]) {
+			tprintf("[%s,", sprinttime(u.uti[0]));
+			tprintf(" %s]", sprinttime(u.uti[1]));
+		}
+		else
+			abort();
+	}
+	return 0;
+}
+
+static int
+decode_mknod(struct tcb *tcp, int offset)
+{
+	int mode = tcp->u_arg[offset + 1];
+
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[offset]);
+		tprintf(", %s", sprintmode(mode));
+		switch (mode & S_IFMT) {
+		case S_IFCHR: case S_IFBLK:
+#ifdef LINUXSPARC
+			if (current_personality == 1)
+			tprintf(", makedev(%lu, %lu)",
+				(unsigned long) ((tcp->u_arg[offset + 2] >> 18) & 0x3fff),
+				(unsigned long) (tcp->u_arg[offset + 2] & 0x3ffff));
+			else
+#endif
+			tprintf(", makedev(%lu, %lu)",
+				(unsigned long) major(tcp->u_arg[offset + 2]),
+				(unsigned long) minor(tcp->u_arg[offset + 2]));
+			break;
+		default:
+			break;
+		}
+	}
+	return 0;
+}
+
+int
+sys_mknod(struct tcb *tcp)
+{
+	return decode_mknod(tcp, 0);
+}
+
+#ifdef LINUX
+int
+sys_mknodat(struct tcb *tcp)
+{
+	if (entering(tcp))
+		print_dirfd(tcp->u_arg[0]);
+	return decode_mknod(tcp, 1);
+}
+#endif
+
+#ifdef FREEBSD
+int
+sys_mkfifo(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", %#lo", tcp->u_arg[1]);
+	}
+	return 0;
+}
+#endif /* FREEBSD */
+
+int
+sys_fsync(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld", tcp->u_arg[0]);
+	}
+	return 0;
+}
+
+#ifdef LINUX
+
+static void
+printdir(struct tcb *tcp, long addr)
+{
+	struct dirent d;
+
+	if (!verbose(tcp)) {
+		tprintf("%#lx", addr);
+		return;
+	}
+	if (umove(tcp, addr, &d) < 0) {
+		tprintf("{...}");
+		return;
+	}
+	tprintf("{d_ino=%ld, ", (unsigned long) d.d_ino);
+	tprintf("d_name=");
+	printpathn(tcp, (long) ((struct dirent *) addr)->d_name, d.d_reclen);
+	tprintf("}");
+}
+
+int
+sys_readdir(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%lu, ", tcp->u_arg[0]);
+	} else {
+		if (syserror(tcp) || tcp->u_rval == 0 || !verbose(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else
+			printdir(tcp, tcp->u_arg[1]);
+		/* Not much point in printing this out, it is always 1. */
+		if (tcp->u_arg[2] != 1)
+			tprintf(", %lu", tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+#endif /* LINUX */
+
+#if defined FREEBSD || defined LINUX
+static const struct xlat direnttypes[] = {
+	{ DT_UNKNOWN,	"DT_UNKNOWN" 	},
+	{ DT_FIFO,	"DT_FIFO" 	},
+	{ DT_CHR,	"DT_CHR" 	},
+	{ DT_DIR,	"DT_DIR" 	},
+	{ DT_BLK,	"DT_BLK" 	},
+	{ DT_REG,	"DT_REG" 	},
+	{ DT_LNK,	"DT_LNK" 	},
+	{ DT_SOCK,	"DT_SOCK" 	},
+	{ DT_WHT,	"DT_WHT" 	},
+	{ 0,		NULL		},
+};
+
+#endif
+
+int
+sys_getdents(struct tcb *tcp)
+{
+	int i, len, dents = 0;
+	char *buf;
+
+	if (entering(tcp)) {
+		tprintf("%lu, ", tcp->u_arg[0]);
+		return 0;
+	}
+	if (syserror(tcp) || !verbose(tcp)) {
+		tprintf("%#lx, %lu", tcp->u_arg[1], tcp->u_arg[2]);
+		return 0;
+	}
+	len = tcp->u_rval;
+	buf = len ? malloc(len) : NULL;
+	if (len && !buf) {
+		tprintf("%#lx, %lu", tcp->u_arg[1], tcp->u_arg[2]);
+		fprintf(stderr, "out of memory\n");
+		return 0;
+	}
+	if (umoven(tcp, tcp->u_arg[1], len, buf) < 0) {
+		tprintf("%#lx, %lu", tcp->u_arg[1], tcp->u_arg[2]);
+		free(buf);
+		return 0;
+	}
+	if (!abbrev(tcp))
+		tprintf("{");
+	for (i = 0; i < len;) {
+		struct kernel_dirent *d = (struct kernel_dirent *) &buf[i];
+#ifdef LINUX
+		if (!abbrev(tcp)) {
+			tprintf("%s{d_ino=%lu, d_off=%lu, ",
+				i ? " " : "", d->d_ino, d->d_off);
+			tprintf("d_reclen=%u, d_name=\"%s\"}",
+				d->d_reclen, d->d_name);
+		}
+#endif /* LINUX */
+#ifdef SVR4
+		if (!abbrev(tcp)) {
+			tprintf("%s{d_ino=%lu, d_off=%lu, ",
+				i ? " " : "",
+				(unsigned long) d->d_ino,
+				(unsigned long) d->d_off);
+			tprintf("d_reclen=%u, d_name=\"%s\"}",
+				d->d_reclen, d->d_name);
+		}
+#endif /* SVR4 */
+#ifdef SUNOS4
+		if (!abbrev(tcp)) {
+			tprintf("%s{d_off=%lu, d_fileno=%lu, d_reclen=%u, ",
+				i ? " " : "", d->d_off, d->d_fileno,
+				d->d_reclen);
+			tprintf("d_namlen=%u, d_name=\"%.*s\"}",
+				d->d_namlen, d->d_namlen, d->d_name);
+		}
+#endif /* SUNOS4 */
+#ifdef FREEBSD
+		if (!abbrev(tcp)) {
+			tprintf("%s{d_fileno=%u, d_reclen=%u, d_type=",
+				i ? " " : "", d->d_fileno, d->d_reclen);
+			printxval(direnttypes, d->d_type, "DT_???");
+			tprintf(", d_namlen=%u, d_name=\"%.*s\"}",
+				d->d_namlen, d->d_namlen, d->d_name);
+		}
+#endif /* FREEBSD */
+		if (!d->d_reclen) {
+			tprintf("/* d_reclen == 0, problem here */");
+			break;
+		}
+		i += d->d_reclen;
+		dents++;
+	}
+	if (!abbrev(tcp))
+		tprintf("}");
+	else
+		tprintf("/* %u entries */", dents);
+	tprintf(", %lu", tcp->u_arg[2]);
+	free(buf);
+	return 0;
+}
+
+
+#if _LFS64_LARGEFILE
+int
+sys_getdents64(struct tcb *tcp)
+{
+	int i, len, dents = 0;
+	char *buf;
+
+	if (entering(tcp)) {
+		tprintf("%lu, ", tcp->u_arg[0]);
+		return 0;
+	}
+	if (syserror(tcp) || !verbose(tcp)) {
+		tprintf("%#lx, %lu", tcp->u_arg[1], tcp->u_arg[2]);
+		return 0;
+	}
+	len = tcp->u_rval;
+	buf = len ? malloc(len) : NULL;
+	if (len && !buf) {
+		tprintf("%#lx, %lu", tcp->u_arg[1], tcp->u_arg[2]);
+		fprintf(stderr, "out of memory\n");
+		return 0;
+	}
+	if (umoven(tcp, tcp->u_arg[1], len, buf) < 0) {
+		tprintf("%#lx, %lu", tcp->u_arg[1], tcp->u_arg[2]);
+		free(buf);
+		return 0;
+	}
+	if (!abbrev(tcp))
+		tprintf("{");
+	for (i = 0; i < len;) {
+		struct dirent64 *d = (struct dirent64 *) &buf[i];
+#if defined(LINUX) || defined(SVR4)
+		if (!abbrev(tcp)) {
+			tprintf("%s{d_ino=%" PRIu64 ", d_off=%" PRId64 ", ",
+				i ? " " : "",
+				d->d_ino,
+				d->d_off);
+#ifdef LINUX
+			tprintf("d_type=");
+			printxval(direnttypes, d->d_type, "DT_???");
+			tprintf(", ");
+#endif
+			tprintf("d_reclen=%u, d_name=\"%s\"}",
+				d->d_reclen, d->d_name);
+		}
+#endif /* LINUX || SVR4 */
+#ifdef SUNOS4
+		if (!abbrev(tcp)) {
+			tprintf("%s{d_off=%lu, d_fileno=%lu, d_reclen=%u, ",
+				i ? " " : "", d->d_off, d->d_fileno,
+				d->d_reclen);
+			tprintf("d_namlen=%u, d_name=\"%.*s\"}",
+				d->d_namlen, d->d_namlen, d->d_name);
+		}
+#endif /* SUNOS4 */
+		if (!d->d_reclen) {
+			tprintf("/* d_reclen == 0, problem here */");
+			break;
+		}
+		i += d->d_reclen;
+		dents++;
+	}
+	if (!abbrev(tcp))
+		tprintf("}");
+	else
+		tprintf("/* %u entries */", dents);
+	tprintf(", %lu", tcp->u_arg[2]);
+	free(buf);
+	return 0;
+}
+#endif
+
+#ifdef FREEBSD
+int
+sys_getdirentries(struct tcb *tcp)
+{
+	int i, len, dents = 0;
+	long basep;
+	char *buf;
+
+	if (entering(tcp)) {
+		tprintf("%lu, ", tcp->u_arg[0]);
+		return 0;
+	}
+	if (syserror(tcp) || !verbose(tcp)) {
+		tprintf("%#lx, %lu, %#lx", tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]);
+		return 0;
+	}
+	len = tcp->u_rval;
+	if ((buf = malloc(len)) == NULL) {
+		tprintf("%#lx, %lu, %#lx", tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]);
+		fprintf(stderr, "out of memory\n");
+		return 0;
+	}
+	if (umoven(tcp, tcp->u_arg[1], len, buf) < 0) {
+		tprintf("%#lx, %lu, %#lx", tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]);
+		free(buf);
+		return 0;
+	}
+	if (!abbrev(tcp))
+		tprintf("{");
+	for (i = 0; i < len;) {
+		struct kernel_dirent *d = (struct kernel_dirent *) &buf[i];
+		if (!abbrev(tcp)) {
+			tprintf("%s{d_fileno=%u, d_reclen=%u, d_type=",
+				i ? " " : "", d->d_fileno, d->d_reclen);
+			printxval(direnttypes, d->d_type, "DT_???");
+			tprintf(", d_namlen=%u, d_name=\"%.*s\"}",
+				d->d_namlen, d->d_namlen, d->d_name);
+		}
+		if (!d->d_reclen) {
+			tprintf("/* d_reclen == 0, problem here */");
+			break;
+		}
+		i += d->d_reclen;
+		dents++;
+	}
+	if (!abbrev(tcp))
+		tprintf("}");
+	else
+		tprintf("/* %u entries */", dents);
+	free(buf);
+	tprintf(", %lu", tcp->u_arg[2]);
+	if (umove(tcp, tcp->u_arg[3], &basep) < 0)
+		tprintf(", %#lx", tcp->u_arg[3]);
+	else
+		tprintf(", [%lu]", basep);
+	return 0;
+}
+#endif
+
+#ifdef LINUX
+int
+sys_getcwd(struct tcb *tcp)
+{
+	if (exiting(tcp)) {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[0]);
+		else
+			printpathn(tcp, tcp->u_arg[0], tcp->u_rval - 1);
+		tprintf(", %lu", tcp->u_arg[1]);
+	}
+	return 0;
+}
+#endif /* LINUX */
+
+#ifdef FREEBSD
+int
+sys___getcwd(struct tcb *tcp)
+{
+	if (exiting(tcp)) {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[0]);
+		else
+			printpathn(tcp, tcp->u_arg[0], tcp->u_arg[1]);
+		tprintf(", %lu", tcp->u_arg[1]);
+	}
+	return 0;
+}
+#endif
+
+#ifdef HAVE_SYS_ASYNCH_H
+
+int
+sys_aioread(struct tcb *tcp)
+{
+	struct aio_result_t res;
+
+	if (entering(tcp)) {
+		tprintf("%lu, ", tcp->u_arg[0]);
+	} else {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else
+			printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
+		tprintf(", %lu, %lu, ", tcp->u_arg[2], tcp->u_arg[3]);
+		printxval(whence, tcp->u_arg[4], "L_???");
+		if (syserror(tcp) || tcp->u_arg[5] == 0
+		    || umove(tcp, tcp->u_arg[5], &res) < 0)
+			tprintf(", %#lx", tcp->u_arg[5]);
+		else
+			tprintf(", {aio_return %d aio_errno %d}",
+				res.aio_return, res.aio_errno);
+	}
+	return 0;
+}
+
+int
+sys_aiowrite(struct tcb *tcp)
+{
+	struct aio_result_t res;
+
+	if (entering(tcp)) {
+		tprintf("%lu, ", tcp->u_arg[0]);
+		printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
+		tprintf(", %lu, %lu, ", tcp->u_arg[2], tcp->u_arg[3]);
+		printxval(whence, tcp->u_arg[4], "L_???");
+	}
+	else {
+		if (tcp->u_arg[5] == 0)
+			tprintf(", NULL");
+		else if (syserror(tcp)
+		    || umove(tcp, tcp->u_arg[5], &res) < 0)
+			tprintf(", %#lx", tcp->u_arg[5]);
+		else
+			tprintf(", {aio_return %d aio_errno %d}",
+				res.aio_return, res.aio_errno);
+	}
+	return 0;
+}
+
+int
+sys_aiowait(struct tcb *tcp)
+{
+	if (entering(tcp))
+		printtv(tcp, tcp->u_arg[0]);
+	return 0;
+}
+
+int
+sys_aiocancel(struct tcb *tcp)
+{
+	struct aio_result_t res;
+
+	if (exiting(tcp)) {
+		if (tcp->u_arg[0] == 0)
+			tprintf("NULL");
+		else if (syserror(tcp)
+		    || umove(tcp, tcp->u_arg[0], &res) < 0)
+			tprintf("%#lx", tcp->u_arg[0]);
+		else
+			tprintf("{aio_return %d aio_errno %d}",
+				res.aio_return, res.aio_errno);
+	}
+	return 0;
+}
+
+#endif /* HAVE_SYS_ASYNCH_H */
+
+static const struct xlat xattrflags[] = {
+#ifdef XATTR_CREATE
+	{ XATTR_CREATE,	 "XATTR_CREATE" },
+	{ XATTR_REPLACE, "XATTR_REPLACE" },
+#endif
+	{ 0,		 NULL }
+};
+
+static void
+print_xattr_val(struct tcb *tcp, int failed,
+		unsigned long arg,
+		unsigned long insize,
+		unsigned long size)
+{
+	if (!failed) {
+		unsigned long capacity = 4 * size + 1;
+		unsigned char *buf = (capacity < size) ? NULL : malloc(capacity);
+		if (buf == NULL || /* probably a bogus size argument */
+			umoven(tcp, arg, size, (char *) &buf[3 * size]) < 0) {
+			failed = 1;
+		}
+		else {
+			unsigned char *out = buf;
+			unsigned char *in = &buf[3 * size];
+			size_t i;
+			for (i = 0; i < size; ++i) {
+				if (isprint(in[i]))
+					*out++ = in[i];
+				else {
+#define tohex(n) "0123456789abcdef"[n]
+					*out++ = '\\';
+					*out++ = 'x';
+					*out++ = tohex(in[i] / 16);
+					*out++ = tohex(in[i] % 16);
+				}
+			}
+			/* Don't print terminating NUL if there is one.  */
+			if (i > 0 && in[i - 1] == '\0')
+				out -= 4;
+			*out = '\0';
+			tprintf(", \"%s\", %ld", buf, insize);
+		}
+		free(buf);
+	}
+	if (failed)
+		tprintf(", 0x%lx, %ld", arg, insize);
+}
+
+int
+sys_setxattr(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+		printstr(tcp, tcp->u_arg[1], -1);
+		print_xattr_val(tcp, 0, tcp->u_arg[2], tcp->u_arg[3], tcp->u_arg[3]);
+		tprintf(", ");
+		printflags(xattrflags, tcp->u_arg[4], "XATTR_???");
+	}
+	return 0;
+}
+
+int
+sys_fsetxattr(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printstr(tcp, tcp->u_arg[1], -1);
+		print_xattr_val(tcp, 0, tcp->u_arg[2], tcp->u_arg[3], tcp->u_arg[3]);
+		tprintf(", ");
+		printflags(xattrflags, tcp->u_arg[4], "XATTR_???");
+	}
+	return 0;
+}
+
+int
+sys_getxattr(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+		printstr(tcp, tcp->u_arg[1], -1);
+	} else {
+		print_xattr_val(tcp, syserror(tcp), tcp->u_arg[2], tcp->u_arg[3],
+				tcp->u_rval);
+	}
+	return 0;
+}
+
+int
+sys_fgetxattr(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printstr(tcp, tcp->u_arg[1], -1);
+	} else {
+		print_xattr_val(tcp, syserror(tcp), tcp->u_arg[2], tcp->u_arg[3],
+				tcp->u_rval);
+	}
+	return 0;
+}
+
+int
+sys_listxattr(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+	} else {
+		/* XXX Print value in format */
+		tprintf(", %p, %lu", (void *) tcp->u_arg[1], tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+int
+sys_flistxattr(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld", tcp->u_arg[0]);
+	} else {
+		/* XXX Print value in format */
+		tprintf(", %p, %lu", (void *) tcp->u_arg[1], tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+int
+sys_removexattr(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+		printstr(tcp, tcp->u_arg[1], -1);
+	}
+	return 0;
+}
+
+int
+sys_fremovexattr(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printstr(tcp, tcp->u_arg[1], -1);
+	}
+	return 0;
+}
+
+
+static const struct xlat advise[] = {
+  { POSIX_FADV_NORMAL,		"POSIX_FADV_NORMAL"	},
+  { POSIX_FADV_RANDOM,		"POSIX_FADV_RANDOM"	},
+  { POSIX_FADV_SEQUENTIAL,	"POSIX_FADV_SEQUENTIAL"	},
+  { POSIX_FADV_WILLNEED,	"POSIX_FADV_WILLNEED"	},
+  { POSIX_FADV_DONTNEED,	"POSIX_FADV_DONTNEED"	},
+  { POSIX_FADV_NOREUSE,		"POSIX_FADV_NOREUSE"	},
+  { 0,				NULL			}
+};
+
+
+#ifdef LINUX
+int
+sys_fadvise64(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		int argn;
+		tprintf("%ld, ", tcp->u_arg[0]);
+		argn = printllval(tcp, "%lld", 1);
+		tprintf(", %ld, ", tcp->u_arg[argn++]);
+		printxval(advise, tcp->u_arg[argn], "POSIX_FADV_???");
+	}
+	return 0;
+}
+#endif
+
+
+int
+sys_fadvise64_64(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		int argn;
+		tprintf("%ld, ", tcp->u_arg[0]);
+#if defined ARM || defined POWERPC
+		argn = printllval(tcp, "%lld, ", 2);
+#else
+		argn = printllval(tcp, "%lld, ", 1);
+#endif
+		argn = printllval(tcp, "%lld, ", argn);
+#if defined ARM || defined POWERPC
+		printxval(advise, tcp->u_arg[1], "POSIX_FADV_???");
+#else
+		printxval(advise, tcp->u_arg[argn], "POSIX_FADV_???");
+#endif
+	}
+	return 0;
+}
+
+#ifdef LINUX
+static const struct xlat inotify_modes[] = {
+	{ 0x00000001, "IN_ACCESS" },
+	{ 0x00000002, "IN_MODIFY" },
+	{ 0x00000004, "IN_ATTRIB" },
+	{ 0x00000008, "IN_CLOSE_WRITE" },
+	{ 0x00000010, "IN_CLOSE_NOWRITE" },
+	{ 0x00000020, "IN_OPEN" },
+	{ 0x00000040, "IN_MOVED_FROM" },
+	{ 0x00000080, "IN_MOVED_TO" },
+	{ 0x00000100, "IN_CREATE" },
+	{ 0x00000200, "IN_DELETE" },
+	{ 0x00000400, "IN_DELETE_SELF" },
+	{ 0x00000800, "IN_MOVE_SELF" },
+	{ 0x00002000, "IN_UNMOUNT" },
+	{ 0x00004000, "IN_Q_OVERFLOW" },
+	{ 0x00008000, "IN_IGNORED" },
+	{ 0x01000000, "IN_ONLYDIR" },
+	{ 0x02000000, "IN_DONT_FOLLOW" },
+	{ 0x20000000, "IN_MASK_ADD" },
+	{ 0x40000000, "IN_ISDIR" },
+	{ 0x80000000, "IN_ONESHOT" }
+};
+
+int
+sys_inotify_add_watch(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printpath(tcp, tcp->u_arg[1]);
+		tprintf(", ");
+		printflags(inotify_modes, tcp->u_arg[2], "IN_???");
+	}
+	return 0;
+}
+
+int
+sys_inotify_rm_watch(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, %ld", tcp->u_arg[0], tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+int
+sys_inotify_init1(struct tcb *tcp)
+{
+	if (entering(tcp))
+		printflags(open_mode_flags, tcp->u_arg[0], "O_???");
+	return 0;
+}
+
+int
+sys_fallocate(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		int argn;
+		tprintf("%ld, ", tcp->u_arg[0]);	/* fd */
+		tprintf("%#lo, ", tcp->u_arg[1]);	/* mode */
+		argn = printllval(tcp, "%llu, ", 2);	/* offset */
+		printllval(tcp, "%llu", argn);		/* len */
+	}
+	return 0;
+}
+#endif
diff --git a/strace-4.5.20/freebsd/i386/errnoent.h b/strace-4.5.20/freebsd/i386/errnoent.h
new file mode 100644
index 0000000..d18b9ac
--- /dev/null
+++ b/strace-4.5.20/freebsd/i386/errnoent.h
@@ -0,0 +1,87 @@
+	"ERRNO_0", /* 0 */
+	"EPERM", /* 1 */
+	"ENOENT", /* 2 */
+	"ESRCH", /* 3 */
+	"EINTR", /* 4 */
+	"EIO", /* 5 */
+	"ENXIO", /* 6 */
+	"E2BIG", /* 7 */
+	"ENOEXEC", /* 8 */
+	"EBADF", /* 9 */
+	"ECHILD", /* 10 */
+	"EDEADLK", /* 11 */
+	"ENOMEM", /* 12 */
+	"EACCES", /* 13 */
+	"EFAULT", /* 14 */
+	"ENOTBLK", /* 15 */
+	"EBUSY", /* 16 */
+	"EEXIST", /* 17 */
+	"EXDEV", /* 18 */
+	"ENODEV", /* 19 */
+	"ENOTDIR", /* 20 */
+	"EISDIR", /* 21 */
+	"EINVAL", /* 22 */
+	"ENFILE", /* 23 */
+	"EMFILE", /* 24 */
+	"ENOTTY", /* 25 */
+	"ETXTBSY", /* 26 */
+	"EFBIG", /* 27 */
+	"ENOSPC", /* 28 */
+	"ESPIPE", /* 29 */
+	"EROFS", /* 30 */
+	"EMLINK", /* 31 */
+	"EPIPE", /* 32 */
+	"EDOM", /* 33 */
+	"ERANGE", /* 34 */
+	"EAGAIN", /* 35 */
+	"EINPROGRESS", /* 36 */
+	"EALREADY", /* 37 */
+	"ENOTSOCK", /* 38 */
+	"EDESTADDRREQ", /* 39 */
+	"EMSGSIZE", /* 40 */
+	"EPROTOTYPE", /* 41 */
+	"ENOPROTOOPT", /* 42 */
+	"EPROTONOSUPPORT", /* 43 */
+	"ESOCKTNOSUPPORT", /* 44 */
+	"EOPNOTSUPP", /* 45 */
+	"EPFNOSUPPORT", /* 46 */
+	"EAFNOSUPPORT", /* 47 */
+	"EADDRINUSE", /* 48 */
+	"EADDRNOTAVAIL", /* 49 */
+	"ENETDOWN", /* 50 */
+	"ENETUNREACH", /* 51 */
+	"ENETRESET", /* 52 */
+	"ECONNABORTED", /* 53 */
+	"ECONNRESET", /* 54 */
+	"ENOBUFS", /* 55 */
+	"EISCONN", /* 56 */
+	"ENOTCONN", /* 57 */
+	"ESHUTDOWN", /* 58 */
+	"ETOOMANYREFS", /* 59 */
+	"ETIMEDOUT", /* 60 */
+	"ECONNREFUSED", /* 61 */
+	"ELOOP", /* 62 */
+	"ENAMETOOLONG", /* 63 */
+	"EHOSTDOWN", /* 64 */
+	"EHOSTUNREACH", /* 65 */
+	"ENOTEMPTY", /* 66 */
+	"EPROCLIM", /* 67 */
+	"EUSERS", /* 68 */
+	"EDQUOT", /* 69 */
+	"ESTALE", /* 70 */
+	"EREMOTE", /* 71 */
+	"EBADRPC", /* 72 */
+	"ERPCMISMATCH", /* 73 */
+	"EPROGUNAVAIL", /* 74 */
+	"EPROGMISMATCH", /* 75 */
+	"EPROCUNAVAIL", /* 76 */
+	"ENOLCK", /* 77 */
+	"ENOSYS", /* 78 */
+	"EFTYPE", /* 79 */
+	"EAUTH", /* 80 */
+	"ENEEDAUTH", /* 81 */
+	"EIDRM", /* 82 */
+	"ENOMSG", /* 83 */
+	"EOVERFLOW", /* 84 */
+	"ECANCELED", /* 85 */
+	"ELAST", /* 86 */
diff --git a/strace-4.5.20/freebsd/i386/ioctlent.h b/strace-4.5.20/freebsd/i386/ioctlent.h
new file mode 100644
index 0000000..0448e4c
--- /dev/null
+++ b/strace-4.5.20/freebsd/i386/ioctlent.h
@@ -0,0 +1,1056 @@
+{"sys/timepps.h", "PPS_IOC_CREATE", 0x20003101},
+{"sys/timepps.h", "PPS_IOC_DESTROY", 0x20003102},
+{"machine/pcaudioio.h", "AUDIO_DRAIN", 0x20004103},
+{"machine/pcaudioio.h", "AUDIO_FLUSH", 0x20004104},
+{"sys/dataacq.h", "AD_SUPPORTED_GAINS", 0x20004105},
+{"sys/dataacq.h", "AD_GAINS_SET", 0x20004106},
+{"sys/dataacq.h", "AD_GAINS_GET", 0x20004107},
+{"net/bpf.h", "BIOCFLUSH", 0x20004268},
+{"net/bpf.h", "BIOCPROMISC", 0x20004269},
+{"sys/soundcard.h", "SNDCTL_COPR_RESET", 0x20004300},
+{"machine/soundcard.h", "SNDCTL_COPR_RESET", 0x20004300},
+{"machine/pcvt_ioctl.h", "KBDRESET", 0x20004b01},
+{"sys/kbio.h", "KDSKBMODE", 0x20004b07},
+{"machine/pcvt_ioctl.h", "KDSKBMODE", 0x20004b07},
+{"sys/kbio.h", "KDMKTONE", 0x20004b08},
+{"machine/pcvt_ioctl.h", "KDMKTONE", 0x20004b08},
+{"machine/pcvt_ioctl.h", "KDSETMODE", 0x20004b0a},
+{"sys/consio.h", "KDSETMODE", 0x20004b0a},
+{"sys/consio.h", "KDSBORDER", 0x20004b0d},
+{"machine/pcvt_ioctl.h", "KBDDEFAULT", 0x20004b14},
+{"sys/kbio.h", "KDSKBSTATE", 0x20004b14},
+{"machine/pcvt_ioctl.h", "KDENABIO", 0x20004b3c},
+{"sys/kbio.h", "KDENABIO", 0x20004b3c},
+{"sys/kbio.h", "KDDISABIO", 0x20004b3d},
+{"machine/pcvt_ioctl.h", "KDDISABIO", 0x20004b3d},
+{"sys/kbio.h", "KIOCSOUND", 0x20004b3f},
+{"sys/kbio.h", "KDSETLED", 0x20004b42},
+{"machine/pcvt_ioctl.h", "KDSETLED", 0x20004b42},
+{"machine/pcvt_ioctl.h", "KDSETRAD", 0x20004b43},
+{"sys/kbio.h", "KDSETRAD", 0x20004b43},
+{"machine/pcaudioio.h", "AUDIO_COMPAT_FLUSH", 0x20005000},
+{"sys/soundcard.h", "SNDCTL_DSP_RESET", 0x20005000},
+{"machine/soundcard.h", "SNDCTL_DSP_RESET", 0x20005000},
+{"sys/soundcard.h", "SNDCTL_DSP_SYNC", 0x20005001},
+{"machine/soundcard.h", "SNDCTL_DSP_SYNC", 0x20005001},
+{"machine/pcaudioio.h", "AUDIO_COMPAT_DRAIN", 0x20005001},
+{"machine/apm_bios.h", "APMIO_SUSPEND", 0x20005001},
+{"machine/apm_bios.h", "APMIO_ENABLE", 0x20005005},
+{"machine/apm_bios.h", "APMIO_DISABLE", 0x20005006},
+{"machine/apm_bios.h", "APMIO_HALTCPU", 0x20005007},
+{"sys/soundcard.h", "SNDCTL_DSP_POST", 0x20005008},
+{"machine/soundcard.h", "SNDCTL_DSP_POST", 0x20005008},
+{"machine/apm_bios.h", "APMIO_NOTHALTCPU", 0x20005008},
+{"machine/apm_bios.h", "APMIO_STANDBY", 0x2000500c},
+{"machine/soundcard.h", "SNDCTL_DSP_NONBLOCK", 0x2000500e},
+{"sys/soundcard.h", "SNDCTL_DSP_NONBLOCK", 0x2000500e},
+{"machine/soundcard.h", "SNDCTL_DSP_SETSYNCRO", 0x20005015},
+{"sys/soundcard.h", "SNDCTL_DSP_SETSYNCRO", 0x20005015},
+{"machine/apm_bios.h", "APMIO_REJECTLASTREQ", 0x20005065},
+{"machine/soundcard.h", "SNDCTL_SEQ_RESET", 0x20005100},
+{"sys/soundcard.h", "SNDCTL_SEQ_RESET", 0x20005100},
+{"sys/soundcard.h", "SNDCTL_SEQ_SYNC", 0x20005101},
+{"machine/soundcard.h", "SNDCTL_SEQ_SYNC", 0x20005101},
+{"machine/soundcard.h", "SNDCTL_SEQ_PANIC", 0x20005111},
+{"sys/soundcard.h", "SNDCTL_SEQ_PANIC", 0x20005111},
+{"sys/consio.h", "SW_B40x25", 0x20005300},
+{"sys/consio.h", "SW_C40x25", 0x20005301},
+{"machine/speaker.h", "SPKRTUNE", 0x20005302},
+{"sys/consio.h", "SW_B80x25", 0x20005302},
+{"sys/consio.h", "SW_C80x25", 0x20005303},
+{"sys/consio.h", "SW_BG320", 0x20005304},
+{"sys/consio.h", "SW_CG320", 0x20005305},
+{"sys/consio.h", "SW_BG640", 0x20005306},
+{"sys/consio.h", "SW_EGAMONO80x25", 0x20005307},
+{"machine/gsc.h", "GSC_SRESSW", 0x2000530b},
+{"machine/asc_ioctl.h", "ASC_SRESSW", 0x2000530b},
+{"sys/consio.h", "SW_CG320_D", 0x2000530d},
+{"sys/consio.h", "SW_CG640_E", 0x2000530e},
+{"sys/consio.h", "SW_EGAMONOAPA", 0x2000530f},
+{"sys/consio.h", "SW_CG640x350", 0x20005310},
+{"sys/consio.h", "SW_ENH_MONOAPA2", 0x20005311},
+{"sys/consio.h", "SW_ENH_CG640", 0x20005312},
+{"sys/consio.h", "SW_ENH_B40x25", 0x20005313},
+{"sys/consio.h", "SW_ENH_C40x25", 0x20005314},
+{"sys/consio.h", "SW_ENH_B80x25", 0x20005315},
+{"sys/consio.h", "SW_ENH_C80x25", 0x20005316},
+{"sys/consio.h", "SW_VGA_C40x25", 0x20005317},
+{"sys/consio.h", "SW_VGA_C80x25", 0x20005318},
+{"sys/consio.h", "SW_VGA_M80x25", 0x20005319},
+{"sys/consio.h", "SW_VGA11", 0x2000531a},
+{"sys/consio.h", "SW_BG640x480", 0x2000531a},
+{"sys/consio.h", "SW_CG640x480", 0x2000531b},
+{"sys/consio.h", "SW_VGA12", 0x2000531b},
+{"sys/consio.h", "SW_VGA13", 0x2000531c},
+{"sys/consio.h", "SW_VGA_CG320", 0x2000531c},
+{"sys/consio.h", "SW_VGA_C80x50", 0x2000531e},
+{"sys/consio.h", "SW_VGA_M80x50", 0x2000531f},
+{"sys/consio.h", "SW_VGA_C80x30", 0x20005320},
+{"sys/consio.h", "SW_VGA_M80x30", 0x20005321},
+{"sys/consio.h", "SW_VGA_C80x60", 0x20005322},
+{"sys/consio.h", "SW_VGA_M80x60", 0x20005323},
+{"sys/consio.h", "SW_VGA_CG640", 0x20005324},
+{"sys/consio.h", "SW_VGA_MODEX", 0x20005325},
+{"sys/consio.h", "SW_VGA_C90x25", 0x20005328},
+{"sys/consio.h", "SW_VGA_M90x25", 0x20005329},
+{"sys/consio.h", "SW_VGA_C90x30", 0x2000532a},
+{"sys/consio.h", "SW_VGA_M90x30", 0x2000532b},
+{"sys/consio.h", "SW_VGA_C90x43", 0x2000532c},
+{"sys/consio.h", "SW_VGA_M90x43", 0x2000532d},
+{"sys/consio.h", "SW_VGA_C90x50", 0x2000532e},
+{"sys/consio.h", "SW_VGA_M90x50", 0x2000532f},
+{"sys/consio.h", "SW_VGA_C90x60", 0x20005330},
+{"sys/consio.h", "SW_VGA_M90x60", 0x20005331},
+{"sys/consio.h", "SW_PC98_80x25", 0x20005362},
+{"sys/consio.h", "SW_PC98_80x30", 0x20005363},
+{"sys/consio.h", "SW_ENH_B80x43", 0x20005370},
+{"sys/consio.h", "SW_ENH_C80x43", 0x20005371},
+{"sys/consio.h", "SW_TEXT_80x25", 0x200053c8},
+{"sys/consio.h", "SW_TEXT_80x30", 0x200053c9},
+{"sys/consio.h", "SW_TEXT_80x43", 0x200053ca},
+{"sys/consio.h", "SW_TEXT_80x50", 0x200053cb},
+{"sys/consio.h", "SW_TEXT_80x60", 0x200053cc},
+{"sys/consio.h", "SW_TEXT_132x25", 0x200053cd},
+{"sys/consio.h", "SW_TEXT_132x30", 0x200053ce},
+{"sys/consio.h", "SW_TEXT_132x43", 0x200053cf},
+{"sys/consio.h", "SW_TEXT_132x50", 0x200053d0},
+{"sys/consio.h", "SW_TEXT_132x60", 0x200053d1},
+{"sys/consio.h", "SW_MCAMODE", 0x200053ff},
+{"machine/soundcard.h", "SNDCTL_TMR_START", 0x20005402},
+{"sys/soundcard.h", "SNDCTL_TMR_START", 0x20005402},
+{"sys/soundcard.h", "SNDCTL_TMR_STOP", 0x20005403},
+{"machine/soundcard.h", "SNDCTL_TMR_STOP", 0x20005403},
+{"machine/soundcard.h", "SNDCTL_TMR_CONTINUE", 0x20005404},
+{"sys/soundcard.h", "SNDCTL_TMR_CONTINUE", 0x20005404},
+{"dev/usb/usb.h", "USB_DISCOVER", 0x20005503},
+{"sys/consio.h", "SW_VESA_CG640x400", 0x20005600},
+{"sys/consio.h", "SW_VESA_CG640x480", 0x20005601},
+{"sys/consio.h", "SW_VESA_800x600", 0x20005602},
+{"sys/consio.h", "SW_VESA_CG800x600", 0x20005603},
+{"sys/consio.h", "SW_VESA_1024x768", 0x20005604},
+{"sys/consio.h", "SW_VESA_CG1024x768", 0x20005605},
+{"sys/consio.h", "SW_VESA_1280x1024", 0x20005606},
+{"sys/consio.h", "SW_VESA_CG1280x1024", 0x20005607},
+{"sys/consio.h", "SW_VESA_C80x60", 0x20005608},
+{"sys/consio.h", "SW_VESA_C132x25", 0x20005609},
+{"sys/consio.h", "SW_VESA_C132x43", 0x2000560a},
+{"sys/consio.h", "SW_VESA_C132x50", 0x2000560b},
+{"sys/consio.h", "SW_VESA_C132x60", 0x2000560c},
+{"sys/consio.h", "SW_VESA_32K_320", 0x2000560d},
+{"sys/consio.h", "SW_VESA_64K_320", 0x2000560e},
+{"sys/consio.h", "SW_VESA_FULL_320", 0x2000560f},
+{"sys/consio.h", "SW_VESA_32K_640", 0x20005610},
+{"sys/consio.h", "SW_VESA_64K_640", 0x20005611},
+{"sys/consio.h", "SW_VESA_FULL_640", 0x20005612},
+{"sys/consio.h", "SW_VESA_32K_800", 0x20005613},
+{"sys/consio.h", "SW_VESA_64K_800", 0x20005614},
+{"sys/consio.h", "SW_VESA_FULL_800", 0x20005615},
+{"sys/consio.h", "SW_VESA_32K_1024", 0x20005616},
+{"sys/consio.h", "SW_VESA_64K_1024", 0x20005617},
+{"sys/consio.h", "SW_VESA_FULL_1024", 0x20005618},
+{"sys/consio.h", "SW_VESA_32K_1280", 0x20005619},
+{"sys/consio.h", "SW_VESA_64K_1280", 0x2000561a},
+{"sys/consio.h", "SW_VESA_FULL_1280", 0x2000561b},
+{"sys/wormio.h", "WORMIOCFINISHTRACK", 0x20005717},
+{"sys/consio.h", "CONS_IO", 0x20006303},
+{"sys/cdio.h", "CDIOCSETMONO", 0x2000630c},
+{"sys/cdio.h", "CDIOCSETSTERIO", 0x2000630d},
+{"sys/cdio.h", "CDIOCSETSTEREO", 0x2000630d},
+{"sys/cdio.h", "CDIOCSETMUTE", 0x2000630e},
+{"sys/cdio.h", "CDIOCSETLEFT", 0x2000630f},
+{"sys/cdio.h", "CDIOCSETRIGHT", 0x20006310},
+{"sys/cdio.h", "CDIOCSETDEBUG", 0x20006311},
+{"sys/cdio.h", "CDIOCCLRDEBUG", 0x20006312},
+{"sys/cdio.h", "CDIOCPAUSE", 0x20006313},
+{"sys/cdio.h", "CDIOCRESUME", 0x20006314},
+{"sys/cdio.h", "CDIOCRESET", 0x20006315},
+{"sys/cdio.h", "CDIOCSTART", 0x20006316},
+{"sys/cdio.h", "CDIOCSTOP", 0x20006317},
+{"sys/cdio.h", "CDIOCEJECT", 0x20006318},
+{"sys/cdio.h", "CDIOCALLOW", 0x2000631a},
+{"sys/cdio.h", "CDIOCPREVENT", 0x2000631b},
+{"sys/cdio.h", "CDIOCCLOSE", 0x2000631c},
+{"sys/wormio.h", "CDRIOCBLANK", 0x20006364},
+{"sys/cdrio.h", "CDRIOCBLANK", 0x20006364},
+{"sys/cdrio.h", "CDRIOCOPENDISK", 0x20006366},
+{"sys/cdrio.h", "CDRIOCCLOSEDISK", 0x20006367},
+{"sys/consio.h", "CONS_SETWINORG", 0x20006368},
+{"sys/cdrio.h", "CDRIOCCLOSETRACK", 0x20006369},
+{"sys/consio.h", "CONS_SETKBD", 0x2000636e},
+{"sys/consio.h", "CONS_RELKBD", 0x2000636f},
+{"sys/filio.h", "FIOCLEX", 0x20006601},
+{"sys/filio.h", "FIONCLEX", 0x20006602},
+{"machine/iic.h", "I2CSTOP", 0x20006902},
+{"sys/mtio.h", "MTIOCIEOT", 0x20006d03},
+{"sys/mtio.h", "MTIOCEEOT", 0x20006d04},
+{"machine/spigot.h", "SPIGOT_IOPL_ON", 0x20007306},
+{"machine/spigot.h", "SPIGOT_IOPL_OFF", 0x20007307},
+{"machine/cdk.h", "STL_BINTR", 0x20007314},
+{"machine/cdk.h", "STL_BSTART", 0x20007315},
+{"machine/cdk.h", "STL_BSTOP", 0x20007316},
+{"machine/cdk.h", "STL_BRESET", 0x20007317},
+{"sys/ioctl_compat.h", "TIOCHPCL", 0x20007402},
+{"sys/ttycom.h", "TIOCEXCL", 0x2000740d},
+{"sys/ttycom.h", "TIOCNXCL", 0x2000740e},
+{"net/if_ppp.h", "PPPIOCXFERUNIT", 0x2000744e},
+{"sys/ttycom.h", "TIOCDRAIN", 0x2000745e},
+{"sys/ttycom.h", "TIOCSIG", 0x2000745f},
+{"net/if_tun.h", "TUNSIFPID", 0x2000745f},
+{"sys/ttycom.h", "TIOCSCTTY", 0x20007461},
+{"sys/ioctl_compat.h", "OTIOCCONS", 0x20007462},
+{"sys/ttycom.h", "TIOCSTAT", 0x20007465},
+{"sys/ttycom.h", "TIOCSTART", 0x2000746e},
+{"sys/ttycom.h", "TIOCSTOP", 0x2000746f},
+{"sys/ttycom.h", "TIOCNOTTY", 0x20007471},
+{"sys/ttycom.h", "TIOCCDTR", 0x20007478},
+{"machine/pcvt_ioctl.h", "CONSOLE_X_MODE_ON", 0x20007479},
+{"sys/ttycom.h", "TIOCSDTR", 0x20007479},
+{"machine/pcvt_ioctl.h", "CONSOLE_X_MODE_OFF", 0x2000747a},
+{"sys/ttycom.h", "TIOCCBRK", 0x2000747a},
+{"sys/ttycom.h", "TIOCSBRK", 0x2000747b},
+{"sys/consio.h", "VT_RELDISP", 0x20007604},
+{"machine/pcvt_ioctl.h", "VT_RELDISP", 0x20007604},
+{"sys/consio.h", "VT_ACTIVATE", 0x20007605},
+{"machine/pcvt_ioctl.h", "VT_ACTIVATE", 0x20007605},
+{"sys/consio.h", "VT_WAITACTIVE", 0x20007606},
+{"machine/pcvt_ioctl.h", "VT_WAITACTIVE", 0x20007606},
+{"machine/ioctl_ctx.h", "CTX_LIVE", 0x20007801},
+{"machine/ioctl_ctx.h", "CTX_GRAB", 0x20007802},
+{"machine/ioctl_ctx.h", "CTX_H_ORGANIZE", 0x20007803},
+{"machine/ioctl_ctx.h", "CTX_V_ORGANIZE", 0x20007804},
+{"cam/scsi/scsi_ses.h", "SESIOC_GETNOBJ", 0x20530001},
+{"cam/scsi/scsi_ses.h", "SESIOC_GETOBJMAP", 0x20530002},
+{"cam/scsi/scsi_ses.h", "SESIOC_GETENCSTAT", 0x20530003},
+{"cam/scsi/scsi_ses.h", "SESIOC_SETENCSTAT", 0x20530004},
+{"cam/scsi/scsi_ses.h", "SESIOC_GETOBJSTAT", 0x20530005},
+{"cam/scsi/scsi_ses.h", "SESIOC_SETOBJSTAT", 0x20530006},
+{"cam/scsi/scsi_ses.h", "SESIOC_GETTEXT", 0x20530007},
+{"cam/scsi/scsi_ses.h", "SESIOC_INIT", 0x20530008},
+{"machine/ioctl_meteor.h", "METEORGHUE", 0x40017806},
+{"machine/ioctl_meteor.h", "METEORGCHCV", 0x40017809},
+{"machine/ioctl_meteor.h", "METEORGBRIG", 0x4001780e},
+{"machine/ioctl_meteor.h", "METEORGCSAT", 0x4001780f},
+{"machine/ioctl_meteor.h", "METEORGCONT", 0x40017810},
+{"machine/ioctl_meteor.h", "METEORGHWS", 0x40017812},
+{"machine/ioctl_meteor.h", "METEORGVWS", 0x40017813},
+{"machine/ioctl_meteor.h", "METEORGTS", 0x40017814},
+{"machine/ioctl_bt848.h", "RADIO_GETMODE", 0x4001783a},
+{"machine/random.h", "MEM_RETURNIRQ", 0x40027203},
+{"machine/ioctl_meteor.h", "METEORSTATUS", 0x40027805},
+{"machine/ioctl_meteor.h", "METEORGFPS", 0x4002780b},
+{"machine/ioctl_meteor.h", "METEORGBT254", 0x40027811},
+{"machine/ioctl_bt848.h", "REMOTE_GETKEY", 0x40037847},
+{"sys/timepps.h", "PPS_IOC_GETCAP", 0x40043105},
+{"machine/i4b_tel_ioctl.h", "I4B_TEL_GETAUDIOFMT", 0x40044100},
+{"sys/dataacq.h", "AD_MICRO_PERIOD_GET", 0x40044102},
+{"sys/dataacq.h", "AD_NGAINS_GET", 0x40044103},
+{"sys/dataacq.h", "AD_NCHANS_GET", 0x40044104},
+{"machine/soundcard.h", "AIONWRITE", 0x4004410a},
+{"sys/soundcard.h", "AIONWRITE", 0x4004410a},
+{"net/bpf.h", "BIOCGBLEN", 0x40044266},
+{"net/bpf.h", "BIOCGDLT", 0x4004426a},
+{"net/bpf.h", "BIOCVERSION", 0x40044271},
+{"net/bpf.h", "BIOCGRSIG", 0x40044272},
+{"net/bpf.h", "BIOCGHDRCMPLT", 0x40044274},
+{"net/bpf.h", "BIOCGSEESENT", 0x40044276},
+{"cam/scsi/scsi_targetio.h", "TARGIOCFETCHEXCEPTION", 0x40044301},
+{"sys/fbio.h", "FBIOGVIDEO", 0x40044608},
+{"sys/fbio.h", "FBIOGCURMAX", 0x4004461c},
+{"machine/ioctl_fd.h", "FD_GOPTS", 0x40044640},
+{"sys/fbio.h", "FBIO_ADAPTER", 0x40044664},
+{"sys/fbio.h", "FBIO_ADPTYPE", 0x40044665},
+{"sys/fbio.h", "FBIO_GETMODE", 0x40044669},
+{"sys/fbio.h", "FBIO_GETWINORG", 0x4004466b},
+{"sys/fbio.h", "FBIO_GETLINEWIDTH", 0x4004466f},
+{"machine/joystick.h", "JOY_GETTIMEOUT", 0x40044a02},
+{"sys/joystick.h", "JOY_GETTIMEOUT", 0x40044a02},
+{"machine/joystick.h", "JOY_GET_X_OFFSET", 0x40044a05},
+{"sys/joystick.h", "JOY_GET_X_OFFSET", 0x40044a05},
+{"machine/joystick.h", "JOY_GET_Y_OFFSET", 0x40044a06},
+{"sys/joystick.h", "JOY_GET_Y_OFFSET", 0x40044a06},
+{"machine/pcvt_ioctl.h", "KBDGTPMAT", 0x40044b02},
+{"machine/pcvt_ioctl.h", "KBDGREPSW", 0x40044b04},
+{"machine/pcvt_ioctl.h", "KBDGLEDS", 0x40044b06},
+{"sys/kbio.h", "KDGKBMODE", 0x40044b06},
+{"machine/pcvt_ioctl.h", "KBDGLOCK", 0x40044b08},
+{"sys/consio.h", "KDGETMODE", 0x40044b09},
+{"sys/kbio.h", "KDGKBSTATE", 0x40044b13},
+{"sys/kbio.h", "KDGKBTYPE", 0x40044b40},
+{"sys/kbio.h", "KDGETLED", 0x40044b41},
+{"machine/pcvt_ioctl.h", "KDGETLED", 0x40044b41},
+{"machine/mouse.h", "MOUSE_GETLEVEL", 0x40044d04},
+{"machine/soundcard.h", "SOUND_PCM_READ_RATE", 0x40045002},
+{"sys/soundcard.h", "SOUND_PCM_READ_RATE", 0x40045002},
+{"machine/soundcard.h", "SNDCTL_DSP_GETBLKSIZE", 0x40045004},
+{"sys/soundcard.h", "SNDCTL_DSP_GETBLKSIZE", 0x40045004},
+{"sys/soundcard.h", "SOUND_PCM_READ_BITS", 0x40045005},
+{"machine/soundcard.h", "SOUND_PCM_READ_BITS", 0x40045005},
+{"sys/soundcard.h", "SOUND_PCM_READ_CHANNELS", 0x40045006},
+{"machine/soundcard.h", "SOUND_PCM_READ_CHANNELS", 0x40045006},
+{"machine/soundcard.h", "SOUND_PCM_READ_FILTER", 0x40045007},
+{"sys/soundcard.h", "SOUND_PCM_READ_FILTER", 0x40045007},
+{"machine/soundcard.h", "SNDCTL_DSP_GETFMTS", 0x4004500b},
+{"sys/soundcard.h", "SNDCTL_DSP_GETFMTS", 0x4004500b},
+{"machine/soundcard.h", "SNDCTL_DSP_GETCAPS", 0x4004500f},
+{"sys/soundcard.h", "SNDCTL_DSP_GETCAPS", 0x4004500f},
+{"sys/soundcard.h", "SNDCTL_DSP_GETTRIGGER", 0x40045010},
+{"machine/soundcard.h", "SNDCTL_DSP_GETTRIGGER", 0x40045010},
+{"sys/soundcard.h", "SNDCTL_DSP_GETODELAY", 0x40045017},
+{"machine/soundcard.h", "SNDCTL_DSP_GETODELAY", 0x40045017},
+{"machine/soundcard.h", "SNDCTL_SEQ_GETOUTCOUNT", 0x40045104},
+{"sys/soundcard.h", "SNDCTL_SEQ_GETOUTCOUNT", 0x40045104},
+{"machine/soundcard.h", "SNDCTL_SEQ_GETINCOUNT", 0x40045105},
+{"sys/soundcard.h", "SNDCTL_SEQ_GETINCOUNT", 0x40045105},
+{"sys/soundcard.h", "SNDCTL_SEQ_NRSYNTHS", 0x4004510a},
+{"machine/soundcard.h", "SNDCTL_SEQ_NRSYNTHS", 0x4004510a},
+{"sys/soundcard.h", "SNDCTL_SEQ_NRMIDIS", 0x4004510b},
+{"machine/soundcard.h", "SNDCTL_SEQ_NRMIDIS", 0x4004510b},
+{"machine/gsc.h", "GSC_GRES", 0x40045301},
+{"machine/asc_ioctl.h", "ASC_GRES", 0x40045301},
+{"machine/asc_ioctl.h", "ASC_GWIDTH", 0x40045303},
+{"machine/gsc.h", "GSC_GWIDTH", 0x40045303},
+{"machine/asc_ioctl.h", "ASC_GHEIGHT", 0x40045305},
+{"machine/gsc.h", "GSC_GHEIGHT", 0x40045305},
+{"machine/asc_ioctl.h", "ASC_GBLEN", 0x40045307},
+{"machine/gsc.h", "GSC_GBLEN", 0x40045307},
+{"machine/gsc.h", "GSC_GBTIME", 0x40045309},
+{"machine/asc_ioctl.h", "ASC_GBTIME", 0x40045309},
+{"machine/i4b_trace.h", "I4B_TRC_GET", 0x40045400},
+{"sys/ptio.h", "PTIOCGETTIMEOUT", 0x40045401},
+{"sys/snoop.h", "SNPGTTY", 0x40045459},
+{"dev/usb/usb.h", "USB_GET_CONFIG", 0x40045564},
+{"dev/usb/usb.h", "USB_GET_CM_OVER_DATA", 0x40045582},
+{"sys/wormio.h", "WORMIOERROR", 0x40045718},
+{"sys/wormio.h", "WORMIOCREADSESSIONINFO", 0x4004571f},
+{"sys/consio.h", "GIO_ATTR", 0x40046100},
+{"sys/consio.h", "GIO_COLOR", 0x40046300},
+{"sys/consio.h", "CONS_CURRENT", 0x40046301},
+{"sys/consio.h", "CONS_GET", 0x40046302},
+{"sys/cdio.h", "CDIOREADTOCHEADER", 0x40046304},
+{"sys/chio.h", "CHIOGPICKER", 0x40046304},
+{"sys/cdio.h", "CDIOCGETVOL", 0x4004630a},
+{"sys/consio.h", "CONS_IDLE", 0x4004630b},
+{"sys/consio.h", "CONS_GETVERS", 0x4004634a},
+{"sys/consio.h", "CONS_CURRENTADP", 0x40046364},
+{"sys/cdrio.h", "CDRIOCNEXTWRITEABLEADDR", 0x40046365},
+{"sys/wormio.h", "CDRIOCNEXTWRITEABLEADDR", 0x40046365},
+{"sys/cdrio.h", "CDRIOCGETBLOCKSIZE", 0x4004636b},
+{"sys/filio.h", "FIOGETLBA", 0x40046679},
+{"sys/filio.h", "FIODTYPE", 0x4004667a},
+{"sys/filio.h", "FIOGETOWN", 0x4004667b},
+{"sys/filio.h", "FIONREAD", 0x4004667f},
+{"sys/mtio.h", "MTIOCRDSPOS", 0x40046d05},
+{"sys/mtio.h", "MTIOCRDHPOS", 0x40046d06},
+{"sys/mtio.h", "MTIOCGETEOTMODEL", 0x40046d08},
+{"nwfs/nwfs.h", "NWFSIOC_GETCONN", 0x40046e01},
+{"nwfs/nwfs.h", "NWFSIOC_GETNS", 0x40046e03},
+{"sys/pioctl.h", "PIOCGFL", 0x40047007},
+{"netinet/ip_fil.h", "SIOCGETFF", 0x4004723f},
+{"netinet/ip_fil.h", "SIOCIPFFB", 0x40047242},
+{"netinet/ip_fil.h", "SIOCSWAPA", 0x40047245},
+{"sys/sockio.h", "SIOCGHIWAT", 0x40047301},
+{"sys/sockio.h", "SIOCGLOWAT", 0x40047303},
+{"sys/sockio.h", "SIOCATMARK", 0x40047307},
+{"sys/sockio.h", "SIOCGPGRP", 0x40047309},
+{"machine/cdk.h", "STL_GETPFLAG", 0x40047350},
+{"sys/ioctl_compat.h", "OTIOCGETD", 0x40047400},
+{"sys/ttycom.h", "TIOCMODG", 0x40047403},
+{"sys/ttycom.h", "TIOCGETD", 0x4004741a},
+{"net/if_ppp.h", "PPPIOCGMTU", 0x40047449},
+{"net/slip.h", "SLIOCGOUTFILL", 0x40047451},
+{"net/slip.h", "SLIOCGKEEPAL", 0x40047452},
+{"net/if_ppp.h", "PPPIOCGMRU", 0x40047453},
+{"net/if_ppp.h", "PPPIOCGRASYNCMAP", 0x40047455},
+{"sys/ttycom.h", "TIOCGDRAINWAIT", 0x40047456},
+{"net/if_ppp.h", "PPPIOCGUNIT", 0x40047456},
+{"net/slip.h", "SLIOCGUNIT", 0x40047458},
+{"net/if_ppp.h", "PPPIOCGASYNCMAP", 0x40047458},
+{"net/if_tun.h", "TUNGDEBUG", 0x40047459},
+{"net/if_ppp.h", "PPPIOCGFLAGS", 0x4004745a},
+{"sys/ttycom.h", "TIOCMGDTRWAIT", 0x4004745a},
+{"net/if_tun.h", "TUNGIFHEAD", 0x40047461},
+{"sys/ttycom.h", "TIOCMGET", 0x4004746a},
+{"sys/ttycom.h", "TIOCOUTQ", 0x40047473},
+{"sys/ttycom.h", "TIOCGPGRP", 0x40047477},
+{"sys/ioctl_compat.h", "TIOCLGET", 0x4004747c},
+{"sys/consio.h", "VT_OPENQRY", 0x40047601},
+{"machine/pcvt_ioctl.h", "VT_OPENQRY", 0x40047601},
+{"machine/pcvt_ioctl.h", "VT_GETACTIVE", 0x40047607},
+{"sys/consio.h", "VT_GETACTIVE", 0x40047607},
+{"sys/consio.h", "VT_GETINDEX", 0x40047608},
+{"machine/ioctl_meteor.h", "METEORGFMT", 0x40047807},
+{"machine/ioctl_meteor.h", "METEORGINPUT", 0x40047808},
+{"machine/ioctl_meteor.h", "METEORGSIGNAL", 0x4004780c},
+{"machine/ioctl_bt848.h", "TVTUNER_GETCHNL", 0x40047820},
+{"machine/ioctl_bt848.h", "TVTUNER_GETTYPE", 0x40047821},
+{"machine/ioctl_bt848.h", "TVTUNER_GETSTATUS", 0x40047822},
+{"machine/ioctl_bt848.h", "TVTUNER_GETFREQ", 0x40047824},
+{"machine/ioctl_bt848.h", "BT848_GHUE", 0x40047825},
+{"machine/ioctl_bt848.h", "BT848_GBRIG", 0x40047826},
+{"machine/ioctl_bt848.h", "BT848_GCSAT", 0x40047827},
+{"machine/ioctl_bt848.h", "BT848_GCONT", 0x40047828},
+{"machine/ioctl_bt848.h", "BT848_GVSAT", 0x40047829},
+{"machine/ioctl_bt848.h", "BT848_GUSAT", 0x4004782a},
+{"machine/ioctl_bt848.h", "BT848_SCBARS", 0x4004782b},
+{"machine/ioctl_bt848.h", "BT848_CCBARS", 0x4004782c},
+{"machine/ioctl_bt848.h", "BT848_GAUDIO", 0x4004782f},
+{"machine/ioctl_bt848.h", "BT848_GSTATUS", 0x40047831},
+{"machine/ioctl_bt848.h", "TVTUNER_GETAFC", 0x40047836},
+{"machine/ioctl_bt848.h", "BT848_GLNOTCH", 0x40047838},
+{"machine/ioctl_bt848.h", "RADIO_GETFREQ", 0x4004783b},
+{"machine/ioctl_bt848.h", "METEORGACTPIXFMT", 0x40047840},
+{"machine/ioctl_bt848.h", "BT848GFMT", 0x40047843},
+{"machine/ioctl_bt848.h", "BT848GCBUF", 0x40047844},
+{"machine/ioctl_bt848.h", "BT848_GPIO_GET_EN", 0x40047849},
+{"machine/ioctl_bt848.h", "BT848_GPIO_GET_DATA", 0x4004784b},
+{"sys/ioctl_compat.h", "TIOCGETP", 0x40067408},
+{"sys/ioctl_compat.h", "TIOCGETC", 0x40067412},
+{"sys/ioctl_compat.h", "TIOCGLTC", 0x40067474},
+{"sys/soundcard.h", "AIOGSIZE", 0x4008410b},
+{"machine/soundcard.h", "AIOGSIZE", 0x4008410b},
+{"net/bpf.h", "BIOCGRTIMEOUT", 0x4008426e},
+{"net/bpf.h", "BIOCGSTATS", 0x4008426f},
+{"sys/fbio.h", "FBIO_GETDISPSTART", 0x4008466d},
+{"sys/kbio.h", "KDGETREPEAT", 0x40084b67},
+{"sys/soundcard.h", "SNDCTL_DSP_MAPINBUF", 0x40085013},
+{"machine/soundcard.h", "SNDCTL_DSP_MAPINBUF", 0x40085013},
+{"machine/soundcard.h", "SNDCTL_DSP_MAPOUTBUF", 0x40085014},
+{"sys/soundcard.h", "SNDCTL_DSP_MAPOUTBUF", 0x40085014},
+{"sys/chio.h", "CHIOGPARAMS", 0x40086306},
+{"machine/spigot.h", "SPIGOT_GET_INFO", 0x40087304},
+{"net/if_ppp.h", "PPPIOCGIDLE", 0x4008744a},
+{"sys/ttycom.h", "TIOCDCDTIMESTAMP", 0x40087458},
+{"sys/ttycom.h", "TIOCTIMESTAMP", 0x40087459},
+{"net/if_tun.h", "TUNGIFINFO", 0x4008745c},
+{"sys/ttycom.h", "TIOCGWINSZ", 0x40087468},
+{"machine/pcvt_ioctl.h", "VT_GETMODE", 0x40087603},
+{"sys/consio.h", "VT_GETMODE", 0x40087603},
+{"machine/i4b_ioctl.h", "I4B_VR_REQ", 0x400c3409},
+{"machine/perfmon.h", "PMIOTSTAMP", 0x400c3506},
+{"machine/i4b_tel_ioctl.h", "I4B_TEL_VR_REQ", 0x400c4103},
+{"sys/soundcard.h", "SNDCTL_DSP_GETIPTR", 0x400c5011},
+{"machine/soundcard.h", "SNDCTL_DSP_GETIPTR", 0x400c5011},
+{"machine/soundcard.h", "SNDCTL_DSP_GETOPTR", 0x400c5012},
+{"sys/soundcard.h", "SNDCTL_DSP_GETOPTR", 0x400c5012},
+{"machine/i4b_rbch_ioctl.h", "I4B_RBCH_VR_REQ", 0x400c5202},
+{"sys/cdio.h", "CDIOCCAPABILITY", 0x400c631e},
+{"machine/ioctl_meteor.h", "METEORGETGEO", 0x400c7804},
+{"machine/i4b_debug.h", "I4B_CTL_GET_DEBUG", 0x40104300},
+{"machine/soundcard.h", "SNDCTL_DSP_GETOSPACE", 0x4010500c},
+{"sys/soundcard.h", "SNDCTL_DSP_GETOSPACE", 0x4010500c},
+{"machine/soundcard.h", "SNDCTL_DSP_GETISPACE", 0x4010500d},
+{"sys/soundcard.h", "SNDCTL_DSP_GETISPACE", 0x4010500d},
+{"dev/usb/usb.h", "USB_DEVICESTATS", 0x40105505},
+{"machine/soundcard.h", "AIOGFMT", 0x4010660c},
+{"sys/soundcard.h", "AIOGFMT", 0x4010660c},
+{"machine/ioctl_meteor.h", "METEORGVIDEO", 0x4010780d},
+{"machine/ioctl_bt848.h", "BT848_GCAPAREA", 0x40107845},
+{"dev/usb/usb.h", "USB_GET_DEVICE_DESC", 0x40125569},
+{"machine/pcvt_ioctl.h", "KBDMOUSEGET", 0x40144b19},
+{"machine/mouse.h", "MOUSE_GETHWINFO", 0x40144d01},
+{"sys/pioctl.h", "PIOCWAIT", 0x40147004},
+{"sys/pioctl.h", "PIOCSTATUS", 0x40147006},
+{"machine/ioctl_meteor.h", "METEORGCOUNT", 0x4014780a},
+{"sys/fbio.h", "FBIOGTYPE", 0x40184600},
+{"machine/mouse.h", "MOUSE_GETSTATUS", 0x40184d00},
+{"pccard/cardinfo.h", "PIOCGSTATE", 0x40185001},
+{"machine/apm_bios.h", "APMIO_GETINFO_OLD", 0x40185002},
+{"machine/mouse.h", "MOUSE_GETMODE", 0x401c4d02},
+{"sys/timepps.h", "PPS_IOC_GETPARAMS", 0x40203104},
+{"net/bpf.h", "BIOCGETIF", 0x4020426b},
+{"netinet/ip_nat.h", "SIOCGFRST", 0x40207254},
+{"net/if_ppp.h", "PPPIOCGXASYNCMAP", 0x40207450},
+{"sys/kbio.h", "KDGKBINFO", 0x40244b65},
+{"machine/apm_bios.h", "APMIO_NEXTEVENT", 0x40284164},
+{"netgraph/ng_message.h", "NGIOCGINFO", 0x40284e28},
+{"machine/ioctl_fd.h", "FD_GTYPE", 0x402c463e},
+{"sys/ttycom.h", "TIOCGETA", 0x402c7413},
+{"netinet/ip_nat.h", "SIOCGIPST", 0x40387255},
+{"machine/mouse.h", "MOUSE_GETVARS", 0x40404d06},
+{"machine/apm_bios.h", "APMIO_GETINFO", 0x4040500b},
+{"netinet/ip_nat.h", "SIOCGNATS", 0x40407252},
+{"sys/mtio.h", "MTIOCGET", 0x404c6d02},
+{"sys/fbio.h", "FBIOGATTR", 0x40584606},
+{"machine/pcaudioio.h", "AUDIO_GETINFO", 0x40844101},
+{"cam/scsi/scsi_targetio.h", "TARGIOCFETCHATIO", 0x409c4303},
+{"sys/fbio.h", "FBIO_ADPINFO", 0x40a44666},
+{"sys/consio.h", "GIO_SCRNMAP", 0x41006b02},
+{"sys/mtio.h", "MTIOCERRSTAT", 0x41006d07},
+{"machine/ioctl_ctx.h", "CTX_GET_LUT", 0x41007806},
+{"netinet/ip_fil.h", "SIOCGETFS", 0x410c7240},
+{"sys/disklabel.h", "DIOCGDINFO", 0x41146465},
+{"nwfs/nwfs.h", "NWFSIOC_GETEINFO", 0x414d6e02},
+{"dev/usb/usb.h", "USB_GET_DEVICEINFO", 0x41585570},
+{"dev/usb/usb.h", "USB_GET_REPORT_DESC", 0x44045515},
+{"sys/kbio.h", "GIO_DEADKEYMAP", 0x462a6b08},
+{"machine/ioctl_bt848.h", "BT848GCLIP", 0x46407842},
+{"sys/diskslice.h", "DIOCGSLICEINFO", 0x471c646f},
+{"sys/consio.h", "GIO_FONT8x8", 0x48006341},
+{"machine/pcvt_ioctl.h", "GIO_KEYMAP", 0x4a026b06},
+{"sys/kbio.h", "GIO_KEYMAP", 0x4a026b06},
+{"sys/consio.h", "GIO_FONT8x14", 0x4e006343},
+{"machine/soundcard.h", "SNDCTL_COPR_RCVMSG", 0x4fa44309},
+{"sys/soundcard.h", "SNDCTL_COPR_RCVMSG", 0x4fa44309},
+{"sys/consio.h", "GIO_FONT8x16", 0x50006345},
+{"sys/pioctl.h", "PIOCBIS", 0x80007001},
+{"sys/pioctl.h", "PIOCBIC", 0x80007002},
+{"sys/pioctl.h", "PIOCSFL", 0x80007003},
+{"sys/pioctl.h", "PIOCCONT", 0x80007005},
+{"sys/ttycom.h", "TIOCSTI", 0x80017472},
+{"machine/ioctl_meteor.h", "METEORSHUE", 0x80017806},
+{"machine/ioctl_meteor.h", "METEORSCHCV", 0x80017809},
+{"machine/ioctl_meteor.h", "METEORSBRIG", 0x8001780e},
+{"machine/ioctl_meteor.h", "METEORSCSAT", 0x8001780f},
+{"machine/ioctl_meteor.h", "METEORSCONT", 0x80017810},
+{"machine/ioctl_meteor.h", "METEORSHWS", 0x80017812},
+{"machine/ioctl_meteor.h", "METEORSVWS", 0x80017813},
+{"machine/ioctl_meteor.h", "METEORSTS", 0x80017814},
+{"pccard/cardinfo.h", "PIOCSREG", 0x80025065},
+{"sys/cdio.h", "CDIOCPITCH", 0x8002631d},
+{"machine/random.h", "MEM_SETIRQ", 0x80027201},
+{"machine/random.h", "MEM_CLEARIRQ", 0x80027202},
+{"machine/ioctl_meteor.h", "METEORSFPS", 0x8002780b},
+{"machine/ioctl_meteor.h", "METEORSBT254", 0x80027811},
+{"machine/i4b_ioctl.h", "I4B_ALERT_REQ", 0x80043408},
+{"machine/perfmon.h", "PMIOSTART", 0x80043502},
+{"machine/perfmon.h", "PMIOSTOP", 0x80043503},
+{"machine/perfmon.h", "PMIORESET", 0x80043505},
+{"machine/i4b_tel_ioctl.h", "I4B_TEL_SETAUDIOFMT", 0x80044101},
+{"sys/dataacq.h", "AD_MICRO_PERIOD_SET", 0x80044101},
+{"machine/i4b_tel_ioctl.h", "I4B_TEL_EMPTYINPUTQUEUE", 0x80044102},
+{"net/bpf.h", "BIOCIMMEDIATE", 0x80044270},
+{"net/bpf.h", "BIOCSRSIG", 0x80044273},
+{"net/bpf.h", "BIOCSHDRCMPLT", 0x80044275},
+{"net/bpf.h", "BIOCSSEESENT", 0x80044277},
+{"cam/scsi/scsi_targetio.h", "TARGIOCCLEAREXCEPTION", 0x80044302},
+{"machine/i4b_debug.h", "I4B_CTL_CLR_LAPDSTAT", 0x80044305},
+{"sys/fbio.h", "FBIOSVIDEO", 0x80044607},
+{"sys/fbio.h", "FBIOSCURPOS", 0x8004461a},
+{"sys/fbio.h", "FBIOGCURPOS", 0x8004461b},
+{"machine/ioctl_fd.h", "FD_SOPTS", 0x80044641},
+{"machine/ioctl_fd.h", "FD_DEBUG", 0x80044642},
+{"sys/fbio.h", "FBIO_SETMODE", 0x8004466a},
+{"sys/fbio.h", "FBIO_SETWINORG", 0x8004466c},
+{"sys/fbio.h", "FBIO_SETLINEWIDTH", 0x80044670},
+{"machine/joystick.h", "JOY_SETTIMEOUT", 0x80044a01},
+{"sys/joystick.h", "JOY_SETTIMEOUT", 0x80044a01},
+{"machine/joystick.h", "JOY_SET_X_OFFSET", 0x80044a03},
+{"sys/joystick.h", "JOY_SET_X_OFFSET", 0x80044a03},
+{"machine/joystick.h", "JOY_SET_Y_OFFSET", 0x80044a04},
+{"sys/joystick.h", "JOY_SET_Y_OFFSET", 0x80044a04},
+{"machine/pcvt_ioctl.h", "KBDSTPMAT", 0x80044b03},
+{"machine/pcvt_ioctl.h", "KBDSREPSW", 0x80044b05},
+{"machine/pcvt_ioctl.h", "KBDSLEDS", 0x80044b07},
+{"machine/pcvt_ioctl.h", "KBDSLOCK", 0x80044b09},
+{"machine/pcvt_ioctl.h", "KBDRMKEY", 0x80044b13},
+{"machine/mouse.h", "MOUSE_SETLEVEL", 0x80044d05},
+{"sys/soundcard.h", "SNDCTL_DSP_SETBLKSIZE", 0x80045004},
+{"machine/soundcard.h", "SNDCTL_DSP_SETBLKSIZE", 0x80045004},
+{"pccard/cardinfo.h", "PIOCRWFLAG", 0x80045007},
+{"machine/apm_bios.h", "APMIO_DISPLAY", 0x80045009},
+{"pccard/cardinfo.h", "PIOCSVIR", 0x8004500a},
+{"pccard/cardinfo.h", "PIOCSBEEP", 0x8004500b},
+{"machine/soundcard.h", "SNDCTL_DSP_SETTRIGGER", 0x80045010},
+{"sys/soundcard.h", "SNDCTL_DSP_SETTRIGGER", 0x80045010},
+{"sys/soundcard.h", "SNDCTL_SEQ_PERCMODE", 0x80045106},
+{"machine/soundcard.h", "SNDCTL_SEQ_PERCMODE", 0x80045106},
+{"sys/soundcard.h", "SNDCTL_SEQ_TESTMIDI", 0x80045108},
+{"machine/soundcard.h", "SNDCTL_SEQ_TESTMIDI", 0x80045108},
+{"sys/soundcard.h", "SNDCTL_SEQ_RESETSAMPLES", 0x80045109},
+{"machine/soundcard.h", "SNDCTL_SEQ_RESETSAMPLES", 0x80045109},
+{"machine/soundcard.h", "SNDCTL_SEQ_THRESHOLD", 0x8004510d},
+{"sys/soundcard.h", "SNDCTL_SEQ_THRESHOLD", 0x8004510d},
+{"sys/soundcard.h", "SNDCTL_FM_4OP_ENABLE", 0x8004510f},
+{"machine/soundcard.h", "SNDCTL_FM_4OP_ENABLE", 0x8004510f},
+{"machine/gsc.h", "GSC_SRES", 0x80045302},
+{"machine/asc_ioctl.h", "ASC_SRES", 0x80045302},
+{"machine/asc_ioctl.h", "ASC_SWIDTH", 0x80045304},
+{"machine/gsc.h", "GSC_SWIDTH", 0x80045304},
+{"machine/asc_ioctl.h", "ASC_SHEIGHT", 0x80045306},
+{"machine/gsc.h", "GSC_SHEIGHT", 0x80045306},
+{"machine/asc_ioctl.h", "ASC_SBLEN", 0x80045308},
+{"machine/gsc.h", "GSC_SBLEN", 0x80045308},
+{"machine/asc_ioctl.h", "ASC_SBTIME", 0x8004530a},
+{"machine/gsc.h", "GSC_SBTIME", 0x8004530a},
+{"machine/i4b_trace.h", "I4B_TRC_SET", 0x80045401},
+{"sys/ptio.h", "PTIOCSETTIMEOUT", 0x80045402},
+{"machine/i4b_trace.h", "I4B_TRC_RESETA", 0x80045403},
+{"machine/soundcard.h", "SNDCTL_TMR_METRONOME", 0x80045407},
+{"sys/soundcard.h", "SNDCTL_TMR_METRONOME", 0x80045407},
+{"machine/soundcard.h", "SNDCTL_TMR_SELECT", 0x80045408},
+{"sys/soundcard.h", "SNDCTL_TMR_SELECT", 0x80045408},
+{"sys/snoop.h", "SNPSTTY", 0x8004545a},
+{"dev/usb/usb.h", "USB_SETDEBUG", 0x80045502},
+{"dev/usb/usb.h", "USB_SET_IMMED", 0x80045516},
+{"dev/usb/usb.h", "USB_SET_CONFIG", 0x80045565},
+{"dev/usb/usb.h", "USB_SET_SHORT_XFER", 0x80045571},
+{"dev/usb/usb.h", "USB_SET_TIMEOUT", 0x80045572},
+{"dev/usb/usb.h", "USB_SET_CM_OVER_DATA", 0x80045583},
+{"machine/pcvt_ioctl.h", "VGASCREENSAVER", 0x80045670},
+{"machine/pcvt_ioctl.h", "VGASETCOLMS", 0x80045673},
+{"sys/cdio.h", "CDIOCPLAYTRACKS", 0x80046301},
+{"sys/consio.h", "CONS_BLANKTIME", 0x80046304},
+{"sys/chio.h", "CHIOSPICKER", 0x80046305},
+{"sys/consio.h", "CONS_CURSORTYPE", 0x80046307},
+{"sys/chio.h", "CHIOIELEM", 0x80046307},
+{"sys/consio.h", "CONS_BELLTYPE", 0x80046308},
+{"sys/consio.h", "CONS_HISTORY", 0x80046309},
+{"sys/cdio.h", "CDIOCSETPATCH", 0x80046309},
+{"sys/cdio.h", "CDIOCSETVOL", 0x8004630b},
+{"sys/consio.h", "CONS_SAVERMODE", 0x8004630c},
+{"sys/consio.h", "CONS_SAVERSTART", 0x8004630d},
+{"sys/cdrio.h", "CDRIOCWRITESPEED", 0x8004636a},
+{"sys/cdrio.h", "CDRIOCSETBLOCKSIZE", 0x8004636c},
+{"sys/disklabel.h", "DIOCWLABEL", 0x8004646d},
+{"sys/diskslice.h", "DIOCSYNCSLICEINFO", 0x80046470},
+{"sys/filio.h", "FIOSETOWN", 0x8004667c},
+{"sys/filio.h", "FIOASYNC", 0x8004667d},
+{"sys/filio.h", "FIONBIO", 0x8004667e},
+{"sys/mtio.h", "MTIOCSLOCATE", 0x80046d05},
+{"sys/mtio.h", "MTIOCHLOCATE", 0x80046d06},
+{"sys/mtio.h", "MTIOCSETEOTMODEL", 0x80046d08},
+{"machine/lpt.h", "LPT_IRQ", 0x80047001},
+{"netinet/ip_fil.h", "SIOCSETFF", 0x8004723e},
+{"netinet/ip_fil.h", "SIOCFRENB", 0x80047248},
+{"netinet/ip_fil.h", "SIOCFRSYN", 0x80047249},
+{"sys/sockio.h", "SIOCSHIWAT", 0x80047300},
+{"sys/sockio.h", "SIOCSLOWAT", 0x80047302},
+{"machine/spigot.h", "SPIGOT_SETINT", 0x80047305},
+{"sys/sockio.h", "SIOCSPGRP", 0x80047308},
+{"machine/cdk.h", "STL_SETPFLAG", 0x80047351},
+{"sys/ioctl_compat.h", "OTIOCSETD", 0x80047401},
+{"sys/ttycom.h", "TIOCMODS", 0x80047404},
+{"sys/ttycom.h", "TIOCFLUSH", 0x80047410},
+{"sys/ttycom.h", "TIOCSETD", 0x8004741b},
+{"net/if_ppp.h", "PPPIOCSMTU", 0x80047448},
+{"net/slip.h", "SLIOCSUNIT", 0x80047450},
+{"net/if_ppp.h", "PPPIOCSMAXCID", 0x80047451},
+{"net/if_ppp.h", "PPPIOCSMRU", 0x80047452},
+{"net/slip.h", "SLIOCSOUTFILL", 0x80047453},
+{"net/slip.h", "SLIOCSKEEPAL", 0x80047454},
+{"net/if_ppp.h", "PPPIOCSRASYNCMAP", 0x80047454},
+{"sys/ttycom.h", "TIOCSDRAINWAIT", 0x80047457},
+{"net/if_ppp.h", "PPPIOCSASYNCMAP", 0x80047457},
+{"net/if_ppp.h", "PPPIOCSFLAGS", 0x80047459},
+{"net/if_tun.h", "TUNSDEBUG", 0x8004745a},
+{"sys/ttycom.h", "TIOCMSDTRWAIT", 0x8004745b},
+{"net/if_tun.h", "TUNSLMODE", 0x8004745d},
+{"net/if_tun.h", "TUNSIFMODE", 0x8004745e},
+{"net/if_tun.h", "TUNSIFHEAD", 0x80047460},
+{"sys/ttycom.h", "TIOCEXT", 0x80047460},
+{"sys/ttycom.h", "TIOCCONS", 0x80047462},
+{"sys/ttycom.h", "TIOCUCNTL", 0x80047466},
+{"sys/ttycom.h", "TIOCREMOTE", 0x80047469},
+{"sys/ttycom.h", "TIOCMBIC", 0x8004746b},
+{"sys/ttycom.h", "TIOCMBIS", 0x8004746c},
+{"sys/ttycom.h", "TIOCMSET", 0x8004746d},
+{"sys/ttycom.h", "TIOCPKT", 0x80047470},
+{"sys/ttycom.h", "TIOCSPGRP", 0x80047476},
+{"sys/ioctl_compat.h", "TIOCLSET", 0x8004747d},
+{"sys/ioctl_compat.h", "TIOCLBIC", 0x8004747e},
+{"sys/ioctl_compat.h", "TIOCLBIS", 0x8004747f},
+{"machine/ioctl_meteor.h", "METEORCAPTUR", 0x80047801},
+{"machine/ioctl_meteor.h", "METEORSFMT", 0x80047807},
+{"machine/ioctl_meteor.h", "METEORSINPUT", 0x80047808},
+{"machine/ioctl_meteor.h", "METEORSSIGNAL", 0x8004780c},
+{"machine/ioctl_bt848.h", "TVTUNER_SETCHNL", 0x80047820},
+{"machine/ioctl_bt848.h", "TVTUNER_SETTYPE", 0x80047821},
+{"machine/ioctl_bt848.h", "TVTUNER_SETFREQ", 0x80047823},
+{"machine/ioctl_bt848.h", "BT848_SHUE", 0x80047825},
+{"machine/ioctl_bt848.h", "BT848_SBRIG", 0x80047826},
+{"machine/ioctl_bt848.h", "BT848_SCSAT", 0x80047827},
+{"machine/ioctl_bt848.h", "BT848_SCONT", 0x80047828},
+{"machine/ioctl_bt848.h", "BT848_SVSAT", 0x80047829},
+{"machine/ioctl_bt848.h", "BT848_SUSAT", 0x8004782a},
+{"machine/ioctl_bt848.h", "BT848_SAUDIO", 0x8004782e},
+{"machine/ioctl_bt848.h", "BT848_SBTSC", 0x80047830},
+{"machine/ioctl_bt848.h", "TVTUNER_SETAFC", 0x80047835},
+{"machine/ioctl_bt848.h", "BT848_SLNOTCH", 0x80047837},
+{"machine/ioctl_bt848.h", "RADIO_SETMODE", 0x8004783a},
+{"machine/ioctl_bt848.h", "RADIO_SETFREQ", 0x8004783b},
+{"machine/ioctl_bt848.h", "METEORSACTPIXFMT", 0x80047840},
+{"machine/ioctl_bt848.h", "BT848SFMT", 0x80047843},
+{"machine/ioctl_bt848.h", "BT848SCBUF", 0x80047844},
+{"machine/ioctl_bt848.h", "BT848_GPIO_SET_EN", 0x80047848},
+{"machine/ioctl_bt848.h", "BT848_GPIO_SET_DATA", 0x8004784a},
+{"sys/chio.h", "CHIOPOSITION", 0x80066303},
+{"sys/cdio.h", "CDIOCPLAYMSF", 0x80066319},
+{"sys/ioctl_compat.h", "TIOCSETP", 0x80067409},
+{"sys/ioctl_compat.h", "TIOCSETN", 0x8006740a},
+{"sys/ioctl_compat.h", "TIOCSETC", 0x80067411},
+{"sys/ioctl_compat.h", "TIOCSLTC", 0x80067475},
+{"machine/ioctl_meteor.h", "METEORCAPFRM", 0x80067802},
+{"machine/i4b_ioctl.h", "I4B_DISCONNECT_REQ", 0x80083403},
+{"machine/i4b_ioctl.h", "I4B_PROT_IND", 0x8008340a},
+{"machine/perfmon.h", "PMIOSETUP", 0x80083501},
+{"net/bpf.h", "BIOCSETF", 0x80084267},
+{"net/bpf.h", "BIOCSRTIMEOUT", 0x8008426d},
+{"sys/fbio.h", "FBIO_SETDISPSTART", 0x8008466e},
+{"sys/kbio.h", "KDSETREPEAT", 0x80084b66},
+{"pccard/cardinfo.h", "PIOCSPOW", 0x80085009},
+{"sys/soundcard.h", "SNDCTL_SEQ_OUTOFBAND", 0x80085112},
+{"machine/soundcard.h", "SNDCTL_SEQ_OUTOFBAND", 0x80085112},
+{"machine/speaker.h", "SPKRTONE", 0x80085301},
+{"sys/wormio.h", "WORMIOCPREPDISK", 0x80085714},
+{"sys/wormio.h", "WORMIOCFIXATION", 0x80085716},
+{"sys/cdio.h", "CDIOCPLAYBLOCKS", 0x80086302},
+{"sys/disklabel.h", "DIOCGPART", 0x80086468},
+{"sys/mtio.h", "MTIOCTOP", 0x80086d01},
+{"net/if_ppp.h", "PPPIOCSACTIVE", 0x80087446},
+{"net/if_ppp.h", "PPPIOCSPASS", 0x80087447},
+{"net/if_ppp.h", "PPPIOCSNPMODE", 0x8008744b},
+{"net/if_tun.h", "TUNSIFINFO", 0x8008745b},
+{"sys/ttycom.h", "TIOCSWINSZ", 0x80087467},
+{"machine/pcvt_ioctl.h", "CONSOLE_X_BELL", 0x8008747b},
+{"sys/consio.h", "VT_SETMODE", 0x80087602},
+{"machine/pcvt_ioctl.h", "VT_SETMODE", 0x80087602},
+{"sys/chio.h", "CHIOMOVE", 0x800a6301},
+{"sys/timepps.h", "PPS_IOC_KCBIND", 0x800c3107},
+{"machine/i4b_ioctl.h", "I4B_UPDOWN_IND", 0x800c3407},
+{"machine/i4b_ioctl.h", "I4B_CTRL_DOWNLOAD", 0x800c3464},
+{"sys/consio.h", "KDRASTER", 0x800c4b64},
+{"machine/pcvt_ioctl.h", "VGACURSOR", 0x800c5664},
+{"sys/chio.h", "CHIOGSTATUS", 0x800c6308},
+{"sys/cdrio.h", "CDRIOCOPENTRACK", 0x800c6368},
+{"sys/kbio.h", "PIO_KEYMAPENT", 0x800c6b0b},
+{"sys/memrange.h", "MEMRANGE_SET", 0x800c6d33},
+{"net/if_ppp.h", "PPPIOCSCOMPRESS", 0x800c744d},
+{"machine/ioctl_meteor.h", "METEORSETGEO", 0x800c7803},
+{"sys/chio.h", "CHIOEXCHANGE", 0x800e6302},
+{"machine/i4b_ioctl.h", "I4B_DIALOUT_RESP", 0x80103405},
+{"machine/i4b_debug.h", "I4B_CTL_SET_DEBUG", 0x80104301},
+{"cam/scsi/scsi_targetio.h", "TARGCTLIOFREEUNIT", 0x80104308},
+{"netgraph/ng_message.h", "NGIOCSETNAME", 0x80104e29},
+{"pccard/cardinfo.h", "PIOCSIO", 0x80105005},
+{"machine/i4b_trace.h", "I4B_TRC_SETA", 0x80105402},
+{"machine/pcvt_ioctl.h", "VGAWRITEPEL", 0x8010566f},
+{"machine/iic.h", "I2CSTART", 0x80106901},
+{"machine/iic.h", "I2CRSTCARD", 0x80106903},
+{"machine/iic.h", "I2CWRITE", 0x80106904},
+{"machine/iic.h", "I2CREAD", 0x80106905},
+{"machine/ioctl_meteor.h", "METEORSVIDEO", 0x8010780d},
+{"machine/ioctl_bt848.h", "BT848_SCAPAREA", 0x80107845},
+{"machine/i4b_ioctl.h", "I4B_TIMEOUT_UPD", 0x80143406},
+{"machine/soundcard.h", "SNDCTL_COPR_WDATA", 0x80144304},
+{"sys/soundcard.h", "SNDCTL_COPR_WDATA", 0x80144304},
+{"sys/soundcard.h", "SNDCTL_COPR_WCODE", 0x80144305},
+{"machine/soundcard.h", "SNDCTL_COPR_WCODE", 0x80144305},
+{"sys/fbio.h", "FBIOPUTCMAP", 0x80144603},
+{"sys/fbio.h", "FBIOGETCMAP", 0x80144604},
+{"machine/pcvt_ioctl.h", "KBDMOUSESET", 0x80144b1a},
+{"pccard/cardinfo.h", "PIOCSMEM", 0x80145003},
+{"machine/pcvt_ioctl.h", "VGASETFONTATTR", 0x80145666},
+{"machine/smb.h", "SMB_QUICK_WRITE", 0x80146901},
+{"machine/smb.h", "SMB_QUICK_READ", 0x80146902},
+{"machine/smb.h", "SMB_SENDB", 0x80146903},
+{"machine/smb.h", "SMB_RECVB", 0x80146904},
+{"machine/smb.h", "SMB_WRITEB", 0x80146905},
+{"machine/smb.h", "SMB_WRITEW", 0x80146906},
+{"machine/smb.h", "SMB_READB", 0x80146907},
+{"machine/smb.h", "SMB_READW", 0x80146908},
+{"machine/smb.h", "SMB_PCALL", 0x80146909},
+{"machine/smb.h", "SMB_BWRITE", 0x8014690a},
+{"machine/smb.h", "SMB_BREAD", 0x8014690b},
+{"machine/ioctl_meteor.h", "METEORSCOUNT", 0x8014780a},
+{"machine/i4b_ioctl.h", "I4B_ACTIVE_DIAGNOSTIC", 0x80183466},
+{"netatm/atm_ioctl.h", "AIOCCFG", 0x80184180},
+{"sys/ccdvar.h", "CCDIOCCLR", 0x80184611},
+{"sys/fbio.h", "FBIO_GETPALETTE", 0x80184671},
+{"sys/fbio.h", "FBIO_SETPALETTE", 0x80184672},
+{"sys/consio.h", "CONS_SSAVER", 0x80186305},
+{"machine/mouse.h", "MOUSE_SETMODE", 0x801c4d03},
+{"sys/timepps.h", "PPS_IOC_SETPARAMS", 0x80203103},
+{"machine/i4b_ioctl.h", "I4B_CONNECT_RESP", 0x80203402},
+{"net/bpf.h", "BIOCSETIF", 0x8020426c},
+{"machine/i4b_debug.h", "I4B_CTL_CLR_HSCXSTAT", 0x80204303},
+{"sys/sockio.h", "SIOCSIFADDR", 0x8020690c},
+{"sys/sockio.h", "SIOCSIFDSTADDR", 0x8020690e},
+{"sys/sockio.h", "SIOCSIFFLAGS", 0x80206910},
+{"sys/sockio.h", "SIOCSIFBRDADDR", 0x80206913},
+{"sys/sockio.h", "SIOCSIFNETMASK", 0x80206916},
+{"sys/sockio.h", "SIOCSIFMETRIC", 0x80206918},
+{"sys/sockio.h", "SIOCDIFADDR", 0x80206919},
+{"sys/sockio.h", "SIOCADDMULTI", 0x80206931},
+{"sys/sockio.h", "SIOCDELMULTI", 0x80206932},
+{"sys/sockio.h", "SIOCSIFMTU", 0x80206934},
+{"sys/sockio.h", "SIOCSIFPHYS", 0x80206936},
+{"sys/sockio.h", "SIOCSIFGENERIC", 0x80206939},
+{"machine/if_wl_wavelan.h", "SIOCDWLCACHE", 0x80206940},
+{"machine/if_wl_wavelan.h", "SIOCSWLTHR", 0x80206941},
+{"netatalk/phase2.h", "SIOCPHASE1", 0x80206964},
+{"netatalk/phase2.h", "SIOCPHASE2", 0x80206965},
+{"net/if_ppp.h", "PPPIOCSXASYNCMAP", 0x8020744f},
+{"netatm/atm_ioctl.h", "AIOCDEL", 0x80244182},
+{"sys/wormio.h", "WORMIOCWRITESESSION", 0x80245720},
+{"sys/soundcard.h", "SNDCTL_FM_LOAD_INSTR", 0x80285107},
+{"machine/soundcard.h", "SNDCTL_FM_LOAD_INSTR", 0x80285107},
+{"sys/wormio.h", "WORMIOCPREPTRACK", 0x80285715},
+{"machine/i4b_rbch_ioctl.h", "I4B_RBCH_DIALOUT", 0x80295201},
+{"sys/chio.h", "CHIOSETVOLTAG", 0x802a6309},
+{"sys/fbio.h", "FBIOSCURSOR", 0x802c4618},
+{"machine/ioctl_fd.h", "FD_STYPE", 0x802c463f},
+{"machine/pcvt_ioctl.h", "VGALOADCHAR", 0x802c5665},
+{"sys/ttycom.h", "TIOCSETA", 0x802c7414},
+{"sys/ttycom.h", "TIOCSETAW", 0x802c7415},
+{"sys/ttycom.h", "TIOCSETAF", 0x802c7416},
+{"machine/pcvt_ioctl.h", "VGASETSCREEN", 0x80305668},
+{"sys/sockio.h", "SIOCADDRT", 0x8030720a},
+{"sys/sockio.h", "SIOCDELRT", 0x8030720b},
+{"cam/scsi/scsi_targetio.h", "TARGIOCSETISTATE", 0x80344305},
+{"netatm/atm_ioctl.h", "AIOCADD", 0x803c4181},
+{"machine/mouse.h", "MOUSE_SETVARS", 0x80404d07},
+{"sys/sockio.h", "SIOCAIFADDR", 0x8040691a},
+{"sys/sockio.h", "SIOCSIFPHYADDR", 0x80406946},
+{"netinet6/in6_var.h", "SIOCSIFPREFIX_IN6", 0x80406964},
+{"netinet6/in6_var.h", "SIOCDIFPREFIX_IN6", 0x80406966},
+{"netatm/atm_ioctl.h", "AIOCSET", 0x80484184},
+{"machine/pcvt_ioctl.h", "KBDSCKEY", 0x80484b11},
+{"netinet6/in6_var.h", "SIOCAIFPREFIX_IN6", 0x80606967},
+{"netinet6/in6_var.h", "SIOCCIFPREFIX_IN6", 0x80606968},
+{"netinet6/in6_var.h", "SIOCSGIFPREFIX_IN6", 0x80606969},
+{"sys/consio.h", "CONS_SETTERM", 0x80686371},
+{"netinet/ip_nat.h", "SIOCADNAT", 0x80707250},
+{"netinet/ip_nat.h", "SIOCRMNAT", 0x80707251},
+{"netinet6/in6_var.h", "SIOCAIFADDR_IN6", 0x8078691a},
+{"netinet6/in6_var.h", "SIOCSIFPHYADDR_IN6", 0x80786946},
+{"machine/i4b_ioctl.h", "I4B_CONNECT_REQ", 0x80843401},
+{"machine/cronyx.h", "CXIOCSETMODE", 0x80847802},
+{"sys/xrpuio.h", "XRPU_IOC_TIMECOUNTING", 0x80a03601},
+{"machine/ioctl_fd.h", "FD_FORM", 0x80a4463d},
+{"netinet/ip_fil.h", "SIOCADAFR", 0x80c0723c},
+{"netinet/ip_fil.h", "SIOCRMAFR", 0x80c0723d},
+{"netinet/ip_fil.h", "SIOCADIFR", 0x80c07243},
+{"netinet/ip_fil.h", "SIOCRMIFR", 0x80c07244},
+{"netinet/ip_fil.h", "SIOCINAFR", 0x80c07246},
+{"netinet/ip_fil.h", "SIOCINIFR", 0x80c07247},
+{"sys/consio.h", "PIO_SCRNMAP", 0x81006b03},
+{"machine/ioctl_ctx.h", "CTX_SET_LUT", 0x81007805},
+{"sys/disklabel.h", "DIOCSDINFO", 0x81146466},
+{"sys/disklabel.h", "DIOCWDINFO", 0x81146467},
+{"sys/sockio.h", "SIOCALIFADDR", 0x8118691b},
+{"sys/sockio.h", "SIOCDLIFADDR", 0x8118691d},
+{"netinet6/in6_var.h", "SIOCSIFADDR_IN6", 0x8120690c},
+{"netinet6/in6_var.h", "SIOCSIFDSTADDR_IN6", 0x8120690e},
+{"netinet6/in6_var.h", "SIOCSIFNETMASK_IN6", 0x81206916},
+{"netinet6/in6_var.h", "SIOCDIFADDR_IN6", 0x81206919},
+{"sys/kbio.h", "PIO_DEADKEYMAP", 0x862a6b09},
+{"machine/ioctl_bt848.h", "BT848SCLIP", 0x86407842},
+{"sys/consio.h", "PIO_FONT8x8", 0x88006340},
+{"sys/kbio.h", "PIO_KEYMAP", 0x8a026b07},
+{"sys/consio.h", "PIO_FONT8x14", 0x8e006342},
+{"sys/soundcard.h", "SNDCTL_COPR_SENDMSG", 0x8fa44308},
+{"machine/soundcard.h", "SNDCTL_COPR_SENDMSG", 0x8fa44308},
+{"sys/consio.h", "PIO_FONT8x16", 0x90006344},
+{"pccard/cardinfo.h", "PIOCGREG", 0xc0025064},
+{"machine/i4b_ioctl.h", "I4B_CDID_REQ", 0xc0043400},
+{"machine/soundcard.h", "AIOGMIX", 0xc004410d},
+{"sys/soundcard.h", "AIOGMIX", 0xc004410d},
+{"machine/soundcard.h", "AIOSMIX", 0xc004410e},
+{"sys/soundcard.h", "AIOSMIX", 0xc004410e},
+{"machine/soundcard.h", "AIOSTOP", 0xc004410f},
+{"sys/soundcard.h", "AIOSTOP", 0xc004410f},
+{"net/bpf.h", "BIOCSBLEN", 0xc0044266},
+{"sys/vnioctl.h", "VNIOCGSET", 0xc0044602},
+{"sys/vnioctl.h", "VNIOCGCLEAR", 0xc0044603},
+{"sys/vnioctl.h", "VNIOCUSET", 0xc0044604},
+{"sys/vnioctl.h", "VNIOCUCLEAR", 0xc0044605},
+{"machine/soundcard.h", "SNDCTL_DSP_SPEED", 0xc0045002},
+{"sys/soundcard.h", "SNDCTL_DSP_SPEED", 0xc0045002},
+{"sys/soundcard.h", "SNDCTL_DSP_STEREO", 0xc0045003},
+{"machine/soundcard.h", "SNDCTL_DSP_STEREO", 0xc0045003},
+{"machine/soundcard.h", "SNDCTL_DSP_SETFMT", 0xc0045005},
+{"sys/soundcard.h", "SNDCTL_DSP_SETFMT", 0xc0045005},
+{"machine/soundcard.h", "SOUND_PCM_WRITE_CHANNELS", 0xc0045006},
+{"sys/soundcard.h", "SOUND_PCM_WRITE_CHANNELS", 0xc0045006},
+{"machine/soundcard.h", "SOUND_PCM_WRITE_FILTER", 0xc0045007},
+{"sys/soundcard.h", "SOUND_PCM_WRITE_FILTER", 0xc0045007},
+{"pccard/cardinfo.h", "PIOCRWMEM", 0xc0045008},
+{"sys/soundcard.h", "SNDCTL_DSP_SUBDIVIDE", 0xc0045009},
+{"machine/soundcard.h", "SNDCTL_DSP_SUBDIVIDE", 0xc0045009},
+{"machine/soundcard.h", "SNDCTL_DSP_SETFRAGMENT", 0xc004500a},
+{"sys/soundcard.h", "SNDCTL_DSP_SETFRAGMENT", 0xc004500a},
+{"machine/soundcard.h", "SNDCTL_SEQ_CTRLRATE", 0xc0045103},
+{"sys/soundcard.h", "SNDCTL_SEQ_CTRLRATE", 0xc0045103},
+{"sys/soundcard.h", "SNDCTL_SYNTH_MEMAVL", 0xc004510e},
+{"machine/soundcard.h", "SNDCTL_SYNTH_MEMAVL", 0xc004510e},
+{"machine/soundcard.h", "SNDCTL_TMR_TIMEBASE", 0xc0045401},
+{"sys/soundcard.h", "SNDCTL_TMR_TIMEBASE", 0xc0045401},
+{"machine/soundcard.h", "SNDCTL_TMR_TEMPO", 0xc0045405},
+{"sys/soundcard.h", "SNDCTL_TMR_TEMPO", 0xc0045405},
+{"sys/soundcard.h", "SNDCTL_TMR_SOURCE", 0xc0045406},
+{"machine/soundcard.h", "SNDCTL_TMR_SOURCE", 0xc0045406},
+{"net/if_atm.h", "SIOCRAWATM", 0xc004617a},
+{"sys/soundcard.h", "SNDCTL_MIDI_PRETIME", 0xc0046d00},
+{"machine/soundcard.h", "SNDCTL_MIDI_PRETIME", 0xc0046d00},
+{"machine/soundcard.h", "SNDCTL_MIDI_MPUMODE", 0xc0046d01},
+{"sys/soundcard.h", "SNDCTL_MIDI_MPUMODE", 0xc0046d01},
+{"netinet/ip_fil.h", "SIOCIPFFL", 0xc0047241},
+{"netinet/ip_nat.h", "SIOCFLNAT", 0xc0047256},
+{"netinet/ip_nat.h", "SIOCCNATL", 0xc0047257},
+{"machine/ioctl_bt848.h", "BT848_I2CWR", 0xc0047839},
+{"machine/perfmon.h", "PMIOGET", 0xc0083507},
+{"sys/soundcard.h", "AIOSSIZE", 0xc008410b},
+{"machine/soundcard.h", "AIOSSIZE", 0xc008410b},
+{"sys/soundcard.h", "AIOSYNC", 0xc008410f},
+{"machine/soundcard.h", "AIOSYNC", 0xc008410f},
+{"sys/vnioctl.h", "VNIOCATTACH", 0xc0084600},
+{"sys/vnioctl.h", "VNIOCDETACH", 0xc0084601},
+{"net/if_atm.h", "SIOCATMENA", 0xc008617b},
+{"net/if_atm.h", "SIOCATMDIS", 0xc008617c},
+{"sys/cdio.h", "CDIOREADTOCENTRYS", 0xc0086305},
+{"sys/sockio.h", "OSIOCGIFCONF", 0xc0086914},
+{"sys/sockio.h", "SIOCGIFCONF", 0xc0086924},
+{"net/if_ppp.h", "PPPIOCGNPMODE", 0xc008744c},
+{"machine/perfmon.h", "PMIOREAD", 0xc00c3504},
+{"dev/usb/usb.h", "USB_GET_ALTINTERFACE", 0xc00c5566},
+{"dev/usb/usb.h", "USB_SET_ALTINTERFACE", 0xc00c5567},
+{"dev/usb/usb.h", "USB_GET_NO_ALT", 0xc00c5568},
+{"dev/usb/usb.h", "USB_GET_FULL_DESC", 0xc00c556d},
+{"sys/cdio.h", "CDIOCREADSUBCHANNEL", 0xc00c6303},
+{"sys/cdio.h", "CDIOREADTOCENTRY", 0xc00c6306},
+{"sys/kbio.h", "GIO_KEYMAPENT", 0xc00c6b0a},
+{"sys/memrange.h", "MEMRANGE_GET", 0xc00c6d32},
+{"cam/scsi/scsi_targetio.h", "TARGCTLIOALLOCUNIT", 0xc0104307},
+{"pccard/cardinfo.h", "PIOCGIO", 0xc0105004},
+{"dev/usb/usb.h", "USB_GET_CONFIG_DESC", 0xc010556a},
+{"machine/pcvt_ioctl.h", "VGAREADPEL", 0xc010566e},
+{"sys/cdio.h", "CDIOCREADAUDIO", 0xc010631f},
+{"machine/soundcard.h", "AIOSFMT", 0xc010660c},
+{"sys/soundcard.h", "AIOSFMT", 0xc010660c},
+{"sys/pciio.h", "PCIOCREAD", 0xc0107002},
+{"sys/pciio.h", "PCIOCWRITE", 0xc0107003},
+{"sys/pciio.h", "PCIOCATTACHED", 0xc0107004},
+{"machine/i4b_ioctl.h", "I4B_CTRL_INFO_REQ", 0xc0143404},
+{"sys/soundcard.h", "SNDCTL_COPR_RDATA", 0xc0144302},
+{"machine/soundcard.h", "SNDCTL_COPR_RDATA", 0xc0144302},
+{"machine/soundcard.h", "SNDCTL_COPR_RCODE", 0xc0144303},
+{"sys/soundcard.h", "SNDCTL_COPR_RCODE", 0xc0144303},
+{"sys/soundcard.h", "SNDCTL_COPR_RUN", 0xc0144306},
+{"machine/soundcard.h", "SNDCTL_COPR_RUN", 0xc0144306},
+{"machine/soundcard.h", "SNDCTL_COPR_HALT", 0xc0144307},
+{"sys/soundcard.h", "SNDCTL_COPR_HALT", 0xc0144307},
+{"pccard/cardinfo.h", "PIOCGMEM", 0xc0145002},
+{"machine/pcvt_ioctl.h", "VGAGETFONTATTR", 0xc0145667},
+{"sys/wormio.h", "WORMIOCFIRSTWRITABLEADDR", 0xc0145721},
+{"sys/consio.h", "CONS_MOUSECTL", 0xc014630a},
+{"sys/consio.h", "CONS_GETINFO", 0xc0146349},
+{"sys/kbio.h", "GETFKEY", 0xc0146b00},
+{"sys/kbio.h", "SETFKEY", 0xc0146b01},
+{"sys/sockio.h", "SIOCGETVIFCNT", 0xc014720f},
+{"sys/sockio.h", "SIOCGETSGCNT", 0xc0147210},
+{"machine/ioctl_bt848.h", "TVTUNER_GETCHNLSET", 0xc0147846},
+{"sys/ccdvar.h", "CCDIOCSET", 0xc0184610},
+{"machine/apm_bios.h", "APMIO_BIOS", 0xc018500a},
+{"dev/usb/usb.h", "USB_REQUEST", 0xc0185501},
+{"dev/usb/usb.h", "USB_GET_INTERFACE_DESC", 0xc018556b},
+{"dev/usb/usb.h", "USB_GET_ENDPOINT_DESC", 0xc018556c},
+{"dev/usb/usb.h", "USB_DO_REQUEST", 0xc018556f},
+{"machine/pcvt_ioctl.h", "VGAPCVTID", 0xc0185671},
+{"sys/consio.h", "CONS_GSAVER", 0xc0186306},
+{"sys/dvdio.h", "DVDIOCREPORTKEY", 0xc01863c8},
+{"sys/dvdio.h", "DVDIOCSENDKEY", 0xc01863c9},
+{"netinet/ip_nat.h", "SIOCGNATL", 0xc0187253},
+{"machine/soundcard.h", "AIOGCAP", 0xc01c410f},
+{"sys/soundcard.h", "AIOGCAP", 0xc01c410f},
+{"machine/ioctl_bt848.h", "METEORGSUPPIXFMT", 0xc01c7841},
+{"netatm/atm_ioctl.h", "AIOCINFO", 0xc0204185},
+{"machine/i4b_debug.h", "I4B_CTL_GET_HSCXSTAT", 0xc0204302},
+{"sys/sockio.h", "OSIOCGIFADDR", 0xc020690d},
+{"sys/sockio.h", "OSIOCGIFDSTADDR", 0xc020690f},
+{"sys/sockio.h", "SIOCGIFFLAGS", 0xc0206911},
+{"sys/sockio.h", "OSIOCGIFBRDADDR", 0xc0206912},
+{"sys/sockio.h", "OSIOCGIFNETMASK", 0xc0206915},
+{"sys/sockio.h", "SIOCGIFMETRIC", 0xc0206917},
+{"sys/sockio.h", "SIOCGIFADDR", 0xc0206921},
+{"sys/sockio.h", "SIOCGIFDSTADDR", 0xc0206922},
+{"sys/sockio.h", "SIOCGIFBRDADDR", 0xc0206923},
+{"sys/sockio.h", "SIOCGIFNETMASK", 0xc0206925},
+{"sys/sockio.h", "SIOCGIFMTU", 0xc0206933},
+{"sys/sockio.h", "SIOCGIFPHYS", 0xc0206935},
+{"sys/sockio.h", "SIOCSIFMEDIA", 0xc0206937},
+{"sys/sockio.h", "SIOCGIFGENERIC", 0xc020693a},
+{"machine/if_wl_wavelan.h", "SIOCGWLCNWID", 0xc020693c},
+{"machine/if_wl_wavelan.h", "SIOCSWLCNWID", 0xc020693d},
+{"machine/if_wl_wavelan.h", "SIOCGWLPSA", 0xc020693e},
+{"machine/if_wl_wavelan.h", "SIOCSWLPSA", 0xc020693f},
+{"machine/if_wl_wavelan.h", "SIOCGWLEEPROM", 0xc0206942},
+{"machine/if_wl_wavelan.h", "SIOCGWLCACHE", 0xc0206943},
+{"machine/if_wl_wavelan.h", "SIOCGWLCITEM", 0xc0206944},
+{"sys/sockio.h", "SIOCGIFPSRCADDR", 0xc0206947},
+{"sys/sockio.h", "SIOCGIFPDSTADDR", 0xc0206948},
+{"sys/soundcard.h", "SNDCTL_MIDI_MPUCMD", 0xc0216d02},
+{"machine/soundcard.h", "SNDCTL_MIDI_MPUCMD", 0xc0216d02},
+{"sys/pciio.h", "PCIOCGETCONF", 0xc0247001},
+{"netinet6/in6_var.h", "SIOCGETMIFCNT_IN6", 0xc024756b},
+{"machine/pcvt_ioctl.h", "VGAPCVTINFO", 0xc0285672},
+{"sys/sockio.h", "SIOCGIFMEDIA", 0xc0286938},
+{"machine/cronyx.h", "CXIOCGETSTAT", 0xc0287803},
+{"sys/fbio.h", "FBIOGCURSOR", 0xc02c4619},
+{"netinet6/in6_var.h", "SIOCGIFINFO_IN6", 0xc02c694c},
+{"sys/timepps.h", "PPS_IOC_FETCH", 0xc0303106},
+{"machine/pcvt_ioctl.h", "VGAGETSCREEN", 0xc0305669},
+{"netinet6/in6_var.h", "SIOCGNBRINFO_IN6", 0xc030694e},
+{"netinet/ip_fil.h", "SIOCATHST", 0xc030724e},
+{"cam/scsi/scsi_targetio.h", "TARGIOCGETISTATE", 0xc0344306},
+{"netinet/ip_fil.h", "SIOCAUTHW", 0xc038724c},
+{"netinet/ip_fil.h", "SIOCAUTHR", 0xc038724d},
+{"netinet6/in6_var.h", "SIOCGIFPREFIX_IN6", 0xc0406965},
+{"machine/mouse.h", "MOUSE_READSTATE", 0xc0444d08},
+{"machine/mouse.h", "MOUSE_READDATA", 0xc0444d09},
+{"machine/pcvt_ioctl.h", "KBDGCKEY", 0xc0484b10},
+{"machine/pcvt_ioctl.h", "KBDGOKEY", 0xc0484b12},
+{"net/if_ppp.h", "SIOCGPPPCSTATS", 0xc048697a},
+{"net/if_ppp.h", "SIOCGPPPSTATS", 0xc048697b},
+{"netinet6/in6_var.h", "SIOCGETSGCNT_IN6", 0xc050756a},
+{"sys/consio.h", "CONS_GETTERM", 0xc0686370},
+{"machine/i4b_debug.h", "I4B_CTL_GET_LAPDSTAT", 0xc0704304},
+{"machine/soundcard.h", "SNDCTL_MIDI_INFO", 0xc074510c},
+{"sys/soundcard.h", "SNDCTL_MIDI_INFO", 0xc074510c},
+{"machine/comstats.h", "COM_GETPORTSTATS", 0xc080631e},
+{"machine/comstats.h", "COM_CLRPORTSTATS", 0xc080631f},
+{"machine/pcaudioio.h", "AUDIO_SETINFO", 0xc0844102},
+{"machine/cronyx.h", "CXIOCGETMODE", 0xc0847801},
+{"machine/soundcard.h", "SNDCTL_SYNTH_INFO", 0xc08c5102},
+{"sys/soundcard.h", "SNDCTL_SYNTH_INFO", 0xc08c5102},
+{"sys/fbio.h", "FBIO_MODEINFO", 0xc09c4667},
+{"sys/fbio.h", "FBIO_FINDMODE", 0xc09c4668},
+{"sys/consio.h", "CONS_MODEINFO", 0xc09c6366},
+{"sys/consio.h", "CONS_FINDMODE", 0xc09c6367},
+{"sys/consio.h", "CONS_ADPINFO", 0xc0a46365},
+{"machine/comstats.h", "COM_GETBRDSTATS", 0xc0a86320},
+{"pccard/cardinfo.h", "PIOCSDRV", 0xc0ac5006},
+{"netinet/ip_fil.h", "SIOCZRLST", 0xc0c0724b},
+{"machine/ioctl_bt848.h", "BT848_WEEPROM", 0xc1047832},
+{"machine/ioctl_bt848.h", "BT848_REEPROM", 0xc1047833},
+{"machine/ioctl_bt848.h", "BT848_SIGNATURE", 0xc1047834},
+{"dev/usb/usb.h", "USB_GET_STRING_DESC", 0xc108556e},
+{"netinet/ip_fil.h", "SIOCFRZST", 0xc10c724a},
+{"sys/sockio.h", "SIOCGLIFADDR", 0xc118691c},
+{"netinet6/in6_var.h", "SIOCGIFADDR_IN6", 0xc1206921},
+{"netinet6/in6_var.h", "SIOCGIFDSTADDR_IN6", 0xc1206922},
+{"netinet6/in6_var.h", "SIOCGIFNETMASK_IN6", 0xc1206925},
+{"netinet6/in6_var.h", "SIOCGIFPSRCADDR_IN6", 0xc1206947},
+{"netinet6/in6_var.h", "SIOCGIFPDSTADDR_IN6", 0xc1206948},
+{"netinet6/in6_var.h", "SIOCGIFAFLAG_IN6", 0xc1206949},
+{"netinet6/in6_var.h", "SIOCSNDFLUSH_IN6", 0xc120694d},
+{"netinet6/in6_var.h", "SIOCSPFXFLUSH_IN6", 0xc120694f},
+{"netinet6/in6_var.h", "SIOCSRTRFLUSH_IN6", 0xc1206950},
+{"netinet6/in6_var.h", "SIOCGIFALIFETIME_IN6", 0xc1206951},
+{"netinet6/in6_var.h", "SIOCSIFALIFETIME_IN6", 0xc1206952},
+{"netinet6/in6_var.h", "SIOCGIFSTAT_IN6", 0xc1206953},
+{"netinet6/in6_var.h", "SIOCGIFSTAT_ICMP6", 0xc1206954},
+{"netinet6/in6_var.h", "SIOCGDRLST_IN6", 0xc128694a},
+{"dev/usb/usb.h", "USB_DEVICEINFO", 0xc1585504},
+{"cam/scsi/scsi_pass.h", "CAMIOCOMMAND", 0xc2601402},
+{"cam/scsi/scsi_pass.h", "CAMGETPASSTHRU", 0xc2601403},
+{"cam/scsi/scsi_targetio.h", "TARGIOCCOMMAND", 0xc2604304},
+{"sys/sockio.h", "SIOCGIFSTATUS", 0xc331693b},
+{"dev/usb/usb.h", "USB_GET_REPORT", 0xc4045517},
+{"netinet6/in6_var.h", "SIOCGPRLST_IN6", 0xc7b8694b},
+{"sys/dvdio.h", "DVDIOCREADSTRUCTURE", 0xc80c63ca},
+{"machine/soundcard.h", "SNDCTL_COPR_LOAD", 0xcfb04301},
+{"sys/soundcard.h", "SNDCTL_COPR_LOAD", 0xcfb04301},
+{"machine/soundcard.h", "SNDCTL_PMGR_IFACE", 0xcfb85001},
+{"sys/soundcard.h", "SNDCTL_PMGR_IFACE", 0xcfb85001},
+{"sys/soundcard.h", "SNDCTL_PMGR_ACCESS", 0xcfb85110},
+{"machine/soundcard.h", "SNDCTL_PMGR_ACCESS", 0xcfb85110},
diff --git a/strace-4.5.20/freebsd/i386/signalent.h b/strace-4.5.20/freebsd/i386/signalent.h
new file mode 100644
index 0000000..2b507e3
--- /dev/null
+++ b/strace-4.5.20/freebsd/i386/signalent.h
@@ -0,0 +1,32 @@
+	"SIG_0",	/* 0 */
+	"SIGHUP",	/* 1 */
+	"SIGINT",	/* 2 */
+	"SIGQUIT",	/* 3 */
+	"SIGILL",	/* 4 */
+	"SIGTRAP",	/* 5 */
+	"SIGABRT",	/* 6 */
+	"SIGEMT",	/* 7 */
+	"SIGFPE",	/* 8 */
+	"SIGKILL",	/* 9 */
+	"SIGBUS",	/* 10 */
+	"SIGSEGV",	/* 11 */
+	"SIGSYS",	/* 12 */
+	"SIGPIPE",	/* 13 */
+	"SIGALRM",	/* 14 */
+	"SIGTERM",	/* 15 */
+	"SIGURG",	/* 16 */
+	"SIGSTOP",	/* 17 */
+	"SIGTSTP",	/* 18 */
+	"SIGCONT",	/* 19 */
+	"SIGCHLD",	/* 20 */
+	"SIGTTIN",	/* 21 */
+	"SIGTTOU",	/* 22 */
+	"SIGIO",	/* 23 */
+	"SIGXCPU",	/* 24 */
+	"SIGXFSZ",	/* 25 */
+	"SIGVTALRM",	/* 26 */
+	"SIGPROF",	/* 27 */
+	"SIGWINCH",	/* 28 */
+	"SIGINFO",	/* 29 */
+	"SIGUSR1",	/* 30 */
+	"SIGUSR2",	/* 31 */
diff --git a/strace-4.5.20/freebsd/i386/syscall.h b/strace-4.5.20/freebsd/i386/syscall.h
new file mode 100644
index 0000000..9b60900
--- /dev/null
+++ b/strace-4.5.20/freebsd/i386/syscall.h
@@ -0,0 +1,274 @@
+/*
+ * Automatically generated by ./../syscalls.pl on Thu Mar  8 18:14:07 2001
+ */
+
+#define sys_syscall printargs
+int sys_exit();
+int sys_fork();
+int sys_read();
+int sys_write();
+int sys_open();
+int sys_close();
+int sys_wait4();
+int sys_creat();
+int sys_link();
+int sys_unlink();
+int sys_chdir();
+int sys_fchdir();
+int sys_mknod();
+int sys_chmod();
+int sys_chown();
+#define sys_break printargs
+#define sys_getfsstat printargs
+int sys_lseek();
+int sys_getpid();
+#define sys_mount printargs
+#define sys_unmount printargs
+#define sys_setuid printargs
+int sys_getuid();
+#define sys_geteuid printargs
+int sys_ptrace();
+int sys_recvmsg();
+int sys_sendmsg();
+int sys_recvfrom();
+int sys_accept();
+int sys_getpeername();
+int sys_getsockname();
+int sys_access();
+int sys_chflags();
+int sys_fchflags();
+#define sys_sync printargs
+int sys_kill();
+int sys_stat();
+#define sys_getppid printargs
+int sys_lstat();
+int sys_dup();
+int sys_pipe();
+#define sys_getegid printargs
+#define sys_profil printargs
+#define sys_ktrace printargs
+int sys_sigaction();
+int sys_getgid();
+int sys_sigprocmask();
+#define sys_getlogin printargs
+#define sys_setlogin printargs
+#define sys_acct printargs
+int sys_sigpending();
+int sys_sigaltstack();
+int sys_ioctl();
+#define sys_reboot printargs
+#define sys_revoke printargs
+int sys_symlink();
+int sys_readlink();
+int sys_execve();
+int sys_umask();
+int sys_chroot();
+int sys_fstat();
+#define sys_getkerninfo printargs
+int sys_getpagesize();
+int sys_msync();
+int sys_vfork();
+int sys_sbrk();
+#define sys_sstk printargs
+int sys_mmap();
+#define sys_vadvise printargs
+int sys_munmap();
+int sys_mprotect();
+#define sys_madvise printargs
+int sys_mincore();
+int sys_getgroups();
+int sys_setgroups();
+int sys_getpgrp();
+int sys_setpgid();
+int sys_setitimer();
+int sys_wait();
+#define sys_swapon printargs
+int sys_getitimer();
+int sys_gethostname();
+int sys_sethostname();
+int sys_getdtablesize();
+int sys_dup2();
+int sys_fcntl();
+int sys_select();
+int sys_fsync();
+int sys_setpriority();
+int sys_socket();
+int sys_connect();
+int sys_accept();
+int sys_getpriority();
+int sys_send();
+int sys_recv();
+#define sys_sigreturn printargs
+int sys_bind();
+int sys_setsockopt();
+int sys_listen();
+int sys_sigvec();
+int sys_sigblock();
+int sys_sigsetmask();
+int sys_sigsuspend();
+int sys_sigstack();
+int sys_recvmsg();
+int sys_sendmsg();
+int sys_gettimeofday();
+int sys_getrusage();
+int sys_getsockopt();
+int sys_readv();
+int sys_writev();
+int sys_settimeofday();
+int sys_fchown();
+int sys_fchmod();
+int sys_recvfrom();
+int sys_setreuid();
+int sys_setregid();
+int sys_rename();
+int sys_truncate();
+int sys_ftruncate();
+int sys_flock();
+int sys_mkfifo();
+int sys_sendto();
+int sys_shutdown();
+int sys_socketpair();
+int sys_mkdir();
+int sys_rmdir();
+int sys_utimes();
+int sys_adjtime();
+int sys_getpeername();
+int sys_gethostid();
+#define sys_sethostid printargs
+int sys_getrlimit();
+int sys_setrlimit();
+int sys_killpg();
+int sys_setsid();
+int sys_quotactl();
+#define sys_quota printargs
+int sys_getsockname();
+#define sys_nfssvc printargs
+int sys_getdirentries();
+int sys_statfs();
+int sys_fstatfs();
+#define sys_getfh printargs
+int sys_getdomainname();
+int sys_setdomainname();
+int sys_uname();
+#define sys_sysarch printargs
+#define sys_rtprio printargs
+#define sys_semsys printargs
+#define sys_msgsys printargs
+#define sys_shmsys printargs
+int sys_pread();
+int sys_pwrite();
+#define sys_ntp_adjtime printargs
+#define sys_setgid printargs
+#define sys_setegid printargs
+#define sys_seteuid printargs
+int sys_stat();
+int sys_fstat();
+int sys_lstat();
+int sys_pathconf();
+int sys_fpathconf();
+int sys_getrlimit();
+int sys_setrlimit();
+int sys_getdirentries();
+int sys_mmap();
+#define sys___syscall printargs
+int sys_lseek();
+int sys_truncate();
+int sys_ftruncate();
+int sys___sysctl();
+#define sys_mlock printargs
+#define sys_munlock printargs
+#define sys_undelete printargs
+#define sys_futimes printargs
+int sys_getpgid();
+int sys_poll();
+#define sys___semctl printargs
+int sys_semget();
+int sys_semop();
+int sys_msgctl();
+int sys_msgget();
+int sys_msgsnd();
+int sys_msgrcv();
+int sys_shmat();
+int sys_shmctl();
+int sys_shmdt();
+int sys_shmget();
+#define sys_clock_gettime printargs
+#define sys_clock_settime printargs
+#define sys_clock_getres printargs
+#define sys_nanosleep printargs
+#define sys_minherit printargs
+#define sys_rfork printargs
+#define sys_openbsd_poll printargs
+#define sys_issetugid printargs
+#define sys_lchown printargs
+int sys_getdents();
+#define sys_lchmod printargs
+#define sys_netbsd_lchown printargs
+#define sys_lutimes printargs
+#define sys_netbsd_msync printargs
+#define sys_nstat printargs
+#define sys_nfstat printargs
+#define sys_nlstat printargs
+#define sys_fhstatfs printargs
+#define sys_fhopen printargs
+#define sys_fhstat printargs
+#define sys_modnext printargs
+#define sys_modstat printargs
+#define sys_modfnext printargs
+#define sys_modfind printargs
+#define sys_kldload printargs
+#define sys_kldunload printargs
+#define sys_kldfind printargs
+#define sys_kldnext printargs
+#define sys_kldstat printargs
+#define sys_kldfirstmod printargs
+int sys_getsid();
+int sys_setresuid();
+int sys_setresgid();
+#define sys_aio_return printargs
+#define sys_aio_suspend printargs
+#define sys_aio_cancel printargs
+#define sys_aio_error printargs
+#define sys_aio_read printargs
+#define sys_aio_write printargs
+#define sys_lio_listio printargs
+#define sys_yield printargs
+#define sys_thr_sleep printargs
+#define sys_thr_wakeup printargs
+#define sys_mlockall printargs
+#define sys_munlockall printargs
+int sys___getcwd();
+#define sys_sched_setparam printargs
+#define sys_sched_getparam printargs
+#define sys_sched_setscheduler printargs
+#define sys_sched_getscheduler printargs
+#define sys_sched_yield printargs
+#define sys_sched_get_priority_max printargs
+#define sys_sched_get_priority_min printargs
+#define sys_sched_rr_get_interval printargs
+#define sys_utrace printargs
+int sys_sendfile();
+#define sys_kldsym printargs
+#define sys_jail printargs
+int sys_sigprocmask();
+int sys_sigsuspend();
+int sys_sigaction();
+int sys_sigpending();
+#define sys_sigreturn printargs
+#define sys___acl_get_file printargs
+#define sys___acl_set_file printargs
+#define sys___acl_get_fd printargs
+#define sys___acl_set_fd printargs
+#define sys___acl_delete_file printargs
+#define sys___acl_delete_fd printargs
+#define sys___acl_aclcheck_file printargs
+#define sys___acl_aclcheck_fd printargs
+#define sys_extattrctl printargs
+#define sys_extattr_set_file printargs
+#define sys_extattr_get_file printargs
+#define sys_extattr_delete_file printargs
+#define sys_aio_waitcomplete printargs
+#define sys_getresuid printargs
+#define sys_getresgid printargs
+#define sys_kqueue printargs
+#define sys_kevent printargs
diff --git a/strace-4.5.20/freebsd/i386/syscallent.h b/strace-4.5.20/freebsd/i386/syscallent.h
new file mode 100644
index 0000000..bb6815e
--- /dev/null
+++ b/strace-4.5.20/freebsd/i386/syscallent.h
@@ -0,0 +1,368 @@
+/*
+ * Automatically generated by ./../syscalls.pl on Thu Mar  8 18:14:07 2001
+ */
+
+  { 1,	0,	sys_syscall,	"syscall"	}, /* 0 */
+  { 1,	0,	sys_exit,	"exit"	}, /* 1 */
+  { 1,	TP,	sys_fork,	"fork"	}, /* 2 */
+  { 3,	TD,	sys_read,	"read"	}, /* 3 */
+  { 3,	TD,	sys_write,	"write"	}, /* 4 */
+  { 3,	TD|TF,	sys_open,	"open"	}, /* 5 */
+  { 1,	TF,	sys_close,	"close"	}, /* 6 */
+  { 4,	TP,	sys_wait4,	"wait4"	}, /* 7 */
+  { 2,	TD|TF,	sys_creat,	"creat?"	}, /* 8 */
+  { 2,	TF,	sys_link,	"link"	}, /* 9 */
+  { 1,	TF,	sys_unlink,	"unlink"	}, /* 10 */
+  { -1,	0,	printargs,	"SYS_11"	}, /* 11 */
+  { 1,	TF,	sys_chdir,	"chdir"	}, /* 12 */
+  { 1,	TF,	sys_fchdir,	"fchdir"	}, /* 13 */
+  { 3,	TF,	sys_mknod,	"mknod"	}, /* 14 */
+  { 2,	TF,	sys_chmod,	"chmod"	}, /* 15 */
+  { 3,	TF,	sys_chown,	"chown"	}, /* 16 */
+  { 1,	0,	sys_break,	"break"	}, /* 17 */
+  { 3,	0,	sys_getfsstat,	"getfsstat"	}, /* 18 */
+  { 3,	TD,	sys_lseek,	"lseek?"	}, /* 19 */
+  { 1,	0,	sys_getpid,	"getpid"	}, /* 20 */
+  { 4,	TF,	sys_mount,	"mount"	}, /* 21 */
+  { 2,	TF,	sys_unmount,	"unmount"	}, /* 22 */
+  { 1,	0,	sys_setuid,	"setuid"	}, /* 23 */
+  { 1,	0,	sys_getuid,	"getuid"	}, /* 24 */
+  { 1,	0,	sys_geteuid,	"geteuid"	}, /* 25 */
+  { 4,	0,	sys_ptrace,	"ptrace"	}, /* 26 */
+  { 3,	TN,	sys_recvmsg,	"recvmsg"	}, /* 27 */
+  { 3,	TN,	sys_sendmsg,	"sendmsg"	}, /* 28 */
+  { 6,	TN,	sys_recvfrom,	"recvfrom"	}, /* 29 */
+  { 3,	TN,	sys_accept,	"accept"	}, /* 30 */
+  { 3,	TN,	sys_getpeername,	"getpeername"	}, /* 31 */
+  { 3,	TN,	sys_getsockname,	"getsockname"	}, /* 32 */
+  { 2,	TF,	sys_access,	"access"	}, /* 33 */
+  { 2,	TF,	sys_chflags,	"chflags"	}, /* 34 */
+  { 2,	TF,	sys_fchflags,	"fchflags"	}, /* 35 */
+  { 1,	0,	sys_sync,	"sync"	}, /* 36 */
+  { 2,	TS,	sys_kill,	"kill"	}, /* 37 */
+  { 2,	TF,	sys_stat,	"stat?"	}, /* 38 */
+  { 1,	0,	sys_getppid,	"getppid"	}, /* 39 */
+  { 2,	TF,	sys_lstat,	"lstat?"	}, /* 40 */
+  { 1,	TD,	sys_dup,	"dup"	}, /* 41 */
+  { 1,	TD,	sys_pipe,	"pipe"	}, /* 42 */
+  { 1,	0,	sys_getegid,	"getegid"	}, /* 43 */
+  { 4,	0,	sys_profil,	"profil"	}, /* 44 */
+  { 4,	0,	sys_ktrace,	"ktrace"	}, /* 45 */
+  { 3,	TS,	sys_sigaction,	"sigaction?"	}, /* 46 */
+  { 1,	0,	sys_getgid,	"getgid"	}, /* 47 */
+  { 2,	TS,	sys_sigprocmask,	"sigprocmask?"	}, /* 48 */
+  { 2,	0,	sys_getlogin,	"getlogin"	}, /* 49 */
+  { 1,	0,	sys_setlogin,	"setlogin"	}, /* 50 */
+  { 1,	TF,	sys_acct,	"acct"	}, /* 51 */
+  { 1,	TS,	sys_sigpending,	"sigpending?"	}, /* 52 */
+  { 2,	TS,	sys_sigaltstack,	"sigaltstack"	}, /* 53 */
+  { 3,	TD,	sys_ioctl,	"ioctl"	}, /* 54 */
+  { 1,	0,	sys_reboot,	"reboot"	}, /* 55 */
+  { 1,	0,	sys_revoke,	"revoke"	}, /* 56 */
+  { 2,	TF,	sys_symlink,	"symlink"	}, /* 57 */
+  { 3,	TF,	sys_readlink,	"readlink"	}, /* 58 */
+  { 3,	TF|TP,	sys_execve,	"execve"	}, /* 59 */
+  { 1,	0,	sys_umask,	"umask"	}, /* 60 */
+  { 1,	TF,	sys_chroot,	"chroot"	}, /* 61 */
+  { 2,	TD,	sys_fstat,	"fstat?"	}, /* 62 */
+  { 4,	0,	sys_getkerninfo,	"getkerninfo?"	}, /* 63 */
+  { 1,	0,	sys_getpagesize,	"getpagesize?"	}, /* 64 */
+  { 3,	0,	sys_msync,	"msync"	}, /* 65 */
+  { 1,	TP,	sys_vfork,	"vfork"	}, /* 66 */
+  { -1,	0,	printargs,	"SYS_67"	}, /* 67 */
+  { -1,	0,	printargs,	"SYS_68"	}, /* 68 */
+  { 1,	0,	sys_sbrk,	"sbrk"	}, /* 69 */
+  { 1,	0,	sys_sstk,	"sstk"	}, /* 70 */
+  { 6,	0,	sys_mmap,	"mmap?"	}, /* 71 */
+  { 1,	0,	sys_vadvise,	"vadvise"	}, /* 72 */
+  { 2,	0,	sys_munmap,	"munmap"	}, /* 73 */
+  { 3,	0,	sys_mprotect,	"mprotect"	}, /* 74 */
+  { 3,	0,	sys_madvise,	"madvise"	}, /* 75 */
+  { -1,	0,	printargs,	"SYS_76"	}, /* 76 */
+  { -1,	0,	printargs,	"SYS_77"	}, /* 77 */
+  { 3,	0,	sys_mincore,	"mincore"	}, /* 78 */
+  { 2,	0,	sys_getgroups,	"getgroups"	}, /* 79 */
+  { 2,	0,	sys_setgroups,	"setgroups"	}, /* 80 */
+  { 1,	0,	sys_getpgrp,	"getpgrp"	}, /* 81 */
+  { 2,	0,	sys_setpgid,	"setpgid"	}, /* 82 */
+  { 3,	0,	sys_setitimer,	"setitimer"	}, /* 83 */
+  { 1,	TP,	sys_wait,	"wait?"	}, /* 84 */
+  { 1,	TF,	sys_swapon,	"swapon"	}, /* 85 */
+  { 2,	0,	sys_getitimer,	"getitimer"	}, /* 86 */
+  { 2,	0,	sys_gethostname,	"gethostname?"	}, /* 87 */
+  { 2,	0,	sys_sethostname,	"sethostname?"	}, /* 88 */
+  { 1,	0,	sys_getdtablesize,	"getdtablesize"	}, /* 89 */
+  { 2,	TD,	sys_dup2,	"dup2"	}, /* 90 */
+  { -1,	0,	printargs,	"SYS_91"	}, /* 91 */
+  { 3,	TD,	sys_fcntl,	"fcntl"	}, /* 92 */
+  { 5,	TD,	sys_select,	"select"	}, /* 93 */
+  { -1,	0,	printargs,	"SYS_94"	}, /* 94 */
+  { 1,	TD,	sys_fsync,	"fsync"	}, /* 95 */
+  { 3,	0,	sys_setpriority,	"setpriority"	}, /* 96 */
+  { 3,	TN,	sys_socket,	"socket"	}, /* 97 */
+  { 3,	TN,	sys_connect,	"connect"	}, /* 98 */
+  { 3,	TN,	sys_accept,	"accept"	}, /* 99 */
+  { 2,	0,	sys_getpriority,	"getpriority"	}, /* 100 */
+  { 4,	TN,	sys_send,	"send?"	}, /* 101 */
+  { 4,	TN,	sys_recv,	"recv?"	}, /* 102 */
+  { 1,	TS,	sys_sigreturn,	"sigreturn?"	}, /* 103 */
+  { 3,	TN,	sys_bind,	"bind"	}, /* 104 */
+  { 5,	TN,	sys_setsockopt,	"setsockopt"	}, /* 105 */
+  { 2,	TN,	sys_listen,	"listen"	}, /* 106 */
+  { -1,	0,	printargs,	"SYS_107"	}, /* 107 */
+  { 3,	TS,	sys_sigvec,	"sigvec?"	}, /* 108 */
+  { 1,	TS,	sys_sigblock,	"sigblock?"	}, /* 109 */
+  { 1,	TS,	sys_sigsetmask,	"sigsetmask?"	}, /* 110 */
+  { 1,	TS,	sys_sigsuspend,	"sigsuspend?"	}, /* 111 */
+  { 2,	TS,	sys_sigstack,	"sigstack?"	}, /* 112 */
+  { 3,	TN,	sys_recvmsg,	"recvmsg?"	}, /* 113 */
+  { 3,	TN,	sys_sendmsg,	"sendmsg?"	}, /* 114 */
+  { -1,	0,	printargs,	"SYS_115"	}, /* 115 */
+  { 2,	0,	sys_gettimeofday,	"gettimeofday"	}, /* 116 */
+  { 2,	0,	sys_getrusage,	"getrusage"	}, /* 117 */
+  { 5,	TN,	sys_getsockopt,	"getsockopt"	}, /* 118 */
+  { -1,	0,	printargs,	"SYS_119"	}, /* 119 */
+  { 3,	TD,	sys_readv,	"readv"	}, /* 120 */
+  { 3,	TD,	sys_writev,	"writev"	}, /* 121 */
+  { 2,	0,	sys_settimeofday,	"settimeofday"	}, /* 122 */
+  { 3,	TD,	sys_fchown,	"fchown"	}, /* 123 */
+  { 2,	TD,	sys_fchmod,	"fchmod"	}, /* 124 */
+  { 6,	TN,	sys_recvfrom,	"recvfrom"	}, /* 125 */
+  { 2,	0,	sys_setreuid,	"setreuid"	}, /* 126 */
+  { 2,	0,	sys_setregid,	"setregid"	}, /* 127 */
+  { 2,	TF,	sys_rename,	"rename"	}, /* 128 */
+  { 2,	TF,	sys_truncate,	"truncate?"	}, /* 129 */
+  { 2,	TD,	sys_ftruncate,	"ftruncate?"	}, /* 130 */
+  { 2,	TD,	sys_flock,	"flock"	}, /* 131 */
+  { 2,	0,	sys_mkfifo,	"mkfifo"	}, /* 132 */
+  { 6,	TN,	sys_sendto,	"sendto"	}, /* 133 */
+  { 2,	TN,	sys_shutdown,	"shutdown"	}, /* 134 */
+  { 4,	TN,	sys_socketpair,	"socketpair"	}, /* 135 */
+  { 2,	TF,	sys_mkdir,	"mkdir"	}, /* 136 */
+  { 1,	TF,	sys_rmdir,	"rmdir"	}, /* 137 */
+  { 2,	TF,	sys_utimes,	"utimes"	}, /* 138 */
+  { -1,	0,	printargs,	"SYS_139"	}, /* 139 */
+  { 2,	0,	sys_adjtime,	"adjtime"	}, /* 140 */
+  { 3,	TN,	sys_getpeername,	"getpeername?"	}, /* 141 */
+  { 1,	0,	sys_gethostid,	"gethostid?"	}, /* 142 */
+  { 1,	0,	sys_sethostid,	"sethostid?"	}, /* 143 */
+  { 2,	0,	sys_getrlimit,	"getrlimit?"	}, /* 144 */
+  { 2,	0,	sys_setrlimit,	"setrlimit?"	}, /* 145 */
+  { 2,	TS,	sys_killpg,	"killpg?"	}, /* 146 */
+  { 1,	0,	sys_setsid,	"setsid"	}, /* 147 */
+  { 4,	0,	sys_quotactl,	"quotactl"	}, /* 148 */
+  { 1,	0,	sys_quota,	"quota?"	}, /* 149 */
+  { 3,	TN,	sys_getsockname,	"getsockname"	}, /* 150 */
+  { -1,	0,	printargs,	"SYS_151"	}, /* 151 */
+  { -1,	0,	printargs,	"SYS_152"	}, /* 152 */
+  { -1,	0,	printargs,	"SYS_153"	}, /* 153 */
+  { -1,	0,	printargs,	"SYS_154"	}, /* 154 */
+  { 2,	0,	sys_nfssvc,	"nfssvc"	}, /* 155 */
+  { 4,	0,	sys_getdirentries,	"getdirentries?"	}, /* 156 */
+  { 2,	TF,	sys_statfs,	"statfs"	}, /* 157 */
+  { 2,	TD,	sys_fstatfs,	"fstatfs"	}, /* 158 */
+  { -1,	0,	printargs,	"SYS_159"	}, /* 159 */
+  { -1,	0,	printargs,	"SYS_160"	}, /* 160 */
+  { 2,	0,	sys_getfh,	"getfh"	}, /* 161 */
+  { 2,	0,	sys_getdomainname,	"getdomainname"	}, /* 162 */
+  { 2,	0,	sys_setdomainname,	"setdomainname"	}, /* 163 */
+  { 1,	0,	sys_uname,	"uname"	}, /* 164 */
+  { 2,	0,	sys_sysarch,	"sysarch"	}, /* 165 */
+  { 3,	0,	sys_rtprio,	"rtprio"	}, /* 166 */
+  { -1,	0,	printargs,	"SYS_167"	}, /* 167 */
+  { -1,	0,	printargs,	"SYS_168"	}, /* 168 */
+  { 5,	TI,	sys_semsys,	"semsys"	}, /* 169 */
+  { 6,	TI,	sys_msgsys,	"msgsys"	}, /* 170 */
+  { 4,	TI,	sys_shmsys,	"shmsys"	}, /* 171 */
+  { -1,	0,	printargs,	"SYS_172"	}, /* 172 */
+  { 5,	TD,	sys_pread,	"pread"	}, /* 173 */
+  { 5,	TD,	sys_pwrite,	"pwrite"	}, /* 174 */
+  { -1,	0,	printargs,	"SYS_175"	}, /* 175 */
+  { 1,	0,	sys_ntp_adjtime,	"ntp_adjtime"	}, /* 176 */
+  { -1,	0,	printargs,	"SYS_177"	}, /* 177 */
+  { -1,	0,	printargs,	"SYS_178"	}, /* 178 */
+  { -1,	0,	printargs,	"SYS_179"	}, /* 179 */
+  { -1,	0,	printargs,	"SYS_180"	}, /* 180 */
+  { 1,	0,	sys_setgid,	"setgid"	}, /* 181 */
+  { 1,	0,	sys_setegid,	"setegid"	}, /* 182 */
+  { 1,	0,	sys_seteuid,	"seteuid"	}, /* 183 */
+  { -1,	0,	printargs,	"SYS_184"	}, /* 184 */
+  { -1,	0,	printargs,	"SYS_185"	}, /* 185 */
+  { -1,	0,	printargs,	"SYS_186"	}, /* 186 */
+  { -1,	0,	printargs,	"SYS_187"	}, /* 187 */
+  { 2,	TF,	sys_stat,	"stat"	}, /* 188 */
+  { 2,	TD,	sys_fstat,	"fstat"	}, /* 189 */
+  { 2,	TF,	sys_lstat,	"lstat"	}, /* 190 */
+  { 2,	TF,	sys_pathconf,	"pathconf"	}, /* 191 */
+  { 2,	0,	sys_fpathconf,	"fpathconf"	}, /* 192 */
+  { -1,	0,	printargs,	"SYS_193"	}, /* 193 */
+  { 2,	0,	sys_getrlimit,	"getrlimit"	}, /* 194 */
+  { 2,	0,	sys_setrlimit,	"setrlimit"	}, /* 195 */
+  { 4,	0,	sys_getdirentries,	"getdirentries"	}, /* 196 */
+  { 7,	0,	sys_mmap,	"mmap"	}, /* 197 */
+  { 1,	0,	sys___syscall,	"__syscall"	}, /* 198 */
+  { 4,	TD,	sys_lseek,	"lseek"	}, /* 199 */
+  { 3,	TF,	sys_truncate,	"truncate"	}, /* 200 */
+  { 3,	TD,	sys_ftruncate,	"ftruncate"	}, /* 201 */
+  { 6,	0,	sys___sysctl,	"__sysctl"	}, /* 202 */
+  { 2,	0,	sys_mlock,	"mlock"	}, /* 203 */
+  { 2,	0,	sys_munlock,	"munlock"	}, /* 204 */
+  { 1,	0,	sys_undelete,	"undelete"	}, /* 205 */
+  { 2,	0,	sys_futimes,	"futimes"	}, /* 206 */
+  { 1,	0,	sys_getpgid,	"getpgid"	}, /* 207 */
+  { -1,	0,	printargs,	"SYS_208"	}, /* 208 */
+  { 3,	TN,	sys_poll,	"poll"	}, /* 209 */
+  { -1,	0,	printargs,	"SYS_210"	}, /* 210 */
+  { -1,	0,	printargs,	"SYS_211"	}, /* 211 */
+  { -1,	0,	printargs,	"SYS_212"	}, /* 212 */
+  { -1,	0,	printargs,	"SYS_213"	}, /* 213 */
+  { -1,	0,	printargs,	"SYS_214"	}, /* 214 */
+  { -1,	0,	printargs,	"SYS_215"	}, /* 215 */
+  { -1,	0,	printargs,	"SYS_216"	}, /* 216 */
+  { -1,	0,	printargs,	"SYS_217"	}, /* 217 */
+  { -1,	0,	printargs,	"SYS_218"	}, /* 218 */
+  { -1,	0,	printargs,	"SYS_219"	}, /* 219 */
+  { 4,	0,	sys___semctl,	"__semctl"	}, /* 220 */
+  { 3,	TI,	sys_semget,	"semget"	}, /* 221 */
+  { 3,	TI,	sys_semop,	"semop"	}, /* 222 */
+  { -1,	0,	printargs,	"SYS_223"	}, /* 223 */
+  { 3,	TI,	sys_msgctl,	"msgctl"	}, /* 224 */
+  { 2,	TI,	sys_msgget,	"msgget"	}, /* 225 */
+  { 4,	TI,	sys_msgsnd,	"msgsnd"	}, /* 226 */
+  { 5,	TI,	sys_msgrcv,	"msgrcv"	}, /* 227 */
+  { 3,	TI,	sys_shmat,	"shmat"	}, /* 228 */
+  { 3,	TI,	sys_shmctl,	"shmctl"	}, /* 229 */
+  { 1,	TI,	sys_shmdt,	"shmdt"	}, /* 230 */
+  { 3,	TI,	sys_shmget,	"shmget"	}, /* 231 */
+  { 2,	0,	sys_clock_gettime,	"clock_gettime"	}, /* 232 */
+  { 2,	0,	sys_clock_settime,	"clock_settime"	}, /* 233 */
+  { 2,	0,	sys_clock_getres,	"clock_getres"	}, /* 234 */
+  { -1,	0,	printargs,	"SYS_235"	}, /* 235 */
+  { -1,	0,	printargs,	"SYS_236"	}, /* 236 */
+  { -1,	0,	printargs,	"SYS_237"	}, /* 237 */
+  { -1,	0,	printargs,	"SYS_238"	}, /* 238 */
+  { -1,	0,	printargs,	"SYS_239"	}, /* 239 */
+  { 2,	0,	sys_nanosleep,	"nanosleep"	}, /* 240 */
+  { -1,	0,	printargs,	"SYS_241"	}, /* 241 */
+  { -1,	0,	printargs,	"SYS_242"	}, /* 242 */
+  { -1,	0,	printargs,	"SYS_243"	}, /* 243 */
+  { -1,	0,	printargs,	"SYS_244"	}, /* 244 */
+  { -1,	0,	printargs,	"SYS_245"	}, /* 245 */
+  { -1,	0,	printargs,	"SYS_246"	}, /* 246 */
+  { -1,	0,	printargs,	"SYS_247"	}, /* 247 */
+  { -1,	0,	printargs,	"SYS_248"	}, /* 248 */
+  { -1,	0,	printargs,	"SYS_249"	}, /* 249 */
+  { 3,	0,	sys_minherit,	"minherit"	}, /* 250 */
+  { 1,	0,	sys_rfork,	"rfork"	}, /* 251 */
+  { 3,	0,	sys_openbsd_poll,	"openbsd_poll"	}, /* 252 */
+  { 1,	0,	sys_issetugid,	"issetugid"	}, /* 253 */
+  { 3,	TF,	sys_lchown,	"lchown"	}, /* 254 */
+  { -1,	0,	printargs,	"SYS_255"	}, /* 255 */
+  { -1,	0,	printargs,	"SYS_256"	}, /* 256 */
+  { -1,	0,	printargs,	"SYS_257"	}, /* 257 */
+  { -1,	0,	printargs,	"SYS_258"	}, /* 258 */
+  { -1,	0,	printargs,	"SYS_259"	}, /* 259 */
+  { -1,	0,	printargs,	"SYS_260"	}, /* 260 */
+  { -1,	0,	printargs,	"SYS_261"	}, /* 261 */
+  { -1,	0,	printargs,	"SYS_262"	}, /* 262 */
+  { -1,	0,	printargs,	"SYS_263"	}, /* 263 */
+  { -1,	0,	printargs,	"SYS_264"	}, /* 264 */
+  { -1,	0,	printargs,	"SYS_265"	}, /* 265 */
+  { -1,	0,	printargs,	"SYS_266"	}, /* 266 */
+  { -1,	0,	printargs,	"SYS_267"	}, /* 267 */
+  { -1,	0,	printargs,	"SYS_268"	}, /* 268 */
+  { -1,	0,	printargs,	"SYS_269"	}, /* 269 */
+  { -1,	0,	printargs,	"SYS_270"	}, /* 270 */
+  { -1,	0,	printargs,	"SYS_271"	}, /* 271 */
+  { 3,	TD,	sys_getdents,	"getdents"	}, /* 272 */
+  { -1,	0,	printargs,	"SYS_273"	}, /* 273 */
+  { 2,	0,	sys_lchmod,	"lchmod"	}, /* 274 */
+  { 3,	0,	sys_netbsd_lchown,	"netbsd_lchown"	}, /* 275 */
+  { 2,	0,	sys_lutimes,	"lutimes"	}, /* 276 */
+  { 3,	0,	sys_netbsd_msync,	"netbsd_msync"	}, /* 277 */
+  { 2,	0,	sys_nstat,	"nstat"	}, /* 278 */
+  { 2,	0,	sys_nfstat,	"nfstat"	}, /* 279 */
+  { 2,	0,	sys_nlstat,	"nlstat"	}, /* 280 */
+  { -1,	0,	printargs,	"SYS_281"	}, /* 281 */
+  { -1,	0,	printargs,	"SYS_282"	}, /* 282 */
+  { -1,	0,	printargs,	"SYS_283"	}, /* 283 */
+  { -1,	0,	printargs,	"SYS_284"	}, /* 284 */
+  { -1,	0,	printargs,	"SYS_285"	}, /* 285 */
+  { -1,	0,	printargs,	"SYS_286"	}, /* 286 */
+  { -1,	0,	printargs,	"SYS_287"	}, /* 287 */
+  { -1,	0,	printargs,	"SYS_288"	}, /* 288 */
+  { -1,	0,	printargs,	"SYS_289"	}, /* 289 */
+  { -1,	0,	printargs,	"SYS_290"	}, /* 290 */
+  { -1,	0,	printargs,	"SYS_291"	}, /* 291 */
+  { -1,	0,	printargs,	"SYS_292"	}, /* 292 */
+  { -1,	0,	printargs,	"SYS_293"	}, /* 293 */
+  { -1,	0,	printargs,	"SYS_294"	}, /* 294 */
+  { -1,	0,	printargs,	"SYS_295"	}, /* 295 */
+  { -1,	0,	printargs,	"SYS_296"	}, /* 296 */
+  { 2,	0,	sys_fhstatfs,	"fhstatfs"	}, /* 297 */
+  { 2,	0,	sys_fhopen,	"fhopen"	}, /* 298 */
+  { 2,	0,	sys_fhstat,	"fhstat"	}, /* 299 */
+  { 1,	0,	sys_modnext,	"modnext"	}, /* 300 */
+  { 2,	0,	sys_modstat,	"modstat"	}, /* 301 */
+  { 1,	0,	sys_modfnext,	"modfnext"	}, /* 302 */
+  { 1,	0,	sys_modfind,	"modfind"	}, /* 303 */
+  { 1,	0,	sys_kldload,	"kldload"	}, /* 304 */
+  { 1,	0,	sys_kldunload,	"kldunload"	}, /* 305 */
+  { 1,	0,	sys_kldfind,	"kldfind"	}, /* 306 */
+  { 1,	0,	sys_kldnext,	"kldnext"	}, /* 307 */
+  { 2,	0,	sys_kldstat,	"kldstat"	}, /* 308 */
+  { 1,	0,	sys_kldfirstmod,	"kldfirstmod"	}, /* 309 */
+  { 1,	0,	sys_getsid,	"getsid"	}, /* 310 */
+  { 3,	0,	sys_setresuid,	"setresuid"	}, /* 311 */
+  { 3,	0,	sys_setresgid,	"setresgid"	}, /* 312 */
+  { -1,	0,	printargs,	"SYS_313"	}, /* 313 */
+  { 1,	0,	sys_aio_return,	"aio_return"	}, /* 314 */
+  { 3,	0,	sys_aio_suspend,	"aio_suspend"	}, /* 315 */
+  { 2,	0,	sys_aio_cancel,	"aio_cancel"	}, /* 316 */
+  { 1,	0,	sys_aio_error,	"aio_error"	}, /* 317 */
+  { 1,	0,	sys_aio_read,	"aio_read"	}, /* 318 */
+  { 1,	0,	sys_aio_write,	"aio_write"	}, /* 319 */
+  { 4,	0,	sys_lio_listio,	"lio_listio"	}, /* 320 */
+  { 1,	0,	sys_yield,	"yield"	}, /* 321 */
+  { 1,	0,	sys_thr_sleep,	"thr_sleep"	}, /* 322 */
+  { 1,	0,	sys_thr_wakeup,	"thr_wakeup"	}, /* 323 */
+  { 1,	0,	sys_mlockall,	"mlockall"	}, /* 324 */
+  { 1,	0,	sys_munlockall,	"munlockall"	}, /* 325 */
+  { 2,	0,	sys___getcwd,	"__getcwd"	}, /* 326 */
+  { 2,	0,	sys_sched_setparam,	"sched_setparam"	}, /* 327 */
+  { 2,	0,	sys_sched_getparam,	"sched_getparam"	}, /* 328 */
+  { 3,	0,	sys_sched_setscheduler,	"sched_setscheduler"	}, /* 329 */
+  { 1,	0,	sys_sched_getscheduler,	"sched_getscheduler"	}, /* 330 */
+  { 1,	0,	sys_sched_yield,	"sched_yield"	}, /* 331 */
+  { 1,	0,	sys_sched_get_priority_max,	"sched_get_priority_max"	}, /* 332 */
+  { 1,	0,	sys_sched_get_priority_min,	"sched_get_priority_min"	}, /* 333 */
+  { 2,	0,	sys_sched_rr_get_interval,	"sched_rr_get_interval"	}, /* 334 */
+  { 2,	0,	sys_utrace,	"utrace"	}, /* 335 */
+  { 7,	TD|TN,	sys_sendfile,	"sendfile"	}, /* 336 */
+  { 3,	0,	sys_kldsym,	"kldsym"	}, /* 337 */
+  { 1,	0,	sys_jail,	"jail"	}, /* 338 */
+  { -1,	0,	printargs,	"SYS_339"	}, /* 339 */
+  { 3,	TS,	sys_sigprocmask,	"sigprocmask"	}, /* 340 */
+  { 1,	TS,	sys_sigsuspend,	"sigsuspend"	}, /* 341 */
+  { 3,	TS,	sys_sigaction,	"sigaction"	}, /* 342 */
+  { 1,	TS,	sys_sigpending,	"sigpending"	}, /* 343 */
+  { 1,	TS,	sys_sigreturn,	"sigreturn"	}, /* 344 */
+  { -1,	0,	printargs,	"SYS_345"	}, /* 345 */
+  { -1,	0,	printargs,	"SYS_346"	}, /* 346 */
+  { 3,	0,	sys___acl_get_file,	"__acl_get_file"	}, /* 347 */
+  { 3,	0,	sys___acl_set_file,	"__acl_set_file"	}, /* 348 */
+  { 3,	0,	sys___acl_get_fd,	"__acl_get_fd"	}, /* 349 */
+  { 3,	0,	sys___acl_set_fd,	"__acl_set_fd"	}, /* 350 */
+  { 2,	0,	sys___acl_delete_file,	"__acl_delete_file"	}, /* 351 */
+  { 2,	0,	sys___acl_delete_fd,	"__acl_delete_fd"	}, /* 352 */
+  { 3,	0,	sys___acl_aclcheck_file,	"__acl_aclcheck_file"	}, /* 353 */
+  { 3,	0,	sys___acl_aclcheck_fd,	"__acl_aclcheck_fd"	}, /* 354 */
+  { 4,	0,	sys_extattrctl,	"extattrctl"	}, /* 355 */
+  { 4,	0,	sys_extattr_set_file,	"extattr_set_file"	}, /* 356 */
+  { 4,	0,	sys_extattr_get_file,	"extattr_get_file"	}, /* 357 */
+  { 2,	0,	sys_extattr_delete_file,	"extattr_delete_file"	}, /* 358 */
+  { 2,	0,	sys_aio_waitcomplete,	"aio_waitcomplete"	}, /* 359 */
+  { 3,	0,	sys_getresuid,	"getresuid"	}, /* 360 */
+  { 3,	0,	sys_getresgid,	"getresgid"	}, /* 361 */
+  { 1,	0,	sys_kqueue,	"kqueue"	}, /* 362 */
+  { 6,	0,	sys_kevent,	"kevent"	}, /* 363 */
diff --git a/strace-4.5.20/freebsd/ioctlent.sh b/strace-4.5.20/freebsd/ioctlent.sh
new file mode 100755
index 0000000..7d8a21c
--- /dev/null
+++ b/strace-4.5.20/freebsd/ioctlent.sh
@@ -0,0 +1,62 @@
+#!/bin/sh
+
+# initialy from $FreeBSD: src/usr.bin/kdump/mkioctls,v 1.18 2000/08/02 07:37:44 ru Exp $
+# changed by Gaël Roualland.
+
+# Validate arg count.
+if [ $# -ne 1 ]
+then
+        echo "usage: $0 include-directory" >&2
+        exit 1
+fi
+
+# build a list of files with ioctls
+ioctl_includes=`
+	cd $1
+	find * -name '*.h' -follow |
+		egrep -v '^(netns)/' |
+		xargs egrep -l \
+'^#[ 	]*define[ 	]+[A-Za-z_][A-Za-z0-9_]*[ 	]+_IO[^a-z0-9_]'`
+
+# Generate the output file.
+echo '/* This file is automatically generated by ioctlent.sh */'
+echo
+echo '/* XXX obnoxious prerequisites. */'
+echo '#define COMPAT_43'
+echo
+echo '#include <sys/types.h>'
+echo '#include <sys/param.h>'
+echo '#include <sys/devicestat.h>'
+echo '#include <sys/disklabel.h>'
+echo '#include <sys/socket.h>'
+echo '#include <sys/time.h>'
+echo '#include <sys/tty.h>'
+echo '#include <net/ethernet.h>'
+echo '#include <net/if.h>'
+echo '#include <net/if_var.h>'
+echo '#include <net/route.h>'
+echo '#include <netatm/atm.h>'
+echo '#include <netatm/atm_if.h>'
+echo '#include <netatm/atm_sap.h>'
+echo '#include <netatm/atm_sys.h>'
+echo '#include <netinet/in.h>'
+echo '#include <netinet/ip_compat.h>'
+echo '#include <netinet/ip_fil.h>'
+echo '#include <netinet/ip_auth.h>'
+echo '#include <netinet/ip_nat.h>'
+echo '#include <netinet/ip_frag.h>'
+echo '#include <netinet/ip_state.h>'
+echo '#include <netinet/ip_mroute.h>'
+echo '#include <netinet6/in6_var.h>'
+echo '#include <netinet6/nd6.h>'
+echo '#include <netinet6/ip6_mroute.h>'
+echo '#include <cam/cam.h>'
+echo '#include <stdio.h>'
+echo
+echo "$ioctl_includes" | sed -e 's/^/#include </' -e s'/$/>/'
+echo
+echo 'struct ioctlent ioctlent [] ='
+echo '{'
+(cd $1 && for i in $ioctl_includes ; do echo "#include <$i>" | gcc -I$1 -E -dM - | egrep '^#[ 	]*define[ 	]+[A-Za-z_][A-Za-z0-9_]*[ 	]+_IO[^a-z0-9_]' | sed -n -e 's|^#[ 	]*define[ 	]*\([A-Za-z_][A-Za-z0-9_]*\).*|	{ "'$i'", "\1", \1 },|p' ; done )
+
+echo '};'
diff --git a/strace-4.5.20/freebsd/syscalls.cat b/strace-4.5.20/freebsd/syscalls.cat
new file mode 100644
index 0000000..0dde7b6
--- /dev/null
+++ b/strace-4.5.20/freebsd/syscalls.cat
@@ -0,0 +1,177 @@
+#
+# Copyright (c) 2000, Gaël Roualland <gael.roualland@iname.com>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+#    derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+#      $Id$
+#
+# Syscalls categories
+# syntax: syscall catmask
+#
+# mostly built from other archs/os syscallent.h
+
+# file calls
+access	TF
+acct	TF
+acl	TF
+chdir	TF
+chmod	TF
+chown	TF
+chroot	TF
+creat	TF
+close 	TF
+chflags	TF
+fstat64	TF
+fstat	TF
+fchdir	TF
+fchflags	TF
+lchown	TF
+link	TF
+lstat	TF
+lstat64	TF
+lxstat	TF
+mkdir	TF
+mknod	TF
+mount	TF
+oldlstat	TF
+oldstat	TF
+oldumount	TF
+open	TF
+outime	TF
+pathconf	TF
+pread	TF
+pwrite	TF
+readlink	TF
+rename	TF
+rmdir	TF
+sendfile	TF
+stat	TF
+stat64	TF
+statfs	TF
+statvfs	TF
+swapon	TF
+symlink	TF
+truncate	TF
+umount	TF
+unlink	TF
+unmount	TF
+uselib	TF
+utime	TF
+utimes	TF
+xmknod	TF
+xstat	TF
+
+# file/process calls
+exec	TF|TP
+execv	TF|TP
+execve	TF|TP
+
+# IPC calls
+msgctl	TI
+msgget	TI
+msgrcv	TI
+msgsnd	TI
+msgsys	TI
+semctl	TI
+semget	TI
+semop	TI
+semsys	TI
+shmat	TI
+shmctl	TI
+shmdt	TI
+shmget	TI
+shmsys	TI
+
+# network calls
+accept	TN
+bind	TN
+connect	TN
+getmsg	TN
+getpeername	TN
+getpmsg	TN
+getsockname	TN
+getsockopt	TN
+listen	TN
+poll	TN
+putmsg	TN
+putpmsg	TN
+recv	TN
+recvfrom	TN
+recvmsg	TN
+send	TN
+sendmsg	TN
+sendto	TN
+setsockopt	TN
+shutdown	TN
+socket	TN
+socketpair	TN
+
+# process calls
+_exit	TP
+clone	TP
+fork	TP
+fork1	TP
+owait	TP
+owait3	TP
+vfork	TP
+wait	TP
+wait4	TP
+waitid	TP
+waitpid	TP
+waitsys	TP
+
+# signal calls
+kill	TS
+killpg	TS
+ksigqueue	TS
+pause	TS
+rt_sigaction	TS
+rt_sigpending	TS
+rt_sigprocmask	TS
+rt_sigqueueinfo	TS
+rt_sigreturn	TS
+rt_sigsuspend	TS
+rt_sigtimedwait	TS
+sigaction	TS
+sigaltstack	TS
+sigblock	TS
+sigcleanup	TS
+sigfillset	TS
+siggetmask	TS
+sighold	TS
+sigignore	TS
+signal	TS
+sigpause	TS
+sigpending	TS
+sigpoll	TS
+sigprocmask	TS
+sigrelse	TS
+sigreturn	TS
+sigsendset	TS
+sigset	TS
+sigsetmask	TS
+sigstack	TS
+sigsuspend	TS
+sigtimedwait	TS
+sigvec	TS
diff --git a/strace-4.5.20/freebsd/syscalls.pl b/strace-4.5.20/freebsd/syscalls.pl
new file mode 100644
index 0000000..2a1827c
--- /dev/null
+++ b/strace-4.5.20/freebsd/syscalls.pl
@@ -0,0 +1,156 @@
+#!/usr/bin/perl -w
+#
+# Copyright (c) 2000, Gaël Roualland <gael.roualland@iname.com>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+#    derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+#      $Id$
+#/
+
+# Buils syscall.h and syscallent.h from:
+# - syscalls.cat containing lines of format: syscall catmask
+# - syscalls.print containing lines of format: syscall [printfunction]
+#   if no printfunction is provided, sys_<call> is used.
+# - syscalls.master in the FreeBSD kernel source tree (/usr/src/sys/kern)
+
+use strict;
+use POSIX;
+
+use vars qw(%sysprint %syscat);
+
+sub usage() {
+    print STDERR
+	"usage: $0 syscalls.master [<syscalls.print>] [<syscalls.cat>]\n";
+    exit 1;
+}
+
+sub readprint ($) {
+    my($fprint) = @_;
+
+    open (PRINT, "< $fprint") || die "can't open $fprint: $!";
+    while(<PRINT>) {
+	chomp;
+	s/^\s*//;
+	s/\s+$//;
+	s/#.*$//;
+	my($sys, $func) = split(/\s+/);
+	if (defined($sys)) {
+	    if (defined($func)) {
+		$sysprint{$sys} = $func;
+	    } else {
+		$sysprint{$sys} = "sys_$sys";
+	    }
+	}
+    }
+    close(PRINT);
+}
+
+sub readcat ($) {
+    my($fcat) = @_;
+
+    open (CAT, "< $fcat") || die "can't open $fcat: $!";
+    while(<CAT>) {
+	chomp;
+	s/^\s*//;
+	s/\s+$//;
+	s/#.*$//;
+	my($sys, $cat) = split(/\s+/);
+	$syscat{$sys} = $cat if (defined($sys) && defined($cat));
+    }
+    close(CAT);
+}
+
+
+usage if (!defined($ARGV[0]) || defined($ARGV[3]));
+
+%sysprint = ();
+readprint $ARGV[1] if defined $ARGV[1];
+
+%syscat = ();
+readcat $ARGV[2] if defined $ARGV[2];
+
+open(MASTER, "< $ARGV[0]") || die "can't open $ARGV[0]: $!";
+
+open(SYSCALL, "> syscall.h") || die "can't create syscall.h: $!";
+
+print SYSCALL "/*\n * Automatically generated by $0 on " . ctime(time()) . " */\n\n";
+print "/*\n * Automatically generated by $0 on " . ctime(time()) . " */\n\n";
+
+my $sysnum = 0;
+
+while (<MASTER>) {
+    chomp;
+    # join broken lines
+    while (/\\$/) {
+	my $line;
+	s/\\$//;
+	$line = <MASTER>;
+	chomp($line);
+	$_ = "$_$line";
+    }
+
+    if (/^(\d+)\s+(?:MPSAFE\s+)?(\w+)\s+\w+\s+\{\s*([^}]+)\s*\}([^}]*)$/) {
+	my($compat, $proto, $ext, $name, $nargs, @args, $pfunc, $cat);
+
+	next if $2 eq 'OBSOL' || $2 eq 'UNIMPL';
+
+	$compat = $2 eq 'COMPAT' ? '?' : "";
+
+	$proto = $3;
+	$ext = $4;
+
+	if ($1 > $sysnum) { # syscall gap
+	    while($sysnum < $1) {
+		print "  { -1,\t0,\tprintargs,\t\"SYS_$sysnum\"\t}, /* $sysnum */\n";
+		$sysnum++;
+	    }
+	} elsif ($1 < $sysnum) {
+	    warn "error in master file: syscall $1 found, expecting $sysnum.";
+	}
+
+	if ($proto =~ /^[^\s]+\s+([^\s]+)\s*\(([^)]*)\);/) {
+	    my @args = split(/,/, $2);
+	    $nargs = @args;
+	    $name = $1;
+	    $name = $1 if ($ext =~ /^\s*([^\s]+)\s+[^\s]+\s+[^\s]+$/);
+	    if (defined($sysprint{$name})) {
+		$pfunc = $sysprint{$name};
+		print SYSCALL "int $pfunc();\n";
+	    } else {
+		$pfunc = "sys_$name";
+		print SYSCALL "#define $pfunc printargs\n";
+	    }
+	    if (defined($syscat{$name})) {
+		$cat = $syscat{$name};
+	    } else {
+		$cat = "0";
+	    }
+	    $name .= $compat;
+	    print "  { $nargs,\t$cat,\t$pfunc,\t\"$name\"\t}, /* $sysnum */\n";
+	    $sysnum++;
+	} else {
+	    warn "bad syscall specification for $sysnum: $proto";
+	}
+    }
+}
diff --git a/strace-4.5.20/freebsd/syscalls.print b/strace-4.5.20/freebsd/syscalls.print
new file mode 100644
index 0000000..bc59a6f
--- /dev/null
+++ b/strace-4.5.20/freebsd/syscalls.print
@@ -0,0 +1,192 @@
+#
+# Copyright (c) 2000, Gaël Roualland <gael.roualland@iname.com>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+#    derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+#      $Id$
+#
+# Printable syscalls
+# syntax: syscall [printfunc]
+#
+# mostly built from sys_* functions in source code
+
+__getcwd
+__sysctl
+accept
+access
+adjtime
+alarm
+bind
+brk
+capget
+capset
+chdir
+chflags
+chmod
+chown
+chroot
+close
+connect
+creat
+dup
+dup2
+errlist
+execv
+execve
+exit
+fchdir
+fchflags
+fchmod
+fchown
+fchroot
+fcntl
+flock
+fork
+fpathconf
+fstat
+fstatfs
+fsync
+ftruncate
+getdents
+getdirentries
+getdomainname
+getdtablesize
+getgid
+getgroups
+gethostid
+gethostname
+getitimer
+getpagesize
+getpeername
+getpgid
+getpgrp
+getpid
+getpriority
+getrlimit
+getrusage
+getsid
+getsockname
+getsockopt
+gettimeofday
+getuid
+indir
+ioctl
+kill
+killpg
+link
+listen
+lseek
+lstat
+mincore
+mkdir
+mkfifo
+mknod
+mmap
+mprotect
+msgctl
+msgget
+msgrcv
+msgsnd
+msync
+munmap
+nerr
+nice
+open
+pathconf
+pipe
+poll
+pread
+ptrace
+pwrite
+quotactl
+read
+readlink
+readv
+recv
+recvfrom
+recvmsg
+rename
+rmdir
+sbrk
+select
+semctl
+semget
+semop
+send
+sendfile
+sendmsg
+sendto
+setdomainname
+setgroups
+sethostname
+setitimer
+setpgid
+setpgrp
+setpriority
+setregid
+setresgid
+setresuid
+setreuid
+setrlimit
+setsid
+setsockopt
+settimeofday
+shmat
+shmctl
+shmdt
+shmget
+shutdown
+sigaction
+sigaltstack
+sigblock
+sigcleanup
+signal
+sigpause
+sigpending
+sigprocmask
+sigsetmask
+sigstack
+sigsuspend
+sigvec
+socket
+socketpair
+stat
+statfs
+stime
+symlink
+sysctl
+time
+times
+truncate
+umask
+uname
+unlink
+utime
+utimes
+vfork
+wait
+wait4
+waitpid
+write
+writev
diff --git a/strace-4.5.20/install-sh b/strace-4.5.20/install-sh
new file mode 100755
index 0000000..6781b98
--- /dev/null
+++ b/strace-4.5.20/install-sh
@@ -0,0 +1,520 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2009-04-28.21; # UTC
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+nl='
+'
+IFS=" ""	$nl"
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit=${DOITPROG-}
+if test -z "$doit"; then
+  doit_exec=exec
+else
+  doit_exec=$doit
+fi
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+  test "$posix_glob" != "?" || {
+    if (set -f) 2>/dev/null; then
+      posix_glob=
+    else
+      posix_glob=:
+    fi
+  }
+'
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+no_target_directory=
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+     --help     display this help and exit.
+     --version  display version info and exit.
+
+  -c            (ignored)
+  -C            install only if different (preserve the last data modification time)
+  -d            create directories instead of installing files.
+  -g GROUP      $chgrpprog installed files to GROUP.
+  -m MODE       $chmodprog installed files to MODE.
+  -o USER       $chownprog installed files to USER.
+  -s            $stripprog installed files.
+  -t DIRECTORY  install into DIRECTORY.
+  -T            report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+  RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+  case $1 in
+    -c) ;;
+
+    -C) copy_on_change=true;;
+
+    -d) dir_arg=true;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+	shift;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) mode=$2
+	case $mode in
+	  *' '* | *'	'* | *'
+'*	  | *'*'* | *'?'* | *'['*)
+	    echo "$0: invalid mode: $mode" >&2
+	    exit 1;;
+	esac
+	shift;;
+
+    -o) chowncmd="$chownprog $2"
+	shift;;
+
+    -s) stripcmd=$stripprog;;
+
+    -t) dst_arg=$2
+	shift;;
+
+    -T) no_target_directory=true;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    --)	shift
+	break;;
+
+    -*)	echo "$0: invalid option: $1" >&2
+	exit 1;;
+
+    *)  break;;
+  esac
+  shift
+done
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+  # When -d is used, all remaining arguments are directories to create.
+  # When -t is used, the destination is already specified.
+  # Otherwise, the last argument is the destination.  Remove it from $@.
+  for arg
+  do
+    if test -n "$dst_arg"; then
+      # $@ is not empty: it contains at least $arg.
+      set fnord "$@" "$dst_arg"
+      shift # fnord
+    fi
+    shift # arg
+    dst_arg=$arg
+  done
+fi
+
+if test $# -eq 0; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call `install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
+fi
+
+if test -z "$dir_arg"; then
+  trap '(exit $?); exit' 1 2 13 15
+
+  # Set umask so as not to create temps with too-generous modes.
+  # However, 'strip' requires both read and write access to temps.
+  case $mode in
+    # Optimize common cases.
+    *644) cp_umask=133;;
+    *755) cp_umask=22;;
+
+    *[0-7])
+      if test -z "$stripcmd"; then
+	u_plus_rw=
+      else
+	u_plus_rw='% 200'
+      fi
+      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+    *)
+      if test -z "$stripcmd"; then
+	u_plus_rw=
+      else
+	u_plus_rw=,u+rw
+      fi
+      cp_umask=$mode$u_plus_rw;;
+  esac
+fi
+
+for src
+do
+  # Protect names starting with `-'.
+  case $src in
+    -*) src=./$src;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    dstdir=$dst
+    test -d "$dstdir"
+    dstdir_status=$?
+  else
+
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
+
+    if test -z "$dst_arg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+
+    dst=$dst_arg
+    # Protect names starting with `-'.
+    case $dst in
+      -*) dst=./$dst;;
+    esac
+
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test -n "$no_target_directory"; then
+	echo "$0: $dst_arg: Is a directory" >&2
+	exit 1
+      fi
+      dstdir=$dst
+      dst=$dstdir/`basename "$src"`
+      dstdir_status=0
+    else
+      # Prefer dirname, but fall back on a substitute if dirname fails.
+      dstdir=`
+	(dirname "$dst") 2>/dev/null ||
+	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	     X"$dst" : 'X\(//\)[^/]' \| \
+	     X"$dst" : 'X\(//\)$' \| \
+	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+	echo X"$dst" |
+	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+		   s//\1/
+		   q
+		 }
+		 /^X\(\/\/\)[^/].*/{
+		   s//\1/
+		   q
+		 }
+		 /^X\(\/\/\)$/{
+		   s//\1/
+		   q
+		 }
+		 /^X\(\/\).*/{
+		   s//\1/
+		   q
+		 }
+		 s/.*/./; q'
+      `
+
+      test -d "$dstdir"
+      dstdir_status=$?
+    fi
+  fi
+
+  obsolete_mkdir_used=false
+
+  if test $dstdir_status != 0; then
+    case $posix_mkdir in
+      '')
+	# Create intermediate dirs using mode 755 as modified by the umask.
+	# This is like FreeBSD 'install' as of 1997-10-28.
+	umask=`umask`
+	case $stripcmd.$umask in
+	  # Optimize common cases.
+	  *[2367][2367]) mkdir_umask=$umask;;
+	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+	  *[0-7])
+	    mkdir_umask=`expr $umask + 22 \
+	      - $umask % 100 % 40 + $umask % 20 \
+	      - $umask % 10 % 4 + $umask % 2
+	    `;;
+	  *) mkdir_umask=$umask,go-w;;
+	esac
+
+	# With -d, create the new directory with the user-specified mode.
+	# Otherwise, rely on $mkdir_umask.
+	if test -n "$dir_arg"; then
+	  mkdir_mode=-m$mode
+	else
+	  mkdir_mode=
+	fi
+
+	posix_mkdir=false
+	case $umask in
+	  *[123567][0-7][0-7])
+	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
+	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+	    ;;
+	  *)
+	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+	    if (umask $mkdir_umask &&
+		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+	    then
+	      if test -z "$dir_arg" || {
+		   # Check for POSIX incompatibilities with -m.
+		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+		   # other-writeable bit of parent directory when it shouldn't.
+		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
+		   case $ls_ld_tmpdir in
+		     d????-?r-*) different_mode=700;;
+		     d????-?--*) different_mode=755;;
+		     *) false;;
+		   esac &&
+		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+		   }
+		 }
+	      then posix_mkdir=:
+	      fi
+	      rmdir "$tmpdir/d" "$tmpdir"
+	    else
+	      # Remove any dirs left behind by ancient mkdir implementations.
+	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+	    fi
+	    trap '' 0;;
+	esac;;
+    esac
+
+    if
+      $posix_mkdir && (
+	umask $mkdir_umask &&
+	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+      )
+    then :
+    else
+
+      # The umask is ridiculous, or mkdir does not conform to POSIX,
+      # or it failed possibly due to a race condition.  Create the
+      # directory the slow way, step by step, checking for races as we go.
+
+      case $dstdir in
+	/*) prefix='/';;
+	-*) prefix='./';;
+	*)  prefix='';;
+      esac
+
+      eval "$initialize_posix_glob"
+
+      oIFS=$IFS
+      IFS=/
+      $posix_glob set -f
+      set fnord $dstdir
+      shift
+      $posix_glob set +f
+      IFS=$oIFS
+
+      prefixes=
+
+      for d
+      do
+	test -z "$d" && continue
+
+	prefix=$prefix$d
+	if test -d "$prefix"; then
+	  prefixes=
+	else
+	  if $posix_mkdir; then
+	    (umask=$mkdir_umask &&
+	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+	    # Don't fail if two instances are running concurrently.
+	    test -d "$prefix" || exit 1
+	  else
+	    case $prefix in
+	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+	      *) qprefix=$prefix;;
+	    esac
+	    prefixes="$prefixes '$qprefix'"
+	  fi
+	fi
+	prefix=$prefix/
+      done
+
+      if test -n "$prefixes"; then
+	# Don't fail if two instances are running concurrently.
+	(umask $mkdir_umask &&
+	 eval "\$doit_exec \$mkdirprog $prefixes") ||
+	  test -d "$dstdir" || exit 1
+	obsolete_mkdir_used=true
+      fi
+    fi
+  fi
+
+  if test -n "$dir_arg"; then
+    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+  else
+
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
+
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+    # Copy the file name to the temp name.
+    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+    # If -C, don't bother to copy if it wouldn't change the file.
+    if $copy_on_change &&
+       old=`LC_ALL=C ls -dlL "$dst"	2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp"	2>/dev/null` &&
+
+       eval "$initialize_posix_glob" &&
+       $posix_glob set -f &&
+       set X $old && old=:$2:$4:$5:$6 &&
+       set X $new && new=:$2:$4:$5:$6 &&
+       $posix_glob set +f &&
+
+       test "$old" = "$new" &&
+       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+    then
+      rm -f "$dsttmp"
+    else
+      # Rename the file to the real destination.
+      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+      # The rename failed, perhaps because mv can't rename something else
+      # to itself, or perhaps because mv is so ancient that it does not
+      # support -f.
+      {
+	# Now remove or move aside any old file at destination location.
+	# We try this two ways since rm can't unlink itself on some
+	# systems and the destination file might be busy for other
+	# reasons.  In this case, the final cleanup might fail but the new
+	# file should still install successfully.
+	{
+	  test ! -f "$dst" ||
+	  $doit $rmcmd -f "$dst" 2>/dev/null ||
+	  { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+	    { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+	  } ||
+	  { echo "$0: cannot unlink or rename $dst" >&2
+	    (exit 1); exit 1
+	  }
+	} &&
+
+	# Now rename the file to the real destination.
+	$doit $mvcmd "$dsttmp" "$dst"
+      }
+    fi || exit 1
+
+    trap '' 0
+  fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/strace-4.5.20/io.c b/strace-4.5.20/io.c
new file mode 100644
index 0000000..3d2970c
--- /dev/null
+++ b/strace-4.5.20/io.c
@@ -0,0 +1,405 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+#include <fcntl.h>
+#if HAVE_SYS_UIO_H
+#include <sys/uio.h>
+#endif
+
+#ifdef HAVE_LONG_LONG_OFF_T
+/*
+ * Hacks for systems that have a long long off_t
+ */
+
+#define sys_pread64	sys_pread
+#define sys_pwrite64	sys_pwrite
+#endif
+
+int
+sys_read(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+	} else {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else
+			printstr(tcp, tcp->u_arg[1], tcp->u_rval);
+		tprintf(", %lu", tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+int
+sys_write(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
+		tprintf(", %lu", tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+#if HAVE_SYS_UIO_H
+void
+tprint_iov(tcp, len, addr)
+struct tcb * tcp;
+unsigned long len;
+unsigned long addr;
+{
+#if defined(LINUX) && SUPPORTED_PERSONALITIES > 1
+	union {
+		struct { u_int32_t base; u_int32_t len; } iov32;
+		struct { u_int64_t base; u_int64_t len; } iov64;
+	} iov;
+#define sizeof_iov \
+  (personality_wordsize[current_personality] == 4 \
+   ? sizeof(iov.iov32) : sizeof(iov.iov64))
+#define iov_iov_base \
+  (personality_wordsize[current_personality] == 4 \
+   ? (u_int64_t) iov.iov32.base : iov.iov64.base)
+#define iov_iov_len \
+  (personality_wordsize[current_personality] == 4 \
+   ? (u_int64_t) iov.iov32.len : iov.iov64.len)
+#else
+	struct iovec iov;
+#define sizeof_iov sizeof(iov)
+#define iov_iov_base iov.iov_base
+#define iov_iov_len iov.iov_len
+#endif
+	unsigned long size, cur, end, abbrev_end;
+	int failed = 0;
+
+	if (!len) {
+		tprintf("[]");
+		return;
+	}
+	size = len * sizeof_iov;
+	end = addr + size;
+	if (!verbose(tcp) || size / sizeof_iov != len || end < addr) {
+		tprintf("%#lx", addr);
+		return;
+	}
+	if (abbrev(tcp)) {
+		abbrev_end = addr + max_strlen * sizeof_iov;
+		if (abbrev_end < addr)
+			abbrev_end = end;
+	} else {
+		abbrev_end = end;
+	}
+	tprintf("[");
+	for (cur = addr; cur < end; cur += sizeof_iov) {
+		if (cur > addr)
+			tprintf(", ");
+		if (cur >= abbrev_end) {
+			tprintf("...");
+			break;
+		}
+		if (umoven(tcp, cur, sizeof_iov, (char *) &iov) < 0) {
+			tprintf("?");
+			failed = 1;
+			break;
+		}
+		tprintf("{");
+		printstr(tcp, (long) iov_iov_base, iov_iov_len);
+		tprintf(", %lu}", (unsigned long)iov_iov_len);
+	}
+	tprintf("]");
+	if (failed)
+		tprintf(" %#lx", addr);
+#undef sizeof_iov
+#undef iov_iov_base
+#undef iov_iov_len
+}
+
+int
+sys_readv(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+	} else {
+		if (syserror(tcp)) {
+			tprintf("%#lx, %lu",
+					tcp->u_arg[1], tcp->u_arg[2]);
+			return 0;
+		}
+		tprint_iov(tcp, tcp->u_arg[2], tcp->u_arg[1]);
+		tprintf(", %lu", tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+int
+sys_writev(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		tprint_iov(tcp, tcp->u_arg[2], tcp->u_arg[1]);
+		tprintf(", %lu", tcp->u_arg[2]);
+	}
+	return 0;
+}
+#endif
+
+#if defined(SVR4)
+
+int
+sys_pread(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+	} else {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else
+			printstr(tcp, tcp->u_arg[1], tcp->u_rval);
+#if UNIXWARE
+		/* off_t is signed int */
+		tprintf(", %lu, %ld", tcp->u_arg[2], tcp->u_arg[3]);
+#else
+		tprintf(", %lu, %llu", tcp->u_arg[2],
+			LONG_LONG(tcp->u_arg[3], tcp->u_arg[4]));
+#endif
+	}
+	return 0;
+}
+
+int
+sys_pwrite(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
+#if UNIXWARE
+		/* off_t is signed int */
+		tprintf(", %lu, %ld", tcp->u_arg[2], tcp->u_arg[3]);
+#else
+		tprintf(", %lu, %llu", tcp->u_arg[2],
+			LONG_LONG(tcp->u_arg[3], tcp->u_arg[4]));
+#endif
+	}
+	return 0;
+}
+#endif /* SVR4 */
+
+#ifdef FREEBSD
+#include <sys/types.h>
+#include <sys/socket.h>
+
+int
+sys_sendfile(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, %ld, %llu, %lu", tcp->u_arg[0], tcp->u_arg[1],
+			LONG_LONG(tcp->u_arg[2], tcp->u_arg[3]),
+			tcp->u_arg[4]);
+	} else {
+		off_t offset;
+
+		if (!tcp->u_arg[5])
+			tprintf(", NULL");
+		else {
+			struct sf_hdtr hdtr;
+
+			if (umove(tcp, tcp->u_arg[5], &hdtr) < 0)
+				tprintf(", %#lx", tcp->u_arg[5]);
+			else {
+				tprintf(", { ");
+				tprint_iov(tcp, hdtr.hdr_cnt, hdtr.headers);
+				tprintf(", %u, ", hdtr.hdr_cnt);
+				tprint_iov(tcp, hdtr.trl_cnt, hdtr.trailers);
+				tprintf(", %u }", hdtr.hdr_cnt);
+			}
+		}
+		if (!tcp->u_arg[6])
+			tprintf(", NULL");
+		else if (umove(tcp, tcp->u_arg[6], &offset) < 0)
+			tprintf(", %#lx", tcp->u_arg[6]);
+		else
+			tprintf(", [%llu]", offset);
+		tprintf(", %lu", tcp->u_arg[7]);
+	}
+	return 0;
+}
+#endif /* FREEBSD */
+
+#ifdef LINUX
+
+/* The SH4 ABI does allow long longs in odd-numbered registers, but
+   does not allow them to be split between registers and memory - and
+   there are only four argument registers for normal functions.  As a
+   result pread takes an extra padding argument before the offset.  This
+   was changed late in the 2.4 series (around 2.4.20).  */
+#if defined(SH)
+#define PREAD_OFFSET_ARG 4
+#else
+#define PREAD_OFFSET_ARG 3
+#endif
+
+int
+sys_pread(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+	} else {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else
+			printstr(tcp, tcp->u_arg[1], tcp->u_rval);
+		tprintf(", %lu, ", tcp->u_arg[2]);
+		printllval(tcp, "%llu", PREAD_OFFSET_ARG);
+	}
+	return 0;
+}
+
+int
+sys_pwrite(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
+		tprintf(", %lu, ", tcp->u_arg[2]);
+		printllval(tcp, "%llu", PREAD_OFFSET_ARG);
+	}
+	return 0;
+}
+
+int
+sys_sendfile(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		off_t offset;
+
+		tprintf("%ld, %ld, ", tcp->u_arg[0], tcp->u_arg[1]);
+		if (!tcp->u_arg[2])
+			tprintf("NULL");
+		else if (umove(tcp, tcp->u_arg[2], &offset) < 0)
+			tprintf("%#lx", tcp->u_arg[2]);
+		else
+			tprintf("[%lu]", offset);
+		tprintf(", %lu", tcp->u_arg[3]);
+	}
+	return 0;
+}
+
+int
+sys_sendfile64(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		loff_t offset;
+
+		tprintf("%ld, %ld, ", tcp->u_arg[0], tcp->u_arg[1]);
+		if (!tcp->u_arg[2])
+			tprintf("NULL");
+		else if (umove(tcp, tcp->u_arg[2], &offset) < 0)
+			tprintf("%#lx", tcp->u_arg[2]);
+		else
+			tprintf("[%llu]", (unsigned long long int) offset);
+		tprintf(", %lu", tcp->u_arg[3]);
+	}
+	return 0;
+}
+
+#endif /* LINUX */
+
+#if _LFS64_LARGEFILE || HAVE_LONG_LONG_OFF_T
+int
+sys_pread64(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+	} else {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else
+			printstr(tcp, tcp->u_arg[1], tcp->u_rval);
+		tprintf(", %lu, ", tcp->u_arg[2]);
+		printllval(tcp, "%#llx", 3);
+	}
+	return 0;
+}
+
+int
+sys_pwrite64(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
+		tprintf(", %lu, ", tcp->u_arg[2]);
+		printllval(tcp, "%#llx", 3);
+	}
+	return 0;
+}
+#endif
+
+int
+sys_ioctl(tcp)
+struct tcb *tcp;
+{
+	const struct ioctlent *iop;
+
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		iop = ioctl_lookup(tcp->u_arg[1]);
+		if (iop) {
+			tprintf("%s", iop->symbol);
+			while ((iop = ioctl_next_match(iop)))
+				tprintf(" or %s", iop->symbol);
+		} else
+			tprintf("%#lx", tcp->u_arg[1]);
+		ioctl_decode(tcp, tcp->u_arg[1], tcp->u_arg[2]);
+	}
+	else {
+		int ret;
+		if (!(ret = ioctl_decode(tcp, tcp->u_arg[1], tcp->u_arg[2])))
+			tprintf(", %#lx", tcp->u_arg[2]);
+		else
+			return ret - 1;
+	}
+	return 0;
+}
diff --git a/strace-4.5.20/ioctl.c b/strace-4.5.20/ioctl.c
new file mode 100644
index 0000000..906c71e
--- /dev/null
+++ b/strace-4.5.20/ioctl.c
@@ -0,0 +1,210 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-2001 Wichert Akkerman <wichert@cistron.nl>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+const struct ioctlent ioctlent0[] = {
+/*
+ * `ioctlent.h' may be generated from `ioctlent.raw' by the auxiliary
+ * program `ioctlsort', such that the list is sorted by the `code' field.
+ * This has the side-effect of resolving the _IO.. macros into
+ * plain integers, eliminating the need to include here everything
+ * in "/usr/include" .
+ */
+#include "ioctlent.h"
+};
+
+#ifdef LINUX
+#include <asm/ioctl.h>
+#endif
+
+const int nioctlents0 = sizeof ioctlent0 / sizeof ioctlent0[0];
+
+#if SUPPORTED_PERSONALITIES >= 2
+const struct ioctlent ioctlent1[] = {
+#include "ioctlent1.h"
+};
+
+const int nioctlents1 = sizeof ioctlent1 / sizeof ioctlent1[0];
+#endif /* SUPPORTED_PERSONALITIES >= 2 */
+
+#if SUPPORTED_PERSONALITIES >= 3
+const struct ioctlent ioctlent2[] = {
+#include "ioctlent2.h"
+};
+
+const int nioctlents2 = sizeof ioctlent2 / sizeof ioctlent2[0];
+#endif /* SUPPORTED_PERSONALITIES >= 3 */
+
+const struct ioctlent *ioctlent;
+int nioctlents;
+
+static int
+compare(a, b)
+const void *a;
+const void *b;
+{
+	unsigned long code1 = ((struct ioctlent *) a)->code;
+	unsigned long code2 = ((struct ioctlent *) b)->code;
+	return (code1 > code2) ? 1 : (code1 < code2) ? -1 : 0;
+}
+
+const struct ioctlent *
+ioctl_lookup(code)
+long code;
+{
+	struct ioctlent *iop, ioent;
+
+	ioent.code = code;
+#ifdef LINUX
+	ioent.code &= (_IOC_NRMASK<<_IOC_NRSHIFT) | (_IOC_TYPEMASK<<_IOC_TYPESHIFT);
+#endif
+	iop = (struct ioctlent *) bsearch((char *) &ioent, (char *) ioctlent,
+			nioctlents, sizeof(struct ioctlent), compare);
+	while (iop > ioctlent)
+		if ((--iop)->code != ioent.code) {
+			iop++;
+			break;
+		}
+	return iop;
+}
+
+const struct ioctlent *
+ioctl_next_match(iop)
+const struct ioctlent *iop;
+{
+	long code;
+
+	code = (iop++)->code;
+	if (iop < ioctlent + nioctlents && iop->code == code)
+		return iop;
+	return NULL;
+}
+
+int
+ioctl_decode(tcp, code, arg)
+struct tcb *tcp;
+long code, arg;
+{
+	switch ((code >> 8) & 0xff) {
+#ifdef LINUX
+#if defined(ALPHA) || defined(POWERPC)
+	case 'f': case 't': case 'T':
+#else /* !ALPHA */
+	case 0x54:
+#endif /* !ALPHA */
+#else /* !LINUX */
+	case 'f': case 't': case 'T':
+#endif /* !LINUX */
+		return term_ioctl(tcp, code, arg);
+#ifdef LINUX
+	case 0x89:
+#else /* !LINUX */
+	case 'r': case 's': case 'i':
+#ifndef FREEBSD
+	case 'p':
+#endif
+#endif /* !LINUX */
+		return sock_ioctl(tcp, code, arg);
+#ifdef USE_PROCFS
+#ifndef HAVE_MP_PROCFS
+#ifndef FREEBSD
+	case 'q':
+#else
+	case 'p':
+#endif
+		return proc_ioctl(tcp, code, arg);
+#endif
+#endif /* USE_PROCFS */
+#ifdef HAVE_SYS_STREAM_H
+	case 'S':
+		return stream_ioctl(tcp, code, arg);
+#endif /* HAVE_SYS_STREAM_H */
+#ifdef LINUX
+	case 'p':
+		return rtc_ioctl(tcp, code, arg);
+	case 0x22:
+		return scsi_ioctl(tcp, code, arg);
+#endif
+	default:
+		break;
+	}
+	return 0;
+}
+
+/*
+ * Registry of ioctl characters, culled from
+ *	@(#)ioccom.h 1.7 89/06/16 SMI; from UCB ioctl.h 7.1 6/4/86
+ *
+ * char	file where defined		notes
+ * ----	------------------		-----
+ *   F	sun/fbio.h
+ *   G	sun/gpio.h
+ *   H	vaxif/if_hy.h
+ *   M	sundev/mcpcmd.h			*overlap*
+ *   M	sys/modem.h			*overlap*
+ *   S	sys/stropts.h
+ *   T	sys/termio.h			-no overlap-
+ *   T	sys/termios.h			-no overlap-
+ *   V	sundev/mdreg.h
+ *   a	vaxuba/adreg.h
+ *   d	sun/dkio.h			-no overlap with sys/des.h-
+ *   d	sys/des.h			(possible overlap)
+ *   d	vax/dkio.h			(possible overlap)
+ *   d	vaxuba/rxreg.h			(possible overlap)
+ *   f	sys/filio.h
+ *   g	sunwindow/win_ioctl.h		-no overlap-
+ *   g	sunwindowdev/winioctl.c		!no manifest constant! -no overlap-
+ *   h	sundev/hrc_common.h
+ *   i	sys/sockio.h			*overlap*
+ *   i	vaxuba/ikreg.h			*overlap*
+ *   k	sundev/kbio.h
+ *   m	sundev/msio.h			(possible overlap)
+ *   m	sundev/msreg.h			(possible overlap)
+ *   m	sys/mtio.h			(possible overlap)
+ *   n	sun/ndio.h
+ *   p	net/nit_buf.h			(possible overlap)
+ *   p	net/nit_if.h			(possible overlap)
+ *   p	net/nit_pf.h			(possible overlap)
+ *   p	sundev/fpareg.h			(possible overlap)
+ *   p	sys/sockio.h			(possible overlap)
+ *   p	vaxuba/psreg.h			(possible overlap)
+ *   q	sun/sqz.h
+ *   r	sys/sockio.h
+ *   s	sys/sockio.h
+ *   t	sys/ttold.h			(possible overlap)
+ *   t	sys/ttycom.h			(possible overlap)
+ *   v	sundev/vuid_event.h		*overlap*
+ *   v	sys/vcmd.h			*overlap*
+ *
+ * End of Registry
+ */
diff --git a/strace-4.5.20/ioctlsort.c b/strace-4.5.20/ioctlsort.c
new file mode 100644
index 0000000..1009d75
--- /dev/null
+++ b/strace-4.5.20/ioctlsort.c
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+
+#include <stdio.h>
+
+#ifdef STDC_HEADERS
+#include <stdlib.h>
+#endif
+
+struct ioctlent {
+	char *doth;
+	char *symbol;
+	unsigned long code;
+};
+
+#include "ioctlent.raw"
+
+int nioctlents = sizeof ioctlent / sizeof ioctlent[0];
+
+int
+compare(a, b)
+const void *a;
+const void *b;
+{
+	unsigned long code1 = ((struct ioctlent *) a)->code;
+	unsigned long code2 = ((struct ioctlent *) b)->code;
+	return (code1 > code2) ? 1 : (code1 < code2) ? -1 : 0;
+}
+
+int
+main(argc, argv)
+int argc;
+char *argv[];
+{
+	int i;
+
+	qsort(ioctlent, nioctlents, sizeof ioctlent[0], compare);
+	for (i = 0; i < nioctlents; i++) {
+		printf("{\"%s\", \"%s\", %#lx},\n",
+			ioctlent[i].doth, ioctlent[i].symbol, ioctlent[i].code);
+	}
+	return 0;
+}
diff --git a/strace-4.5.20/ipc.c b/strace-4.5.20/ipc.c
new file mode 100644
index 0000000..4c902bf
--- /dev/null
+++ b/strace-4.5.20/ipc.c
@@ -0,0 +1,565 @@
+/*
+ * Copyright (c) 1993 Ulrich Pegelow <pegelow@moorea.uni-muenster.de>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+#if defined(LINUX) || defined(SUNOS4) || defined(FREEBSD)
+
+# ifdef HAVE_MQUEUE_H
+#  include <mqueue.h>
+# endif
+
+#include <fcntl.h>
+#include <sys/ipc.h>
+#include <sys/sem.h>
+#include <sys/msg.h>
+#include <sys/shm.h>
+
+#ifndef MSG_STAT
+#define MSG_STAT 11
+#endif
+#ifndef MSG_INFO
+#define MSG_INFO 12
+#endif
+#ifndef SHM_STAT
+#define SHM_STAT 13
+#endif
+#ifndef SHM_INFO
+#define SHM_INFO 14
+#endif
+#ifndef SEM_STAT
+#define SEM_STAT 18
+#endif
+#ifndef SEM_INFO
+#define SEM_INFO 19
+#endif
+
+#if defined LINUX && !defined IPC_64
+# define IPC_64 0x100
+#endif
+
+extern void printsigevent(struct tcb *tcp, long arg);
+
+static const struct xlat msgctl_flags[] = {
+	{ IPC_RMID,	"IPC_RMID"	},
+	{ IPC_SET,	"IPC_SET"	},
+	{ IPC_STAT,	"IPC_STAT"	},
+#ifdef LINUX
+	{ IPC_INFO,	"IPC_INFO"	},
+	{ MSG_STAT,	"MSG_STAT"	},
+	{ MSG_INFO,	"MSG_INFO"	},
+#endif /* LINUX */
+	{ 0,		NULL		},
+};
+
+static const struct xlat semctl_flags[] = {
+	{ IPC_RMID,	"IPC_RMID"	},
+	{ IPC_SET,	"IPC_SET"	},
+	{ IPC_STAT,	"IPC_STAT"	},
+#ifdef LINUX
+	{ IPC_INFO,	"IPC_INFO"	},
+	{ SEM_STAT,	"SEM_STAT"	},
+	{ SEM_INFO,	"SEM_INFO"	},
+#endif /* LINUX */
+	{ GETPID,	"GETPID"	},
+	{ GETVAL,	"GETVAL"	},
+	{ GETALL,	"GETALL"	},
+	{ GETNCNT,	"GETNCNT"	},
+	{ GETZCNT,	"GETZCNT"	},
+	{ SETVAL,	"SETVAL"	},
+	{ SETALL,	"SETALL"	},
+	{ 0,		NULL		},
+};
+
+static const struct xlat shmctl_flags[] = {
+	{ IPC_RMID,	"IPC_RMID"	},
+	{ IPC_SET,	"IPC_SET"	},
+	{ IPC_STAT,	"IPC_STAT"	},
+#ifdef LINUX
+	{ IPC_INFO,	"IPC_INFO"	},
+	{ SHM_STAT,	"SHM_STAT"	},
+	{ SHM_INFO,	"SHM_INFO"	},
+#endif /* LINUX */
+#ifdef SHM_LOCK
+	{ SHM_LOCK,	"SHM_LOCK"	},
+#endif
+#ifdef SHM_UNLOCK
+	{ SHM_UNLOCK,	"SHM_UNLOCK"	},
+#endif
+	{ 0,		NULL		},
+};
+
+static const struct xlat resource_flags[] = {
+	{ IPC_CREAT,	"IPC_CREAT"	},
+	{ IPC_EXCL,	"IPC_EXCL"	},
+	{ IPC_NOWAIT,	"IPC_NOWAIT"	},
+	{ 0,		NULL		},
+};
+
+static const struct xlat shm_resource_flags[] = {
+	{ IPC_CREAT,	"IPC_CREAT"	},
+	{ IPC_EXCL,	"IPC_EXCL"	},
+#ifdef SHM_HUGETLB
+	{ SHM_HUGETLB,	"SHM_HUGETLB"	},
+#endif
+	{ 0,		NULL		},
+};
+
+static const struct xlat shm_flags[] = {
+#ifdef LINUX
+	{ SHM_REMAP,	"SHM_REMAP"	},
+#endif /* LINUX */
+	{ SHM_RDONLY,	"SHM_RDONLY"	},
+	{ SHM_RND,	"SHM_RND"	},
+	{ 0,		NULL		},
+};
+
+static const struct xlat msg_flags[] = {
+	{ MSG_NOERROR,	"MSG_NOERROR"	},
+#ifdef LINUX
+	{ MSG_EXCEPT,	"MSG_EXCEPT"	},
+#endif /* LINUX */
+	{ IPC_NOWAIT,	"IPC_NOWAIT"	},
+	{ 0,		NULL		},
+};
+
+static const struct xlat semop_flags[] = {
+	{ SEM_UNDO,	"SEM_UNDO"	},
+	{ IPC_NOWAIT,	"IPC_NOWAIT"	},
+	{ 0,		NULL		},
+};
+
+int sys_msgget(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		if (tcp->u_arg[0])
+			tprintf("%#lx", tcp->u_arg[0]);
+		else
+			tprintf("IPC_PRIVATE");
+		tprintf(", ");
+		if (printflags(resource_flags, tcp->u_arg[1] & ~0777, NULL) != 0)
+			tprintf("|");
+		tprintf("%#lo", tcp->u_arg[1] & 0777);
+	}
+	return 0;
+}
+
+#ifdef IPC_64
+# define PRINTCTL(flagset, arg, dflt) \
+	if ((arg) & IPC_64) tprintf("IPC_64|"); \
+	printxval((flagset), (arg) &~ IPC_64, dflt)
+#else
+# define PRINTCTL printxval
+#endif
+
+static int
+indirect_ipccall(tcp)
+struct tcb *tcp;
+{
+#ifdef LINUX
+#ifdef X86_64
+	return current_personality > 0;
+#endif
+#if defined IA64
+	return tcp->scno < 1024; /* ia32 emulation syscalls are low */
+#endif
+#if !defined MIPS && !defined HPPA
+	return 1;
+#endif
+#endif	/* LINUX */
+	return 0;
+}
+
+int sys_msgctl(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%lu, ", tcp->u_arg[0]);
+		PRINTCTL(msgctl_flags, tcp->u_arg[1], "MSG_???");
+		tprintf(", %#lx", tcp->u_arg[indirect_ipccall(tcp) ? 3 : 2]);
+	}
+	return 0;
+}
+
+static void
+tprint_msgsnd(struct tcb *tcp, long addr, unsigned long count,
+	      unsigned long flags)
+{
+	long mtype;
+
+	if (umove(tcp, addr, &mtype) < 0) {
+		tprintf("%#lx", addr);
+	} else {
+		tprintf("{%lu, ", mtype);
+		printstr(tcp, addr + sizeof(mtype), count);
+		tprintf("}");
+	}
+	tprintf(", %lu, ", count);
+	printflags(msg_flags, flags, "MSG_???");
+}
+
+int sys_msgsnd(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%d, ", (int) tcp->u_arg[0]);
+		if (indirect_ipccall(tcp)) {
+			tprint_msgsnd(tcp, tcp->u_arg[3], tcp->u_arg[1],
+				      tcp->u_arg[2]);
+		} else {
+			tprint_msgsnd(tcp, tcp->u_arg[1], tcp->u_arg[2],
+				      tcp->u_arg[3]);
+		}
+	}
+	return 0;
+}
+
+static void
+tprint_msgrcv(struct tcb *tcp, long addr, unsigned long count, long msgtyp)
+{
+	long mtype;
+
+	if (syserror(tcp) || umove(tcp, addr, &mtype) < 0) {
+		tprintf("%#lx", addr);
+	} else {
+		tprintf("{%lu, ", mtype);
+		printstr(tcp, addr + sizeof(mtype), count);
+		tprintf("}");
+	}
+	tprintf(", %lu, %ld, ", count, msgtyp);
+}
+
+int sys_msgrcv(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%d, ", (int) tcp->u_arg[0]);
+	} else {
+		if (indirect_ipccall(tcp)) {
+			struct ipc_wrapper {
+				struct msgbuf *msgp;
+				long msgtyp;
+			} tmp;
+
+			if (umove(tcp, tcp->u_arg[3], &tmp) < 0) {
+				tprintf("%#lx, %lu, ",
+					tcp->u_arg[3], tcp->u_arg[1]);
+			} else {
+				tprint_msgrcv(tcp, (long) tmp.msgp,
+					tcp->u_arg[1], tmp.msgtyp);
+			}
+			printflags(msg_flags, tcp->u_arg[2], "MSG_???");
+		} else {
+			tprint_msgrcv(tcp, tcp->u_arg[1],
+				tcp->u_arg[2], tcp->u_arg[3]);
+			printflags(msg_flags, tcp->u_arg[4], "MSG_???");
+		}
+	}
+	return 0;
+}
+
+static void
+tprint_sembuf(struct tcb *tcp, long addr, unsigned long count)
+{
+	unsigned long i, max_count;
+
+	if (abbrev(tcp))
+		max_count = (max_strlen < count) ? max_strlen : count;
+	else
+		max_count = count;
+
+	if (!max_count) {
+		tprintf("%#lx, %lu", addr, count);
+		return;
+	}
+
+	for(i = 0; i < max_count; ++i) {
+		struct sembuf sb;
+		if (i)
+			tprintf(", ");
+		if (umove(tcp, addr + i * sizeof(struct sembuf), &sb) < 0) {
+			if (i) {
+				tprintf("{???}");
+				break;
+			} else {
+				tprintf("%#lx, %lu", addr, count);
+				return;
+			}
+		} else {
+			if (!i)
+				tprintf("{");
+			tprintf("{%u, %d, ", sb.sem_num, sb.sem_op);
+			printflags(semop_flags, sb.sem_flg, "SEM_???");
+			tprintf("}");
+		}
+	}
+
+	if (i < max_count || max_count < count)
+		tprintf(", ...");
+
+	tprintf("}, %lu", count);
+}
+
+int sys_semop(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%lu, ", tcp->u_arg[0]);
+		if (indirect_ipccall(tcp)) {
+			tprint_sembuf(tcp, tcp->u_arg[3], tcp->u_arg[1]);
+		} else {
+			tprint_sembuf(tcp, tcp->u_arg[1], tcp->u_arg[2]);
+		}
+	}
+	return 0;
+}
+
+#ifdef LINUX
+int sys_semtimedop(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%lu, ", tcp->u_arg[0]);
+		if (indirect_ipccall(tcp)) {
+			tprint_sembuf(tcp, tcp->u_arg[3], tcp->u_arg[1]);
+			tprintf(", ");
+			printtv(tcp, tcp->u_arg[5]);
+		} else {
+			tprint_sembuf(tcp, tcp->u_arg[1], tcp->u_arg[2]);
+			tprintf(", ");
+			printtv(tcp, tcp->u_arg[3]);
+		}
+	}
+	return 0;
+}
+#endif
+
+int sys_semget(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		if (tcp->u_arg[0])
+			tprintf("%#lx", tcp->u_arg[0]);
+		else
+			tprintf("IPC_PRIVATE");
+		tprintf(", %lu", tcp->u_arg[1]);
+		tprintf(", ");
+		if (printflags(resource_flags, tcp->u_arg[2] & ~0777, NULL) != 0)
+			tprintf("|");
+		tprintf("%#lo", tcp->u_arg[2] & 0777);
+	}
+	return 0;
+}
+
+int sys_semctl(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%lu", tcp->u_arg[0]);
+		tprintf(", %lu, ", tcp->u_arg[1]);
+		PRINTCTL(semctl_flags, tcp->u_arg[2], "SEM_???");
+		tprintf(", %#lx", tcp->u_arg[3]);
+	}
+	return 0;
+}
+
+int sys_shmget(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		if (tcp->u_arg[0])
+			tprintf("%#lx", tcp->u_arg[0]);
+		else
+			tprintf("IPC_PRIVATE");
+		tprintf(", %lu", tcp->u_arg[1]);
+		tprintf(", ");
+		if (printflags(shm_resource_flags, tcp->u_arg[2] & ~0777, NULL) != 0)
+			tprintf("|");
+		tprintf("%#lo", tcp->u_arg[2] & 0777);
+	}
+	return 0;
+}
+
+int sys_shmctl(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%lu, ", tcp->u_arg[0]);
+		PRINTCTL(shmctl_flags, tcp->u_arg[1], "SHM_???");
+		if (indirect_ipccall(tcp)) {
+			tprintf(", %#lx", tcp->u_arg[3]);
+		} else {
+			tprintf(", %#lx", tcp->u_arg[2]);
+		}
+	}
+	return 0;
+}
+
+int sys_shmat(tcp)
+struct tcb *tcp;
+{
+#ifdef LINUX
+	unsigned long raddr;
+#endif /* LINUX */
+
+	if (exiting(tcp)) {
+		tprintf("%lu", tcp->u_arg[0]);
+		if (indirect_ipccall(tcp)) {
+			tprintf(", %#lx", tcp->u_arg[3]);
+			tprintf(", ");
+			printflags(shm_flags, tcp->u_arg[1], "SHM_???");
+		} else {
+			tprintf(", %#lx", tcp->u_arg[1]);
+			tprintf(", ");
+			printflags(shm_flags, tcp->u_arg[2], "SHM_???");
+		}
+		if (syserror(tcp))
+			return 0;
+/* HPPA does not use an IPC multiplexer on Linux.  */
+#if defined(LINUX) && !defined(HPPA)
+		if (umove(tcp, tcp->u_arg[2], &raddr) < 0)
+			return RVAL_NONE;
+		tcp->u_rval = raddr;
+#endif /* LINUX */
+		return RVAL_HEX;
+	}
+	return 0;
+}
+
+int sys_shmdt(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		if (indirect_ipccall(tcp)) {
+			tprintf("%#lx", tcp->u_arg[3]);
+		} else {
+			tprintf("%#lx", tcp->u_arg[0]);
+		}
+	}
+	return 0;
+}
+
+#endif /* defined(LINUX) || defined(SUNOS4) || defined(FREEBSD) */
+
+#ifdef LINUX
+int
+sys_mq_open(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+		/* flags */
+		tprint_open_modes(tcp->u_arg[1]);
+		if (tcp->u_arg[1] & O_CREAT) {
+# ifndef HAVE_MQUEUE_H
+			tprintf(", %lx", tcp->u_arg[2]);
+# else
+			struct mq_attr attr;
+			/* mode */
+			tprintf(", %#lo, ", tcp->u_arg[2]);
+			if (umove(tcp, tcp->u_arg[3], &attr) < 0)
+				tprintf("{ ??? }");
+			else
+				tprintf("{mq_maxmsg=%ld, mq_msgsize=%ld}",
+					attr.mq_maxmsg, attr.mq_msgsize);
+# endif
+		}
+	}
+	return 0;
+}
+
+int
+sys_mq_timedsend(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
+		tprintf(", %lu, %ld, ", tcp->u_arg[2], tcp->u_arg[3]);
+		printtv(tcp, tcp->u_arg[4]);
+	}
+	return 0;
+}
+
+int
+sys_mq_timedreceive(struct tcb *tcp)
+{
+	if (entering(tcp))
+		tprintf("%ld, ", tcp->u_arg[0]);
+	else {
+		printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
+		tprintf(", %lu, %ld, ", tcp->u_arg[2], tcp->u_arg[3]);
+		printtv(tcp, tcp->u_arg[4]);
+	}
+	return 0;
+}
+
+int
+sys_mq_notify(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printsigevent(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+static void
+printmqattr(struct tcb *tcp, long addr)
+{
+	if (addr == 0)
+		tprintf("NULL");
+	else {
+# ifndef HAVE_MQUEUE_H
+		tprintf("%#lx", addr);
+# else
+		struct mq_attr attr;
+		if (umove(tcp, addr, &attr) < 0) {
+			tprintf("{...}");
+			return;
+		}
+		tprintf("{mq_flags=");
+		tprint_open_modes(attr.mq_flags);
+		tprintf(", mq_maxmsg=%ld, mq_msgsize=%ld, mq_curmsg=%ld}",
+			attr.mq_maxmsg, attr.mq_msgsize, attr.mq_curmsgs);
+# endif
+	}
+}
+
+int
+sys_mq_getsetattr(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printmqattr(tcp, tcp->u_arg[1]);
+		tprintf(", ");
+	} else
+		printmqattr(tcp, tcp->u_arg[2]);
+	return 0;
+}
+#endif
diff --git a/strace-4.5.20/linux/alpha/errnoent.h b/strace-4.5.20/linux/alpha/errnoent.h
new file mode 100644
index 0000000..4ffaff9
--- /dev/null
+++ b/strace-4.5.20/linux/alpha/errnoent.h
@@ -0,0 +1,516 @@
+	"ERRNO_0", /* 0 */
+	"EPERM", /* 1 */
+	"ENOENT", /* 2 */
+	"ESRCH", /* 3 */
+	"EINTR", /* 4 */
+	"EIO", /* 5 */
+	"ENXIO", /* 6 */
+	"E2BIG", /* 7 */
+	"ENOEXEC", /* 8 */
+	"EBADF", /* 9 */
+	"ECHILD", /* 10 */
+	"EDEADLK", /* 11 */
+	"ENOMEM", /* 12 */
+	"EACCES", /* 13 */
+	"EFAULT", /* 14 */
+	"ENOTBLK", /* 15 */
+	"EBUSY", /* 16 */
+	"EEXIST", /* 17 */
+	"EXDEV", /* 18 */
+	"ENODEV", /* 19 */
+	"ENOTDIR", /* 20 */
+	"EISDIR", /* 21 */
+	"EINVAL", /* 22 */
+	"ENFILE", /* 23 */
+	"EMFILE", /* 24 */
+	"ENOTTY", /* 25 */
+	"ETXTBSY", /* 26 */
+	"EFBIG", /* 27 */
+	"ENOSPC", /* 28 */
+	"ESPIPE", /* 29 */
+	"EROFS", /* 30 */
+	"EMLINK", /* 31 */
+	"EPIPE", /* 32 */
+	"EDOM", /* 33 */
+	"ERANGE", /* 34 */
+	"EAGAIN", /* 35 */
+	"EINPROGRESS", /* 36 */
+	"EALREADY", /* 37 */
+	"ENOTSOCK", /* 38 */
+	"EDESTADDRREQ", /* 39 */
+	"EMSGSIZE", /* 40 */
+	"EPROTOTYPE", /* 41 */
+	"ENOPROTOOPT", /* 42 */
+	"EPROTONOSUPPORT", /* 43 */
+	"ESOCKTNOSUPPORT", /* 44 */
+	"EOPNOTSUPP", /* 45 */
+	"EPFNOSUPPORT", /* 46 */
+	"EAFNOSUPPORT", /* 47 */
+	"EADDRINUSE", /* 48 */
+	"EADDRNOTAVAIL", /* 49 */
+	"ENETDOWN", /* 50 */
+	"ENETUNREACH", /* 51 */
+	"ENETRESET", /* 52 */
+	"ECONNABORTED", /* 53 */
+	"ECONNRESET", /* 54 */
+	"ENOBUFS", /* 55 */
+	"EISCONN", /* 56 */
+	"ENOTCONN", /* 57 */
+	"ESHUTDOWN", /* 58 */
+	"ETOOMANYREFS", /* 59 */
+	"ETIMEDOUT", /* 60 */
+	"ECONNREFUSED", /* 61 */
+	"ELOOP", /* 62 */
+	"ENAMETOOLONG", /* 63 */
+	"EHOSTDOWN", /* 64 */
+	"EHOSTUNREACH", /* 65 */
+	"ENOTEMPTY", /* 66 */
+	"ERRNO_67", /* 67 */
+	"EUSERS", /* 68 */
+	"EDQUOT", /* 69 */
+	"ESTALE", /* 70 */
+	"EREMOTE", /* 71 */
+	"ERRNO_72", /* 72 */
+	"ERRNO_73", /* 73 */
+	"ERRNO_74", /* 74 */
+	"ERRNO_75", /* 75 */
+	"ERRNO_76", /* 76 */
+	"ENOLCK", /* 77 */
+	"ENOSYS", /* 78 */
+	"ERRNO_79", /* 79 */
+	"ENOMSG", /* 80 */
+	"EIDRM", /* 81 */
+	"ENOSR", /* 82 */
+	"ETIME", /* 83 */
+	"EBADMSG", /* 84 */
+	"EPROTO", /* 85 */
+	"ENODATA", /* 86 */
+	"ENOSTR", /* 87 */
+	"ECHRNG", /* 88 */
+	"EL2NSYNC", /* 89 */
+	"EL3HLT", /* 90 */
+	"EL3RST", /* 91 */
+	"ENOPKG", /* 92 */
+	"ELNRNG", /* 93 */
+	"EUNATCH", /* 94 */
+	"ENOCSI", /* 95 */
+	"EL2HLT", /* 96 */
+	"EBADE", /* 97 */
+	"EBADR", /* 98 */
+	"EXFULL", /* 99 */
+	"ENOANO", /* 100 */
+	"EBADRQC", /* 101 */
+	"EBADSLT", /* 102 */
+	"EDEADLOCK", /* 103 */
+	"EBFONT", /* 104 */
+	"ENONET", /* 105 */
+	"ENOLINK", /* 106 */
+	"EADV", /* 107 */
+	"ESRMNT", /* 108 */
+	"ECOMM", /* 109 */
+	"EMULTIHOP", /* 110 */
+	"EDOTDOT", /* 111 */
+	"EOVERFLOW", /* 112 */
+	"ENOTUNIQ", /* 113 */
+	"EBADFD", /* 114 */
+	"EREMCHG", /* 115 */
+	"EILSEQ", /* 116 */
+	"EUCLEAN", /* 117 */
+	"ENOTNAM", /* 118 */
+	"ENAVAIL", /* 119 */
+	"EISNAM", /* 120 */
+	"EREMOTEIO", /* 121 */
+	"ELIBACC", /* 122 */
+	"ELIBBAD", /* 123 */
+	"ELIBSCN", /* 124 */
+	"ELIBMAX", /* 125 */
+	"ELIBEXEC", /* 126 */
+	"ERESTART", /* 127 */
+	"ESTRPIPE", /* 128 */
+	"ERRNO_129", /* 129 */
+	"ERRNO_130", /* 130 */
+	"ERRNO_131", /* 131 */
+	"ERRNO_132", /* 132 */
+	"ERRNO_133", /* 133 */
+	"ERRNO_134", /* 134 */
+	"ERRNO_135", /* 135 */
+	"ERRNO_136", /* 136 */
+	"ERRNO_137", /* 137 */
+	"ERRNO_138", /* 138 */
+	"ERRNO_139", /* 139 */
+	"ERRNO_140", /* 140 */
+	"ERRNO_141", /* 141 */
+	"ERRNO_142", /* 142 */
+	"ERRNO_143", /* 143 */
+	"ERRNO_144", /* 144 */
+	"ERRNO_145", /* 145 */
+	"ERRNO_146", /* 146 */
+	"ERRNO_147", /* 147 */
+	"ERRNO_148", /* 148 */
+	"ERRNO_149", /* 149 */
+	"ERRNO_150", /* 150 */
+	"ERRNO_151", /* 151 */
+	"ERRNO_152", /* 152 */
+	"ERRNO_153", /* 153 */
+	"ERRNO_154", /* 154 */
+	"ERRNO_155", /* 155 */
+	"ERRNO_156", /* 156 */
+	"ERRNO_157", /* 157 */
+	"ERRNO_158", /* 158 */
+	"ERRNO_159", /* 159 */
+	"ERRNO_160", /* 160 */
+	"ERRNO_161", /* 161 */
+	"ERRNO_162", /* 162 */
+	"ERRNO_163", /* 163 */
+	"ERRNO_164", /* 164 */
+	"ERRNO_165", /* 165 */
+	"ERRNO_166", /* 166 */
+	"ERRNO_167", /* 167 */
+	"ERRNO_168", /* 168 */
+	"ERRNO_169", /* 169 */
+	"ERRNO_170", /* 170 */
+	"ERRNO_171", /* 171 */
+	"ERRNO_172", /* 172 */
+	"ERRNO_173", /* 173 */
+	"ERRNO_174", /* 174 */
+	"ERRNO_175", /* 175 */
+	"ERRNO_176", /* 176 */
+	"ERRNO_177", /* 177 */
+	"ERRNO_178", /* 178 */
+	"ERRNO_179", /* 179 */
+	"ERRNO_180", /* 180 */
+	"ERRNO_181", /* 181 */
+	"ERRNO_182", /* 182 */
+	"ERRNO_183", /* 183 */
+	"ERRNO_184", /* 184 */
+	"ERRNO_185", /* 185 */
+	"ERRNO_186", /* 186 */
+	"ERRNO_187", /* 187 */
+	"ERRNO_188", /* 188 */
+	"ERRNO_189", /* 189 */
+	"ERRNO_190", /* 190 */
+	"ERRNO_191", /* 191 */
+	"ERRNO_192", /* 192 */
+	"ERRNO_193", /* 193 */
+	"ERRNO_194", /* 194 */
+	"ERRNO_195", /* 195 */
+	"ERRNO_196", /* 196 */
+	"ERRNO_197", /* 197 */
+	"ERRNO_198", /* 198 */
+	"ERRNO_199", /* 199 */
+	"ERRNO_200", /* 200 */
+	"ERRNO_201", /* 201 */
+	"ERRNO_202", /* 202 */
+	"ERRNO_203", /* 203 */
+	"ERRNO_204", /* 204 */
+	"ERRNO_205", /* 205 */
+	"ERRNO_206", /* 206 */
+	"ERRNO_207", /* 207 */
+	"ERRNO_208", /* 208 */
+	"ERRNO_209", /* 209 */
+	"ERRNO_210", /* 210 */
+	"ERRNO_211", /* 211 */
+	"ERRNO_212", /* 212 */
+	"ERRNO_213", /* 213 */
+	"ERRNO_214", /* 214 */
+	"ERRNO_215", /* 215 */
+	"ERRNO_216", /* 216 */
+	"ERRNO_217", /* 217 */
+	"ERRNO_218", /* 218 */
+	"ERRNO_219", /* 219 */
+	"ERRNO_220", /* 220 */
+	"ERRNO_221", /* 221 */
+	"ERRNO_222", /* 222 */
+	"ERRNO_223", /* 223 */
+	"ERRNO_224", /* 224 */
+	"ERRNO_225", /* 225 */
+	"ERRNO_226", /* 226 */
+	"ERRNO_227", /* 227 */
+	"ERRNO_228", /* 228 */
+	"ERRNO_229", /* 229 */
+	"ERRNO_230", /* 230 */
+	"ERRNO_231", /* 231 */
+	"ERRNO_232", /* 232 */
+	"ERRNO_233", /* 233 */
+	"ERRNO_234", /* 234 */
+	"ERRNO_235", /* 235 */
+	"ERRNO_236", /* 236 */
+	"ERRNO_237", /* 237 */
+	"ERRNO_238", /* 238 */
+	"ERRNO_239", /* 239 */
+	"ERRNO_240", /* 240 */
+	"ERRNO_241", /* 241 */
+	"ERRNO_242", /* 242 */
+	"ERRNO_243", /* 243 */
+	"ERRNO_244", /* 244 */
+	"ERRNO_245", /* 245 */
+	"ERRNO_246", /* 246 */
+	"ERRNO_247", /* 247 */
+	"ERRNO_248", /* 248 */
+	"ERRNO_249", /* 249 */
+	"ERRNO_250", /* 250 */
+	"ERRNO_251", /* 251 */
+	"ERRNO_252", /* 252 */
+	"ERRNO_253", /* 253 */
+	"ERRNO_254", /* 254 */
+	"ERRNO_255", /* 255 */
+	"ERRNO_256", /* 256 */
+	"ERRNO_257", /* 257 */
+	"ERRNO_258", /* 258 */
+	"ERRNO_259", /* 259 */
+	"ERRNO_260", /* 260 */
+	"ERRNO_261", /* 261 */
+	"ERRNO_262", /* 262 */
+	"ERRNO_263", /* 263 */
+	"ERRNO_264", /* 264 */
+	"ERRNO_265", /* 265 */
+	"ERRNO_266", /* 266 */
+	"ERRNO_267", /* 267 */
+	"ERRNO_268", /* 268 */
+	"ERRNO_269", /* 269 */
+	"ERRNO_270", /* 270 */
+	"ERRNO_271", /* 271 */
+	"ERRNO_272", /* 272 */
+	"ERRNO_273", /* 273 */
+	"ERRNO_274", /* 274 */
+	"ERRNO_275", /* 275 */
+	"ERRNO_276", /* 276 */
+	"ERRNO_277", /* 277 */
+	"ERRNO_278", /* 278 */
+	"ERRNO_279", /* 279 */
+	"ERRNO_280", /* 280 */
+	"ERRNO_281", /* 281 */
+	"ERRNO_282", /* 282 */
+	"ERRNO_283", /* 283 */
+	"ERRNO_284", /* 284 */
+	"ERRNO_285", /* 285 */
+	"ERRNO_286", /* 286 */
+	"ERRNO_287", /* 287 */
+	"ERRNO_288", /* 288 */
+	"ERRNO_289", /* 289 */
+	"ERRNO_290", /* 290 */
+	"ERRNO_291", /* 291 */
+	"ERRNO_292", /* 292 */
+	"ERRNO_293", /* 293 */
+	"ERRNO_294", /* 294 */
+	"ERRNO_295", /* 295 */
+	"ERRNO_296", /* 296 */
+	"ERRNO_297", /* 297 */
+	"ERRNO_298", /* 298 */
+	"ERRNO_299", /* 299 */
+	"ERRNO_300", /* 300 */
+	"ERRNO_301", /* 301 */
+	"ERRNO_302", /* 302 */
+	"ERRNO_303", /* 303 */
+	"ERRNO_304", /* 304 */
+	"ERRNO_305", /* 305 */
+	"ERRNO_306", /* 306 */
+	"ERRNO_307", /* 307 */
+	"ERRNO_308", /* 308 */
+	"ERRNO_309", /* 309 */
+	"ERRNO_310", /* 310 */
+	"ERRNO_311", /* 311 */
+	"ERRNO_312", /* 312 */
+	"ERRNO_313", /* 313 */
+	"ERRNO_314", /* 314 */
+	"ERRNO_315", /* 315 */
+	"ERRNO_316", /* 316 */
+	"ERRNO_317", /* 317 */
+	"ERRNO_318", /* 318 */
+	"ERRNO_319", /* 319 */
+	"ERRNO_320", /* 320 */
+	"ERRNO_321", /* 321 */
+	"ERRNO_322", /* 322 */
+	"ERRNO_323", /* 323 */
+	"ERRNO_324", /* 324 */
+	"ERRNO_325", /* 325 */
+	"ERRNO_326", /* 326 */
+	"ERRNO_327", /* 327 */
+	"ERRNO_328", /* 328 */
+	"ERRNO_329", /* 329 */
+	"ERRNO_330", /* 330 */
+	"ERRNO_331", /* 331 */
+	"ERRNO_332", /* 332 */
+	"ERRNO_333", /* 333 */
+	"ERRNO_334", /* 334 */
+	"ERRNO_335", /* 335 */
+	"ERRNO_336", /* 336 */
+	"ERRNO_337", /* 337 */
+	"ERRNO_338", /* 338 */
+	"ERRNO_339", /* 339 */
+	"ERRNO_340", /* 340 */
+	"ERRNO_341", /* 341 */
+	"ERRNO_342", /* 342 */
+	"ERRNO_343", /* 343 */
+	"ERRNO_344", /* 344 */
+	"ERRNO_345", /* 345 */
+	"ERRNO_346", /* 346 */
+	"ERRNO_347", /* 347 */
+	"ERRNO_348", /* 348 */
+	"ERRNO_349", /* 349 */
+	"ERRNO_350", /* 350 */
+	"ERRNO_351", /* 351 */
+	"ERRNO_352", /* 352 */
+	"ERRNO_353", /* 353 */
+	"ERRNO_354", /* 354 */
+	"ERRNO_355", /* 355 */
+	"ERRNO_356", /* 356 */
+	"ERRNO_357", /* 357 */
+	"ERRNO_358", /* 358 */
+	"ERRNO_359", /* 359 */
+	"ERRNO_360", /* 360 */
+	"ERRNO_361", /* 361 */
+	"ERRNO_362", /* 362 */
+	"ERRNO_363", /* 363 */
+	"ERRNO_364", /* 364 */
+	"ERRNO_365", /* 365 */
+	"ERRNO_366", /* 366 */
+	"ERRNO_367", /* 367 */
+	"ERRNO_368", /* 368 */
+	"ERRNO_369", /* 369 */
+	"ERRNO_370", /* 370 */
+	"ERRNO_371", /* 371 */
+	"ERRNO_372", /* 372 */
+	"ERRNO_373", /* 373 */
+	"ERRNO_374", /* 374 */
+	"ERRNO_375", /* 375 */
+	"ERRNO_376", /* 376 */
+	"ERRNO_377", /* 377 */
+	"ERRNO_378", /* 378 */
+	"ERRNO_379", /* 379 */
+	"ERRNO_380", /* 380 */
+	"ERRNO_381", /* 381 */
+	"ERRNO_382", /* 382 */
+	"ERRNO_383", /* 383 */
+	"ERRNO_384", /* 384 */
+	"ERRNO_385", /* 385 */
+	"ERRNO_386", /* 386 */
+	"ERRNO_387", /* 387 */
+	"ERRNO_388", /* 388 */
+	"ERRNO_389", /* 389 */
+	"ERRNO_390", /* 390 */
+	"ERRNO_391", /* 391 */
+	"ERRNO_392", /* 392 */
+	"ERRNO_393", /* 393 */
+	"ERRNO_394", /* 394 */
+	"ERRNO_395", /* 395 */
+	"ERRNO_396", /* 396 */
+	"ERRNO_397", /* 397 */
+	"ERRNO_398", /* 398 */
+	"ERRNO_399", /* 399 */
+	"ERRNO_400", /* 400 */
+	"ERRNO_401", /* 401 */
+	"ERRNO_402", /* 402 */
+	"ERRNO_403", /* 403 */
+	"ERRNO_404", /* 404 */
+	"ERRNO_405", /* 405 */
+	"ERRNO_406", /* 406 */
+	"ERRNO_407", /* 407 */
+	"ERRNO_408", /* 408 */
+	"ERRNO_409", /* 409 */
+	"ERRNO_410", /* 410 */
+	"ERRNO_411", /* 411 */
+	"ERRNO_412", /* 412 */
+	"ERRNO_413", /* 413 */
+	"ERRNO_414", /* 414 */
+	"ERRNO_415", /* 415 */
+	"ERRNO_416", /* 416 */
+	"ERRNO_417", /* 417 */
+	"ERRNO_418", /* 418 */
+	"ERRNO_419", /* 419 */
+	"ERRNO_420", /* 420 */
+	"ERRNO_421", /* 421 */
+	"ERRNO_422", /* 422 */
+	"ERRNO_423", /* 423 */
+	"ERRNO_424", /* 424 */
+	"ERRNO_425", /* 425 */
+	"ERRNO_426", /* 426 */
+	"ERRNO_427", /* 427 */
+	"ERRNO_428", /* 428 */
+	"ERRNO_429", /* 429 */
+	"ERRNO_430", /* 430 */
+	"ERRNO_431", /* 431 */
+	"ERRNO_432", /* 432 */
+	"ERRNO_433", /* 433 */
+	"ERRNO_434", /* 434 */
+	"ERRNO_435", /* 435 */
+	"ERRNO_436", /* 436 */
+	"ERRNO_437", /* 437 */
+	"ERRNO_438", /* 438 */
+	"ERRNO_439", /* 439 */
+	"ERRNO_440", /* 440 */
+	"ERRNO_441", /* 441 */
+	"ERRNO_442", /* 442 */
+	"ERRNO_443", /* 443 */
+	"ERRNO_444", /* 444 */
+	"ERRNO_445", /* 445 */
+	"ERRNO_446", /* 446 */
+	"ERRNO_447", /* 447 */
+	"ERRNO_448", /* 448 */
+	"ERRNO_449", /* 449 */
+	"ERRNO_450", /* 450 */
+	"ERRNO_451", /* 451 */
+	"ERRNO_452", /* 452 */
+	"ERRNO_453", /* 453 */
+	"ERRNO_454", /* 454 */
+	"ERRNO_455", /* 455 */
+	"ERRNO_456", /* 456 */
+	"ERRNO_457", /* 457 */
+	"ERRNO_458", /* 458 */
+	"ERRNO_459", /* 459 */
+	"ERRNO_460", /* 460 */
+	"ERRNO_461", /* 461 */
+	"ERRNO_462", /* 462 */
+	"ERRNO_463", /* 463 */
+	"ERRNO_464", /* 464 */
+	"ERRNO_465", /* 465 */
+	"ERRNO_466", /* 466 */
+	"ERRNO_467", /* 467 */
+	"ERRNO_468", /* 468 */
+	"ERRNO_469", /* 469 */
+	"ERRNO_470", /* 470 */
+	"ERRNO_471", /* 471 */
+	"ERRNO_472", /* 472 */
+	"ERRNO_473", /* 473 */
+	"ERRNO_474", /* 474 */
+	"ERRNO_475", /* 475 */
+	"ERRNO_476", /* 476 */
+	"ERRNO_477", /* 477 */
+	"ERRNO_478", /* 478 */
+	"ERRNO_479", /* 479 */
+	"ERRNO_480", /* 480 */
+	"ERRNO_481", /* 481 */
+	"ERRNO_482", /* 482 */
+	"ERRNO_483", /* 483 */
+	"ERRNO_484", /* 484 */
+	"ERRNO_485", /* 485 */
+	"ERRNO_486", /* 486 */
+	"ERRNO_487", /* 487 */
+	"ERRNO_488", /* 488 */
+	"ERRNO_489", /* 489 */
+	"ERRNO_490", /* 490 */
+	"ERRNO_491", /* 491 */
+	"ERRNO_492", /* 492 */
+	"ERRNO_493", /* 493 */
+	"ERRNO_494", /* 494 */
+	"ERRNO_495", /* 495 */
+	"ERRNO_496", /* 496 */
+	"ERRNO_497", /* 497 */
+	"ERRNO_498", /* 498 */
+	"ERRNO_499", /* 499 */
+	"ERRNO_500", /* 500 */
+	"ERRNO_501", /* 501 */
+	"ERRNO_502", /* 502 */
+	"ERRNO_503", /* 503 */
+	"ERRNO_504", /* 504 */
+	"ERRNO_505", /* 505 */
+	"ERRNO_506", /* 506 */
+	"ERRNO_507", /* 507 */
+	"ERRNO_508", /* 508 */
+	"ERRNO_509", /* 509 */
+	"ERRNO_510", /* 510 */
+	"ERRNO_511", /* 511 */
+	"ERESTARTSYS", /* 512 */
+	"ERESTARTNOINTR", /* 513 */
+	"ERESTARTNOHAND", /* 514 */
+	"ENOIOCTLCMD", /* 515 */
diff --git a/strace-4.5.20/linux/alpha/ioctlent.h b/strace-4.5.20/linux/alpha/ioctlent.h
new file mode 100644
index 0000000..3cfdb5b
--- /dev/null
+++ b/strace-4.5.20/linux/alpha/ioctlent.h
@@ -0,0 +1,852 @@
+	{"linux/fs.h",	"FIBMAP",	0x1},
+	{"linux/fs.h",	"FIGETBSZ",	0x2},
+	{"linux/fd.h",	"FDGETPRM",	0x204},
+	{"linux/fd.h",	"FDGETMAXERRS",	0x20e},
+	{"linux/fd.h",	"FDGETDRVTYP",	0x20f},
+	{"linux/fd.h",	"FDGETDRVPRM",	0x211},
+	{"linux/fd.h",	"FDGETDRVSTAT",	0x212},
+	{"linux/fd.h",	"FDPOLLDRVSTAT",	0x213},
+	{"linux/fd.h",	"FDGETFDCSTAT",	0x215},
+	{"linux/fd.h",	"FDWERRORGET",	0x217},
+	{"linux/fd.h",	"FDCLRPRM",	0x241},
+	{"linux/fd.h",	"FDSETPRM",	0x242},
+	{"linux/fd.h",	"FDDEFPRM",	0x243},
+	{"linux/fd.h",	"FDMSGON",	0x245},
+	{"linux/fd.h",	"FDMSGOFF",	0x246},
+	{"linux/fd.h",	"FDFMTBEG",	0x247},
+	{"linux/fd.h",	"FDFMTTRK",	0x248},
+	{"linux/fd.h",	"FDFMTEND",	0x249},
+	{"linux/fd.h",	"FDSETEMSGTRESH",	0x24a},
+	{"linux/fd.h",	"FDFLUSH",	0x24b},
+	{"linux/fd.h",	"FDSETMAXERRS",	0x24c},
+	{"linux/fd.h",	"FDRESET",	0x254},
+	{"linux/fd.h",	"FDWERRORCLR",	0x256},
+	{"linux/fd.h",	"FDRAWCMD",	0x258},
+	{"linux/fd.h",	"FDTWADDLE",	0x259},
+	{"linux/fd.h",	"FDEJECT",	0x25a},
+	{"linux/fd.h",	"FDSETDRVPRM",	0x290},
+	{"linux/umsdos_fs.h",	"UMSDOS_READDIR_DOS",	0x4d2},
+	{"linux/umsdos_fs.h",	"UMSDOS_UNLINK_DOS",	0x4d3},
+	{"linux/umsdos_fs.h",	"UMSDOS_RMDIR_DOS",	0x4d4},
+	{"linux/umsdos_fs.h",	"UMSDOS_STAT_DOS",	0x4d5},
+	{"linux/umsdos_fs.h",	"UMSDOS_CREAT_EMD",	0x4d6},
+	{"linux/umsdos_fs.h",	"UMSDOS_UNLINK_EMD",	0x4d7},
+	{"linux/umsdos_fs.h",	"UMSDOS_READDIR_EMD",	0x4d8},
+	{"linux/umsdos_fs.h",	"UMSDOS_GETVERSION",	0x4d9},
+	{"linux/umsdos_fs.h",	"UMSDOS_INIT_EMD",	0x4da},
+	{"linux/umsdos_fs.h",	"UMSDOS_DOS_SETUP",	0x4db},
+	{"linux/umsdos_fs.h",	"UMSDOS_RENAME_DOS",	0x4dc},
+	{"linux/fs.h",	"BLKROSET",	0x125d},
+	{"linux/fs.h",	"BLKROGET",	0x125e},
+	{"linux/fs.h",	"BLKRRPART",	0x125f},
+	{"linux/fs.h",	"BLKGETSIZE",	0x1260},
+	{"linux/fs.h",	"BLKFLSBUF",	0x1261},
+	{"linux/fs.h",	"BLKRASET",	0x1262},
+	{"linux/fs.h",	"BLKRAGET",	0x1263},
+	{"linux/fs.h",	"BLKFRASET",	0x1264},
+	{"linux/fs.h",	"BLKFRAGET",	0x1265},
+	{"linux/fs.h",	"BLKSECTSET",	0x1266},
+	{"linux/fs.h",	"BLKSECTGET",	0x1267},
+	{"linux/fs.h",	"BLKSSZGET",	0x1268},
+	{"linux/blkpg.h",	"BLKPG",	0x1269},
+	{"linux/fs.h",	"BLKPG",	0x1269},
+	{"linux/elevator.h",	"BLKELVGET",	0x126a},
+	{"linux/fs.h",	"BLKELVGET",	0x126a},
+	{"linux/elevator.h",	"BLKELVSET",	0x126b},
+	{"linux/fs.h",	"BLKELVSET",	0x126b},
+	{"linux/fs.h",	"BLKBSZGET",	0x1270},
+	{"linux/fs.h",	"BLKBSZSET",	0x1271},
+	{"linux/fs.h",	"BLKGETSIZE64",	0x1272},
+	{"linux/agpgart.h",	"AGPIOC_INFO",	0x4100},
+	{"linux/agpgart.h",	"AGPIOC_ACQUIRE",	0x4101},
+	{"linux/apm_bios.h",	"APM_IOC_STANDBY",	0x4101},
+	{"linux/agpgart.h",	"AGPIOC_RELEASE",	0x4102},
+	{"linux/apm_bios.h",	"APM_IOC_SUSPEND",	0x4102},
+	{"linux/agpgart.h",	"AGPIOC_SETUP",	0x4103},
+	{"linux/agpgart.h",	"AGPIOC_RESERVE",	0x4104},
+	{"linux/agpgart.h",	"AGPIOC_PROTECT",	0x4105},
+	{"linux/agpgart.h",	"AGPIOC_ALLOCATE",	0x4106},
+	{"linux/agpgart.h",	"AGPIOC_DEALLOCATE",	0x4107},
+	{"linux/agpgart.h",	"AGPIOC_BIND",	0x4108},
+	{"linux/agpgart.h",	"AGPIOC_UNBIND",	0x4109},
+	{"linux/pmu.h",	"PMU_IOC_SLEEP",	0x4200},
+	{"linux/cciss_ioctl.h",	"CCISS_GETPCIINFO",	0x4201},
+	{"linux/pmu.h",	"PMU_IOC_GET_BACKLIGHT",	0x4201},
+	{"linux/cciss_ioctl.h",	"CCISS_GETINTINFO",	0x4202},
+	{"linux/pmu.h",	"PMU_IOC_SET_BACKLIGHT",	0x4202},
+	{"linux/cciss_ioctl.h",	"CCISS_SETINTINFO",	0x4203},
+	{"linux/pmu.h",	"PMU_IOC_GET_MODEL",	0x4203},
+	{"linux/cciss_ioctl.h",	"CCISS_GETNODENAME",	0x4204},
+	{"linux/pmu.h",	"PMU_IOC_HAS_ADB",	0x4204},
+	{"linux/cciss_ioctl.h",	"CCISS_SETNODENAME",	0x4205},
+	{"linux/pmu.h",	"PMU_IOC_CAN_SLEEP",	0x4205},
+	{"linux/cciss_ioctl.h",	"CCISS_GETHEARTBEAT",	0x4206},
+	{"linux/cciss_ioctl.h",	"CCISS_GETBUSTYPES",	0x4207},
+	{"linux/cciss_ioctl.h",	"CCISS_GETFIRMVER",	0x4208},
+	{"linux/cciss_ioctl.h",	"CCISS_GETDRIVVER",	0x4209},
+	{"linux/cciss_ioctl.h",	"CCISS_REVALIDVOLS",	0x420a},
+	{"linux/cciss_ioctl.h",	"CCISS_PASSTHRU",	0x420b},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RESET",	0x4300},
+	{"linux/capi.h",	"CAPI_REGISTER",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_LOAD",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RDATA",	0x4302},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCODE",	0x4303},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WDATA",	0x4304},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WCODE",	0x4305},
+	{"linux/capi.h",	"CAPI_GET_MANUFACTURER",	0x4306},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RUN",	0x4306},
+	{"linux/capi.h",	"CAPI_GET_VERSION",	0x4307},
+	{"linux/soundcard.h",	"SNDCTL_COPR_HALT",	0x4307},
+	{"linux/capi.h",	"CAPI_GET_SERIAL",	0x4308},
+	{"linux/soundcard.h",	"SNDCTL_COPR_SENDMSG",	0x4308},
+	{"linux/capi.h",	"CAPI_GET_PROFILE",	0x4309},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCVMSG",	0x4309},
+	{"linux/capi.h",	"CAPI_MANUFACTURER_CMD",	0x4320},
+	{"linux/capi.h",	"CAPI_GET_ERRCODE",	0x4321},
+	{"linux/capi.h",	"CAPI_INSTALLED",	0x4322},
+	{"linux/capi.h",	"CAPI_GET_FLAGS",	0x4323},
+	{"linux/capi.h",	"CAPI_SET_FLAGS",	0x4324},
+	{"linux/capi.h",	"CAPI_CLR_FLAGS",	0x4325},
+	{"linux/capi.h",	"CAPI_NCCI_OPENCOUNT",	0x4326},
+	{"linux/capi.h",	"CAPI_NCCI_GETUNIT",	0x4327},
+	{"linux/input.h",	"EVIOCGVERSION",	0x4501},
+	{"linux/input.h",	"EVIOCGID",	0x4502},
+	{"linux/input.h",	"EVIOCGREP",	0x4503},
+	{"linux/input.h",	"EVIOCSREP",	0x4503},
+	{"linux/input.h",	"EVIOCGKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCSKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCGKEY",	0x4505},
+	{"linux/input.h",	"EVIOCGBUS",	0x4507},
+	{"linux/input.h",	"EVIOCRMFF",	0x4581},
+	{"linux/input.h",	"EVIOCSGAIN",	0x4582},
+	{"linux/input.h",	"EVIOCSAUTOCENTER",	0x4583},
+	{"linux/input.h",	"EVIOCGEFFECTS",	0x4584},
+	{"linux/fb.h",	"FBIOGET_VBLANK",	0x4612},
+	{"linux/hiddev.h",	"HIDIOCGVERSION",	0x4801},
+	{"linux/hiddev.h",	"HIDIOCAPPLICATION",	0x4802},
+	{"linux/hiddev.h",	"HIDIOCGDEVINFO",	0x4803},
+	{"linux/hiddev.h",	"HIDIOCGSTRING",	0x4804},
+	{"linux/hiddev.h",	"HIDIOCINITREPORT",	0x4805},
+	{"linux/hiddev.h",	"HIDIOCGREPORT",	0x4807},
+	{"linux/hiddev.h",	"HIDIOCSREPORT",	0x4808},
+	{"linux/hiddev.h",	"HIDIOCGREPORTINFO",	0x4809},
+	{"linux/hiddev.h",	"HIDIOCGFIELDINFO",	0x480a},
+	{"linux/hiddev.h",	"HIDIOCGUSAGE",	0x480b},
+	{"linux/hiddev.h",	"HIDIOCSUSAGE",	0x480c},
+	{"linux/hiddev.h",	"HIDIOCGUCODE",	0x480d},
+	{"linux/isdn.h",	"IIOCNETAIF",	0x4901},
+	{"linux/isdn.h",	"IIOCNETDIF",	0x4902},
+	{"linux/isdn.h",	"IIOCNETSCF",	0x4903},
+	{"linux/isdn.h",	"IIOCNETGCF",	0x4904},
+	{"linux/isdn.h",	"IIOCNETANM",	0x4905},
+	{"linux/isdn.h",	"IIOCNETDNM",	0x4906},
+	{"linux/isdn.h",	"IIOCNETGNM",	0x4907},
+	{"linux/isdn.h",	"IIOCGETSET",	0x4908},
+	{"linux/isdn.h",	"IIOCSETSET",	0x4909},
+	{"linux/isdn.h",	"IIOCSETVER",	0x490a},
+	{"linux/isdn.h",	"IIOCNETHUP",	0x490b},
+	{"linux/isdn.h",	"IIOCSETGST",	0x490c},
+	{"linux/isdn.h",	"IIOCSETBRJ",	0x490d},
+	{"linux/isdn.h",	"IIOCSIGPRF",	0x490e},
+	{"linux/isdn.h",	"IIOCGETPRF",	0x490f},
+	{"linux/isdn.h",	"IIOCSETPRF",	0x4910},
+	{"linux/isdn.h",	"IIOCGETMAP",	0x4911},
+	{"linux/isdn.h",	"IIOCSETMAP",	0x4912},
+	{"linux/isdn.h",	"IIOCNETASL",	0x4913},
+	{"linux/isdn.h",	"IIOCNETDIL",	0x4914},
+	{"linux/isdn.h",	"IIOCGETCPS",	0x4915},
+	{"linux/isdn.h",	"IIOCGETDVR",	0x4916},
+	{"linux/isdn.h",	"IIOCNETLCR",	0x4917},
+	{"linux/isdn.h",	"IIOCNETDWRSET",	0x4918},
+	{"linux/isdn.h",	"IIOCNETALN",	0x4920},
+	{"linux/isdn.h",	"IIOCNETDLN",	0x4921},
+	{"linux/isdn.h",	"IIOCNETGPN",	0x4922},
+	{"linux/isdn.h",	"IIOCDBGVAR",	0x497f},
+	{"linux/isdn.h",	"IIOCDRVCTL",	0x4980},
+	{"linux/soundcard.h",	"SOUND_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_OLD_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_MIXER_ACCESS",	0x4d66},
+	{"linux/soundcard.h",	"SOUND_MIXER_AGC",	0x4d67},
+	{"linux/soundcard.h",	"SOUND_MIXER_3DSE",	0x4d68},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE1",	0x4d6f},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE2",	0x4d70},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE3",	0x4d71},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE4",	0x4d72},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE5",	0x4d73},
+	{"linux/soundcard.h",	"SOUND_MIXER_GETLEVELS",	0x4d74},
+	{"linux/soundcard.h",	"SOUND_MIXER_SETLEVELS",	0x4d75},
+	{"linux/soundcard.h",	"OSS_GETVERSION",	0x4d76},
+	{"linux/soundcard.h",	"SNDCTL_DSP_RESET",	0x5000},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SYNC",	0x5001},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SPEED",	0x5002},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_RATE",	0x5002},
+	{"linux/soundcard.h",	"SNDCTL_DSP_STEREO",	0x5003},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETBLKSIZE",	0x5004},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFMT",	0x5005},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_BITS",	0x5005},
+	{"linux/soundcard.h",	"SNDCTL_DSP_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_WRITE_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SNDCTL_DSP_POST",	0x5008},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SUBDIVIDE",	0x5009},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFRAGMENT",	0x500a},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETFMTS",	0x500b},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOSPACE",	0x500c},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETISPACE",	0x500d},
+	{"linux/soundcard.h",	"SNDCTL_DSP_NONBLOCK",	0x500e},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCAPS",	0x500f},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETIPTR",	0x5011},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOPTR",	0x5012},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPINBUF",	0x5013},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPOUTBUF",	0x5014},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSYNCRO",	0x5015},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETDUPLEX",	0x5016},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETODELAY",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_PROFILE",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCHANNELMASK",	0x5040},
+	{"linux/soundcard.h",	"SNDCTL_DSP_BIND_CHANNEL",	0x5041},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSPDIF",	0x5042},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETSPDIF",	0x5043},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESET",	0x5100},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_SYNC",	0x5101},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_INFO",	0x5102},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_CTRLRATE",	0x5103},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETOUTCOUNT",	0x5104},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETINCOUNT",	0x5105},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PERCMODE",	0x5106},
+	{"linux/soundcard.h",	"SNDCTL_FM_LOAD_INSTR",	0x5107},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_TESTMIDI",	0x5108},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESETSAMPLES",	0x5109},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRSYNTHS",	0x510a},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRMIDIS",	0x510b},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_INFO",	0x510c},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_THRESHOLD",	0x510d},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_MEMAVL",	0x510e},
+	{"linux/soundcard.h",	"SNDCTL_FM_4OP_ENABLE",	0x510f},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PANIC",	0x5111},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_OUTOFBAND",	0x5112},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETTIME",	0x5113},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_ID",	0x5114},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_CONTROL",	0x5115},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_REMOVESAMPLE",	0x5116},
+	{"linux/random.h",	"RNDGETENTCNT",	0x5200},
+	{"linux/random.h",	"RNDADDTOENTCNT",	0x5201},
+	{"linux/random.h",	"RNDGETPOOL",	0x5202},
+	{"linux/random.h",	"RNDADDENTROPY",	0x5203},
+	{"linux/random.h",	"RNDZAPENTCNT",	0x5204},
+	{"linux/random.h",	"RNDCLEARPOOL",	0x5206},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TIMEBASE",	0x5401},
+	{"linux/soundcard.h",	"SNDCTL_TMR_START",	0x5402},
+	{"linux/soundcard.h",	"SNDCTL_TMR_STOP",	0x5403},
+	{"linux/soundcard.h",	"SNDCTL_TMR_CONTINUE",	0x5404},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TEMPO",	0x5405},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SOURCE",	0x5406},
+	{"linux/soundcard.h",	"SNDCTL_TMR_METRONOME",	0x5407},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SELECT",	0x5408},
+	{"asm/ioctls.h",	"TIOCEXCL",	0x540c},
+	{"asm/ioctls.h",	"TIOCNXCL",	0x540d},
+	{"asm/ioctls.h",	"TIOCSCTTY",	0x540e},
+	{"asm/ioctls.h",	"TIOCSTI",	0x5412},
+	{"asm/ioctls.h",	"TIOCMGET",	0x5415},
+	{"asm/ioctls.h",	"TIOCMBIS",	0x5416},
+	{"asm/ioctls.h",	"TIOCMBIC",	0x5417},
+	{"asm/ioctls.h",	"TIOCMSET",	0x5418},
+	{"asm/ioctls.h",	"TIOCGSOFTCAR",	0x5419},
+	{"asm/ioctls.h",	"TIOCSSOFTCAR",	0x541a},
+	{"asm/ioctls.h",	"TIOCLINUX",	0x541c},
+	{"asm/ioctls.h",	"TIOCCONS",	0x541d},
+	{"asm/ioctls.h",	"TIOCGSERIAL",	0x541e},
+	{"asm/ioctls.h",	"TIOCSSERIAL",	0x541f},
+	{"asm/ioctls.h",	"TIOCPKT",	0x5420},
+	{"asm/ioctls.h",	"TIOCNOTTY",	0x5422},
+	{"asm/ioctls.h",	"TIOCSETD",	0x5423},
+	{"asm/ioctls.h",	"TIOCGETD",	0x5424},
+	{"asm/ioctls.h",	"TCSBRKP",	0x5425},
+	{"asm/ioctls.h",	"TIOCTTYGSTRUCT",	0x5426},
+	{"asm/ioctls.h",	"TIOCSBRK",	0x5427},
+	{"asm/ioctls.h",	"TIOCCBRK",	0x5428},
+	{"asm/ioctls.h",	"TIOCGSID",	0x5429},
+	{"asm/ioctls.h",	"TIOCGPTN",	0x5430},
+	{"asm/ioctls.h",	"TIOCSPTLCK",	0x5431},
+	{"asm/ioctls.h",	"TIOCSERCONFIG",	0x5453},
+	{"asm/ioctls.h",	"TIOCSERGWILD",	0x5454},
+	{"asm/ioctls.h",	"TIOCSERSWILD",	0x5455},
+	{"asm/ioctls.h",	"TIOCGLCKTRMIOS",	0x5456},
+	{"asm/ioctls.h",	"TIOCSLCKTRMIOS",	0x5457},
+	{"asm/ioctls.h",	"TIOCSERGSTRUCT",	0x5458},
+	{"asm/ioctls.h",	"TIOCSERGETLSR",	0x5459},
+	{"asm/ioctls.h",	"TIOCSERGETMULTI",	0x545a},
+	{"asm/ioctls.h",	"TIOCSERSETMULTI",	0x545b},
+	{"asm/ioctls.h",	"TIOCMIWAIT",	0x545c},
+	{"asm/ioctls.h",	"TIOCGICOUNT",	0x545d},
+	{"asm/ioctls.h",	"TIOCGHAYESESP",	0x545e},
+	{"asm/ioctls.h",	"TIOCSHAYESESP",	0x545f},
+	{"linux/if_tun.h",	"TUNSETNOCSUM",	0x54c8},
+	{"linux/if_tun.h",	"TUNSETDEBUG",	0x54c9},
+	{"linux/if_tun.h",	"TUNSETIFF",	0x54ca},
+	{"linux/if_tun.h",	"TUNSETPERSIST",	0x54cb},
+	{"linux/if_tun.h",	"TUNSETOWNER",	0x54cc},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONTROL",	0x5500},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_BULK",	0x5502},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESETEP",	0x5503},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETINTERFACE",	0x5504},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETCONFIGURATION",	0x5505},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_GETDRIVER",	0x5508},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SUBMITURB",	0x550a},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCARDURB",	0x550b},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURB",	0x550c},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURBNDELAY",	0x550d},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCSIGNAL",	0x550e},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLAIMINTERFACE",	0x550f},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RELEASEINTERFACE",	0x5510},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONNECTINFO",	0x5511},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_IOCTL",	0x5512},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_HUB_PORTINFO",	0x5513},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESET",	0x5514},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLEAR_HALT",	0x5515},
+	{"linux/watchdog.h",	"WDIOC_GETSUPPORT",	0x5700},
+	{"linux/watchdog.h",	"WDIOC_GETSTATUS",	0x5701},
+	{"linux/watchdog.h",	"WDIOC_GETBOOTSTATUS",	0x5702},
+	{"linux/watchdog.h",	"WDIOC_GETTEMP",	0x5703},
+	{"linux/watchdog.h",	"WDIOC_SETOPTIONS",	0x5704},
+	{"linux/watchdog.h",	"WDIOC_KEEPALIVE",	0x5705},
+	{"linux/watchdog.h",	"WDIOC_SETTIMEOUT",	0x5706},
+	{"linux/watchdog.h",	"WDIOC_GETTIMEOUT",	0x5707},
+	{"linux/ite_gpio.h",	"ITE_GPIO_IN",	0x5a00},
+	{"linux/ite_gpio.h",	"ITE_GPIO_OUT",	0x5a01},
+	{"linux/ite_gpio.h",	"ITE_GPIO_INT_CTRL",	0x5a02},
+	{"linux/ite_gpio.h",	"ITE_GPIO_IN_STATUS",	0x5a03},
+	{"linux/ite_gpio.h",	"ITE_GPIO_OUT_STATUS",	0x5a04},
+	{"linux/ite_gpio.h",	"ITE_GPIO_GEN_CTRL",	0x5a05},
+	{"linux/ite_gpio.h",	"ITE_GPIO_INT_WAIT",	0x5a06},
+	{"linux/sonet.h",	"SONET_GETSTAT",	0x6110},
+	{"linux/sonet.h",	"SONET_GETSTATZ",	0x6111},
+	{"linux/sonet.h",	"SONET_SETDIAG",	0x6112},
+	{"linux/sonet.h",	"SONET_CLRDIAG",	0x6113},
+	{"linux/sonet.h",	"SONET_GETDIAG",	0x6114},
+	{"linux/sonet.h",	"SONET_SETFRAMING",	0x6115},
+	{"linux/sonet.h",	"SONET_GETFRAMING",	0x6116},
+	{"linux/sonet.h",	"SONET_GETFRSENSE",	0x6117},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTAT",	0x6132},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTATZ",	0x6133},
+	{"linux/atmdev.h",	"ATM_GETSTAT",	0x6150},
+	{"linux/atmdev.h",	"ATM_GETSTATZ",	0x6151},
+	{"linux/atmdev.h",	"ATM_GETLOOP",	0x6152},
+	{"linux/atmdev.h",	"ATM_SETLOOP",	0x6153},
+	{"linux/atmdev.h",	"ATM_QUERYLOOP",	0x6154},
+	{"linux/atm_eni.h",	"ENI_MEMDUMP",	0x6160},
+	{"linux/atm_nicstar.h",	"NS_GETPSTAT",	0x6161},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOL",	0x6161},
+	{"linux/atm_nicstar.h",	"NS_SETBUFLEV",	0x6162},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOLZ",	0x6162},
+	{"linux/atm_nicstar.h",	"NS_ADJBUFLEV",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_SETPOOL",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_GETTHIST",	0x6164},
+	{"linux/atm_eni.h",	"ENI_SETMULT",	0x6167},
+	{"linux/atm_tcp.h",	"SIOCSIFATMTCP",	0x6180},
+	{"linux/atmdev.h",	"ATM_GETLINKRATE",	0x6181},
+	{"linux/atmdev.h",	"ATM_GETNAMES",	0x6183},
+	{"linux/atmdev.h",	"ATM_GETTYPE",	0x6184},
+	{"linux/atmdev.h",	"ATM_GETESI",	0x6185},
+	{"linux/atmdev.h",	"ATM_GETADDR",	0x6186},
+	{"linux/atmdev.h",	"ATM_RSTADDR",	0x6187},
+	{"linux/atmdev.h",	"ATM_ADDADDR",	0x6188},
+	{"linux/atmdev.h",	"ATM_DELADDR",	0x6189},
+	{"linux/atmdev.h",	"ATM_GETCIRANGE",	0x618a},
+	{"linux/atmdev.h",	"ATM_SETCIRANGE",	0x618b},
+	{"linux/atmdev.h",	"ATM_SETESI",	0x618c},
+	{"linux/atmdev.h",	"ATM_SETESIF",	0x618d},
+	{"linux/atm_tcp.h",	"ATMTCP_CREATE",	0x618e},
+	{"linux/atm_tcp.h",	"ATMTCP_REMOVE",	0x618f},
+	{"linux/atmlec.h",	"ATMLEC_CTRL",	0x61d0},
+	{"linux/atmlec.h",	"ATMLEC_DATA",	0x61d1},
+	{"linux/atmlec.h",	"ATMLEC_MCAST",	0x61d2},
+	{"linux/atmmpc.h",	"ATMMPC_CTRL",	0x61d8},
+	{"linux/atmmpc.h",	"ATMMPC_DATA",	0x61d9},
+	{"linux/atmclip.h",	"SIOCMKCLIP",	0x61e0},
+	{"linux/atmarp.h",	"ATMARPD_CTRL",	0x61e1},
+	{"linux/atmarp.h",	"ATMARP_MKIP",	0x61e2},
+	{"linux/atmarp.h",	"ATMARP_SETENTRY",	0x61e3},
+	{"linux/atmarp.h",	"ATMARP_ENCAP",	0x61e5},
+	{"linux/atmsvc.h",	"ATMSIGD_CTRL",	0x61f0},
+	{"linux/atmdev.h",	"ATM_SETSC",	0x61f1},
+	{"linux/atmdev.h",	"ATM_SETBACKEND",	0x61f2},
+	{"linux/coda.h",	"CIOC_KERNEL_VERSION",	0x630a},
+	{"linux/comstats.h",	"COM_GETPORTSTATS",	0x631e},
+	{"linux/comstats.h",	"COM_CLRPORTSTATS",	0x631f},
+	{"linux/comstats.h",	"COM_GETBRDSTATS",	0x6320},
+	{"linux/comstats.h",	"COM_READPORT",	0x6328},
+	{"linux/comstats.h",	"COM_READBOARD",	0x6329},
+	{"linux/comstats.h",	"COM_READPANEL",	0x632a},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_GET_PROTO_REV",	0x6400},
+	{"linux/video_decoder.h",	"DECODER_GET_CAPABILITIES",	0x6401},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_SET_EVENT_MASK",	0x6402},
+	{"linux/video_decoder.h",	"DECODER_GET_STATUS",	0x6402},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_RELEASE_EVENT_QUEUE",	0x6403},
+	{"linux/video_decoder.h",	"DECODER_SET_NORM",	0x6403},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_SET_DEBUG_MASK",	0x6404},
+	{"linux/video_decoder.h",	"DECODER_SET_INPUT",	0x6404},
+	{"linux/video_decoder.h",	"DECODER_SET_OUTPUT",	0x6405},
+	{"linux/video_decoder.h",	"DECODER_ENABLE_OUTPUT",	0x6406},
+	{"linux/video_decoder.h",	"DECODER_SET_PICTURE",	0x6407},
+	{"linux/video_decoder.h",	"DECODER_DUMP",	0x64c0},
+	{"linux/video_encoder.h",	"ENCODER_GET_CAPABILITIES",	0x6501},
+	{"linux/video_encoder.h",	"ENCODER_SET_NORM",	0x6502},
+	{"linux/video_encoder.h",	"ENCODER_SET_INPUT",	0x6503},
+	{"linux/video_encoder.h",	"ENCODER_SET_OUTPUT",	0x6504},
+	{"linux/video_encoder.h",	"ENCODER_ENABLE_OUTPUT",	0x6505},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETFLAGS",	0x6601},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETFLAGS",	0x6601},
+	{"asm/ioctls.h",	"FIOCLEX",	0x6601},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETFLAGS",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETFLAGS",	0x6602},
+	{"asm/ioctls.h",	"FIONCLEX",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION",	0x6603},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION",	0x6604},
+	{"linux/ext3_fs.h",	"EXT3_IOC_WAIT_FOR_READONLY",	0x6663},
+	{"asm/sockios.h",	"FIOGETOWN",	0x667b},
+	{"asm/sockios.h",	"FIOSETOWN",	0x667c},
+	{"asm/ioctls.h",	"FIOASYNC",	0x667d},
+	{"asm/ioctls.h",	"FIONBIO",	0x667e},
+	{"asm/ioctls.h",	"FIONREAD",	0x667f},
+	{"linux/i2o-dev.h",	"I2OGETIOPS",	0x6900},
+	{"linux/i2o-dev.h",	"I2OHRTGET",	0x6901},
+	{"linux/i2o-dev.h",	"I2OLCTGET",	0x6902},
+	{"linux/i2o-dev.h",	"I2OPARMSET",	0x6903},
+	{"linux/i2o-dev.h",	"I2OPARMGET",	0x6904},
+	{"linux/i2o-dev.h",	"I2OSWDL",	0x6905},
+	{"linux/i2o-dev.h",	"I2OSWUL",	0x6906},
+	{"linux/i2o-dev.h",	"I2OSWDEL",	0x6907},
+	{"linux/i2o-dev.h",	"I2OVALIDATE",	0x6908},
+	{"linux/i2o-dev.h",	"I2OHTML",	0x6909},
+	{"linux/i2o-dev.h",	"I2OEVTREG",	0x690a},
+	{"linux/i2o-dev.h",	"I2OEVTGET",	0x690b},
+	{"linux/i8k.h",	"I8K_BIOS_VERSION",	0x6980},
+	{"linux/i8k.h",	"I8K_MACHINE_ID",	0x6981},
+	{"linux/i8k.h",	"I8K_POWER_STATUS",	0x6982},
+	{"linux/i8k.h",	"I8K_FN_STATUS",	0x6983},
+	{"linux/i8k.h",	"I8K_GET_TEMP",	0x6984},
+	{"linux/i8k.h",	"I8K_GET_SPEED",	0x6985},
+	{"linux/i8k.h",	"I8K_GET_FAN",	0x6986},
+	{"linux/i8k.h",	"I8K_SET_FAN",	0x6987},
+	{"linux/joystick.h",	"JSIOCGVERSION",	0x6a01},
+	{"linux/joystick.h",	"JSIOCGAXES",	0x6a11},
+	{"linux/joystick.h",	"JSIOCGBUTTONS",	0x6a12},
+	{"linux/joystick.h",	"JSIOCSCORR",	0x6a21},
+	{"linux/joystick.h",	"JSIOCGCORR",	0x6a22},
+	{"linux/joystick.h",	"JSIOCSAXMAP",	0x6a31},
+	{"linux/joystick.h",	"JSIOCGAXMAP",	0x6a32},
+	{"linux/joystick.h",	"JSIOCSBTNMAP",	0x6a33},
+	{"linux/joystick.h",	"JSIOCGBTNMAP",	0x6a34},
+	{"linux/udf_fs_i.h",	"UDF_GETEASIZE",	0x6c40},
+	{"linux/udf_fs_i.h",	"UDF_GETEABLOCK",	0x6c41},
+	{"linux/udf_fs_i.h",	"UDF_GETVOLIDENT",	0x6c42},
+	{"linux/udf_fs_i.h",	"UDF_RELOCATE_BLOCKS",	0x6c43},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_PRETIME",	0x6d00},
+	{"linux/synclink.h",	"MGSL_IOCSPARAMS",	0x6d00},
+	{"linux/mtio.h",	"MTIOCTOP",	0x6d01},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUMODE",	0x6d01},
+	{"linux/synclink.h",	"MGSL_IOCGPARAMS",	0x6d01},
+	{"linux/mtio.h",	"MTIOCGET",	0x6d02},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUCMD",	0x6d02},
+	{"linux/synclink.h",	"MGSL_IOCSTXIDLE",	0x6d02},
+	{"linux/mtio.h",	"MTIOCPOS",	0x6d03},
+	{"linux/synclink.h",	"MGSL_IOCGTXIDLE",	0x6d03},
+	{"linux/mtio.h",	"MTIOCGETCONFIG",	0x6d04},
+	{"linux/synclink.h",	"MGSL_IOCTXENABLE",	0x6d04},
+	{"linux/mtio.h",	"MTIOCSETCONFIG",	0x6d05},
+	{"linux/synclink.h",	"MGSL_IOCRXENABLE",	0x6d05},
+	{"linux/mtio.h",	"MTIOCRDFTSEG",	0x6d06},
+	{"linux/synclink.h",	"MGSL_IOCTXABORT",	0x6d06},
+	{"linux/mtio.h",	"MTIOCWRFTSEG",	0x6d07},
+	{"linux/synclink.h",	"MGSL_IOCGSTATS",	0x6d07},
+	{"linux/mtio.h",	"MTIOCVOLINFO",	0x6d08},
+	{"linux/synclink.h",	"MGSL_IOCWAITEVENT",	0x6d08},
+	{"linux/mtio.h",	"MTIOCGETSIZE",	0x6d09},
+	{"linux/synclink.h",	"MGSL_IOCLOOPTXDONE",	0x6d09},
+	{"linux/mtio.h",	"MTIOCFTFORMAT",	0x6d0a},
+	{"linux/mtio.h",	"MTIOCFTCMD",	0x6d0b},
+	{"linux/synclink.h",	"MGSL_IOCCLRMODCOUNT",	0x6d0f},
+	{"linux/zftape.h",	"MTIOC_ZFTAPE_GETBLKSZ",	0x6d68},
+	{"linux/ncp_fs.h",	"NCP_IOC_NCPREQUEST",	0x6e01},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID2",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_CONN_LOGGED_IN",	0x6e03},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO_V2",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_INIT",	0x6e05},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_SET_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_LOCKUNLOCK",	0x6e07},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETDENTRYTTL",	0x6e0c},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETDENTRYTTL",	0x6e0c},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_GET_AVAILABLE_OUTPUTS",	0x6ef9},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_GET_ALL_OUTPUTS",	0x6efb},
+	{"linux/rtc.h",	"RTC_AIE_ON",	0x7001},
+	{"linux/rtc.h",	"RTC_AIE_OFF",	0x7002},
+	{"linux/intermezzo_fs.h",	"PRESTO_GETMOUNT",	0x7003},
+	{"linux/rtc.h",	"RTC_UIE_ON",	0x7003},
+	{"linux/intermezzo_fs.h",	"PRESTO_SETPID",	0x7004},
+	{"linux/rtc.h",	"RTC_UIE_OFF",	0x7004},
+	{"linux/rtc.h",	"RTC_PIE_ON",	0x7005},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLOSE_JOURNALF",	0x7006},
+	{"linux/rtc.h",	"RTC_PIE_OFF",	0x7006},
+	{"linux/intermezzo_fs.h",	"PRESTO_SET_FSETROOT",	0x7007},
+	{"linux/rtc.h",	"RTC_ALM_SET",	0x7007},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLEAR_FSETROOT",	0x7008},
+	{"linux/rtc.h",	"RTC_ALM_READ",	0x7008},
+	{"linux/intermezzo_fs.h",	"PRESTO_SETOPT",	0x7009},
+	{"linux/rtc.h",	"RTC_RD_TIME",	0x7009},
+	{"linux/intermezzo_fs.h",	"PRESTO_GETOPT",	0x700a},
+	{"linux/rtc.h",	"RTC_SET_TIME",	0x700a},
+	{"linux/intermezzo_fs.h",	"PRESTO_GET_KMLSIZE",	0x700b},
+	{"linux/rtc.h",	"RTC_IRQP_READ",	0x700b},
+	{"linux/intermezzo_fs.h",	"PRESTO_GET_RECNO",	0x700c},
+	{"linux/rtc.h",	"RTC_IRQP_SET",	0x700c},
+	{"linux/rtc.h",	"RTC_EPOCH_READ",	0x700d},
+	{"linux/rtc.h",	"RTC_EPOCH_SET",	0x700e},
+	{"linux/rtc.h",	"RTC_WIE_ON",	0x700f},
+	{"linux/rtc.h",	"RTC_WKALM_SET",	0x700f},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SETATTR",	0x7010},
+	{"linux/rtc.h",	"RTC_WIE_OFF",	0x7010},
+	{"linux/rtc.h",	"RTC_WKALM_RD",	0x7010},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_CREATE",	0x7011},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_LINK",	0x7012},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_UNLINK",	0x7013},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SYMLINK",	0x7014},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_MKDIR",	0x7015},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_RMDIR",	0x7016},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_MKNOD",	0x7017},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_RENAME",	0x7018},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_CLOSE",	0x701a},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_IOPEN",	0x701b},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SETEXTATTR",	0x701c},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_DELEXTATTR",	0x701d},
+	{"linux/intermezzo_fs.h",	"PRESTO_MARK",	0x7020},
+	{"linux/intermezzo_fs.h",	"PRESTO_RELEASE_PERMIT",	0x7021},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLEAR_ALL_FSETROOTS",	0x7022},
+	{"linux/intermezzo_fs.h",	"PRESTO_BACKFETCH_LML",	0x7023},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT",	0x7024},
+	{"linux/intermezzo_fs.h",	"PRESTO_CANCEL_LML",	0x7025},
+	{"linux/intermezzo_fs.h",	"PRESTO_RESET_FSET",	0x7026},
+	{"linux/intermezzo_fs.h",	"PRESTO_COMPLETE_CLOSES",	0x7027},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT_BEGIN",	0x7030},
+	{"linux/intermezzo_fs.h",	"PRESTO_DO_REINT",	0x7031},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT_END",	0x7032},
+	{"linux/nvram.h",	"NVRAM_INIT",	0x7040},
+	{"linux/nvram.h",	"NVRAM_SETCKS",	0x7041},
+	{"linux/ppdev.h",	"PPSETMODE",	0x7080},
+	{"linux/ppdev.h",	"PPRSTATUS",	0x7081},
+	{"linux/ppdev.h",	"PPRCONTROL",	0x7083},
+	{"linux/ppdev.h",	"PPWCONTROL",	0x7084},
+	{"linux/ppdev.h",	"PPRDATA",	0x7085},
+	{"linux/ppdev.h",	"PPWDATA",	0x7086},
+	{"linux/ppdev.h",	"PPCLAIM",	0x708b},
+	{"linux/ppdev.h",	"PPRELEASE",	0x708c},
+	{"linux/ppdev.h",	"PPYIELD",	0x708d},
+	{"linux/ppdev.h",	"PPFCONTROL",	0x708e},
+	{"linux/ppdev.h",	"PPEXCL",	0x708f},
+	{"linux/ppdev.h",	"PPDATADIR",	0x7090},
+	{"linux/ppdev.h",	"PPNEGOT",	0x7091},
+	{"linux/ppdev.h",	"PPWCTLONIRQ",	0x7092},
+	{"linux/ppdev.h",	"PPCLRIRQ",	0x7093},
+	{"linux/ppdev.h",	"PPSETPHASE",	0x7094},
+	{"linux/ppdev.h",	"PPGETTIME",	0x7095},
+	{"linux/ppdev.h",	"PPSETTIME",	0x7096},
+	{"linux/ppdev.h",	"PPGETMODES",	0x7097},
+	{"linux/ppdev.h",	"PPGETMODE",	0x7098},
+	{"linux/ppdev.h",	"PPGETPHASE",	0x7099},
+	{"linux/ppdev.h",	"PPGETFLAGS",	0x709a},
+	{"linux/ppdev.h",	"PPSETFLAGS",	0x709b},
+	{"linux/serio.h",	"SPIOCSTYPE",	0x7101},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES",	0x7180},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_LIST",	0x7181},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_CHECK",	0x7182},
+	{"linux/telephony.h",	"PHONE_RING",	0x7183},
+	{"linux/telephony.h",	"PHONE_HOOKSTATE",	0x7184},
+	{"linux/telephony.h",	"PHONE_MAXRINGS",	0x7185},
+	{"linux/telephony.h",	"PHONE_RING_CADENCE",	0x7186},
+	{"linux/telephony.h",	"OLD_PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_STOP",	0x7188},
+	{"linux/telephony.h",	"PHONE_REC_CODEC",	0x7189},
+	{"linux/telephony.h",	"PHONE_REC_START",	0x718a},
+	{"linux/telephony.h",	"PHONE_REC_STOP",	0x718b},
+	{"linux/telephony.h",	"PHONE_REC_DEPTH",	0x718c},
+	{"linux/telephony.h",	"PHONE_FRAME",	0x718d},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME",	0x718e},
+	{"linux/telephony.h",	"PHONE_REC_LEVEL",	0x718f},
+	{"linux/telephony.h",	"PHONE_PLAY_CODEC",	0x7190},
+	{"linux/telephony.h",	"PHONE_PLAY_START",	0x7191},
+	{"linux/telephony.h",	"PHONE_PLAY_STOP",	0x7192},
+	{"linux/telephony.h",	"PHONE_PLAY_DEPTH",	0x7193},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME",	0x7194},
+	{"linux/telephony.h",	"PHONE_PLAY_LEVEL",	0x7195},
+	{"linux/telephony.h",	"PHONE_DTMF_READY",	0x7196},
+	{"linux/telephony.h",	"PHONE_GET_DTMF",	0x7197},
+	{"linux/telephony.h",	"PHONE_GET_DTMF_ASCII",	0x7198},
+	{"linux/telephony.h",	"PHONE_DTMF_OOB",	0x7199},
+	{"linux/telephony.h",	"PHONE_EXCEPTION",	0x719a},
+	{"linux/telephony.h",	"PHONE_PLAY_TONE",	0x719b},
+	{"linux/telephony.h",	"PHONE_SET_TONE_ON_TIME",	0x719c},
+	{"linux/telephony.h",	"PHONE_SET_TONE_OFF_TIME",	0x719d},
+	{"linux/telephony.h",	"PHONE_GET_TONE_ON_TIME",	0x719e},
+	{"linux/telephony.h",	"PHONE_GET_TONE_OFF_TIME",	0x719f},
+	{"linux/telephony.h",	"PHONE_GET_TONE_STATE",	0x71a0},
+	{"linux/telephony.h",	"PHONE_BUSY",	0x71a1},
+	{"linux/telephony.h",	"PHONE_RINGBACK",	0x71a2},
+	{"linux/telephony.h",	"PHONE_DIALTONE",	0x71a3},
+	{"linux/telephony.h",	"PHONE_CPT_STOP",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_SET_STATE",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_GET_STATE",	0x71a5},
+	{"linux/telephony.h",	"PHONE_WINK_DURATION",	0x71a6},
+	{"linux/telephony.h",	"PHONE_QUERY_CODEC",	0x71a7},
+	{"linux/telephony.h",	"PHONE_PSTN_LINETEST",	0x71a8},
+	{"linux/telephony.h",	"PHONE_VAD",	0x71a9},
+	{"linux/telephony.h",	"PHONE_WINK",	0x71aa},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_RESET",	0x71c0},
+	{"linux/ixjuser.h",	"IXJCTL_CARDTYPE",	0x71c1},
+	{"linux/ixjuser.h",	"IXJCTL_SERIAL",	0x71c2},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_TYPE",	0x71c3},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_VERSION",	0x71c4},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_IDLE",	0x71c5},
+	{"linux/ixjuser.h",	"IXJCTL_TESTRAM",	0x71c6},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER",	0x71c7},
+	{"linux/ixjuser.h",	"IXJCTL_GET_FILTER_HIST",	0x71c8},
+	{"linux/ixjuser.h",	"IXJCTL_INIT_TONE",	0x71c9},
+	{"linux/ixjuser.h",	"IXJCTL_TONE_CADENCE",	0x71ca},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_START",	0x71cb},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_STOP",	0x71cc},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_GET_LEVEL",	0x71cd},
+	{"linux/ixjuser.h",	"IXJCTL_SET_LED",	0x71ce},
+	{"linux/ixjuser.h",	"IXJCTL_MIXER",	0x71cf},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_COEFF_SET",	0x71d0},
+	{"linux/ixjuser.h",	"IXJCTL_PORT",	0x71d1},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_AGAIN",	0x71d2},
+	{"linux/ixjuser.h",	"IXJCTL_PSTN_LINETEST",	0x71d3},
+	{"linux/ixjuser.h",	"IXJCTL_CID",	0x71d4},
+	{"linux/ixjuser.h",	"IXJCTL_POTS_PSTN",	0x71d5},
+	{"linux/ixjuser.h",	"IXJCTL_FILTER_CADENCE",	0x71d6},
+	{"linux/ixjuser.h",	"IXJCTL_PLAY_CID",	0x71d7},
+	{"linux/ixjuser.h",	"IXJCTL_VMWI",	0x71d8},
+	{"linux/ixjuser.h",	"IXJCTL_CIDCW",	0x71d9},
+	{"linux/ixjuser.h",	"IXJCTL_VERSION",	0x71da},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME_LINEAR",	0x71db},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME_LINEAR",	0x71dc},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER_RAW",	0x71dd},
+	{"linux/ixjuser.h",	"IXJCTL_HZ",	0x71e0},
+	{"linux/ixjuser.h",	"IXJCTL_RATE",	0x71e1},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_READ",	0x71e2},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_WRITTEN",	0x71e3},
+	{"linux/ixjuser.h",	"IXJCTL_READ_WAIT",	0x71e4},
+	{"linux/ixjuser.h",	"IXJCTL_WRITE_WAIT",	0x71e5},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_READ",	0x71e6},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_CLEAR",	0x71e7},
+	{"linux/ixjuser.h",	"IXJCTL_DTMF_PRESCALE",	0x71e8},
+	{"linux/ixjuser.h",	"IXJCTL_SIGCTL",	0x71e9},
+	{"linux/ixjuser.h",	"IXJCTL_SC_RXG",	0x71ea},
+	{"linux/ixjuser.h",	"IXJCTL_SC_TXG",	0x71eb},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_START",	0x71fd},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_STOP",	0x71fe},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_BOTH",	0x7201},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_SHORT",	0x7202},
+	{"asm/sockios.h",	"SIOCATMARK",	0x7307},
+	{"asm/sockios.h",	"SIOCSPGRP",	0x7308},
+	{"asm/sockios.h",	"SIOCGPGRP",	0x7309},
+	{"linux/cdk.h",	"STL_BINTR",	0x7314},
+	{"linux/cdk.h",	"STL_BSTART",	0x7315},
+	{"linux/cdk.h",	"STL_BSTOP",	0x7316},
+	{"linux/cdk.h",	"STL_BRESET",	0x7317},
+	{"linux/cdk.h",	"STL_GETPFLAG",	0x7350},
+	{"linux/cdk.h",	"STL_SETPFLAG",	0x7351},
+	{"asm/ioctls.h",	"TIOCGETP",	0x7408},
+	{"asm/ioctls.h",	"TIOCSETP",	0x7409},
+	{"asm/ioctls.h",	"TIOCSETN",	0x740a},
+	{"asm/ioctls.h",	"TIOCSETC",	0x7411},
+	{"asm/ioctls.h",	"TIOCGETC",	0x7412},
+	{"asm/ioctls.h",	"TCGETS",	0x7413},
+	{"asm/ioctls.h",	"TCSETS",	0x7414},
+	{"asm/ioctls.h",	"TCSETSW",	0x7415},
+	{"asm/ioctls.h",	"TCSETSF",	0x7416},
+	{"asm/ioctls.h",	"TCGETA",	0x7417},
+	{"asm/ioctls.h",	"TCSETA",	0x7418},
+	{"asm/ioctls.h",	"TCSETAW",	0x7419},
+	{"asm/ioctls.h",	"TCSETAF",	0x741c},
+	{"asm/ioctls.h",	"TCSBRK",	0x741d},
+	{"asm/ioctls.h",	"TCXONC",	0x741e},
+	{"asm/ioctls.h",	"TCFLSH",	0x741f},
+	{"linux/if_ppp.h",	"PPPIOCGCHAN",	0x7437},
+	{"linux/if_ppp.h",	"PPPIOCATTCHAN",	0x7438},
+	{"linux/if_ppp.h",	"PPPIOCDISCONN",	0x7439},
+	{"linux/if_ppp.h",	"PPPIOCCONNECT",	0x743a},
+	{"linux/if_ppp.h",	"PPPIOCSMRRU",	0x743b},
+	{"linux/if_ppp.h",	"PPPIOCDETACH",	0x743c},
+	{"linux/if_ppp.h",	"PPPIOCATTACH",	0x743d},
+	{"linux/if_ppp.h",	"PPPIOCNEWUNIT",	0x743e},
+	{"linux/if_ppp.h",	"PPPIOCGIDLE",	0x743f},
+	{"linux/if_ppp.h",	"PPPIOCSDEBUG",	0x7440},
+	{"linux/if_ppp.h",	"PPPIOCGDEBUG",	0x7441},
+	{"linux/if_ppp.h",	"PPPIOCSACTIVE",	0x7446},
+	{"linux/if_ppp.h",	"PPPIOCSPASS",	0x7447},
+	{"linux/if_ppp.h",	"PPPIOCSNPMODE",	0x744b},
+	{"linux/if_ppp.h",	"PPPIOCGNPMODE",	0x744c},
+	{"linux/if_ppp.h",	"PPPIOCSCOMPRESS",	0x744d},
+	{"linux/if_ppp.h",	"PPPIOCXFERUNIT",	0x744e},
+	{"linux/if_ppp.h",	"PPPIOCSXASYNCMAP",	0x744f},
+	{"linux/if_ppp.h",	"PPPIOCGXASYNCMAP",	0x7450},
+	{"linux/if_ppp.h",	"PPPIOCSMAXCID",	0x7451},
+	{"linux/if_ppp.h",	"PPPIOCSMRU",	0x7452},
+	{"linux/if_ppp.h",	"PPPIOCGMRU",	0x7453},
+	{"linux/if_ppp.h",	"PPPIOCSRASYNCMAP",	0x7454},
+	{"linux/if_ppp.h",	"PPPIOCGRASYNCMAP",	0x7455},
+	{"linux/if_ppp.h",	"PPPIOCGUNIT",	0x7456},
+	{"linux/if_ppp.h",	"PPPIOCSASYNCMAP",	0x7457},
+	{"linux/if_ppp.h",	"PPPIOCGASYNCMAP",	0x7458},
+	{"linux/if_ppp.h",	"PPPIOCSFLAGS",	0x7459},
+	{"linux/if_ppp.h",	"PPPIOCGFLAGS",	0x745a},
+	{"linux/jffs.h",	"JFFS_PRINT_HASH",	0x745a},
+	{"linux/jffs.h",	"JFFS_PRINT_TREE",	0x745b},
+	{"linux/jffs.h",	"JFFS_GET_STATUS",	0x745c},
+	{"asm/ioctls.h",	"TIOCSWINSZ",	0x7467},
+	{"asm/ioctls.h",	"TIOCGWINSZ",	0x7468},
+	{"asm/ioctls.h",	"TIOCSTART",	0x746e},
+	{"asm/ioctls.h",	"TIOCSTOP",	0x746f},
+	{"asm/ioctls.h",	"TIOCOUTQ",	0x7473},
+	{"asm/ioctls.h",	"TIOCGLTC",	0x7474},
+	{"asm/ioctls.h",	"TIOCSLTC",	0x7475},
+	{"asm/ioctls.h",	"TIOCSPGRP",	0x7476},
+	{"asm/ioctls.h",	"TIOCGPGRP",	0x7477},
+	{"linux/isdn_ppp.h",	"PPPIOCGCALLINFO",	0x7480},
+	{"linux/isdn_ppp.h",	"PPPIOCBUNDLE",	0x7481},
+	{"linux/isdn_ppp.h",	"PPPIOCGMPFLAGS",	0x7482},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPFLAGS",	0x7483},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMTU",	0x7484},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMRU",	0x7485},
+	{"linux/isdn_ppp.h",	"PPPIOCGCOMPRESSORS",	0x7486},
+	{"linux/isdn_ppp.h",	"PPPIOCSCOMPRESSOR",	0x7487},
+	{"linux/isdn_ppp.h",	"PPPIOCGIFNAME",	0x7488},
+	{"linux/toshiba.h",	"TOSH_SMM",	0x7490},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID",	0x7501},
+	{"linux/smb_fs.h",	"SMB_IOC_NEWCONN",	0x7502},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID32",	0x7503},
+	{"linux/sonypi.h",	"SONYPI_IOCGBRT",	0x7600},
+	{"linux/sonypi.h",	"SONYPI_IOCSBRT",	0x7600},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETVERSION",	0x7601},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION_OLD",	0x7601},
+	{"linux/videodev.h",	"VIDIOCGCAP",	0x7601},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETVERSION",	0x7602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION_OLD",	0x7602},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT1CAP",	0x7602},
+	{"linux/videodev.h",	"VIDIOCGCHAN",	0x7602},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT1REM",	0x7603},
+	{"linux/videodev.h",	"VIDIOCSCHAN",	0x7603},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT2CAP",	0x7604},
+	{"linux/videodev.h",	"VIDIOCGTUNER",	0x7604},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT2REM",	0x7605},
+	{"linux/videodev.h",	"VIDIOCSTUNER",	0x7605},
+	{"linux/videodev.h",	"VIDIOCGPICT",	0x7606},
+	{"linux/sonypi.h",	"SONYPI_IOCGBATFLAGS",	0x7607},
+	{"linux/videodev.h",	"VIDIOCSPICT",	0x7607},
+	{"linux/sonypi.h",	"SONYPI_IOCGBLUE",	0x7608},
+	{"linux/videodev.h",	"VIDIOCCAPTURE",	0x7608},
+	{"linux/sonypi.h",	"SONYPI_IOCSBLUE",	0x7609},
+	{"linux/videodev.h",	"VIDIOCGWIN",	0x7609},
+	{"linux/videodev.h",	"VIDIOCSWIN",	0x760a},
+	{"linux/videodev.h",	"VIDIOCGFBUF",	0x760b},
+	{"linux/videodev.h",	"VIDIOCSFBUF",	0x760c},
+	{"linux/videodev.h",	"VIDIOCKEY",	0x760d},
+	{"linux/videodev.h",	"VIDIOCGFREQ",	0x760e},
+	{"linux/videodev.h",	"VIDIOCSFREQ",	0x760f},
+	{"linux/videodev.h",	"VIDIOCGAUDIO",	0x7610},
+	{"linux/videodev.h",	"VIDIOCSAUDIO",	0x7611},
+	{"linux/videodev.h",	"VIDIOCSYNC",	0x7612},
+	{"linux/videodev.h",	"VIDIOCMCAPTURE",	0x7613},
+	{"linux/videodev.h",	"VIDIOCGMBUF",	0x7614},
+	{"linux/videodev.h",	"VIDIOCGUNIT",	0x7615},
+	{"linux/videodev.h",	"VIDIOCGCAPTURE",	0x7616},
+	{"linux/videodev.h",	"VIDIOCSCAPTURE",	0x7617},
+	{"linux/videodev.h",	"VIDIOCSPLAYMODE",	0x7618},
+	{"linux/videodev.h",	"VIDIOCSWRITEMODE",	0x7619},
+	{"linux/videodev.h",	"VIDIOCGPLAYINFO",	0x761a},
+	{"linux/videodev.h",	"VIDIOCSMICROCODE",	0x761b},
+	{"linux/videodev.h",	"VIDIOCGVBIFMT",	0x761c},
+	{"linux/videodev.h",	"VIDIOCSVBIFMT",	0x761d},
+	{"linux/meye.h",	"MEYEIOC_G_PARAMS",	0x76c0},
+	{"linux/meye.h",	"MEYEIOC_S_PARAMS",	0x76c1},
+	{"linux/meye.h",	"MEYEIOC_QBUF_CAPT",	0x76c2},
+	{"linux/meye.h",	"MEYEIOC_SYNC",	0x76c3},
+	{"linux/meye.h",	"MEYEIOC_STILLCAPT",	0x76c4},
+	{"linux/meye.h",	"MEYEIOC_STILLJCAPT",	0x76c5},
+	{"linux/dn.h",	"SIOCSNETADDR",	0x89e0},
+	{"linux/dn.h",	"OSIOCSNETADDR",	0x89e0},
+	{"linux/dn.h",	"SIOCGNETADDR",	0x89e1},
+	{"linux/dn.h",	"OSIOCGNETADDR",	0x89e1},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_READY",	0x9360},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_FAIL",	0x9361},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_CATATONIC",	0x9362},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_PROTOVER",	0x9363},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_SETTIMEOUT",	0x9364},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_EXPIRE",	0x9365},
+	{"linux/auto_fs4.h",	"AUTOFS_IOC_EXPIRE_MULTI",	0x9366},
+	{"linux/nbd.h",	"NBD_SET_SOCK",	0xab00},
+	{"linux/nbd.h",	"NBD_SET_BLKSIZE",	0xab01},
+	{"linux/nbd.h",	"NBD_SET_SIZE",	0xab02},
+	{"linux/nbd.h",	"NBD_DO_IT",	0xab03},
+	{"linux/nbd.h",	"NBD_CLEAR_SOCK",	0xab04},
+	{"linux/nbd.h",	"NBD_CLEAR_QUE",	0xab05},
+	{"linux/nbd.h",	"NBD_PRINT_DEBUG",	0xab06},
+	{"linux/nbd.h",	"NBD_SET_SIZE_BLOCKS",	0xab07},
+	{"linux/nbd.h",	"NBD_DISCONNECT",	0xab08},
+	{"linux/raw.h",	"RAW_SETBIND",	0xac00},
+	{"linux/raw.h",	"RAW_GETBIND",	0xac01},
+	{"linux/if_pppox.h",	"PPPOEIOCSFWD",	0xb100},
+	{"linux/if_pppox.h",	"PPPOEIOCDFWD",	0xb101},
+	{"linux/reiserfs_fs.h",	"REISERFS_IOC_UNPACK",	0xcd01},
+	{"linux/lvm.h",	"VG_CREATE_OLD",	0xfe00},
+	{"linux/lvm.h",	"VG_REMOVE",	0xfe01},
+	{"linux/lvm.h",	"VG_EXTEND",	0xfe03},
+	{"linux/lvm.h",	"VG_REDUCE",	0xfe04},
+	{"linux/lvm.h",	"VG_STATUS",	0xfe05},
+	{"linux/lvm.h",	"VG_STATUS_GET_COUNT",	0xfe06},
+	{"linux/lvm.h",	"VG_STATUS_GET_NAMELIST",	0xfe07},
+	{"linux/lvm.h",	"VG_SET_EXTENDABLE",	0xfe08},
+	{"linux/lvm.h",	"VG_RENAME",	0xfe09},
+	{"linux/lvm.h",	"VG_CREATE",	0xfe0a},
+	{"linux/lvm.h",	"LV_CREATE",	0xfe20},
+	{"linux/lvm.h",	"LV_REMOVE",	0xfe21},
+	{"linux/lvm.h",	"LV_ACTIVATE",	0xfe22},
+	{"linux/lvm.h",	"LV_DEACTIVATE",	0xfe23},
+	{"linux/lvm.h",	"LV_EXTEND",	0xfe24},
+	{"linux/lvm.h",	"LV_REDUCE",	0xfe25},
+	{"linux/lvm.h",	"LV_STATUS_BYNAME",	0xfe26},
+	{"linux/lvm.h",	"LV_STATUS_BYINDEX",	0xfe27},
+	{"linux/lvm.h",	"LV_SET_ACCESS",	0xfe28},
+	{"linux/lvm.h",	"LV_SET_ALLOCATION",	0xfe29},
+	{"linux/lvm.h",	"LV_SET_STATUS",	0xfe2a},
+	{"linux/lvm.h",	"LE_REMAP",	0xfe2b},
+	{"linux/lvm.h",	"LV_SNAPSHOT_USE_RATE",	0xfe2c},
+	{"linux/lvm.h",	"LV_STATUS_BYDEV",	0xfe2e},
+	{"linux/lvm.h",	"LV_RENAME",	0xfe2f},
+	{"linux/lvm.h",	"LV_BMAP",	0xfe30},
+	{"linux/lvm.h",	"PV_STATUS",	0xfe40},
+	{"linux/lvm.h",	"PV_CHANGE",	0xfe41},
+	{"linux/lvm.h",	"PV_FLUSH",	0xfe42},
+	{"linux/lvm.h",	"PE_LOCK_UNLOCK",	0xfe50},
+	{"linux/lvm.h",	"LVM_GET_IOP_VERSION",	0xfe98},
+	{"linux/lvm.h",	"LVM_RESET",	0xfe99},
+	{"linux/lvm.h",	"LVM_LOCK_LVM",	0xff00},
diff --git a/strace-4.5.20/linux/alpha/signalent.h b/strace-4.5.20/linux/alpha/signalent.h
new file mode 100644
index 0000000..2b507e3
--- /dev/null
+++ b/strace-4.5.20/linux/alpha/signalent.h
@@ -0,0 +1,32 @@
+	"SIG_0",	/* 0 */
+	"SIGHUP",	/* 1 */
+	"SIGINT",	/* 2 */
+	"SIGQUIT",	/* 3 */
+	"SIGILL",	/* 4 */
+	"SIGTRAP",	/* 5 */
+	"SIGABRT",	/* 6 */
+	"SIGEMT",	/* 7 */
+	"SIGFPE",	/* 8 */
+	"SIGKILL",	/* 9 */
+	"SIGBUS",	/* 10 */
+	"SIGSEGV",	/* 11 */
+	"SIGSYS",	/* 12 */
+	"SIGPIPE",	/* 13 */
+	"SIGALRM",	/* 14 */
+	"SIGTERM",	/* 15 */
+	"SIGURG",	/* 16 */
+	"SIGSTOP",	/* 17 */
+	"SIGTSTP",	/* 18 */
+	"SIGCONT",	/* 19 */
+	"SIGCHLD",	/* 20 */
+	"SIGTTIN",	/* 21 */
+	"SIGTTOU",	/* 22 */
+	"SIGIO",	/* 23 */
+	"SIGXCPU",	/* 24 */
+	"SIGXFSZ",	/* 25 */
+	"SIGVTALRM",	/* 26 */
+	"SIGPROF",	/* 27 */
+	"SIGWINCH",	/* 28 */
+	"SIGINFO",	/* 29 */
+	"SIGUSR1",	/* 30 */
+	"SIGUSR2",	/* 31 */
diff --git a/strace-4.5.20/linux/alpha/syscallent.h b/strace-4.5.20/linux/alpha/syscallent.h
new file mode 100644
index 0000000..65b9c3e
--- /dev/null
+++ b/strace-4.5.20/linux/alpha/syscallent.h
@@ -0,0 +1,524 @@
+/*
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+	{ 6,	0,	printargs,		"osf_syscall"		}, /* 0, not implemented */
+	{ 1,	TP,	sys_exit,		"exit"			}, /* 1 */
+	{ 0,	TP,	sys_fork,		"fork"			}, /* 2 */
+	{ 3,	TD,	sys_read,		"read"			}, /* 3 */
+	{ 3,	TD,	sys_write,		"write"			}, /* 4 */
+	{ 5,	0,	printargs,		"osf_old_open"		}, /* 5, not implemented */
+	{ 1,	TD,	sys_close,		"close"			}, /* 6 */
+	{ 4,	TP,	sys_osf_wait4,		"osf_wait4"		}, /* 7 */
+	{ 5,	0,	printargs,		"osf_old_creat"		}, /* 8, not implemented */
+	{ 2,	TF,	sys_link,		"link"			}, /* 9 */
+	{ 1,	TF,	sys_unlink,		"unlink"		}, /* 10 */
+	{ 5,	0,	printargs,		"osf_execve"		}, /* 11, not implemented */
+	{ 1,	TF,	sys_chdir,		"chdir"			}, /* 12 */
+	{ 1,	TF,	sys_fchdir,		"fchdir"		}, /* 13 */
+	{ 3,	TF,	sys_mknod,		"mknod"			}, /* 14 */
+	{ 2,	TF,	sys_chmod,		"chmod"			}, /* 15 */
+	{ 3,	TF,	sys_chown,		"chown"			}, /* 16 */
+	{ 1,	0,	sys_brk,		"brk"			}, /* 17 */
+	{ 5,	0,	printargs,		"osf_getfsstat"		}, /* 18, not implemented */
+	{ 3,	TF,	sys_lseek,		"lseek"			}, /* 19 */
+	{ 0,	0,	sys_getpid,		"getxpid"		}, /* 20 */
+	{ 4,	0,	printargs,		"osf_mount"		}, /* 21 */
+	{ 2,	0,	sys_umount2,		"umount"		}, /* 22 */
+	{ 1,	0,	sys_setuid,		"setuid"		}, /* 23 */
+	{ 0,	0,	sys_getuid,		"getxuid"		}, /* 24 */
+	{ 5,	0,	printargs,		"exec_with_loader"	}, /* 25, not implemented */
+	{ 4,	0,	sys_ptrace,		"ptrace"		}, /* 26 */
+	{ 5,	0,	printargs,		"osf_nrecvmsg"		}, /* 27, not implemented */
+	{ 5,	0,	printargs,		"osf_nsendmsg"		}, /* 28, not implemented */
+	{ 5,	0,	printargs,		"osf_nrecvfrom"		}, /* 29, not implemented */
+	{ 5,	0,	printargs,		"osf_naccept"		}, /* 30, not implemented */
+	{ 5,	0,	printargs,		"osf_ngetpeername"	}, /* 31, not implemented */
+	{ 5,	0,	printargs,		"osf_ngetsockname"	}, /* 32, not implemented */
+	{ 2,	TF,	sys_access,		"access"		}, /* 33 */
+	{ 5,	0,	printargs,		"osf_chflags"		}, /* 34, not implemented */
+	{ 5,	0,	printargs,		"osf_fchflags"		}, /* 35, not implemented */
+	{ 0,	0,	sys_sync,		"sync"			}, /* 36 */
+	{ 2,	TS,	sys_kill,		"kill"			}, /* 37 */
+	{ 5,	0,	printargs,		"osf_old_stat"		}, /* 38, not implemented */
+	{ 2,	0,	sys_setpgid,		"setpgid"		}, /* 39 */
+	{ 5,	0,	printargs,		"osf_old_lstat"		}, /* 40, not implemented */
+	{ 1,	TD,	sys_dup,		"dup"			}, /* 41 */
+	{ 1,	TD,	sys_pipe,		"pipe"			}, /* 42 */
+	{ 5,	0,	printargs,		"osf_set_program_attributes"	}, /* 43 */
+	{ 5,	0,	printargs,		"osf_profil"		}, /* 44, not implemented */
+	{ 3,	TD|TF,	sys_open,		"open"			}, /* 45 */
+	{ 5,	0,	printargs,		"osf_old_sigaction"	}, /* 46, not implemented */
+	{ 1,	0,	sys_getgid,		"getxgid"		}, /* 47 */
+	{ 3,	TS,	printargs,		"osf_sigprocmask"	}, /* 48 */
+	{ 5,	0,	printargs,		"osf_getlogin"		}, /* 49, not implemented */
+	{ 5,	0,	printargs,		"osf_setlogin"		}, /* 50, not implemented */
+	{ 1,	TF,	sys_acct,		"acct"			}, /* 51 */
+	{ 1,	TS,	sys_sigpending,		"sigpending"		}, /* 52 */
+	{ 5,	0,	printargs,		"SYS_53"		}, /* 53 */
+	{ 3,	TD,	sys_ioctl,		"ioctl"			}, /* 54 */
+	{ 5,	0,	printargs,		"osf_reboot"		}, /* 55, not implemented */
+	{ 5,	0,	printargs,		"osf_revoke"		}, /* 56, not implemented */
+	{ 2,	TF,	sys_symlink,		"symlink"		}, /* 57 */
+	{ 3,	TF,	sys_readlink,		"readlink"		}, /* 58 */
+	{ 3,	TF|TP,	sys_execve,		"execve"		}, /* 59 */
+	{ 1,	0,	sys_umask,		"umask"			}, /* 60 */
+	{ 1,	TF,	sys_chroot,		"chroot"		}, /* 61 */
+	{ 5,	0,	printargs,		"osf_old_fstat"		}, /* 62, not implemented */
+	{ 0,	0,	sys_getpgrp,		"getpgrp"		}, /* 63 */
+	{ 0,	0,	sys_getpagesize,	"getpagesize"		}, /* 64 */
+	{ 5,	0,	printargs,		"osf_mremap"		}, /* 65, not implemented */
+	{ 0,	TP,	sys_fork,		"vfork"			}, /* 66 */
+	{ 2,	TF,	sys_stat,		"stat"			}, /* 67 */
+	{ 2,	TF,	sys_lstat,		"lstat"			}, /* 68 */
+	{ 5,	0,	printargs,		"osf_sbrk"		}, /* 69, not implemented */
+	{ 5,	0,	printargs,		"osf_sstk"		}, /* 70, not implemented */
+	{ 6,	0,	sys_mmap,		"mmap"			}, /* 71 */
+	{ 5,	0,	printargs,		"osf_old_vadvise"	}, /* 72, not implemented */
+	{ 2,	0,	sys_munmap,		"munmap"		}, /* 73 */
+	{ 3,	0,	sys_mprotect,		"mprotect"		}, /* 74 */
+	{ 3,	0,	sys_madvise,		"madvise"		}, /* 75 */
+	{ 0,	0,	sys_vhangup,		"vhangup"		}, /* 76 */
+	{ 5,	0,	printargs,		"osf_kmodcall"		}, /* 77, not implemented */
+	{ 5,	0,	printargs,		"osf_mincore"		}, /* 78, not implemented */
+	{ 2,	0,	sys_getgroups,		"getgroups"		}, /* 79 */
+	{ 2,	0,	sys_setgroups,		"setgroups"		}, /* 80 */
+	{ 5,	0,	printargs,		"osf_old_getpgrp"	}, /* 81, not implemented */
+	{ 2,	0,	sys_setpgrp,		"setpgrp"		}, /* 82 */
+	{ 3,	0,	sys_osf_setitimer,	"osf_setitimer"		}, /* 83 */
+	{ 5,	0,	printargs,		"osf_old_wait"		}, /* 84, not implemented */
+	{ 5,	0,	printargs,		"osf_table"		}, /* 85, not implemented */
+	{ 2,	0,	sys_osf_getitimer,	"osf_getitimer"		}, /* 86 */
+	{ 2,	0,	sys_gethostname,	"gethostname"		}, /* 87 */
+	{ 2,	0,	sys_sethostname,	"sethostname"		}, /* 88 */
+	{ 0,	0,	sys_getdtablesize,	"getdtablesize"		}, /* 89 */
+	{ 2,	TD,	sys_dup2,		"dup2"			}, /* 90 */
+	{ 2,	TD,	sys_fstat,		"fstat"			}, /* 91 */
+	{ 3,	TD,	sys_fcntl,		"fcntl"			}, /* 92 */
+	{ 5,	0,	sys_osf_select,		"osf_select"		}, /* 93 */
+	{ 3,	TD,	sys_poll,		"poll"			}, /* 94 */
+	{ 1,	TD,	sys_fsync,		"fsync"			}, /* 95 */
+	{ 3,	0,	sys_setpriority,	"setpriority"		}, /* 96 */
+	{ 3,	TN,	sys_socket,		"socket"		}, /* 97 */
+	{ 3,	TN,	sys_connect,		"connect"		}, /* 98 */
+	{ 3,	TN,	sys_accept,		"accept"		}, /* 99 */
+	{ 2,	0,	sys_getpriority,	"osf_getpriority"	}, /* 100 */
+	{ 4,	TN,	sys_send,		"send"			}, /* 101 */
+	{ 4,	TN,	sys_recv,		"recv"			}, /* 102 */
+	{ 1,	TS,	sys_sigreturn,		"sigreturn"		}, /* 103 */
+	{ 3,	TN,	sys_bind,		"bind"			}, /* 104 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"		}, /* 105 */
+	{ 2,	TN,	sys_listen,		"listen"		}, /* 106 */
+	{ 5,	0,	printargs,		"osf_plock"		}, /* 107, not implemented */
+	{ 5,	0,	printargs,		"osf_old_sigvec"	}, /* 108, not implemented */
+	{ 5,	0,	printargs,		"osf_old_sigblock"	}, /* 109, not implemented */
+	{ 5,	0,	printargs,		"osf_old_sigsetmask"	}, /* 110, not implemented */
+	{ 3,	TS,	sys_sigsuspend,		"sigsuspend"		}, /* 111 */
+	{ 5,	0,	printargs,		"sigstack"		}, /* 112 */
+	{ 3,	TN,	sys_recvmsg,		"recvmsg"		}, /* 113 */
+	{ 3,	TN,	sys_sendmsg,		"sendmsg"		}, /* 114 */
+	{ 5,	0,	printargs,		"osf_old_vtrace"	}, /* 115, not implemented */
+	{ 2,	0,	sys_osf_gettimeofday,	"osf_gettimeofday"	}, /* 116 */
+	{ 2,	0,	sys_osf_getrusage,	"osf_getrusage"		}, /* 117 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"		}, /* 118 */
+	{ 5,	0,	printargs,		"SYS_119"		}, /* 119 */
+	{ 3,	TD,	sys_readv,		"readv"			}, /* 120 */
+	{ 3,	TD,	sys_writev,		"writev"		}, /* 121 */
+	{ 2,	0,	sys_osf_settimeofday,	"osf_settimeofday"	}, /* 122 */
+	{ 3,	TD,	sys_fchown,		"fchown"		}, /* 123 */
+	{ 2,	TD,	sys_fchmod,		"fchmod"		}, /* 124 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom"		}, /* 125 */
+	{ 2,	0,	sys_setreuid,		"setreuid"		}, /* 126 */
+	{ 2,	0,	sys_setregid,		"setregid"		}, /* 127 */
+	{ 2,	TF,	sys_rename,		"rename"		}, /* 128 */
+	{ 2,	TF,	sys_truncate,		"truncate"		}, /* 129 */
+	{ 2,	TD,	sys_ftruncate,		"ftruncate"		}, /* 130 */
+	{ 2,	TD,	sys_flock,		"flock"			}, /* 131 */
+	{ 1,	0,	sys_setgid,		"setgid"		}, /* 132 */
+	{ 6,	TN,	sys_sendto,		"sendto"		}, /* 133 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"		}, /* 134 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"		}, /* 135 */
+	{ 2,	TF,	sys_mkdir,		"mkdir"			}, /* 136 */
+	{ 1,	TF,	sys_rmdir,		"rmdir"			}, /* 137 */
+	{ 2,	0,	sys_osf_utimes,		"osf_utimes"		}, /* 138 */
+	{ 5,	0,	printargs,		"osf_old_sigreturn"	}, /* 139 */
+	{ 5,	0,	printargs,		"osf_adjtime"		}, /* 140, not implemented */
+	{ 3,	TN,	sys_getpeername,	"getpeername"		}, /* 141 */
+	{ 5,	0,	printargs,		"osf_gethostid"		}, /* 142, not implemented */
+	{ 5,	0,	printargs,		"osf_sethostid"		}, /* 143, not implemented */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"		}, /* 144 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit"		}, /* 145 */
+	{ 5,	0,	printargs,		"osf_old_killpg"	}, /* 146, not implemented */
+	{ 0,	0,	sys_setsid,		"setsid"		}, /* 147 */
+	{ 4,	0,	sys_quotactl,		"quotactl"		}, /* 148 */
+	{ 5,	0,	printargs,		"osf_oldquota"		}, /* 149, not implemented */
+	{ 3,	TN,	sys_getsockname,	"getsockname"		}, /* 150 */
+	{ 5,	0,	printargs,		"SYS_151"		}, /* 151 */
+	{ 5,	0,	printargs,		"SYS_152"		}, /* 152 */
+	{ 5,	0,	printargs,		"osf_pid_block"		}, /* 153, not implemented */
+	{ 5,	0,	printargs,		"osf_pid_unblock"	}, /* 154, not implemented */
+	{ 5,	0,	printargs,		"SYS_155"		}, /* 155 */
+	{ 3,	TS,	sys_sigaction,		"sigaction"		}, /* 156 */
+	{ 5,	0,	printargs,		"osf_sigwaitprim"	}, /* 157, not implemented */
+	{ 5,	0,	printargs,		"osf_nfssvc"		}, /* 158, not implemented */
+	{ 4,	0,	printargs,		"osf_getdirentries"	}, /* 159 */
+	{ 3,	0,	osf_statfs,		"osf_statfs"		}, /* 160 */
+	{ 3,	0,	osf_fstatfs,		"osf_fstatfs"		}, /* 161 */
+	{ 5,	0,	printargs,		"SYS_162"		}, /* 162 */
+	{ 5,	0,	printargs,		"osf_asynch_daemon"	}, /* 163, not implemented */
+	{ 5,	0,	printargs,		"osf_getfh"		}, /* 164, not implemented */
+	{ 2,	0,	printargs,		"osf_getdomainname"	}, /* 165 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname"		}, /* 166 */
+	{ 5,	0,	printargs,		"SYS_167"		}, /* 167 */
+	{ 5,	0,	printargs,		"SYS_168"		}, /* 168 */
+	{ 5,	0,	printargs,		"osf_exportfs"		}, /* 169, not implemented */
+	{ 5,	0,	printargs,		"SYS_170"		}, /* 170 */
+	{ 5,	0,	printargs,		"SYS_171"		}, /* 171 */
+	{ 5,	0,	printargs,		"SYS_172"		}, /* 172 */
+	{ 5,	0,	printargs,		"SYS_173"		}, /* 173 */
+	{ 5,	0,	printargs,		"SYS_174"		}, /* 174 */
+	{ 5,	0,	printargs,		"SYS_175"		}, /* 175 */
+	{ 5,	0,	printargs,		"SYS_176"		}, /* 176 */
+	{ 5,	0,	printargs,		"SYS_177"		}, /* 177 */
+	{ 5,	0,	printargs,		"SYS_178"		}, /* 178 */
+	{ 5,	0,	printargs,		"SYS_179"		}, /* 179 */
+	{ 5,	0,	printargs,		"SYS_180"		}, /* 180 */
+	{ 5,	0,	printargs,		"osf_alt_plock"		}, /* 181, not implemented */
+	{ 5,	0,	printargs,		"SYS_182"		}, /* 182 */
+	{ 5,	0,	printargs,		"SYS_183"		}, /* 183 */
+	{ 5,	0,	printargs,		"osf_getmnt"		}, /* 184, not implemented */
+	{ 5,	0,	printargs,		"SYS_185"		}, /* 185 */
+	{ 5,	0,	printargs,		"SYS_186"		}, /* 186 */
+	{ 5,	0,	printargs,		"osf_alt_sigpending"	}, /* 187, not implemented */
+	{ 5,	0,	printargs,		"osf_alt_setsid"	}, /* 188, not implemented */
+	{ 5,	0,	printargs,		"SYS_189"		}, /* 189 */
+	{ 5,	0,	printargs,		"SYS_190"		}, /* 190 */
+	{ 5,	0,	printargs,		"SYS_191"		}, /* 191 */
+	{ 5,	0,	printargs,		"SYS_192"		}, /* 192 */
+	{ 5,	0,	printargs,		"SYS_193"		}, /* 193 */
+	{ 5,	0,	printargs,		"SYS_194"		}, /* 194 */
+	{ 5,	0,	printargs,		"SYS_195"		}, /* 195 */
+	{ 5,	0,	printargs,		"SYS_196"		}, /* 196 */
+	{ 5,	0,	printargs,		"SYS_197"		}, /* 197 */
+	{ 5,	0,	printargs,		"SYS_198"		}, /* 198 */
+	{ 4,	0,	printargs,		"osf_swapon"		}, /* 199 */
+	{ 4,	TI,	sys_msgctl,		"msgctl"		}, /* 200 */
+	{ 4,	TI,	sys_msgget,		"msgget"		}, /* 201 */
+	{ 4,	TI,	sys_msgrcv,		"msgrcv"		}, /* 202 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd"		}, /* 203 */
+	{ 4,	TI,	sys_semctl,		"semctl"		}, /* 204 */
+	{ 4,	TI,	sys_semget,		"semget"		}, /* 205 */
+	{ 4,	TI,	printargs,		"semop"			}, /* 206 */
+	{ 1,	0,	printargs,		"osf_utsname"		}, /* 207 */
+	{ 3,	TF,	sys_chown,		"lchown"		}, /* 208 */
+	{ 3,	TI,	printargs,		"osf_shmat"		}, /* 209 */
+	{ 4,	TI,	sys_shmctl,		"shmctl"		}, /* 210 */
+	{ 4,	TI,	sys_shmdt,		"shmdt"			}, /* 211 */
+	{ 4,	TI,	sys_shmget,		"shmget"		}, /* 212 */
+	{ 5,	0,	printargs,		"osf_mvalid"		}, /* 213, not implemented */
+	{ 5,	0,	printargs,		"osf_getaddressconf"	}, /* 214, not implemented */
+	{ 5,	0,	printargs,		"osf_msleep"		}, /* 215, not implemented */
+	{ 5,	0,	printargs,		"osf_mwakeup"		}, /* 216, not implemented */
+	{ 3,	0,	sys_msync,		"msync"			}, /* 217 */
+	{ 5,	0,	printargs,		"osf_signal"		}, /* 218, not implemented */
+	{ 5,	0,	printargs,		"osf_utc_gettime"	}, /* 219, not implemented */
+	{ 5,	0,	printargs,		"osf_utc_adjtime"	}, /* 220, not implemented */
+	{ 5,	0,	printargs,		"SYS_221"		}, /* 221 */
+	{ 5,	0,	printargs,		"osf_security"		}, /* 222, not implemented */
+	{ 5,	0,	printargs,		"osf_kloadcall"		}, /* 223, not implemented */
+	{ 5,	0,	printargs,		"SYS_224"		}, /* 224 */
+	{ 5,	0,	printargs,		"SYS_225"		}, /* 225 */
+	{ 5,	0,	printargs,		"SYS_226"		}, /* 226 */
+	{ 5,	0,	printargs,		"SYS_227"		}, /* 227 */
+	{ 5,	0,	printargs,		"SYS_228"		}, /* 228 */
+	{ 5,	0,	printargs,		"SYS_229"		}, /* 229 */
+	{ 5,	0,	printargs,		"SYS_230"		}, /* 230 */
+	{ 5,	0,	printargs,		"SYS_231"		}, /* 231 */
+	{ 5,	0,	printargs,		"SYS_232"		}, /* 232 */
+	{ 1,	0,	sys_getpgid,		"getpgid"		}, /* 233 */
+	{ 1,	0,	sys_getsid,		"getsid"		}, /* 234 */
+	{ 5,	0,	sys_sigaltstack,	"sigaltstack"		}, /* 235 */
+	{ 5,	0,	printargs,		"osf_waitid"		}, /* 236, not implemented */
+	{ 5,	0,	printargs,		"osf_priocntlset"	}, /* 237, not implemented */
+	{ 5,	0,	printargs,		"osf_sigsendset"	}, /* 238, not implemented */
+	{ 5,	0,	printargs,		"osf_set_speculative"	}, /* 239, not implemented */
+	{ 5,	0,	printargs,		"osf_msfs_syscall"	}, /* 240, not implemented */
+	{ 5,	0,	printargs,		"osf_sysinfo"		}, /* 241 */
+	{ 5,	0,	printargs,		"osf_uadmin"		}, /* 242, not implemented */
+	{ 5,	0,	printargs,		"osf_fuser"		}, /* 243, not implemented */
+	{ 2,	0,	printargs,		"osf_proplist_syscall"	}, /* 244 */
+	{ 5,	0,	printargs,		"osf_ntp_adjtime"	}, /* 245, not implemented */
+	{ 5,	0,	printargs,		"osf_ntp_gettime"	}, /* 246, not implemented */
+	{ 5,	0,	printargs,		"osf_pathconf"		}, /* 247, not implemented */
+	{ 5,	0,	printargs,		"osf_fpathconf"		}, /* 248, not implemented */
+	{ 5,	0,	printargs,		"SYS_249"		}, /* 249 */
+	{ 5,	0,	printargs,		"osf_uswitch"		}, /* 250, not implemented */
+	{ 2,	0,	printargs,		"osf_usleep_thread"	}, /* 251 */
+	{ 5,	0,	printargs,		"osf_audcntl"		}, /* 252, not implemented */
+	{ 5,	0,	printargs,		"osf_audgen"		}, /* 253, not implemented */
+	{ 5,	0,	sys_sysfs,		"sysfs"			}, /* 254 */
+	{ 5,	0,	printargs,		"osf_subsysinfo"	}, /* 255, not implemented */
+	{ 5,	0,	printargs,		"osf_getsysinfo"	}, /* 256 */
+	{ 5,	0,	printargs,		"osf_setsysinfo"	}, /* 257 */
+	{ 5,	0,	printargs,		"osf_afs_syscall"	}, /* 258, not implemented */
+	{ 5,	0,	printargs,		"osf_swapctl"		}, /* 259, not implemented */
+	{ 5,	0,	printargs,		"osf_memcntl"		}, /* 260, not implemented */
+	{ 5,	0,	printargs,		"osf_fdatasync"		}, /* 261, not implemented */
+	{ 5,	0,	printargs,		"SYS_262"		}, /* 262 */
+	{ 5,	0,	printargs,		"SYS_263"		}, /* 263 */
+	{ 5,	0,	printargs,		"SYS_264"		}, /* 264 */
+	{ 5,	0,	printargs,		"SYS_265"		}, /* 265 */
+	{ 5,	0,	printargs,		"SYS_266"		}, /* 266 */
+	{ 5,	0,	printargs,		"SYS_267"		}, /* 267 */
+	{ 5,	0,	printargs,		"SYS_268"		}, /* 268 */
+	{ 5,	0,	printargs,		"SYS_269"		}, /* 269 */
+	{ 5,	0,	printargs,		"SYS_270"		}, /* 270 */
+	{ 5,	0,	printargs,		"SYS_271"		}, /* 271 */
+	{ 5,	0,	printargs,		"SYS_272"		}, /* 272 */
+	{ 5,	0,	printargs,		"SYS_273"		}, /* 273 */
+	{ 5,	0,	printargs,		"SYS_274"		}, /* 274 */
+	{ 5,	0,	printargs,		"SYS_275"		}, /* 275 */
+	{ 5,	0,	printargs,		"SYS_276"		}, /* 276 */
+	{ 5,	0,	printargs,		"SYS_277"		}, /* 277 */
+	{ 5,	0,	printargs,		"SYS_278"		}, /* 278 */
+	{ 5,	0,	printargs,		"SYS_279"		}, /* 279 */
+	{ 5,	0,	printargs,		"SYS_280"		}, /* 280 */
+	{ 5,	0,	printargs,		"SYS_281"		}, /* 281 */
+	{ 5,	0,	printargs,		"SYS_282"		}, /* 282 */
+	{ 5,	0,	printargs,		"SYS_283"		}, /* 283 */
+	{ 5,	0,	printargs,		"SYS_284"		}, /* 284 */
+	{ 5,	0,	printargs,		"SYS_285"		}, /* 285 */
+	{ 5,	0,	printargs,		"SYS_286"		}, /* 286 */
+	{ 5,	0,	printargs,		"SYS_287"		}, /* 287 */
+	{ 5,	0,	printargs,		"SYS_288"		}, /* 288 */
+	{ 5,	0,	printargs,		"SYS_289"		}, /* 289 */
+	{ 5,	0,	printargs,		"SYS_290"		}, /* 290 */
+	{ 5,	0,	printargs,		"SYS_291"		}, /* 291 */
+	{ 5,	0,	printargs,		"SYS_292"		}, /* 292 */
+	{ 5,	0,	printargs,		"SYS_293"		}, /* 293 */
+	{ 5,	0,	printargs,		"SYS_294"		}, /* 294 */
+	{ 5,	0,	printargs,		"SYS_295"		}, /* 295 */
+	{ 5,	0,	printargs,		"SYS_296"		}, /* 296 */
+	{ 5,	0,	printargs,		"SYS_297"		}, /* 297 */
+	{ 5,	0,	printargs,		"SYS_298"		}, /* 298 */
+	{ 5,	0,	printargs,		"SYS_299"		}, /* 299 */
+	{ 0,	0,	sys_bdflush,		"bdflush"		}, /* 300 */
+	{ 3,	0,	printargs,		"sethae"		}, /* 301 */
+	{ 5,	TF,	sys_mount,		"mount"			}, /* 302 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex32"		}, /* 303 */
+	{ 1,	0,	sys_swapoff,		"swapoff"		}, /* 304 */
+	{ 3,	TD,	sys_getdents,		"getdents"		}, /* 305 */
+	{ 2,	0,	sys_create_module,	"create_module"		}, /* 306 */
+	{ 4,	0,	sys_init_module,	"init_module"		}, /* 307 */
+	{ 2,	0,	sys_delete_module,	"delete_module"		}, /* 308 */
+	{ 1,	0,	sys_get_kernel_syms,	"get_kernel_syms"	}, /* 309 */
+	{ 3,	0,	sys_syslog,		"syslog"		}, /* 310 */
+	{ 3,	0,	sys_reboot,		"reboot"		}, /* 311 */
+	{ 5,	TP,	sys_clone,		"clone"			}, /* 312 */
+	{ 1,	0,	sys_uselib,		"uselib"		}, /* 313 */
+	{ 2,	0,	sys_mlock,		"mlock"			}, /* 314 */
+	{ 2,	0,	sys_munlock,		"munlock"		}, /* 315 */
+	{ 1,	0,	sys_mlockall,		"mlockall"		}, /* 316 */
+	{ 0,	0,	sys_munlockall,		"munlockall"		}, /* 317 */
+	{ 1,	0,	sys_sysinfo,		"sysinfo"		}, /* 318 */
+	{ 1,	0,	sys_sysctl,		"sysctl"		}, /* 319 */
+	{ 0,	0,	sys_idle,		"idle"			}, /* 320 */
+	{ 1,	0,	sys_umount,		"oldumount"		}, /* 321 */
+	{ 1,	0,	sys_swapon,		"swapon"		}, /* 322 */
+	{ 1,	0,	sys_times,		"times"			}, /* 323 */
+	{ 1,	0,	sys_personality,	"personality"		}, /* 324 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid"		}, /* 325 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid"		}, /* 326 */
+	{ 2,	0,	sys_ustat,		"ustat"			}, /* 327 */
+	{ 2,	TF,	sys_statfs,		"statfs"		}, /* 328 */
+	{ 2,	TD,	sys_fstatfs,		"fstatfs"		}, /* 329 */
+	{ 2,	0,	sys_sched_setparam,	"sched_setparam"	}, /* 330 */
+	{ 2,	0,	sys_sched_getparam,	"sched_getparam"	}, /* 331 */
+	{ 3,	0,	sys_sched_setscheduler,	"sched_setscheduler"	}, /* 332 */
+	{ 2,	0,	sys_sched_getscheduler,	"sched_getscheduler"	}, /* 333 */
+	{ 0,	0,	sys_sched_yield,	"sched_yield"		}, /* 334 */
+	{ 1,	0,	sys_sched_get_priority_max,"sched_get_priority_max"	}, /* 335 */
+	{ 1,	0,	sys_sched_get_priority_min,"sched_get_priority_min"	}, /* 336 */
+	{ 2,	0,	sys_sched_rr_get_interval,"sched_rr_get_interval"	}, /* 337 */
+	{ 5,	0,	sys_afs_syscall,	"afs_syscall"		}, /* 338 */
+	{ 1,	0,	sys_uname,		"uname"			}, /* 339 */
+	{ 2,	0,	sys_nanosleep,		"nanosleep"		}, /* 340 */
+	{ 5,	0,	sys_mremap,		"mremap"		}, /* 341 */
+	{ 5,	0,	printargs,		"nfsservctl"		}, /* 342 */
+	{ 3,	0,	sys_setresuid,		"setresuid"		}, /* 343 */
+	{ 3,	0,	sys_getresuid,		"getresuid"		}, /* 344 */
+	{ 5,	0,	printargs,		"pciconfig_read"	}, /* 345 */
+	{ 5,	0,	printargs,		"pciconfig_write"	}, /* 346 */
+	{ 5,	0,	sys_query_module,	"query_module"		}, /* 347 */
+	{ 5,	0,	sys_prctl,		"prctl"			}, /* 348 */
+	{ 5,	TD,	sys_pread,		"pread"			}, /* 349 */
+	{ 5,	TD,	sys_pwrite,		"pwrite"		}, /* 350 */
+	{ 1,	TS,	printargs,		"rt_sigreturn"		}, /* 351 */
+	{ 4,	TS,	sys_rt_sigaction,	"rt_sigaction"		}, /* 352 */
+	{ 4,	TS,	sys_rt_sigprocmask,	"rt_sigprocmask"	}, /* 353 */
+	{ 2,	TS,	sys_rt_sigpending,	"rt_sigpending"		}, /* 354 */
+	{ 4,	TS,	sys_rt_sigtimedwait,	"rt_sigtimedwait"	}, /* 355 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,	"rt_sigqueueinfo"	}, /* 356 */
+	{ 2,	TS,	sys_rt_sigsuspend,	"rt_sigsuspend"		}, /* 357 */
+	{ 5,	TD,	sys_select,		"select"		}, /* 358 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday"		}, /* 359 */
+	{ 3,	0,	sys_settimeofday,	"settimeofday"		}, /* 360 */
+	{ 2,	0,	sys_getitimer,		"getitimer"		}, /* 361 */
+	{ 3,	0,	sys_setitimer,		"setitimer"		}, /* 362 */
+	{ 2,	0,	sys_utimes,		"utimes"		}, /* 363 */
+	{ 2,	0,	sys_getrusage,		"getrusage"		}, /* 364 */
+	{ 4,	TP,	sys_wait4,		"wait4"			}, /* 365 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex"		}, /* 366 */
+	{ 2,	0,	sys_getcwd,		"getcwd"		}, /* 367 */
+	{ 2,	0,	sys_capget,		"capget"		}, /* 368 */
+	{ 2,	0,	sys_capset,		"capset"		}, /* 369 */
+	{ 4,	TD|TN,	sys_sendfile,		"sendfile"		}, /* 370 */
+	{ 3,	0,	sys_setresgid,		"setresgid"		}, /* 371 */
+	{ 3,	0,	sys_getresgid,		"getresgid"		}, /* 372 */
+	{ 4,	0,	printargs,		"dipc"			}, /* 373, not implemented */
+	{ 2,	TF,	sys_pivotroot,		"pivot_root"		}, /* 374 */
+	{ 3,	0,	sys_mincore,		"mincore"		}, /* 375 */
+	{ 3,	0,	printargs,		"pciconfig_iobase"	}, /* 376 */
+	{ 3,	TD,	sys_getdents64,		"getdents64"		}, /* 377 */
+	{ 0,	0,	printargs,		"gettid"		}, /* 378 */
+	{ 4,	TD,	sys_readahead,		"readahead"		}, /* 379 */
+	{ 5,	0,	printargs,		"SYS_380"		}, /* 380 */
+	{ 2,	TS,	sys_kill,		"tkill"			}, /* 381 */
+	{ 5,	TF,	sys_setxattr,		"setxattr"		}, /* 382 */
+	{ 5,	TF,	sys_setxattr,		"lsetxattr"		}, /* 383 */
+	{ 5,	TD,	sys_fsetxattr,		"fsetxattr"		}, /* 384 */
+	{ 4,	TF,	sys_getxattr,		"getxattr"		}, /* 385 */
+	{ 4,	TF,	sys_getxattr,		"lgetxattr"		}, /* 386 */
+	{ 4,	0,	sys_fgetxattr,		"fgetxattr"		}, /* 387 */
+	{ 3,	TF,	sys_listxattr,		"listxattr"		}, /* 388 */
+	{ 3,	TF,	sys_listxattr,		"llistxattr"		}, /* 389 */
+	{ 3,	0,	sys_flistxattr,		"flistxattr"		}, /* 390 */
+	{ 2,	TF,	sys_removexattr,	"removexattr"		}, /* 391 */
+	{ 2,	TF,	sys_removexattr,	"lremovexattr"		}, /* 392 */
+	{ 2,	TD,	sys_fremovexattr,	"fremovexattr"		}, /* 393 */
+	{ 6,	0,	sys_futex,		"futex"			}, /* 394 */
+	{ 3,	0,	sys_sched_setaffinity,	"sched_setaffinity"	}, /* 395 */
+	{ 3,	0,	sys_sched_getaffinity,	"sched_getaffinity"	}, /* 396 */
+	{ 5,	0,	printargs,		"tuxcall"		}, /* 397 */
+	{ 2,	0,	sys_io_setup,		"io_setup"		}, /* 398 */
+	{ 1,	0,	sys_io_destroy,		"io_destroy"		}, /* 399 */
+	{ 5,	0,	sys_io_getevents,		"io_getevents"		}, /* 400 */
+	{ 3,	0,	sys_io_submit,		"io_submit"		}, /* 401 */
+	{ 3,	0,	sys_io_cancel,		"io_cancel"		}, /* 402 */
+	{ 5,	0,	printargs,		"SYS_403"		}, /* 403 */
+	{ 5,	0,	printargs,		"SYS_404"		}, /* 404 */
+	{ 1,	TP,	sys_exit,		"exit_group"		}, /* 405 */
+	{ 4,	0,	printargs,		"lookup_dcookie"	}, /* 406 */
+	{ 1,	0,	sys_epoll_create,	"epoll_create"		}, /* 407 */
+	{ 4,	TD,	sys_epoll_ctl,		"epoll_ctl"		}, /* 408 */
+	{ 4,	TD,	sys_epoll_wait,		"epoll_wait"		}, /* 409 */
+	{ 5,	0,	sys_remap_file_pages,	"remap_file_pages"	}, /* 410 */
+	{ 1,	0,	printargs,		"set_tid_address"	}, /* 411 */
+	{ 0,	0,	sys_restart_syscall,	"restart_syscall"	}, /* 412 */
+	{ 4,	0,	printargs,		"fadvise"		}, /* 413 */
+	{ 3,	0,	sys_timer_create,	"timer_create"		}, /* 414 */
+	{ 4,	0,	sys_timer_settime,	"timer_settime"		}, /* 415 */
+	{ 2,	0,	sys_timer_gettime,	"timer_gettime"		}, /* 416 */
+	{ 1,	0,	sys_timer_getoverrun,	"timer_getoverrun"	}, /* 417 */
+	{ 1,	0,	sys_timer_delete,	"timer_delete"		}, /* 418 */
+	{ 2,	0,	sys_clock_settime,	"clock_settime"		}, /* 419 */
+	{ 2,	0,	sys_clock_gettime,	"clock_gettime"		}, /* 420 */
+	{ 2,	0,	sys_clock_getres,	"clock_getres"		}, /* 421 */
+	{ 4,	0,	sys_clock_nanosleep,	"clock_nanosleep"	}, /* 422 */
+	{ 5,	TI,	sys_semtimedop,		"semtimedop"		}, /* 423 */
+	{ 3,	TS,	sys_tgkill,		"tgkill"		}, /* 424 */
+	{ 2,	TF,	sys_stat64,		"stat64"		}, /* 425 */
+	{ 2,	TF,	sys_lstat64,		"lstat64"		}, /* 426 */
+	{ 2,	TD,	sys_fstat64,		"fstat64"		}, /* 427 */
+	{ 5,	0,	printargs,		"vserver"		}, /* 428 ??? */
+	{ 5,	0,	printargs,		"mbind"			}, /* 429 ??? */
+	{ 5,	0,	printargs,		"get_mempolicy"		}, /* 430 ??? */
+	{ 5,	0,	printargs,		"set_mempolicy"		}, /* 431 ??? */
+	{ 4,	0,	sys_mq_open,		"mq_open"		}, /* 432 */
+	{ 1,	0,	sys_mq_unlink,		"mq_unlink"		}, /* 433 */
+	{ 5,	0,	sys_mq_timedsend,	"mq_timedsend"		}, /* 434 */
+	{ 5,	0,	sys_mq_timedreceive,	"mq_timedreceive"	}, /* 435 */
+	{ 2,	0,	sys_mq_notify,		"mq_notify"		}, /* 436 */
+	{ 3,	0,	sys_mq_getsetattr,	"mq_getsetattr"		}, /* 437 */
+	{ 4,	0,	printargs,		"waitid"		}, /* 438 */
+	{ 5,	0,	printargs,		"add_key"		}, /* 439 */
+	{ 4,	0,	printargs,		"request_key"		}, /* 440 */
+	{ 5,	0,	printargs,		"keyctl"		}, /* 441 */
+	{ 3,	0,	printargs,		"ioprio_set"		}, /* 442 */
+	{ 2,	0,	printargs,		"ioprio_get"		}, /* 443 */
+	{ 0,	TD,	printargs,		"inotify_init"		}, /* 444 */
+	{ 3,	TD,	sys_inotify_add_watch,	"inotify_add_watch"	}, /* 445 */
+	{ 2,	TD,	sys_inotify_rm_watch,	"inotify_rm_watch"	}, /* 446 */
+	{ 1,	TD,	sys_fdatasync,		"fdatasync"		}, /* 447 */
+	{ 5,	0,	printargs,		"kexec_load"		}, /* 448 */
+	{ 4,	0,	printargs,		"migrate_pages"		}, /* 449 */
+	{ 4,	TD|TF,	sys_openat,		"openat"		}, /* 450 */
+	{ 3,	TD|TF,	sys_mkdirat,		"mkdirat"		}, /* 451 */
+	{ 4,	TD|TF,	sys_mknodat,		"mknodat"		}, /* 452 */
+	{ 5,	TD|TF,	sys_fchownat,		"fchownat"		}, /* 453 */
+	{ 3,	TD|TF,	sys_futimesat,		"futimesat"		}, /* 454 */
+	{ 4,	TD|TD,	sys_newfstatat,		"newfstatat"		}, /* 455 */
+	{ 3,	TD|TF,	sys_unlinkat,		"unlinkat"		}, /* 456 */
+	{ 4,	TD|TF,	sys_renameat,		"renameat"		}, /* 457 */
+	{ 5,	TD|TF,	sys_linkat,		"linkat"		}, /* 458 */
+	{ 3,	TD|TF,	sys_symlinkat,		"symlinkat"		}, /* 459 */
+	{ 4,	TD|TF,	sys_readlinkat,		"readlinkat"		}, /* 460 */
+	{ 3,	TD|TF,	sys_fchmodat,		"fchmodat"		}, /* 461 */
+	{ 3,	TD|TF,	sys_faccessat,		"faccessat"		}, /* 462 */
+	{ 6,	TD,	sys_pselect6,		"pselect6"		}, /* 463 */
+	{ 5,	TD,	sys_ppoll,		"ppoll"			}, /* 464 */
+	{ 1,	TP,	sys_unshare,		"unshare"		}, /* 465 */
+	{ 2,	0,	printargs,		"set_robust_list"	}, /* 466 */
+	{ 3,	0,	printargs,		"get_robust_list"	}, /* 467 */
+	{ 6,	TD,	printargs,		"splice"		}, /* 468 */
+	{ 4,	TD,	printargs,		"sync_file_range"	}, /* 469 */
+	{ 4,	TD,	printargs,		"tee"			}, /* 470 */
+	{ 4,	TD,	printargs,		"vmsplice"		}, /* 471 */
+	{ 6,	0,	sys_move_pages,		"move_pages"		}, /* 472 */
+	{ 3,	0,	sys_getcpu,		"getcpu"		}, /* 473 */
+	{ 5,	TD,	sys_epoll_pwait,	"epoll_pwait"		}, /* 474 */
+	{ 4,	TD|TF,	sys_utimensat,		"utimensat"		}, /* 475 */
+	{ 3,	TD|TS,	sys_signalfd,		"signalfd"		}, /* 476 */
+	{ 4,	TD,	sys_timerfd,		"timerfd"		}, /* 477 */
+	{ 1,	TD,	sys_eventfd,		"eventfd"		}, /* 478 */
+	{ 5,	TN,	sys_recvmmsg,		"recvmmsg"		}, /* 479 */
+	{ 6,	TF,	sys_fallocate,		"fallocate"		}, /* 480 */
+	{ 2,	TD,	sys_timerfd_create,	"timerfd_create"	}, /* 481 */
+	{ 4,	TD,	sys_timerfd_settime,	"timerfd_settime"	}, /* 482 */
+	{ 2,	TD,	sys_timerfd_gettime,	"timerfd_gettime"	}, /* 483 */
+	{ 4,	TD|TS,	sys_signalfd4,		"signalfd4"		}, /* 484 */
+	{ 2,	TD,	sys_eventfd2,		"eventfd2"		}, /* 485 */
+	{ 1,	0,	sys_epoll_create1,	"epoll_create1"		}, /* 486 */
+	{ 3,	TD,	sys_dup3,		"dup3"			}, /* 487 */
+	{ 2,	TD,	sys_pipe2,		"pipe2"			}, /* 488 */
+	{ 1,	TD,	sys_inotify_init1,	"inotify_init1"		}, /* 489 */
+	{ 5,	TD,	printargs,		"preadv"		}, /* 490 */
+	{ 5,	TD,	printargs,		"pwritev"		}, /* 491 */
+	{ 4,	TP|TS,	printargs,		"rt_tgsigqueueinfo"	}, /* 492 */
+	{ 5,	TD,	printargs,		"perf_event_open"	}, /* 493 */
diff --git a/strace-4.5.20/linux/arm/errnoent1.h b/strace-4.5.20/linux/arm/errnoent1.h
new file mode 100644
index 0000000..a894827
--- /dev/null
+++ b/strace-4.5.20/linux/arm/errnoent1.h
@@ -0,0 +1,2 @@
+/* Our second set comes from the i386 files.  */
+#include "../errnoent.h"
diff --git a/strace-4.5.20/linux/arm/ioctlent1.h b/strace-4.5.20/linux/arm/ioctlent1.h
new file mode 100644
index 0000000..a44b0ae
--- /dev/null
+++ b/strace-4.5.20/linux/arm/ioctlent1.h
@@ -0,0 +1,2 @@
+/* Our second set comes from the i386 files.  */
+#include "../ioctlent.h"
diff --git a/strace-4.5.20/linux/arm/signalent1.h b/strace-4.5.20/linux/arm/signalent1.h
new file mode 100644
index 0000000..5c18d98
--- /dev/null
+++ b/strace-4.5.20/linux/arm/signalent1.h
@@ -0,0 +1,2 @@
+/* Our second set comes from the i386 files.  */
+#include "../signalent.h"
diff --git a/strace-4.5.20/linux/arm/syscallent.h b/strace-4.5.20/linux/arm/syscallent.h
new file mode 100644
index 0000000..688a407
--- /dev/null
+++ b/strace-4.5.20/linux/arm/syscallent.h
@@ -0,0 +1,487 @@
+/*
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+	{ 0,	0,	sys_restart_syscall,	"restart_syscall"}, /* 0 */
+	{ 1,	TP,	sys_exit,		"exit"		}, /* 1 */
+	{ 0,	TP,	sys_fork,		"fork"		}, /* 2 */
+	{ 3,	0,	sys_read,		"read"		}, /* 3 */
+	{ 3,	0,	sys_write,		"write"		}, /* 4 */
+	{ 3,	TF,	sys_open,		"open"		}, /* 5 */
+	{ 1,	0,	sys_close,		"close"		}, /* 6 */
+	{ 3,	TP,	sys_waitpid,		"waitpid"	}, /* 7 */
+	{ 2,	TF,	sys_creat,		"creat"		}, /* 8 */
+	{ 2,	TF,	sys_link,		"link"		}, /* 9 */
+	{ 1,	TF,	sys_unlink,		"unlink"	}, /* 10 */
+	{ 3,	TF|TP,	sys_execve,		"execve"	}, /* 11 */
+	{ 1,	TF,	sys_chdir,		"chdir"		}, /* 12 */
+	{ 1,	0,	sys_time,		"time"		}, /* 13 */
+	{ 3,	TF,	sys_mknod,		"mknod"		}, /* 14 */
+	{ 2,	TF,	sys_chmod,		"chmod"		}, /* 15 */
+	{ 3,	TF,	sys_chown,		"lchown"	}, /* 16 */
+	{ 0,	0,	sys_break,		"break"		}, /* 17 */
+	{ 2,	TF,	sys_oldstat,		"oldstat"	}, /* 18 */
+	{ 3,	0,	sys_lseek,		"lseek"		}, /* 19 */
+	{ 0,	0,	sys_getpid,		"getpid"	}, /* 20 */
+	{ 5,	TF,	sys_mount,		"mount"		}, /* 21 */
+	{ 1,	TF,	sys_umount,		"oldumount"	}, /* 22 */
+	{ 1,	0,	sys_setuid,		"setuid"	}, /* 23 */
+	{ 0,	0,	sys_getuid,		"getuid"	}, /* 24 */
+	{ 1,	0,	sys_stime,		"stime"		}, /* 25 */
+	{ 4,	0,	sys_ptrace,		"ptrace"	}, /* 26 */
+	{ 1,	0,	sys_alarm,		"alarm"		}, /* 27 */
+	{ 2,	0,	sys_oldfstat,		"oldfstat"	}, /* 28 */
+	{ 0,	TS,	sys_pause,		"pause"		}, /* 29 */
+	{ 2,	TF,	sys_utime,		"utime"		}, /* 30 */
+	{ 2,	0,	sys_stty,		"stty"		}, /* 31 */
+	{ 2,	0,	sys_gtty,		"gtty"		}, /* 32 */
+	{ 2,	TF,	sys_access,		"access"	}, /* 33 */
+	{ 1,	0,	sys_nice,		"nice"		}, /* 34 */
+	{ 0,	0,	sys_ftime,		"ftime"		}, /* 35 */
+	{ 0,	0,	sys_sync,		"sync"		}, /* 36 */
+	{ 2,	TS,	sys_kill,		"kill"		}, /* 37 */
+	{ 2,	TF,	sys_rename,		"rename"	}, /* 38 */
+	{ 2,	TF,	sys_mkdir,		"mkdir"		}, /* 39 */
+	{ 1,	TF,	sys_rmdir,		"rmdir"		}, /* 40 */
+	{ 1,	0,	sys_dup,		"dup"		}, /* 41 */
+	{ 1,	0,	sys_pipe,		"pipe"		}, /* 42 */
+	{ 1,	0,	sys_times,		"times"		}, /* 43 */
+	{ 0,	0,	sys_prof,		"prof"		}, /* 44 */
+	{ 1,	0,	sys_brk,		"brk"		}, /* 45 */
+	{ 1,	0,	sys_setgid,		"setgid"	}, /* 46 */
+	{ 0,	0,	sys_getgid,		"getgid"	}, /* 47 */
+	{ 3,	TS,	sys_signal,		"signal"	}, /* 48 */
+	{ 0,	0,	sys_geteuid,		"geteuid"	}, /* 49 */
+	{ 0,	0,	sys_getegid,		"getegid"	}, /* 50 */
+	{ 1,	TF,	sys_acct,		"acct"		}, /* 51 */
+	{ 2,	TF,	sys_umount2,		"umount"	}, /* 52 */
+	{ 0,	0,	sys_lock,		"lock"		}, /* 53 */
+	{ 3,	0,	sys_ioctl,		"ioctl"		}, /* 54 */
+	{ 3,	0,	sys_fcntl,		"fcntl"		}, /* 55 */
+	{ 0,	0,	sys_mpx,		"mpx"		}, /* 56 */
+	{ 2,	0,	sys_setpgid,		"setpgid"	}, /* 57 */
+	{ 2,	0,	sys_ulimit,		"ulimit"	}, /* 58 */
+	{ 1,	0,	sys_oldolduname,	"oldolduname"	}, /* 59 */
+	{ 1,	0,	sys_umask,		"umask"		}, /* 60 */
+	{ 1,	TF,	sys_chroot,		"chroot"	}, /* 61 */
+	{ 2,	0,	sys_ustat,		"ustat"		}, /* 62 */
+	{ 2,	0,	sys_dup2,		"dup2"		}, /* 63 */
+	{ 0,	0,	sys_getppid,		"getppid"	}, /* 64 */
+	{ 0,	0,	sys_getpgrp,		"getpgrp"	}, /* 65 */
+	{ 0,	0,	sys_setsid,		"setsid"	}, /* 66 */
+	{ 3,	TS,	sys_sigaction,		"sigaction"	}, /* 67 */
+	{ 0,	TS,	sys_siggetmask,		"siggetmask"	}, /* 68 */
+	{ 1,	TS,	sys_sigsetmask,		"sigsetmask"	}, /* 69 */
+	{ 2,	0,	sys_setreuid,		"setreuid"	}, /* 70 */
+	{ 2,	0,	sys_setregid,		"setregid"	}, /* 71 */
+	{ 3,	TS,	sys_sigsuspend,		"sigsuspend"	}, /* 72 */
+	{ 1,	TS,	sys_sigpending,		"sigpending"	}, /* 73 */
+	{ 2,	0,	sys_sethostname,	"sethostname"	}, /* 74 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit"	}, /* 75 */
+	{ 2,	0,	sys_getrlimit,		"old_getrlimit"	}, /* 76 */
+	{ 2,	0,	sys_getrusage,		"getrusage"	}, /* 77 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday"	}, /* 78 */
+	{ 2,	0,	sys_settimeofday,	"settimeofday"	}, /* 79 */
+	{ 2,	0,	sys_getgroups,		"getgroups"	}, /* 80 */
+	{ 2,	0,	sys_setgroups,		"setgroups"	}, /* 81 */
+	{ 1,	0,	sys_oldselect,		"oldselect"	}, /* 82 */
+	{ 2,	TF,	sys_symlink,		"symlink"	}, /* 83 */
+	{ 2,	TF,	sys_oldlstat,		"oldlstat"	}, /* 84 */
+	{ 3,	TF,	sys_readlink,		"readlink"	}, /* 85 */
+	{ 1,	TF,	sys_uselib,		"uselib"	}, /* 86 */
+	{ 1,	TF,	sys_swapon,		"swapon"	}, /* 87 */
+	{ 3,	0,	sys_reboot,		"reboot"	}, /* 88 */
+	{ 3,	0,	sys_readdir,		"readdir"	}, /* 89 */
+	{ 6,	0,	sys_old_mmap,		"old_mmap"	}, /* 90 */
+	{ 2,	0,	sys_munmap,		"munmap"	}, /* 91 */
+	{ 2,	TF,	sys_truncate,		"truncate"	}, /* 92 */
+	{ 2,	0,	sys_ftruncate,		"ftruncate"	}, /* 93 */
+	{ 2,	0,	sys_fchmod,		"fchmod"	}, /* 94 */
+	{ 3,	0,	sys_fchown,		"fchown"	}, /* 95 */
+	{ 2,	0,	sys_getpriority,	"getpriority"	}, /* 96 */
+	{ 3,	0,	sys_setpriority,	"setpriority"	}, /* 97 */
+	{ 4,	0,	sys_profil,		"profil"	}, /* 98 */
+	{ 2,	TF,	sys_statfs,		"statfs"	}, /* 99 */
+	{ 2,	0,	sys_fstatfs,		"fstatfs"	}, /* 100 */
+	{ 3,	0,	sys_ioperm,		"ioperm"	}, /* 101 */
+	{ 2,	0,	sys_socketcall,		"socketcall"	}, /* 102 */
+	{ 3,	0,	sys_syslog,		"syslog"	}, /* 103 */
+	{ 3,	0,	sys_setitimer,		"setitimer"	}, /* 104 */
+	{ 2,	0,	sys_getitimer,		"getitimer"	}, /* 105 */
+	{ 2,	TF,	sys_stat,		"stat"		}, /* 106 */
+	{ 2,	TF,	sys_lstat,		"lstat"		}, /* 107 */
+	{ 2,	0,	sys_fstat,		"fstat"		}, /* 108 */
+	{ 1,	0,	sys_olduname,		"olduname"	}, /* 109 */
+	{ 1,	0,	sys_iopl,		"iopl"		}, /* 110 */
+	{ 0,	0,	sys_vhangup,		"vhangup"	}, /* 111 */
+	{ 0,	0,	sys_idle,		"idle"		}, /* 112 */
+	{ 5,	0,	printargs,		"syscall"	}, /* 113 */
+	{ 4,	TP,	sys_wait4,		"wait4"		}, /* 114 */
+	{ 1,	0,	sys_swapoff,		"swapoff"	}, /* 115 */
+	{ 1,	0,	sys_sysinfo,		"sysinfo"	}, /* 116 */
+	{ 6,	0,	sys_ipc,		"ipc"		}, /* 117 */
+	{ 1,	0,	sys_fsync,		"fsync"		}, /* 118 */
+	{ 1,	TS,	sys_sigreturn,		"sigreturn"	}, /* 119 */
+	{ 5,	TP,	sys_clone,		"clone"		}, /* 120 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname"	}, /* 121 */
+	{ 1,	0,	sys_uname,		"uname"		}, /* 122 */
+	{ 3,	0,	sys_modify_ldt,		"modify_ldt"	}, /* 123 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex"	}, /* 124 */
+	{ 3,	0,	sys_mprotect,		"mprotect"	}, /* 125 */
+	{ 3,	TS,	sys_sigprocmask,	"sigprocmask"	}, /* 126 */
+	{ 2,	0,	sys_create_module,	"create_module"	}, /* 127 */
+	{ 3,	0,	sys_init_module,	"init_module"	}, /* 128 */
+	{ 2,	0,	sys_delete_module,	"delete_module"	}, /* 129 */
+	{ 1,	0,	sys_get_kernel_syms,	"get_kernel_syms"}, /* 130 */
+	{ 4,	0,	sys_quotactl,		"quotactl"	}, /* 131 */
+	{ 1,	0,	sys_getpgid,		"getpgid"	}, /* 132 */
+	{ 1,	0,	sys_fchdir,		"fchdir"	}, /* 133 */
+	{ 0,	0,	sys_bdflush,		"bdflush"	}, /* 134 */
+	{ 3,	0,	sys_sysfs,		"sysfs"		}, /* 135 */
+	{ 1,	0,	sys_personality,	"personality"	}, /* 136 */
+	{ 5,	0,	sys_afs_syscall,	"afs_syscall"	}, /* 137 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid"	}, /* 138 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid"	}, /* 139 */
+	{ 5,	0,	sys_llseek,		"_llseek"	}, /* 140 */
+	{ 3,	0,	sys_getdents,		"getdents"	}, /* 141 */
+	{ 5,	0,	sys_select,		"select"	}, /* 142 */
+	{ 2,	0,	sys_flock,		"flock"		}, /* 143 */
+	{ 3,	0,	sys_msync,		"msync"		}, /* 144 */
+	{ 3,	0,	sys_readv,		"readv"		}, /* 145 */
+	{ 3,	0,	sys_writev,		"writev"	}, /* 146 */
+	{ 1,	0,	sys_getsid,		"getsid"	}, /* 147 */
+	{ 1,	0,	sys_fdatasync,		"fdatasync"	}, /* 148 */
+	{ 1,	0,	sys_sysctl,		"_sysctl"	}, /* 149 */
+	{ 2,	0,	sys_mlock,		"mlock"		}, /* 150 */
+	{ 2,	0,	sys_munlock,		"munlock"	}, /* 151 */
+	{ 2,	0,	sys_mlockall,		"mlockall"	}, /* 152 */
+	{ 0,	0,	sys_munlockall,		"munlockall"	}, /* 153 */
+	{ 0,	0,	sys_sched_setparam,	"sched_setparam"}, /* 154 */
+	{ 2,	0,	sys_sched_getparam,	"sched_getparam"}, /* 155 */
+	{ 3,	0,	sys_sched_setscheduler,	"sched_setscheduler"}, /* 156 */
+	{ 1,	0,	sys_sched_getscheduler,	"sched_getscheduler"}, /* 157 */
+	{ 0,	0,	sys_sched_yield,	"sched_yield"}, /* 158 */
+	{ 1,	0,	sys_sched_get_priority_max,"sched_get_priority_max"}, /* 159 */
+	{ 1,	0,	sys_sched_get_priority_min,"sched_get_priority_min"}, /* 160 */
+	{ 2,	0,	sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 161 */
+	{ 2,	0,	sys_nanosleep,		"nanosleep"	}, /* 162 */
+	{ 5,	0,	sys_mremap,		"mremap"	}, /* 163 */
+	{ 3,	0,	sys_setresuid,		"setresuid"	}, /* 164 */
+	{ 3,	0,	sys_getresuid,		"getresuid"	}, /* 165 */
+	{ 5,	0,	printargs,		"vm86"		}, /* 166 */
+	{ 5,	0,	sys_query_module,	"query_module"	}, /* 167 */
+	{ 3,	0,	sys_poll,		"poll"		}, /* 168 */
+	{ 3,	0,	printargs,		"nfsservctl"	}, /* 169 */
+	{ 3,	0,	sys_setresgid,		"setresgid"	}, /* 170 */
+	{ 3,	0,	sys_getresgid,		"getresgid"	}, /* 171 */
+	{ 5,	0,	sys_prctl,		"prctl"		}, /* 172 */
+	{ 1,	TS,	printargs,		"rt_sigreturn"	}, /* 173 */
+	{ 4,	TS,	sys_rt_sigaction,	"rt_sigaction"  }, /* 174 */
+	{ 4,	TS,	sys_rt_sigprocmask,	"rt_sigprocmask"}, /* 175 */
+	{ 2,	TS,	sys_rt_sigpending,	"rt_sigpending"	}, /* 176 */
+	{ 4,	TS,	sys_rt_sigtimedwait,	"rt_sigtimedwait"}, /* 177 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,    "rt_sigqueueinfo"}, /* 178 */
+	{ 2,	TS,	sys_rt_sigsuspend,	"rt_sigsuspend"	}, /* 179 */
+
+	{ 5,	TF,	sys_pread,		"pread"		}, /* 180 */
+	{ 5,	TF,	sys_pwrite,		"pwrite"	}, /* 181 */
+	{ 3,	TF,	sys_chown,		"chown"		}, /* 182 */
+	{ 2,	TF,	sys_getcwd,		"getcwd"	}, /* 183 */
+	{ 2,	0,	sys_capget,		"capget"	}, /* 184 */
+	{ 2,	0,	sys_capset,		"capset"	}, /* 185 */
+	{ 2,	TS,	sys_sigaltstack,	"sigaltstack"	}, /* 186 */
+	{ 4,	TD|TN,	sys_sendfile,		"sendfile"	}, /* 187 */
+	{ 5,	0,	sys_getpmsg,		"getpmsg"	}, /* 188 */
+	{ 5,	0,	sys_putpmsg,		"putpmsg"	}, /* 189 */
+	{ 0,	TP,	sys_vfork,		"vfork"		}, /* 190 */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"	}, /* 191 */
+	{ 6,	0,	sys_mmap,		"mmap2"		}, /* 192 */
+	{ 3,	TF,	sys_truncate64,		"truncate64"	}, /* 193 */
+	{ 3,	TF,	sys_ftruncate64,	"ftruncate64"	}, /* 194 */
+	{ 2,	TF,	sys_stat64,		"stat64"	}, /* 195 */
+	{ 2,	TF,	sys_lstat64,		"lstat64"	}, /* 196 */
+	{ 2,	TF,	sys_fstat64,		"fstat64"	}, /* 197 */
+	{ 3,	TF,	sys_chown,		"lchown32"	}, /* 198 */
+	{ 0,	0,	sys_getuid,		"getuid32"	}, /* 199 */
+
+	{ 0,	0,	sys_getgid,		"getgid32"	}, /* 200 */
+	{ 0,	0,	sys_geteuid,		"geteuid32"	}, /* 201 */
+	{ 0,	0,	sys_geteuid,		"getegid32"	}, /* 202 */
+	{ 2,	0,	sys_setreuid,		"setreuid32"	}, /* 203 */
+	{ 2,	0,	sys_setregid,		"setregid32"	}, /* 204 */
+	{ 2,	0,	sys_getgroups32,	"getgroups32"	}, /* 205 */
+	{ 2,	0,	sys_setgroups32,	"setgroups32"	}, /* 206 */
+	{ 3,	0,	sys_fchown,		"fchown32"	}, /* 207 */
+	{ 3,	0,	sys_setresuid,		"setresuid32"	}, /* 208 */
+	{ 3,	0,	sys_getresuid,		"getresuid32"	}, /* 209 */
+	{ 3,	0,	sys_setresgid,		"setresgid32"	}, /* 210 */
+	{ 3,	0,	sys_getresgid,		"getresgid32"	}, /* 211 */
+	{ 3,	TF,	sys_chown,		"chown32"	}, /* 212 */
+	{ 1,	0,	sys_setuid,		"setuid32"	}, /* 213 */
+	{ 1,	0,	sys_setgid,		"setgid32"	}, /* 214 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid32"	}, /* 215 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid32"	}, /* 216 */
+	{ 3,    0,      sys_getdents64,         "getdents64"    }, /* 217 */
+	{ 2,	TF,	sys_pivotroot,		"pivot_root"	}, /* 218 */
+	{ 3,	0,	printargs,		"mincore"	}, /* 219 */
+	{ 3,	0,	sys_madvise,		"madvise"	}, /* 220 */
+	{ 3,	0,	sys_fcntl,		"fcntl64"	}, /* 221 */
+	{ 5,	0,	printargs,		"SYS_222"	}, /* 222 */
+	{ 5,	0,	printargs,		"SYS_223"	}, /* 223 */
+	{ 0,	0,	printargs,		"gettid"	}, /* 224 */
+	{ 4,	0,	sys_readahead,		"readahead"	}, /* 225 */
+	{ 5,	TF,	sys_setxattr,		"setxattr"	}, /* 226 */
+	{ 5,	TF,	sys_setxattr,		"lsetxattr"	}, /* 227 */
+	{ 5,	0,	sys_fsetxattr,		"fsetxattr"	}, /* 228 */
+	{ 4,	TF,	sys_getxattr,		"getxattr"	}, /* 229 */
+	{ 4,	TF,	sys_getxattr,		"lgetxattr"	}, /* 230 */
+	{ 4,	0,	sys_fgetxattr,		"fgetxattr"	}, /* 231 */
+	{ 3,	TF,	sys_listxattr,		"listxattr"	}, /* 232 */
+	{ 3,	TF,	sys_listxattr,		"llistxattr"	}, /* 233 */
+	{ 3,	0,	sys_flistxattr,		"flistxattr"	}, /* 234 */
+	{ 2,	TF,	sys_removexattr,	"removexattr"	}, /* 235 */
+	{ 2,	TF,	sys_removexattr,	"lremovexattr"	}, /* 236 */
+	{ 2,	0,	sys_fremovexattr,	"fremovexattr"	}, /* 237 */
+	{ 2,	TS,	sys_kill,		"tkill"		}, /* 238 */
+	{ 4,	TD|TN,	sys_sendfile64,		"sendfile64"	}, /* 239 */
+	{ 6,	0,	sys_futex,		"futex"		}, /* 240 */
+	{ 3,	0,	sys_sched_setaffinity,	"sched_setaffinity" },/* 241 */
+	{ 3,	0,	sys_sched_getaffinity,	"sched_getaffinity" },/* 242 */
+	{ 2,	0,	printargs,		"io_setup"	}, /* 243 */
+	{ 1,	0,	printargs,		"io_destroy"	}, /* 244 */
+	{ 5,	0,	printargs,		"io_getevents"	}, /* 245 */
+	{ 3,	0,	printargs,		"io_submit"	}, /* 246 */
+	{ 3,	0,	printargs,		"io_cancel"	}, /* 247 */
+	{ 1,	TP,	sys_exit,		"exit_group"	}, /* 248 */
+	{ 4,	0,	printargs,		"lookup_dcookie"}, /* 249 */
+	{ 1,	0,	printargs,		"epoll_create"	}, /* 250 */
+	{ 4,	0,	printargs,		"epoll_ctl"	}, /* 251 */
+	{ 4,	0,	printargs,		"epoll_wait"	}, /* 252 */
+	{ 5,	0,	sys_remap_file_pages,	"remap_file_pages"}, /* 253 */
+	{ 5,	0,	printargs,		"SYS_254"	}, /* 254 */
+	{ 5,	0,	printargs,		"SYS_255"	}, /* 255 */
+	{ 1,	0,	printargs,		"set_tid_address"}, /* 256 */
+	{ 3,	0,	sys_timer_create,	"timer_create"	}, /* 257 */
+	{ 4,	0,	sys_timer_settime,	"timer_settime"	}, /* 258 */
+	{ 2,	0,	sys_timer_gettime,	"timer_gettime"	}, /* 259 */
+	{ 1,	0,	sys_timer_getoverrun,	"timer_getoverrun"}, /* 260 */
+	{ 1,	0,	sys_timer_delete,	"timer_delete"	}, /* 261 */
+	{ 2,	0,	sys_clock_settime,	"clock_settime"	}, /* 262 */
+	{ 2,	0,	sys_clock_gettime,	"clock_gettime"	}, /* 263 */
+	{ 2,	0,	sys_clock_getres,	"clock_getres"	}, /* 264 */
+	{ 4,	0,	sys_clock_nanosleep,	"clock_nanosleep"}, /* 265 */
+	{ 3,	TF,	sys_statfs64,		"statfs64"	}, /* 266 */
+	{ 3,	0,	sys_fstatfs64,		"fstatfs64"	}, /* 267 */
+	{ 3,	TS,	sys_tgkill,		"tgkill"	}, /* 268 */
+	{ 2,	TF,	sys_utimes,		"utimes"	}, /* 269 */
+	{ 6,	0,	sys_fadvise64_64,	"fadvise64_64"	}, /* 270 */
+	{ 5,	0,	printargs,		"pciconfig_iobase"	}, /* 271 */
+	{ 5,	0,	printargs,		"pciconfig_read"	}, /* 272 */
+	{ 5,	0,	printargs,		"pciconfig_write"	}, /* 273 */
+	{ 4,	0,	sys_mq_open,		"mq_open"	}, /* 274 */
+	{ 1,	0,	sys_mq_unlink,		"mq_unlink"	}, /* 275 */
+	{ 5,	0,	sys_mq_timedsend,	"mq_timedsend"	}, /* 276 */
+	{ 5,	0,	sys_mq_timedreceive,	"mq_timedreceive" }, /* 277 */
+	{ 2,	0,	sys_mq_notify,		"mq_notify"	}, /* 278 */
+	{ 3,	0,	sys_mq_getsetattr,	"mq_getsetattr"	}, /* 279 */
+	{ 5,	TP,	sys_waitid,		"waitid"	}, /* 280 */
+	{ 3,	TN,	sys_socket,		"socket"	}, /* 281 */
+	{ 3,	TN,	sys_bind,		"bind"		}, /* 282 */
+	{ 3,	TN,	sys_connect,		"connect"	}, /* 283 */
+	{ 2,	TN,	sys_listen,		"listen"	}, /* 284 */
+	{ 3,	TN,	sys_accept,		"accept"	}, /* 285 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	}, /* 286 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	}, /* 287 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"	}, /* 288 */
+	{ 4,	TN,	sys_send,		"send"		}, /* 289 */
+	{ 6,	TN,	sys_sendto,		"sendto"	}, /* 290 */
+	{ 4,	TN,	sys_recv,		"recv"		}, /* 291 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom"	}, /* 292 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	}, /* 293 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	}, /* 294 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 295 */
+	{ 3,	TN,	sys_sendmsg,		"sendmsg"	}, /* 296 */
+	{ 3,	TN,	sys_recvmsg,		"recvmsg"	}, /* 297 */
+	{ 4,	TI,	sys_semop,		"semop"		}, /* 298 */
+	{ 4,	TI,	sys_semget,		"semget"	}, /* 299 */
+	{ 4,	TI,	sys_semctl,		"semctl"	}, /* 300 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd"	}, /* 301 */
+	{ 4,	TI,	sys_msgrcv,		"msgrcv"	}, /* 302 */
+	{ 4,	TI,	sys_msgget,		"msgget"	}, /* 303 */
+	{ 4,	TI,	sys_msgctl,		"msgctl"	}, /* 304 */
+	{ 4,	TI,	sys_shmat,		"shmat"		}, /* 305 */
+	{ 4,	TI,	sys_shmdt,		"shmdt"		}, /* 306 */
+	{ 4,	TI,	sys_shmget,		"shmget"	}, /* 307 */
+	{ 4,	TI,	sys_shmctl,		"shmctl"	}, /* 308 */
+	{ 5,	0,	printargs,		"add_key"	}, /* 309 */
+	{ 4,	0,	printargs,		"request_key"	}, /* 310 */
+	{ 5,	0,	printargs,		"keyctl"	}, /* 311 */
+	{ 5,	TI,	sys_semtimedop,		"semtimedop"	}, /* 312 */
+	{ 5,	0,	printargs,		"vserver"	}, /* 313 */
+	{ 3,	0,	printargs,		"ioprio_set"	}, /* 314 */
+	{ 2,	0,	printargs,		"ioprio_get"	}, /* 315 */
+	{ 0,	TD,	printargs,		"inotify_init"	}, /* 316 */
+	{ 3,	TD,	sys_inotify_add_watch,	"inotify_add_watch" }, /* 317 */
+	{ 2,	TD,	sys_inotify_rm_watch,	"inotify_rm_watch" }, /* 318 */
+	{ 6,	0,	sys_mbind,		"mbind"		}, /* 319 */
+	{ 3,	0,	sys_set_mempolicy,	"set_mempolicy"	}, /* 320 */
+	{ 5,	0,	sys_get_mempolicy,	"get_mempolicy"	}, /* 321 */
+	{ 4,	TD|TF,	sys_openat,		"openat"	}, /* 322 */
+	{ 3,	TD|TF,	sys_mkdirat,		"mkdirat"	}, /* 323 */
+	{ 4,	TD|TF,	sys_mknodat,		"mknodat"	}, /* 324 */
+	{ 5,	TD|TF,	sys_fchownat,		"fchownat"	}, /* 325 */
+	{ 3,	TD|TF,	sys_futimesat,		"futimesat"	}, /* 326 */
+	{ 4,	TD|TD,	sys_newfstatat,		"newfstatat"	}, /* 327 */
+	{ 3,	TD|TF,	sys_unlinkat,		"unlinkat"	}, /* 328 */
+	{ 4,	TD|TF,	sys_renameat,		"renameat"	}, /* 329 */
+	{ 5,	TD|TF,	sys_linkat,		"linkat"	}, /* 330 */
+	{ 3,	TD|TF,	sys_symlinkat,		"symlinkat"	}, /* 331 */
+	{ 4,	TD|TF,	sys_readlinkat,		"readlinkat"	}, /* 332 */
+	{ 3,	TD|TF,	sys_fchmodat,		"fchmodat"	}, /* 333 */
+	{ 3,	TD|TF,	sys_faccessat,		"faccessat"	}, /* 334 */
+	{ 6,	TD,	sys_pselect6,		"pselect6"	}, /* 335 */
+	{ 5,	TD,	sys_ppoll,		"ppoll"		}, /* 336 */
+	{ 1,	TP,	sys_unshare,		"unshare"	}, /* 337 */
+	{ 2,	0,	printargs,		"set_robust_list" }, /* 338 */
+	{ 3,	0,	printargs,		"get_robust_list" }, /* 339 */
+	{ 6,	TD,	printargs,		"splice"	}, /* 340 */
+	{ 5,	0,	printargs,		"SYS_341"	}, /* 341 */
+	{ 4,	TD,	printargs,		"tee"		}, /* 342 */
+	{ 4,	TD,	printargs,		"vmsplice"	}, /* 343 */
+	{ 6,	0,	sys_move_pages,		"move_pages"	}, /* 344 */
+	{ 3,	0,	sys_getcpu,		"getcpu"	}, /* 345 */
+	{ 5,	TD,	sys_epoll_pwait,	"epoll_pwait"	}, /* 346 */
+	{ 5,	0,	printargs,		"kexec_load"	}, /* 347 */
+	{ 4,	TD|TF,	sys_utimensat,		"utimensat"	}, /* 348 */
+	{ 3,	TD|TS,	sys_signalfd,		"signalfd"	}, /* 349 */
+	{ 4,	TD,	sys_timerfd,		"timerfd"	}, /* 350 */
+	{ 1,	TD,	sys_eventfd,		"eventfd"	}, /* 351 */
+	{ 6,	TF,	sys_fallocate,		"fallocate"	}, /* 352 */
+	{ 4,	TD,	sys_timerfd_settime,	"timerfd_settime"}, /* 353 */
+	{ 2,	TD,	sys_timerfd_gettime,	"timerfd_gettime"}, /* 354 */
+	{ 4,	TD|TS,	sys_signalfd4,		"signalfd4"	}, /* 355 */
+	{ 2,	TD,	sys_eventfd2,		"eventfd2"	}, /* 356 */
+	{ 1,	0,	sys_epoll_create1,	"epoll_create1"	}, /* 357 */
+	{ 3,	TD,	sys_dup3,		"dup3"		}, /* 358 */
+	{ 2,	TD,	sys_pipe2,		"pipe2"		}, /* 359 */
+	{ 1,	TD,	sys_inotify_init1,	"inotify_init1"	}, /* 360 */
+	{ 5,	TD,	printargs,		"preadv"	}, /* 361 */
+	{ 5,	TD,	printargs,		"pwritev"	}, /* 362 */
+	{ 4,	TP|TS,	printargs,		"rt_tgsigqueueinfo"}, /* 363 */
+	{ 5,	TD,	printargs,		"perf_event_open"}, /* 364 */
+	{ 5,	TN,	sys_recvmmsg,		"recvmmsg"	}, /* 365 */
+	{ 5,	0,	printargs,		"SYS_366"	}, /* 366 */
+	{ 5,	0,	printargs,		"SYS_367"	}, /* 367 */
+	{ 5,	0,	printargs,		"SYS_368"	}, /* 368 */
+	{ 5,	0,	printargs,		"SYS_369"	}, /* 369 */
+	{ 5,	0,	printargs,		"SYS_370"	}, /* 370 */
+	{ 5,	0,	printargs,		"SYS_371"	}, /* 371 */
+	{ 5,	0,	printargs,		"SYS_372"	}, /* 372 */
+	{ 5,	0,	printargs,		"SYS_373"	}, /* 373 */
+	{ 5,	0,	printargs,		"SYS_374"	}, /* 374 */
+	{ 5,	0,	printargs,		"SYS_375"	}, /* 375 */
+	{ 5,	0,	printargs,		"SYS_376"	}, /* 376 */
+	{ 5,	0,	printargs,		"SYS_377"	}, /* 377 */
+	{ 5,	0,	printargs,		"SYS_378"	}, /* 378 */
+	{ 5,	0,	printargs,		"SYS_379"	}, /* 379 */
+	{ 5,	0,	printargs,		"SYS_380"	}, /* 380 */
+	{ 5,	0,	printargs,		"SYS_381"	}, /* 381 */
+	{ 5,	0,	printargs,		"SYS_382"	}, /* 382 */
+	{ 5,	0,	printargs,		"SYS_383"	}, /* 383 */
+	{ 5,	0,	printargs,		"SYS_384"	}, /* 384 */
+	{ 5,	0,	printargs,		"SYS_385"	}, /* 385 */
+	{ 5,	0,	printargs,		"SYS_386"	}, /* 386 */
+	{ 5,	0,	printargs,		"SYS_387"	}, /* 387 */
+	{ 5,	0,	printargs,		"SYS_388"	}, /* 388 */
+	{ 5,	0,	printargs,		"SYS_389"	}, /* 389 */
+	{ 5,	0,	printargs,		"SYS_390"	}, /* 390 */
+	{ 5,	0,	printargs,		"SYS_391"	}, /* 391 */
+	{ 5,	0,	printargs,		"SYS_392"	}, /* 392 */
+	{ 5,	0,	printargs,		"SYS_393"	}, /* 393 */
+	{ 5,	0,	printargs,		"SYS_394"	}, /* 394 */
+	{ 5,	0,	printargs,		"SYS_395"	}, /* 395 */
+	{ 5,	0,	printargs,		"SYS_396"	}, /* 396 */
+	{ 5,	0,	printargs,		"SYS_397"	}, /* 397 */
+	{ 5,	0,	printargs,		"SYS_398"	}, /* 398 */
+	{ 5,	0,	printargs,		"SYS_399"	}, /* 399 */
+
+#ifndef __ARM_EABI__
+#if SYS_socket_subcall != 400
+ #error fix me
+#endif
+	{ 8,	0,	printargs,		"socket_subcall"}, /* 400 */
+	{ 3,	TN,	sys_socket,		"socket"	}, /* 401 */
+	{ 3,	TN,	sys_bind,		"bind"		}, /* 402 */
+	{ 3,	TN,	sys_connect,		"connect"	}, /* 403 */
+	{ 2,	TN,	sys_listen,		"listen"	}, /* 404 */
+	{ 3,	TN,	sys_accept,		"accept"	}, /* 405 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	}, /* 406 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	}, /* 407 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"	}, /* 408 */
+	{ 4,	TN,	sys_send,		"send"		}, /* 409 */
+	{ 4,	TN,	sys_recv,		"recv"		}, /* 410 */
+	{ 6,	TN,	sys_sendto,		"sendto"	}, /* 411 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom"	}, /* 412 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	}, /* 413 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	}, /* 414 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 415 */
+	{ 5,	TN,	sys_sendmsg,		"sendmsg"	}, /* 416 */
+	{ 5,	TN,	sys_recvmsg,		"recvmsg"	}, /* 417 */
+	{ 4,	TN,	sys_accept4,		"accept4"	}, /* 418 */
+	{ 5,	TN,	sys_recvmmsg,		"recvmmsg"	}, /* 419 */
+
+#if SYS_ipc_subcall != 420
+ #error fix me
+#endif
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 420 */
+	{ 4,	TI,	sys_semop,		"semop"		}, /* 421 */
+	{ 4,	TI,	sys_semget,		"semget"	}, /* 422 */
+	{ 4,	TI,	sys_semctl,		"semctl"	}, /* 423 */
+	{ 5,	TI,	sys_semtimedop,		"semtimedop"	}, /* 424 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 425 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 426 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 427 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 428 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 429 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 430 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd"	}, /* 431 */
+	{ 4,	TI,	sys_msgrcv,		"msgrcv"	}, /* 432 */
+	{ 4,	TI,	sys_msgget,		"msgget"	}, /* 433 */
+	{ 4,	TI,	sys_msgctl,		"msgctl"	}, /* 434 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 435 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 436 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 437 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 438 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 439 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 440 */
+	{ 4,	TI,	sys_shmat,		"shmat"		}, /* 441 */
+	{ 4,	TI,	sys_shmdt,		"shmdt"		}, /* 442 */
+	{ 4,	TI,	sys_shmget,		"shmget"	}, /* 443 */
+	{ 4,	TI,	sys_shmctl,		"shmctl"	}, /* 444 */
+#endif
diff --git a/strace-4.5.20/linux/arm/syscallent1.h b/strace-4.5.20/linux/arm/syscallent1.h
new file mode 100644
index 0000000..0978e9f
--- /dev/null
+++ b/strace-4.5.20/linux/arm/syscallent1.h
@@ -0,0 +1,7 @@
+/* ARM specific syscalls */
+	{ 5,	0,	printargs,		"SYS_0"			}, /* 0 */
+	{ 5,	0,	printargs,		"breakpoint"		}, /* 1 */
+	{ 5,	0,	printargs,		"cacheflush"		}, /* 2 */
+	{ 5,	0,	printargs,		"usr26"			}, /* 3 */
+	{ 5,	0,	printargs,		"usr32"			}, /* 4 */
+	{ 5,	0,	printargs,		"set_tls"		}, /* 5 */
diff --git a/strace-4.5.20/linux/avr32/syscallent.h b/strace-4.5.20/linux/avr32/syscallent.h
new file mode 100644
index 0000000..57c1336
--- /dev/null
+++ b/strace-4.5.20/linux/avr32/syscallent.h
@@ -0,0 +1,311 @@
+/*
+ * Copyright (c) 2004-2009 Atmel Corporation
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+	{ 0,	0,	sys_setup,		"setup"		}, /* 0 */
+	{ 1,	TP,	sys_exit,		"_exit"		}, /* 1 */
+	{ 0,	TP,	sys_fork,		"fork"		}, /* 2 */
+	{ 3,	TD,	sys_read,		"read"		}, /* 3 */
+	{ 3,	TD,	sys_write,		"write"		}, /* 4 */
+	{ 3,	TD|TF,	sys_open,		"open"		}, /* 5 */
+	{ 1,	TD,	sys_close,		"close"		}, /* 6 */
+	{ 1,	0,	sys_umask,		"umask"		}, /* 7 */
+	{ 2,	TD|TF,	sys_creat,		"creat"		}, /* 8 */
+	{ 2,	TF,	sys_link,		"link"		}, /* 9 */
+	{ 1,	TF,	sys_unlink,		"unlink"	}, /* 10 */
+	{ 3,	TF|TP,	sys_execve,		"execve"	}, /* 11 */
+	{ 1,	TF,	sys_chdir,		"chdir"		}, /* 12 */
+	{ 1,	0,	sys_time,		"time"		}, /* 13 */
+	{ 3,	TF,	sys_mknod,		"mknod"		}, /* 14 */
+	{ 2,	TF,	sys_chmod,		"chmod"		}, /* 15 */
+	{ 3,	TF,	sys_chown,		"chown"		}, /* 16 */
+	{ 3,	TF,	sys_chown,		"lchown"	}, /* 17 */
+	{ 3,	TD,	sys_lseek,		"lseek"		}, /* 18 */
+	{ 5,	TD,	sys_llseek,		"_llseek"	}, /* 19 */
+	{ 0,	0,	sys_getpid,		"getpid"	}, /* 20 */
+	{ 5,	TF,	sys_mount,		"mount"		}, /* 21 */
+	{ 2,	TF,	sys_umount,		"umount"	}, /* 22 */
+	{ 1,	0,	sys_setuid,		"setuid"	}, /* 23 */
+	{ 0,	0,	sys_getuid,		"getuid"	}, /* 24 */
+	{ 1,	0,	sys_stime,		"stime"		}, /* 25 */
+	{ 4,	0,	sys_ptrace,		"ptrace"	}, /* 26 */
+	{ 1,	0,	sys_alarm,		"alarm"		}, /* 27 */
+	{ 0,	TS,	sys_pause,		"pause"		}, /* 28 */
+	{ 2,	TF,	sys_utime,		"utime"		}, /* 29 */
+	{ 2,	TF,	sys_stat,		"stat"		}, /* 30 */
+	{ 2,	TD,	sys_fstat,		"fstat"		}, /* 31 */
+	{ 2,	TF,	sys_lstat,		"lstat"		}, /* 32 */
+	{ 2,	TF,	sys_access,		"access"	}, /* 33 */
+	{ 1,	TF,	sys_chroot,		"chroot"	}, /* 34 */
+	{ 0,	0,	sys_sync,		"sync"		}, /* 35 */
+	{ 1,	TD,	sys_fsync,		"fsync"		}, /* 36 */
+	{ 2,	TS,	sys_kill,		"kill"		}, /* 37 */
+	{ 2,	TF,	sys_rename,		"rename"	}, /* 38 */
+	{ 2,	TF,	sys_mkdir,		"mkdir"		}, /* 39 */
+	{ 1,	TF,	sys_rmdir,		"rmdir"		}, /* 40 */
+	{ 1,	TD,	sys_dup,		"dup"		}, /* 41 */
+	{ 1,	TD,	sys_pipe,		"pipe"		}, /* 42 */
+	{ 1,	0,	sys_times,		"times"		}, /* 43 */
+	{ 5,	TP,	sys_clone,		"clone"		}, /* 44 */
+	{ 1,	0,	sys_brk,		"brk"		}, /* 45 */
+	{ 1,	0,	sys_setgid,		"setgid"	}, /* 46 */
+	{ 0,	0,	sys_getgid,		"getgid"	}, /* 47 */
+	{ 2,	TF,	sys_getcwd,		"getcwd"	}, /* 48 */
+	{ 0,	0,	sys_geteuid,		"geteuid"	}, /* 49 */
+	{ 0,	0,	sys_getegid,		"getegid"	}, /* 50 */
+	{ 1,	TF,	sys_acct,		"acct"		}, /* 51 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid"	}, /* 52 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid"	}, /* 53 */
+	{ 3,	TD,	sys_ioctl,		"ioctl"		}, /* 54 */
+	{ 3,	TD,	sys_fcntl,		"fcntl"		}, /* 55 */
+	{ 2,	0,	sys_setpgid,		"setpgid"	}, /* 56 */
+	{ 5,	0,	sys_mremap,		"mremap"	}, /* 57 */
+	{ 3,	0,	sys_setresuid,		"setresuid"	}, /* 58 */
+	{ 3,	0,	sys_getresuid,		"getresuid"	}, /* 59 */
+	{ 2,	0,	sys_setreuid,		"setreuid"	}, /* 60 */
+	{ 2,	0,	sys_setregid,		"setregid"	}, /* 61 */
+	{ 2,	0,	sys_ustat,		"ustat"		}, /* 62 */
+	{ 2,	TD,	sys_dup2,		"dup2"		}, /* 63 */
+	{ 0,	0,	sys_getppid,		"getppid"	}, /* 64 */
+	{ 0,	0,	sys_getpgrp,		"getpgrp"	}, /* 65 */
+	{ 0,	0,	sys_setsid,		"setsid"	}, /* 66 */
+	{ 4,	TS,	sys_rt_sigaction,	"rt_sigaction"  }, /* 67 */
+	{ 1,	TS,	printargs,		"rt_sigreturn"	}, /* 68 */
+	{ 4,	TS,	sys_rt_sigprocmask,	"rt_sigprocmask"}, /* 69 */
+	{ 2,	TS,	sys_rt_sigpending,	"rt_sigpending"	}, /* 70 */
+	{ 4,	TS,	sys_rt_sigtimedwait,	"rt_sigtimedwait"}, /* 71 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,    "rt_sigqueueinfo"}, /* 72 */
+	{ 2,	TS,	sys_rt_sigsuspend,	"rt_sigsuspend"	}, /* 73 */
+	{ 2,	0,	sys_sethostname,	"sethostname"	}, /* 74 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit"	}, /* 75 */
+	{ 2,	0,	sys_getrlimit,		"old_getrlimit"	}, /* 76 */
+	{ 2,	0,	sys_getrusage,		"getrusage"	}, /* 77 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday"	}, /* 78 */
+	{ 2,	0,	sys_settimeofday,	"settimeofday"	}, /* 79 */
+	{ 2,	0,	sys_getgroups,		"getgroups"	}, /* 80 */
+	{ 2,	0,	sys_setgroups,		"setgroups"	}, /* 81 */
+	{ 5,	TD,	sys_select,		"select"	}, /* 82 */
+	{ 2,	TF,	sys_symlink,		"symlink"	}, /* 83 */
+	{ 1,	TD,	sys_fchdir,		"fchdir"	}, /* 84 */
+	{ 3,	TF,	sys_readlink,		"readlink"	}, /* 85 */
+	{ 5,	TD,	sys_pread,		"pread"		}, /* 86 */
+	{ 5,	TD,	sys_pwrite,		"pwrite"	}, /* 87 */
+	{ 1,	TF,	sys_swapon,		"swapon"	}, /* 88 */
+	{ 3,	0,	sys_reboot,		"reboot"	}, /* 89 */
+	{ 6,	0,	sys_mmap,		"mmap"		}, /* 90 */
+	{ 2,	0,	sys_munmap,		"munmap"	}, /* 91 */
+	{ 2,	TF,	sys_truncate,		"truncate"	}, /* 92 */
+	{ 2,	TD,	sys_ftruncate,		"ftruncate"	}, /* 93 */
+	{ 2,	TD,	sys_fchmod,		"fchmod"	}, /* 94 */
+	{ 3,	TD,	sys_fchown,		"fchown"	}, /* 95 */
+	{ 2,	0,	sys_getpriority,	"getpriority"	}, /* 96 */
+	{ 3,	0,	sys_setpriority,	"setpriority"	}, /* 97 */
+	{ 4,	TP,	sys_wait4,		"wait4"		}, /* 98 */
+	{ 2,	TF,	sys_statfs,		"statfs"	}, /* 99 */
+	{ 2,	TD,	sys_fstatfs,		"fstatfs"	}, /* 100 */
+	{ 0,	0,	sys_vhangup,		"vhangup"	}, /* 101 */
+	{ 2,	TS,	sys_sigaltstack,	"sigaltstack"	}, /* 102 */
+	{ 3,	0,	sys_syslog,		"syslog"	}, /* 103 */
+	{ 3,	0,	sys_setitimer,		"setitimer"	}, /* 104 */
+	{ 2,	0,	sys_getitimer,		"getitimer"	}, /* 105 */
+	{ 1,	0,	sys_swapoff,		"swapoff"	}, /* 106 */
+	{ 1,	0,	sys_sysinfo,		"sysinfo"	}, /* 107 */
+	{ 6,	0,	sys_ipc,		"ipc"		}, /* 108 */
+	{ 4,	TD|TN,	sys_sendfile,		"sendfile"	}, /* 109 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname"	}, /* 110 */
+	{ 1,	0,	sys_uname,		"uname"		}, /* 111 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex"	}, /* 112 */
+	{ 3,	0,	sys_mprotect,		"mprotect"	}, /* 113 */
+	{ 0,	TP,	sys_vfork,		"vfork"		}, /* 114 */
+	{ 3,	0,	sys_init_module,	"init_module"	}, /* 115 */
+	{ 2,	0,	sys_delete_module,	"delete_module"	}, /* 116 */
+	{ 4,	0,	sys_quotactl,		"quotactl"	}, /* 117 */
+	{ 1,	0,	sys_getpgid,		"getpgid"	}, /* 118 */
+	{ 0,	0,	sys_bdflush,		"bdflush"	}, /* 119 */
+	{ 3,	0,	sys_sysfs,		"sysfs"		}, /* 120 */
+	{ 1,	0,	sys_personality,	"personality"	}, /* 121 */
+	{ 5,	0,	sys_afs_syscall,	"afs_syscall"	}, /* 122 */
+	{ 3,	TD,	sys_getdents,		"getdents"	}, /* 123 */
+	{ 2,	TD,	sys_flock,		"flock"		}, /* 124 */
+	{ 3,	0,	sys_msync,		"msync"		}, /* 125 */
+	{ 3,	TD,	sys_readv,		"readv"		}, /* 126 */
+	{ 3,	TD,	sys_writev,		"writev"	}, /* 127 */
+	{ 1,	0,	sys_getsid,		"getsid"	}, /* 128 */
+	{ 1,	TD,	sys_fdatasync,		"fdatasync"	}, /* 129 */
+	{ 1,	0,	sys_sysctl,		"_sysctl"	}, /* 130 */
+	{ 2,	0,	sys_mlock,		"mlock"		}, /* 131 */
+	{ 2,	0,	sys_munlock,		"munlock"	}, /* 132 */
+	{ 2,	0,	sys_mlockall,		"mlockall"	}, /* 133 */
+	{ 0,	0,	sys_munlockall,		"munlockall"	}, /* 134 */
+	{ 0,	0,	sys_sched_setparam,	"sched_setparam"}, /* 135 */
+	{ 2,	0,	sys_sched_getparam,	"sched_getparam"}, /* 136 */
+	{ 3,	0,	sys_sched_setscheduler,	"sched_setscheduler"}, /* 137 */
+	{ 1,	0,	sys_sched_getscheduler,	"sched_getscheduler"}, /* 138 */
+	{ 0,	0,	sys_sched_yield,	"sched_yield"}, /* 139 */
+	{ 1,	0,	sys_sched_get_priority_max,"sched_get_priority_max"}, /* 140 */
+	{ 1,	0,	sys_sched_get_priority_min,"sched_get_priority_min"}, /* 141 */
+	{ 2,	0,	sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 142 */
+	{ 2,	0,	sys_nanosleep,		"nanosleep"	}, /* 143 */
+	{ 3,	TD,	sys_poll,		"poll"		}, /* 144 */
+	{ 3,	0,	printargs,		"nfsservctl"	}, /* 145 */
+	{ 3,	0,	sys_setresgid,		"setresgid"	}, /* 146 */
+	{ 3,	0,	sys_getresgid,		"getresgid"	}, /* 147 */
+	{ 5,	0,	sys_prctl,		"prctl"		}, /* 148 */
+	{ 3,	TN,	sys_socket,		"socket"	}, /* 149 */
+	{ 3,	TN,	sys_bind,		"bind"		}, /* 150 */
+	{ 3,	TN,	sys_connect,		"connect"	}, /* 151 */
+	{ 2,	TN,	sys_listen,		"listen"	}, /* 152 */
+	{ 3,	TN,	sys_accept,		"accept"	}, /* 153 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	}, /* 154 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	}, /* 155 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"	}, /* 156 */
+	{ 4,	TN,	sys_send,		"send"		}, /* 157 */
+	{ 4,	TN,	sys_recv,		"recv"		}, /* 158 */
+	{ 6,	TN,	sys_sendto,		"sendto"	}, /* 159 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom"	}, /* 160 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	}, /* 161 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	}, /* 162 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 163 */
+	{ 5,	TN,	sys_sendmsg,		"sendmsg"	}, /* 164 */
+	{ 5,	TN,	sys_recvmsg,		"recvmsg"	}, /* 165 */
+	{ 3,	TF,	sys_truncate64,		"truncate64"	}, /* 166 */
+	{ 3,	TD,	sys_ftruncate64,	"ftruncate64"	}, /* 167 */
+	{ 2,	TF,	sys_stat64,		"stat64"	}, /* 168 */
+	{ 2,	TF,	sys_lstat64,		"lstat64"	}, /* 169 */
+	{ 2,	TD,	sys_fstat64,		"fstat64"	}, /* 170 */
+	{ 2,	TF,	sys_pivotroot,		"pivot_root"	}, /* 171 */
+	{ 3,	0,	printargs,		"mincore"	}, /* 172 */
+	{ 3,	0,	sys_madvise,		"madvise"	}, /* 173 */
+	{ 3,	TD,	sys_getdents64,		"getdents64"	}, /* 174 */
+	{ 3,	TD,	sys_fcntl,		"fcntl64"	}, /* 175 */
+	{ 0,	0,	printargs,		"gettid"	}, /* 176 */
+	{ 4,	TD,	sys_readahead,		"readahead"	}, /* 177 */
+	{ 5,	TF,	sys_setxattr,		"setxattr"	}, /* 178 */
+	{ 5,	TF,	sys_setxattr,		"lsetxattr"	}, /* 179 */
+	{ 5,	TD,	sys_fsetxattr,		"fsetxattr"	}, /* 180 */
+	{ 4,	TF,	sys_getxattr,		"getxattr"	}, /* 181 */
+	{ 4,	TF,	sys_getxattr,		"lgetxattr"	}, /* 182 */
+	{ 4,	0,	sys_fgetxattr,		"fgetxattr"	}, /* 183 */
+	{ 3,	TF,	sys_listxattr,		"listxattr"	}, /* 184 */
+	{ 3,	TF,	sys_listxattr,		"llistxattr"	}, /* 185 */
+	{ 3,	0,	sys_flistxattr,		"flistxattr"	}, /* 186 */
+	{ 2,	TF,	sys_removexattr,	"removexattr"	}, /* 187 */
+	{ 2,	TF,	sys_removexattr,	"lremovexattr"	}, /* 188 */
+	{ 2,	TD,	sys_fremovexattr,	"fremovexattr"	}, /* 189 */
+	{ 2,	0,	sys_kill,		"tkill"		}, /* 190 */
+	{ 4,	TD|TN,	sys_sendfile64,		"sendfile64"	}, /* 191 */
+	{ 6,	0,	sys_futex,		"futex"		}, /* 192 */
+	{ 3,	0,	sys_sched_setaffinity,	"sched_setaffinity" },/* 193 */
+	{ 3,	0,	sys_sched_getaffinity,	"sched_getaffinity" },/* 194 */
+	{ 2,	0,	sys_capget,		"capget"	}, /* 195 */
+	{ 2,	0,	sys_capset,		"capset"	}, /* 196 */
+	{ 2,	0,	sys_io_setup,		"io_setup"	}, /* 197 */
+	{ 1,	0,	sys_io_destroy,		"io_destroy"	}, /* 198 */
+	{ 5,	0,	sys_io_getevents,	"io_getevents"	}, /* 199 */
+	{ 3,	0,	sys_io_submit,		"io_submit"	}, /* 200 */
+	{ 3,	0,	sys_io_cancel,		"io_cancel"	}, /* 201 */
+	{ 5,	0,	sys_fadvise64,		"fadvise64"	}, /* 202 */
+	{ 1,	TP,	sys_exit,		"exit_group"	}, /* 203 */
+	{ 4,	0,	printargs,		"lookup_dcookie"}, /* 204 */
+	{ 1,	0,	sys_epoll_create,	"epoll_create"	}, /* 205 */
+	{ 4,	TD,	sys_epoll_ctl,		"epoll_ctl"	}, /* 206 */
+	{ 4,	TD,	sys_epoll_wait,		"epoll_wait"	}, /* 207 */
+	{ 5,	0,	sys_remap_file_pages,	"remap_file_pages"}, /* 208 */
+	{ 1,	0,	printargs,		"set_tid_address"}, /* 209 */
+	{ 3,	0,	sys_timer_create,	"timer_create"	}, /* 210 */
+	{ 4,	0,	sys_timer_settime,	"timer_settime"	}, /* 211 */
+	{ 2,	0,	sys_timer_gettime,	"timer_gettime"	}, /* 212 */
+	{ 1,	0,	sys_timer_getoverrun,	"timer_getoverrun"}, /* 213 */
+	{ 1,	0,	sys_timer_delete,	"timer_delete"	}, /* 214 */
+	{ 2,	0,	sys_clock_settime,	"clock_settime"	}, /* 215 */
+	{ 2,	0,	sys_clock_gettime,	"clock_gettime"	}, /* 216 */
+	{ 2,	0,	sys_clock_getres,	"clock_getres"	}, /* 217 */
+	{ 4,	0,	sys_clock_nanosleep,	"clock_nanosleep"}, /* 218 */
+	{ 3,	TF,	sys_statfs64,		"statfs64"	}, /* 219 */
+	{ 3,	TD,	sys_fstatfs64,		"fstatfs64"	}, /* 220 */
+	{ 3,	TS,	sys_tgkill,		"tgkill"	}, /* 221 */
+	{ 5,	0,	printargs,		"SYS_222"	}, /* 222 */
+	{ 2,	TF,	sys_utimes,		"utimes"	}, /* 223 */
+	{ 6,	0,	sys_fadvise64_64,	"fadvise64_64"	}, /* 224 */
+	{ 3,	0,	printargs,		"cacheflush"	}, /* 225 */
+	{ 5,	0,	printargs,		"vserver"	}, /* 226 */
+	{ 4,	0,	sys_mq_open,		"mq_open"	}, /* 227 */
+	{ 1,	0,	sys_mq_unlink,		"mq_unlink"	}, /* 228 */
+	{ 5,	0,	sys_mq_timedsend,	"mq_timedsend"	}, /* 229 */
+	{ 5,	0,	sys_mq_timedreceive,	"mq_timedreceive" }, /* 230 */
+	{ 2,	0,	sys_mq_notify,		"mq_notify"	}, /* 231 */
+	{ 3,	0,	sys_mq_getsetattr,	"mq_getsetattr" }, /* 232 */
+	{ 5,	0,	printargs,		"kexec_load"	}, /* 233 */
+	{ 5,	TP,	sys_waitid,		"waitid"	}, /* 234 */
+	{ 5,	0,	printargs,		"add_key"	}, /* 235 */
+	{ 4,	0,	printargs,		"request_key"	}, /* 236 */
+	{ 5,	0,	printargs,		"keyctl"	}, /* 237 */
+	{ 3,	0,	printargs,		"ioprio_set"	}, /* 238 */
+	{ 2,	0,	printargs,		"ioprio_get"	}, /* 239 */
+	{ 0,	0,	printargs,		"inotify_init"	}, /* 240 */
+	{ 3,	TD,	sys_inotify_add_watch,	"inotify_add_watch" }, /* 241 */
+	{ 2,	TD,	sys_inotify_rm_watch,	"inotify_rm_watch" }, /* 242 */
+	{ 4,	TD|TF,	sys_openat,		"openat"	}, /* 243 */
+	{ 3,	TD|TF,	sys_mkdirat,		"mkdirat"	}, /* 244 */
+	{ 4,	TD|TF,	sys_mknodat,		"mknodat"	}, /* 245 */
+	{ 5,	TD|TF,	sys_fchownat,		"fchownat"	}, /* 246 */
+	{ 3,	TD|TF,	sys_futimesat,		"futimesat"	}, /* 247 */
+	{ 4,	TD|TF,	printargs,		"fstatat64"	}, /* 248 */
+	{ 3,	TD|TF,	sys_unlinkat,		"unlinkat"	}, /* 249 */
+	{ 4,	TD|TF,	sys_renameat,		"renameat"	}, /* 250 */
+	{ 5,	TD|TF,	sys_linkat,		"linkat"	}, /* 251 */
+	{ 3,	TD|TF,	sys_symlinkat,		"symlinkat"	}, /* 252 */
+	{ 4,	TD|TF,	sys_readlinkat,		"readlinkat"	}, /* 253 */
+	{ 3,	TD|TF,	sys_fchmodat,		"fchmodat"	}, /* 254 */
+	{ 3,	TD|TF,	sys_faccessat,		"faccessat"	}, /* 255 */
+	{ 6,	TD,	sys_pselect6,		"pselect6"	}, /* 256 */
+	{ 5,	TD,	sys_ppoll,		"ppoll"		}, /* 257 */
+	{ 1,	TD,	sys_unshare,		"unshare"	}, /* 258 */
+	{ 2,	0,	printargs,		"set_robust_list" }, /* 259 */
+	{ 3,	0,	printargs,		"get_robust_list" }, /* 260 */
+	{ 6,	TD,	printargs,		"splice"	}, /* 261 */
+	{ 4,	TD,	printargs,		"sync_file_range" }, /* 262 */
+	{ 4,	TD,	printargs,		"tee"		}, /* 263 */
+	{ 4,	TD,	printargs,		"vmsplice"	}, /* 264 */
+	{ 5,	TD,	sys_epoll_pwait,	"epoll_pwait"   }, /* 265 */
+	{ 4,	TI,	sys_msgget,		"msgget"	}, /* 266 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd"	}, /* 267 */
+	{ 5,	TI,	sys_msgrcv,		"msgrcv"	}, /* 268 */
+	{ 3,	TI,	sys_msgctl,		"msgctl"	}, /* 269 */
+	{ 4,	TI,	sys_semget,		"semget"	}, /* 270 */
+	{ 4,	TI,	sys_semop,		"semop"		}, /* 271 */
+	{ 4,	TI,	sys_semctl,		"semctl"	}, /* 272 */
+	{ 5,	TI,	sys_semtimedop,		"semtimedop"	}, /* 273 */
+	{ 4,	TI,	sys_shmat,		"shmat"		}, /* 274 */
+	{ 4,	TI,	sys_shmget,		"shmget"	}, /* 275 */
+	{ 4,	TI,	sys_shmdt,		"shmdt"		}, /* 276 */
+	{ 4,	TI,	sys_shmctl,		"shmctl"	}, /* 277 */
+	{ 4,	TD|TF,	sys_utimensat,		"utimensat"	}, /* 278 */
+	{ 3,	TD|TS,	sys_signalfd,		"signalfd"	}, /* 279 */
+	{ 2,	TD,	sys_timerfd,		"timerfd_create" }, /* 280 */
+	{ 1,	TD,	sys_eventfd,		"eventfd"	}, /* 281 */
diff --git a/strace-4.5.20/linux/bfin/ioctlent.h b/strace-4.5.20/linux/bfin/ioctlent.h
new file mode 100644
index 0000000..4b78fdf
--- /dev/null
+++ b/strace-4.5.20/linux/bfin/ioctlent.h
@@ -0,0 +1,1949 @@
+	/* Generated by ioctlsort */
+	{"linux/fs.h",	"FIBMAP",	0x1},
+	{"linux/fs.h",	"FIGETBSZ",	0x2},
+	{"linux/fd.h",	"FDGETPRM",	0x204},
+	{"linux/fd.h",	"FDGETMAXERRS",	0x20e},
+	{"linux/fd.h",	"FDGETDRVTYP",	0x20f},
+	{"linux/fd.h",	"FDGETDRVPRM",	0x211},
+	{"linux/fd.h",	"FDGETDRVSTAT",	0x212},
+	{"linux/fd.h",	"FDPOLLDRVSTAT",	0x213},
+	{"linux/fd.h",	"FDGETFDCSTAT",	0x215},
+	{"linux/fd.h",	"FDWERRORGET",	0x217},
+	{"linux/fd.h",	"FDCLRPRM",	0x241},
+	{"linux/fd.h",	"FDSETPRM",	0x242},
+	{"linux/fd.h",	"FDDEFPRM",	0x243},
+	{"linux/fd.h",	"FDMSGON",	0x245},
+	{"linux/fd.h",	"FDMSGOFF",	0x246},
+	{"linux/fd.h",	"FDFMTBEG",	0x247},
+	{"linux/fd.h",	"FDFMTTRK",	0x248},
+	{"linux/fd.h",	"FDFMTEND",	0x249},
+	{"linux/fd.h",	"FDSETEMSGTRESH",	0x24a},
+	{"linux/fd.h",	"FDFLUSH",	0x24b},
+	{"linux/fd.h",	"FDSETMAXERRS",	0x24c},
+	{"linux/fd.h",	"FDRESET",	0x254},
+	{"linux/fd.h",	"FDWERRORCLR",	0x256},
+	{"linux/fd.h",	"FDRAWCMD",	0x258},
+	{"linux/fd.h",	"FDTWADDLE",	0x259},
+	{"linux/fd.h",	"FDEJECT",	0x25a},
+	{"linux/fd.h",	"FDSETDRVPRM",	0x290},
+	{"linux/raid/md_u.h",	"RAID_VERSION",	0x910},
+	{"linux/raid/md_u.h",	"GET_ARRAY_INFO",	0x911},
+	{"linux/raid/md_u.h",	"GET_DISK_INFO",	0x912},
+	{"linux/raid/md_u.h",	"PRINT_RAID_DEBUG",	0x913},
+	{"linux/raid/md_u.h",	"RAID_AUTORUN",	0x914},
+	{"linux/raid/md_u.h",	"GET_BITMAP_FILE",	0x915},
+	{"linux/raid/md_u.h",	"CLEAR_ARRAY",	0x920},
+	{"linux/raid/md_u.h",	"ADD_NEW_DISK",	0x921},
+	{"linux/raid/md_u.h",	"HOT_REMOVE_DISK",	0x922},
+	{"linux/raid/md_u.h",	"SET_ARRAY_INFO",	0x923},
+	{"linux/raid/md_u.h",	"SET_DISK_INFO",	0x924},
+	{"linux/raid/md_u.h",	"WRITE_RAID_INFO",	0x925},
+	{"linux/raid/md_u.h",	"UNPROTECT_ARRAY",	0x926},
+	{"linux/raid/md_u.h",	"PROTECT_ARRAY",	0x927},
+	{"linux/raid/md_u.h",	"HOT_ADD_DISK",	0x928},
+	{"linux/raid/md_u.h",	"SET_DISK_FAULTY",	0x929},
+	{"linux/raid/md_u.h",	"HOT_GENERATE_ERROR",	0x92a},
+	{"linux/raid/md_u.h",	"SET_BITMAP_FILE",	0x92b},
+	{"linux/raid/md_u.h",	"RUN_ARRAY",	0x930},
+	{"linux/raid/md_u.h",	"STOP_ARRAY",	0x932},
+	{"linux/raid/md_u.h",	"STOP_ARRAY_RO",	0x933},
+	{"linux/raid/md_u.h",	"RESTART_ARRAY_RW",	0x934},
+	{"linux/fs.h",	"BLKROSET",	0x125d},
+	{"linux/fs.h",	"BLKROGET",	0x125e},
+	{"linux/fs.h",	"BLKRRPART",	0x125f},
+	{"linux/fs.h",	"BLKGETSIZE",	0x1260},
+	{"linux/fs.h",	"BLKFLSBUF",	0x1261},
+	{"linux/fs.h",	"BLKRASET",	0x1262},
+	{"linux/fs.h",	"BLKRAGET",	0x1263},
+	{"linux/fs.h",	"BLKFRASET",	0x1264},
+	{"linux/fs.h",	"BLKFRAGET",	0x1265},
+	{"linux/fs.h",	"BLKSECTSET",	0x1266},
+	{"linux/fs.h",	"BLKSECTGET",	0x1267},
+	{"linux/fs.h",	"BLKSSZGET",	0x1268},
+	{"linux/blkpg.h",	"BLKPG",	0x1269},
+	{"linux/fs.h",	"BLKELVGET",	0x126a},
+	{"linux/fs.h",	"BLKELVSET",	0x126b},
+	{"linux/fs.h",	"BLKBSZGET",	0x1270},
+	{"linux/fs.h",	"BLKBSZSET",	0x1271},
+	{"linux/fs.h",	"BLKGETSIZE64",	0x1272},
+	{"linux/fs.h",	"BLKTRACESETUP",	0x1273},
+	{"linux/fs.h",	"BLKTRACESTART",	0x1274},
+	{"linux/fs.h",	"BLKTRACESTOP",	0x1275},
+	{"linux/fs.h",	"BLKTRACETEARDOWN",	0x1276},
+	{"linux/fs.h",	"BLKDISCARD",	0x1277},
+	{"rdma/ib_user_mad.h",	"IB_USER_MAD_REGISTER_AGENT",	0x1b01},
+	{"rdma/ib_user_mad.h",	"IB_USER_MAD_UNREGISTER_AGENT",	0x1b02},
+	{"rdma/ib_user_mad.h",	"IB_USER_MAD_ENABLE_PKEY",	0x1b03},
+	{"scsi/sg.h",	"SG_SET_TIMEOUT",	0x2201},
+	{"scsi/sg.h",	"SG_GET_TIMEOUT",	0x2202},
+	{"scsi/sg.h",	"SG_EMULATED_HOST",	0x2203},
+	{"scsi/sg.h",	"SG_SET_TRANSFORM",	0x2204},
+	{"scsi/sg.h",	"SG_GET_TRANSFORM",	0x2205},
+	{"scsi/sg.h",	"SG_GET_COMMAND_Q",	0x2270},
+	{"scsi/sg.h",	"SG_SET_COMMAND_Q",	0x2271},
+	{"scsi/sg.h",	"SG_GET_RESERVED_SIZE",	0x2272},
+	{"scsi/sg.h",	"SG_SET_RESERVED_SIZE",	0x2275},
+	{"scsi/sg.h",	"SG_GET_SCSI_ID",	0x2276},
+	{"scsi/sg.h",	"SG_SET_FORCE_LOW_DMA",	0x2279},
+	{"scsi/sg.h",	"SG_GET_LOW_DMA",	0x227a},
+	{"scsi/sg.h",	"SG_SET_FORCE_PACK_ID",	0x227b},
+	{"scsi/sg.h",	"SG_GET_PACK_ID",	0x227c},
+	{"scsi/sg.h",	"SG_GET_NUM_WAITING",	0x227d},
+	{"scsi/sg.h",	"SG_SET_DEBUG",	0x227e},
+	{"scsi/sg.h",	"SG_GET_SG_TABLESIZE",	0x227f},
+	{"scsi/sg.h",	"SG_GET_VERSION_NUM",	0x2282},
+	{"scsi/sg.h",	"SG_NEXT_CMD_LEN",	0x2283},
+	{"scsi/sg.h",	"SG_SCSI_RESET",	0x2284},
+	{"scsi/sg.h",	"SG_IO",	0x2285},
+	{"scsi/sg.h",	"SG_GET_REQUEST_TABLE",	0x2286},
+	{"scsi/sg.h",	"SG_SET_KEEP_ORPHAN",	0x2287},
+	{"scsi/sg.h",	"SG_GET_KEEP_ORPHAN",	0x2288},
+	{"scsi/sg.h",	"SG_GET_ACCESS_COUNT",	0x2289},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_GET_INFO",	0x2300},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_SEND_REQUEST",	0x2301},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_ALLOCATE",	0x2302},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_DEALLOCATE",	0x2303},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_SEND_RESPONSE",	0x2304},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_INITIATE_BUS_RESET",	0x2305},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_ADD_DESCRIPTOR",	0x2306},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_REMOVE_DESCRIPTOR",	0x2307},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_CREATE_ISO_CONTEXT",	0x2308},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_QUEUE_ISO",	0x2309},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_START_ISO",	0x230a},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_STOP_ISO",	0x230b},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_GET_CYCLE_TIMER",	0x230c},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE",	0x230d},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE",	0x230e},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE",	0x230f},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE",	0x2310},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_GET_SPEED",	0x2311},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_SEND_BROADCAST_REQUEST",	0x2312},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_SEND_STREAM_PACKET",	0x2313},
+	{"linux/perf_counter.h",	"PERF_COUNTER_IOC_ENABLE",	0x2400},
+	{"linux/perf_counter.h",	"PERF_COUNTER_IOC_DISABLE",	0x2401},
+	{"linux/perf_counter.h",	"PERF_COUNTER_IOC_REFRESH",	0x2402},
+	{"linux/perf_counter.h",	"PERF_COUNTER_IOC_RESET",	0x2403},
+	{"linux/perf_counter.h",	"PERF_COUNTER_IOC_PERIOD",	0x2404},
+	{"linux/i2o.h",	"BLKI2OGRSTRAT",	0x3201},
+	{"linux/i2o.h",	"BLKI2OGWSTRAT",	0x3202},
+	{"linux/i2o.h",	"BLKI2OSRSTRAT",	0x3203},
+	{"linux/i2o.h",	"BLKI2OSWSTRAT",	0x3204},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_FREEZE",	0x3301},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_UNFREEZE",	0x3302},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_ATOMIC_RESTORE",	0x3304},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_FREE",	0x3305},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_FREE_SWAP_PAGES",	0x3309},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_S2RAM",	0x330b},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_SET_SWAP_AREA",	0x330d},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_GET_IMAGE_SIZE",	0x330e},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_PLATFORM_SUPPORT",	0x330f},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_POWER_OFF",	0x3310},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_CREATE_IMAGE",	0x3311},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_PREF_IMAGE_SIZE",	0x3312},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_AVAIL_SWAP_SIZE",	0x3313},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_ALLOC_SWAP_PAGE",	0x3314},
+	{"linux/radeonfb.h",	"FBIO_RADEON_GET_MIRROR",	0x4003},
+	{"linux/radeonfb.h",	"FBIO_RADEON_SET_MIRROR",	0x4004},
+	{"linux/agpgart.h",	"AGPIOC_INFO",	0x4100},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_PVERSION",	0x4100},
+	{"linux/agpgart.h",	"AGPIOC_ACQUIRE",	0x4101},
+	{"linux/apm_bios.h",	"APM_IOC_STANDBY",	0x4101},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_INFO",	0x4101},
+	{"linux/agpgart.h",	"AGPIOC_RELEASE",	0x4102},
+	{"linux/apm_bios.h",	"APM_IOC_SUSPEND",	0x4102},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_TSTAMP",	0x4102},
+	{"linux/agpgart.h",	"AGPIOC_SETUP",	0x4103},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_TTSTAMP",	0x4103},
+	{"linux/agpgart.h",	"AGPIOC_RESERVE",	0x4104},
+	{"linux/agpgart.h",	"AGPIOC_PROTECT",	0x4105},
+	{"linux/agpgart.h",	"AGPIOC_ALLOCATE",	0x4106},
+	{"linux/agpgart.h",	"AGPIOC_DEALLOCATE",	0x4107},
+	{"linux/agpgart.h",	"AGPIOC_BIND",	0x4108},
+	{"linux/agpgart.h",	"AGPIOC_UNBIND",	0x4109},
+	{"linux/agpgart.h",	"AGPIOC_CHIPSET_FLUSH",	0x410a},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_HW_REFINE",	0x4110},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_HW_PARAMS",	0x4111},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_HW_FREE",	0x4112},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_SW_PARAMS",	0x4113},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_STATUS",	0x4120},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_DELAY",	0x4121},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_HWSYNC",	0x4122},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_SYNC_PTR",	0x4123},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_CHANNEL_INFO",	0x4132},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_PREPARE",	0x4140},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_RESET",	0x4141},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_START",	0x4142},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_DROP",	0x4143},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_DRAIN",	0x4144},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_PAUSE",	0x4145},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_REWIND",	0x4146},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_RESUME",	0x4147},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_XRUN",	0x4148},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_FORWARD",	0x4149},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_WRITEI_FRAMES",	0x4150},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_READI_FRAMES",	0x4151},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_WRITEN_FRAMES",	0x4152},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_READN_FRAMES",	0x4153},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_LINK",	0x4160},
+	{"sound/asound.h",	"SNDRV_PCM_IOCTL_UNLINK",	0x4161},
+	{"linux/pmu.h",	"PMU_IOC_SLEEP",	0x4200},
+	{"linux/cciss_ioctl.h",	"CCISS_GETPCIINFO",	0x4201},
+	{"linux/pmu.h",	"PMU_IOC_GET_BACKLIGHT",	0x4201},
+	{"linux/cciss_ioctl.h",	"CCISS_GETINTINFO",	0x4202},
+	{"linux/pmu.h",	"PMU_IOC_SET_BACKLIGHT",	0x4202},
+	{"linux/cciss_ioctl.h",	"CCISS_SETINTINFO",	0x4203},
+	{"linux/pmu.h",	"PMU_IOC_GET_MODEL",	0x4203},
+	{"linux/cciss_ioctl.h",	"CCISS_GETNODENAME",	0x4204},
+	{"linux/pmu.h",	"PMU_IOC_HAS_ADB",	0x4204},
+	{"linux/cciss_ioctl.h",	"CCISS_SETNODENAME",	0x4205},
+	{"linux/pmu.h",	"PMU_IOC_CAN_SLEEP",	0x4205},
+	{"linux/cciss_ioctl.h",	"CCISS_GETHEARTBEAT",	0x4206},
+	{"linux/pmu.h",	"PMU_IOC_GRAB_BACKLIGHT",	0x4206},
+	{"linux/cciss_ioctl.h",	"CCISS_GETBUSTYPES",	0x4207},
+	{"linux/cciss_ioctl.h",	"CCISS_GETFIRMVER",	0x4208},
+	{"linux/cciss_ioctl.h",	"CCISS_GETDRIVVER",	0x4209},
+	{"linux/cciss_ioctl.h",	"CCISS_REVALIDVOLS",	0x420a},
+	{"linux/cciss_ioctl.h",	"CCISS_PASSTHRU",	0x420b},
+	{"linux/cciss_ioctl.h",	"CCISS_PASSTHRU32",	0x420b},
+	{"linux/cciss_ioctl.h",	"CCISS_DEREGDISK",	0x420c},
+	{"linux/cciss_ioctl.h",	"CCISS_REGNEWDISK",	0x420d},
+	{"linux/cciss_ioctl.h",	"CCISS_REGNEWD",	0x420e},
+	{"linux/cciss_ioctl.h",	"CCISS_RESCANDISK",	0x4210},
+	{"linux/cciss_ioctl.h",	"CCISS_GETLUNINFO",	0x4211},
+	{"linux/cciss_ioctl.h",	"CCISS_BIG_PASSTHRU",	0x4212},
+	{"linux/cciss_ioctl.h",	"CCISS_BIG_PASSTHRU32",	0x4212},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RESET",	0x4300},
+	{"linux/capi.h",	"CAPI_REGISTER",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_LOAD",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RDATA",	0x4302},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCODE",	0x4303},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WDATA",	0x4304},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WCODE",	0x4305},
+	{"linux/capi.h",	"CAPI_GET_MANUFACTURER",	0x4306},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RUN",	0x4306},
+	{"linux/capi.h",	"CAPI_GET_VERSION",	0x4307},
+	{"linux/soundcard.h",	"SNDCTL_COPR_HALT",	0x4307},
+	{"linux/capi.h",	"CAPI_GET_SERIAL",	0x4308},
+	{"linux/soundcard.h",	"SNDCTL_COPR_SENDMSG",	0x4308},
+	{"linux/capi.h",	"CAPI_GET_PROFILE",	0x4309},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCVMSG",	0x4309},
+	{"linux/capi.h",	"CAPI_MANUFACTURER_CMD",	0x4320},
+	{"linux/capi.h",	"CAPI_GET_ERRCODE",	0x4321},
+	{"linux/capi.h",	"CAPI_INSTALLED",	0x4322},
+	{"linux/capi.h",	"CAPI_GET_FLAGS",	0x4323},
+	{"linux/capi.h",	"CAPI_SET_FLAGS",	0x4324},
+	{"linux/capi.h",	"CAPI_CLR_FLAGS",	0x4325},
+	{"linux/capi.h",	"CAPI_NCCI_OPENCOUNT",	0x4326},
+	{"linux/capi.h",	"CAPI_NCCI_GETUNIT",	0x4327},
+	{"linux/input.h",	"EVIOCGVERSION",	0x4501},
+	{"linux/input.h",	"EVIOCGID",	0x4502},
+	{"linux/input.h",	"EVIOCGREP",	0x4503},
+	{"linux/input.h",	"EVIOCSREP",	0x4503},
+	{"linux/input.h",	"EVIOCGKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCSKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCRMFF",	0x4581},
+	{"linux/input.h",	"EVIOCGEFFECTS",	0x4584},
+	{"linux/input.h",	"EVIOCGRAB",	0x4590},
+	{"linux/fb.h",	"FBIOGET_VSCREENINFO",	0x4600},
+	{"linux/fb.h",	"FBIOPUT_VSCREENINFO",	0x4601},
+	{"linux/fb.h",	"FBIOGET_FSCREENINFO",	0x4602},
+	{"linux/fb.h",	"FBIOGETCMAP",	0x4604},
+	{"linux/fb.h",	"FBIOPUTCMAP",	0x4605},
+	{"linux/fb.h",	"FBIOPAN_DISPLAY",	0x4606},
+	{"linux/fb.h",	"FBIO_CURSOR",	0x4608},
+	{"linux/fb.h",	"FBIOGET_CON2FBMAP",	0x460f},
+	{"linux/fb.h",	"FBIOPUT_CON2FBMAP",	0x4610},
+	{"linux/fb.h",	"FBIOBLANK",	0x4611},
+	{"linux/fb.h",	"FBIOGET_VBLANK",	0x4612},
+	{"linux/fb.h",	"FBIO_ALLOC",	0x4613},
+	{"linux/fb.h",	"FBIO_FREE",	0x4614},
+	{"linux/fb.h",	"FBIOGET_GLYPH",	0x4615},
+	{"linux/fb.h",	"FBIOGET_HWCINFO",	0x4616},
+	{"linux/fb.h",	"FBIOPUT_MODEINFO",	0x4617},
+	{"linux/fb.h",	"FBIOGET_DISPINFO",	0x4618},
+	{"linux/ivtvfb.h",	"FBIO_WAITFORVSYNC",	0x4620},
+	{"linux/matroxfb.h",	"FBIO_WAITFORVSYNC",	0x4620},
+	{"linux/arcfb.h",	"FBIO_WAITEVENT",	0x4688},
+	{"linux/arcfb.h",	"FBIO_GETCONTROL2",	0x4689},
+	{"video/sstfb.h",	"SSTFB_GET_VGAPASS",	0x46dd},
+	{"video/sstfb.h",	"SSTFB_SET_VGAPASS",	0x46dd},
+	{"linux/gigaset_dev.h",	"GIGASET_REDIR",	0x4700},
+	{"linux/gigaset_dev.h",	"GIGASET_CONFIG",	0x4701},
+	{"linux/gigaset_dev.h",	"GIGASET_BRKCHARS",	0x4702},
+	{"linux/gigaset_dev.h",	"GIGASET_VERSION",	0x4703},
+	{"sound/asound.h",	"SNDRV_HWDEP_IOCTL_PVERSION",	0x4800},
+	{"linux/hidraw.h",	"HIDIOCGRDESCSIZE",	0x4801},
+	{"linux/hiddev.h",	"HIDIOCGVERSION",	0x4801},
+	{"sound/asound.h",	"SNDRV_HWDEP_IOCTL_INFO",	0x4801},
+	{"linux/hiddev.h",	"HIDIOCAPPLICATION",	0x4802},
+	{"linux/hidraw.h",	"HIDIOCGRDESC",	0x4802},
+	{"sound/asound.h",	"SNDRV_HWDEP_IOCTL_DSP_STATUS",	0x4802},
+	{"linux/hiddev.h",	"HIDIOCGDEVINFO",	0x4803},
+	{"linux/hidraw.h",	"HIDIOCGRAWINFO",	0x4803},
+	{"sound/asound.h",	"SNDRV_HWDEP_IOCTL_DSP_LOAD",	0x4803},
+	{"linux/hiddev.h",	"HIDIOCGSTRING",	0x4804},
+	{"linux/hiddev.h",	"HIDIOCINITREPORT",	0x4805},
+	{"linux/hiddev.h",	"HIDIOCGREPORT",	0x4807},
+	{"linux/hiddev.h",	"HIDIOCSREPORT",	0x4808},
+	{"linux/hiddev.h",	"HIDIOCGREPORTINFO",	0x4809},
+	{"linux/hiddev.h",	"HIDIOCGFIELDINFO",	0x480a},
+	{"linux/hiddev.h",	"HIDIOCGUSAGE",	0x480b},
+	{"linux/hiddev.h",	"HIDIOCSUSAGE",	0x480c},
+	{"linux/hiddev.h",	"HIDIOCGUCODE",	0x480d},
+	{"linux/hiddev.h",	"HIDIOCGFLAG",	0x480e},
+	{"linux/hiddev.h",	"HIDIOCSFLAG",	0x480f},
+	{"sound/hda_hwdep.h",	"HDA_IOCTL_PVERSION",	0x4810},
+	{"linux/hiddev.h",	"HIDIOCGCOLLECTIONINDEX",	0x4810},
+	{"sound/emu10k1.h",	"SNDRV_EMU10K1_IOCTL_INFO",	0x4810},
+	{"sound/sb16_csp.h",	"SNDRV_SB_CSP_IOCTL_INFO",	0x4810},
+	{"sound/hda_hwdep.h",	"HDA_IOCTL_VERB_WRITE",	0x4811},
+	{"linux/hiddev.h",	"HIDIOCGCOLLECTIONINFO",	0x4811},
+	{"sound/emu10k1.h",	"SNDRV_EMU10K1_IOCTL_CODE_POKE",	0x4811},
+	{"sound/sb16_csp.h",	"SNDRV_SB_CSP_IOCTL_LOAD_CODE",	0x4811},
+	{"sound/hda_hwdep.h",	"HDA_IOCTL_GET_WCAP",	0x4812},
+	{"sound/emu10k1.h",	"SNDRV_EMU10K1_IOCTL_CODE_PEEK",	0x4812},
+	{"sound/sb16_csp.h",	"SNDRV_SB_CSP_IOCTL_UNLOAD_CODE",	0x4812},
+	{"linux/hiddev.h",	"HIDIOCGUSAGES",	0x4813},
+	{"sound/sb16_csp.h",	"SNDRV_SB_CSP_IOCTL_START",	0x4813},
+	{"linux/hiddev.h",	"HIDIOCSUSAGES",	0x4814},
+	{"sound/sb16_csp.h",	"SNDRV_SB_CSP_IOCTL_STOP",	0x4814},
+	{"sound/sb16_csp.h",	"SNDRV_SB_CSP_IOCTL_PAUSE",	0x4815},
+	{"sound/sb16_csp.h",	"SNDRV_SB_CSP_IOCTL_RESTART",	0x4816},
+	{"sound/asound_fm.h",	"SNDRV_DM_FM_IOCTL_INFO",	0x4820},
+	{"sound/emu10k1.h",	"SNDRV_EMU10K1_IOCTL_TRAM_SETUP",	0x4820},
+	{"sound/asound_fm.h",	"SNDRV_DM_FM_IOCTL_RESET",	0x4821},
+	{"sound/emu10k1.h",	"SNDRV_EMU10K1_IOCTL_TRAM_POKE",	0x4821},
+	{"sound/asound_fm.h",	"SNDRV_DM_FM_IOCTL_PLAY_NOTE",	0x4822},
+	{"sound/emu10k1.h",	"SNDRV_EMU10K1_IOCTL_TRAM_PEEK",	0x4822},
+	{"sound/asound_fm.h",	"SNDRV_DM_FM_IOCTL_SET_VOICE",	0x4823},
+	{"sound/asound_fm.h",	"SNDRV_DM_FM_IOCTL_SET_PARAMS",	0x4824},
+	{"sound/asound_fm.h",	"SNDRV_DM_FM_IOCTL_SET_MODE",	0x4825},
+	{"sound/asound_fm.h",	"SNDRV_DM_FM_IOCTL_SET_CONNECTION",	0x4826},
+	{"sound/emu10k1.h",	"SNDRV_EMU10K1_IOCTL_PCM_POKE",	0x4830},
+	{"sound/emu10k1.h",	"SNDRV_EMU10K1_IOCTL_PCM_PEEK",	0x4831},
+	{"sound/asound_fm.h",	"SNDRV_DM_FM_IOCTL_CLEAR_PATCHES",	0x4840},
+	{"sound/emu10k1.h",	"SNDRV_EMU10K1_IOCTL_PVERSION",	0x4840},
+	{"sound/hdsp.h",	"SNDRV_HDSP_IOCTL_GET_PEAK_RMS",	0x4840},
+	{"sound/hdsp.h",	"SNDRV_HDSP_IOCTL_GET_CONFIG_INFO",	0x4841},
+	{"sound/hdsp.h",	"SNDRV_HDSP_IOCTL_UPLOAD_FIRMWARE",	0x4842},
+	{"sound/hdspm.h",	"SNDRV_HDSPM_IOCTL_GET_VERSION",	0x4843},
+	{"sound/hdsp.h",	"SNDRV_HDSP_IOCTL_GET_VERSION",	0x4843},
+	{"sound/hdspm.h",	"SNDRV_HDSPM_IOCTL_GET_MIXER",	0x4844},
+	{"sound/hdsp.h",	"SNDRV_HDSP_IOCTL_GET_MIXER",	0x4844},
+	{"sound/hdsp.h",	"SNDRV_HDSP_IOCTL_GET_9632_AEB",	0x4845},
+	{"sound/emu10k1.h",	"SNDRV_EMU10K1_IOCTL_STOP",	0x4880},
+	{"sound/sfnt_info.h",	"SNDRV_EMUX_IOCTL_VERSION",	0x4880},
+	{"sound/emu10k1.h",	"SNDRV_EMU10K1_IOCTL_CONTINUE",	0x4881},
+	{"sound/sfnt_info.h",	"SNDRV_EMUX_IOCTL_LOAD_PATCH",	0x4881},
+	{"sound/emu10k1.h",	"SNDRV_EMU10K1_IOCTL_ZERO_TRAM_COUNTER",	0x4882},
+	{"sound/sfnt_info.h",	"SNDRV_EMUX_IOCTL_RESET_SAMPLES",	0x4882},
+	{"sound/emu10k1.h",	"SNDRV_EMU10K1_IOCTL_SINGLE_STEP",	0x4883},
+	{"sound/sfnt_info.h",	"SNDRV_EMUX_IOCTL_REMOVE_LAST_SAMPLES",	0x4883},
+	{"sound/emu10k1.h",	"SNDRV_EMU10K1_IOCTL_DBG_READ",	0x4884},
+	{"sound/sfnt_info.h",	"SNDRV_EMUX_IOCTL_MEM_AVAIL",	0x4884},
+	{"sound/sfnt_info.h",	"SNDRV_EMUX_IOCTL_MISC_MODE",	0x4884},
+	{"net/bluetooth/hci.h",	"HCIDEVUP",	0x48c9},
+	{"net/bluetooth/hci.h",	"HCIDEVDOWN",	0x48ca},
+	{"net/bluetooth/hci.h",	"HCIDEVRESET",	0x48cb},
+	{"net/bluetooth/hci.h",	"HCIDEVRESTAT",	0x48cc},
+	{"net/bluetooth/hci.h",	"HCIGETDEVLIST",	0x48d2},
+	{"net/bluetooth/hci.h",	"HCIGETDEVINFO",	0x48d3},
+	{"net/bluetooth/hci.h",	"HCIGETCONNLIST",	0x48d4},
+	{"net/bluetooth/hci.h",	"HCIGETCONNINFO",	0x48d5},
+	{"net/bluetooth/hci.h",	"HCISETRAW",	0x48dc},
+	{"net/bluetooth/hci.h",	"HCISETSCAN",	0x48dd},
+	{"net/bluetooth/hci.h",	"HCISETAUTH",	0x48de},
+	{"net/bluetooth/hci.h",	"HCISETENCRYPT",	0x48df},
+	{"net/bluetooth/hci.h",	"HCISETPTYPE",	0x48e0},
+	{"net/bluetooth/hci.h",	"HCISETLINKPOL",	0x48e1},
+	{"net/bluetooth/hci.h",	"HCISETLINKMODE",	0x48e2},
+	{"net/bluetooth/hci.h",	"HCISETACLMTU",	0x48e3},
+	{"net/bluetooth/hci.h",	"HCISETSCOMTU",	0x48e4},
+	{"net/bluetooth/hci.h",	"HCISETSECMGR",	0x48e6},
+	{"net/bluetooth/hci.h",	"HCIINQUIRY",	0x48f0},
+	{"linux/isdn.h",	"IIOCNETAIF",	0x4901},
+	{"linux/isdn.h",	"IIOCNETDIF",	0x4902},
+	{"linux/isdn.h",	"IIOCNETSCF",	0x4903},
+	{"linux/isdn.h",	"IIOCNETGCF",	0x4904},
+	{"linux/isdn.h",	"IIOCNETANM",	0x4905},
+	{"linux/isdn.h",	"IIOCNETDNM",	0x4906},
+	{"linux/isdn.h",	"IIOCNETGNM",	0x4907},
+	{"linux/isdn.h",	"IIOCGETSET",	0x4908},
+	{"linux/isdn.h",	"IIOCSETSET",	0x4909},
+	{"linux/isdn.h",	"IIOCSETVER",	0x490a},
+	{"linux/isdn.h",	"IIOCNETHUP",	0x490b},
+	{"linux/isdn.h",	"IIOCSETGST",	0x490c},
+	{"linux/isdn.h",	"IIOCSETBRJ",	0x490d},
+	{"linux/isdn.h",	"IIOCSIGPRF",	0x490e},
+	{"linux/isdn.h",	"IIOCGETPRF",	0x490f},
+	{"linux/isdn.h",	"IIOCSETPRF",	0x4910},
+	{"linux/isdn.h",	"IIOCGETMAP",	0x4911},
+	{"linux/isdn.h",	"IIOCSETMAP",	0x4912},
+	{"linux/isdn.h",	"IIOCNETASL",	0x4913},
+	{"linux/isdn.h",	"IIOCNETDIL",	0x4914},
+	{"linux/isdn.h",	"IIOCGETCPS",	0x4915},
+	{"linux/isdn.h",	"IIOCGETDVR",	0x4916},
+	{"linux/isdn.h",	"IIOCNETLCR",	0x4917},
+	{"linux/isdn.h",	"IIOCNETDWRSET",	0x4918},
+	{"linux/isdn.h",	"IIOCNETALN",	0x4920},
+	{"linux/isdn.h",	"IIOCNETDLN",	0x4921},
+	{"linux/isdn.h",	"IIOCNETGPN",	0x4922},
+	{"linux/mISDNif.h",	"IMADDTIMER",	0x4940},
+	{"linux/mISDNif.h",	"IMDELTIMER",	0x4941},
+	{"linux/mISDNif.h",	"IMGETVERSION",	0x4942},
+	{"linux/mISDNif.h",	"IMGETCOUNT",	0x4943},
+	{"linux/mISDNif.h",	"IMGETDEVINFO",	0x4944},
+	{"linux/mISDNif.h",	"IMCTRLREQ",	0x4945},
+	{"linux/mISDNif.h",	"IMCLEAR_L2",	0x4946},
+	{"linux/mISDNif.h",	"IMSETDEVNAME",	0x4947},
+	{"linux/mISDNif.h",	"IMHOLD_L1",	0x4948},
+	{"linux/isdn.h",	"IIOCDBGVAR",	0x497f},
+	{"linux/isdn.h",	"IIOCDRVCTL",	0x4980},
+	{"linux/kd.h",	"KIOCSOUND",	0x4b2f},
+	{"linux/kd.h",	"KDMKTONE",	0x4b30},
+	{"linux/kd.h",	"KDGETLED",	0x4b31},
+	{"linux/kd.h",	"KDSETLED",	0x4b32},
+	{"linux/kd.h",	"KDGKBTYPE",	0x4b33},
+	{"linux/kd.h",	"KDADDIO",	0x4b34},
+	{"linux/kd.h",	"KDDELIO",	0x4b35},
+	{"linux/kd.h",	"KDENABIO",	0x4b36},
+	{"linux/kd.h",	"KDDISABIO",	0x4b37},
+	{"linux/kd.h",	"KDSETMODE",	0x4b3a},
+	{"linux/kd.h",	"KDGETMODE",	0x4b3b},
+	{"linux/kd.h",	"KDMAPDISP",	0x4b3c},
+	{"linux/kd.h",	"KDUNMAPDISP",	0x4b3d},
+	{"linux/kd.h",	"GIO_SCRNMAP",	0x4b40},
+	{"linux/kd.h",	"PIO_SCRNMAP",	0x4b41},
+	{"linux/kd.h",	"KDGKBMODE",	0x4b44},
+	{"linux/kd.h",	"KDSKBMODE",	0x4b45},
+	{"linux/kd.h",	"KDGKBENT",	0x4b46},
+	{"linux/kd.h",	"KDSKBENT",	0x4b47},
+	{"linux/kd.h",	"KDGKBSENT",	0x4b48},
+	{"linux/kd.h",	"KDSKBSENT",	0x4b49},
+	{"linux/kd.h",	"KDGKBDIACR",	0x4b4a},
+	{"linux/kd.h",	"KDSKBDIACR",	0x4b4b},
+	{"linux/kd.h",	"KDGETKEYCODE",	0x4b4c},
+	{"linux/kd.h",	"KDSETKEYCODE",	0x4b4d},
+	{"linux/kd.h",	"KDSIGACCEPT",	0x4b4e},
+	{"linux/kd.h",	"KDKBDREP",	0x4b52},
+	{"linux/kd.h",	"GIO_FONT",	0x4b60},
+	{"linux/kd.h",	"PIO_FONT",	0x4b61},
+	{"linux/kd.h",	"KDGKBMETA",	0x4b62},
+	{"linux/kd.h",	"KDSKBMETA",	0x4b63},
+	{"linux/kd.h",	"KDGKBLED",	0x4b64},
+	{"linux/kd.h",	"KDSKBLED",	0x4b65},
+	{"linux/kd.h",	"GIO_UNIMAP",	0x4b66},
+	{"linux/kd.h",	"PIO_UNIMAP",	0x4b67},
+	{"linux/kd.h",	"PIO_UNIMAPCLR",	0x4b68},
+	{"linux/kd.h",	"GIO_UNISCRNMAP",	0x4b69},
+	{"linux/kd.h",	"PIO_UNISCRNMAP",	0x4b6a},
+	{"linux/kd.h",	"GIO_FONTX",	0x4b6b},
+	{"linux/kd.h",	"PIO_FONTX",	0x4b6c},
+	{"linux/kd.h",	"PIO_FONTRESET",	0x4b6d},
+	{"linux/kd.h",	"GIO_CMAP",	0x4b70},
+	{"linux/kd.h",	"PIO_CMAP",	0x4b71},
+	{"linux/kd.h",	"KDFONTOP",	0x4b72},
+	{"linux/kd.h",	"KDGKBDIACRUC",	0x4bfa},
+	{"linux/kd.h",	"KDSKBDIACRUC",	0x4bfb},
+	{"linux/usb/vstusb.h",	"IOCTL_VSTUSB_SEND_PIPE",	0x4c20},
+	{"linux/usb/vstusb.h",	"IOCTL_VSTUSB_RECV_PIPE",	0x4c21},
+	{"linux/usb/vstusb.h",	"IOCTL_VSTUSB_CONFIG_RW",	0x4c22},
+	{"mtd/mtd-abi.h",	"MEMGETINFO",	0x4d01},
+	{"mtd/mtd-abi.h",	"MEMERASE",	0x4d02},
+	{"mtd/mtd-abi.h",	"MEMWRITEOOB",	0x4d03},
+	{"mtd/mtd-abi.h",	"MEMREADOOB",	0x4d04},
+	{"mtd/mtd-abi.h",	"MEMLOCK",	0x4d05},
+	{"mtd/mtd-abi.h",	"MEMUNLOCK",	0x4d06},
+	{"mtd/mtd-abi.h",	"MEMGETREGIONCOUNT",	0x4d07},
+	{"mtd/mtd-abi.h",	"MEMGETREGIONINFO",	0x4d08},
+	{"mtd/mtd-abi.h",	"MEMSETOOBSEL",	0x4d09},
+	{"mtd/mtd-abi.h",	"MEMGETOOBSEL",	0x4d0a},
+	{"mtd/mtd-abi.h",	"MEMGETBADBLOCK",	0x4d0b},
+	{"mtd/mtd-abi.h",	"MEMSETBADBLOCK",	0x4d0c},
+	{"mtd/mtd-abi.h",	"OTPSELECT",	0x4d0d},
+	{"mtd/mtd-abi.h",	"OTPGETREGIONCOUNT",	0x4d0e},
+	{"mtd/mtd-abi.h",	"OTPGETREGIONINFO",	0x4d0f},
+	{"mtd/mtd-abi.h",	"OTPLOCK",	0x4d10},
+	{"mtd/mtd-abi.h",	"ECCGETLAYOUT",	0x4d11},
+	{"mtd/mtd-abi.h",	"ECCGETSTATS",	0x4d12},
+	{"mtd/mtd-abi.h",	"MTDFILEMODE",	0x4d13},
+	{"mtd/mtd-abi.h",	"MEMERASE64",	0x4d14},
+	{"mtd/mtd-abi.h",	"MEMWRITEOOB64",	0x4d15},
+	{"mtd/mtd-abi.h",	"MEMREADOOB64",	0x4d16},
+	{"linux/soundcard.h",	"SOUND_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_OLD_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_MIXER_ACCESS",	0x4d66},
+	{"linux/soundcard.h",	"SOUND_MIXER_AGC",	0x4d67},
+	{"linux/soundcard.h",	"SOUND_MIXER_3DSE",	0x4d68},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE1",	0x4d6f},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE2",	0x4d70},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE3",	0x4d71},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE4",	0x4d72},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE5",	0x4d73},
+	{"linux/soundcard.h",	"SOUND_MIXER_GETLEVELS",	0x4d74},
+	{"linux/soundcard.h",	"SOUND_MIXER_SETLEVELS",	0x4d75},
+	{"linux/soundcard.h",	"OSS_GETVERSION",	0x4d76},
+	{"linux/ticable.h",	"IOCTL_TIUSB_TIMEOUT",	0x4e20},
+	{"linux/ticable.h",	"IOCTL_TIUSB_RESET_DEVICE",	0x4e21},
+	{"linux/ticable.h",	"IOCTL_TIUSB_RESET_PIPES",	0x4e22},
+	{"linux/ticable.h",	"IOCTL_TIUSB_GET_MAXPS",	0x4e23},
+	{"linux/ticable.h",	"IOCTL_TIUSB_GET_DEVID",	0x4e24},
+	{"mtd/ubi-user.h",	"UBI_IOCVOLUP",	0x4f00},
+	{"mtd/ubi-user.h",	"UBI_IOCEBER",	0x4f01},
+	{"mtd/ubi-user.h",	"UBI_IOCEBCH",	0x4f02},
+	{"mtd/ubi-user.h",	"UBI_IOCEBMAP",	0x4f03},
+	{"mtd/ubi-user.h",	"UBI_IOCEBUNMAP",	0x4f04},
+	{"mtd/ubi-user.h",	"UBI_IOCEBISMAP",	0x4f05},
+	{"mtd/ubi-user.h",	"UBI_IOCSETPROP",	0x4f06},
+	{"linux/soundcard.h",	"SNDCTL_DSP_RESET",	0x5000},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SYNC",	0x5001},
+	{"asm/bfin_sport.h",	"SPORT_IOC_CONFIG",	0x5001},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SPEED",	0x5002},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_RATE",	0x5002},
+	{"linux/soundcard.h",	"SNDCTL_DSP_STEREO",	0x5003},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETBLKSIZE",	0x5004},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFMT",	0x5005},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_BITS",	0x5005},
+	{"linux/soundcard.h",	"SNDCTL_DSP_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SOUND_PCM_WRITE_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SNDCTL_DSP_POST",	0x5008},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SUBDIVIDE",	0x5009},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFRAGMENT",	0x500a},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETFMTS",	0x500b},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOSPACE",	0x500c},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETISPACE",	0x500d},
+	{"linux/soundcard.h",	"SNDCTL_DSP_NONBLOCK",	0x500e},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCAPS",	0x500f},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETIPTR",	0x5011},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOPTR",	0x5012},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPINBUF",	0x5013},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPOUTBUF",	0x5014},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSYNCRO",	0x5015},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETDUPLEX",	0x5016},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETODELAY",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_PROFILE",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCHANNELMASK",	0x5040},
+	{"linux/soundcard.h",	"SNDCTL_DSP_BIND_CHANNEL",	0x5041},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSPDIF",	0x5042},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETSPDIF",	0x5043},
+	{"sound/sscape_ioctl.h",	"SND_SSCAPE_LOAD_BOOTB",	0x5064},
+	{"sound/sscape_ioctl.h",	"SND_SSCAPE_LOAD_MCODE",	0x5065},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESET",	0x5100},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_SYNC",	0x5101},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_INFO",	0x5102},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_CTRLRATE",	0x5103},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETOUTCOUNT",	0x5104},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETINCOUNT",	0x5105},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PERCMODE",	0x5106},
+	{"linux/soundcard.h",	"SNDCTL_FM_LOAD_INSTR",	0x5107},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_TESTMIDI",	0x5108},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESETSAMPLES",	0x5109},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRSYNTHS",	0x510a},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRMIDIS",	0x510b},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_INFO",	0x510c},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_THRESHOLD",	0x510d},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_MEMAVL",	0x510e},
+	{"linux/soundcard.h",	"SNDCTL_FM_4OP_ENABLE",	0x510f},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PANIC",	0x5111},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_OUTOFBAND",	0x5112},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETTIME",	0x5113},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_ID",	0x5114},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_CONTROL",	0x5115},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_REMOVESAMPLE",	0x5116},
+	{"linux/random.h",	"RNDGETENTCNT",	0x5200},
+	{"linux/rfkill.h",	"RFKILL_IOCTL_NOINPUT",	0x5201},
+	{"media/rds.h",	"RDS_CMD_OPEN",	0x5201},
+	{"linux/random.h",	"RNDADDTOENTCNT",	0x5201},
+	{"media/rds.h",	"RDS_CMD_CLOSE",	0x5202},
+	{"linux/random.h",	"RNDGETPOOL",	0x5202},
+	{"media/rds.h",	"RDS_CMD_READ",	0x5203},
+	{"linux/random.h",	"RNDADDENTROPY",	0x5203},
+	{"media/rds.h",	"RDS_CMD_POLL",	0x5204},
+	{"linux/random.h",	"RNDZAPENTCNT",	0x5204},
+	{"linux/random.h",	"RNDCLEARPOOL",	0x5206},
+	{"net/bluetooth/rfcomm.h",	"RFCOMMCREATEDEV",	0x52c8},
+	{"net/bluetooth/rfcomm.h",	"RFCOMMRELEASEDEV",	0x52c9},
+	{"net/bluetooth/rfcomm.h",	"RFCOMMGETDEVLIST",	0x52d2},
+	{"net/bluetooth/rfcomm.h",	"RFCOMMGETDEVINFO",	0x52d3},
+	{"net/bluetooth/rfcomm.h",	"RFCOMMSTEALDLC",	0x52dc},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_PVERSION",	0x5300},
+	{"linux/cdrom.h",	"CDROMPAUSE",	0x5301},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_CLIENT_ID",	0x5301},
+	{"linux/cdrom.h",	"CDROMRESUME",	0x5302},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_SYSTEM_INFO",	0x5302},
+	{"linux/cdrom.h",	"CDROMPLAYMSF",	0x5303},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_RUNNING_MODE",	0x5303},
+	{"linux/cdrom.h",	"CDROMPLAYTRKIND",	0x5304},
+	{"linux/cdrom.h",	"CDROMREADTOCHDR",	0x5305},
+	{"linux/cdrom.h",	"CDROMREADTOCENTRY",	0x5306},
+	{"linux/cdrom.h",	"CDROMSTOP",	0x5307},
+	{"linux/cdrom.h",	"CDROMSTART",	0x5308},
+	{"linux/cdrom.h",	"CDROMEJECT",	0x5309},
+	{"linux/cdrom.h",	"CDROMVOLCTRL",	0x530a},
+	{"linux/cdrom.h",	"CDROMSUBCHNL",	0x530b},
+	{"linux/cdrom.h",	"CDROMREADMODE2",	0x530c},
+	{"linux/cdrom.h",	"CDROMREADMODE1",	0x530d},
+	{"linux/cdrom.h",	"CDROMREADAUDIO",	0x530e},
+	{"linux/cdrom.h",	"CDROMEJECT_SW",	0x530f},
+	{"linux/cdrom.h",	"CDROMMULTISESSION",	0x5310},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_GET_CLIENT_INFO",	0x5310},
+	{"linux/cdrom.h",	"CDROM_GET_MCN",	0x5311},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_SET_CLIENT_INFO",	0x5311},
+	{"linux/cdrom.h",	"CDROMRESET",	0x5312},
+	{"linux/cdrom.h",	"CDROMVOLREAD",	0x5313},
+	{"linux/cdrom.h",	"CDROMREADRAW",	0x5314},
+	{"linux/cdrom.h",	"CDROMREADCOOKED",	0x5315},
+	{"linux/cdrom.h",	"CDROMSEEK",	0x5316},
+	{"linux/cdrom.h",	"CDROMPLAYBLK",	0x5317},
+	{"linux/cdrom.h",	"CDROMREADALL",	0x5318},
+	{"linux/cdrom.h",	"CDROMCLOSETRAY",	0x5319},
+	{"linux/cdrom.h",	"CDROMGETSPINDOWN",	0x531d},
+	{"linux/cdrom.h",	"CDROMSETSPINDOWN",	0x531e},
+	{"linux/cdrom.h",	"CDROM_SET_OPTIONS",	0x5320},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_CREATE_PORT",	0x5320},
+	{"linux/cdrom.h",	"CDROM_CLEAR_OPTIONS",	0x5321},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_DELETE_PORT",	0x5321},
+	{"linux/cdrom.h",	"CDROM_SELECT_SPEED",	0x5322},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_GET_PORT_INFO",	0x5322},
+	{"linux/cdrom.h",	"CDROM_SELECT_DISC",	0x5323},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_SET_PORT_INFO",	0x5323},
+	{"linux/cdrom.h",	"CDROM_MEDIA_CHANGED",	0x5325},
+	{"linux/cdrom.h",	"CDROM_DRIVE_STATUS",	0x5326},
+	{"linux/cdrom.h",	"CDROM_DISC_STATUS",	0x5327},
+	{"linux/cdrom.h",	"CDROM_CHANGER_NSLOTS",	0x5328},
+	{"linux/cdrom.h",	"CDROM_LOCKDOOR",	0x5329},
+	{"linux/cdrom.h",	"CDROM_DEBUG",	0x5330},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_SUBSCRIBE_PORT",	0x5330},
+	{"linux/cdrom.h",	"CDROM_GET_CAPABILITY",	0x5331},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_UNSUBSCRIBE_PORT",	0x5331},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_CREATE_QUEUE",	0x5332},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_DELETE_QUEUE",	0x5333},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_GET_QUEUE_INFO",	0x5334},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_SET_QUEUE_INFO",	0x5335},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_GET_NAMED_QUEUE",	0x5336},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS",	0x5340},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_GET_QUEUE_TEMPO",	0x5341},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO",	0x5342},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_GET_QUEUE_OWNER",	0x5343},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_SET_QUEUE_OWNER",	0x5344},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_GET_QUEUE_TIMER",	0x5345},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_SET_QUEUE_TIMER",	0x5346},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_GET_QUEUE_CLIENT",	0x5349},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_SET_QUEUE_CLIENT",	0x534a},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_GET_CLIENT_POOL",	0x534b},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_SET_CLIENT_POOL",	0x534c},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_REMOVE_EVENTS",	0x534e},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_QUERY_SUBS",	0x534f},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_GET_SUBSCRIPTION",	0x5350},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT",	0x5351},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT",	0x5352},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_GET_QUEUE_SYNC",	0x5353},
+	{"sound/asequencer.h",	"SNDRV_SEQ_IOCTL_SET_QUEUE_SYNC",	0x5354},
+	{"scsi/scsi_ioctl.h",	"SCSI_IOCTL_DOORLOCK",	0x5380},
+	{"scsi/scsi_ioctl.h",	"SCSI_IOCTL_DOORUNLOCK",	0x5381},
+	{"linux/cdrom.h",	"CDROMAUDIOBUFSIZ",	0x5382},
+	{"scsi/scsi.h",	"SCSI_IOCTL_GET_IDLUN",	0x5382},
+	{"scsi/scsi.h",	"SCSI_IOCTL_PROBE_HOST",	0x5385},
+	{"scsi/scsi.h",	"SCSI_IOCTL_GET_BUS_NUMBER",	0x5386},
+	{"scsi/scsi.h",	"SCSI_IOCTL_GET_PCI",	0x5387},
+	{"linux/cdrom.h",	"DVD_READ_STRUCT",	0x5390},
+	{"linux/cdrom.h",	"DVD_WRITE_STRUCT",	0x5391},
+	{"linux/cdrom.h",	"DVD_AUTH",	0x5392},
+	{"linux/cdrom.h",	"CDROM_SEND_PACKET",	0x5393},
+	{"linux/cdrom.h",	"CDROM_NEXT_WRITABLE",	0x5394},
+	{"linux/cdrom.h",	"CDROM_LAST_WRITTEN",	0x5395},
+	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_PVERSION",	0x5400},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TIMEBASE",	0x5401},
+	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_NEXT_DEVICE",	0x5401},
+	{"asm/ioctls.h",	"TCGETS",	0x5401},
+	{"linux/soundcard.h",	"SNDCTL_TMR_START",	0x5402},
+	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_TREAD",	0x5402},
+	{"asm/ioctls.h",	"TCSETS",	0x5402},
+	{"linux/soundcard.h",	"SNDCTL_TMR_STOP",	0x5403},
+	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_GINFO",	0x5403},
+	{"asm/ioctls.h",	"TCSETSW",	0x5403},
+	{"linux/soundcard.h",	"SNDCTL_TMR_CONTINUE",	0x5404},
+	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_GPARAMS",	0x5404},
+	{"asm/ioctls.h",	"TCSETSF",	0x5404},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TEMPO",	0x5405},
+	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_GSTATUS",	0x5405},
+	{"asm/ioctls.h",	"TCGETA",	0x5405},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SOURCE",	0x5406},
+	{"asm/ioctls.h",	"TCSETA",	0x5406},
+	{"linux/soundcard.h",	"SNDCTL_TMR_METRONOME",	0x5407},
+	{"asm/ioctls.h",	"TCSETAW",	0x5407},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SELECT",	0x5408},
+	{"asm/ioctls.h",	"TCSETAF",	0x5408},
+	{"asm/ioctls.h",	"TCSBRK",	0x5409},
+	{"asm/ioctls.h",	"TCXONC",	0x540a},
+	{"asm/ioctls.h",	"TCFLSH",	0x540b},
+	{"asm/ioctls.h",	"TIOCEXCL",	0x540c},
+	{"asm/ioctls.h",	"TIOCNXCL",	0x540d},
+	{"asm/ioctls.h",	"TIOCSCTTY",	0x540e},
+	{"asm/ioctls.h",	"TIOCGPGRP",	0x540f},
+	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_SELECT",	0x5410},
+	{"asm/ioctls.h",	"TIOCSPGRP",	0x5410},
+	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_INFO",	0x5411},
+	{"asm/ioctls.h",	"TIOCOUTQ",	0x5411},
+	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_PARAMS",	0x5412},
+	{"asm/ioctls.h",	"TIOCSTI",	0x5412},
+	{"asm/ioctls.h",	"TIOCGWINSZ",	0x5413},
+	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_STATUS",	0x5414},
+	{"asm/ioctls.h",	"TIOCSWINSZ",	0x5414},
+	{"asm/ioctls.h",	"TIOCMGET",	0x5415},
+	{"asm/ioctls.h",	"TIOCMBIS",	0x5416},
+	{"asm/ioctls.h",	"TIOCMBIC",	0x5417},
+	{"asm/ioctls.h",	"TIOCMSET",	0x5418},
+	{"asm/ioctls.h",	"TIOCGSOFTCAR",	0x5419},
+	{"asm/ioctls.h",	"TIOCSSOFTCAR",	0x541a},
+	{"asm/ioctls.h",	"FIONREAD",	0x541b},
+	{"asm/ioctls.h",	"TIOCLINUX",	0x541c},
+	{"asm/ioctls.h",	"TIOCCONS",	0x541d},
+	{"asm/ioctls.h",	"TIOCGSERIAL",	0x541e},
+	{"asm/ioctls.h",	"TIOCSSERIAL",	0x541f},
+	{"asm/ioctls.h",	"TIOCPKT",	0x5420},
+	{"asm/ioctls.h",	"FIONBIO",	0x5421},
+	{"asm/ioctls.h",	"TIOCNOTTY",	0x5422},
+	{"asm/ioctls.h",	"TIOCSETD",	0x5423},
+	{"asm/ioctls.h",	"TIOCGETD",	0x5424},
+	{"asm/ioctls.h",	"TCSBRKP",	0x5425},
+	{"asm/ioctls.h",	"TIOCTTYGSTRUCT",	0x5426},
+	{"asm/ioctls.h",	"TIOCSBRK",	0x5427},
+	{"asm/ioctls.h",	"TIOCCBRK",	0x5428},
+	{"asm/ioctls.h",	"TIOCGSID",	0x5429},
+	{"asm/ioctls.h",	"TCGETS2",	0x542a},
+	{"asm/ioctls.h",	"TCSETS2",	0x542b},
+	{"asm/ioctls.h",	"TCSETSW2",	0x542c},
+	{"asm/ioctls.h",	"TCSETSF2",	0x542d},
+	{"asm/ioctls.h",	"TIOCGPTN",	0x5430},
+	{"asm/ioctls.h",	"TIOCSPTLCK",	0x5431},
+	{"asm/ioctls.h",	"FIONCLEX",	0x5450},
+	{"asm/ioctls.h",	"FIOCLEX",	0x5451},
+	{"asm/ioctls.h",	"FIOASYNC",	0x5452},
+	{"asm/ioctls.h",	"TIOCSERCONFIG",	0x5453},
+	{"asm/ioctls.h",	"TIOCSERGWILD",	0x5454},
+	{"asm/ioctls.h",	"TIOCSERSWILD",	0x5455},
+	{"asm/ioctls.h",	"TIOCGLCKTRMIOS",	0x5456},
+	{"asm/ioctls.h",	"TIOCSLCKTRMIOS",	0x5457},
+	{"asm/ioctls.h",	"TIOCSERGSTRUCT",	0x5458},
+	{"asm/ioctls.h",	"TIOCSERGETLSR",	0x5459},
+	{"asm/ioctls.h",	"TIOCSERGETMULTI",	0x545a},
+	{"asm/ioctls.h",	"TIOCSERSETMULTI",	0x545b},
+	{"asm/ioctls.h",	"TIOCMIWAIT",	0x545c},
+	{"asm/ioctls.h",	"TIOCGICOUNT",	0x545d},
+	{"asm-generic/ioctls.h",	"TCGETS2",	0x542a},
+	{"asm-generic/ioctls.h",	"TCSETS2",	0x542b},
+	{"asm-generic/ioctls.h",	"TCSETSW2",	0x542c},
+	{"asm-generic/ioctls.h",	"TCSETSF2",	0x542d},
+	{"asm-generic/ioctls.h",	"TIOCGPTN",	0x5430},
+	{"asm-generic/ioctls.h",	"TIOCSPTLCK",	0x5431},
+	{"asm/ioctls.h",	"FIOQSIZE",	0x545e},
+	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_START",	0x54a0},
+	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_STOP",	0x54a1},
+	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_CONTINUE",	0x54a2},
+	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_PAUSE",	0x54a3},
+	{"linux/if_tun.h",	"TUNSETNOCSUM",	0x54c8},
+	{"linux/if_tun.h",	"TUNSETDEBUG",	0x54c9},
+	{"linux/if_tun.h",	"TUNSETIFF",	0x54ca},
+	{"linux/if_tun.h",	"TUNSETPERSIST",	0x54cb},
+	{"linux/if_tun.h",	"TUNSETOWNER",	0x54cc},
+	{"linux/if_tun.h",	"TUNSETLINK",	0x54cd},
+	{"linux/if_tun.h",	"TUNSETGROUP",	0x54ce},
+	{"linux/if_tun.h",	"TUNGETFEATURES",	0x54cf},
+	{"linux/if_tun.h",	"TUNSETOFFLOAD",	0x54d0},
+	{"linux/if_tun.h",	"TUNSETTXFILTER",	0x54d1},
+	{"linux/if_tun.h",	"TUNGETIFF",	0x54d2},
+	{"linux/if_tun.h",	"TUNGETSNDBUF",	0x54d3},
+	{"linux/if_tun.h",	"TUNSETSNDBUF",	0x54d4},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_PVERSION",	0x5500},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONTROL",	0x5500},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_CARD_INFO",	0x5501},
+	{"linux/uinput.h",	"UI_DEV_CREATE",	0x5501},
+	{"linux/uinput.h",	"UI_DEV_DESTROY",	0x5502},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_BULK",	0x5502},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESETEP",	0x5503},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETINTERFACE",	0x5504},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETCONFIGURATION",	0x5505},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_GETDRIVER",	0x5508},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SUBMITURB",	0x550a},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SUBMITURB32",	0x550a},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCARDURB",	0x550b},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURB",	0x550c},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURB32",	0x550c},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURBNDELAY",	0x550d},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURBNDELAY32",	0x550d},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCSIGNAL",	0x550e},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLAIMINTERFACE",	0x550f},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_ELEM_LIST",	0x5510},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RELEASEINTERFACE",	0x5510},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_ELEM_INFO",	0x5511},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONNECTINFO",	0x5511},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_ELEM_READ",	0x5512},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_IOCTL",	0x5512},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_IOCTL32",	0x5512},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_ELEM_WRITE",	0x5513},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_HUB_PORTINFO",	0x5513},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_ELEM_LOCK",	0x5514},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESET",	0x5514},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_ELEM_UNLOCK",	0x5515},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLEAR_HALT",	0x5515},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS",	0x5516},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCONNECT",	0x5516},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_ELEM_ADD",	0x5517},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONNECT",	0x5517},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_ELEM_REPLACE",	0x5518},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_ELEM_REMOVE",	0x5519},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_TLV_READ",	0x551a},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_TLV_WRITE",	0x551b},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_TLV_COMMAND",	0x551c},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE",	0x5520},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_HWDEP_INFO",	0x5521},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE",	0x5530},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_PCM_INFO",	0x5531},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE",	0x5532},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE",	0x5540},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_RAWMIDI_INFO",	0x5541},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE",	0x5542},
+	{"linux/uinput.h",	"UI_SET_EVBIT",	0x5564},
+	{"linux/uinput.h",	"UI_SET_KEYBIT",	0x5565},
+	{"linux/uinput.h",	"UI_SET_RELBIT",	0x5566},
+	{"linux/uinput.h",	"UI_SET_ABSBIT",	0x5567},
+	{"linux/uinput.h",	"UI_SET_MSCBIT",	0x5568},
+	{"linux/uinput.h",	"UI_SET_LEDBIT",	0x5569},
+	{"linux/uinput.h",	"UI_SET_SNDBIT",	0x556a},
+	{"linux/uinput.h",	"UI_SET_FFBIT",	0x556b},
+	{"linux/uinput.h",	"UI_SET_PHYS",	0x556c},
+	{"linux/uinput.h",	"UI_SET_SWBIT",	0x556d},
+	{"linux/uinput.h",	"UI_BEGIN_FF_UPLOAD",	0x55c8},
+	{"linux/uinput.h",	"UI_END_FF_UPLOAD",	0x55c9},
+	{"linux/uinput.h",	"UI_BEGIN_FF_ERASE",	0x55ca},
+	{"linux/uinput.h",	"UI_END_FF_ERASE",	0x55cb},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_POWER",	0x55d0},
+	{"sound/asound.h",	"SNDRV_CTL_IOCTL_POWER_STATE",	0x55d1},
+	{"linux/videodev2.h",	"VIDIOC_QUERYCAP",	0x5600},
+	{"linux/vt.h",	"VT_OPENQRY",	0x5600},
+	{"linux/videodev2.h",	"VIDIOC_RESERVED",	0x5601},
+	{"linux/vt.h",	"VT_GETMODE",	0x5601},
+	{"linux/videodev2.h",	"VIDIOC_ENUM_FMT",	0x5602},
+	{"linux/vt.h",	"VT_SETMODE",	0x5602},
+	{"linux/vt.h",	"VT_GETSTATE",	0x5603},
+	{"linux/videodev2.h",	"VIDIOC_G_FMT",	0x5604},
+	{"linux/vt.h",	"VT_SENDSIG",	0x5604},
+	{"linux/videodev2.h",	"VIDIOC_S_FMT",	0x5605},
+	{"linux/vt.h",	"VT_RELDISP",	0x5605},
+	{"linux/vt.h",	"VT_ACTIVATE",	0x5606},
+	{"linux/vt.h",	"VT_WAITACTIVE",	0x5607},
+	{"linux/videodev2.h",	"VIDIOC_REQBUFS",	0x5608},
+	{"linux/vt.h",	"VT_DISALLOCATE",	0x5608},
+	{"linux/videodev2.h",	"VIDIOC_QUERYBUF",	0x5609},
+	{"linux/vt.h",	"VT_RESIZE",	0x5609},
+	{"linux/videodev2.h",	"VIDIOC_G_FBUF",	0x560a},
+	{"linux/vt.h",	"VT_RESIZEX",	0x560a},
+	{"linux/videodev2.h",	"VIDIOC_S_FBUF",	0x560b},
+	{"linux/vt.h",	"VT_LOCKSWITCH",	0x560b},
+	{"linux/vt.h",	"VT_UNLOCKSWITCH",	0x560c},
+	{"linux/vt.h",	"VT_GETHIFONTMASK",	0x560d},
+	{"linux/videodev2.h",	"VIDIOC_OVERLAY",	0x560e},
+	{"linux/videodev2.h",	"VIDIOC_OVERLAY_OLD",	0x560e},
+	{"linux/videodev2.h",	"VIDIOC_QBUF",	0x560f},
+	{"linux/videodev2.h",	"VIDIOC_DQBUF",	0x5611},
+	{"linux/videodev2.h",	"VIDIOC_STREAMON",	0x5612},
+	{"linux/videodev2.h",	"VIDIOC_STREAMOFF",	0x5613},
+	{"linux/videodev2.h",	"VIDIOC_G_PARM",	0x5615},
+	{"linux/videodev2.h",	"VIDIOC_S_PARM",	0x5616},
+	{"linux/videodev2.h",	"VIDIOC_S_PARM_OLD",	0x5616},
+	{"linux/videodev2.h",	"VIDIOC_G_STD",	0x5617},
+	{"linux/videodev2.h",	"VIDIOC_S_STD",	0x5618},
+	{"linux/videodev2.h",	"VIDIOC_ENUMSTD",	0x5619},
+	{"linux/videodev2.h",	"VIDIOC_ENUMINPUT",	0x561a},
+	{"linux/videodev2.h",	"VIDIOC_G_CTRL",	0x561b},
+	{"linux/videodev2.h",	"VIDIOC_S_CTRL",	0x561c},
+	{"linux/videodev2.h",	"VIDIOC_S_CTRL_OLD",	0x561c},
+	{"linux/videodev2.h",	"VIDIOC_G_TUNER",	0x561d},
+	{"linux/videodev2.h",	"VIDIOC_S_TUNER",	0x561e},
+	{"linux/videodev2.h",	"VIDIOC_G_AUDIO",	0x5621},
+	{"linux/videodev2.h",	"VIDIOC_G_AUDIO_OLD",	0x5621},
+	{"linux/videodev2.h",	"VIDIOC_S_AUDIO",	0x5622},
+	{"linux/videodev2.h",	"VIDIOC_QUERYCTRL",	0x5624},
+	{"linux/videodev2.h",	"VIDIOC_QUERYMENU",	0x5625},
+	{"linux/videodev2.h",	"VIDIOC_G_INPUT",	0x5626},
+	{"linux/videodev2.h",	"VIDIOC_S_INPUT",	0x5627},
+	{"linux/videodev2.h",	"VIDIOC_G_OUTPUT",	0x562e},
+	{"linux/videodev2.h",	"VIDIOC_S_OUTPUT",	0x562f},
+	{"linux/videodev2.h",	"VIDIOC_ENUMOUTPUT",	0x5630},
+	{"linux/videodev2.h",	"VIDIOC_G_AUDOUT",	0x5631},
+	{"linux/videodev2.h",	"VIDIOC_G_AUDOUT_OLD",	0x5631},
+	{"linux/videodev2.h",	"VIDIOC_S_AUDOUT",	0x5632},
+	{"linux/videodev2.h",	"VIDIOC_G_MODULATOR",	0x5636},
+	{"linux/videodev2.h",	"VIDIOC_S_MODULATOR",	0x5637},
+	{"linux/videodev2.h",	"VIDIOC_G_FREQUENCY",	0x5638},
+	{"linux/videodev2.h",	"VIDIOC_S_FREQUENCY",	0x5639},
+	{"linux/videodev2.h",	"VIDIOC_CROPCAP",	0x563a},
+	{"linux/videodev2.h",	"VIDIOC_CROPCAP_OLD",	0x563a},
+	{"linux/videodev2.h",	"VIDIOC_G_CROP",	0x563b},
+	{"linux/videodev2.h",	"VIDIOC_S_CROP",	0x563c},
+	{"linux/videodev2.h",	"VIDIOC_G_JPEGCOMP",	0x563d},
+	{"linux/videodev2.h",	"VIDIOC_S_JPEGCOMP",	0x563e},
+	{"linux/videodev2.h",	"VIDIOC_QUERYSTD",	0x563f},
+	{"linux/videodev2.h",	"VIDIOC_TRY_FMT",	0x5640},
+	{"linux/videodev2.h",	"VIDIOC_ENUMAUDIO",	0x5641},
+	{"linux/videodev2.h",	"VIDIOC_ENUMAUDOUT",	0x5642},
+	{"linux/videodev2.h",	"VIDIOC_G_PRIORITY",	0x5643},
+	{"linux/videodev2.h",	"VIDIOC_S_PRIORITY",	0x5644},
+	{"linux/videodev2.h",	"VIDIOC_G_SLICED_VBI_CAP",	0x5645},
+	{"linux/videodev2.h",	"VIDIOC_LOG_STATUS",	0x5646},
+	{"linux/videodev2.h",	"VIDIOC_G_EXT_CTRLS",	0x5647},
+	{"linux/videodev2.h",	"VIDIOC_S_EXT_CTRLS",	0x5648},
+	{"linux/videodev2.h",	"VIDIOC_TRY_EXT_CTRLS",	0x5649},
+	{"linux/videodev2.h",	"VIDIOC_ENUM_FRAMESIZES",	0x564a},
+	{"linux/videodev2.h",	"VIDIOC_ENUM_FRAMEINTERVALS",	0x564b},
+	{"linux/videodev2.h",	"VIDIOC_G_ENC_INDEX",	0x564c},
+	{"linux/videodev2.h",	"VIDIOC_ENCODER_CMD",	0x564d},
+	{"linux/videodev2.h",	"VIDIOC_TRY_ENCODER_CMD",	0x564e},
+	{"linux/videodev2.h",	"VIDIOC_DBG_S_REGISTER",	0x564f},
+	{"linux/videodev2.h",	"VIDIOC_DBG_G_REGISTER",	0x5650},
+	{"linux/videodev2.h",	"VIDIOC_DBG_G_CHIP_IDENT",	0x5651},
+	{"linux/videodev2.h",	"VIDIOC_S_HW_FREQ_SEEK",	0x5652},
+	{"linux/ivtvfb.h",	"IVTVFB_IOC_DMA_FRAME",	0x56c0},
+	{"linux/ivtv.h",	"IVTV_IOC_DMA_FRAME",	0x56c0},
+	{"sound/asound.h",	"SNDRV_RAWMIDI_IOCTL_PVERSION",	0x5700},
+	{"linux/watchdog.h",	"WDIOC_GETSUPPORT",	0x5700},
+	{"sound/asound.h",	"SNDRV_RAWMIDI_IOCTL_INFO",	0x5701},
+	{"linux/watchdog.h",	"WDIOC_GETSTATUS",	0x5701},
+	{"linux/watchdog.h",	"WDIOC_GETBOOTSTATUS",	0x5702},
+	{"linux/watchdog.h",	"WDIOC_GETTEMP",	0x5703},
+	{"linux/watchdog.h",	"WDIOC_SETOPTIONS",	0x5704},
+	{"linux/watchdog.h",	"WDIOC_KEEPALIVE",	0x5705},
+	{"linux/watchdog.h",	"WDIOC_SETTIMEOUT",	0x5706},
+	{"linux/watchdog.h",	"WDIOC_GETTIMEOUT",	0x5707},
+	{"linux/watchdog.h",	"WDIOC_SETPRETIMEOUT",	0x5708},
+	{"linux/watchdog.h",	"WDIOC_GETPRETIMEOUT",	0x5709},
+	{"linux/watchdog.h",	"WDIOC_GETTIMELEFT",	0x570a},
+	{"sound/asound.h",	"SNDRV_RAWMIDI_IOCTL_PARAMS",	0x5710},
+	{"sound/asound.h",	"SNDRV_RAWMIDI_IOCTL_STATUS",	0x5720},
+	{"sound/asound.h",	"SNDRV_RAWMIDI_IOCTL_DROP",	0x5730},
+	{"sound/asound.h",	"SNDRV_RAWMIDI_IOCTL_DRAIN",	0x5731},
+	{"linux/pktcdvd.h",	"PACKET_CTRL_CMD",	0x5801},
+	{"linux/falloc.h",	"FS_IOC_RESVSP",	0x5828},
+	{"linux/falloc.h",	"FS_IOC_RESVSP64",	0x582a},
+	{"linux/fs.h",	"FIFREEZE",	0x5877},
+	{"linux/fs.h",	"FITHAW",	0x5878},
+	{"linux/usb/tmc.h",	"USBTMC_IOCTL_INDICATOR_PULSE",	0x5b01},
+	{"linux/usb/tmc.h",	"USBTMC_IOCTL_CLEAR",	0x5b02},
+	{"linux/usb/tmc.h",	"USBTMC_IOCTL_ABORT_BULK_OUT",	0x5b03},
+	{"linux/usb/tmc.h",	"USBTMC_IOCTL_ABORT_BULK_IN",	0x5b04},
+	{"linux/usb/tmc.h",	"USBTMC_IOCTL_CLEAR_OUT_HALT",	0x5b06},
+	{"linux/usb/tmc.h",	"USBTMC_IOCTL_CLEAR_IN_HALT",	0x5b07},
+	{"linux/sonet.h",	"SONET_GETSTAT",	0x6110},
+	{"linux/sonet.h",	"SONET_GETSTATZ",	0x6111},
+	{"linux/sonet.h",	"SONET_SETDIAG",	0x6112},
+	{"linux/sonet.h",	"SONET_CLRDIAG",	0x6113},
+	{"linux/sonet.h",	"SONET_GETDIAG",	0x6114},
+	{"linux/sonet.h",	"SONET_SETFRAMING",	0x6115},
+	{"linux/sonet.h",	"SONET_GETFRAMING",	0x6116},
+	{"linux/sonet.h",	"SONET_GETFRSENSE",	0x6117},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTAT",	0x6132},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTATZ",	0x6133},
+	{"linux/atmdev.h",	"ATM_GETSTAT",	0x6150},
+	{"linux/atmdev.h",	"ATM_GETSTATZ",	0x6151},
+	{"linux/atmdev.h",	"ATM_GETLOOP",	0x6152},
+	{"linux/atmdev.h",	"ATM_SETLOOP",	0x6153},
+	{"linux/atmdev.h",	"ATM_QUERYLOOP",	0x6154},
+	{"linux/atm_eni.h",	"ENI_MEMDUMP",	0x6160},
+	{"linux/atm_he.h",	"HE_GET_REG",	0x6160},
+	{"linux/atm_nicstar.h",	"NS_GETPSTAT",	0x6161},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOL",	0x6161},
+	{"linux/atm_nicstar.h",	"NS_SETBUFLEV",	0x6162},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOLZ",	0x6162},
+	{"linux/atm_nicstar.h",	"NS_ADJBUFLEV",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_SETPOOL",	0x6163},
+	{"linux/atm_eni.h",	"ENI_SETMULT",	0x6167},
+	{"linux/atm_tcp.h",	"SIOCSIFATMTCP",	0x6180},
+	{"linux/atmdev.h",	"ATM_GETLINKRATE",	0x6181},
+	{"linux/atmdev.h",	"ATM_GETNAMES",	0x6183},
+	{"linux/atmdev.h",	"ATM_GETTYPE",	0x6184},
+	{"linux/atmdev.h",	"ATM_GETESI",	0x6185},
+	{"linux/atmdev.h",	"ATM_GETADDR",	0x6186},
+	{"linux/atmdev.h",	"ATM_RSTADDR",	0x6187},
+	{"linux/atmdev.h",	"ATM_ADDADDR",	0x6188},
+	{"linux/atmdev.h",	"ATM_DELADDR",	0x6189},
+	{"linux/atmdev.h",	"ATM_GETCIRANGE",	0x618a},
+	{"linux/atmdev.h",	"ATM_SETCIRANGE",	0x618b},
+	{"linux/atmdev.h",	"ATM_SETESI",	0x618c},
+	{"linux/atmdev.h",	"ATM_SETESIF",	0x618d},
+	{"linux/atm_tcp.h",	"ATMTCP_CREATE",	0x618e},
+	{"linux/atmdev.h",	"ATM_ADDLECSADDR",	0x618e},
+	{"linux/atm_tcp.h",	"ATMTCP_REMOVE",	0x618f},
+	{"linux/atmdev.h",	"ATM_DELLECSADDR",	0x618f},
+	{"linux/atmdev.h",	"ATM_GETLECSADDR",	0x6190},
+	{"linux/atmbr2684.h",	"BR2684_SETFILT",	0x6190},
+	{"linux/atmlec.h",	"ATMLEC_CTRL",	0x61d0},
+	{"linux/atmlec.h",	"ATMLEC_DATA",	0x61d1},
+	{"linux/atmlec.h",	"ATMLEC_MCAST",	0x61d2},
+	{"linux/atmmpc.h",	"ATMMPC_CTRL",	0x61d8},
+	{"linux/atmmpc.h",	"ATMMPC_DATA",	0x61d9},
+	{"linux/atmclip.h",	"SIOCMKCLIP",	0x61e0},
+	{"linux/atmarp.h",	"ATMARPD_CTRL",	0x61e1},
+	{"linux/atmarp.h",	"ATMARP_MKIP",	0x61e2},
+	{"linux/atmarp.h",	"ATMARP_SETENTRY",	0x61e3},
+	{"linux/atmarp.h",	"ATMARP_ENCAP",	0x61e5},
+	{"linux/atmsvc.h",	"ATMSIGD_CTRL",	0x61f0},
+	{"linux/atmdev.h",	"ATM_SETSC",	0x61f1},
+	{"linux/atmdev.h",	"ATM_SETBACKEND",	0x61f2},
+	{"linux/atmdev.h",	"ATM_NEWBACKENDIF",	0x61f3},
+	{"linux/atmdev.h",	"ATM_ADDPARTY",	0x61f4},
+	{"linux/atmdev.h",	"COMPAT_ATM_ADDPARTY",	0x61f4},
+	{"linux/atmdev.h",	"ATM_DROPPARTY",	0x61f5},
+	{"linux/cm4000_cs.h",	"CM_IOCGSTATUS",	0x6300},
+	{"linux/chio.h",	"CHIOMOVE",	0x6301},
+	{"linux/cm4000_cs.h",	"CM_IOCGATR",	0x6301},
+	{"linux/chio.h",	"CHIOEXCHANGE",	0x6302},
+	{"linux/cm4000_cs.h",	"CM_IOCSPTS",	0x6302},
+	{"linux/chio.h",	"CHIOPOSITION",	0x6303},
+	{"linux/cm4000_cs.h",	"CM_IOCSRDR",	0x6303},
+	{"linux/chio.h",	"CHIOGPICKER",	0x6304},
+	{"linux/cm4000_cs.h",	"CM_IOCARDOFF",	0x6304},
+	{"linux/chio.h",	"CHIOSPICKER",	0x6305},
+	{"linux/chio.h",	"CHIOGPARAMS",	0x6306},
+	{"linux/chio.h",	"CHIOGSTATUS",	0x6308},
+	{"linux/coda.h",	"CIOC_KERNEL_VERSION",	0x630a},
+	{"linux/chio.h",	"CHIOGELEM",	0x6310},
+	{"linux/chio.h",	"CHIOINITELEM",	0x6311},
+	{"linux/chio.h",	"CHIOSVOLTAG",	0x6312},
+	{"linux/chio.h",	"CHIOGVPARAMS",	0x6313},
+	{"linux/comstats.h",	"COM_GETPORTSTATS",	0x631e},
+	{"linux/comstats.h",	"COM_CLRPORTSTATS",	0x631f},
+	{"linux/comstats.h",	"COM_GETBRDSTATS",	0x6320},
+	{"linux/comstats.h",	"COM_READPORT",	0x6328},
+	{"linux/comstats.h",	"COM_READBOARD",	0x6329},
+	{"linux/comstats.h",	"COM_READPANEL",	0x632a},
+	{"linux/cm4000_cs.h",	"CM_IOSDBGLVL",	0x63fa},
+	{"linux/video_decoder.h",	"DECODER_GET_CAPABILITIES",	0x6401},
+	{"linux/video_decoder.h",	"DECODER_GET_STATUS",	0x6402},
+	{"pcmcia/ds.h",	"DS_ADJUST_RESOURCE_INFO",	0x6402},
+	{"linux/video_decoder.h",	"DECODER_SET_NORM",	0x6403},
+	{"pcmcia/ds.h",	"DS_GET_CONFIGURATION_INFO",	0x6403},
+	{"linux/video_decoder.h",	"DECODER_SET_INPUT",	0x6404},
+	{"pcmcia/ds.h",	"DS_GET_FIRST_TUPLE",	0x6404},
+	{"linux/video_decoder.h",	"DECODER_SET_OUTPUT",	0x6405},
+	{"pcmcia/ds.h",	"DS_GET_NEXT_TUPLE",	0x6405},
+	{"linux/video_decoder.h",	"DECODER_ENABLE_OUTPUT",	0x6406},
+	{"pcmcia/ds.h",	"DS_GET_TUPLE_DATA",	0x6406},
+	{"linux/video_decoder.h",	"DECODER_SET_PICTURE",	0x6407},
+	{"pcmcia/ds.h",	"DS_PARSE_TUPLE",	0x6407},
+	{"linux/video_decoder.h",	"DECODER_SET_GPIO",	0x6408},
+	{"pcmcia/ds.h",	"DS_RESET_CARD",	0x6408},
+	{"linux/video_decoder.h",	"DECODER_INIT",	0x6409},
+	{"pcmcia/ds.h",	"DS_GET_STATUS",	0x6409},
+	{"linux/video_decoder.h",	"DECODER_SET_VBI_BYPASS",	0x640a},
+	{"pcmcia/ds.h",	"DS_ACCESS_CONFIGURATION_REGISTER",	0x640a},
+	{"pcmcia/ds.h",	"DS_VALIDATE_CIS",	0x640b},
+	{"pcmcia/ds.h",	"DS_SUSPEND_CARD",	0x640c},
+	{"pcmcia/ds.h",	"DS_RESUME_CARD",	0x640d},
+	{"pcmcia/ds.h",	"DS_EJECT_CARD",	0x640e},
+	{"pcmcia/ds.h",	"DS_INSERT_CARD",	0x640f},
+	{"pcmcia/ds.h",	"DS_GET_FIRST_REGION",	0x6410},
+	{"pcmcia/ds.h",	"DS_GET_NEXT_REGION",	0x6411},
+	{"pcmcia/ds.h",	"DS_REPLACE_CIS",	0x6412},
+	{"pcmcia/ds.h",	"DS_GET_FIRST_WINDOW",	0x6413},
+	{"pcmcia/ds.h",	"DS_GET_NEXT_WINDOW",	0x6414},
+	{"pcmcia/ds.h",	"DS_GET_MEM_PAGE",	0x6415},
+	{"pcmcia/ds.h",	"DS_BIND_REQUEST",	0x643c},
+	{"pcmcia/ds.h",	"DS_GET_DEVICE_INFO",	0x643d},
+	{"pcmcia/ds.h",	"DS_GET_NEXT_DEVICE",	0x643e},
+	{"pcmcia/ds.h",	"DS_UNBIND_REQUEST",	0x643f},
+	{"pcmcia/ds.h",	"DS_BIND_MTD",	0x6440},
+	{"media/v4l2-common.h",	"AUDC_SET_RADIO",	0x6458},
+	{"media/v4l2-common.h",	"TUNER_SET_TYPE_ADDR",	0x645a},
+	{"media/v4l2-common.h",	"TUNER_SET_STANDBY",	0x645b},
+	{"media/v4l2-common.h",	"TUNER_SET_CONFIG",	0x645c},
+	{"media/v4l2-common.h",	"VIDIOC_INT_S_TUNER_MODE",	0x645d},
+	{"media/v4l2-common.h",	"VIDIOC_INT_S_STANDBY",	0x645e},
+	{"media/v4l2-common.h",	"VIDIOC_INT_RESET",	0x6466},
+	{"media/v4l2-common.h",	"VIDIOC_INT_AUDIO_CLOCK_FREQ",	0x6467},
+	{"media/v4l2-common.h",	"VIDIOC_INT_DECODE_VBI_LINE",	0x6468},
+	{"media/v4l2-common.h",	"VIDIOC_INT_S_VBI_DATA",	0x6469},
+	{"media/v4l2-common.h",	"VIDIOC_INT_G_VBI_DATA",	0x646a},
+	{"media/v4l2-common.h",	"VIDIOC_INT_I2S_CLOCK_FREQ",	0x646c},
+	{"media/v4l2-common.h",	"VIDIOC_INT_S_AUDIO_ROUTING",	0x646d},
+	{"media/v4l2-common.h",	"VIDIOC_INT_G_AUDIO_ROUTING",	0x646e},
+	{"media/v4l2-common.h",	"VIDIOC_INT_S_VIDEO_ROUTING",	0x646f},
+	{"media/v4l2-common.h",	"VIDIOC_INT_G_VIDEO_ROUTING",	0x6470},
+	{"media/v4l2-common.h",	"VIDIOC_INT_S_CRYSTAL_FREQ",	0x6471},
+	{"media/v4l2-common.h",	"VIDIOC_INT_INIT",	0x6472},
+	{"media/v4l2-common.h",	"VIDIOC_INT_S_STD_OUTPUT",	0x6473},
+	{"media/v4l2-common.h",	"VIDIOC_INT_G_STD_OUTPUT",	0x6474},
+	{"linux/video_decoder.h",	"DECODER_DUMP",	0x64c0},
+	{"linux/video_encoder.h",	"ENCODER_GET_CAPABILITIES",	0x6501},
+	{"linux/video_encoder.h",	"ENCODER_SET_NORM",	0x6502},
+	{"linux/video_encoder.h",	"ENCODER_SET_INPUT",	0x6503},
+	{"linux/video_encoder.h",	"ENCODER_SET_OUTPUT",	0x6504},
+	{"linux/video_encoder.h",	"ENCODER_ENABLE_OUTPUT",	0x6505},
+	{"linux/fs.h",	"FS_IOC32_GETFLAGS",	0x6601},
+	{"linux/fs.h",	"FS_IOC_GETFLAGS",	0x6601},
+	{"linux/fs.h",	"FS_IOC32_SETFLAGS",	0x6602},
+	{"linux/fs.h",	"FS_IOC_SETFLAGS",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC32_GETVERSION",	0x6603},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION",	0x6603},
+	{"linux/ext3_fs.h",	"EXT3_IOC32_SETVERSION",	0x6604},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION",	0x6604},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETRSVSZ",	0x6605},
+	{"linux/ext3_fs.h",	"EXT3_IOC32_GETRSVSZ",	0x6605},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETRSVSZ",	0x6605},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETRSVSZ",	0x6606},
+	{"linux/ext3_fs.h",	"EXT3_IOC32_SETRSVSZ",	0x6606},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETRSVSZ",	0x6606},
+	{"linux/ext3_fs.h",	"EXT3_IOC32_GROUP_EXTEND",	0x6607},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GROUP_EXTEND",	0x6607},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GROUP_ADD",	0x6608},
+	{"linux/fs.h",	"FS_IOC_FIEMAP",	0x660b},
+	{"linux/ext3_fs.h",	"EXT3_IOC32_WAIT_FOR_READONLY",	0x6663},
+	{"linux/ext3_fs.h",	"EXT3_IOC_WAIT_FOR_READONLY",	0x6663},
+	{"linux/usb/gadgetfs.h",	"GADGETFS_FIFO_STATUS",	0x6701},
+	{"linux/usb/gadgetfs.h",	"GADGETFS_FIFO_FLUSH",	0x6702},
+	{"linux/usb/gadgetfs.h",	"GADGETFS_CLEAR_HALT",	0x6703},
+	{"linux/usb/g_printer.h",	"GADGET_GET_PRINTER_STATUS",	0x6721},
+	{"linux/usb/g_printer.h",	"GADGET_SET_PRINTER_STATUS",	0x6722},
+	{"linux/hpet.h",	"HPET_IE_ON",	0x6801},
+	{"linux/hpet.h",	"HPET_IE_OFF",	0x6802},
+	{"linux/hpet.h",	"HPET_INFO",	0x6803},
+	{"linux/hpet.h",	"HPET_EPI",	0x6804},
+	{"linux/hpet.h",	"HPET_DPI",	0x6805},
+	{"linux/hpet.h",	"HPET_IRQFREQ",	0x6806},
+	{"linux/i2o-dev.h",	"I2OGETIOPS",	0x6900},
+	{"linux/i2o-dev.h",	"I2OHRTGET",	0x6901},
+	{"linux/i2o-dev.h",	"I2OLCTGET",	0x6902},
+	{"linux/i2o-dev.h",	"I2OPARMSET",	0x6903},
+	{"linux/i2o-dev.h",	"I2OPARMGET",	0x6904},
+	{"linux/i2o-dev.h",	"I2OSWDL",	0x6905},
+	{"linux/i2o-dev.h",	"I2OSWUL",	0x6906},
+	{"linux/i2o-dev.h",	"I2OSWDEL",	0x6907},
+	{"linux/i2o-dev.h",	"I2OVALIDATE",	0x6908},
+	{"linux/i2o-dev.h",	"I2OHTML",	0x6909},
+	{"linux/i2o-dev.h",	"I2OEVTREG",	0x690a},
+	{"linux/i2o-dev.h",	"I2OEVTGET",	0x690b},
+	{"linux/ipmi.h",	"IPMICTL_RECEIVE_MSG_TRUNC",	0x690b},
+	{"linux/i2o-dev.h",	"I2OPASSTHRU",	0x690c},
+	{"linux/i2o-dev.h",	"I2OPASSTHRU32",	0x690c},
+	{"linux/ipmi.h",	"IPMICTL_RECEIVE_MSG",	0x690c},
+	{"linux/ipmi.h",	"IPMICTL_SEND_COMMAND",	0x690d},
+	{"linux/ipmi.h",	"IPMICTL_REGISTER_FOR_CMD",	0x690e},
+	{"linux/ipmi.h",	"IPMICTL_UNREGISTER_FOR_CMD",	0x690f},
+	{"linux/ipmi.h",	"IPMICTL_SET_GETS_EVENTS_CMD",	0x6910},
+	{"linux/ipmi.h",	"IPMICTL_SET_MY_ADDRESS_CMD",	0x6911},
+	{"linux/ipmi.h",	"IPMICTL_GET_MY_ADDRESS_CMD",	0x6912},
+	{"linux/ipmi.h",	"IPMICTL_SET_MY_LUN_CMD",	0x6913},
+	{"linux/ipmi.h",	"IPMICTL_GET_MY_LUN_CMD",	0x6914},
+	{"linux/ipmi.h",	"IPMICTL_SEND_COMMAND_SETTIME",	0x6915},
+	{"linux/ipmi.h",	"IPMICTL_SET_TIMING_PARMS_CMD",	0x6916},
+	{"linux/ipmi.h",	"IPMICTL_GET_TIMING_PARMS_CMD",	0x6917},
+	{"linux/ipmi.h",	"IPMICTL_SET_MY_CHANNEL_ADDRESS_CMD",	0x6918},
+	{"linux/ipmi.h",	"IPMICTL_GET_MY_CHANNEL_ADDRESS_CMD",	0x6919},
+	{"linux/ipmi.h",	"IPMICTL_SET_MY_CHANNEL_LUN_CMD",	0x691a},
+	{"linux/ipmi.h",	"IPMICTL_GET_MY_CHANNEL_LUN_CMD",	0x691b},
+	{"linux/ipmi.h",	"IPMICTL_REGISTER_FOR_CMD_CHANS",	0x691c},
+	{"linux/ipmi.h",	"IPMICTL_UNREGISTER_FOR_CMD_CHANS",	0x691d},
+	{"linux/ipmi.h",	"IPMICTL_GET_MAINTENANCE_MODE_CMD",	0x691e},
+	{"linux/ipmi.h",	"IPMICTL_SET_MAINTENANCE_MODE_CMD",	0x691f},
+	{"linux/i8k.h",	"I8K_BIOS_VERSION",	0x6980},
+	{"linux/i8k.h",	"I8K_MACHINE_ID",	0x6981},
+	{"linux/i8k.h",	"I8K_POWER_STATUS",	0x6982},
+	{"linux/i8k.h",	"I8K_FN_STATUS",	0x6983},
+	{"linux/i8k.h",	"I8K_GET_TEMP",	0x6984},
+	{"linux/i8k.h",	"I8K_GET_SPEED",	0x6985},
+	{"linux/i8k.h",	"I8K_GET_FAN",	0x6986},
+	{"linux/i8k.h",	"I8K_SET_FAN",	0x6987},
+	{"linux/joystick.h",	"JSIOCGVERSION",	0x6a01},
+	{"linux/joystick.h",	"JSIOCGAXES",	0x6a11},
+	{"linux/joystick.h",	"JSIOCGBUTTONS",	0x6a12},
+	{"linux/joystick.h",	"JSIOCSCORR",	0x6a21},
+	{"linux/joystick.h",	"JSIOCGCORR",	0x6a22},
+	{"linux/joystick.h",	"JSIOCSAXMAP",	0x6a31},
+	{"linux/joystick.h",	"JSIOCGAXMAP",	0x6a32},
+	{"linux/joystick.h",	"JSIOCSBTNMAP",	0x6a33},
+	{"linux/joystick.h",	"JSIOCGBTNMAP",	0x6a34},
+	{"video/kyro.h",	"KYRO_IOCTL_OVERLAY_CREATE",	0x6b00},
+	{"video/kyro.h",	"KYRO_IOCTL_OVERLAY_VIEWPORT_SET",	0x6b01},
+	{"linux/spi/spidev.h",	"SPI_IOC_RD_MODE",	0x6b01},
+	{"linux/spi/spidev.h",	"SPI_IOC_WR_MODE",	0x6b01},
+	{"video/kyro.h",	"KYRO_IOCTL_SET_VIDEO_MODE",	0x6b02},
+	{"linux/spi/spidev.h",	"SPI_IOC_RD_LSB_FIRST",	0x6b02},
+	{"linux/spi/spidev.h",	"SPI_IOC_WR_LSB_FIRST",	0x6b02},
+	{"video/kyro.h",	"KYRO_IOCTL_UVSTRIDE",	0x6b03},
+	{"linux/spi/spidev.h",	"SPI_IOC_RD_BITS_PER_WORD",	0x6b03},
+	{"linux/spi/spidev.h",	"SPI_IOC_WR_BITS_PER_WORD",	0x6b03},
+	{"video/kyro.h",	"KYRO_IOCTL_OVERLAY_OFFSET",	0x6b04},
+	{"linux/spi/spidev.h",	"SPI_IOC_RD_MAX_SPEED_HZ",	0x6b04},
+	{"linux/spi/spidev.h",	"SPI_IOC_WR_MAX_SPEED_HZ",	0x6b04},
+	{"video/kyro.h",	"KYRO_IOCTL_STRIDE",	0x6b05},
+	{"linux/udf_fs_i.h",	"UDF_GETEASIZE",	0x6c40},
+	{"linux/udf_fs_i.h",	"UDF_GETEABLOCK",	0x6c41},
+	{"linux/udf_fs_i.h",	"UDF_GETVOLIDENT",	0x6c42},
+	{"linux/udf_fs_i.h",	"UDF_RELOCATE_BLOCKS",	0x6c43},
+	{"linux/synclink.h",	"MGSL_IOCSPARAMS",	0x6d00},
+	{"linux/synclink.h",	"MGSL_IOCSPARAMS32",	0x6d00},
+	{"linux/mmtimer.h",	"MMTIMER_GETOFFSET",	0x6d00},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_PRETIME",	0x6d00},
+	{"linux/synclink.h",	"MGSL_IOCGPARAMS",	0x6d01},
+	{"linux/synclink.h",	"MGSL_IOCGPARAMS32",	0x6d01},
+	{"linux/mmtimer.h",	"MMTIMER_GETRES",	0x6d01},
+	{"linux/mtio.h",	"MTIOCTOP",	0x6d01},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUMODE",	0x6d01},
+	{"linux/synclink.h",	"MGSL_IOCSTXIDLE",	0x6d02},
+	{"linux/mmtimer.h",	"MMTIMER_GETFREQ",	0x6d02},
+	{"linux/mtio.h",	"MTIOCGET",	0x6d02},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUCMD",	0x6d02},
+	{"linux/synclink.h",	"MGSL_IOCGTXIDLE",	0x6d03},
+	{"linux/mtio.h",	"MTIOCPOS",	0x6d03},
+	{"linux/synclink.h",	"MGSL_IOCTXENABLE",	0x6d04},
+	{"linux/mmtimer.h",	"MMTIMER_GETBITS",	0x6d04},
+	{"linux/mtio.h",	"MTIOCGETCONFIG",	0x6d04},
+	{"linux/synclink.h",	"MGSL_IOCRXENABLE",	0x6d05},
+	{"linux/mtio.h",	"MTIOCSETCONFIG",	0x6d05},
+	{"linux/synclink.h",	"MGSL_IOCTXABORT",	0x6d06},
+	{"linux/mmtimer.h",	"MMTIMER_MMAPAVAIL",	0x6d06},
+	{"linux/mtio.h",	"MTIOCRDFTSEG",	0x6d06},
+	{"linux/synclink.h",	"MGSL_IOCGSTATS",	0x6d07},
+	{"linux/mtio.h",	"MTIOCWRFTSEG",	0x6d07},
+	{"linux/synclink.h",	"MGSL_IOCWAITEVENT",	0x6d08},
+	{"linux/mtio.h",	"MTIOCVOLINFO",	0x6d08},
+	{"linux/synclink.h",	"MGSL_IOCLOOPTXDONE",	0x6d09},
+	{"linux/mmtimer.h",	"MMTIMER_GETCOUNTER",	0x6d09},
+	{"linux/mtio.h",	"MTIOCGETSIZE",	0x6d09},
+	{"linux/synclink.h",	"MGSL_IOCSIF",	0x6d0a},
+	{"linux/mtio.h",	"MTIOCFTFORMAT",	0x6d0a},
+	{"linux/synclink.h",	"MGSL_IOCGIF",	0x6d0b},
+	{"linux/mtio.h",	"MTIOCFTCMD",	0x6d0b},
+	{"linux/synclink.h",	"MGSL_IOCCLRMODCOUNT",	0x6d0f},
+	{"linux/synclink.h",	"MGSL_IOCSGPIO",	0x6d10},
+	{"linux/synclink.h",	"MGSL_IOCGGPIO",	0x6d11},
+	{"linux/synclink.h",	"MGSL_IOCWAITGPIO",	0x6d12},
+	{"linux/zftape.h",	"MTIOC_ZFTAPE_GETBLKSZ",	0x6d68},
+	{"linux/ncp_fs.h",	"NCP_IOC_NCPREQUEST",	0x6e01},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID2",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_CONN_LOGGED_IN",	0x6e03},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO_V2",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_INIT",	0x6e05},
+	{"linux/ncp_fs.h",	"NCP_IOC_SET_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_LOCKUNLOCK",	0x6e07},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETDENTRYTTL",	0x6e0c},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETDENTRYTTL",	0x6e0c},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_CONNECTION",	0x6ef8},
+	{"video/sisfb.h",	"SISFB_GET_INFO_OLD",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_GET_AVAILABLE_OUTPUTS",	0x6ef9},
+	{"video/sisfb.h",	"SISFB_GET_VBRSTATUS_OLD",	0x6ef9},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_MODE",	0x6efa},
+	{"video/sisfb.h",	"SISFB_GET_AUTOMAXIMIZE_OLD",	0x6efa},
+	{"video/sisfb.h",	"SISFB_SET_AUTOMAXIMIZE_OLD",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_GET_ALL_OUTPUTS",	0x6efb},
+	{"mtd/ubi-user.h",	"UBI_IOCMKVOL",	0x6f00},
+	{"linux/dvb/audio.h",	"AUDIO_STOP",	0x6f01},
+	{"mtd/ubi-user.h",	"UBI_IOCRMVOL",	0x6f01},
+	{"linux/dvb/audio.h",	"AUDIO_PLAY",	0x6f02},
+	{"mtd/ubi-user.h",	"UBI_IOCRSVOL",	0x6f02},
+	{"linux/dvb/audio.h",	"AUDIO_PAUSE",	0x6f03},
+	{"mtd/ubi-user.h",	"UBI_IOCRNVOL",	0x6f03},
+	{"linux/dvb/audio.h",	"AUDIO_CONTINUE",	0x6f04},
+	{"linux/dvb/audio.h",	"AUDIO_SELECT_SOURCE",	0x6f05},
+	{"linux/dvb/audio.h",	"AUDIO_SET_MUTE",	0x6f06},
+	{"linux/dvb/audio.h",	"AUDIO_SET_AV_SYNC",	0x6f07},
+	{"linux/dvb/audio.h",	"AUDIO_SET_BYPASS_MODE",	0x6f08},
+	{"linux/dvb/audio.h",	"AUDIO_CHANNEL_SELECT",	0x6f09},
+	{"linux/dvb/audio.h",	"AUDIO_GET_STATUS",	0x6f0a},
+	{"linux/dvb/audio.h",	"AUDIO_GET_CAPABILITIES",	0x6f0b},
+	{"linux/dvb/audio.h",	"AUDIO_CLEAR_BUFFER",	0x6f0c},
+	{"linux/dvb/audio.h",	"AUDIO_SET_ID",	0x6f0d},
+	{"linux/dvb/audio.h",	"AUDIO_SET_MIXER",	0x6f0e},
+	{"linux/dvb/audio.h",	"AUDIO_SET_STREAMTYPE",	0x6f0f},
+	{"linux/dvb/audio.h",	"AUDIO_SET_EXT_ID",	0x6f10},
+	{"linux/dvb/audio.h",	"AUDIO_SET_ATTRIBUTES",	0x6f11},
+	{"linux/dvb/audio.h",	"AUDIO_SET_KARAOKE",	0x6f12},
+	{"linux/dvb/audio.h",	"AUDIO_GET_PTS",	0x6f13},
+	{"linux/dvb/audio.h",	"AUDIO_BILINGUAL_CHANNEL_SELECT",	0x6f14},
+	{"linux/dvb/video.h",	"VIDEO_STOP",	0x6f15},
+	{"linux/dvb/video.h",	"VIDEO_PLAY",	0x6f16},
+	{"linux/dvb/video.h",	"VIDEO_FREEZE",	0x6f17},
+	{"linux/dvb/video.h",	"VIDEO_CONTINUE",	0x6f18},
+	{"linux/dvb/video.h",	"VIDEO_SELECT_SOURCE",	0x6f19},
+	{"linux/dvb/video.h",	"VIDEO_SET_BLANK",	0x6f1a},
+	{"linux/dvb/video.h",	"VIDEO_GET_STATUS",	0x6f1b},
+	{"linux/dvb/video.h",	"VIDEO_GET_EVENT",	0x6f1c},
+	{"linux/dvb/video.h",	"VIDEO_SET_DISPLAY_FORMAT",	0x6f1d},
+	{"linux/dvb/video.h",	"VIDEO_STILLPICTURE",	0x6f1e},
+	{"linux/dvb/video.h",	"VIDEO_FAST_FORWARD",	0x6f1f},
+	{"linux/dvb/video.h",	"VIDEO_SLOWMOTION",	0x6f20},
+	{"linux/dvb/video.h",	"VIDEO_GET_CAPABILITIES",	0x6f21},
+	{"linux/dvb/video.h",	"VIDEO_CLEAR_BUFFER",	0x6f22},
+	{"linux/dvb/video.h",	"VIDEO_SET_ID",	0x6f23},
+	{"linux/dvb/video.h",	"VIDEO_SET_STREAMTYPE",	0x6f24},
+	{"linux/dvb/video.h",	"VIDEO_SET_FORMAT",	0x6f25},
+	{"linux/dvb/video.h",	"VIDEO_SET_SYSTEM",	0x6f26},
+	{"linux/dvb/video.h",	"VIDEO_SET_HIGHLIGHT",	0x6f27},
+	{"linux/dvb/dmx.h",	"DMX_START",	0x6f29},
+	{"linux/dvb/dmx.h",	"DMX_STOP",	0x6f2a},
+	{"linux/dvb/dmx.h",	"DMX_SET_FILTER",	0x6f2b},
+	{"linux/dvb/dmx.h",	"DMX_SET_PES_FILTER",	0x6f2c},
+	{"linux/dvb/dmx.h",	"DMX_SET_BUFFER_SIZE",	0x6f2d},
+	{"linux/dvb/dmx.h",	"DMX_GET_PES_PIDS",	0x6f2f},
+	{"linux/dvb/dmx.h",	"DMX_GET_CAPS",	0x6f30},
+	{"linux/dvb/dmx.h",	"DMX_SET_SOURCE",	0x6f31},
+	{"linux/dvb/dmx.h",	"DMX_GET_STC",	0x6f32},
+	{"linux/dvb/video.h",	"VIDEO_SET_SPU",	0x6f32},
+	{"linux/dvb/video.h",	"VIDEO_SET_SPU_PALETTE",	0x6f33},
+	{"linux/dvb/net.h",	"NET_ADD_IF",	0x6f34},
+	{"linux/dvb/video.h",	"VIDEO_GET_NAVI",	0x6f34},
+	{"linux/dvb/net.h",	"NET_REMOVE_IF",	0x6f35},
+	{"linux/dvb/video.h",	"VIDEO_SET_ATTRIBUTES",	0x6f35},
+	{"linux/dvb/net.h",	"NET_GET_IF",	0x6f36},
+	{"linux/dvb/video.h",	"VIDEO_GET_SIZE",	0x6f37},
+	{"linux/dvb/video.h",	"VIDEO_GET_FRAME_RATE",	0x6f38},
+	{"linux/dvb/video.h",	"VIDEO_GET_PTS",	0x6f39},
+	{"linux/dvb/video.h",	"VIDEO_GET_FRAME_COUNT",	0x6f3a},
+	{"linux/dvb/video.h",	"VIDEO_COMMAND",	0x6f3b},
+	{"linux/dvb/video.h",	"VIDEO_TRY_COMMAND",	0x6f3c},
+	{"linux/dvb/frontend.h",	"FE_GET_INFO",	0x6f3d},
+	{"linux/dvb/frontend.h",	"FE_DISEQC_RESET_OVERLOAD",	0x6f3e},
+	{"linux/dvb/frontend.h",	"FE_DISEQC_SEND_MASTER_CMD",	0x6f3f},
+	{"linux/dvb/frontend.h",	"FE_DISEQC_RECV_SLAVE_REPLY",	0x6f40},
+	{"mtd/ubi-user.h",	"UBI_IOCATT",	0x6f40},
+	{"linux/dvb/frontend.h",	"FE_DISEQC_SEND_BURST",	0x6f41},
+	{"mtd/ubi-user.h",	"UBI_IOCDET",	0x6f41},
+	{"linux/dvb/frontend.h",	"FE_SET_TONE",	0x6f42},
+	{"linux/dvb/frontend.h",	"FE_SET_VOLTAGE",	0x6f43},
+	{"linux/dvb/frontend.h",	"FE_ENABLE_HIGH_LNB_VOLTAGE",	0x6f44},
+	{"linux/dvb/frontend.h",	"FE_READ_STATUS",	0x6f45},
+	{"linux/dvb/frontend.h",	"FE_READ_BER",	0x6f46},
+	{"linux/dvb/frontend.h",	"FE_READ_SIGNAL_STRENGTH",	0x6f47},
+	{"linux/dvb/frontend.h",	"FE_READ_SNR",	0x6f48},
+	{"linux/dvb/frontend.h",	"FE_READ_UNCORRECTED_BLOCKS",	0x6f49},
+	{"linux/dvb/frontend.h",	"FE_SET_FRONTEND",	0x6f4c},
+	{"linux/dvb/frontend.h",	"FE_GET_FRONTEND",	0x6f4d},
+	{"linux/dvb/frontend.h",	"FE_GET_EVENT",	0x6f4e},
+	{"linux/dvb/frontend.h",	"FE_DISHNETWORK_SEND_LEGACY_CMD",	0x6f50},
+	{"linux/dvb/frontend.h",	"FE_SET_FRONTEND_TUNE_MODE",	0x6f51},
+	{"linux/dvb/frontend.h",	"FE_SET_PROPERTY",	0x6f52},
+	{"linux/dvb/frontend.h",	"FE_GET_PROPERTY",	0x6f53},
+	{"linux/dvb/ca.h",	"CA_RESET",	0x6f80},
+	{"linux/dvb/ca.h",	"CA_GET_CAP",	0x6f81},
+	{"linux/dvb/ca.h",	"CA_GET_SLOT_INFO",	0x6f82},
+	{"linux/dvb/ca.h",	"CA_GET_DESCR_INFO",	0x6f83},
+	{"linux/dvb/ca.h",	"CA_GET_MSG",	0x6f84},
+	{"linux/dvb/ca.h",	"CA_SEND_MSG",	0x6f85},
+	{"linux/dvb/ca.h",	"CA_SET_DESCR",	0x6f86},
+	{"linux/dvb/ca.h",	"CA_SET_PID",	0x6f87},
+	{"linux/dvb/osd.h",	"OSD_SEND_CMD",	0x6fa0},
+	{"linux/dvb/osd.h",	"OSD_GET_CAPABILITY",	0x6fa1},
+	{"linux/phantom.h",	"PHN_GET_REG",	0x7000},
+	{"linux/phantom.h",	"PHN_SET_REG",	0x7001},
+	{"linux/rtc.h",	"RTC_AIE_ON",	0x7001},
+	{"linux/phantom.h",	"PHN_GET_REGS",	0x7002},
+	{"linux/rtc.h",	"RTC_AIE_OFF",	0x7002},
+	{"linux/phantom.h",	"PHN_SET_REGS",	0x7003},
+	{"linux/rtc.h",	"RTC_UIE_ON",	0x7003},
+	{"linux/phantom.h",	"PHN_NOT_OH",	0x7004},
+	{"linux/rtc.h",	"RTC_UIE_OFF",	0x7004},
+	{"linux/phantom.h",	"PHN_GETREG",	0x7005},
+	{"linux/rtc.h",	"RTC_PIE_ON",	0x7005},
+	{"linux/phantom.h",	"PHN_SETREG",	0x7006},
+	{"linux/rtc.h",	"RTC_PIE_OFF",	0x7006},
+	{"linux/phantom.h",	"PHN_GETREGS",	0x7007},
+	{"linux/rtc.h",	"RTC_ALM_SET",	0x7007},
+	{"linux/phantom.h",	"PHN_SETREGS",	0x7008},
+	{"linux/rtc.h",	"RTC_ALM_READ",	0x7008},
+	{"linux/rtc.h",	"RTC_RD_TIME",	0x7009},
+	{"linux/rtc.h",	"RTC_SET_TIME",	0x700a},
+	{"linux/rtc.h",	"RTC_IRQP_READ",	0x700b},
+	{"linux/rtc.h",	"RTC_IRQP_SET",	0x700c},
+	{"linux/rtc.h",	"RTC_EPOCH_READ",	0x700d},
+	{"linux/rtc.h",	"RTC_EPOCH_SET",	0x700e},
+	{"linux/rtc.h",	"RTC_WIE_ON",	0x700f},
+	{"linux/rtc.h",	"RTC_WKALM_SET",	0x700f},
+	{"linux/rtc.h",	"RTC_WIE_OFF",	0x7010},
+	{"linux/rtc.h",	"RTC_WKALM_RD",	0x7010},
+	{"linux/rtc.h",	"RTC_PLL_GET",	0x7011},
+	{"linux/rtc.h",	"RTC_PLL_SET",	0x7012},
+	{"linux/nvram.h",	"NVRAM_INIT",	0x7040},
+	{"linux/nvram.h",	"NVRAM_SETCKS",	0x7041},
+	{"linux/ppdev.h",	"PPSETMODE",	0x7080},
+	{"linux/ppdev.h",	"PPRSTATUS",	0x7081},
+	{"linux/ppdev.h",	"PPRCONTROL",	0x7083},
+	{"linux/ppdev.h",	"PPWCONTROL",	0x7084},
+	{"linux/ppdev.h",	"PPRDATA",	0x7085},
+	{"linux/ppdev.h",	"PPWDATA",	0x7086},
+	{"linux/ppdev.h",	"PPCLAIM",	0x708b},
+	{"linux/ppdev.h",	"PPRELEASE",	0x708c},
+	{"linux/ppdev.h",	"PPYIELD",	0x708d},
+	{"linux/ppdev.h",	"PPFCONTROL",	0x708e},
+	{"linux/ppdev.h",	"PPEXCL",	0x708f},
+	{"linux/ppdev.h",	"PPDATADIR",	0x7090},
+	{"linux/ppdev.h",	"PPNEGOT",	0x7091},
+	{"linux/ppdev.h",	"PPWCTLONIRQ",	0x7092},
+	{"linux/ppdev.h",	"PPCLRIRQ",	0x7093},
+	{"linux/ppdev.h",	"PPSETPHASE",	0x7094},
+	{"linux/ppdev.h",	"PPGETTIME",	0x7095},
+	{"linux/ppdev.h",	"PPSETTIME",	0x7096},
+	{"linux/ppdev.h",	"PPGETMODES",	0x7097},
+	{"linux/ppdev.h",	"PPGETMODE",	0x7098},
+	{"linux/ppdev.h",	"PPGETPHASE",	0x7099},
+	{"linux/ppdev.h",	"PPGETFLAGS",	0x709a},
+	{"linux/ppdev.h",	"PPSETFLAGS",	0x709b},
+	{"linux/pps.h",	"PPS_GETPARAMS",	0x70a1},
+	{"linux/pps.h",	"PPS_SETPARAMS",	0x70a2},
+	{"linux/pps.h",	"PPS_GETCAP",	0x70a3},
+	{"linux/pps.h",	"PPS_FETCH",	0x70a4},
+	{"linux/serio.h",	"SPIOCSTYPE",	0x7101},
+	{"linux/videotext.h",	"VTXIOCGETINFO_OLD",	0x7101},
+	{"linux/videotext.h",	"VTXIOCCLRPAGE_OLD",	0x7102},
+	{"linux/videotext.h",	"VTXIOCCLRFOUND_OLD",	0x7103},
+	{"linux/videotext.h",	"VTXIOCPAGEREQ_OLD",	0x7104},
+	{"linux/videotext.h",	"VTXIOCGETSTAT_OLD",	0x7105},
+	{"linux/videotext.h",	"VTXIOCGETPAGE_OLD",	0x7106},
+	{"linux/videotext.h",	"VTXIOCSTOPDAU_OLD",	0x7107},
+	{"linux/videotext.h",	"VTXIOCPUTPAGE_OLD",	0x7108},
+	{"linux/videotext.h",	"VTXIOCSETDISP_OLD",	0x7109},
+	{"linux/videotext.h",	"VTXIOCPUTSTAT_OLD",	0x710a},
+	{"linux/videotext.h",	"VTXIOCCLRCACHE_OLD",	0x710b},
+	{"linux/videotext.h",	"VTXIOCSETVIRT_OLD",	0x710c},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES",	0x7180},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_LIST",	0x7181},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_CHECK",	0x7182},
+	{"linux/telephony.h",	"PHONE_RING",	0x7183},
+	{"linux/telephony.h",	"PHONE_HOOKSTATE",	0x7184},
+	{"linux/telephony.h",	"PHONE_MAXRINGS",	0x7185},
+	{"linux/telephony.h",	"PHONE_RING_CADENCE",	0x7186},
+	{"linux/telephony.h",	"OLD_PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_STOP",	0x7188},
+	{"linux/telephony.h",	"PHONE_REC_CODEC",	0x7189},
+	{"linux/telephony.h",	"PHONE_REC_START",	0x718a},
+	{"linux/telephony.h",	"PHONE_REC_STOP",	0x718b},
+	{"linux/telephony.h",	"PHONE_REC_DEPTH",	0x718c},
+	{"linux/telephony.h",	"PHONE_FRAME",	0x718d},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME",	0x718e},
+	{"linux/telephony.h",	"PHONE_REC_LEVEL",	0x718f},
+	{"linux/telephony.h",	"PHONE_PLAY_CODEC",	0x7190},
+	{"linux/telephony.h",	"PHONE_PLAY_START",	0x7191},
+	{"linux/telephony.h",	"PHONE_PLAY_STOP",	0x7192},
+	{"linux/telephony.h",	"PHONE_PLAY_DEPTH",	0x7193},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME",	0x7194},
+	{"linux/telephony.h",	"PHONE_PLAY_LEVEL",	0x7195},
+	{"linux/telephony.h",	"PHONE_DTMF_READY",	0x7196},
+	{"linux/telephony.h",	"PHONE_GET_DTMF",	0x7197},
+	{"linux/telephony.h",	"PHONE_GET_DTMF_ASCII",	0x7198},
+	{"linux/telephony.h",	"PHONE_DTMF_OOB",	0x7199},
+	{"linux/telephony.h",	"PHONE_EXCEPTION",	0x719a},
+	{"linux/telephony.h",	"PHONE_PLAY_TONE",	0x719b},
+	{"linux/telephony.h",	"PHONE_SET_TONE_ON_TIME",	0x719c},
+	{"linux/telephony.h",	"PHONE_SET_TONE_OFF_TIME",	0x719d},
+	{"linux/telephony.h",	"PHONE_GET_TONE_ON_TIME",	0x719e},
+	{"linux/telephony.h",	"PHONE_GET_TONE_OFF_TIME",	0x719f},
+	{"linux/telephony.h",	"PHONE_GET_TONE_STATE",	0x71a0},
+	{"linux/telephony.h",	"PHONE_BUSY",	0x71a1},
+	{"linux/telephony.h",	"PHONE_RINGBACK",	0x71a2},
+	{"linux/telephony.h",	"PHONE_DIALTONE",	0x71a3},
+	{"linux/telephony.h",	"PHONE_CPT_STOP",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_SET_STATE",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_GET_STATE",	0x71a5},
+	{"linux/telephony.h",	"PHONE_WINK_DURATION",	0x71a6},
+	{"linux/telephony.h",	"PHONE_QUERY_CODEC",	0x71a7},
+	{"linux/telephony.h",	"PHONE_PSTN_LINETEST",	0x71a8},
+	{"linux/telephony.h",	"PHONE_VAD",	0x71a9},
+	{"linux/telephony.h",	"PHONE_WINK",	0x71aa},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_RESET",	0x71c0},
+	{"linux/ixjuser.h",	"IXJCTL_CARDTYPE",	0x71c1},
+	{"linux/ixjuser.h",	"IXJCTL_SERIAL",	0x71c2},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_TYPE",	0x71c3},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_VERSION",	0x71c4},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_IDLE",	0x71c5},
+	{"linux/ixjuser.h",	"IXJCTL_TESTRAM",	0x71c6},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER",	0x71c7},
+	{"linux/ixjuser.h",	"IXJCTL_GET_FILTER_HIST",	0x71c8},
+	{"linux/ixjuser.h",	"IXJCTL_INIT_TONE",	0x71c9},
+	{"linux/ixjuser.h",	"IXJCTL_TONE_CADENCE",	0x71ca},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_START",	0x71cb},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_STOP",	0x71cc},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_GET_LEVEL",	0x71cd},
+	{"linux/ixjuser.h",	"IXJCTL_SET_LED",	0x71ce},
+	{"linux/ixjuser.h",	"IXJCTL_MIXER",	0x71cf},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_COEFF_SET",	0x71d0},
+	{"linux/ixjuser.h",	"IXJCTL_PORT",	0x71d1},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_AGAIN",	0x71d2},
+	{"linux/ixjuser.h",	"IXJCTL_PSTN_LINETEST",	0x71d3},
+	{"linux/ixjuser.h",	"IXJCTL_CID",	0x71d4},
+	{"linux/ixjuser.h",	"IXJCTL_POTS_PSTN",	0x71d5},
+	{"linux/ixjuser.h",	"IXJCTL_FILTER_CADENCE",	0x71d6},
+	{"linux/ixjuser.h",	"IXJCTL_PLAY_CID",	0x71d7},
+	{"linux/ixjuser.h",	"IXJCTL_VMWI",	0x71d8},
+	{"linux/ixjuser.h",	"IXJCTL_CIDCW",	0x71d9},
+	{"linux/ixjuser.h",	"IXJCTL_VERSION",	0x71da},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME_LINEAR",	0x71db},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME_LINEAR",	0x71dc},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER_RAW",	0x71dd},
+	{"linux/ixjuser.h",	"IXJCTL_HZ",	0x71e0},
+	{"linux/ixjuser.h",	"IXJCTL_RATE",	0x71e1},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_READ",	0x71e2},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_WRITTEN",	0x71e3},
+	{"linux/ixjuser.h",	"IXJCTL_READ_WAIT",	0x71e4},
+	{"linux/ixjuser.h",	"IXJCTL_WRITE_WAIT",	0x71e5},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_READ",	0x71e6},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_CLEAR",	0x71e7},
+	{"linux/ixjuser.h",	"IXJCTL_DTMF_PRESCALE",	0x71e8},
+	{"linux/ixjuser.h",	"IXJCTL_SIGCTL",	0x71e9},
+	{"linux/ixjuser.h",	"IXJCTL_SC_RXG",	0x71ea},
+	{"linux/ixjuser.h",	"IXJCTL_SC_TXG",	0x71eb},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_START",	0x71fd},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_STOP",	0x71fe},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_BOTH",	0x7201},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_SHORT",	0x7202},
+	{"linux/msdos_fs.h",	"FAT_IOCTL_GET_ATTRIBUTES",	0x7210},
+	{"linux/msdos_fs.h",	"FAT_IOCTL_SET_ATTRIBUTES",	0x7211},
+	{"linux/cdk.h",	"STL_BINTR",	0x7314},
+	{"linux/cdk.h",	"STL_BSTART",	0x7315},
+	{"linux/cdk.h",	"STL_BSTOP",	0x7316},
+	{"linux/cdk.h",	"STL_BRESET",	0x7317},
+	{"linux/cdk.h",	"STL_GETPFLAG",	0x7350},
+	{"linux/cdk.h",	"STL_SETPFLAG",	0x7351},
+	{"asm/bfin_simple_timer.h",	"BFIN_SIMPLE_TIMER_SET_PERIOD",	0x7402},
+	{"asm/bfin_simple_timer.h",	"BFIN_SIMPLE_TIMER_START",	0x7406},
+	{"asm/bfin_simple_timer.h",	"BFIN_SIMPLE_TIMER_STOP",	0x7408},
+	{"asm/bfin_simple_timer.h",	"BFIN_SIMPLE_TIMER_READ",	0x740a},
+	{"linux/if_ppp.h",	"PPPIOCGL2TPSTATS",	0x7436},
+	{"linux/if_ppp.h",	"PPPIOCGCHAN",	0x7437},
+	{"linux/if_ppp.h",	"PPPIOCATTCHAN",	0x7438},
+	{"linux/if_ppp.h",	"PPPIOCDISCONN",	0x7439},
+	{"linux/if_ppp.h",	"PPPIOCCONNECT",	0x743a},
+	{"linux/if_ppp.h",	"PPPIOCSMRRU",	0x743b},
+	{"linux/if_ppp.h",	"PPPIOCDETACH",	0x743c},
+	{"linux/if_ppp.h",	"PPPIOCATTACH",	0x743d},
+	{"linux/if_ppp.h",	"PPPIOCNEWUNIT",	0x743e},
+	{"linux/if_ppp.h",	"PPPIOCGIDLE",	0x743f},
+	{"linux/if_ppp.h",	"PPPIOCSDEBUG",	0x7440},
+	{"linux/if_ppp.h",	"PPPIOCGDEBUG",	0x7441},
+	{"linux/if_ppp.h",	"PPPIOCSACTIVE",	0x7446},
+	{"linux/if_ppp.h",	"PPPIOCSPASS",	0x7447},
+	{"linux/if_ppp.h",	"PPPIOCSNPMODE",	0x744b},
+	{"linux/if_ppp.h",	"PPPIOCGNPMODE",	0x744c},
+	{"linux/if_ppp.h",	"PPPIOCSCOMPRESS",	0x744d},
+	{"linux/if_ppp.h",	"PPPIOCXFERUNIT",	0x744e},
+	{"linux/if_ppp.h",	"PPPIOCSXASYNCMAP",	0x744f},
+	{"linux/if_ppp.h",	"PPPIOCGXASYNCMAP",	0x7450},
+	{"linux/if_ppp.h",	"PPPIOCSMAXCID",	0x7451},
+	{"linux/if_ppp.h",	"PPPIOCSMRU",	0x7452},
+	{"linux/if_ppp.h",	"PPPIOCGMRU",	0x7453},
+	{"linux/if_ppp.h",	"PPPIOCSRASYNCMAP",	0x7454},
+	{"linux/if_ppp.h",	"PPPIOCGRASYNCMAP",	0x7455},
+	{"linux/if_ppp.h",	"PPPIOCGUNIT",	0x7456},
+	{"linux/if_ppp.h",	"PPPIOCSASYNCMAP",	0x7457},
+	{"linux/if_ppp.h",	"PPPIOCGASYNCMAP",	0x7458},
+	{"linux/if_ppp.h",	"PPPIOCSFLAGS",	0x7459},
+	{"linux/if_ppp.h",	"PPPIOCGFLAGS",	0x745a},
+	{"linux/isdn_ppp.h",	"PPPIOCGCALLINFO",	0x7480},
+	{"linux/isdn_ppp.h",	"PPPIOCBUNDLE",	0x7481},
+	{"linux/isdn_ppp.h",	"PPPIOCGMPFLAGS",	0x7482},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPFLAGS",	0x7483},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMTU",	0x7484},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMRU",	0x7485},
+	{"linux/isdn_ppp.h",	"PPPIOCGCOMPRESSORS",	0x7486},
+	{"linux/isdn_ppp.h",	"PPPIOCSCOMPRESSOR",	0x7487},
+	{"linux/isdn_ppp.h",	"PPPIOCGIFNAME",	0x7488},
+	{"linux/toshiba.h",	"TOSH_SMM",	0x7490},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID",	0x7501},
+	{"linux/smb_fs.h",	"SMB_IOC_NEWCONN",	0x7502},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID32",	0x7503},
+	{"linux/sonypi.h",	"SONYPI_IOCGBRT",	0x7600},
+	{"linux/sonypi.h",	"SONYPI_IOCSBRT",	0x7600},
+	{"linux/fs.h",	"FS_IOC32_GETVERSION",	0x7601},
+	{"linux/fs.h",	"FS_IOC_GETVERSION",	0x7601},
+	{"linux/videodev.h",	"VIDIOCGCAP",	0x7601},
+	{"linux/fs.h",	"FS_IOC32_SETVERSION",	0x7602},
+	{"linux/fs.h",	"FS_IOC_SETVERSION",	0x7602},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT1CAP",	0x7602},
+	{"linux/videodev.h",	"VIDIOCGCHAN",	0x7602},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT1REM",	0x7603},
+	{"linux/videodev.h",	"VIDIOCSCHAN",	0x7603},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT2CAP",	0x7604},
+	{"linux/videodev.h",	"VIDIOCGTUNER",	0x7604},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT2REM",	0x7605},
+	{"linux/videodev.h",	"VIDIOCSTUNER",	0x7605},
+	{"linux/videodev.h",	"VIDIOCGPICT",	0x7606},
+	{"linux/sonypi.h",	"SONYPI_IOCGBATFLAGS",	0x7607},
+	{"linux/videodev.h",	"VIDIOCSPICT",	0x7607},
+	{"linux/sonypi.h",	"SONYPI_IOCGBLUE",	0x7608},
+	{"linux/videodev.h",	"VIDIOCCAPTURE",	0x7608},
+	{"linux/sonypi.h",	"SONYPI_IOCSBLUE",	0x7609},
+	{"linux/videodev.h",	"VIDIOCGWIN",	0x7609},
+	{"linux/sonypi.h",	"SONYPI_IOCGFAN",	0x760a},
+	{"linux/videodev.h",	"VIDIOCSWIN",	0x760a},
+	{"linux/sonypi.h",	"SONYPI_IOCSFAN",	0x760b},
+	{"linux/videodev.h",	"VIDIOCGFBUF",	0x760b},
+	{"linux/sonypi.h",	"SONYPI_IOCGTEMP",	0x760c},
+	{"linux/videodev.h",	"VIDIOCSFBUF",	0x760c},
+	{"linux/videodev.h",	"VIDIOCKEY",	0x760d},
+	{"linux/videodev.h",	"VIDIOCGFREQ",	0x760e},
+	{"linux/videodev.h",	"VIDIOCSFREQ",	0x760f},
+	{"linux/videodev.h",	"VIDIOCGAUDIO",	0x7610},
+	{"linux/videodev.h",	"VIDIOCSAUDIO",	0x7611},
+	{"linux/videodev.h",	"VIDIOCSYNC",	0x7612},
+	{"linux/videodev.h",	"VIDIOCMCAPTURE",	0x7613},
+	{"linux/videodev.h",	"VIDIOCGMBUF",	0x7614},
+	{"linux/videodev.h",	"VIDIOCGUNIT",	0x7615},
+	{"linux/videodev.h",	"VIDIOCGCAPTURE",	0x7616},
+	{"linux/videodev.h",	"VIDIOCSCAPTURE",	0x7617},
+	{"linux/videodev.h",	"VIDIOCSPLAYMODE",	0x7618},
+	{"linux/videodev.h",	"VIDIOCSWRITEMODE",	0x7619},
+	{"linux/videodev.h",	"VIDIOCGPLAYINFO",	0x761a},
+	{"linux/videodev.h",	"VIDIOCSMICROCODE",	0x761b},
+	{"linux/videodev.h",	"VIDIOCGVBIFMT",	0x761c},
+	{"linux/videodev.h",	"VIDIOCSVBIFMT",	0x761d},
+	{"linux/meye.h",	"MEYEIOC_G_PARAMS",	0x76c0},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCRUSER",	0x76c0},
+	{"linux/meye.h",	"MEYEIOC_S_PARAMS",	0x76c1},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCSUSER",	0x76c1},
+	{"linux/meye.h",	"MEYEIOC_QBUF_CAPT",	0x76c2},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCFACTORY",	0x76c2},
+	{"linux/meye.h",	"MEYEIOC_SYNC",	0x76c3},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCGCQUAL",	0x76c3},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCSCQUAL",	0x76c3},
+	{"linux/meye.h",	"MEYEIOC_STILLCAPT",	0x76c4},
+	{"linux/meye.h",	"MEYEIOC_STILLJCAPT",	0x76c5},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCGSERIAL",	0x76c6},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCPROBE",	0x76c7},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCGAGC",	0x76c8},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCSAGC",	0x76c8},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCSSHUTTER",	0x76c9},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCGAWB",	0x76ca},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCSAWB",	0x76ca},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCGAWBSPEED",	0x76cb},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCSAWBSPEED",	0x76cb},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCGLED",	0x76cd},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCSLED",	0x76cd},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCGCONTOUR",	0x76ce},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCSCONTOUR",	0x76ce},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCGBACKLIGHT",	0x76cf},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCSBACKLIGHT",	0x76cf},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCGFLICKER",	0x76d0},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCSFLICKER",	0x76d0},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCGDYNNOISE",	0x76d1},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCSDYNNOISE",	0x76d1},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCGREALSIZE",	0x76d2},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCMPTGRANGE",	0x76d3},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCMPTRESET",	0x76d3},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCMPTGANGLE",	0x76d4},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCMPTSANGLE",	0x76d4},
+	{"linux/videodev.h",	"VIDIOSFPS",	0x76d4},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCMPTSTATUS",	0x76d5},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCGVIDCMD",	0x76d7},
+	{"media/pwc-ioctl.h",	"VIDIOCPWCGVIDTABLE",	0x76d8},
+	{"linux/videotext.h",	"VTXIOCGETINFO",	0x8101},
+	{"linux/videotext.h",	"VTXIOCCLRPAGE",	0x8102},
+	{"linux/videotext.h",	"VTXIOCCLRFOUND",	0x8103},
+	{"linux/videotext.h",	"VTXIOCPAGEREQ",	0x8104},
+	{"linux/videotext.h",	"VTXIOCGETSTAT",	0x8105},
+	{"linux/videotext.h",	"VTXIOCGETPAGE",	0x8106},
+	{"linux/videotext.h",	"VTXIOCSTOPDAU",	0x8107},
+	{"linux/videotext.h",	"VTXIOCPUTPAGE",	0x8108},
+	{"linux/videotext.h",	"VTXIOCSETDISP",	0x8109},
+	{"linux/videotext.h",	"VTXIOCPUTSTAT",	0x810a},
+	{"linux/videotext.h",	"VTXIOCCLRCACHE",	0x810b},
+	{"linux/videotext.h",	"VTXIOCSETVIRT",	0x810c},
+	{"media/ovcamchip.h",	"OVCAMCHIP_CMD_Q_SUBTYPE",	0x8800},
+	{"media/ovcamchip.h",	"OVCAMCHIP_CMD_INITIALIZE",	0x8801},
+	{"media/ovcamchip.h",	"OVCAMCHIP_CMD_S_CTRL",	0x8802},
+	{"media/ovcamchip.h",	"OVCAMCHIP_CMD_G_CTRL",	0x8803},
+	{"media/ovcamchip.h",	"OVCAMCHIP_CMD_S_MODE",	0x8804},
+	{"media/ovcamchip.h",	"OVCAMCHIP_MAX_CMD",	0x883f},
+	{"asm/sockios.h",	"FIOSETOWN",	0x8901},
+	{"asm/sockios.h",	"SIOCSPGRP",	0x8902},
+	{"asm/sockios.h",	"FIOGETOWN",	0x8903},
+	{"asm/sockios.h",	"SIOCGPGRP",	0x8904},
+	{"asm/sockios.h",	"SIOCATMARK",	0x8905},
+	{"asm/sockios.h",	"SIOCGSTAMP",	0x8906},
+	{"asm/sockios.h",	"SIOCGSTAMPNS",	0x8907},
+	{"linux/sockios.h",	"SIOCADDRT",	0x890b},
+	{"linux/sockios.h",	"SIOCDELRT",	0x890c},
+	{"linux/sockios.h",	"SIOCRTMSG",	0x890d},
+	{"linux/sockios.h",	"SIOCGIFNAME",	0x8910},
+	{"linux/sockios.h",	"SIOCSIFLINK",	0x8911},
+	{"linux/sockios.h",	"SIOCGIFCONF",	0x8912},
+	{"linux/sockios.h",	"SIOCGIFFLAGS",	0x8913},
+	{"linux/sockios.h",	"SIOCSIFFLAGS",	0x8914},
+	{"linux/sockios.h",	"SIOCGIFADDR",	0x8915},
+	{"linux/sockios.h",	"SIOCSIFADDR",	0x8916},
+	{"linux/sockios.h",	"SIOCGIFDSTADDR",	0x8917},
+	{"linux/sockios.h",	"SIOCSIFDSTADDR",	0x8918},
+	{"linux/sockios.h",	"SIOCGIFBRDADDR",	0x8919},
+	{"linux/sockios.h",	"SIOCSIFBRDADDR",	0x891a},
+	{"linux/sockios.h",	"SIOCGIFNETMASK",	0x891b},
+	{"linux/sockios.h",	"SIOCSIFNETMASK",	0x891c},
+	{"linux/sockios.h",	"SIOCGIFMETRIC",	0x891d},
+	{"linux/sockios.h",	"SIOCSIFMETRIC",	0x891e},
+	{"linux/sockios.h",	"SIOCGIFMEM",	0x891f},
+	{"linux/sockios.h",	"SIOCSIFMEM",	0x8920},
+	{"linux/sockios.h",	"SIOCGIFMTU",	0x8921},
+	{"linux/sockios.h",	"SIOCSIFMTU",	0x8922},
+	{"linux/sockios.h",	"SIOCSIFNAME",	0x8923},
+	{"linux/sockios.h",	"SIOCSIFHWADDR",	0x8924},
+	{"linux/sockios.h",	"SIOCGIFENCAP",	0x8925},
+	{"linux/sockios.h",	"SIOCSIFENCAP",	0x8926},
+	{"linux/sockios.h",	"SIOCGIFHWADDR",	0x8927},
+	{"linux/sockios.h",	"SIOCGIFSLAVE",	0x8929},
+	{"linux/sockios.h",	"SIOCSIFSLAVE",	0x8930},
+	{"linux/sockios.h",	"SIOCADDMULTI",	0x8931},
+	{"linux/sockios.h",	"SIOCDELMULTI",	0x8932},
+	{"linux/sockios.h",	"SIOCGIFINDEX",	0x8933},
+	{"linux/sockios.h",	"SIOCSIFPFLAGS",	0x8934},
+	{"linux/sockios.h",	"SIOCGIFPFLAGS",	0x8935},
+	{"linux/sockios.h",	"SIOCDIFADDR",	0x8936},
+	{"linux/sockios.h",	"SIOCSIFHWBROADCAST",	0x8937},
+	{"linux/sockios.h",	"SIOCGIFCOUNT",	0x8938},
+	{"linux/sockios.h",	"SIOCGIFBR",	0x8940},
+	{"linux/sockios.h",	"SIOCSIFBR",	0x8941},
+	{"linux/sockios.h",	"SIOCGIFTXQLEN",	0x8942},
+	{"linux/sockios.h",	"SIOCSIFTXQLEN",	0x8943},
+	{"linux/sockios.h",	"SIOCGIFDIVERT",	0x8944},
+	{"linux/sockios.h",	"SIOCSIFDIVERT",	0x8945},
+	{"linux/sockios.h",	"SIOCETHTOOL",	0x8946},
+	{"linux/sockios.h",	"SIOCGMIIPHY",	0x8947},
+	{"linux/sockios.h",	"SIOCGMIIREG",	0x8948},
+	{"linux/sockios.h",	"SIOCSMIIREG",	0x8949},
+	{"linux/sockios.h",	"SIOCWANDEV",	0x894a},
+	{"linux/sockios.h",	"SIOCDARP",	0x8953},
+	{"linux/sockios.h",	"SIOCGARP",	0x8954},
+	{"linux/sockios.h",	"SIOCSARP",	0x8955},
+	{"linux/sockios.h",	"SIOCDRARP",	0x8960},
+	{"linux/sockios.h",	"SIOCGRARP",	0x8961},
+	{"linux/sockios.h",	"SIOCSRARP",	0x8962},
+	{"linux/sockios.h",	"SIOCGIFMAP",	0x8970},
+	{"linux/sockios.h",	"SIOCSIFMAP",	0x8971},
+	{"linux/sockios.h",	"SIOCADDDLCI",	0x8980},
+	{"linux/sockios.h",	"SIOCDELDLCI",	0x8981},
+	{"linux/sockios.h",	"SIOCGIFVLAN",	0x8982},
+	{"linux/sockios.h",	"SIOCSIFVLAN",	0x8983},
+	{"linux/sockios.h",	"SIOCBONDENSLAVE",	0x8990},
+	{"linux/sockios.h",	"SIOCBONDRELEASE",	0x8991},
+	{"linux/sockios.h",	"SIOCBONDSETHWADDR",	0x8992},
+	{"linux/sockios.h",	"SIOCBONDSLAVEINFOQUERY",	0x8993},
+	{"linux/sockios.h",	"SIOCBONDINFOQUERY",	0x8994},
+	{"linux/sockios.h",	"SIOCBONDCHANGEACTIVE",	0x8995},
+	{"linux/sockios.h",	"SIOCBRADDBR",	0x89a0},
+	{"linux/sockios.h",	"SIOCBRDELBR",	0x89a1},
+	{"linux/sockios.h",	"SIOCBRADDIF",	0x89a2},
+	{"linux/sockios.h",	"SIOCBRDELIF",	0x89a3},
+	{"linux/sockios.h",	"SIOCSHWTSTAMP",	0x89b0},
+	{"linux/dn.h",	"OSIOCSNETADDR",	0x89e0},
+	{"linux/sockios.h",	"SIOCPROTOPRIVATE",	0x89e0},
+	{"linux/dn.h",	"SIOCSNETADDR",	0x89e0},
+	{"linux/dn.h",	"OSIOCGNETADDR",	0x89e1},
+	{"linux/dn.h",	"SIOCGNETADDR",	0x89e1},
+	{"linux/sockios.h",	"SIOCDEVPRIVATE",	0x89f0},
+	{"linux/wireless.h",	"SIOCIWFIRST",	0x8b00},
+	{"linux/wireless.h",	"SIOCSIWCOMMIT",	0x8b00},
+	{"linux/wireless.h",	"SIOCGIWNAME",	0x8b01},
+	{"linux/wireless.h",	"SIOCSIWNWID",	0x8b02},
+	{"linux/wireless.h",	"SIOCGIWNWID",	0x8b03},
+	{"linux/wireless.h",	"SIOCSIWFREQ",	0x8b04},
+	{"linux/wireless.h",	"SIOCGIWFREQ",	0x8b05},
+	{"linux/wireless.h",	"SIOCSIWMODE",	0x8b06},
+	{"linux/wireless.h",	"SIOCGIWMODE",	0x8b07},
+	{"linux/wireless.h",	"SIOCSIWSENS",	0x8b08},
+	{"linux/wireless.h",	"SIOCGIWSENS",	0x8b09},
+	{"linux/wireless.h",	"SIOCSIWRANGE",	0x8b0a},
+	{"linux/wireless.h",	"SIOCGIWRANGE",	0x8b0b},
+	{"linux/wireless.h",	"SIOCSIWPRIV",	0x8b0c},
+	{"linux/wireless.h",	"SIOCGIWPRIV",	0x8b0d},
+	{"linux/wireless.h",	"SIOCSIWSTATS",	0x8b0e},
+	{"linux/wireless.h",	"SIOCGIWSTATS",	0x8b0f},
+	{"linux/wireless.h",	"SIOCSIWSPY",	0x8b10},
+	{"linux/wireless.h",	"SIOCGIWSPY",	0x8b11},
+	{"linux/wireless.h",	"SIOCSIWTHRSPY",	0x8b12},
+	{"linux/wireless.h",	"SIOCGIWTHRSPY",	0x8b13},
+	{"linux/wireless.h",	"SIOCSIWAP",	0x8b14},
+	{"linux/wireless.h",	"SIOCGIWAP",	0x8b15},
+	{"linux/wireless.h",	"SIOCSIWMLME",	0x8b16},
+	{"linux/wireless.h",	"SIOCGIWAPLIST",	0x8b17},
+	{"linux/wireless.h",	"SIOCSIWSCAN",	0x8b18},
+	{"linux/wireless.h",	"SIOCGIWSCAN",	0x8b19},
+	{"linux/wireless.h",	"SIOCSIWESSID",	0x8b1a},
+	{"linux/wireless.h",	"SIOCGIWESSID",	0x8b1b},
+	{"linux/wireless.h",	"SIOCSIWNICKN",	0x8b1c},
+	{"linux/wireless.h",	"SIOCGIWNICKN",	0x8b1d},
+	{"linux/wireless.h",	"SIOCSIWRATE",	0x8b20},
+	{"linux/wireless.h",	"SIOCGIWRATE",	0x8b21},
+	{"linux/wireless.h",	"SIOCSIWRTS",	0x8b22},
+	{"linux/wireless.h",	"SIOCGIWRTS",	0x8b23},
+	{"linux/wireless.h",	"SIOCSIWFRAG",	0x8b24},
+	{"linux/wireless.h",	"SIOCGIWFRAG",	0x8b25},
+	{"linux/wireless.h",	"SIOCSIWTXPOW",	0x8b26},
+	{"linux/wireless.h",	"SIOCGIWTXPOW",	0x8b27},
+	{"linux/wireless.h",	"SIOCSIWRETRY",	0x8b28},
+	{"linux/wireless.h",	"SIOCGIWRETRY",	0x8b29},
+	{"linux/wireless.h",	"SIOCSIWENCODE",	0x8b2a},
+	{"linux/wireless.h",	"SIOCGIWENCODE",	0x8b2b},
+	{"linux/wireless.h",	"SIOCSIWPOWER",	0x8b2c},
+	{"linux/wireless.h",	"SIOCGIWPOWER",	0x8b2d},
+	{"linux/wireless.h",	"SIOCSIWGENIE",	0x8b30},
+	{"linux/wireless.h",	"SIOCGIWGENIE",	0x8b31},
+	{"linux/wireless.h",	"SIOCSIWAUTH",	0x8b32},
+	{"linux/wireless.h",	"SIOCGIWAUTH",	0x8b33},
+	{"linux/wireless.h",	"SIOCSIWENCODEEXT",	0x8b34},
+	{"linux/wireless.h",	"SIOCGIWENCODEEXT",	0x8b35},
+	{"linux/wireless.h",	"SIOCSIWPMKSA",	0x8b36},
+	{"linux/wireless.h",	"SIOCIWFIRSTPRIV",	0x8be0},
+	{"linux/wireless.h",	"SIOCIWLASTPRIV",	0x8bff},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_READY",	0x9360},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_FAIL",	0x9361},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_CATATONIC",	0x9362},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_PROTOVER",	0x9363},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_SETTIMEOUT",	0x9364},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_EXPIRE",	0x9365},
+	{"linux/auto_fs4.h",	"AUTOFS_IOC_EXPIRE_MULTI",	0x9366},
+	{"linux/auto_fs4.h",	"AUTOFS_IOC_PROTOSUBVER",	0x9367},
+	{"linux/auto_fs4.h",	"AUTOFS_IOC_ASKREGHOST",	0x9368},
+	{"linux/auto_fs4.h",	"AUTOFS_IOC_TOGGLEREGHOST",	0x9369},
+	{"linux/auto_fs4.h",	"AUTOFS_IOC_ASKUMOUNT",	0x9370},
+	{"linux/nbd.h",	"NBD_SET_SOCK",	0xab00},
+	{"linux/nbd.h",	"NBD_SET_BLKSIZE",	0xab01},
+	{"linux/nbd.h",	"NBD_SET_SIZE",	0xab02},
+	{"linux/nbd.h",	"NBD_DO_IT",	0xab03},
+	{"linux/nbd.h",	"NBD_CLEAR_SOCK",	0xab04},
+	{"linux/nbd.h",	"NBD_CLEAR_QUE",	0xab05},
+	{"linux/nbd.h",	"NBD_PRINT_DEBUG",	0xab06},
+	{"linux/nbd.h",	"NBD_SET_SIZE_BLOCKS",	0xab07},
+	{"linux/nbd.h",	"NBD_DISCONNECT",	0xab08},
+	{"linux/nbd.h",	"NBD_SET_TIMEOUT",	0xab09},
+	{"linux/raw.h",	"RAW_SETBIND",	0xac00},
+	{"linux/raw.h",	"RAW_GETBIND",	0xac01},
+	{"linux/kvm.h",	"KVM_GET_API_VERSION",	0xae00},
+	{"linux/kvm.h",	"KVM_CREATE_VM",	0xae01},
+	{"linux/kvm.h",	"KVM_GET_MSR_INDEX_LIST",	0xae02},
+	{"linux/kvm.h",	"KVM_CHECK_EXTENSION",	0xae03},
+	{"linux/kvm.h",	"KVM_GET_VCPU_MMAP_SIZE",	0xae04},
+	{"linux/kvm.h",	"KVM_GET_SUPPORTED_CPUID",	0xae05},
+	{"linux/kvm.h",	"KVM_S390_ENABLE_SIE",	0xae06},
+	{"linux/kvm.h",	"KVM_TRACE_ENABLE",	0xae06},
+	{"linux/kvm.h",	"KVM_TRACE_PAUSE",	0xae07},
+	{"linux/kvm.h",	"KVM_TRACE_DISABLE",	0xae08},
+	{"linux/kvm.h",	"KVM_SET_MEMORY_REGION",	0xae40},
+	{"linux/kvm.h",	"KVM_CREATE_VCPU",	0xae41},
+	{"linux/kvm.h",	"KVM_GET_DIRTY_LOG",	0xae42},
+	{"linux/kvm.h",	"KVM_SET_MEMORY_ALIAS",	0xae43},
+	{"linux/kvm.h",	"KVM_SET_NR_MMU_PAGES",	0xae44},
+	{"linux/kvm.h",	"KVM_GET_NR_MMU_PAGES",	0xae45},
+	{"linux/kvm.h",	"KVM_SET_USER_MEMORY_REGION",	0xae46},
+	{"linux/kvm.h",	"KVM_SET_TSS_ADDR",	0xae47},
+	{"linux/kvm.h",	"KVM_CREATE_IRQCHIP",	0xae60},
+	{"linux/kvm.h",	"KVM_IRQ_LINE",	0xae61},
+	{"linux/kvm.h",	"KVM_GET_IRQCHIP",	0xae62},
+	{"linux/kvm.h",	"KVM_SET_IRQCHIP",	0xae63},
+	{"linux/kvm.h",	"KVM_CREATE_PIT",	0xae64},
+	{"linux/kvm.h",	"KVM_GET_PIT",	0xae65},
+	{"linux/kvm.h",	"KVM_SET_PIT",	0xae66},
+	{"linux/kvm.h",	"KVM_IRQ_LINE_STATUS",	0xae67},
+	{"linux/kvm.h",	"KVM_ASSIGN_PCI_DEVICE",	0xae69},
+	{"linux/kvm.h",	"KVM_SET_GSI_ROUTING",	0xae6a},
+	{"linux/kvm.h",	"KVM_ASSIGN_DEV_IRQ",	0xae70},
+	{"linux/kvm.h",	"KVM_ASSIGN_IRQ",	0xae70},
+	{"linux/kvm.h",	"KVM_REINJECT_CONTROL",	0xae71},
+	{"linux/kvm.h",	"KVM_DEASSIGN_PCI_DEVICE",	0xae72},
+	{"linux/kvm.h",	"KVM_DEASSIGN_DEV_IRQ",	0xae75},
+	{"linux/kvm.h",	"KVM_RUN",	0xae80},
+	{"linux/kvm.h",	"KVM_GET_REGS",	0xae81},
+	{"linux/kvm.h",	"KVM_SET_REGS",	0xae82},
+	{"linux/kvm.h",	"KVM_GET_SREGS",	0xae83},
+	{"linux/kvm.h",	"KVM_SET_SREGS",	0xae84},
+	{"linux/kvm.h",	"KVM_TRANSLATE",	0xae85},
+	{"linux/kvm.h",	"KVM_INTERRUPT",	0xae86},
+	{"linux/kvm.h",	"KVM_DEBUG_GUEST",	0xae87},
+	{"linux/kvm.h",	"KVM_GET_MSRS",	0xae88},
+	{"linux/kvm.h",	"KVM_SET_MSRS",	0xae89},
+	{"linux/kvm.h",	"KVM_SET_CPUID",	0xae8a},
+	{"linux/kvm.h",	"KVM_SET_SIGNAL_MASK",	0xae8b},
+	{"linux/kvm.h",	"KVM_GET_FPU",	0xae8c},
+	{"linux/kvm.h",	"KVM_SET_FPU",	0xae8d},
+	{"linux/kvm.h",	"KVM_GET_LAPIC",	0xae8e},
+	{"linux/kvm.h",	"KVM_SET_LAPIC",	0xae8f},
+	{"linux/kvm.h",	"KVM_SET_CPUID2",	0xae90},
+	{"linux/kvm.h",	"KVM_GET_CPUID2",	0xae91},
+	{"linux/kvm.h",	"KVM_TPR_ACCESS_REPORTING",	0xae92},
+	{"linux/kvm.h",	"KVM_SET_VAPIC_ADDR",	0xae93},
+	{"linux/kvm.h",	"KVM_S390_INTERRUPT",	0xae94},
+	{"linux/kvm.h",	"KVM_S390_STORE_STATUS",	0xae95},
+	{"linux/kvm.h",	"KVM_S390_SET_INITIAL_PSW",	0xae96},
+	{"linux/kvm.h",	"KVM_S390_INITIAL_RESET",	0xae97},
+	{"linux/kvm.h",	"KVM_GET_MP_STATE",	0xae98},
+	{"linux/kvm.h",	"KVM_SET_MP_STATE",	0xae99},
+	{"linux/kvm.h",	"KVM_IA64_VCPU_GET_STACK",	0xae9a},
+	{"linux/kvm.h",	"KVM_NMI",	0xae9a},
+	{"linux/kvm.h",	"KVM_IA64_VCPU_SET_STACK",	0xae9b},
+	{"linux/kvm.h",	"KVM_SET_GUEST_DEBUG",	0xae9b},
+	{"linux/if_pppox.h",	"PPPOEIOCSFWD",	0xb100},
+	{"linux/if_pppox.h",	"PPPOEIOCDFWD",	0xb101},
+	{"linux/usb/iowarrior.h",	"IOW_WRITE",	0xc001},
+	{"linux/usb/iowarrior.h",	"IOW_READ",	0xc002},
+	{"linux/usb/iowarrior.h",	"IOW_GETINFO",	0xc003},
+	{"linux/reiserfs_fs.h",	"REISERFS_IOC32_UNPACK",	0xcd01},
+	{"linux/reiserfs_fs.h",	"REISERFS_IOC_UNPACK",	0xcd01},
+	{"video/sisfb.h",	"SISFB_GET_INFO_SIZE",	0xf300},
+	{"video/sisfb.h",	"SISFB_GET_INFO",	0xf301},
+	{"video/sisfb.h",	"SISFB_GET_VBRSTATUS",	0xf302},
+	{"video/sisfb.h",	"SISFB_GET_AUTOMAXIMIZE",	0xf303},
+	{"video/sisfb.h",	"SISFB_SET_AUTOMAXIMIZE",	0xf303},
+	{"video/sisfb.h",	"SISFB_GET_TVPOSOFFSET",	0xf304},
+	{"video/sisfb.h",	"SISFB_SET_TVPOSOFFSET",	0xf304},
+	{"video/sisfb.h",	"SISFB_COMMAND",	0xf305},
+	{"video/sisfb.h",	"SISFB_SET_LOCK",	0xf306},
+	{"video/mbxfb.h",	"MBXFB_IOCX_OVERLAY",	0xf400},
+	{"video/mbxfb.h",	"MBXFB_IOCG_ALPHA",	0xf401},
+	{"video/mbxfb.h",	"MBXFB_IOCS_ALPHA",	0xf402},
+	{"video/mbxfb.h",	"MBXFB_IOCS_PLANEORDER",	0xf403},
+	{"video/mbxfb.h",	"MBXFB_IOCS_REG",	0xf404},
+	{"video/mbxfb.h",	"MBXFB_IOCX_REG",	0xf405},
+	{"linux/dm-ioctl.h",	"DM_VERSION",	0xfd00},
+	{"linux/dm-ioctl.h",	"DM_VERSION_32",	0xfd00},
+	{"linux/dm-ioctl.h",	"DM_REMOVE_ALL",	0xfd01},
+	{"linux/dm-ioctl.h",	"DM_REMOVE_ALL_32",	0xfd01},
+	{"linux/dm-ioctl.h",	"DM_LIST_DEVICES",	0xfd02},
+	{"linux/dm-ioctl.h",	"DM_LIST_DEVICES_32",	0xfd02},
+	{"linux/dm-ioctl.h",	"DM_DEV_CREATE",	0xfd03},
+	{"linux/dm-ioctl.h",	"DM_DEV_CREATE_32",	0xfd03},
+	{"linux/dm-ioctl.h",	"DM_DEV_REMOVE",	0xfd04},
+	{"linux/dm-ioctl.h",	"DM_DEV_REMOVE_32",	0xfd04},
+	{"linux/dm-ioctl.h",	"DM_DEV_RENAME",	0xfd05},
+	{"linux/dm-ioctl.h",	"DM_DEV_RENAME_32",	0xfd05},
+	{"linux/dm-ioctl.h",	"DM_DEV_SUSPEND",	0xfd06},
+	{"linux/dm-ioctl.h",	"DM_DEV_SUSPEND_32",	0xfd06},
+	{"linux/dm-ioctl.h",	"DM_DEV_STATUS",	0xfd07},
+	{"linux/dm-ioctl.h",	"DM_DEV_STATUS_32",	0xfd07},
+	{"linux/dm-ioctl.h",	"DM_DEV_WAIT",	0xfd08},
+	{"linux/dm-ioctl.h",	"DM_DEV_WAIT_32",	0xfd08},
+	{"linux/dm-ioctl.h",	"DM_TABLE_LOAD",	0xfd09},
+	{"linux/dm-ioctl.h",	"DM_TABLE_LOAD_32",	0xfd09},
+	{"linux/dm-ioctl.h",	"DM_TABLE_CLEAR",	0xfd0a},
+	{"linux/dm-ioctl.h",	"DM_TABLE_CLEAR_32",	0xfd0a},
+	{"linux/dm-ioctl.h",	"DM_TABLE_DEPS",	0xfd0b},
+	{"linux/dm-ioctl.h",	"DM_TABLE_DEPS_32",	0xfd0b},
+	{"linux/dm-ioctl.h",	"DM_TABLE_STATUS",	0xfd0c},
+	{"linux/dm-ioctl.h",	"DM_TABLE_STATUS_32",	0xfd0c},
+	{"linux/dm-ioctl.h",	"DM_LIST_VERSIONS",	0xfd0d},
+	{"linux/dm-ioctl.h",	"DM_LIST_VERSIONS_32",	0xfd0d},
+	{"linux/dm-ioctl.h",	"DM_TARGET_MSG",	0xfd0e},
+	{"linux/dm-ioctl.h",	"DM_TARGET_MSG_32",	0xfd0e},
+	{"linux/dm-ioctl.h",	"DM_DEV_SET_GEOMETRY",	0xfd0f},
+	{"linux/dm-ioctl.h",	"DM_DEV_SET_GEOMETRY_32",	0xfd0f},
diff --git a/strace-4.5.20/linux/bfin/syscallent.h b/strace-4.5.20/linux/bfin/syscallent.h
new file mode 100644
index 0000000..660b842
--- /dev/null
+++ b/strace-4.5.20/linux/bfin/syscallent.h
@@ -0,0 +1,401 @@
+/*
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+	{ 0,	0,	sys_restart_syscall,	"restart_syscall"	}, /* 0 */
+	{ 1,	TP,	sys_exit,		"_exit", SYS_exit }, /* 1 */
+	{ 0,	TP,	sys_fork,		"fork", SYS_fork }, /* 2 */
+	{ 3,	TD,	sys_read,		"read", SYS_read }, /* 3 */
+	{ 3,	TD,	sys_write,		"write", SYS_write }, /* 4 */
+	{ 3,	TD|TF,	sys_open,		"open"		}, /* 5 */
+	{ 1,	TD,	sys_close,		"close"		}, /* 6 */
+	{ 3,	TP,	sys_waitpid,		"waitpid", SYS_wait4 }, /* 7 */
+	{ 2,	TD|TF,	sys_creat,		"creat"		}, /* 8 */
+	{ 2,	TF,	sys_link,		"link"		}, /* 9 */
+	{ 1,	TF,	sys_unlink,		"unlink"	}, /* 10 */
+	{ 3,	TF|TP,	sys_execve,		"execve", SYS_execve }, /* 11 */
+	{ 1,	TF,	sys_chdir,		"chdir"		}, /* 12 */
+	{ 1,	0,	sys_time,		"time"		}, /* 13 */
+	{ 3,	TF,	sys_mknod,		"mknod"		}, /* 14 */
+	{ 2,	TF,	sys_chmod,		"chmod"		}, /* 15 */
+	{ 3,	TF,	sys_chown,		"chown"		}, /* 16 */
+	{ 0,	0,	sys_break,		"break"		}, /* 17 */
+	{ 2,	TF,	sys_oldstat,		"oldstat"	}, /* 18 */
+	{ 3,	TD,	sys_lseek,		"lseek"		}, /* 19 */
+	{ 0,	0,	sys_getpid,		"getpid"	}, /* 20 */
+	{ 5,	TF,	sys_mount,		"mount"		}, /* 21 */
+	{ 1,	TF,	sys_umount,		"oldumount"	}, /* 22 */
+	{ 1,	0,	sys_setuid,		"setuid"	}, /* 23 */
+	{ 0,	0,	sys_getuid,		"getuid"	}, /* 24 */
+	{ 1,	0,	sys_stime,		"stime"		}, /* 25 */
+	{ 4,	0,	sys_ptrace,		"ptrace"	}, /* 26 */
+	{ 1,	0,	sys_alarm,		"alarm"		}, /* 27 */
+	{ 2,	TD,	sys_oldfstat,		"oldfstat"	}, /* 28 */
+	{ 0,	TS,	sys_pause,		"pause"		}, /* 29 */
+	{ 2,	TF,	sys_utime,		"utime"		}, /* 30 */
+	{ 2,	0,	sys_stty,		"stty"		}, /* 31 */
+	{ 2,	0,	sys_gtty,		"gtty"		}, /* 32 */
+	{ 2,	TF,	sys_access,		"access"	}, /* 33 */
+	{ 1,	0,	sys_nice,		"nice"		}, /* 34 */
+	{ 0,	0,	sys_ftime,		"ftime"		}, /* 35 */
+	{ 0,	0,	sys_sync,		"sync"		}, /* 36 */
+	{ 2,	TS,	sys_kill,		"kill"		}, /* 37 */
+	{ 2,	TF,	sys_rename,		"rename"	}, /* 38 */
+	{ 2,	TF,	sys_mkdir,		"mkdir"		}, /* 39 */
+	{ 1,	TF,	sys_rmdir,		"rmdir"		}, /* 40 */
+	{ 1,	TD,	sys_dup,		"dup"		}, /* 41 */
+	{ 1,	TD,	sys_pipe,		"pipe"		}, /* 42 */
+	{ 1,	0,	sys_times,		"times"		}, /* 43 */
+	{ 0,	0,	sys_prof,		"prof"		}, /* 44 */
+	{ 1,	0,	sys_brk,		"brk"		}, /* 45 */
+	{ 1,	0,	sys_setgid,		"setgid"	}, /* 46 */
+	{ 0,	0,	sys_getgid,		"getgid"	}, /* 47 */
+	{ 3,	TS,	sys_signal,		"signal"	}, /* 48 */
+	{ 0,	0,	sys_geteuid,		"geteuid"	}, /* 49 */
+	{ 0,	0,	sys_getegid,		"getegid"	}, /* 50 */
+	{ 1,	TF,	sys_acct,		"acct"		}, /* 51 */
+	{ 2,	TF,	sys_umount2,		"umount"	}, /* 52 */
+	{ 0,	0,	sys_lock,		"lock"		}, /* 53 */
+	{ 3,	TD,	sys_ioctl,		"ioctl"		}, /* 54 */
+	{ 3,	TD,	sys_fcntl,		"fcntl"		}, /* 55 */
+	{ 0,	0,	sys_mpx,		"mpx"		}, /* 56 */
+	{ 2,	0,	sys_setpgid,		"setpgid"	}, /* 57 */
+	{ 2,	0,	sys_ulimit,		"ulimit"	}, /* 58 */
+	{ 1,	0,	sys_oldolduname,	"oldolduname"	}, /* 59 */
+	{ 1,	0,	sys_umask,		"umask"		}, /* 60 */
+	{ 1,	TF,	sys_chroot,		"chroot"	}, /* 61 */
+	{ 2,	0,	sys_ustat,		"ustat"		}, /* 62 */
+	{ 2,	TD,	sys_dup2,		"dup2"		}, /* 63 */
+	{ 0,	0,	sys_getppid,		"getppid"	}, /* 64 */
+	{ 0,	0,	sys_getpgrp,		"getpgrp"	}, /* 65 */
+	{ 0,	0,	sys_setsid,		"setsid"	}, /* 66 */
+	{ 3,	TS,	sys_sigaction,		"sigaction"	}, /* 67 */
+	{ 0,	TS,	sys_siggetmask,		"siggetmask"	}, /* 68 */
+	{ 1,	TS,	sys_sigsetmask,		"sigsetmask"	}, /* 69 */
+	{ 2,	0,	sys_setreuid,		"setreuid"	}, /* 70 */
+	{ 2,	0,	sys_setregid,		"setregid"	}, /* 71 */
+	{ 3,	TS,	sys_sigsuspend,		"sigsuspend"	}, /* 72 */
+	{ 1,	TS,	sys_sigpending,		"sigpending"	}, /* 73 */
+	{ 2,	0,	sys_sethostname,	"sethostname"	}, /* 74 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit"	}, /* 75 */
+	{ 2,	0,	sys_getrlimit,		"old_getrlimit"	}, /* 76 */
+	{ 2,	0,	sys_getrusage,		"getrusage"	}, /* 77 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday"	}, /* 78 */
+	{ 2,	0,	sys_settimeofday,	"settimeofday"	}, /* 79 */
+	{ 2,	0,	sys_getgroups,		"getgroups"	}, /* 80 */
+	{ 2,	0,	sys_setgroups,		"setgroups"	}, /* 81 */
+	{ 1,	TD,	sys_oldselect,		"oldselect"	}, /* 82 */
+	{ 2,	TF,	sys_symlink,		"symlink"	}, /* 83 */
+	{ 2,	TF,	sys_oldlstat,		"oldlstat"	}, /* 84 */
+	{ 3,	TF,	sys_readlink,		"readlink"	}, /* 85 */
+	{ 1,	TF,	sys_uselib,		"uselib"	}, /* 86 */
+	{ 1,	TF,	sys_swapon,		"swapon"	}, /* 87 */
+	{ 3,	0,	sys_reboot,		"reboot"	}, /* 88 */
+	{ 3,	TD,	sys_readdir,		"readdir"	}, /* 89 */
+	{ 6,	TD,	sys_old_mmap,		"old_mmap"	}, /* 90 */
+	{ 2,	0,	sys_munmap,		"munmap"	}, /* 91 */
+	{ 2,	TF,	sys_truncate,		"truncate"	}, /* 92 */
+	{ 2,	TD,	sys_ftruncate,		"ftruncate"	}, /* 93 */
+	{ 2,	TD,	sys_fchmod,		"fchmod"	}, /* 94 */
+	{ 3,	TD,	sys_fchown,		"fchown"	}, /* 95 */
+	{ 2,	0,	sys_getpriority,	"getpriority"	}, /* 96 */
+	{ 3,	0,	sys_setpriority,	"setpriority"	}, /* 97 */
+	{ 4,	0,	sys_profil,		"profil"	}, /* 98 */
+	{ 2,	TF,	sys_statfs,		"statfs"	}, /* 99 */
+	{ 2,	TD,	sys_fstatfs,		"fstatfs"	}, /* 100 */
+	{ 3,	0,	sys_ioperm,		"ioperm"	}, /* 101 */
+	{ 2,	TD,	sys_socketcall,		"socketcall", SYS_socketcall }, /* 102 */
+	{ 3,	0,	sys_syslog,		"syslog"	}, /* 103 */
+	{ 3,	0,	sys_setitimer,		"setitimer"	}, /* 104 */
+	{ 2,	0,	sys_getitimer,		"getitimer"	}, /* 105 */
+	{ 2,	TF,	sys_stat,		"stat"		}, /* 106 */
+	{ 2,	TF,	sys_lstat,		"lstat"		}, /* 107 */
+	{ 2,	TD,	sys_fstat,		"fstat"		}, /* 108 */
+	{ 1,	0,	sys_olduname,		"olduname"	}, /* 109 */
+	{ 1,	0,	sys_iopl,		"iopl"		}, /* 110 */
+	{ 0,	0,	sys_vhangup,		"vhangup"	}, /* 111 */
+	{ 0,	0,	sys_idle,		"idle"		}, /* 112 */
+	{ 1,	0,	sys_vm86old,		"vm86old"	}, /* 113 */
+	{ 4,	TP,	sys_wait4,		"wait4", SYS_wait4 }, /* 114 */
+	{ 1,	0,	sys_swapoff,		"swapoff"	}, /* 115 */
+	{ 1,	0,	sys_sysinfo,		"sysinfo"	}, /* 116 */
+	{ 6,	0,	sys_ipc,		"ipc", SYS_ipc }, /* 117 */
+	{ 1,	TD,	sys_fsync,		"fsync"		}, /* 118 */
+	{ 1,	TS,	sys_sigreturn,		"sigreturn"	}, /* 119 */
+	{ 5,	TP,	sys_clone,		"clone", SYS_clone }, /* 120 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname"	}, /* 121 */
+	{ 1,	0,	sys_uname,		"uname"		}, /* 122 */
+	{ 3,	0,	sys_modify_ldt,		"modify_ldt"	}, /* 123 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex"	}, /* 124 */
+	{ 3,	0,	sys_mprotect,		"mprotect"	}, /* 125 */
+	{ 3,	TS,	sys_sigprocmask,	"sigprocmask"	}, /* 126 */
+	{ 2,	0,	sys_create_module,	"create_module"	}, /* 127 */
+	{ 3,	0,	sys_init_module,	"init_module"	}, /* 128 */
+	{ 1,	0,	sys_delete_module,	"delete_module"	}, /* 129 */
+	{ 1,	0,	sys_get_kernel_syms,	"get_kernel_syms"	}, /* 130 */
+	{ 4,	0,	sys_quotactl,		"quotactl"	}, /* 131 */
+	{ 1,	0,	sys_getpgid,		"getpgid"	}, /* 132 */
+	{ 1,	TD,	sys_fchdir,		"fchdir"	}, /* 133 */
+	{ 0,	0,	sys_bdflush,		"bdflush"	}, /* 134 */
+	{ 3,	0,	printargs,		"sysfs"		}, /* 135 */
+	{ 1,	0,	sys_personality,	"personality"	}, /* 136 */
+	{ 5,	0,	sys_afs_syscall,	"afs_syscall"	}, /* 137 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid"	}, /* 138 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid"	}, /* 139 */
+	{ 5,	TD,	sys_llseek,		"_llseek"	}, /* 140 */
+	{ 3,	TD,	sys_getdents,		"getdents"	}, /* 141 */
+	{ 5,	TD,	sys_select,		"select"	}, /* 142 */
+	{ 2,	TD,	sys_flock,		"flock"		}, /* 143 */
+	{ 3,	0,	sys_msync,		"msync"		}, /* 144 */
+	{ 3,	TD,	sys_readv,		"readv", SYS_readv }, /* 145 */
+	{ 3,	TD,	sys_writev,		"writev", SYS_writev }, /* 146 */
+	{ 1,	0,	sys_getsid,		"getsid"	}, /* 147 */
+	{ 1,	TD,	sys_fdatasync,		"fdatasync"	}, /* 148 */
+	{ 1,	0,	sys_sysctl,		"_sysctl"	}, /* 149 */
+	{ 2,	0,	sys_mlock,		"mlock"		}, /* 150 */
+	{ 2,	0,	sys_munlock,		"munlock"	}, /* 151 */
+	{ 2,	0,	sys_mlockall,		"mlockall"	}, /* 152 */
+	{ 0,	0,	sys_munlockall,		"munlockall"	}, /* 153 */
+	{ 0,	0,	sys_sched_setparam,	"sched_setparam"	}, /* 154 */
+	{ 2,	0,	sys_sched_getparam,	"sched_getparam"	}, /* 155 */
+	{ 3,	0,	sys_sched_setscheduler,	"sched_setscheduler"	}, /* 156 */
+	{ 1,	0,	sys_sched_getscheduler,	"sched_getscheduler"	}, /* 157 */
+	{ 0,	0,	sys_sched_yield,	"sched_yield"	}, /* 158 */
+	{ 1,	0,	sys_sched_get_priority_max,	"sched_get_priority_max"	}, /* 159 */
+	{ 1,	0,	sys_sched_get_priority_min,	"sched_get_priority_min"	}, /* 160 */
+	{ 2,	0,	sys_sched_rr_get_interval,	"sched_rr_get_interval"	}, /* 161 */
+	{ 2,	0,	sys_nanosleep,		"nanosleep"	}, /* 162 */
+	{ 5,	0,	sys_mremap,		"mremap"	}, /* 163 */
+	{ 3,	0,	sys_setresuid,		"setresuid"	}, /* 164 */
+	{ 3,	0,	sys_getresuid,		"getresuid"	}, /* 165 */
+	{ 5,	0,	printargs,		"vm86"		}, /* 166 */
+	{ 5,	0,	sys_query_module,	"query_module"	}, /* 167 */
+	{ 3,	TD,	sys_poll,		"poll"		}, /* 168 */
+	{ 3,	0,	printargs,		"nfsservctl"	}, /* 169 */
+	{ 3,	0,	sys_setresgid,		"setresgid"	}, /* 170 */
+	{ 3,	0,	sys_getresgid,		"getresgid"	}, /* 171 */
+	{ 5,	0,	sys_prctl,		"prctl"		}, /* 172 */
+	{ 1,	TS,	printargs,		"rt_sigreturn"	}, /* 173 */
+	{ 4,	TS,	sys_rt_sigaction,	"rt_sigaction"	}, /* 174 */
+	{ 4,	TS,	sys_rt_sigprocmask,	"rt_sigprocmask"	}, /* 175 */
+	{ 2,	TS,	sys_rt_sigpending,	"rt_sigpending"	}, /* 176 */
+	{ 4,	TS,	sys_rt_sigtimedwait,	"rt_sigtimedwait"	}, /* 177 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,	"rt_sigqueueinfo"	}, /* 178 */
+	{ 2,	TS,	sys_rt_sigsuspend,	"rt_sigsuspend"	}, /* 179 */
+	{ 5,	TD,	sys_pread,		"pread", SYS_read }, /* 180 */
+	{ 5,	TD,	sys_pwrite,		"pwrite", SYS_write }, /* 181 */
+	{ 3,	TF,	sys_chown,		"lchown"	}, /* 182 */
+	{ 2,	TF,	sys_getcwd,		"getcwd"	}, /* 183 */
+	{ 2,	0,	sys_capget,		"capget"	}, /* 184 */
+	{ 2,	0,	sys_capset,		"capset"	}, /* 185 */
+	{ 2,	TS,	sys_sigaltstack,	"sigaltstack"	}, /* 186 */
+	{ 4,	TD|TN,	sys_sendfile,		"sendfile"	}, /* 187 */
+	{ 5,	0,	sys_getpmsg,		"getpmsg"	}, /* 188 */
+	{ 5,	0,	sys_putpmsg,		"putpmsg"	}, /* 189 */
+	{ 0,	TP,	sys_vfork,		"vfork", SYS_vfork }, /* 190 */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"	}, /* 191 */
+	{ 6,	0,	sys_mmap,		"mmap2"		}, /* 192 */
+	{ 3,	TF,	sys_truncate64,		"truncate64"	}, /* 193 */
+	{ 3,	TD,	sys_ftruncate64,	"ftruncate64"	}, /* 194 */
+	{ 2,	TF,	sys_stat64,		"stat64"	}, /* 195 */
+	{ 2,	TF,	sys_lstat64,		"lstat64"	}, /* 196 */
+	{ 2,	TD,	sys_fstat64,		"fstat64"	}, /* 197 */
+	{ 3,	TF,	sys_chown,		"chown32"	}, /* 198 */
+	{ 0,	0,	sys_getuid,		"getuid32"	}, /* 199 */
+	{ 0,	0,	sys_getgid,		"getgid32"	}, /* 200 */
+	{ 0,	0,	sys_geteuid,		"geteuid32"	}, /* 201 */
+	{ 0,	0,	sys_geteuid,		"getegid32"	}, /* 202 */
+	{ 2,	0,	sys_setreuid,		"setreuid32"	}, /* 203 */
+	{ 2,	0,	sys_setregid,		"setregid32"	}, /* 204 */
+	{ 2,	0,	sys_getgroups32,	"getgroups32"	}, /* 205 */
+	{ 2,	0,	sys_setgroups32,	"setgroups32"	}, /* 206 */
+	{ 3,	TD,	sys_fchown,		"fchown32"	}, /* 207 */
+	{ 3,	0,	sys_setresuid,		"setresuid32"	}, /* 208 */
+	{ 3,	0,	sys_getresuid,		"getresuid32"	}, /* 209 */
+	{ 3,	0,	sys_setresgid,		"setresgid32"	}, /* 210 */
+	{ 3,	0,	sys_getresgid,		"getresgid32"	}, /* 211 */
+	{ 3,	TF,	sys_chown,		"lchown32"	}, /* 212 */
+	{ 1,	0,	sys_setuid,		"setuid32"	}, /* 213 */
+	{ 1,	0,	sys_setgid,		"setgid32"	}, /* 214 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid32"	}, /* 215 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid32"	}, /* 216 */
+	{ 2,	TF,	sys_pivotroot,		"pivot_root"	}, /* 217 */
+	{ 3,	0,	sys_mincore,		"mincore"	}, /* 218 */
+	{ 3,	0,	sys_madvise,		"madvise"	}, /* 219 */
+	{ 3,	TD,	sys_getdents64,		"getdents64"	}, /* 220 */
+	{ 3,	TD,	sys_fcntl,		"fcntl64"	}, /* 221 */
+	{ 4,	0,	printargs,		"SYS_222"	}, /* 222 */
+	{ 5,	0,	printargs,		"security"	}, /* 223 */
+	{ 0,	0,	printargs,		"gettid"	}, /* 224 */
+	{ 4,	TD,	sys_readahead,		"readahead"	}, /* 225 */
+	{ 5,	TF,	sys_setxattr,		"setxattr"	}, /* 226 */
+	{ 5,	TF,	sys_setxattr,		"lsetxattr"	}, /* 227 */
+	{ 5,	TD,	sys_fsetxattr,		"fsetxattr"	}, /* 228 */
+	{ 4,	TF,	sys_getxattr,		"getxattr"	}, /* 229 */
+	{ 4,	TF,	sys_getxattr,		"lgetxattr"	}, /* 230 */
+	{ 4,	0,	sys_fgetxattr,		"fgetxattr"	}, /* 231 */
+	{ 3,	TF,	sys_listxattr,		"listxattr"	}, /* 232 */
+	{ 3,	TF,	sys_listxattr,		"llistxattr"	}, /* 233 */
+	{ 3,	0,	sys_flistxattr,		"flistxattr"	}, /* 234 */
+	{ 2,	TF,	sys_removexattr,	"removexattr"	}, /* 235 */
+	{ 2,	TF,	sys_removexattr,	"lremovexattr"	}, /* 236 */
+	{ 2,	TD,	sys_fremovexattr,	"fremovexattr"	}, /* 237 */
+	{ 2,	TS,	sys_kill,		"tkill"		}, /* 238 */
+	{ 4,	TD|TN,	sys_sendfile64,		"sendfile64"	}, /* 239 */
+	{ 6,	0,	sys_futex,		"futex"		}, /* 240 */
+	{ 3,	0,	sys_sched_setaffinity,	"sched_setaffinity"	},/* 241 */
+	{ 3,	0,	sys_sched_getaffinity,	"sched_getaffinity"	},/* 242 */
+	{ 1,	0,	sys_set_thread_area,	"set_thread_area"	}, /* 243 */
+	{ 1,	0,	sys_get_thread_area,	"get_thread_area"	}, /* 244 */
+	{ 2,	0,	sys_io_setup,		"io_setup"	}, /* 245 */
+	{ 1,	0,	sys_io_destroy,		"io_destroy"	}, /* 246 */
+	{ 5,	0,	sys_io_getevents,	"io_getevents"	}, /* 247 */
+	{ 3,	0,	sys_io_submit,		"io_submit"	}, /* 248 */
+	{ 3,	0,	sys_io_cancel,		"io_cancel"	}, /* 249 */
+	{ 5,	0,	printargs,		"alloc_hugepages"	}, /* 250 */
+	{ 1,	0,	printargs,		"free_hugepages"	}, /* 251 */
+	{ 1,	TP,	sys_exit,		"exit_group", __NR_exit_group }, /* 252 */
+	{ 4,	0,	printargs,		"lookup_dcookie"	}, /* 253 */
+	{ 1,	0,	printargs,		"bfin_spinlock"	}, /* 254 */
+	{ 1,	0,	sys_epoll_create,	"epoll_create"	}, /* 255 */
+	{ 4,	TD,	sys_epoll_ctl,		"epoll_ctl"	}, /* 256 */
+	{ 4,	TD,	sys_epoll_wait,		"epoll_wait"	}, /* 257 */
+	{ 5,	0,	sys_remap_file_pages,	"remap_file_pages"	}, /* 258 */
+	{ 1,	0,	printargs,		"set_tid_address"	}, /* 259 */
+	{ 3,	0,	sys_timer_create,	"timer_create"	}, /* 260 */
+	{ 4,	0,	sys_timer_settime,	"timer_settime"	}, /* 261 */
+	{ 2,	0,	sys_timer_gettime,	"timer_gettime"	}, /* 262 */
+	{ 1,	0,	sys_timer_getoverrun,	"timer_getoverrun"	}, /* 263 */
+	{ 1,	0,	sys_timer_delete,	"timer_delete"	}, /* 264 */
+	{ 2,	0,	sys_clock_settime,	"clock_settime"	}, /* 265 */
+	{ 2,	0,	sys_clock_gettime,	"clock_gettime"	}, /* 266 */
+	{ 2,	0,	sys_clock_getres,	"clock_getres"	}, /* 267 */
+	{ 4,	0,	sys_clock_nanosleep,	"clock_nanosleep"	}, /* 268 */
+	{ 3,	TF,	sys_statfs64,		"statfs64"	}, /* 269 */
+	{ 3,	TD,	sys_fstatfs64,		"fstatfs64"	}, /* 270 */
+	{ 3,	TS,	sys_tgkill,		"tgkill"	}, /* 271 */
+	{ 2,	TF,	sys_utimes,		"utimes"	}, /* 272 */
+	{ 6,	0,	sys_fadvise64_64,	"fadvise64_64"	}, /* 273 */
+	{ 5,	0,	printargs,		"vserver"	}, /* 274 */
+	{ 6,	0,	sys_mbind,		"mbind"		}, /* 275 */
+	{ 5,	0,	sys_get_mempolicy,	"get_mempolicy"	}, /* 276 */
+	{ 3,	0,	sys_set_mempolicy,	"set_mempolicy"	}, /* 277 */
+	{ 4,	0,	sys_mq_open,		"mq_open"	}, /* 278 */
+	{ 1,	0,	sys_mq_unlink,		"mq_unlink"	}, /* 279 */
+	{ 5,	0,	sys_mq_timedsend,	"mq_timedsend"	}, /* 280 */
+	{ 5,	0,	sys_mq_timedreceive,	"mq_timedreceive"	}, /* 281 */
+	{ 2,	0,	sys_mq_notify,		"mq_notify"	}, /* 282 */
+	{ 3,	0,	sys_mq_getsetattr,	"mq_getsetattr"	}, /* 283 */
+	{ 5,	0,	printargs,		"kexec_load"	}, /* 284 */
+	{ 5,	TP,	sys_waitid,		"waitid", SYS_waitid }, /* 285 */
+	{ 5,	0,	printargs,		"add_key"	}, /* 286 */
+	{ 4,	0,	printargs,		"request_key"	}, /* 287 */
+	{ 5,	0,	printargs,		"keyctl"	}, /* 288 */
+	{ 3,	0,	printargs,		"ioprio_set"	}, /* 289 */
+	{ 2,	0,	printargs,		"ioprio_get"	}, /* 290 */
+	{ 0,	TD,	printargs,		"inotify_init"	}, /* 291 */
+	{ 3,	TD,	sys_inotify_add_watch,	"inotify_add_watch"	}, /* 292 */
+	{ 2,	TD,	sys_inotify_rm_watch,	"inotify_rm_watch"	}, /* 293 */
+	{ 4,	0,	printargs,		"migrate_pages"	}, /* 294 */
+	{ 4,	TD|TF,	sys_openat,		"openat"	}, /* 295 */
+	{ 3,	TD|TF,	sys_mkdirat,		"mkdirat"	}, /* 296 */
+	{ 4,	TD|TF,	sys_mknodat,		"mknodat"	}, /* 297 */
+	{ 5,	TD|TF,	sys_fchownat,		"fchownat"	}, /* 298 */
+	{ 3,	TD|TF,	sys_futimesat,		"futimesat"	}, /* 299 */
+	{ 4,	TD|TD,	sys_newfstatat,		"fstatat64"	}, /* 300 */
+	{ 3,	TD|TF,	sys_unlinkat,		"unlinkat"	}, /* 301 */
+	{ 4,	TD|TF,	sys_renameat,		"renameat"	}, /* 302 */
+	{ 5,	TD|TF,	sys_linkat,		"linkat"	}, /* 303 */
+	{ 3,	TD|TF,	sys_symlinkat,		"symlinkat"	}, /* 304 */
+	{ 4,	TD|TF,	sys_readlinkat,		"readlinkat"	}, /* 305 */
+	{ 3,	TD|TF,	sys_fchmodat,		"fchmodat"	}, /* 306 */
+	{ 3,	TD|TF,	sys_faccessat,		"faccessat"	}, /* 307 */
+	{ 6,	TD,	sys_pselect6,		"pselect6"	}, /* 308 */
+	{ 5,	TD,	sys_ppoll,		"ppoll"		}, /* 309 */
+	{ 1,	TP,	sys_unshare,		"unshare"	}, /* 310 */
+	{ 2,	0,	sys_sram_alloc,		"sram_alloc"	}, /* 311 */
+	{ 1,	0,	printargs,		"sram_free"	}, /* 312 */
+	{ 3,	0,	printargs,		"dma_memcpy"	}, /* 313 */
+	{ 3,	TN,	sys_accept,		"accept"	}, /* 314 */
+	{ 3,	TN,	sys_bind,		"bind"		}, /* 315 */
+	{ 3,	TN,	sys_connect,		"connect"	}, /* 316 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	}, /* 317 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	}, /* 318 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 319 */
+	{ 2,	TN,	sys_listen,		"listen"	}, /* 320 */
+	{ 4,	TN,	sys_recv,		"recv", SYS_sub_recv }, /* 321 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom", SYS_sub_recvfrom }, /* 322 */
+	{ 5,	TN,	sys_recvmsg,		"recvmsg"	}, /* 323 */
+	{ 4,	TN,	sys_send,		"send", SYS_sub_send }, /* 324 */
+	{ 5,	TN,	sys_sendmsg,		"sendmsg"	}, /* 325 */
+	{ 6,	TN,	sys_sendto,		"sendto", SYS_sub_sendto }, /* 326 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	}, /* 327 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	}, /* 328 */
+	{ 3,	TN,	sys_socket,		"socket"	}, /* 329 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"	}, /* 330 */
+	{ 4,	TI,	sys_semctl,		"semctl"	}, /* 331 */
+	{ 4,	TI,	sys_semget,		"semget"	}, /* 332 */
+	{ 4,	TI,	sys_semop,		"semop"		}, /* 333 */
+	{ 4,	TI,	sys_msgctl,		"msgctl"	}, /* 334 */
+	{ 4,	TI,	sys_msgget,		"msgget"	}, /* 335 */
+	{ 4,	TI,	sys_msgrcv,		"msgrcv"	}, /* 336 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd"	}, /* 337 */
+	{ 4,	TI,	sys_shmat,		"shmat"		}, /* 338 */
+	{ 4,	TI,	sys_shmctl,		"shmctl"	}, /* 339 */
+	{ 4,	TI,	sys_shmdt,		"shmdt"		}, /* 340 */
+	{ 4,	TI,	sys_shmget,		"shmget"	}, /* 341 */
+	{ 6,	TD,	printargs,		"splice"	}, /* 342 */
+	{ 4,	TD,	printargs,		"sync_file_range"	}, /* 343 */
+	{ 4,	TD,	printargs,		"tee"		}, /* 344 */
+	{ 4,	TD,	printargs,		"vmsplice"	}, /* 345 */
+	{ 5,	TD,	sys_epoll_pwait,	"epoll_pwait"	}, /* 346 */
+	{ 4,	TD|TF,	sys_utimensat,		"utimensat"	}, /* 347 */
+	{ 3,	TD|TS,	sys_signalfd,		"signalfd"	}, /* 348 */
+	{ 2,	TD,	sys_timerfd_create,	"timerfd_create"	}, /* 349 */
+	{ 1,	TD,	sys_eventfd,		"eventfd"	}, /* 350 */
+	{ 5,	0,	sys_pread,		"pread64"	}, /* 351 */
+	{ 5,	0,	sys_pwrite,		"pwrite64"	}, /* 352 */
+	{ 5,	0,	sys_fadvise64,		"fadvise64"	}, /* 353 */
+	{ 2,	0,	printargs,		"set_robust_list"	}, /* 354 */
+	{ 3,	0,	printargs,		"get_robust_list"	}, /* 355 */
+	{ 6,	TF,	sys_fallocate,		"fallocate"	}, /* 356 */
+	{ 5,	TI,	sys_semtimedop,		"semtimedop"	}, /* 357 */
+	{ 4,	TD,	sys_timerfd_settime,	"timerfd_settime"	}, /* 358 */
+	{ 2,	TD,	sys_timerfd_gettime,	"timerfd_gettime"	}, /* 359 */
+	{ 4,	TD|TS,	sys_signalfd4,		"signalfd4"	}, /* 360 */
+	{ 2,	TD,	sys_eventfd2,		"eventfd2"	}, /* 361 */
+	{ 1,	0,	sys_epoll_create1,	"epoll_create1"	}, /* 362 */
+	{ 3,	TD,	sys_dup3,		"dup3"		}, /* 363 */
+	{ 2,	TD,	sys_pipe2,		"pipe2"		}, /* 364 */
+	{ 1,	TD,	sys_inotify_init1,	"inotify_init1"	}, /* 365 */
+	{ 5,	TD,	printargs,		"preadv"	}, /* 366 */
+	{ 5,	TD,	printargs,		"pwritev"	}, /* 367 */
+	{ 4,	TP|TS,	printargs,		"rt_tgsigqueueinfo"	}, /* 368 */
+	{ 5,	TD,	printargs,		"perf_event_open"	}, /* 369 */
+	{ 5,	TN,	sys_recvmmsg,		"recvmmsg"	}, /* 370 */
diff --git a/strace-4.5.20/linux/dummy.h b/strace-4.5.20/linux/dummy.h
new file mode 100644
index 0000000..92e6886
--- /dev/null
+++ b/strace-4.5.20/linux/dummy.h
@@ -0,0 +1,225 @@
+/*
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+/* still unfinished */
+#define	sys_ioperm		printargs
+#define	sys_syslog		printargs
+#define	sys_iopl		printargs
+#define	sys_vm86old		printargs
+#define	sys_get_kernel_syms	printargs
+#define	sys_bdflush		printargs
+#define	sys_sysfs		printargs
+#define	sys_afs_syscall		printargs
+
+/* machine-specific */
+#ifndef I386
+#define	sys_modify_ldt		printargs
+#define sys_get_thread_area	printargs
+#define sys_set_thread_area	printargs
+#endif
+
+#define sys_sched_yield		printargs
+#define sys_sched_get_priority_max sys_sched_get_priority_min
+#define sys_sched_rr_get_interval printargs
+
+/* like another call */
+#define	sys_uselib		sys_chdir
+#define	sys_umount		sys_chdir
+#define	sys_swapon		sys_chdir
+#define	sys_swapoff		sys_chdir
+#define	sys_delete_module	sys_open
+#define	sys_fchdir		sys_close
+#define	sys_setfsuid		sys_setuid
+#define	sys_setfsgid		sys_setgid
+#define	sys_acct		sys_chdir
+#define sys_fdatasync		sys_close
+#define sys_mlock		sys_munmap
+#define sys_munlock		sys_munmap
+#define sys_clock_getres	sys_clock_gettime
+#define sys_mq_unlink		sys_unlink
+
+/* printargs does the right thing */
+#define	sys_setup		printargs
+#define	sys_getpid		printargs
+#define	sys_getuid		printargs
+#define	sys_pause		printargs
+#define	sys_sync		printargs
+#define	sys_getgid		printargs
+#define	sys_geteuid		printargs
+#define	sys_getegid		printargs
+#define	sys_getppid		printargs
+#define	sys_getpgrp		printargs
+#define	sys_setsid		printargs
+#define	sys_vhangup		printargs
+#define	sys_idle		printargs
+#define	sys_getpgid		printargs
+#define sys_munlockall		printargs
+#define sys_timer_getoverrun	printargs
+#define sys_timer_delete	printargs
+
+/* subcall entry points */
+#define	sys_socketcall		printargs
+#define	sys_ipc			printargs
+
+/* unimplemented */
+#define	sys_stty		printargs
+#define	sys_gtty		printargs
+#define	sys_ftime		printargs
+#define	sys_prof		printargs
+#define	sys_phys		printargs
+#define	sys_lock		printargs
+#define	sys_mpx			printargs
+#define	sys_ulimit		printargs
+#define	sys_profil		printargs
+#define	sys_ustat		printargs
+#define	sys_break		printargs
+
+/* deprecated */
+#define	sys_olduname		printargs
+#define	sys_oldolduname		printargs
+
+/* no library support */
+#ifndef HAVE_SENDMSG
+#define sys_sendmsg		printargs
+#define sys_recvmsg		printargs
+#endif
+
+#ifndef SYS_getpmsg
+#define sys_getpmsg		printargs
+#endif
+#ifndef SYS_putpmsg
+#define sys_putpmsg		printargs
+#endif
+
+#ifndef HAVE_STRUCT___OLD_KERNEL_STAT
+#define sys_oldstat		printargs
+#define sys_oldfstat		printargs
+#define sys_oldlstat		printargs
+#endif
+
+#if DONE
+#define sys_oldselect		printargs
+#define	sys_msync		printargs
+#define	sys_flock		printargs
+#define	sys_getdents		printargs
+#define	sys_stime		printargs
+#define	sys_time		printargs
+#define	sys_times		printargs
+#define	sys_mount		printargs
+#define	sys_nice		printargs
+#define	sys_mprotect		printargs
+#define	sys_sigprocmask		printargs
+#define	sys_adjtimex		printargs
+#define	sys_sysinfo		printargs
+#define	sys_ipc			printargs
+#define	sys_setdomainname	printargs
+#define	sys_statfs		printargs
+#define	sys_fstatfs		printargs
+#define	sys_ptrace		printargs
+#define	sys_sigreturn		printargs
+#define	sys_fsync		printargs
+#define	sys_alarm		printargs
+#define	sys_socketcall		printargs
+#define	sys_sigsuspend		printargs
+#define	sys_utime		printargs
+#define	sys_brk			printargs
+#define	sys_mmap		printargs
+#define	sys_munmap		printargs
+#define	sys_select		printargs
+#define	sys_setuid		printargs
+#define	sys_setgid		printargs
+#define	sys_setreuid		printargs
+#define	sys_setregid		printargs
+#define	sys_getgroups		printargs
+#define	sys_setgroups		printargs
+#define	sys_setrlimit		printargs
+#define	sys_getrlimit		printargs
+#define	sys_getrusage		printargs
+#define	sys_getpriority		printargs
+#define	sys_setpriority		printargs
+#define	sys_setpgid		printargs
+#define	sys_access		printargs
+#define	sys_sethostname		printargs
+#define	sys_readdir		printargs
+#define	sys_waitpid		printargs
+#define	sys_wait4		printargs
+#define	sys_execve		printargs
+#define	sys_fork		printargs
+#define	sys_uname		printargs
+#define	sys_pipe		printargs
+#define	sys_siggetmask		printargs
+#define	sys_sigsetmask		printargs
+#define	sys_exit		printargs
+#define	sys_kill		printargs
+#define	sys_signal		printargs
+#define	sys_sigaction		printargs
+#define	sys_sigpending		printargs
+#define	sys_fcntl		printargs
+#define	sys_dup			printargs
+#define	sys_dup2		printargs
+#define	sys_close		printargs
+#define	sys_ioctl		printargs
+#define	sys_read		printargs
+#define	sys_write		printargs
+#define	sys_open		printargs
+#define	sys_creat		printargs
+#define	sys_link		printargs
+#define	sys_unlink		printargs
+#define	sys_chdir		printargs
+#define	sys_mknod		printargs
+#define	sys_chmod		printargs
+#define	sys_chown		printargs
+#define	sys_lseek		printargs
+#define	sys_rename		printargs
+#define	sys_mkdir		printargs
+#define	sys_rmdir		printargs
+#define	sys_umask		printargs
+#define	sys_chroot		printargs
+#define	sys_gettimeofday	printargs
+#define	sys_settimeofday	printargs
+#define	sys_symlink		printargs
+#define	sys_readlink		printargs
+#define	sys_truncate		printargs
+#define	sys_ftruncate		printargs
+#define	sys_fchmod		printargs
+#define	sys_fchown		printargs
+#define	sys_setitimer		printargs
+#define	sys_getitimer		printargs
+#define	sys_stat		printargs
+#define	sys_lstat		printargs
+#define	sys_fstat		printargs
+#define	sys_personality		printargs
+#define sys_poll		printargs
+#define	sys_create_module	printargs
+#define	sys_init_module		printargs
+#define	sys_quotactl		printargs
+#define sys_mlockall		printargs
+#define	sys_reboot		printargs
+#endif
diff --git a/strace-4.5.20/linux/errnoent.h b/strace-4.5.20/linux/errnoent.h
new file mode 100644
index 0000000..c52d1d0
--- /dev/null
+++ b/strace-4.5.20/linux/errnoent.h
@@ -0,0 +1,535 @@
+	"ERRNO_0", /* 0 */
+	"EPERM", /* 1 */
+	"ENOENT", /* 2 */
+	"ESRCH", /* 3 */
+	"EINTR", /* 4 */
+	"EIO", /* 5 */
+	"ENXIO", /* 6 */
+	"E2BIG", /* 7 */
+	"ENOEXEC", /* 8 */
+	"EBADF", /* 9 */
+	"ECHILD", /* 10 */
+	"EAGAIN", /* 11 */
+	"ENOMEM", /* 12 */
+	"EACCES", /* 13 */
+	"EFAULT", /* 14 */
+	"ENOTBLK", /* 15 */
+	"EBUSY", /* 16 */
+	"EEXIST", /* 17 */
+	"EXDEV", /* 18 */
+	"ENODEV", /* 19 */
+	"ENOTDIR", /* 20 */
+	"EISDIR", /* 21 */
+	"EINVAL", /* 22 */
+	"ENFILE", /* 23 */
+	"EMFILE", /* 24 */
+	"ENOTTY", /* 25 */
+	"ETXTBSY", /* 26 */
+	"EFBIG", /* 27 */
+	"ENOSPC", /* 28 */
+	"ESPIPE", /* 29 */
+	"EROFS", /* 30 */
+	"EMLINK", /* 31 */
+	"EPIPE", /* 32 */
+	"EDOM", /* 33 */
+	"ERANGE", /* 34 */
+	"EDEADLK", /* 35 */
+	"ENAMETOOLONG", /* 36 */
+	"ENOLCK", /* 37 */
+	"ENOSYS", /* 38 */
+	"ENOTEMPTY", /* 39 */
+	"ELOOP", /* 40 */
+	"ERRNO_41", /* 41 */
+	"ENOMSG", /* 42 */
+	"EIDRM", /* 43 */
+	"ECHRNG", /* 44 */
+	"EL2NSYNC", /* 45 */
+	"EL3HLT", /* 46 */
+	"EL3RST", /* 47 */
+	"ELNRNG", /* 48 */
+	"EUNATCH", /* 49 */
+	"ENOCSI", /* 50 */
+	"EL2HLT", /* 51 */
+	"EBADE", /* 52 */
+	"EBADR", /* 53 */
+	"EXFULL", /* 54 */
+	"ENOANO", /* 55 */
+	"EBADRQC", /* 56 */
+	"EBADSLT", /* 57 */
+#ifdef POWERPC
+	"EDEADLOCK", /* 58 */
+#else
+	"ERRNO_58", /* 58 */
+#endif
+	"EBFONT", /* 59 */
+	"ENOSTR", /* 60 */
+	"ENODATA", /* 61 */
+	"ETIME", /* 62 */
+	"ENOSR", /* 63 */
+	"ENONET", /* 64 */
+	"ENOPKG", /* 65 */
+	"EREMOTE", /* 66 */
+	"ENOLINK", /* 67 */
+	"EADV", /* 68 */
+	"ESRMNT", /* 69 */
+	"ECOMM", /* 70 */
+	"EPROTO", /* 71 */
+	"EMULTIHOP", /* 72 */
+	"EDOTDOT", /* 73 */
+	"EBADMSG", /* 74 */
+	"EOVERFLOW", /* 75 */
+	"ENOTUNIQ", /* 76 */
+	"EBADFD", /* 77 */
+	"EREMCHG", /* 78 */
+	"ELIBACC", /* 79 */
+	"ELIBBAD", /* 80 */
+	"ELIBSCN", /* 81 */
+	"ELIBMAX", /* 82 */
+	"ELIBEXEC", /* 83 */
+	"EILSEQ", /* 84 */
+	"ERESTART", /* 85 */
+	"ESTRPIPE", /* 86 */
+	"EUSERS", /* 87 */
+	"ENOTSOCK", /* 88 */
+	"EDESTADDRREQ", /* 89 */
+	"EMSGSIZE", /* 90 */
+	"EPROTOTYPE", /* 91 */
+	"ENOPROTOOPT", /* 92 */
+	"EPROTONOSUPPORT", /* 93 */
+	"ESOCKTNOSUPPORT", /* 94 */
+	"EOPNOTSUPP", /* 95 */
+	"EPFNOSUPPORT", /* 96 */
+	"EAFNOSUPPORT", /* 97 */
+	"EADDRINUSE", /* 98 */
+	"EADDRNOTAVAIL", /* 99 */
+	"ENETDOWN", /* 100 */
+	"ENETUNREACH", /* 101 */
+	"ENETRESET", /* 102 */
+	"ECONNABORTED", /* 103 */
+	"ECONNRESET", /* 104 */
+	"ENOBUFS", /* 105 */
+	"EISCONN", /* 106 */
+	"ENOTCONN", /* 107 */
+	"ESHUTDOWN", /* 108 */
+	"ETOOMANYREFS", /* 109 */
+	"ETIMEDOUT", /* 110 */
+	"ECONNREFUSED", /* 111 */
+	"EHOSTDOWN", /* 112 */
+	"EHOSTUNREACH", /* 113 */
+	"EALREADY", /* 114 */
+	"EINPROGRESS", /* 115 */
+	"ESTALE", /* 116 */
+	"EUCLEAN", /* 117 */
+	"ENOTNAM", /* 118 */
+	"ENAVAIL", /* 119 */
+	"EISNAM", /* 120 */
+	"EREMOTEIO", /* 121 */
+	"EDQUOT", /* 122 */
+	"ENOMEDIUM", /* 123 */
+	"EMEDIUMTYPE", /* 124 */
+	"ECANCELED", /* 125 */
+	"ENOKEY", /* 126 */
+	"EKEYEXPIRED", /* 127 */
+	"EKEYREVOKED", /* 128 */
+	"EKEYREJECTED", /* 129 */
+	"EOWNERDEAD", /* 130 */
+	"ENOTRECOVERABLE", /* 131 */
+	"ERFKILL", /* 132 */
+	"ERRNO_133", /* 133 */
+	"ERRNO_134", /* 134 */
+	"ERRNO_135", /* 135 */
+	"ERRNO_136", /* 136 */
+	"ERRNO_137", /* 137 */
+	"ERRNO_138", /* 138 */
+	"ERRNO_139", /* 139 */
+	"ERRNO_140", /* 140 */
+	"ERRNO_141", /* 141 */
+	"ERRNO_142", /* 142 */
+	"ERRNO_143", /* 143 */
+	"ERRNO_144", /* 144 */
+	"ERRNO_145", /* 145 */
+	"ERRNO_146", /* 146 */
+	"ERRNO_147", /* 147 */
+	"ERRNO_148", /* 148 */
+	"ERRNO_149", /* 149 */
+	"ERRNO_150", /* 150 */
+	"ERRNO_151", /* 151 */
+	"ERRNO_152", /* 152 */
+	"ERRNO_153", /* 153 */
+	"ERRNO_154", /* 154 */
+	"ERRNO_155", /* 155 */
+	"ERRNO_156", /* 156 */
+	"ERRNO_157", /* 157 */
+	"ERRNO_158", /* 158 */
+	"ERRNO_159", /* 159 */
+	"ERRNO_160", /* 160 */
+	"ERRNO_161", /* 161 */
+	"ERRNO_162", /* 162 */
+	"ERRNO_163", /* 163 */
+	"ERRNO_164", /* 164 */
+	"ERRNO_165", /* 165 */
+	"ERRNO_166", /* 166 */
+	"ERRNO_167", /* 167 */
+	"ERRNO_168", /* 168 */
+	"ERRNO_169", /* 169 */
+	"ERRNO_170", /* 170 */
+	"ERRNO_171", /* 171 */
+	"ERRNO_172", /* 172 */
+	"ERRNO_173", /* 173 */
+	"ERRNO_174", /* 174 */
+	"ERRNO_175", /* 175 */
+	"ERRNO_176", /* 176 */
+	"ERRNO_177", /* 177 */
+	"ERRNO_178", /* 178 */
+	"ERRNO_179", /* 179 */
+	"ERRNO_180", /* 180 */
+	"ERRNO_181", /* 181 */
+	"ERRNO_182", /* 182 */
+	"ERRNO_183", /* 183 */
+	"ERRNO_184", /* 184 */
+	"ERRNO_185", /* 185 */
+	"ERRNO_186", /* 186 */
+	"ERRNO_187", /* 187 */
+	"ERRNO_188", /* 188 */
+	"ERRNO_189", /* 189 */
+	"ERRNO_190", /* 190 */
+	"ERRNO_191", /* 191 */
+	"ERRNO_192", /* 192 */
+	"ERRNO_193", /* 193 */
+	"ERRNO_194", /* 194 */
+	"ERRNO_195", /* 195 */
+	"ERRNO_196", /* 196 */
+	"ERRNO_197", /* 197 */
+	"ERRNO_198", /* 198 */
+	"ERRNO_199", /* 199 */
+	"ERRNO_200", /* 200 */
+	"ERRNO_201", /* 201 */
+	"ERRNO_202", /* 202 */
+	"ERRNO_203", /* 203 */
+	"ERRNO_204", /* 204 */
+	"ERRNO_205", /* 205 */
+	"ERRNO_206", /* 206 */
+	"ERRNO_207", /* 207 */
+	"ERRNO_208", /* 208 */
+	"ERRNO_209", /* 209 */
+	"ERRNO_210", /* 210 */
+	"ERRNO_211", /* 211 */
+	"ERRNO_212", /* 212 */
+	"ERRNO_213", /* 213 */
+	"ERRNO_214", /* 214 */
+	"ERRNO_215", /* 215 */
+	"ERRNO_216", /* 216 */
+	"ERRNO_217", /* 217 */
+	"ERRNO_218", /* 218 */
+	"ERRNO_219", /* 219 */
+	"ERRNO_220", /* 220 */
+	"ERRNO_221", /* 221 */
+	"ERRNO_222", /* 222 */
+	"ERRNO_223", /* 223 */
+	"ERRNO_224", /* 224 */
+	"ERRNO_225", /* 225 */
+	"ERRNO_226", /* 226 */
+	"ERRNO_227", /* 227 */
+	"ERRNO_228", /* 228 */
+	"ERRNO_229", /* 229 */
+	"ERRNO_230", /* 230 */
+	"ERRNO_231", /* 231 */
+	"ERRNO_232", /* 232 */
+	"ERRNO_233", /* 233 */
+	"ERRNO_234", /* 234 */
+	"ERRNO_235", /* 235 */
+	"ERRNO_236", /* 236 */
+	"ERRNO_237", /* 237 */
+	"ERRNO_238", /* 238 */
+	"ERRNO_239", /* 239 */
+	"ERRNO_240", /* 240 */
+	"ERRNO_241", /* 241 */
+	"ERRNO_242", /* 242 */
+	"ERRNO_243", /* 243 */
+	"ERRNO_244", /* 244 */
+	"ERRNO_245", /* 245 */
+	"ERRNO_246", /* 246 */
+	"ERRNO_247", /* 247 */
+	"ERRNO_248", /* 248 */
+	"ERRNO_249", /* 249 */
+	"ERRNO_250", /* 250 */
+	"ERRNO_251", /* 251 */
+	"ERRNO_252", /* 252 */
+	"ERRNO_253", /* 253 */
+	"ERRNO_254", /* 254 */
+	"ERRNO_255", /* 255 */
+	"ERRNO_256", /* 256 */
+	"ERRNO_257", /* 257 */
+	"ERRNO_258", /* 258 */
+	"ERRNO_259", /* 259 */
+	"ERRNO_260", /* 260 */
+	"ERRNO_261", /* 261 */
+	"ERRNO_262", /* 262 */
+	"ERRNO_263", /* 263 */
+	"ERRNO_264", /* 264 */
+	"ERRNO_265", /* 265 */
+	"ERRNO_266", /* 266 */
+	"ERRNO_267", /* 267 */
+	"ERRNO_268", /* 268 */
+	"ERRNO_269", /* 269 */
+	"ERRNO_270", /* 270 */
+	"ERRNO_271", /* 271 */
+	"ERRNO_272", /* 272 */
+	"ERRNO_273", /* 273 */
+	"ERRNO_274", /* 274 */
+	"ERRNO_275", /* 275 */
+	"ERRNO_276", /* 276 */
+	"ERRNO_277", /* 277 */
+	"ERRNO_278", /* 278 */
+	"ERRNO_279", /* 279 */
+	"ERRNO_280", /* 280 */
+	"ERRNO_281", /* 281 */
+	"ERRNO_282", /* 282 */
+	"ERRNO_283", /* 283 */
+	"ERRNO_284", /* 284 */
+	"ERRNO_285", /* 285 */
+	"ERRNO_286", /* 286 */
+	"ERRNO_287", /* 287 */
+	"ERRNO_288", /* 288 */
+	"ERRNO_289", /* 289 */
+	"ERRNO_290", /* 290 */
+	"ERRNO_291", /* 291 */
+	"ERRNO_292", /* 292 */
+	"ERRNO_293", /* 293 */
+	"ERRNO_294", /* 294 */
+	"ERRNO_295", /* 295 */
+	"ERRNO_296", /* 296 */
+	"ERRNO_297", /* 297 */
+	"ERRNO_298", /* 298 */
+	"ERRNO_299", /* 299 */
+	"ERRNO_300", /* 300 */
+	"ERRNO_301", /* 301 */
+	"ERRNO_302", /* 302 */
+	"ERRNO_303", /* 303 */
+	"ERRNO_304", /* 304 */
+	"ERRNO_305", /* 305 */
+	"ERRNO_306", /* 306 */
+	"ERRNO_307", /* 307 */
+	"ERRNO_308", /* 308 */
+	"ERRNO_309", /* 309 */
+	"ERRNO_310", /* 310 */
+	"ERRNO_311", /* 311 */
+	"ERRNO_312", /* 312 */
+	"ERRNO_313", /* 313 */
+	"ERRNO_314", /* 314 */
+	"ERRNO_315", /* 315 */
+	"ERRNO_316", /* 316 */
+	"ERRNO_317", /* 317 */
+	"ERRNO_318", /* 318 */
+	"ERRNO_319", /* 319 */
+	"ERRNO_320", /* 320 */
+	"ERRNO_321", /* 321 */
+	"ERRNO_322", /* 322 */
+	"ERRNO_323", /* 323 */
+	"ERRNO_324", /* 324 */
+	"ERRNO_325", /* 325 */
+	"ERRNO_326", /* 326 */
+	"ERRNO_327", /* 327 */
+	"ERRNO_328", /* 328 */
+	"ERRNO_329", /* 329 */
+	"ERRNO_330", /* 330 */
+	"ERRNO_331", /* 331 */
+	"ERRNO_332", /* 332 */
+	"ERRNO_333", /* 333 */
+	"ERRNO_334", /* 334 */
+	"ERRNO_335", /* 335 */
+	"ERRNO_336", /* 336 */
+	"ERRNO_337", /* 337 */
+	"ERRNO_338", /* 338 */
+	"ERRNO_339", /* 339 */
+	"ERRNO_340", /* 340 */
+	"ERRNO_341", /* 341 */
+	"ERRNO_342", /* 342 */
+	"ERRNO_343", /* 343 */
+	"ERRNO_344", /* 344 */
+	"ERRNO_345", /* 345 */
+	"ERRNO_346", /* 346 */
+	"ERRNO_347", /* 347 */
+	"ERRNO_348", /* 348 */
+	"ERRNO_349", /* 349 */
+	"ERRNO_350", /* 350 */
+	"ERRNO_351", /* 351 */
+	"ERRNO_352", /* 352 */
+	"ERRNO_353", /* 353 */
+	"ERRNO_354", /* 354 */
+	"ERRNO_355", /* 355 */
+	"ERRNO_356", /* 356 */
+	"ERRNO_357", /* 357 */
+	"ERRNO_358", /* 358 */
+	"ERRNO_359", /* 359 */
+	"ERRNO_360", /* 360 */
+	"ERRNO_361", /* 361 */
+	"ERRNO_362", /* 362 */
+	"ERRNO_363", /* 363 */
+	"ERRNO_364", /* 364 */
+	"ERRNO_365", /* 365 */
+	"ERRNO_366", /* 366 */
+	"ERRNO_367", /* 367 */
+	"ERRNO_368", /* 368 */
+	"ERRNO_369", /* 369 */
+	"ERRNO_370", /* 370 */
+	"ERRNO_371", /* 371 */
+	"ERRNO_372", /* 372 */
+	"ERRNO_373", /* 373 */
+	"ERRNO_374", /* 374 */
+	"ERRNO_375", /* 375 */
+	"ERRNO_376", /* 376 */
+	"ERRNO_377", /* 377 */
+	"ERRNO_378", /* 378 */
+	"ERRNO_379", /* 379 */
+	"ERRNO_380", /* 380 */
+	"ERRNO_381", /* 381 */
+	"ERRNO_382", /* 382 */
+	"ERRNO_383", /* 383 */
+	"ERRNO_384", /* 384 */
+	"ERRNO_385", /* 385 */
+	"ERRNO_386", /* 386 */
+	"ERRNO_387", /* 387 */
+	"ERRNO_388", /* 388 */
+	"ERRNO_389", /* 389 */
+	"ERRNO_390", /* 390 */
+	"ERRNO_391", /* 391 */
+	"ERRNO_392", /* 392 */
+	"ERRNO_393", /* 393 */
+	"ERRNO_394", /* 394 */
+	"ERRNO_395", /* 395 */
+	"ERRNO_396", /* 396 */
+	"ERRNO_397", /* 397 */
+	"ERRNO_398", /* 398 */
+	"ERRNO_399", /* 399 */
+	"ERRNO_400", /* 400 */
+	"ERRNO_401", /* 401 */
+	"ERRNO_402", /* 402 */
+	"ERRNO_403", /* 403 */
+	"ERRNO_404", /* 404 */
+	"ERRNO_405", /* 405 */
+	"ERRNO_406", /* 406 */
+	"ERRNO_407", /* 407 */
+	"ERRNO_408", /* 408 */
+	"ERRNO_409", /* 409 */
+	"ERRNO_410", /* 410 */
+	"ERRNO_411", /* 411 */
+	"ERRNO_412", /* 412 */
+	"ERRNO_413", /* 413 */
+	"ERRNO_414", /* 414 */
+	"ERRNO_415", /* 415 */
+	"ERRNO_416", /* 416 */
+	"ERRNO_417", /* 417 */
+	"ERRNO_418", /* 418 */
+	"ERRNO_419", /* 419 */
+	"ERRNO_420", /* 420 */
+	"ERRNO_421", /* 421 */
+	"ERRNO_422", /* 422 */
+	"ERRNO_423", /* 423 */
+	"ERRNO_424", /* 424 */
+	"ERRNO_425", /* 425 */
+	"ERRNO_426", /* 426 */
+	"ERRNO_427", /* 427 */
+	"ERRNO_428", /* 428 */
+	"ERRNO_429", /* 429 */
+	"ERRNO_430", /* 430 */
+	"ERRNO_431", /* 431 */
+	"ERRNO_432", /* 432 */
+	"ERRNO_433", /* 433 */
+	"ERRNO_434", /* 434 */
+	"ERRNO_435", /* 435 */
+	"ERRNO_436", /* 436 */
+	"ERRNO_437", /* 437 */
+	"ERRNO_438", /* 438 */
+	"ERRNO_439", /* 439 */
+	"ERRNO_440", /* 440 */
+	"ERRNO_441", /* 441 */
+	"ERRNO_442", /* 442 */
+	"ERRNO_443", /* 443 */
+	"ERRNO_444", /* 444 */
+	"ERRNO_445", /* 445 */
+	"ERRNO_446", /* 446 */
+	"ERRNO_447", /* 447 */
+	"ERRNO_448", /* 448 */
+	"ERRNO_449", /* 449 */
+	"ERRNO_450", /* 450 */
+	"ERRNO_451", /* 451 */
+	"ERRNO_452", /* 452 */
+	"ERRNO_453", /* 453 */
+	"ERRNO_454", /* 454 */
+	"ERRNO_455", /* 455 */
+	"ERRNO_456", /* 456 */
+	"ERRNO_457", /* 457 */
+	"ERRNO_458", /* 458 */
+	"ERRNO_459", /* 459 */
+	"ERRNO_460", /* 460 */
+	"ERRNO_461", /* 461 */
+	"ERRNO_462", /* 462 */
+	"ERRNO_463", /* 463 */
+	"ERRNO_464", /* 464 */
+	"ERRNO_465", /* 465 */
+	"ERRNO_466", /* 466 */
+	"ERRNO_467", /* 467 */
+	"ERRNO_468", /* 468 */
+	"ERRNO_469", /* 469 */
+	"ERRNO_470", /* 470 */
+	"ERRNO_471", /* 471 */
+	"ERRNO_472", /* 472 */
+	"ERRNO_473", /* 473 */
+	"ERRNO_474", /* 474 */
+	"ERRNO_475", /* 475 */
+	"ERRNO_476", /* 476 */
+	"ERRNO_477", /* 477 */
+	"ERRNO_478", /* 478 */
+	"ERRNO_479", /* 479 */
+	"ERRNO_480", /* 480 */
+	"ERRNO_481", /* 481 */
+	"ERRNO_482", /* 482 */
+	"ERRNO_483", /* 483 */
+	"ERRNO_484", /* 484 */
+	"ERRNO_485", /* 485 */
+	"ERRNO_486", /* 486 */
+	"ERRNO_487", /* 487 */
+	"ERRNO_488", /* 488 */
+	"ERRNO_489", /* 489 */
+	"ERRNO_490", /* 490 */
+	"ERRNO_491", /* 491 */
+	"ERRNO_492", /* 492 */
+	"ERRNO_493", /* 493 */
+	"ERRNO_494", /* 494 */
+	"ERRNO_495", /* 495 */
+	"ERRNO_496", /* 496 */
+	"ERRNO_497", /* 497 */
+	"ERRNO_498", /* 498 */
+	"ERRNO_499", /* 499 */
+	"ERRNO_500", /* 500 */
+	"ERRNO_501", /* 501 */
+	"ERRNO_502", /* 502 */
+	"ERRNO_503", /* 503 */
+	"ERRNO_504", /* 504 */
+	"ERRNO_505", /* 505 */
+	"ERRNO_506", /* 506 */
+	"ERRNO_507", /* 507 */
+	"ERRNO_508", /* 508 */
+	"ERRNO_509", /* 509 */
+	"ERRNO_510", /* 510 */
+	"ERRNO_511", /* 511 */
+	"ERESTARTSYS", /* 512 */
+	"ERESTARTNOINTR", /* 513 */
+	"ERESTARTNOHAND", /* 514 */
+	"ENOIOCTLCMD", /* 515 */
+	"ERESTART_RESTARTBLOCK", /* 516 */
+	"ERRNO_517", /* 517 */
+	"ERRNO_518", /* 518 */
+	"ERRNO_519", /* 519 */
+	"ERRNO_520", /* 520 */
+	"EBADHANDLE", /* 521 */
+	"ENOTSYNC", /* 522 */
+	"EBADCOOKIE", /* 523 */
+	"ENOTSUPP", /* 524 */
+	"ETOOSMALL", /* 525 */
+	"ESERVERFAULT", /* 526 */
+	"EBADTYPE", /* 527 */
+	"EJUKEBOX", /* 528 */
+	"EIOCBQUEUED", /* 529 */
+	"EIOCBRETRY", /* 530 */
diff --git a/strace-4.5.20/linux/hppa/errnoent.h b/strace-4.5.20/linux/hppa/errnoent.h
new file mode 100644
index 0000000..2c92633
--- /dev/null
+++ b/strace-4.5.20/linux/hppa/errnoent.h
@@ -0,0 +1,254 @@
+	"ERRNO_0", /* 0 */
+	"EPERM", /* 1 */
+	"ENOENT", /* 2 */
+	"ESRCH", /* 3 */
+	"EINTR", /* 4 */
+	"EIO", /* 5 */
+	"ENXIO", /* 6 */
+	"E2BIG", /* 7 */
+	"ENOEXEC", /* 8 */
+	"EBADF", /* 9 */
+	"ECHILD", /* 10 */
+	"EAGAIN", /* 11 */
+	"ENOMEM", /* 12 */
+	"EACCES", /* 13 */
+	"EFAULT", /* 14 */
+	"ENOTBLK", /* 15 */
+	"EBUSY", /* 16 */
+	"EEXIST", /* 17 */
+	"EXDEV", /* 18 */
+	"ENODEV", /* 19 */
+	"ENOTDIR", /* 20 */
+	"EISDIR", /* 21 */
+	"EINVAL", /* 22 */
+	"ENFILE", /* 23 */
+	"EMFILE", /* 24 */
+	"ENOTTY", /* 25 */
+	"ETXTBSY", /* 26 */
+	"EFBIG", /* 27 */
+	"ENOSPC", /* 28 */
+	"ESPIPE", /* 29 */
+	"EROFS", /* 30 */
+	"EMLINK", /* 31 */
+	"EPIPE", /* 32 */
+	"EDOM", /* 33 */
+	"ERANGE", /* 34 */
+	"ENOMSG", /* 35 */
+	"EIDRM", /* 36 */
+	"ECHRNG", /* 37 */
+	"EL2NSYNC", /* 38 */
+	"EL3HLT", /* 39 */
+	"EL3RST", /* 40 */
+	"ELNRNG", /* 41 */
+	"EUNATCH", /* 42 */
+	"ENOCSI", /* 43 */
+	"EL2HLT", /* 44 */
+	"EDEADLK", /* 45 */
+	"ENOLCK", /* 46 */
+	"EILSEQ", /* 47 */
+	"ERRNO_48", /* 48 */
+	"ERRNO_49", /* 49 */
+	"ENONET", /* 50 */
+	"ENODATA", /* 51 */
+	"ETIME", /* 52 */
+	"ENOSR", /* 53 */
+	"ENOSTR", /* 54 */
+	"ENOPKG", /* 55 */
+	"ERRNO_56", /* 56 */
+	"ENOLINK", /* 57 */
+	"EADV", /* 58 */
+	"ESRMNT", /* 59 */
+	"ECOMM", /* 60 */
+	"EPROTO", /* 61 */
+	"ERRNO_62", /* 62 */
+	"ERRNO_63", /* 63 */
+	"EMULTIHOP", /* 64 */
+	"ERRNO_65", /* 65 */
+	"EDOTDOT", /* 66 */
+	"EBADMSG", /* 67 */
+	"EUSERS", /* 68 */
+	"EDQUOT", /* 69 */
+	"ESTALE", /* 70 */
+	"EREMOTE", /* 71 */
+	"EOVERFLOW", /* 72 */
+	"ERRNO_73", /* 73 */
+	"ERRNO_74", /* 74 */
+	"ERRNO_75", /* 75 */
+	"ERRNO_76", /* 76 */
+	"ERRNO_77", /* 77 */
+	"ERRNO_78", /* 78 */
+	"ERRNO_79", /* 79 */
+	"ERRNO_80", /* 80 */
+	"ERRNO_81", /* 81 */
+	"ERRNO_82", /* 82 */
+	"ERRNO_83", /* 83 */
+	"ERRNO_84", /* 84 */
+	"ERRNO_85", /* 85 */
+	"ERRNO_86", /* 86 */
+	"ERRNO_87", /* 87 */
+	"ERRNO_88", /* 88 */
+	"ERRNO_89", /* 89 */
+	"ERRNO_90", /* 90 */
+	"ERRNO_91", /* 91 */
+	"ERRNO_92", /* 92 */
+	"ERRNO_93", /* 93 */
+	"ERRNO_94", /* 94 */
+	"ERRNO_95", /* 95 */
+	"ERRNO_96", /* 96 */
+	"ERRNO_97", /* 97 */
+	"ERRNO_98", /* 98 */
+	"ERRNO_99", /* 99 */
+	"ERRNO_100", /* 100 */
+	"ERRNO_101", /* 101 */
+	"ERRNO_102", /* 102 */
+	"ERRNO_103", /* 103 */
+	"ERRNO_104", /* 104 */
+	"ERRNO_105", /* 105 */
+	"ERRNO_106", /* 106 */
+	"ERRNO_107", /* 107 */
+	"ERRNO_108", /* 108 */
+	"ERRNO_109", /* 109 */
+	"ERRNO_110", /* 110 */
+	"ERRNO_111", /* 111 */
+	"ERRNO_112", /* 112 */
+	"ERRNO_113", /* 113 */
+	"ERRNO_114", /* 114 */
+	"ERRNO_115", /* 115 */
+	"ERRNO_116", /* 116 */
+	"ERRNO_117", /* 117 */
+	"ERRNO_118", /* 118 */
+	"ERRNO_119", /* 119 */
+	"ERRNO_120", /* 120 */
+	"ERRNO_121", /* 121 */
+	"ERRNO_122", /* 122 */
+	"ERRNO_123", /* 123 */
+	"ERRNO_124", /* 124 */
+	"ERRNO_125", /* 125 */
+	"ERRNO_126", /* 126 */
+	"ERRNO_127", /* 127 */
+	"ERRNO_128", /* 128 */
+	"ERRNO_129", /* 129 */
+	"ERRNO_130", /* 130 */
+	"ERRNO_131", /* 131 */
+	"ERRNO_132", /* 132 */
+	"ERRNO_133", /* 133 */
+	"ERRNO_134", /* 134 */
+	"ERRNO_135", /* 135 */
+	"ERRNO_136", /* 136 */
+	"ERRNO_137", /* 137 */
+	"ERRNO_138", /* 138 */
+	"ERRNO_139", /* 139 */
+	"ERRNO_140", /* 140 */
+	"ERRNO_141", /* 141 */
+	"ERRNO_142", /* 142 */
+	"ERRNO_143", /* 143 */
+	"ERRNO_144", /* 144 */
+	"ERRNO_145", /* 145 */
+	"ERRNO_146", /* 146 */
+	"ERRNO_147", /* 147 */
+	"ERRNO_148", /* 148 */
+	"ERRNO_149", /* 149 */
+	"ERRNO_150", /* 150 */
+	"ERRNO_151", /* 151 */
+	"ERRNO_152", /* 152 */
+	"ERRNO_153", /* 153 */
+	"ERRNO_154", /* 154 */
+	"ERRNO_155", /* 155 */
+	"ERRNO_156", /* 156 */
+	"ERRNO_157", /* 157 */
+	"ERRNO_158", /* 158 */
+	"ERRNO_159", /* 159 */
+	"EBADE", /* 160 */
+	"EBADR", /* 161 */
+	"EXFULL", /* 162 */
+	"ENOANO", /* 163 */
+	"EBADRQC", /* 164 */
+	"EBADSLT", /* 165 */
+	"EBFONT", /* 166 */
+	"ENOTUNIQ", /* 167 */
+	"EBADFD", /* 168 */
+	"EREMCHG", /* 169 */
+	"ELIBACC", /* 170 */
+	"ELIBBAD", /* 171 */
+	"ELIBSCN", /* 172 */
+	"ELIBMAX", /* 173 */
+	"ELIBEXEC", /* 174 */
+	"ERESTART", /* 175 */
+	"ESTRPIPE", /* 176 */
+	"EUCLEAN", /* 177 */
+	"ENOTNAM", /* 178 */
+	"ENAVAIL", /* 179 */
+	"EISNAM", /* 180 */
+	"EREMOTEIO", /* 181 */
+	"ENOMEDIUM", /* 182 */
+	"EMEDIUMTYPE", /* 183 */
+	"ERRNO_184", /* 184 */
+	"ERRNO_185", /* 185 */
+	"ERRNO_186", /* 186 */
+	"ERRNO_187", /* 187 */
+	"ERRNO_188", /* 188 */
+	"ERRNO_189", /* 189 */
+	"ERRNO_190", /* 190 */
+	"ERRNO_191", /* 191 */
+	"ERRNO_192", /* 192 */
+	"ERRNO_193", /* 193 */
+	"ERRNO_194", /* 194 */
+	"ERRNO_195", /* 195 */
+	"ERRNO_196", /* 196 */
+	"ERRNO_197", /* 197 */
+	"ERRNO_198", /* 198 */
+	"ERRNO_199", /* 199 */
+	"ERRNO_200", /* 200 */
+	"ERRNO_201", /* 201 */
+	"ERRNO_202", /* 202 */
+	"ERRNO_203", /* 203 */
+	"ERRNO_204", /* 204 */
+	"ERRNO_205", /* 205 */
+	"ERRNO_206", /* 206 */
+	"ERRNO_207", /* 207 */
+	"ERRNO_208", /* 208 */
+	"ERRNO_209", /* 209 */
+	"ERRNO_210", /* 210 */
+	"ERRNO_211", /* 211 */
+	"ERRNO_212", /* 212 */
+	"ERRNO_213", /* 213 */
+	"ERRNO_214", /* 214 */
+	"ENOSYM", /* 215 */
+	"ENOTSOCK", /* 216 */
+	"EDESTADDRREQ", /* 217 */
+	"EMSGSIZE", /* 218 */
+	"EPROTOTYPE", /* 219 */
+	"ENOPROTOOPT", /* 220 */
+	"EPROTONOSUPPORT", /* 221 */
+	"ESOCKTNOSUPPORT", /* 222 */
+	"EOPNOTSUPP", /* 223 */
+	"EPFNOSUPPORT", /* 224 */
+	"EAFNOSUPPORT", /* 225 */
+	"EADDRINUSE", /* 226 */
+	"EADDRNOTAVAIL", /* 227 */
+	"ENETDOWN", /* 228 */
+	"ENETUNREACH", /* 229 */
+	"ENETRESET", /* 230 */
+	"ECONNABORTED", /* 231 */
+	"ECONNRESET", /* 232 */
+	"ENOBUFS", /* 233 */
+	"EISCONN", /* 234 */
+	"ENOTCONN", /* 235 */
+	"ESHUTDOWN", /* 236 */
+	"ETOOMANYREFS", /* 237 */
+	"ETIMEDOUT", /* 238 */
+	"ECONNREFUSED", /* 239 */
+	"EREMOTERELEASE", /* 240 */
+	"EHOSTDOWN", /* 241 */
+	"EHOSTUNREACH", /* 242 */
+	"ERRNO_243", /* 243 */
+	"EALREADY", /* 244 */
+	"EINPROGRESS", /* 245 */
+	"EWOULDBLOCK", /* 246 */
+	"ENOTEMPTY", /* 247 */
+	"ENAMETOOLONG", /* 248 */
+	"ELOOP", /* 249 */
+	"ERRNO_250", /* 250 */
+	"ENOSYS", /* 251 */
+	"ENOTSUP", /* 252 */
+	"ECANCELLED", /* 253 */
diff --git a/strace-4.5.20/linux/hppa/ioctlent.h b/strace-4.5.20/linux/hppa/ioctlent.h
new file mode 100644
index 0000000..7ddaaf5
--- /dev/null
+++ b/strace-4.5.20/linux/hppa/ioctlent.h
@@ -0,0 +1,779 @@
+	{"linux/fs.h",	"FIBMAP",	0x1},
+	{"linux/fs.h",	"FIGETBSZ",	0x2},
+	{"linux/fd.h",	"FDGETPRM",	0x204},
+	{"linux/fd.h",	"FDGETMAXERRS",	0x20e},
+	{"linux/fd.h",	"FDGETDRVTYP",	0x20f},
+	{"linux/fd.h",	"FDGETDRVPRM",	0x211},
+	{"linux/fd.h",	"FDGETDRVSTAT",	0x212},
+	{"linux/fd.h",	"FDPOLLDRVSTAT",	0x213},
+	{"linux/fd.h",	"FDGETFDCSTAT",	0x215},
+	{"linux/fd.h",	"FDWERRORGET",	0x217},
+	{"linux/fd.h",	"FDCLRPRM",	0x241},
+	{"linux/fd.h",	"FDSETPRM",	0x242},
+	{"linux/fd.h",	"FDDEFPRM",	0x243},
+	{"linux/fd.h",	"FDMSGON",	0x245},
+	{"linux/fd.h",	"FDMSGOFF",	0x246},
+	{"linux/fd.h",	"FDFMTBEG",	0x247},
+	{"linux/fd.h",	"FDFMTTRK",	0x248},
+	{"linux/fd.h",	"FDFMTEND",	0x249},
+	{"linux/fd.h",	"FDSETEMSGTRESH",	0x24a},
+	{"linux/fd.h",	"FDFLUSH",	0x24b},
+	{"linux/fd.h",	"FDSETMAXERRS",	0x24c},
+	{"linux/fd.h",	"FDRESET",	0x254},
+	{"linux/fd.h",	"FDWERRORCLR",	0x256},
+	{"linux/fd.h",	"FDRAWCMD",	0x258},
+	{"linux/fd.h",	"FDTWADDLE",	0x259},
+	{"linux/fd.h",	"FDEJECT",	0x25a},
+	{"linux/fd.h",	"FDSETDRVPRM",	0x290},
+	{"linux/umsdos_fs.h",	"UMSDOS_READDIR_DOS",	0x4d2},
+	{"linux/umsdos_fs.h",	"UMSDOS_UNLINK_DOS",	0x4d3},
+	{"linux/umsdos_fs.h",	"UMSDOS_RMDIR_DOS",	0x4d4},
+	{"linux/umsdos_fs.h",	"UMSDOS_STAT_DOS",	0x4d5},
+	{"linux/umsdos_fs.h",	"UMSDOS_CREAT_EMD",	0x4d6},
+	{"linux/umsdos_fs.h",	"UMSDOS_UNLINK_EMD",	0x4d7},
+	{"linux/umsdos_fs.h",	"UMSDOS_READDIR_EMD",	0x4d8},
+	{"linux/umsdos_fs.h",	"UMSDOS_GETVERSION",	0x4d9},
+	{"linux/umsdos_fs.h",	"UMSDOS_INIT_EMD",	0x4da},
+	{"linux/umsdos_fs.h",	"UMSDOS_DOS_SETUP",	0x4db},
+	{"linux/umsdos_fs.h",	"UMSDOS_RENAME_DOS",	0x4dc},
+	{"linux/fs.h",	"BLKROSET",	0x125d},
+	{"linux/fs.h",	"BLKROGET",	0x125e},
+	{"linux/fs.h",	"BLKRRPART",	0x125f},
+	{"linux/fs.h",	"BLKGETSIZE",	0x1260},
+	{"linux/fs.h",	"BLKFLSBUF",	0x1261},
+	{"linux/fs.h",	"BLKRASET",	0x1262},
+	{"linux/fs.h",	"BLKRAGET",	0x1263},
+	{"linux/fs.h",	"BLKFRASET",	0x1264},
+	{"linux/fs.h",	"BLKFRAGET",	0x1265},
+	{"linux/fs.h",	"BLKSECTSET",	0x1266},
+	{"linux/fs.h",	"BLKSECTGET",	0x1267},
+	{"linux/fs.h",	"BLKSSZGET",	0x1268},
+	{"linux/blkpg.h",	"BLKPG",	0x1269},
+	{"linux/fs.h",	"BLKPG",	0x1269},
+	{"linux/elevator.h",	"BLKELVGET",	0x126a},
+	{"linux/fs.h",	"BLKELVGET",	0x126a},
+	{"linux/elevator.h",	"BLKELVSET",	0x126b},
+	{"linux/fs.h",	"BLKELVSET",	0x126b},
+	{"linux/fs.h",	"BLKBSZGET",	0x1270},
+	{"linux/fs.h",	"BLKBSZSET",	0x1271},
+	{"linux/fs.h",	"BLKGETSIZE64",	0x1272},
+	{"linux/agpgart.h",	"AGPIOC_INFO",	0x4100},
+	{"linux/agpgart.h",	"AGPIOC_ACQUIRE",	0x4101},
+	{"linux/apm_bios.h",	"APM_IOC_STANDBY",	0x4101},
+	{"linux/agpgart.h",	"AGPIOC_RELEASE",	0x4102},
+	{"linux/apm_bios.h",	"APM_IOC_SUSPEND",	0x4102},
+	{"linux/agpgart.h",	"AGPIOC_SETUP",	0x4103},
+	{"linux/agpgart.h",	"AGPIOC_RESERVE",	0x4104},
+	{"linux/agpgart.h",	"AGPIOC_PROTECT",	0x4105},
+	{"linux/agpgart.h",	"AGPIOC_ALLOCATE",	0x4106},
+	{"linux/agpgart.h",	"AGPIOC_DEALLOCATE",	0x4107},
+	{"linux/agpgart.h",	"AGPIOC_BIND",	0x4108},
+	{"linux/agpgart.h",	"AGPIOC_UNBIND",	0x4109},
+	{"linux/pmu.h",	"PMU_IOC_SLEEP",	0x4200},
+	{"linux/cciss_ioctl.h",	"CCISS_GETPCIINFO",	0x4201},
+	{"linux/pmu.h",	"PMU_IOC_GET_BACKLIGHT",	0x4201},
+	{"linux/cciss_ioctl.h",	"CCISS_GETINTINFO",	0x4202},
+	{"linux/pmu.h",	"PMU_IOC_SET_BACKLIGHT",	0x4202},
+	{"linux/cciss_ioctl.h",	"CCISS_SETINTINFO",	0x4203},
+	{"linux/pmu.h",	"PMU_IOC_GET_MODEL",	0x4203},
+	{"linux/cciss_ioctl.h",	"CCISS_GETNODENAME",	0x4204},
+	{"linux/pmu.h",	"PMU_IOC_HAS_ADB",	0x4204},
+	{"linux/cciss_ioctl.h",	"CCISS_SETNODENAME",	0x4205},
+	{"linux/pmu.h",	"PMU_IOC_CAN_SLEEP",	0x4205},
+	{"linux/cciss_ioctl.h",	"CCISS_GETHEARTBEAT",	0x4206},
+	{"linux/cciss_ioctl.h",	"CCISS_GETBUSTYPES",	0x4207},
+	{"linux/cciss_ioctl.h",	"CCISS_GETFIRMVER",	0x4208},
+	{"linux/cciss_ioctl.h",	"CCISS_GETDRIVVER",	0x4209},
+	{"linux/cciss_ioctl.h",	"CCISS_REVALIDVOLS",	0x420a},
+	{"linux/cciss_ioctl.h",	"CCISS_PASSTHRU",	0x420b},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RESET",	0x4300},
+	{"linux/capi.h",	"CAPI_REGISTER",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_LOAD",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RDATA",	0x4302},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCODE",	0x4303},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WDATA",	0x4304},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WCODE",	0x4305},
+	{"linux/capi.h",	"CAPI_GET_MANUFACTURER",	0x4306},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RUN",	0x4306},
+	{"linux/capi.h",	"CAPI_GET_VERSION",	0x4307},
+	{"linux/soundcard.h",	"SNDCTL_COPR_HALT",	0x4307},
+	{"linux/capi.h",	"CAPI_GET_SERIAL",	0x4308},
+	{"linux/soundcard.h",	"SNDCTL_COPR_SENDMSG",	0x4308},
+	{"linux/capi.h",	"CAPI_GET_PROFILE",	0x4309},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCVMSG",	0x4309},
+	{"linux/capi.h",	"CAPI_MANUFACTURER_CMD",	0x4320},
+	{"linux/capi.h",	"CAPI_GET_ERRCODE",	0x4321},
+	{"linux/capi.h",	"CAPI_INSTALLED",	0x4322},
+	{"linux/capi.h",	"CAPI_GET_FLAGS",	0x4323},
+	{"linux/capi.h",	"CAPI_SET_FLAGS",	0x4324},
+	{"linux/capi.h",	"CAPI_CLR_FLAGS",	0x4325},
+	{"linux/capi.h",	"CAPI_NCCI_OPENCOUNT",	0x4326},
+	{"linux/capi.h",	"CAPI_NCCI_GETUNIT",	0x4327},
+	{"linux/input.h",	"EVIOCGVERSION",	0x4501},
+	{"linux/input.h",	"EVIOCGID",	0x4502},
+	{"linux/input.h",	"EVIOCGREP",	0x4503},
+	{"linux/input.h",	"EVIOCSREP",	0x4503},
+	{"linux/input.h",	"EVIOCGKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCSKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCGKEY",	0x4505},
+	{"linux/input.h",	"EVIOCGBUS",	0x4507},
+	{"linux/input.h",	"EVIOCRMFF",	0x4581},
+	{"linux/input.h",	"EVIOCSGAIN",	0x4582},
+	{"linux/input.h",	"EVIOCSAUTOCENTER",	0x4583},
+	{"linux/input.h",	"EVIOCGEFFECTS",	0x4584},
+	{"linux/fb.h",	"FBIOGET_VBLANK",	0x4612},
+	{"linux/hiddev.h",	"HIDIOCGVERSION",	0x4801},
+	{"linux/hiddev.h",	"HIDIOCAPPLICATION",	0x4802},
+	{"linux/hiddev.h",	"HIDIOCGDEVINFO",	0x4803},
+	{"linux/hiddev.h",	"HIDIOCGSTRING",	0x4804},
+	{"linux/hiddev.h",	"HIDIOCINITREPORT",	0x4805},
+	{"linux/hiddev.h",	"HIDIOCGREPORT",	0x4807},
+	{"linux/hiddev.h",	"HIDIOCSREPORT",	0x4808},
+	{"linux/hiddev.h",	"HIDIOCGREPORTINFO",	0x4809},
+	{"linux/hiddev.h",	"HIDIOCGFIELDINFO",	0x480a},
+	{"linux/hiddev.h",	"HIDIOCGUSAGE",	0x480b},
+	{"linux/hiddev.h",	"HIDIOCSUSAGE",	0x480c},
+	{"linux/hiddev.h",	"HIDIOCGUCODE",	0x480d},
+	{"linux/isdn.h",	"IIOCNETAIF",	0x4901},
+	{"linux/isdn.h",	"IIOCNETDIF",	0x4902},
+	{"linux/isdn.h",	"IIOCNETSCF",	0x4903},
+	{"linux/isdn.h",	"IIOCNETGCF",	0x4904},
+	{"linux/isdn.h",	"IIOCNETANM",	0x4905},
+	{"linux/isdn.h",	"IIOCNETDNM",	0x4906},
+	{"linux/isdn.h",	"IIOCNETGNM",	0x4907},
+	{"linux/isdn.h",	"IIOCGETSET",	0x4908},
+	{"linux/isdn.h",	"IIOCSETSET",	0x4909},
+	{"linux/isdn.h",	"IIOCSETVER",	0x490a},
+	{"linux/isdn.h",	"IIOCNETHUP",	0x490b},
+	{"linux/isdn.h",	"IIOCSETGST",	0x490c},
+	{"linux/isdn.h",	"IIOCSETBRJ",	0x490d},
+	{"linux/isdn.h",	"IIOCSIGPRF",	0x490e},
+	{"linux/isdn.h",	"IIOCGETPRF",	0x490f},
+	{"linux/isdn.h",	"IIOCSETPRF",	0x4910},
+	{"linux/isdn.h",	"IIOCGETMAP",	0x4911},
+	{"linux/isdn.h",	"IIOCSETMAP",	0x4912},
+	{"linux/isdn.h",	"IIOCNETASL",	0x4913},
+	{"linux/isdn.h",	"IIOCNETDIL",	0x4914},
+	{"linux/isdn.h",	"IIOCGETCPS",	0x4915},
+	{"linux/isdn.h",	"IIOCGETDVR",	0x4916},
+	{"linux/isdn.h",	"IIOCNETLCR",	0x4917},
+	{"linux/isdn.h",	"IIOCNETDWRSET",	0x4918},
+	{"linux/isdn.h",	"IIOCNETALN",	0x4920},
+	{"linux/isdn.h",	"IIOCNETDLN",	0x4921},
+	{"linux/isdn.h",	"IIOCNETGPN",	0x4922},
+	{"linux/isdn.h",	"IIOCDBGVAR",	0x497f},
+	{"linux/isdn.h",	"IIOCDRVCTL",	0x4980},
+	{"linux/soundcard.h",	"SOUND_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_OLD_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_MIXER_ACCESS",	0x4d66},
+	{"linux/soundcard.h",	"SOUND_MIXER_AGC",	0x4d67},
+	{"linux/soundcard.h",	"SOUND_MIXER_3DSE",	0x4d68},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE1",	0x4d6f},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE2",	0x4d70},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE3",	0x4d71},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE4",	0x4d72},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE5",	0x4d73},
+	{"linux/soundcard.h",	"SOUND_MIXER_GETLEVELS",	0x4d74},
+	{"linux/soundcard.h",	"SOUND_MIXER_SETLEVELS",	0x4d75},
+	{"linux/soundcard.h",	"OSS_GETVERSION",	0x4d76},
+	{"linux/soundcard.h",	"SNDCTL_DSP_RESET",	0x5000},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SYNC",	0x5001},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SPEED",	0x5002},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_RATE",	0x5002},
+	{"linux/soundcard.h",	"SNDCTL_DSP_STEREO",	0x5003},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETBLKSIZE",	0x5004},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFMT",	0x5005},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_BITS",	0x5005},
+	{"linux/soundcard.h",	"SNDCTL_DSP_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_WRITE_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SNDCTL_DSP_POST",	0x5008},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SUBDIVIDE",	0x5009},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFRAGMENT",	0x500a},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETFMTS",	0x500b},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOSPACE",	0x500c},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETISPACE",	0x500d},
+	{"linux/soundcard.h",	"SNDCTL_DSP_NONBLOCK",	0x500e},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCAPS",	0x500f},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETIPTR",	0x5011},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOPTR",	0x5012},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPINBUF",	0x5013},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPOUTBUF",	0x5014},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSYNCRO",	0x5015},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETDUPLEX",	0x5016},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETODELAY",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_PROFILE",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCHANNELMASK",	0x5040},
+	{"linux/soundcard.h",	"SNDCTL_DSP_BIND_CHANNEL",	0x5041},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSPDIF",	0x5042},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETSPDIF",	0x5043},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESET",	0x5100},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_SYNC",	0x5101},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_INFO",	0x5102},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_CTRLRATE",	0x5103},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETOUTCOUNT",	0x5104},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETINCOUNT",	0x5105},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PERCMODE",	0x5106},
+	{"linux/soundcard.h",	"SNDCTL_FM_LOAD_INSTR",	0x5107},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_TESTMIDI",	0x5108},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESETSAMPLES",	0x5109},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRSYNTHS",	0x510a},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRMIDIS",	0x510b},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_INFO",	0x510c},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_THRESHOLD",	0x510d},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_MEMAVL",	0x510e},
+	{"linux/soundcard.h",	"SNDCTL_FM_4OP_ENABLE",	0x510f},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PANIC",	0x5111},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_OUTOFBAND",	0x5112},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETTIME",	0x5113},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_ID",	0x5114},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_CONTROL",	0x5115},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_REMOVESAMPLE",	0x5116},
+	{"linux/random.h",	"RNDGETENTCNT",	0x5200},
+	{"linux/random.h",	"RNDADDTOENTCNT",	0x5201},
+	{"linux/random.h",	"RNDGETPOOL",	0x5202},
+	{"linux/random.h",	"RNDADDENTROPY",	0x5203},
+	{"linux/random.h",	"RNDZAPENTCNT",	0x5204},
+	{"linux/random.h",	"RNDCLEARPOOL",	0x5206},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TIMEBASE",	0x5401},
+	{"linux/soundcard.h",	"SNDCTL_TMR_START",	0x5402},
+	{"linux/soundcard.h",	"SNDCTL_TMR_STOP",	0x5403},
+	{"linux/soundcard.h",	"SNDCTL_TMR_CONTINUE",	0x5404},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TEMPO",	0x5405},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SOURCE",	0x5406},
+	{"linux/soundcard.h",	"SNDCTL_TMR_METRONOME",	0x5407},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SELECT",	0x5408},
+	{"linux/if_tun.h",	"TUNSETNOCSUM",	0x54c8},
+	{"linux/if_tun.h",	"TUNSETDEBUG",	0x54c9},
+	{"linux/if_tun.h",	"TUNSETIFF",	0x54ca},
+	{"linux/if_tun.h",	"TUNSETPERSIST",	0x54cb},
+	{"linux/if_tun.h",	"TUNSETOWNER",	0x54cc},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONTROL",	0x5500},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_BULK",	0x5502},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESETEP",	0x5503},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETINTERFACE",	0x5504},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETCONFIGURATION",	0x5505},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_GETDRIVER",	0x5508},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SUBMITURB",	0x550a},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCARDURB",	0x550b},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURB",	0x550c},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURBNDELAY",	0x550d},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCSIGNAL",	0x550e},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLAIMINTERFACE",	0x550f},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RELEASEINTERFACE",	0x5510},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONNECTINFO",	0x5511},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_IOCTL",	0x5512},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_HUB_PORTINFO",	0x5513},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESET",	0x5514},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLEAR_HALT",	0x5515},
+	{"linux/watchdog.h",	"WDIOC_GETSUPPORT",	0x5700},
+	{"linux/watchdog.h",	"WDIOC_GETSTATUS",	0x5701},
+	{"linux/watchdog.h",	"WDIOC_GETBOOTSTATUS",	0x5702},
+	{"linux/watchdog.h",	"WDIOC_GETTEMP",	0x5703},
+	{"linux/watchdog.h",	"WDIOC_SETOPTIONS",	0x5704},
+	{"linux/watchdog.h",	"WDIOC_KEEPALIVE",	0x5705},
+	{"linux/watchdog.h",	"WDIOC_SETTIMEOUT",	0x5706},
+	{"linux/watchdog.h",	"WDIOC_GETTIMEOUT",	0x5707},
+	{"linux/ite_gpio.h",	"ITE_GPIO_IN",	0x5a00},
+	{"linux/ite_gpio.h",	"ITE_GPIO_OUT",	0x5a01},
+	{"linux/ite_gpio.h",	"ITE_GPIO_INT_CTRL",	0x5a02},
+	{"linux/ite_gpio.h",	"ITE_GPIO_IN_STATUS",	0x5a03},
+	{"linux/ite_gpio.h",	"ITE_GPIO_OUT_STATUS",	0x5a04},
+	{"linux/ite_gpio.h",	"ITE_GPIO_GEN_CTRL",	0x5a05},
+	{"linux/ite_gpio.h",	"ITE_GPIO_INT_WAIT",	0x5a06},
+	{"linux/sonet.h",	"SONET_GETSTAT",	0x6110},
+	{"linux/sonet.h",	"SONET_GETSTATZ",	0x6111},
+	{"linux/sonet.h",	"SONET_SETDIAG",	0x6112},
+	{"linux/sonet.h",	"SONET_CLRDIAG",	0x6113},
+	{"linux/sonet.h",	"SONET_GETDIAG",	0x6114},
+	{"linux/sonet.h",	"SONET_SETFRAMING",	0x6115},
+	{"linux/sonet.h",	"SONET_GETFRAMING",	0x6116},
+	{"linux/sonet.h",	"SONET_GETFRSENSE",	0x6117},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTAT",	0x6132},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTATZ",	0x6133},
+	{"linux/atmdev.h",	"ATM_GETSTAT",	0x6150},
+	{"linux/atmdev.h",	"ATM_GETSTATZ",	0x6151},
+	{"linux/atmdev.h",	"ATM_GETLOOP",	0x6152},
+	{"linux/atmdev.h",	"ATM_SETLOOP",	0x6153},
+	{"linux/atmdev.h",	"ATM_QUERYLOOP",	0x6154},
+	{"linux/atm_eni.h",	"ENI_MEMDUMP",	0x6160},
+	{"linux/atm_nicstar.h",	"NS_GETPSTAT",	0x6161},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOL",	0x6161},
+	{"linux/atm_nicstar.h",	"NS_SETBUFLEV",	0x6162},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOLZ",	0x6162},
+	{"linux/atm_nicstar.h",	"NS_ADJBUFLEV",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_SETPOOL",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_GETTHIST",	0x6164},
+	{"linux/atm_eni.h",	"ENI_SETMULT",	0x6167},
+	{"linux/atm_tcp.h",	"SIOCSIFATMTCP",	0x6180},
+	{"linux/atmdev.h",	"ATM_GETLINKRATE",	0x6181},
+	{"linux/atmdev.h",	"ATM_GETNAMES",	0x6183},
+	{"linux/atmdev.h",	"ATM_GETTYPE",	0x6184},
+	{"linux/atmdev.h",	"ATM_GETESI",	0x6185},
+	{"linux/atmdev.h",	"ATM_GETADDR",	0x6186},
+	{"linux/atmdev.h",	"ATM_RSTADDR",	0x6187},
+	{"linux/atmdev.h",	"ATM_ADDADDR",	0x6188},
+	{"linux/atmdev.h",	"ATM_DELADDR",	0x6189},
+	{"linux/atmdev.h",	"ATM_GETCIRANGE",	0x618a},
+	{"linux/atmdev.h",	"ATM_SETCIRANGE",	0x618b},
+	{"linux/atmdev.h",	"ATM_SETESI",	0x618c},
+	{"linux/atmdev.h",	"ATM_SETESIF",	0x618d},
+	{"linux/atm_tcp.h",	"ATMTCP_CREATE",	0x618e},
+	{"linux/atm_tcp.h",	"ATMTCP_REMOVE",	0x618f},
+	{"linux/atmlec.h",	"ATMLEC_CTRL",	0x61d0},
+	{"linux/atmlec.h",	"ATMLEC_DATA",	0x61d1},
+	{"linux/atmlec.h",	"ATMLEC_MCAST",	0x61d2},
+	{"linux/atmmpc.h",	"ATMMPC_CTRL",	0x61d8},
+	{"linux/atmmpc.h",	"ATMMPC_DATA",	0x61d9},
+	{"linux/atmclip.h",	"SIOCMKCLIP",	0x61e0},
+	{"linux/atmarp.h",	"ATMARPD_CTRL",	0x61e1},
+	{"linux/atmarp.h",	"ATMARP_MKIP",	0x61e2},
+	{"linux/atmarp.h",	"ATMARP_SETENTRY",	0x61e3},
+	{"linux/atmarp.h",	"ATMARP_ENCAP",	0x61e5},
+	{"linux/atmsvc.h",	"ATMSIGD_CTRL",	0x61f0},
+	{"linux/atmdev.h",	"ATM_SETSC",	0x61f1},
+	{"linux/atmdev.h",	"ATM_SETBACKEND",	0x61f2},
+	{"linux/coda.h",	"CIOC_KERNEL_VERSION",	0x630a},
+	{"linux/comstats.h",	"COM_GETPORTSTATS",	0x631e},
+	{"linux/comstats.h",	"COM_CLRPORTSTATS",	0x631f},
+	{"linux/comstats.h",	"COM_GETBRDSTATS",	0x6320},
+	{"linux/comstats.h",	"COM_READPORT",	0x6328},
+	{"linux/comstats.h",	"COM_READBOARD",	0x6329},
+	{"linux/comstats.h",	"COM_READPANEL",	0x632a},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_GET_PROTO_REV",	0x6400},
+	{"linux/video_decoder.h",	"DECODER_GET_CAPABILITIES",	0x6401},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_SET_EVENT_MASK",	0x6402},
+	{"linux/video_decoder.h",	"DECODER_GET_STATUS",	0x6402},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_RELEASE_EVENT_QUEUE",	0x6403},
+	{"linux/video_decoder.h",	"DECODER_SET_NORM",	0x6403},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_SET_DEBUG_MASK",	0x6404},
+	{"linux/video_decoder.h",	"DECODER_SET_INPUT",	0x6404},
+	{"linux/video_decoder.h",	"DECODER_SET_OUTPUT",	0x6405},
+	{"linux/video_decoder.h",	"DECODER_ENABLE_OUTPUT",	0x6406},
+	{"linux/video_decoder.h",	"DECODER_SET_PICTURE",	0x6407},
+	{"linux/video_decoder.h",	"DECODER_DUMP",	0x64c0},
+	{"linux/video_encoder.h",	"ENCODER_GET_CAPABILITIES",	0x6501},
+	{"linux/video_encoder.h",	"ENCODER_SET_NORM",	0x6502},
+	{"linux/video_encoder.h",	"ENCODER_SET_INPUT",	0x6503},
+	{"linux/video_encoder.h",	"ENCODER_SET_OUTPUT",	0x6504},
+	{"linux/video_encoder.h",	"ENCODER_ENABLE_OUTPUT",	0x6505},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETFLAGS",	0x6601},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETFLAGS",	0x6601},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETFLAGS",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETFLAGS",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION",	0x6603},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION",	0x6604},
+	{"linux/ext3_fs.h",	"EXT3_IOC_WAIT_FOR_READONLY",	0x6663},
+	{"linux/i2o-dev.h",	"I2OGETIOPS",	0x6900},
+	{"linux/i2o-dev.h",	"I2OHRTGET",	0x6901},
+	{"linux/i2o-dev.h",	"I2OLCTGET",	0x6902},
+	{"linux/i2o-dev.h",	"I2OPARMSET",	0x6903},
+	{"linux/i2o-dev.h",	"I2OPARMGET",	0x6904},
+	{"linux/i2o-dev.h",	"I2OSWDL",	0x6905},
+	{"linux/i2o-dev.h",	"I2OSWUL",	0x6906},
+	{"linux/i2o-dev.h",	"I2OSWDEL",	0x6907},
+	{"linux/i2o-dev.h",	"I2OVALIDATE",	0x6908},
+	{"linux/i2o-dev.h",	"I2OHTML",	0x6909},
+	{"linux/i2o-dev.h",	"I2OEVTREG",	0x690a},
+	{"linux/i2o-dev.h",	"I2OEVTGET",	0x690b},
+	{"linux/i8k.h",	"I8K_BIOS_VERSION",	0x6980},
+	{"linux/i8k.h",	"I8K_MACHINE_ID",	0x6981},
+	{"linux/i8k.h",	"I8K_POWER_STATUS",	0x6982},
+	{"linux/i8k.h",	"I8K_FN_STATUS",	0x6983},
+	{"linux/i8k.h",	"I8K_GET_TEMP",	0x6984},
+	{"linux/i8k.h",	"I8K_GET_SPEED",	0x6985},
+	{"linux/i8k.h",	"I8K_GET_FAN",	0x6986},
+	{"linux/i8k.h",	"I8K_SET_FAN",	0x6987},
+	{"linux/joystick.h",	"JSIOCGVERSION",	0x6a01},
+	{"linux/joystick.h",	"JSIOCGAXES",	0x6a11},
+	{"linux/joystick.h",	"JSIOCGBUTTONS",	0x6a12},
+	{"linux/joystick.h",	"JSIOCSCORR",	0x6a21},
+	{"linux/joystick.h",	"JSIOCGCORR",	0x6a22},
+	{"linux/joystick.h",	"JSIOCSAXMAP",	0x6a31},
+	{"linux/joystick.h",	"JSIOCGAXMAP",	0x6a32},
+	{"linux/joystick.h",	"JSIOCSBTNMAP",	0x6a33},
+	{"linux/joystick.h",	"JSIOCGBTNMAP",	0x6a34},
+	{"linux/udf_fs_i.h",	"UDF_GETEASIZE",	0x6c40},
+	{"linux/udf_fs_i.h",	"UDF_GETEABLOCK",	0x6c41},
+	{"linux/udf_fs_i.h",	"UDF_GETVOLIDENT",	0x6c42},
+	{"linux/udf_fs_i.h",	"UDF_RELOCATE_BLOCKS",	0x6c43},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_PRETIME",	0x6d00},
+	{"linux/synclink.h",	"MGSL_IOCSPARAMS",	0x6d00},
+	{"linux/mtio.h",	"MTIOCTOP",	0x6d01},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUMODE",	0x6d01},
+	{"linux/synclink.h",	"MGSL_IOCGPARAMS",	0x6d01},
+	{"linux/mtio.h",	"MTIOCGET",	0x6d02},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUCMD",	0x6d02},
+	{"linux/synclink.h",	"MGSL_IOCSTXIDLE",	0x6d02},
+	{"linux/mtio.h",	"MTIOCPOS",	0x6d03},
+	{"linux/synclink.h",	"MGSL_IOCGTXIDLE",	0x6d03},
+	{"linux/mtio.h",	"MTIOCGETCONFIG",	0x6d04},
+	{"linux/synclink.h",	"MGSL_IOCTXENABLE",	0x6d04},
+	{"linux/mtio.h",	"MTIOCSETCONFIG",	0x6d05},
+	{"linux/synclink.h",	"MGSL_IOCRXENABLE",	0x6d05},
+	{"linux/mtio.h",	"MTIOCRDFTSEG",	0x6d06},
+	{"linux/synclink.h",	"MGSL_IOCTXABORT",	0x6d06},
+	{"linux/mtio.h",	"MTIOCWRFTSEG",	0x6d07},
+	{"linux/synclink.h",	"MGSL_IOCGSTATS",	0x6d07},
+	{"linux/mtio.h",	"MTIOCVOLINFO",	0x6d08},
+	{"linux/synclink.h",	"MGSL_IOCWAITEVENT",	0x6d08},
+	{"linux/mtio.h",	"MTIOCGETSIZE",	0x6d09},
+	{"linux/synclink.h",	"MGSL_IOCLOOPTXDONE",	0x6d09},
+	{"linux/mtio.h",	"MTIOCFTFORMAT",	0x6d0a},
+	{"linux/mtio.h",	"MTIOCFTCMD",	0x6d0b},
+	{"linux/synclink.h",	"MGSL_IOCCLRMODCOUNT",	0x6d0f},
+	{"linux/zftape.h",	"MTIOC_ZFTAPE_GETBLKSZ",	0x6d68},
+	{"linux/ncp_fs.h",	"NCP_IOC_NCPREQUEST",	0x6e01},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID2",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_CONN_LOGGED_IN",	0x6e03},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO_V2",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_INIT",	0x6e05},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_SET_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_LOCKUNLOCK",	0x6e07},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETDENTRYTTL",	0x6e0c},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETDENTRYTTL",	0x6e0c},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_GET_AVAILABLE_OUTPUTS",	0x6ef9},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_GET_ALL_OUTPUTS",	0x6efb},
+	{"linux/rtc.h",	"RTC_AIE_ON",	0x7001},
+	{"linux/rtc.h",	"RTC_AIE_OFF",	0x7002},
+	{"linux/intermezzo_fs.h",	"PRESTO_GETMOUNT",	0x7003},
+	{"linux/rtc.h",	"RTC_UIE_ON",	0x7003},
+	{"linux/intermezzo_fs.h",	"PRESTO_SETPID",	0x7004},
+	{"linux/rtc.h",	"RTC_UIE_OFF",	0x7004},
+	{"linux/rtc.h",	"RTC_PIE_ON",	0x7005},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLOSE_JOURNALF",	0x7006},
+	{"linux/rtc.h",	"RTC_PIE_OFF",	0x7006},
+	{"linux/intermezzo_fs.h",	"PRESTO_SET_FSETROOT",	0x7007},
+	{"linux/rtc.h",	"RTC_ALM_SET",	0x7007},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLEAR_FSETROOT",	0x7008},
+	{"linux/rtc.h",	"RTC_ALM_READ",	0x7008},
+	{"linux/intermezzo_fs.h",	"PRESTO_SETOPT",	0x7009},
+	{"linux/rtc.h",	"RTC_RD_TIME",	0x7009},
+	{"linux/intermezzo_fs.h",	"PRESTO_GETOPT",	0x700a},
+	{"linux/rtc.h",	"RTC_SET_TIME",	0x700a},
+	{"linux/intermezzo_fs.h",	"PRESTO_GET_KMLSIZE",	0x700b},
+	{"linux/rtc.h",	"RTC_IRQP_READ",	0x700b},
+	{"linux/intermezzo_fs.h",	"PRESTO_GET_RECNO",	0x700c},
+	{"linux/rtc.h",	"RTC_IRQP_SET",	0x700c},
+	{"linux/rtc.h",	"RTC_EPOCH_READ",	0x700d},
+	{"linux/rtc.h",	"RTC_EPOCH_SET",	0x700e},
+	{"linux/rtc.h",	"RTC_WIE_ON",	0x700f},
+	{"linux/rtc.h",	"RTC_WKALM_SET",	0x700f},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SETATTR",	0x7010},
+	{"linux/rtc.h",	"RTC_WIE_OFF",	0x7010},
+	{"linux/rtc.h",	"RTC_WKALM_RD",	0x7010},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_CREATE",	0x7011},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_LINK",	0x7012},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_UNLINK",	0x7013},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SYMLINK",	0x7014},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_MKDIR",	0x7015},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_RMDIR",	0x7016},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_MKNOD",	0x7017},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_RENAME",	0x7018},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_CLOSE",	0x701a},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_IOPEN",	0x701b},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SETEXTATTR",	0x701c},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_DELEXTATTR",	0x701d},
+	{"linux/intermezzo_fs.h",	"PRESTO_MARK",	0x7020},
+	{"linux/intermezzo_fs.h",	"PRESTO_RELEASE_PERMIT",	0x7021},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLEAR_ALL_FSETROOTS",	0x7022},
+	{"linux/intermezzo_fs.h",	"PRESTO_BACKFETCH_LML",	0x7023},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT",	0x7024},
+	{"linux/intermezzo_fs.h",	"PRESTO_CANCEL_LML",	0x7025},
+	{"linux/intermezzo_fs.h",	"PRESTO_RESET_FSET",	0x7026},
+	{"linux/intermezzo_fs.h",	"PRESTO_COMPLETE_CLOSES",	0x7027},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT_BEGIN",	0x7030},
+	{"linux/intermezzo_fs.h",	"PRESTO_DO_REINT",	0x7031},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT_END",	0x7032},
+	{"linux/nvram.h",	"NVRAM_INIT",	0x7040},
+	{"linux/nvram.h",	"NVRAM_SETCKS",	0x7041},
+	{"linux/ppdev.h",	"PPSETMODE",	0x7080},
+	{"linux/ppdev.h",	"PPRSTATUS",	0x7081},
+	{"linux/ppdev.h",	"PPRCONTROL",	0x7083},
+	{"linux/ppdev.h",	"PPWCONTROL",	0x7084},
+	{"linux/ppdev.h",	"PPRDATA",	0x7085},
+	{"linux/ppdev.h",	"PPWDATA",	0x7086},
+	{"linux/ppdev.h",	"PPCLAIM",	0x708b},
+	{"linux/ppdev.h",	"PPRELEASE",	0x708c},
+	{"linux/ppdev.h",	"PPYIELD",	0x708d},
+	{"linux/ppdev.h",	"PPFCONTROL",	0x708e},
+	{"linux/ppdev.h",	"PPEXCL",	0x708f},
+	{"linux/ppdev.h",	"PPDATADIR",	0x7090},
+	{"linux/ppdev.h",	"PPNEGOT",	0x7091},
+	{"linux/ppdev.h",	"PPWCTLONIRQ",	0x7092},
+	{"linux/ppdev.h",	"PPCLRIRQ",	0x7093},
+	{"linux/ppdev.h",	"PPSETPHASE",	0x7094},
+	{"linux/ppdev.h",	"PPGETTIME",	0x7095},
+	{"linux/ppdev.h",	"PPSETTIME",	0x7096},
+	{"linux/ppdev.h",	"PPGETMODES",	0x7097},
+	{"linux/ppdev.h",	"PPGETMODE",	0x7098},
+	{"linux/ppdev.h",	"PPGETPHASE",	0x7099},
+	{"linux/ppdev.h",	"PPGETFLAGS",	0x709a},
+	{"linux/ppdev.h",	"PPSETFLAGS",	0x709b},
+	{"linux/serio.h",	"SPIOCSTYPE",	0x7101},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES",	0x7180},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_LIST",	0x7181},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_CHECK",	0x7182},
+	{"linux/telephony.h",	"PHONE_RING",	0x7183},
+	{"linux/telephony.h",	"PHONE_HOOKSTATE",	0x7184},
+	{"linux/telephony.h",	"PHONE_MAXRINGS",	0x7185},
+	{"linux/telephony.h",	"PHONE_RING_CADENCE",	0x7186},
+	{"linux/telephony.h",	"OLD_PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_STOP",	0x7188},
+	{"linux/telephony.h",	"PHONE_REC_CODEC",	0x7189},
+	{"linux/telephony.h",	"PHONE_REC_START",	0x718a},
+	{"linux/telephony.h",	"PHONE_REC_STOP",	0x718b},
+	{"linux/telephony.h",	"PHONE_REC_DEPTH",	0x718c},
+	{"linux/telephony.h",	"PHONE_FRAME",	0x718d},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME",	0x718e},
+	{"linux/telephony.h",	"PHONE_REC_LEVEL",	0x718f},
+	{"linux/telephony.h",	"PHONE_PLAY_CODEC",	0x7190},
+	{"linux/telephony.h",	"PHONE_PLAY_START",	0x7191},
+	{"linux/telephony.h",	"PHONE_PLAY_STOP",	0x7192},
+	{"linux/telephony.h",	"PHONE_PLAY_DEPTH",	0x7193},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME",	0x7194},
+	{"linux/telephony.h",	"PHONE_PLAY_LEVEL",	0x7195},
+	{"linux/telephony.h",	"PHONE_DTMF_READY",	0x7196},
+	{"linux/telephony.h",	"PHONE_GET_DTMF",	0x7197},
+	{"linux/telephony.h",	"PHONE_GET_DTMF_ASCII",	0x7198},
+	{"linux/telephony.h",	"PHONE_DTMF_OOB",	0x7199},
+	{"linux/telephony.h",	"PHONE_EXCEPTION",	0x719a},
+	{"linux/telephony.h",	"PHONE_PLAY_TONE",	0x719b},
+	{"linux/telephony.h",	"PHONE_SET_TONE_ON_TIME",	0x719c},
+	{"linux/telephony.h",	"PHONE_SET_TONE_OFF_TIME",	0x719d},
+	{"linux/telephony.h",	"PHONE_GET_TONE_ON_TIME",	0x719e},
+	{"linux/telephony.h",	"PHONE_GET_TONE_OFF_TIME",	0x719f},
+	{"linux/telephony.h",	"PHONE_GET_TONE_STATE",	0x71a0},
+	{"linux/telephony.h",	"PHONE_BUSY",	0x71a1},
+	{"linux/telephony.h",	"PHONE_RINGBACK",	0x71a2},
+	{"linux/telephony.h",	"PHONE_DIALTONE",	0x71a3},
+	{"linux/telephony.h",	"PHONE_CPT_STOP",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_SET_STATE",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_GET_STATE",	0x71a5},
+	{"linux/telephony.h",	"PHONE_WINK_DURATION",	0x71a6},
+	{"linux/telephony.h",	"PHONE_QUERY_CODEC",	0x71a7},
+	{"linux/telephony.h",	"PHONE_PSTN_LINETEST",	0x71a8},
+	{"linux/telephony.h",	"PHONE_VAD",	0x71a9},
+	{"linux/telephony.h",	"PHONE_WINK",	0x71aa},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_RESET",	0x71c0},
+	{"linux/ixjuser.h",	"IXJCTL_CARDTYPE",	0x71c1},
+	{"linux/ixjuser.h",	"IXJCTL_SERIAL",	0x71c2},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_TYPE",	0x71c3},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_VERSION",	0x71c4},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_IDLE",	0x71c5},
+	{"linux/ixjuser.h",	"IXJCTL_TESTRAM",	0x71c6},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER",	0x71c7},
+	{"linux/ixjuser.h",	"IXJCTL_GET_FILTER_HIST",	0x71c8},
+	{"linux/ixjuser.h",	"IXJCTL_INIT_TONE",	0x71c9},
+	{"linux/ixjuser.h",	"IXJCTL_TONE_CADENCE",	0x71ca},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_START",	0x71cb},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_STOP",	0x71cc},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_GET_LEVEL",	0x71cd},
+	{"linux/ixjuser.h",	"IXJCTL_SET_LED",	0x71ce},
+	{"linux/ixjuser.h",	"IXJCTL_MIXER",	0x71cf},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_COEFF_SET",	0x71d0},
+	{"linux/ixjuser.h",	"IXJCTL_PORT",	0x71d1},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_AGAIN",	0x71d2},
+	{"linux/ixjuser.h",	"IXJCTL_PSTN_LINETEST",	0x71d3},
+	{"linux/ixjuser.h",	"IXJCTL_CID",	0x71d4},
+	{"linux/ixjuser.h",	"IXJCTL_POTS_PSTN",	0x71d5},
+	{"linux/ixjuser.h",	"IXJCTL_FILTER_CADENCE",	0x71d6},
+	{"linux/ixjuser.h",	"IXJCTL_PLAY_CID",	0x71d7},
+	{"linux/ixjuser.h",	"IXJCTL_VMWI",	0x71d8},
+	{"linux/ixjuser.h",	"IXJCTL_CIDCW",	0x71d9},
+	{"linux/ixjuser.h",	"IXJCTL_VERSION",	0x71da},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME_LINEAR",	0x71db},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME_LINEAR",	0x71dc},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER_RAW",	0x71dd},
+	{"linux/ixjuser.h",	"IXJCTL_HZ",	0x71e0},
+	{"linux/ixjuser.h",	"IXJCTL_RATE",	0x71e1},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_READ",	0x71e2},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_WRITTEN",	0x71e3},
+	{"linux/ixjuser.h",	"IXJCTL_READ_WAIT",	0x71e4},
+	{"linux/ixjuser.h",	"IXJCTL_WRITE_WAIT",	0x71e5},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_READ",	0x71e6},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_CLEAR",	0x71e7},
+	{"linux/ixjuser.h",	"IXJCTL_DTMF_PRESCALE",	0x71e8},
+	{"linux/ixjuser.h",	"IXJCTL_SIGCTL",	0x71e9},
+	{"linux/ixjuser.h",	"IXJCTL_SC_RXG",	0x71ea},
+	{"linux/ixjuser.h",	"IXJCTL_SC_TXG",	0x71eb},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_START",	0x71fd},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_STOP",	0x71fe},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_BOTH",	0x7201},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_SHORT",	0x7202},
+	{"linux/cdk.h",	"STL_BINTR",	0x7314},
+	{"linux/cdk.h",	"STL_BSTART",	0x7315},
+	{"linux/cdk.h",	"STL_BSTOP",	0x7316},
+	{"linux/cdk.h",	"STL_BRESET",	0x7317},
+	{"linux/cdk.h",	"STL_GETPFLAG",	0x7350},
+	{"linux/cdk.h",	"STL_SETPFLAG",	0x7351},
+	{"linux/if_ppp.h",	"PPPIOCGCHAN",	0x7437},
+	{"linux/if_ppp.h",	"PPPIOCATTCHAN",	0x7438},
+	{"linux/if_ppp.h",	"PPPIOCDISCONN",	0x7439},
+	{"linux/if_ppp.h",	"PPPIOCCONNECT",	0x743a},
+	{"linux/if_ppp.h",	"PPPIOCSMRRU",	0x743b},
+	{"linux/if_ppp.h",	"PPPIOCDETACH",	0x743c},
+	{"linux/if_ppp.h",	"PPPIOCATTACH",	0x743d},
+	{"linux/if_ppp.h",	"PPPIOCNEWUNIT",	0x743e},
+	{"linux/if_ppp.h",	"PPPIOCGIDLE",	0x743f},
+	{"linux/if_ppp.h",	"PPPIOCSDEBUG",	0x7440},
+	{"linux/if_ppp.h",	"PPPIOCGDEBUG",	0x7441},
+	{"linux/if_ppp.h",	"PPPIOCSACTIVE",	0x7446},
+	{"linux/if_ppp.h",	"PPPIOCSPASS",	0x7447},
+	{"linux/if_ppp.h",	"PPPIOCSNPMODE",	0x744b},
+	{"linux/if_ppp.h",	"PPPIOCGNPMODE",	0x744c},
+	{"linux/if_ppp.h",	"PPPIOCSCOMPRESS",	0x744d},
+	{"linux/if_ppp.h",	"PPPIOCXFERUNIT",	0x744e},
+	{"linux/if_ppp.h",	"PPPIOCSXASYNCMAP",	0x744f},
+	{"linux/if_ppp.h",	"PPPIOCGXASYNCMAP",	0x7450},
+	{"linux/if_ppp.h",	"PPPIOCSMAXCID",	0x7451},
+	{"linux/if_ppp.h",	"PPPIOCSMRU",	0x7452},
+	{"linux/if_ppp.h",	"PPPIOCGMRU",	0x7453},
+	{"linux/if_ppp.h",	"PPPIOCSRASYNCMAP",	0x7454},
+	{"linux/if_ppp.h",	"PPPIOCGRASYNCMAP",	0x7455},
+	{"linux/if_ppp.h",	"PPPIOCGUNIT",	0x7456},
+	{"linux/if_ppp.h",	"PPPIOCSASYNCMAP",	0x7457},
+	{"linux/if_ppp.h",	"PPPIOCGASYNCMAP",	0x7458},
+	{"linux/if_ppp.h",	"PPPIOCSFLAGS",	0x7459},
+	{"linux/if_ppp.h",	"PPPIOCGFLAGS",	0x745a},
+	{"linux/jffs.h",	"JFFS_PRINT_HASH",	0x745a},
+	{"linux/jffs.h",	"JFFS_PRINT_TREE",	0x745b},
+	{"linux/jffs.h",	"JFFS_GET_STATUS",	0x745c},
+	{"linux/isdn_ppp.h",	"PPPIOCGCALLINFO",	0x7480},
+	{"linux/isdn_ppp.h",	"PPPIOCBUNDLE",	0x7481},
+	{"linux/isdn_ppp.h",	"PPPIOCGMPFLAGS",	0x7482},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPFLAGS",	0x7483},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMTU",	0x7484},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMRU",	0x7485},
+	{"linux/isdn_ppp.h",	"PPPIOCGCOMPRESSORS",	0x7486},
+	{"linux/isdn_ppp.h",	"PPPIOCSCOMPRESSOR",	0x7487},
+	{"linux/isdn_ppp.h",	"PPPIOCGIFNAME",	0x7488},
+	{"linux/toshiba.h",	"TOSH_SMM",	0x7490},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID",	0x7501},
+	{"linux/smb_fs.h",	"SMB_IOC_NEWCONN",	0x7502},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID32",	0x7503},
+	{"linux/sonypi.h",	"SONYPI_IOCGBRT",	0x7600},
+	{"linux/sonypi.h",	"SONYPI_IOCSBRT",	0x7600},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETVERSION",	0x7601},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION_OLD",	0x7601},
+	{"linux/videodev.h",	"VIDIOCGCAP",	0x7601},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETVERSION",	0x7602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION_OLD",	0x7602},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT1CAP",	0x7602},
+	{"linux/videodev.h",	"VIDIOCGCHAN",	0x7602},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT1REM",	0x7603},
+	{"linux/videodev.h",	"VIDIOCSCHAN",	0x7603},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT2CAP",	0x7604},
+	{"linux/videodev.h",	"VIDIOCGTUNER",	0x7604},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT2REM",	0x7605},
+	{"linux/videodev.h",	"VIDIOCSTUNER",	0x7605},
+	{"linux/videodev.h",	"VIDIOCGPICT",	0x7606},
+	{"linux/sonypi.h",	"SONYPI_IOCGBATFLAGS",	0x7607},
+	{"linux/videodev.h",	"VIDIOCSPICT",	0x7607},
+	{"linux/sonypi.h",	"SONYPI_IOCGBLUE",	0x7608},
+	{"linux/videodev.h",	"VIDIOCCAPTURE",	0x7608},
+	{"linux/sonypi.h",	"SONYPI_IOCSBLUE",	0x7609},
+	{"linux/videodev.h",	"VIDIOCGWIN",	0x7609},
+	{"linux/videodev.h",	"VIDIOCSWIN",	0x760a},
+	{"linux/videodev.h",	"VIDIOCGFBUF",	0x760b},
+	{"linux/videodev.h",	"VIDIOCSFBUF",	0x760c},
+	{"linux/videodev.h",	"VIDIOCKEY",	0x760d},
+	{"linux/videodev.h",	"VIDIOCGFREQ",	0x760e},
+	{"linux/videodev.h",	"VIDIOCSFREQ",	0x760f},
+	{"linux/videodev.h",	"VIDIOCGAUDIO",	0x7610},
+	{"linux/videodev.h",	"VIDIOCSAUDIO",	0x7611},
+	{"linux/videodev.h",	"VIDIOCSYNC",	0x7612},
+	{"linux/videodev.h",	"VIDIOCMCAPTURE",	0x7613},
+	{"linux/videodev.h",	"VIDIOCGMBUF",	0x7614},
+	{"linux/videodev.h",	"VIDIOCGUNIT",	0x7615},
+	{"linux/videodev.h",	"VIDIOCGCAPTURE",	0x7616},
+	{"linux/videodev.h",	"VIDIOCSCAPTURE",	0x7617},
+	{"linux/videodev.h",	"VIDIOCSPLAYMODE",	0x7618},
+	{"linux/videodev.h",	"VIDIOCSWRITEMODE",	0x7619},
+	{"linux/videodev.h",	"VIDIOCGPLAYINFO",	0x761a},
+	{"linux/videodev.h",	"VIDIOCSMICROCODE",	0x761b},
+	{"linux/videodev.h",	"VIDIOCGVBIFMT",	0x761c},
+	{"linux/videodev.h",	"VIDIOCSVBIFMT",	0x761d},
+	{"linux/meye.h",	"MEYEIOC_G_PARAMS",	0x76c0},
+	{"linux/meye.h",	"MEYEIOC_S_PARAMS",	0x76c1},
+	{"linux/meye.h",	"MEYEIOC_QBUF_CAPT",	0x76c2},
+	{"linux/meye.h",	"MEYEIOC_SYNC",	0x76c3},
+	{"linux/meye.h",	"MEYEIOC_STILLCAPT",	0x76c4},
+	{"linux/meye.h",	"MEYEIOC_STILLJCAPT",	0x76c5},
+	{"linux/dn.h",	"SIOCSNETADDR",	0x89e0},
+	{"linux/dn.h",	"OSIOCSNETADDR",	0x89e0},
+	{"linux/dn.h",	"SIOCGNETADDR",	0x89e1},
+	{"linux/dn.h",	"OSIOCGNETADDR",	0x89e1},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_READY",	0x9360},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_FAIL",	0x9361},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_CATATONIC",	0x9362},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_PROTOVER",	0x9363},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_SETTIMEOUT",	0x9364},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_EXPIRE",	0x9365},
+	{"linux/auto_fs4.h",	"AUTOFS_IOC_EXPIRE_MULTI",	0x9366},
+	{"linux/nbd.h",	"NBD_SET_SOCK",	0xab00},
+	{"linux/nbd.h",	"NBD_SET_BLKSIZE",	0xab01},
+	{"linux/nbd.h",	"NBD_SET_SIZE",	0xab02},
+	{"linux/nbd.h",	"NBD_DO_IT",	0xab03},
+	{"linux/nbd.h",	"NBD_CLEAR_SOCK",	0xab04},
+	{"linux/nbd.h",	"NBD_CLEAR_QUE",	0xab05},
+	{"linux/nbd.h",	"NBD_PRINT_DEBUG",	0xab06},
+	{"linux/nbd.h",	"NBD_SET_SIZE_BLOCKS",	0xab07},
+	{"linux/nbd.h",	"NBD_DISCONNECT",	0xab08},
+	{"linux/raw.h",	"RAW_SETBIND",	0xac00},
+	{"linux/raw.h",	"RAW_GETBIND",	0xac01},
+	{"linux/if_pppox.h",	"PPPOEIOCSFWD",	0xb100},
+	{"linux/if_pppox.h",	"PPPOEIOCDFWD",	0xb101},
+	{"linux/reiserfs_fs.h",	"REISERFS_IOC_UNPACK",	0xcd01},
+	{"linux/lvm.h",	"VG_CREATE_OLD",	0xfe00},
+	{"linux/lvm.h",	"VG_REMOVE",	0xfe01},
+	{"linux/lvm.h",	"VG_EXTEND",	0xfe03},
+	{"linux/lvm.h",	"VG_REDUCE",	0xfe04},
+	{"linux/lvm.h",	"VG_STATUS",	0xfe05},
+	{"linux/lvm.h",	"VG_STATUS_GET_COUNT",	0xfe06},
+	{"linux/lvm.h",	"VG_STATUS_GET_NAMELIST",	0xfe07},
+	{"linux/lvm.h",	"VG_SET_EXTENDABLE",	0xfe08},
+	{"linux/lvm.h",	"VG_RENAME",	0xfe09},
+	{"linux/lvm.h",	"VG_CREATE",	0xfe0a},
+	{"linux/lvm.h",	"LV_CREATE",	0xfe20},
+	{"linux/lvm.h",	"LV_REMOVE",	0xfe21},
+	{"linux/lvm.h",	"LV_ACTIVATE",	0xfe22},
+	{"linux/lvm.h",	"LV_DEACTIVATE",	0xfe23},
+	{"linux/lvm.h",	"LV_EXTEND",	0xfe24},
+	{"linux/lvm.h",	"LV_REDUCE",	0xfe25},
+	{"linux/lvm.h",	"LV_STATUS_BYNAME",	0xfe26},
+	{"linux/lvm.h",	"LV_STATUS_BYINDEX",	0xfe27},
+	{"linux/lvm.h",	"LV_SET_ACCESS",	0xfe28},
+	{"linux/lvm.h",	"LV_SET_ALLOCATION",	0xfe29},
+	{"linux/lvm.h",	"LV_SET_STATUS",	0xfe2a},
+	{"linux/lvm.h",	"LE_REMAP",	0xfe2b},
+	{"linux/lvm.h",	"LV_SNAPSHOT_USE_RATE",	0xfe2c},
+	{"linux/lvm.h",	"LV_STATUS_BYDEV",	0xfe2e},
+	{"linux/lvm.h",	"LV_RENAME",	0xfe2f},
+	{"linux/lvm.h",	"LV_BMAP",	0xfe30},
+	{"linux/lvm.h",	"PV_STATUS",	0xfe40},
+	{"linux/lvm.h",	"PV_CHANGE",	0xfe41},
+	{"linux/lvm.h",	"PV_FLUSH",	0xfe42},
+	{"linux/lvm.h",	"PE_LOCK_UNLOCK",	0xfe50},
+	{"linux/lvm.h",	"LVM_GET_IOP_VERSION",	0xfe98},
+	{"linux/lvm.h",	"LVM_RESET",	0xfe99},
+	{"linux/lvm.h",	"LVM_LOCK_LVM",	0xff00},
diff --git a/strace-4.5.20/linux/hppa/signalent.h b/strace-4.5.20/linux/hppa/signalent.h
new file mode 100644
index 0000000..92e5565
--- /dev/null
+++ b/strace-4.5.20/linux/hppa/signalent.h
@@ -0,0 +1,38 @@
+	"SIG_0",	/* 0 */
+	"SIGHUP",	/* 1 */
+	"SIGINT",	/* 2 */
+	"SIGQUIT",	/* 3 */
+	"SIGILL",	/* 4 */
+	"SIGTRAP",	/* 5 */
+	"SIGABRT",	/* 6 */
+	"SIGEMT",	/* 7 */
+	"SIGFPE",	/* 8 */
+	"SIGKILL",	/* 9 */
+	"SIGBUS",	/* 10 */
+	"SIGSEGV",	/* 11 */
+	"SIGSYS",	/* 12 */
+	"SIGPIPE",	/* 13 */
+	"SIGALRM",	/* 14 */
+	"SIGTERM",	/* 15 */
+	"SIGUSR1",	/* 16 */
+	"SIGUSR2",	/* 17 */
+	"SIGCHLD",	/* 18 */
+	"SIGPWR",	/* 19 */
+	"SIGVTALRM",	/* 20 */
+	"SIGPROF",	/* 21 */
+	"SIGIO",	/* 22 */
+	"SIGWINCH",	/* 23 */
+	"SIGSTOP",	/* 24 */
+	"SIGTSTP",	/* 25 */
+	"SIGCONT",	/* 26 */
+	"SIGTTIN",	/* 27 */
+	"SIGTTOU",	/* 28 */
+	"SIGURG",	/* 29 */
+	"SIGLOST",	/* 30 */
+	"SIGUNUSED",	/* 31 */
+	"SIG_32",	/* 32 */
+	"SIGXCPU",	/* 33 */
+	"SIGXFSZ",	/* 34 */
+	"SIG_35",	/* 35 */
+	"SIGSTKFLT",	/* 36 */
+	"SIGRTMIN",	/* 37 */
diff --git a/strace-4.5.20/linux/hppa/syscallent.h b/strace-4.5.20/linux/hppa/syscallent.h
new file mode 100644
index 0000000..0d7d48c
--- /dev/null
+++ b/strace-4.5.20/linux/hppa/syscallent.h
@@ -0,0 +1,326 @@
+/*
+ * Copyright (c) 2001 Hewlett-Packard, Matthew Wilcox
+ *
+ * $Id$
+ *
+ */
+
+	{ 0,	0,	sys_restart_syscall,	"restart_syscall"	}, /* 0 */
+	{ 1,	TP,	sys_exit,		"exit"			}, /* 1 */
+	{ 0,	TP,	sys_fork,		"fork"			}, /* 2 */
+	{ 3,	TD,	sys_read,		"read"			}, /* 3 */
+	{ 3,	TD,	sys_write,		"write"			}, /* 4 */
+	{ 3,	TD|TF,	sys_open,		"open"			}, /* 5 */
+	{ 1,	TD,	sys_close,		"close"			}, /* 6 */
+	{ 3,	TP,	sys_waitpid,		"waitpid"		}, /* 7 */
+	{ 2,	TD|TF,	sys_creat,		"creat"			}, /* 8 */
+	{ 2,	TF,	sys_link,		"link"			}, /* 9 */
+	{ 1,	TF,	sys_unlink,		"unlink"		}, /* 10 */
+	{ 3,	TF|TP,	sys_execve,		"execve"		}, /* 11 */
+	{ 1,	TF,	sys_chdir,		"chdir"			}, /* 12 */
+	{ 1,	0,	sys_time,		"time"			}, /* 13 */
+	{ 3,	TF,	sys_mknod,		"mknod"			}, /* 14 */
+	{ 2,	TF,	sys_chmod,		"chmod"			}, /* 15 */
+	{ 3,	TF,	sys_chown,		"lchown"		}, /* 16 */
+	{ 3,	TN,	sys_socket,		"socket"		}, /* 17 */
+	{ 2,	TF,	sys_stat,		"newstat"		}, /* 18 */
+	{ 3,	TF,	sys_lseek,		"lseek"			}, /* 19 */
+	{ 0,	0,	sys_getpid,		"getpid"		}, /* 20 */
+	{ 5,	TF,	sys_mount,		"mount"			}, /* 21 */
+	{ 3,	TN,	sys_bind,		"bind"			}, /* 22 */
+	{ 1,	0,	sys_setuid,		"setuid"		}, /* 23 */
+	{ 0,	0,	sys_getuid,		"getuid"		}, /* 24 */
+	{ 1,	0,	sys_stime,		"stime"			}, /* 25 */
+	{ 4,	0,	sys_ptrace,		"ptrace"		}, /* 26 */
+	{ 1,	0,	sys_alarm,		"alarm"			}, /* 27 */
+	{ 2,	TD,	sys_fstat,		"newfstat"		}, /* 28 */
+	{ 0,	0,	sys_pause,		"pause"			}, /* 29 */
+	{ 2,	0,	sys_utime,		"utime"			}, /* 30 */
+	{ 3,	TN,	sys_connect,		"connect"		}, /* 31 */
+	{ 2,	TN,	sys_listen,		"listen"		}, /* 32 */
+	{ 2,	TF,	sys_access,		"access"		}, /* 33 */
+	{ 1,	0,	sys_nice,		"nice"			}, /* 34 */
+	{ 3,	TN,	sys_accept,		"accept"		}, /* 35 */
+	{ 0,	0,	sys_sync,		"sync"			}, /* 36 */
+	{ 2,	TS,	sys_kill,		"kill"			}, /* 37 */
+	{ 2,	TF,	sys_rename,		"rename"		}, /* 38 */
+	{ 2,	TF,	sys_mkdir,		"mkdir"			}, /* 39 */
+	{ 1,	TF,	sys_rmdir,		"rmdir"			}, /* 40 */
+	{ 1,	TD,	sys_dup,		"dup"			}, /* 41 */
+	{ 1,	TD,	sys_pipe,		"pipe"			}, /* 42 */
+	{ 1,	0,	sys_times,		"times"			}, /* 43 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"		}, /* 44 */
+	{ 1,	0,	sys_brk,		"brk"			}, /* 45 */
+	{ 1,	0,	sys_setgid,		"setgid"		}, /* 46 */
+	{ 0,	0,	sys_getgid,		"getgid"		}, /* 47 */
+	{ 2,	0,	sys_signal,		"signal"		}, /* 48 */
+	{ 0,	0,	sys_geteuid,		"geteuid"		}, /* 49 */
+	{ 0,	0,	sys_getegid,		"getegid"		}, /* 50 */
+	{ 1,	TF,	sys_acct,		"acct"			}, /* 51 */
+	{ 2,	0,	sys_umount2,		"umount2"		}, /* 52 */
+	{ 3,	TN,	sys_getpeername,	"lock"			}, /* 53 */
+	{ 3,	TD,	sys_ioctl,		"ioctl"			}, /* 54 */
+	{ 3,	TD,	sys_fcntl,		"fcntl"			}, /* 55 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"		}, /* 56 */
+	{ 2,	0,	sys_setpgid,		"setpgid"		}, /* 57 */
+	{ 4,	TN,	sys_send,		"send"			}, /* 58 */
+	{ 1,	0,	sys_uname,		"newuname"			}, /* 59 */
+	{ 1,	0,	sys_umask,		"umask"			}, /* 60 */
+	{ 1,	TF,	sys_chroot,		"chroot"		}, /* 61 */
+	{ 2,	0,	sys_ustat,		"ustat"			}, /* 62 */
+	{ 2,	TD,	sys_dup2,		"dup2"			}, /* 63 */
+	{ 0,	0,	sys_getppid,		"getppid"		}, /* 64 */
+	{ 0,	0,	sys_getpgrp,		"getpgrp"		}, /* 65 */
+	{ 0,	0,	sys_setsid,		"setsid"		}, /* 66 */
+	{ 2,	TF,	sys_pivotroot,		"pivot_root"		}, /* 67 */
+	{ 5,	0,	printargs,		"sgetmask"		}, /* 68 */
+	{ 5,	0,	printargs,		"ssetmask"		}, /* 69 */
+	{ 2,	0,	sys_setreuid,		"setreuid"		}, /* 70 */
+	{ 2,	0,	sys_setregid,		"setregid"		}, /* 71 */
+	{ 3,	0,	sys_mincore,		"mincore"		}, /* 72 */
+	{ 1,	TS,	sys_sigpending,		"sigpending"		}, /* 73 */
+	{ 2,	0,	sys_sethostname,	"sethostname"		}, /* 74 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit"		}, /* 75 */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"		}, /* 76 */
+	{ 2,	0,	sys_getrusage,		"getrusage"		}, /* 77 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday"		}, /* 78 */
+	{ 2,	0,	sys_settimeofday,	"settimeofday"		}, /* 79 */
+	{ 2,	0,	sys_getgroups,		"getgroups"		}, /* 80 */
+	{ 2,	0,	sys_setgroups,		"setgroups"		}, /* 81 */
+	{ 6,	TN,	sys_sendto,		"sendto"		}, /* 82 */
+	{ 2,	TF,	sys_symlink,		"symlink"		}, /* 83 */
+	{ 2,	TF,	sys_lstat,		"newlstat"		}, /* 84 */
+	{ 3,	TF,	sys_readlink,		"readlink"		}, /* 85 */
+	{ 1,	0,	sys_uselib,		"uselib"		}, /* 86 */
+	{ 1,	0,	sys_swapon,		"swapon"		}, /* 87 */
+	{ 3,	0,	sys_reboot,		"reboot"		}, /* 88 */
+	{ 6,	0,	sys_mmap,		"mmap2"			}, /* 89 */
+	{ 6,	0,	sys_mmap,		"mmap"			}, /* 90 */
+	{ 2,	0,	sys_munmap,		"munmap"		}, /* 91 */
+	{ 2,	TF,	sys_truncate,		"truncate"		}, /* 92 */
+	{ 2,	TD,	sys_ftruncate,		"ftruncate"		}, /* 93 */
+	{ 2,	TD,	sys_fchmod,		"fchmod"		}, /* 94 */
+	{ 3,	TD,	sys_fchown,		"fchown"		}, /* 95 */
+	{ 2,	0,	sys_getpriority,	"getpriority"		}, /* 96 */
+	{ 3,	0,	sys_setpriority,	"setpriority"		}, /* 97 */
+	{ 4,	TN,	sys_recv,		"recv"			}, /* 98 */
+	{ 2,	TF,	sys_statfs,		"statfs"		}, /* 99 */
+	{ 2,	TD,	sys_fstatfs,		"fstatfs"		}, /* 100 */
+	{ 2,	TF,	sys_stat64,		"stat64"		}, /* 101 */
+	{ 5,	0,	printargs,		"SYS_102"		}, /* 102 */
+	{ 3,	0,	sys_syslog,		"syslog"		}, /* 103 */
+	{ 3,	0,	sys_setitimer,		"setitimer"		}, /* 104 */
+	{ 2,	0,	sys_getitimer,		"getitimer"		}, /* 105 */
+	{ 2,	0,	sys_capget,		"capget"		}, /* 106 */
+	{ 2,	0,	sys_capset,		"capset"		}, /* 107 */
+	{ 5,	TD,	sys_pread,		"pread"			}, /* 108 */
+	{ 5,	TD,	sys_pwrite,		"pwrite"		}, /* 109 */
+	{ 2,	0,	sys_getcwd,		"getcwd"		}, /* 110 */
+	{ 0,	0,	sys_vhangup,		"vhangup"		}, /* 111 */
+	{ 2,	TD,	sys_fstat64,		"fstat64"		}, /* 112 */
+	{ 0,	0,	sys_vfork,		"vfork"			}, /* 113 */
+	{ 4,	TP,	sys_wait4,		"wait4"			}, /* 114 */
+	{ 1,	0,	sys_swapoff,		"swapoff"		}, /* 115 */
+	{ 1,	0,	sys_sysinfo,		"sysinfo"		}, /* 116 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"		}, /* 117 */
+	{ 1,	TD,	sys_fsync,		"fsync"			}, /* 118 */
+	{ 3,	0,	sys_madvise,		"madvise"		}, /* 119 */
+	{ 5,	TP,	sys_clone,		"clone"			}, /* 120 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname"		}, /* 121 */
+	{ 4,	TD|TN,	sys_sendfile,		"sendfile"		}, /* 122 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom"		}, /* 123 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex"		}, /* 124 */
+	{ 3,	0,	sys_mprotect,		"mprotect"		}, /* 125 */
+	{ 3,	TS,	sys_sigprocmask,	"sigprocmask"		}, /* 126 */
+	{ 2,	0,	sys_create_module,	"create_module"		}, /* 127 */
+	{ 4,	0,	sys_init_module,	"init_module"		}, /* 128 */
+	{ 2,	0,	sys_delete_module,	"delete_module"		}, /* 129 */
+	{ 1,	0,	sys_get_kernel_syms,	"get_kernel_syms"	}, /* 130 */
+	{ 4,	0,	sys_quotactl,		"quotactl"		}, /* 131 */
+	{ 1,	0,	sys_getpgid,		"getpgid"		}, /* 132 */
+	{ 1,	TF,	sys_fchdir,		"fchdir"		}, /* 133 */
+	{ 0,	0,	sys_bdflush,		"bdflush"		}, /* 134 */
+	{ 5,	0,	sys_sysfs,		"sysfs"			}, /* 135 */
+	{ 1,	0,	sys_personality,	"personality"		}, /* 136 */
+	{ 5,	0,	sys_afs_syscall,	"afs_syscall"		}, /* 137 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid"		}, /* 138 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid"		}, /* 139 */
+	{ 5,	TF,	sys_llseek,		"_llseek"		}, /* 140 */
+	{ 3,	TD,	sys_getdents,		"getdents"		}, /* 141 */
+	{ 5,	TD,	sys_select,		"_newselect"		}, /* 142 */
+	{ 2,	TD,	sys_flock,		"flock"			}, /* 143 */
+	{ 3,	0,	sys_msync,		"msync"			}, /* 144 */
+	{ 3,	TD,	sys_readv,		"readv"			}, /* 145 */
+	{ 3,	TD,	sys_writev,		"writev"		}, /* 146 */
+	{ 1,	0,	sys_getsid,		"getsid"		}, /* 147 */
+	{ 1,	TD,	sys_fdatasync,		"fdatasync"		}, /* 148 */
+	{ 1,	0,	sys_sysctl,		"_sysctl"		}, /* 149 */
+	{ 2,	0,	sys_mlock,		"mlock"			}, /* 150 */
+	{ 2,	0,	sys_munlock,		"munlock"		}, /* 151 */
+	{ 1,	0,	sys_mlockall,		"mlockall"		}, /* 152 */
+	{ 1,	0,	sys_munlockall,		"munlockall"		}, /* 153 */
+	{ 2,	0,	sys_sched_setparam,	"sched_setparam"	}, /* 154 */
+	{ 2,	0,	sys_sched_getparam,	"sched_getparam"	}, /* 155 */
+	{ 3,	0,	sys_sched_setscheduler,	"sched_setscheduler"	}, /* 156 */
+	{ 2,	0,	sys_sched_getscheduler,	"sched_getscheduler"	}, /* 157 */
+	{ 0,	0,	sys_sched_yield,	"sched_yield"		}, /* 158 */
+	{ 1,	0,	sys_sched_get_priority_max,"sched_get_priority_max"}, /* 159 */
+	{ 1,	0,	sys_sched_get_priority_min,"sched_get_priority_min"}, /* 160 */
+	{ 2,	0,	sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 161 */
+	{ 2,	0,	sys_nanosleep,		"nanosleep"		}, /* 162 */
+	{ 5,	0,	sys_mremap,		"mremap"		}, /* 163 */
+	{ 3,	0,	sys_setresuid,		"setresuid"		}, /* 164 */
+	{ 3,	0,	sys_setresuid,		"getresuid"		}, /* 165 */
+	{ 2,	TS,	sys_sigaltstack,	"sigaltstack"		}, /* 166 */
+	{ 5,	0,	sys_query_module,	"query_module"		}, /* 167 */
+	{ 3,	TD,	sys_poll,		"poll"			}, /* 168 */
+	{ 3,	0,	printargs,		"nfsservctl"		}, /* 169 */
+	{ 3,	0,	sys_setresgid,		"setresgid"		}, /* 170 */
+	{ 3,	0,	sys_setresgid,		"getresgid"		}, /* 171 */
+	{ 5,	0,	sys_prctl,		"prctl"			}, /* 172 */
+	{ 1,	TS,	sys_sigreturn,		"rt_sigreturn"		}, /* 173 */
+	{ 4,	TS,	sys_rt_sigaction,	"rt_sigaction"		}, /* 174 */
+	{ 4,	TS,	sys_rt_sigprocmask,	"rt_sigprocmask"	}, /* 175 */
+	{ 2,	TS,	sys_rt_sigpending,	"rt_sigpending"		}, /* 176 */
+	{ 4,	TS,	sys_rt_sigtimedwait,	"rt_sigtimedwait"	}, /* 177 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,	"rt_sigqueueinfo"	}, /* 178 */
+	{ 2,	TS,	sys_rt_sigsuspend,	"rt_sigsuspend"		}, /* 179 */
+	{ 3,	TF,	sys_chown,		"chown"			}, /* 180 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"		}, /* 181 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"		}, /* 182 */
+	{ 5,	TN,	sys_sendmsg,		"sendmsg"		}, /* 183 */
+	{ 5,	TN,	sys_recvmsg,		"recvmsg"		}, /* 184 */
+	{ 4,	TI,	sys_semop,		"semop"			}, /* 185 */
+	{ 4,	TI,	sys_semget,		"semget"		}, /* 186 */
+	{ 4,	TI,	sys_semctl,		"semctl"		}, /* 187 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd"		}, /* 188 */
+	{ 4,	TI,	sys_msgrcv,		"msgrcv"		}, /* 189 */
+	{ 4,	TI,	sys_msgget,		"msgget"		}, /* 190 */
+	{ 4,	TI,	sys_msgctl,		"msgctl"		}, /* 191 */
+	{ 3,	TI,	sys_shmat,		"shmat"			}, /* 192 */
+	{ 1,	TI,	sys_shmdt,		"shmdt"			}, /* 193 */
+	{ 3,	TI,	sys_shmget,		"shmget"		}, /* 194 */
+	{ 3,	TI,	sys_shmctl,		"shmctl"		}, /* 195 */
+	{ 5,	0,	sys_getpmsg,		"getpmsg"		}, /* 196 */
+	{ 5,	0,	sys_putpmsg,		"putpmsg"		}, /* 197 */
+	{ 2,	TF,	sys_lstat64,		"lstat64"		}, /* 198 */
+	{ 3,	TF,	sys_truncate64,		"truncate64"		}, /* 199 */
+	{ 3,	TD,	sys_ftruncate64,	"ftruncate64"		}, /* 200 */
+	{ 3,	TD,	sys_getdents64,		"getdents64"		}, /* 201 */
+	{ 3,	TD,	sys_fcntl,		"fcntl64"		}, /* 202 */
+	{ 5,	0,	printargs,		"attrctl"		}, /* 203 */
+	{ 5,	0,	printargs,		"acl_get"		}, /* 204 */
+	{ 5,	0,	printargs,		"acl_set"		}, /* 205 */
+	{ 0,	0,	printargs,		"gettid"		}, /* 206 */
+	{ 4,	TD,	sys_readahead,		"readahead"		}, /* 207 */
+	{ 2,	TS,	sys_kill,		"tkill"			}, /* 208 */
+	{ 4,	TD|TN,	sys_sendfile,		"sendfile64"		}, /* 209 */
+	{ 6,	0,	sys_futex,		"futex"			}, /* 210 */
+	{ 3,	0,	sys_sched_setaffinity,	"sched_setaffinity"	}, /* 211 */
+	{ 3,	0,	sys_sched_getaffinity,	"sched_getaffinity"	}, /* 212 */
+	{ 5,	0,	printargs,		"set_thread_area"	}, /* 213 */
+	{ 5,	0,	printargs,		"get_thread_area"	}, /* 214 */
+	{ 2,	0,	sys_io_setup,		"io_setup"		}, /* 215 */
+	{ 1,	0,	sys_io_destroy,		"io_destroy"		}, /* 216 */
+	{ 5,	0,	sys_io_getevents,		"io_getevents"		}, /* 217 */
+	{ 3,	0,	sys_io_submit,		"io_submit"		}, /* 218 */
+	{ 4,	0,	sys_io_cancel,		"io_cancel"		}, /* 219 */
+	{ 5,	0,	printargs,		"alloc_hugepages"	}, /* 220 */
+	{ 1,	0,	printargs,		"free_hugepages"	}, /* 221 */
+	{ 1,	TP,	sys_exit,		"exit_group"		}, /* 222 */
+	{ 4,	0,	printargs,		"lookup_dcookie"	}, /* 223 */
+	{ 1,	0,	sys_epoll_create,	"epoll_create"		}, /* 224 */
+	{ 4,	TD,	sys_epoll_ctl,		"epoll_ctl"		}, /* 225 */
+	{ 4,	TD,	sys_epoll_wait,		"epoll_wait"		}, /* 226 */
+	{ 5,	0,	printargs,		"remap_file_pages"	}, /* 227 */
+	{ 5,    TI,     sys_semtimedop,         "semtimedop"            }, /* 228 */
+	{ 5,	0,	printargs,		"mq_open"		}, /* 229 */
+	{ 5,	0,	printargs,		"mq_unlink"		}, /* 230 */
+	{ 5,	0,	printargs,		"mq_timedsend"		}, /* 231 */
+	{ 5,	0,	printargs,		"mq_timedreceive"		}, /* 232 */
+	{ 5,	0,	printargs,		"mq_notify"		}, /* 233 */
+	{ 5,	0,	printargs,		"mq_getsetattr"		}, /* 234 */
+	{ 4,	0,	printargs,		"waitid"		}, /* 235 */
+	{ 5,	0,	printargs,		"fadvise64_64"		}, /* 236 */
+	{ 5,	0,	printargs,		"set_tid_address"	}, /* 237 */
+	{ 5,	TF,	sys_setxattr,		"setxattr"		}, /* 238 */
+	{ 5,	TF,	sys_setxattr,		"lsetxattr"		}, /* 239 */
+	{ 5,	TD,	sys_fsetxattr,		"fsetxattr"		}, /* 240 */
+	{ 4,	TF,	sys_getxattr,		"getxattr"		}, /* 241 */
+	{ 4,	TF,	sys_getxattr,		"lgetxattr"		}, /* 242 */
+	{ 4,	0,	sys_fgetxattr,		"fgetxattr"		}, /* 243 */
+	{ 5,	TF,	sys_listxattr,		"listxattr"		}, /* 244 */
+	{ 5,	TF,	sys_listxattr,		"llistxattr"		}, /* 245 */
+	{ 5,	0,	sys_flistxattr,		"flistxattr"		}, /* 246 */
+	{ 5,	TF,	sys_removexattr,	"removexattr"		}, /* 247 */
+	{ 5,	TF,	sys_removexattr,	"lremovexattr"		}, /* 248 */
+	{ 5,	TD,	sys_fremovexattr,	"fremovexattr"		}, /* 249 */
+	{ 3,	0,	sys_timer_create,	"timer_create"		}, /* 250 */
+	{ 4,	0,	sys_timer_settime,	"timer_settime"		}, /* 251 */
+	{ 2,	0,	sys_timer_gettime,	"timer_gettime"		}, /* 252 */
+	{ 1,	0,	sys_timer_getoverrun,	"timer_getoverrun"	}, /* 253 */
+	{ 1,	0,	sys_timer_delete,	"timer_delete"		}, /* 254 */
+	{ 2,	0,	sys_clock_settime,	"clock_settime"		}, /* 255 */
+	{ 2,	0,	sys_clock_gettime,	"clock_gettime"		}, /* 256 */
+	{ 2,	0,	sys_clock_getres,	"clock_getres"		}, /* 257 */
+	{ 5,	0,	printargs,		"clock_nanosleep"	}, /* 258 */
+	{ 5,	0,	printargs,		"tgkill"		}, /* 259 */
+	{ 5,	0,	printargs,		"mbind"			}, /* 260 */
+	{ 5,	0,	printargs,		"get_mempolicy"		}, /* 261 */
+	{ 5,	0,	printargs,		"set_mempolicy"		}, /* 262 */
+	{ 5,	0,	printargs,		"vserver"		}, /* 263 */
+	{ 5,	0,	printargs,		"add_key"		}, /* 264 */
+	{ 4,	0,	printargs,		"request_key"		}, /* 265 */
+	{ 5,	0,	printargs,		"keyctl"		}, /* 266 */
+	{ 3,	0,	printargs,		"ioprio_set"		}, /* 267 */
+	{ 2,	0,	printargs,		"ioprio_get"		}, /* 268 */
+	{ 0,	TD,	printargs,		"inotify_init"		}, /* 269 */
+	{ 3,	TD,	sys_inotify_add_watch,	"inotify_add_watch"	}, /* 270 */
+	{ 2,	TD,	sys_inotify_rm_watch,	"inotify_rm_watch"	}, /* 271 */
+	{ 4,	0,	printargs,		"migrate_pages"		}, /* 272 */
+	{ 6,	TD,	sys_pselect6,		"pselect6"		}, /* 273 */
+	{ 5,	TD,	sys_ppoll,		"ppoll"			}, /* 274 */
+	{ 4,	TD|TF,	sys_openat,		"openat"		}, /* 275 */
+	{ 3,	TD|TF,	sys_mkdirat,		"mkdirat"		}, /* 276 */
+	{ 4,	TD|TF,	sys_mknodat,		"mknodat"		}, /* 277 */
+	{ 5,	TD|TF,	sys_fchownat,		"fchownat"		}, /* 278 */
+	{ 3,	TD|TF,	sys_futimesat,		"futimesat"		}, /* 279 */
+	{ 4,	TD|TD,	sys_newfstatat,		"newfstatat"		}, /* 280 */
+	{ 3,	TD|TF,	sys_unlinkat,		"unlinkat"		}, /* 281 */
+	{ 4,	TD|TF,	sys_renameat,		"renameat"		}, /* 282 */
+	{ 5,	TD|TF,	sys_linkat,		"linkat"		}, /* 283 */
+	{ 3,	TD|TF,	sys_symlinkat,		"symlinkat"		}, /* 284 */
+	{ 4,	TD|TF,	sys_readlinkat,		"readlinkat"		}, /* 285 */
+	{ 3,	TD|TF,	sys_fchmodat,		"fchmodat"		}, /* 286 */
+	{ 3,	TD|TF,	sys_faccessat,		"faccessat"		}, /* 287 */
+	{ 1,	TP,	sys_unshare,		"unshare"		}, /* 288 */
+	{ 2,	0,	printargs,		"set_robust_list"	}, /* 289 */
+	{ 3,	0,	printargs,		"get_robust_list"	}, /* 290 */
+	{ 6,	TD,	printargs,		"splice"		}, /* 291 */
+	{ 4,	TD,	printargs,		"sync_file_range"	}, /* 292 */
+	{ 4,	TD,	printargs,		"tee"			}, /* 293 */
+	{ 4,	TD,	printargs,		"vmsplice"		}, /* 294 */
+	{ 6,	0,	sys_move_pages,		"move_pages"		}, /* 295 */
+	{ 3,	0,	sys_getcpu,		"getcpu"		}, /* 296 */
+	{ 6,	TD,	sys_epoll_pwait,	"epoll_pwait"		}, /* 297 */
+	{ 3,	TF,	sys_statfs64,		"statfs64"		}, /* 298 */
+	{ 3,	TD,	sys_fstatfs64,		"fstatfs64"		}, /* 299 */
+	{ 4,	0,	printargs,		"kexec_load"		}, /* 300 */
+	{ 4,	TD|TF,	sys_utimensat,		"utimensat"		}, /* 301 */
+	{ 3,	TD,	printargs,		"signalfd"		}, /* 302 */
+	{ 4,	TD,	printargs,		"timerfd"		}, /* 303 */
+	{ 1,	TD,	sys_eventfd,		"eventfd"		}, /* 304 */
+	{ 6,	TF,	sys_fallocate,		"fallocate"		}, /* 305 */
+	{ 2,	TD,	sys_timerfd_create,	"timerfd_create"	}, /* 306 */
+	{ 4,	TD,	sys_timerfd_settime,	"timerfd_settime"	}, /* 307 */
+	{ 2,	TD,	sys_timerfd_gettime,	"timerfd_gettime"	}, /* 308 */
+	{ 4,	TD|TS,	sys_signalfd4,		"signalfd4"		}, /* 309 */
+	{ 2,	TD,	sys_eventfd2,		"eventfd2"		}, /* 310 */
+	{ 1,	0,	sys_epoll_create1,	"epoll_create1"		}, /* 311 */
+	{ 3,	TD,	sys_dup3,		"dup3"			}, /* 312 */
+	{ 2,	TD,	sys_pipe2,		"pipe2"			}, /* 313 */
+	{ 1,	TD,	sys_inotify_init1,	"inotify_init1"		}, /* 314 */
+	{ 5,	TD,	printargs,		"preadv"		}, /* 315 */
+	{ 5,	TD,	printargs,		"pwritev"		}, /* 316 */
+	{ 4,	TP|TS,	printargs,		"rt_tgsigqueueinfo"	}, /* 317 */
+	{ 5,	TD,	printargs,		"perf_event_open"	}, /* 318 */
diff --git a/strace-4.5.20/linux/i386/syscallent.h b/strace-4.5.20/linux/i386/syscallent.h
new file mode 100644
index 0000000..986433f
--- /dev/null
+++ b/strace-4.5.20/linux/i386/syscallent.h
@@ -0,0 +1,485 @@
+/*
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+	{ 0,	0,	sys_restart_syscall,	"restart_syscall" }, /* 0 */
+	{ 1,	TP,	sys_exit,		"_exit", SYS_exit }, /* 1 */
+	{ 0,	TP,	sys_fork,		"fork", SYS_fork }, /* 2 */
+	{ 3,	TD,	sys_read,		"read", SYS_read }, /* 3 */
+	{ 3,	TD,	sys_write,		"write", SYS_write }, /* 4 */
+	{ 3,	TD|TF,	sys_open,		"open"		}, /* 5 */
+	{ 1,	TD,	sys_close,		"close"		}, /* 6 */
+	{ 3,	TP,	sys_waitpid,		"waitpid", SYS_wait4 }, /* 7 */
+	{ 2,	TD|TF,	sys_creat,		"creat"		}, /* 8 */
+	{ 2,	TF,	sys_link,		"link"		}, /* 9 */
+	{ 1,	TF,	sys_unlink,		"unlink"	}, /* 10 */
+	{ 3,	TF|TP,	sys_execve,		"execve", SYS_execve }, /* 11 */
+	{ 1,	TF,	sys_chdir,		"chdir"		}, /* 12 */
+	{ 1,	0,	sys_time,		"time"		}, /* 13 */
+	{ 3,	TF,	sys_mknod,		"mknod"		}, /* 14 */
+	{ 2,	TF,	sys_chmod,		"chmod"		}, /* 15 */
+	{ 3,	TF,	sys_chown,		"lchown"	}, /* 16 */
+	{ 0,	0,	sys_break,		"break"		}, /* 17 */
+	{ 2,	TF,	sys_oldstat,		"oldstat"	}, /* 18 */
+	{ 3,	TD,	sys_lseek,		"lseek"		}, /* 19 */
+	{ 0,	0,	sys_getpid,		"getpid"	}, /* 20 */
+	{ 5,	TF,	sys_mount,		"mount"		}, /* 21 */
+	{ 1,	TF,	sys_umount,		"oldumount"	}, /* 22 */
+	{ 1,	0,	sys_setuid,		"setuid"	}, /* 23 */
+	{ 0,	0,	sys_getuid,		"getuid"	}, /* 24 */
+	{ 1,	0,	sys_stime,		"stime"		}, /* 25 */
+	{ 4,	0,	sys_ptrace,		"ptrace"	}, /* 26 */
+	{ 1,	0,	sys_alarm,		"alarm"		}, /* 27 */
+	{ 2,	TD,	sys_oldfstat,		"oldfstat"	}, /* 28 */
+	{ 0,	TS,	sys_pause,		"pause"		}, /* 29 */
+	{ 2,	TF,	sys_utime,		"utime"		}, /* 30 */
+	{ 2,	0,	sys_stty,		"stty"		}, /* 31 */
+	{ 2,	0,	sys_gtty,		"gtty"		}, /* 32 */
+	{ 2,	TF,	sys_access,		"access"	}, /* 33 */
+	{ 1,	0,	sys_nice,		"nice"		}, /* 34 */
+	{ 0,	0,	sys_ftime,		"ftime"		}, /* 35 */
+	{ 0,	0,	sys_sync,		"sync"		}, /* 36 */
+	{ 2,	TS,	sys_kill,		"kill"		}, /* 37 */
+	{ 2,	TF,	sys_rename,		"rename"	}, /* 38 */
+	{ 2,	TF,	sys_mkdir,		"mkdir"		}, /* 39 */
+	{ 1,	TF,	sys_rmdir,		"rmdir"		}, /* 40 */
+	{ 1,	TD,	sys_dup,		"dup"		}, /* 41 */
+	{ 1,	TD,	sys_pipe,		"pipe"		}, /* 42 */
+	{ 1,	0,	sys_times,		"times"		}, /* 43 */
+	{ 0,	0,	sys_prof,		"prof"		}, /* 44 */
+	{ 1,	0,	sys_brk,		"brk"		}, /* 45 */
+	{ 1,	0,	sys_setgid,		"setgid"	}, /* 46 */
+	{ 0,	0,	sys_getgid,		"getgid"	}, /* 47 */
+	{ 3,	TS,	sys_signal,		"signal"	}, /* 48 */
+	{ 0,	0,	sys_geteuid,		"geteuid"	}, /* 49 */
+	{ 0,	0,	sys_getegid,		"getegid"	}, /* 50 */
+	{ 1,	TF,	sys_acct,		"acct"		}, /* 51 */
+	{ 2,	TF,	sys_umount2,		"umount"	}, /* 52 */
+	{ 0,	0,	sys_lock,		"lock"		}, /* 53 */
+	{ 3,	TD,	sys_ioctl,		"ioctl"		}, /* 54 */
+	{ 3,	TD,	sys_fcntl,		"fcntl"		}, /* 55 */
+	{ 0,	0,	sys_mpx,		"mpx"		}, /* 56 */
+	{ 2,	0,	sys_setpgid,		"setpgid"	}, /* 57 */
+	{ 2,	0,	sys_ulimit,		"ulimit"	}, /* 58 */
+	{ 1,	0,	sys_oldolduname,	"oldolduname"	}, /* 59 */
+	{ 1,	0,	sys_umask,		"umask"		}, /* 60 */
+	{ 1,	TF,	sys_chroot,		"chroot"	}, /* 61 */
+	{ 2,	0,	sys_ustat,		"ustat"		}, /* 62 */
+	{ 2,	TD,	sys_dup2,		"dup2"		}, /* 63 */
+	{ 0,	0,	sys_getppid,		"getppid"	}, /* 64 */
+	{ 0,	0,	sys_getpgrp,		"getpgrp"	}, /* 65 */
+	{ 0,	0,	sys_setsid,		"setsid"	}, /* 66 */
+	{ 3,	TS,	sys_sigaction,		"sigaction"	}, /* 67 */
+	{ 0,	TS,	sys_siggetmask,		"siggetmask"	}, /* 68 */
+	{ 1,	TS,	sys_sigsetmask,		"sigsetmask"	}, /* 69 */
+	{ 2,	0,	sys_setreuid,		"setreuid"	}, /* 70 */
+	{ 2,	0,	sys_setregid,		"setregid"	}, /* 71 */
+	{ 3,	TS,	sys_sigsuspend,		"sigsuspend"	}, /* 72 */
+	{ 1,	TS,	sys_sigpending,		"sigpending"	}, /* 73 */
+	{ 2,	0,	sys_sethostname,	"sethostname"	}, /* 74 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit"	}, /* 75 */
+	{ 2,	0,	sys_getrlimit,		"old_getrlimit"	}, /* 76 */
+	{ 2,	0,	sys_getrusage,		"getrusage"	}, /* 77 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday"	}, /* 78 */
+	{ 2,	0,	sys_settimeofday,	"settimeofday"	}, /* 79 */
+	{ 2,	0,	sys_getgroups,		"getgroups"	}, /* 80 */
+	{ 2,	0,	sys_setgroups,		"setgroups"	}, /* 81 */
+	{ 1,	TD,	sys_oldselect,		"oldselect"	}, /* 82 */
+	{ 2,	TF,	sys_symlink,		"symlink"	}, /* 83 */
+	{ 2,	TF,	sys_oldlstat,		"oldlstat"	}, /* 84 */
+	{ 3,	TF,	sys_readlink,		"readlink"	}, /* 85 */
+	{ 1,	TF,	sys_uselib,		"uselib"	}, /* 86 */
+	{ 1,	TF,	sys_swapon,		"swapon"	}, /* 87 */
+	{ 3,	0,	sys_reboot,		"reboot"	}, /* 88 */
+	{ 3,	TD,	sys_readdir,		"readdir"	}, /* 89 */
+	{ 6,	TD,	sys_old_mmap,		"old_mmap"	}, /* 90 */
+	{ 2,	0,	sys_munmap,		"munmap"	}, /* 91 */
+	{ 2,	TF,	sys_truncate,		"truncate"	}, /* 92 */
+	{ 2,	TD,	sys_ftruncate,		"ftruncate"	}, /* 93 */
+	{ 2,	TD,	sys_fchmod,		"fchmod"	}, /* 94 */
+	{ 3,	TD,	sys_fchown,		"fchown"	}, /* 95 */
+	{ 2,	0,	sys_getpriority,	"getpriority"	}, /* 96 */
+	{ 3,	0,	sys_setpriority,	"setpriority"	}, /* 97 */
+	{ 4,	0,	sys_profil,		"profil"	}, /* 98 */
+	{ 2,	TF,	sys_statfs,		"statfs"	}, /* 99 */
+	{ 2,	TD,	sys_fstatfs,		"fstatfs"	}, /* 100 */
+	{ 3,	0,	sys_ioperm,		"ioperm"	}, /* 101 */
+	{ 2,	TD,	sys_socketcall,		"socketcall", SYS_socketcall }, /* 102 */
+	{ 3,	0,	sys_syslog,		"syslog"	}, /* 103 */
+	{ 3,	0,	sys_setitimer,		"setitimer"	}, /* 104 */
+	{ 2,	0,	sys_getitimer,		"getitimer"	}, /* 105 */
+	{ 2,	TF,	sys_stat,		"stat"		}, /* 106 */
+	{ 2,	TF,	sys_lstat,		"lstat"		}, /* 107 */
+	{ 2,	TD,	sys_fstat,		"fstat"		}, /* 108 */
+	{ 1,	0,	sys_olduname,		"olduname"	}, /* 109 */
+	{ 1,	0,	sys_iopl,		"iopl"		}, /* 110 */
+	{ 0,	0,	sys_vhangup,		"vhangup"	}, /* 111 */
+	{ 0,	0,	sys_idle,		"idle"		}, /* 112 */
+	{ 1,	0,	sys_vm86old,		"vm86old"	}, /* 113 */
+	{ 4,	TP,	sys_wait4,		"wait4", SYS_wait4 }, /* 114 */
+	{ 1,	0,	sys_swapoff,		"swapoff"	}, /* 115 */
+	{ 1,	0,	sys_sysinfo,		"sysinfo"	}, /* 116 */
+	{ 6,	0,	sys_ipc,		"ipc", SYS_ipc }, /* 117 */
+	{ 1,	TD,	sys_fsync,		"fsync"		}, /* 118 */
+	{ 1,	TS,	sys_sigreturn,		"sigreturn"	}, /* 119 */
+	{ 5,	TP,	sys_clone,		"clone", SYS_clone }, /* 120 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname"	}, /* 121 */
+	{ 1,	0,	sys_uname,		"uname"		}, /* 122 */
+	{ 3,	0,	sys_modify_ldt,		"modify_ldt"	}, /* 123 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex"	}, /* 124 */
+	{ 3,	0,	sys_mprotect,		"mprotect"	}, /* 125 */
+	{ 3,	TS,	sys_sigprocmask,	"sigprocmask"	}, /* 126 */
+	{ 2,	0,	sys_create_module,	"create_module"	}, /* 127 */
+	{ 3,	0,	sys_init_module,	"init_module"	}, /* 128 */
+	{ 2,	0,	sys_delete_module,	"delete_module"	}, /* 129 */
+	{ 1,	0,	sys_get_kernel_syms,	"get_kernel_syms"}, /* 130 */
+	{ 4,	0,	sys_quotactl,		"quotactl"	}, /* 131 */
+	{ 1,	0,	sys_getpgid,		"getpgid"	}, /* 132 */
+	{ 1,	TD,	sys_fchdir,		"fchdir"	}, /* 133 */
+	{ 0,	0,	sys_bdflush,		"bdflush"	}, /* 134 */
+	{ 3,	0,	sys_sysfs,		"sysfs", SYS_sysfs }, /* 135 */
+	{ 1,	0,	sys_personality,	"personality"	}, /* 136 */
+	{ 5,	0,	sys_afs_syscall,	"afs_syscall"	}, /* 137 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid"	}, /* 138 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid"	}, /* 139 */
+	{ 5,	TD,	sys_llseek,		"_llseek"	}, /* 140 */
+	{ 3,	TD,	sys_getdents,		"getdents"	}, /* 141 */
+	{ 5,	TD,	sys_select,		"select"	}, /* 142 */
+	{ 2,	TD,	sys_flock,		"flock"		}, /* 143 */
+	{ 3,	0,	sys_msync,		"msync"		}, /* 144 */
+	{ 3,	TD,	sys_readv,		"readv", SYS_readv }, /* 145 */
+	{ 3,	TD,	sys_writev,		"writev", SYS_writev }, /* 146 */
+	{ 1,	0,	sys_getsid,		"getsid"	}, /* 147 */
+	{ 1,	TD,	sys_fdatasync,		"fdatasync"	}, /* 148 */
+	{ 1,	0,	sys_sysctl,		"_sysctl"	}, /* 149 */
+	{ 2,	0,	sys_mlock,		"mlock"		}, /* 150 */
+	{ 2,	0,	sys_munlock,		"munlock"	}, /* 151 */
+	{ 2,	0,	sys_mlockall,		"mlockall"	}, /* 152 */
+	{ 0,	0,	sys_munlockall,		"munlockall"	}, /* 153 */
+	{ 0,	0,	sys_sched_setparam,	"sched_setparam"}, /* 154 */
+	{ 2,	0,	sys_sched_getparam,	"sched_getparam"}, /* 155 */
+	{ 3,	0,	sys_sched_setscheduler,	"sched_setscheduler"}, /* 156 */
+	{ 1,	0,	sys_sched_getscheduler,	"sched_getscheduler"}, /* 157 */
+	{ 0,	0,	sys_sched_yield,	"sched_yield"}, /* 158 */
+	{ 1,	0,	sys_sched_get_priority_max,"sched_get_priority_max"}, /* 159 */
+	{ 1,	0,	sys_sched_get_priority_min,"sched_get_priority_min"}, /* 160 */
+	{ 2,	0,	sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 161 */
+	{ 2,	0,	sys_nanosleep,		"nanosleep"	}, /* 162 */
+	{ 5,	0,	sys_mremap,		"mremap"	}, /* 163 */
+	{ 3,	0,	sys_setresuid,		"setresuid"	}, /* 164 */
+	{ 3,	0,	sys_getresuid,		"getresuid"	}, /* 165 */
+	{ 5,	0,	printargs,		"vm86"		}, /* 166 */
+	{ 5,	0,	sys_query_module,	"query_module"	}, /* 167 */
+	{ 3,	TD,	sys_poll,		"poll"		}, /* 168 */
+	{ 3,	0,	printargs,		"nfsservctl"	}, /* 169 */
+	{ 3,	0,	sys_setresgid,		"setresgid"	}, /* 170 */
+	{ 3,	0,	sys_getresgid,		"getresgid"	}, /* 171 */
+	{ 5,	0,	sys_prctl,		"prctl"		}, /* 172 */
+	{ 1,	TS,	printargs,		"rt_sigreturn"	}, /* 173 */
+	{ 4,	TS,	sys_rt_sigaction,	"rt_sigaction"  }, /* 174 */
+	{ 4,	TS,	sys_rt_sigprocmask,	"rt_sigprocmask"}, /* 175 */
+	{ 2,	TS,	sys_rt_sigpending,	"rt_sigpending"	}, /* 176 */
+	{ 4,	TS,	sys_rt_sigtimedwait,	"rt_sigtimedwait"}, /* 177 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,    "rt_sigqueueinfo"}, /* 178 */
+	{ 2,	TS,	sys_rt_sigsuspend,	"rt_sigsuspend"	}, /* 179 */
+
+	{ 5,	TD,	sys_pread,		"pread64", SYS_read }, /* 180 */
+	{ 5,	TD,	sys_pwrite,		"pwrite64", SYS_write }, /* 181 */
+	{ 3,	TF,	sys_chown,		"chown"		}, /* 182 */
+	{ 2,	TF,	sys_getcwd,		"getcwd"	}, /* 183 */
+	{ 2,	0,	sys_capget,		"capget"	}, /* 184 */
+	{ 2,	0,	sys_capset,		"capset"	}, /* 185 */
+	{ 2,	TS,	sys_sigaltstack,	"sigaltstack"	}, /* 186 */
+	{ 4,	TD|TN,	sys_sendfile,		"sendfile"	}, /* 187 */
+	{ 5,	0,	sys_getpmsg,		"getpmsg"	}, /* 188 */
+	{ 5,	0,	sys_putpmsg,		"putpmsg"	}, /* 189 */
+	{ 0,	TP,	sys_vfork,		"vfork", SYS_vfork }, /* 190 */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"	}, /* 191 */
+	{ 6,	0,	sys_mmap,		"mmap2"		}, /* 192 */
+	{ 3,	TF,	sys_truncate64,		"truncate64"	}, /* 193 */
+	{ 3,	TD,	sys_ftruncate64,	"ftruncate64"	}, /* 194 */
+	{ 2,	TF,	sys_stat64,		"stat64"	}, /* 195 */
+	{ 2,	TF,	sys_lstat64,		"lstat64"	}, /* 196 */
+	{ 2,	TD,	sys_fstat64,		"fstat64"	}, /* 197 */
+	{ 3,	TF,	sys_chown,		"lchown32"	}, /* 198 */
+	{ 0,	0,	sys_getuid,		"getuid32"	}, /* 199 */
+
+	{ 0,	0,	sys_getgid,		"getgid32"	}, /* 200 */
+	{ 0,	0,	sys_geteuid,		"geteuid32"	}, /* 201 */
+	{ 0,	0,	sys_getegid,		"getegid32"	}, /* 202 */
+	{ 2,	0,	sys_setreuid,		"setreuid32"	}, /* 203 */
+	{ 2,	0,	sys_setregid,		"setregid32"	}, /* 204 */
+	{ 2,	0,	sys_getgroups32,	"getgroups32"	}, /* 205 */
+	{ 2,	0,	sys_setgroups32,	"setgroups32"	}, /* 206 */
+	{ 3,	TD,	sys_fchown,		"fchown32"	}, /* 207 */
+	{ 3,	0,	sys_setresuid,		"setresuid32"	}, /* 208 */
+	{ 3,	0,	sys_getresuid,		"getresuid32"	}, /* 209 */
+	{ 3,	0,	sys_setresgid,		"setresgid32"	}, /* 210 */
+	{ 3,	0,	sys_getresgid,		"getresgid32"	}, /* 211 */
+	{ 3,	TF,	sys_chown,		"chown32"	}, /* 212 */
+	{ 1,	0,	sys_setuid,		"setuid32"	}, /* 213 */
+	{ 1,	0,	sys_setgid,		"setgid32"	}, /* 214 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid32"	}, /* 215 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid32"	}, /* 216 */
+	{ 2,	TF,	sys_pivotroot,		"pivot_root"	}, /* 217 */
+	{ 3,	0,	sys_mincore,		"mincore"	}, /* 218 */
+	{ 3,	0,	sys_madvise,		"madvise"	}, /* 219 */
+	{ 3,	TD,	sys_getdents64,		"getdents64"	}, /* 220 */
+	{ 3,	TD,	sys_fcntl,		"fcntl64"	}, /* 221 */
+	{ 4,	0,	printargs,		"SYS_222"	}, /* 222 */
+/*TODO*/{ 5,	0,	printargs,		"security"	}, /* 223 */
+	{ 0,	0,	printargs,		"gettid"	}, /* 224 */
+	{ 4,	TD,	sys_readahead,		"readahead"	}, /* 225 */
+	{ 5,	TF,	sys_setxattr,		"setxattr"	}, /* 226 */
+	{ 5,	TF,	sys_setxattr,		"lsetxattr"	}, /* 227 */
+	{ 5,	TD,	sys_fsetxattr,		"fsetxattr"	}, /* 228 */
+	{ 4,	TF,	sys_getxattr,		"getxattr"	}, /* 229 */
+	{ 4,	TF,	sys_getxattr,		"lgetxattr"	}, /* 230 */
+	{ 4,	0,	sys_fgetxattr,		"fgetxattr"	}, /* 231 */
+	{ 3,	TF,	sys_listxattr,		"listxattr"	}, /* 232 */
+	{ 3,	TF,	sys_listxattr,		"llistxattr"	}, /* 233 */
+	{ 3,	0,	sys_flistxattr,		"flistxattr"	}, /* 234 */
+	{ 2,	TF,	sys_removexattr,	"removexattr"	}, /* 235 */
+	{ 2,	TF,	sys_removexattr,	"lremovexattr"	}, /* 236 */
+	{ 2,	TD,	sys_fremovexattr,	"fremovexattr"	}, /* 237 */
+	{ 2,	TS,	sys_kill,		"tkill"		}, /* 238 */
+	{ 4,	TD|TN,	sys_sendfile64,		"sendfile64"	}, /* 239 */
+	{ 6,	0,	sys_futex,		"futex"		}, /* 240 */
+	{ 3,	0,	sys_sched_setaffinity,	"sched_setaffinity" },/* 241 */
+	{ 3,	0,	sys_sched_getaffinity,	"sched_getaffinity" },/* 242 */
+	{ 1,	0,	sys_set_thread_area,	"set_thread_area" }, /* 243 */
+	{ 1,	0,	sys_get_thread_area,	"get_thread_area" }, /* 244 */
+	{ 2,	0,	sys_io_setup,		"io_setup"	}, /* 245 */
+	{ 1,	0,	sys_io_destroy,		"io_destroy"	}, /* 246 */
+	{ 5,	0,	sys_io_getevents,	"io_getevents"	}, /* 247 */
+	{ 3,	0,	sys_io_submit,		"io_submit"	}, /* 248 */
+	{ 3,	0,	sys_io_cancel,		"io_cancel"	}, /* 249 */
+	{ 5,	0,	sys_fadvise64,		"fadvise64"	}, /* 250 */
+	{ 5,	0,	printargs,		"SYS_251"	}, /* 251 */
+	{ 1,	TP,	sys_exit,		"exit_group", __NR_exit_group }, /* 252 */
+	{ 4,	0,	printargs,		"lookup_dcookie"}, /* 253 */
+	{ 1,	0,	sys_epoll_create,	"epoll_create"	}, /* 254 */
+	{ 4,	TD,	sys_epoll_ctl,		"epoll_ctl"	}, /* 255 */
+	{ 4,	TD,	sys_epoll_wait,		"epoll_wait"	}, /* 256 */
+	{ 5,	0,	sys_remap_file_pages,	"remap_file_pages"}, /* 257 */
+	{ 1,	0,	printargs,		"set_tid_address"}, /* 258 */
+	{ 3,	0,	sys_timer_create,	"timer_create"	}, /* 259 */
+	{ 4,	0,	sys_timer_settime,	"timer_settime"	}, /* 260 */
+	{ 2,	0,	sys_timer_gettime,	"timer_gettime"	}, /* 261 */
+	{ 1,	0,	sys_timer_getoverrun,	"timer_getoverrun"}, /* 262 */
+	{ 1,	0,	sys_timer_delete,	"timer_delete"	}, /* 263 */
+	{ 2,	0,	sys_clock_settime,	"clock_settime"	}, /* 264 */
+	{ 2,	0,	sys_clock_gettime,	"clock_gettime"	}, /* 265 */
+	{ 2,	0,	sys_clock_getres,	"clock_getres"	}, /* 266 */
+	{ 4,	0,	sys_clock_nanosleep,	"clock_nanosleep"}, /* 267 */
+	{ 3,	TF,	sys_statfs64,		"statfs64"	}, /* 268 */
+	{ 3,	TD,	sys_fstatfs64,		"fstatfs64"	}, /* 269 */
+	{ 3,	TS,	sys_tgkill,		"tgkill"	}, /* 270 */
+	{ 2,	TF,	sys_utimes,		"utimes"	}, /* 271 */
+	{ 6,	0,	sys_fadvise64_64,	"fadvise64_64"	}, /* 272 */
+	{ 5,	0,	printargs,		"vserver"	}, /* 273 */
+	{ 6,	0,	sys_mbind,		"mbind"		}, /* 274 */
+	{ 5,	0,	sys_get_mempolicy,	"get_mempolicy"	}, /* 275 */
+	{ 3,	0,	sys_set_mempolicy,	"set_mempolicy"	}, /* 276 */
+	{ 4,	0,	sys_mq_open,		"mq_open"	}, /* 277 */
+	{ 1,	0,	sys_mq_unlink,		"mq_unlink"	}, /* 278 */
+	{ 5,	0,	sys_mq_timedsend,	"mq_timedsend"	}, /* 279 */
+	{ 5,	0,	sys_mq_timedreceive,	"mq_timedreceive" }, /* 280 */
+	{ 2,	0,	sys_mq_notify,		"mq_notify"	}, /* 281 */
+	{ 3,	0,	sys_mq_getsetattr,	"mq_getsetattr"	}, /* 282 */
+	{ 5,	0,	printargs,		"kexec_load"	}, /* 283 */
+	{ 5,	TP,	sys_waitid,		"waitid", SYS_waitid }, /* 284 */
+	{ 5,	0,	printargs,		"SYS_285"	}, /* 285 */
+	{ 5,	0,	printargs,		"add_key"	}, /* 286 */
+	{ 4,	0,	printargs,		"request_key"	}, /* 287 */
+	{ 5,	0,	printargs,		"keyctl"	}, /* 288 */
+	{ 3,	0,	printargs,		"ioprio_set"	}, /* 289 */
+	{ 2,	0,	printargs,		"ioprio_get"	}, /* 290 */
+	{ 0,	TD,	printargs,		"inotify_init"	}, /* 291 */
+	{ 3,	TD,	sys_inotify_add_watch,	"inotify_add_watch" }, /* 292 */
+	{ 2,	TD,	sys_inotify_rm_watch,	"inotify_rm_watch" }, /* 293 */
+	{ 4,	0,	printargs,		"migrate_pages"	}, /* 294 */
+	{ 4,	TD|TF,	sys_openat,		"openat"	}, /* 295 */
+	{ 3,	TD|TF,	sys_mkdirat,		"mkdirat"	}, /* 296 */
+	{ 4,	TD|TF,	sys_mknodat,		"mknodat"	}, /* 297 */
+	{ 5,	TD|TF,	sys_fchownat,		"fchownat"	}, /* 298 */
+	{ 3,	TD|TF,	sys_futimesat,		"futimesat"	}, /* 299 */
+	{ 4,	TD|TD,	sys_newfstatat,		"fstatat64"	}, /* 300 */
+	{ 3,	TD|TF,	sys_unlinkat,		"unlinkat"	}, /* 301 */
+	{ 4,	TD|TF,	sys_renameat,		"renameat"	}, /* 302 */
+	{ 5,	TD|TF,	sys_linkat,		"linkat"	}, /* 303 */
+	{ 3,	TD|TF,	sys_symlinkat,		"symlinkat"	}, /* 304 */
+	{ 4,	TD|TF,	sys_readlinkat,		"readlinkat"	}, /* 305 */
+	{ 3,	TD|TF,	sys_fchmodat,		"fchmodat"	}, /* 306 */
+	{ 3,	TD|TF,	sys_faccessat,		"faccessat"	}, /* 307 */
+	{ 6,	TD,	sys_pselect6,		"pselect6"	}, /* 308 */
+	{ 5,	TD,	sys_ppoll,		"ppoll"		}, /* 309 */
+	{ 1,	TP,	sys_unshare,		"unshare"	}, /* 310 */
+	{ 2,	0,	printargs,		"set_robust_list" }, /* 311 */
+	{ 3,	0,	printargs,		"get_robust_list" }, /* 312 */
+	{ 6,	TD,	printargs,		"splice"	}, /* 313 */
+	{ 4,	TD,	printargs,		"sync_file_range" }, /* 314 */
+	{ 4,	TD,	printargs,		"tee"		}, /* 315 */
+	{ 4,	TD,	printargs,		"vmsplice"	}, /* 316 */
+	{ 6,	0,	sys_move_pages,		"move_pages"	}, /* 317 */
+	{ 3,	0,	sys_getcpu,		"getcpu"	}, /* 318 */
+	{ 5,	TD,	sys_epoll_pwait,	"epoll_pwait"	}, /* 319 */
+	{ 4,	TD|TF,	sys_utimensat,		"utimensat"	}, /* 320 */
+	{ 3,	TD|TS,	sys_signalfd,		"signalfd"	}, /* 321 */
+	{ 2,	TD,	sys_timerfd_create,	"timerfd_create"}, /* 322 */
+	{ 1,	TD,	sys_eventfd,		"eventfd"	}, /* 323 */
+	{ 6,	TF,	sys_fallocate,		"fallocate"	}, /* 324 */
+	{ 4,	TD,	sys_timerfd_settime,	"timerfd_settime"}, /* 325 */
+	{ 2,	TD,	sys_timerfd_gettime,	"timerfd_gettime"}, /* 326 */
+	{ 4,	TD|TS,	sys_signalfd4,		"signalfd4"	}, /* 327 */
+	{ 2,	TD,	sys_eventfd2,		"eventfd2"	}, /* 328 */
+	{ 1,	0,	sys_epoll_create1,	"epoll_create1"	}, /* 329 */
+	{ 3,	TD,	sys_dup3,		"dup3"		}, /* 330 */
+	{ 2,	TD,	sys_pipe2,		"pipe2"		}, /* 331 */
+	{ 1,	TD,	sys_inotify_init1,	"inotify_init1"	}, /* 332 */
+	{ 5,	TD,	printargs,		"preadv"	}, /* 333 */
+	{ 5,	TD,	printargs,		"pwritev"	}, /* 334 */
+	{ 4,	TP|TS,	printargs,		"rt_tgsigqueueinfo"}, /* 335 */
+	{ 5,	TD,	printargs,		"perf_event_open"}, /* 336 */
+	{ 5,	TN,	sys_recvmmsg,		"recvmmsg"	}, /* 337 */
+	{ 5,	0,	printargs,		"SYS_338"	}, /* 338 */
+	{ 5,	0,	printargs,		"SYS_339"	}, /* 339 */
+	{ 5,	0,	printargs,		"SYS_340"	}, /* 340 */
+	{ 5,	0,	printargs,		"SYS_341"	}, /* 341 */
+	{ 5,	0,	printargs,		"SYS_342"	}, /* 342 */
+	{ 5,	0,	printargs,		"SYS_343"	}, /* 343 */
+	{ 5,	0,	printargs,		"SYS_344"	}, /* 344 */
+	{ 5,	0,	printargs,		"SYS_345"	}, /* 345 */
+	{ 5,	0,	printargs,		"SYS_346"	}, /* 346 */
+	{ 5,	0,	printargs,		"SYS_347"	}, /* 347 */
+	{ 5,	0,	printargs,		"SYS_348"	}, /* 348 */
+	{ 5,	0,	printargs,		"SYS_349"	}, /* 349 */
+	{ 5,	0,	printargs,		"SYS_350"	}, /* 350 */
+	{ 5,	0,	printargs,		"SYS_351"	}, /* 351 */
+	{ 5,	0,	printargs,		"SYS_352"	}, /* 352 */
+	{ 5,	0,	printargs,		"SYS_353"	}, /* 353 */
+	{ 5,	0,	printargs,		"SYS_354"	}, /* 354 */
+	{ 5,	0,	printargs,		"SYS_355"	}, /* 355 */
+	{ 5,	0,	printargs,		"SYS_356"	}, /* 356 */
+	{ 5,	0,	printargs,		"SYS_357"	}, /* 357 */
+	{ 5,	0,	printargs,		"SYS_358"	}, /* 358 */
+	{ 5,	0,	printargs,		"SYS_359"	}, /* 359 */
+	{ 5,	0,	printargs,		"SYS_360"	}, /* 360 */
+	{ 5,	0,	printargs,		"SYS_361"	}, /* 361 */
+	{ 5,	0,	printargs,		"SYS_362"	}, /* 362 */
+	{ 5,	0,	printargs,		"SYS_363"	}, /* 363 */
+	{ 5,	0,	printargs,		"SYS_364"	}, /* 364 */
+	{ 5,	0,	printargs,		"SYS_365"	}, /* 365 */
+	{ 5,	0,	printargs,		"SYS_366"	}, /* 366 */
+	{ 5,	0,	printargs,		"SYS_367"	}, /* 367 */
+	{ 5,	0,	printargs,		"SYS_368"	}, /* 368 */
+	{ 5,	0,	printargs,		"SYS_369"	}, /* 369 */
+	{ 5,	0,	printargs,		"SYS_370"	}, /* 370 */
+	{ 5,	0,	printargs,		"SYS_371"	}, /* 371 */
+	{ 5,	0,	printargs,		"SYS_372"	}, /* 372 */
+	{ 5,	0,	printargs,		"SYS_373"	}, /* 373 */
+	{ 5,	0,	printargs,		"SYS_374"	}, /* 374 */
+	{ 5,	0,	printargs,		"SYS_375"	}, /* 375 */
+	{ 5,	0,	printargs,		"SYS_376"	}, /* 376 */
+	{ 5,	0,	printargs,		"SYS_377"	}, /* 377 */
+	{ 5,	0,	printargs,		"SYS_378"	}, /* 378 */
+	{ 5,	0,	printargs,		"SYS_379"	}, /* 379 */
+	{ 5,	0,	printargs,		"SYS_380"	}, /* 380 */
+	{ 5,	0,	printargs,		"SYS_381"	}, /* 381 */
+	{ 5,	0,	printargs,		"SYS_382"	}, /* 382 */
+	{ 5,	0,	printargs,		"SYS_383"	}, /* 383 */
+	{ 5,	0,	printargs,		"SYS_384"	}, /* 384 */
+	{ 5,	0,	printargs,		"SYS_385"	}, /* 385 */
+	{ 5,	0,	printargs,		"SYS_386"	}, /* 386 */
+	{ 5,	0,	printargs,		"SYS_387"	}, /* 387 */
+	{ 5,	0,	printargs,		"SYS_388"	}, /* 388 */
+	{ 5,	0,	printargs,		"SYS_389"	}, /* 389 */
+	{ 5,	0,	printargs,		"SYS_390"	}, /* 390 */
+	{ 5,	0,	printargs,		"SYS_391"	}, /* 391 */
+	{ 5,	0,	printargs,		"SYS_392"	}, /* 392 */
+	{ 5,	0,	printargs,		"SYS_393"	}, /* 393 */
+	{ 5,	0,	printargs,		"SYS_394"	}, /* 394 */
+	{ 5,	0,	printargs,		"SYS_395"	}, /* 395 */
+	{ 5,	0,	printargs,		"SYS_396"	}, /* 396 */
+	{ 5,	0,	printargs,		"SYS_397"	}, /* 397 */
+	{ 5,	0,	printargs,		"SYS_398"	}, /* 398 */
+	{ 5,	0,	printargs,		"SYS_399"	}, /* 399 */
+
+#if SYS_socket_subcall != 400
+ #error fix me
+#endif
+	{ 8,	0,	printargs,		"socket_subcall"}, /* 400 */
+	{ 3,	TN,	sys_socket,		"socket"	}, /* 401 */
+	{ 3,	TN,	sys_bind,		"bind"		}, /* 402 */
+	{ 3,	TN,	sys_connect,		"connect"	}, /* 403 */
+	{ 2,	TN,	sys_listen,		"listen"	}, /* 404 */
+	{ 3,	TN,	sys_accept,		"accept"	}, /* 405 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	}, /* 406 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	}, /* 407 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"	}, /* 408 */
+	{ 4,	TN,	sys_send,		"send", SYS_sub_send }, /* 409 */
+	{ 4,	TN,	sys_recv,		"recv", SYS_sub_recv }, /* 410 */
+	{ 6,	TN,	sys_sendto,		"sendto", SYS_sub_sendto }, /* 411 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom", SYS_sub_recvfrom }, /* 412 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	}, /* 413 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	}, /* 414 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 415 */
+	{ 5,	TN,	sys_sendmsg,		"sendmsg"	}, /* 416 */
+	{ 5,	TN,	sys_recvmsg,		"recvmsg"	}, /* 417 */
+	{ 4,	TN,	sys_accept4,		"accept4"	}, /* 418 */
+	{ 5,	TN,	sys_recvmmsg,		"recvmmsg"	}, /* 419 */
+
+#if SYS_ipc_subcall != 420
+ #error fix me
+#endif
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 420 */
+	{ 4,	TI,	sys_semop,		"semop"		}, /* 421 */
+	{ 4,	TI,	sys_semget,		"semget"	}, /* 422 */
+	{ 4,	TI,	sys_semctl,		"semctl"	}, /* 423 */
+	{ 5,	TI,	sys_semtimedop,		"semtimedop"	}, /* 424 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 425 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 426 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 427 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 428 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 429 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 430 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd"	}, /* 431 */
+	{ 4,	TI,	sys_msgrcv,		"msgrcv"	}, /* 432 */
+	{ 4,	TI,	sys_msgget,		"msgget"	}, /* 433 */
+	{ 4,	TI,	sys_msgctl,		"msgctl"	}, /* 434 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 435 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 436 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 437 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 438 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 439 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 440 */
+	{ 4,	TI,	sys_shmat,		"shmat"		}, /* 441 */
+	{ 4,	TI,	sys_shmdt,		"shmdt"		}, /* 442 */
+	{ 4,	TI,	sys_shmget,		"shmget"	}, /* 443 */
+	{ 4,	TI,	sys_shmctl,		"shmctl"	}, /* 444 */
diff --git a/strace-4.5.20/linux/ia64/ioctlent.h b/strace-4.5.20/linux/ia64/ioctlent.h
new file mode 100644
index 0000000..8cd2acd
--- /dev/null
+++ b/strace-4.5.20/linux/ia64/ioctlent.h
@@ -0,0 +1,1080 @@
+	/* Generated by ioctlsort */
+	{"linux/fs.h",	"FIBMAP",	0x1},
+	{"linux/fs.h",	"FIGETBSZ",	0x2},
+	{"linux/fd.h",	"FDGETPRM",	0x204},
+	{"linux/fd.h",	"FDGETMAXERRS",	0x20e},
+	{"linux/fd.h",	"FDGETDRVTYP",	0x20f},
+	{"linux/fd.h",	"FDGETDRVPRM",	0x211},
+	{"linux/fd.h",	"FDGETDRVSTAT",	0x212},
+	{"linux/fd.h",	"FDPOLLDRVSTAT",	0x213},
+	{"linux/fd.h",	"FDGETFDCSTAT",	0x215},
+	{"linux/fd.h",	"FDWERRORGET",	0x217},
+	{"linux/fd.h",	"FDCLRPRM",	0x241},
+	{"linux/fd.h",	"FDSETPRM",	0x242},
+	{"linux/fd.h",	"FDDEFPRM",	0x243},
+	{"linux/fd.h",	"FDMSGON",	0x245},
+	{"linux/fd.h",	"FDMSGOFF",	0x246},
+	{"linux/fd.h",	"FDFMTBEG",	0x247},
+	{"linux/fd.h",	"FDFMTTRK",	0x248},
+	{"linux/fd.h",	"FDFMTEND",	0x249},
+	{"linux/fd.h",	"FDSETEMSGTRESH",	0x24a},
+	{"linux/fd.h",	"FDFLUSH",	0x24b},
+	{"linux/fd.h",	"FDSETMAXERRS",	0x24c},
+	{"linux/fd.h",	"FDRESET",	0x254},
+	{"linux/fd.h",	"FDWERRORCLR",	0x256},
+	{"linux/fd.h",	"FDRAWCMD",	0x258},
+	{"linux/fd.h",	"FDTWADDLE",	0x259},
+	{"linux/fd.h",	"FDEJECT",	0x25a},
+	{"linux/fd.h",	"FDSETDRVPRM",	0x290},
+	{"linux/fs.h",	"BLKROSET",	0x125d},
+	{"linux/fs.h",	"BLKROGET",	0x125e},
+	{"linux/fs.h",	"BLKRRPART",	0x125f},
+	{"linux/fs.h",	"BLKGETSIZE",	0x1260},
+	{"linux/fs.h",	"BLKFLSBUF",	0x1261},
+	{"linux/fs.h",	"BLKRASET",	0x1262},
+	{"linux/fs.h",	"BLKRAGET",	0x1263},
+	{"linux/fs.h",	"BLKFRASET",	0x1264},
+	{"linux/fs.h",	"BLKFRAGET",	0x1265},
+	{"linux/fs.h",	"BLKSECTSET",	0x1266},
+	{"linux/fs.h",	"BLKSECTGET",	0x1267},
+	{"linux/fs.h",	"BLKSSZGET",	0x1268},
+	{"linux/blkpg.h",	"BLKPG",	0x1269},
+	{"linux/fs.h",	"BLKPG",	0x1269},
+	{"linux/fs.h",	"BLKELVGET",	0x126a},
+	{"linux/fs.h",	"BLKELVSET",	0x126b},
+	{"linux/fs.h",	"BLKGETLASTSECT",	0x126c},
+	{"linux/fs.h",	"BLKSETLASTSECT",	0x126d},
+	{"linux/fs.h",	"BLKBSZGET",	0x1270},
+	{"linux/fs.h",	"BLKBSZSET",	0x1271},
+	{"linux/audit.h",	"AUIOCATTACH",	0x4065},
+	{"linux/audit.h",	"AUIOCDETACH",	0x4066},
+	{"linux/audit.h",	"AUIOCSUSPEND",	0x4067},
+	{"linux/audit.h",	"AUIOCRESUME",	0x4068},
+	{"linux/audit.h",	"AUIOCCLRPOLICY",	0x4069},
+	{"linux/audit.h",	"AUIOCSETPOLICY",	0x406a},
+	{"linux/audit.h",	"AUIOCIAMAUDITD",	0x406b},
+	{"linux/audit.h",	"AUIOCSETAUDITID",	0x406c},
+	{"linux/audit.h",	"AUIOCLOGIN",	0x406e},
+	{"linux/audit.h",	"AUIOCUSERMESSAGE",	0x406f},
+	{"linux/audit.h",	"AUIOCCLRFILTER",	0x4070},
+	{"linux/audit.h",	"AUIOCSETFILTER",	0x4071},
+	{"linux/agpgart.h",	"AGPIOC_INFO",	0x4100},
+	{"linux/agpgart.h",	"AGPIOC_ACQUIRE",	0x4101},
+	{"linux/apm_bios.h",	"APM_IOC_STANDBY",	0x4101},
+	{"linux/agpgart.h",	"AGPIOC_RELEASE",	0x4102},
+	{"linux/apm_bios.h",	"APM_IOC_SUSPEND",	0x4102},
+	{"linux/agpgart.h",	"AGPIOC_SETUP",	0x4103},
+	{"linux/agpgart.h",	"AGPIOC_RESERVE",	0x4104},
+	{"linux/agpgart.h",	"AGPIOC_PROTECT",	0x4105},
+	{"linux/agpgart.h",	"AGPIOC_ALLOCATE",	0x4106},
+	{"linux/agpgart.h",	"AGPIOC_DEALLOCATE",	0x4107},
+	{"linux/agpgart.h",	"AGPIOC_BIND",	0x4108},
+	{"linux/agpgart.h",	"AGPIOC_UNBIND",	0x4109},
+	{"linux/pmu.h",	"PMU_IOC_SLEEP",	0x4200},
+	{"linux/cciss_ioctl.h",	"CCISS_GETPCIINFO",	0x4201},
+	{"linux/pmu.h",	"PMU_IOC_GET_BACKLIGHT",	0x4201},
+	{"linux/cciss_ioctl.h",	"CCISS_GETINTINFO",	0x4202},
+	{"linux/pmu.h",	"PMU_IOC_SET_BACKLIGHT",	0x4202},
+	{"linux/cciss_ioctl.h",	"CCISS_SETINTINFO",	0x4203},
+	{"linux/pmu.h",	"PMU_IOC_GET_MODEL",	0x4203},
+	{"linux/cciss_ioctl.h",	"CCISS_GETNODENAME",	0x4204},
+	{"linux/pmu.h",	"PMU_IOC_HAS_ADB",	0x4204},
+	{"linux/cciss_ioctl.h",	"CCISS_SETNODENAME",	0x4205},
+	{"linux/pmu.h",	"PMU_IOC_CAN_SLEEP",	0x4205},
+	{"linux/cciss_ioctl.h",	"CCISS_GETHEARTBEAT",	0x4206},
+	{"linux/cciss_ioctl.h",	"CCISS_GETBUSTYPES",	0x4207},
+	{"linux/cciss_ioctl.h",	"CCISS_GETFIRMVER",	0x4208},
+	{"linux/cciss_ioctl.h",	"CCISS_GETDRIVVER",	0x4209},
+	{"linux/cciss_ioctl.h",	"CCISS_REVALIDVOLS",	0x420a},
+	{"linux/cciss_ioctl.h",	"CCISS_PASSTHRU",	0x420b},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RESET",	0x4300},
+	{"linux/capi.h",	"CAPI_REGISTER",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_LOAD",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RDATA",	0x4302},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCODE",	0x4303},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WDATA",	0x4304},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WCODE",	0x4305},
+	{"linux/capi.h",	"CAPI_GET_MANUFACTURER",	0x4306},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RUN",	0x4306},
+	{"linux/capi.h",	"CAPI_GET_VERSION",	0x4307},
+	{"linux/soundcard.h",	"SNDCTL_COPR_HALT",	0x4307},
+	{"linux/capi.h",	"CAPI_GET_SERIAL",	0x4308},
+	{"linux/soundcard.h",	"SNDCTL_COPR_SENDMSG",	0x4308},
+	{"linux/capi.h",	"CAPI_GET_PROFILE",	0x4309},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCVMSG",	0x4309},
+	{"linux/capi.h",	"CAPI_MANUFACTURER_CMD",	0x4320},
+	{"linux/capi.h",	"CAPI_GET_ERRCODE",	0x4321},
+	{"linux/capi.h",	"CAPI_INSTALLED",	0x4322},
+	{"linux/capi.h",	"CAPI_GET_FLAGS",	0x4323},
+	{"linux/capi.h",	"CAPI_SET_FLAGS",	0x4324},
+	{"linux/capi.h",	"CAPI_CLR_FLAGS",	0x4325},
+	{"linux/capi.h",	"CAPI_NCCI_OPENCOUNT",	0x4326},
+	{"linux/capi.h",	"CAPI_NCCI_GETUNIT",	0x4327},
+	{"linux/input.h",	"EVIOCGVERSION",	0x4501},
+	{"linux/input.h",	"EVIOCGID",	0x4502},
+	{"linux/input.h",	"EVIOCGREP",	0x4503},
+	{"linux/input.h",	"EVIOCSREP",	0x4503},
+	{"linux/input.h",	"EVIOCGKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCSKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCGKEY",	0x4505},
+	{"linux/input.h",	"EVIOCGBUS",	0x4507},
+	{"linux/input.h",	"EVIOCRMFF",	0x4581},
+	{"linux/input.h",	"EVIOCSGAIN",	0x4582},
+	{"linux/input.h",	"EVIOCSAUTOCENTER",	0x4583},
+	{"linux/input.h",	"EVIOCGEFFECTS",	0x4584},
+	{"linux/fb.h",	"FBIOGET_VSCREENINFO",	0x4600},
+	{"linux/fb.h",	"FBIOPUT_VSCREENINFO",	0x4601},
+	{"linux/fb.h",	"FBIOGET_FSCREENINFO",	0x4602},
+	{"linux/fb.h",	"FBIOGETCMAP",	0x4604},
+	{"linux/fb.h",	"FBIOPUTCMAP",	0x4605},
+	{"linux/fb.h",	"FBIOPAN_DISPLAY",	0x4606},
+	{"linux/fb.h",	"FBIOGET_FCURSORINFO",	0x4607},
+	{"linux/fb.h",	"FBIOGET_VCURSORINFO",	0x4608},
+	{"linux/fb.h",	"FBIOPUT_VCURSORINFO",	0x4609},
+	{"linux/fb.h",	"FBIOGET_CURSORSTATE",	0x460a},
+	{"linux/fb.h",	"FBIOPUT_CURSORSTATE",	0x460b},
+	{"linux/fb.h",	"FBIOGET_CON2FBMAP",	0x460f},
+	{"linux/fb.h",	"FBIOPUT_CON2FBMAP",	0x4610},
+	{"linux/fb.h",	"FBIOBLANK",	0x4611},
+	{"linux/fb.h",	"FBIOGET_VBLANK",	0x4612},
+	{"linux/fb.h",	"FBIO_ALLOC",	0x4613},
+	{"linux/fb.h",	"FBIO_FREE",	0x4614},
+	{"linux/fb.h",	"FBIOGET_GLYPH",	0x4615},
+	{"linux/fb.h",	"FBIOGET_HWCINFO",	0x4616},
+	{"linux/fb.h",	"FBIOPUT_MODEINFO",	0x4617},
+	{"linux/fb.h",	"FBIOGET_DISPINFO",	0x4618},
+	{"linux/hiddev.h",	"HIDIOCGVERSION",	0x4801},
+	{"linux/hiddev.h",	"HIDIOCAPPLICATION",	0x4802},
+	{"linux/hiddev.h",	"HIDIOCGDEVINFO",	0x4803},
+	{"linux/hiddev.h",	"HIDIOCGSTRING",	0x4804},
+	{"linux/hiddev.h",	"HIDIOCINITREPORT",	0x4805},
+	{"linux/hiddev.h",	"HIDIOCGREPORT",	0x4807},
+	{"linux/hiddev.h",	"HIDIOCSREPORT",	0x4808},
+	{"linux/hiddev.h",	"HIDIOCGREPORTINFO",	0x4809},
+	{"linux/hiddev.h",	"HIDIOCGFIELDINFO",	0x480a},
+	{"linux/hiddev.h",	"HIDIOCGUSAGE",	0x480b},
+	{"linux/hiddev.h",	"HIDIOCSUSAGE",	0x480c},
+	{"linux/hiddev.h",	"HIDIOCGUCODE",	0x480d},
+	{"linux/isdn.h",	"IIOCNETAIF",	0x4901},
+	{"linux/isdn.h",	"IIOCNETDIF",	0x4902},
+	{"linux/isdn.h",	"IIOCNETSCF",	0x4903},
+	{"linux/isdn.h",	"IIOCNETGCF",	0x4904},
+	{"linux/isdn.h",	"IIOCNETANM",	0x4905},
+	{"linux/isdn.h",	"IIOCNETDNM",	0x4906},
+	{"linux/isdn.h",	"IIOCNETGNM",	0x4907},
+	{"linux/isdn.h",	"IIOCGETSET",	0x4908},
+	{"linux/isdn.h",	"IIOCSETSET",	0x4909},
+	{"linux/isdn.h",	"IIOCSETVER",	0x490a},
+	{"linux/isdn.h",	"IIOCNETHUP",	0x490b},
+	{"linux/isdn.h",	"IIOCSETGST",	0x490c},
+	{"linux/isdn.h",	"IIOCSETBRJ",	0x490d},
+	{"linux/isdn.h",	"IIOCSIGPRF",	0x490e},
+	{"linux/isdn.h",	"IIOCGETPRF",	0x490f},
+	{"linux/isdn.h",	"IIOCSETPRF",	0x4910},
+	{"linux/isdn.h",	"IIOCGETMAP",	0x4911},
+	{"linux/isdn.h",	"IIOCSETMAP",	0x4912},
+	{"linux/isdn.h",	"IIOCNETASL",	0x4913},
+	{"linux/isdn.h",	"IIOCNETDIL",	0x4914},
+	{"linux/isdn.h",	"IIOCGETCPS",	0x4915},
+	{"linux/isdn.h",	"IIOCGETDVR",	0x4916},
+	{"linux/isdn.h",	"IIOCNETLCR",	0x4917},
+	{"linux/isdn.h",	"IIOCNETDWRSET",	0x4918},
+	{"linux/isdn.h",	"IIOCNETALN",	0x4920},
+	{"linux/isdn.h",	"IIOCNETDLN",	0x4921},
+	{"linux/isdn.h",	"IIOCNETGPN",	0x4922},
+	{"linux/isdn.h",	"IIOCDBGVAR",	0x497f},
+	{"linux/isdn.h",	"IIOCDRVCTL",	0x4980},
+	{"linux/kd.h",	"KIOCSOUND",	0x4b2f},
+	{"linux/kd.h",	"KDMKTONE",	0x4b30},
+	{"linux/kd.h",	"KDGETLED",	0x4b31},
+	{"linux/kd.h",	"KDSETLED",	0x4b32},
+	{"linux/kd.h",	"KDGKBTYPE",	0x4b33},
+	{"linux/kd.h",	"KDADDIO",	0x4b34},
+	{"linux/kd.h",	"KDDELIO",	0x4b35},
+	{"linux/kd.h",	"KDENABIO",	0x4b36},
+	{"linux/kd.h",	"KDDISABIO",	0x4b37},
+	{"linux/kd.h",	"KDSETMODE",	0x4b3a},
+	{"linux/kd.h",	"KDGETMODE",	0x4b3b},
+	{"linux/kd.h",	"KDMAPDISP",	0x4b3c},
+	{"linux/kd.h",	"KDUNMAPDISP",	0x4b3d},
+	{"linux/kd.h",	"GIO_SCRNMAP",	0x4b40},
+	{"linux/kd.h",	"PIO_SCRNMAP",	0x4b41},
+	{"linux/kd.h",	"KDGKBMODE",	0x4b44},
+	{"linux/kd.h",	"KDSKBMODE",	0x4b45},
+	{"linux/kd.h",	"KDGKBENT",	0x4b46},
+	{"linux/kd.h",	"KDSKBENT",	0x4b47},
+	{"linux/kd.h",	"KDGKBSENT",	0x4b48},
+	{"linux/kd.h",	"KDSKBSENT",	0x4b49},
+	{"linux/kd.h",	"KDGKBDIACR",	0x4b4a},
+	{"linux/kd.h",	"KDSKBDIACR",	0x4b4b},
+	{"linux/kd.h",	"KDGETKEYCODE",	0x4b4c},
+	{"linux/kd.h",	"KDSETKEYCODE",	0x4b4d},
+	{"linux/kd.h",	"KDSIGACCEPT",	0x4b4e},
+	{"linux/kd.h",	"KDGHWCLK",	0x4b50},
+	{"linux/kd.h",	"KDSHWCLK",	0x4b51},
+	{"linux/kd.h",	"KDKBDREP",	0x4b52},
+	{"linux/kd.h",	"GIO_FONT",	0x4b60},
+	{"linux/kd.h",	"PIO_FONT",	0x4b61},
+	{"linux/kd.h",	"KDGKBMETA",	0x4b62},
+	{"linux/kd.h",	"KDSKBMETA",	0x4b63},
+	{"linux/kd.h",	"KDGKBLED",	0x4b64},
+	{"linux/kd.h",	"KDSKBLED",	0x4b65},
+	{"linux/kd.h",	"GIO_UNIMAP",	0x4b66},
+	{"linux/kd.h",	"PIO_UNIMAP",	0x4b67},
+	{"linux/kd.h",	"PIO_UNIMAPCLR",	0x4b68},
+	{"linux/kd.h",	"GIO_UNISCRNMAP",	0x4b69},
+	{"linux/kd.h",	"PIO_UNISCRNMAP",	0x4b6a},
+	{"linux/kd.h",	"GIO_FONTX",	0x4b6b},
+	{"linux/kd.h",	"PIO_FONTX",	0x4b6c},
+	{"linux/kd.h",	"PIO_FONTRESET",	0x4b6d},
+	{"linux/kd.h",	"GIO_CMAP",	0x4b70},
+	{"linux/kd.h",	"PIO_CMAP",	0x4b71},
+	{"linux/kd.h",	"KDFONTOP",	0x4b72},
+	{"linux/soundcard.h",	"SOUND_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_OLD_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_MIXER_ACCESS",	0x4d66},
+	{"linux/soundcard.h",	"SOUND_MIXER_AGC",	0x4d67},
+	{"linux/soundcard.h",	"SOUND_MIXER_3DSE",	0x4d68},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE1",	0x4d6f},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE2",	0x4d70},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE3",	0x4d71},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE4",	0x4d72},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE5",	0x4d73},
+	{"linux/soundcard.h",	"SOUND_MIXER_GETLEVELS",	0x4d74},
+	{"linux/soundcard.h",	"SOUND_MIXER_SETLEVELS",	0x4d75},
+	{"linux/soundcard.h",	"OSS_GETVERSION",	0x4d76},
+	{"linux/soundcard.h",	"SNDCTL_DSP_RESET",	0x5000},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SYNC",	0x5001},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SPEED",	0x5002},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_RATE",	0x5002},
+	{"linux/soundcard.h",	"SNDCTL_DSP_STEREO",	0x5003},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETBLKSIZE",	0x5004},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFMT",	0x5005},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_BITS",	0x5005},
+	{"linux/soundcard.h",	"SNDCTL_DSP_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SOUND_PCM_WRITE_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SNDCTL_DSP_POST",	0x5008},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SUBDIVIDE",	0x5009},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFRAGMENT",	0x500a},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETFMTS",	0x500b},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOSPACE",	0x500c},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETISPACE",	0x500d},
+	{"linux/soundcard.h",	"SNDCTL_DSP_NONBLOCK",	0x500e},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCAPS",	0x500f},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETIPTR",	0x5011},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOPTR",	0x5012},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPINBUF",	0x5013},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPOUTBUF",	0x5014},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSYNCRO",	0x5015},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETDUPLEX",	0x5016},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETODELAY",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_PROFILE",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCHANNELMASK",	0x5040},
+	{"linux/soundcard.h",	"SNDCTL_DSP_BIND_CHANNEL",	0x5041},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSPDIF",	0x5042},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETSPDIF",	0x5043},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESET",	0x5100},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_SYNC",	0x5101},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_INFO",	0x5102},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_CTRLRATE",	0x5103},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETOUTCOUNT",	0x5104},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETINCOUNT",	0x5105},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PERCMODE",	0x5106},
+	{"linux/soundcard.h",	"SNDCTL_FM_LOAD_INSTR",	0x5107},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_TESTMIDI",	0x5108},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESETSAMPLES",	0x5109},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRSYNTHS",	0x510a},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRMIDIS",	0x510b},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_INFO",	0x510c},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_THRESHOLD",	0x510d},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_MEMAVL",	0x510e},
+	{"linux/soundcard.h",	"SNDCTL_FM_4OP_ENABLE",	0x510f},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PANIC",	0x5111},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_OUTOFBAND",	0x5112},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETTIME",	0x5113},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_ID",	0x5114},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_CONTROL",	0x5115},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_REMOVESAMPLE",	0x5116},
+	{"linux/random.h",	"RNDGETENTCNT",	0x5200},
+	{"linux/random.h",	"RNDADDTOENTCNT",	0x5201},
+	{"linux/random.h",	"RNDGETPOOL",	0x5202},
+	{"linux/random.h",	"RNDADDENTROPY",	0x5203},
+	{"linux/random.h",	"RNDZAPENTCNT",	0x5204},
+	{"linux/random.h",	"RNDCLEARPOOL",	0x5206},
+	{"linux/cdrom.h",	"CDROMPAUSE",	0x5301},
+	{"linux/cdrom.h",	"CDROMRESUME",	0x5302},
+	{"linux/cdrom.h",	"CDROMPLAYMSF",	0x5303},
+	{"linux/cdrom.h",	"CDROMPLAYTRKIND",	0x5304},
+	{"linux/cdrom.h",	"CDROMREADTOCHDR",	0x5305},
+	{"linux/cdrom.h",	"CDROMREADTOCENTRY",	0x5306},
+	{"linux/cdrom.h",	"CDROMSTOP",	0x5307},
+	{"linux/cdrom.h",	"CDROMSTART",	0x5308},
+	{"linux/cdrom.h",	"CDROMEJECT",	0x5309},
+	{"linux/cdrom.h",	"CDROMVOLCTRL",	0x530a},
+	{"linux/cdrom.h",	"CDROMSUBCHNL",	0x530b},
+	{"linux/cdrom.h",	"CDROMREADMODE2",	0x530c},
+	{"linux/cdrom.h",	"CDROMREADMODE1",	0x530d},
+	{"linux/cdrom.h",	"CDROMREADAUDIO",	0x530e},
+	{"linux/cdrom.h",	"CDROMEJECT_SW",	0x530f},
+	{"linux/cdrom.h",	"CDROMMULTISESSION",	0x5310},
+	{"linux/cdrom.h",	"CDROM_GET_MCN",	0x5311},
+	{"linux/cdrom.h",	"CDROMRESET",	0x5312},
+	{"linux/cdrom.h",	"CDROMVOLREAD",	0x5313},
+	{"linux/cdrom.h",	"CDROMREADRAW",	0x5314},
+	{"linux/cdrom.h",	"CDROMREADCOOKED",	0x5315},
+	{"linux/cdrom.h",	"CDROMSEEK",	0x5316},
+	{"linux/cdrom.h",	"CDROMPLAYBLK",	0x5317},
+	{"linux/cdrom.h",	"CDROMREADALL",	0x5318},
+	{"linux/cdrom.h",	"CDROMCLOSETRAY",	0x5319},
+	{"linux/cdrom.h",	"CDROMGETSPINDOWN",	0x531d},
+	{"linux/cdrom.h",	"CDROMSETSPINDOWN",	0x531e},
+	{"linux/cdrom.h",	"CDROM_SET_OPTIONS",	0x5320},
+	{"linux/cdrom.h",	"CDROM_CLEAR_OPTIONS",	0x5321},
+	{"linux/cdrom.h",	"CDROM_SELECT_SPEED",	0x5322},
+	{"linux/cdrom.h",	"CDROM_SELECT_DISC",	0x5323},
+	{"linux/cdrom.h",	"CDROM_MEDIA_CHANGED",	0x5325},
+	{"linux/cdrom.h",	"CDROM_DRIVE_STATUS",	0x5326},
+	{"linux/cdrom.h",	"CDROM_DISC_STATUS",	0x5327},
+	{"linux/cdrom.h",	"CDROM_CHANGER_NSLOTS",	0x5328},
+	{"linux/cdrom.h",	"CDROM_LOCKDOOR",	0x5329},
+	{"linux/cdrom.h",	"CDROM_DEBUG",	0x5330},
+	{"linux/cdrom.h",	"CDROM_GET_CAPABILITY",	0x5331},
+	{"linux/cdrom.h",	"CDROMAUDIOBUFSIZ",	0x5382},
+	{"linux/cdrom.h",	"DVD_READ_STRUCT",	0x5390},
+	{"linux/cdrom.h",	"DVD_WRITE_STRUCT",	0x5391},
+	{"linux/cdrom.h",	"DVD_AUTH",	0x5392},
+	{"linux/cdrom.h",	"CDROM_SEND_PACKET",	0x5393},
+	{"linux/cdrom.h",	"CDROM_NEXT_WRITABLE",	0x5394},
+	{"linux/cdrom.h",	"CDROM_LAST_WRITTEN",	0x5395},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TIMEBASE",	0x5401},
+	{"asm/ioctls.h",	"TCGETS",	0x5401},
+	{"linux/soundcard.h",	"SNDCTL_TMR_START",	0x5402},
+	{"asm/ioctls.h",	"TCSETS",	0x5402},
+	{"linux/soundcard.h",	"SNDCTL_TMR_STOP",	0x5403},
+	{"asm/ioctls.h",	"TCSETSW",	0x5403},
+	{"linux/soundcard.h",	"SNDCTL_TMR_CONTINUE",	0x5404},
+	{"asm/ioctls.h",	"TCSETSF",	0x5404},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TEMPO",	0x5405},
+	{"asm/ioctls.h",	"TCGETA",	0x5405},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SOURCE",	0x5406},
+	{"asm/ioctls.h",	"TCSETA",	0x5406},
+	{"linux/soundcard.h",	"SNDCTL_TMR_METRONOME",	0x5407},
+	{"asm/ioctls.h",	"TCSETAW",	0x5407},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SELECT",	0x5408},
+	{"asm/ioctls.h",	"TCSETAF",	0x5408},
+	{"asm/ioctls.h",	"TCSBRK",	0x5409},
+	{"asm/ioctls.h",	"TCXONC",	0x540a},
+	{"asm/ioctls.h",	"TCFLSH",	0x540b},
+	{"asm/ioctls.h",	"TIOCEXCL",	0x540c},
+	{"asm/ioctls.h",	"TIOCNXCL",	0x540d},
+	{"asm/ioctls.h",	"TIOCSCTTY",	0x540e},
+	{"asm/ioctls.h",	"TIOCGPGRP",	0x540f},
+	{"asm/ioctls.h",	"TIOCSPGRP",	0x5410},
+	{"asm/ioctls.h",	"TIOCOUTQ",	0x5411},
+	{"asm/ioctls.h",	"TIOCSTI",	0x5412},
+	{"asm/ioctls.h",	"TIOCGWINSZ",	0x5413},
+	{"asm/ioctls.h",	"TIOCSWINSZ",	0x5414},
+	{"asm/ioctls.h",	"TIOCMGET",	0x5415},
+	{"asm/ioctls.h",	"TIOCMBIS",	0x5416},
+	{"asm/ioctls.h",	"TIOCMBIC",	0x5417},
+	{"asm/ioctls.h",	"TIOCMSET",	0x5418},
+	{"asm/ioctls.h",	"TIOCGSOFTCAR",	0x5419},
+	{"asm/ioctls.h",	"TIOCSSOFTCAR",	0x541a},
+	{"asm/ioctls.h",	"FIONREAD",	0x541b},
+	{"asm/ioctls.h",	"TIOCLINUX",	0x541c},
+	{"asm/ioctls.h",	"TIOCCONS",	0x541d},
+	{"asm/ioctls.h",	"TIOCGSERIAL",	0x541e},
+	{"asm/ioctls.h",	"TIOCSSERIAL",	0x541f},
+	{"asm/ioctls.h",	"TIOCPKT",	0x5420},
+	{"asm/ioctls.h",	"FIONBIO",	0x5421},
+	{"asm/ioctls.h",	"TIOCNOTTY",	0x5422},
+	{"asm/ioctls.h",	"TIOCSETD",	0x5423},
+	{"asm/ioctls.h",	"TIOCGETD",	0x5424},
+	{"asm/ioctls.h",	"TCSBRKP",	0x5425},
+	{"asm/ioctls.h",	"TIOCTTYGSTRUCT",	0x5426},
+	{"asm/ioctls.h",	"TIOCSBRK",	0x5427},
+	{"asm/ioctls.h",	"TIOCCBRK",	0x5428},
+	{"asm/ioctls.h",	"TIOCGSID",	0x5429},
+	{"asm/ioctls.h",	"TIOCGPTN",	0x5430},
+	{"asm/ioctls.h",	"TIOCSPTLCK",	0x5431},
+	{"asm/ioctls.h",	"FIONCLEX",	0x5450},
+	{"asm/ioctls.h",	"FIOCLEX",	0x5451},
+	{"asm/ioctls.h",	"FIOASYNC",	0x5452},
+	{"asm/ioctls.h",	"TIOCSERCONFIG",	0x5453},
+	{"asm/ioctls.h",	"TIOCSERGWILD",	0x5454},
+	{"asm/ioctls.h",	"TIOCSERSWILD",	0x5455},
+	{"asm/ioctls.h",	"TIOCGLCKTRMIOS",	0x5456},
+	{"asm/ioctls.h",	"TIOCSLCKTRMIOS",	0x5457},
+	{"asm/ioctls.h",	"TIOCSERGSTRUCT",	0x5458},
+	{"asm/ioctls.h",	"TIOCSERGETLSR",	0x5459},
+	{"asm/ioctls.h",	"TIOCSERGETMULTI",	0x545a},
+	{"asm/ioctls.h",	"TIOCSERSETMULTI",	0x545b},
+	{"asm/ioctls.h",	"TIOCMIWAIT",	0x545c},
+	{"asm/ioctls.h",	"TIOCGICOUNT",	0x545d},
+	{"asm/ioctls.h",	"TIOCGHAYESESP",	0x545e},
+	{"asm/ioctls.h",	"TIOCSHAYESESP",	0x545f},
+	{"asm/ioctls.h",	"FIOQSIZE",	0x5460},
+	{"linux/if_tun.h",	"TUNSETNOCSUM",	0x54c8},
+	{"linux/if_tun.h",	"TUNSETDEBUG",	0x54c9},
+	{"linux/if_tun.h",	"TUNSETIFF",	0x54ca},
+	{"linux/if_tun.h",	"TUNSETPERSIST",	0x54cb},
+	{"linux/if_tun.h",	"TUNSETOWNER",	0x54cc},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONTROL",	0x5500},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_BULK",	0x5502},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESETEP",	0x5503},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETINTERFACE",	0x5504},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETCONFIGURATION",	0x5505},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_GETDRIVER",	0x5508},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SUBMITURB",	0x550a},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCARDURB",	0x550b},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURB",	0x550c},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURBNDELAY",	0x550d},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCSIGNAL",	0x550e},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLAIMINTERFACE",	0x550f},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RELEASEINTERFACE",	0x5510},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONNECTINFO",	0x5511},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_IOCTL",	0x5512},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_HUB_PORTINFO",	0x5513},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESET",	0x5514},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLEAR_HALT",	0x5515},
+	{"linux/vt.h",	"VT_OPENQRY",	0x5600},
+	{"linux/vt.h",	"VT_GETMODE",	0x5601},
+	{"linux/vt.h",	"VT_SETMODE",	0x5602},
+	{"linux/vt.h",	"VT_GETSTATE",	0x5603},
+	{"linux/vt.h",	"VT_SENDSIG",	0x5604},
+	{"linux/vt.h",	"VT_RELDISP",	0x5605},
+	{"linux/vt.h",	"VT_ACTIVATE",	0x5606},
+	{"linux/vt.h",	"VT_WAITACTIVE",	0x5607},
+	{"linux/vt.h",	"VT_DISALLOCATE",	0x5608},
+	{"linux/vt.h",	"VT_RESIZE",	0x5609},
+	{"linux/vt.h",	"VT_RESIZEX",	0x560a},
+	{"linux/vt.h",	"VT_LOCKSWITCH",	0x560b},
+	{"linux/vt.h",	"VT_UNLOCKSWITCH",	0x560c},
+	{"linux/watchdog.h",	"WDIOC_GETSUPPORT",	0x5700},
+	{"linux/watchdog.h",	"WDIOC_GETSTATUS",	0x5701},
+	{"linux/watchdog.h",	"WDIOC_GETBOOTSTATUS",	0x5702},
+	{"linux/watchdog.h",	"WDIOC_GETTEMP",	0x5703},
+	{"linux/watchdog.h",	"WDIOC_SETOPTIONS",	0x5704},
+	{"linux/watchdog.h",	"WDIOC_KEEPALIVE",	0x5705},
+	{"linux/ite_gpio.h",	"ITE_GPIO_IN",	0x5a00},
+	{"linux/ite_gpio.h",	"ITE_GPIO_OUT",	0x5a01},
+	{"linux/ite_gpio.h",	"ITE_GPIO_INT_CTRL",	0x5a02},
+	{"linux/ite_gpio.h",	"ITE_GPIO_IN_STATUS",	0x5a03},
+	{"linux/ite_gpio.h",	"ITE_GPIO_OUT_STATUS",	0x5a04},
+	{"linux/ite_gpio.h",	"ITE_GPIO_GEN_CTRL",	0x5a05},
+	{"linux/ite_gpio.h",	"ITE_GPIO_INT_WAIT",	0x5a06},
+	{"linux/sonet.h",	"SONET_GETSTAT",	0x6110},
+	{"linux/sonet.h",	"SONET_GETSTATZ",	0x6111},
+	{"linux/sonet.h",	"SONET_SETDIAG",	0x6112},
+	{"linux/sonet.h",	"SONET_CLRDIAG",	0x6113},
+	{"linux/sonet.h",	"SONET_GETDIAG",	0x6114},
+	{"linux/sonet.h",	"SONET_SETFRAMING",	0x6115},
+	{"linux/sonet.h",	"SONET_GETFRAMING",	0x6116},
+	{"linux/sonet.h",	"SONET_GETFRSENSE",	0x6117},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTAT",	0x6132},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTATZ",	0x6133},
+	{"linux/atmdev.h",	"ATM_GETSTAT",	0x6150},
+	{"linux/atmdev.h",	"ATM_GETSTATZ",	0x6151},
+	{"linux/atmdev.h",	"ATM_GETLOOP",	0x6152},
+	{"linux/atmdev.h",	"ATM_SETLOOP",	0x6153},
+	{"linux/atmdev.h",	"ATM_QUERYLOOP",	0x6154},
+	{"linux/atm_eni.h",	"ENI_MEMDUMP",	0x6160},
+	{"linux/atm_nicstar.h",	"NS_GETPSTAT",	0x6161},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOL",	0x6161},
+	{"linux/atm_nicstar.h",	"NS_SETBUFLEV",	0x6162},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOLZ",	0x6162},
+	{"linux/atm_nicstar.h",	"NS_ADJBUFLEV",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_SETPOOL",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_GETTHIST",	0x6164},
+	{"linux/atm_eni.h",	"ENI_SETMULT",	0x6167},
+	{"linux/atm_tcp.h",	"SIOCSIFATMTCP",	0x6180},
+	{"linux/atmdev.h",	"ATM_GETLINKRATE",	0x6181},
+	{"linux/atmdev.h",	"ATM_GETNAMES",	0x6183},
+	{"linux/atmdev.h",	"ATM_GETTYPE",	0x6184},
+	{"linux/atmdev.h",	"ATM_GETESI",	0x6185},
+	{"linux/atmdev.h",	"ATM_GETADDR",	0x6186},
+	{"linux/atmdev.h",	"ATM_RSTADDR",	0x6187},
+	{"linux/atmdev.h",	"ATM_ADDADDR",	0x6188},
+	{"linux/atmdev.h",	"ATM_DELADDR",	0x6189},
+	{"linux/atmdev.h",	"ATM_GETCIRANGE",	0x618a},
+	{"linux/atmdev.h",	"ATM_SETCIRANGE",	0x618b},
+	{"linux/atmdev.h",	"ATM_SETESI",	0x618c},
+	{"linux/atmdev.h",	"ATM_SETESIF",	0x618d},
+	{"linux/atm_tcp.h",	"ATMTCP_CREATE",	0x618e},
+	{"linux/atm_tcp.h",	"ATMTCP_REMOVE",	0x618f},
+	{"linux/atmlec.h",	"ATMLEC_CTRL",	0x61d0},
+	{"linux/atmlec.h",	"ATMLEC_DATA",	0x61d1},
+	{"linux/atmlec.h",	"ATMLEC_MCAST",	0x61d2},
+	{"linux/atmmpc.h",	"ATMMPC_CTRL",	0x61d8},
+	{"linux/atmmpc.h",	"ATMMPC_DATA",	0x61d9},
+	{"linux/atmclip.h",	"SIOCMKCLIP",	0x61e0},
+	{"linux/atmarp.h",	"ATMARPD_CTRL",	0x61e1},
+	{"linux/atmarp.h",	"ATMARP_MKIP",	0x61e2},
+	{"linux/atmarp.h",	"ATMARP_SETENTRY",	0x61e3},
+	{"linux/atmarp.h",	"ATMARP_ENCAP",	0x61e5},
+	{"linux/atmsvc.h",	"ATMSIGD_CTRL",	0x61f0},
+	{"linux/atmdev.h",	"ATM_SETSC",	0x61f1},
+	{"linux/atmdev.h",	"ATM_SETBACKEND",	0x61f2},
+	{"linux/coda.h",	"CIOC_KERNEL_VERSION",	0x630a},
+	{"linux/comstats.h",	"COM_GETPORTSTATS",	0x631e},
+	{"linux/comstats.h",	"COM_CLRPORTSTATS",	0x631f},
+	{"linux/comstats.h",	"COM_GETBRDSTATS",	0x6320},
+	{"linux/comstats.h",	"COM_READPORT",	0x6328},
+	{"linux/comstats.h",	"COM_READBOARD",	0x6329},
+	{"linux/comstats.h",	"COM_READPANEL",	0x632a},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_GET_PROTO_REV",	0x6400},
+	{"linux/video_decoder.h",	"DECODER_GET_CAPABILITIES",	0x6401},
+	{"linux/video_decoder.h",	"DECODER_GET_STATUS",	0x6402},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_SET_EVENT_MASK",	0x6402},
+	{"linux/video_decoder.h",	"DECODER_SET_NORM",	0x6403},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_RELEASE_EVENT_QUEUE",	0x6403},
+	{"linux/video_decoder.h",	"DECODER_SET_INPUT",	0x6404},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_SET_DEBUG_MASK",	0x6404},
+	{"linux/video_decoder.h",	"DECODER_SET_OUTPUT",	0x6405},
+	{"linux/video_decoder.h",	"DECODER_ENABLE_OUTPUT",	0x6406},
+	{"linux/video_decoder.h",	"DECODER_SET_PICTURE",	0x6407},
+	{"linux/video_decoder.h",	"DECODER_DUMP",	0x64c0},
+	{"linux/video_encoder.h",	"ENCODER_GET_CAPABILITIES",	0x6501},
+	{"linux/video_encoder.h",	"ENCODER_SET_NORM",	0x6502},
+	{"linux/video_encoder.h",	"ENCODER_SET_INPUT",	0x6503},
+	{"linux/video_encoder.h",	"ENCODER_SET_OUTPUT",	0x6504},
+	{"linux/video_encoder.h",	"ENCODER_ENABLE_OUTPUT",	0x6505},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETFLAGS",	0x6601},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETFLAGS",	0x6601},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETFLAGS",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETFLAGS",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION",	0x6603},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION",	0x6604},
+	{"linux/ext3_fs.h",	"EXT3_IOC_WAIT_FOR_READONLY",	0x6663},
+	{"linux/i2o-dev.h",	"I2OGETIOPS",	0x6900},
+	{"linux/i2o-dev.h",	"I2OHRTGET",	0x6901},
+	{"linux/i2o-dev.h",	"I2OLCTGET",	0x6902},
+	{"linux/i2o-dev.h",	"I2OPARMSET",	0x6903},
+	{"linux/i2o-dev.h",	"I2OPARMGET",	0x6904},
+	{"linux/i2o-dev.h",	"I2OSWDL",	0x6905},
+	{"linux/i2o-dev.h",	"I2OSWUL",	0x6906},
+	{"linux/i2o-dev.h",	"I2OSWDEL",	0x6907},
+	{"linux/i2o-dev.h",	"I2OVALIDATE",	0x6908},
+	{"linux/i2o-dev.h",	"I2OHTML",	0x6909},
+	{"linux/i2o-dev.h",	"I2OEVTREG",	0x690a},
+	{"linux/i2o-dev.h",	"I2OEVTGET",	0x690b},
+	{"linux/joystick.h",	"JSIOCGVERSION",	0x6a01},
+	{"linux/joystick.h",	"JSIOCGAXES",	0x6a11},
+	{"linux/joystick.h",	"JSIOCGBUTTONS",	0x6a12},
+	{"linux/joystick.h",	"JSIOCSCORR",	0x6a21},
+	{"linux/joystick.h",	"JSIOCGCORR",	0x6a22},
+	{"linux/joystick.h",	"JSIOCSAXMAP",	0x6a31},
+	{"linux/joystick.h",	"JSIOCGAXMAP",	0x6a32},
+	{"linux/joystick.h",	"JSIOCSBTNMAP",	0x6a33},
+	{"linux/joystick.h",	"JSIOCGBTNMAP",	0x6a34},
+	{"linux/udf_fs_i.h",	"UDF_GETEASIZE",	0x6c40},
+	{"linux/udf_fs_i.h",	"UDF_GETEABLOCK",	0x6c41},
+	{"linux/udf_fs_i.h",	"UDF_GETVOLIDENT",	0x6c42},
+	{"linux/udf_fs_i.h",	"UDF_RELOCATE_BLOCKS",	0x6c43},
+	{"linux/synclink.h",	"MGSL_IOCSPARAMS",	0x6d00},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_PRETIME",	0x6d00},
+	{"linux/synclink.h",	"MGSL_IOCGPARAMS",	0x6d01},
+	{"linux/mtio.h",	"MTIOCTOP",	0x6d01},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUMODE",	0x6d01},
+	{"linux/synclink.h",	"MGSL_IOCSTXIDLE",	0x6d02},
+	{"linux/mtio.h",	"MTIOCGET",	0x6d02},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUCMD",	0x6d02},
+	{"linux/synclink.h",	"MGSL_IOCGTXIDLE",	0x6d03},
+	{"linux/mtio.h",	"MTIOCPOS",	0x6d03},
+	{"linux/synclink.h",	"MGSL_IOCTXENABLE",	0x6d04},
+	{"linux/mtio.h",	"MTIOCGETCONFIG",	0x6d04},
+	{"linux/synclink.h",	"MGSL_IOCRXENABLE",	0x6d05},
+	{"linux/mtio.h",	"MTIOCSETCONFIG",	0x6d05},
+	{"linux/synclink.h",	"MGSL_IOCTXABORT",	0x6d06},
+	{"linux/mtio.h",	"MTIOCRDFTSEG",	0x6d06},
+	{"linux/synclink.h",	"MGSL_IOCGSTATS",	0x6d07},
+	{"linux/mtio.h",	"MTIOCWRFTSEG",	0x6d07},
+	{"linux/synclink.h",	"MGSL_IOCWAITEVENT",	0x6d08},
+	{"linux/mtio.h",	"MTIOCVOLINFO",	0x6d08},
+	{"linux/synclink.h",	"MGSL_IOCLOOPTXDONE",	0x6d09},
+	{"linux/mtio.h",	"MTIOCGETSIZE",	0x6d09},
+	{"linux/mtio.h",	"MTIOCFTFORMAT",	0x6d0a},
+	{"linux/mtio.h",	"MTIOCFTCMD",	0x6d0b},
+	{"linux/synclink.h",	"MGSL_IOCCLRMODCOUNT",	0x6d0f},
+	{"linux/zftape.h",	"MTIOC_ZFTAPE_GETBLKSZ",	0x6d68},
+	{"linux/ncp_fs.h",	"NCP_IOC_NCPREQUEST",	0x6e01},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID2",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_CONN_LOGGED_IN",	0x6e03},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO_V2",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_INIT",	0x6e05},
+	{"linux/ncp_fs.h",	"NCP_IOC_SET_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_LOCKUNLOCK",	0x6e07},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETDENTRYTTL",	0x6e0c},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETDENTRYTTL",	0x6e0c},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_GET_AVAILABLE_OUTPUTS",	0x6ef9},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_GET_ALL_OUTPUTS",	0x6efb},
+	{"linux/rtc.h",	"RTC_AIE_ON",	0x7001},
+	{"linux/rtc.h",	"RTC_AIE_OFF",	0x7002},
+	{"linux/intermezzo_fs.h",	"PRESTO_GETMOUNT",	0x7003},
+	{"linux/rtc.h",	"RTC_UIE_ON",	0x7003},
+	{"linux/intermezzo_fs.h",	"PRESTO_SETPID",	0x7004},
+	{"linux/rtc.h",	"RTC_UIE_OFF",	0x7004},
+	{"linux/rtc.h",	"RTC_PIE_ON",	0x7005},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLOSE_JOURNALF",	0x7006},
+	{"linux/rtc.h",	"RTC_PIE_OFF",	0x7006},
+	{"linux/intermezzo_fs.h",	"PRESTO_SET_FSETROOT",	0x7007},
+	{"linux/rtc.h",	"RTC_ALM_SET",	0x7007},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLEAR_FSETROOT",	0x7008},
+	{"linux/rtc.h",	"RTC_ALM_READ",	0x7008},
+	{"linux/intermezzo_fs.h",	"PRESTO_SETOPT",	0x7009},
+	{"linux/rtc.h",	"RTC_RD_TIME",	0x7009},
+	{"linux/intermezzo_fs.h",	"PRESTO_GETOPT",	0x700a},
+	{"linux/rtc.h",	"RTC_SET_TIME",	0x700a},
+	{"linux/intermezzo_fs.h",	"PRESTO_GET_KMLSIZE",	0x700b},
+	{"linux/rtc.h",	"RTC_IRQP_READ",	0x700b},
+	{"linux/intermezzo_fs.h",	"PRESTO_GET_RECNO",	0x700c},
+	{"linux/rtc.h",	"RTC_IRQP_SET",	0x700c},
+	{"linux/rtc.h",	"RTC_EPOCH_READ",	0x700d},
+	{"linux/rtc.h",	"RTC_EPOCH_SET",	0x700e},
+	{"linux/rtc.h",	"RTC_WIE_ON",	0x700f},
+	{"linux/rtc.h",	"RTC_WKALM_SET",	0x700f},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SETATTR",	0x7010},
+	{"linux/rtc.h",	"RTC_WIE_OFF",	0x7010},
+	{"linux/rtc.h",	"RTC_WKALM_RD",	0x7010},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_CREATE",	0x7011},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_LINK",	0x7012},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_UNLINK",	0x7013},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SYMLINK",	0x7014},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_MKDIR",	0x7015},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_RMDIR",	0x7016},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_MKNOD",	0x7017},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_RENAME",	0x7018},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_CLOSE",	0x701a},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_IOPEN",	0x701b},
+	{"linux/intermezzo_fs.h",	"PRESTO_MARK",	0x7020},
+	{"linux/intermezzo_fs.h",	"PRESTO_RELEASE_PERMIT",	0x7021},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLEAR_ALL_FSETROOTS",	0x7022},
+	{"linux/intermezzo_fs.h",	"PRESTO_BACKFETCH_LML",	0x7023},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT",	0x7024},
+	{"linux/intermezzo_fs.h",	"PRESTO_CANCEL_LML",	0x7025},
+	{"linux/intermezzo_fs.h",	"PRESTO_RESET_FSET",	0x7026},
+	{"linux/intermezzo_fs.h",	"PRESTO_COMPLETE_CLOSES",	0x7027},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT_BEGIN",	0x7030},
+	{"linux/intermezzo_fs.h",	"PRESTO_DO_REINT",	0x7031},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT_END",	0x7032},
+	{"linux/nvram.h",	"NVRAM_INIT",	0x7040},
+	{"linux/nvram.h",	"NVRAM_SETCKS",	0x7041},
+	{"linux/ppdev.h",	"PPSETMODE",	0x7080},
+	{"linux/ppdev.h",	"PPRSTATUS",	0x7081},
+	{"linux/ppdev.h",	"PPRCONTROL",	0x7083},
+	{"linux/ppdev.h",	"PPWCONTROL",	0x7084},
+	{"linux/ppdev.h",	"PPRDATA",	0x7085},
+	{"linux/ppdev.h",	"PPWDATA",	0x7086},
+	{"linux/ppdev.h",	"PPCLAIM",	0x708b},
+	{"linux/ppdev.h",	"PPRELEASE",	0x708c},
+	{"linux/ppdev.h",	"PPYIELD",	0x708d},
+	{"linux/ppdev.h",	"PPFCONTROL",	0x708e},
+	{"linux/ppdev.h",	"PPEXCL",	0x708f},
+	{"linux/ppdev.h",	"PPDATADIR",	0x7090},
+	{"linux/ppdev.h",	"PPNEGOT",	0x7091},
+	{"linux/ppdev.h",	"PPWCTLONIRQ",	0x7092},
+	{"linux/ppdev.h",	"PPCLRIRQ",	0x7093},
+	{"linux/ppdev.h",	"PPSETPHASE",	0x7094},
+	{"linux/ppdev.h",	"PPGETTIME",	0x7095},
+	{"linux/ppdev.h",	"PPSETTIME",	0x7096},
+	{"linux/ppdev.h",	"PPGETMODES",	0x7097},
+	{"linux/ppdev.h",	"PPGETMODE",	0x7098},
+	{"linux/ppdev.h",	"PPGETPHASE",	0x7099},
+	{"linux/ppdev.h",	"PPGETFLAGS",	0x709a},
+	{"linux/ppdev.h",	"PPSETFLAGS",	0x709b},
+	{"linux/serio.h",	"SPIOCSTYPE",	0x7101},
+	{"linux/videotext.h",	"VTXIOCGETINFO",	0x7101},
+	{"linux/videotext.h",	"VTXIOCCLRPAGE",	0x7102},
+	{"linux/videotext.h",	"VTXIOCCLRFOUND",	0x7103},
+	{"linux/videotext.h",	"VTXIOCPAGEREQ",	0x7104},
+	{"linux/videotext.h",	"VTXIOCGETSTAT",	0x7105},
+	{"linux/videotext.h",	"VTXIOCGETPAGE",	0x7106},
+	{"linux/videotext.h",	"VTXIOCSTOPDAU",	0x7107},
+	{"linux/videotext.h",	"VTXIOCPUTPAGE",	0x7108},
+	{"linux/videotext.h",	"VTXIOCSETDISP",	0x7109},
+	{"linux/videotext.h",	"VTXIOCPUTSTAT",	0x710a},
+	{"linux/videotext.h",	"VTXIOCCLRCACHE",	0x710b},
+	{"linux/videotext.h",	"VTXIOCSETVIRT",	0x710c},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES",	0x7180},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_LIST",	0x7181},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_CHECK",	0x7182},
+	{"linux/telephony.h",	"PHONE_RING",	0x7183},
+	{"linux/telephony.h",	"PHONE_HOOKSTATE",	0x7184},
+	{"linux/telephony.h",	"PHONE_MAXRINGS",	0x7185},
+	{"linux/telephony.h",	"PHONE_RING_CADENCE",	0x7186},
+	{"linux/telephony.h",	"OLD_PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_STOP",	0x7188},
+	{"linux/telephony.h",	"PHONE_REC_CODEC",	0x7189},
+	{"linux/telephony.h",	"PHONE_REC_START",	0x718a},
+	{"linux/telephony.h",	"PHONE_REC_STOP",	0x718b},
+	{"linux/telephony.h",	"PHONE_REC_DEPTH",	0x718c},
+	{"linux/telephony.h",	"PHONE_FRAME",	0x718d},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME",	0x718e},
+	{"linux/telephony.h",	"PHONE_REC_LEVEL",	0x718f},
+	{"linux/telephony.h",	"PHONE_PLAY_CODEC",	0x7190},
+	{"linux/telephony.h",	"PHONE_PLAY_START",	0x7191},
+	{"linux/telephony.h",	"PHONE_PLAY_STOP",	0x7192},
+	{"linux/telephony.h",	"PHONE_PLAY_DEPTH",	0x7193},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME",	0x7194},
+	{"linux/telephony.h",	"PHONE_PLAY_LEVEL",	0x7195},
+	{"linux/telephony.h",	"PHONE_DTMF_READY",	0x7196},
+	{"linux/telephony.h",	"PHONE_GET_DTMF",	0x7197},
+	{"linux/telephony.h",	"PHONE_GET_DTMF_ASCII",	0x7198},
+	{"linux/telephony.h",	"PHONE_DTMF_OOB",	0x7199},
+	{"linux/telephony.h",	"PHONE_EXCEPTION",	0x719a},
+	{"linux/telephony.h",	"PHONE_PLAY_TONE",	0x719b},
+	{"linux/telephony.h",	"PHONE_SET_TONE_ON_TIME",	0x719c},
+	{"linux/telephony.h",	"PHONE_SET_TONE_OFF_TIME",	0x719d},
+	{"linux/telephony.h",	"PHONE_GET_TONE_ON_TIME",	0x719e},
+	{"linux/telephony.h",	"PHONE_GET_TONE_OFF_TIME",	0x719f},
+	{"linux/telephony.h",	"PHONE_GET_TONE_STATE",	0x71a0},
+	{"linux/telephony.h",	"PHONE_BUSY",	0x71a1},
+	{"linux/telephony.h",	"PHONE_RINGBACK",	0x71a2},
+	{"linux/telephony.h",	"PHONE_DIALTONE",	0x71a3},
+	{"linux/telephony.h",	"PHONE_CPT_STOP",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_SET_STATE",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_GET_STATE",	0x71a5},
+	{"linux/telephony.h",	"PHONE_WINK_DURATION",	0x71a6},
+	{"linux/telephony.h",	"PHONE_QUERY_CODEC",	0x71a7},
+	{"linux/telephony.h",	"PHONE_PSTN_LINETEST",	0x71a8},
+	{"linux/telephony.h",	"PHONE_VAD",	0x71a9},
+	{"linux/telephony.h",	"PHONE_WINK",	0x71aa},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_RESET",	0x71c0},
+	{"linux/ixjuser.h",	"IXJCTL_CARDTYPE",	0x71c1},
+	{"linux/ixjuser.h",	"IXJCTL_SERIAL",	0x71c2},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_TYPE",	0x71c3},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_VERSION",	0x71c4},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_IDLE",	0x71c5},
+	{"linux/ixjuser.h",	"IXJCTL_TESTRAM",	0x71c6},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER",	0x71c7},
+	{"linux/ixjuser.h",	"IXJCTL_GET_FILTER_HIST",	0x71c8},
+	{"linux/ixjuser.h",	"IXJCTL_INIT_TONE",	0x71c9},
+	{"linux/ixjuser.h",	"IXJCTL_TONE_CADENCE",	0x71ca},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_START",	0x71cb},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_STOP",	0x71cc},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_GET_LEVEL",	0x71cd},
+	{"linux/ixjuser.h",	"IXJCTL_SET_LED",	0x71ce},
+	{"linux/ixjuser.h",	"IXJCTL_MIXER",	0x71cf},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_COEFF_SET",	0x71d0},
+	{"linux/ixjuser.h",	"IXJCTL_PORT",	0x71d1},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_AGAIN",	0x71d2},
+	{"linux/ixjuser.h",	"IXJCTL_PSTN_LINETEST",	0x71d3},
+	{"linux/ixjuser.h",	"IXJCTL_CID",	0x71d4},
+	{"linux/ixjuser.h",	"IXJCTL_POTS_PSTN",	0x71d5},
+	{"linux/ixjuser.h",	"IXJCTL_FILTER_CADENCE",	0x71d6},
+	{"linux/ixjuser.h",	"IXJCTL_PLAY_CID",	0x71d7},
+	{"linux/ixjuser.h",	"IXJCTL_VMWI",	0x71d8},
+	{"linux/ixjuser.h",	"IXJCTL_CIDCW",	0x71d9},
+	{"linux/ixjuser.h",	"IXJCTL_VERSION",	0x71da},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME_LINEAR",	0x71db},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME_LINEAR",	0x71dc},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER_RAW",	0x71dd},
+	{"linux/ixjuser.h",	"IXJCTL_HZ",	0x71e0},
+	{"linux/ixjuser.h",	"IXJCTL_RATE",	0x71e1},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_READ",	0x71e2},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_WRITTEN",	0x71e3},
+	{"linux/ixjuser.h",	"IXJCTL_READ_WAIT",	0x71e4},
+	{"linux/ixjuser.h",	"IXJCTL_WRITE_WAIT",	0x71e5},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_READ",	0x71e6},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_CLEAR",	0x71e7},
+	{"linux/ixjuser.h",	"IXJCTL_DTMF_PRESCALE",	0x71e8},
+	{"linux/ixjuser.h",	"IXJCTL_SIGCTL",	0x71e9},
+	{"linux/ixjuser.h",	"IXJCTL_SC_RXG",	0x71ea},
+	{"linux/ixjuser.h",	"IXJCTL_SC_TXG",	0x71eb},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_START",	0x71fd},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_STOP",	0x71fe},
+	{"linux/videotext.h",	"TUNIOCGETINFO",	0x7201},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_BOTH",	0x7201},
+	{"linux/videotext.h",	"TUNIOCRESET",	0x7202},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_SHORT",	0x7202},
+	{"linux/videotext.h",	"TUNIOCSETFREQ",	0x7203},
+	{"linux/videotext.h",	"TUNIOCGETFREQ",	0x7204},
+	{"linux/videotext.h",	"TUNIOCSETCHAN",	0x7205},
+	{"linux/videotext.h",	"TUNIOCGETCHAN",	0x7206},
+	{"linux/cdk.h",	"STL_BINTR",	0x7314},
+	{"linux/cdk.h",	"STL_BSTART",	0x7315},
+	{"linux/cdk.h",	"STL_BSTOP",	0x7316},
+	{"linux/cdk.h",	"STL_BRESET",	0x7317},
+	{"linux/cdk.h",	"STL_GETPFLAG",	0x7350},
+	{"linux/cdk.h",	"STL_SETPFLAG",	0x7351},
+	{"linux/if_ppp.h",	"PPPIOCGCHAN",	0x7437},
+	{"linux/if_ppp.h",	"PPPIOCATTCHAN",	0x7438},
+	{"linux/if_ppp.h",	"PPPIOCDISCONN",	0x7439},
+	{"linux/if_ppp.h",	"PPPIOCCONNECT",	0x743a},
+	{"linux/if_ppp.h",	"PPPIOCSMRRU",	0x743b},
+	{"linux/if_ppp.h",	"PPPIOCDETACH",	0x743c},
+	{"linux/if_ppp.h",	"PPPIOCATTACH",	0x743d},
+	{"linux/if_ppp.h",	"PPPIOCNEWUNIT",	0x743e},
+	{"linux/if_ppp.h",	"PPPIOCGIDLE",	0x743f},
+	{"linux/if_ppp.h",	"PPPIOCSDEBUG",	0x7440},
+	{"linux/if_ppp.h",	"PPPIOCGDEBUG",	0x7441},
+	{"linux/if_ppp.h",	"PPPIOCSACTIVE",	0x7446},
+	{"linux/if_ppp.h",	"PPPIOCSPASS",	0x7447},
+	{"linux/if_ppp.h",	"PPPIOCSNPMODE",	0x744b},
+	{"linux/if_ppp.h",	"PPPIOCGNPMODE",	0x744c},
+	{"linux/if_ppp.h",	"PPPIOCSCOMPRESS",	0x744d},
+	{"linux/if_ppp.h",	"PPPIOCXFERUNIT",	0x744e},
+	{"linux/if_ppp.h",	"PPPIOCSXASYNCMAP",	0x744f},
+	{"linux/if_ppp.h",	"PPPIOCGXASYNCMAP",	0x7450},
+	{"linux/if_ppp.h",	"PPPIOCSMAXCID",	0x7451},
+	{"linux/if_ppp.h",	"PPPIOCSMRU",	0x7452},
+	{"linux/if_ppp.h",	"PPPIOCGMRU",	0x7453},
+	{"linux/if_ppp.h",	"PPPIOCSRASYNCMAP",	0x7454},
+	{"linux/if_ppp.h",	"PPPIOCGRASYNCMAP",	0x7455},
+	{"linux/if_ppp.h",	"PPPIOCGUNIT",	0x7456},
+	{"linux/if_ppp.h",	"PPPIOCSASYNCMAP",	0x7457},
+	{"linux/if_ppp.h",	"PPPIOCGASYNCMAP",	0x7458},
+	{"linux/if_ppp.h",	"PPPIOCSFLAGS",	0x7459},
+	{"linux/jffs.h",	"JFFS_PRINT_HASH",	0x745a},
+	{"linux/if_ppp.h",	"PPPIOCGFLAGS",	0x745a},
+	{"linux/jffs.h",	"JFFS_PRINT_TREE",	0x745b},
+	{"linux/jffs.h",	"JFFS_GET_STATUS",	0x745c},
+	{"linux/isdn_ppp.h",	"PPPIOCGCALLINFO",	0x7480},
+	{"linux/isdn_ppp.h",	"PPPIOCBUNDLE",	0x7481},
+	{"linux/isdn_ppp.h",	"PPPIOCGMPFLAGS",	0x7482},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPFLAGS",	0x7483},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMTU",	0x7484},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMRU",	0x7485},
+	{"linux/isdn_ppp.h",	"PPPIOCGCOMPRESSORS",	0x7486},
+	{"linux/isdn_ppp.h",	"PPPIOCSCOMPRESSOR",	0x7487},
+	{"linux/isdn_ppp.h",	"PPPIOCGIFNAME",	0x7488},
+	{"linux/toshiba.h",	"TOSH_SMM",	0x7490},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID",	0x7501},
+	{"linux/smb_fs.h",	"SMB_IOC_NEWCONN",	0x7502},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID32",	0x7503},
+	{"linux/sonypi.h",	"SONYPI_IOCGBRT",	0x7600},
+	{"linux/sonypi.h",	"SONYPI_IOCSBRT",	0x7600},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETVERSION",	0x7601},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION_OLD",	0x7601},
+	{"linux/videodev.h",	"VIDIOCGCAP",	0x7601},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETVERSION",	0x7602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION_OLD",	0x7602},
+	{"linux/videodev.h",	"VIDIOCGCHAN",	0x7602},
+	{"linux/videodev.h",	"VIDIOCSCHAN",	0x7603},
+	{"linux/videodev.h",	"VIDIOCGTUNER",	0x7604},
+	{"linux/videodev.h",	"VIDIOCSTUNER",	0x7605},
+	{"linux/videodev.h",	"VIDIOCGPICT",	0x7606},
+	{"linux/videodev.h",	"VIDIOCSPICT",	0x7607},
+	{"linux/videodev.h",	"VIDIOCCAPTURE",	0x7608},
+	{"linux/videodev.h",	"VIDIOCGWIN",	0x7609},
+	{"linux/videodev.h",	"VIDIOCSWIN",	0x760a},
+	{"linux/videodev.h",	"VIDIOCGFBUF",	0x760b},
+	{"linux/videodev.h",	"VIDIOCSFBUF",	0x760c},
+	{"linux/videodev.h",	"VIDIOCKEY",	0x760d},
+	{"linux/videodev.h",	"VIDIOCGFREQ",	0x760e},
+	{"linux/videodev.h",	"VIDIOCSFREQ",	0x760f},
+	{"linux/videodev.h",	"VIDIOCGAUDIO",	0x7610},
+	{"linux/videodev.h",	"VIDIOCSAUDIO",	0x7611},
+	{"linux/videodev.h",	"VIDIOCSYNC",	0x7612},
+	{"linux/videodev.h",	"VIDIOCMCAPTURE",	0x7613},
+	{"linux/videodev.h",	"VIDIOCGMBUF",	0x7614},
+	{"linux/videodev.h",	"VIDIOCGUNIT",	0x7615},
+	{"linux/videodev.h",	"VIDIOCGCAPTURE",	0x7616},
+	{"linux/videodev.h",	"VIDIOCSCAPTURE",	0x7617},
+	{"linux/videodev.h",	"VIDIOCSPLAYMODE",	0x7618},
+	{"linux/videodev.h",	"VIDIOCSWRITEMODE",	0x7619},
+	{"linux/videodev.h",	"VIDIOCGPLAYINFO",	0x761a},
+	{"linux/videodev.h",	"VIDIOCSMICROCODE",	0x761b},
+	{"linux/videodev.h",	"VIDIOCGVBIFMT",	0x761c},
+	{"linux/videodev.h",	"VIDIOCSVBIFMT",	0x761d},
+	{"linux/meye.h",	"MEYEIOC_G_PARAMS",	0x76c0},
+	{"linux/meye.h",	"MEYEIOC_S_PARAMS",	0x76c1},
+	{"linux/meye.h",	"MEYEIOC_QBUF_CAPT",	0x76c2},
+	{"linux/meye.h",	"MEYEIOC_SYNC",	0x76c3},
+	{"linux/meye.h",	"MEYEIOC_STILLCAPT",	0x76c4},
+	{"linux/meye.h",	"MEYEIOC_STILLJCAPT",	0x76c5},
+	{"asm/sockios.h",	"FIOSETOWN",	0x8901},
+	{"asm/sockios.h",	"SIOCSPGRP",	0x8902},
+	{"asm/sockios.h",	"FIOGETOWN",	0x8903},
+	{"asm/sockios.h",	"SIOCGPGRP",	0x8904},
+	{"asm/sockios.h",	"SIOCATMARK",	0x8905},
+	{"asm/sockios.h",	"SIOCGSTAMP",	0x8906},
+	{"linux/sockios.h",	"SIOCADDRT",	0x890b},
+	{"linux/sockios.h",	"SIOCDELRT",	0x890c},
+	{"linux/sockios.h",	"SIOCRTMSG",	0x890d},
+	{"linux/sockios.h",	"SIOCGIFNAME",	0x8910},
+	{"linux/sockios.h",	"SIOCSIFLINK",	0x8911},
+	{"linux/sockios.h",	"SIOCGIFCONF",	0x8912},
+	{"linux/sockios.h",	"SIOCGIFFLAGS",	0x8913},
+	{"linux/sockios.h",	"SIOCSIFFLAGS",	0x8914},
+	{"linux/sockios.h",	"SIOCGIFADDR",	0x8915},
+	{"linux/sockios.h",	"SIOCSIFADDR",	0x8916},
+	{"linux/sockios.h",	"SIOCGIFDSTADDR",	0x8917},
+	{"linux/sockios.h",	"SIOCSIFDSTADDR",	0x8918},
+	{"linux/sockios.h",	"SIOCGIFBRDADDR",	0x8919},
+	{"linux/sockios.h",	"SIOCSIFBRDADDR",	0x891a},
+	{"linux/sockios.h",	"SIOCGIFNETMASK",	0x891b},
+	{"linux/sockios.h",	"SIOCSIFNETMASK",	0x891c},
+	{"linux/sockios.h",	"SIOCGIFMETRIC",	0x891d},
+	{"linux/sockios.h",	"SIOCSIFMETRIC",	0x891e},
+	{"linux/sockios.h",	"SIOCGIFMEM",	0x891f},
+	{"linux/sockios.h",	"SIOCSIFMEM",	0x8920},
+	{"linux/sockios.h",	"SIOCGIFMTU",	0x8921},
+	{"linux/sockios.h",	"SIOCSIFMTU",	0x8922},
+	{"linux/sockios.h",	"SIOCSIFNAME",	0x8923},
+	{"linux/sockios.h",	"SIOCSIFHWADDR",	0x8924},
+	{"linux/sockios.h",	"SIOCGIFENCAP",	0x8925},
+	{"linux/sockios.h",	"SIOCSIFENCAP",	0x8926},
+	{"linux/sockios.h",	"SIOCGIFHWADDR",	0x8927},
+	{"linux/sockios.h",	"SIOCGIFSLAVE",	0x8929},
+	{"linux/sockios.h",	"SIOCSIFSLAVE",	0x8930},
+	{"linux/sockios.h",	"SIOCADDMULTI",	0x8931},
+	{"linux/sockios.h",	"SIOCDELMULTI",	0x8932},
+	{"linux/sockios.h",	"SIOCGIFINDEX",	0x8933},
+	{"linux/sockios.h",	"SIOCSIFPFLAGS",	0x8934},
+	{"linux/sockios.h",	"SIOCGIFPFLAGS",	0x8935},
+	{"linux/sockios.h",	"SIOCDIFADDR",	0x8936},
+	{"linux/sockios.h",	"SIOCSIFHWBROADCAST",	0x8937},
+	{"linux/sockios.h",	"SIOCGIFCOUNT",	0x8938},
+	{"linux/sockios.h",	"SIOCGIFBR",	0x8940},
+	{"linux/sockios.h",	"SIOCSIFBR",	0x8941},
+	{"linux/sockios.h",	"SIOCGIFTXQLEN",	0x8942},
+	{"linux/sockios.h",	"SIOCSIFTXQLEN",	0x8943},
+	{"linux/sockios.h",	"SIOCGIFDIVERT",	0x8944},
+	{"linux/sockios.h",	"SIOCSIFDIVERT",	0x8945},
+	{"linux/sockios.h",	"SIOCETHTOOL",	0x8946},
+	{"linux/sockios.h",	"SIOCGMIIPHY",	0x8947},
+	{"linux/sockios.h",	"SIOCGMIIREG",	0x8948},
+	{"linux/sockios.h",	"SIOCSMIIREG",	0x8949},
+	{"linux/sockios.h",	"SIOCDARP",	0x8953},
+	{"linux/sockios.h",	"SIOCGARP",	0x8954},
+	{"linux/sockios.h",	"SIOCSARP",	0x8955},
+	{"linux/sockios.h",	"SIOCDRARP",	0x8960},
+	{"linux/sockios.h",	"SIOCGRARP",	0x8961},
+	{"linux/sockios.h",	"SIOCSRARP",	0x8962},
+	{"linux/sockios.h",	"SIOCGIFMAP",	0x8970},
+	{"linux/sockios.h",	"SIOCSIFMAP",	0x8971},
+	{"linux/sockios.h",	"SIOCADDDLCI",	0x8980},
+	{"linux/sockios.h",	"SIOCDELDLCI",	0x8981},
+	{"linux/sockios.h",	"SIOCGIFVLAN",	0x8982},
+	{"linux/sockios.h",	"SIOCSIFVLAN",	0x8983},
+	{"linux/sockios.h",	"SIOCBONDENSLAVE",	0x8990},
+	{"linux/sockios.h",	"SIOCBONDRELEASE",	0x8991},
+	{"linux/sockios.h",	"SIOCBONDSETHWADDR",	0x8992},
+	{"linux/sockios.h",	"SIOCBONDSLAVEINFOQUERY",	0x8993},
+	{"linux/sockios.h",	"SIOCBONDINFOQUERY",	0x8994},
+	{"linux/sockios.h",	"SIOCBONDCHANGEACTIVE",	0x8995},
+	{"linux/dn.h",	"OSIOCSNETADDR",	0x89e0},
+	{"linux/sockios.h",	"SIOCPROTOPRIVATE",	0x89e0},
+	{"linux/dn.h",	"SIOCSNETADDR",	0x89e0},
+	{"linux/dn.h",	"OSIOCGNETADDR",	0x89e1},
+	{"linux/dn.h",	"SIOCGNETADDR",	0x89e1},
+	{"linux/sockios.h",	"SIOCDEVPRIVATE",	0x89f0},
+	{"linux/wireless.h",	"SIOCIWFIRST",	0x8b00},
+	{"linux/wireless.h",	"SIOCSIWCOMMIT",	0x8b00},
+	{"linux/wireless.h",	"SIOCGIWNAME",	0x8b01},
+	{"linux/wireless.h",	"SIOCSIWNWID",	0x8b02},
+	{"linux/wireless.h",	"SIOCGIWNWID",	0x8b03},
+	{"linux/wireless.h",	"SIOCSIWFREQ",	0x8b04},
+	{"linux/wireless.h",	"SIOCGIWFREQ",	0x8b05},
+	{"linux/wireless.h",	"SIOCSIWMODE",	0x8b06},
+	{"linux/wireless.h",	"SIOCGIWMODE",	0x8b07},
+	{"linux/wireless.h",	"SIOCSIWSENS",	0x8b08},
+	{"linux/wireless.h",	"SIOCGIWSENS",	0x8b09},
+	{"linux/wireless.h",	"SIOCSIWRANGE",	0x8b0a},
+	{"linux/wireless.h",	"SIOCGIWRANGE",	0x8b0b},
+	{"linux/wireless.h",	"SIOCSIWPRIV",	0x8b0c},
+	{"linux/wireless.h",	"SIOCGIWPRIV",	0x8b0d},
+	{"linux/wireless.h",	"SIOCSIWSTATS",	0x8b0e},
+	{"linux/wireless.h",	"SIOCGIWSTATS",	0x8b0f},
+	{"linux/wireless.h",	"SIOCSIWSPY",	0x8b10},
+	{"linux/wireless.h",	"SIOCGIWSPY",	0x8b11},
+	{"linux/wireless.h",	"SIOCSIWAP",	0x8b14},
+	{"linux/wireless.h",	"SIOCGIWAP",	0x8b15},
+	{"linux/wireless.h",	"SIOCGIWAPLIST",	0x8b17},
+	{"linux/wireless.h",	"SIOCSIWSCAN",	0x8b18},
+	{"linux/wireless.h",	"SIOCGIWSCAN",	0x8b19},
+	{"linux/wireless.h",	"SIOCSIWESSID",	0x8b1a},
+	{"linux/wireless.h",	"SIOCGIWESSID",	0x8b1b},
+	{"linux/wireless.h",	"SIOCSIWNICKN",	0x8b1c},
+	{"linux/wireless.h",	"SIOCGIWNICKN",	0x8b1d},
+	{"linux/wireless.h",	"SIOCSIWRATE",	0x8b20},
+	{"linux/wireless.h",	"SIOCGIWRATE",	0x8b21},
+	{"linux/wireless.h",	"SIOCSIWRTS",	0x8b22},
+	{"linux/wireless.h",	"SIOCGIWRTS",	0x8b23},
+	{"linux/wireless.h",	"SIOCSIWFRAG",	0x8b24},
+	{"linux/wireless.h",	"SIOCGIWFRAG",	0x8b25},
+	{"linux/wireless.h",	"SIOCSIWTXPOW",	0x8b26},
+	{"linux/wireless.h",	"SIOCGIWTXPOW",	0x8b27},
+	{"linux/wireless.h",	"SIOCSIWRETRY",	0x8b28},
+	{"linux/wireless.h",	"SIOCGIWRETRY",	0x8b29},
+	{"linux/wireless.h",	"SIOCSIWENCODE",	0x8b2a},
+	{"linux/wireless.h",	"SIOCGIWENCODE",	0x8b2b},
+	{"linux/wireless.h",	"SIOCSIWPOWER",	0x8b2c},
+	{"linux/wireless.h",	"SIOCGIWPOWER",	0x8b2d},
+	{"linux/wireless.h",	"SIOCIWFIRSTPRIV",	0x8be0},
+	{"linux/wireless.h",	"SIOCIWLASTPRIV",	0x8bff},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_READY",	0x9360},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_FAIL",	0x9361},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_CATATONIC",	0x9362},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_PROTOVER",	0x9363},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_SETTIMEOUT",	0x9364},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_EXPIRE",	0x9365},
+	{"linux/auto_fs4.h",	"AUTOFS_IOC_EXPIRE_MULTI",	0x9366},
+	{"linux/nbd.h",	"NBD_SET_SOCK",	0xab00},
+	{"linux/nbd.h",	"NBD_SET_BLKSIZE",	0xab01},
+	{"linux/nbd.h",	"NBD_SET_SIZE",	0xab02},
+	{"linux/nbd.h",	"NBD_DO_IT",	0xab03},
+	{"linux/nbd.h",	"NBD_CLEAR_SOCK",	0xab04},
+	{"linux/nbd.h",	"NBD_CLEAR_QUE",	0xab05},
+	{"linux/nbd.h",	"NBD_PRINT_DEBUG",	0xab06},
+	{"linux/nbd.h",	"NBD_SET_SIZE_BLOCKS",	0xab07},
+	{"linux/nbd.h",	"NBD_DISCONNECT",	0xab08},
+	{"linux/raw.h",	"RAW_SETBIND",	0xac00},
+	{"linux/raw.h",	"RAW_GETBIND",	0xac01},
+	{"linux/if_pppox.h",	"PPPOEIOCSFWD",	0xb100},
+	{"linux/if_pppox.h",	"PPPOEIOCDFWD",	0xb101},
+	{"linux/reiserfs_fs.h",	"REISERFS_IOC_UNPACK",	0xcd01},
+	{"linux/lvm.h",	"VG_CREATE_OLD",	0xfe00},
+	{"linux/lvm.h",	"VG_REMOVE",	0xfe01},
+	{"linux/lvm.h",	"VG_EXTEND",	0xfe03},
+	{"linux/lvm.h",	"VG_REDUCE",	0xfe04},
+	{"linux/lvm.h",	"VG_STATUS",	0xfe05},
+	{"linux/lvm.h",	"VG_STATUS_GET_COUNT",	0xfe06},
+	{"linux/lvm.h",	"VG_STATUS_GET_NAMELIST",	0xfe07},
+	{"linux/lvm.h",	"VG_SET_EXTENDABLE",	0xfe08},
+	{"linux/lvm.h",	"VG_RENAME",	0xfe09},
+	{"linux/lvm.h",	"VG_CREATE",	0xfe0a},
+	{"linux/lvm.h",	"LV_CREATE",	0xfe20},
+	{"linux/lvm.h",	"LV_REMOVE",	0xfe21},
+	{"linux/lvm.h",	"LV_ACTIVATE",	0xfe22},
+	{"linux/lvm.h",	"LV_DEACTIVATE",	0xfe23},
+	{"linux/lvm.h",	"LV_EXTEND",	0xfe24},
+	{"linux/lvm.h",	"LV_REDUCE",	0xfe25},
+	{"linux/lvm.h",	"LV_STATUS_BYNAME",	0xfe26},
+	{"linux/lvm.h",	"LV_STATUS_BYINDEX",	0xfe27},
+	{"linux/lvm.h",	"LV_SET_ACCESS",	0xfe28},
+	{"linux/lvm.h",	"LV_SET_ALLOCATION",	0xfe29},
+	{"linux/lvm.h",	"LV_SET_STATUS",	0xfe2a},
+	{"linux/lvm.h",	"LE_REMAP",	0xfe2b},
+	{"linux/lvm.h",	"LV_SNAPSHOT_USE_RATE",	0xfe2c},
+	{"linux/lvm.h",	"LV_STATUS_BYDEV",	0xfe2e},
+	{"linux/lvm.h",	"LV_RENAME",	0xfe2f},
+	{"linux/lvm.h",	"LV_BMAP",	0xfe30},
+	{"linux/lvm.h",	"PV_STATUS",	0xfe40},
+	{"linux/lvm.h",	"PV_CHANGE",	0xfe41},
+	{"linux/lvm.h",	"PV_FLUSH",	0xfe42},
+	{"linux/lvm.h",	"PE_LOCK_UNLOCK",	0xfe50},
+	{"linux/lvm.h",	"LVM_GET_IOP_VERSION",	0xfe98},
+	{"linux/lvm.h",	"LVM_RESET",	0xfe99},
+	{"linux/lvm.h",	"LVM_LOCK_LVM",	0xff00},
diff --git a/strace-4.5.20/linux/ia64/syscallent.h b/strace-4.5.20/linux/ia64/syscallent.h
new file mode 100644
index 0000000..4ba91fa
--- /dev/null
+++ b/strace-4.5.20/linux/ia64/syscallent.h
@@ -0,0 +1,1120 @@
+/*
+ * Copyright (c) 1999, 2001 Hewlett-Packard Co
+ *	David Mosberger-Tang <davidm@hpl.hp.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+/*
+ * IA-32 syscalls that have pointer arguments which are incompatible
+ * with 64-bit layout get redirected to printargs.
+ */
+#define sys_getrlimit		printargs
+#define sys_afs_syscall		printargs
+#define sys_getpmsg		printargs
+#define sys_putpmsg		printargs
+#define sys_ugetrlimit		printargs
+#define sys_fork		printargs
+#define sys_waitpid		printargs
+#define sys_time		printargs
+#define sys_break		printargs
+#define sys_oldstat		printargs
+#define sys_lseek		printargs
+#define sys_stime		printargs
+#define sys_ptrace		printargs
+#define sys_alarm		printargs
+#define sys_oldfstat		printargs
+#define sys_pause		printargs
+#define sys_utime		printargs
+#define sys_stty		printargs
+#define sys_gtty		printargs
+#define sys_ftime		printargs
+#define sys_pipe		printargs
+#define sys_times		printargs
+#define sys_prof		printargs
+#define sys_signal		printargs
+#define sys_lock		printargs
+#define sys_ioctl		printargs
+#define sys_fcntl		printargs
+#define sys_mpx			printargs
+#define sys_ulimit		printargs
+#define sys_oldolduname		printargs
+#define sys_sigaction		printargs
+#define sys_sgetmask		printargs
+#define sys_ssetmask		printargs
+#define sys_sigsuspend		printargs
+#define sys_sigpending		printargs
+#define sys_setrlimit		printargs
+#define sys_getrusage		printargs
+#define sys_gettimeofday	printargs
+#define sys_settimeofday	printargs
+#define sys_getgroups		printargs
+#define sys_setgroups		printargs
+#define sys_select		printargs
+#define sys_oldlstat		printargs
+#define sys_readdir		printargs
+#define sys_profil		printargs
+#define sys_statfs		printargs
+#define sys_fstatfs		printargs
+#define sys_ioperm		printargs
+#define sys_socketcall		printargs
+#define sys_setitimer		printargs
+#define sys_getitimer		printargs
+#define sys_stat		printargs
+#define sys_lstat		printargs
+#define sys_fstat		printargs
+#define sys_olduname		printargs
+#define sys_iopl		printargs
+#define sys_idle		printargs
+#define sys_vm86old		printargs
+#define sys_wait4		printargs
+#define sys_sysinfo		printargs
+#define sys_ipc			printargs
+#define sys_sigreturn		printargs
+#define sys_uname		printargs
+#define sys_modify_ldt		printargs
+#define sys_adjtimex		printargs
+#define sys_sigprocmask		printargs
+#define sys_create_module	printargs
+#define sys_init_module		printargs
+#define sys_get_kernel_syms	printargs
+#define sys_quotactl		printargs
+#define sys_bdflush		printargs
+#define sys_personality		printargs
+#define sys_getdents		printargs
+#define sys__newselect		printargs
+#define sys_msync		printargs
+#define sys_readv		printargs
+#define sys_writev		printargs
+#define sys__sysctl		printargs
+#define sys_sched_rr_get_interval printargs
+#define sys_getresuid		printargs
+#define sys_vm86		printargs
+#define sys_query_module	printargs
+#define sys_nfsservctl		printargs
+#define sys_getresgid		printargs
+#define sys_rt_sigreturn	printargs
+#define sys_rt_sigaction	printargs
+#define sys_rt_sigprocmask	printargs
+#define sys_rt_sigtimedwait	printargs
+#define sys_rt_sigqueueinfo	printargs
+#define sys_rt_sigsuspend	printargs
+#define sys_pread		printargs
+#define sys_pwrite		printargs
+#define sys_sigaltstack		printargs
+#define sys_sendfile		printargs
+#define sys_vfork		printargs
+#define sys_truncate64		printargs
+#define sys_ftruncate64		printargs
+#define sys_stat64		printargs
+#define sys_lstat64		printargs
+#define sys_fstat64		printargs
+#define sys_fcntl64		printargs
+
+#include "i386/syscallent.h"
+
+#undef sys_getrlimit
+#undef sys_afs_syscall
+#undef sys_getpmsg
+#undef sys_putpmsg
+#undef sys_ugetrlimit
+#undef sys_fork
+#undef sys_waitpid
+#undef sys_time
+#undef sys_break
+#undef sys_oldstat
+#undef sys_lseek
+#undef sys_stime
+#undef sys_ptrace
+#undef sys_alarm
+#undef sys_oldfstat
+#undef sys_pause
+#undef sys_utime
+#undef sys_stty
+#undef sys_gtty
+#undef sys_ftime
+#undef sys_pipe
+#undef sys_times
+#undef sys_prof
+#undef sys_signal
+#undef sys_lock
+#undef sys_ioctl
+#undef sys_fcntl
+#undef sys_mpx
+#undef sys_ulimit
+#undef sys_oldolduname
+#undef sys_sigaction
+#undef sys_sgetmask
+#undef sys_ssetmask
+#undef sys_sigsuspend
+#undef sys_sigpending
+#undef sys_setrlimit
+#undef sys_getrusage
+#undef sys_gettimeofday
+#undef sys_settimeofday
+#undef sys_getgroups
+#undef sys_setgroups
+#undef sys_select
+#undef sys_oldlstat
+#undef sys_readdir
+#undef sys_profil
+#undef sys_statfs
+#undef sys_fstatfs
+#undef sys_ioperm
+#undef sys_socketcall
+#undef sys_setitimer
+#undef sys_getitimer
+#undef sys_stat
+#undef sys_lstat
+#undef sys_fstat
+#undef sys_olduname
+#undef sys_iopl
+#undef sys_idle
+#undef sys_vm86old
+#undef sys_wait4
+#undef sys_sysinfo
+#undef sys_ipc
+#undef sys_sigreturn
+#undef sys_uname
+#undef sys_modify_ldt
+#undef sys_adjtimex
+#undef sys_sigprocmask
+#undef sys_create_module
+#undef sys_init_module
+#undef sys_delete_module
+#undef sys_get_kernel_syms
+#undef sys_quotactl
+#undef sys_bdflush
+#undef sys_personality
+#undef sys_getdents
+#undef sys__newselect
+#undef sys_msync
+#undef sys_readv
+#undef sys_writev
+#undef sys__sysctl
+#undef sys_sched_rr_get_interval
+#undef sys_nanosleep
+#undef sys_getresuid
+#undef sys_vm86
+#undef sys_query_module
+#undef sys_nfsservctl
+#undef sys_getresgid
+#undef sys_rt_sigreturn
+#undef sys_rt_sigaction
+#undef sys_rt_sigprocmask
+#undef sys_rt_sigtimedwait
+#undef sys_rt_sigqueueinfo
+#undef sys_rt_sigsuspend
+#undef sys_pread
+#undef sys_pwrite
+#undef sys_sigaltstack
+#undef sys_sendfile
+#undef sys_vfork
+#undef sys_truncate64
+#undef sys_ftruncate64
+#undef sys_stat64
+#undef sys_lstat64
+#undef sys_fstat64
+#undef sys_fcntl64
+
+#include "../dummy.h"
+
+/* You must be careful to check ../i386/syscallent.h so that this table
+   starts where that one leaves off.
+*/
+#if SYS_ipc_subcall + SYS_ipc_nsubcalls != 445
+# error fix me
+#endif
+
+	{ 8,	0,	printargs,		"SYS_445"	}, /* 445 */
+	{ 8,	0,	printargs,		"SYS_446"	}, /* 446 */
+	{ 8,	0,	printargs,		"SYS_447"	}, /* 447 */
+	{ 8,	0,	printargs,		"SYS_448"	}, /* 448 */
+	{ 8,	0,	printargs,		"SYS_449"	}, /* 449 */
+	{ 8,	0,	printargs,		"SYS_450"	}, /* 450 */
+	{ 8,	0,	printargs,		"SYS_451"	}, /* 451 */
+	{ 8,	0,	printargs,		"SYS_452"	}, /* 452 */
+	{ 8,	0,	printargs,		"SYS_453"	}, /* 453 */
+	{ 8,	0,	printargs,		"SYS_454"	}, /* 454 */
+	{ 8,	0,	printargs,		"SYS_455"	}, /* 455 */
+	{ 8,	0,	printargs,		"SYS_456"	}, /* 456 */
+	{ 8,	0,	printargs,		"SYS_457"	}, /* 457 */
+	{ 8,	0,	printargs,		"SYS_458"	}, /* 458 */
+	{ 8,	0,	printargs,		"SYS_459"	}, /* 459 */
+	{ 8,	0,	printargs,		"SYS_460"	}, /* 460 */
+	{ 8,	0,	printargs,		"SYS_461"	}, /* 461 */
+	{ 8,	0,	printargs,		"SYS_462"	}, /* 462 */
+	{ 8,	0,	printargs,		"SYS_463"	}, /* 463 */
+	{ 8,	0,	printargs,		"SYS_464"	}, /* 464 */
+	{ 8,	0,	printargs,		"SYS_465"	}, /* 465 */
+	{ 8,	0,	printargs,		"SYS_466"	}, /* 466 */
+	{ 8,	0,	printargs,		"SYS_467"	}, /* 467 */
+	{ 8,	0,	printargs,		"SYS_468"	}, /* 468 */
+	{ 8,	0,	printargs,		"SYS_469"	}, /* 469 */
+	{ 8,	0,	printargs,		"SYS_470"	}, /* 470 */
+	{ 8,	0,	printargs,		"SYS_471"	}, /* 471 */
+	{ 8,	0,	printargs,		"SYS_472"	}, /* 472 */
+	{ 8,	0,	printargs,		"SYS_473"	}, /* 473 */
+	{ 8,	0,	printargs,		"SYS_474"	}, /* 474 */
+	{ 8,	0,	printargs,		"SYS_475"	}, /* 475 */
+	{ 8,	0,	printargs,		"SYS_476"	}, /* 476 */
+	{ 8,	0,	printargs,		"SYS_477"	}, /* 477 */
+	{ 8,	0,	printargs,		"SYS_478"	}, /* 478 */
+	{ 8,	0,	printargs,		"SYS_479"	}, /* 479 */
+	{ 8,	0,	printargs,		"SYS_480"	}, /* 480 */
+	{ 8,	0,	printargs,		"SYS_481"	}, /* 481 */
+	{ 8,	0,	printargs,		"SYS_482"	}, /* 482 */
+	{ 8,	0,	printargs,		"SYS_483"	}, /* 483 */
+	{ 8,	0,	printargs,		"SYS_484"	}, /* 484 */
+	{ 8,	0,	printargs,		"SYS_485"	}, /* 485 */
+	{ 8,	0,	printargs,		"SYS_486"	}, /* 486 */
+	{ 8,	0,	printargs,		"SYS_487"	}, /* 487 */
+	{ 8,	0,	printargs,		"SYS_488"	}, /* 488 */
+	{ 8,	0,	printargs,		"SYS_489"	}, /* 489 */
+	{ 8,	0,	printargs,		"SYS_490"	}, /* 490 */
+	{ 8,	0,	printargs,		"SYS_491"	}, /* 491 */
+	{ 8,	0,	printargs,		"SYS_492"	}, /* 492 */
+	{ 8,	0,	printargs,		"SYS_493"	}, /* 493 */
+	{ 8,	0,	printargs,		"SYS_494"	}, /* 494 */
+	{ 8,	0,	printargs,		"SYS_495"	}, /* 495 */
+	{ 8,	0,	printargs,		"SYS_496"	}, /* 496 */
+	{ 8,	0,	printargs,		"SYS_497"	}, /* 497 */
+	{ 8,	0,	printargs,		"SYS_498"	}, /* 498 */
+	{ 8,	0,	printargs,		"SYS_499"	}, /* 499 */
+	{ 8,	0,	printargs,		"SYS_500"	}, /* 500 */
+	{ 8,	0,	printargs,		"SYS_501"	}, /* 501 */
+	{ 8,	0,	printargs,		"SYS_502"	}, /* 502 */
+	{ 8,	0,	printargs,		"SYS_503"	}, /* 503 */
+	{ 8,	0,	printargs,		"SYS_504"	}, /* 504 */
+	{ 8,	0,	printargs,		"SYS_505"	}, /* 505 */
+	{ 8,	0,	printargs,		"SYS_506"	}, /* 506 */
+	{ 8,	0,	printargs,		"SYS_507"	}, /* 507 */
+	{ 8,	0,	printargs,		"SYS_508"	}, /* 508 */
+	{ 8,	0,	printargs,		"SYS_509"	}, /* 509 */
+	{ 8,	0,	printargs,		"SYS_510"	}, /* 510 */
+	{ 8,	0,	printargs,		"SYS_511"	}, /* 511 */
+	{ 8,	0,	printargs,		"SYS_512"	}, /* 512 */
+	{ 8,	0,	printargs,		"SYS_513"	}, /* 513 */
+	{ 8,	0,	printargs,		"SYS_514"	}, /* 514 */
+	{ 8,	0,	printargs,		"SYS_515"	}, /* 515 */
+	{ 8,	0,	printargs,		"SYS_516"	}, /* 516 */
+	{ 8,	0,	printargs,		"SYS_517"	}, /* 517 */
+	{ 8,	0,	printargs,		"SYS_518"	}, /* 518 */
+	{ 8,	0,	printargs,		"SYS_519"	}, /* 519 */
+	{ 8,	0,	printargs,		"SYS_520"	}, /* 520 */
+	{ 8,	0,	printargs,		"SYS_521"	}, /* 521 */
+	{ 8,	0,	printargs,		"SYS_522"	}, /* 522 */
+	{ 8,	0,	printargs,		"SYS_523"	}, /* 523 */
+	{ 8,	0,	printargs,		"SYS_524"	}, /* 524 */
+	{ 8,	0,	printargs,		"SYS_525"	}, /* 525 */
+	{ 8,	0,	printargs,		"SYS_526"	}, /* 526 */
+	{ 8,	0,	printargs,		"SYS_527"	}, /* 527 */
+	{ 8,	0,	printargs,		"SYS_528"	}, /* 528 */
+	{ 8,	0,	printargs,		"SYS_529"	}, /* 529 */
+	{ 8,	0,	printargs,		"SYS_530"	}, /* 530 */
+	{ 8,	0,	printargs,		"SYS_531"	}, /* 531 */
+	{ 8,	0,	printargs,		"SYS_532"	}, /* 532 */
+	{ 8,	0,	printargs,		"SYS_533"	}, /* 533 */
+	{ 8,	0,	printargs,		"SYS_534"	}, /* 534 */
+	{ 8,	0,	printargs,		"SYS_535"	}, /* 535 */
+	{ 8,	0,	printargs,		"SYS_536"	}, /* 536 */
+	{ 8,	0,	printargs,		"SYS_537"	}, /* 537 */
+	{ 8,	0,	printargs,		"SYS_538"	}, /* 538 */
+	{ 8,	0,	printargs,		"SYS_539"	}, /* 539 */
+	{ 8,	0,	printargs,		"SYS_540"	}, /* 540 */
+	{ 8,	0,	printargs,		"SYS_541"	}, /* 541 */
+	{ 8,	0,	printargs,		"SYS_542"	}, /* 542 */
+	{ 8,	0,	printargs,		"SYS_543"	}, /* 543 */
+	{ 8,	0,	printargs,		"SYS_544"	}, /* 544 */
+	{ 8,	0,	printargs,		"SYS_545"	}, /* 545 */
+	{ 8,	0,	printargs,		"SYS_546"	}, /* 546 */
+	{ 8,	0,	printargs,		"SYS_547"	}, /* 547 */
+	{ 8,	0,	printargs,		"SYS_548"	}, /* 548 */
+	{ 8,	0,	printargs,		"SYS_549"	}, /* 549 */
+	{ 8,	0,	printargs,		"SYS_550"	}, /* 550 */
+	{ 8,	0,	printargs,		"SYS_551"	}, /* 551 */
+	{ 8,	0,	printargs,		"SYS_552"	}, /* 552 */
+	{ 8,	0,	printargs,		"SYS_553"	}, /* 553 */
+	{ 8,	0,	printargs,		"SYS_554"	}, /* 554 */
+	{ 8,	0,	printargs,		"SYS_555"	}, /* 555 */
+	{ 8,	0,	printargs,		"SYS_556"	}, /* 556 */
+	{ 8,	0,	printargs,		"SYS_557"	}, /* 557 */
+	{ 8,	0,	printargs,		"SYS_558"	}, /* 558 */
+	{ 8,	0,	printargs,		"SYS_559"	}, /* 559 */
+	{ 8,	0,	printargs,		"SYS_560"	}, /* 560 */
+	{ 8,	0,	printargs,		"SYS_561"	}, /* 561 */
+	{ 8,	0,	printargs,		"SYS_562"	}, /* 562 */
+	{ 8,	0,	printargs,		"SYS_563"	}, /* 563 */
+	{ 8,	0,	printargs,		"SYS_564"	}, /* 564 */
+	{ 8,	0,	printargs,		"SYS_565"	}, /* 565 */
+	{ 8,	0,	printargs,		"SYS_566"	}, /* 566 */
+	{ 8,	0,	printargs,		"SYS_567"	}, /* 567 */
+	{ 8,	0,	printargs,		"SYS_568"	}, /* 568 */
+	{ 8,	0,	printargs,		"SYS_569"	}, /* 569 */
+	{ 8,	0,	printargs,		"SYS_570"	}, /* 570 */
+	{ 8,	0,	printargs,		"SYS_571"	}, /* 571 */
+	{ 8,	0,	printargs,		"SYS_572"	}, /* 572 */
+	{ 8,	0,	printargs,		"SYS_573"	}, /* 573 */
+	{ 8,	0,	printargs,		"SYS_574"	}, /* 574 */
+	{ 8,	0,	printargs,		"SYS_575"	}, /* 575 */
+	{ 8,	0,	printargs,		"SYS_576"	}, /* 576 */
+	{ 8,	0,	printargs,		"SYS_577"	}, /* 577 */
+	{ 8,	0,	printargs,		"SYS_578"	}, /* 578 */
+	{ 8,	0,	printargs,		"SYS_579"	}, /* 579 */
+	{ 8,	0,	printargs,		"SYS_580"	}, /* 580 */
+	{ 8,	0,	printargs,		"SYS_581"	}, /* 581 */
+	{ 8,	0,	printargs,		"SYS_582"	}, /* 582 */
+	{ 8,	0,	printargs,		"SYS_583"	}, /* 583 */
+	{ 8,	0,	printargs,		"SYS_584"	}, /* 584 */
+	{ 8,	0,	printargs,		"SYS_585"	}, /* 585 */
+	{ 8,	0,	printargs,		"SYS_586"	}, /* 586 */
+	{ 8,	0,	printargs,		"SYS_587"	}, /* 587 */
+	{ 8,	0,	printargs,		"SYS_588"	}, /* 588 */
+	{ 8,	0,	printargs,		"SYS_589"	}, /* 589 */
+	{ 8,	0,	printargs,		"SYS_590"	}, /* 590 */
+	{ 8,	0,	printargs,		"SYS_591"	}, /* 591 */
+	{ 8,	0,	printargs,		"SYS_592"	}, /* 592 */
+	{ 8,	0,	printargs,		"SYS_593"	}, /* 593 */
+	{ 8,	0,	printargs,		"SYS_594"	}, /* 594 */
+	{ 8,	0,	printargs,		"SYS_595"	}, /* 595 */
+	{ 8,	0,	printargs,		"SYS_596"	}, /* 596 */
+	{ 8,	0,	printargs,		"SYS_597"	}, /* 597 */
+	{ 8,	0,	printargs,		"SYS_598"	}, /* 598 */
+	{ 8,	0,	printargs,		"SYS_599"	}, /* 599 */
+	{ 8,	0,	printargs,		"SYS_600"	}, /* 600 */
+	{ 8,	0,	printargs,		"SYS_601"	}, /* 601 */
+	{ 8,	0,	printargs,		"SYS_602"	}, /* 602 */
+	{ 8,	0,	printargs,		"SYS_603"	}, /* 603 */
+	{ 8,	0,	printargs,		"SYS_604"	}, /* 604 */
+	{ 8,	0,	printargs,		"SYS_605"	}, /* 605 */
+	{ 8,	0,	printargs,		"SYS_606"	}, /* 606 */
+	{ 8,	0,	printargs,		"SYS_607"	}, /* 607 */
+	{ 8,	0,	printargs,		"SYS_608"	}, /* 608 */
+	{ 8,	0,	printargs,		"SYS_609"	}, /* 609 */
+	{ 8,	0,	printargs,		"SYS_610"	}, /* 610 */
+	{ 8,	0,	printargs,		"SYS_611"	}, /* 611 */
+	{ 8,	0,	printargs,		"SYS_612"	}, /* 612 */
+	{ 8,	0,	printargs,		"SYS_613"	}, /* 613 */
+	{ 8,	0,	printargs,		"SYS_614"	}, /* 614 */
+	{ 8,	0,	printargs,		"SYS_615"	}, /* 615 */
+	{ 8,	0,	printargs,		"SYS_616"	}, /* 616 */
+	{ 8,	0,	printargs,		"SYS_617"	}, /* 617 */
+	{ 8,	0,	printargs,		"SYS_618"	}, /* 618 */
+	{ 8,	0,	printargs,		"SYS_619"	}, /* 619 */
+	{ 8,	0,	printargs,		"SYS_620"	}, /* 620 */
+	{ 8,	0,	printargs,		"SYS_621"	}, /* 621 */
+	{ 8,	0,	printargs,		"SYS_622"	}, /* 622 */
+	{ 8,	0,	printargs,		"SYS_623"	}, /* 623 */
+	{ 8,	0,	printargs,		"SYS_624"	}, /* 624 */
+	{ 8,	0,	printargs,		"SYS_625"	}, /* 625 */
+	{ 8,	0,	printargs,		"SYS_626"	}, /* 626 */
+	{ 8,	0,	printargs,		"SYS_627"	}, /* 627 */
+	{ 8,	0,	printargs,		"SYS_628"	}, /* 628 */
+	{ 8,	0,	printargs,		"SYS_629"	}, /* 629 */
+	{ 8,	0,	printargs,		"SYS_630"	}, /* 630 */
+	{ 8,	0,	printargs,		"SYS_631"	}, /* 631 */
+	{ 8,	0,	printargs,		"SYS_632"	}, /* 632 */
+	{ 8,	0,	printargs,		"SYS_633"	}, /* 633 */
+	{ 8,	0,	printargs,		"SYS_634"	}, /* 634 */
+	{ 8,	0,	printargs,		"SYS_635"	}, /* 635 */
+	{ 8,	0,	printargs,		"SYS_636"	}, /* 636 */
+	{ 8,	0,	printargs,		"SYS_637"	}, /* 637 */
+	{ 8,	0,	printargs,		"SYS_638"	}, /* 638 */
+	{ 8,	0,	printargs,		"SYS_639"	}, /* 639 */
+	{ 8,	0,	printargs,		"SYS_640"	}, /* 640 */
+	{ 8,	0,	printargs,		"SYS_641"	}, /* 641 */
+	{ 8,	0,	printargs,		"SYS_642"	}, /* 642 */
+	{ 8,	0,	printargs,		"SYS_643"	}, /* 643 */
+	{ 8,	0,	printargs,		"SYS_644"	}, /* 644 */
+	{ 8,	0,	printargs,		"SYS_645"	}, /* 645 */
+	{ 8,	0,	printargs,		"SYS_646"	}, /* 646 */
+	{ 8,	0,	printargs,		"SYS_647"	}, /* 647 */
+	{ 8,	0,	printargs,		"SYS_648"	}, /* 648 */
+	{ 8,	0,	printargs,		"SYS_649"	}, /* 649 */
+	{ 8,	0,	printargs,		"SYS_650"	}, /* 650 */
+	{ 8,	0,	printargs,		"SYS_651"	}, /* 651 */
+	{ 8,	0,	printargs,		"SYS_652"	}, /* 652 */
+	{ 8,	0,	printargs,		"SYS_653"	}, /* 653 */
+	{ 8,	0,	printargs,		"SYS_654"	}, /* 654 */
+	{ 8,	0,	printargs,		"SYS_655"	}, /* 655 */
+	{ 8,	0,	printargs,		"SYS_656"	}, /* 656 */
+	{ 8,	0,	printargs,		"SYS_657"	}, /* 657 */
+	{ 8,	0,	printargs,		"SYS_658"	}, /* 658 */
+	{ 8,	0,	printargs,		"SYS_659"	}, /* 659 */
+	{ 8,	0,	printargs,		"SYS_660"	}, /* 660 */
+	{ 8,	0,	printargs,		"SYS_661"	}, /* 661 */
+	{ 8,	0,	printargs,		"SYS_662"	}, /* 662 */
+	{ 8,	0,	printargs,		"SYS_663"	}, /* 663 */
+	{ 8,	0,	printargs,		"SYS_664"	}, /* 664 */
+	{ 8,	0,	printargs,		"SYS_665"	}, /* 665 */
+	{ 8,	0,	printargs,		"SYS_666"	}, /* 666 */
+	{ 8,	0,	printargs,		"SYS_667"	}, /* 667 */
+	{ 8,	0,	printargs,		"SYS_668"	}, /* 668 */
+	{ 8,	0,	printargs,		"SYS_669"	}, /* 669 */
+	{ 8,	0,	printargs,		"SYS_670"	}, /* 670 */
+	{ 8,	0,	printargs,		"SYS_671"	}, /* 671 */
+	{ 8,	0,	printargs,		"SYS_672"	}, /* 672 */
+	{ 8,	0,	printargs,		"SYS_673"	}, /* 673 */
+	{ 8,	0,	printargs,		"SYS_674"	}, /* 674 */
+	{ 8,	0,	printargs,		"SYS_675"	}, /* 675 */
+	{ 8,	0,	printargs,		"SYS_676"	}, /* 676 */
+	{ 8,	0,	printargs,		"SYS_677"	}, /* 677 */
+	{ 8,	0,	printargs,		"SYS_678"	}, /* 678 */
+	{ 8,	0,	printargs,		"SYS_679"	}, /* 679 */
+	{ 8,	0,	printargs,		"SYS_680"	}, /* 680 */
+	{ 8,	0,	printargs,		"SYS_681"	}, /* 681 */
+	{ 8,	0,	printargs,		"SYS_682"	}, /* 682 */
+	{ 8,	0,	printargs,		"SYS_683"	}, /* 683 */
+	{ 8,	0,	printargs,		"SYS_684"	}, /* 684 */
+	{ 8,	0,	printargs,		"SYS_685"	}, /* 685 */
+	{ 8,	0,	printargs,		"SYS_686"	}, /* 686 */
+	{ 8,	0,	printargs,		"SYS_687"	}, /* 687 */
+	{ 8,	0,	printargs,		"SYS_688"	}, /* 688 */
+	{ 8,	0,	printargs,		"SYS_689"	}, /* 689 */
+	{ 8,	0,	printargs,		"SYS_690"	}, /* 690 */
+	{ 8,	0,	printargs,		"SYS_691"	}, /* 691 */
+	{ 8,	0,	printargs,		"SYS_692"	}, /* 692 */
+	{ 8,	0,	printargs,		"SYS_693"	}, /* 693 */
+	{ 8,	0,	printargs,		"SYS_694"	}, /* 694 */
+	{ 8,	0,	printargs,		"SYS_695"	}, /* 695 */
+	{ 8,	0,	printargs,		"SYS_696"	}, /* 696 */
+	{ 8,	0,	printargs,		"SYS_697"	}, /* 697 */
+	{ 8,	0,	printargs,		"SYS_698"	}, /* 698 */
+	{ 8,	0,	printargs,		"SYS_699"	}, /* 699 */
+	{ 8,	0,	printargs,		"SYS_700"	}, /* 700 */
+	{ 8,	0,	printargs,		"SYS_701"	}, /* 701 */
+	{ 8,	0,	printargs,		"SYS_702"	}, /* 702 */
+	{ 8,	0,	printargs,		"SYS_703"	}, /* 703 */
+	{ 8,	0,	printargs,		"SYS_704"	}, /* 704 */
+	{ 8,	0,	printargs,		"SYS_705"	}, /* 705 */
+	{ 8,	0,	printargs,		"SYS_706"	}, /* 706 */
+	{ 8,	0,	printargs,		"SYS_707"	}, /* 707 */
+	{ 8,	0,	printargs,		"SYS_708"	}, /* 708 */
+	{ 8,	0,	printargs,		"SYS_709"	}, /* 709 */
+	{ 8,	0,	printargs,		"SYS_710"	}, /* 710 */
+	{ 8,	0,	printargs,		"SYS_711"	}, /* 711 */
+	{ 8,	0,	printargs,		"SYS_712"	}, /* 712 */
+	{ 8,	0,	printargs,		"SYS_713"	}, /* 713 */
+	{ 8,	0,	printargs,		"SYS_714"	}, /* 714 */
+	{ 8,	0,	printargs,		"SYS_715"	}, /* 715 */
+	{ 8,	0,	printargs,		"SYS_716"	}, /* 716 */
+	{ 8,	0,	printargs,		"SYS_717"	}, /* 717 */
+	{ 8,	0,	printargs,		"SYS_718"	}, /* 718 */
+	{ 8,	0,	printargs,		"SYS_719"	}, /* 719 */
+	{ 8,	0,	printargs,		"SYS_720"	}, /* 720 */
+	{ 8,	0,	printargs,		"SYS_721"	}, /* 721 */
+	{ 8,	0,	printargs,		"SYS_722"	}, /* 722 */
+	{ 8,	0,	printargs,		"SYS_723"	}, /* 723 */
+	{ 8,	0,	printargs,		"SYS_724"	}, /* 724 */
+	{ 8,	0,	printargs,		"SYS_725"	}, /* 725 */
+	{ 8,	0,	printargs,		"SYS_726"	}, /* 726 */
+	{ 8,	0,	printargs,		"SYS_727"	}, /* 727 */
+	{ 8,	0,	printargs,		"SYS_728"	}, /* 728 */
+	{ 8,	0,	printargs,		"SYS_729"	}, /* 729 */
+	{ 8,	0,	printargs,		"SYS_730"	}, /* 730 */
+	{ 8,	0,	printargs,		"SYS_731"	}, /* 731 */
+	{ 8,	0,	printargs,		"SYS_732"	}, /* 732 */
+	{ 8,	0,	printargs,		"SYS_733"	}, /* 733 */
+	{ 8,	0,	printargs,		"SYS_734"	}, /* 734 */
+	{ 8,	0,	printargs,		"SYS_735"	}, /* 735 */
+	{ 8,	0,	printargs,		"SYS_736"	}, /* 736 */
+	{ 8,	0,	printargs,		"SYS_737"	}, /* 737 */
+	{ 8,	0,	printargs,		"SYS_738"	}, /* 738 */
+	{ 8,	0,	printargs,		"SYS_739"	}, /* 739 */
+	{ 8,	0,	printargs,		"SYS_740"	}, /* 740 */
+	{ 8,	0,	printargs,		"SYS_741"	}, /* 741 */
+	{ 8,	0,	printargs,		"SYS_742"	}, /* 742 */
+	{ 8,	0,	printargs,		"SYS_743"	}, /* 743 */
+	{ 8,	0,	printargs,		"SYS_744"	}, /* 744 */
+	{ 8,	0,	printargs,		"SYS_745"	}, /* 745 */
+	{ 8,	0,	printargs,		"SYS_746"	}, /* 746 */
+	{ 8,	0,	printargs,		"SYS_747"	}, /* 747 */
+	{ 8,	0,	printargs,		"SYS_748"	}, /* 748 */
+	{ 8,	0,	printargs,		"SYS_749"	}, /* 749 */
+	{ 8,	0,	printargs,		"SYS_750"	}, /* 750 */
+	{ 8,	0,	printargs,		"SYS_751"	}, /* 751 */
+	{ 8,	0,	printargs,		"SYS_752"	}, /* 752 */
+	{ 8,	0,	printargs,		"SYS_753"	}, /* 753 */
+	{ 8,	0,	printargs,		"SYS_754"	}, /* 754 */
+	{ 8,	0,	printargs,		"SYS_755"	}, /* 755 */
+	{ 8,	0,	printargs,		"SYS_756"	}, /* 756 */
+	{ 8,	0,	printargs,		"SYS_757"	}, /* 757 */
+	{ 8,	0,	printargs,		"SYS_758"	}, /* 758 */
+	{ 8,	0,	printargs,		"SYS_759"	}, /* 759 */
+	{ 8,	0,	printargs,		"SYS_760"	}, /* 760 */
+	{ 8,	0,	printargs,		"SYS_761"	}, /* 761 */
+	{ 8,	0,	printargs,		"SYS_762"	}, /* 762 */
+	{ 8,	0,	printargs,		"SYS_763"	}, /* 763 */
+	{ 8,	0,	printargs,		"SYS_764"	}, /* 764 */
+	{ 8,	0,	printargs,		"SYS_765"	}, /* 765 */
+	{ 8,	0,	printargs,		"SYS_766"	}, /* 766 */
+	{ 8,	0,	printargs,		"SYS_767"	}, /* 767 */
+	{ 8,	0,	printargs,		"SYS_768"	}, /* 768 */
+	{ 8,	0,	printargs,		"SYS_769"	}, /* 769 */
+	{ 8,	0,	printargs,		"SYS_770"	}, /* 770 */
+	{ 8,	0,	printargs,		"SYS_771"	}, /* 771 */
+	{ 8,	0,	printargs,		"SYS_772"	}, /* 772 */
+	{ 8,	0,	printargs,		"SYS_773"	}, /* 773 */
+	{ 8,	0,	printargs,		"SYS_774"	}, /* 774 */
+	{ 8,	0,	printargs,		"SYS_775"	}, /* 775 */
+	{ 8,	0,	printargs,		"SYS_776"	}, /* 776 */
+	{ 8,	0,	printargs,		"SYS_777"	}, /* 777 */
+	{ 8,	0,	printargs,		"SYS_778"	}, /* 778 */
+	{ 8,	0,	printargs,		"SYS_779"	}, /* 779 */
+	{ 8,	0,	printargs,		"SYS_780"	}, /* 780 */
+	{ 8,	0,	printargs,		"SYS_781"	}, /* 781 */
+	{ 8,	0,	printargs,		"SYS_782"	}, /* 782 */
+	{ 8,	0,	printargs,		"SYS_783"	}, /* 783 */
+	{ 8,	0,	printargs,		"SYS_784"	}, /* 784 */
+	{ 8,	0,	printargs,		"SYS_785"	}, /* 785 */
+	{ 8,	0,	printargs,		"SYS_786"	}, /* 786 */
+	{ 8,	0,	printargs,		"SYS_787"	}, /* 787 */
+	{ 8,	0,	printargs,		"SYS_788"	}, /* 788 */
+	{ 8,	0,	printargs,		"SYS_789"	}, /* 789 */
+	{ 8,	0,	printargs,		"SYS_790"	}, /* 790 */
+	{ 8,	0,	printargs,		"SYS_791"	}, /* 791 */
+	{ 8,	0,	printargs,		"SYS_792"	}, /* 792 */
+	{ 8,	0,	printargs,		"SYS_793"	}, /* 793 */
+	{ 8,	0,	printargs,		"SYS_794"	}, /* 794 */
+	{ 8,	0,	printargs,		"SYS_795"	}, /* 795 */
+	{ 8,	0,	printargs,		"SYS_796"	}, /* 796 */
+	{ 8,	0,	printargs,		"SYS_797"	}, /* 797 */
+	{ 8,	0,	printargs,		"SYS_798"	}, /* 798 */
+	{ 8,	0,	printargs,		"SYS_799"	}, /* 799 */
+	{ 8,	0,	printargs,		"SYS_800"	}, /* 800 */
+	{ 8,	0,	printargs,		"SYS_801"	}, /* 801 */
+	{ 8,	0,	printargs,		"SYS_802"	}, /* 802 */
+	{ 8,	0,	printargs,		"SYS_803"	}, /* 803 */
+	{ 8,	0,	printargs,		"SYS_804"	}, /* 804 */
+	{ 8,	0,	printargs,		"SYS_805"	}, /* 805 */
+	{ 8,	0,	printargs,		"SYS_806"	}, /* 806 */
+	{ 8,	0,	printargs,		"SYS_807"	}, /* 807 */
+	{ 8,	0,	printargs,		"SYS_808"	}, /* 808 */
+	{ 8,	0,	printargs,		"SYS_809"	}, /* 809 */
+	{ 8,	0,	printargs,		"SYS_810"	}, /* 810 */
+	{ 8,	0,	printargs,		"SYS_811"	}, /* 811 */
+	{ 8,	0,	printargs,		"SYS_812"	}, /* 812 */
+	{ 8,	0,	printargs,		"SYS_813"	}, /* 813 */
+	{ 8,	0,	printargs,		"SYS_814"	}, /* 814 */
+	{ 8,	0,	printargs,		"SYS_815"	}, /* 815 */
+	{ 8,	0,	printargs,		"SYS_816"	}, /* 816 */
+	{ 8,	0,	printargs,		"SYS_817"	}, /* 817 */
+	{ 8,	0,	printargs,		"SYS_818"	}, /* 818 */
+	{ 8,	0,	printargs,		"SYS_819"	}, /* 819 */
+	{ 8,	0,	printargs,		"SYS_820"	}, /* 820 */
+	{ 8,	0,	printargs,		"SYS_821"	}, /* 821 */
+	{ 8,	0,	printargs,		"SYS_822"	}, /* 822 */
+	{ 8,	0,	printargs,		"SYS_823"	}, /* 823 */
+	{ 8,	0,	printargs,		"SYS_824"	}, /* 824 */
+	{ 8,	0,	printargs,		"SYS_825"	}, /* 825 */
+	{ 8,	0,	printargs,		"SYS_826"	}, /* 826 */
+	{ 8,	0,	printargs,		"SYS_827"	}, /* 827 */
+	{ 8,	0,	printargs,		"SYS_828"	}, /* 828 */
+	{ 8,	0,	printargs,		"SYS_829"	}, /* 829 */
+	{ 8,	0,	printargs,		"SYS_830"	}, /* 830 */
+	{ 8,	0,	printargs,		"SYS_831"	}, /* 831 */
+	{ 8,	0,	printargs,		"SYS_832"	}, /* 832 */
+	{ 8,	0,	printargs,		"SYS_833"	}, /* 833 */
+	{ 8,	0,	printargs,		"SYS_834"	}, /* 834 */
+	{ 8,	0,	printargs,		"SYS_835"	}, /* 835 */
+	{ 8,	0,	printargs,		"SYS_836"	}, /* 836 */
+	{ 8,	0,	printargs,		"SYS_837"	}, /* 837 */
+	{ 8,	0,	printargs,		"SYS_838"	}, /* 838 */
+	{ 8,	0,	printargs,		"SYS_839"	}, /* 839 */
+	{ 8,	0,	printargs,		"SYS_840"	}, /* 840 */
+	{ 8,	0,	printargs,		"SYS_841"	}, /* 841 */
+	{ 8,	0,	printargs,		"SYS_842"	}, /* 842 */
+	{ 8,	0,	printargs,		"SYS_843"	}, /* 843 */
+	{ 8,	0,	printargs,		"SYS_844"	}, /* 844 */
+	{ 8,	0,	printargs,		"SYS_845"	}, /* 845 */
+	{ 8,	0,	printargs,		"SYS_846"	}, /* 846 */
+	{ 8,	0,	printargs,		"SYS_847"	}, /* 847 */
+	{ 8,	0,	printargs,		"SYS_848"	}, /* 848 */
+	{ 8,	0,	printargs,		"SYS_849"	}, /* 849 */
+	{ 8,	0,	printargs,		"SYS_850"	}, /* 850 */
+	{ 8,	0,	printargs,		"SYS_851"	}, /* 851 */
+	{ 8,	0,	printargs,		"SYS_852"	}, /* 852 */
+	{ 8,	0,	printargs,		"SYS_853"	}, /* 853 */
+	{ 8,	0,	printargs,		"SYS_854"	}, /* 854 */
+	{ 8,	0,	printargs,		"SYS_855"	}, /* 855 */
+	{ 8,	0,	printargs,		"SYS_856"	}, /* 856 */
+	{ 8,	0,	printargs,		"SYS_857"	}, /* 857 */
+	{ 8,	0,	printargs,		"SYS_858"	}, /* 858 */
+	{ 8,	0,	printargs,		"SYS_859"	}, /* 859 */
+	{ 8,	0,	printargs,		"SYS_860"	}, /* 860 */
+	{ 8,	0,	printargs,		"SYS_861"	}, /* 861 */
+	{ 8,	0,	printargs,		"SYS_862"	}, /* 862 */
+	{ 8,	0,	printargs,		"SYS_863"	}, /* 863 */
+	{ 8,	0,	printargs,		"SYS_864"	}, /* 864 */
+	{ 8,	0,	printargs,		"SYS_865"	}, /* 865 */
+	{ 8,	0,	printargs,		"SYS_866"	}, /* 866 */
+	{ 8,	0,	printargs,		"SYS_867"	}, /* 867 */
+	{ 8,	0,	printargs,		"SYS_868"	}, /* 868 */
+	{ 8,	0,	printargs,		"SYS_869"	}, /* 869 */
+	{ 8,	0,	printargs,		"SYS_870"	}, /* 870 */
+	{ 8,	0,	printargs,		"SYS_871"	}, /* 871 */
+	{ 8,	0,	printargs,		"SYS_872"	}, /* 872 */
+	{ 8,	0,	printargs,		"SYS_873"	}, /* 873 */
+	{ 8,	0,	printargs,		"SYS_874"	}, /* 874 */
+	{ 8,	0,	printargs,		"SYS_875"	}, /* 875 */
+	{ 8,	0,	printargs,		"SYS_876"	}, /* 876 */
+	{ 8,	0,	printargs,		"SYS_877"	}, /* 877 */
+	{ 8,	0,	printargs,		"SYS_878"	}, /* 878 */
+	{ 8,	0,	printargs,		"SYS_879"	}, /* 879 */
+	{ 8,	0,	printargs,		"SYS_880"	}, /* 880 */
+	{ 8,	0,	printargs,		"SYS_881"	}, /* 881 */
+	{ 8,	0,	printargs,		"SYS_882"	}, /* 882 */
+	{ 8,	0,	printargs,		"SYS_883"	}, /* 883 */
+	{ 8,	0,	printargs,		"SYS_884"	}, /* 884 */
+	{ 8,	0,	printargs,		"SYS_885"	}, /* 885 */
+	{ 8,	0,	printargs,		"SYS_886"	}, /* 886 */
+	{ 8,	0,	printargs,		"SYS_887"	}, /* 887 */
+	{ 8,	0,	printargs,		"SYS_888"	}, /* 888 */
+	{ 8,	0,	printargs,		"SYS_889"	}, /* 889 */
+	{ 8,	0,	printargs,		"SYS_890"	}, /* 890 */
+	{ 8,	0,	printargs,		"SYS_891"	}, /* 891 */
+	{ 8,	0,	printargs,		"SYS_892"	}, /* 892 */
+	{ 8,	0,	printargs,		"SYS_893"	}, /* 893 */
+	{ 8,	0,	printargs,		"SYS_894"	}, /* 894 */
+	{ 8,	0,	printargs,		"SYS_895"	}, /* 895 */
+	{ 8,	0,	printargs,		"SYS_896"	}, /* 896 */
+	{ 8,	0,	printargs,		"SYS_897"	}, /* 897 */
+	{ 8,	0,	printargs,		"SYS_898"	}, /* 898 */
+	{ 8,	0,	printargs,		"SYS_899"	}, /* 899 */
+	{ 8,	0,	printargs,		"SYS_900"	}, /* 900 */
+	{ 8,	0,	printargs,		"SYS_901"	}, /* 901 */
+	{ 8,	0,	printargs,		"SYS_902"	}, /* 902 */
+	{ 8,	0,	printargs,		"SYS_903"	}, /* 903 */
+	{ 8,	0,	printargs,		"SYS_904"	}, /* 904 */
+	{ 8,	0,	printargs,		"SYS_905"	}, /* 905 */
+	{ 8,	0,	printargs,		"SYS_906"	}, /* 906 */
+	{ 8,	0,	printargs,		"SYS_907"	}, /* 907 */
+	{ 8,	0,	printargs,		"SYS_908"	}, /* 908 */
+	{ 8,	0,	printargs,		"SYS_909"	}, /* 909 */
+	{ 8,	0,	printargs,		"SYS_910"	}, /* 910 */
+	{ 8,	0,	printargs,		"SYS_911"	}, /* 911 */
+	{ 8,	0,	printargs,		"SYS_912"	}, /* 912 */
+	{ 8,	0,	printargs,		"SYS_913"	}, /* 913 */
+	{ 8,	0,	printargs,		"SYS_914"	}, /* 914 */
+	{ 8,	0,	printargs,		"SYS_915"	}, /* 915 */
+	{ 8,	0,	printargs,		"SYS_916"	}, /* 916 */
+	{ 8,	0,	printargs,		"SYS_917"	}, /* 917 */
+	{ 8,	0,	printargs,		"SYS_918"	}, /* 918 */
+	{ 8,	0,	printargs,		"SYS_919"	}, /* 919 */
+	{ 8,	0,	printargs,		"SYS_920"	}, /* 920 */
+	{ 8,	0,	printargs,		"SYS_921"	}, /* 921 */
+	{ 8,	0,	printargs,		"SYS_922"	}, /* 922 */
+	{ 8,	0,	printargs,		"SYS_923"	}, /* 923 */
+	{ 8,	0,	printargs,		"SYS_924"	}, /* 924 */
+	{ 8,	0,	printargs,		"SYS_925"	}, /* 925 */
+	{ 8,	0,	printargs,		"SYS_926"	}, /* 926 */
+	{ 8,	0,	printargs,		"SYS_927"	}, /* 927 */
+	{ 8,	0,	printargs,		"SYS_928"	}, /* 928 */
+	{ 8,	0,	printargs,		"SYS_929"	}, /* 929 */
+	{ 8,	0,	printargs,		"SYS_930"	}, /* 930 */
+	{ 8,	0,	printargs,		"SYS_931"	}, /* 931 */
+	{ 8,	0,	printargs,		"SYS_932"	}, /* 932 */
+	{ 8,	0,	printargs,		"SYS_933"	}, /* 933 */
+	{ 8,	0,	printargs,		"SYS_934"	}, /* 934 */
+	{ 8,	0,	printargs,		"SYS_935"	}, /* 935 */
+	{ 8,	0,	printargs,		"SYS_936"	}, /* 936 */
+	{ 8,	0,	printargs,		"SYS_937"	}, /* 937 */
+	{ 8,	0,	printargs,		"SYS_938"	}, /* 938 */
+	{ 8,	0,	printargs,		"SYS_939"	}, /* 939 */
+	{ 8,	0,	printargs,		"SYS_940"	}, /* 940 */
+	{ 8,	0,	printargs,		"SYS_941"	}, /* 941 */
+	{ 8,	0,	printargs,		"SYS_942"	}, /* 942 */
+	{ 8,	0,	printargs,		"SYS_943"	}, /* 943 */
+	{ 8,	0,	printargs,		"SYS_944"	}, /* 944 */
+	{ 8,	0,	printargs,		"SYS_945"	}, /* 945 */
+	{ 8,	0,	printargs,		"SYS_946"	}, /* 946 */
+	{ 8,	0,	printargs,		"SYS_947"	}, /* 947 */
+	{ 8,	0,	printargs,		"SYS_948"	}, /* 948 */
+	{ 8,	0,	printargs,		"SYS_949"	}, /* 949 */
+	{ 8,	0,	printargs,		"SYS_950"	}, /* 950 */
+	{ 8,	0,	printargs,		"SYS_951"	}, /* 951 */
+	{ 8,	0,	printargs,		"SYS_952"	}, /* 952 */
+	{ 8,	0,	printargs,		"SYS_953"	}, /* 953 */
+	{ 8,	0,	printargs,		"SYS_954"	}, /* 954 */
+	{ 8,	0,	printargs,		"SYS_955"	}, /* 955 */
+	{ 8,	0,	printargs,		"SYS_956"	}, /* 956 */
+	{ 8,	0,	printargs,		"SYS_957"	}, /* 957 */
+	{ 8,	0,	printargs,		"SYS_958"	}, /* 958 */
+	{ 8,	0,	printargs,		"SYS_959"	}, /* 959 */
+	{ 8,	0,	printargs,		"SYS_960"	}, /* 960 */
+	{ 8,	0,	printargs,		"SYS_961"	}, /* 961 */
+	{ 8,	0,	printargs,		"SYS_962"	}, /* 962 */
+	{ 8,	0,	printargs,		"SYS_963"	}, /* 963 */
+	{ 8,	0,	printargs,		"SYS_964"	}, /* 964 */
+	{ 8,	0,	printargs,		"SYS_965"	}, /* 965 */
+	{ 8,	0,	printargs,		"SYS_966"	}, /* 966 */
+	{ 8,	0,	printargs,		"SYS_967"	}, /* 967 */
+	{ 8,	0,	printargs,		"SYS_968"	}, /* 968 */
+	{ 8,	0,	printargs,		"SYS_969"	}, /* 969 */
+	{ 8,	0,	printargs,		"SYS_970"	}, /* 970 */
+	{ 8,	0,	printargs,		"SYS_971"	}, /* 971 */
+	{ 8,	0,	printargs,		"SYS_972"	}, /* 972 */
+	{ 8,	0,	printargs,		"SYS_973"	}, /* 973 */
+	{ 8,	0,	printargs,		"SYS_974"	}, /* 974 */
+	{ 8,	0,	printargs,		"SYS_975"	}, /* 975 */
+	{ 8,	0,	printargs,		"SYS_976"	}, /* 976 */
+	{ 8,	0,	printargs,		"SYS_977"	}, /* 977 */
+	{ 8,	0,	printargs,		"SYS_978"	}, /* 978 */
+	{ 8,	0,	printargs,		"SYS_979"	}, /* 979 */
+	{ 8,	0,	printargs,		"SYS_980"	}, /* 980 */
+	{ 8,	0,	printargs,		"SYS_981"	}, /* 981 */
+	{ 8,	0,	printargs,		"SYS_982"	}, /* 982 */
+	{ 8,	0,	printargs,		"SYS_983"	}, /* 983 */
+	{ 8,	0,	printargs,		"SYS_984"	}, /* 984 */
+	{ 8,	0,	printargs,		"SYS_985"	}, /* 985 */
+	{ 8,	0,	printargs,		"SYS_986"	}, /* 986 */
+	{ 8,	0,	printargs,		"SYS_987"	}, /* 987 */
+	{ 8,	0,	printargs,		"SYS_988"	}, /* 988 */
+	{ 8,	0,	printargs,		"SYS_989"	}, /* 989 */
+	{ 8,	0,	printargs,		"SYS_990"	}, /* 990 */
+	{ 8,	0,	printargs,		"SYS_991"	}, /* 991 */
+	{ 8,	0,	printargs,		"SYS_992"	}, /* 992 */
+	{ 8,	0,	printargs,		"SYS_993"	}, /* 993 */
+	{ 8,	0,	printargs,		"SYS_994"	}, /* 994 */
+	{ 8,	0,	printargs,		"SYS_995"	}, /* 995 */
+	{ 8,	0,	printargs,		"SYS_996"	}, /* 996 */
+	{ 8,	0,	printargs,		"SYS_997"	}, /* 997 */
+	{ 8,	0,	printargs,		"SYS_998"	}, /* 998 */
+	{ 8,	0,	printargs,		"SYS_999"	}, /* 999 */
+	{ 8,	0,	printargs,		"SYS_1000"	}, /* 1000 */
+	{ 8,	0,	printargs,		"SYS_1001"	}, /* 1001 */
+	{ 8,	0,	printargs,		"SYS_1002"	}, /* 1002 */
+	{ 8,	0,	printargs,		"SYS_1003"	}, /* 1003 */
+	{ 8,	0,	printargs,		"SYS_1004"	}, /* 1004 */
+	{ 8,	0,	printargs,		"SYS_1005"	}, /* 1005 */
+	{ 8,	0,	printargs,		"SYS_1006"	}, /* 1006 */
+	{ 8,	0,	printargs,		"SYS_1007"	}, /* 1007 */
+	{ 8,	0,	printargs,		"SYS_1008"	}, /* 1008 */
+	{ 8,	0,	printargs,		"SYS_1009"	}, /* 1009 */
+	{ 8,	0,	printargs,		"SYS_1010"	}, /* 1010 */
+	{ 8,	0,	printargs,		"SYS_1011"	}, /* 1011 */
+	{ 8,	0,	printargs,		"SYS_1012"	}, /* 1012 */
+	{ 8,	0,	printargs,		"SYS_1013"	}, /* 1013 */
+	{ 8,	0,	printargs,		"SYS_1014"	}, /* 1014 */
+	{ 8,	0,	printargs,		"SYS_1015"	}, /* 1015 */
+	{ 8,	0,	printargs,		"SYS_1016"	}, /* 1016 */
+	{ 8,	0,	printargs,		"SYS_1017"	}, /* 1017 */
+	{ 8,	0,	printargs,		"SYS_1018"	}, /* 1018 */
+	{ 8,	0,	printargs,		"SYS_1019"	}, /* 1019 */
+	{ 8,	0,	printargs,		"SYS_1020"	}, /* 1020 */
+	{ 8,	0,	printargs,		"SYS_1021"	}, /* 1021 */
+	{ 8,	0,	printargs,		"SYS_1022"	}, /* 1022 */
+	{ 8,	0,	printargs,		"SYS_1023"	}, /* 1023 */
+	{ 0,	0,	printargs,		"ni_syscall"	}, /* 1024 */
+	{ 1,	TP,	sys_exit,		"exit"		}, /* 1025 */
+	{ 3,	TD,	sys_read,		"read"		}, /* 1026 */
+	{ 3,	TD,	sys_write,		"write"		}, /* 1027 */
+	{ 3,	TD|TF,	sys_open,		"open"		}, /* 1028 */
+	{ 1,	TD,	sys_close,		"close"		}, /* 1029 */
+	{ 2,	0,	sys_creat,		"creat"		}, /* 1030 */
+	{ 2,	TF,	sys_link,		"link"		}, /* 1031 */
+	{ 1,	TF,	sys_unlink,		"unlink"	}, /* 1032 */
+	{ 3,	TF|TP,	sys_execve,		"execve"	}, /* 1033 */
+	{ 1,	TF,	sys_chdir,		"chdir"		}, /* 1034 */
+	{ 1,	TF,	sys_fchdir,		"fchdir"	}, /* 1035 */
+	{ 2,	0,	sys_utimes,		"utimes"	}, /* 1036 */
+	{ 3,	TF,	sys_mknod,		"mknod"		}, /* 1037 */
+	{ 2,	TF,	sys_chmod,		"chmod"		}, /* 1038 */
+	{ 3,	TF,	sys_chown,		"chown"		}, /* 1039 */
+	{ 3,	TF,	sys_lseek,		"lseek"		}, /* 1040 */
+	{ 0,	0,	sys_getpid,		"getpid"	}, /* 1041 */
+	{ 0,	0,	sys_getppid,		"getppid"	}, /* 1042 */
+	{ 5,	TF,	sys_mount,		"mount"		}, /* 1043 */
+	{ 1,	0,	sys_umount2,		"umount"	}, /* 1044 */
+	{ 1,	0,	sys_setuid,		"setuid"	}, /* 1045 */
+	{ 0,	0,	sys_getuid,		"getuid"	}, /* 1046 */
+	{ 0,	0,	sys_geteuid,		"geteuid"	}, /* 1047 */
+	{ 4,	0,	sys_ptrace,		"ptrace"	}, /* 1048 */
+	{ 2,	TF,	sys_access,		"access"	}, /* 1049 */
+	{ 0,	0,	sys_sync,		"sync"		}, /* 1050 */
+	{ 1,	TD,	sys_fsync,		"fsync"		}, /* 1051 */
+	{ 1,	TD,	sys_fdatasync,		"fdatasync"	}, /* 1052 */
+	{ 2,	TS,	sys_kill,		"kill"		}, /* 1053 */
+	{ 2,	TF,	sys_rename,		"rename"	}, /* 1054 */
+	{ 2,	TF,	sys_mkdir,		"mkdir"		}, /* 1055 */
+	{ 1,	TF,	sys_rmdir,		"rmdir"		}, /* 1056 */
+	{ 1,	TD,	sys_dup,		"dup"		}, /* 1057 */
+	{ 1,	TD,	sys_pipe,		"pipe"		}, /* 1058 */
+	{ 1,	0,	sys_times,		"times"		}, /* 1059 */
+	{ 1,	0,	sys_brk,		"brk"		}, /* 1060 */
+	{ 1,	0,	sys_setgid,		"setgid"	}, /* 1061 */
+	{ 0,	0,	sys_getgid,		"getgid"	}, /* 1062 */
+	{ 0,	0,	sys_getegid,		"getegid"	}, /* 1063 */
+	{ 1,	TF,	sys_acct,		"acct"		}, /* 1064 */
+	{ 3,	TD,	sys_ioctl,		"ioctl"		}, /* 1065 */
+	{ 3,	TD,	sys_fcntl,		"fcntl"		}, /* 1066 */
+	{ 1,	0,	sys_umask,		"umask"		}, /* 1067 */
+	{ 1,	TF,	sys_chroot,		"chroot"	}, /* 1068 */
+	{ 2,	0,	sys_ustat,		"ustat"		}, /* 1069 */
+	{ 2,	TD,	sys_dup2,		"dup2"		}, /* 1070 */
+	{ 2,	0,	sys_setreuid,		"setreuid"	}, /* 1071 */
+	{ 2,	0,	sys_setregid,		"setregid"	}, /* 1072 */
+	{ 3,	0,	printargs,		"getresuid"	}, /* 1073 */
+	{ 3,	0,	sys_setresuid,		"setresuid"	}, /* 1074 */
+	{ 3,	0,	sys_getresuid,		"getresgid"	}, /* 1075 */
+	{ 3,	0,	printargs,		"setresgid"	}, /* 1076 */
+	{ 2,	0,	sys_getgroups,		"getgroups"	}, /* 1077 */
+	{ 2,	0,	sys_setgroups,		"setgroups"	}, /* 1078 */
+	{ 1,	0,	sys_getpgid,		"getpgid"	}, /* 1079 */
+	{ 2,	0,	sys_setpgid,		"setpgid"	}, /* 1080 */
+	{ 0,	0,	sys_setsid,		"setsid"	}, /* 1081 */
+	{ 1,	0,	sys_getsid,		"getsid"	}, /* 1082 */
+	{ 2,	0,	sys_sethostname,	"sethostname"	}, /* 1083 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit"	}, /* 1084 */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"	}, /* 1085 */
+	{ 2,	0,	sys_getrusage,		"getrusage"	}, /* 1086 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday"	}, /* 1087 */
+	{ 2,	0,	sys_settimeofday,	"settimeofday"	}, /* 1088 */
+	{ 5,	TD,	sys_select,		"select"	}, /* 1089 */
+	{ 3,	TD,	sys_poll,		"poll"		}, /* 1090 */
+	{ 2,	TF,	sys_symlink,		"symlink"	}, /* 1091 */
+	{ 3,	TF,	sys_readlink,		"readlink"	}, /* 1092 */
+	{ 1,	0,	sys_uselib,		"uselib"	}, /* 1093 */
+	{ 1,	0,	sys_swapon,		"swapon"	}, /* 1094 */
+	{ 1,	0,	sys_swapoff,		"swapoff"	}, /* 1095 */
+	{ 3,	0,	sys_reboot,		"reboot"	}, /* 1096 */
+	{ 2,	TF,	sys_truncate,		"truncate"	}, /* 1097 */
+	{ 2,	TD,	sys_ftruncate,		"ftruncate"	}, /* 1098 */
+	{ 2,	TD,	sys_fchmod,		"fchmod"	}, /* 1099 */
+	{ 3,	TD,	sys_fchown,		"fchown"	}, /* 1100 */
+	{ 2,	0,	sys_getpriority,	"getpriority"	}, /* 1101 */
+	{ 3,	0,	sys_setpriority,	"setpriority"	}, /* 1102 */
+	{ 2,	TF,	sys_statfs,		"statfs"	}, /* 1103 */
+	{ 2,	TD,	sys_fstatfs,		"fstatfs"	}, /* 1104 */
+	{ 3,	0,	printargs,		"gettid"	}, /* 1105 */
+	{ 3,	TI,	sys_semget,		"semget"	}, /* 1106 */
+	{ 3,	TI,	printargs,		"semop"		}, /* 1107 */
+	{ 4,	TI,	sys_semctl,		"semctl"	}, /* 1108 */
+	{ 2,	TI,	sys_msgget,		"msgget"	}, /* 1109 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd"	}, /* 1110 */
+	{ 5,	TI,	sys_msgrcv,		"msgrcv"	}, /* 1111 */
+	{ 3,	TI,	sys_msgctl,		"msgctl"	}, /* 1112 */
+	{ 3,	TI,	sys_shmget,		"shmget"	}, /* 1113 */
+	{ 3,	TI,	sys_shmat,		"shmat"		}, /* 1114 */
+	{ 1,	TI,	sys_shmdt,		"shmdt"		}, /* 1115 */
+	{ 3,	TI,	sys_shmctl,		"shmctl"	}, /* 1116 */
+	{ 3,	0,	sys_syslog,		"syslog"	}, /* 1117 */
+	{ 3,	0,	sys_setitimer,		"setitimer"	}, /* 1118 */
+	{ 2,	0,	sys_getitimer,		"getitimer"	}, /* 1119 */
+	{ 2,	TF,	sys_stat,		"stat"		}, /* 1120 */
+	{ 2,	TF,	sys_lstat,		"lstat"		}, /* 1121 */
+	{ 2,	TD,	sys_fstat,		"fstat"		}, /* 1122 */
+	{ 0,	0,	sys_vhangup,		"vhangup"	}, /* 1123 */
+	{ 3,	TF,	sys_chown,		"lchown"	}, /* 1124 */
+	{ 5,	0,	printargs,		"vm86"		}, /* 1125 */
+	{ 4,	TP,	sys_wait4,		"wait4"		}, /* 1126 */
+	{ 1,	0,	sys_sysinfo,		"sysinfo"	}, /* 1127 */
+	{ 5,	TP,	sys_clone,		"clone"		}, /* 1128 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname"	}, /* 1129 */
+	{ 1,	0,	sys_uname,		"uname"		}, /* 1130 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex"	}, /* 1131 */
+	{ 2,	0,	sys_create_module,	"create_module"	}, /* 1132 */
+	{ 4,	0,	sys_init_module,	"init_module"	}, /* 1133 */
+	{ 2,	0,	sys_delete_module,	"delete_module"	}, /* 1134 */
+	{ 1,	0,	sys_get_kernel_syms,	"get_kernel_syms"}, /* 1135 */
+	{ 5,	0,	sys_query_module,	"query_module"	}, /* 1136 */
+	{ 4,	0,	sys_quotactl,		"quotactl"	}, /* 1137 */
+	{ 0,	0,	sys_bdflush,		"bdflush"	}, /* 1138 */
+	{ 3,	0,	sys_sysfs,		"sysfs"		}, /* 1139 */
+	{ 1,	0,	sys_personality,	"personality"	}, /* 1140 */
+	{ 5,	0,	sys_afs_syscall,	"afs_syscall"	}, /* 1141 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid"	}, /* 1142 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid"	}, /* 1143 */
+	{ 3,	TD,	sys_getdents,		"getdents"	}, /* 1144 */
+	{ 2,	TD,	sys_flock,		"flock"		}, /* 1145 */
+	{ 5,	TD,	sys_readv,		"readv"		}, /* 1146 */
+	{ 5,	TD,	sys_writev,		"writev"	}, /* 1147 */
+	{ 4,	TD,	sys_pread,		"pread"		}, /* 1148 */
+	{ 4,	TD,	sys_pwrite,		"pwrite"	}, /* 1149 */
+	{ 1,	0,	printargs,		"_sysctl"	}, /* 1150 */
+	{ 6,	0,	sys_mmap,		"mmap"		}, /* 1151 */
+	{ 2,	0,	sys_munmap,		"munmap"	}, /* 1152 */
+	{ 2,	0,	sys_mlock,		"mlock"		}, /* 1153 */
+	{ 1,	0,	sys_mlockall,		"mlockall"	}, /* 1154 */
+	{ 3,	0,	sys_mprotect,		"mprotect"	}, /* 1155 */
+	{ 5,	0,	sys_mremap,		"mremap"	}, /* 1156 */
+	{ 3,	0,	sys_msync,		"msync"		}, /* 1157 */
+	{ 2,	0,	sys_munlock,		"munlock"	}, /* 1158 */
+	{ 0,	0,	sys_munlockall,		"munlockall"	}, /* 1159 */
+	{ 2,	0,	sys_sched_getparam,	"sched_getparam"}, /* 1160 */
+	{ 2,	0,	sys_sched_setparam,	"sched_setparam"}, /* 1161 */
+	{ 2,	0,	sys_sched_getscheduler,	"sched_getscheduler"}, /* 1162 */
+	{ 3,	0,	sys_sched_setscheduler,	"sched_setscheduler"}, /* 1163 */
+	{ 0,	0,	sys_sched_yield,	"sched_yield"	}, /* 1164 */
+	{ 1,	0,	sys_sched_get_priority_max,"sched_get_priority_max"}, /* 1165 */
+	{ 1,	0,	sys_sched_get_priority_min,"sched_get_priority_min"}, /* 1166 */
+	{ 2,	0,	sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 1167 */
+	{ 2,	0,	sys_nanosleep,		"nanosleep"	}, /* 1168 */
+	{ 3,	0,	printargs,		"nfsservctl"	}, /* 1169 */
+	{ 5,	0,	sys_prctl,		"prctl"		}, /* 1170 */
+	{ 1,	0,	sys_getpagesize,	"getpagesize"	}, /* 1171 */
+	{ 6,	0,	sys_mmap,		"mmap2"		}, /* 1172 */
+	{ 5,	0,	printargs,		"pciconfig_read"}, /* 1173 */
+	{ 5,	0,	printargs,		"pciconfig_write"}, /* 1174 */
+	{ 8,	0,	printargs,		"perfmonctl"	}, /* 1175 */
+	{ 2,	TS,	sys_sigaltstack,	"sigaltstack"	}, /* 1176 */
+	{ 4,	TS,	sys_rt_sigaction,	"rt_sigaction"	}, /* 1177 */
+	{ 2,	TS,	sys_rt_sigpending,	"rt_sigpending"	}, /* 1178 */
+	{ 4,	TS,	sys_rt_sigprocmask,	"rt_sigprocmask"}, /* 1179 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,	"rt_sigqueueinfo"}, /* 1180 */
+	{ 0,	TS,	sys_sigreturn,		"rt_sigreturn"	}, /* 1181 */
+	{ 2,	TS,	sys_rt_sigsuspend,	"rt_sigsuspend"	}, /* 1182 */
+	{ 4,	TS,	sys_rt_sigtimedwait,	"rt_sigtimedwait"}, /* 1183 */
+	{ 2,	TF,	sys_getcwd,		"getcwd"	}, /* 1184 */
+	{ 2,	0,	sys_capget,		"capget"	}, /* 1185 */
+	{ 2,	0,	sys_capset,		"capset"	}, /* 1186 */
+	{ 4,	TD|TN,	sys_sendfile,		"sendfile"	}, /* 1187 */
+	{ 5,	TN,	printargs,		"getpmsg"	}, /* 1188 */
+	{ 5,	TN,	printargs,		"putpmsg"	}, /* 1189 */
+	{ 3,	TN,	sys_socket,		"socket"	}, /* 1190 */
+	{ 3,	TN,	sys_bind,		"bind"		}, /* 1191 */
+	{ 3,	TN,	sys_connect,		"connect"	}, /* 1192 */
+	{ 2,	TN,	sys_listen,		"listen"	}, /* 1193 */
+	{ 3,	TN,	sys_accept,		"accept"	}, /* 1194 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	}, /* 1195 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	}, /* 1196 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"	}, /* 1197 */
+	{ 4,	TN,	sys_send,		"send"		}, /* 1198 */
+	{ 6,	TN,	sys_sendto,		"sendto"	}, /* 1199 */
+	{ 4,	TN,	sys_recv,		"recv"		}, /* 1200 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom"	}, /* 1201 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	}, /* 1202 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	}, /* 1203 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 1204 */
+	{ 3,	TN,	sys_sendmsg,		"sendmsg"	}, /* 1205 */
+	{ 3,	TN,	sys_recvmsg,		"recvmsg"	}, /* 1206 */
+	{ 2,	TF,	sys_pivotroot,		"pivot_root"	}, /* 1207 */
+	{ 3,	0,	sys_mincore,		"mincore"	}, /* 1208 */
+	{ 3,	0,	sys_madvise,		"madvise"	}, /* 1209 */
+	{ 2,	TF,	sys_stat,		"stat"		}, /* 1210 */
+	{ 2,	0,	sys_lstat,		"lstat"		}, /* 1211 */
+	{ 2,	TD,	sys_fstat,		"fstat"		}, /* 1212 */
+	{ 6,	TP,	sys_clone,		"clone2"	}, /* 1213 */
+	{ 3,	TD,	sys_getdents64,		"getdents64"	}, /* 1214 */
+	{ 2,	0,	printargs,		"getunwind"	}, /* 1215 */
+	{ 4,	TD,	sys_readahead,		"readahead"	}, /* 1216 */
+	{ 5,	TF,	sys_setxattr,		"setxattr"	}, /* 1217 */
+	{ 5,	TF,	sys_setxattr,		"lsetxattr"	}, /* 1218 */
+	{ 5,	TD,	sys_setxattr,		"fsetxattr"	}, /* 1219 */
+	{ 4,	TF,	sys_getxattr,		"getxattr"	}, /* 1220 */
+	{ 4,	TF,	sys_getxattr,		"lgetxattr"	}, /* 1221 */
+	{ 4,	0,	sys_getxattr,		"fgetxattr"	}, /* 1222 */
+	{ 3,	TF,	sys_listxattr,		"listxattr"	}, /* 1223 */
+	{ 3,	TF,	sys_listxattr,		"llistxattr"	}, /* 1224 */
+	{ 3,	0,	sys_listxattr,		"flistxattr"	}, /* 1225 */
+	{ 2,	TF,	sys_removexattr,	"removexattr"	}, /* 1226 */
+	{ 2,	TF,	sys_removexattr,	"lremovexattr"	}, /* 1227 */
+	{ 2,	0,	sys_removexattr,	"fremovexattr"	}, /* 1228 */
+	{ 2,	TS,	sys_kill,		"tkill"		}, /* 1229 */
+	{ 6,	0,	sys_futex,		"futex"		}, /* 1230 */
+	{ 3,	0,	sys_sched_setaffinity,	"sched_setaffinity"},/* 1231 */
+	{ 3,	0,	sys_sched_getaffinity,	"sched_getaffinity"},/* 1232 */
+	{ 1,	0,	printargs,		"set_tid_address"}, /* 1233 */
+	{ 5,	0,	sys_fadvise64,		"fadvise64"	}, /* 1234 */
+	{ 3,	TS,	sys_tgkill,		"tgkill"	}, /* 1235 */
+	{ 1,	TP,	sys_exit,		"exit_group"	}, /* 1236 */
+	{ 4,	0,	printargs,		"lookup_dcookie"}, /* 1237 */
+	{ 2,	0,	sys_io_setup,		"io_setup"	}, /* 1238 */
+	{ 1,	0,	sys_io_destroy,		"io_destroy"	}, /* 1239 */
+	{ 5,	0,	sys_io_getevents,		"io_getevents"	}, /* 1240 */
+	{ 3,	0,	sys_io_submit,		"io_submit"	}, /* 1241 */
+	{ 3,	0,	sys_io_cancel,		"io_cancel"	}, /* 1242 */
+	{ 1,	0,	sys_epoll_create,	"epoll_create"	}, /* 1243 */
+	{ 4,	TD,	sys_epoll_ctl,		"epoll_ctl"	}, /* 1244 */
+	{ 4,	TD,	sys_epoll_wait,		"epoll_wait"	}, /* 1245 */
+	{ 0,	0,	sys_restart_syscall,	"restart_syscall"}, /* 1246 */
+	{ 5,	TI,	sys_semtimedop,		"semtimedop"	}, /* 1247 */
+	{ 3,	0,	sys_timer_create,	"timer_create"	}, /* 1248 */
+	{ 4,	0,	sys_timer_settime,	"timer_settime"	}, /* 1249 */
+	{ 2,	0,	sys_timer_gettime,	"timer_gettime"	}, /* 1250 */
+	{ 1,	0,	sys_timer_getoverrun,	"timer_getoverrun"}, /* 1251 */
+	{ 1,	0,	sys_timer_delete,	"timer_delete"	}, /* 1252 */
+	{ 2,	0,	sys_clock_settime,	"clock_settime"	}, /* 1253 */
+	{ 2,	0,	sys_clock_gettime,	"clock_gettime"	}, /* 1254 */
+	{ 2,	0,	sys_clock_getres,	"clock_getres"	}, /* 1255 */
+	{ 4,	0,	sys_clock_nanosleep,	"clock_nanosleep"}, /* 1256 */
+	{ 8,	0,	printargs,		"fstatfs64"	}, /* 1257 */
+	{ 8,	0,	printargs,		"statfs64"	}, /* 1258 */
+	{ 6,	0,	sys_mbind,		"mbind"		}, /* 1259 */
+	{ 5,	0,	sys_get_mempolicy,	"get_mempolicy"	}, /* 1260 */
+	{ 3,	0,	sys_set_mempolicy,	"set_mempolicy"	}, /* 1261 */
+	{ 4,	0,	sys_mq_open,		"mq_open"	}, /* 1262 */
+	{ 1,	0,	sys_mq_unlink,		"mq_unlink"	}, /* 1263 */
+	{ 5,	0,	sys_mq_timedsend,	"mq_timedsend"	}, /* 1264 */
+	{ 5,	0,	sys_mq_timedreceive,	"mq_timedreceive" }, /* 1265 */
+	{ 2,	0,	sys_mq_notify,		"mq_notify"	}, /* 1266 */
+	{ 3,	0,	sys_mq_getsetattr,	"mq_getsetattr"	}, /* 1267 */
+	{ 5,	0,	printargs,		"kexec_load"	}, /* 1268 */
+	{ 5,	0,	printargs,		"vserver"	}, /* 1269 */
+	{ 5,	TP,	sys_waitid,		"waitid"	}, /* 1270 */
+	{ 5,	0,	printargs,		"add_key"	}, /* 1271 */
+	{ 4,	0,	printargs,		"request_key"	}, /* 1272 */
+	{ 5,	0,	printargs,		"keyctl"	}, /* 1273 */
+	{ 3,	0,	printargs,		"ioprio_set"	}, /* 1274 */
+	{ 2,	0,	printargs,		"ioprio_get"	}, /* 1275 */
+	{ 6,	0,	sys_move_pages,		"move_pages"	}, /* 1276 */
+	{ 0,	TD,	printargs,		"inotify_init"	}, /* 1277 */
+	{ 3,	TD,	sys_inotify_add_watch,	"inotify_add_watch" }, /* 1278 */
+	{ 2,	TD,	sys_inotify_rm_watch,	"inotify_rm_watch" }, /* 1279 */
+	{ 4,	0,	printargs,		"migrate_pages"	}, /* 1280 */
+	{ 4,	TD|TF,	sys_openat,		"openat"	}, /* 1281 */
+	{ 3,	TD|TF,	sys_mkdirat,		"mkdirat"	}, /* 1282 */
+	{ 4,	TD|TF,	sys_mknodat,		"mknodat"	}, /* 1283 */
+	{ 5,	TD|TF,	sys_fchownat,		"fchownat"	}, /* 1284 */
+	{ 3,	TD|TF,	sys_futimesat,		"futimesat"	}, /* 1285 */
+	{ 4,	TD|TD,	sys_newfstatat,		"newfstatat"	}, /* 1286 */
+	{ 3,	TD|TF,	sys_unlinkat,		"unlinkat"	}, /* 1287 */
+	{ 4,	TD|TF,	sys_renameat,		"renameat"	}, /* 1288 */
+	{ 5,	TD|TF,	sys_linkat,		"linkat"	}, /* 1289 */
+	{ 3,	TD|TF,	sys_symlinkat,		"symlinkat"	}, /* 1290 */
+	{ 4,	TD|TF,	sys_readlinkat,		"readlinkat"	}, /* 1291 */
+	{ 3,	TD|TF,	sys_fchmodat,		"fchmodat"	}, /* 1292 */
+	{ 3,	TD|TF,	sys_faccessat,		"faccessat"	}, /* 1293 */
+	{ 6,	TD,	sys_pselect6,		"pselect6"	}, /* 1294 */
+	{ 5,	TD,	sys_ppoll,		"ppoll"		}, /* 1295 */
+	{ 1,	TP,	sys_unshare,		"unshare"	}, /* 1296 */
+	{ 2,	0,	printargs,		"set_robust_list" }, /* 1297 */
+	{ 3,	0,	printargs,		"get_robust_list" }, /* 1298 */
+	{ 6,	TD,	printargs,		"splice"	}, /* 1299 */
+	{ 4,	TD,	printargs,		"sync_file_range" }, /* 1300 */
+	{ 4,	TD,	printargs,		"tee"		}, /* 1301 */
+	{ 4,	TD,	printargs,		"vmsplice"	}, /* 1302 */
+	{ 8,	0,	printargs,		"SYS_1303"	}, /* 1303 */
+	{ 3,	0,	sys_getcpu,		"getcpu"	}, /* 1304 */
+	{ 5,	TD,	sys_epoll_pwait,	"epoll_pwait"	}, /* 1305 */
+	{ 8,	0,	printargs,		"SYS_1306"	}, /* 1306 */
+	{ 3,	TD|TS,	sys_signalfd,		"signalfd"	}, /* 1307 */
+	{ 4,	TD,	sys_timerfd,		"timerfd"	}, /* 1308 */
+	{ 1,	TD,	sys_eventfd,		"eventfd"	}, /* 1309 */
+	{ 5,	TD,	printargs,		"preadv"	}, /* 1319 */
+	{ 5,	TD,	printargs,		"pwritev"	}, /* 1320 */
+	{ 4,	TS,	printargs,		"rt_tgsigqueueinfo"}, /* 1321 */
+	{ 5,	TN,	sys_recvmmsg,		"recvmmsg"	}, /* 1322 */
diff --git a/strace-4.5.20/linux/ioctlent.h b/strace-4.5.20/linux/ioctlent.h
new file mode 100644
index 0000000..ad35905
--- /dev/null
+++ b/strace-4.5.20/linux/ioctlent.h
@@ -0,0 +1,1428 @@
+	/* Generated by ioctlsort */
+	{"linux/fs.h",	"FIBMAP",	0x1},
+	{"linux/fs.h",	"FIGETBSZ",	0x2},
+	{"linux/fd.h",	"FDGETPRM",	0x204},
+	{"linux/fd.h",	"FDGETMAXERRS",	0x20e},
+	{"linux/fd.h",	"FDGETDRVTYP",	0x20f},
+	{"linux/fd.h",	"FDGETDRVPRM",	0x211},
+	{"linux/fd.h",	"FDGETDRVSTAT",	0x212},
+	{"linux/fd.h",	"FDPOLLDRVSTAT",	0x213},
+	{"linux/fd.h",	"FDGETFDCSTAT",	0x215},
+	{"linux/fd.h",	"FDWERRORGET",	0x217},
+	{"linux/fd.h",	"FDCLRPRM",	0x241},
+	{"linux/fd.h",	"FDSETPRM",	0x242},
+	{"linux/fd.h",	"FDDEFPRM",	0x243},
+	{"linux/fd.h",	"FDMSGON",	0x245},
+	{"linux/fd.h",	"FDMSGOFF",	0x246},
+	{"linux/fd.h",	"FDFMTBEG",	0x247},
+	{"linux/fd.h",	"FDFMTTRK",	0x248},
+	{"linux/fd.h",	"FDFMTEND",	0x249},
+	{"linux/fd.h",	"FDSETEMSGTRESH",	0x24a},
+	{"linux/fd.h",	"FDFLUSH",	0x24b},
+	{"linux/fd.h",	"FDSETMAXERRS",	0x24c},
+	{"linux/fd.h",	"FDRESET",	0x254},
+	{"linux/fd.h",	"FDWERRORCLR",	0x256},
+	{"linux/fd.h",	"FDRAWCMD",	0x258},
+	{"linux/fd.h",	"FDTWADDLE",	0x259},
+	{"linux/fd.h",	"FDEJECT",	0x25a},
+	{"linux/fd.h",	"FDSETDRVPRM",	0x290},
+	{"linux/fs.h",	"BLKROSET",	0x125d},
+	{"linux/fs.h",	"BLKROGET",	0x125e},
+	{"linux/fs.h",	"BLKRRPART",	0x125f},
+	{"linux/fs.h",	"BLKGETSIZE",	0x1260},
+	{"linux/fs.h",	"BLKFLSBUF",	0x1261},
+	{"linux/fs.h",	"BLKRASET",	0x1262},
+	{"linux/fs.h",	"BLKRAGET",	0x1263},
+	{"linux/fs.h",	"BLKFRASET",	0x1264},
+	{"linux/fs.h",	"BLKFRAGET",	0x1265},
+	{"linux/fs.h",	"BLKSECTSET",	0x1266},
+	{"linux/fs.h",	"BLKSECTGET",	0x1267},
+	{"linux/fs.h",	"BLKSSZGET",	0x1268},
+	{"linux/blkpg.h",	"BLKPG",	0x1269},
+	{"linux/fs.h",	"BLKELVGET",	0x126a},
+	{"linux/fs.h",	"BLKELVSET",	0x126b},
+	{"linux/fs.h",	"BLKBSZGET",	0x1270},
+	{"linux/fs.h",	"BLKBSZSET",	0x1271},
+	{"linux/fs.h",	"BLKGETSIZE64",	0x1272},
+	{"linux/fs.h",	"BLKTRACESETUP",	0x1273},
+	{"linux/fs.h",	"BLKTRACESTART",	0x1274},
+	{"linux/fs.h",	"BLKTRACESTOP",	0x1275},
+	{"linux/fs.h",	"BLKTRACETEARDOWN",	0x1276},
+	{"linux/fs.h",	"BLKDISCARD",	0x1277},
+	{"linux/fs.h",	"BLKIOMIN",	0x1278},
+	{"linux/fs.h",	"BLKIOOPT",	0x1279},
+	{"linux/fs.h",	"BLKALIGNOFF",	0x127a},
+	{"linux/fs.h",	"BLKPBSZGET",	0x127b},
+	{"linux/fs.h",	"BLKDISCARDZEROES",	0x127c},
+	{"scsi/sg.h",	"SG_SET_TIMEOUT",	0x2201},
+	{"scsi/sg.h",	"SG_GET_TIMEOUT",	0x2202},
+	{"scsi/sg.h",	"SG_EMULATED_HOST",	0x2203},
+	{"scsi/sg.h",	"SG_SET_TRANSFORM",	0x2204},
+	{"scsi/sg.h",	"SG_GET_TRANSFORM",	0x2205},
+	{"scsi/sg.h",	"SG_GET_COMMAND_Q",	0x2270},
+	{"scsi/sg.h",	"SG_SET_COMMAND_Q",	0x2271},
+	{"scsi/sg.h",	"SG_GET_RESERVED_SIZE",	0x2272},
+	{"scsi/sg.h",	"SG_SET_RESERVED_SIZE",	0x2275},
+	{"scsi/sg.h",	"SG_GET_SCSI_ID",	0x2276},
+	{"scsi/sg.h",	"SG_SET_FORCE_LOW_DMA",	0x2279},
+	{"scsi/sg.h",	"SG_GET_LOW_DMA",	0x227a},
+	{"scsi/sg.h",	"SG_SET_FORCE_PACK_ID",	0x227b},
+	{"scsi/sg.h",	"SG_GET_PACK_ID",	0x227c},
+	{"scsi/sg.h",	"SG_GET_NUM_WAITING",	0x227d},
+	{"scsi/sg.h",	"SG_SET_DEBUG",	0x227e},
+	{"scsi/sg.h",	"SG_GET_SG_TABLESIZE",	0x227f},
+	{"scsi/sg.h",	"SG_GET_VERSION_NUM",	0x2282},
+	{"scsi/sg.h",	"SG_NEXT_CMD_LEN",	0x2283},
+	{"scsi/sg.h",	"SG_SCSI_RESET",	0x2284},
+	{"scsi/sg.h",	"SG_IO",	0x2285},
+	{"scsi/sg.h",	"SG_GET_REQUEST_TABLE",	0x2286},
+	{"scsi/sg.h",	"SG_SET_KEEP_ORPHAN",	0x2287},
+	{"scsi/sg.h",	"SG_GET_KEEP_ORPHAN",	0x2288},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_GET_INFO",	0x2300},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_SEND_REQUEST",	0x2301},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_ALLOCATE",	0x2302},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_DEALLOCATE",	0x2303},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_SEND_RESPONSE",	0x2304},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_INITIATE_BUS_RESET",	0x2305},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_ADD_DESCRIPTOR",	0x2306},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_REMOVE_DESCRIPTOR",	0x2307},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_CREATE_ISO_CONTEXT",	0x2308},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_QUEUE_ISO",	0x2309},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_START_ISO",	0x230a},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_STOP_ISO",	0x230b},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_GET_CYCLE_TIMER",	0x230c},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE",	0x230d},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE",	0x230e},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE",	0x230f},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE",	0x2310},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_GET_SPEED",	0x2311},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_SEND_BROADCAST_REQUEST",	0x2312},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_SEND_STREAM_PACKET",	0x2313},
+	{"linux/perf_event.h",	"PERF_EVENT_IOC_ENABLE",	0x2400},
+	{"linux/perf_event.h",	"PERF_EVENT_IOC_DISABLE",	0x2401},
+	{"linux/perf_event.h",	"PERF_EVENT_IOC_REFRESH",	0x2402},
+	{"linux/perf_event.h",	"PERF_EVENT_IOC_RESET",	0x2403},
+	{"linux/perf_event.h",	"PERF_EVENT_IOC_PERIOD",	0x2404},
+	{"linux/perf_event.h",	"PERF_EVENT_IOC_SET_OUTPUT",	0x2405},
+	{"linux/perf_event.h",	"PERF_EVENT_IOC_SET_FILTER",	0x2406},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_FREEZE",	0x3301},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_UNFREEZE",	0x3302},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_ATOMIC_RESTORE",	0x3304},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_FREE",	0x3305},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_FREE_SWAP_PAGES",	0x3309},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_S2RAM",	0x330b},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_SET_SWAP_AREA",	0x330d},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_GET_IMAGE_SIZE",	0x330e},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_PLATFORM_SUPPORT",	0x330f},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_POWER_OFF",	0x3310},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_CREATE_IMAGE",	0x3311},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_PREF_IMAGE_SIZE",	0x3312},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_AVAIL_SWAP_SIZE",	0x3313},
+	{"linux/suspend_ioctls.h",	"SNAPSHOT_ALLOC_SWAP_PAGE",	0x3314},
+	{"linux/radeonfb.h",	"FBIO_RADEON_GET_MIRROR",	0x4003},
+	{"linux/radeonfb.h",	"FBIO_RADEON_SET_MIRROR",	0x4004},
+	{"linux/agpgart.h",	"AGPIOC_INFO",	0x4100},
+	{"linux/agpgart.h",	"AGPIOC_ACQUIRE",	0x4101},
+	{"linux/apm_bios.h",	"APM_IOC_STANDBY",	0x4101},
+	{"linux/agpgart.h",	"AGPIOC_RELEASE",	0x4102},
+	{"linux/apm_bios.h",	"APM_IOC_SUSPEND",	0x4102},
+	{"linux/agpgart.h",	"AGPIOC_SETUP",	0x4103},
+	{"linux/agpgart.h",	"AGPIOC_RESERVE",	0x4104},
+	{"linux/agpgart.h",	"AGPIOC_PROTECT",	0x4105},
+	{"linux/agpgart.h",	"AGPIOC_ALLOCATE",	0x4106},
+	{"linux/agpgart.h",	"AGPIOC_DEALLOCATE",	0x4107},
+	{"linux/agpgart.h",	"AGPIOC_BIND",	0x4108},
+	{"linux/agpgart.h",	"AGPIOC_UNBIND",	0x4109},
+	{"linux/agpgart.h",	"AGPIOC_CHIPSET_FLUSH",	0x410a},
+	{"linux/pmu.h",	"PMU_IOC_SLEEP",	0x4200},
+	{"linux/cciss_ioctl.h",	"CCISS_GETPCIINFO",	0x4201},
+	{"linux/pmu.h",	"PMU_IOC_GET_BACKLIGHT",	0x4201},
+	{"linux/cciss_ioctl.h",	"CCISS_GETINTINFO",	0x4202},
+	{"linux/pmu.h",	"PMU_IOC_SET_BACKLIGHT",	0x4202},
+	{"linux/cciss_ioctl.h",	"CCISS_SETINTINFO",	0x4203},
+	{"linux/pmu.h",	"PMU_IOC_GET_MODEL",	0x4203},
+	{"linux/cciss_ioctl.h",	"CCISS_GETNODENAME",	0x4204},
+	{"linux/pmu.h",	"PMU_IOC_HAS_ADB",	0x4204},
+	{"linux/cciss_ioctl.h",	"CCISS_SETNODENAME",	0x4205},
+	{"linux/pmu.h",	"PMU_IOC_CAN_SLEEP",	0x4205},
+	{"linux/cciss_ioctl.h",	"CCISS_GETHEARTBEAT",	0x4206},
+	{"linux/pmu.h",	"PMU_IOC_GRAB_BACKLIGHT",	0x4206},
+	{"linux/cciss_ioctl.h",	"CCISS_GETBUSTYPES",	0x4207},
+	{"linux/cciss_ioctl.h",	"CCISS_GETFIRMVER",	0x4208},
+	{"linux/cciss_ioctl.h",	"CCISS_GETDRIVVER",	0x4209},
+	{"linux/cciss_ioctl.h",	"CCISS_REVALIDVOLS",	0x420a},
+	{"linux/cciss_ioctl.h",	"CCISS_PASSTHRU",	0x420b},
+	{"linux/cciss_ioctl.h",	"CCISS_DEREGDISK",	0x420c},
+	{"linux/cciss_ioctl.h",	"CCISS_REGNEWDISK",	0x420d},
+	{"linux/cciss_ioctl.h",	"CCISS_REGNEWD",	0x420e},
+	{"linux/cciss_ioctl.h",	"CCISS_RESCANDISK",	0x4210},
+	{"linux/cciss_ioctl.h",	"CCISS_GETLUNINFO",	0x4211},
+	{"linux/cciss_ioctl.h",	"CCISS_BIG_PASSTHRU",	0x4212},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RESET",	0x4300},
+	{"linux/capi.h",	"CAPI_REGISTER",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_LOAD",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RDATA",	0x4302},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCODE",	0x4303},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WDATA",	0x4304},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WCODE",	0x4305},
+	{"linux/capi.h",	"CAPI_GET_MANUFACTURER",	0x4306},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RUN",	0x4306},
+	{"linux/capi.h",	"CAPI_GET_VERSION",	0x4307},
+	{"linux/soundcard.h",	"SNDCTL_COPR_HALT",	0x4307},
+	{"linux/capi.h",	"CAPI_GET_SERIAL",	0x4308},
+	{"linux/soundcard.h",	"SNDCTL_COPR_SENDMSG",	0x4308},
+	{"linux/capi.h",	"CAPI_GET_PROFILE",	0x4309},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCVMSG",	0x4309},
+	{"linux/capi.h",	"CAPI_MANUFACTURER_CMD",	0x4320},
+	{"linux/capi.h",	"CAPI_GET_ERRCODE",	0x4321},
+	{"linux/capi.h",	"CAPI_INSTALLED",	0x4322},
+	{"linux/capi.h",	"CAPI_GET_FLAGS",	0x4323},
+	{"linux/capi.h",	"CAPI_SET_FLAGS",	0x4324},
+	{"linux/capi.h",	"CAPI_CLR_FLAGS",	0x4325},
+	{"linux/capi.h",	"CAPI_NCCI_OPENCOUNT",	0x4326},
+	{"linux/capi.h",	"CAPI_NCCI_GETUNIT",	0x4327},
+	{"linux/input.h",	"EVIOCGVERSION",	0x4501},
+	{"linux/input.h",	"EVIOCGID",	0x4502},
+	{"linux/input.h",	"EVIOCGREP",	0x4503},
+	{"linux/input.h",	"EVIOCSREP",	0x4503},
+	{"linux/input.h",	"EVIOCGKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCSKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCRMFF",	0x4581},
+	{"linux/input.h",	"EVIOCGEFFECTS",	0x4584},
+	{"linux/input.h",	"EVIOCGRAB",	0x4590},
+	{"linux/fb.h",	"FBIOGET_VSCREENINFO",	0x4600},
+	{"linux/fb.h",	"FBIOPUT_VSCREENINFO",	0x4601},
+	{"linux/fb.h",	"FBIOGET_FSCREENINFO",	0x4602},
+	{"linux/fb.h",	"FBIOGETCMAP",	0x4604},
+	{"linux/fb.h",	"FBIOPUTCMAP",	0x4605},
+	{"linux/fb.h",	"FBIOPAN_DISPLAY",	0x4606},
+	{"linux/fb.h",	"FBIO_CURSOR",	0x4608},
+	{"linux/fb.h",	"FBIOGET_CON2FBMAP",	0x460f},
+	{"linux/fb.h",	"FBIOPUT_CON2FBMAP",	0x4610},
+	{"linux/fb.h",	"FBIOBLANK",	0x4611},
+	{"linux/fb.h",	"FBIOGET_VBLANK",	0x4612},
+	{"linux/fb.h",	"FBIO_ALLOC",	0x4613},
+	{"linux/fb.h",	"FBIO_FREE",	0x4614},
+	{"linux/fb.h",	"FBIOGET_GLYPH",	0x4615},
+	{"linux/fb.h",	"FBIOGET_HWCINFO",	0x4616},
+	{"linux/fb.h",	"FBIOPUT_MODEINFO",	0x4617},
+	{"linux/fb.h",	"FBIOGET_DISPINFO",	0x4618},
+	{"linux/ivtvfb.h",	"FBIO_WAITFORVSYNC",	0x4620},
+	{"linux/arcfb.h",	"FBIO_WAITEVENT",	0x4688},
+	{"linux/arcfb.h",	"FBIO_GETCONTROL2",	0x4689},
+	{"linux/gigaset_dev.h",	"GIGASET_REDIR",	0x4700},
+	{"linux/gigaset_dev.h",	"GIGASET_CONFIG",	0x4701},
+	{"linux/gigaset_dev.h",	"GIGASET_BRKCHARS",	0x4702},
+	{"linux/gigaset_dev.h",	"GIGASET_VERSION",	0x4703},
+	{"linux/hidraw.h",	"HIDIOCGRDESCSIZE",	0x4801},
+	{"linux/hiddev.h",	"HIDIOCGVERSION",	0x4801},
+	{"linux/hiddev.h",	"HIDIOCAPPLICATION",	0x4802},
+	{"linux/hidraw.h",	"HIDIOCGRDESC",	0x4802},
+	{"linux/hiddev.h",	"HIDIOCGDEVINFO",	0x4803},
+	{"linux/hidraw.h",	"HIDIOCGRAWINFO",	0x4803},
+	{"linux/hiddev.h",	"HIDIOCGSTRING",	0x4804},
+	{"linux/hiddev.h",	"HIDIOCINITREPORT",	0x4805},
+	{"linux/hiddev.h",	"HIDIOCGREPORT",	0x4807},
+	{"linux/hiddev.h",	"HIDIOCSREPORT",	0x4808},
+	{"linux/hiddev.h",	"HIDIOCGREPORTINFO",	0x4809},
+	{"linux/hiddev.h",	"HIDIOCGFIELDINFO",	0x480a},
+	{"linux/hiddev.h",	"HIDIOCGUSAGE",	0x480b},
+	{"linux/hiddev.h",	"HIDIOCSUSAGE",	0x480c},
+	{"linux/hiddev.h",	"HIDIOCGUCODE",	0x480d},
+	{"linux/hiddev.h",	"HIDIOCGFLAG",	0x480e},
+	{"linux/hiddev.h",	"HIDIOCSFLAG",	0x480f},
+	{"linux/hiddev.h",	"HIDIOCGCOLLECTIONINDEX",	0x4810},
+	{"linux/hiddev.h",	"HIDIOCGCOLLECTIONINFO",	0x4811},
+	{"linux/hiddev.h",	"HIDIOCGUSAGES",	0x4813},
+	{"linux/hiddev.h",	"HIDIOCSUSAGES",	0x4814},
+	{"linux/isdn.h",	"IIOCNETAIF",	0x4901},
+	{"linux/isdn.h",	"IIOCNETDIF",	0x4902},
+	{"linux/isdn.h",	"IIOCNETSCF",	0x4903},
+	{"linux/isdn.h",	"IIOCNETGCF",	0x4904},
+	{"linux/isdn.h",	"IIOCNETANM",	0x4905},
+	{"linux/isdn.h",	"IIOCNETDNM",	0x4906},
+	{"linux/isdn.h",	"IIOCNETGNM",	0x4907},
+	{"linux/isdn.h",	"IIOCGETSET",	0x4908},
+	{"linux/isdn.h",	"IIOCSETSET",	0x4909},
+	{"linux/isdn.h",	"IIOCSETVER",	0x490a},
+	{"linux/isdn.h",	"IIOCNETHUP",	0x490b},
+	{"linux/isdn.h",	"IIOCSETGST",	0x490c},
+	{"linux/isdn.h",	"IIOCSETBRJ",	0x490d},
+	{"linux/isdn.h",	"IIOCSIGPRF",	0x490e},
+	{"linux/isdn.h",	"IIOCGETPRF",	0x490f},
+	{"linux/isdn.h",	"IIOCSETPRF",	0x4910},
+	{"linux/isdn.h",	"IIOCGETMAP",	0x4911},
+	{"linux/isdn.h",	"IIOCSETMAP",	0x4912},
+	{"linux/isdn.h",	"IIOCNETASL",	0x4913},
+	{"linux/isdn.h",	"IIOCNETDIL",	0x4914},
+	{"linux/isdn.h",	"IIOCGETCPS",	0x4915},
+	{"linux/isdn.h",	"IIOCGETDVR",	0x4916},
+	{"linux/isdn.h",	"IIOCNETLCR",	0x4917},
+	{"linux/isdn.h",	"IIOCNETDWRSET",	0x4918},
+	{"linux/isdn.h",	"IIOCNETALN",	0x4920},
+	{"linux/isdn.h",	"IIOCNETDLN",	0x4921},
+	{"linux/isdn.h",	"IIOCNETGPN",	0x4922},
+	{"linux/isdn.h",	"IIOCDBGVAR",	0x497f},
+	{"linux/isdn.h",	"IIOCDRVCTL",	0x4980},
+	{"linux/kd.h",	"KIOCSOUND",	0x4b2f},
+	{"linux/kd.h",	"KDMKTONE",	0x4b30},
+	{"linux/kd.h",	"KDGETLED",	0x4b31},
+	{"linux/kd.h",	"KDSETLED",	0x4b32},
+	{"linux/kd.h",	"KDGKBTYPE",	0x4b33},
+	{"linux/kd.h",	"KDADDIO",	0x4b34},
+	{"linux/kd.h",	"KDDELIO",	0x4b35},
+	{"linux/kd.h",	"KDENABIO",	0x4b36},
+	{"linux/kd.h",	"KDDISABIO",	0x4b37},
+	{"linux/kd.h",	"KDSETMODE",	0x4b3a},
+	{"linux/kd.h",	"KDGETMODE",	0x4b3b},
+	{"linux/kd.h",	"KDMAPDISP",	0x4b3c},
+	{"linux/kd.h",	"KDUNMAPDISP",	0x4b3d},
+	{"linux/kd.h",	"GIO_SCRNMAP",	0x4b40},
+	{"linux/kd.h",	"PIO_SCRNMAP",	0x4b41},
+	{"linux/kd.h",	"KDGKBMODE",	0x4b44},
+	{"linux/kd.h",	"KDSKBMODE",	0x4b45},
+	{"linux/kd.h",	"KDGKBENT",	0x4b46},
+	{"linux/kd.h",	"KDSKBENT",	0x4b47},
+	{"linux/kd.h",	"KDGKBSENT",	0x4b48},
+	{"linux/kd.h",	"KDSKBSENT",	0x4b49},
+	{"linux/kd.h",	"KDGKBDIACR",	0x4b4a},
+	{"linux/kd.h",	"KDSKBDIACR",	0x4b4b},
+	{"linux/kd.h",	"KDGETKEYCODE",	0x4b4c},
+	{"linux/kd.h",	"KDSETKEYCODE",	0x4b4d},
+	{"linux/kd.h",	"KDSIGACCEPT",	0x4b4e},
+	{"linux/kd.h",	"KDKBDREP",	0x4b52},
+	{"linux/kd.h",	"GIO_FONT",	0x4b60},
+	{"linux/kd.h",	"PIO_FONT",	0x4b61},
+	{"linux/kd.h",	"KDGKBMETA",	0x4b62},
+	{"linux/kd.h",	"KDSKBMETA",	0x4b63},
+	{"linux/kd.h",	"KDGKBLED",	0x4b64},
+	{"linux/kd.h",	"KDSKBLED",	0x4b65},
+	{"linux/kd.h",	"GIO_UNIMAP",	0x4b66},
+	{"linux/kd.h",	"PIO_UNIMAP",	0x4b67},
+	{"linux/kd.h",	"PIO_UNIMAPCLR",	0x4b68},
+	{"linux/kd.h",	"GIO_UNISCRNMAP",	0x4b69},
+	{"linux/kd.h",	"PIO_UNISCRNMAP",	0x4b6a},
+	{"linux/kd.h",	"GIO_FONTX",	0x4b6b},
+	{"linux/kd.h",	"PIO_FONTX",	0x4b6c},
+	{"linux/kd.h",	"PIO_FONTRESET",	0x4b6d},
+	{"linux/kd.h",	"GIO_CMAP",	0x4b70},
+	{"linux/kd.h",	"PIO_CMAP",	0x4b71},
+	{"linux/kd.h",	"KDFONTOP",	0x4b72},
+	{"linux/kd.h",	"KDGKBDIACRUC",	0x4bfa},
+	{"linux/kd.h",	"KDSKBDIACRUC",	0x4bfb},
+	{"asm/mtrr.h",	"MTRRIOC_ADD_ENTRY",	0x4d00},
+	{"asm/mce.h",	"MCE_GET_RECORD_LEN",	0x4d01},
+	{"asm/mtrr.h",	"MTRRIOC_SET_ENTRY",	0x4d01},
+	{"asm/mce.h",	"MCE_GET_LOG_LEN",	0x4d02},
+	{"asm/mtrr.h",	"MTRRIOC_DEL_ENTRY",	0x4d02},
+	{"asm/mce.h",	"MCE_GETCLEAR_FLAGS",	0x4d03},
+	{"asm/mtrr.h",	"MTRRIOC_GET_ENTRY",	0x4d03},
+	{"asm/mtrr.h",	"MTRRIOC_KILL_ENTRY",	0x4d04},
+	{"asm/mtrr.h",	"MTRRIOC_ADD_PAGE_ENTRY",	0x4d05},
+	{"asm/mtrr.h",	"MTRRIOC_SET_PAGE_ENTRY",	0x4d06},
+	{"asm/mtrr.h",	"MTRRIOC_DEL_PAGE_ENTRY",	0x4d07},
+	{"asm/mtrr.h",	"MTRRIOC_GET_PAGE_ENTRY",	0x4d08},
+	{"asm/mtrr.h",	"MTRRIOC_KILL_PAGE_ENTRY",	0x4d09},
+	{"linux/soundcard.h",	"SOUND_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_OLD_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_MIXER_ACCESS",	0x4d66},
+	{"linux/soundcard.h",	"SOUND_MIXER_AGC",	0x4d67},
+	{"linux/soundcard.h",	"SOUND_MIXER_3DSE",	0x4d68},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE1",	0x4d6f},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE2",	0x4d70},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE3",	0x4d71},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE4",	0x4d72},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE5",	0x4d73},
+	{"linux/soundcard.h",	"SOUND_MIXER_GETLEVELS",	0x4d74},
+	{"linux/soundcard.h",	"SOUND_MIXER_SETLEVELS",	0x4d75},
+	{"linux/soundcard.h",	"OSS_GETVERSION",	0x4d76},
+	{"linux/soundcard.h",	"SNDCTL_DSP_RESET",	0x5000},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SYNC",	0x5001},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SPEED",	0x5002},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_RATE",	0x5002},
+	{"linux/soundcard.h",	"SNDCTL_DSP_STEREO",	0x5003},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETBLKSIZE",	0x5004},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFMT",	0x5005},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_BITS",	0x5005},
+	{"linux/soundcard.h",	"SNDCTL_DSP_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SOUND_PCM_WRITE_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SNDCTL_DSP_POST",	0x5008},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SUBDIVIDE",	0x5009},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFRAGMENT",	0x500a},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETFMTS",	0x500b},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOSPACE",	0x500c},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETISPACE",	0x500d},
+	{"linux/soundcard.h",	"SNDCTL_DSP_NONBLOCK",	0x500e},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCAPS",	0x500f},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETIPTR",	0x5011},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOPTR",	0x5012},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPINBUF",	0x5013},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPOUTBUF",	0x5014},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSYNCRO",	0x5015},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETDUPLEX",	0x5016},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETODELAY",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_PROFILE",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCHANNELMASK",	0x5040},
+	{"linux/soundcard.h",	"SNDCTL_DSP_BIND_CHANNEL",	0x5041},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSPDIF",	0x5042},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETSPDIF",	0x5043},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESET",	0x5100},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_SYNC",	0x5101},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_INFO",	0x5102},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_CTRLRATE",	0x5103},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETOUTCOUNT",	0x5104},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETINCOUNT",	0x5105},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PERCMODE",	0x5106},
+	{"linux/soundcard.h",	"SNDCTL_FM_LOAD_INSTR",	0x5107},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_TESTMIDI",	0x5108},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESETSAMPLES",	0x5109},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRSYNTHS",	0x510a},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRMIDIS",	0x510b},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_INFO",	0x510c},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_THRESHOLD",	0x510d},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_MEMAVL",	0x510e},
+	{"linux/soundcard.h",	"SNDCTL_FM_4OP_ENABLE",	0x510f},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PANIC",	0x5111},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_OUTOFBAND",	0x5112},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETTIME",	0x5113},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_ID",	0x5114},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_CONTROL",	0x5115},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_REMOVESAMPLE",	0x5116},
+	{"linux/random.h",	"RNDGETENTCNT",	0x5200},
+	{"linux/rfkill.h",	"RFKILL_IOCTL_NOINPUT",	0x5201},
+	{"linux/random.h",	"RNDADDTOENTCNT",	0x5201},
+	{"linux/random.h",	"RNDGETPOOL",	0x5202},
+	{"linux/random.h",	"RNDADDENTROPY",	0x5203},
+	{"linux/random.h",	"RNDZAPENTCNT",	0x5204},
+	{"linux/random.h",	"RNDCLEARPOOL",	0x5206},
+	{"linux/cdrom.h",	"CDROMPAUSE",	0x5301},
+	{"linux/cdrom.h",	"CDROMRESUME",	0x5302},
+	{"linux/cdrom.h",	"CDROMPLAYMSF",	0x5303},
+	{"linux/cdrom.h",	"CDROMPLAYTRKIND",	0x5304},
+	{"linux/cdrom.h",	"CDROMREADTOCHDR",	0x5305},
+	{"linux/cdrom.h",	"CDROMREADTOCENTRY",	0x5306},
+	{"linux/cdrom.h",	"CDROMSTOP",	0x5307},
+	{"linux/cdrom.h",	"CDROMSTART",	0x5308},
+	{"linux/cdrom.h",	"CDROMEJECT",	0x5309},
+	{"linux/cdrom.h",	"CDROMVOLCTRL",	0x530a},
+	{"linux/cdrom.h",	"CDROMSUBCHNL",	0x530b},
+	{"linux/cdrom.h",	"CDROMREADMODE2",	0x530c},
+	{"linux/cdrom.h",	"CDROMREADMODE1",	0x530d},
+	{"linux/cdrom.h",	"CDROMREADAUDIO",	0x530e},
+	{"linux/cdrom.h",	"CDROMEJECT_SW",	0x530f},
+	{"linux/cdrom.h",	"CDROMMULTISESSION",	0x5310},
+	{"linux/cdrom.h",	"CDROM_GET_MCN",	0x5311},
+	{"linux/cdrom.h",	"CDROMRESET",	0x5312},
+	{"linux/cdrom.h",	"CDROMVOLREAD",	0x5313},
+	{"linux/cdrom.h",	"CDROMREADRAW",	0x5314},
+	{"linux/cdrom.h",	"CDROMREADCOOKED",	0x5315},
+	{"linux/cdrom.h",	"CDROMSEEK",	0x5316},
+	{"linux/cdrom.h",	"CDROMPLAYBLK",	0x5317},
+	{"linux/cdrom.h",	"CDROMREADALL",	0x5318},
+	{"linux/cdrom.h",	"CDROMCLOSETRAY",	0x5319},
+	{"linux/cdrom.h",	"CDROMGETSPINDOWN",	0x531d},
+	{"linux/cdrom.h",	"CDROMSETSPINDOWN",	0x531e},
+	{"linux/cdrom.h",	"CDROM_SET_OPTIONS",	0x5320},
+	{"linux/cdrom.h",	"CDROM_CLEAR_OPTIONS",	0x5321},
+	{"linux/cdrom.h",	"CDROM_SELECT_SPEED",	0x5322},
+	{"linux/cdrom.h",	"CDROM_SELECT_DISC",	0x5323},
+	{"linux/cdrom.h",	"CDROM_MEDIA_CHANGED",	0x5325},
+	{"linux/cdrom.h",	"CDROM_DRIVE_STATUS",	0x5326},
+	{"linux/cdrom.h",	"CDROM_DISC_STATUS",	0x5327},
+	{"linux/cdrom.h",	"CDROM_CHANGER_NSLOTS",	0x5328},
+	{"linux/cdrom.h",	"CDROM_LOCKDOOR",	0x5329},
+	{"linux/cdrom.h",	"CDROM_DEBUG",	0x5330},
+	{"linux/cdrom.h",	"CDROM_GET_CAPABILITY",	0x5331},
+	{"scsi/scsi_ioctl.h",	"SCSI_IOCTL_DOORLOCK",	0x5380},
+	{"scsi/scsi_ioctl.h",	"SCSI_IOCTL_DOORUNLOCK",	0x5381},
+	{"linux/cdrom.h",	"CDROMAUDIOBUFSIZ",	0x5382},
+	{"scsi/scsi.h",	"SCSI_IOCTL_GET_IDLUN",	0x5382},
+	{"scsi/scsi.h",	"SCSI_IOCTL_TAGGED_ENABLE",	0x5383},
+	{"scsi/scsi.h",	"SCSI_IOCTL_TAGGED_DISABLE",	0x5384},
+	{"scsi/scsi.h",	"SCSI_IOCTL_PROBE_HOST",	0x5385},
+	{"scsi/scsi.h",	"SCSI_IOCTL_GET_BUS_NUMBER",	0x5386},
+	{"linux/cdrom.h",	"DVD_READ_STRUCT",	0x5390},
+	{"linux/cdrom.h",	"DVD_WRITE_STRUCT",	0x5391},
+	{"linux/cdrom.h",	"DVD_AUTH",	0x5392},
+	{"linux/cdrom.h",	"CDROM_SEND_PACKET",	0x5393},
+	{"linux/cdrom.h",	"CDROM_NEXT_WRITABLE",	0x5394},
+	{"linux/cdrom.h",	"CDROM_LAST_WRITTEN",	0x5395},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TIMEBASE",	0x5401},
+	{"asm-generic/ioctls.h",	"TCGETS",	0x5401},
+	{"linux/soundcard.h",	"SNDCTL_TMR_START",	0x5402},
+	{"asm-generic/ioctls.h",	"TCSETS",	0x5402},
+	{"linux/soundcard.h",	"SNDCTL_TMR_STOP",	0x5403},
+	{"asm-generic/ioctls.h",	"TCSETSW",	0x5403},
+	{"linux/soundcard.h",	"SNDCTL_TMR_CONTINUE",	0x5404},
+	{"asm-generic/ioctls.h",	"TCSETSF",	0x5404},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TEMPO",	0x5405},
+	{"asm-generic/ioctls.h",	"TCGETA",	0x5405},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SOURCE",	0x5406},
+	{"asm-generic/ioctls.h",	"TCSETA",	0x5406},
+	{"linux/soundcard.h",	"SNDCTL_TMR_METRONOME",	0x5407},
+	{"asm-generic/ioctls.h",	"TCSETAW",	0x5407},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SELECT",	0x5408},
+	{"asm-generic/ioctls.h",	"TCSETAF",	0x5408},
+	{"asm-generic/ioctls.h",	"TCSBRK",	0x5409},
+	{"asm-generic/ioctls.h",	"TCXONC",	0x540a},
+	{"asm-generic/ioctls.h",	"TCFLSH",	0x540b},
+	{"asm-generic/ioctls.h",	"TIOCEXCL",	0x540c},
+	{"asm-generic/ioctls.h",	"TIOCNXCL",	0x540d},
+	{"asm-generic/ioctls.h",	"TIOCSCTTY",	0x540e},
+	{"asm-generic/ioctls.h",	"TIOCGPGRP",	0x540f},
+	{"asm-generic/ioctls.h",	"TIOCSPGRP",	0x5410},
+	{"asm-generic/ioctls.h",	"TIOCOUTQ",	0x5411},
+	{"asm-generic/ioctls.h",	"TIOCSTI",	0x5412},
+	{"asm-generic/ioctls.h",	"TIOCGWINSZ",	0x5413},
+	{"asm-generic/ioctls.h",	"TIOCSWINSZ",	0x5414},
+	{"asm-generic/ioctls.h",	"TIOCMGET",	0x5415},
+	{"asm-generic/ioctls.h",	"TIOCMBIS",	0x5416},
+	{"asm-generic/ioctls.h",	"TIOCMBIC",	0x5417},
+	{"asm-generic/ioctls.h",	"TIOCMSET",	0x5418},
+	{"asm-generic/ioctls.h",	"TIOCGSOFTCAR",	0x5419},
+	{"asm-generic/ioctls.h",	"TIOCSSOFTCAR",	0x541a},
+	{"asm-generic/ioctls.h",	"FIONREAD",	0x541b},
+	{"asm-generic/ioctls.h",	"TIOCLINUX",	0x541c},
+	{"asm-generic/ioctls.h",	"TIOCCONS",	0x541d},
+	{"asm-generic/ioctls.h",	"TIOCGSERIAL",	0x541e},
+	{"asm-generic/ioctls.h",	"TIOCSSERIAL",	0x541f},
+	{"asm-generic/ioctls.h",	"TIOCPKT",	0x5420},
+	{"asm-generic/ioctls.h",	"FIONBIO",	0x5421},
+	{"asm-generic/ioctls.h",	"TIOCNOTTY",	0x5422},
+	{"asm-generic/ioctls.h",	"TIOCSETD",	0x5423},
+	{"asm-generic/ioctls.h",	"TIOCGETD",	0x5424},
+	{"asm-generic/ioctls.h",	"TCSBRKP",	0x5425},
+	{"asm-generic/ioctls.h",	"TIOCSBRK",	0x5427},
+	{"asm-generic/ioctls.h",	"TIOCCBRK",	0x5428},
+	{"asm-generic/ioctls.h",	"TIOCGSID",	0x5429},
+	{"asm-generic/ioctls.h",	"TCGETS2",	0x542a},
+	{"asm-generic/ioctls.h",	"TCSETS2",	0x542b},
+	{"asm-generic/ioctls.h",	"TCSETSW2",	0x542c},
+	{"asm-generic/ioctls.h",	"TCSETSF2",	0x542d},
+	{"asm-generic/ioctls.h",	"TIOCGRS485",	0x542e},
+	{"asm-generic/ioctls.h",	"TIOCSRS485",	0x542f},
+	{"asm-generic/ioctls.h",	"TIOCGPTN",	0x5430},
+	{"asm-generic/ioctls.h",	"TIOCSPTLCK",	0x5431},
+	{"asm-generic/ioctls.h",	"TCGETX",	0x5432},
+	{"asm-generic/ioctls.h",	"TCSETX",	0x5433},
+	{"asm-generic/ioctls.h",	"TCSETXF",	0x5434},
+	{"asm-generic/ioctls.h",	"TCSETXW",	0x5435},
+	{"asm-generic/ioctls.h",	"FIONCLEX",	0x5450},
+	{"asm-generic/ioctls.h",	"FIOCLEX",	0x5451},
+	{"asm-generic/ioctls.h",	"FIOASYNC",	0x5452},
+	{"asm-generic/ioctls.h",	"TIOCSERCONFIG",	0x5453},
+	{"asm-generic/ioctls.h",	"TIOCSERGWILD",	0x5454},
+	{"asm-generic/ioctls.h",	"TIOCSERSWILD",	0x5455},
+	{"asm-generic/ioctls.h",	"TIOCGLCKTRMIOS",	0x5456},
+	{"asm-generic/ioctls.h",	"TIOCSLCKTRMIOS",	0x5457},
+	{"asm-generic/ioctls.h",	"TIOCSERGSTRUCT",	0x5458},
+	{"asm-generic/ioctls.h",	"TIOCSERGETLSR",	0x5459},
+	{"asm-generic/ioctls.h",	"TIOCSERGETMULTI",	0x545a},
+	{"asm-generic/ioctls.h",	"TIOCSERSETMULTI",	0x545b},
+	{"asm-generic/ioctls.h",	"TIOCMIWAIT",	0x545c},
+	{"asm-generic/ioctls.h",	"TIOCGICOUNT",	0x545d},
+	{"asm-generic/ioctls.h",	"TIOCGHAYESESP",	0x545e},
+	{"asm-generic/ioctls.h",	"TIOCSHAYESESP",	0x545f},
+	{"asm-generic/ioctls.h",	"FIOQSIZE",	0x5460},
+	{"linux/if_tun.h",	"TUNSETNOCSUM",	0x54c8},
+	{"linux/if_tun.h",	"TUNSETDEBUG",	0x54c9},
+	{"linux/if_tun.h",	"TUNSETIFF",	0x54ca},
+	{"linux/if_tun.h",	"TUNSETPERSIST",	0x54cb},
+	{"linux/if_tun.h",	"TUNSETOWNER",	0x54cc},
+	{"linux/if_tun.h",	"TUNSETLINK",	0x54cd},
+	{"linux/if_tun.h",	"TUNSETGROUP",	0x54ce},
+	{"linux/if_tun.h",	"TUNGETFEATURES",	0x54cf},
+	{"linux/if_tun.h",	"TUNSETOFFLOAD",	0x54d0},
+	{"linux/if_tun.h",	"TUNSETTXFILTER",	0x54d1},
+	{"linux/if_tun.h",	"TUNGETIFF",	0x54d2},
+	{"linux/if_tun.h",	"TUNGETSNDBUF",	0x54d3},
+	{"linux/if_tun.h",	"TUNSETSNDBUF",	0x54d4},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONTROL",	0x5500},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONTROL32",	0x5500},
+	{"linux/uinput.h",	"UI_DEV_CREATE",	0x5501},
+	{"linux/uinput.h",	"UI_DEV_DESTROY",	0x5502},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_BULK",	0x5502},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_BULK32",	0x5502},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESETEP",	0x5503},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETINTERFACE",	0x5504},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETCONFIGURATION",	0x5505},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_GETDRIVER",	0x5508},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SUBMITURB",	0x550a},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SUBMITURB32",	0x550a},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCARDURB",	0x550b},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURB",	0x550c},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURB32",	0x550c},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURBNDELAY",	0x550d},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURBNDELAY32",	0x550d},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCSIGNAL",	0x550e},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCSIGNAL32",	0x550e},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLAIMINTERFACE",	0x550f},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RELEASEINTERFACE",	0x5510},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONNECTINFO",	0x5511},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_IOCTL",	0x5512},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_IOCTL32",	0x5512},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_HUB_PORTINFO",	0x5513},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESET",	0x5514},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLEAR_HALT",	0x5515},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCONNECT",	0x5516},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONNECT",	0x5517},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLAIM_PORT",	0x5518},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RELEASE_PORT",	0x5519},
+	{"linux/uinput.h",	"UI_SET_EVBIT",	0x5564},
+	{"linux/uinput.h",	"UI_SET_KEYBIT",	0x5565},
+	{"linux/uinput.h",	"UI_SET_RELBIT",	0x5566},
+	{"linux/uinput.h",	"UI_SET_ABSBIT",	0x5567},
+	{"linux/uinput.h",	"UI_SET_MSCBIT",	0x5568},
+	{"linux/uinput.h",	"UI_SET_LEDBIT",	0x5569},
+	{"linux/uinput.h",	"UI_SET_SNDBIT",	0x556a},
+	{"linux/uinput.h",	"UI_SET_FFBIT",	0x556b},
+	{"linux/uinput.h",	"UI_SET_PHYS",	0x556c},
+	{"linux/uinput.h",	"UI_SET_SWBIT",	0x556d},
+	{"linux/uinput.h",	"UI_BEGIN_FF_UPLOAD",	0x55c8},
+	{"linux/uinput.h",	"UI_END_FF_UPLOAD",	0x55c9},
+	{"linux/uinput.h",	"UI_BEGIN_FF_ERASE",	0x55ca},
+	{"linux/uinput.h",	"UI_END_FF_ERASE",	0x55cb},
+	{"linux/videodev2.h",	"VIDIOC_QUERYCAP",	0x5600},
+	{"linux/vt.h",	"VT_OPENQRY",	0x5600},
+	{"linux/videodev2.h",	"VIDIOC_RESERVED",	0x5601},
+	{"linux/vt.h",	"VT_GETMODE",	0x5601},
+	{"linux/videodev2.h",	"VIDIOC_ENUM_FMT",	0x5602},
+	{"linux/vt.h",	"VT_SETMODE",	0x5602},
+	{"linux/vt.h",	"VT_GETSTATE",	0x5603},
+	{"linux/videodev2.h",	"VIDIOC_G_FMT",	0x5604},
+	{"linux/vt.h",	"VT_SENDSIG",	0x5604},
+	{"linux/videodev2.h",	"VIDIOC_S_FMT",	0x5605},
+	{"linux/vt.h",	"VT_RELDISP",	0x5605},
+	{"linux/vt.h",	"VT_ACTIVATE",	0x5606},
+	{"linux/vt.h",	"VT_WAITACTIVE",	0x5607},
+	{"linux/videodev2.h",	"VIDIOC_REQBUFS",	0x5608},
+	{"linux/vt.h",	"VT_DISALLOCATE",	0x5608},
+	{"linux/videodev2.h",	"VIDIOC_QUERYBUF",	0x5609},
+	{"linux/vt.h",	"VT_RESIZE",	0x5609},
+	{"linux/videodev2.h",	"VIDIOC_G_FBUF",	0x560a},
+	{"linux/vt.h",	"VT_RESIZEX",	0x560a},
+	{"linux/videodev2.h",	"VIDIOC_S_FBUF",	0x560b},
+	{"linux/vt.h",	"VT_LOCKSWITCH",	0x560b},
+	{"linux/vt.h",	"VT_UNLOCKSWITCH",	0x560c},
+	{"linux/vt.h",	"VT_GETHIFONTMASK",	0x560d},
+	{"linux/videodev2.h",	"VIDIOC_OVERLAY",	0x560e},
+	{"linux/videodev2.h",	"VIDIOC_OVERLAY_OLD",	0x560e},
+	{"linux/vt.h",	"VT_WAITEVENT",	0x560e},
+	{"linux/videodev2.h",	"VIDIOC_QBUF",	0x560f},
+	{"linux/vt.h",	"VT_SETACTIVATE",	0x560f},
+	{"linux/videodev2.h",	"VIDIOC_DQBUF",	0x5611},
+	{"linux/videodev2.h",	"VIDIOC_STREAMON",	0x5612},
+	{"linux/videodev2.h",	"VIDIOC_STREAMOFF",	0x5613},
+	{"linux/videodev2.h",	"VIDIOC_G_PARM",	0x5615},
+	{"linux/videodev2.h",	"VIDIOC_S_PARM",	0x5616},
+	{"linux/videodev2.h",	"VIDIOC_S_PARM_OLD",	0x5616},
+	{"linux/videodev2.h",	"VIDIOC_G_STD",	0x5617},
+	{"linux/videodev2.h",	"VIDIOC_S_STD",	0x5618},
+	{"linux/videodev2.h",	"VIDIOC_ENUMSTD",	0x5619},
+	{"linux/videodev2.h",	"VIDIOC_ENUMINPUT",	0x561a},
+	{"linux/videodev2.h",	"VIDIOC_G_CTRL",	0x561b},
+	{"linux/videodev2.h",	"VIDIOC_S_CTRL",	0x561c},
+	{"linux/videodev2.h",	"VIDIOC_S_CTRL_OLD",	0x561c},
+	{"linux/videodev2.h",	"VIDIOC_G_TUNER",	0x561d},
+	{"linux/videodev2.h",	"VIDIOC_S_TUNER",	0x561e},
+	{"linux/videodev2.h",	"VIDIOC_G_AUDIO",	0x5621},
+	{"linux/videodev2.h",	"VIDIOC_G_AUDIO_OLD",	0x5621},
+	{"linux/videodev2.h",	"VIDIOC_S_AUDIO",	0x5622},
+	{"linux/videodev2.h",	"VIDIOC_QUERYCTRL",	0x5624},
+	{"linux/videodev2.h",	"VIDIOC_QUERYMENU",	0x5625},
+	{"linux/videodev2.h",	"VIDIOC_G_INPUT",	0x5626},
+	{"linux/videodev2.h",	"VIDIOC_S_INPUT",	0x5627},
+	{"linux/videodev2.h",	"VIDIOC_G_OUTPUT",	0x562e},
+	{"linux/videodev2.h",	"VIDIOC_S_OUTPUT",	0x562f},
+	{"linux/videodev2.h",	"VIDIOC_ENUMOUTPUT",	0x5630},
+	{"linux/videodev2.h",	"VIDIOC_G_AUDOUT",	0x5631},
+	{"linux/videodev2.h",	"VIDIOC_G_AUDOUT_OLD",	0x5631},
+	{"linux/videodev2.h",	"VIDIOC_S_AUDOUT",	0x5632},
+	{"linux/videodev2.h",	"VIDIOC_G_MODULATOR",	0x5636},
+	{"linux/videodev2.h",	"VIDIOC_S_MODULATOR",	0x5637},
+	{"linux/videodev2.h",	"VIDIOC_G_FREQUENCY",	0x5638},
+	{"linux/videodev2.h",	"VIDIOC_S_FREQUENCY",	0x5639},
+	{"linux/videodev2.h",	"VIDIOC_CROPCAP",	0x563a},
+	{"linux/videodev2.h",	"VIDIOC_CROPCAP_OLD",	0x563a},
+	{"linux/videodev2.h",	"VIDIOC_G_CROP",	0x563b},
+	{"linux/videodev2.h",	"VIDIOC_S_CROP",	0x563c},
+	{"linux/videodev2.h",	"VIDIOC_G_JPEGCOMP",	0x563d},
+	{"linux/videodev2.h",	"VIDIOC_S_JPEGCOMP",	0x563e},
+	{"linux/videodev2.h",	"VIDIOC_QUERYSTD",	0x563f},
+	{"linux/videodev2.h",	"VIDIOC_TRY_FMT",	0x5640},
+	{"linux/videodev2.h",	"VIDIOC_ENUMAUDIO",	0x5641},
+	{"linux/videodev2.h",	"VIDIOC_ENUMAUDOUT",	0x5642},
+	{"linux/videodev2.h",	"VIDIOC_G_PRIORITY",	0x5643},
+	{"linux/videodev2.h",	"VIDIOC_S_PRIORITY",	0x5644},
+	{"linux/videodev2.h",	"VIDIOC_G_SLICED_VBI_CAP",	0x5645},
+	{"linux/videodev2.h",	"VIDIOC_LOG_STATUS",	0x5646},
+	{"linux/videodev2.h",	"VIDIOC_G_EXT_CTRLS",	0x5647},
+	{"linux/videodev2.h",	"VIDIOC_S_EXT_CTRLS",	0x5648},
+	{"linux/videodev2.h",	"VIDIOC_TRY_EXT_CTRLS",	0x5649},
+	{"linux/videodev2.h",	"VIDIOC_ENUM_FRAMESIZES",	0x564a},
+	{"linux/videodev2.h",	"VIDIOC_ENUM_FRAMEINTERVALS",	0x564b},
+	{"linux/videodev2.h",	"VIDIOC_G_ENC_INDEX",	0x564c},
+	{"linux/videodev2.h",	"VIDIOC_ENCODER_CMD",	0x564d},
+	{"linux/videodev2.h",	"VIDIOC_TRY_ENCODER_CMD",	0x564e},
+	{"linux/videodev2.h",	"VIDIOC_DBG_S_REGISTER",	0x564f},
+	{"linux/videodev2.h",	"VIDIOC_DBG_G_REGISTER",	0x5650},
+	{"linux/videodev2.h",	"VIDIOC_DBG_G_CHIP_IDENT",	0x5651},
+	{"linux/videodev2.h",	"VIDIOC_S_HW_FREQ_SEEK",	0x5652},
+	{"linux/videodev2.h",	"VIDIOC_ENUM_DV_PRESETS",	0x5653},
+	{"linux/videodev2.h",	"VIDIOC_S_DV_PRESET",	0x5654},
+	{"linux/videodev2.h",	"VIDIOC_G_DV_PRESET",	0x5655},
+	{"linux/videodev2.h",	"VIDIOC_QUERY_DV_PRESET",	0x5656},
+	{"linux/videodev2.h",	"VIDIOC_S_DV_TIMINGS",	0x5657},
+	{"linux/videodev2.h",	"VIDIOC_G_DV_TIMINGS",	0x5658},
+	{"linux/ivtvfb.h",	"IVTVFB_IOC_DMA_FRAME",	0x56c0},
+	{"linux/ivtv.h",	"IVTV_IOC_DMA_FRAME",	0x56c0},
+	{"linux/watchdog.h",	"WDIOC_GETSUPPORT",	0x5700},
+	{"linux/watchdog.h",	"WDIOC_GETSTATUS",	0x5701},
+	{"linux/watchdog.h",	"WDIOC_GETBOOTSTATUS",	0x5702},
+	{"linux/watchdog.h",	"WDIOC_GETTEMP",	0x5703},
+	{"linux/watchdog.h",	"WDIOC_SETOPTIONS",	0x5704},
+	{"linux/watchdog.h",	"WDIOC_KEEPALIVE",	0x5705},
+	{"linux/watchdog.h",	"WDIOC_SETTIMEOUT",	0x5706},
+	{"linux/watchdog.h",	"WDIOC_GETTIMEOUT",	0x5707},
+	{"linux/watchdog.h",	"WDIOC_SETPRETIMEOUT",	0x5708},
+	{"linux/watchdog.h",	"WDIOC_GETPRETIMEOUT",	0x5709},
+	{"linux/watchdog.h",	"WDIOC_GETTIMELEFT",	0x570a},
+	{"linux/pktcdvd.h",	"PACKET_CTRL_CMD",	0x5801},
+	{"linux/fs.h",	"FIFREEZE",	0x5877},
+	{"linux/fs.h",	"FITHAW",	0x5878},
+	{"linux/sonet.h",	"SONET_GETSTAT",	0x6110},
+	{"linux/sonet.h",	"SONET_GETSTATZ",	0x6111},
+	{"linux/sonet.h",	"SONET_SETDIAG",	0x6112},
+	{"linux/sonet.h",	"SONET_CLRDIAG",	0x6113},
+	{"linux/sonet.h",	"SONET_GETDIAG",	0x6114},
+	{"linux/sonet.h",	"SONET_SETFRAMING",	0x6115},
+	{"linux/sonet.h",	"SONET_GETFRAMING",	0x6116},
+	{"linux/sonet.h",	"SONET_GETFRSENSE",	0x6117},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTAT",	0x6132},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTATZ",	0x6133},
+	{"linux/atmdev.h",	"ATM_GETSTAT",	0x6150},
+	{"linux/atmdev.h",	"ATM_GETSTATZ",	0x6151},
+	{"linux/atmdev.h",	"ATM_GETLOOP",	0x6152},
+	{"linux/atmdev.h",	"ATM_SETLOOP",	0x6153},
+	{"linux/atmdev.h",	"ATM_QUERYLOOP",	0x6154},
+	{"linux/atm_eni.h",	"ENI_MEMDUMP",	0x6160},
+	{"linux/atm_he.h",	"HE_GET_REG",	0x6160},
+	{"linux/atm_nicstar.h",	"NS_GETPSTAT",	0x6161},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOL",	0x6161},
+	{"linux/atm_nicstar.h",	"NS_SETBUFLEV",	0x6162},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOLZ",	0x6162},
+	{"linux/atm_nicstar.h",	"NS_ADJBUFLEV",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_SETPOOL",	0x6163},
+	{"linux/atm_eni.h",	"ENI_SETMULT",	0x6167},
+	{"linux/atm_tcp.h",	"SIOCSIFATMTCP",	0x6180},
+	{"linux/atmdev.h",	"ATM_GETLINKRATE",	0x6181},
+	{"linux/atmdev.h",	"ATM_GETNAMES",	0x6183},
+	{"linux/atmdev.h",	"ATM_GETTYPE",	0x6184},
+	{"linux/atmdev.h",	"ATM_GETESI",	0x6185},
+	{"linux/atmdev.h",	"ATM_GETADDR",	0x6186},
+	{"linux/atmdev.h",	"ATM_RSTADDR",	0x6187},
+	{"linux/atmdev.h",	"ATM_ADDADDR",	0x6188},
+	{"linux/atmdev.h",	"ATM_DELADDR",	0x6189},
+	{"linux/atmdev.h",	"ATM_GETCIRANGE",	0x618a},
+	{"linux/atmdev.h",	"ATM_SETCIRANGE",	0x618b},
+	{"linux/atmdev.h",	"ATM_SETESI",	0x618c},
+	{"linux/atmdev.h",	"ATM_SETESIF",	0x618d},
+	{"linux/atm_tcp.h",	"ATMTCP_CREATE",	0x618e},
+	{"linux/atmdev.h",	"ATM_ADDLECSADDR",	0x618e},
+	{"linux/atm_tcp.h",	"ATMTCP_REMOVE",	0x618f},
+	{"linux/atmdev.h",	"ATM_DELLECSADDR",	0x618f},
+	{"linux/atmdev.h",	"ATM_GETLECSADDR",	0x6190},
+	{"linux/atmbr2684.h",	"BR2684_SETFILT",	0x6190},
+	{"linux/atmlec.h",	"ATMLEC_CTRL",	0x61d0},
+	{"linux/atmlec.h",	"ATMLEC_DATA",	0x61d1},
+	{"linux/atmlec.h",	"ATMLEC_MCAST",	0x61d2},
+	{"linux/atmmpc.h",	"ATMMPC_CTRL",	0x61d8},
+	{"linux/atmmpc.h",	"ATMMPC_DATA",	0x61d9},
+	{"linux/atmclip.h",	"SIOCMKCLIP",	0x61e0},
+	{"linux/atmarp.h",	"ATMARPD_CTRL",	0x61e1},
+	{"linux/atmarp.h",	"ATMARP_MKIP",	0x61e2},
+	{"linux/atmarp.h",	"ATMARP_SETENTRY",	0x61e3},
+	{"linux/atmarp.h",	"ATMARP_ENCAP",	0x61e5},
+	{"linux/atmsvc.h",	"ATMSIGD_CTRL",	0x61f0},
+	{"linux/atmdev.h",	"ATM_SETSC",	0x61f1},
+	{"linux/atmdev.h",	"ATM_SETBACKEND",	0x61f2},
+	{"linux/atmdev.h",	"ATM_NEWBACKENDIF",	0x61f3},
+	{"linux/atmdev.h",	"ATM_ADDPARTY",	0x61f4},
+	{"linux/atmdev.h",	"COMPAT_ATM_ADDPARTY",	0x61f4},
+	{"linux/atmdev.h",	"ATM_DROPPARTY",	0x61f5},
+	{"linux/cm4000_cs.h",	"CM_IOCGSTATUS",	0x6300},
+	{"linux/chio.h",	"CHIOMOVE",	0x6301},
+	{"linux/cm4000_cs.h",	"CM_IOCGATR",	0x6301},
+	{"linux/chio.h",	"CHIOEXCHANGE",	0x6302},
+	{"linux/cm4000_cs.h",	"CM_IOCSPTS",	0x6302},
+	{"linux/chio.h",	"CHIOPOSITION",	0x6303},
+	{"linux/cm4000_cs.h",	"CM_IOCSRDR",	0x6303},
+	{"linux/chio.h",	"CHIOGPICKER",	0x6304},
+	{"linux/cm4000_cs.h",	"CM_IOCARDOFF",	0x6304},
+	{"linux/chio.h",	"CHIOSPICKER",	0x6305},
+	{"linux/chio.h",	"CHIOGPARAMS",	0x6306},
+	{"linux/chio.h",	"CHIOGSTATUS",	0x6308},
+	{"linux/coda.h",	"CIOC_KERNEL_VERSION",	0x630a},
+	{"linux/chio.h",	"CHIOGELEM",	0x6310},
+	{"linux/chio.h",	"CHIOINITELEM",	0x6311},
+	{"linux/chio.h",	"CHIOSVOLTAG",	0x6312},
+	{"linux/chio.h",	"CHIOGVPARAMS",	0x6313},
+	{"linux/comstats.h",	"COM_GETPORTSTATS",	0x631e},
+	{"linux/comstats.h",	"COM_CLRPORTSTATS",	0x631f},
+	{"linux/comstats.h",	"COM_GETBRDSTATS",	0x6320},
+	{"linux/comstats.h",	"COM_READPORT",	0x6328},
+	{"linux/comstats.h",	"COM_READBOARD",	0x6329},
+	{"linux/comstats.h",	"COM_READPANEL",	0x632a},
+	{"asm/msr.h",	"X86_IOC_RDMSR_REGS",	0x63a0},
+	{"asm/msr.h",	"X86_IOC_WRMSR_REGS",	0x63a1},
+	{"linux/cm4000_cs.h",	"CM_IOSDBGLVL",	0x63fa},
+	{"linux/fs.h",	"FS_IOC32_GETFLAGS",	0x6601},
+	{"linux/fs.h",	"FS_IOC_GETFLAGS",	0x6601},
+	{"linux/fs.h",	"FS_IOC32_SETFLAGS",	0x6602},
+	{"linux/fs.h",	"FS_IOC_SETFLAGS",	0x6602},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETRSVSZ",	0x6605},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETRSVSZ",	0x6606},
+	{"linux/fs.h",	"FS_IOC_FIEMAP",	0x660b},
+	{"linux/hpet.h",	"HPET_IE_ON",	0x6801},
+	{"linux/hpet.h",	"HPET_IE_OFF",	0x6802},
+	{"linux/hpet.h",	"HPET_INFO",	0x6803},
+	{"linux/hpet.h",	"HPET_EPI",	0x6804},
+	{"linux/hpet.h",	"HPET_DPI",	0x6805},
+	{"linux/hpet.h",	"HPET_IRQFREQ",	0x6806},
+	{"linux/i2o-dev.h",	"I2OGETIOPS",	0x6900},
+	{"linux/i2o-dev.h",	"I2OHRTGET",	0x6901},
+	{"linux/i2o-dev.h",	"I2OLCTGET",	0x6902},
+	{"linux/i2o-dev.h",	"I2OPARMSET",	0x6903},
+	{"linux/i2o-dev.h",	"I2OPARMGET",	0x6904},
+	{"linux/i2o-dev.h",	"I2OSWDL",	0x6905},
+	{"linux/i2o-dev.h",	"I2OSWUL",	0x6906},
+	{"linux/i2o-dev.h",	"I2OSWDEL",	0x6907},
+	{"linux/i2o-dev.h",	"I2OVALIDATE",	0x6908},
+	{"linux/i2o-dev.h",	"I2OHTML",	0x6909},
+	{"linux/i2o-dev.h",	"I2OEVTREG",	0x690a},
+	{"linux/i2o-dev.h",	"I2OEVTGET",	0x690b},
+	{"linux/ipmi.h",	"IPMICTL_RECEIVE_MSG_TRUNC",	0x690b},
+	{"linux/i2o-dev.h",	"I2OPASSTHRU",	0x690c},
+	{"linux/i2o-dev.h",	"I2OPASSTHRU32",	0x690c},
+	{"linux/ipmi.h",	"IPMICTL_RECEIVE_MSG",	0x690c},
+	{"linux/ipmi.h",	"IPMICTL_SEND_COMMAND",	0x690d},
+	{"linux/ipmi.h",	"IPMICTL_REGISTER_FOR_CMD",	0x690e},
+	{"linux/ipmi.h",	"IPMICTL_UNREGISTER_FOR_CMD",	0x690f},
+	{"linux/ipmi.h",	"IPMICTL_SET_GETS_EVENTS_CMD",	0x6910},
+	{"linux/ipmi.h",	"IPMICTL_SET_MY_ADDRESS_CMD",	0x6911},
+	{"linux/ipmi.h",	"IPMICTL_GET_MY_ADDRESS_CMD",	0x6912},
+	{"linux/ipmi.h",	"IPMICTL_SET_MY_LUN_CMD",	0x6913},
+	{"linux/ipmi.h",	"IPMICTL_GET_MY_LUN_CMD",	0x6914},
+	{"linux/ipmi.h",	"IPMICTL_SEND_COMMAND_SETTIME",	0x6915},
+	{"linux/ipmi.h",	"IPMICTL_SET_TIMING_PARMS_CMD",	0x6916},
+	{"linux/ipmi.h",	"IPMICTL_GET_TIMING_PARMS_CMD",	0x6917},
+	{"linux/ipmi.h",	"IPMICTL_REGISTER_FOR_CMD_CHANS",	0x691c},
+	{"linux/ipmi.h",	"IPMICTL_UNREGISTER_FOR_CMD_CHANS",	0x691d},
+	{"linux/ipmi.h",	"IPMICTL_GET_MAINTENANCE_MODE_CMD",	0x691e},
+	{"linux/ipmi.h",	"IPMICTL_SET_MAINTENANCE_MODE_CMD",	0x691f},
+	{"linux/i8k.h",	"I8K_BIOS_VERSION",	0x6980},
+	{"linux/i8k.h",	"I8K_MACHINE_ID",	0x6981},
+	{"linux/i8k.h",	"I8K_POWER_STATUS",	0x6982},
+	{"linux/i8k.h",	"I8K_FN_STATUS",	0x6983},
+	{"linux/i8k.h",	"I8K_GET_TEMP",	0x6984},
+	{"linux/i8k.h",	"I8K_GET_SPEED",	0x6985},
+	{"linux/i8k.h",	"I8K_GET_FAN",	0x6986},
+	{"linux/i8k.h",	"I8K_SET_FAN",	0x6987},
+	{"linux/joystick.h",	"JSIOCGVERSION",	0x6a01},
+	{"linux/joystick.h",	"JSIOCGAXES",	0x6a11},
+	{"linux/joystick.h",	"JSIOCGBUTTONS",	0x6a12},
+	{"linux/joystick.h",	"JSIOCSCORR",	0x6a21},
+	{"linux/joystick.h",	"JSIOCGCORR",	0x6a22},
+	{"linux/joystick.h",	"JSIOCSAXMAP",	0x6a31},
+	{"linux/joystick.h",	"JSIOCGAXMAP",	0x6a32},
+	{"linux/joystick.h",	"JSIOCSBTNMAP",	0x6a33},
+	{"linux/joystick.h",	"JSIOCGBTNMAP",	0x6a34},
+	{"linux/udf_fs_i.h",	"UDF_GETEASIZE",	0x6c40},
+	{"linux/udf_fs_i.h",	"UDF_GETEABLOCK",	0x6c41},
+	{"linux/udf_fs_i.h",	"UDF_GETVOLIDENT",	0x6c42},
+	{"linux/udf_fs_i.h",	"UDF_RELOCATE_BLOCKS",	0x6c43},
+	{"linux/synclink.h",	"MGSL_IOCSPARAMS",	0x6d00},
+	{"linux/mmtimer.h",	"MMTIMER_GETOFFSET",	0x6d00},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_PRETIME",	0x6d00},
+	{"linux/synclink.h",	"MGSL_IOCGPARAMS",	0x6d01},
+	{"linux/mmtimer.h",	"MMTIMER_GETRES",	0x6d01},
+	{"linux/mtio.h",	"MTIOCTOP",	0x6d01},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUMODE",	0x6d01},
+	{"linux/synclink.h",	"MGSL_IOCSTXIDLE",	0x6d02},
+	{"linux/mmtimer.h",	"MMTIMER_GETFREQ",	0x6d02},
+	{"linux/mtio.h",	"MTIOCGET",	0x6d02},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUCMD",	0x6d02},
+	{"linux/synclink.h",	"MGSL_IOCGTXIDLE",	0x6d03},
+	{"linux/mtio.h",	"MTIOCPOS",	0x6d03},
+	{"linux/synclink.h",	"MGSL_IOCTXENABLE",	0x6d04},
+	{"linux/mmtimer.h",	"MMTIMER_GETBITS",	0x6d04},
+	{"linux/synclink.h",	"MGSL_IOCRXENABLE",	0x6d05},
+	{"linux/synclink.h",	"MGSL_IOCTXABORT",	0x6d06},
+	{"linux/mmtimer.h",	"MMTIMER_MMAPAVAIL",	0x6d06},
+	{"linux/synclink.h",	"MGSL_IOCGSTATS",	0x6d07},
+	{"linux/synclink.h",	"MGSL_IOCWAITEVENT",	0x6d08},
+	{"linux/synclink.h",	"MGSL_IOCLOOPTXDONE",	0x6d09},
+	{"linux/mmtimer.h",	"MMTIMER_GETCOUNTER",	0x6d09},
+	{"linux/synclink.h",	"MGSL_IOCSIF",	0x6d0a},
+	{"linux/synclink.h",	"MGSL_IOCGIF",	0x6d0b},
+	{"linux/synclink.h",	"MGSL_IOCCLRMODCOUNT",	0x6d0f},
+	{"linux/synclink.h",	"MGSL_IOCSGPIO",	0x6d10},
+	{"linux/synclink.h",	"MGSL_IOCGGPIO",	0x6d11},
+	{"linux/synclink.h",	"MGSL_IOCWAITGPIO",	0x6d12},
+	{"linux/ncp_fs.h",	"NCP_IOC_NCPREQUEST",	0x6e01},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID2",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_CONN_LOGGED_IN",	0x6e03},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO_V2",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_INIT",	0x6e05},
+	{"linux/ncp_fs.h",	"NCP_IOC_SET_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_LOCKUNLOCK",	0x6e07},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETDENTRYTTL",	0x6e0c},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETDENTRYTTL",	0x6e0c},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_GET_AVAILABLE_OUTPUTS",	0x6ef9},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_GET_ALL_OUTPUTS",	0x6efb},
+	{"linux/phantom.h",	"PHN_GET_REG",	0x7000},
+	{"linux/phantom.h",	"PHN_SET_REG",	0x7001},
+	{"linux/rtc.h",	"RTC_AIE_ON",	0x7001},
+	{"linux/phantom.h",	"PHN_GET_REGS",	0x7002},
+	{"linux/rtc.h",	"RTC_AIE_OFF",	0x7002},
+	{"linux/phantom.h",	"PHN_SET_REGS",	0x7003},
+	{"linux/rtc.h",	"RTC_UIE_ON",	0x7003},
+	{"linux/phantom.h",	"PHN_NOT_OH",	0x7004},
+	{"linux/rtc.h",	"RTC_UIE_OFF",	0x7004},
+	{"linux/phantom.h",	"PHN_GETREG",	0x7005},
+	{"linux/rtc.h",	"RTC_PIE_ON",	0x7005},
+	{"linux/phantom.h",	"PHN_SETREG",	0x7006},
+	{"linux/rtc.h",	"RTC_PIE_OFF",	0x7006},
+	{"linux/phantom.h",	"PHN_GETREGS",	0x7007},
+	{"linux/rtc.h",	"RTC_ALM_SET",	0x7007},
+	{"linux/phantom.h",	"PHN_SETREGS",	0x7008},
+	{"linux/rtc.h",	"RTC_ALM_READ",	0x7008},
+	{"linux/rtc.h",	"RTC_RD_TIME",	0x7009},
+	{"linux/rtc.h",	"RTC_SET_TIME",	0x700a},
+	{"linux/rtc.h",	"RTC_IRQP_READ",	0x700b},
+	{"linux/rtc.h",	"RTC_IRQP_SET",	0x700c},
+	{"linux/rtc.h",	"RTC_EPOCH_READ",	0x700d},
+	{"linux/rtc.h",	"RTC_EPOCH_SET",	0x700e},
+	{"linux/rtc.h",	"RTC_WIE_ON",	0x700f},
+	{"linux/rtc.h",	"RTC_WKALM_SET",	0x700f},
+	{"linux/rtc.h",	"RTC_WIE_OFF",	0x7010},
+	{"linux/rtc.h",	"RTC_WKALM_RD",	0x7010},
+	{"linux/rtc.h",	"RTC_PLL_GET",	0x7011},
+	{"linux/rtc.h",	"RTC_PLL_SET",	0x7012},
+	{"linux/nvram.h",	"NVRAM_INIT",	0x7040},
+	{"linux/nvram.h",	"NVRAM_SETCKS",	0x7041},
+	{"linux/ppdev.h",	"PPSETMODE",	0x7080},
+	{"linux/ppdev.h",	"PPRSTATUS",	0x7081},
+	{"linux/ppdev.h",	"PPRCONTROL",	0x7083},
+	{"linux/ppdev.h",	"PPWCONTROL",	0x7084},
+	{"linux/ppdev.h",	"PPRDATA",	0x7085},
+	{"linux/ppdev.h",	"PPWDATA",	0x7086},
+	{"linux/ppdev.h",	"PPCLAIM",	0x708b},
+	{"linux/ppdev.h",	"PPRELEASE",	0x708c},
+	{"linux/ppdev.h",	"PPYIELD",	0x708d},
+	{"linux/ppdev.h",	"PPFCONTROL",	0x708e},
+	{"linux/ppdev.h",	"PPEXCL",	0x708f},
+	{"linux/ppdev.h",	"PPDATADIR",	0x7090},
+	{"linux/ppdev.h",	"PPNEGOT",	0x7091},
+	{"linux/ppdev.h",	"PPWCTLONIRQ",	0x7092},
+	{"linux/ppdev.h",	"PPCLRIRQ",	0x7093},
+	{"linux/ppdev.h",	"PPSETPHASE",	0x7094},
+	{"linux/ppdev.h",	"PPGETTIME",	0x7095},
+	{"linux/ppdev.h",	"PPSETTIME",	0x7096},
+	{"linux/ppdev.h",	"PPGETMODES",	0x7097},
+	{"linux/ppdev.h",	"PPGETMODE",	0x7098},
+	{"linux/ppdev.h",	"PPGETPHASE",	0x7099},
+	{"linux/ppdev.h",	"PPGETFLAGS",	0x709a},
+	{"linux/ppdev.h",	"PPSETFLAGS",	0x709b},
+	{"linux/pps.h",	"PPS_GETPARAMS",	0x70a1},
+	{"linux/pps.h",	"PPS_SETPARAMS",	0x70a2},
+	{"linux/pps.h",	"PPS_GETCAP",	0x70a3},
+	{"linux/pps.h",	"PPS_FETCH",	0x70a4},
+	{"linux/serio.h",	"SPIOCSTYPE",	0x7101},
+	{"linux/videotext.h",	"VTXIOCGETINFO_OLD",	0x7101},
+	{"linux/videotext.h",	"VTXIOCCLRPAGE_OLD",	0x7102},
+	{"linux/videotext.h",	"VTXIOCCLRFOUND_OLD",	0x7103},
+	{"linux/videotext.h",	"VTXIOCPAGEREQ_OLD",	0x7104},
+	{"linux/videotext.h",	"VTXIOCGETSTAT_OLD",	0x7105},
+	{"linux/videotext.h",	"VTXIOCGETPAGE_OLD",	0x7106},
+	{"linux/videotext.h",	"VTXIOCSTOPDAU_OLD",	0x7107},
+	{"linux/videotext.h",	"VTXIOCPUTPAGE_OLD",	0x7108},
+	{"linux/videotext.h",	"VTXIOCSETDISP_OLD",	0x7109},
+	{"linux/videotext.h",	"VTXIOCPUTSTAT_OLD",	0x710a},
+	{"linux/videotext.h",	"VTXIOCCLRCACHE_OLD",	0x710b},
+	{"linux/videotext.h",	"VTXIOCSETVIRT_OLD",	0x710c},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES",	0x7180},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_LIST",	0x7181},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_CHECK",	0x7182},
+	{"linux/telephony.h",	"PHONE_RING",	0x7183},
+	{"linux/telephony.h",	"PHONE_HOOKSTATE",	0x7184},
+	{"linux/telephony.h",	"PHONE_MAXRINGS",	0x7185},
+	{"linux/telephony.h",	"PHONE_RING_CADENCE",	0x7186},
+	{"linux/telephony.h",	"OLD_PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_STOP",	0x7188},
+	{"linux/telephony.h",	"PHONE_REC_CODEC",	0x7189},
+	{"linux/telephony.h",	"PHONE_REC_START",	0x718a},
+	{"linux/telephony.h",	"PHONE_REC_STOP",	0x718b},
+	{"linux/telephony.h",	"PHONE_REC_DEPTH",	0x718c},
+	{"linux/telephony.h",	"PHONE_FRAME",	0x718d},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME",	0x718e},
+	{"linux/telephony.h",	"PHONE_REC_LEVEL",	0x718f},
+	{"linux/telephony.h",	"PHONE_PLAY_CODEC",	0x7190},
+	{"linux/telephony.h",	"PHONE_PLAY_START",	0x7191},
+	{"linux/telephony.h",	"PHONE_PLAY_STOP",	0x7192},
+	{"linux/telephony.h",	"PHONE_PLAY_DEPTH",	0x7193},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME",	0x7194},
+	{"linux/telephony.h",	"PHONE_PLAY_LEVEL",	0x7195},
+	{"linux/telephony.h",	"PHONE_DTMF_READY",	0x7196},
+	{"linux/telephony.h",	"PHONE_GET_DTMF",	0x7197},
+	{"linux/telephony.h",	"PHONE_GET_DTMF_ASCII",	0x7198},
+	{"linux/telephony.h",	"PHONE_DTMF_OOB",	0x7199},
+	{"linux/telephony.h",	"PHONE_EXCEPTION",	0x719a},
+	{"linux/telephony.h",	"PHONE_PLAY_TONE",	0x719b},
+	{"linux/telephony.h",	"PHONE_SET_TONE_ON_TIME",	0x719c},
+	{"linux/telephony.h",	"PHONE_SET_TONE_OFF_TIME",	0x719d},
+	{"linux/telephony.h",	"PHONE_GET_TONE_ON_TIME",	0x719e},
+	{"linux/telephony.h",	"PHONE_GET_TONE_OFF_TIME",	0x719f},
+	{"linux/telephony.h",	"PHONE_GET_TONE_STATE",	0x71a0},
+	{"linux/telephony.h",	"PHONE_BUSY",	0x71a1},
+	{"linux/telephony.h",	"PHONE_RINGBACK",	0x71a2},
+	{"linux/telephony.h",	"PHONE_DIALTONE",	0x71a3},
+	{"linux/telephony.h",	"PHONE_CPT_STOP",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_SET_STATE",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_GET_STATE",	0x71a5},
+	{"linux/telephony.h",	"PHONE_WINK_DURATION",	0x71a6},
+	{"linux/telephony.h",	"PHONE_QUERY_CODEC",	0x71a7},
+	{"linux/telephony.h",	"PHONE_PSTN_LINETEST",	0x71a8},
+	{"linux/telephony.h",	"PHONE_VAD",	0x71a9},
+	{"linux/telephony.h",	"PHONE_WINK",	0x71aa},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_RESET",	0x71c0},
+	{"linux/ixjuser.h",	"IXJCTL_CARDTYPE",	0x71c1},
+	{"linux/ixjuser.h",	"IXJCTL_SERIAL",	0x71c2},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_TYPE",	0x71c3},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_VERSION",	0x71c4},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_IDLE",	0x71c5},
+	{"linux/ixjuser.h",	"IXJCTL_TESTRAM",	0x71c6},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER",	0x71c7},
+	{"linux/ixjuser.h",	"IXJCTL_GET_FILTER_HIST",	0x71c8},
+	{"linux/ixjuser.h",	"IXJCTL_INIT_TONE",	0x71c9},
+	{"linux/ixjuser.h",	"IXJCTL_TONE_CADENCE",	0x71ca},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_START",	0x71cb},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_STOP",	0x71cc},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_GET_LEVEL",	0x71cd},
+	{"linux/ixjuser.h",	"IXJCTL_SET_LED",	0x71ce},
+	{"linux/ixjuser.h",	"IXJCTL_MIXER",	0x71cf},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_COEFF_SET",	0x71d0},
+	{"linux/ixjuser.h",	"IXJCTL_PORT",	0x71d1},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_AGAIN",	0x71d2},
+	{"linux/ixjuser.h",	"IXJCTL_PSTN_LINETEST",	0x71d3},
+	{"linux/ixjuser.h",	"IXJCTL_CID",	0x71d4},
+	{"linux/ixjuser.h",	"IXJCTL_POTS_PSTN",	0x71d5},
+	{"linux/ixjuser.h",	"IXJCTL_FILTER_CADENCE",	0x71d6},
+	{"linux/ixjuser.h",	"IXJCTL_PLAY_CID",	0x71d7},
+	{"linux/ixjuser.h",	"IXJCTL_VMWI",	0x71d8},
+	{"linux/ixjuser.h",	"IXJCTL_CIDCW",	0x71d9},
+	{"linux/ixjuser.h",	"IXJCTL_VERSION",	0x71da},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME_LINEAR",	0x71db},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME_LINEAR",	0x71dc},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER_RAW",	0x71dd},
+	{"linux/ixjuser.h",	"IXJCTL_HZ",	0x71e0},
+	{"linux/ixjuser.h",	"IXJCTL_RATE",	0x71e1},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_READ",	0x71e2},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_WRITTEN",	0x71e3},
+	{"linux/ixjuser.h",	"IXJCTL_READ_WAIT",	0x71e4},
+	{"linux/ixjuser.h",	"IXJCTL_WRITE_WAIT",	0x71e5},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_READ",	0x71e6},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_CLEAR",	0x71e7},
+	{"linux/ixjuser.h",	"IXJCTL_DTMF_PRESCALE",	0x71e8},
+	{"linux/ixjuser.h",	"IXJCTL_SIGCTL",	0x71e9},
+	{"linux/ixjuser.h",	"IXJCTL_SC_RXG",	0x71ea},
+	{"linux/ixjuser.h",	"IXJCTL_SC_TXG",	0x71eb},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_START",	0x71fd},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_STOP",	0x71fe},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_BOTH",	0x7201},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_SHORT",	0x7202},
+	{"linux/msdos_fs.h",	"FAT_IOCTL_GET_ATTRIBUTES",	0x7210},
+	{"linux/msdos_fs.h",	"FAT_IOCTL_SET_ATTRIBUTES",	0x7211},
+	{"linux/cdk.h",	"STL_BINTR",	0x7314},
+	{"linux/cdk.h",	"STL_BSTART",	0x7315},
+	{"linux/cdk.h",	"STL_BSTOP",	0x7316},
+	{"linux/cdk.h",	"STL_BRESET",	0x7317},
+	{"linux/cdk.h",	"STL_GETPFLAG",	0x7350},
+	{"linux/cdk.h",	"STL_SETPFLAG",	0x7351},
+	{"linux/if_ppp.h",	"PPPIOCGL2TPSTATS",	0x7436},
+	{"linux/if_ppp.h",	"PPPIOCGCHAN",	0x7437},
+	{"linux/if_ppp.h",	"PPPIOCATTCHAN",	0x7438},
+	{"linux/if_ppp.h",	"PPPIOCDISCONN",	0x7439},
+	{"linux/if_ppp.h",	"PPPIOCCONNECT",	0x743a},
+	{"linux/if_ppp.h",	"PPPIOCSMRRU",	0x743b},
+	{"linux/if_ppp.h",	"PPPIOCDETACH",	0x743c},
+	{"linux/if_ppp.h",	"PPPIOCATTACH",	0x743d},
+	{"linux/if_ppp.h",	"PPPIOCNEWUNIT",	0x743e},
+	{"linux/if_ppp.h",	"PPPIOCGIDLE",	0x743f},
+	{"linux/if_ppp.h",	"PPPIOCSDEBUG",	0x7440},
+	{"linux/if_ppp.h",	"PPPIOCGDEBUG",	0x7441},
+	{"linux/if_ppp.h",	"PPPIOCSACTIVE",	0x7446},
+	{"linux/if_ppp.h",	"PPPIOCSPASS",	0x7447},
+	{"linux/if_ppp.h",	"PPPIOCSNPMODE",	0x744b},
+	{"linux/if_ppp.h",	"PPPIOCGNPMODE",	0x744c},
+	{"linux/if_ppp.h",	"PPPIOCSCOMPRESS",	0x744d},
+	{"linux/if_ppp.h",	"PPPIOCXFERUNIT",	0x744e},
+	{"linux/if_ppp.h",	"PPPIOCSXASYNCMAP",	0x744f},
+	{"linux/if_ppp.h",	"PPPIOCGXASYNCMAP",	0x7450},
+	{"linux/if_ppp.h",	"PPPIOCSMAXCID",	0x7451},
+	{"linux/if_ppp.h",	"PPPIOCSMRU",	0x7452},
+	{"linux/if_ppp.h",	"PPPIOCGMRU",	0x7453},
+	{"linux/if_ppp.h",	"PPPIOCSRASYNCMAP",	0x7454},
+	{"linux/if_ppp.h",	"PPPIOCGRASYNCMAP",	0x7455},
+	{"linux/if_ppp.h",	"PPPIOCGUNIT",	0x7456},
+	{"linux/if_ppp.h",	"PPPIOCSASYNCMAP",	0x7457},
+	{"linux/if_ppp.h",	"PPPIOCGASYNCMAP",	0x7458},
+	{"linux/if_ppp.h",	"PPPIOCSFLAGS",	0x7459},
+	{"linux/if_ppp.h",	"PPPIOCGFLAGS",	0x745a},
+	{"linux/isdn_ppp.h",	"PPPIOCGCALLINFO",	0x7480},
+	{"linux/isdn_ppp.h",	"PPPIOCBUNDLE",	0x7481},
+	{"linux/isdn_ppp.h",	"PPPIOCGMPFLAGS",	0x7482},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPFLAGS",	0x7483},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMTU",	0x7484},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMRU",	0x7485},
+	{"linux/isdn_ppp.h",	"PPPIOCGCOMPRESSORS",	0x7486},
+	{"linux/isdn_ppp.h",	"PPPIOCSCOMPRESSOR",	0x7487},
+	{"linux/isdn_ppp.h",	"PPPIOCGIFNAME",	0x7488},
+	{"linux/toshiba.h",	"TOSH_SMM",	0x7490},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID",	0x7501},
+	{"linux/smb_fs.h",	"SMB_IOC_NEWCONN",	0x7502},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID32",	0x7503},
+	{"linux/sonypi.h",	"SONYPI_IOCGBRT",	0x7600},
+	{"linux/sonypi.h",	"SONYPI_IOCSBRT",	0x7600},
+	{"linux/fs.h",	"FS_IOC32_GETVERSION",	0x7601},
+	{"linux/fs.h",	"FS_IOC_GETVERSION",	0x7601},
+	{"linux/videodev.h",	"VIDIOCGCAP",	0x7601},
+	{"linux/fs.h",	"FS_IOC32_SETVERSION",	0x7602},
+	{"linux/fs.h",	"FS_IOC_SETVERSION",	0x7602},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT1CAP",	0x7602},
+	{"linux/videodev.h",	"VIDIOCGCHAN",	0x7602},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT1REM",	0x7603},
+	{"linux/videodev.h",	"VIDIOCSCHAN",	0x7603},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT2CAP",	0x7604},
+	{"linux/videodev.h",	"VIDIOCGTUNER",	0x7604},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT2REM",	0x7605},
+	{"linux/videodev.h",	"VIDIOCSTUNER",	0x7605},
+	{"linux/videodev.h",	"VIDIOCGPICT",	0x7606},
+	{"linux/sonypi.h",	"SONYPI_IOCGBATFLAGS",	0x7607},
+	{"linux/videodev.h",	"VIDIOCSPICT",	0x7607},
+	{"linux/sonypi.h",	"SONYPI_IOCGBLUE",	0x7608},
+	{"linux/videodev.h",	"VIDIOCCAPTURE",	0x7608},
+	{"linux/sonypi.h",	"SONYPI_IOCSBLUE",	0x7609},
+	{"linux/videodev.h",	"VIDIOCGWIN",	0x7609},
+	{"linux/sonypi.h",	"SONYPI_IOCGFAN",	0x760a},
+	{"linux/videodev.h",	"VIDIOCSWIN",	0x760a},
+	{"linux/sonypi.h",	"SONYPI_IOCSFAN",	0x760b},
+	{"linux/videodev.h",	"VIDIOCGFBUF",	0x760b},
+	{"linux/sonypi.h",	"SONYPI_IOCGTEMP",	0x760c},
+	{"linux/videodev.h",	"VIDIOCSFBUF",	0x760c},
+	{"linux/videodev.h",	"VIDIOCKEY",	0x760d},
+	{"linux/videodev.h",	"VIDIOCGFREQ",	0x760e},
+	{"linux/videodev.h",	"VIDIOCSFREQ",	0x760f},
+	{"linux/videodev.h",	"VIDIOCGAUDIO",	0x7610},
+	{"linux/videodev.h",	"VIDIOCSAUDIO",	0x7611},
+	{"linux/videodev.h",	"VIDIOCSYNC",	0x7612},
+	{"linux/videodev.h",	"VIDIOCMCAPTURE",	0x7613},
+	{"linux/videodev.h",	"VIDIOCGMBUF",	0x7614},
+	{"linux/videodev.h",	"VIDIOCGUNIT",	0x7615},
+	{"linux/videodev.h",	"VIDIOCGCAPTURE",	0x7616},
+	{"linux/videodev.h",	"VIDIOCSCAPTURE",	0x7617},
+	{"linux/videodev.h",	"VIDIOCSPLAYMODE",	0x7618},
+	{"linux/videodev.h",	"VIDIOCSWRITEMODE",	0x7619},
+	{"linux/videodev.h",	"VIDIOCGPLAYINFO",	0x761a},
+	{"linux/videodev.h",	"VIDIOCSMICROCODE",	0x761b},
+	{"linux/videodev.h",	"VIDIOCGVBIFMT",	0x761c},
+	{"linux/videodev.h",	"VIDIOCSVBIFMT",	0x761d},
+	{"linux/meye.h",	"MEYEIOC_G_PARAMS",	0x76c0},
+	{"linux/meye.h",	"MEYEIOC_S_PARAMS",	0x76c1},
+	{"linux/meye.h",	"MEYEIOC_QBUF_CAPT",	0x76c2},
+	{"linux/meye.h",	"MEYEIOC_SYNC",	0x76c3},
+	{"linux/meye.h",	"MEYEIOC_STILLCAPT",	0x76c4},
+	{"linux/meye.h",	"MEYEIOC_STILLJCAPT",	0x76c5},
+	{"linux/videotext.h",	"VTXIOCGETINFO",	0x8101},
+	{"linux/videotext.h",	"VTXIOCCLRPAGE",	0x8102},
+	{"linux/videotext.h",	"VTXIOCCLRFOUND",	0x8103},
+	{"linux/videotext.h",	"VTXIOCPAGEREQ",	0x8104},
+	{"linux/videotext.h",	"VTXIOCGETSTAT",	0x8105},
+	{"linux/videotext.h",	"VTXIOCGETPAGE",	0x8106},
+	{"linux/videotext.h",	"VTXIOCSTOPDAU",	0x8107},
+	{"linux/videotext.h",	"VTXIOCPUTPAGE",	0x8108},
+	{"linux/videotext.h",	"VTXIOCSETDISP",	0x8109},
+	{"linux/videotext.h",	"VTXIOCPUTSTAT",	0x810a},
+	{"linux/videotext.h",	"VTXIOCCLRCACHE",	0x810b},
+	{"linux/videotext.h",	"VTXIOCSETVIRT",	0x810c},
+	{"asm-generic/sockios.h",	"FIOSETOWN",	0x8901},
+	{"asm-generic/sockios.h",	"SIOCSPGRP",	0x8902},
+	{"asm-generic/sockios.h",	"FIOGETOWN",	0x8903},
+	{"asm-generic/sockios.h",	"SIOCGPGRP",	0x8904},
+	{"asm-generic/sockios.h",	"SIOCATMARK",	0x8905},
+	{"asm-generic/sockios.h",	"SIOCGSTAMP",	0x8906},
+	{"asm-generic/sockios.h",	"SIOCGSTAMPNS",	0x8907},
+	{"linux/sockios.h",	"SIOCADDRT",	0x890b},
+	{"linux/sockios.h",	"SIOCDELRT",	0x890c},
+	{"linux/sockios.h",	"SIOCRTMSG",	0x890d},
+	{"linux/sockios.h",	"SIOCGIFNAME",	0x8910},
+	{"linux/sockios.h",	"SIOCSIFLINK",	0x8911},
+	{"linux/sockios.h",	"SIOCGIFCONF",	0x8912},
+	{"linux/sockios.h",	"SIOCGIFFLAGS",	0x8913},
+	{"linux/sockios.h",	"SIOCSIFFLAGS",	0x8914},
+	{"linux/sockios.h",	"SIOCGIFADDR",	0x8915},
+	{"linux/sockios.h",	"SIOCSIFADDR",	0x8916},
+	{"linux/sockios.h",	"SIOCGIFDSTADDR",	0x8917},
+	{"linux/sockios.h",	"SIOCSIFDSTADDR",	0x8918},
+	{"linux/sockios.h",	"SIOCGIFBRDADDR",	0x8919},
+	{"linux/sockios.h",	"SIOCSIFBRDADDR",	0x891a},
+	{"linux/sockios.h",	"SIOCGIFNETMASK",	0x891b},
+	{"linux/sockios.h",	"SIOCSIFNETMASK",	0x891c},
+	{"linux/sockios.h",	"SIOCGIFMETRIC",	0x891d},
+	{"linux/sockios.h",	"SIOCSIFMETRIC",	0x891e},
+	{"linux/sockios.h",	"SIOCGIFMEM",	0x891f},
+	{"linux/sockios.h",	"SIOCSIFMEM",	0x8920},
+	{"linux/sockios.h",	"SIOCGIFMTU",	0x8921},
+	{"linux/sockios.h",	"SIOCSIFMTU",	0x8922},
+	{"linux/sockios.h",	"SIOCSIFNAME",	0x8923},
+	{"linux/sockios.h",	"SIOCSIFHWADDR",	0x8924},
+	{"linux/sockios.h",	"SIOCGIFENCAP",	0x8925},
+	{"linux/sockios.h",	"SIOCSIFENCAP",	0x8926},
+	{"linux/sockios.h",	"SIOCGIFHWADDR",	0x8927},
+	{"linux/sockios.h",	"SIOCGIFSLAVE",	0x8929},
+	{"linux/sockios.h",	"SIOCSIFSLAVE",	0x8930},
+	{"linux/sockios.h",	"SIOCADDMULTI",	0x8931},
+	{"linux/sockios.h",	"SIOCDELMULTI",	0x8932},
+	{"linux/sockios.h",	"SIOCGIFINDEX",	0x8933},
+	{"linux/sockios.h",	"SIOCSIFPFLAGS",	0x8934},
+	{"linux/sockios.h",	"SIOCGIFPFLAGS",	0x8935},
+	{"linux/sockios.h",	"SIOCDIFADDR",	0x8936},
+	{"linux/sockios.h",	"SIOCSIFHWBROADCAST",	0x8937},
+	{"linux/sockios.h",	"SIOCGIFCOUNT",	0x8938},
+	{"linux/sockios.h",	"SIOCGIFBR",	0x8940},
+	{"linux/sockios.h",	"SIOCSIFBR",	0x8941},
+	{"linux/sockios.h",	"SIOCGIFTXQLEN",	0x8942},
+	{"linux/sockios.h",	"SIOCSIFTXQLEN",	0x8943},
+	{"linux/sockios.h",	"SIOCETHTOOL",	0x8946},
+	{"linux/sockios.h",	"SIOCGMIIPHY",	0x8947},
+	{"linux/sockios.h",	"SIOCGMIIREG",	0x8948},
+	{"linux/sockios.h",	"SIOCSMIIREG",	0x8949},
+	{"linux/sockios.h",	"SIOCWANDEV",	0x894a},
+	{"linux/sockios.h",	"SIOCDARP",	0x8953},
+	{"linux/sockios.h",	"SIOCGARP",	0x8954},
+	{"linux/sockios.h",	"SIOCSARP",	0x8955},
+	{"linux/sockios.h",	"SIOCDRARP",	0x8960},
+	{"linux/sockios.h",	"SIOCGRARP",	0x8961},
+	{"linux/sockios.h",	"SIOCSRARP",	0x8962},
+	{"linux/sockios.h",	"SIOCGIFMAP",	0x8970},
+	{"linux/sockios.h",	"SIOCSIFMAP",	0x8971},
+	{"linux/sockios.h",	"SIOCADDDLCI",	0x8980},
+	{"linux/sockios.h",	"SIOCDELDLCI",	0x8981},
+	{"linux/sockios.h",	"SIOCGIFVLAN",	0x8982},
+	{"linux/sockios.h",	"SIOCSIFVLAN",	0x8983},
+	{"linux/sockios.h",	"SIOCBONDENSLAVE",	0x8990},
+	{"linux/sockios.h",	"SIOCBONDRELEASE",	0x8991},
+	{"linux/sockios.h",	"SIOCBONDSETHWADDR",	0x8992},
+	{"linux/sockios.h",	"SIOCBONDSLAVEINFOQUERY",	0x8993},
+	{"linux/sockios.h",	"SIOCBONDINFOQUERY",	0x8994},
+	{"linux/sockios.h",	"SIOCBONDCHANGEACTIVE",	0x8995},
+	{"linux/sockios.h",	"SIOCBRADDBR",	0x89a0},
+	{"linux/sockios.h",	"SIOCBRDELBR",	0x89a1},
+	{"linux/sockios.h",	"SIOCBRADDIF",	0x89a2},
+	{"linux/sockios.h",	"SIOCBRDELIF",	0x89a3},
+	{"linux/sockios.h",	"SIOCSHWTSTAMP",	0x89b0},
+	{"linux/dn.h",	"OSIOCSNETADDR",	0x89e0},
+	{"linux/sockios.h",	"SIOCPROTOPRIVATE",	0x89e0},
+	{"linux/dn.h",	"SIOCSNETADDR",	0x89e0},
+	{"linux/dn.h",	"OSIOCGNETADDR",	0x89e1},
+	{"linux/dn.h",	"SIOCGNETADDR",	0x89e1},
+	{"linux/sockios.h",	"SIOCDEVPRIVATE",	0x89f0},
+	{"linux/wireless.h",	"SIOCIWFIRST",	0x8b00},
+	{"linux/wireless.h",	"SIOCSIWCOMMIT",	0x8b00},
+	{"linux/wireless.h",	"SIOCGIWNAME",	0x8b01},
+	{"linux/wireless.h",	"SIOCSIWNWID",	0x8b02},
+	{"linux/wireless.h",	"SIOCGIWNWID",	0x8b03},
+	{"linux/wireless.h",	"SIOCSIWFREQ",	0x8b04},
+	{"linux/wireless.h",	"SIOCGIWFREQ",	0x8b05},
+	{"linux/wireless.h",	"SIOCSIWMODE",	0x8b06},
+	{"linux/wireless.h",	"SIOCGIWMODE",	0x8b07},
+	{"linux/wireless.h",	"SIOCSIWSENS",	0x8b08},
+	{"linux/wireless.h",	"SIOCGIWSENS",	0x8b09},
+	{"linux/wireless.h",	"SIOCSIWRANGE",	0x8b0a},
+	{"linux/wireless.h",	"SIOCGIWRANGE",	0x8b0b},
+	{"linux/wireless.h",	"SIOCSIWPRIV",	0x8b0c},
+	{"linux/wireless.h",	"SIOCGIWPRIV",	0x8b0d},
+	{"linux/wireless.h",	"SIOCSIWSTATS",	0x8b0e},
+	{"linux/wireless.h",	"SIOCGIWSTATS",	0x8b0f},
+	{"linux/wireless.h",	"SIOCSIWSPY",	0x8b10},
+	{"linux/wireless.h",	"SIOCGIWSPY",	0x8b11},
+	{"linux/wireless.h",	"SIOCSIWTHRSPY",	0x8b12},
+	{"linux/wireless.h",	"SIOCGIWTHRSPY",	0x8b13},
+	{"linux/wireless.h",	"SIOCSIWAP",	0x8b14},
+	{"linux/wireless.h",	"SIOCGIWAP",	0x8b15},
+	{"linux/wireless.h",	"SIOCSIWMLME",	0x8b16},
+	{"linux/wireless.h",	"SIOCGIWAPLIST",	0x8b17},
+	{"linux/wireless.h",	"SIOCSIWSCAN",	0x8b18},
+	{"linux/wireless.h",	"SIOCGIWSCAN",	0x8b19},
+	{"linux/wireless.h",	"SIOCSIWESSID",	0x8b1a},
+	{"linux/wireless.h",	"SIOCGIWESSID",	0x8b1b},
+	{"linux/wireless.h",	"SIOCSIWNICKN",	0x8b1c},
+	{"linux/wireless.h",	"SIOCGIWNICKN",	0x8b1d},
+	{"linux/wireless.h",	"SIOCSIWRATE",	0x8b20},
+	{"linux/wireless.h",	"SIOCGIWRATE",	0x8b21},
+	{"linux/wireless.h",	"SIOCSIWRTS",	0x8b22},
+	{"linux/wireless.h",	"SIOCGIWRTS",	0x8b23},
+	{"linux/wireless.h",	"SIOCSIWFRAG",	0x8b24},
+	{"linux/wireless.h",	"SIOCGIWFRAG",	0x8b25},
+	{"linux/wireless.h",	"SIOCSIWTXPOW",	0x8b26},
+	{"linux/wireless.h",	"SIOCGIWTXPOW",	0x8b27},
+	{"linux/wireless.h",	"SIOCSIWRETRY",	0x8b28},
+	{"linux/wireless.h",	"SIOCGIWRETRY",	0x8b29},
+	{"linux/wireless.h",	"SIOCSIWENCODE",	0x8b2a},
+	{"linux/wireless.h",	"SIOCGIWENCODE",	0x8b2b},
+	{"linux/wireless.h",	"SIOCSIWPOWER",	0x8b2c},
+	{"linux/wireless.h",	"SIOCGIWPOWER",	0x8b2d},
+	{"linux/wireless.h",	"SIOCSIWGENIE",	0x8b30},
+	{"linux/wireless.h",	"SIOCGIWGENIE",	0x8b31},
+	{"linux/wireless.h",	"SIOCSIWAUTH",	0x8b32},
+	{"linux/wireless.h",	"SIOCGIWAUTH",	0x8b33},
+	{"linux/wireless.h",	"SIOCSIWENCODEEXT",	0x8b34},
+	{"linux/wireless.h",	"SIOCGIWENCODEEXT",	0x8b35},
+	{"linux/wireless.h",	"SIOCSIWPMKSA",	0x8b36},
+	{"linux/wireless.h",	"SIOCIWFIRSTPRIV",	0x8be0},
+	{"linux/wireless.h",	"SIOCIWLASTPRIV",	0x8bff},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_READY",	0x9360},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_FAIL",	0x9361},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_CATATONIC",	0x9362},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_PROTOVER",	0x9363},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_SETTIMEOUT",	0x9364},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_EXPIRE",	0x9365},
+	{"linux/auto_fs4.h",	"AUTOFS_IOC_EXPIRE_MULTI",	0x9366},
+	{"linux/auto_fs4.h",	"AUTOFS_IOC_PROTOSUBVER",	0x9367},
+	{"linux/auto_fs4.h",	"AUTOFS_IOC_ASKUMOUNT",	0x9370},
+	{"linux/nbd.h",	"NBD_SET_SOCK",	0xab00},
+	{"linux/nbd.h",	"NBD_SET_BLKSIZE",	0xab01},
+	{"linux/nbd.h",	"NBD_SET_SIZE",	0xab02},
+	{"linux/nbd.h",	"NBD_DO_IT",	0xab03},
+	{"linux/nbd.h",	"NBD_CLEAR_SOCK",	0xab04},
+	{"linux/nbd.h",	"NBD_CLEAR_QUE",	0xab05},
+	{"linux/nbd.h",	"NBD_PRINT_DEBUG",	0xab06},
+	{"linux/nbd.h",	"NBD_SET_SIZE_BLOCKS",	0xab07},
+	{"linux/nbd.h",	"NBD_DISCONNECT",	0xab08},
+	{"linux/nbd.h",	"NBD_SET_TIMEOUT",	0xab09},
+	{"linux/raw.h",	"RAW_SETBIND",	0xac00},
+	{"linux/raw.h",	"RAW_GETBIND",	0xac01},
+	{"linux/kvm.h",	"KVM_GET_API_VERSION",	0xae00},
+	{"linux/kvm.h",	"KVM_CREATE_VM",	0xae01},
+	{"linux/kvm.h",	"KVM_GET_MSR_INDEX_LIST",	0xae02},
+	{"linux/kvm.h",	"KVM_CHECK_EXTENSION",	0xae03},
+	{"linux/kvm.h",	"KVM_GET_VCPU_MMAP_SIZE",	0xae04},
+	{"linux/kvm.h",	"KVM_GET_SUPPORTED_CPUID",	0xae05},
+	{"linux/kvm.h",	"KVM_S390_ENABLE_SIE",	0xae06},
+	{"linux/kvm.h",	"KVM_SET_MEMORY_REGION",	0xae40},
+	{"linux/kvm.h",	"KVM_CREATE_VCPU",	0xae41},
+	{"linux/kvm.h",	"KVM_GET_DIRTY_LOG",	0xae42},
+	{"linux/kvm.h",	"KVM_SET_MEMORY_ALIAS",	0xae43},
+	{"linux/kvm.h",	"KVM_SET_NR_MMU_PAGES",	0xae44},
+	{"linux/kvm.h",	"KVM_GET_NR_MMU_PAGES",	0xae45},
+	{"linux/kvm.h",	"KVM_SET_USER_MEMORY_REGION",	0xae46},
+	{"linux/kvm.h",	"KVM_SET_TSS_ADDR",	0xae47},
+	{"linux/kvm.h",	"KVM_SET_IDENTITY_MAP_ADDR",	0xae48},
+	{"linux/kvm.h",	"KVM_CREATE_IRQCHIP",	0xae60},
+	{"linux/kvm.h",	"KVM_IRQ_LINE",	0xae61},
+	{"linux/kvm.h",	"KVM_GET_IRQCHIP",	0xae62},
+	{"linux/kvm.h",	"KVM_SET_IRQCHIP",	0xae63},
+	{"linux/kvm.h",	"KVM_CREATE_PIT",	0xae64},
+	{"linux/kvm.h",	"KVM_GET_PIT",	0xae65},
+	{"linux/kvm.h",	"KVM_SET_PIT",	0xae66},
+	{"linux/kvm.h",	"KVM_IRQ_LINE_STATUS",	0xae67},
+	{"linux/kvm.h",	"KVM_ASSIGN_PCI_DEVICE",	0xae69},
+	{"linux/kvm.h",	"KVM_SET_GSI_ROUTING",	0xae6a},
+	{"linux/kvm.h",	"KVM_ASSIGN_DEV_IRQ",	0xae70},
+	{"linux/kvm.h",	"KVM_REINJECT_CONTROL",	0xae71},
+	{"linux/kvm.h",	"KVM_DEASSIGN_PCI_DEVICE",	0xae72},
+	{"linux/kvm.h",	"KVM_ASSIGN_SET_MSIX_NR",	0xae73},
+	{"linux/kvm.h",	"KVM_ASSIGN_SET_MSIX_ENTRY",	0xae74},
+	{"linux/kvm.h",	"KVM_DEASSIGN_DEV_IRQ",	0xae75},
+	{"linux/kvm.h",	"KVM_IRQFD",	0xae76},
+	{"linux/kvm.h",	"KVM_CREATE_PIT2",	0xae77},
+	{"linux/kvm.h",	"KVM_SET_BOOT_CPU_ID",	0xae78},
+	{"linux/kvm.h",	"KVM_IOEVENTFD",	0xae79},
+	{"linux/kvm.h",	"KVM_XEN_HVM_CONFIG",	0xae7a},
+	{"linux/kvm.h",	"KVM_SET_CLOCK",	0xae7b},
+	{"linux/kvm.h",	"KVM_GET_CLOCK",	0xae7c},
+	{"linux/kvm.h",	"KVM_RUN",	0xae80},
+	{"linux/kvm.h",	"KVM_GET_REGS",	0xae81},
+	{"linux/kvm.h",	"KVM_SET_REGS",	0xae82},
+	{"linux/kvm.h",	"KVM_GET_SREGS",	0xae83},
+	{"linux/kvm.h",	"KVM_SET_SREGS",	0xae84},
+	{"linux/kvm.h",	"KVM_TRANSLATE",	0xae85},
+	{"linux/kvm.h",	"KVM_INTERRUPT",	0xae86},
+	{"linux/kvm.h",	"KVM_GET_MSRS",	0xae88},
+	{"linux/kvm.h",	"KVM_SET_MSRS",	0xae89},
+	{"linux/kvm.h",	"KVM_SET_CPUID",	0xae8a},
+	{"linux/kvm.h",	"KVM_SET_SIGNAL_MASK",	0xae8b},
+	{"linux/kvm.h",	"KVM_GET_FPU",	0xae8c},
+	{"linux/kvm.h",	"KVM_SET_FPU",	0xae8d},
+	{"linux/kvm.h",	"KVM_GET_LAPIC",	0xae8e},
+	{"linux/kvm.h",	"KVM_SET_LAPIC",	0xae8f},
+	{"linux/kvm.h",	"KVM_SET_CPUID2",	0xae90},
+	{"linux/kvm.h",	"KVM_GET_CPUID2",	0xae91},
+	{"linux/kvm.h",	"KVM_TPR_ACCESS_REPORTING",	0xae92},
+	{"linux/kvm.h",	"KVM_SET_VAPIC_ADDR",	0xae93},
+	{"linux/kvm.h",	"KVM_S390_INTERRUPT",	0xae94},
+	{"linux/kvm.h",	"KVM_S390_STORE_STATUS",	0xae95},
+	{"linux/kvm.h",	"KVM_S390_SET_INITIAL_PSW",	0xae96},
+	{"linux/kvm.h",	"KVM_S390_INITIAL_RESET",	0xae97},
+	{"linux/kvm.h",	"KVM_GET_MP_STATE",	0xae98},
+	{"linux/kvm.h",	"KVM_SET_MP_STATE",	0xae99},
+	{"linux/kvm.h",	"KVM_IA64_VCPU_GET_STACK",	0xae9a},
+	{"linux/kvm.h",	"KVM_NMI",	0xae9a},
+	{"linux/kvm.h",	"KVM_IA64_VCPU_SET_STACK",	0xae9b},
+	{"linux/kvm.h",	"KVM_SET_GUEST_DEBUG",	0xae9b},
+	{"linux/kvm.h",	"KVM_X86_SETUP_MCE",	0xae9c},
+	{"linux/kvm.h",	"KVM_X86_GET_MCE_CAP_SUPPORTED",	0xae9d},
+	{"linux/kvm.h",	"KVM_X86_SET_MCE",	0xae9e},
+	{"linux/kvm.h",	"KVM_GET_PIT2",	0xae9f},
+	{"linux/kvm.h",	"KVM_GET_VCPU_EVENTS",	0xae9f},
+	{"linux/kvm.h",	"KVM_SET_PIT2",	0xaea0},
+	{"linux/kvm.h",	"KVM_SET_VCPU_EVENTS",	0xaea0},
+	{"linux/if_pppox.h",	"PPPOEIOCSFWD",	0xb100},
+	{"linux/if_pppox.h",	"PPPOEIOCDFWD",	0xb101},
+	{"linux/reiserfs_fs.h",	"REISERFS_IOC_UNPACK",	0xcd01},
+	{"linux/dm-ioctl.h",	"DM_VERSION",	0xfd00},
+	{"linux/dm-ioctl.h",	"DM_REMOVE_ALL",	0xfd01},
+	{"linux/dm-ioctl.h",	"DM_LIST_DEVICES",	0xfd02},
+	{"linux/dm-ioctl.h",	"DM_DEV_CREATE",	0xfd03},
+	{"linux/dm-ioctl.h",	"DM_DEV_REMOVE",	0xfd04},
+	{"linux/dm-ioctl.h",	"DM_DEV_RENAME",	0xfd05},
+	{"linux/dm-ioctl.h",	"DM_DEV_SUSPEND",	0xfd06},
+	{"linux/dm-ioctl.h",	"DM_DEV_STATUS",	0xfd07},
+	{"linux/dm-ioctl.h",	"DM_DEV_WAIT",	0xfd08},
+	{"linux/dm-ioctl.h",	"DM_TABLE_LOAD",	0xfd09},
+	{"linux/dm-ioctl.h",	"DM_TABLE_CLEAR",	0xfd0a},
+	{"linux/dm-ioctl.h",	"DM_TABLE_DEPS",	0xfd0b},
+	{"linux/dm-ioctl.h",	"DM_TABLE_STATUS",	0xfd0c},
+	{"linux/dm-ioctl.h",	"DM_LIST_VERSIONS",	0xfd0d},
+	{"linux/dm-ioctl.h",	"DM_TARGET_MSG",	0xfd0e},
+	{"linux/dm-ioctl.h",	"DM_DEV_SET_GEOMETRY",	0xfd0f},
diff --git a/strace-4.5.20/linux/ioctlent.sh b/strace-4.5.20/linux/ioctlent.sh
new file mode 100755
index 0000000..9eca767
--- /dev/null
+++ b/strace-4.5.20/linux/ioctlent.sh
@@ -0,0 +1,155 @@
+#! /bin/sh
+#
+# Copyright (c) 2001 Wichert Akkerman <wichert@cistron.nl>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+#    derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+#	$Id$
+#
+
+# Validate arg count.
+case $# in
+1)
+	dir="$1"
+	asm=asm
+	;;
+2)
+	dir="$1"
+	asm="$2"
+	;;
+*)
+        echo "usage: $0 include-directory [asm-subdirectory]" >&2
+        exit 1
+	;;
+esac
+
+lookup_ioctls()
+{
+	type="$1"
+	shift
+
+	# Build the list of all ioctls
+	regexp='^[[:space:]]*#[[:space:]]*define[[:space:]]\+[A-Z][A-Z0-9_]*[[:space:]]\+0x'"$type"'..\>'
+	(cd "$dir" && grep "$regexp" "$@" /dev/null 2>/dev/null) |
+		sed -ne "s,$asm/,asm/,g"'
+s/^\(.*\):[[:space:]]*#[[:space:]]*define[[:space:]]*\([A-Z0-9_]*\)[[:space:]]*\(0x'"$type"'..\).*/	{ "\1",	"\2",	\3	},/p' \
+		>> ioctls.h
+}
+
+
+> ioctls.h
+
+lookup_ioctls 22 scsi/sg.h
+lookup_ioctls 46 linux/fb.h
+lookup_ioctls 4B linux/kd.h
+lookup_ioctls 53 linux/cdrom.h scsi/scsi.h scsi/scsi_ioctl.h
+lookup_ioctls 54 $asm/ioctls.h asm-generic/ioctls.h
+lookup_ioctls 56 linux/vt.h
+lookup_ioctls '7[12]' linux/videotext.h
+lookup_ioctls 89 $asm/sockios.h asm-generic/sockios.h linux/sockios.h
+lookup_ioctls 8B linux/wireless.h
+
+if [ -e $dir/Kbuild ]; then
+	# kernel has exported user space headers, so query only them
+	files=$(
+		cd $dir || exit
+		find . -mindepth 2 -name Kbuild | \
+			sed -e 's:^\./::' -e 's:/Kbuild:/*:' | \
+			grep -v '^asm-'
+		echo "$asm/* asm-generic/*"
+	)
+else
+	# older kernel so just assume some headers
+	files="linux/* $asm/* asm-generic/* scsi/* sound/*"
+fi
+
+# Build the list of all ioctls
+# Example output:
+# { "asm/ioctls.h",	"TIOCSWINSZ",	0x5414  },
+# { "asm/mce.h",	"MCE_GETCLEAR_FLAGS",	_IOC(_IOC_NONE,'M',3,0) },
+regexp='^[[:space:]]*#[[:space:]]*define[[:space:]]\+[A-Z][A-Z0-9_]*[[:space:]]\+_S\?\(IO\|IOW\|IOR\|IOWR\)\>'
+(cd $dir && grep $regexp $files 2>/dev/null) | \
+	sed -n \
+	-e "s,$asm/,asm/,g" \
+	-e 's/^\(.*\):[[:space:]]*#[[:space:]]*define[[:space:]]*\([A-Z0-9_]*\)[[:space:]]*_S\?I.*(\([^[,]*\)[[:space:]]*,[[:space:]]*\([^,)]*\).*/	{ "\1",	"\2",	_IOC(_IOC_NONE,\3,\4,0)	},/p' \
+	>> ioctls.h
+
+# Sort and drop dups?
+# sort -u <ioctls.h >ioctls1.h && mv ioctls1.h ioctls.h
+
+
+> ioctldefs.h
+
+# Collect potential ioctl names. ('bases' is a bad name. Sigh)
+# Some use a special base to offset their ioctls on. Extract that as well.
+# Some use 2 defines: _IOC(_IOC_NONE,DM_IOCTL,DM_LIST_DEVICES_CMD,....)
+bases=$(sed -n \
+       -e 's/.*_IOC_NONE.*,[[:space:]]*\([A-Z][A-Z0-9_]\+\)[[:space:]]*,[[:space:]]*\([A-Z][A-Z0-9_]\+\)[[:space:]+,].*/\1\n\2/p' \
+       -e 's/.*_IOC_NONE.*,[[:space:]]*\([A-Z][A-Z0-9_]\+\)[[:space:]+,].*/\1/p' \
+       ioctls.h | sort -u)
+
+for base in $bases; do
+	echo "Looking for $base"
+	regexp="^[[:space:]]*#[[:space:]]*define[[:space:]]\+$base"
+	line=$( (cd $dir && grep -h $regexp 2>/dev/null $files) | grep -v '\<_IO')
+	if [ x"$line" != x ]; then
+		echo "$base is a #define" # "($line)"
+		echo "$line" >> ioctldefs.h
+	fi
+
+	if ! grep "\<$base\>" ioctldefs.h >/dev/null 2>/dev/null; then
+		# Not all ioctl's are defines ... some (like the DM_* stuff)
+		# are enums, so we have to extract that crap ourself
+		(
+		cd $dir || exit
+		# -P: inhibit generation of linemarkers
+		${CPP:-cpp} -P $(grep -l $base $files 2>/dev/null) | sed '/^$/d' | \
+		awk -v base="$base" '{
+			if ($1 == "enum") {
+				val = 0
+				while ($NF != "};") {
+					if (!getline)
+						exit
+					gsub(/,/, "")
+					if ($0 ~ /=/)
+						val = $NF
+					if ($1 == base) {
+						print "#define " base " (" val ")"
+						exit
+					}
+					val++
+				}
+			}
+		}'
+		) >> ioctldefs.h
+		if ! grep "\<$base\>" ioctldefs.h >/dev/null 2>/dev/null; then
+			echo "Can't find the definition for $base"
+		else
+			echo "$base is an enum"
+		fi
+	fi
+done
+
+# Sort and drop dups?
+# sort -u <ioctldefs.h >ioctldefs1.h && mv ioctldefs1.h ioctldefs.h
diff --git a/strace-4.5.20/linux/ioctlsort.c b/strace-4.5.20/linux/ioctlsort.c
new file mode 100644
index 0000000..0862b2e
--- /dev/null
+++ b/strace-4.5.20/linux/ioctlsort.c
@@ -0,0 +1,52 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <stdint.h>
+
+#include <asm/ioctl.h>
+#include <linux/types.h>
+
+#include "ioctldefs.h"
+#include <linux/atmioc.h>
+
+struct ioctlent {
+	const char*	header;
+	const char*	name;
+	unsigned long	code;
+};
+
+struct ioctlent ioctls[] = {
+#include "ioctls.h"
+};
+
+int nioctls = sizeof(ioctls) / sizeof(ioctls[0]);
+
+
+int compare(const void* a, const void* b) {
+	unsigned long code1 = ((struct ioctlent *) a)->code;
+	unsigned long code2 = ((struct ioctlent *) b)->code;
+	const char *name1 = ((struct ioctlent *) a)->name;
+	const char *name2 = ((struct ioctlent *) b)->name;
+	return (code1 > code2) ? 1 : (code1 < code2) ? -1 : strcmp (name1, name2);
+}
+
+
+int main(int argc, char** argv) {
+	int i;
+
+#if defined(POWERPC) || defined(__powerpc__)			/* unspeakable kludge */
+	for (i = 0; i < nioctls; i++)
+		ioctls[i].code &= ~_IOC_DIRMASK;
+#endif
+
+	qsort(ioctls, nioctls, sizeof(ioctls[0]), compare);
+	puts ("\t/* Generated by ioctlsort */");
+	for (i = 0; i < nioctls; i++)
+		if (i == 0 || ioctls[i].code != ioctls[i-1].code ||
+		    strcmp (ioctls[i].name, ioctls[i-1].name))
+			printf("\t{\"%s\",\t\"%s\",\t%#lx},\n",
+				ioctls[i].header, ioctls[i].name, ioctls[i].code);
+
+	return 0;
+}
diff --git a/strace-4.5.20/linux/m68k/syscallent.h b/strace-4.5.20/linux/m68k/syscallent.h
new file mode 100644
index 0000000..eba2f7f
--- /dev/null
+++ b/strace-4.5.20/linux/m68k/syscallent.h
@@ -0,0 +1,483 @@
+/*
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+	{ 0,	0,	sys_restart_syscall,	"restart_syscall" }, /* 0 */
+	{ 1,	TP,	sys_exit,		"_exit", SYS_exit }, /* 1 */
+	{ 0,	TP,	sys_fork,		"fork", SYS_fork }, /* 2 */
+	{ 3,	0,	sys_read,		"read", SYS_read }, /* 3 */
+	{ 3,	0,	sys_write,		"write", SYS_write }, /* 4 */
+	{ 3,	TF,	sys_open,		"open"		}, /* 5 */
+	{ 1,	0,	sys_close,		"close"		}, /* 6 */
+	{ 3,	TP,	sys_waitpid,		"waitpid", SYS_wait4 }, /* 7 */
+	{ 2,	TF,	sys_creat,		"creat"		}, /* 8 */
+	{ 2,	TF,	sys_link,		"link"		}, /* 9 */
+	{ 1,	TF,	sys_unlink,		"unlink"	}, /* 10 */
+	{ 3,	TF|TP,	sys_execve,		"execve", SYS_execve }, /* 11 */
+	{ 1,	TF,	sys_chdir,		"chdir"		}, /* 12 */
+	{ 1,	0,	sys_time,		"time"		}, /* 13 */
+	{ 3,	TF,	sys_mknod,		"mknod"		}, /* 14 */
+	{ 2,	TF,	sys_chmod,		"chmod"		}, /* 15 */
+	{ 3,	TF,	sys_chown,		"chown"		}, /* 16 */
+	{ 0,	0,	sys_break,		"break"		}, /* 17 */
+	{ 2,	TF,	sys_oldstat,		"oldstat"	}, /* 18 */
+	{ 3,	0,	sys_lseek,		"lseek"		}, /* 19 */
+	{ 0,	0,	sys_getpid,		"getpid"	}, /* 20 */
+	{ 5,	TF,	sys_mount,		"mount"		}, /* 21 */
+	{ 1,	TF,	sys_umount,		"oldumount"	}, /* 22 */
+	{ 1,	0,	sys_setuid,		"setuid"	}, /* 23 */
+	{ 0,	0,	sys_getuid,		"getuid"	}, /* 24 */
+	{ 1,	0,	sys_stime,		"stime"		}, /* 25 */
+	{ 4,	0,	sys_ptrace,		"ptrace"	}, /* 26 */
+	{ 1,	0,	sys_alarm,		"alarm"		}, /* 27 */
+	{ 2,	0,	sys_oldfstat,		"oldfstat"	}, /* 28 */
+	{ 0,	TS,	sys_pause,		"pause"		}, /* 29 */
+	{ 2,	TF,	sys_utime,		"utime"		}, /* 30 */
+	{ 2,	0,	sys_stty,		"stty"		}, /* 31 */
+	{ 2,	0,	sys_gtty,		"gtty"		}, /* 32 */
+	{ 2,	TF,	sys_access,		"access"	}, /* 33 */
+	{ 1,	0,	sys_nice,		"nice"		}, /* 34 */
+	{ 0,	0,	sys_ftime,		"ftime"		}, /* 35 */
+	{ 0,	0,	sys_sync,		"sync"		}, /* 36 */
+	{ 2,	TS,	sys_kill,		"kill"		}, /* 37 */
+	{ 2,	TF,	sys_rename,		"rename"	}, /* 38 */
+	{ 2,	TF,	sys_mkdir,		"mkdir"		}, /* 39 */
+	{ 1,	TF,	sys_rmdir,		"rmdir"		}, /* 40 */
+	{ 1,	0,	sys_dup,		"dup"		}, /* 41 */
+	{ 1,	0,	sys_pipe,		"pipe"		}, /* 42 */
+	{ 1,	0,	sys_times,		"times"		}, /* 43 */
+	{ 0,	0,	sys_prof,		"prof"		}, /* 44 */
+	{ 1,	0,	sys_brk,		"brk"		}, /* 45 */
+	{ 1,	0,	sys_setgid,		"setgid"	}, /* 46 */
+	{ 0,	0,	sys_getgid,		"getgid"	}, /* 47 */
+	{ 3,	TS,	sys_signal,		"signal"	}, /* 48 */
+	{ 0,	0,	sys_geteuid,		"geteuid"	}, /* 49 */
+	{ 0,	0,	sys_getegid,		"getegid"	}, /* 50 */
+	{ 1,	TF,	sys_acct,		"acct"		}, /* 51 */
+	{ 2,	TF,	sys_umount2,		"umount"	}, /* 52 */
+	{ 0,	0,	sys_lock,		"lock"		}, /* 53 */
+	{ 3,	0,	sys_ioctl,		"ioctl"		}, /* 54 */
+	{ 3,	0,	sys_fcntl,		"fcntl"		}, /* 55 */
+	{ 0,	0,	sys_mpx,		"mpx"		}, /* 56 */
+	{ 2,	0,	sys_setpgid,		"setpgid"	}, /* 57 */
+	{ 2,	0,	sys_ulimit,		"ulimit"	}, /* 58 */
+	{ 1,	0,	sys_oldolduname,	"oldolduname"	}, /* 59 */
+	{ 1,	0,	sys_umask,		"umask"		}, /* 60 */
+	{ 1,	TF,	sys_chroot,		"chroot"	}, /* 61 */
+	{ 2,	0,	sys_ustat,		"ustat"		}, /* 62 */
+	{ 2,	0,	sys_dup2,		"dup2"		}, /* 63 */
+	{ 0,	0,	sys_getppid,		"getppid"	}, /* 64 */
+	{ 0,	0,	sys_getpgrp,		"getpgrp"	}, /* 65 */
+	{ 0,	0,	sys_setsid,		"setsid"	}, /* 66 */
+	{ 3,	TS,	sys_sigaction,		"sigaction"	}, /* 67 */
+	{ 0,	TS,	sys_siggetmask,		"siggetmask"	}, /* 68 */
+	{ 1,	TS,	sys_sigsetmask,		"sigsetmask"	}, /* 69 */
+	{ 2,	0,	sys_setreuid,		"setreuid"	}, /* 70 */
+	{ 2,	0,	sys_setregid,		"setregid"	}, /* 71 */
+	{ 3,	TS,	sys_sigsuspend,		"sigsuspend"	}, /* 72 */
+	{ 1,	TS,	sys_sigpending,		"sigpending"	}, /* 73 */
+	{ 2,	0,	sys_sethostname,	"sethostname"	}, /* 74 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit"	}, /* 75 */
+	{ 2,	0,	sys_getrlimit,		"old_getrlimit"	}, /* 76 */
+	{ 2,	0,	sys_getrusage,		"getrusage"	}, /* 77 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday"	}, /* 78 */
+	{ 2,	0,	sys_settimeofday,	"settimeofday"	}, /* 79 */
+	{ 2,	0,	sys_getgroups,		"getgroups"	}, /* 80 */
+	{ 2,	0,	sys_setgroups,		"setgroups"	}, /* 81 */
+	{ 1,	0,	sys_oldselect,		"oldselect"	}, /* 82 */
+	{ 2,	TF,	sys_symlink,		"symlink"	}, /* 83 */
+	{ 2,	TF,	sys_oldlstat,		"oldlstat"	}, /* 84 */
+	{ 3,	TF,	sys_readlink,		"readlink"	}, /* 85 */
+	{ 1,	TF,	sys_uselib,		"uselib"	}, /* 86 */
+	{ 1,	TF,	sys_swapon,		"swapon"	}, /* 87 */
+	{ 3,	0,	sys_reboot,		"reboot"	}, /* 88 */
+	{ 3,	0,	sys_readdir,		"readdir"	}, /* 89 */
+	{ 6,	0,	sys_old_mmap,		"old_mmap"	}, /* 90 */
+	{ 2,	0,	sys_munmap,		"munmap"	}, /* 91 */
+	{ 2,	TF,	sys_truncate,		"truncate"	}, /* 92 */
+	{ 2,	0,	sys_ftruncate,		"ftruncate"	}, /* 93 */
+	{ 2,	0,	sys_fchmod,		"fchmod"	}, /* 94 */
+	{ 3,	0,	sys_fchown,		"fchown"	}, /* 95 */
+	{ 2,	0,	sys_getpriority,	"getpriority"	}, /* 96 */
+	{ 3,	0,	sys_setpriority,	"setpriority"	}, /* 97 */
+	{ 4,	0,	sys_profil,		"profil"	}, /* 98 */
+	{ 2,	TF,	sys_statfs,		"statfs"	}, /* 99 */
+	{ 2,	0,	sys_fstatfs,		"fstatfs"	}, /* 100 */
+	{ 3,	0,	sys_ioperm,		"ioperm"	}, /* 101 */
+	{ 2,	0,	sys_socketcall,		"socketcall", SYS_socketcall }, /* 102 */
+	{ 3,	0,	sys_syslog,		"syslog"	}, /* 103 */
+	{ 3,	0,	sys_setitimer,		"setitimer"	}, /* 104 */
+	{ 2,	0,	sys_getitimer,		"getitimer"	}, /* 105 */
+	{ 2,	TF,	sys_stat,		"stat"		}, /* 106 */
+	{ 2,	TF,	sys_lstat,		"lstat"		}, /* 107 */
+	{ 2,	0,	sys_fstat,		"fstat"		}, /* 108 */
+	{ 1,	0,	sys_olduname,		"olduname"	}, /* 109 */
+	{ 1,	0,	sys_iopl,		"iopl"		}, /* 110 */
+	{ 0,	0,	sys_vhangup,		"vhangup"	}, /* 111 */
+	{ 0,	0,	sys_idle,		"idle"		}, /* 112 */
+	{ 1,	0,	sys_vm86old,		"vm86old"	}, /* 113 */
+	{ 4,	TP,	sys_wait4,		"wait4", SYS_wait4 }, /* 114 */
+	{ 1,	0,	sys_swapoff,		"swapoff"	}, /* 115 */
+	{ 1,	0,	sys_sysinfo,		"sysinfo"	}, /* 116 */
+	{ 6,	0,	sys_ipc,		"ipc", SYS_ipc }, /* 117 */
+	{ 1,	0,	sys_fsync,		"fsync"		}, /* 118 */
+	{ 1,	TS,	sys_sigreturn,		"sigreturn"	}, /* 119 */
+	{ 5,	TP,	sys_clone,		"clone", SYS_clone }, /* 120 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname"	}, /* 121 */
+	{ 1,	0,	sys_uname,		"uname"		}, /* 122 */
+	{ 4,	0,	sys_cacheflush,		"cacheflush"	}, /* 123 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex"	}, /* 124 */
+	{ 3,	0,	sys_mprotect,		"mprotect"	}, /* 125 */
+	{ 3,	TS,	sys_sigprocmask,	"sigprocmask"	}, /* 126 */
+	{ 2,	0,	sys_create_module,	"create_module"	}, /* 127 */
+	{ 3,	0,	sys_init_module,	"init_module"	}, /* 128 */
+	{ 2,	0,	sys_delete_module,	"delete_module"	}, /* 129 */
+	{ 1,	0,	sys_get_kernel_syms,	"get_kernel_syms"}, /* 130 */
+	{ 4,	0,	sys_quotactl,		"quotactl"	}, /* 131 */
+	{ 1,	0,	sys_getpgid,		"getpgid"	}, /* 132 */
+	{ 1,	0,	sys_fchdir,		"fchdir"	}, /* 133 */
+	{ 0,	0,	sys_bdflush,		"bdflush"	}, /* 134 */
+	{ 3,	0,	sys_sysfs,		"sysfs", SYS_sysfs }, /* 135 */
+	{ 1,	0,	sys_personality,	"personality"	}, /* 136 */
+	{ 5,	0,	sys_afs_syscall,	"afs_syscall"	}, /* 137 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid"	}, /* 138 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid"	}, /* 139 */
+	{ 5,	0,	sys_llseek,		"_llseek"	}, /* 140 */
+	{ 3,	0,	sys_getdents,		"getdents"	}, /* 141 */
+	{ 5,	0,	sys_select,		"select"	}, /* 142 */
+	{ 2,	0,	sys_flock,		"flock"		}, /* 143 */
+	{ 3,	0,	sys_msync,		"msync"		}, /* 144 */
+	{ 3,	0,	sys_readv,		"readv", SYS_readv }, /* 145 */
+	{ 3,	0,	sys_writev,		"writev", SYS_writev }, /* 146 */
+	{ 1,	0,	sys_getsid,		"getsid"	}, /* 147 */
+	{ 1,	0,	sys_fdatasync,		"fdatasync"	}, /* 148 */
+	{ 1,	0,	sys_sysctl,		"_sysctl"	}, /* 149 */
+	{ 2,	0,	sys_mlock,		"mlock"		}, /* 150 */
+	{ 2,	0,	sys_munlock,		"munlock"	}, /* 151 */
+	{ 2,	0,	sys_mlockall,		"mlockall"	}, /* 152 */
+	{ 0,	0,	sys_munlockall,		"munlockall"	}, /* 153 */
+	{ 0,	0,	sys_sched_setparam,	"sched_setparam"}, /* 154 */
+	{ 2,	0,	sys_sched_getparam,	"sched_getparam"}, /* 155 */
+	{ 3,	0,	sys_sched_setscheduler,	"sched_setscheduler"}, /* 156 */
+	{ 1,	0,	sys_sched_getscheduler,	"sched_getscheduler"}, /* 157 */
+	{ 0,	0,	sys_sched_yield,	"sched_yield"}, /* 158 */
+	{ 1,	0,	sys_sched_get_priority_max,"sched_get_priority_max"}, /* 159 */
+	{ 1,	0,	sys_sched_get_priority_min,"sched_get_priority_min"}, /* 160 */
+	{ 2,	0,	sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 161 */
+	{ 2,	0,	sys_nanosleep,		"nanosleep"	}, /* 162 */
+	{ 5,	0,	sys_mremap,		"mremap"	}, /* 163 */
+	{ 3,	0,	sys_setresuid,		"setresuid"	}, /* 164 */
+	{ 3,	0,	sys_getresuid,		"getresuid"	}, /* 165 */
+	{ 5,	0,	printargs,		"getpagesize"	}, /* 166 */
+	{ 5,	0,	sys_query_module,	"query_module"	}, /* 167 */
+	{ 3,	0,	sys_poll,		"poll"		}, /* 168 */
+	{ 3,	0,	printargs,		"nfsservctl"	}, /* 169 */
+	{ 3,	0,	sys_setresgid,		"setresgid"	}, /* 170 */
+	{ 3,	0,	sys_getresgid,		"getresgid"	}, /* 171 */
+	{ 5,	0,	sys_prctl,		"prctl"		}, /* 172 */
+	{ 1,	TS,	printargs,		"rt_sigreturn"	}, /* 173 */
+	{ 4,	TS,	sys_rt_sigaction,	"rt_sigaction"  }, /* 174 */
+	{ 4,	TS,	sys_rt_sigprocmask,	"rt_sigprocmask"}, /* 175 */
+	{ 2,	TS,	sys_rt_sigpending,	"rt_sigpending"	}, /* 176 */
+	{ 4,	TS,	sys_rt_sigtimedwait,	"rt_sigtimedwait"}, /* 177 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,    "rt_sigqueueinfo"}, /* 178 */
+	{ 2,	TS,	sys_rt_sigsuspend,	"rt_sigsuspend"	}, /* 179 */
+	{ 5,	TF,	sys_pread,		"pread64", SYS_read }, /* 180 */
+	{ 5,	TF,	sys_pwrite,		"pwrite64", SYS_write }, /* 181 */
+	{ 3,	TF,	sys_chown,		"lchown"	}, /* 182 */
+	{ 2,	TF,	sys_getcwd,		"getcwd"	}, /* 183 */
+	{ 2,	0,	sys_capget,		"capget"	}, /* 184 */
+	{ 2,	0,	sys_capset,		"capset"	}, /* 185 */
+	{ 2,	TS,	sys_sigaltstack,	"sigaltstack"	}, /* 186 */
+	{ 4,	TD|TN,	sys_sendfile,		"sendfile"	}, /* 187 */
+	{ 5,	0,	sys_getpmsg,		"getpmsg"	}, /* 188 */
+	{ 5,	0,	sys_putpmsg,		"putpmsg"	}, /* 189 */
+	{ 0,	TP,	sys_vfork,		"vfork", SYS_vfork }, /* 190 */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"	}, /* 191 */
+	{ 6,	0,	sys_mmap,		"mmap2"		}, /* 192 */
+	{ 3,	TF,	sys_truncate64,		"truncate64"	}, /* 193 */
+	{ 3,	TF,	sys_ftruncate64,	"ftruncate64"	}, /* 194 */
+	{ 2,	TF,	sys_stat64,		"stat64"	}, /* 195 */
+	{ 2,	TF,	sys_lstat64,		"lstat64"	}, /* 196 */
+	{ 2,	TF,	sys_fstat64,		"fstat64"	}, /* 197 */
+	{ 3,	TF,	sys_chown,		"chown32"	}, /* 198 */
+	{ 0,	0,	sys_getuid,		"getuid32"	}, /* 199 */
+	{ 0,	0,	sys_getgid,		"getgid32"	}, /* 200 */
+	{ 0,	0,	sys_geteuid,		"geteuid32"	}, /* 201 */
+	{ 0,	0,	sys_geteuid,		"getegid32"	}, /* 202 */
+	{ 2,	0,	sys_setreuid,		"setreuid32"	}, /* 203 */
+	{ 2,	0,	sys_setregid,		"setregid32"	}, /* 204 */
+	{ 2,	0,	sys_getgroups32,	"getgroups32"	}, /* 205 */
+	{ 2,	0,	sys_setgroups32,	"setgroups32"	}, /* 206 */
+	{ 3,	0,	sys_fchown,		"fchown32"	}, /* 207 */
+	{ 3,	0,	sys_setresuid,		"setresuid32"	}, /* 208 */
+	{ 3,	0,	sys_getresuid,		"getresuid32"	}, /* 209 */
+	{ 3,	0,	sys_setresgid,		"setresgid32"	}, /* 210 */
+	{ 3,	0,	sys_getresgid,		"getresgid32"	}, /* 211 */
+	{ 3,	TF,	sys_chown,		"lchown32"	}, /* 212 */
+	{ 1,	0,	sys_setuid,		"setuid32"	}, /* 213 */
+	{ 1,	0,	sys_setgid,		"setgid32"	}, /* 214 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid32"	}, /* 215 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid32"	}, /* 216 */
+	{ 2,	TF,	sys_pivotroot,		"pivot_root"	}, /* 217 */
+	{ 5,	0,	printargs,		"SYS_218"	}, /* 218 */
+	{ 5,	0,	printargs,		"SYS_219"	}, /* 219 */
+	{ 3,	TD,	sys_getdents64,		"getdents64"	}, /* 220 */
+	{ 0,	0,	printargs,		"gettid"	}, /* 221 */
+	{ 2,	TS,	sys_kill,		"tkill"		}, /* 222 */
+	{ 5,	TF,	sys_setxattr,		"setxattr"	}, /* 223 */
+	{ 5,	TF,	sys_setxattr,		"lsetxattr"	}, /* 224 */
+	{ 5,	0,	sys_fsetxattr,		"fsetxattr"	}, /* 225 */
+	{ 4,	TF,	sys_getxattr,		"getxattr"	}, /* 226 */
+	{ 4,	TF,	sys_getxattr,		"lgetxattr"	}, /* 227 */
+	{ 4,	0,	sys_fgetxattr,		"fgetxattr"	}, /* 228 */
+	{ 3,	TF,	sys_listxattr,		"listxattr"	}, /* 229 */
+	{ 3,	TF,	sys_listxattr,		"llistxattr"	}, /* 230 */
+	{ 3,	0,	sys_flistxattr,		"flistxattr"	}, /* 231 */
+	{ 2,	TF,	sys_removexattr,	"removexattr"	}, /* 232 */
+	{ 2,	TF,	sys_removexattr,	"lremovexattr"	}, /* 233 */
+	{ 2,	0,	sys_fremovexattr,	"fremovexattr"	}, /* 234 */
+	{ 6,	0,	sys_futex,		"futex"		}, /* 235 */
+	{ 4,	TF,	sys_sendfile64,		"sendfile64"	}, /* 236 */
+	{ 3,	0,	sys_mincore,		"mincore"	}, /* 237 */
+	{ 3,	0,	sys_madvise,		"madvise"	}, /* 238 */
+	{ 3,	0,	sys_fcntl,		"fcntl64"	}, /* 239 */
+	{ 4,	0,	sys_readahead,		"readahead"	}, /* 240 */
+	{ 2,	0,	sys_io_setup,		"io_setup"	}, /* 241 */
+	{ 1,	0,	sys_io_destroy,		"io_destroy"	}, /* 242 */
+	{ 5,	0,	sys_io_getevents,	"io_getevents"	}, /* 243 */
+	{ 3,	0,	sys_io_submit,		"io_submit"	}, /* 244 */
+	{ 3,	0,	sys_io_cancel,		"io_cancel"	}, /* 245 */
+	{ 5,	TF,	sys_fadvise64,		"fadvise64"	}, /* 246 */
+	{ 1,	TP,	sys_exit,		"exit_group", __NR_exit_group }, /* 247 */
+	{ 4,	0,	printargs,		"lookup_dcookie"}, /* 248 */
+	{ 1,	0,	sys_epoll_create,	"epoll_create"	}, /* 249 */
+	{ 4,	0,	sys_epoll_ctl,		"epoll_ctl"	}, /* 250 */
+	{ 4,	0,	sys_epoll_wait,		"epoll_wait"	}, /* 251 */
+	{ 5,	0,	sys_remap_file_pages,	"remap_file_pages"}, /* 252 */
+	{ 1,	0,	printargs,		"set_tid_address"}, /* 253 */
+	{ 3,	0,	sys_timer_create,	"timer_create"	}, /* 254 */
+	{ 4,	0,	sys_timer_settime,	"timer_settime"	}, /* 255 */
+	{ 2,	0,	sys_timer_gettime,	"timer_gettime"	}, /* 256 */
+	{ 1,	0,	sys_timer_getoverrun,	"timer_getoverrun"}, /* 257 */
+	{ 1,	0,	sys_timer_delete,	"timer_delete"	}, /* 258 */
+	{ 2,	0,	sys_clock_settime,	"clock_settime"	}, /* 259 */
+	{ 2,	0,	sys_clock_gettime,	"clock_gettime"	}, /* 260 */
+	{ 2,	0,	sys_clock_getres,	"clock_getres"	}, /* 261 */
+	{ 4,	0,	sys_clock_nanosleep,	"clock_nanosleep"}, /* 262 */
+	{ 3,	TF,	sys_statfs64,		"statfs64"	}, /* 263 */
+	{ 3,	TF,	sys_fstatfs64,		"fstatfs64"	}, /* 264 */
+	{ 3,	TS,	sys_tgkill,		"tgkill"	}, /* 265 */
+	{ 2,	TF,	sys_utimes,		"utimes"	}, /* 266 */
+	{ 6,	TF,	sys_fadvise64_64,	"fadvise64_64"	}, /* 267 */
+	{ 6,	0,	sys_mbind,		"mbind"		}, /* 268 */
+	{ 5,	0,	sys_get_mempolicy,	"get_mempolicy"	}, /* 269 */
+	{ 3,	0,	sys_set_mempolicy,	"set_mempolicy"	}, /* 270 */
+	{ 4,	0,	sys_mq_open,		"mq_open"	}, /* 271 */
+	{ 1,	0,	sys_mq_unlink,		"mq_unlink"	}, /* 272 */
+	{ 5,	0,	sys_mq_timedsend,	"mq_timedsend"	}, /* 273 */
+	{ 5,	0,	sys_mq_timedreceive,	"mq_timedreceive" }, /* 274 */
+	{ 2,	0,	sys_mq_notify,		"mq_notify"	}, /* 275 */
+	{ 3,	0,	sys_mq_getsetattr,	"mq_getsetattr"	}, /* 276 */
+	{ 5,	TP,	sys_waitid,		"waitid", SYS_waitid }, /* 277 */
+	{ 5,	0,	printargs,		"vserver"	}, /* 278 */
+	{ 5,	0,	printargs,		"add_key"	}, /* 279 */
+	{ 5,	0,	printargs,		"request_key"	}, /* 280 */
+	{ 5,	0,	printargs,		"keyctl"	}, /* 281 */
+	{ 3,	0,	printargs,		"ioprio_set"	}, /* 282 */
+	{ 2,	0,	printargs,		"ioprio_get"	}, /* 283 */
+	{ 0,	TD,	printargs,		"inotify_init"	}, /* 284 */
+	{ 3,	TD,	sys_inotify_add_watch,	"inotify_add_watch" }, /* 285 */
+	{ 2,	TD,	sys_inotify_rm_watch,	"inotify_rm_watch" }, /* 286 */
+	{ 4,	0,	printargs,		"migrate_pages"	}, /* 287 */
+	{ 4,	TD|TF,	sys_openat,		"openat"	}, /* 288 */
+	{ 3,	TD|TF,	sys_mkdirat,		"mkdirat"	}, /* 289 */
+	{ 4,	TD|TF,	sys_mknodat,		"mknodat"	}, /* 290 */
+	{ 5,	TD|TF,	sys_fchownat,		"fchownat"	}, /* 291 */
+	{ 3,	TD|TF,	sys_futimesat,		"futimesat"	}, /* 292 */
+	{ 4,	TD|TD,	sys_newfstatat,		"fstatat64"	}, /* 293 */
+	{ 3,	TD|TF,	sys_unlinkat,		"unlinkat"	}, /* 294 */
+	{ 4,	TD|TF,	sys_renameat,		"renameat"	}, /* 295 */
+	{ 5,	TD|TF,	sys_linkat,		"linkat"	}, /* 296 */
+	{ 3,	TD|TF,	sys_symlinkat,		"symlinkat"	}, /* 297 */
+	{ 4,	TD|TF,	sys_readlinkat,		"readlinkat"	}, /* 298 */
+	{ 3,	TD|TF,	sys_fchmodat,		"fchmodat"	}, /* 299 */
+	{ 3,	TD|TF,	sys_faccessat,		"faccessat"	}, /* 300 */
+	{ 6,	TD,	sys_pselect6,		"pselect6"	}, /* 301 */
+	{ 5,	TD,	sys_ppoll,		"ppoll"		}, /* 302 */
+	{ 1,	TP,	sys_unshare,		"unshare"	}, /* 303 */
+	{ 2,	0,	printargs,		"set_robust_list" }, /* 304 */
+	{ 3,	0,	printargs,		"get_robust_list" }, /* 305 */
+	{ 6,	TD,	printargs,		"splice"	}, /* 306 */
+	{ 4,	TD,	printargs,		"sync_file_range" }, /* 307 */
+	{ 4,	TD,	printargs,		"tee"		}, /* 308 */
+	{ 4,	TD,	printargs,		"vmsplice"	}, /* 309 */
+	{ 6,	0,	sys_move_pages,		"move_pages"	}, /* 310 */
+	{ 3,	0,	sys_sched_setaffinity,	"sched_setaffinity" },/* 311 */
+	{ 3,	0,	sys_sched_getaffinity,	"sched_getaffinity" },/* 312 */
+	{ 5,	0,	printargs,		"kexec_load"	}, /* 313 */
+	{ 3,	0,	sys_getcpu,		"getcpu"	}, /* 314 */
+	{ 5,	TD,	sys_epoll_pwait,	"epoll_pwait"	}, /* 315 */
+	{ 4,	TD|TF,	sys_utimensat,		"utimensat"	}, /* 316 */
+	{ 3,	TD|TS,	sys_signalfd,		"signalfd"	}, /* 317 */
+	{ 2,	TD,	sys_timerfd_create,	"timerfd_create"}, /* 318 */
+	{ 1,	TD,	sys_eventfd,		"eventfd"	}, /* 319 */
+	{ 6,	TF,	sys_fallocate,		"fallocate"	}, /* 320 */
+	{ 4,	TD,	sys_timerfd_settime,	"timerfd_settime"}, /* 321 */
+	{ 2,	TD,	sys_timerfd_gettime,	"timerfd_gettime"}, /* 322 */
+	{ 4,	TD|TS,	sys_signalfd4,		"signalfd4"	}, /* 323 */
+	{ 2,	TD,	sys_eventfd2,		"eventfd2"	}, /* 324 */
+	{ 1,	0,	sys_epoll_create1,	"epoll_create1"	}, /* 325 */
+	{ 3,	TD,	sys_dup3,		"dup3"		}, /* 326 */
+	{ 2,	TD,	sys_pipe2,		"pipe2"		}, /* 327 */
+	{ 1,	TD,	sys_inotify_init1,	"inotify_init1"	}, /* 328 */
+	{ 5,	TD,	printargs,		"preadv"	}, /* 329 */
+	{ 5,	TD,	printargs,		"pwritev"	}, /* 330 */
+	{ 4,	TP|TS,	printargs,		"rt_tgsigqueueinfo"}, /* 331 */
+	{ 5,	TD,	printargs,		"perf_event_open"}, /* 332 */
+	{ 5,	0,	printargs,		"SYS_333"	}, /* 333 */
+	{ 5,	0,	printargs,		"SYS_334"	}, /* 334 */
+	{ 5,	0,	printargs,		"SYS_335"	}, /* 335 */
+	{ 5,	0,	printargs,		"SYS_336"	}, /* 336 */
+	{ 5,	0,	printargs,		"SYS_337"	}, /* 337 */
+	{ 5,	0,	printargs,		"SYS_338"	}, /* 338 */
+	{ 5,	0,	printargs,		"SYS_339"	}, /* 339 */
+	{ 5,	0,	printargs,		"SYS_340"	}, /* 340 */
+	{ 5,	0,	printargs,		"SYS_341"	}, /* 341 */
+	{ 5,	0,	printargs,		"SYS_342"	}, /* 342 */
+	{ 5,	0,	printargs,		"SYS_343"	}, /* 343 */
+	{ 5,	0,	printargs,		"SYS_344"	}, /* 344 */
+	{ 5,	0,	printargs,		"SYS_345"	}, /* 345 */
+	{ 5,	0,	printargs,		"SYS_346"	}, /* 346 */
+	{ 5,	0,	printargs,		"SYS_347"	}, /* 347 */
+	{ 5,	0,	printargs,		"SYS_348"	}, /* 348 */
+	{ 5,	0,	printargs,		"SYS_349"	}, /* 349 */
+	{ 5,	0,	printargs,		"SYS_350"	}, /* 350 */
+	{ 5,	0,	printargs,		"SYS_351"	}, /* 351 */
+	{ 5,	0,	printargs,		"SYS_352"	}, /* 352 */
+	{ 5,	0,	printargs,		"SYS_353"	}, /* 353 */
+	{ 5,	0,	printargs,		"SYS_354"	}, /* 354 */
+	{ 5,	0,	printargs,		"SYS_355"	}, /* 355 */
+	{ 5,	0,	printargs,		"SYS_356"	}, /* 356 */
+	{ 5,	0,	printargs,		"SYS_357"	}, /* 357 */
+	{ 5,	0,	printargs,		"SYS_358"	}, /* 358 */
+	{ 5,	0,	printargs,		"SYS_359"	}, /* 359 */
+	{ 5,	0,	printargs,		"SYS_360"	}, /* 360 */
+	{ 5,	0,	printargs,		"SYS_361"	}, /* 361 */
+	{ 5,	0,	printargs,		"SYS_362"	}, /* 362 */
+	{ 5,	0,	printargs,		"SYS_363"	}, /* 363 */
+	{ 5,	0,	printargs,		"SYS_364"	}, /* 364 */
+	{ 5,	0,	printargs,		"SYS_365"	}, /* 365 */
+	{ 5,	0,	printargs,		"SYS_366"	}, /* 366 */
+	{ 5,	0,	printargs,		"SYS_367"	}, /* 367 */
+	{ 5,	0,	printargs,		"SYS_368"	}, /* 368 */
+	{ 5,	0,	printargs,		"SYS_369"	}, /* 369 */
+	{ 5,	0,	printargs,		"SYS_370"	}, /* 370 */
+	{ 5,	0,	printargs,		"SYS_371"	}, /* 371 */
+	{ 5,	0,	printargs,		"SYS_372"	}, /* 372 */
+	{ 5,	0,	printargs,		"SYS_373"	}, /* 373 */
+	{ 5,	0,	printargs,		"SYS_374"	}, /* 374 */
+	{ 5,	0,	printargs,		"SYS_375"	}, /* 375 */
+	{ 5,	0,	printargs,		"SYS_376"	}, /* 376 */
+	{ 5,	0,	printargs,		"SYS_377"	}, /* 377 */
+	{ 5,	0,	printargs,		"SYS_378"	}, /* 378 */
+	{ 5,	0,	printargs,		"SYS_379"	}, /* 379 */
+	{ 5,	0,	printargs,		"SYS_380"	}, /* 380 */
+	{ 5,	0,	printargs,		"SYS_381"	}, /* 381 */
+	{ 5,	0,	printargs,		"SYS_382"	}, /* 382 */
+	{ 5,	0,	printargs,		"SYS_383"	}, /* 383 */
+	{ 5,	0,	printargs,		"SYS_384"	}, /* 384 */
+	{ 5,	0,	printargs,		"SYS_385"	}, /* 385 */
+	{ 5,	0,	printargs,		"SYS_386"	}, /* 386 */
+	{ 5,	0,	printargs,		"SYS_387"	}, /* 387 */
+	{ 5,	0,	printargs,		"SYS_388"	}, /* 388 */
+	{ 5,	0,	printargs,		"SYS_389"	}, /* 389 */
+	{ 5,	0,	printargs,		"SYS_390"	}, /* 390 */
+	{ 5,	0,	printargs,		"SYS_391"	}, /* 391 */
+	{ 5,	0,	printargs,		"SYS_392"	}, /* 392 */
+	{ 5,	0,	printargs,		"SYS_393"	}, /* 393 */
+	{ 5,	0,	printargs,		"SYS_394"	}, /* 394 */
+	{ 5,	0,	printargs,		"SYS_395"	}, /* 395 */
+	{ 5,	0,	printargs,		"SYS_396"	}, /* 396 */
+	{ 5,	0,	printargs,		"SYS_397"	}, /* 397 */
+	{ 5,	0,	printargs,		"SYS_398"	}, /* 398 */
+	{ 5,	0,	printargs,		"SYS_399"	}, /* 399 */
+
+#if SYS_socket_subcall != 400
+ #error fix me
+#endif
+	{ 8,	0,	printargs,		"socket_subcall"}, /* 400 */
+	{ 3,	TN,	sys_socket,		"socket"	}, /* 401 */
+	{ 3,	TN,	sys_bind,		"bind"		}, /* 402 */
+	{ 3,	TN,	sys_connect,		"connect"	}, /* 403 */
+	{ 2,	TN,	sys_listen,		"listen"	}, /* 404 */
+	{ 3,	TN,	sys_accept,		"accept"	}, /* 405 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	}, /* 406 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	}, /* 407 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"	}, /* 408 */
+	{ 4,	TN,	sys_send,		"send", SYS_sub_send }, /* 409 */
+	{ 4,	TN,	sys_recv,		"recv", SYS_sub_recv }, /* 410 */
+	{ 6,	TN,	sys_sendto,		"sendto", SYS_sub_sendto }, /* 411 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom", SYS_sub_recvfrom }, /* 412 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	}, /* 413 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	}, /* 414 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 415 */
+	{ 5,	TN,	sys_sendmsg,		"sendmsg"	}, /* 416 */
+	{ 5,	TN,	sys_recvmsg,		"recvmsg"	}, /* 417 */
+	{ 4,	TN,	sys_accept4,		"accept4"	}, /* 418 */
+	{ 5,	TN,	sys_recvmmsg,		"recvmmsg"	}, /* 419 */
+
+#if SYS_ipc_subcall != 420
+ #error fix me
+#endif
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 420 */
+	{ 4,	TI,	sys_semop,		"semop"		}, /* 421 */
+	{ 4,	TI,	sys_semget,		"semget"	}, /* 422 */
+	{ 4,	TI,	sys_semctl,		"semctl"	}, /* 423 */
+	{ 5,	TI,	sys_semtimedop,		"semtimedop"	}, /* 424 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 425 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 426 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 427 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 428 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 429 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 430 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd"	}, /* 431 */
+	{ 4,	TI,	sys_msgrcv,		"msgrcv"	}, /* 432 */
+	{ 4,	TI,	sys_msgget,		"msgget"	}, /* 433 */
+	{ 4,	TI,	sys_msgctl,		"msgctl"	}, /* 434 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 435 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 436 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 437 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 438 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 439 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 440 */
+	{ 4,	TI,	sys_shmat,		"shmat"		}, /* 441 */
+	{ 4,	TI,	sys_shmdt,		"shmdt"		}, /* 442 */
+	{ 4,	TI,	sys_shmget,		"shmget"	}, /* 443 */
+	{ 4,	TI,	sys_shmctl,		"shmctl"	}, /* 444 */
diff --git a/strace-4.5.20/linux/mips/errnoent.h b/strace-4.5.20/linux/mips/errnoent.h
new file mode 100644
index 0000000..b22ee87
--- /dev/null
+++ b/strace-4.5.20/linux/mips/errnoent.h
@@ -0,0 +1,1135 @@
+	"ERRNO_0", /* 0 */
+	"EPERM", /* 1 */
+	"ENOENT", /* 2 */
+	"ESRCH", /* 3 */
+	"EINTR", /* 4 */
+	"EIO", /* 5 */
+	"ENXIO", /* 6 */
+	"E2BIG", /* 7 */
+	"ENOEXEC", /* 8 */
+	"EBADF", /* 9 */
+	"ECHILD", /* 10 */
+	"EAGAIN", /* 11 */
+	"ENOMEM", /* 12 */
+	"EACCES", /* 13 */
+	"EFAULT", /* 14 */
+	"ENOTBLK", /* 15 */
+	"EBUSY", /* 16 */
+	"EEXIST", /* 17 */
+	"EXDEV", /* 18 */
+	"ENODEV", /* 19 */
+	"ENOTDIR", /* 20 */
+	"EISDIR", /* 21 */
+	"EINVAL", /* 22 */
+	"ENFILE", /* 23 */
+	"EMFILE", /* 24 */
+	"ENOTTY", /* 25 */
+	"ETXTBSY", /* 26 */
+	"EFBIG", /* 27 */
+	"ENOSPC", /* 28 */
+	"ESPIPE", /* 29 */
+	"EROFS", /* 30 */
+	"EMLINK", /* 31 */
+	"EPIPE", /* 32 */
+	"EDOM", /* 33 */
+	"ERANGE", /* 34 */
+	"ENOMSG", /* 35 */
+	"EIDRM", /* 36 */
+	"ECHRNG", /* 37 */
+	"EL2NSYNC", /* 38 */
+	"EL3HLT", /* 39 */
+	"EL3RST", /* 40 */
+	"ELNRNG", /* 41 */
+	"EUNATCH", /* 42 */
+	"ENOCSI", /* 43 */
+	"EL2HLT", /* 44 */
+	"EDEADLK", /* 45 */
+	"ENOLCK", /* 46 */
+	"ERRNO_47", /* 47 */
+	"ERRNO_48", /* 48 */
+	"ERRNO_49", /* 49 */
+	"EBADE", /* 50 */
+	"EBADR", /* 51 */
+	"EXFULL", /* 52 */
+	"ENOANO", /* 53 */
+	"EBADRQC", /* 54 */
+	"EBADSLT", /* 55 */
+	"EDEADLOCK", /* 56 */
+	"ERRNO_57", /* 57 */
+	"ERRNO_58", /* 58 */
+	"EBFONT", /* 59 */
+	"ENOSTR", /* 60 */
+	"ENODATA", /* 61 */
+	"ETIME", /* 62 */
+	"ENOSR", /* 63 */
+	"ENONET", /* 64 */
+	"ENOPKG", /* 65 */
+	"EREMOTE", /* 66 */
+	"ENOLINK", /* 67 */
+	"EADV", /* 68 */
+	"ESRMNT", /* 69 */
+	"ECOMM", /* 70 */
+	"EPROTO", /* 71 */
+	"ERRNO_72", /* 72 */
+	"EDOTDOT", /* 73 */
+	"EMULTIHOP", /* 74 */
+	"ERRNO_75", /* 75 */
+	"ERRNO_76", /* 76 */
+	"EBADMSG", /* 77 */
+	"ENAMETOOLONG", /* 78 */
+	"EOVERFLOW", /* 79 */
+	"ENOTUNIQ", /* 80 */
+	"EBADFD", /* 81 */
+	"EREMCHG", /* 82 */
+	"ELIBACC", /* 83 */
+	"ELIBBAD", /* 84 */
+	"ELIBSCN", /* 85 */
+	"ELIBMAX", /* 86 */
+	"ELIBEXEC", /* 87 */
+	"EILSEQ", /* 88 */
+	"ENOSYS", /* 89 */
+	"ELOOP", /* 90 */
+	"ERESTART", /* 91 */
+	"ESTRPIPE", /* 92 */
+	"ENOTEMPTY", /* 93 */
+	"EUSERS", /* 94 */
+	"ENOTSOCK", /* 95 */
+	"EDESTADDRREQ", /* 96 */
+	"EMSGSIZE", /* 97 */
+	"EPROTOTYPE", /* 98 */
+	"ENOPROTOOPT", /* 99 */
+	"ERRNO_100", /* 100 */
+	"ERRNO_101", /* 101 */
+	"ERRNO_102", /* 102 */
+	"ERRNO_103", /* 103 */
+	"ERRNO_104", /* 104 */
+	"ERRNO_105", /* 105 */
+	"ERRNO_106", /* 106 */
+	"ERRNO_107", /* 107 */
+	"ERRNO_108", /* 108 */
+	"ERRNO_109", /* 109 */
+	"ERRNO_110", /* 110 */
+	"ERRNO_111", /* 111 */
+	"ERRNO_112", /* 112 */
+	"ERRNO_113", /* 113 */
+	"ERRNO_114", /* 114 */
+	"ERRNO_115", /* 115 */
+	"ERRNO_116", /* 116 */
+	"ERRNO_117", /* 117 */
+	"ERRNO_118", /* 118 */
+	"ERRNO_119", /* 119 */
+	"EPROTONOSUPPORT", /* 120 */
+	"ESOCKTNOSUPPORT", /* 121 */
+	"EOPNOTSUPP", /* 122 */
+	"EPFNOSUPPORT", /* 123 */
+	"EAFNOSUPPORT", /* 124 */
+	"EADDRINUSE", /* 125 */
+	"EADDRNOTAVAIL", /* 126 */
+	"ENETDOWN", /* 127 */
+	"ENETUNREACH", /* 128 */
+	"ENETRESET", /* 129 */
+	"ECONNABORTED", /* 130 */
+	"ECONNRESET", /* 131 */
+	"ENOBUFS", /* 132 */
+	"EISCONN", /* 133 */
+	"ENOTCONN", /* 134 */
+	"EUCLEAN", /* 135 */
+	"ERRNO_136", /* 136 */
+	"ENOTNAM", /* 137 */
+	"ENAVAIL", /* 138 */
+	"EISNAM", /* 139 */
+	"EREMOTEIO", /* 140 */
+	"EINIT", /* 141 */
+	"EREMDEV", /* 142 */
+	"ESHUTDOWN", /* 143 */
+	"ETOOMANYREFS", /* 144 */
+	"ETIMEDOUT", /* 145 */
+	"ECONNREFUSED", /* 146 */
+	"EHOSTDOWN", /* 147 */
+	"EHOSTUNREACH", /* 148 */
+	"EALREADY", /* 149 */
+	"EINPROGRESS", /* 150 */
+	"ESTALE", /* 151 */
+	"ERRNO_152", /* 152 */
+	"ERRNO_153", /* 153 */
+	"ERRNO_154", /* 154 */
+	"ERRNO_155", /* 155 */
+	"ERRNO_156", /* 156 */
+	"ERRNO_157", /* 157 */
+	"ECANCELED", /* 158 */
+	"ENOMEDIUM", /* 159 */
+	"EMEDIUMTYPE", /* 160 */
+	"ERRNO_161", /* 161 */
+	"ERRNO_162", /* 162 */
+	"ERRNO_163", /* 163 */
+	"ERRNO_164", /* 164 */
+	"ERRNO_165", /* 165 */
+	"ERRNO_166", /* 166 */
+	"ERRNO_167", /* 167 */
+	"ERRNO_168", /* 168 */
+	"ERRNO_169", /* 169 */
+	"ERRNO_170", /* 170 */
+	"ERRNO_171", /* 171 */
+	"ERRNO_172", /* 172 */
+	"ERRNO_173", /* 173 */
+	"ERRNO_174", /* 174 */
+	"ERRNO_175", /* 175 */
+	"ERRNO_176", /* 176 */
+	"ERRNO_177", /* 177 */
+	"ERRNO_178", /* 178 */
+	"ERRNO_179", /* 179 */
+	"ERRNO_180", /* 180 */
+	"ERRNO_181", /* 181 */
+	"ERRNO_182", /* 182 */
+	"ERRNO_183", /* 183 */
+	"ERRNO_184", /* 184 */
+	"ERRNO_185", /* 185 */
+	"ERRNO_186", /* 186 */
+	"ERRNO_187", /* 187 */
+	"ERRNO_188", /* 188 */
+	"ERRNO_189", /* 189 */
+	"ERRNO_190", /* 190 */
+	"ERRNO_191", /* 191 */
+	"ERRNO_192", /* 192 */
+	"ERRNO_193", /* 193 */
+	"ERRNO_194", /* 194 */
+	"ERRNO_195", /* 195 */
+	"ERRNO_196", /* 196 */
+	"ERRNO_197", /* 197 */
+	"ERRNO_198", /* 198 */
+	"ERRNO_199", /* 199 */
+	"ERRNO_200", /* 200 */
+	"ERRNO_201", /* 201 */
+	"ERRNO_202", /* 202 */
+	"ERRNO_203", /* 203 */
+	"ERRNO_204", /* 204 */
+	"ERRNO_205", /* 205 */
+	"ERRNO_206", /* 206 */
+	"ERRNO_207", /* 207 */
+	"ERRNO_208", /* 208 */
+	"ERRNO_209", /* 209 */
+	"ERRNO_210", /* 210 */
+	"ERRNO_211", /* 211 */
+	"ERRNO_212", /* 212 */
+	"ERRNO_213", /* 213 */
+	"ERRNO_214", /* 214 */
+	"ERRNO_215", /* 215 */
+	"ERRNO_216", /* 216 */
+	"ERRNO_217", /* 217 */
+	"ERRNO_218", /* 218 */
+	"ERRNO_219", /* 219 */
+	"ERRNO_220", /* 220 */
+	"ERRNO_221", /* 221 */
+	"ERRNO_222", /* 222 */
+	"ERRNO_223", /* 223 */
+	"ERRNO_224", /* 224 */
+	"ERRNO_225", /* 225 */
+	"ERRNO_226", /* 226 */
+	"ERRNO_227", /* 227 */
+	"ERRNO_228", /* 228 */
+	"ERRNO_229", /* 229 */
+	"ERRNO_230", /* 230 */
+	"ERRNO_231", /* 231 */
+	"ERRNO_232", /* 232 */
+	"ERRNO_233", /* 233 */
+	"ERRNO_234", /* 234 */
+	"ERRNO_235", /* 235 */
+	"ERRNO_236", /* 236 */
+	"ERRNO_237", /* 237 */
+	"ERRNO_238", /* 238 */
+	"ERRNO_239", /* 239 */
+	"ERRNO_240", /* 240 */
+	"ERRNO_241", /* 241 */
+	"ERRNO_242", /* 242 */
+	"ERRNO_243", /* 243 */
+	"ERRNO_244", /* 244 */
+	"ERRNO_245", /* 245 */
+	"ERRNO_246", /* 246 */
+	"ERRNO_247", /* 247 */
+	"ERRNO_248", /* 248 */
+	"ERRNO_249", /* 249 */
+	"ERRNO_250", /* 250 */
+	"ERRNO_251", /* 251 */
+	"ERRNO_252", /* 252 */
+	"ERRNO_253", /* 253 */
+	"ERRNO_254", /* 254 */
+	"ERRNO_255", /* 255 */
+	"ERRNO_256", /* 256 */
+	"ERRNO_257", /* 257 */
+	"ERRNO_258", /* 258 */
+	"ERRNO_259", /* 259 */
+	"ERRNO_260", /* 260 */
+	"ERRNO_261", /* 261 */
+	"ERRNO_262", /* 262 */
+	"ERRNO_263", /* 263 */
+	"ERRNO_264", /* 264 */
+	"ERRNO_265", /* 265 */
+	"ERRNO_266", /* 266 */
+	"ERRNO_267", /* 267 */
+	"ERRNO_268", /* 268 */
+	"ERRNO_269", /* 269 */
+	"ERRNO_270", /* 270 */
+	"ERRNO_271", /* 271 */
+	"ERRNO_272", /* 272 */
+	"ERRNO_273", /* 273 */
+	"ERRNO_274", /* 274 */
+	"ERRNO_275", /* 275 */
+	"ERRNO_276", /* 276 */
+	"ERRNO_277", /* 277 */
+	"ERRNO_278", /* 278 */
+	"ERRNO_279", /* 279 */
+	"ERRNO_280", /* 280 */
+	"ERRNO_281", /* 281 */
+	"ERRNO_282", /* 282 */
+	"ERRNO_283", /* 283 */
+	"ERRNO_284", /* 284 */
+	"ERRNO_285", /* 285 */
+	"ERRNO_286", /* 286 */
+	"ERRNO_287", /* 287 */
+	"ERRNO_288", /* 288 */
+	"ERRNO_289", /* 289 */
+	"ERRNO_290", /* 290 */
+	"ERRNO_291", /* 291 */
+	"ERRNO_292", /* 292 */
+	"ERRNO_293", /* 293 */
+	"ERRNO_294", /* 294 */
+	"ERRNO_295", /* 295 */
+	"ERRNO_296", /* 296 */
+	"ERRNO_297", /* 297 */
+	"ERRNO_298", /* 298 */
+	"ERRNO_299", /* 299 */
+	"ERRNO_300", /* 300 */
+	"ERRNO_301", /* 301 */
+	"ERRNO_302", /* 302 */
+	"ERRNO_303", /* 303 */
+	"ERRNO_304", /* 304 */
+	"ERRNO_305", /* 305 */
+	"ERRNO_306", /* 306 */
+	"ERRNO_307", /* 307 */
+	"ERRNO_308", /* 308 */
+	"ERRNO_309", /* 309 */
+	"ERRNO_310", /* 310 */
+	"ERRNO_311", /* 311 */
+	"ERRNO_312", /* 312 */
+	"ERRNO_313", /* 313 */
+	"ERRNO_314", /* 314 */
+	"ERRNO_315", /* 315 */
+	"ERRNO_316", /* 316 */
+	"ERRNO_317", /* 317 */
+	"ERRNO_318", /* 318 */
+	"ERRNO_319", /* 319 */
+	"ERRNO_320", /* 320 */
+	"ERRNO_321", /* 321 */
+	"ERRNO_322", /* 322 */
+	"ERRNO_323", /* 323 */
+	"ERRNO_324", /* 324 */
+	"ERRNO_325", /* 325 */
+	"ERRNO_326", /* 326 */
+	"ERRNO_327", /* 327 */
+	"ERRNO_328", /* 328 */
+	"ERRNO_329", /* 329 */
+	"ERRNO_330", /* 330 */
+	"ERRNO_331", /* 331 */
+	"ERRNO_332", /* 332 */
+	"ERRNO_333", /* 333 */
+	"ERRNO_334", /* 334 */
+	"ERRNO_335", /* 335 */
+	"ERRNO_336", /* 336 */
+	"ERRNO_337", /* 337 */
+	"ERRNO_338", /* 338 */
+	"ERRNO_339", /* 339 */
+	"ERRNO_340", /* 340 */
+	"ERRNO_341", /* 341 */
+	"ERRNO_342", /* 342 */
+	"ERRNO_343", /* 343 */
+	"ERRNO_344", /* 344 */
+	"ERRNO_345", /* 345 */
+	"ERRNO_346", /* 346 */
+	"ERRNO_347", /* 347 */
+	"ERRNO_348", /* 348 */
+	"ERRNO_349", /* 349 */
+	"ERRNO_350", /* 350 */
+	"ERRNO_351", /* 351 */
+	"ERRNO_352", /* 352 */
+	"ERRNO_353", /* 353 */
+	"ERRNO_354", /* 354 */
+	"ERRNO_355", /* 355 */
+	"ERRNO_356", /* 356 */
+	"ERRNO_357", /* 357 */
+	"ERRNO_358", /* 358 */
+	"ERRNO_359", /* 359 */
+	"ERRNO_360", /* 360 */
+	"ERRNO_361", /* 361 */
+	"ERRNO_362", /* 362 */
+	"ERRNO_363", /* 363 */
+	"ERRNO_364", /* 364 */
+	"ERRNO_365", /* 365 */
+	"ERRNO_366", /* 366 */
+	"ERRNO_367", /* 367 */
+	"ERRNO_368", /* 368 */
+	"ERRNO_369", /* 369 */
+	"ERRNO_370", /* 370 */
+	"ERRNO_371", /* 371 */
+	"ERRNO_372", /* 372 */
+	"ERRNO_373", /* 373 */
+	"ERRNO_374", /* 374 */
+	"ERRNO_375", /* 375 */
+	"ERRNO_376", /* 376 */
+	"ERRNO_377", /* 377 */
+	"ERRNO_378", /* 378 */
+	"ERRNO_379", /* 379 */
+	"ERRNO_380", /* 380 */
+	"ERRNO_381", /* 381 */
+	"ERRNO_382", /* 382 */
+	"ERRNO_383", /* 383 */
+	"ERRNO_384", /* 384 */
+	"ERRNO_385", /* 385 */
+	"ERRNO_386", /* 386 */
+	"ERRNO_387", /* 387 */
+	"ERRNO_388", /* 388 */
+	"ERRNO_389", /* 389 */
+	"ERRNO_390", /* 390 */
+	"ERRNO_391", /* 391 */
+	"ERRNO_392", /* 392 */
+	"ERRNO_393", /* 393 */
+	"ERRNO_394", /* 394 */
+	"ERRNO_395", /* 395 */
+	"ERRNO_396", /* 396 */
+	"ERRNO_397", /* 397 */
+	"ERRNO_398", /* 398 */
+	"ERRNO_399", /* 399 */
+	"ERRNO_400", /* 400 */
+	"ERRNO_401", /* 401 */
+	"ERRNO_402", /* 402 */
+	"ERRNO_403", /* 403 */
+	"ERRNO_404", /* 404 */
+	"ERRNO_405", /* 405 */
+	"ERRNO_406", /* 406 */
+	"ERRNO_407", /* 407 */
+	"ERRNO_408", /* 408 */
+	"ERRNO_409", /* 409 */
+	"ERRNO_410", /* 410 */
+	"ERRNO_411", /* 411 */
+	"ERRNO_412", /* 412 */
+	"ERRNO_413", /* 413 */
+	"ERRNO_414", /* 414 */
+	"ERRNO_415", /* 415 */
+	"ERRNO_416", /* 416 */
+	"ERRNO_417", /* 417 */
+	"ERRNO_418", /* 418 */
+	"ERRNO_419", /* 419 */
+	"ERRNO_420", /* 420 */
+	"ERRNO_421", /* 421 */
+	"ERRNO_422", /* 422 */
+	"ERRNO_423", /* 423 */
+	"ERRNO_424", /* 424 */
+	"ERRNO_425", /* 425 */
+	"ERRNO_426", /* 426 */
+	"ERRNO_427", /* 427 */
+	"ERRNO_428", /* 428 */
+	"ERRNO_429", /* 429 */
+	"ERRNO_430", /* 430 */
+	"ERRNO_431", /* 431 */
+	"ERRNO_432", /* 432 */
+	"ERRNO_433", /* 433 */
+	"ERRNO_434", /* 434 */
+	"ERRNO_435", /* 435 */
+	"ERRNO_436", /* 436 */
+	"ERRNO_437", /* 437 */
+	"ERRNO_438", /* 438 */
+	"ERRNO_439", /* 439 */
+	"ERRNO_440", /* 440 */
+	"ERRNO_441", /* 441 */
+	"ERRNO_442", /* 442 */
+	"ERRNO_443", /* 443 */
+	"ERRNO_444", /* 444 */
+	"ERRNO_445", /* 445 */
+	"ERRNO_446", /* 446 */
+	"ERRNO_447", /* 447 */
+	"ERRNO_448", /* 448 */
+	"ERRNO_449", /* 449 */
+	"ERRNO_450", /* 450 */
+	"ERRNO_451", /* 451 */
+	"ERRNO_452", /* 452 */
+	"ERRNO_453", /* 453 */
+	"ERRNO_454", /* 454 */
+	"ERRNO_455", /* 455 */
+	"ERRNO_456", /* 456 */
+	"ERRNO_457", /* 457 */
+	"ERRNO_458", /* 458 */
+	"ERRNO_459", /* 459 */
+	"ERRNO_460", /* 460 */
+	"ERRNO_461", /* 461 */
+	"ERRNO_462", /* 462 */
+	"ERRNO_463", /* 463 */
+	"ERRNO_464", /* 464 */
+	"ERRNO_465", /* 465 */
+	"ERRNO_466", /* 466 */
+	"ERRNO_467", /* 467 */
+	"ERRNO_468", /* 468 */
+	"ERRNO_469", /* 469 */
+	"ERRNO_470", /* 470 */
+	"ERRNO_471", /* 471 */
+	"ERRNO_472", /* 472 */
+	"ERRNO_473", /* 473 */
+	"ERRNO_474", /* 474 */
+	"ERRNO_475", /* 475 */
+	"ERRNO_476", /* 476 */
+	"ERRNO_477", /* 477 */
+	"ERRNO_478", /* 478 */
+	"ERRNO_479", /* 479 */
+	"ERRNO_480", /* 480 */
+	"ERRNO_481", /* 481 */
+	"ERRNO_482", /* 482 */
+	"ERRNO_483", /* 483 */
+	"ERRNO_484", /* 484 */
+	"ERRNO_485", /* 485 */
+	"ERRNO_486", /* 486 */
+	"ERRNO_487", /* 487 */
+	"ERRNO_488", /* 488 */
+	"ERRNO_489", /* 489 */
+	"ERRNO_490", /* 490 */
+	"ERRNO_491", /* 491 */
+	"ERRNO_492", /* 492 */
+	"ERRNO_493", /* 493 */
+	"ERRNO_494", /* 494 */
+	"ERRNO_495", /* 495 */
+	"ERRNO_496", /* 496 */
+	"ERRNO_497", /* 497 */
+	"ERRNO_498", /* 498 */
+	"ERRNO_499", /* 499 */
+	"ERRNO_500", /* 500 */
+	"ERRNO_501", /* 501 */
+	"ERRNO_502", /* 502 */
+	"ERRNO_503", /* 503 */
+	"ERRNO_504", /* 504 */
+	"ERRNO_505", /* 505 */
+	"ERRNO_506", /* 506 */
+	"ERRNO_507", /* 507 */
+	"ERRNO_508", /* 508 */
+	"ERRNO_509", /* 509 */
+	"ERRNO_510", /* 510 */
+	"ERRNO_511", /* 511 */
+	"ERRNO_512", /* 512 */
+	"ERRNO_513", /* 513 */
+	"ERRNO_514", /* 514 */
+	"ERRNO_515", /* 515 */
+	"ERRNO_516", /* 516 */
+	"ERRNO_517", /* 517 */
+	"ERRNO_518", /* 518 */
+	"ERRNO_519", /* 519 */
+	"ERRNO_520", /* 520 */
+	"ERRNO_521", /* 521 */
+	"ERRNO_522", /* 522 */
+	"ERRNO_523", /* 523 */
+	"ERRNO_524", /* 524 */
+	"ERRNO_525", /* 525 */
+	"ERRNO_526", /* 526 */
+	"ERRNO_527", /* 527 */
+	"ERRNO_528", /* 528 */
+	"ERRNO_529", /* 529 */
+	"ERRNO_530", /* 530 */
+	"ERRNO_531", /* 531 */
+	"ERRNO_532", /* 532 */
+	"ERRNO_533", /* 533 */
+	"ERRNO_534", /* 534 */
+	"ERRNO_535", /* 535 */
+	"ERRNO_536", /* 536 */
+	"ERRNO_537", /* 537 */
+	"ERRNO_538", /* 538 */
+	"ERRNO_539", /* 539 */
+	"ERRNO_540", /* 540 */
+	"ERRNO_541", /* 541 */
+	"ERRNO_542", /* 542 */
+	"ERRNO_543", /* 543 */
+	"ERRNO_544", /* 544 */
+	"ERRNO_545", /* 545 */
+	"ERRNO_546", /* 546 */
+	"ERRNO_547", /* 547 */
+	"ERRNO_548", /* 548 */
+	"ERRNO_549", /* 549 */
+	"ERRNO_550", /* 550 */
+	"ERRNO_551", /* 551 */
+	"ERRNO_552", /* 552 */
+	"ERRNO_553", /* 553 */
+	"ERRNO_554", /* 554 */
+	"ERRNO_555", /* 555 */
+	"ERRNO_556", /* 556 */
+	"ERRNO_557", /* 557 */
+	"ERRNO_558", /* 558 */
+	"ERRNO_559", /* 559 */
+	"ERRNO_560", /* 560 */
+	"ERRNO_561", /* 561 */
+	"ERRNO_562", /* 562 */
+	"ERRNO_563", /* 563 */
+	"ERRNO_564", /* 564 */
+	"ERRNO_565", /* 565 */
+	"ERRNO_566", /* 566 */
+	"ERRNO_567", /* 567 */
+	"ERRNO_568", /* 568 */
+	"ERRNO_569", /* 569 */
+	"ERRNO_570", /* 570 */
+	"ERRNO_571", /* 571 */
+	"ERRNO_572", /* 572 */
+	"ERRNO_573", /* 573 */
+	"ERRNO_574", /* 574 */
+	"ERRNO_575", /* 575 */
+	"ERRNO_576", /* 576 */
+	"ERRNO_577", /* 577 */
+	"ERRNO_578", /* 578 */
+	"ERRNO_579", /* 579 */
+	"ERRNO_580", /* 580 */
+	"ERRNO_581", /* 581 */
+	"ERRNO_582", /* 582 */
+	"ERRNO_583", /* 583 */
+	"ERRNO_584", /* 584 */
+	"ERRNO_585", /* 585 */
+	"ERRNO_586", /* 586 */
+	"ERRNO_587", /* 587 */
+	"ERRNO_588", /* 588 */
+	"ERRNO_589", /* 589 */
+	"ERRNO_590", /* 590 */
+	"ERRNO_591", /* 591 */
+	"ERRNO_592", /* 592 */
+	"ERRNO_593", /* 593 */
+	"ERRNO_594", /* 594 */
+	"ERRNO_595", /* 595 */
+	"ERRNO_596", /* 596 */
+	"ERRNO_597", /* 597 */
+	"ERRNO_598", /* 598 */
+	"ERRNO_599", /* 599 */
+	"ERRNO_600", /* 600 */
+	"ERRNO_601", /* 601 */
+	"ERRNO_602", /* 602 */
+	"ERRNO_603", /* 603 */
+	"ERRNO_604", /* 604 */
+	"ERRNO_605", /* 605 */
+	"ERRNO_606", /* 606 */
+	"ERRNO_607", /* 607 */
+	"ERRNO_608", /* 608 */
+	"ERRNO_609", /* 609 */
+	"ERRNO_610", /* 610 */
+	"ERRNO_611", /* 611 */
+	"ERRNO_612", /* 612 */
+	"ERRNO_613", /* 613 */
+	"ERRNO_614", /* 614 */
+	"ERRNO_615", /* 615 */
+	"ERRNO_616", /* 616 */
+	"ERRNO_617", /* 617 */
+	"ERRNO_618", /* 618 */
+	"ERRNO_619", /* 619 */
+	"ERRNO_620", /* 620 */
+	"ERRNO_621", /* 621 */
+	"ERRNO_622", /* 622 */
+	"ERRNO_623", /* 623 */
+	"ERRNO_624", /* 624 */
+	"ERRNO_625", /* 625 */
+	"ERRNO_626", /* 626 */
+	"ERRNO_627", /* 627 */
+	"ERRNO_628", /* 628 */
+	"ERRNO_629", /* 629 */
+	"ERRNO_630", /* 630 */
+	"ERRNO_631", /* 631 */
+	"ERRNO_632", /* 632 */
+	"ERRNO_633", /* 633 */
+	"ERRNO_634", /* 634 */
+	"ERRNO_635", /* 635 */
+	"ERRNO_636", /* 636 */
+	"ERRNO_637", /* 637 */
+	"ERRNO_638", /* 638 */
+	"ERRNO_639", /* 639 */
+	"ERRNO_640", /* 640 */
+	"ERRNO_641", /* 641 */
+	"ERRNO_642", /* 642 */
+	"ERRNO_643", /* 643 */
+	"ERRNO_644", /* 644 */
+	"ERRNO_645", /* 645 */
+	"ERRNO_646", /* 646 */
+	"ERRNO_647", /* 647 */
+	"ERRNO_648", /* 648 */
+	"ERRNO_649", /* 649 */
+	"ERRNO_650", /* 650 */
+	"ERRNO_651", /* 651 */
+	"ERRNO_652", /* 652 */
+	"ERRNO_653", /* 653 */
+	"ERRNO_654", /* 654 */
+	"ERRNO_655", /* 655 */
+	"ERRNO_656", /* 656 */
+	"ERRNO_657", /* 657 */
+	"ERRNO_658", /* 658 */
+	"ERRNO_659", /* 659 */
+	"ERRNO_660", /* 660 */
+	"ERRNO_661", /* 661 */
+	"ERRNO_662", /* 662 */
+	"ERRNO_663", /* 663 */
+	"ERRNO_664", /* 664 */
+	"ERRNO_665", /* 665 */
+	"ERRNO_666", /* 666 */
+	"ERRNO_667", /* 667 */
+	"ERRNO_668", /* 668 */
+	"ERRNO_669", /* 669 */
+	"ERRNO_670", /* 670 */
+	"ERRNO_671", /* 671 */
+	"ERRNO_672", /* 672 */
+	"ERRNO_673", /* 673 */
+	"ERRNO_674", /* 674 */
+	"ERRNO_675", /* 675 */
+	"ERRNO_676", /* 676 */
+	"ERRNO_677", /* 677 */
+	"ERRNO_678", /* 678 */
+	"ERRNO_679", /* 679 */
+	"ERRNO_680", /* 680 */
+	"ERRNO_681", /* 681 */
+	"ERRNO_682", /* 682 */
+	"ERRNO_683", /* 683 */
+	"ERRNO_684", /* 684 */
+	"ERRNO_685", /* 685 */
+	"ERRNO_686", /* 686 */
+	"ERRNO_687", /* 687 */
+	"ERRNO_688", /* 688 */
+	"ERRNO_689", /* 689 */
+	"ERRNO_690", /* 690 */
+	"ERRNO_691", /* 691 */
+	"ERRNO_692", /* 692 */
+	"ERRNO_693", /* 693 */
+	"ERRNO_694", /* 694 */
+	"ERRNO_695", /* 695 */
+	"ERRNO_696", /* 696 */
+	"ERRNO_697", /* 697 */
+	"ERRNO_698", /* 698 */
+	"ERRNO_699", /* 699 */
+	"ERRNO_700", /* 700 */
+	"ERRNO_701", /* 701 */
+	"ERRNO_702", /* 702 */
+	"ERRNO_703", /* 703 */
+	"ERRNO_704", /* 704 */
+	"ERRNO_705", /* 705 */
+	"ERRNO_706", /* 706 */
+	"ERRNO_707", /* 707 */
+	"ERRNO_708", /* 708 */
+	"ERRNO_709", /* 709 */
+	"ERRNO_710", /* 710 */
+	"ERRNO_711", /* 711 */
+	"ERRNO_712", /* 712 */
+	"ERRNO_713", /* 713 */
+	"ERRNO_714", /* 714 */
+	"ERRNO_715", /* 715 */
+	"ERRNO_716", /* 716 */
+	"ERRNO_717", /* 717 */
+	"ERRNO_718", /* 718 */
+	"ERRNO_719", /* 719 */
+	"ERRNO_720", /* 720 */
+	"ERRNO_721", /* 721 */
+	"ERRNO_722", /* 722 */
+	"ERRNO_723", /* 723 */
+	"ERRNO_724", /* 724 */
+	"ERRNO_725", /* 725 */
+	"ERRNO_726", /* 726 */
+	"ERRNO_727", /* 727 */
+	"ERRNO_728", /* 728 */
+	"ERRNO_729", /* 729 */
+	"ERRNO_730", /* 730 */
+	"ERRNO_731", /* 731 */
+	"ERRNO_732", /* 732 */
+	"ERRNO_733", /* 733 */
+	"ERRNO_734", /* 734 */
+	"ERRNO_735", /* 735 */
+	"ERRNO_736", /* 736 */
+	"ERRNO_737", /* 737 */
+	"ERRNO_738", /* 738 */
+	"ERRNO_739", /* 739 */
+	"ERRNO_740", /* 740 */
+	"ERRNO_741", /* 741 */
+	"ERRNO_742", /* 742 */
+	"ERRNO_743", /* 743 */
+	"ERRNO_744", /* 744 */
+	"ERRNO_745", /* 745 */
+	"ERRNO_746", /* 746 */
+	"ERRNO_747", /* 747 */
+	"ERRNO_748", /* 748 */
+	"ERRNO_749", /* 749 */
+	"ERRNO_750", /* 750 */
+	"ERRNO_751", /* 751 */
+	"ERRNO_752", /* 752 */
+	"ERRNO_753", /* 753 */
+	"ERRNO_754", /* 754 */
+	"ERRNO_755", /* 755 */
+	"ERRNO_756", /* 756 */
+	"ERRNO_757", /* 757 */
+	"ERRNO_758", /* 758 */
+	"ERRNO_759", /* 759 */
+	"ERRNO_760", /* 760 */
+	"ERRNO_761", /* 761 */
+	"ERRNO_762", /* 762 */
+	"ERRNO_763", /* 763 */
+	"ERRNO_764", /* 764 */
+	"ERRNO_765", /* 765 */
+	"ERRNO_766", /* 766 */
+	"ERRNO_767", /* 767 */
+	"ERRNO_768", /* 768 */
+	"ERRNO_769", /* 769 */
+	"ERRNO_770", /* 770 */
+	"ERRNO_771", /* 771 */
+	"ERRNO_772", /* 772 */
+	"ERRNO_773", /* 773 */
+	"ERRNO_774", /* 774 */
+	"ERRNO_775", /* 775 */
+	"ERRNO_776", /* 776 */
+	"ERRNO_777", /* 777 */
+	"ERRNO_778", /* 778 */
+	"ERRNO_779", /* 779 */
+	"ERRNO_780", /* 780 */
+	"ERRNO_781", /* 781 */
+	"ERRNO_782", /* 782 */
+	"ERRNO_783", /* 783 */
+	"ERRNO_784", /* 784 */
+	"ERRNO_785", /* 785 */
+	"ERRNO_786", /* 786 */
+	"ERRNO_787", /* 787 */
+	"ERRNO_788", /* 788 */
+	"ERRNO_789", /* 789 */
+	"ERRNO_790", /* 790 */
+	"ERRNO_791", /* 791 */
+	"ERRNO_792", /* 792 */
+	"ERRNO_793", /* 793 */
+	"ERRNO_794", /* 794 */
+	"ERRNO_795", /* 795 */
+	"ERRNO_796", /* 796 */
+	"ERRNO_797", /* 797 */
+	"ERRNO_798", /* 798 */
+	"ERRNO_799", /* 799 */
+	"ERRNO_800", /* 800 */
+	"ERRNO_801", /* 801 */
+	"ERRNO_802", /* 802 */
+	"ERRNO_803", /* 803 */
+	"ERRNO_804", /* 804 */
+	"ERRNO_805", /* 805 */
+	"ERRNO_806", /* 806 */
+	"ERRNO_807", /* 807 */
+	"ERRNO_808", /* 808 */
+	"ERRNO_809", /* 809 */
+	"ERRNO_810", /* 810 */
+	"ERRNO_811", /* 811 */
+	"ERRNO_812", /* 812 */
+	"ERRNO_813", /* 813 */
+	"ERRNO_814", /* 814 */
+	"ERRNO_815", /* 815 */
+	"ERRNO_816", /* 816 */
+	"ERRNO_817", /* 817 */
+	"ERRNO_818", /* 818 */
+	"ERRNO_819", /* 819 */
+	"ERRNO_820", /* 820 */
+	"ERRNO_821", /* 821 */
+	"ERRNO_822", /* 822 */
+	"ERRNO_823", /* 823 */
+	"ERRNO_824", /* 824 */
+	"ERRNO_825", /* 825 */
+	"ERRNO_826", /* 826 */
+	"ERRNO_827", /* 827 */
+	"ERRNO_828", /* 828 */
+	"ERRNO_829", /* 829 */
+	"ERRNO_830", /* 830 */
+	"ERRNO_831", /* 831 */
+	"ERRNO_832", /* 832 */
+	"ERRNO_833", /* 833 */
+	"ERRNO_834", /* 834 */
+	"ERRNO_835", /* 835 */
+	"ERRNO_836", /* 836 */
+	"ERRNO_837", /* 837 */
+	"ERRNO_838", /* 838 */
+	"ERRNO_839", /* 839 */
+	"ERRNO_840", /* 840 */
+	"ERRNO_841", /* 841 */
+	"ERRNO_842", /* 842 */
+	"ERRNO_843", /* 843 */
+	"ERRNO_844", /* 844 */
+	"ERRNO_845", /* 845 */
+	"ERRNO_846", /* 846 */
+	"ERRNO_847", /* 847 */
+	"ERRNO_848", /* 848 */
+	"ERRNO_849", /* 849 */
+	"ERRNO_850", /* 850 */
+	"ERRNO_851", /* 851 */
+	"ERRNO_852", /* 852 */
+	"ERRNO_853", /* 853 */
+	"ERRNO_854", /* 854 */
+	"ERRNO_855", /* 855 */
+	"ERRNO_856", /* 856 */
+	"ERRNO_857", /* 857 */
+	"ERRNO_858", /* 858 */
+	"ERRNO_859", /* 859 */
+	"ERRNO_860", /* 860 */
+	"ERRNO_861", /* 861 */
+	"ERRNO_862", /* 862 */
+	"ERRNO_863", /* 863 */
+	"ERRNO_864", /* 864 */
+	"ERRNO_865", /* 865 */
+	"ERRNO_866", /* 866 */
+	"ERRNO_867", /* 867 */
+	"ERRNO_868", /* 868 */
+	"ERRNO_869", /* 869 */
+	"ERRNO_870", /* 870 */
+	"ERRNO_871", /* 871 */
+	"ERRNO_872", /* 872 */
+	"ERRNO_873", /* 873 */
+	"ERRNO_874", /* 874 */
+	"ERRNO_875", /* 875 */
+	"ERRNO_876", /* 876 */
+	"ERRNO_877", /* 877 */
+	"ERRNO_878", /* 878 */
+	"ERRNO_879", /* 879 */
+	"ERRNO_880", /* 880 */
+	"ERRNO_881", /* 881 */
+	"ERRNO_882", /* 882 */
+	"ERRNO_883", /* 883 */
+	"ERRNO_884", /* 884 */
+	"ERRNO_885", /* 885 */
+	"ERRNO_886", /* 886 */
+	"ERRNO_887", /* 887 */
+	"ERRNO_888", /* 888 */
+	"ERRNO_889", /* 889 */
+	"ERRNO_890", /* 890 */
+	"ERRNO_891", /* 891 */
+	"ERRNO_892", /* 892 */
+	"ERRNO_893", /* 893 */
+	"ERRNO_894", /* 894 */
+	"ERRNO_895", /* 895 */
+	"ERRNO_896", /* 896 */
+	"ERRNO_897", /* 897 */
+	"ERRNO_898", /* 898 */
+	"ERRNO_899", /* 899 */
+	"ERRNO_900", /* 900 */
+	"ERRNO_901", /* 901 */
+	"ERRNO_902", /* 902 */
+	"ERRNO_903", /* 903 */
+	"ERRNO_904", /* 904 */
+	"ERRNO_905", /* 905 */
+	"ERRNO_906", /* 906 */
+	"ERRNO_907", /* 907 */
+	"ERRNO_908", /* 908 */
+	"ERRNO_909", /* 909 */
+	"ERRNO_910", /* 910 */
+	"ERRNO_911", /* 911 */
+	"ERRNO_912", /* 912 */
+	"ERRNO_913", /* 913 */
+	"ERRNO_914", /* 914 */
+	"ERRNO_915", /* 915 */
+	"ERRNO_916", /* 916 */
+	"ERRNO_917", /* 917 */
+	"ERRNO_918", /* 918 */
+	"ERRNO_919", /* 919 */
+	"ERRNO_920", /* 920 */
+	"ERRNO_921", /* 921 */
+	"ERRNO_922", /* 922 */
+	"ERRNO_923", /* 923 */
+	"ERRNO_924", /* 924 */
+	"ERRNO_925", /* 925 */
+	"ERRNO_926", /* 926 */
+	"ERRNO_927", /* 927 */
+	"ERRNO_928", /* 928 */
+	"ERRNO_929", /* 929 */
+	"ERRNO_930", /* 930 */
+	"ERRNO_931", /* 931 */
+	"ERRNO_932", /* 932 */
+	"ERRNO_933", /* 933 */
+	"ERRNO_934", /* 934 */
+	"ERRNO_935", /* 935 */
+	"ERRNO_936", /* 936 */
+	"ERRNO_937", /* 937 */
+	"ERRNO_938", /* 938 */
+	"ERRNO_939", /* 939 */
+	"ERRNO_940", /* 940 */
+	"ERRNO_941", /* 941 */
+	"ERRNO_942", /* 942 */
+	"ERRNO_943", /* 943 */
+	"ERRNO_944", /* 944 */
+	"ERRNO_945", /* 945 */
+	"ERRNO_946", /* 946 */
+	"ERRNO_947", /* 947 */
+	"ERRNO_948", /* 948 */
+	"ERRNO_949", /* 949 */
+	"ERRNO_950", /* 950 */
+	"ERRNO_951", /* 951 */
+	"ERRNO_952", /* 952 */
+	"ERRNO_953", /* 953 */
+	"ERRNO_954", /* 954 */
+	"ERRNO_955", /* 955 */
+	"ERRNO_956", /* 956 */
+	"ERRNO_957", /* 957 */
+	"ERRNO_958", /* 958 */
+	"ERRNO_959", /* 959 */
+	"ERRNO_960", /* 960 */
+	"ERRNO_961", /* 961 */
+	"ERRNO_962", /* 962 */
+	"ERRNO_963", /* 963 */
+	"ERRNO_964", /* 964 */
+	"ERRNO_965", /* 965 */
+	"ERRNO_966", /* 966 */
+	"ERRNO_967", /* 967 */
+	"ERRNO_968", /* 968 */
+	"ERRNO_969", /* 969 */
+	"ERRNO_970", /* 970 */
+	"ERRNO_971", /* 971 */
+	"ERRNO_972", /* 972 */
+	"ERRNO_973", /* 973 */
+	"ERRNO_974", /* 974 */
+	"ERRNO_975", /* 975 */
+	"ERRNO_976", /* 976 */
+	"ERRNO_977", /* 977 */
+	"ERRNO_978", /* 978 */
+	"ERRNO_979", /* 979 */
+	"ERRNO_980", /* 980 */
+	"ERRNO_981", /* 981 */
+	"ERRNO_982", /* 982 */
+	"ERRNO_983", /* 983 */
+	"ERRNO_984", /* 984 */
+	"ERRNO_985", /* 985 */
+	"ERRNO_986", /* 986 */
+	"ERRNO_987", /* 987 */
+	"ERRNO_988", /* 988 */
+	"ERRNO_989", /* 989 */
+	"ERRNO_990", /* 990 */
+	"ERRNO_991", /* 991 */
+	"ERRNO_992", /* 992 */
+	"ERRNO_993", /* 993 */
+	"ERRNO_994", /* 994 */
+	"ERRNO_995", /* 995 */
+	"ERRNO_996", /* 996 */
+	"ERRNO_997", /* 997 */
+	"ERRNO_998", /* 998 */
+	"ERRNO_999", /* 999 */
+	"ECANCELED", /* 1000 */
+	"ERRNO_1001", /* 1001 */
+	"ERRNO_1002", /* 1002 */
+	"ERRNO_1003", /* 1003 */
+	"ERRNO_1004", /* 1004 */
+	"ERRNO_1005", /* 1005 */
+	"ERRNO_1006", /* 1006 */
+	"ERRNO_1007", /* 1007 */
+	"ERRNO_1008", /* 1008 */
+	"ERRNO_1009", /* 1009 */
+	"ERRNO_1010", /* 1010 */
+	"ERRNO_1011", /* 1011 */
+	"ERRNO_1012", /* 1012 */
+	"ERRNO_1013", /* 1013 */
+	"ERRNO_1014", /* 1014 */
+	"ERRNO_1015", /* 1015 */
+	"ERRNO_1016", /* 1016 */
+	"ERRNO_1017", /* 1017 */
+	"ERRNO_1018", /* 1018 */
+	"ERRNO_1019", /* 1019 */
+	"ERRNO_1020", /* 1020 */
+	"ERRNO_1021", /* 1021 */
+	"ERRNO_1022", /* 1022 */
+	"ERRNO_1023", /* 1023 */
+	"ERRNO_1024", /* 1024 */
+	"ERRNO_1025", /* 1025 */
+	"ERRNO_1026", /* 1026 */
+	"ERRNO_1027", /* 1027 */
+	"ERRNO_1028", /* 1028 */
+	"ERRNO_1029", /* 1029 */
+	"ERRNO_1030", /* 1030 */
+	"ERRNO_1031", /* 1031 */
+	"ERRNO_1032", /* 1032 */
+	"ERRNO_1033", /* 1033 */
+	"ERRNO_1034", /* 1034 */
+	"ERRNO_1035", /* 1035 */
+	"ERRNO_1036", /* 1036 */
+	"ERRNO_1037", /* 1037 */
+	"ERRNO_1038", /* 1038 */
+	"ERRNO_1039", /* 1039 */
+	"ERRNO_1040", /* 1040 */
+	"ERRNO_1041", /* 1041 */
+	"ERRNO_1042", /* 1042 */
+	"ERRNO_1043", /* 1043 */
+	"ERRNO_1044", /* 1044 */
+	"ERRNO_1045", /* 1045 */
+	"ERRNO_1046", /* 1046 */
+	"ERRNO_1047", /* 1047 */
+	"ERRNO_1048", /* 1048 */
+	"ERRNO_1049", /* 1049 */
+	"ERRNO_1050", /* 1050 */
+	"ERRNO_1051", /* 1051 */
+	"ERRNO_1052", /* 1052 */
+	"ERRNO_1053", /* 1053 */
+	"ERRNO_1054", /* 1054 */
+	"ERRNO_1055", /* 1055 */
+	"ERRNO_1056", /* 1056 */
+	"ERRNO_1057", /* 1057 */
+	"ERRNO_1058", /* 1058 */
+	"ERRNO_1059", /* 1059 */
+	"ERRNO_1060", /* 1060 */
+	"ERRNO_1061", /* 1061 */
+	"ERRNO_1062", /* 1062 */
+	"ERRNO_1063", /* 1063 */
+	"ERRNO_1064", /* 1064 */
+	"ERRNO_1065", /* 1065 */
+	"ERRNO_1066", /* 1066 */
+	"ERRNO_1067", /* 1067 */
+	"ERRNO_1068", /* 1068 */
+	"ERRNO_1069", /* 1069 */
+	"ERRNO_1070", /* 1070 */
+	"ERRNO_1071", /* 1071 */
+	"ERRNO_1072", /* 1072 */
+	"ERRNO_1073", /* 1073 */
+	"ERRNO_1074", /* 1074 */
+	"ERRNO_1075", /* 1075 */
+	"ERRNO_1076", /* 1076 */
+	"ERRNO_1077", /* 1077 */
+	"ERRNO_1078", /* 1078 */
+	"ERRNO_1079", /* 1079 */
+	"ERRNO_1080", /* 1080 */
+	"ERRNO_1081", /* 1081 */
+	"ERRNO_1082", /* 1082 */
+	"ERRNO_1083", /* 1083 */
+	"ERRNO_1084", /* 1084 */
+	"ERRNO_1085", /* 1085 */
+	"ERRNO_1086", /* 1086 */
+	"ERRNO_1087", /* 1087 */
+	"ERRNO_1088", /* 1088 */
+	"ERRNO_1089", /* 1089 */
+	"ERRNO_1090", /* 1090 */
+	"ERRNO_1091", /* 1091 */
+	"ERRNO_1092", /* 1092 */
+	"ERRNO_1093", /* 1093 */
+	"ERRNO_1094", /* 1094 */
+	"ERRNO_1095", /* 1095 */
+	"ERRNO_1096", /* 1096 */
+	"ERRNO_1097", /* 1097 */
+	"ERRNO_1098", /* 1098 */
+	"ERRNO_1099", /* 1099 */
+	"ERRNO_1100", /* 1100 */
+	"ERRNO_1101", /* 1101 */
+	"ERRNO_1102", /* 1102 */
+	"ERRNO_1103", /* 1103 */
+	"ERRNO_1104", /* 1104 */
+	"ERRNO_1105", /* 1105 */
+	"ERRNO_1106", /* 1106 */
+	"ERRNO_1107", /* 1107 */
+	"ERRNO_1108", /* 1108 */
+	"ERRNO_1109", /* 1109 */
+	"ERRNO_1110", /* 1110 */
+	"ERRNO_1111", /* 1111 */
+	"ERRNO_1112", /* 1112 */
+	"ERRNO_1113", /* 1113 */
+	"ERRNO_1114", /* 1114 */
+	"ERRNO_1115", /* 1115 */
+	"ERRNO_1116", /* 1116 */
+	"ERRNO_1117", /* 1117 */
+	"ERRNO_1118", /* 1118 */
+	"ERRNO_1119", /* 1119 */
+	"ERRNO_1120", /* 1120 */
+	"ERRNO_1121", /* 1121 */
+	"ERRNO_1122", /* 1122 */
+	"ERRNO_1123", /* 1123 */
+	"ERRNO_1124", /* 1124 */
+	"ERRNO_1125", /* 1125 */
+	"ERRNO_1126", /* 1126 */
+	"ERRNO_1127", /* 1127 */
+	"ERRNO_1128", /* 1128 */
+	"ERRNO_1129", /* 1129 */
+	"ERRNO_1130", /* 1130 */
+	"ERRNO_1131", /* 1131 */
+	"ERRNO_1132", /* 1132 */
+	"EDQUOT", /* 1133 */
+	"EMAXERRNO", /* 1134 */
diff --git a/strace-4.5.20/linux/mips/ioctlent.h b/strace-4.5.20/linux/mips/ioctlent.h
new file mode 100644
index 0000000..c1d6b8a
--- /dev/null
+++ b/strace-4.5.20/linux/mips/ioctlent.h
@@ -0,0 +1,838 @@
+	{"linux/fs.h",	"FIBMAP",	0x1},
+	{"linux/fs.h",	"FIGETBSZ",	0x2},
+	{"linux/fd.h",	"FDGETPRM",	0x204},
+	{"linux/fd.h",	"FDGETMAXERRS",	0x20e},
+	{"linux/fd.h",	"FDGETDRVTYP",	0x20f},
+	{"linux/fd.h",	"FDGETDRVPRM",	0x211},
+	{"linux/fd.h",	"FDGETDRVSTAT",	0x212},
+	{"linux/fd.h",	"FDPOLLDRVSTAT",	0x213},
+	{"linux/fd.h",	"FDGETFDCSTAT",	0x215},
+	{"linux/fd.h",	"FDWERRORGET",	0x217},
+	{"linux/fd.h",	"FDCLRPRM",	0x241},
+	{"linux/fd.h",	"FDSETPRM",	0x242},
+	{"linux/fd.h",	"FDDEFPRM",	0x243},
+	{"linux/fd.h",	"FDMSGON",	0x245},
+	{"linux/fd.h",	"FDMSGOFF",	0x246},
+	{"linux/fd.h",	"FDFMTBEG",	0x247},
+	{"linux/fd.h",	"FDFMTTRK",	0x248},
+	{"linux/fd.h",	"FDFMTEND",	0x249},
+	{"linux/fd.h",	"FDSETEMSGTRESH",	0x24a},
+	{"linux/fd.h",	"FDFLUSH",	0x24b},
+	{"linux/fd.h",	"FDSETMAXERRS",	0x24c},
+	{"linux/fd.h",	"FDRESET",	0x254},
+	{"linux/fd.h",	"FDWERRORCLR",	0x256},
+	{"linux/fd.h",	"FDRAWCMD",	0x258},
+	{"linux/fd.h",	"FDTWADDLE",	0x259},
+	{"linux/fd.h",	"FDEJECT",	0x25a},
+	{"linux/fd.h",	"FDSETDRVPRM",	0x290},
+	{"linux/umsdos_fs.h",	"UMSDOS_READDIR_DOS",	0x4d2},
+	{"linux/umsdos_fs.h",	"UMSDOS_UNLINK_DOS",	0x4d3},
+	{"linux/umsdos_fs.h",	"UMSDOS_RMDIR_DOS",	0x4d4},
+	{"linux/umsdos_fs.h",	"UMSDOS_STAT_DOS",	0x4d5},
+	{"linux/umsdos_fs.h",	"UMSDOS_CREAT_EMD",	0x4d6},
+	{"linux/umsdos_fs.h",	"UMSDOS_UNLINK_EMD",	0x4d7},
+	{"linux/umsdos_fs.h",	"UMSDOS_READDIR_EMD",	0x4d8},
+	{"linux/umsdos_fs.h",	"UMSDOS_GETVERSION",	0x4d9},
+	{"linux/umsdos_fs.h",	"UMSDOS_INIT_EMD",	0x4da},
+	{"linux/umsdos_fs.h",	"UMSDOS_DOS_SETUP",	0x4db},
+	{"linux/umsdos_fs.h",	"UMSDOS_RENAME_DOS",	0x4dc},
+	{"linux/fs.h",	"BLKROSET",	0x125d},
+	{"linux/fs.h",	"BLKROGET",	0x125e},
+	{"linux/fs.h",	"BLKRRPART",	0x125f},
+	{"linux/fs.h",	"BLKGETSIZE",	0x1260},
+	{"linux/fs.h",	"BLKFLSBUF",	0x1261},
+	{"linux/fs.h",	"BLKRASET",	0x1262},
+	{"linux/fs.h",	"BLKRAGET",	0x1263},
+	{"linux/fs.h",	"BLKFRASET",	0x1264},
+	{"linux/fs.h",	"BLKFRAGET",	0x1265},
+	{"linux/fs.h",	"BLKSECTSET",	0x1266},
+	{"linux/fs.h",	"BLKSECTGET",	0x1267},
+	{"linux/fs.h",	"BLKSSZGET",	0x1268},
+	{"linux/blkpg.h",	"BLKPG",	0x1269},
+	{"linux/fs.h",	"BLKPG",	0x1269},
+	{"linux/elevator.h",	"BLKELVGET",	0x126a},
+	{"linux/fs.h",	"BLKELVGET",	0x126a},
+	{"linux/elevator.h",	"BLKELVSET",	0x126b},
+	{"linux/fs.h",	"BLKELVSET",	0x126b},
+	{"linux/fs.h",	"BLKBSZGET",	0x1270},
+	{"linux/fs.h",	"BLKBSZSET",	0x1271},
+	{"linux/fs.h",	"BLKGETSIZE64",	0x1272},
+	{"linux/agpgart.h",	"AGPIOC_INFO",	0x4100},
+	{"linux/agpgart.h",	"AGPIOC_ACQUIRE",	0x4101},
+	{"linux/apm_bios.h",	"APM_IOC_STANDBY",	0x4101},
+	{"linux/agpgart.h",	"AGPIOC_RELEASE",	0x4102},
+	{"linux/apm_bios.h",	"APM_IOC_SUSPEND",	0x4102},
+	{"linux/agpgart.h",	"AGPIOC_SETUP",	0x4103},
+	{"linux/agpgart.h",	"AGPIOC_RESERVE",	0x4104},
+	{"linux/agpgart.h",	"AGPIOC_PROTECT",	0x4105},
+	{"linux/agpgart.h",	"AGPIOC_ALLOCATE",	0x4106},
+	{"linux/agpgart.h",	"AGPIOC_DEALLOCATE",	0x4107},
+	{"linux/agpgart.h",	"AGPIOC_BIND",	0x4108},
+	{"linux/agpgart.h",	"AGPIOC_UNBIND",	0x4109},
+	{"linux/pmu.h",	"PMU_IOC_SLEEP",	0x4200},
+	{"linux/cciss_ioctl.h",	"CCISS_GETPCIINFO",	0x4201},
+	{"linux/pmu.h",	"PMU_IOC_GET_BACKLIGHT",	0x4201},
+	{"linux/cciss_ioctl.h",	"CCISS_GETINTINFO",	0x4202},
+	{"linux/pmu.h",	"PMU_IOC_SET_BACKLIGHT",	0x4202},
+	{"linux/cciss_ioctl.h",	"CCISS_SETINTINFO",	0x4203},
+	{"linux/pmu.h",	"PMU_IOC_GET_MODEL",	0x4203},
+	{"linux/cciss_ioctl.h",	"CCISS_GETNODENAME",	0x4204},
+	{"linux/pmu.h",	"PMU_IOC_HAS_ADB",	0x4204},
+	{"linux/cciss_ioctl.h",	"CCISS_SETNODENAME",	0x4205},
+	{"linux/pmu.h",	"PMU_IOC_CAN_SLEEP",	0x4205},
+	{"linux/cciss_ioctl.h",	"CCISS_GETHEARTBEAT",	0x4206},
+	{"linux/cciss_ioctl.h",	"CCISS_GETBUSTYPES",	0x4207},
+	{"linux/cciss_ioctl.h",	"CCISS_GETFIRMVER",	0x4208},
+	{"linux/cciss_ioctl.h",	"CCISS_GETDRIVVER",	0x4209},
+	{"linux/cciss_ioctl.h",	"CCISS_REVALIDVOLS",	0x420a},
+	{"linux/cciss_ioctl.h",	"CCISS_PASSTHRU",	0x420b},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RESET",	0x4300},
+	{"linux/capi.h",	"CAPI_REGISTER",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_LOAD",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RDATA",	0x4302},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCODE",	0x4303},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WDATA",	0x4304},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WCODE",	0x4305},
+	{"linux/capi.h",	"CAPI_GET_MANUFACTURER",	0x4306},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RUN",	0x4306},
+	{"linux/capi.h",	"CAPI_GET_VERSION",	0x4307},
+	{"linux/soundcard.h",	"SNDCTL_COPR_HALT",	0x4307},
+	{"linux/capi.h",	"CAPI_GET_SERIAL",	0x4308},
+	{"linux/soundcard.h",	"SNDCTL_COPR_SENDMSG",	0x4308},
+	{"linux/capi.h",	"CAPI_GET_PROFILE",	0x4309},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCVMSG",	0x4309},
+	{"linux/capi.h",	"CAPI_MANUFACTURER_CMD",	0x4320},
+	{"linux/capi.h",	"CAPI_GET_ERRCODE",	0x4321},
+	{"linux/capi.h",	"CAPI_INSTALLED",	0x4322},
+	{"linux/capi.h",	"CAPI_GET_FLAGS",	0x4323},
+	{"linux/capi.h",	"CAPI_SET_FLAGS",	0x4324},
+	{"linux/capi.h",	"CAPI_CLR_FLAGS",	0x4325},
+	{"linux/capi.h",	"CAPI_NCCI_OPENCOUNT",	0x4326},
+	{"linux/capi.h",	"CAPI_NCCI_GETUNIT",	0x4327},
+	{"linux/input.h",	"EVIOCGVERSION",	0x4501},
+	{"linux/input.h",	"EVIOCGID",	0x4502},
+	{"linux/input.h",	"EVIOCGREP",	0x4503},
+	{"linux/input.h",	"EVIOCSREP",	0x4503},
+	{"linux/input.h",	"EVIOCGKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCSKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCGKEY",	0x4505},
+	{"linux/input.h",	"EVIOCGBUS",	0x4507},
+	{"linux/input.h",	"EVIOCRMFF",	0x4581},
+	{"linux/input.h",	"EVIOCSGAIN",	0x4582},
+	{"linux/input.h",	"EVIOCSAUTOCENTER",	0x4583},
+	{"linux/input.h",	"EVIOCGEFFECTS",	0x4584},
+	{"linux/fb.h",	"FBIOGET_VBLANK",	0x4612},
+	{"linux/hiddev.h",	"HIDIOCGVERSION",	0x4801},
+	{"linux/hiddev.h",	"HIDIOCAPPLICATION",	0x4802},
+	{"linux/hiddev.h",	"HIDIOCGDEVINFO",	0x4803},
+	{"linux/hiddev.h",	"HIDIOCGSTRING",	0x4804},
+	{"linux/hiddev.h",	"HIDIOCINITREPORT",	0x4805},
+	{"linux/hiddev.h",	"HIDIOCGREPORT",	0x4807},
+	{"linux/hiddev.h",	"HIDIOCSREPORT",	0x4808},
+	{"linux/hiddev.h",	"HIDIOCGREPORTINFO",	0x4809},
+	{"linux/hiddev.h",	"HIDIOCGFIELDINFO",	0x480a},
+	{"linux/hiddev.h",	"HIDIOCGUSAGE",	0x480b},
+	{"linux/hiddev.h",	"HIDIOCSUSAGE",	0x480c},
+	{"linux/hiddev.h",	"HIDIOCGUCODE",	0x480d},
+	{"linux/isdn.h",	"IIOCNETAIF",	0x4901},
+	{"linux/isdn.h",	"IIOCNETDIF",	0x4902},
+	{"linux/isdn.h",	"IIOCNETSCF",	0x4903},
+	{"linux/isdn.h",	"IIOCNETGCF",	0x4904},
+	{"linux/isdn.h",	"IIOCNETANM",	0x4905},
+	{"linux/isdn.h",	"IIOCNETDNM",	0x4906},
+	{"linux/isdn.h",	"IIOCNETGNM",	0x4907},
+	{"linux/isdn.h",	"IIOCGETSET",	0x4908},
+	{"linux/isdn.h",	"IIOCSETSET",	0x4909},
+	{"linux/isdn.h",	"IIOCSETVER",	0x490a},
+	{"linux/isdn.h",	"IIOCNETHUP",	0x490b},
+	{"linux/isdn.h",	"IIOCSETGST",	0x490c},
+	{"linux/isdn.h",	"IIOCSETBRJ",	0x490d},
+	{"linux/isdn.h",	"IIOCSIGPRF",	0x490e},
+	{"linux/isdn.h",	"IIOCGETPRF",	0x490f},
+	{"linux/isdn.h",	"IIOCSETPRF",	0x4910},
+	{"linux/isdn.h",	"IIOCGETMAP",	0x4911},
+	{"linux/isdn.h",	"IIOCSETMAP",	0x4912},
+	{"linux/isdn.h",	"IIOCNETASL",	0x4913},
+	{"linux/isdn.h",	"IIOCNETDIL",	0x4914},
+	{"linux/isdn.h",	"IIOCGETCPS",	0x4915},
+	{"linux/isdn.h",	"IIOCGETDVR",	0x4916},
+	{"linux/isdn.h",	"IIOCNETLCR",	0x4917},
+	{"linux/isdn.h",	"IIOCNETDWRSET",	0x4918},
+	{"linux/isdn.h",	"IIOCNETALN",	0x4920},
+	{"linux/isdn.h",	"IIOCNETDLN",	0x4921},
+	{"linux/isdn.h",	"IIOCNETGPN",	0x4922},
+	{"linux/isdn.h",	"IIOCDBGVAR",	0x497f},
+	{"linux/isdn.h",	"IIOCDRVCTL",	0x4980},
+	{"linux/soundcard.h",	"SOUND_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_OLD_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_MIXER_ACCESS",	0x4d66},
+	{"linux/soundcard.h",	"SOUND_MIXER_AGC",	0x4d67},
+	{"linux/soundcard.h",	"SOUND_MIXER_3DSE",	0x4d68},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE1",	0x4d6f},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE2",	0x4d70},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE3",	0x4d71},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE4",	0x4d72},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE5",	0x4d73},
+	{"linux/soundcard.h",	"SOUND_MIXER_GETLEVELS",	0x4d74},
+	{"linux/soundcard.h",	"SOUND_MIXER_SETLEVELS",	0x4d75},
+	{"linux/soundcard.h",	"OSS_GETVERSION",	0x4d76},
+	{"linux/soundcard.h",	"SNDCTL_DSP_RESET",	0x5000},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SYNC",	0x5001},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SPEED",	0x5002},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_RATE",	0x5002},
+	{"linux/soundcard.h",	"SNDCTL_DSP_STEREO",	0x5003},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETBLKSIZE",	0x5004},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFMT",	0x5005},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_BITS",	0x5005},
+	{"linux/soundcard.h",	"SNDCTL_DSP_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_WRITE_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SNDCTL_DSP_POST",	0x5008},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SUBDIVIDE",	0x5009},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFRAGMENT",	0x500a},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETFMTS",	0x500b},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOSPACE",	0x500c},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETISPACE",	0x500d},
+	{"linux/soundcard.h",	"SNDCTL_DSP_NONBLOCK",	0x500e},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCAPS",	0x500f},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETIPTR",	0x5011},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOPTR",	0x5012},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPINBUF",	0x5013},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPOUTBUF",	0x5014},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSYNCRO",	0x5015},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETDUPLEX",	0x5016},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETODELAY",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_PROFILE",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCHANNELMASK",	0x5040},
+	{"linux/soundcard.h",	"SNDCTL_DSP_BIND_CHANNEL",	0x5041},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSPDIF",	0x5042},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETSPDIF",	0x5043},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESET",	0x5100},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_SYNC",	0x5101},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_INFO",	0x5102},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_CTRLRATE",	0x5103},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETOUTCOUNT",	0x5104},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETINCOUNT",	0x5105},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PERCMODE",	0x5106},
+	{"linux/soundcard.h",	"SNDCTL_FM_LOAD_INSTR",	0x5107},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_TESTMIDI",	0x5108},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESETSAMPLES",	0x5109},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRSYNTHS",	0x510a},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRMIDIS",	0x510b},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_INFO",	0x510c},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_THRESHOLD",	0x510d},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_MEMAVL",	0x510e},
+	{"linux/soundcard.h",	"SNDCTL_FM_4OP_ENABLE",	0x510f},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PANIC",	0x5111},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_OUTOFBAND",	0x5112},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETTIME",	0x5113},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_ID",	0x5114},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_CONTROL",	0x5115},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_REMOVESAMPLE",	0x5116},
+	{"linux/random.h",	"RNDGETENTCNT",	0x5200},
+	{"linux/random.h",	"RNDADDTOENTCNT",	0x5201},
+	{"linux/random.h",	"RNDGETPOOL",	0x5202},
+	{"linux/random.h",	"RNDADDENTROPY",	0x5203},
+	{"linux/random.h",	"RNDZAPENTCNT",	0x5204},
+	{"linux/random.h",	"RNDCLEARPOOL",	0x5206},
+	{"asm/ioctls.h",	"TCGETS",	0x5401},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TIMEBASE",	0x5401},
+	{"asm/ioctls.h",	"TCSETS",	0x5402},
+	{"linux/soundcard.h",	"SNDCTL_TMR_START",	0x5402},
+	{"asm/ioctls.h",	"TCSETSW",	0x5403},
+	{"linux/soundcard.h",	"SNDCTL_TMR_STOP",	0x5403},
+	{"asm/ioctls.h",	"TCSETSF",	0x5404},
+	{"linux/soundcard.h",	"SNDCTL_TMR_CONTINUE",	0x5404},
+	{"asm/ioctls.h",	"TCGETA",	0x5405},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TEMPO",	0x5405},
+	{"asm/ioctls.h",	"TCSETA",	0x5406},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SOURCE",	0x5406},
+	{"asm/ioctls.h",	"TCSETAW",	0x5407},
+	{"linux/soundcard.h",	"SNDCTL_TMR_METRONOME",	0x5407},
+	{"asm/ioctls.h",	"TCSETAF",	0x5408},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SELECT",	0x5408},
+	{"asm/ioctls.h",	"TCSBRK",	0x5409},
+	{"asm/ioctls.h",	"TCXONC",	0x540a},
+	{"asm/ioctls.h",	"TCFLSH",	0x540b},
+	{"asm/ioctls.h",	"TIOCEXCL",	0x540c},
+	{"asm/ioctls.h",	"TIOCNXCL",	0x540d},
+	{"asm/ioctls.h",	"TIOCSCTTY",	0x540e},
+	{"asm/ioctls.h",	"TIOCGPGRP",	0x540f},
+	{"asm/ioctls.h",	"TIOCSPGRP",	0x5410},
+	{"asm/ioctls.h",	"TIOCOUTQ",	0x5411},
+	{"asm/ioctls.h",	"TIOCSTI",	0x5412},
+	{"asm/ioctls.h",	"TIOCGWINSZ",	0x5413},
+	{"asm/ioctls.h",	"TIOCSWINSZ",	0x5414},
+	{"asm/ioctls.h",	"TIOCMGET",	0x5415},
+	{"asm/ioctls.h",	"TIOCMBIS",	0x5416},
+	{"asm/ioctls.h",	"TIOCMBIC",	0x5417},
+	{"asm/ioctls.h",	"TIOCMSET",	0x5418},
+	{"asm/ioctls.h",	"TIOCGSOFTCAR",	0x5419},
+	{"asm/ioctls.h",	"TIOCSSOFTCAR",	0x541a},
+	{"asm/ioctls.h",	"FIONREAD",	0x541b},
+	{"asm/ioctls.h",	"TIOCLINUX",	0x541c},
+	{"asm/ioctls.h",	"TIOCCONS",	0x541d},
+	{"asm/ioctls.h",	"TIOCGSERIAL",	0x541e},
+	{"asm/ioctls.h",	"TIOCSSERIAL",	0x541f},
+	{"asm/ioctls.h",	"TIOCPKT",	0x5420},
+	{"asm/ioctls.h",	"FIONBIO",	0x5421},
+	{"asm/ioctls.h",	"TIOCNOTTY",	0x5422},
+	{"asm/ioctls.h",	"TIOCSETD",	0x5423},
+	{"asm/ioctls.h",	"TIOCGETD",	0x5424},
+	{"asm/ioctls.h",	"TCSBRKP",	0x5425},
+	{"asm/ioctls.h",	"TIOCTTYGSTRUCT",	0x5426},
+	{"asm/ioctls.h",	"TIOCSBRK",	0x5427},
+	{"asm/ioctls.h",	"TIOCCBRK",	0x5428},
+	{"asm/ioctls.h",	"TIOCGSID",	0x5429},
+	{"asm/ioctls.h",	"TIOCGPTN",	0x5430},
+	{"asm/ioctls.h",	"TIOCSPTLCK",	0x5431},
+	{"asm/ioctls.h",	"FIONCLEX",	0x5450},
+	{"asm/ioctls.h",	"FIOCLEX",	0x5451},
+	{"asm/ioctls.h",	"FIOASYNC",	0x5452},
+	{"asm/ioctls.h",	"TIOCSERCONFIG",	0x5453},
+	{"asm/ioctls.h",	"TIOCSERGWILD",	0x5454},
+	{"asm/ioctls.h",	"TIOCSERSWILD",	0x5455},
+	{"asm/ioctls.h",	"TIOCGLCKTRMIOS",	0x5456},
+	{"asm/ioctls.h",	"TIOCSLCKTRMIOS",	0x5457},
+	{"asm/ioctls.h",	"TIOCSERGSTRUCT",	0x5458},
+	{"asm/ioctls.h",	"TIOCSERGETLSR",	0x5459},
+	{"asm/ioctls.h",	"TIOCSERGETMULTI",	0x545a},
+	{"asm/ioctls.h",	"TIOCSERSETMULTI",	0x545b},
+	{"asm/ioctls.h",	"TIOCMIWAIT",	0x545c},
+	{"asm/ioctls.h",	"TIOCGICOUNT",	0x545d},
+	{"asm/ioctls.h",	"TIOCGHAYESESP",	0x545e},
+	{"asm/ioctls.h",	"TIOCSHAYESESP",	0x545f},
+	{"linux/if_tun.h",	"TUNSETNOCSUM",	0x54c8},
+	{"linux/if_tun.h",	"TUNSETDEBUG",	0x54c9},
+	{"linux/if_tun.h",	"TUNSETIFF",	0x54ca},
+	{"linux/if_tun.h",	"TUNSETPERSIST",	0x54cb},
+	{"linux/if_tun.h",	"TUNSETOWNER",	0x54cc},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONTROL",	0x5500},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_BULK",	0x5502},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESETEP",	0x5503},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETINTERFACE",	0x5504},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETCONFIGURATION",	0x5505},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_GETDRIVER",	0x5508},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SUBMITURB",	0x550a},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCARDURB",	0x550b},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURB",	0x550c},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURBNDELAY",	0x550d},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCSIGNAL",	0x550e},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLAIMINTERFACE",	0x550f},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RELEASEINTERFACE",	0x5510},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONNECTINFO",	0x5511},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_IOCTL",	0x5512},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_HUB_PORTINFO",	0x5513},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESET",	0x5514},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLEAR_HALT",	0x5515},
+	{"linux/watchdog.h",	"WDIOC_GETSUPPORT",	0x5700},
+	{"linux/watchdog.h",	"WDIOC_GETSTATUS",	0x5701},
+	{"linux/watchdog.h",	"WDIOC_GETBOOTSTATUS",	0x5702},
+	{"linux/watchdog.h",	"WDIOC_GETTEMP",	0x5703},
+	{"linux/watchdog.h",	"WDIOC_SETOPTIONS",	0x5704},
+	{"linux/watchdog.h",	"WDIOC_KEEPALIVE",	0x5705},
+	{"linux/watchdog.h",	"WDIOC_SETTIMEOUT",	0x5706},
+	{"linux/watchdog.h",	"WDIOC_GETTIMEOUT",	0x5707},
+	{"linux/ite_gpio.h",	"ITE_GPIO_IN",	0x5a00},
+	{"linux/ite_gpio.h",	"ITE_GPIO_OUT",	0x5a01},
+	{"linux/ite_gpio.h",	"ITE_GPIO_INT_CTRL",	0x5a02},
+	{"linux/ite_gpio.h",	"ITE_GPIO_IN_STATUS",	0x5a03},
+	{"linux/ite_gpio.h",	"ITE_GPIO_OUT_STATUS",	0x5a04},
+	{"linux/ite_gpio.h",	"ITE_GPIO_GEN_CTRL",	0x5a05},
+	{"linux/ite_gpio.h",	"ITE_GPIO_INT_WAIT",	0x5a06},
+	{"linux/sonet.h",	"SONET_GETSTAT",	0x6110},
+	{"linux/sonet.h",	"SONET_GETSTATZ",	0x6111},
+	{"linux/sonet.h",	"SONET_SETDIAG",	0x6112},
+	{"linux/sonet.h",	"SONET_CLRDIAG",	0x6113},
+	{"linux/sonet.h",	"SONET_GETDIAG",	0x6114},
+	{"linux/sonet.h",	"SONET_SETFRAMING",	0x6115},
+	{"linux/sonet.h",	"SONET_GETFRAMING",	0x6116},
+	{"linux/sonet.h",	"SONET_GETFRSENSE",	0x6117},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTAT",	0x6132},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTATZ",	0x6133},
+	{"linux/atmdev.h",	"ATM_GETSTAT",	0x6150},
+	{"linux/atmdev.h",	"ATM_GETSTATZ",	0x6151},
+	{"linux/atmdev.h",	"ATM_GETLOOP",	0x6152},
+	{"linux/atmdev.h",	"ATM_SETLOOP",	0x6153},
+	{"linux/atmdev.h",	"ATM_QUERYLOOP",	0x6154},
+	{"linux/atm_eni.h",	"ENI_MEMDUMP",	0x6160},
+	{"linux/atm_nicstar.h",	"NS_GETPSTAT",	0x6161},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOL",	0x6161},
+	{"linux/atm_nicstar.h",	"NS_SETBUFLEV",	0x6162},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOLZ",	0x6162},
+	{"linux/atm_nicstar.h",	"NS_ADJBUFLEV",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_SETPOOL",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_GETTHIST",	0x6164},
+	{"linux/atm_eni.h",	"ENI_SETMULT",	0x6167},
+	{"linux/atm_tcp.h",	"SIOCSIFATMTCP",	0x6180},
+	{"linux/atmdev.h",	"ATM_GETLINKRATE",	0x6181},
+	{"linux/atmdev.h",	"ATM_GETNAMES",	0x6183},
+	{"linux/atmdev.h",	"ATM_GETTYPE",	0x6184},
+	{"linux/atmdev.h",	"ATM_GETESI",	0x6185},
+	{"linux/atmdev.h",	"ATM_GETADDR",	0x6186},
+	{"linux/atmdev.h",	"ATM_RSTADDR",	0x6187},
+	{"linux/atmdev.h",	"ATM_ADDADDR",	0x6188},
+	{"linux/atmdev.h",	"ATM_DELADDR",	0x6189},
+	{"linux/atmdev.h",	"ATM_GETCIRANGE",	0x618a},
+	{"linux/atmdev.h",	"ATM_SETCIRANGE",	0x618b},
+	{"linux/atmdev.h",	"ATM_SETESI",	0x618c},
+	{"linux/atmdev.h",	"ATM_SETESIF",	0x618d},
+	{"linux/atm_tcp.h",	"ATMTCP_CREATE",	0x618e},
+	{"linux/atm_tcp.h",	"ATMTCP_REMOVE",	0x618f},
+	{"linux/atmlec.h",	"ATMLEC_CTRL",	0x61d0},
+	{"linux/atmlec.h",	"ATMLEC_DATA",	0x61d1},
+	{"linux/atmlec.h",	"ATMLEC_MCAST",	0x61d2},
+	{"linux/atmmpc.h",	"ATMMPC_CTRL",	0x61d8},
+	{"linux/atmmpc.h",	"ATMMPC_DATA",	0x61d9},
+	{"linux/atmclip.h",	"SIOCMKCLIP",	0x61e0},
+	{"linux/atmarp.h",	"ATMARPD_CTRL",	0x61e1},
+	{"linux/atmarp.h",	"ATMARP_MKIP",	0x61e2},
+	{"linux/atmarp.h",	"ATMARP_SETENTRY",	0x61e3},
+	{"linux/atmarp.h",	"ATMARP_ENCAP",	0x61e5},
+	{"linux/atmsvc.h",	"ATMSIGD_CTRL",	0x61f0},
+	{"linux/atmdev.h",	"ATM_SETSC",	0x61f1},
+	{"linux/atmdev.h",	"ATM_SETBACKEND",	0x61f2},
+	{"linux/coda.h",	"CIOC_KERNEL_VERSION",	0x630a},
+	{"linux/comstats.h",	"COM_GETPORTSTATS",	0x631e},
+	{"linux/comstats.h",	"COM_CLRPORTSTATS",	0x631f},
+	{"linux/comstats.h",	"COM_GETBRDSTATS",	0x6320},
+	{"linux/comstats.h",	"COM_READPORT",	0x6328},
+	{"linux/comstats.h",	"COM_READBOARD",	0x6329},
+	{"linux/comstats.h",	"COM_READPANEL",	0x632a},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_GET_PROTO_REV",	0x6400},
+	{"linux/video_decoder.h",	"DECODER_GET_CAPABILITIES",	0x6401},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_SET_EVENT_MASK",	0x6402},
+	{"linux/video_decoder.h",	"DECODER_GET_STATUS",	0x6402},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_RELEASE_EVENT_QUEUE",	0x6403},
+	{"linux/video_decoder.h",	"DECODER_SET_NORM",	0x6403},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_SET_DEBUG_MASK",	0x6404},
+	{"linux/video_decoder.h",	"DECODER_SET_INPUT",	0x6404},
+	{"linux/video_decoder.h",	"DECODER_SET_OUTPUT",	0x6405},
+	{"linux/video_decoder.h",	"DECODER_ENABLE_OUTPUT",	0x6406},
+	{"linux/video_decoder.h",	"DECODER_SET_PICTURE",	0x6407},
+	{"linux/video_decoder.h",	"DECODER_DUMP",	0x64c0},
+	{"linux/video_encoder.h",	"ENCODER_GET_CAPABILITIES",	0x6501},
+	{"linux/video_encoder.h",	"ENCODER_SET_NORM",	0x6502},
+	{"linux/video_encoder.h",	"ENCODER_SET_INPUT",	0x6503},
+	{"linux/video_encoder.h",	"ENCODER_SET_OUTPUT",	0x6504},
+	{"linux/video_encoder.h",	"ENCODER_ENABLE_OUTPUT",	0x6505},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETFLAGS",	0x6601},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETFLAGS",	0x6601},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETFLAGS",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETFLAGS",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION",	0x6603},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION",	0x6604},
+	{"linux/ext3_fs.h",	"EXT3_IOC_WAIT_FOR_READONLY",	0x6663},
+	{"linux/i2o-dev.h",	"I2OGETIOPS",	0x6900},
+	{"linux/i2o-dev.h",	"I2OHRTGET",	0x6901},
+	{"linux/i2o-dev.h",	"I2OLCTGET",	0x6902},
+	{"linux/i2o-dev.h",	"I2OPARMSET",	0x6903},
+	{"linux/i2o-dev.h",	"I2OPARMGET",	0x6904},
+	{"linux/i2o-dev.h",	"I2OSWDL",	0x6905},
+	{"linux/i2o-dev.h",	"I2OSWUL",	0x6906},
+	{"linux/i2o-dev.h",	"I2OSWDEL",	0x6907},
+	{"linux/i2o-dev.h",	"I2OVALIDATE",	0x6908},
+	{"linux/i2o-dev.h",	"I2OHTML",	0x6909},
+	{"linux/i2o-dev.h",	"I2OEVTREG",	0x690a},
+	{"linux/i2o-dev.h",	"I2OEVTGET",	0x690b},
+	{"linux/i8k.h",	"I8K_BIOS_VERSION",	0x6980},
+	{"linux/i8k.h",	"I8K_MACHINE_ID",	0x6981},
+	{"linux/i8k.h",	"I8K_POWER_STATUS",	0x6982},
+	{"linux/i8k.h",	"I8K_FN_STATUS",	0x6983},
+	{"linux/i8k.h",	"I8K_GET_TEMP",	0x6984},
+	{"linux/i8k.h",	"I8K_GET_SPEED",	0x6985},
+	{"linux/i8k.h",	"I8K_GET_FAN",	0x6986},
+	{"linux/i8k.h",	"I8K_SET_FAN",	0x6987},
+	{"linux/joystick.h",	"JSIOCGVERSION",	0x6a01},
+	{"linux/joystick.h",	"JSIOCGAXES",	0x6a11},
+	{"linux/joystick.h",	"JSIOCGBUTTONS",	0x6a12},
+	{"linux/joystick.h",	"JSIOCSCORR",	0x6a21},
+	{"linux/joystick.h",	"JSIOCGCORR",	0x6a22},
+	{"linux/joystick.h",	"JSIOCSAXMAP",	0x6a31},
+	{"linux/joystick.h",	"JSIOCGAXMAP",	0x6a32},
+	{"linux/joystick.h",	"JSIOCSBTNMAP",	0x6a33},
+	{"linux/joystick.h",	"JSIOCGBTNMAP",	0x6a34},
+	{"linux/udf_fs_i.h",	"UDF_GETEASIZE",	0x6c40},
+	{"linux/udf_fs_i.h",	"UDF_GETEABLOCK",	0x6c41},
+	{"linux/udf_fs_i.h",	"UDF_GETVOLIDENT",	0x6c42},
+	{"linux/udf_fs_i.h",	"UDF_RELOCATE_BLOCKS",	0x6c43},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_PRETIME",	0x6d00},
+	{"linux/synclink.h",	"MGSL_IOCSPARAMS",	0x6d00},
+	{"linux/mtio.h",	"MTIOCTOP",	0x6d01},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUMODE",	0x6d01},
+	{"linux/synclink.h",	"MGSL_IOCGPARAMS",	0x6d01},
+	{"linux/mtio.h",	"MTIOCGET",	0x6d02},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUCMD",	0x6d02},
+	{"linux/synclink.h",	"MGSL_IOCSTXIDLE",	0x6d02},
+	{"linux/mtio.h",	"MTIOCPOS",	0x6d03},
+	{"linux/synclink.h",	"MGSL_IOCGTXIDLE",	0x6d03},
+	{"linux/mtio.h",	"MTIOCGETCONFIG",	0x6d04},
+	{"linux/synclink.h",	"MGSL_IOCTXENABLE",	0x6d04},
+	{"linux/mtio.h",	"MTIOCSETCONFIG",	0x6d05},
+	{"linux/synclink.h",	"MGSL_IOCRXENABLE",	0x6d05},
+	{"linux/mtio.h",	"MTIOCRDFTSEG",	0x6d06},
+	{"linux/synclink.h",	"MGSL_IOCTXABORT",	0x6d06},
+	{"linux/mtio.h",	"MTIOCWRFTSEG",	0x6d07},
+	{"linux/synclink.h",	"MGSL_IOCGSTATS",	0x6d07},
+	{"linux/mtio.h",	"MTIOCVOLINFO",	0x6d08},
+	{"linux/synclink.h",	"MGSL_IOCWAITEVENT",	0x6d08},
+	{"linux/mtio.h",	"MTIOCGETSIZE",	0x6d09},
+	{"linux/synclink.h",	"MGSL_IOCLOOPTXDONE",	0x6d09},
+	{"linux/mtio.h",	"MTIOCFTFORMAT",	0x6d0a},
+	{"linux/mtio.h",	"MTIOCFTCMD",	0x6d0b},
+	{"linux/synclink.h",	"MGSL_IOCCLRMODCOUNT",	0x6d0f},
+	{"linux/zftape.h",	"MTIOC_ZFTAPE_GETBLKSZ",	0x6d68},
+	{"linux/ncp_fs.h",	"NCP_IOC_NCPREQUEST",	0x6e01},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID2",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_CONN_LOGGED_IN",	0x6e03},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO_V2",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_INIT",	0x6e05},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_SET_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_LOCKUNLOCK",	0x6e07},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETDENTRYTTL",	0x6e0c},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETDENTRYTTL",	0x6e0c},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_GET_AVAILABLE_OUTPUTS",	0x6ef9},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_GET_ALL_OUTPUTS",	0x6efb},
+	{"linux/rtc.h",	"RTC_AIE_ON",	0x7001},
+	{"linux/rtc.h",	"RTC_AIE_OFF",	0x7002},
+	{"linux/intermezzo_fs.h",	"PRESTO_GETMOUNT",	0x7003},
+	{"linux/rtc.h",	"RTC_UIE_ON",	0x7003},
+	{"linux/intermezzo_fs.h",	"PRESTO_SETPID",	0x7004},
+	{"linux/rtc.h",	"RTC_UIE_OFF",	0x7004},
+	{"linux/rtc.h",	"RTC_PIE_ON",	0x7005},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLOSE_JOURNALF",	0x7006},
+	{"linux/rtc.h",	"RTC_PIE_OFF",	0x7006},
+	{"linux/intermezzo_fs.h",	"PRESTO_SET_FSETROOT",	0x7007},
+	{"linux/rtc.h",	"RTC_ALM_SET",	0x7007},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLEAR_FSETROOT",	0x7008},
+	{"linux/rtc.h",	"RTC_ALM_READ",	0x7008},
+	{"linux/intermezzo_fs.h",	"PRESTO_SETOPT",	0x7009},
+	{"linux/rtc.h",	"RTC_RD_TIME",	0x7009},
+	{"linux/intermezzo_fs.h",	"PRESTO_GETOPT",	0x700a},
+	{"linux/rtc.h",	"RTC_SET_TIME",	0x700a},
+	{"linux/intermezzo_fs.h",	"PRESTO_GET_KMLSIZE",	0x700b},
+	{"linux/rtc.h",	"RTC_IRQP_READ",	0x700b},
+	{"linux/intermezzo_fs.h",	"PRESTO_GET_RECNO",	0x700c},
+	{"linux/rtc.h",	"RTC_IRQP_SET",	0x700c},
+	{"linux/rtc.h",	"RTC_EPOCH_READ",	0x700d},
+	{"linux/rtc.h",	"RTC_EPOCH_SET",	0x700e},
+	{"linux/rtc.h",	"RTC_WIE_ON",	0x700f},
+	{"linux/rtc.h",	"RTC_WKALM_SET",	0x700f},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SETATTR",	0x7010},
+	{"linux/rtc.h",	"RTC_WIE_OFF",	0x7010},
+	{"linux/rtc.h",	"RTC_WKALM_RD",	0x7010},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_CREATE",	0x7011},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_LINK",	0x7012},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_UNLINK",	0x7013},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SYMLINK",	0x7014},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_MKDIR",	0x7015},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_RMDIR",	0x7016},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_MKNOD",	0x7017},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_RENAME",	0x7018},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_CLOSE",	0x701a},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_IOPEN",	0x701b},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SETEXTATTR",	0x701c},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_DELEXTATTR",	0x701d},
+	{"linux/intermezzo_fs.h",	"PRESTO_MARK",	0x7020},
+	{"linux/intermezzo_fs.h",	"PRESTO_RELEASE_PERMIT",	0x7021},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLEAR_ALL_FSETROOTS",	0x7022},
+	{"linux/intermezzo_fs.h",	"PRESTO_BACKFETCH_LML",	0x7023},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT",	0x7024},
+	{"linux/intermezzo_fs.h",	"PRESTO_CANCEL_LML",	0x7025},
+	{"linux/intermezzo_fs.h",	"PRESTO_RESET_FSET",	0x7026},
+	{"linux/intermezzo_fs.h",	"PRESTO_COMPLETE_CLOSES",	0x7027},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT_BEGIN",	0x7030},
+	{"linux/intermezzo_fs.h",	"PRESTO_DO_REINT",	0x7031},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT_END",	0x7032},
+	{"linux/nvram.h",	"NVRAM_INIT",	0x7040},
+	{"linux/nvram.h",	"NVRAM_SETCKS",	0x7041},
+	{"linux/ppdev.h",	"PPSETMODE",	0x7080},
+	{"linux/ppdev.h",	"PPRSTATUS",	0x7081},
+	{"linux/ppdev.h",	"PPRCONTROL",	0x7083},
+	{"linux/ppdev.h",	"PPWCONTROL",	0x7084},
+	{"linux/ppdev.h",	"PPRDATA",	0x7085},
+	{"linux/ppdev.h",	"PPWDATA",	0x7086},
+	{"linux/ppdev.h",	"PPCLAIM",	0x708b},
+	{"linux/ppdev.h",	"PPRELEASE",	0x708c},
+	{"linux/ppdev.h",	"PPYIELD",	0x708d},
+	{"linux/ppdev.h",	"PPFCONTROL",	0x708e},
+	{"linux/ppdev.h",	"PPEXCL",	0x708f},
+	{"linux/ppdev.h",	"PPDATADIR",	0x7090},
+	{"linux/ppdev.h",	"PPNEGOT",	0x7091},
+	{"linux/ppdev.h",	"PPWCTLONIRQ",	0x7092},
+	{"linux/ppdev.h",	"PPCLRIRQ",	0x7093},
+	{"linux/ppdev.h",	"PPSETPHASE",	0x7094},
+	{"linux/ppdev.h",	"PPGETTIME",	0x7095},
+	{"linux/ppdev.h",	"PPSETTIME",	0x7096},
+	{"linux/ppdev.h",	"PPGETMODES",	0x7097},
+	{"linux/ppdev.h",	"PPGETMODE",	0x7098},
+	{"linux/ppdev.h",	"PPGETPHASE",	0x7099},
+	{"linux/ppdev.h",	"PPGETFLAGS",	0x709a},
+	{"linux/ppdev.h",	"PPSETFLAGS",	0x709b},
+	{"linux/serio.h",	"SPIOCSTYPE",	0x7101},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES",	0x7180},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_LIST",	0x7181},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_CHECK",	0x7182},
+	{"linux/telephony.h",	"PHONE_RING",	0x7183},
+	{"linux/telephony.h",	"PHONE_HOOKSTATE",	0x7184},
+	{"linux/telephony.h",	"PHONE_MAXRINGS",	0x7185},
+	{"linux/telephony.h",	"PHONE_RING_CADENCE",	0x7186},
+	{"linux/telephony.h",	"OLD_PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_STOP",	0x7188},
+	{"linux/telephony.h",	"PHONE_REC_CODEC",	0x7189},
+	{"linux/telephony.h",	"PHONE_REC_START",	0x718a},
+	{"linux/telephony.h",	"PHONE_REC_STOP",	0x718b},
+	{"linux/telephony.h",	"PHONE_REC_DEPTH",	0x718c},
+	{"linux/telephony.h",	"PHONE_FRAME",	0x718d},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME",	0x718e},
+	{"linux/telephony.h",	"PHONE_REC_LEVEL",	0x718f},
+	{"linux/telephony.h",	"PHONE_PLAY_CODEC",	0x7190},
+	{"linux/telephony.h",	"PHONE_PLAY_START",	0x7191},
+	{"linux/telephony.h",	"PHONE_PLAY_STOP",	0x7192},
+	{"linux/telephony.h",	"PHONE_PLAY_DEPTH",	0x7193},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME",	0x7194},
+	{"linux/telephony.h",	"PHONE_PLAY_LEVEL",	0x7195},
+	{"linux/telephony.h",	"PHONE_DTMF_READY",	0x7196},
+	{"linux/telephony.h",	"PHONE_GET_DTMF",	0x7197},
+	{"linux/telephony.h",	"PHONE_GET_DTMF_ASCII",	0x7198},
+	{"linux/telephony.h",	"PHONE_DTMF_OOB",	0x7199},
+	{"linux/telephony.h",	"PHONE_EXCEPTION",	0x719a},
+	{"linux/telephony.h",	"PHONE_PLAY_TONE",	0x719b},
+	{"linux/telephony.h",	"PHONE_SET_TONE_ON_TIME",	0x719c},
+	{"linux/telephony.h",	"PHONE_SET_TONE_OFF_TIME",	0x719d},
+	{"linux/telephony.h",	"PHONE_GET_TONE_ON_TIME",	0x719e},
+	{"linux/telephony.h",	"PHONE_GET_TONE_OFF_TIME",	0x719f},
+	{"linux/telephony.h",	"PHONE_GET_TONE_STATE",	0x71a0},
+	{"linux/telephony.h",	"PHONE_BUSY",	0x71a1},
+	{"linux/telephony.h",	"PHONE_RINGBACK",	0x71a2},
+	{"linux/telephony.h",	"PHONE_DIALTONE",	0x71a3},
+	{"linux/telephony.h",	"PHONE_CPT_STOP",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_SET_STATE",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_GET_STATE",	0x71a5},
+	{"linux/telephony.h",	"PHONE_WINK_DURATION",	0x71a6},
+	{"linux/telephony.h",	"PHONE_QUERY_CODEC",	0x71a7},
+	{"linux/telephony.h",	"PHONE_PSTN_LINETEST",	0x71a8},
+	{"linux/telephony.h",	"PHONE_VAD",	0x71a9},
+	{"linux/telephony.h",	"PHONE_WINK",	0x71aa},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_RESET",	0x71c0},
+	{"linux/ixjuser.h",	"IXJCTL_CARDTYPE",	0x71c1},
+	{"linux/ixjuser.h",	"IXJCTL_SERIAL",	0x71c2},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_TYPE",	0x71c3},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_VERSION",	0x71c4},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_IDLE",	0x71c5},
+	{"linux/ixjuser.h",	"IXJCTL_TESTRAM",	0x71c6},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER",	0x71c7},
+	{"linux/ixjuser.h",	"IXJCTL_GET_FILTER_HIST",	0x71c8},
+	{"linux/ixjuser.h",	"IXJCTL_INIT_TONE",	0x71c9},
+	{"linux/ixjuser.h",	"IXJCTL_TONE_CADENCE",	0x71ca},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_START",	0x71cb},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_STOP",	0x71cc},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_GET_LEVEL",	0x71cd},
+	{"linux/ixjuser.h",	"IXJCTL_SET_LED",	0x71ce},
+	{"linux/ixjuser.h",	"IXJCTL_MIXER",	0x71cf},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_COEFF_SET",	0x71d0},
+	{"linux/ixjuser.h",	"IXJCTL_PORT",	0x71d1},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_AGAIN",	0x71d2},
+	{"linux/ixjuser.h",	"IXJCTL_PSTN_LINETEST",	0x71d3},
+	{"linux/ixjuser.h",	"IXJCTL_CID",	0x71d4},
+	{"linux/ixjuser.h",	"IXJCTL_POTS_PSTN",	0x71d5},
+	{"linux/ixjuser.h",	"IXJCTL_FILTER_CADENCE",	0x71d6},
+	{"linux/ixjuser.h",	"IXJCTL_PLAY_CID",	0x71d7},
+	{"linux/ixjuser.h",	"IXJCTL_VMWI",	0x71d8},
+	{"linux/ixjuser.h",	"IXJCTL_CIDCW",	0x71d9},
+	{"linux/ixjuser.h",	"IXJCTL_VERSION",	0x71da},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME_LINEAR",	0x71db},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME_LINEAR",	0x71dc},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER_RAW",	0x71dd},
+	{"linux/ixjuser.h",	"IXJCTL_HZ",	0x71e0},
+	{"linux/ixjuser.h",	"IXJCTL_RATE",	0x71e1},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_READ",	0x71e2},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_WRITTEN",	0x71e3},
+	{"linux/ixjuser.h",	"IXJCTL_READ_WAIT",	0x71e4},
+	{"linux/ixjuser.h",	"IXJCTL_WRITE_WAIT",	0x71e5},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_READ",	0x71e6},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_CLEAR",	0x71e7},
+	{"linux/ixjuser.h",	"IXJCTL_DTMF_PRESCALE",	0x71e8},
+	{"linux/ixjuser.h",	"IXJCTL_SIGCTL",	0x71e9},
+	{"linux/ixjuser.h",	"IXJCTL_SC_RXG",	0x71ea},
+	{"linux/ixjuser.h",	"IXJCTL_SC_TXG",	0x71eb},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_START",	0x71fd},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_STOP",	0x71fe},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_BOTH",	0x7201},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_SHORT",	0x7202},
+	{"linux/cdk.h",	"STL_BINTR",	0x7314},
+	{"linux/cdk.h",	"STL_BSTART",	0x7315},
+	{"linux/cdk.h",	"STL_BSTOP",	0x7316},
+	{"linux/cdk.h",	"STL_BRESET",	0x7317},
+	{"linux/cdk.h",	"STL_GETPFLAG",	0x7350},
+	{"linux/cdk.h",	"STL_SETPFLAG",	0x7351},
+	{"linux/if_ppp.h",	"PPPIOCGCHAN",	0x7437},
+	{"linux/if_ppp.h",	"PPPIOCATTCHAN",	0x7438},
+	{"linux/if_ppp.h",	"PPPIOCDISCONN",	0x7439},
+	{"linux/if_ppp.h",	"PPPIOCCONNECT",	0x743a},
+	{"linux/if_ppp.h",	"PPPIOCSMRRU",	0x743b},
+	{"linux/if_ppp.h",	"PPPIOCDETACH",	0x743c},
+	{"linux/if_ppp.h",	"PPPIOCATTACH",	0x743d},
+	{"linux/if_ppp.h",	"PPPIOCNEWUNIT",	0x743e},
+	{"linux/if_ppp.h",	"PPPIOCGIDLE",	0x743f},
+	{"linux/if_ppp.h",	"PPPIOCSDEBUG",	0x7440},
+	{"linux/if_ppp.h",	"PPPIOCGDEBUG",	0x7441},
+	{"linux/if_ppp.h",	"PPPIOCSACTIVE",	0x7446},
+	{"linux/if_ppp.h",	"PPPIOCSPASS",	0x7447},
+	{"linux/if_ppp.h",	"PPPIOCSNPMODE",	0x744b},
+	{"linux/if_ppp.h",	"PPPIOCGNPMODE",	0x744c},
+	{"linux/if_ppp.h",	"PPPIOCSCOMPRESS",	0x744d},
+	{"linux/if_ppp.h",	"PPPIOCXFERUNIT",	0x744e},
+	{"linux/if_ppp.h",	"PPPIOCSXASYNCMAP",	0x744f},
+	{"linux/if_ppp.h",	"PPPIOCGXASYNCMAP",	0x7450},
+	{"linux/if_ppp.h",	"PPPIOCSMAXCID",	0x7451},
+	{"linux/if_ppp.h",	"PPPIOCSMRU",	0x7452},
+	{"linux/if_ppp.h",	"PPPIOCGMRU",	0x7453},
+	{"linux/if_ppp.h",	"PPPIOCSRASYNCMAP",	0x7454},
+	{"linux/if_ppp.h",	"PPPIOCGRASYNCMAP",	0x7455},
+	{"linux/if_ppp.h",	"PPPIOCGUNIT",	0x7456},
+	{"linux/if_ppp.h",	"PPPIOCSASYNCMAP",	0x7457},
+	{"linux/if_ppp.h",	"PPPIOCGASYNCMAP",	0x7458},
+	{"linux/if_ppp.h",	"PPPIOCSFLAGS",	0x7459},
+	{"linux/if_ppp.h",	"PPPIOCGFLAGS",	0x745a},
+	{"linux/jffs.h",	"JFFS_PRINT_HASH",	0x745a},
+	{"linux/jffs.h",	"JFFS_PRINT_TREE",	0x745b},
+	{"linux/jffs.h",	"JFFS_GET_STATUS",	0x745c},
+	{"linux/isdn_ppp.h",	"PPPIOCGCALLINFO",	0x7480},
+	{"linux/isdn_ppp.h",	"PPPIOCBUNDLE",	0x7481},
+	{"linux/isdn_ppp.h",	"PPPIOCGMPFLAGS",	0x7482},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPFLAGS",	0x7483},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMTU",	0x7484},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMRU",	0x7485},
+	{"linux/isdn_ppp.h",	"PPPIOCGCOMPRESSORS",	0x7486},
+	{"linux/isdn_ppp.h",	"PPPIOCSCOMPRESSOR",	0x7487},
+	{"linux/isdn_ppp.h",	"PPPIOCGIFNAME",	0x7488},
+	{"linux/toshiba.h",	"TOSH_SMM",	0x7490},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID",	0x7501},
+	{"linux/smb_fs.h",	"SMB_IOC_NEWCONN",	0x7502},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID32",	0x7503},
+	{"linux/sonypi.h",	"SONYPI_IOCGBRT",	0x7600},
+	{"linux/sonypi.h",	"SONYPI_IOCSBRT",	0x7600},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETVERSION",	0x7601},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION_OLD",	0x7601},
+	{"linux/videodev.h",	"VIDIOCGCAP",	0x7601},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETVERSION",	0x7602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION_OLD",	0x7602},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT1CAP",	0x7602},
+	{"linux/videodev.h",	"VIDIOCGCHAN",	0x7602},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT1REM",	0x7603},
+	{"linux/videodev.h",	"VIDIOCSCHAN",	0x7603},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT2CAP",	0x7604},
+	{"linux/videodev.h",	"VIDIOCGTUNER",	0x7604},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT2REM",	0x7605},
+	{"linux/videodev.h",	"VIDIOCSTUNER",	0x7605},
+	{"linux/videodev.h",	"VIDIOCGPICT",	0x7606},
+	{"linux/sonypi.h",	"SONYPI_IOCGBATFLAGS",	0x7607},
+	{"linux/videodev.h",	"VIDIOCSPICT",	0x7607},
+	{"linux/sonypi.h",	"SONYPI_IOCGBLUE",	0x7608},
+	{"linux/videodev.h",	"VIDIOCCAPTURE",	0x7608},
+	{"linux/sonypi.h",	"SONYPI_IOCSBLUE",	0x7609},
+	{"linux/videodev.h",	"VIDIOCGWIN",	0x7609},
+	{"linux/videodev.h",	"VIDIOCSWIN",	0x760a},
+	{"linux/videodev.h",	"VIDIOCGFBUF",	0x760b},
+	{"linux/videodev.h",	"VIDIOCSFBUF",	0x760c},
+	{"linux/videodev.h",	"VIDIOCKEY",	0x760d},
+	{"linux/videodev.h",	"VIDIOCGFREQ",	0x760e},
+	{"linux/videodev.h",	"VIDIOCSFREQ",	0x760f},
+	{"linux/videodev.h",	"VIDIOCGAUDIO",	0x7610},
+	{"linux/videodev.h",	"VIDIOCSAUDIO",	0x7611},
+	{"linux/videodev.h",	"VIDIOCSYNC",	0x7612},
+	{"linux/videodev.h",	"VIDIOCMCAPTURE",	0x7613},
+	{"linux/videodev.h",	"VIDIOCGMBUF",	0x7614},
+	{"linux/videodev.h",	"VIDIOCGUNIT",	0x7615},
+	{"linux/videodev.h",	"VIDIOCGCAPTURE",	0x7616},
+	{"linux/videodev.h",	"VIDIOCSCAPTURE",	0x7617},
+	{"linux/videodev.h",	"VIDIOCSPLAYMODE",	0x7618},
+	{"linux/videodev.h",	"VIDIOCSWRITEMODE",	0x7619},
+	{"linux/videodev.h",	"VIDIOCGPLAYINFO",	0x761a},
+	{"linux/videodev.h",	"VIDIOCSMICROCODE",	0x761b},
+	{"linux/videodev.h",	"VIDIOCGVBIFMT",	0x761c},
+	{"linux/videodev.h",	"VIDIOCSVBIFMT",	0x761d},
+	{"linux/meye.h",	"MEYEIOC_G_PARAMS",	0x76c0},
+	{"linux/meye.h",	"MEYEIOC_S_PARAMS",	0x76c1},
+	{"linux/meye.h",	"MEYEIOC_QBUF_CAPT",	0x76c2},
+	{"linux/meye.h",	"MEYEIOC_SYNC",	0x76c3},
+	{"linux/meye.h",	"MEYEIOC_STILLCAPT",	0x76c4},
+	{"linux/meye.h",	"MEYEIOC_STILLJCAPT",	0x76c5},
+	{"linux/dn.h",	"SIOCSNETADDR",	0x89e0},
+	{"linux/dn.h",	"OSIOCSNETADDR",	0x89e0},
+	{"linux/dn.h",	"SIOCGNETADDR",	0x89e1},
+	{"linux/dn.h",	"OSIOCGNETADDR",	0x89e1},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_READY",	0x9360},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_FAIL",	0x9361},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_CATATONIC",	0x9362},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_PROTOVER",	0x9363},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_SETTIMEOUT",	0x9364},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_EXPIRE",	0x9365},
+	{"linux/auto_fs4.h",	"AUTOFS_IOC_EXPIRE_MULTI",	0x9366},
+	{"linux/nbd.h",	"NBD_SET_SOCK",	0xab00},
+	{"linux/nbd.h",	"NBD_SET_BLKSIZE",	0xab01},
+	{"linux/nbd.h",	"NBD_SET_SIZE",	0xab02},
+	{"linux/nbd.h",	"NBD_DO_IT",	0xab03},
+	{"linux/nbd.h",	"NBD_CLEAR_SOCK",	0xab04},
+	{"linux/nbd.h",	"NBD_CLEAR_QUE",	0xab05},
+	{"linux/nbd.h",	"NBD_PRINT_DEBUG",	0xab06},
+	{"linux/nbd.h",	"NBD_SET_SIZE_BLOCKS",	0xab07},
+	{"linux/nbd.h",	"NBD_DISCONNECT",	0xab08},
+	{"linux/raw.h",	"RAW_SETBIND",	0xac00},
+	{"linux/raw.h",	"RAW_GETBIND",	0xac01},
+	{"linux/if_pppox.h",	"PPPOEIOCSFWD",	0xb100},
+	{"linux/if_pppox.h",	"PPPOEIOCDFWD",	0xb101},
+	{"linux/reiserfs_fs.h",	"REISERFS_IOC_UNPACK",	0xcd01},
+	{"linux/lvm.h",	"VG_CREATE_OLD",	0xfe00},
+	{"linux/lvm.h",	"VG_REMOVE",	0xfe01},
+	{"linux/lvm.h",	"VG_EXTEND",	0xfe03},
+	{"linux/lvm.h",	"VG_REDUCE",	0xfe04},
+	{"linux/lvm.h",	"VG_STATUS",	0xfe05},
+	{"linux/lvm.h",	"VG_STATUS_GET_COUNT",	0xfe06},
+	{"linux/lvm.h",	"VG_STATUS_GET_NAMELIST",	0xfe07},
+	{"linux/lvm.h",	"VG_SET_EXTENDABLE",	0xfe08},
+	{"linux/lvm.h",	"VG_RENAME",	0xfe09},
+	{"linux/lvm.h",	"VG_CREATE",	0xfe0a},
+	{"linux/lvm.h",	"LV_CREATE",	0xfe20},
+	{"linux/lvm.h",	"LV_REMOVE",	0xfe21},
+	{"linux/lvm.h",	"LV_ACTIVATE",	0xfe22},
+	{"linux/lvm.h",	"LV_DEACTIVATE",	0xfe23},
+	{"linux/lvm.h",	"LV_EXTEND",	0xfe24},
+	{"linux/lvm.h",	"LV_REDUCE",	0xfe25},
+	{"linux/lvm.h",	"LV_STATUS_BYNAME",	0xfe26},
+	{"linux/lvm.h",	"LV_STATUS_BYINDEX",	0xfe27},
+	{"linux/lvm.h",	"LV_SET_ACCESS",	0xfe28},
+	{"linux/lvm.h",	"LV_SET_ALLOCATION",	0xfe29},
+	{"linux/lvm.h",	"LV_SET_STATUS",	0xfe2a},
+	{"linux/lvm.h",	"LE_REMAP",	0xfe2b},
+	{"linux/lvm.h",	"LV_SNAPSHOT_USE_RATE",	0xfe2c},
+	{"linux/lvm.h",	"LV_STATUS_BYDEV",	0xfe2e},
+	{"linux/lvm.h",	"LV_RENAME",	0xfe2f},
+	{"linux/lvm.h",	"LV_BMAP",	0xfe30},
+	{"linux/lvm.h",	"PV_STATUS",	0xfe40},
+	{"linux/lvm.h",	"PV_CHANGE",	0xfe41},
+	{"linux/lvm.h",	"PV_FLUSH",	0xfe42},
+	{"linux/lvm.h",	"PE_LOCK_UNLOCK",	0xfe50},
+	{"linux/lvm.h",	"LVM_GET_IOP_VERSION",	0xfe98},
+	{"linux/lvm.h",	"LVM_RESET",	0xfe99},
+	{"linux/lvm.h",	"LVM_LOCK_LVM",	0xff00},
diff --git a/strace-4.5.20/linux/mips/ioctlent.sh b/strace-4.5.20/linux/mips/ioctlent.sh
new file mode 100755
index 0000000..dd5fd9d
--- /dev/null
+++ b/strace-4.5.20/linux/mips/ioctlent.sh
@@ -0,0 +1,98 @@
+#!/bin/sh
+# Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+# All rights reserved.
+#
+# Copyright (c) 1995, 1996 Michael Elizabeth Chastain <mec@duracef.shout.net>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+#    derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+#	$Id$
+
+# Files to find.
+file_find='asm/*.h linux/*.h scsi/*.h'
+
+# Files to stop.
+file_stop='asm/byteorder.h linux/config.h linux/pci.h linux/xd.h'
+
+# Defs to find.
+# Work on the kernel source to convert all to df_iowr.
+# Don't know how to find low-numbered ioctls in linux/mc146818rtc.h.
+df_name='^[	 ]*#[	 ]*define[	 ]+[A-Z_][A-Z0-9_]*[	 ]+'
+df_iowr='_IO|_IOR|_IOW|_IOWR'
+df_NNNN='0[Xx](03|06|22|46|4B|4C|53|54|56|89|90)[0-9A-Fa-f][0-9A-Fa-f]'
+df_4359='0[Xx]4359[0-9A-Fa-f][0-9A-Fa-f]'	# linux/cyclades.h
+df_470N='470[0-9]'				# linux/fs.h        (only in 1.2.13)
+df_smix='MIXER_READ|MIXER_WRITE'		# linux/soundcard.h
+df_12NN='12[3-4][0-9]'				# linux/umsdos_fs.h (only in 1.2.13)
+df_tail='([()	 ]|$)'
+def_find="$df_name($df_iowr|$df_NNNN|$df_4359|$df_470N|$df_smix|$df_12NN)$df_tail"
+
+# Defs to stop.
+ds_tail='_MAGIC|_PATCH'
+ds_fdmp='FD(DEF|GET|SET)MEDIAPRM'		# linux/fd.h aliases (only in 1.2.13)
+ds_mtio='MTIOC(GET|SET)CONFIG'			# linux/mtio.h needs config (only in 1.2.13)
+def_stop="$ds_tail|$ds_fdmp|$ds_mtio"
+
+# Validate arg count.
+if [ $# -ne 1 ]
+then
+	echo "usage: $0 include-directory" >&2
+	exit 1
+fi
+
+# Grep through the files.
+(
+	# Construct list: find files minus stop files.
+	cd $1 || exit
+	file_list=`(ls $file_find $file_stop $file_stop 2>/dev/null) | sort | uniq -u`
+
+	# Grep matching #define lines.
+	# Transform to C structure form.
+	# Filter out stop list.
+	egrep "$def_find" $file_list |
+		sed -n -e 's/^\(.*\):#[	 ]*define[	 ]*\([A-Z_][A-Z0-9_]*\).*$/	{ "\1",	"\2",	\2	},/p' |
+		egrep -v "$def_stop"
+) > ioctlent.tmp
+
+# Generate the output file.
+echo '/* This file is automatically generated by ioctlent.sh */'
+echo
+echo '#include <sys/types.h>'
+echo
+echo '/* Needed for <linux/baycom.h> */'
+echo '#define BAYCOM_DEBUG'
+echo
+echo '/* Needed for <linux/cyclades.h> */'
+echo '#include <linux/termios.h>'
+echo '#include <linux/tqueue.h>'
+echo
+awk '{ print "#include <" substr($2, 2, length($2) - 3) ">" }' ioctlent.tmp | sort -u
+echo
+echo 'struct ioctlent ioctlent [] ='
+echo '{'
+cat ioctlent.tmp
+echo '};'
+
+# Clean up.
+rm -f ioctlent.tmp
diff --git a/strace-4.5.20/linux/mips/signalent.h b/strace-4.5.20/linux/mips/signalent.h
new file mode 100644
index 0000000..2cf746a
--- /dev/null
+++ b/strace-4.5.20/linux/mips/signalent.h
@@ -0,0 +1,32 @@
+	"SIG_0",	/* 0 */
+	"SIGHUP",	/* 1 */
+	"SIGINT",	/* 2 */
+	"SIGQUIT",	/* 3 */
+	"SIGILL",	/* 4 */
+	"SIGTRAP",	/* 5 */
+	"SIGIOT",	/* 6 */
+	"SIGEMT",	/* 7 */
+	"SIGFPE",	/* 8 */
+	"SIGKILL",	/* 9 */
+	"SIGBUS",	/* 10 */
+	"SIGSEGV",	/* 11 */
+	"SIGSYS",	/* 12 */
+	"SIGPIPE",	/* 13 */
+	"SIGALRM",	/* 14 */
+	"SIGTERM",	/* 15 */
+	"SIGUSR1",	/* 16 */
+	"SIGUSR2",	/* 17 */
+	"SIGCHLD",	/* 18 */
+	"SIGPWR",	/* 19 */
+	"SIGWINCH",	/* 20 */
+	"SIGURG",	/* 21 */
+	"SIGIO",	/* 22 */
+	"SIGSTOP",	/* 23 */
+	"SIGTSTP",	/* 24 */
+	"SIGCONT",	/* 25 */
+	"SIGTTIN",	/* 26 */
+	"SIGTTOU",	/* 27 */
+	"SIGVTALRM",	/* 28 */
+	"SIGPROF",	/* 29 */
+	"SIGXCPU",	/* 30 */
+	"SIGXFSZ",	/* 31 */
diff --git a/strace-4.5.20/linux/mips/syscallent.h b/strace-4.5.20/linux/mips/syscallent.h
new file mode 100644
index 0000000..e2fe509
--- /dev/null
+++ b/strace-4.5.20/linux/mips/syscallent.h
@@ -0,0 +1,7787 @@
+#include "dummy.h"
+
+	{ 0,	0,	printargs,		"svr4_syscall"	}, /*  000 */
+	{ 0,	0,	printargs,		"svr4_exit"	}, /*  001 */
+	{ 0,	0,	printargs,		"svr4_fork"	}, /*  002 */
+	{ 0,	0,	printargs,		"svr4_read"	}, /*  003 */
+	{ 0,	0,	printargs,		"svr4_write"	}, /*  004 */
+	{ 0,	0,	printargs,		"svr4_open"	}, /*  005 */
+	{ 0,	0,	printargs,		"svr4_close"	}, /*  006 */
+	{ 0,	0,	printargs,		"svr4_wait"	}, /*  007 */
+	{ 0,	0,	printargs,		"svr4_creat"	}, /*  008 */
+	{ 0,	0,	printargs,		"svr4_link"	}, /*  009 */
+	{ 0,	0,	printargs,		"svr4_unlink"	}, /*  010 */
+	{ 0,	0,	printargs,		"svr4_exec"	}, /*  011 */
+	{ 0,	0,	printargs,		"svr4_chdir"	}, /*  012 */
+	{ 0,	0,	printargs,		"svr4_gtime"	}, /*  013 */
+	{ 0,	0,	printargs,		"svr4_mknod"	}, /*  014 */
+	{ 0,	0,	printargs,		"svr4_chmod"	}, /*  015 */
+	{ 0,	0,	printargs,		"svr4_chown"	}, /*  016 */
+	{ 0,	0,	printargs,		"svr4_sbreak"	}, /*  017 */
+	{ 0,	0,	printargs,		"svr4_stat"	}, /*  018 */
+	{ 0,	0,	printargs,		"svr4_lseek"	}, /*  019 */
+	{ 0,	0,	printargs,		"svr4_getpid"	}, /*  020 */
+	{ 0,	0,	printargs,		"svr4_mount"	}, /*  021 */
+	{ 0,	0,	printargs,		"svr4_umount"	}, /*  022 */
+	{ 0,	0,	printargs,		"svr4_setuid"	}, /*  023 */
+	{ 0,	0,	printargs,		"svr4_getuid"	}, /*  024 */
+	{ 0,	0,	printargs,		"svr4_stime"	}, /*  025 */
+	{ 0,	0,	printargs,		"svr4_ptrace"	}, /*  026 */
+	{ 0,	0,	printargs,		"svr4_alarm"	}, /*  027 */
+	{ 0,	0,	printargs,		"svr4_fstat"	}, /*  028 */
+	{ 0,	0,	printargs,		"svr4_pause"	}, /*  029 */
+	{ 0,	0,	printargs,		"svr4_utime"	}, /*  030 */
+	{ 0,	0,	printargs,		"svr4_stty"	}, /*  031 */
+	{ 0,	0,	printargs,		"svr4_gtty"	}, /*  032 */
+	{ 0,	0,	printargs,		"svr4_access"	}, /*  033 */
+	{ 0,	0,	printargs,		"svr4_nice"	}, /*  034 */
+	{ 0,	0,	printargs,		"svr4_statfs"	}, /*  035 */
+	{ 0,	0,	printargs,		"svr4_sync"	}, /*  036 */
+	{ 0,	0,	printargs,		"svr4_kill"	}, /*  037 */
+	{ 0,	0,	printargs,		"svr4_fstatfs"	}, /*  038 */
+	{ 0,	0,	printargs,		"svr4_setpgrp"	}, /*  039 */
+	{ 0,	0,	printargs,		"svr4_cxenix"	}, /*  040 */
+	{ 0,	0,	printargs,		"svr4_dup"	}, /*  041 */
+	{ 0,	0,	printargs,		"svr4_pipe"	}, /*  042 */
+	{ 0,	0,	printargs,		"svr4_times"	}, /*  043 */
+	{ 0,	0,	printargs,		"svr4_profil"	}, /*  044 */
+	{ 0,	0,	printargs,		"svr4_plock"	}, /*  045 */
+	{ 0,	0,	printargs,		"svr4_setgid"	}, /*  046 */
+	{ 0,	0,	printargs,		"svr4_getgid"	}, /*  047 */
+	{ 0,	0,	printargs,		"svr4_sig"	}, /*  048 */
+	{ 0,	0,	printargs,		"svr4_msgsys"	}, /*  049 */
+	{ 0,	0,	printargs,		"svr4_sysmips"	}, /*  050 */
+	{ 0,	0,	printargs,		"svr4_sysacct"	}, /*  051 */
+	{ 0,	0,	printargs,		"svr4_shmsys"	}, /*  052 */
+	{ 0,	0,	printargs,		"svr4_semsys"	}, /*  053 */
+	{ 0,	0,	printargs,		"svr4_ioctl"	}, /*  054 */
+	{ 0,	0,	printargs,		"svr4_uadmin"	}, /*  055 */
+	{ 0,	0,	printargs,		"svr4_exch"	}, /*  056 */
+	{ 0,	0,	printargs,		"svr4_utssys"	}, /*  057 */
+	{ 0,	0,	printargs,		"svr4_fsync"	}, /*  058 */
+	{ 0,	0,	printargs,		"svr4_exece"	}, /*  059 */
+	{ 0,	0,	printargs,		"svr4_umask"	}, /*  060 */
+	{ 0,	0,	printargs,		"svr4_chroot"	}, /*  061 */
+	{ 0,	0,	printargs,		"svr4_fcntl"	}, /*  062 */
+	{ 0,	0,	printargs,		"svr4_ulimit"	}, /*  063 */
+	{ 0,	0,	printargs,		"SYS_64",	}, /*  064 */
+	{ 0,	0,	printargs,		"SYS_65",	}, /*  065 */
+	{ 0,	0,	printargs,		"SYS_66",	}, /*  066 */
+	{ 0,	0,	printargs,		"SYS_67",	}, /*  067 */
+	{ 0,	0,	printargs,		"SYS_68",	}, /*  068 */
+	{ 0,	0,	printargs,		"SYS_69",	}, /*  069 */
+	{ 0,	0,	printargs,		"svr4_advfs"	}, /*  070 */
+	{ 0,	0,	printargs,		"svr4_unadvfs"	}, /*  071 */
+	{ 0,	0,	printargs,		"SYS_72",	}, /*  072 */
+	{ 0,	0,	printargs,		"SYS_73",	}, /*  073 */
+	{ 0,	0,	printargs,		"svr4_rfstart"	}, /*  074 */
+	{ 0,	0,	printargs,		"SYS_75",	}, /*  075 */
+	{ 0,	0,	printargs,		"svr4_rdebug"	}, /*  076 */
+	{ 0,	0,	printargs,		"svr4_rfstop"	}, /*  077 */
+	{ 0,	0,	printargs,		"svr4_rfsys"	}, /*  078 */
+	{ 0,	0,	printargs,		"svr4_rmdir"	}, /*  079 */
+	{ 0,	0,	printargs,		"svr4_mkdir"	}, /*  080 */
+	{ 0,	0,	printargs,		"svr4_getdents"	}, /*  081 */
+	{ 0,	0,	printargs,		"svr4_libattach"	}, /*  082 */
+	{ 0,	0,	printargs,		"svr4_libdetach"	}, /*  083 */
+	{ 0,	0,	printargs,		"svr4_sysfs"	}, /*  084 */
+	{ 0,	0,	printargs,		"svr4_getmsg"	}, /*  085 */
+	{ 0,	0,	printargs,		"svr4_putmsg"	}, /*  086 */
+	{ 0,	0,	printargs,		"svr4_poll"	}, /*  087 */
+	{ 0,	0,	printargs,		"svr4_lstat"	}, /*  088 */
+	{ 0,	0,	printargs,		"svr4_symlink"	}, /*  089 */
+	{ 0,	0,	printargs,		"svr4_readlink"	}, /*  090 */
+	{ 0,	0,	printargs,		"svr4_setgroups"	}, /*  091 */
+	{ 0,	0,	printargs,		"svr4_getgroups"	}, /*  092 */
+	{ 0,	0,	printargs,		"svr4_fchmod"	}, /*  093 */
+	{ 0,	0,	printargs,		"svr4_fchown"	}, /*  094 */
+	{ 0,	0,	printargs,		"svr4_sigprocmask"	}, /*  095 */
+	{ 0,	0,	printargs,		"svr4_sigsuspend"	}, /*  096 */
+	{ 0,	0,	printargs,		"svr4_sigaltstack"	}, /*  097 */
+	{ 0,	0,	printargs,		"svr4_sigaction"	}, /*  098 */
+	{ 0,	0,	printargs,		"svr4_sigpending"	}, /*  099 */
+	{ 0,	0,	printargs,		"svr4_setcontext"	}, /*  0100 */
+	{ 0,	0,	printargs,		"svr4_evsys"	}, /*  0101 */
+	{ 0,	0,	printargs,		"svr4_evtrapret"	}, /*  0102 */
+	{ 0,	0,	printargs,		"svr4_statvfs"	}, /*  0103 */
+	{ 0,	0,	printargs,		"svr4_fstatvfs"	}, /*  0104 */
+	{ 0,	0,	printargs,		"SYS_105",	}, /* 105 */
+	{ 0,	0,	printargs,		"svr4_nfssys"	}, /*  0106 */
+	{ 0,	0,	printargs,		"svr4_waitid"	}, /*  0107 */
+	{ 0,	0,	printargs,		"svr4_sigsendset"	}, /*  0108 */
+	{ 0,	0,	printargs,		"svr4_hrtsys"	}, /*  0109 */
+	{ 0,	0,	printargs,		"svr4_acancel"	}, /*  0110 */
+	{ 0,	0,	printargs,		"svr4_async"	}, /*  0111 */
+	{ 0,	0,	printargs,		"svr4_priocntlset"	}, /*  0112 */
+	{ 0,	0,	printargs,		"svr4_pathconf"	}, /*  0113 */
+	{ 0,	0,	printargs,		"svr4_mincore"	}, /*  0114 */
+	{ 0,	0,	printargs,		"svr4_mmap"	}, /*  0115 */
+	{ 0,	0,	printargs,		"svr4_mprotect"	}, /*  0116 */
+	{ 0,	0,	printargs,		"svr4_munmap"	}, /*  0117 */
+	{ 0,	0,	printargs,		"svr4_fpathconf"	}, /*  0118 */
+	{ 0,	0,	printargs,		"svr4_vfork"	}, /*  0119 */
+	{ 0,	0,	printargs,		"svr4_fchdir"	}, /*  0120 */
+	{ 0,	0,	printargs,		"svr4_readv"	}, /*  0121 */
+	{ 0,	0,	printargs,		"svr4_writev"	}, /*  0122 */
+	{ 0,	0,	printargs,		"svr4_xstat"	}, /*  0123 */
+	{ 0,	0,	printargs,		"svr4_lxstat"	}, /*  0124 */
+	{ 0,	0,	printargs,		"svr4_fxstat"	}, /*  0125 */
+	{ 0,	0,	printargs,		"svr4_xmknod"	}, /*  0126 */
+	{ 0,	0,	printargs,		"svr4_clocal"	}, /*  0127 */
+	{ 0,	0,	printargs,		"svr4_setrlimit"	}, /*  0128 */
+	{ 0,	0,	printargs,		"svr4_getrlimit"	}, /*  0129 */
+	{ 0,	0,	printargs,		"svr4_lchown"	}, /*  0130 */
+	{ 0,	0,	printargs,		"svr4_memcntl"	}, /*  0131 */
+	{ 0,	0,	printargs,		"svr4_getpmsg"	}, /*  0132 */
+	{ 0,	0,	printargs,		"svr4_putpmsg"	}, /*  0133 */
+	{ 0,	0,	printargs,		"svr4_rename"	}, /*  0134 */
+	{ 0,	0,	printargs,		"svr4_nuname"	}, /*  0135 */
+	{ 0,	0,	printargs,		"svr4_setegid"	}, /*  0136 */
+	{ 0,	0,	printargs,		"svr4_sysconf"	}, /*  0137 */
+	{ 0,	0,	printargs,		"svr4_adjtime"	}, /*  0138 */
+	{ 0,	0,	printargs,		"svr4_sysinfo"	}, /*  0139 */
+	{ 0,	0,	printargs,		"SYS_140",	}, /* 140 */
+	{ 0,	0,	printargs,		"svr4_seteuid"	}, /*  0141 */
+	{ 0,	0,	printargs,		"svr4_PYRAMID_statis"	}, /*  0142 */
+	{ 0,	0,	printargs,		"svr4_PYRAMID_tuning"	}, /*  0143 */
+	{ 0,	0,	printargs,		"svr4_PYRAMID_forcerr"	}, /*  0144 */
+	{ 0,	0,	printargs,		"svr4_PYRAMID_mpcntl"	}, /*  0145 */
+	{ 0,	0,	printargs,		"SYS_146",	}, /* 146 */
+	{ 0,	0,	printargs,		"SYS_147",	}, /* 147 */
+	{ 0,	0,	printargs,		"SYS_148",	}, /* 148 */
+	{ 0,	0,	printargs,		"SYS_149",	}, /* 149 */
+	{ 0,	0,	printargs,		"SYS_150",	}, /* 150 */
+	{ 0,	0,	printargs,		"SYS_151",	}, /* 151 */
+	{ 0,	0,	printargs,		"SYS_152",	}, /* 152 */
+	{ 0,	0,	printargs,		"SYS_153",	}, /* 153 */
+	{ 0,	0,	printargs,		"SYS_154",	}, /* 154 */
+	{ 0,	0,	printargs,		"SYS_155",	}, /* 155 */
+	{ 0,	0,	printargs,		"SYS_156",	}, /* 156 */
+	{ 0,	0,	printargs,		"SYS_157",	}, /* 157 */
+	{ 0,	0,	printargs,		"SYS_158",	}, /* 158 */
+	{ 0,	0,	printargs,		"SYS_159",	}, /* 159 */
+	{ 0,	0,	printargs,		"SYS_160",	}, /* 160 */
+	{ 0,	0,	printargs,		"SYS_161",	}, /* 161 */
+	{ 0,	0,	printargs,		"SYS_162",	}, /* 162 */
+	{ 0,	0,	printargs,		"SYS_163",	}, /* 163 */
+	{ 0,	0,	printargs,		"SYS_164",	}, /* 164 */
+	{ 0,	0,	printargs,		"SYS_165",	}, /* 165 */
+	{ 0,	0,	printargs,		"SYS_166",	}, /* 166 */
+	{ 0,	0,	printargs,		"SYS_167",	}, /* 167 */
+	{ 0,	0,	printargs,		"SYS_168",	}, /* 168 */
+	{ 0,	0,	printargs,		"SYS_169",	}, /* 169 */
+	{ 0,	0,	printargs,		"SYS_170",	}, /* 170 */
+	{ 0,	0,	printargs,		"SYS_171",	}, /* 171 */
+	{ 0,	0,	printargs,		"SYS_172",	}, /* 172 */
+	{ 0,	0,	printargs,		"SYS_173",	}, /* 173 */
+	{ 0,	0,	printargs,		"SYS_174",	}, /* 174 */
+	{ 0,	0,	printargs,		"SYS_175",	}, /* 175 */
+	{ 0,	0,	printargs,		"SYS_176",	}, /* 176 */
+	{ 0,	0,	printargs,		"SYS_177",	}, /* 177 */
+	{ 0,	0,	printargs,		"SYS_178",	}, /* 178 */
+	{ 0,	0,	printargs,		"SYS_179",	}, /* 179 */
+	{ 0,	0,	printargs,		"SYS_180",	}, /* 180 */
+	{ 0,	0,	printargs,		"SYS_181",	}, /* 181 */
+	{ 0,	0,	printargs,		"SYS_182",	}, /* 182 */
+	{ 0,	0,	printargs,		"SYS_183",	}, /* 183 */
+	{ 0,	0,	printargs,		"SYS_184",	}, /* 184 */
+	{ 0,	0,	printargs,		"SYS_185",	}, /* 185 */
+	{ 0,	0,	printargs,		"SYS_186",	}, /* 186 */
+	{ 0,	0,	printargs,		"SYS_187",	}, /* 187 */
+	{ 0,	0,	printargs,		"SYS_188",	}, /* 188 */
+	{ 0,	0,	printargs,		"SYS_189",	}, /* 189 */
+	{ 0,	0,	printargs,		"SYS_190",	}, /* 190 */
+	{ 0,	0,	printargs,		"SYS_191",	}, /* 191 */
+	{ 0,	0,	printargs,		"SYS_192",	}, /* 192 */
+	{ 0,	0,	printargs,		"SYS_193",	}, /* 193 */
+	{ 0,	0,	printargs,		"SYS_194",	}, /* 194 */
+	{ 0,	0,	printargs,		"SYS_195",	}, /* 195 */
+	{ 0,	0,	printargs,		"SYS_196",	}, /* 196 */
+	{ 0,	0,	printargs,		"SYS_197",	}, /* 197 */
+	{ 0,	0,	printargs,		"SYS_198",	}, /* 198 */
+	{ 0,	0,	printargs,		"SYS_199",	}, /* 199 */
+	{ 0,	0,	printargs,		"SYS_200",	}, /* 200 */
+	{ 0,	0,	printargs,		"svr4_aread"	}, /*  0201 */
+	{ 0,	0,	printargs,		"svr4_awrite"	}, /*  0202 */
+	{ 0,	0,	printargs,		"svr4_listio"	}, /*  0203 */
+	{ 0,	0,	printargs,		"svr4_mips_acancel"	}, /*  0204 */
+	{ 0,	0,	printargs,		"svr4_astatus"	}, /*  0205 */
+	{ 0,	0,	printargs,		"svr4_await"	}, /*  0206 */
+	{ 0,	0,	printargs,		"svr4_areadv"	}, /*  0207 */
+	{ 0,	0,	printargs,		"svr4_awritev"	}, /*  0208 */
+	{ 0,	0,	printargs,		"SYS_209",	}, /* 209 */
+	{ 0,	0,	printargs,		"SYS_210",	}, /* 210 */
+	{ 0,	0,	printargs,		"SYS_211",	}, /* 211 */
+	{ 0,	0,	printargs,		"SYS_212",	}, /* 212 */
+	{ 0,	0,	printargs,		"SYS_213",	}, /* 213 */
+	{ 0,	0,	printargs,		"SYS_214",	}, /* 214 */
+	{ 0,	0,	printargs,		"SYS_215",	}, /* 215 */
+	{ 0,	0,	printargs,		"SYS_216",	}, /* 216 */
+	{ 0,	0,	printargs,		"SYS_217",	}, /* 217 */
+	{ 0,	0,	printargs,		"SYS_218",	}, /* 218 */
+	{ 0,	0,	printargs,		"SYS_219",	}, /* 219 */
+	{ 0,	0,	printargs,		"SYS_220",	}, /* 220 */
+	{ 0,	0,	printargs,		"SYS_221",	}, /* 221 */
+	{ 0,	0,	printargs,		"SYS_222",	}, /* 222 */
+	{ 0,	0,	printargs,		"SYS_223",	}, /* 223 */
+	{ 0,	0,	printargs,		"SYS_224",	}, /* 224 */
+	{ 0,	0,	printargs,		"SYS_225",	}, /* 225 */
+	{ 0,	0,	printargs,		"SYS_226",	}, /* 226 */
+	{ 0,	0,	printargs,		"SYS_227",	}, /* 227 */
+	{ 0,	0,	printargs,		"SYS_228",	}, /* 228 */
+	{ 0,	0,	printargs,		"SYS_229",	}, /* 229 */
+	{ 0,	0,	printargs,		"SYS_230",	}, /* 230 */
+	{ 0,	0,	printargs,		"SYS_231",	}, /* 231 */
+	{ 0,	0,	printargs,		"SYS_232",	}, /* 232 */
+	{ 0,	0,	printargs,		"SYS_233",	}, /* 233 */
+	{ 0,	0,	printargs,		"SYS_234",	}, /* 234 */
+	{ 0,	0,	printargs,		"SYS_235",	}, /* 235 */
+	{ 0,	0,	printargs,		"SYS_236",	}, /* 236 */
+	{ 0,	0,	printargs,		"SYS_237",	}, /* 237 */
+	{ 0,	0,	printargs,		"SYS_238",	}, /* 238 */
+	{ 0,	0,	printargs,		"SYS_239",	}, /* 239 */
+	{ 0,	0,	printargs,		"SYS_240",	}, /* 240 */
+	{ 0,	0,	printargs,		"SYS_241"	}, /*  241 */
+	{ 0,	0,	printargs,		"SYS_242"	}, /*  242 */
+	{ 0,	0,	printargs,		"SYS_243"	}, /*  243 */
+	{ 0,	0,	printargs,		"SYS_244"	}, /*  244 */
+	{ 0,	0,	printargs,		"SYS_245"	}, /*  245 */
+	{ 0,	0,	printargs,		"SYS_246"	}, /*  246 */
+	{ 0,	0,	printargs,		"SYS_247"	}, /*  247 */
+	{ 0,	0,	printargs,		"SYS_248"	}, /*  248 */
+	{ 0,	0,	printargs,		"SYS_249"	}, /*  249 */
+	{ 0,	0,	printargs,		"SYS_250"	}, /*  250 */
+	{ 0,	0,	printargs,		"SYS_251"	}, /*  251 */
+	{ 0,	0,	printargs,		"SYS_252"	}, /*  252 */
+	{ 0,	0,	printargs,		"SYS_253"	}, /*  253 */
+	{ 0,	0,	printargs,		"SYS_254"	}, /*  254 */
+	{ 0,	0,	printargs,		"SYS_255"	}, /*  255 */
+	{ 0,	0,	printargs,		"SYS_256"	}, /*  256 */
+	{ 0,	0,	printargs,		"SYS_257"	}, /*  257 */
+	{ 0,	0,	printargs,		"SYS_258"	}, /*  258 */
+	{ 0,	0,	printargs,		"SYS_259"	}, /*  259 */
+	{ 0,	0,	printargs,		"SYS_260"	}, /*  260 */
+	{ 0,	0,	printargs,		"SYS_261"	}, /*  261 */
+	{ 0,	0,	printargs,		"SYS_262"	}, /*  262 */
+	{ 0,	0,	printargs,		"SYS_263"	}, /*  263 */
+	{ 0,	0,	printargs,		"SYS_264"	}, /*  264 */
+	{ 0,	0,	printargs,		"SYS_265"	}, /*  265 */
+	{ 0,	0,	printargs,		"SYS_266"	}, /*  266 */
+	{ 0,	0,	printargs,		"SYS_267"	}, /*  267 */
+	{ 0,	0,	printargs,		"SYS_268"	}, /*  268 */
+	{ 0,	0,	printargs,		"SYS_269"	}, /*  269 */
+	{ 0,	0,	printargs,		"SYS_270"	}, /*  270 */
+	{ 0,	0,	printargs,		"SYS_271"	}, /*  271 */
+	{ 0,	0,	printargs,		"SYS_272"	}, /*  272 */
+	{ 0,	0,	printargs,		"SYS_273"	}, /*  273 */
+	{ 0,	0,	printargs,		"SYS_274"	}, /*  274 */
+	{ 0,	0,	printargs,		"SYS_275"	}, /*  275 */
+	{ 0,	0,	printargs,		"SYS_276"	}, /*  276 */
+	{ 0,	0,	printargs,		"SYS_277"	}, /*  277 */
+	{ 0,	0,	printargs,		"SYS_278"	}, /*  278 */
+	{ 0,	0,	printargs,		"SYS_279"	}, /*  279 */
+	{ 0,	0,	printargs,		"SYS_280"	}, /*  280 */
+	{ 0,	0,	printargs,		"SYS_281"	}, /*  281 */
+	{ 0,	0,	printargs,		"SYS_282"	}, /*  282 */
+	{ 0,	0,	printargs,		"SYS_283"	}, /*  283 */
+	{ 0,	0,	printargs,		"SYS_284"	}, /*  284 */
+	{ 0,	0,	printargs,		"SYS_285"	}, /*  285 */
+	{ 0,	0,	printargs,		"SYS_286"	}, /*  286 */
+	{ 0,	0,	printargs,		"SYS_287"	}, /*  287 */
+	{ 0,	0,	printargs,		"SYS_288"	}, /*  288 */
+	{ 0,	0,	printargs,		"SYS_289"	}, /*  289 */
+	{ 0,	0,	printargs,		"SYS_290"	}, /*  290 */
+	{ 0,	0,	printargs,		"SYS_291"	}, /*  291 */
+	{ 0,	0,	printargs,		"SYS_292"	}, /*  292 */
+	{ 0,	0,	printargs,		"SYS_293"	}, /*  293 */
+	{ 0,	0,	printargs,		"SYS_294"	}, /*  294 */
+	{ 0,	0,	printargs,		"SYS_295"	}, /*  295 */
+	{ 0,	0,	printargs,		"SYS_296"	}, /*  296 */
+	{ 0,	0,	printargs,		"SYS_297"	}, /*  297 */
+	{ 0,	0,	printargs,		"SYS_298"	}, /*  298 */
+	{ 0,	0,	printargs,		"SYS_299"	}, /*  299 */
+	{ 0,	0,	printargs,		"SYS_300"	}, /*  300 */
+	{ 0,	0,	printargs,		"SYS_301"	}, /*  301 */
+	{ 0,	0,	printargs,		"SYS_302"	}, /*  302 */
+	{ 0,	0,	printargs,		"SYS_303"	}, /*  303 */
+	{ 0,	0,	printargs,		"SYS_304"	}, /*  304 */
+	{ 0,	0,	printargs,		"SYS_305"	}, /*  305 */
+	{ 0,	0,	printargs,		"SYS_306"	}, /*  306 */
+	{ 0,	0,	printargs,		"SYS_307"	}, /*  307 */
+	{ 0,	0,	printargs,		"SYS_308"	}, /*  308 */
+	{ 0,	0,	printargs,		"SYS_309"	}, /*  309 */
+	{ 0,	0,	printargs,		"SYS_310"	}, /*  310 */
+	{ 0,	0,	printargs,		"SYS_311"	}, /*  311 */
+	{ 0,	0,	printargs,		"SYS_312"	}, /*  312 */
+	{ 0,	0,	printargs,		"SYS_313"	}, /*  313 */
+	{ 0,	0,	printargs,		"SYS_314"	}, /*  314 */
+	{ 0,	0,	printargs,		"SYS_315"	}, /*  315 */
+	{ 0,	0,	printargs,		"SYS_316"	}, /*  316 */
+	{ 0,	0,	printargs,		"SYS_317"	}, /*  317 */
+	{ 0,	0,	printargs,		"SYS_318"	}, /*  318 */
+	{ 0,	0,	printargs,		"SYS_319"	}, /*  319 */
+	{ 0,	0,	printargs,		"SYS_320"	}, /*  320 */
+	{ 0,	0,	printargs,		"SYS_321"	}, /*  321 */
+	{ 0,	0,	printargs,		"SYS_322"	}, /*  322 */
+	{ 0,	0,	printargs,		"SYS_323"	}, /*  323 */
+	{ 0,	0,	printargs,		"SYS_324"	}, /*  324 */
+	{ 0,	0,	printargs,		"SYS_325"	}, /*  325 */
+	{ 0,	0,	printargs,		"SYS_326"	}, /*  326 */
+	{ 0,	0,	printargs,		"SYS_327"	}, /*  327 */
+	{ 0,	0,	printargs,		"SYS_328"	}, /*  328 */
+	{ 0,	0,	printargs,		"SYS_329"	}, /*  329 */
+	{ 0,	0,	printargs,		"SYS_330"	}, /*  330 */
+	{ 0,	0,	printargs,		"SYS_331"	}, /*  331 */
+	{ 0,	0,	printargs,		"SYS_332"	}, /*  332 */
+	{ 0,	0,	printargs,		"SYS_333"	}, /*  333 */
+	{ 0,	0,	printargs,		"SYS_334"	}, /*  334 */
+	{ 0,	0,	printargs,		"SYS_335"	}, /*  335 */
+	{ 0,	0,	printargs,		"SYS_336"	}, /*  336 */
+	{ 0,	0,	printargs,		"SYS_337"	}, /*  337 */
+	{ 0,	0,	printargs,		"SYS_338"	}, /*  338 */
+	{ 0,	0,	printargs,		"SYS_339"	}, /*  339 */
+	{ 0,	0,	printargs,		"SYS_340"	}, /*  340 */
+	{ 0,	0,	printargs,		"SYS_341"	}, /*  341 */
+	{ 0,	0,	printargs,		"SYS_342"	}, /*  342 */
+	{ 0,	0,	printargs,		"SYS_343"	}, /*  343 */
+	{ 0,	0,	printargs,		"SYS_344"	}, /*  344 */
+	{ 0,	0,	printargs,		"SYS_345"	}, /*  345 */
+	{ 0,	0,	printargs,		"SYS_346"	}, /*  346 */
+	{ 0,	0,	printargs,		"SYS_347"	}, /*  347 */
+	{ 0,	0,	printargs,		"SYS_348"	}, /*  348 */
+	{ 0,	0,	printargs,		"SYS_349"	}, /*  349 */
+	{ 0,	0,	printargs,		"SYS_350"	}, /*  350 */
+	{ 0,	0,	printargs,		"SYS_351"	}, /*  351 */
+	{ 0,	0,	printargs,		"SYS_352"	}, /*  352 */
+	{ 0,	0,	printargs,		"SYS_353"	}, /*  353 */
+	{ 0,	0,	printargs,		"SYS_354"	}, /*  354 */
+	{ 0,	0,	printargs,		"SYS_355"	}, /*  355 */
+	{ 0,	0,	printargs,		"SYS_356"	}, /*  356 */
+	{ 0,	0,	printargs,		"SYS_357"	}, /*  357 */
+	{ 0,	0,	printargs,		"SYS_358"	}, /*  358 */
+	{ 0,	0,	printargs,		"SYS_359"	}, /*  359 */
+	{ 0,	0,	printargs,		"SYS_360"	}, /*  360 */
+	{ 0,	0,	printargs,		"SYS_361"	}, /*  361 */
+	{ 0,	0,	printargs,		"SYS_362"	}, /*  362 */
+	{ 0,	0,	printargs,		"SYS_363"	}, /*  363 */
+	{ 0,	0,	printargs,		"SYS_364"	}, /*  364 */
+	{ 0,	0,	printargs,		"SYS_365"	}, /*  365 */
+	{ 0,	0,	printargs,		"SYS_366"	}, /*  366 */
+	{ 0,	0,	printargs,		"SYS_367"	}, /*  367 */
+	{ 0,	0,	printargs,		"SYS_368"	}, /*  368 */
+	{ 0,	0,	printargs,		"SYS_369"	}, /*  369 */
+	{ 0,	0,	printargs,		"SYS_370"	}, /*  370 */
+	{ 0,	0,	printargs,		"SYS_371"	}, /*  371 */
+	{ 0,	0,	printargs,		"SYS_372"	}, /*  372 */
+	{ 0,	0,	printargs,		"SYS_373"	}, /*  373 */
+	{ 0,	0,	printargs,		"SYS_374"	}, /*  374 */
+	{ 0,	0,	printargs,		"SYS_375"	}, /*  375 */
+	{ 0,	0,	printargs,		"SYS_376"	}, /*  376 */
+	{ 0,	0,	printargs,		"SYS_377"	}, /*  377 */
+	{ 0,	0,	printargs,		"SYS_378"	}, /*  378 */
+	{ 0,	0,	printargs,		"SYS_379"	}, /*  379 */
+	{ 0,	0,	printargs,		"SYS_380"	}, /*  380 */
+	{ 0,	0,	printargs,		"SYS_381"	}, /*  381 */
+	{ 0,	0,	printargs,		"SYS_382"	}, /*  382 */
+	{ 0,	0,	printargs,		"SYS_383"	}, /*  383 */
+	{ 0,	0,	printargs,		"SYS_384"	}, /*  384 */
+	{ 0,	0,	printargs,		"SYS_385"	}, /*  385 */
+	{ 0,	0,	printargs,		"SYS_386"	}, /*  386 */
+	{ 0,	0,	printargs,		"SYS_387"	}, /*  387 */
+	{ 0,	0,	printargs,		"SYS_388"	}, /*  388 */
+	{ 0,	0,	printargs,		"SYS_389"	}, /*  389 */
+	{ 0,	0,	printargs,		"SYS_390"	}, /*  390 */
+	{ 0,	0,	printargs,		"SYS_391"	}, /*  391 */
+	{ 0,	0,	printargs,		"SYS_392"	}, /*  392 */
+	{ 0,	0,	printargs,		"SYS_393"	}, /*  393 */
+	{ 0,	0,	printargs,		"SYS_394"	}, /*  394 */
+	{ 0,	0,	printargs,		"SYS_395"	}, /*  395 */
+	{ 0,	0,	printargs,		"SYS_396"	}, /*  396 */
+	{ 0,	0,	printargs,		"SYS_397"	}, /*  397 */
+	{ 0,	0,	printargs,		"SYS_398"	}, /*  398 */
+	{ 0,	0,	printargs,		"SYS_399"	}, /*  399 */
+	{ 0,	0,	printargs,		"SYS_400"	}, /*  400 */
+	{ 0,	0,	printargs,		"SYS_401"	}, /*  401 */
+	{ 0,	0,	printargs,		"SYS_402"	}, /*  402 */
+	{ 0,	0,	printargs,		"SYS_403"	}, /*  403 */
+	{ 0,	0,	printargs,		"SYS_404"	}, /*  404 */
+	{ 0,	0,	printargs,		"SYS_405"	}, /*  405 */
+	{ 0,	0,	printargs,		"SYS_406"	}, /*  406 */
+	{ 0,	0,	printargs,		"SYS_407"	}, /*  407 */
+	{ 0,	0,	printargs,		"SYS_408"	}, /*  408 */
+	{ 0,	0,	printargs,		"SYS_409"	}, /*  409 */
+	{ 0,	0,	printargs,		"SYS_410"	}, /*  410 */
+	{ 0,	0,	printargs,		"SYS_411"	}, /*  411 */
+	{ 0,	0,	printargs,		"SYS_412"	}, /*  412 */
+	{ 0,	0,	printargs,		"SYS_413"	}, /*  413 */
+	{ 0,	0,	printargs,		"SYS_414"	}, /*  414 */
+	{ 0,	0,	printargs,		"SYS_415"	}, /*  415 */
+	{ 0,	0,	printargs,		"SYS_416"	}, /*  416 */
+	{ 0,	0,	printargs,		"SYS_417"	}, /*  417 */
+	{ 0,	0,	printargs,		"SYS_418"	}, /*  418 */
+	{ 0,	0,	printargs,		"SYS_419"	}, /*  419 */
+	{ 0,	0,	printargs,		"SYS_420"	}, /*  420 */
+	{ 0,	0,	printargs,		"SYS_421"	}, /*  421 */
+	{ 0,	0,	printargs,		"SYS_422"	}, /*  422 */
+	{ 0,	0,	printargs,		"SYS_423"	}, /*  423 */
+	{ 0,	0,	printargs,		"SYS_424"	}, /*  424 */
+	{ 0,	0,	printargs,		"SYS_425"	}, /*  425 */
+	{ 0,	0,	printargs,		"SYS_426"	}, /*  426 */
+	{ 0,	0,	printargs,		"SYS_427"	}, /*  427 */
+	{ 0,	0,	printargs,		"SYS_428"	}, /*  428 */
+	{ 0,	0,	printargs,		"SYS_429"	}, /*  429 */
+	{ 0,	0,	printargs,		"SYS_430"	}, /*  430 */
+	{ 0,	0,	printargs,		"SYS_431"	}, /*  431 */
+	{ 0,	0,	printargs,		"SYS_432"	}, /*  432 */
+	{ 0,	0,	printargs,		"SYS_433"	}, /*  433 */
+	{ 0,	0,	printargs,		"SYS_434"	}, /*  434 */
+	{ 0,	0,	printargs,		"SYS_435"	}, /*  435 */
+	{ 0,	0,	printargs,		"SYS_436"	}, /*  436 */
+	{ 0,	0,	printargs,		"SYS_437"	}, /*  437 */
+	{ 0,	0,	printargs,		"SYS_438"	}, /*  438 */
+	{ 0,	0,	printargs,		"SYS_439"	}, /*  439 */
+	{ 0,	0,	printargs,		"SYS_440"	}, /*  440 */
+	{ 0,	0,	printargs,		"SYS_441"	}, /*  441 */
+	{ 0,	0,	printargs,		"SYS_442"	}, /*  442 */
+	{ 0,	0,	printargs,		"SYS_443"	}, /*  443 */
+	{ 0,	0,	printargs,		"SYS_444"	}, /*  444 */
+	{ 0,	0,	printargs,		"SYS_445"	}, /*  445 */
+	{ 0,	0,	printargs,		"SYS_446"	}, /*  446 */
+	{ 0,	0,	printargs,		"SYS_447"	}, /*  447 */
+	{ 0,	0,	printargs,		"SYS_448"	}, /*  448 */
+	{ 0,	0,	printargs,		"SYS_449"	}, /*  449 */
+	{ 0,	0,	printargs,		"SYS_450"	}, /*  450 */
+	{ 0,	0,	printargs,		"SYS_451"	}, /*  451 */
+	{ 0,	0,	printargs,		"SYS_452"	}, /*  452 */
+	{ 0,	0,	printargs,		"SYS_453"	}, /*  453 */
+	{ 0,	0,	printargs,		"SYS_454"	}, /*  454 */
+	{ 0,	0,	printargs,		"SYS_455"	}, /*  455 */
+	{ 0,	0,	printargs,		"SYS_456"	}, /*  456 */
+	{ 0,	0,	printargs,		"SYS_457"	}, /*  457 */
+	{ 0,	0,	printargs,		"SYS_458"	}, /*  458 */
+	{ 0,	0,	printargs,		"SYS_459"	}, /*  459 */
+	{ 0,	0,	printargs,		"SYS_460"	}, /*  460 */
+	{ 0,	0,	printargs,		"SYS_461"	}, /*  461 */
+	{ 0,	0,	printargs,		"SYS_462"	}, /*  462 */
+	{ 0,	0,	printargs,		"SYS_463"	}, /*  463 */
+	{ 0,	0,	printargs,		"SYS_464"	}, /*  464 */
+	{ 0,	0,	printargs,		"SYS_465"	}, /*  465 */
+	{ 0,	0,	printargs,		"SYS_466"	}, /*  466 */
+	{ 0,	0,	printargs,		"SYS_467"	}, /*  467 */
+	{ 0,	0,	printargs,		"SYS_468"	}, /*  468 */
+	{ 0,	0,	printargs,		"SYS_469"	}, /*  469 */
+	{ 0,	0,	printargs,		"SYS_470"	}, /*  470 */
+	{ 0,	0,	printargs,		"SYS_471"	}, /*  471 */
+	{ 0,	0,	printargs,		"SYS_472"	}, /*  472 */
+	{ 0,	0,	printargs,		"SYS_473"	}, /*  473 */
+	{ 0,	0,	printargs,		"SYS_474"	}, /*  474 */
+	{ 0,	0,	printargs,		"SYS_475"	}, /*  475 */
+	{ 0,	0,	printargs,		"SYS_476"	}, /*  476 */
+	{ 0,	0,	printargs,		"SYS_477"	}, /*  477 */
+	{ 0,	0,	printargs,		"SYS_478"	}, /*  478 */
+	{ 0,	0,	printargs,		"SYS_479"	}, /*  479 */
+	{ 0,	0,	printargs,		"SYS_480"	}, /*  480 */
+	{ 0,	0,	printargs,		"SYS_481"	}, /*  481 */
+	{ 0,	0,	printargs,		"SYS_482"	}, /*  482 */
+	{ 0,	0,	printargs,		"SYS_483"	}, /*  483 */
+	{ 0,	0,	printargs,		"SYS_484"	}, /*  484 */
+	{ 0,	0,	printargs,		"SYS_485"	}, /*  485 */
+	{ 0,	0,	printargs,		"SYS_486"	}, /*  486 */
+	{ 0,	0,	printargs,		"SYS_487"	}, /*  487 */
+	{ 0,	0,	printargs,		"SYS_488"	}, /*  488 */
+	{ 0,	0,	printargs,		"SYS_489"	}, /*  489 */
+	{ 0,	0,	printargs,		"SYS_490"	}, /*  490 */
+	{ 0,	0,	printargs,		"SYS_491"	}, /*  491 */
+	{ 0,	0,	printargs,		"SYS_492"	}, /*  492 */
+	{ 0,	0,	printargs,		"SYS_493"	}, /*  493 */
+	{ 0,	0,	printargs,		"SYS_494"	}, /*  494 */
+	{ 0,	0,	printargs,		"SYS_495"	}, /*  495 */
+	{ 0,	0,	printargs,		"SYS_496"	}, /*  496 */
+	{ 0,	0,	printargs,		"SYS_497"	}, /*  497 */
+	{ 0,	0,	printargs,		"SYS_498"	}, /*  498 */
+	{ 0,	0,	printargs,		"SYS_499"	}, /*  499 */
+	{ 0,	0,	printargs,		"SYS_500"	}, /*  500 */
+	{ 0,	0,	printargs,		"SYS_501"	}, /*  501 */
+	{ 0,	0,	printargs,		"SYS_502"	}, /*  502 */
+	{ 0,	0,	printargs,		"SYS_503"	}, /*  503 */
+	{ 0,	0,	printargs,		"SYS_504"	}, /*  504 */
+	{ 0,	0,	printargs,		"SYS_505"	}, /*  505 */
+	{ 0,	0,	printargs,		"SYS_506"	}, /*  506 */
+	{ 0,	0,	printargs,		"SYS_507"	}, /*  507 */
+	{ 0,	0,	printargs,		"SYS_508"	}, /*  508 */
+	{ 0,	0,	printargs,		"SYS_509"	}, /*  509 */
+	{ 0,	0,	printargs,		"SYS_510"	}, /*  510 */
+	{ 0,	0,	printargs,		"SYS_511"	}, /*  511 */
+	{ 0,	0,	printargs,		"SYS_512"	}, /*  512 */
+	{ 0,	0,	printargs,		"SYS_513"	}, /*  513 */
+	{ 0,	0,	printargs,		"SYS_514"	}, /*  514 */
+	{ 0,	0,	printargs,		"SYS_515"	}, /*  515 */
+	{ 0,	0,	printargs,		"SYS_516"	}, /*  516 */
+	{ 0,	0,	printargs,		"SYS_517"	}, /*  517 */
+	{ 0,	0,	printargs,		"SYS_518"	}, /*  518 */
+	{ 0,	0,	printargs,		"SYS_519"	}, /*  519 */
+	{ 0,	0,	printargs,		"SYS_520"	}, /*  520 */
+	{ 0,	0,	printargs,		"SYS_521"	}, /*  521 */
+	{ 0,	0,	printargs,		"SYS_522"	}, /*  522 */
+	{ 0,	0,	printargs,		"SYS_523"	}, /*  523 */
+	{ 0,	0,	printargs,		"SYS_524"	}, /*  524 */
+	{ 0,	0,	printargs,		"SYS_525"	}, /*  525 */
+	{ 0,	0,	printargs,		"SYS_526"	}, /*  526 */
+	{ 0,	0,	printargs,		"SYS_527"	}, /*  527 */
+	{ 0,	0,	printargs,		"SYS_528"	}, /*  528 */
+	{ 0,	0,	printargs,		"SYS_529"	}, /*  529 */
+	{ 0,	0,	printargs,		"SYS_530"	}, /*  530 */
+	{ 0,	0,	printargs,		"SYS_531"	}, /*  531 */
+	{ 0,	0,	printargs,		"SYS_532"	}, /*  532 */
+	{ 0,	0,	printargs,		"SYS_533"	}, /*  533 */
+	{ 0,	0,	printargs,		"SYS_534"	}, /*  534 */
+	{ 0,	0,	printargs,		"SYS_535"	}, /*  535 */
+	{ 0,	0,	printargs,		"SYS_536"	}, /*  536 */
+	{ 0,	0,	printargs,		"SYS_537"	}, /*  537 */
+	{ 0,	0,	printargs,		"SYS_538"	}, /*  538 */
+	{ 0,	0,	printargs,		"SYS_539"	}, /*  539 */
+	{ 0,	0,	printargs,		"SYS_540"	}, /*  540 */
+	{ 0,	0,	printargs,		"SYS_541"	}, /*  541 */
+	{ 0,	0,	printargs,		"SYS_542"	}, /*  542 */
+	{ 0,	0,	printargs,		"SYS_543"	}, /*  543 */
+	{ 0,	0,	printargs,		"SYS_544"	}, /*  544 */
+	{ 0,	0,	printargs,		"SYS_545"	}, /*  545 */
+	{ 0,	0,	printargs,		"SYS_546"	}, /*  546 */
+	{ 0,	0,	printargs,		"SYS_547"	}, /*  547 */
+	{ 0,	0,	printargs,		"SYS_548"	}, /*  548 */
+	{ 0,	0,	printargs,		"SYS_549"	}, /*  549 */
+	{ 0,	0,	printargs,		"SYS_550"	}, /*  550 */
+	{ 0,	0,	printargs,		"SYS_551"	}, /*  551 */
+	{ 0,	0,	printargs,		"SYS_552"	}, /*  552 */
+	{ 0,	0,	printargs,		"SYS_553"	}, /*  553 */
+	{ 0,	0,	printargs,		"SYS_554"	}, /*  554 */
+	{ 0,	0,	printargs,		"SYS_555"	}, /*  555 */
+	{ 0,	0,	printargs,		"SYS_556"	}, /*  556 */
+	{ 0,	0,	printargs,		"SYS_557"	}, /*  557 */
+	{ 0,	0,	printargs,		"SYS_558"	}, /*  558 */
+	{ 0,	0,	printargs,		"SYS_559"	}, /*  559 */
+	{ 0,	0,	printargs,		"SYS_560"	}, /*  560 */
+	{ 0,	0,	printargs,		"SYS_561"	}, /*  561 */
+	{ 0,	0,	printargs,		"SYS_562"	}, /*  562 */
+	{ 0,	0,	printargs,		"SYS_563"	}, /*  563 */
+	{ 0,	0,	printargs,		"SYS_564"	}, /*  564 */
+	{ 0,	0,	printargs,		"SYS_565"	}, /*  565 */
+	{ 0,	0,	printargs,		"SYS_566"	}, /*  566 */
+	{ 0,	0,	printargs,		"SYS_567"	}, /*  567 */
+	{ 0,	0,	printargs,		"SYS_568"	}, /*  568 */
+	{ 0,	0,	printargs,		"SYS_569"	}, /*  569 */
+	{ 0,	0,	printargs,		"SYS_570"	}, /*  570 */
+	{ 0,	0,	printargs,		"SYS_571"	}, /*  571 */
+	{ 0,	0,	printargs,		"SYS_572"	}, /*  572 */
+	{ 0,	0,	printargs,		"SYS_573"	}, /*  573 */
+	{ 0,	0,	printargs,		"SYS_574"	}, /*  574 */
+	{ 0,	0,	printargs,		"SYS_575"	}, /*  575 */
+	{ 0,	0,	printargs,		"SYS_576"	}, /*  576 */
+	{ 0,	0,	printargs,		"SYS_577"	}, /*  577 */
+	{ 0,	0,	printargs,		"SYS_578"	}, /*  578 */
+	{ 0,	0,	printargs,		"SYS_579"	}, /*  579 */
+	{ 0,	0,	printargs,		"SYS_580"	}, /*  580 */
+	{ 0,	0,	printargs,		"SYS_581"	}, /*  581 */
+	{ 0,	0,	printargs,		"SYS_582"	}, /*  582 */
+	{ 0,	0,	printargs,		"SYS_583"	}, /*  583 */
+	{ 0,	0,	printargs,		"SYS_584"	}, /*  584 */
+	{ 0,	0,	printargs,		"SYS_585"	}, /*  585 */
+	{ 0,	0,	printargs,		"SYS_586"	}, /*  586 */
+	{ 0,	0,	printargs,		"SYS_587"	}, /*  587 */
+	{ 0,	0,	printargs,		"SYS_588"	}, /*  588 */
+	{ 0,	0,	printargs,		"SYS_589"	}, /*  589 */
+	{ 0,	0,	printargs,		"SYS_590"	}, /*  590 */
+	{ 0,	0,	printargs,		"SYS_591"	}, /*  591 */
+	{ 0,	0,	printargs,		"SYS_592"	}, /*  592 */
+	{ 0,	0,	printargs,		"SYS_593"	}, /*  593 */
+	{ 0,	0,	printargs,		"SYS_594"	}, /*  594 */
+	{ 0,	0,	printargs,		"SYS_595"	}, /*  595 */
+	{ 0,	0,	printargs,		"SYS_596"	}, /*  596 */
+	{ 0,	0,	printargs,		"SYS_597"	}, /*  597 */
+	{ 0,	0,	printargs,		"SYS_598"	}, /*  598 */
+	{ 0,	0,	printargs,		"SYS_599"	}, /*  599 */
+	{ 0,	0,	printargs,		"SYS_600"	}, /*  600 */
+	{ 0,	0,	printargs,		"SYS_601"	}, /*  601 */
+	{ 0,	0,	printargs,		"SYS_602"	}, /*  602 */
+	{ 0,	0,	printargs,		"SYS_603"	}, /*  603 */
+	{ 0,	0,	printargs,		"SYS_604"	}, /*  604 */
+	{ 0,	0,	printargs,		"SYS_605"	}, /*  605 */
+	{ 0,	0,	printargs,		"SYS_606"	}, /*  606 */
+	{ 0,	0,	printargs,		"SYS_607"	}, /*  607 */
+	{ 0,	0,	printargs,		"SYS_608"	}, /*  608 */
+	{ 0,	0,	printargs,		"SYS_609"	}, /*  609 */
+	{ 0,	0,	printargs,		"SYS_610"	}, /*  610 */
+	{ 0,	0,	printargs,		"SYS_611"	}, /*  611 */
+	{ 0,	0,	printargs,		"SYS_612"	}, /*  612 */
+	{ 0,	0,	printargs,		"SYS_613"	}, /*  613 */
+	{ 0,	0,	printargs,		"SYS_614"	}, /*  614 */
+	{ 0,	0,	printargs,		"SYS_615"	}, /*  615 */
+	{ 0,	0,	printargs,		"SYS_616"	}, /*  616 */
+	{ 0,	0,	printargs,		"SYS_617"	}, /*  617 */
+	{ 0,	0,	printargs,		"SYS_618"	}, /*  618 */
+	{ 0,	0,	printargs,		"SYS_619"	}, /*  619 */
+	{ 0,	0,	printargs,		"SYS_620"	}, /*  620 */
+	{ 0,	0,	printargs,		"SYS_621"	}, /*  621 */
+	{ 0,	0,	printargs,		"SYS_622"	}, /*  622 */
+	{ 0,	0,	printargs,		"SYS_623"	}, /*  623 */
+	{ 0,	0,	printargs,		"SYS_624"	}, /*  624 */
+	{ 0,	0,	printargs,		"SYS_625"	}, /*  625 */
+	{ 0,	0,	printargs,		"SYS_626"	}, /*  626 */
+	{ 0,	0,	printargs,		"SYS_627"	}, /*  627 */
+	{ 0,	0,	printargs,		"SYS_628"	}, /*  628 */
+	{ 0,	0,	printargs,		"SYS_629"	}, /*  629 */
+	{ 0,	0,	printargs,		"SYS_630"	}, /*  630 */
+	{ 0,	0,	printargs,		"SYS_631"	}, /*  631 */
+	{ 0,	0,	printargs,		"SYS_632"	}, /*  632 */
+	{ 0,	0,	printargs,		"SYS_633"	}, /*  633 */
+	{ 0,	0,	printargs,		"SYS_634"	}, /*  634 */
+	{ 0,	0,	printargs,		"SYS_635"	}, /*  635 */
+	{ 0,	0,	printargs,		"SYS_636"	}, /*  636 */
+	{ 0,	0,	printargs,		"SYS_637"	}, /*  637 */
+	{ 0,	0,	printargs,		"SYS_638"	}, /*  638 */
+	{ 0,	0,	printargs,		"SYS_639"	}, /*  639 */
+	{ 0,	0,	printargs,		"SYS_640"	}, /*  640 */
+	{ 0,	0,	printargs,		"SYS_641"	}, /*  641 */
+	{ 0,	0,	printargs,		"SYS_642"	}, /*  642 */
+	{ 0,	0,	printargs,		"SYS_643"	}, /*  643 */
+	{ 0,	0,	printargs,		"SYS_644"	}, /*  644 */
+	{ 0,	0,	printargs,		"SYS_645"	}, /*  645 */
+	{ 0,	0,	printargs,		"SYS_646"	}, /*  646 */
+	{ 0,	0,	printargs,		"SYS_647"	}, /*  647 */
+	{ 0,	0,	printargs,		"SYS_648"	}, /*  648 */
+	{ 0,	0,	printargs,		"SYS_649"	}, /*  649 */
+	{ 0,	0,	printargs,		"SYS_650"	}, /*  650 */
+	{ 0,	0,	printargs,		"SYS_651"	}, /*  651 */
+	{ 0,	0,	printargs,		"SYS_652"	}, /*  652 */
+	{ 0,	0,	printargs,		"SYS_653"	}, /*  653 */
+	{ 0,	0,	printargs,		"SYS_654"	}, /*  654 */
+	{ 0,	0,	printargs,		"SYS_655"	}, /*  655 */
+	{ 0,	0,	printargs,		"SYS_656"	}, /*  656 */
+	{ 0,	0,	printargs,		"SYS_657"	}, /*  657 */
+	{ 0,	0,	printargs,		"SYS_658"	}, /*  658 */
+	{ 0,	0,	printargs,		"SYS_659"	}, /*  659 */
+	{ 0,	0,	printargs,		"SYS_660"	}, /*  660 */
+	{ 0,	0,	printargs,		"SYS_661"	}, /*  661 */
+	{ 0,	0,	printargs,		"SYS_662"	}, /*  662 */
+	{ 0,	0,	printargs,		"SYS_663"	}, /*  663 */
+	{ 0,	0,	printargs,		"SYS_664"	}, /*  664 */
+	{ 0,	0,	printargs,		"SYS_665"	}, /*  665 */
+	{ 0,	0,	printargs,		"SYS_666"	}, /*  666 */
+	{ 0,	0,	printargs,		"SYS_667"	}, /*  667 */
+	{ 0,	0,	printargs,		"SYS_668"	}, /*  668 */
+	{ 0,	0,	printargs,		"SYS_669"	}, /*  669 */
+	{ 0,	0,	printargs,		"SYS_670"	}, /*  670 */
+	{ 0,	0,	printargs,		"SYS_671"	}, /*  671 */
+	{ 0,	0,	printargs,		"SYS_672"	}, /*  672 */
+	{ 0,	0,	printargs,		"SYS_673"	}, /*  673 */
+	{ 0,	0,	printargs,		"SYS_674"	}, /*  674 */
+	{ 0,	0,	printargs,		"SYS_675"	}, /*  675 */
+	{ 0,	0,	printargs,		"SYS_676"	}, /*  676 */
+	{ 0,	0,	printargs,		"SYS_677"	}, /*  677 */
+	{ 0,	0,	printargs,		"SYS_678"	}, /*  678 */
+	{ 0,	0,	printargs,		"SYS_679"	}, /*  679 */
+	{ 0,	0,	printargs,		"SYS_680"	}, /*  680 */
+	{ 0,	0,	printargs,		"SYS_681"	}, /*  681 */
+	{ 0,	0,	printargs,		"SYS_682"	}, /*  682 */
+	{ 0,	0,	printargs,		"SYS_683"	}, /*  683 */
+	{ 0,	0,	printargs,		"SYS_684"	}, /*  684 */
+	{ 0,	0,	printargs,		"SYS_685"	}, /*  685 */
+	{ 0,	0,	printargs,		"SYS_686"	}, /*  686 */
+	{ 0,	0,	printargs,		"SYS_687"	}, /*  687 */
+	{ 0,	0,	printargs,		"SYS_688"	}, /*  688 */
+	{ 0,	0,	printargs,		"SYS_689"	}, /*  689 */
+	{ 0,	0,	printargs,		"SYS_690"	}, /*  690 */
+	{ 0,	0,	printargs,		"SYS_691"	}, /*  691 */
+	{ 0,	0,	printargs,		"SYS_692"	}, /*  692 */
+	{ 0,	0,	printargs,		"SYS_693"	}, /*  693 */
+	{ 0,	0,	printargs,		"SYS_694"	}, /*  694 */
+	{ 0,	0,	printargs,		"SYS_695"	}, /*  695 */
+	{ 0,	0,	printargs,		"SYS_696"	}, /*  696 */
+	{ 0,	0,	printargs,		"SYS_697"	}, /*  697 */
+	{ 0,	0,	printargs,		"SYS_698"	}, /*  698 */
+	{ 0,	0,	printargs,		"SYS_699"	}, /*  699 */
+	{ 0,	0,	printargs,		"SYS_700"	}, /*  700 */
+	{ 0,	0,	printargs,		"SYS_701"	}, /*  701 */
+	{ 0,	0,	printargs,		"SYS_702"	}, /*  702 */
+	{ 0,	0,	printargs,		"SYS_703"	}, /*  703 */
+	{ 0,	0,	printargs,		"SYS_704"	}, /*  704 */
+	{ 0,	0,	printargs,		"SYS_705"	}, /*  705 */
+	{ 0,	0,	printargs,		"SYS_706"	}, /*  706 */
+	{ 0,	0,	printargs,		"SYS_707"	}, /*  707 */
+	{ 0,	0,	printargs,		"SYS_708"	}, /*  708 */
+	{ 0,	0,	printargs,		"SYS_709"	}, /*  709 */
+	{ 0,	0,	printargs,		"SYS_710"	}, /*  710 */
+	{ 0,	0,	printargs,		"SYS_711"	}, /*  711 */
+	{ 0,	0,	printargs,		"SYS_712"	}, /*  712 */
+	{ 0,	0,	printargs,		"SYS_713"	}, /*  713 */
+	{ 0,	0,	printargs,		"SYS_714"	}, /*  714 */
+	{ 0,	0,	printargs,		"SYS_715"	}, /*  715 */
+	{ 0,	0,	printargs,		"SYS_716"	}, /*  716 */
+	{ 0,	0,	printargs,		"SYS_717"	}, /*  717 */
+	{ 0,	0,	printargs,		"SYS_718"	}, /*  718 */
+	{ 0,	0,	printargs,		"SYS_719"	}, /*  719 */
+	{ 0,	0,	printargs,		"SYS_720"	}, /*  720 */
+	{ 0,	0,	printargs,		"SYS_721"	}, /*  721 */
+	{ 0,	0,	printargs,		"SYS_722"	}, /*  722 */
+	{ 0,	0,	printargs,		"SYS_723"	}, /*  723 */
+	{ 0,	0,	printargs,		"SYS_724"	}, /*  724 */
+	{ 0,	0,	printargs,		"SYS_725"	}, /*  725 */
+	{ 0,	0,	printargs,		"SYS_726"	}, /*  726 */
+	{ 0,	0,	printargs,		"SYS_727"	}, /*  727 */
+	{ 0,	0,	printargs,		"SYS_728"	}, /*  728 */
+	{ 0,	0,	printargs,		"SYS_729"	}, /*  729 */
+	{ 0,	0,	printargs,		"SYS_730"	}, /*  730 */
+	{ 0,	0,	printargs,		"SYS_731"	}, /*  731 */
+	{ 0,	0,	printargs,		"SYS_732"	}, /*  732 */
+	{ 0,	0,	printargs,		"SYS_733"	}, /*  733 */
+	{ 0,	0,	printargs,		"SYS_734"	}, /*  734 */
+	{ 0,	0,	printargs,		"SYS_735"	}, /*  735 */
+	{ 0,	0,	printargs,		"SYS_736"	}, /*  736 */
+	{ 0,	0,	printargs,		"SYS_737"	}, /*  737 */
+	{ 0,	0,	printargs,		"SYS_738"	}, /*  738 */
+	{ 0,	0,	printargs,		"SYS_739"	}, /*  739 */
+	{ 0,	0,	printargs,		"SYS_740"	}, /*  740 */
+	{ 0,	0,	printargs,		"SYS_741"	}, /*  741 */
+	{ 0,	0,	printargs,		"SYS_742"	}, /*  742 */
+	{ 0,	0,	printargs,		"SYS_743"	}, /*  743 */
+	{ 0,	0,	printargs,		"SYS_744"	}, /*  744 */
+	{ 0,	0,	printargs,		"SYS_745"	}, /*  745 */
+	{ 0,	0,	printargs,		"SYS_746"	}, /*  746 */
+	{ 0,	0,	printargs,		"SYS_747"	}, /*  747 */
+	{ 0,	0,	printargs,		"SYS_748"	}, /*  748 */
+	{ 0,	0,	printargs,		"SYS_749"	}, /*  749 */
+	{ 0,	0,	printargs,		"SYS_750"	}, /*  750 */
+	{ 0,	0,	printargs,		"SYS_751"	}, /*  751 */
+	{ 0,	0,	printargs,		"SYS_752"	}, /*  752 */
+	{ 0,	0,	printargs,		"SYS_753"	}, /*  753 */
+	{ 0,	0,	printargs,		"SYS_754"	}, /*  754 */
+	{ 0,	0,	printargs,		"SYS_755"	}, /*  755 */
+	{ 0,	0,	printargs,		"SYS_756"	}, /*  756 */
+	{ 0,	0,	printargs,		"SYS_757"	}, /*  757 */
+	{ 0,	0,	printargs,		"SYS_758"	}, /*  758 */
+	{ 0,	0,	printargs,		"SYS_759"	}, /*  759 */
+	{ 0,	0,	printargs,		"SYS_760"	}, /*  760 */
+	{ 0,	0,	printargs,		"SYS_761"	}, /*  761 */
+	{ 0,	0,	printargs,		"SYS_762"	}, /*  762 */
+	{ 0,	0,	printargs,		"SYS_763"	}, /*  763 */
+	{ 0,	0,	printargs,		"SYS_764"	}, /*  764 */
+	{ 0,	0,	printargs,		"SYS_765"	}, /*  765 */
+	{ 0,	0,	printargs,		"SYS_766"	}, /*  766 */
+	{ 0,	0,	printargs,		"SYS_767"	}, /*  767 */
+	{ 0,	0,	printargs,		"SYS_768"	}, /*  768 */
+	{ 0,	0,	printargs,		"SYS_769"	}, /*  769 */
+	{ 0,	0,	printargs,		"SYS_770"	}, /*  770 */
+	{ 0,	0,	printargs,		"SYS_771"	}, /*  771 */
+	{ 0,	0,	printargs,		"SYS_772"	}, /*  772 */
+	{ 0,	0,	printargs,		"SYS_773"	}, /*  773 */
+	{ 0,	0,	printargs,		"SYS_774"	}, /*  774 */
+	{ 0,	0,	printargs,		"SYS_775"	}, /*  775 */
+	{ 0,	0,	printargs,		"SYS_776"	}, /*  776 */
+	{ 0,	0,	printargs,		"SYS_777"	}, /*  777 */
+	{ 0,	0,	printargs,		"SYS_778"	}, /*  778 */
+	{ 0,	0,	printargs,		"SYS_779"	}, /*  779 */
+	{ 0,	0,	printargs,		"SYS_780"	}, /*  780 */
+	{ 0,	0,	printargs,		"SYS_781"	}, /*  781 */
+	{ 0,	0,	printargs,		"SYS_782"	}, /*  782 */
+	{ 0,	0,	printargs,		"SYS_783"	}, /*  783 */
+	{ 0,	0,	printargs,		"SYS_784"	}, /*  784 */
+	{ 0,	0,	printargs,		"SYS_785"	}, /*  785 */
+	{ 0,	0,	printargs,		"SYS_786"	}, /*  786 */
+	{ 0,	0,	printargs,		"SYS_787"	}, /*  787 */
+	{ 0,	0,	printargs,		"SYS_788"	}, /*  788 */
+	{ 0,	0,	printargs,		"SYS_789"	}, /*  789 */
+	{ 0,	0,	printargs,		"SYS_790"	}, /*  790 */
+	{ 0,	0,	printargs,		"SYS_791"	}, /*  791 */
+	{ 0,	0,	printargs,		"SYS_792"	}, /*  792 */
+	{ 0,	0,	printargs,		"SYS_793"	}, /*  793 */
+	{ 0,	0,	printargs,		"SYS_794"	}, /*  794 */
+	{ 0,	0,	printargs,		"SYS_795"	}, /*  795 */
+	{ 0,	0,	printargs,		"SYS_796"	}, /*  796 */
+	{ 0,	0,	printargs,		"SYS_797"	}, /*  797 */
+	{ 0,	0,	printargs,		"SYS_798"	}, /*  798 */
+	{ 0,	0,	printargs,		"SYS_799"	}, /*  799 */
+	{ 0,	0,	printargs,		"SYS_800"	}, /*  800 */
+	{ 0,	0,	printargs,		"SYS_801"	}, /*  801 */
+	{ 0,	0,	printargs,		"SYS_802"	}, /*  802 */
+	{ 0,	0,	printargs,		"SYS_803"	}, /*  803 */
+	{ 0,	0,	printargs,		"SYS_804"	}, /*  804 */
+	{ 0,	0,	printargs,		"SYS_805"	}, /*  805 */
+	{ 0,	0,	printargs,		"SYS_806"	}, /*  806 */
+	{ 0,	0,	printargs,		"SYS_807"	}, /*  807 */
+	{ 0,	0,	printargs,		"SYS_808"	}, /*  808 */
+	{ 0,	0,	printargs,		"SYS_809"	}, /*  809 */
+	{ 0,	0,	printargs,		"SYS_810"	}, /*  810 */
+	{ 0,	0,	printargs,		"SYS_811"	}, /*  811 */
+	{ 0,	0,	printargs,		"SYS_812"	}, /*  812 */
+	{ 0,	0,	printargs,		"SYS_813"	}, /*  813 */
+	{ 0,	0,	printargs,		"SYS_814"	}, /*  814 */
+	{ 0,	0,	printargs,		"SYS_815"	}, /*  815 */
+	{ 0,	0,	printargs,		"SYS_816"	}, /*  816 */
+	{ 0,	0,	printargs,		"SYS_817"	}, /*  817 */
+	{ 0,	0,	printargs,		"SYS_818"	}, /*  818 */
+	{ 0,	0,	printargs,		"SYS_819"	}, /*  819 */
+	{ 0,	0,	printargs,		"SYS_820"	}, /*  820 */
+	{ 0,	0,	printargs,		"SYS_821"	}, /*  821 */
+	{ 0,	0,	printargs,		"SYS_822"	}, /*  822 */
+	{ 0,	0,	printargs,		"SYS_823"	}, /*  823 */
+	{ 0,	0,	printargs,		"SYS_824"	}, /*  824 */
+	{ 0,	0,	printargs,		"SYS_825"	}, /*  825 */
+	{ 0,	0,	printargs,		"SYS_826"	}, /*  826 */
+	{ 0,	0,	printargs,		"SYS_827"	}, /*  827 */
+	{ 0,	0,	printargs,		"SYS_828"	}, /*  828 */
+	{ 0,	0,	printargs,		"SYS_829"	}, /*  829 */
+	{ 0,	0,	printargs,		"SYS_830"	}, /*  830 */
+	{ 0,	0,	printargs,		"SYS_831"	}, /*  831 */
+	{ 0,	0,	printargs,		"SYS_832"	}, /*  832 */
+	{ 0,	0,	printargs,		"SYS_833"	}, /*  833 */
+	{ 0,	0,	printargs,		"SYS_834"	}, /*  834 */
+	{ 0,	0,	printargs,		"SYS_835"	}, /*  835 */
+	{ 0,	0,	printargs,		"SYS_836"	}, /*  836 */
+	{ 0,	0,	printargs,		"SYS_837"	}, /*  837 */
+	{ 0,	0,	printargs,		"SYS_838"	}, /*  838 */
+	{ 0,	0,	printargs,		"SYS_839"	}, /*  839 */
+	{ 0,	0,	printargs,		"SYS_840"	}, /*  840 */
+	{ 0,	0,	printargs,		"SYS_841"	}, /*  841 */
+	{ 0,	0,	printargs,		"SYS_842"	}, /*  842 */
+	{ 0,	0,	printargs,		"SYS_843"	}, /*  843 */
+	{ 0,	0,	printargs,		"SYS_844"	}, /*  844 */
+	{ 0,	0,	printargs,		"SYS_845"	}, /*  845 */
+	{ 0,	0,	printargs,		"SYS_846"	}, /*  846 */
+	{ 0,	0,	printargs,		"SYS_847"	}, /*  847 */
+	{ 0,	0,	printargs,		"SYS_848"	}, /*  848 */
+	{ 0,	0,	printargs,		"SYS_849"	}, /*  849 */
+	{ 0,	0,	printargs,		"SYS_850"	}, /*  850 */
+	{ 0,	0,	printargs,		"SYS_851"	}, /*  851 */
+	{ 0,	0,	printargs,		"SYS_852"	}, /*  852 */
+	{ 0,	0,	printargs,		"SYS_853"	}, /*  853 */
+	{ 0,	0,	printargs,		"SYS_854"	}, /*  854 */
+	{ 0,	0,	printargs,		"SYS_855"	}, /*  855 */
+	{ 0,	0,	printargs,		"SYS_856"	}, /*  856 */
+	{ 0,	0,	printargs,		"SYS_857"	}, /*  857 */
+	{ 0,	0,	printargs,		"SYS_858"	}, /*  858 */
+	{ 0,	0,	printargs,		"SYS_859"	}, /*  859 */
+	{ 0,	0,	printargs,		"SYS_860"	}, /*  860 */
+	{ 0,	0,	printargs,		"SYS_861"	}, /*  861 */
+	{ 0,	0,	printargs,		"SYS_862"	}, /*  862 */
+	{ 0,	0,	printargs,		"SYS_863"	}, /*  863 */
+	{ 0,	0,	printargs,		"SYS_864"	}, /*  864 */
+	{ 0,	0,	printargs,		"SYS_865"	}, /*  865 */
+	{ 0,	0,	printargs,		"SYS_866"	}, /*  866 */
+	{ 0,	0,	printargs,		"SYS_867"	}, /*  867 */
+	{ 0,	0,	printargs,		"SYS_868"	}, /*  868 */
+	{ 0,	0,	printargs,		"SYS_869"	}, /*  869 */
+	{ 0,	0,	printargs,		"SYS_870"	}, /*  870 */
+	{ 0,	0,	printargs,		"SYS_871"	}, /*  871 */
+	{ 0,	0,	printargs,		"SYS_872"	}, /*  872 */
+	{ 0,	0,	printargs,		"SYS_873"	}, /*  873 */
+	{ 0,	0,	printargs,		"SYS_874"	}, /*  874 */
+	{ 0,	0,	printargs,		"SYS_875"	}, /*  875 */
+	{ 0,	0,	printargs,		"SYS_876"	}, /*  876 */
+	{ 0,	0,	printargs,		"SYS_877"	}, /*  877 */
+	{ 0,	0,	printargs,		"SYS_878"	}, /*  878 */
+	{ 0,	0,	printargs,		"SYS_879"	}, /*  879 */
+	{ 0,	0,	printargs,		"SYS_880"	}, /*  880 */
+	{ 0,	0,	printargs,		"SYS_881"	}, /*  881 */
+	{ 0,	0,	printargs,		"SYS_882"	}, /*  882 */
+	{ 0,	0,	printargs,		"SYS_883"	}, /*  883 */
+	{ 0,	0,	printargs,		"SYS_884"	}, /*  884 */
+	{ 0,	0,	printargs,		"SYS_885"	}, /*  885 */
+	{ 0,	0,	printargs,		"SYS_886"	}, /*  886 */
+	{ 0,	0,	printargs,		"SYS_887"	}, /*  887 */
+	{ 0,	0,	printargs,		"SYS_888"	}, /*  888 */
+	{ 0,	0,	printargs,		"SYS_889"	}, /*  889 */
+	{ 0,	0,	printargs,		"SYS_890"	}, /*  890 */
+	{ 0,	0,	printargs,		"SYS_891"	}, /*  891 */
+	{ 0,	0,	printargs,		"SYS_892"	}, /*  892 */
+	{ 0,	0,	printargs,		"SYS_893"	}, /*  893 */
+	{ 0,	0,	printargs,		"SYS_894"	}, /*  894 */
+	{ 0,	0,	printargs,		"SYS_895"	}, /*  895 */
+	{ 0,	0,	printargs,		"SYS_896"	}, /*  896 */
+	{ 0,	0,	printargs,		"SYS_897"	}, /*  897 */
+	{ 0,	0,	printargs,		"SYS_898"	}, /*  898 */
+	{ 0,	0,	printargs,		"SYS_899"	}, /*  899 */
+	{ 0,	0,	printargs,		"SYS_900"	}, /*  900 */
+	{ 0,	0,	printargs,		"SYS_901"	}, /*  901 */
+	{ 0,	0,	printargs,		"SYS_902"	}, /*  902 */
+	{ 0,	0,	printargs,		"SYS_903"	}, /*  903 */
+	{ 0,	0,	printargs,		"SYS_904"	}, /*  904 */
+	{ 0,	0,	printargs,		"SYS_905"	}, /*  905 */
+	{ 0,	0,	printargs,		"SYS_906"	}, /*  906 */
+	{ 0,	0,	printargs,		"SYS_907"	}, /*  907 */
+	{ 0,	0,	printargs,		"SYS_908"	}, /*  908 */
+	{ 0,	0,	printargs,		"SYS_909"	}, /*  909 */
+	{ 0,	0,	printargs,		"SYS_910"	}, /*  910 */
+	{ 0,	0,	printargs,		"SYS_911"	}, /*  911 */
+	{ 0,	0,	printargs,		"SYS_912"	}, /*  912 */
+	{ 0,	0,	printargs,		"SYS_913"	}, /*  913 */
+	{ 0,	0,	printargs,		"SYS_914"	}, /*  914 */
+	{ 0,	0,	printargs,		"SYS_915"	}, /*  915 */
+	{ 0,	0,	printargs,		"SYS_916"	}, /*  916 */
+	{ 0,	0,	printargs,		"SYS_917"	}, /*  917 */
+	{ 0,	0,	printargs,		"SYS_918"	}, /*  918 */
+	{ 0,	0,	printargs,		"SYS_919"	}, /*  919 */
+	{ 0,	0,	printargs,		"SYS_920"	}, /*  920 */
+	{ 0,	0,	printargs,		"SYS_921"	}, /*  921 */
+	{ 0,	0,	printargs,		"SYS_922"	}, /*  922 */
+	{ 0,	0,	printargs,		"SYS_923"	}, /*  923 */
+	{ 0,	0,	printargs,		"SYS_924"	}, /*  924 */
+	{ 0,	0,	printargs,		"SYS_925"	}, /*  925 */
+	{ 0,	0,	printargs,		"SYS_926"	}, /*  926 */
+	{ 0,	0,	printargs,		"SYS_927"	}, /*  927 */
+	{ 0,	0,	printargs,		"SYS_928"	}, /*  928 */
+	{ 0,	0,	printargs,		"SYS_929"	}, /*  929 */
+	{ 0,	0,	printargs,		"SYS_930"	}, /*  930 */
+	{ 0,	0,	printargs,		"SYS_931"	}, /*  931 */
+	{ 0,	0,	printargs,		"SYS_932"	}, /*  932 */
+	{ 0,	0,	printargs,		"SYS_933"	}, /*  933 */
+	{ 0,	0,	printargs,		"SYS_934"	}, /*  934 */
+	{ 0,	0,	printargs,		"SYS_935"	}, /*  935 */
+	{ 0,	0,	printargs,		"SYS_936"	}, /*  936 */
+	{ 0,	0,	printargs,		"SYS_937"	}, /*  937 */
+	{ 0,	0,	printargs,		"SYS_938"	}, /*  938 */
+	{ 0,	0,	printargs,		"SYS_939"	}, /*  939 */
+	{ 0,	0,	printargs,		"SYS_940"	}, /*  940 */
+	{ 0,	0,	printargs,		"SYS_941"	}, /*  941 */
+	{ 0,	0,	printargs,		"SYS_942"	}, /*  942 */
+	{ 0,	0,	printargs,		"SYS_943"	}, /*  943 */
+	{ 0,	0,	printargs,		"SYS_944"	}, /*  944 */
+	{ 0,	0,	printargs,		"SYS_945"	}, /*  945 */
+	{ 0,	0,	printargs,		"SYS_946"	}, /*  946 */
+	{ 0,	0,	printargs,		"SYS_947"	}, /*  947 */
+	{ 0,	0,	printargs,		"SYS_948"	}, /*  948 */
+	{ 0,	0,	printargs,		"SYS_949"	}, /*  949 */
+	{ 0,	0,	printargs,		"SYS_950"	}, /*  950 */
+	{ 0,	0,	printargs,		"SYS_951"	}, /*  951 */
+	{ 0,	0,	printargs,		"SYS_952"	}, /*  952 */
+	{ 0,	0,	printargs,		"SYS_953"	}, /*  953 */
+	{ 0,	0,	printargs,		"SYS_954"	}, /*  954 */
+	{ 0,	0,	printargs,		"SYS_955"	}, /*  955 */
+	{ 0,	0,	printargs,		"SYS_956"	}, /*  956 */
+	{ 0,	0,	printargs,		"SYS_957"	}, /*  957 */
+	{ 0,	0,	printargs,		"SYS_958"	}, /*  958 */
+	{ 0,	0,	printargs,		"SYS_959"	}, /*  959 */
+	{ 0,	0,	printargs,		"SYS_960"	}, /*  960 */
+	{ 0,	0,	printargs,		"SYS_961"	}, /*  961 */
+	{ 0,	0,	printargs,		"SYS_962"	}, /*  962 */
+	{ 0,	0,	printargs,		"SYS_963"	}, /*  963 */
+	{ 0,	0,	printargs,		"SYS_964"	}, /*  964 */
+	{ 0,	0,	printargs,		"SYS_965"	}, /*  965 */
+	{ 0,	0,	printargs,		"SYS_966"	}, /*  966 */
+	{ 0,	0,	printargs,		"SYS_967"	}, /*  967 */
+	{ 0,	0,	printargs,		"SYS_968"	}, /*  968 */
+	{ 0,	0,	printargs,		"SYS_969"	}, /*  969 */
+	{ 0,	0,	printargs,		"SYS_970"	}, /*  970 */
+	{ 0,	0,	printargs,		"SYS_971"	}, /*  971 */
+	{ 0,	0,	printargs,		"SYS_972"	}, /*  972 */
+	{ 0,	0,	printargs,		"SYS_973"	}, /*  973 */
+	{ 0,	0,	printargs,		"SYS_974"	}, /*  974 */
+	{ 0,	0,	printargs,		"SYS_975"	}, /*  975 */
+	{ 0,	0,	printargs,		"SYS_976"	}, /*  976 */
+	{ 0,	0,	printargs,		"SYS_977"	}, /*  977 */
+	{ 0,	0,	printargs,		"SYS_978"	}, /*  978 */
+	{ 0,	0,	printargs,		"SYS_979"	}, /*  979 */
+	{ 0,	0,	printargs,		"SYS_980"	}, /*  980 */
+	{ 0,	0,	printargs,		"SYS_981"	}, /*  981 */
+	{ 0,	0,	printargs,		"SYS_982"	}, /*  982 */
+	{ 0,	0,	printargs,		"SYS_983"	}, /*  983 */
+	{ 0,	0,	printargs,		"SYS_984"	}, /*  984 */
+	{ 0,	0,	printargs,		"SYS_985"	}, /*  985 */
+	{ 0,	0,	printargs,		"SYS_986"	}, /*  986 */
+	{ 0,	0,	printargs,		"SYS_987"	}, /*  987 */
+	{ 0,	0,	printargs,		"SYS_988"	}, /*  988 */
+	{ 0,	0,	printargs,		"SYS_989"	}, /*  989 */
+	{ 0,	0,	printargs,		"SYS_990"	}, /*  990 */
+	{ 0,	0,	printargs,		"SYS_991"	}, /*  991 */
+	{ 0,	0,	printargs,		"SYS_992"	}, /*  992 */
+	{ 0,	0,	printargs,		"SYS_993"	}, /*  993 */
+	{ 0,	0,	printargs,		"SYS_994"	}, /*  994 */
+	{ 0,	0,	printargs,		"SYS_995"	}, /*  995 */
+	{ 0,	0,	printargs,		"SYS_996"	}, /*  996 */
+	{ 0,	0,	printargs,		"SYS_997"	}, /*  997 */
+	{ 0,	0,	printargs,		"SYS_998"	}, /*  998 */
+	{ 0,	0,	printargs,		"SYS_999"	}, /*  999 */ /* end of SVR4 */
+	{ 0,	0,	printargs,		"sysv_syscall"	}, /* 1000 */ /* start of SYSV */
+	{ 0,	0,	printargs,		"sysv_exit"	}, /* 1001 */
+	{ 0,	0,	printargs,		"sysv_fork"	}, /* 1002 */
+	{ 0,	0,	printargs,		"sysv_read"	}, /* 1003 */
+	{ 0,	0,	printargs,		"sysv_write"	}, /* 1004 */
+	{ 0,	0,	printargs,		"sysv_open"	}, /* 1005 */
+	{ 0,	0,	printargs,		"sysv_close"	}, /* 1006 */
+	{ 0,	0,	printargs,		"sysv_wait"	}, /* 1007 */
+	{ 0,	0,	printargs,		"sysv_creat"	}, /* 1008 */
+	{ 0,	0,	printargs,		"sysv_link"	}, /* 1009 */
+	{ 0,	0,	printargs,		"sysv_unlink"	}, /* 1010 */
+	{ 0,	0,	printargs,		"sysv_execv"	}, /* 1011 */
+	{ 0,	0,	printargs,		"sysv_chdir"	}, /* 1012 */
+	{ 0,	0,	printargs,		"sysv_time"	}, /* 1013 */
+	{ 0,	0,	printargs,		"sysv_mknod"	}, /* 1014 */
+	{ 0,	0,	printargs,		"sysv_chmod"	}, /* 1015 */
+	{ 0,	0,	printargs,		"sysv_chown"	}, /* 1016 */
+	{ 0,	0,	printargs,		"sysv_brk"	}, /* 1017 */
+	{ 0,	0,	printargs,		"sysv_stat"	}, /* 1018 */
+	{ 0,	0,	printargs,		"sysv_lseek"	}, /* 1019 */
+	{ 0,	0,	printargs,		"sysv_getpid"	}, /* 1020 */
+	{ 0,	0,	printargs,		"sysv_mount"	}, /* 1021 */
+	{ 0,	0,	printargs,		"sysv_umount"	}, /* 1022 */
+	{ 0,	0,	printargs,		"sysv_setuid"	}, /* 1023 */
+	{ 0,	0,	printargs,		"sysv_getuid"	}, /* 1024 */
+	{ 0,	0,	printargs,		"sysv_stime"	}, /* 1025 */
+	{ 0,	0,	printargs,		"sysv_ptrace"	}, /* 1026 */
+	{ 0,	0,	printargs,		"sysv_alarm"	}, /* 1027 */
+	{ 0,	0,	printargs,		"sysv_fstat"	}, /* 1028 */
+	{ 0,	0,	printargs,		"sysv_pause"	}, /* 1029 */
+	{ 0,	0,	printargs,		"sysv_utime"	}, /* 1030 */
+	{ 0,	0,	printargs,		"sysv_stty"	}, /* 1031 */
+	{ 0,	0,	printargs,		"sysv_gtty"	}, /* 1032 */
+	{ 0,	0,	printargs,		"sysv_access"	}, /* 1033 */
+	{ 0,	0,	printargs,		"sysv_nice"	}, /* 1034 */
+	{ 0,	0,	printargs,		"sysv_statfs"	}, /* 1035 */
+	{ 0,	0,	printargs,		"sysv_sync"	}, /* 1036 */
+	{ 0,	0,	printargs,		"sysv_kill"	}, /* 1037 */
+	{ 0,	0,	printargs,		"sysv_fstatfs"	}, /* 1038 */
+	{ 0,	0,	printargs,		"sysv_setpgrp"	}, /* 1039 */
+	{ 0,	0,	printargs,		"sysv_syssgi"	}, /* 1040 */
+	{ 0,	0,	printargs,		"sysv_dup"	}, /* 1041 */
+	{ 0,	0,	printargs,		"sysv_pipe"	}, /* 1042 */
+	{ 0,	0,	printargs,		"sysv_times"	}, /* 1043 */
+	{ 0,	0,	printargs,		"sysv_profil"	}, /* 1044 */
+	{ 0,	0,	printargs,		"sysv_plock"	}, /* 1045 */
+	{ 0,	0,	printargs,		"sysv_setgid"	}, /* 1046 */
+	{ 0,	0,	printargs,		"sysv_getgid"	}, /* 1047 */
+	{ 0,	0,	printargs,		"sysv_sig"	}, /* 1048 */
+	{ 0,	0,	printargs,		"sysv_msgsys"	}, /* 1049 */
+	{ 0,	0,	printargs,		"sysv_sysmips"	}, /* 1050 */
+	{ 0,	0,	printargs,		"sysv_acct"	}, /* 1051 */
+	{ 0,	0,	printargs,		"sysv_shmsys"	}, /* 1052 */
+	{ 0,	0,	printargs,		"sysv_semsys"	}, /* 1053 */
+	{ 0,	0,	printargs,		"sysv_ioctl"	}, /* 1054 */
+	{ 0,	0,	printargs,		"sysv_uadmin"	}, /* 1055 */
+	{ 0,	0,	printargs,		"sysv_sysmp"	}, /* 1056 */
+	{ 0,	0,	printargs,		"sysv_utssys"	}, /* 1057 */
+	{ 0,	0,	printargs,		"SYS_1058",	}, /* 1058 */
+	{ 0,	0,	printargs,		"sysv_execve"	}, /* 1059 */
+	{ 0,	0,	printargs,		"sysv_umask"	}, /* 1060 */
+	{ 0,	0,	printargs,		"sysv_chroot"	}, /* 1061 */
+	{ 0,	0,	printargs,		"sysv_fcntl"	}, /* 1062 */
+	{ 0,	0,	printargs,		"sysv_ulimit"	}, /* 1063 */
+	{ 0,	0,	printargs,		"SYS_1064",	}, /* 1064 */
+	{ 0,	0,	printargs,		"SYS_1065",	}, /* 1065 */
+	{ 0,	0,	printargs,		"SYS_1066",	}, /* 1066 */
+	{ 0,	0,	printargs,		"SYS_1067",	}, /* 1067 */
+	{ 0,	0,	printargs,		"SYS_1068",	}, /* 1068 */
+	{ 0,	0,	printargs,		"SYS_1069",	}, /* 1069 */
+	{ 0,	0,	printargs,		"sysv_advfs"	}, /* 1070 */
+	{ 0,	0,	printargs,		"sysv_unadvfs"	}, /* 1071 */
+	{ 0,	0,	printargs,		"sysv_rmount"	}, /* 1072 */
+	{ 0,	0,	printargs,		"sysv_rumount"	}, /* 1073 */
+	{ 0,	0,	printargs,		"sysv_rfstart"	}, /* 1074 */
+	{ 0,	0,	printargs,		"sysv_getrlimit64"	}, /* 1075 */
+	{ 0,	0,	printargs,		"sysv_setrlimit64"	}, /* 1076 */
+	{ 0,	0,	printargs,		"sysv_nanosleep"	}, /* 1077 */
+	{ 0,	0,	printargs,		"sysv_lseek64"	}, /* 1078 */
+	{ 0,	0,	printargs,		"sysv_rmdir"	}, /* 1079 */
+	{ 0,	0,	printargs,		"sysv_mkdir"	}, /* 1080 */
+	{ 0,	0,	printargs,		"sysv_getdents"	}, /* 1081 */
+	{ 0,	0,	printargs,		"sysv_sginap"	}, /* 1082 */
+	{ 0,	0,	printargs,		"sysv_sgikopt"	}, /* 1083 */
+	{ 0,	0,	printargs,		"sysv_sysfs"	}, /* 1084 */
+	{ 0,	0,	printargs,		"sysv_getmsg"	}, /* 1085 */
+	{ 0,	0,	printargs,		"sysv_putmsg"	}, /* 1086 */
+	{ 0,	0,	printargs,		"sysv_poll"	}, /* 1087 */
+	{ 0,	0,	printargs,		"sysv_sigreturn"	}, /* 1088 */
+	{ 0,	0,	printargs,		"sysv_accept"	}, /* 1089 */
+	{ 0,	0,	printargs,		"sysv_bind"	}, /* 1090 */
+	{ 0,	0,	printargs,		"sysv_connect"	}, /* 1091 */
+	{ 0,	0,	printargs,		"sysv_gethostid"	}, /* 1092 */
+	{ 0,	0,	printargs,		"sysv_getpeername"	}, /* 1093 */
+	{ 0,	0,	printargs,		"sysv_getsockname"	}, /* 1094 */
+	{ 0,	0,	printargs,		"sysv_getsockopt"	}, /* 1095 */
+	{ 0,	0,	printargs,		"sysv_listen"	}, /* 1096 */
+	{ 0,	0,	printargs,		"sysv_recv"	}, /* 1097 */
+	{ 0,	0,	printargs,		"sysv_recvfrom"	}, /* 1098 */
+	{ 0,	0,	printargs,		"sysv_recvmsg"	}, /* 1099 */
+	{ 0,	0,	printargs,		"sysv_select"	}, /* 1100 */
+	{ 0,	0,	printargs,		"sysv_send"	}, /* 1101 */
+	{ 0,	0,	printargs,		"sysv_sendmsg"	}, /* 1102 */
+	{ 0,	0,	printargs,		"sysv_sendto"	}, /* 1103 */
+	{ 0,	0,	printargs,		"sysv_sethostid"	}, /* 1104 */
+	{ 0,	0,	printargs,		"sysv_setsockopt"	}, /* 1105 */
+	{ 0,	0,	printargs,		"sysv_shutdown"	}, /* 1106 */
+	{ 0,	0,	printargs,		"sysv_socket"	}, /* 1107 */
+	{ 0,	0,	printargs,		"sysv_gethostname"	}, /* 1108 */
+	{ 0,	0,	printargs,		"sysv_sethostname"	}, /* 1109 */
+	{ 0,	0,	printargs,		"sysv_getdomainname"	}, /* 1110 */
+	{ 0,	0,	printargs,		"sysv_setdomainname"	}, /* 1111 */
+	{ 0,	0,	printargs,		"sysv_truncate"	}, /* 1112 */
+	{ 0,	0,	printargs,		"sysv_ftruncate"	}, /* 1113 */
+	{ 0,	0,	printargs,		"sysv_rename"	}, /* 1114 */
+	{ 0,	0,	printargs,		"sysv_symlink"	}, /* 1115 */
+	{ 0,	0,	printargs,		"sysv_readlink"	}, /* 1116 */
+	{ 0,	0,	printargs,		"sysv_lstat"	}, /* 1117 */
+	{ 0,	0,	printargs,		"sysv_nfsmount"	}, /* 1118 */
+	{ 0,	0,	printargs,		"sysv_nfssvc"	}, /* 1119 */
+	{ 0,	0,	printargs,		"sysv_getfh"	}, /* 1120 */
+	{ 0,	0,	printargs,		"sysv_async_daemon"	}, /* 1121 */
+	{ 0,	0,	printargs,		"sysv_exportfs"	}, /* 1122 */
+	{ 0,	0,	printargs,		"sysv_setregid"	}, /* 1123 */
+	{ 0,	0,	printargs,		"sysv_setreuid"	}, /* 1124 */
+	{ 0,	0,	printargs,		"sysv_getitimer"	}, /* 1125 */
+	{ 0,	0,	printargs,		"sysv_setitimer"	}, /* 1126 */
+	{ 0,	0,	printargs,		"sysv_adjtime"	}, /* 1127 */
+	{ 0,	0,	printargs,		"sysv_BSD_getime"	}, /* 1128 */
+	{ 0,	0,	printargs,		"sysv_sproc"	}, /* 1129 */
+	{ 0,	0,	printargs,		"sysv_prctl"	}, /* 1130 */
+	{ 0,	0,	printargs,		"sysv_procblk"	}, /* 1131 */
+	{ 0,	0,	printargs,		"sysv_sprocsp"	}, /* 1132 */
+	{ 0,	0,	printargs,		"sysv_sgigsc"	}, /* 1133 */
+	{ 0,	0,	printargs,		"sysv_mmap"	}, /* 1134 */
+	{ 0,	0,	printargs,		"sysv_munmap"	}, /* 1135 */
+	{ 0,	0,	printargs,		"sysv_mprotect"	}, /* 1136 */
+	{ 0,	0,	printargs,		"sysv_msync"	}, /* 1137 */
+	{ 0,	0,	printargs,		"sysv_madvise"	}, /* 1138 */
+	{ 0,	0,	printargs,		"sysv_pagelock"	}, /* 1139 */
+	{ 0,	0,	printargs,		"sysv_getpagesize"	}, /* 1140 */
+	{ 0,	0,	printargs,		"sysv_quotactl"	}, /* 1141 */
+	{ 0,	0,	printargs,		"sysv_libdetach"	}, /* 1142 */
+	{ 0,	0,	printargs,		"sysv_BSDgetpgrp"	}, /* 1143 */
+	{ 0,	0,	printargs,		"sysv_BSDsetpgrp"	}, /* 1144 */
+	{ 0,	0,	printargs,		"sysv_vhangup"	}, /* 1145 */
+	{ 0,	0,	printargs,		"sysv_fsync"	}, /* 1146 */
+	{ 0,	0,	printargs,		"sysv_fchdir"	}, /* 1147 */
+	{ 0,	0,	printargs,		"sysv_getrlimit"	}, /* 1148 */
+	{ 0,	0,	printargs,		"sysv_setrlimit"	}, /* 1149 */
+	{ 0,	0,	printargs,		"sysv_cacheflush"	}, /* 1150 */
+	{ 0,	0,	printargs,		"sysv_cachectl"	}, /* 1151 */
+	{ 0,	0,	printargs,		"sysv_fchown"	}, /* 1152 */
+	{ 0,	0,	printargs,		"sysv_fchmod"	}, /* 1153 */
+	{ 0,	0,	printargs,		"sysv_wait3"	}, /* 1154 */
+	{ 0,	0,	printargs,		"sysv_socketpair"	}, /* 1155 */
+	{ 0,	0,	printargs,		"sysv_sysinfo"	}, /* 1156 */
+	{ 0,	0,	printargs,		"sysv_nuname"	}, /* 1157 */
+	{ 0,	0,	printargs,		"sysv_xstat"	}, /* 1158 */
+	{ 0,	0,	printargs,		"sysv_lxstat"	}, /* 1159 */
+	{ 0,	0,	printargs,		"sysv_fxstat"	}, /* 1160 */
+	{ 0,	0,	printargs,		"sysv_xmknod"	}, /* 1161 */
+	{ 0,	0,	printargs,		"sysv_ksigaction"	}, /* 1162 */
+	{ 0,	0,	printargs,		"sysv_sigpending"	}, /* 1163 */
+	{ 0,	0,	printargs,		"sysv_sigprocmask"	}, /* 1164 */
+	{ 0,	0,	printargs,		"sysv_sigsuspend"	}, /* 1165 */
+	{ 0,	0,	printargs,		"sysv_sigpoll"	}, /* 1166 */
+	{ 0,	0,	printargs,		"sysv_swapctl"	}, /* 1167 */
+	{ 0,	0,	printargs,		"sysv_getcontext"	}, /* 1168 */
+	{ 0,	0,	printargs,		"sysv_setcontext"	}, /* 1169 */
+	{ 0,	0,	printargs,		"sysv_waitsys"	}, /* 1170 */
+	{ 0,	0,	printargs,		"sysv_sigstack"	}, /* 1171 */
+	{ 0,	0,	printargs,		"sysv_sigaltstack"	}, /* 1172 */
+	{ 0,	0,	printargs,		"sysv_sigsendset"	}, /* 1173 */
+	{ 0,	0,	printargs,		"sysv_statvfs"	}, /* 1174 */
+	{ 0,	0,	printargs,		"sysv_fstatvfs"	}, /* 1175 */
+	{ 0,	0,	printargs,		"sysv_getpmsg"	}, /* 1176 */
+	{ 0,	0,	printargs,		"sysv_putpmsg"	}, /* 1177 */
+	{ 0,	0,	printargs,		"sysv_lchown"	}, /* 1178 */
+	{ 0,	0,	printargs,		"sysv_priocntl"	}, /* 1179 */
+	{ 0,	0,	printargs,		"sysv_ksigqueue"	}, /* 1180 */
+	{ 0,	0,	printargs,		"sysv_readv"	}, /* 1181 */
+	{ 0,	0,	printargs,		"sysv_writev"	}, /* 1182 */
+	{ 0,	0,	printargs,		"sysv_truncate64"	}, /* 1183 */
+	{ 0,	0,	printargs,		"sysv_ftruncate64"	}, /* 1184 */
+	{ 0,	0,	printargs,		"sysv_mmap64"	}, /* 1185 */
+	{ 0,	0,	printargs,		"sysv_dmi"	}, /* 1186 */
+	{ 0,	0,	printargs,		"sysv_pread"	}, /* 1187 */
+	{ 0,	0,	printargs,		"sysv_pwrite"	}, /* 1188 */
+	{ 0,	0,	printargs,		"SYS_1189"	}, /* 1189 */
+	{ 0,	0,	printargs,		"SYS_1190"	}, /* 1190 */
+	{ 0,	0,	printargs,		"SYS_1191"	}, /* 1191 */
+	{ 0,	0,	printargs,		"SYS_1192"	}, /* 1192 */
+	{ 0,	0,	printargs,		"SYS_1193"	}, /* 1193 */
+	{ 0,	0,	printargs,		"SYS_1194"	}, /* 1194 */
+	{ 0,	0,	printargs,		"SYS_1195"	}, /* 1195 */
+	{ 0,	0,	printargs,		"SYS_1196"	}, /* 1196 */
+	{ 0,	0,	printargs,		"SYS_1197"	}, /* 1197 */
+	{ 0,	0,	printargs,		"SYS_1198"	}, /* 1198 */
+	{ 0,	0,	printargs,		"SYS_1199"	}, /* 1199 */
+	{ 0,	0,	printargs,		"SYS_1200"	}, /* 1200 */
+	{ 0,	0,	printargs,		"SYS_1201"	}, /* 1201 */
+	{ 0,	0,	printargs,		"SYS_1202"	}, /* 1202 */
+	{ 0,	0,	printargs,		"SYS_1203"	}, /* 1203 */
+	{ 0,	0,	printargs,		"SYS_1204"	}, /* 1204 */
+	{ 0,	0,	printargs,		"SYS_1205"	}, /* 1205 */
+	{ 0,	0,	printargs,		"SYS_1206"	}, /* 1206 */
+	{ 0,	0,	printargs,		"SYS_1207"	}, /* 1207 */
+	{ 0,	0,	printargs,		"SYS_1208"	}, /* 1208 */
+	{ 0,	0,	printargs,		"SYS_1209"	}, /* 1209 */
+	{ 0,	0,	printargs,		"SYS_1210"	}, /* 1210 */
+	{ 0,	0,	printargs,		"SYS_1211"	}, /* 1211 */
+	{ 0,	0,	printargs,		"SYS_1212"	}, /* 1212 */
+	{ 0,	0,	printargs,		"SYS_1213"	}, /* 1213 */
+	{ 0,	0,	printargs,		"SYS_1214"	}, /* 1214 */
+	{ 0,	0,	printargs,		"SYS_1215"	}, /* 1215 */
+	{ 0,	0,	printargs,		"SYS_1216"	}, /* 1216 */
+	{ 0,	0,	printargs,		"SYS_1217"	}, /* 1217 */
+	{ 0,	0,	printargs,		"SYS_1218"	}, /* 1218 */
+	{ 0,	0,	printargs,		"SYS_1219"	}, /* 1219 */
+	{ 0,	0,	printargs,		"SYS_1220"	}, /* 1220 */
+	{ 0,	0,	printargs,		"SYS_1221"	}, /* 1221 */
+	{ 0,	0,	printargs,		"SYS_1222"	}, /* 1222 */
+	{ 0,	0,	printargs,		"SYS_1223"	}, /* 1223 */
+	{ 0,	0,	printargs,		"SYS_1224"	}, /* 1224 */
+	{ 0,	0,	printargs,		"SYS_1225"	}, /* 1225 */
+	{ 0,	0,	printargs,		"SYS_1226"	}, /* 1226 */
+	{ 0,	0,	printargs,		"SYS_1227"	}, /* 1227 */
+	{ 0,	0,	printargs,		"SYS_1228"	}, /* 1228 */
+	{ 0,	0,	printargs,		"SYS_1229"	}, /* 1229 */
+	{ 0,	0,	printargs,		"SYS_1230"	}, /* 1230 */
+	{ 0,	0,	printargs,		"SYS_1231"	}, /* 1231 */
+	{ 0,	0,	printargs,		"SYS_1232"	}, /* 1232 */
+	{ 0,	0,	printargs,		"SYS_1233"	}, /* 1233 */
+	{ 0,	0,	printargs,		"SYS_1234"	}, /* 1234 */
+	{ 0,	0,	printargs,		"SYS_1235"	}, /* 1235 */
+	{ 0,	0,	printargs,		"SYS_1236"	}, /* 1236 */
+	{ 0,	0,	printargs,		"SYS_1237"	}, /* 1237 */
+	{ 0,	0,	printargs,		"SYS_1238"	}, /* 1238 */
+	{ 0,	0,	printargs,		"SYS_1239"	}, /* 1239 */
+	{ 0,	0,	printargs,		"SYS_1240"	}, /* 1240 */
+	{ 0,	0,	printargs,		"SYS_1241"	}, /* 1241 */
+	{ 0,	0,	printargs,		"SYS_1242"	}, /* 1242 */
+	{ 0,	0,	printargs,		"SYS_1243"	}, /* 1243 */
+	{ 0,	0,	printargs,		"SYS_1244"	}, /* 1244 */
+	{ 0,	0,	printargs,		"SYS_1245"	}, /* 1245 */
+	{ 0,	0,	printargs,		"SYS_1246"	}, /* 1246 */
+	{ 0,	0,	printargs,		"SYS_1247"	}, /* 1247 */
+	{ 0,	0,	printargs,		"SYS_1248"	}, /* 1248 */
+	{ 0,	0,	printargs,		"SYS_1249"	}, /* 1249 */
+	{ 0,	0,	printargs,		"SYS_1250"	}, /* 1250 */
+	{ 0,	0,	printargs,		"SYS_1251"	}, /* 1251 */
+	{ 0,	0,	printargs,		"SYS_1252"	}, /* 1252 */
+	{ 0,	0,	printargs,		"SYS_1253"	}, /* 1253 */
+	{ 0,	0,	printargs,		"SYS_1254"	}, /* 1254 */
+	{ 0,	0,	printargs,		"SYS_1255"	}, /* 1255 */
+	{ 0,	0,	printargs,		"SYS_1256"	}, /* 1256 */
+	{ 0,	0,	printargs,		"SYS_1257"	}, /* 1257 */
+	{ 0,	0,	printargs,		"SYS_1258"	}, /* 1258 */
+	{ 0,	0,	printargs,		"SYS_1259"	}, /* 1259 */
+	{ 0,	0,	printargs,		"SYS_1260"	}, /* 1260 */
+	{ 0,	0,	printargs,		"SYS_1261"	}, /* 1261 */
+	{ 0,	0,	printargs,		"SYS_1262"	}, /* 1262 */
+	{ 0,	0,	printargs,		"SYS_1263"	}, /* 1263 */
+	{ 0,	0,	printargs,		"SYS_1264"	}, /* 1264 */
+	{ 0,	0,	printargs,		"SYS_1265"	}, /* 1265 */
+	{ 0,	0,	printargs,		"SYS_1266"	}, /* 1266 */
+	{ 0,	0,	printargs,		"SYS_1267"	}, /* 1267 */
+	{ 0,	0,	printargs,		"SYS_1268"	}, /* 1268 */
+	{ 0,	0,	printargs,		"SYS_1269"	}, /* 1269 */
+	{ 0,	0,	printargs,		"SYS_1270"	}, /* 1270 */
+	{ 0,	0,	printargs,		"SYS_1271"	}, /* 1271 */
+	{ 0,	0,	printargs,		"SYS_1272"	}, /* 1272 */
+	{ 0,	0,	printargs,		"SYS_1273"	}, /* 1273 */
+	{ 0,	0,	printargs,		"SYS_1274"	}, /* 1274 */
+	{ 0,	0,	printargs,		"SYS_1275"	}, /* 1275 */
+	{ 0,	0,	printargs,		"SYS_1276"	}, /* 1276 */
+	{ 0,	0,	printargs,		"SYS_1277"	}, /* 1277 */
+	{ 0,	0,	printargs,		"SYS_1278"	}, /* 1278 */
+	{ 0,	0,	printargs,		"SYS_1279"	}, /* 1279 */
+	{ 0,	0,	printargs,		"SYS_1280"	}, /* 1280 */
+	{ 0,	0,	printargs,		"SYS_1281"	}, /* 1281 */
+	{ 0,	0,	printargs,		"SYS_1282"	}, /* 1282 */
+	{ 0,	0,	printargs,		"SYS_1283"	}, /* 1283 */
+	{ 0,	0,	printargs,		"SYS_1284"	}, /* 1284 */
+	{ 0,	0,	printargs,		"SYS_1285"	}, /* 1285 */
+	{ 0,	0,	printargs,		"SYS_1286"	}, /* 1286 */
+	{ 0,	0,	printargs,		"SYS_1287"	}, /* 1287 */
+	{ 0,	0,	printargs,		"SYS_1288"	}, /* 1288 */
+	{ 0,	0,	printargs,		"SYS_1289"	}, /* 1289 */
+	{ 0,	0,	printargs,		"SYS_1290"	}, /* 1290 */
+	{ 0,	0,	printargs,		"SYS_1291"	}, /* 1291 */
+	{ 0,	0,	printargs,		"SYS_1292"	}, /* 1292 */
+	{ 0,	0,	printargs,		"SYS_1293"	}, /* 1293 */
+	{ 0,	0,	printargs,		"SYS_1294"	}, /* 1294 */
+	{ 0,	0,	printargs,		"SYS_1295"	}, /* 1295 */
+	{ 0,	0,	printargs,		"SYS_1296"	}, /* 1296 */
+	{ 0,	0,	printargs,		"SYS_1297"	}, /* 1297 */
+	{ 0,	0,	printargs,		"SYS_1298"	}, /* 1298 */
+	{ 0,	0,	printargs,		"SYS_1299"	}, /* 1299 */
+	{ 0,	0,	printargs,		"SYS_1300"	}, /* 1300 */
+	{ 0,	0,	printargs,		"SYS_1301"	}, /* 1301 */
+	{ 0,	0,	printargs,		"SYS_1302"	}, /* 1302 */
+	{ 0,	0,	printargs,		"SYS_1303"	}, /* 1303 */
+	{ 0,	0,	printargs,		"SYS_1304"	}, /* 1304 */
+	{ 0,	0,	printargs,		"SYS_1305"	}, /* 1305 */
+	{ 0,	0,	printargs,		"SYS_1306"	}, /* 1306 */
+	{ 0,	0,	printargs,		"SYS_1307"	}, /* 1307 */
+	{ 0,	0,	printargs,		"SYS_1308"	}, /* 1308 */
+	{ 0,	0,	printargs,		"SYS_1309"	}, /* 1309 */
+	{ 0,	0,	printargs,		"SYS_1310"	}, /* 1310 */
+	{ 0,	0,	printargs,		"SYS_1311"	}, /* 1311 */
+	{ 0,	0,	printargs,		"SYS_1312"	}, /* 1312 */
+	{ 0,	0,	printargs,		"SYS_1313"	}, /* 1313 */
+	{ 0,	0,	printargs,		"SYS_1314"	}, /* 1314 */
+	{ 0,	0,	printargs,		"SYS_1315"	}, /* 1315 */
+	{ 0,	0,	printargs,		"SYS_1316"	}, /* 1316 */
+	{ 0,	0,	printargs,		"SYS_1317"	}, /* 1317 */
+	{ 0,	0,	printargs,		"SYS_1318"	}, /* 1318 */
+	{ 0,	0,	printargs,		"SYS_1319"	}, /* 1319 */
+	{ 0,	0,	printargs,		"SYS_1320"	}, /* 1320 */
+	{ 0,	0,	printargs,		"SYS_1321"	}, /* 1321 */
+	{ 0,	0,	printargs,		"SYS_1322"	}, /* 1322 */
+	{ 0,	0,	printargs,		"SYS_1323"	}, /* 1323 */
+	{ 0,	0,	printargs,		"SYS_1324"	}, /* 1324 */
+	{ 0,	0,	printargs,		"SYS_1325"	}, /* 1325 */
+	{ 0,	0,	printargs,		"SYS_1326"	}, /* 1326 */
+	{ 0,	0,	printargs,		"SYS_1327"	}, /* 1327 */
+	{ 0,	0,	printargs,		"SYS_1328"	}, /* 1328 */
+	{ 0,	0,	printargs,		"SYS_1329"	}, /* 1329 */
+	{ 0,	0,	printargs,		"SYS_1330"	}, /* 1330 */
+	{ 0,	0,	printargs,		"SYS_1331"	}, /* 1331 */
+	{ 0,	0,	printargs,		"SYS_1332"	}, /* 1332 */
+	{ 0,	0,	printargs,		"SYS_1333"	}, /* 1333 */
+	{ 0,	0,	printargs,		"SYS_1334"	}, /* 1334 */
+	{ 0,	0,	printargs,		"SYS_1335"	}, /* 1335 */
+	{ 0,	0,	printargs,		"SYS_1336"	}, /* 1336 */
+	{ 0,	0,	printargs,		"SYS_1337"	}, /* 1337 */
+	{ 0,	0,	printargs,		"SYS_1338"	}, /* 1338 */
+	{ 0,	0,	printargs,		"SYS_1339"	}, /* 1339 */
+	{ 0,	0,	printargs,		"SYS_1340"	}, /* 1340 */
+	{ 0,	0,	printargs,		"SYS_1341"	}, /* 1341 */
+	{ 0,	0,	printargs,		"SYS_1342"	}, /* 1342 */
+	{ 0,	0,	printargs,		"SYS_1343"	}, /* 1343 */
+	{ 0,	0,	printargs,		"SYS_1344"	}, /* 1344 */
+	{ 0,	0,	printargs,		"SYS_1345"	}, /* 1345 */
+	{ 0,	0,	printargs,		"SYS_1346"	}, /* 1346 */
+	{ 0,	0,	printargs,		"SYS_1347"	}, /* 1347 */
+	{ 0,	0,	printargs,		"SYS_1348"	}, /* 1348 */
+	{ 0,	0,	printargs,		"SYS_1349"	}, /* 1349 */
+	{ 0,	0,	printargs,		"SYS_1350"	}, /* 1350 */
+	{ 0,	0,	printargs,		"SYS_1351"	}, /* 1351 */
+	{ 0,	0,	printargs,		"SYS_1352"	}, /* 1352 */
+	{ 0,	0,	printargs,		"SYS_1353"	}, /* 1353 */
+	{ 0,	0,	printargs,		"SYS_1354"	}, /* 1354 */
+	{ 0,	0,	printargs,		"SYS_1355"	}, /* 1355 */
+	{ 0,	0,	printargs,		"SYS_1356"	}, /* 1356 */
+	{ 0,	0,	printargs,		"SYS_1357"	}, /* 1357 */
+	{ 0,	0,	printargs,		"SYS_1358"	}, /* 1358 */
+	{ 0,	0,	printargs,		"SYS_1359"	}, /* 1359 */
+	{ 0,	0,	printargs,		"SYS_1360"	}, /* 1360 */
+	{ 0,	0,	printargs,		"SYS_1361"	}, /* 1361 */
+	{ 0,	0,	printargs,		"SYS_1362"	}, /* 1362 */
+	{ 0,	0,	printargs,		"SYS_1363"	}, /* 1363 */
+	{ 0,	0,	printargs,		"SYS_1364"	}, /* 1364 */
+	{ 0,	0,	printargs,		"SYS_1365"	}, /* 1365 */
+	{ 0,	0,	printargs,		"SYS_1366"	}, /* 1366 */
+	{ 0,	0,	printargs,		"SYS_1367"	}, /* 1367 */
+	{ 0,	0,	printargs,		"SYS_1368"	}, /* 1368 */
+	{ 0,	0,	printargs,		"SYS_1369"	}, /* 1369 */
+	{ 0,	0,	printargs,		"SYS_1370"	}, /* 1370 */
+	{ 0,	0,	printargs,		"SYS_1371"	}, /* 1371 */
+	{ 0,	0,	printargs,		"SYS_1372"	}, /* 1372 */
+	{ 0,	0,	printargs,		"SYS_1373"	}, /* 1373 */
+	{ 0,	0,	printargs,		"SYS_1374"	}, /* 1374 */
+	{ 0,	0,	printargs,		"SYS_1375"	}, /* 1375 */
+	{ 0,	0,	printargs,		"SYS_1376"	}, /* 1376 */
+	{ 0,	0,	printargs,		"SYS_1377"	}, /* 1377 */
+	{ 0,	0,	printargs,		"SYS_1378"	}, /* 1378 */
+	{ 0,	0,	printargs,		"SYS_1379"	}, /* 1379 */
+	{ 0,	0,	printargs,		"SYS_1380"	}, /* 1380 */
+	{ 0,	0,	printargs,		"SYS_1381"	}, /* 1381 */
+	{ 0,	0,	printargs,		"SYS_1382"	}, /* 1382 */
+	{ 0,	0,	printargs,		"SYS_1383"	}, /* 1383 */
+	{ 0,	0,	printargs,		"SYS_1384"	}, /* 1384 */
+	{ 0,	0,	printargs,		"SYS_1385"	}, /* 1385 */
+	{ 0,	0,	printargs,		"SYS_1386"	}, /* 1386 */
+	{ 0,	0,	printargs,		"SYS_1387"	}, /* 1387 */
+	{ 0,	0,	printargs,		"SYS_1388"	}, /* 1388 */
+	{ 0,	0,	printargs,		"SYS_1389"	}, /* 1389 */
+	{ 0,	0,	printargs,		"SYS_1390"	}, /* 1390 */
+	{ 0,	0,	printargs,		"SYS_1391"	}, /* 1391 */
+	{ 0,	0,	printargs,		"SYS_1392"	}, /* 1392 */
+	{ 0,	0,	printargs,		"SYS_1393"	}, /* 1393 */
+	{ 0,	0,	printargs,		"SYS_1394"	}, /* 1394 */
+	{ 0,	0,	printargs,		"SYS_1395"	}, /* 1395 */
+	{ 0,	0,	printargs,		"SYS_1396"	}, /* 1396 */
+	{ 0,	0,	printargs,		"SYS_1397"	}, /* 1397 */
+	{ 0,	0,	printargs,		"SYS_1398"	}, /* 1398 */
+	{ 0,	0,	printargs,		"SYS_1399"	}, /* 1399 */
+	{ 0,	0,	printargs,		"SYS_1400"	}, /* 1400 */
+	{ 0,	0,	printargs,		"SYS_1401"	}, /* 1401 */
+	{ 0,	0,	printargs,		"SYS_1402"	}, /* 1402 */
+	{ 0,	0,	printargs,		"SYS_1403"	}, /* 1403 */
+	{ 0,	0,	printargs,		"SYS_1404"	}, /* 1404 */
+	{ 0,	0,	printargs,		"SYS_1405"	}, /* 1405 */
+	{ 0,	0,	printargs,		"SYS_1406"	}, /* 1406 */
+	{ 0,	0,	printargs,		"SYS_1407"	}, /* 1407 */
+	{ 0,	0,	printargs,		"SYS_1408"	}, /* 1408 */
+	{ 0,	0,	printargs,		"SYS_1409"	}, /* 1409 */
+	{ 0,	0,	printargs,		"SYS_1410"	}, /* 1410 */
+	{ 0,	0,	printargs,		"SYS_1411"	}, /* 1411 */
+	{ 0,	0,	printargs,		"SYS_1412"	}, /* 1412 */
+	{ 0,	0,	printargs,		"SYS_1413"	}, /* 1413 */
+	{ 0,	0,	printargs,		"SYS_1414"	}, /* 1414 */
+	{ 0,	0,	printargs,		"SYS_1415"	}, /* 1415 */
+	{ 0,	0,	printargs,		"SYS_1416"	}, /* 1416 */
+	{ 0,	0,	printargs,		"SYS_1417"	}, /* 1417 */
+	{ 0,	0,	printargs,		"SYS_1418"	}, /* 1418 */
+	{ 0,	0,	printargs,		"SYS_1419"	}, /* 1419 */
+	{ 0,	0,	printargs,		"SYS_1420"	}, /* 1420 */
+	{ 0,	0,	printargs,		"SYS_1421"	}, /* 1421 */
+	{ 0,	0,	printargs,		"SYS_1422"	}, /* 1422 */
+	{ 0,	0,	printargs,		"SYS_1423"	}, /* 1423 */
+	{ 0,	0,	printargs,		"SYS_1424"	}, /* 1424 */
+	{ 0,	0,	printargs,		"SYS_1425"	}, /* 1425 */
+	{ 0,	0,	printargs,		"SYS_1426"	}, /* 1426 */
+	{ 0,	0,	printargs,		"SYS_1427"	}, /* 1427 */
+	{ 0,	0,	printargs,		"SYS_1428"	}, /* 1428 */
+	{ 0,	0,	printargs,		"SYS_1429"	}, /* 1429 */
+	{ 0,	0,	printargs,		"SYS_1430"	}, /* 1430 */
+	{ 0,	0,	printargs,		"SYS_1431"	}, /* 1431 */
+	{ 0,	0,	printargs,		"SYS_1432"	}, /* 1432 */
+	{ 0,	0,	printargs,		"SYS_1433"	}, /* 1433 */
+	{ 0,	0,	printargs,		"SYS_1434"	}, /* 1434 */
+	{ 0,	0,	printargs,		"SYS_1435"	}, /* 1435 */
+	{ 0,	0,	printargs,		"SYS_1436"	}, /* 1436 */
+	{ 0,	0,	printargs,		"SYS_1437"	}, /* 1437 */
+	{ 0,	0,	printargs,		"SYS_1438"	}, /* 1438 */
+	{ 0,	0,	printargs,		"SYS_1439"	}, /* 1439 */
+	{ 0,	0,	printargs,		"SYS_1440"	}, /* 1440 */
+	{ 0,	0,	printargs,		"SYS_1441"	}, /* 1441 */
+	{ 0,	0,	printargs,		"SYS_1442"	}, /* 1442 */
+	{ 0,	0,	printargs,		"SYS_1443"	}, /* 1443 */
+	{ 0,	0,	printargs,		"SYS_1444"	}, /* 1444 */
+	{ 0,	0,	printargs,		"SYS_1445"	}, /* 1445 */
+	{ 0,	0,	printargs,		"SYS_1446"	}, /* 1446 */
+	{ 0,	0,	printargs,		"SYS_1447"	}, /* 1447 */
+	{ 0,	0,	printargs,		"SYS_1448"	}, /* 1448 */
+	{ 0,	0,	printargs,		"SYS_1449"	}, /* 1449 */
+	{ 0,	0,	printargs,		"SYS_1450"	}, /* 1450 */
+	{ 0,	0,	printargs,		"SYS_1451"	}, /* 1451 */
+	{ 0,	0,	printargs,		"SYS_1452"	}, /* 1452 */
+	{ 0,	0,	printargs,		"SYS_1453"	}, /* 1453 */
+	{ 0,	0,	printargs,		"SYS_1454"	}, /* 1454 */
+	{ 0,	0,	printargs,		"SYS_1455"	}, /* 1455 */
+	{ 0,	0,	printargs,		"SYS_1456"	}, /* 1456 */
+	{ 0,	0,	printargs,		"SYS_1457"	}, /* 1457 */
+	{ 0,	0,	printargs,		"SYS_1458"	}, /* 1458 */
+	{ 0,	0,	printargs,		"SYS_1459"	}, /* 1459 */
+	{ 0,	0,	printargs,		"SYS_1460"	}, /* 1460 */
+	{ 0,	0,	printargs,		"SYS_1461"	}, /* 1461 */
+	{ 0,	0,	printargs,		"SYS_1462"	}, /* 1462 */
+	{ 0,	0,	printargs,		"SYS_1463"	}, /* 1463 */
+	{ 0,	0,	printargs,		"SYS_1464"	}, /* 1464 */
+	{ 0,	0,	printargs,		"SYS_1465"	}, /* 1465 */
+	{ 0,	0,	printargs,		"SYS_1466"	}, /* 1466 */
+	{ 0,	0,	printargs,		"SYS_1467"	}, /* 1467 */
+	{ 0,	0,	printargs,		"SYS_1468"	}, /* 1468 */
+	{ 0,	0,	printargs,		"SYS_1469"	}, /* 1469 */
+	{ 0,	0,	printargs,		"SYS_1470"	}, /* 1470 */
+	{ 0,	0,	printargs,		"SYS_1471"	}, /* 1471 */
+	{ 0,	0,	printargs,		"SYS_1472"	}, /* 1472 */
+	{ 0,	0,	printargs,		"SYS_1473"	}, /* 1473 */
+	{ 0,	0,	printargs,		"SYS_1474"	}, /* 1474 */
+	{ 0,	0,	printargs,		"SYS_1475"	}, /* 1475 */
+	{ 0,	0,	printargs,		"SYS_1476"	}, /* 1476 */
+	{ 0,	0,	printargs,		"SYS_1477"	}, /* 1477 */
+	{ 0,	0,	printargs,		"SYS_1478"	}, /* 1478 */
+	{ 0,	0,	printargs,		"SYS_1479"	}, /* 1479 */
+	{ 0,	0,	printargs,		"SYS_1480"	}, /* 1480 */
+	{ 0,	0,	printargs,		"SYS_1481"	}, /* 1481 */
+	{ 0,	0,	printargs,		"SYS_1482"	}, /* 1482 */
+	{ 0,	0,	printargs,		"SYS_1483"	}, /* 1483 */
+	{ 0,	0,	printargs,		"SYS_1484"	}, /* 1484 */
+	{ 0,	0,	printargs,		"SYS_1485"	}, /* 1485 */
+	{ 0,	0,	printargs,		"SYS_1486"	}, /* 1486 */
+	{ 0,	0,	printargs,		"SYS_1487"	}, /* 1487 */
+	{ 0,	0,	printargs,		"SYS_1488"	}, /* 1488 */
+	{ 0,	0,	printargs,		"SYS_1489"	}, /* 1489 */
+	{ 0,	0,	printargs,		"SYS_1490"	}, /* 1490 */
+	{ 0,	0,	printargs,		"SYS_1491"	}, /* 1491 */
+	{ 0,	0,	printargs,		"SYS_1492"	}, /* 1492 */
+	{ 0,	0,	printargs,		"SYS_1493"	}, /* 1493 */
+	{ 0,	0,	printargs,		"SYS_1494"	}, /* 1494 */
+	{ 0,	0,	printargs,		"SYS_1495"	}, /* 1495 */
+	{ 0,	0,	printargs,		"SYS_1496"	}, /* 1496 */
+	{ 0,	0,	printargs,		"SYS_1497"	}, /* 1497 */
+	{ 0,	0,	printargs,		"SYS_1498"	}, /* 1498 */
+	{ 0,	0,	printargs,		"SYS_1499"	}, /* 1499 */
+	{ 0,	0,	printargs,		"SYS_1500"	}, /* 1500 */
+	{ 0,	0,	printargs,		"SYS_1501"	}, /* 1501 */
+	{ 0,	0,	printargs,		"SYS_1502"	}, /* 1502 */
+	{ 0,	0,	printargs,		"SYS_1503"	}, /* 1503 */
+	{ 0,	0,	printargs,		"SYS_1504"	}, /* 1504 */
+	{ 0,	0,	printargs,		"SYS_1505"	}, /* 1505 */
+	{ 0,	0,	printargs,		"SYS_1506"	}, /* 1506 */
+	{ 0,	0,	printargs,		"SYS_1507"	}, /* 1507 */
+	{ 0,	0,	printargs,		"SYS_1508"	}, /* 1508 */
+	{ 0,	0,	printargs,		"SYS_1509"	}, /* 1509 */
+	{ 0,	0,	printargs,		"SYS_1510"	}, /* 1510 */
+	{ 0,	0,	printargs,		"SYS_1511"	}, /* 1511 */
+	{ 0,	0,	printargs,		"SYS_1512"	}, /* 1512 */
+	{ 0,	0,	printargs,		"SYS_1513"	}, /* 1513 */
+	{ 0,	0,	printargs,		"SYS_1514"	}, /* 1514 */
+	{ 0,	0,	printargs,		"SYS_1515"	}, /* 1515 */
+	{ 0,	0,	printargs,		"SYS_1516"	}, /* 1516 */
+	{ 0,	0,	printargs,		"SYS_1517"	}, /* 1517 */
+	{ 0,	0,	printargs,		"SYS_1518"	}, /* 1518 */
+	{ 0,	0,	printargs,		"SYS_1519"	}, /* 1519 */
+	{ 0,	0,	printargs,		"SYS_1520"	}, /* 1520 */
+	{ 0,	0,	printargs,		"SYS_1521"	}, /* 1521 */
+	{ 0,	0,	printargs,		"SYS_1522"	}, /* 1522 */
+	{ 0,	0,	printargs,		"SYS_1523"	}, /* 1523 */
+	{ 0,	0,	printargs,		"SYS_1524"	}, /* 1524 */
+	{ 0,	0,	printargs,		"SYS_1525"	}, /* 1525 */
+	{ 0,	0,	printargs,		"SYS_1526"	}, /* 1526 */
+	{ 0,	0,	printargs,		"SYS_1527"	}, /* 1527 */
+	{ 0,	0,	printargs,		"SYS_1528"	}, /* 1528 */
+	{ 0,	0,	printargs,		"SYS_1529"	}, /* 1529 */
+	{ 0,	0,	printargs,		"SYS_1530"	}, /* 1530 */
+	{ 0,	0,	printargs,		"SYS_1531"	}, /* 1531 */
+	{ 0,	0,	printargs,		"SYS_1532"	}, /* 1532 */
+	{ 0,	0,	printargs,		"SYS_1533"	}, /* 1533 */
+	{ 0,	0,	printargs,		"SYS_1534"	}, /* 1534 */
+	{ 0,	0,	printargs,		"SYS_1535"	}, /* 1535 */
+	{ 0,	0,	printargs,		"SYS_1536"	}, /* 1536 */
+	{ 0,	0,	printargs,		"SYS_1537"	}, /* 1537 */
+	{ 0,	0,	printargs,		"SYS_1538"	}, /* 1538 */
+	{ 0,	0,	printargs,		"SYS_1539"	}, /* 1539 */
+	{ 0,	0,	printargs,		"SYS_1540"	}, /* 1540 */
+	{ 0,	0,	printargs,		"SYS_1541"	}, /* 1541 */
+	{ 0,	0,	printargs,		"SYS_1542"	}, /* 1542 */
+	{ 0,	0,	printargs,		"SYS_1543"	}, /* 1543 */
+	{ 0,	0,	printargs,		"SYS_1544"	}, /* 1544 */
+	{ 0,	0,	printargs,		"SYS_1545"	}, /* 1545 */
+	{ 0,	0,	printargs,		"SYS_1546"	}, /* 1546 */
+	{ 0,	0,	printargs,		"SYS_1547"	}, /* 1547 */
+	{ 0,	0,	printargs,		"SYS_1548"	}, /* 1548 */
+	{ 0,	0,	printargs,		"SYS_1549"	}, /* 1549 */
+	{ 0,	0,	printargs,		"SYS_1550"	}, /* 1550 */
+	{ 0,	0,	printargs,		"SYS_1551"	}, /* 1551 */
+	{ 0,	0,	printargs,		"SYS_1552"	}, /* 1552 */
+	{ 0,	0,	printargs,		"SYS_1553"	}, /* 1553 */
+	{ 0,	0,	printargs,		"SYS_1554"	}, /* 1554 */
+	{ 0,	0,	printargs,		"SYS_1555"	}, /* 1555 */
+	{ 0,	0,	printargs,		"SYS_1556"	}, /* 1556 */
+	{ 0,	0,	printargs,		"SYS_1557"	}, /* 1557 */
+	{ 0,	0,	printargs,		"SYS_1558"	}, /* 1558 */
+	{ 0,	0,	printargs,		"SYS_1559"	}, /* 1559 */
+	{ 0,	0,	printargs,		"SYS_1560"	}, /* 1560 */
+	{ 0,	0,	printargs,		"SYS_1561"	}, /* 1561 */
+	{ 0,	0,	printargs,		"SYS_1562"	}, /* 1562 */
+	{ 0,	0,	printargs,		"SYS_1563"	}, /* 1563 */
+	{ 0,	0,	printargs,		"SYS_1564"	}, /* 1564 */
+	{ 0,	0,	printargs,		"SYS_1565"	}, /* 1565 */
+	{ 0,	0,	printargs,		"SYS_1566"	}, /* 1566 */
+	{ 0,	0,	printargs,		"SYS_1567"	}, /* 1567 */
+	{ 0,	0,	printargs,		"SYS_1568"	}, /* 1568 */
+	{ 0,	0,	printargs,		"SYS_1569"	}, /* 1569 */
+	{ 0,	0,	printargs,		"SYS_1570"	}, /* 1570 */
+	{ 0,	0,	printargs,		"SYS_1571"	}, /* 1571 */
+	{ 0,	0,	printargs,		"SYS_1572"	}, /* 1572 */
+	{ 0,	0,	printargs,		"SYS_1573"	}, /* 1573 */
+	{ 0,	0,	printargs,		"SYS_1574"	}, /* 1574 */
+	{ 0,	0,	printargs,		"SYS_1575"	}, /* 1575 */
+	{ 0,	0,	printargs,		"SYS_1576"	}, /* 1576 */
+	{ 0,	0,	printargs,		"SYS_1577"	}, /* 1577 */
+	{ 0,	0,	printargs,		"SYS_1578"	}, /* 1578 */
+	{ 0,	0,	printargs,		"SYS_1579"	}, /* 1579 */
+	{ 0,	0,	printargs,		"SYS_1580"	}, /* 1580 */
+	{ 0,	0,	printargs,		"SYS_1581"	}, /* 1581 */
+	{ 0,	0,	printargs,		"SYS_1582"	}, /* 1582 */
+	{ 0,	0,	printargs,		"SYS_1583"	}, /* 1583 */
+	{ 0,	0,	printargs,		"SYS_1584"	}, /* 1584 */
+	{ 0,	0,	printargs,		"SYS_1585"	}, /* 1585 */
+	{ 0,	0,	printargs,		"SYS_1586"	}, /* 1586 */
+	{ 0,	0,	printargs,		"SYS_1587"	}, /* 1587 */
+	{ 0,	0,	printargs,		"SYS_1588"	}, /* 1588 */
+	{ 0,	0,	printargs,		"SYS_1589"	}, /* 1589 */
+	{ 0,	0,	printargs,		"SYS_1590"	}, /* 1590 */
+	{ 0,	0,	printargs,		"SYS_1591"	}, /* 1591 */
+	{ 0,	0,	printargs,		"SYS_1592"	}, /* 1592 */
+	{ 0,	0,	printargs,		"SYS_1593"	}, /* 1593 */
+	{ 0,	0,	printargs,		"SYS_1594"	}, /* 1594 */
+	{ 0,	0,	printargs,		"SYS_1595"	}, /* 1595 */
+	{ 0,	0,	printargs,		"SYS_1596"	}, /* 1596 */
+	{ 0,	0,	printargs,		"SYS_1597"	}, /* 1597 */
+	{ 0,	0,	printargs,		"SYS_1598"	}, /* 1598 */
+	{ 0,	0,	printargs,		"SYS_1599"	}, /* 1599 */
+	{ 0,	0,	printargs,		"SYS_1600"	}, /* 1600 */
+	{ 0,	0,	printargs,		"SYS_1601"	}, /* 1601 */
+	{ 0,	0,	printargs,		"SYS_1602"	}, /* 1602 */
+	{ 0,	0,	printargs,		"SYS_1603"	}, /* 1603 */
+	{ 0,	0,	printargs,		"SYS_1604"	}, /* 1604 */
+	{ 0,	0,	printargs,		"SYS_1605"	}, /* 1605 */
+	{ 0,	0,	printargs,		"SYS_1606"	}, /* 1606 */
+	{ 0,	0,	printargs,		"SYS_1607"	}, /* 1607 */
+	{ 0,	0,	printargs,		"SYS_1608"	}, /* 1608 */
+	{ 0,	0,	printargs,		"SYS_1609"	}, /* 1609 */
+	{ 0,	0,	printargs,		"SYS_1610"	}, /* 1610 */
+	{ 0,	0,	printargs,		"SYS_1611"	}, /* 1611 */
+	{ 0,	0,	printargs,		"SYS_1612"	}, /* 1612 */
+	{ 0,	0,	printargs,		"SYS_1613"	}, /* 1613 */
+	{ 0,	0,	printargs,		"SYS_1614"	}, /* 1614 */
+	{ 0,	0,	printargs,		"SYS_1615"	}, /* 1615 */
+	{ 0,	0,	printargs,		"SYS_1616"	}, /* 1616 */
+	{ 0,	0,	printargs,		"SYS_1617"	}, /* 1617 */
+	{ 0,	0,	printargs,		"SYS_1618"	}, /* 1618 */
+	{ 0,	0,	printargs,		"SYS_1619"	}, /* 1619 */
+	{ 0,	0,	printargs,		"SYS_1620"	}, /* 1620 */
+	{ 0,	0,	printargs,		"SYS_1621"	}, /* 1621 */
+	{ 0,	0,	printargs,		"SYS_1622"	}, /* 1622 */
+	{ 0,	0,	printargs,		"SYS_1623"	}, /* 1623 */
+	{ 0,	0,	printargs,		"SYS_1624"	}, /* 1624 */
+	{ 0,	0,	printargs,		"SYS_1625"	}, /* 1625 */
+	{ 0,	0,	printargs,		"SYS_1626"	}, /* 1626 */
+	{ 0,	0,	printargs,		"SYS_1627"	}, /* 1627 */
+	{ 0,	0,	printargs,		"SYS_1628"	}, /* 1628 */
+	{ 0,	0,	printargs,		"SYS_1629"	}, /* 1629 */
+	{ 0,	0,	printargs,		"SYS_1630"	}, /* 1630 */
+	{ 0,	0,	printargs,		"SYS_1631"	}, /* 1631 */
+	{ 0,	0,	printargs,		"SYS_1632"	}, /* 1632 */
+	{ 0,	0,	printargs,		"SYS_1633"	}, /* 1633 */
+	{ 0,	0,	printargs,		"SYS_1634"	}, /* 1634 */
+	{ 0,	0,	printargs,		"SYS_1635"	}, /* 1635 */
+	{ 0,	0,	printargs,		"SYS_1636"	}, /* 1636 */
+	{ 0,	0,	printargs,		"SYS_1637"	}, /* 1637 */
+	{ 0,	0,	printargs,		"SYS_1638"	}, /* 1638 */
+	{ 0,	0,	printargs,		"SYS_1639"	}, /* 1639 */
+	{ 0,	0,	printargs,		"SYS_1640"	}, /* 1640 */
+	{ 0,	0,	printargs,		"SYS_1641"	}, /* 1641 */
+	{ 0,	0,	printargs,		"SYS_1642"	}, /* 1642 */
+	{ 0,	0,	printargs,		"SYS_1643"	}, /* 1643 */
+	{ 0,	0,	printargs,		"SYS_1644"	}, /* 1644 */
+	{ 0,	0,	printargs,		"SYS_1645"	}, /* 1645 */
+	{ 0,	0,	printargs,		"SYS_1646"	}, /* 1646 */
+	{ 0,	0,	printargs,		"SYS_1647"	}, /* 1647 */
+	{ 0,	0,	printargs,		"SYS_1648"	}, /* 1648 */
+	{ 0,	0,	printargs,		"SYS_1649"	}, /* 1649 */
+	{ 0,	0,	printargs,		"SYS_1650"	}, /* 1650 */
+	{ 0,	0,	printargs,		"SYS_1651"	}, /* 1651 */
+	{ 0,	0,	printargs,		"SYS_1652"	}, /* 1652 */
+	{ 0,	0,	printargs,		"SYS_1653"	}, /* 1653 */
+	{ 0,	0,	printargs,		"SYS_1654"	}, /* 1654 */
+	{ 0,	0,	printargs,		"SYS_1655"	}, /* 1655 */
+	{ 0,	0,	printargs,		"SYS_1656"	}, /* 1656 */
+	{ 0,	0,	printargs,		"SYS_1657"	}, /* 1657 */
+	{ 0,	0,	printargs,		"SYS_1658"	}, /* 1658 */
+	{ 0,	0,	printargs,		"SYS_1659"	}, /* 1659 */
+	{ 0,	0,	printargs,		"SYS_1660"	}, /* 1660 */
+	{ 0,	0,	printargs,		"SYS_1661"	}, /* 1661 */
+	{ 0,	0,	printargs,		"SYS_1662"	}, /* 1662 */
+	{ 0,	0,	printargs,		"SYS_1663"	}, /* 1663 */
+	{ 0,	0,	printargs,		"SYS_1664"	}, /* 1664 */
+	{ 0,	0,	printargs,		"SYS_1665"	}, /* 1665 */
+	{ 0,	0,	printargs,		"SYS_1666"	}, /* 1666 */
+	{ 0,	0,	printargs,		"SYS_1667"	}, /* 1667 */
+	{ 0,	0,	printargs,		"SYS_1668"	}, /* 1668 */
+	{ 0,	0,	printargs,		"SYS_1669"	}, /* 1669 */
+	{ 0,	0,	printargs,		"SYS_1670"	}, /* 1670 */
+	{ 0,	0,	printargs,		"SYS_1671"	}, /* 1671 */
+	{ 0,	0,	printargs,		"SYS_1672"	}, /* 1672 */
+	{ 0,	0,	printargs,		"SYS_1673"	}, /* 1673 */
+	{ 0,	0,	printargs,		"SYS_1674"	}, /* 1674 */
+	{ 0,	0,	printargs,		"SYS_1675"	}, /* 1675 */
+	{ 0,	0,	printargs,		"SYS_1676"	}, /* 1676 */
+	{ 0,	0,	printargs,		"SYS_1677"	}, /* 1677 */
+	{ 0,	0,	printargs,		"SYS_1678"	}, /* 1678 */
+	{ 0,	0,	printargs,		"SYS_1679"	}, /* 1679 */
+	{ 0,	0,	printargs,		"SYS_1680"	}, /* 1680 */
+	{ 0,	0,	printargs,		"SYS_1681"	}, /* 1681 */
+	{ 0,	0,	printargs,		"SYS_1682"	}, /* 1682 */
+	{ 0,	0,	printargs,		"SYS_1683"	}, /* 1683 */
+	{ 0,	0,	printargs,		"SYS_1684"	}, /* 1684 */
+	{ 0,	0,	printargs,		"SYS_1685"	}, /* 1685 */
+	{ 0,	0,	printargs,		"SYS_1686"	}, /* 1686 */
+	{ 0,	0,	printargs,		"SYS_1687"	}, /* 1687 */
+	{ 0,	0,	printargs,		"SYS_1688"	}, /* 1688 */
+	{ 0,	0,	printargs,		"SYS_1689"	}, /* 1689 */
+	{ 0,	0,	printargs,		"SYS_1690"	}, /* 1690 */
+	{ 0,	0,	printargs,		"SYS_1691"	}, /* 1691 */
+	{ 0,	0,	printargs,		"SYS_1692"	}, /* 1692 */
+	{ 0,	0,	printargs,		"SYS_1693"	}, /* 1693 */
+	{ 0,	0,	printargs,		"SYS_1694"	}, /* 1694 */
+	{ 0,	0,	printargs,		"SYS_1695"	}, /* 1695 */
+	{ 0,	0,	printargs,		"SYS_1696"	}, /* 1696 */
+	{ 0,	0,	printargs,		"SYS_1697"	}, /* 1697 */
+	{ 0,	0,	printargs,		"SYS_1698"	}, /* 1698 */
+	{ 0,	0,	printargs,		"SYS_1699"	}, /* 1699 */
+	{ 0,	0,	printargs,		"SYS_1700"	}, /* 1700 */
+	{ 0,	0,	printargs,		"SYS_1701"	}, /* 1701 */
+	{ 0,	0,	printargs,		"SYS_1702"	}, /* 1702 */
+	{ 0,	0,	printargs,		"SYS_1703"	}, /* 1703 */
+	{ 0,	0,	printargs,		"SYS_1704"	}, /* 1704 */
+	{ 0,	0,	printargs,		"SYS_1705"	}, /* 1705 */
+	{ 0,	0,	printargs,		"SYS_1706"	}, /* 1706 */
+	{ 0,	0,	printargs,		"SYS_1707"	}, /* 1707 */
+	{ 0,	0,	printargs,		"SYS_1708"	}, /* 1708 */
+	{ 0,	0,	printargs,		"SYS_1709"	}, /* 1709 */
+	{ 0,	0,	printargs,		"SYS_1710"	}, /* 1710 */
+	{ 0,	0,	printargs,		"SYS_1711"	}, /* 1711 */
+	{ 0,	0,	printargs,		"SYS_1712"	}, /* 1712 */
+	{ 0,	0,	printargs,		"SYS_1713"	}, /* 1713 */
+	{ 0,	0,	printargs,		"SYS_1714"	}, /* 1714 */
+	{ 0,	0,	printargs,		"SYS_1715"	}, /* 1715 */
+	{ 0,	0,	printargs,		"SYS_1716"	}, /* 1716 */
+	{ 0,	0,	printargs,		"SYS_1717"	}, /* 1717 */
+	{ 0,	0,	printargs,		"SYS_1718"	}, /* 1718 */
+	{ 0,	0,	printargs,		"SYS_1719"	}, /* 1719 */
+	{ 0,	0,	printargs,		"SYS_1720"	}, /* 1720 */
+	{ 0,	0,	printargs,		"SYS_1721"	}, /* 1721 */
+	{ 0,	0,	printargs,		"SYS_1722"	}, /* 1722 */
+	{ 0,	0,	printargs,		"SYS_1723"	}, /* 1723 */
+	{ 0,	0,	printargs,		"SYS_1724"	}, /* 1724 */
+	{ 0,	0,	printargs,		"SYS_1725"	}, /* 1725 */
+	{ 0,	0,	printargs,		"SYS_1726"	}, /* 1726 */
+	{ 0,	0,	printargs,		"SYS_1727"	}, /* 1727 */
+	{ 0,	0,	printargs,		"SYS_1728"	}, /* 1728 */
+	{ 0,	0,	printargs,		"SYS_1729"	}, /* 1729 */
+	{ 0,	0,	printargs,		"SYS_1730"	}, /* 1730 */
+	{ 0,	0,	printargs,		"SYS_1731"	}, /* 1731 */
+	{ 0,	0,	printargs,		"SYS_1732"	}, /* 1732 */
+	{ 0,	0,	printargs,		"SYS_1733"	}, /* 1733 */
+	{ 0,	0,	printargs,		"SYS_1734"	}, /* 1734 */
+	{ 0,	0,	printargs,		"SYS_1735"	}, /* 1735 */
+	{ 0,	0,	printargs,		"SYS_1736"	}, /* 1736 */
+	{ 0,	0,	printargs,		"SYS_1737"	}, /* 1737 */
+	{ 0,	0,	printargs,		"SYS_1738"	}, /* 1738 */
+	{ 0,	0,	printargs,		"SYS_1739"	}, /* 1739 */
+	{ 0,	0,	printargs,		"SYS_1740"	}, /* 1740 */
+	{ 0,	0,	printargs,		"SYS_1741"	}, /* 1741 */
+	{ 0,	0,	printargs,		"SYS_1742"	}, /* 1742 */
+	{ 0,	0,	printargs,		"SYS_1743"	}, /* 1743 */
+	{ 0,	0,	printargs,		"SYS_1744"	}, /* 1744 */
+	{ 0,	0,	printargs,		"SYS_1745"	}, /* 1745 */
+	{ 0,	0,	printargs,		"SYS_1746"	}, /* 1746 */
+	{ 0,	0,	printargs,		"SYS_1747"	}, /* 1747 */
+	{ 0,	0,	printargs,		"SYS_1748"	}, /* 1748 */
+	{ 0,	0,	printargs,		"SYS_1749"	}, /* 1749 */
+	{ 0,	0,	printargs,		"SYS_1750"	}, /* 1750 */
+	{ 0,	0,	printargs,		"SYS_1751"	}, /* 1751 */
+	{ 0,	0,	printargs,		"SYS_1752"	}, /* 1752 */
+	{ 0,	0,	printargs,		"SYS_1753"	}, /* 1753 */
+	{ 0,	0,	printargs,		"SYS_1754"	}, /* 1754 */
+	{ 0,	0,	printargs,		"SYS_1755"	}, /* 1755 */
+	{ 0,	0,	printargs,		"SYS_1756"	}, /* 1756 */
+	{ 0,	0,	printargs,		"SYS_1757"	}, /* 1757 */
+	{ 0,	0,	printargs,		"SYS_1758"	}, /* 1758 */
+	{ 0,	0,	printargs,		"SYS_1759"	}, /* 1759 */
+	{ 0,	0,	printargs,		"SYS_1760"	}, /* 1760 */
+	{ 0,	0,	printargs,		"SYS_1761"	}, /* 1761 */
+	{ 0,	0,	printargs,		"SYS_1762"	}, /* 1762 */
+	{ 0,	0,	printargs,		"SYS_1763"	}, /* 1763 */
+	{ 0,	0,	printargs,		"SYS_1764"	}, /* 1764 */
+	{ 0,	0,	printargs,		"SYS_1765"	}, /* 1765 */
+	{ 0,	0,	printargs,		"SYS_1766"	}, /* 1766 */
+	{ 0,	0,	printargs,		"SYS_1767"	}, /* 1767 */
+	{ 0,	0,	printargs,		"SYS_1768"	}, /* 1768 */
+	{ 0,	0,	printargs,		"SYS_1769"	}, /* 1769 */
+	{ 0,	0,	printargs,		"SYS_1770"	}, /* 1770 */
+	{ 0,	0,	printargs,		"SYS_1771"	}, /* 1771 */
+	{ 0,	0,	printargs,		"SYS_1772"	}, /* 1772 */
+	{ 0,	0,	printargs,		"SYS_1773"	}, /* 1773 */
+	{ 0,	0,	printargs,		"SYS_1774"	}, /* 1774 */
+	{ 0,	0,	printargs,		"SYS_1775"	}, /* 1775 */
+	{ 0,	0,	printargs,		"SYS_1776"	}, /* 1776 */
+	{ 0,	0,	printargs,		"SYS_1777"	}, /* 1777 */
+	{ 0,	0,	printargs,		"SYS_1778"	}, /* 1778 */
+	{ 0,	0,	printargs,		"SYS_1779"	}, /* 1779 */
+	{ 0,	0,	printargs,		"SYS_1780"	}, /* 1780 */
+	{ 0,	0,	printargs,		"SYS_1781"	}, /* 1781 */
+	{ 0,	0,	printargs,		"SYS_1782"	}, /* 1782 */
+	{ 0,	0,	printargs,		"SYS_1783"	}, /* 1783 */
+	{ 0,	0,	printargs,		"SYS_1784"	}, /* 1784 */
+	{ 0,	0,	printargs,		"SYS_1785"	}, /* 1785 */
+	{ 0,	0,	printargs,		"SYS_1786"	}, /* 1786 */
+	{ 0,	0,	printargs,		"SYS_1787"	}, /* 1787 */
+	{ 0,	0,	printargs,		"SYS_1788"	}, /* 1788 */
+	{ 0,	0,	printargs,		"SYS_1789"	}, /* 1789 */
+	{ 0,	0,	printargs,		"SYS_1790"	}, /* 1790 */
+	{ 0,	0,	printargs,		"SYS_1791"	}, /* 1791 */
+	{ 0,	0,	printargs,		"SYS_1792"	}, /* 1792 */
+	{ 0,	0,	printargs,		"SYS_1793"	}, /* 1793 */
+	{ 0,	0,	printargs,		"SYS_1794"	}, /* 1794 */
+	{ 0,	0,	printargs,		"SYS_1795"	}, /* 1795 */
+	{ 0,	0,	printargs,		"SYS_1796"	}, /* 1796 */
+	{ 0,	0,	printargs,		"SYS_1797"	}, /* 1797 */
+	{ 0,	0,	printargs,		"SYS_1798"	}, /* 1798 */
+	{ 0,	0,	printargs,		"SYS_1799"	}, /* 1799 */
+	{ 0,	0,	printargs,		"SYS_1800"	}, /* 1800 */
+	{ 0,	0,	printargs,		"SYS_1801"	}, /* 1801 */
+	{ 0,	0,	printargs,		"SYS_1802"	}, /* 1802 */
+	{ 0,	0,	printargs,		"SYS_1803"	}, /* 1803 */
+	{ 0,	0,	printargs,		"SYS_1804"	}, /* 1804 */
+	{ 0,	0,	printargs,		"SYS_1805"	}, /* 1805 */
+	{ 0,	0,	printargs,		"SYS_1806"	}, /* 1806 */
+	{ 0,	0,	printargs,		"SYS_1807"	}, /* 1807 */
+	{ 0,	0,	printargs,		"SYS_1808"	}, /* 1808 */
+	{ 0,	0,	printargs,		"SYS_1809"	}, /* 1809 */
+	{ 0,	0,	printargs,		"SYS_1810"	}, /* 1810 */
+	{ 0,	0,	printargs,		"SYS_1811"	}, /* 1811 */
+	{ 0,	0,	printargs,		"SYS_1812"	}, /* 1812 */
+	{ 0,	0,	printargs,		"SYS_1813"	}, /* 1813 */
+	{ 0,	0,	printargs,		"SYS_1814"	}, /* 1814 */
+	{ 0,	0,	printargs,		"SYS_1815"	}, /* 1815 */
+	{ 0,	0,	printargs,		"SYS_1816"	}, /* 1816 */
+	{ 0,	0,	printargs,		"SYS_1817"	}, /* 1817 */
+	{ 0,	0,	printargs,		"SYS_1818"	}, /* 1818 */
+	{ 0,	0,	printargs,		"SYS_1819"	}, /* 1819 */
+	{ 0,	0,	printargs,		"SYS_1820"	}, /* 1820 */
+	{ 0,	0,	printargs,		"SYS_1821"	}, /* 1821 */
+	{ 0,	0,	printargs,		"SYS_1822"	}, /* 1822 */
+	{ 0,	0,	printargs,		"SYS_1823"	}, /* 1823 */
+	{ 0,	0,	printargs,		"SYS_1824"	}, /* 1824 */
+	{ 0,	0,	printargs,		"SYS_1825"	}, /* 1825 */
+	{ 0,	0,	printargs,		"SYS_1826"	}, /* 1826 */
+	{ 0,	0,	printargs,		"SYS_1827"	}, /* 1827 */
+	{ 0,	0,	printargs,		"SYS_1828"	}, /* 1828 */
+	{ 0,	0,	printargs,		"SYS_1829"	}, /* 1829 */
+	{ 0,	0,	printargs,		"SYS_1830"	}, /* 1830 */
+	{ 0,	0,	printargs,		"SYS_1831"	}, /* 1831 */
+	{ 0,	0,	printargs,		"SYS_1832"	}, /* 1832 */
+	{ 0,	0,	printargs,		"SYS_1833"	}, /* 1833 */
+	{ 0,	0,	printargs,		"SYS_1834"	}, /* 1834 */
+	{ 0,	0,	printargs,		"SYS_1835"	}, /* 1835 */
+	{ 0,	0,	printargs,		"SYS_1836"	}, /* 1836 */
+	{ 0,	0,	printargs,		"SYS_1837"	}, /* 1837 */
+	{ 0,	0,	printargs,		"SYS_1838"	}, /* 1838 */
+	{ 0,	0,	printargs,		"SYS_1839"	}, /* 1839 */
+	{ 0,	0,	printargs,		"SYS_1840"	}, /* 1840 */
+	{ 0,	0,	printargs,		"SYS_1841"	}, /* 1841 */
+	{ 0,	0,	printargs,		"SYS_1842"	}, /* 1842 */
+	{ 0,	0,	printargs,		"SYS_1843"	}, /* 1843 */
+	{ 0,	0,	printargs,		"SYS_1844"	}, /* 1844 */
+	{ 0,	0,	printargs,		"SYS_1845"	}, /* 1845 */
+	{ 0,	0,	printargs,		"SYS_1846"	}, /* 1846 */
+	{ 0,	0,	printargs,		"SYS_1847"	}, /* 1847 */
+	{ 0,	0,	printargs,		"SYS_1848"	}, /* 1848 */
+	{ 0,	0,	printargs,		"SYS_1849"	}, /* 1849 */
+	{ 0,	0,	printargs,		"SYS_1850"	}, /* 1850 */
+	{ 0,	0,	printargs,		"SYS_1851"	}, /* 1851 */
+	{ 0,	0,	printargs,		"SYS_1852"	}, /* 1852 */
+	{ 0,	0,	printargs,		"SYS_1853"	}, /* 1853 */
+	{ 0,	0,	printargs,		"SYS_1854"	}, /* 1854 */
+	{ 0,	0,	printargs,		"SYS_1855"	}, /* 1855 */
+	{ 0,	0,	printargs,		"SYS_1856"	}, /* 1856 */
+	{ 0,	0,	printargs,		"SYS_1857"	}, /* 1857 */
+	{ 0,	0,	printargs,		"SYS_1858"	}, /* 1858 */
+	{ 0,	0,	printargs,		"SYS_1859"	}, /* 1859 */
+	{ 0,	0,	printargs,		"SYS_1860"	}, /* 1860 */
+	{ 0,	0,	printargs,		"SYS_1861"	}, /* 1861 */
+	{ 0,	0,	printargs,		"SYS_1862"	}, /* 1862 */
+	{ 0,	0,	printargs,		"SYS_1863"	}, /* 1863 */
+	{ 0,	0,	printargs,		"SYS_1864"	}, /* 1864 */
+	{ 0,	0,	printargs,		"SYS_1865"	}, /* 1865 */
+	{ 0,	0,	printargs,		"SYS_1866"	}, /* 1866 */
+	{ 0,	0,	printargs,		"SYS_1867"	}, /* 1867 */
+	{ 0,	0,	printargs,		"SYS_1868"	}, /* 1868 */
+	{ 0,	0,	printargs,		"SYS_1869"	}, /* 1869 */
+	{ 0,	0,	printargs,		"SYS_1870"	}, /* 1870 */
+	{ 0,	0,	printargs,		"SYS_1871"	}, /* 1871 */
+	{ 0,	0,	printargs,		"SYS_1872"	}, /* 1872 */
+	{ 0,	0,	printargs,		"SYS_1873"	}, /* 1873 */
+	{ 0,	0,	printargs,		"SYS_1874"	}, /* 1874 */
+	{ 0,	0,	printargs,		"SYS_1875"	}, /* 1875 */
+	{ 0,	0,	printargs,		"SYS_1876"	}, /* 1876 */
+	{ 0,	0,	printargs,		"SYS_1877"	}, /* 1877 */
+	{ 0,	0,	printargs,		"SYS_1878"	}, /* 1878 */
+	{ 0,	0,	printargs,		"SYS_1879"	}, /* 1879 */
+	{ 0,	0,	printargs,		"SYS_1880"	}, /* 1880 */
+	{ 0,	0,	printargs,		"SYS_1881"	}, /* 1881 */
+	{ 0,	0,	printargs,		"SYS_1882"	}, /* 1882 */
+	{ 0,	0,	printargs,		"SYS_1883"	}, /* 1883 */
+	{ 0,	0,	printargs,		"SYS_1884"	}, /* 1884 */
+	{ 0,	0,	printargs,		"SYS_1885"	}, /* 1885 */
+	{ 0,	0,	printargs,		"SYS_1886"	}, /* 1886 */
+	{ 0,	0,	printargs,		"SYS_1887"	}, /* 1887 */
+	{ 0,	0,	printargs,		"SYS_1888"	}, /* 1888 */
+	{ 0,	0,	printargs,		"SYS_1889"	}, /* 1889 */
+	{ 0,	0,	printargs,		"SYS_1890"	}, /* 1890 */
+	{ 0,	0,	printargs,		"SYS_1891"	}, /* 1891 */
+	{ 0,	0,	printargs,		"SYS_1892"	}, /* 1892 */
+	{ 0,	0,	printargs,		"SYS_1893"	}, /* 1893 */
+	{ 0,	0,	printargs,		"SYS_1894"	}, /* 1894 */
+	{ 0,	0,	printargs,		"SYS_1895"	}, /* 1895 */
+	{ 0,	0,	printargs,		"SYS_1896"	}, /* 1896 */
+	{ 0,	0,	printargs,		"SYS_1897"	}, /* 1897 */
+	{ 0,	0,	printargs,		"SYS_1898"	}, /* 1898 */
+	{ 0,	0,	printargs,		"SYS_1899"	}, /* 1899 */
+	{ 0,	0,	printargs,		"SYS_1900"	}, /* 1900 */
+	{ 0,	0,	printargs,		"SYS_1901"	}, /* 1901 */
+	{ 0,	0,	printargs,		"SYS_1902"	}, /* 1902 */
+	{ 0,	0,	printargs,		"SYS_1903"	}, /* 1903 */
+	{ 0,	0,	printargs,		"SYS_1904"	}, /* 1904 */
+	{ 0,	0,	printargs,		"SYS_1905"	}, /* 1905 */
+	{ 0,	0,	printargs,		"SYS_1906"	}, /* 1906 */
+	{ 0,	0,	printargs,		"SYS_1907"	}, /* 1907 */
+	{ 0,	0,	printargs,		"SYS_1908"	}, /* 1908 */
+	{ 0,	0,	printargs,		"SYS_1909"	}, /* 1909 */
+	{ 0,	0,	printargs,		"SYS_1910"	}, /* 1910 */
+	{ 0,	0,	printargs,		"SYS_1911"	}, /* 1911 */
+	{ 0,	0,	printargs,		"SYS_1912"	}, /* 1912 */
+	{ 0,	0,	printargs,		"SYS_1913"	}, /* 1913 */
+	{ 0,	0,	printargs,		"SYS_1914"	}, /* 1914 */
+	{ 0,	0,	printargs,		"SYS_1915"	}, /* 1915 */
+	{ 0,	0,	printargs,		"SYS_1916"	}, /* 1916 */
+	{ 0,	0,	printargs,		"SYS_1917"	}, /* 1917 */
+	{ 0,	0,	printargs,		"SYS_1918"	}, /* 1918 */
+	{ 0,	0,	printargs,		"SYS_1919"	}, /* 1919 */
+	{ 0,	0,	printargs,		"SYS_1920"	}, /* 1920 */
+	{ 0,	0,	printargs,		"SYS_1921"	}, /* 1921 */
+	{ 0,	0,	printargs,		"SYS_1922"	}, /* 1922 */
+	{ 0,	0,	printargs,		"SYS_1923"	}, /* 1923 */
+	{ 0,	0,	printargs,		"SYS_1924"	}, /* 1924 */
+	{ 0,	0,	printargs,		"SYS_1925"	}, /* 1925 */
+	{ 0,	0,	printargs,		"SYS_1926"	}, /* 1926 */
+	{ 0,	0,	printargs,		"SYS_1927"	}, /* 1927 */
+	{ 0,	0,	printargs,		"SYS_1928"	}, /* 1928 */
+	{ 0,	0,	printargs,		"SYS_1929"	}, /* 1929 */
+	{ 0,	0,	printargs,		"SYS_1930"	}, /* 1930 */
+	{ 0,	0,	printargs,		"SYS_1931"	}, /* 1931 */
+	{ 0,	0,	printargs,		"SYS_1932"	}, /* 1932 */
+	{ 0,	0,	printargs,		"SYS_1933"	}, /* 1933 */
+	{ 0,	0,	printargs,		"SYS_1934"	}, /* 1934 */
+	{ 0,	0,	printargs,		"SYS_1935"	}, /* 1935 */
+	{ 0,	0,	printargs,		"SYS_1936"	}, /* 1936 */
+	{ 0,	0,	printargs,		"SYS_1937"	}, /* 1937 */
+	{ 0,	0,	printargs,		"SYS_1938"	}, /* 1938 */
+	{ 0,	0,	printargs,		"SYS_1939"	}, /* 1939 */
+	{ 0,	0,	printargs,		"SYS_1940"	}, /* 1940 */
+	{ 0,	0,	printargs,		"SYS_1941"	}, /* 1941 */
+	{ 0,	0,	printargs,		"SYS_1942"	}, /* 1942 */
+	{ 0,	0,	printargs,		"SYS_1943"	}, /* 1943 */
+	{ 0,	0,	printargs,		"SYS_1944"	}, /* 1944 */
+	{ 0,	0,	printargs,		"SYS_1945"	}, /* 1945 */
+	{ 0,	0,	printargs,		"SYS_1946"	}, /* 1946 */
+	{ 0,	0,	printargs,		"SYS_1947"	}, /* 1947 */
+	{ 0,	0,	printargs,		"SYS_1948"	}, /* 1948 */
+	{ 0,	0,	printargs,		"SYS_1949"	}, /* 1949 */
+	{ 0,	0,	printargs,		"SYS_1950"	}, /* 1950 */
+	{ 0,	0,	printargs,		"SYS_1951"	}, /* 1951 */
+	{ 0,	0,	printargs,		"SYS_1952"	}, /* 1952 */
+	{ 0,	0,	printargs,		"SYS_1953"	}, /* 1953 */
+	{ 0,	0,	printargs,		"SYS_1954"	}, /* 1954 */
+	{ 0,	0,	printargs,		"SYS_1955"	}, /* 1955 */
+	{ 0,	0,	printargs,		"SYS_1956"	}, /* 1956 */
+	{ 0,	0,	printargs,		"SYS_1957"	}, /* 1957 */
+	{ 0,	0,	printargs,		"SYS_1958"	}, /* 1958 */
+	{ 0,	0,	printargs,		"SYS_1959"	}, /* 1959 */
+	{ 0,	0,	printargs,		"SYS_1960"	}, /* 1960 */
+	{ 0,	0,	printargs,		"SYS_1961"	}, /* 1961 */
+	{ 0,	0,	printargs,		"SYS_1962"	}, /* 1962 */
+	{ 0,	0,	printargs,		"SYS_1963"	}, /* 1963 */
+	{ 0,	0,	printargs,		"SYS_1964"	}, /* 1964 */
+	{ 0,	0,	printargs,		"SYS_1965"	}, /* 1965 */
+	{ 0,	0,	printargs,		"SYS_1966"	}, /* 1966 */
+	{ 0,	0,	printargs,		"SYS_1967"	}, /* 1967 */
+	{ 0,	0,	printargs,		"SYS_1968"	}, /* 1968 */
+	{ 0,	0,	printargs,		"SYS_1969"	}, /* 1969 */
+	{ 0,	0,	printargs,		"SYS_1970"	}, /* 1970 */
+	{ 0,	0,	printargs,		"SYS_1971"	}, /* 1971 */
+	{ 0,	0,	printargs,		"SYS_1972"	}, /* 1972 */
+	{ 0,	0,	printargs,		"SYS_1973"	}, /* 1973 */
+	{ 0,	0,	printargs,		"SYS_1974"	}, /* 1974 */
+	{ 0,	0,	printargs,		"SYS_1975"	}, /* 1975 */
+	{ 0,	0,	printargs,		"SYS_1976"	}, /* 1976 */
+	{ 0,	0,	printargs,		"SYS_1977"	}, /* 1977 */
+	{ 0,	0,	printargs,		"SYS_1978"	}, /* 1978 */
+	{ 0,	0,	printargs,		"SYS_1979"	}, /* 1979 */
+	{ 0,	0,	printargs,		"SYS_1980"	}, /* 1980 */
+	{ 0,	0,	printargs,		"SYS_1981"	}, /* 1981 */
+	{ 0,	0,	printargs,		"SYS_1982"	}, /* 1982 */
+	{ 0,	0,	printargs,		"SYS_1983"	}, /* 1983 */
+	{ 0,	0,	printargs,		"SYS_1984"	}, /* 1984 */
+	{ 0,	0,	printargs,		"SYS_1985"	}, /* 1985 */
+	{ 0,	0,	printargs,		"SYS_1986"	}, /* 1986 */
+	{ 0,	0,	printargs,		"SYS_1987"	}, /* 1987 */
+	{ 0,	0,	printargs,		"SYS_1988"	}, /* 1988 */
+	{ 0,	0,	printargs,		"SYS_1989"	}, /* 1989 */
+	{ 0,	0,	printargs,		"SYS_1990"	}, /* 1990 */
+	{ 0,	0,	printargs,		"SYS_1991"	}, /* 1991 */
+	{ 0,	0,	printargs,		"SYS_1992"	}, /* 1992 */
+	{ 0,	0,	printargs,		"SYS_1993"	}, /* 1993 */
+	{ 0,	0,	printargs,		"SYS_1994"	}, /* 1994 */
+	{ 0,	0,	printargs,		"SYS_1995"	}, /* 1995 */
+	{ 0,	0,	printargs,		"SYS_1996"	}, /* 1996 */
+	{ 0,	0,	printargs,		"SYS_1997"	}, /* 1997 */
+	{ 0,	0,	printargs,		"SYS_1998"	}, /* 1998 */
+	{ 0,	0,	printargs,		"SYS_1999"	}, /* 1999 */ /* end of SYSV */
+	{ 0,	0,	printargs,		"bsd43_syscall"	}, /* 2000 */ /* start of BSD 4.3 */
+	{ 0,	0,	printargs,		"bsd43_exit"	}, /* 2001 */
+	{ 0,	0,	printargs,		"bsd43_fork"	}, /* 2002 */
+	{ 0,	0,	printargs,		"bsd43_read"	}, /* 2003 */
+	{ 0,	0,	printargs,		"bsd43_write"	}, /* 2004 */
+	{ 0,	0,	printargs,		"bsd43_open"	}, /* 2005 */
+	{ 0,	0,	printargs,		"bsd43_close"	}, /* 2006 */
+	{ 0,	0,	printargs,		"bsd43_wait"	}, /* 2007 */
+	{ 0,	0,	printargs,		"bsd43_creat"	}, /* 2008 */
+	{ 0,	0,	printargs,		"bsd43_link"	}, /* 2009 */
+	{ 0,	0,	printargs,		"bsd43_unlink"	}, /* 2010 */
+	{ 0,	0,	printargs,		"bsd43_exec"	}, /* 2011 */
+	{ 0,	0,	printargs,		"bsd43_chdir"	}, /* 2012 */
+	{ 0,	0,	printargs,		"bsd43_time"	}, /* 2013 */
+	{ 0,	0,	printargs,		"bsd43_mknod"	}, /* 2014 */
+	{ 0,	0,	printargs,		"bsd43_chmod"	}, /* 2015 */
+	{ 0,	0,	printargs,		"bsd43_chown"	}, /* 2016 */
+	{ 0,	0,	printargs,		"bsd43_sbreak"	}, /* 2017 */
+	{ 0,	0,	printargs,		"bsd43_oldstat"	}, /* 2018 */
+	{ 0,	0,	printargs,		"bsd43_lseek"	}, /* 2019 */
+	{ 0,	0,	printargs,		"bsd43_getpid"	}, /* 2020 */
+	{ 0,	0,	printargs,		"bsd43_oldmount"	}, /* 2021 */
+	{ 0,	0,	printargs,		"bsd43_umount"	}, /* 2022 */
+	{ 0,	0,	printargs,		"bsd43_setuid"	}, /* 2023 */
+	{ 0,	0,	printargs,		"bsd43_getuid"	}, /* 2024 */
+	{ 0,	0,	printargs,		"bsd43_stime"	}, /* 2025 */
+	{ 0,	0,	printargs,		"bsd43_ptrace"	}, /* 2026 */
+	{ 0,	0,	printargs,		"bsd43_alarm"	}, /* 2027 */
+	{ 0,	0,	printargs,		"bsd43_oldfstat"	}, /* 2028 */
+	{ 0,	0,	printargs,		"bsd43_pause"	}, /* 2029 */
+	{ 0,	0,	printargs,		"bsd43_utime"	}, /* 2030 */
+	{ 0,	0,	printargs,		"bsd43_stty"	}, /* 2031 */
+	{ 0,	0,	printargs,		"bsd43_gtty"	}, /* 2032 */
+	{ 0,	0,	printargs,		"bsd43_access"	}, /* 2033 */
+	{ 0,	0,	printargs,		"bsd43_nice"	}, /* 2034 */
+	{ 0,	0,	printargs,		"bsd43_ftime"	}, /* 2035 */
+	{ 0,	0,	printargs,		"bsd43_sync"	}, /* 2036 */
+	{ 0,	0,	printargs,		"bsd43_kill"	}, /* 2037 */
+	{ 0,	0,	printargs,		"bsd43_stat"	}, /* 2038 */
+	{ 0,	0,	printargs,		"bsd43_oldsetpgrp"	}, /* 2039 */
+	{ 0,	0,	printargs,		"bsd43_lstat"	}, /* 2040 */
+	{ 0,	0,	printargs,		"bsd43_dup"	}, /* 2041 */
+	{ 0,	0,	printargs,		"bsd43_pipe"	}, /* 2042 */
+	{ 0,	0,	printargs,		"bsd43_times"	}, /* 2043 */
+	{ 0,	0,	printargs,		"bsd43_profil"	}, /* 2044 */
+	{ 0,	0,	printargs,		"bsd43_msgsys"	}, /* 2045 */
+	{ 0,	0,	printargs,		"bsd43_setgid"	}, /* 2046 */
+	{ 0,	0,	printargs,		"bsd43_getgid"	}, /* 2047 */
+	{ 0,	0,	printargs,		"bsd43_ssig"	}, /* 2048 */
+	{ 0,	0,	printargs,		"SYS_2049"	}, /* 2049 */
+	{ 0,	0,	printargs,		"SYS_2050"	}, /* 2050 */
+	{ 0,	0,	printargs,		"bsd43_sysacct"	}, /* 2051 */
+	{ 0,	0,	printargs,		"bsd43_phys"	}, /* 2052 */
+	{ 0,	0,	printargs,		"bsd43_lock"	}, /* 2053 */
+	{ 0,	0,	printargs,		"bsd43_ioctl"	}, /* 2054 */
+	{ 0,	0,	printargs,		"bsd43_reboot"	}, /* 2055 */
+	{ 0,	0,	printargs,		"bsd43_mpxchan"	}, /* 2056 */
+	{ 0,	0,	printargs,		"bsd43_symlink"	}, /* 2057 */
+	{ 0,	0,	printargs,		"bsd43_readlink"	}, /* 2058 */
+	{ 0,	0,	printargs,		"bsd43_execve"	}, /* 2059 */
+	{ 0,	0,	printargs,		"bsd43_umask"	}, /* 2060 */
+	{ 0,	0,	printargs,		"bsd43_chroot"	}, /* 2061 */
+	{ 0,	0,	printargs,		"bsd43_fstat"	}, /* 2062 */
+	{ 0,	0,	printargs,		"SYS_2063"	}, /* 2063 */
+	{ 0,	0,	printargs,		"bsd43_getpagesize"	}, /* 2064 */
+	{ 0,	0,	printargs,		"bsd43_mremap"	}, /* 2065 */
+	{ 0,	0,	printargs,		"bsd43_vfork"	}, /* 2066 */
+	{ 0,	0,	printargs,		"bsd43_vread"	}, /* 2067 */
+	{ 0,	0,	printargs,		"bsd43_vwrite"	}, /* 2068 */
+	{ 0,	0,	printargs,		"bsd43_sbrk"	}, /* 2069 */
+	{ 0,	0,	printargs,		"bsd43_sstk"	}, /* 2070 */
+	{ 0,	0,	printargs,		"bsd43_mmap"	}, /* 2071 */
+	{ 0,	0,	printargs,		"bsd43_vadvise"	}, /* 2072 */
+	{ 0,	0,	printargs,		"bsd43_munmap"	}, /* 2073 */
+	{ 0,	0,	printargs,		"bsd43_mprotect"	}, /* 2074 */
+	{ 0,	0,	printargs,		"bsd43_madvise"	}, /* 2075 */
+	{ 0,	0,	printargs,		"bsd43_vhangup"	}, /* 2076 */
+	{ 0,	0,	printargs,		"bsd43_vlimit"	}, /* 2077 */
+	{ 0,	0,	printargs,		"bsd43_mincore"	}, /* 2078 */
+	{ 0,	0,	printargs,		"bsd43_getgroups"	}, /* 2079 */
+	{ 0,	0,	printargs,		"bsd43_setgroups"	}, /* 2080 */
+	{ 0,	0,	printargs,		"bsd43_getpgrp"	}, /* 2081 */
+	{ 0,	0,	printargs,		"bsd43_setpgrp"	}, /* 2082 */
+	{ 0,	0,	printargs,		"bsd43_setitimer"	}, /* 2083 */
+	{ 0,	0,	printargs,		"bsd43_wait3"	}, /* 2084 */
+	{ 0,	0,	printargs,		"bsd43_swapon"	}, /* 2085 */
+	{ 0,	0,	printargs,		"bsd43_getitimer"	}, /* 2086 */
+	{ 0,	0,	printargs,		"bsd43_gethostname"	}, /* 2087 */
+	{ 0,	0,	printargs,		"bsd43_sethostname"	}, /* 2088 */
+	{ 0,	0,	printargs,		"bsd43_getdtablesize"	}, /* 2089 */
+	{ 0,	0,	printargs,		"bsd43_dup2"	}, /* 2090 */
+	{ 0,	0,	printargs,		"bsd43_getdopt"	}, /* 2091 */
+	{ 0,	0,	printargs,		"bsd43_fcntl"	}, /* 2092 */
+	{ 0,	0,	printargs,		"bsd43_select"	}, /* 2093 */
+	{ 0,	0,	printargs,		"bsd43_setdopt"	}, /* 2094 */
+	{ 0,	0,	printargs,		"bsd43_fsync"	}, /* 2095 */
+	{ 0,	0,	printargs,		"bsd43_setpriority"	}, /* 2096 */
+	{ 0,	0,	printargs,		"bsd43_socket"	}, /* 2097 */
+	{ 0,	0,	printargs,		"bsd43_connect"	}, /* 2098 */
+	{ 0,	0,	printargs,		"bsd43_oldaccept"	}, /* 2099 */
+	{ 0,	0,	printargs,		"bsd43_getpriority"	}, /* 2100 */
+	{ 0,	0,	printargs,		"bsd43_send"	}, /* 2101 */
+	{ 0,	0,	printargs,		"bsd43_recv"	}, /* 2102 */
+	{ 0,	0,	printargs,		"bsd43_sigreturn"	}, /* 2103 */
+	{ 0,	0,	printargs,		"bsd43_bind"	}, /* 2104 */
+	{ 0,	0,	printargs,		"bsd43_setsockopt"	}, /* 2105 */
+	{ 0,	0,	printargs,		"bsd43_listen"	}, /* 2106 */
+	{ 0,	0,	printargs,		"bsd43_vtimes"	}, /* 2107 */
+	{ 0,	0,	printargs,		"bsd43_sigvec"	}, /* 2108 */
+	{ 0,	0,	printargs,		"bsd43_sigblock"	}, /* 2109 */
+	{ 0,	0,	printargs,		"bsd43_sigsetmask"	}, /* 2110 */
+	{ 0,	0,	printargs,		"bsd43_sigpause"	}, /* 2111 */
+	{ 0,	0,	printargs,		"bsd43_sigstack"	}, /* 2112 */
+	{ 0,	0,	printargs,		"bsd43_oldrecvmsg"	}, /* 2113 */
+	{ 0,	0,	printargs,		"bsd43_oldsendmsg"	}, /* 2114 */
+	{ 0,	0,	printargs,		"bsd43_vtrace"	}, /* 2115 */
+	{ 0,	0,	printargs,		"bsd43_gettimeofday"	}, /* 2116 */
+	{ 0,	0,	printargs,		"bsd43_getrusage"	}, /* 2117 */
+	{ 0,	0,	printargs,		"bsd43_getsockopt"	}, /* 2118 */
+	{ 0,	0,	printargs,		"SYS_2119"	}, /* 2119 */
+	{ 0,	0,	printargs,		"bsd43_readv"	}, /* 2120 */
+	{ 0,	0,	printargs,		"bsd43_writev"	}, /* 2121 */
+	{ 0,	0,	printargs,		"bsd43_settimeofday"	}, /* 2122 */
+	{ 0,	0,	printargs,		"bsd43_fchown"	}, /* 2123 */
+	{ 0,	0,	printargs,		"bsd43_fchmod"	}, /* 2124 */
+	{ 0,	0,	printargs,		"bsd43_oldrecvfrom"	}, /* 2125 */
+	{ 0,	0,	printargs,		"bsd43_setreuid"	}, /* 2126 */
+	{ 0,	0,	printargs,		"bsd43_setregid"	}, /* 2127 */
+	{ 0,	0,	printargs,		"bsd43_rename"	}, /* 2128 */
+	{ 0,	0,	printargs,		"bsd43_truncate"	}, /* 2129 */
+	{ 0,	0,	printargs,		"bsd43_ftruncate"	}, /* 2130 */
+	{ 0,	0,	printargs,		"bsd43_flock"	}, /* 2131 */
+	{ 0,	0,	printargs,		"bsd43_semsys"	}, /* 2132 */
+	{ 0,	0,	printargs,		"bsd43_sendto"	}, /* 2133 */
+	{ 0,	0,	printargs,		"bsd43_shutdown"	}, /* 2134 */
+	{ 0,	0,	printargs,		"bsd43_socketpair"	}, /* 2135 */
+	{ 0,	0,	printargs,		"bsd43_mkdir"	}, /* 2136 */
+	{ 0,	0,	printargs,		"bsd43_rmdir"	}, /* 2137 */
+	{ 0,	0,	printargs,		"bsd43_utimes"	}, /* 2138 */
+	{ 0,	0,	printargs,		"bsd43_sigcleanup"	}, /* 2139 */
+	{ 0,	0,	printargs,		"bsd43_adjtime"	}, /* 2140 */
+	{ 0,	0,	printargs,		"bsd43_oldgetpeername"	}, /* 2141 */
+	{ 0,	0,	printargs,		"bsd43_gethostid"	}, /* 2142 */
+	{ 0,	0,	printargs,		"bsd43_sethostid"	}, /* 2143 */
+	{ 0,	0,	printargs,		"bsd43_getrlimit"	}, /* 2144 */
+	{ 0,	0,	printargs,		"bsd43_setrlimit"	}, /* 2145 */
+	{ 0,	0,	printargs,		"bsd43_killpg"	}, /* 2146 */
+	{ 0,	0,	printargs,		"bsd43_shmsys"	}, /* 2147 */
+	{ 0,	0,	printargs,		"bsd43_quota"	}, /* 2148 */
+	{ 0,	0,	printargs,		"bsd43_qquota"	}, /* 2149 */
+	{ 0,	0,	printargs,		"bsd43_oldgetsockname"	}, /* 2150 */
+	{ 0,	0,	printargs,		"bsd43_sysmips"	}, /* 2151 */
+	{ 0,	0,	printargs,		"bsd43_cacheflush"	}, /* 2152 */
+	{ 0,	0,	printargs,		"bsd43_cachectl"	}, /* 2153 */
+	{ 0,	0,	printargs,		"bsd43_debug"	}, /* 2154 */
+	{ 0,	0,	printargs,		"SYS_2155"	}, /* 2155 */
+	{ 0,	0,	printargs,		"SYS_2156"	}, /* 2156 */
+	{ 0,	0,	printargs,		"bsd43_nfs_mount"	}, /* 2157 */
+	{ 0,	0,	printargs,		"bsd43_nfs_svc"	}, /* 2158 */
+	{ 0,	0,	printargs,		"bsd43_getdirentries"	}, /* 2159 */
+	{ 0,	0,	printargs,		"bsd43_statfs"	}, /* 2160 */
+	{ 0,	0,	printargs,		"bsd43_fstatfs"	}, /* 2161 */
+	{ 0,	0,	printargs,		"bsd43_unmount"	}, /* 2162 */
+	{ 0,	0,	printargs,		"bsd43_async_daemon"	}, /* 2163 */
+	{ 0,	0,	printargs,		"bsd43_nfs_getfh"	}, /* 2164 */
+	{ 0,	0,	printargs,		"bsd43_getdomainname"	}, /* 2165 */
+	{ 0,	0,	printargs,		"bsd43_setdomainname"	}, /* 2166 */
+	{ 0,	0,	printargs,		"bsd43_pcfs_mount"	}, /* 2167 */
+	{ 0,	0,	printargs,		"bsd43_quotactl"	}, /* 2168 */
+	{ 0,	0,	printargs,		"bsd43_oldexportfs"	}, /* 2169 */
+	{ 0,	0,	printargs,		"bsd43_smount"	}, /* 2170 */
+	{ 0,	0,	printargs,		"bsd43_mipshwconf"	}, /* 2171 */
+	{ 0,	0,	printargs,		"bsd43_exportfs"	}, /* 2172 */
+	{ 0,	0,	printargs,		"bsd43_nfsfh_open"	}, /* 2173 */
+	{ 0,	0,	printargs,		"bsd43_libattach"	}, /* 2174 */
+	{ 0,	0,	printargs,		"bsd43_libdetach"	}, /* 2175 */
+	{ 0,	0,	printargs,		"bsd43_accept"	}, /* 2176 */
+	{ 0,	0,	printargs,		"SYS_2177"	}, /* 2177 */
+	{ 0,	0,	printargs,		"SYS_2178"	}, /* 2178 */
+	{ 0,	0,	printargs,		"bsd43_recvmsg"	}, /* 2179 */
+	{ 0,	0,	printargs,		"bsd43_recvfrom"	}, /* 2180 */
+	{ 0,	0,	printargs,		"bsd43_sendmsg"	}, /* 2181 */
+	{ 0,	0,	printargs,		"bsd43_getpeername"	}, /* 2182 */
+	{ 0,	0,	printargs,		"bsd43_getsockname"	}, /* 2183 */
+	{ 0,	0,	printargs,		"bsd43_aread"	}, /* 2184 */
+	{ 0,	0,	printargs,		"bsd43_awrite"	}, /* 2185 */
+	{ 0,	0,	printargs,		"bsd43_listio"	}, /* 2186 */
+	{ 0,	0,	printargs,		"bsd43_acancel"	}, /* 2187 */
+	{ 0,	0,	printargs,		"bsd43_astatus"	}, /* 2188 */
+	{ 0,	0,	printargs,		"bsd43_await"	}, /* 2189 */
+	{ 0,	0,	printargs,		"bsd43_areadv"	}, /* 2190 */
+	{ 0,	0,	printargs,		"bsd43_awritev"	}, /* 2191 */
+	{ 0,	0,	printargs,		"SYS_2192"	}, /* 2192 */
+	{ 0,	0,	printargs,		"SYS_2193"	}, /* 2193 */
+	{ 0,	0,	printargs,		"SYS_2194"	}, /* 2194 */
+	{ 0,	0,	printargs,		"SYS_2195"	}, /* 2195 */
+	{ 0,	0,	printargs,		"SYS_2196"	}, /* 2196 */
+	{ 0,	0,	printargs,		"SYS_2197"	}, /* 2197 */
+	{ 0,	0,	printargs,		"SYS_2198"	}, /* 2198 */
+	{ 0,	0,	printargs,		"SYS_2199"	}, /* 2199 */
+	{ 0,	0,	printargs,		"SYS_2200"	}, /* 2200 */
+	{ 0,	0,	printargs,		"SYS_2201"	}, /* 2201 */
+	{ 0,	0,	printargs,		"SYS_2202"	}, /* 2202 */
+	{ 0,	0,	printargs,		"SYS_2203"	}, /* 2203 */
+	{ 0,	0,	printargs,		"SYS_2204"	}, /* 2204 */
+	{ 0,	0,	printargs,		"SYS_2205"	}, /* 2205 */
+	{ 0,	0,	printargs,		"SYS_2206"	}, /* 2206 */
+	{ 0,	0,	printargs,		"SYS_2207"	}, /* 2207 */
+	{ 0,	0,	printargs,		"SYS_2208"	}, /* 2208 */
+	{ 0,	0,	printargs,		"SYS_2209"	}, /* 2209 */
+	{ 0,	0,	printargs,		"SYS_2210"	}, /* 2210 */
+	{ 0,	0,	printargs,		"SYS_2211"	}, /* 2211 */
+	{ 0,	0,	printargs,		"SYS_2212"	}, /* 2212 */
+	{ 0,	0,	printargs,		"SYS_2213"	}, /* 2213 */
+	{ 0,	0,	printargs,		"SYS_2214"	}, /* 2214 */
+	{ 0,	0,	printargs,		"SYS_2215"	}, /* 2215 */
+	{ 0,	0,	printargs,		"SYS_2216"	}, /* 2216 */
+	{ 0,	0,	printargs,		"SYS_2217"	}, /* 2217 */
+	{ 0,	0,	printargs,		"SYS_2218"	}, /* 2218 */
+	{ 0,	0,	printargs,		"SYS_2219"	}, /* 2219 */
+	{ 0,	0,	printargs,		"SYS_2220"	}, /* 2220 */
+	{ 0,	0,	printargs,		"SYS_2221"	}, /* 2221 */
+	{ 0,	0,	printargs,		"SYS_2222"	}, /* 2222 */
+	{ 0,	0,	printargs,		"SYS_2223"	}, /* 2223 */
+	{ 0,	0,	printargs,		"SYS_2224"	}, /* 2224 */
+	{ 0,	0,	printargs,		"SYS_2225"	}, /* 2225 */
+	{ 0,	0,	printargs,		"SYS_2226"	}, /* 2226 */
+	{ 0,	0,	printargs,		"SYS_2227"	}, /* 2227 */
+	{ 0,	0,	printargs,		"SYS_2228"	}, /* 2228 */
+	{ 0,	0,	printargs,		"SYS_2229"	}, /* 2229 */
+	{ 0,	0,	printargs,		"SYS_2230"	}, /* 2230 */
+	{ 0,	0,	printargs,		"SYS_2231"	}, /* 2231 */
+	{ 0,	0,	printargs,		"SYS_2232"	}, /* 2232 */
+	{ 0,	0,	printargs,		"SYS_2233"	}, /* 2233 */
+	{ 0,	0,	printargs,		"SYS_2234"	}, /* 2234 */
+	{ 0,	0,	printargs,		"SYS_2235"	}, /* 2235 */
+	{ 0,	0,	printargs,		"SYS_2236"	}, /* 2236 */
+	{ 0,	0,	printargs,		"SYS_2237"	}, /* 2237 */
+	{ 0,	0,	printargs,		"SYS_2238"	}, /* 2238 */
+	{ 0,	0,	printargs,		"SYS_2239"	}, /* 2239 */
+	{ 0,	0,	printargs,		"SYS_2240"	}, /* 2240 */
+	{ 0,	0,	printargs,		"SYS_2241"	}, /* 2241 */
+	{ 0,	0,	printargs,		"SYS_2242"	}, /* 2242 */
+	{ 0,	0,	printargs,		"SYS_2243"	}, /* 2243 */
+	{ 0,	0,	printargs,		"SYS_2244"	}, /* 2244 */
+	{ 0,	0,	printargs,		"SYS_2245"	}, /* 2245 */
+	{ 0,	0,	printargs,		"SYS_2246"	}, /* 2246 */
+	{ 0,	0,	printargs,		"SYS_2247"	}, /* 2247 */
+	{ 0,	0,	printargs,		"SYS_2248"	}, /* 2248 */
+	{ 0,	0,	printargs,		"SYS_2249"	}, /* 2249 */
+	{ 0,	0,	printargs,		"SYS_2250"	}, /* 2250 */
+	{ 0,	0,	printargs,		"SYS_2251"	}, /* 2251 */
+	{ 0,	0,	printargs,		"SYS_2252"	}, /* 2252 */
+	{ 0,	0,	printargs,		"SYS_2253"	}, /* 2253 */
+	{ 0,	0,	printargs,		"SYS_2254"	}, /* 2254 */
+	{ 0,	0,	printargs,		"SYS_2255"	}, /* 2255 */
+	{ 0,	0,	printargs,		"SYS_2256"	}, /* 2256 */
+	{ 0,	0,	printargs,		"SYS_2257"	}, /* 2257 */
+	{ 0,	0,	printargs,		"SYS_2258"	}, /* 2258 */
+	{ 0,	0,	printargs,		"SYS_2259"	}, /* 2259 */
+	{ 0,	0,	printargs,		"SYS_2260"	}, /* 2260 */
+	{ 0,	0,	printargs,		"SYS_2261"	}, /* 2261 */
+	{ 0,	0,	printargs,		"SYS_2262"	}, /* 2262 */
+	{ 0,	0,	printargs,		"SYS_2263"	}, /* 2263 */
+	{ 0,	0,	printargs,		"SYS_2264"	}, /* 2264 */
+	{ 0,	0,	printargs,		"SYS_2265"	}, /* 2265 */
+	{ 0,	0,	printargs,		"SYS_2266"	}, /* 2266 */
+	{ 0,	0,	printargs,		"SYS_2267"	}, /* 2267 */
+	{ 0,	0,	printargs,		"SYS_2268"	}, /* 2268 */
+	{ 0,	0,	printargs,		"SYS_2269"	}, /* 2269 */
+	{ 0,	0,	printargs,		"SYS_2270"	}, /* 2270 */
+	{ 0,	0,	printargs,		"SYS_2271"	}, /* 2271 */
+	{ 0,	0,	printargs,		"SYS_2272"	}, /* 2272 */
+	{ 0,	0,	printargs,		"SYS_2273"	}, /* 2273 */
+	{ 0,	0,	printargs,		"SYS_2274"	}, /* 2274 */
+	{ 0,	0,	printargs,		"SYS_2275"	}, /* 2275 */
+	{ 0,	0,	printargs,		"SYS_2276"	}, /* 2276 */
+	{ 0,	0,	printargs,		"SYS_2277"	}, /* 2277 */
+	{ 0,	0,	printargs,		"SYS_2278"	}, /* 2278 */
+	{ 0,	0,	printargs,		"SYS_2279"	}, /* 2279 */
+	{ 0,	0,	printargs,		"SYS_2280"	}, /* 2280 */
+	{ 0,	0,	printargs,		"SYS_2281"	}, /* 2281 */
+	{ 0,	0,	printargs,		"SYS_2282"	}, /* 2282 */
+	{ 0,	0,	printargs,		"SYS_2283"	}, /* 2283 */
+	{ 0,	0,	printargs,		"SYS_2284"	}, /* 2284 */
+	{ 0,	0,	printargs,		"SYS_2285"	}, /* 2285 */
+	{ 0,	0,	printargs,		"SYS_2286"	}, /* 2286 */
+	{ 0,	0,	printargs,		"SYS_2287"	}, /* 2287 */
+	{ 0,	0,	printargs,		"SYS_2288"	}, /* 2288 */
+	{ 0,	0,	printargs,		"SYS_2289"	}, /* 2289 */
+	{ 0,	0,	printargs,		"SYS_2290"	}, /* 2290 */
+	{ 0,	0,	printargs,		"SYS_2291"	}, /* 2291 */
+	{ 0,	0,	printargs,		"SYS_2292"	}, /* 2292 */
+	{ 0,	0,	printargs,		"SYS_2293"	}, /* 2293 */
+	{ 0,	0,	printargs,		"SYS_2294"	}, /* 2294 */
+	{ 0,	0,	printargs,		"SYS_2295"	}, /* 2295 */
+	{ 0,	0,	printargs,		"SYS_2296"	}, /* 2296 */
+	{ 0,	0,	printargs,		"SYS_2297"	}, /* 2297 */
+	{ 0,	0,	printargs,		"SYS_2298"	}, /* 2298 */
+	{ 0,	0,	printargs,		"SYS_2299"	}, /* 2299 */
+	{ 0,	0,	printargs,		"SYS_2300"	}, /* 2300 */
+	{ 0,	0,	printargs,		"SYS_2301"	}, /* 2301 */
+	{ 0,	0,	printargs,		"SYS_2302"	}, /* 2302 */
+	{ 0,	0,	printargs,		"SYS_2303"	}, /* 2303 */
+	{ 0,	0,	printargs,		"SYS_2304"	}, /* 2304 */
+	{ 0,	0,	printargs,		"SYS_2305"	}, /* 2305 */
+	{ 0,	0,	printargs,		"SYS_2306"	}, /* 2306 */
+	{ 0,	0,	printargs,		"SYS_2307"	}, /* 2307 */
+	{ 0,	0,	printargs,		"SYS_2308"	}, /* 2308 */
+	{ 0,	0,	printargs,		"SYS_2309"	}, /* 2309 */
+	{ 0,	0,	printargs,		"SYS_2310"	}, /* 2310 */
+	{ 0,	0,	printargs,		"SYS_2311"	}, /* 2311 */
+	{ 0,	0,	printargs,		"SYS_2312"	}, /* 2312 */
+	{ 0,	0,	printargs,		"SYS_2313"	}, /* 2313 */
+	{ 0,	0,	printargs,		"SYS_2314"	}, /* 2314 */
+	{ 0,	0,	printargs,		"SYS_2315"	}, /* 2315 */
+	{ 0,	0,	printargs,		"SYS_2316"	}, /* 2316 */
+	{ 0,	0,	printargs,		"SYS_2317"	}, /* 2317 */
+	{ 0,	0,	printargs,		"SYS_2318"	}, /* 2318 */
+	{ 0,	0,	printargs,		"SYS_2319"	}, /* 2319 */
+	{ 0,	0,	printargs,		"SYS_2320"	}, /* 2320 */
+	{ 0,	0,	printargs,		"SYS_2321"	}, /* 2321 */
+	{ 0,	0,	printargs,		"SYS_2322"	}, /* 2322 */
+	{ 0,	0,	printargs,		"SYS_2323"	}, /* 2323 */
+	{ 0,	0,	printargs,		"SYS_2324"	}, /* 2324 */
+	{ 0,	0,	printargs,		"SYS_2325"	}, /* 2325 */
+	{ 0,	0,	printargs,		"SYS_2326"	}, /* 2326 */
+	{ 0,	0,	printargs,		"SYS_2327"	}, /* 2327 */
+	{ 0,	0,	printargs,		"SYS_2328"	}, /* 2328 */
+	{ 0,	0,	printargs,		"SYS_2329"	}, /* 2329 */
+	{ 0,	0,	printargs,		"SYS_2330"	}, /* 2330 */
+	{ 0,	0,	printargs,		"SYS_2331"	}, /* 2331 */
+	{ 0,	0,	printargs,		"SYS_2332"	}, /* 2332 */
+	{ 0,	0,	printargs,		"SYS_2333"	}, /* 2333 */
+	{ 0,	0,	printargs,		"SYS_2334"	}, /* 2334 */
+	{ 0,	0,	printargs,		"SYS_2335"	}, /* 2335 */
+	{ 0,	0,	printargs,		"SYS_2336"	}, /* 2336 */
+	{ 0,	0,	printargs,		"SYS_2337"	}, /* 2337 */
+	{ 0,	0,	printargs,		"SYS_2338"	}, /* 2338 */
+	{ 0,	0,	printargs,		"SYS_2339"	}, /* 2339 */
+	{ 0,	0,	printargs,		"SYS_2340"	}, /* 2340 */
+	{ 0,	0,	printargs,		"SYS_2341"	}, /* 2341 */
+	{ 0,	0,	printargs,		"SYS_2342"	}, /* 2342 */
+	{ 0,	0,	printargs,		"SYS_2343"	}, /* 2343 */
+	{ 0,	0,	printargs,		"SYS_2344"	}, /* 2344 */
+	{ 0,	0,	printargs,		"SYS_2345"	}, /* 2345 */
+	{ 0,	0,	printargs,		"SYS_2346"	}, /* 2346 */
+	{ 0,	0,	printargs,		"SYS_2347"	}, /* 2347 */
+	{ 0,	0,	printargs,		"SYS_2348"	}, /* 2348 */
+	{ 0,	0,	printargs,		"SYS_2349"	}, /* 2349 */
+	{ 0,	0,	printargs,		"SYS_2350"	}, /* 2350 */
+	{ 0,	0,	printargs,		"SYS_2351"	}, /* 2351 */
+	{ 0,	0,	printargs,		"SYS_2352"	}, /* 2352 */
+	{ 0,	0,	printargs,		"SYS_2353"	}, /* 2353 */
+	{ 0,	0,	printargs,		"SYS_2354"	}, /* 2354 */
+	{ 0,	0,	printargs,		"SYS_2355"	}, /* 2355 */
+	{ 0,	0,	printargs,		"SYS_2356"	}, /* 2356 */
+	{ 0,	0,	printargs,		"SYS_2357"	}, /* 2357 */
+	{ 0,	0,	printargs,		"SYS_2358"	}, /* 2358 */
+	{ 0,	0,	printargs,		"SYS_2359"	}, /* 2359 */
+	{ 0,	0,	printargs,		"SYS_2360"	}, /* 2360 */
+	{ 0,	0,	printargs,		"SYS_2361"	}, /* 2361 */
+	{ 0,	0,	printargs,		"SYS_2362"	}, /* 2362 */
+	{ 0,	0,	printargs,		"SYS_2363"	}, /* 2363 */
+	{ 0,	0,	printargs,		"SYS_2364"	}, /* 2364 */
+	{ 0,	0,	printargs,		"SYS_2365"	}, /* 2365 */
+	{ 0,	0,	printargs,		"SYS_2366"	}, /* 2366 */
+	{ 0,	0,	printargs,		"SYS_2367"	}, /* 2367 */
+	{ 0,	0,	printargs,		"SYS_2368"	}, /* 2368 */
+	{ 0,	0,	printargs,		"SYS_2369"	}, /* 2369 */
+	{ 0,	0,	printargs,		"SYS_2370"	}, /* 2370 */
+	{ 0,	0,	printargs,		"SYS_2371"	}, /* 2371 */
+	{ 0,	0,	printargs,		"SYS_2372"	}, /* 2372 */
+	{ 0,	0,	printargs,		"SYS_2373"	}, /* 2373 */
+	{ 0,	0,	printargs,		"SYS_2374"	}, /* 2374 */
+	{ 0,	0,	printargs,		"SYS_2375"	}, /* 2375 */
+	{ 0,	0,	printargs,		"SYS_2376"	}, /* 2376 */
+	{ 0,	0,	printargs,		"SYS_2377"	}, /* 2377 */
+	{ 0,	0,	printargs,		"SYS_2378"	}, /* 2378 */
+	{ 0,	0,	printargs,		"SYS_2379"	}, /* 2379 */
+	{ 0,	0,	printargs,		"SYS_2380"	}, /* 2380 */
+	{ 0,	0,	printargs,		"SYS_2381"	}, /* 2381 */
+	{ 0,	0,	printargs,		"SYS_2382"	}, /* 2382 */
+	{ 0,	0,	printargs,		"SYS_2383"	}, /* 2383 */
+	{ 0,	0,	printargs,		"SYS_2384"	}, /* 2384 */
+	{ 0,	0,	printargs,		"SYS_2385"	}, /* 2385 */
+	{ 0,	0,	printargs,		"SYS_2386"	}, /* 2386 */
+	{ 0,	0,	printargs,		"SYS_2387"	}, /* 2387 */
+	{ 0,	0,	printargs,		"SYS_2388"	}, /* 2388 */
+	{ 0,	0,	printargs,		"SYS_2389"	}, /* 2389 */
+	{ 0,	0,	printargs,		"SYS_2390"	}, /* 2390 */
+	{ 0,	0,	printargs,		"SYS_2391"	}, /* 2391 */
+	{ 0,	0,	printargs,		"SYS_2392"	}, /* 2392 */
+	{ 0,	0,	printargs,		"SYS_2393"	}, /* 2393 */
+	{ 0,	0,	printargs,		"SYS_2394"	}, /* 2394 */
+	{ 0,	0,	printargs,		"SYS_2395"	}, /* 2395 */
+	{ 0,	0,	printargs,		"SYS_2396"	}, /* 2396 */
+	{ 0,	0,	printargs,		"SYS_2397"	}, /* 2397 */
+	{ 0,	0,	printargs,		"SYS_2398"	}, /* 2398 */
+	{ 0,	0,	printargs,		"SYS_2399"	}, /* 2399 */
+	{ 0,	0,	printargs,		"SYS_2400"	}, /* 2400 */
+	{ 0,	0,	printargs,		"SYS_2401"	}, /* 2401 */
+	{ 0,	0,	printargs,		"SYS_2402"	}, /* 2402 */
+	{ 0,	0,	printargs,		"SYS_2403"	}, /* 2403 */
+	{ 0,	0,	printargs,		"SYS_2404"	}, /* 2404 */
+	{ 0,	0,	printargs,		"SYS_2405"	}, /* 2405 */
+	{ 0,	0,	printargs,		"SYS_2406"	}, /* 2406 */
+	{ 0,	0,	printargs,		"SYS_2407"	}, /* 2407 */
+	{ 0,	0,	printargs,		"SYS_2408"	}, /* 2408 */
+	{ 0,	0,	printargs,		"SYS_2409"	}, /* 2409 */
+	{ 0,	0,	printargs,		"SYS_2410"	}, /* 2410 */
+	{ 0,	0,	printargs,		"SYS_2411"	}, /* 2411 */
+	{ 0,	0,	printargs,		"SYS_2412"	}, /* 2412 */
+	{ 0,	0,	printargs,		"SYS_2413"	}, /* 2413 */
+	{ 0,	0,	printargs,		"SYS_2414"	}, /* 2414 */
+	{ 0,	0,	printargs,		"SYS_2415"	}, /* 2415 */
+	{ 0,	0,	printargs,		"SYS_2416"	}, /* 2416 */
+	{ 0,	0,	printargs,		"SYS_2417"	}, /* 2417 */
+	{ 0,	0,	printargs,		"SYS_2418"	}, /* 2418 */
+	{ 0,	0,	printargs,		"SYS_2419"	}, /* 2419 */
+	{ 0,	0,	printargs,		"SYS_2420"	}, /* 2420 */
+	{ 0,	0,	printargs,		"SYS_2421"	}, /* 2421 */
+	{ 0,	0,	printargs,		"SYS_2422"	}, /* 2422 */
+	{ 0,	0,	printargs,		"SYS_2423"	}, /* 2423 */
+	{ 0,	0,	printargs,		"SYS_2424"	}, /* 2424 */
+	{ 0,	0,	printargs,		"SYS_2425"	}, /* 2425 */
+	{ 0,	0,	printargs,		"SYS_2426"	}, /* 2426 */
+	{ 0,	0,	printargs,		"SYS_2427"	}, /* 2427 */
+	{ 0,	0,	printargs,		"SYS_2428"	}, /* 2428 */
+	{ 0,	0,	printargs,		"SYS_2429"	}, /* 2429 */
+	{ 0,	0,	printargs,		"SYS_2430"	}, /* 2430 */
+	{ 0,	0,	printargs,		"SYS_2431"	}, /* 2431 */
+	{ 0,	0,	printargs,		"SYS_2432"	}, /* 2432 */
+	{ 0,	0,	printargs,		"SYS_2433"	}, /* 2433 */
+	{ 0,	0,	printargs,		"SYS_2434"	}, /* 2434 */
+	{ 0,	0,	printargs,		"SYS_2435"	}, /* 2435 */
+	{ 0,	0,	printargs,		"SYS_2436"	}, /* 2436 */
+	{ 0,	0,	printargs,		"SYS_2437"	}, /* 2437 */
+	{ 0,	0,	printargs,		"SYS_2438"	}, /* 2438 */
+	{ 0,	0,	printargs,		"SYS_2439"	}, /* 2439 */
+	{ 0,	0,	printargs,		"SYS_2440"	}, /* 2440 */
+	{ 0,	0,	printargs,		"SYS_2441"	}, /* 2441 */
+	{ 0,	0,	printargs,		"SYS_2442"	}, /* 2442 */
+	{ 0,	0,	printargs,		"SYS_2443"	}, /* 2443 */
+	{ 0,	0,	printargs,		"SYS_2444"	}, /* 2444 */
+	{ 0,	0,	printargs,		"SYS_2445"	}, /* 2445 */
+	{ 0,	0,	printargs,		"SYS_2446"	}, /* 2446 */
+	{ 0,	0,	printargs,		"SYS_2447"	}, /* 2447 */
+	{ 0,	0,	printargs,		"SYS_2448"	}, /* 2448 */
+	{ 0,	0,	printargs,		"SYS_2449"	}, /* 2449 */
+	{ 0,	0,	printargs,		"SYS_2450"	}, /* 2450 */
+	{ 0,	0,	printargs,		"SYS_2451"	}, /* 2451 */
+	{ 0,	0,	printargs,		"SYS_2452"	}, /* 2452 */
+	{ 0,	0,	printargs,		"SYS_2453"	}, /* 2453 */
+	{ 0,	0,	printargs,		"SYS_2454"	}, /* 2454 */
+	{ 0,	0,	printargs,		"SYS_2455"	}, /* 2455 */
+	{ 0,	0,	printargs,		"SYS_2456"	}, /* 2456 */
+	{ 0,	0,	printargs,		"SYS_2457"	}, /* 2457 */
+	{ 0,	0,	printargs,		"SYS_2458"	}, /* 2458 */
+	{ 0,	0,	printargs,		"SYS_2459"	}, /* 2459 */
+	{ 0,	0,	printargs,		"SYS_2460"	}, /* 2460 */
+	{ 0,	0,	printargs,		"SYS_2461"	}, /* 2461 */
+	{ 0,	0,	printargs,		"SYS_2462"	}, /* 2462 */
+	{ 0,	0,	printargs,		"SYS_2463"	}, /* 2463 */
+	{ 0,	0,	printargs,		"SYS_2464"	}, /* 2464 */
+	{ 0,	0,	printargs,		"SYS_2465"	}, /* 2465 */
+	{ 0,	0,	printargs,		"SYS_2466"	}, /* 2466 */
+	{ 0,	0,	printargs,		"SYS_2467"	}, /* 2467 */
+	{ 0,	0,	printargs,		"SYS_2468"	}, /* 2468 */
+	{ 0,	0,	printargs,		"SYS_2469"	}, /* 2469 */
+	{ 0,	0,	printargs,		"SYS_2470"	}, /* 2470 */
+	{ 0,	0,	printargs,		"SYS_2471"	}, /* 2471 */
+	{ 0,	0,	printargs,		"SYS_2472"	}, /* 2472 */
+	{ 0,	0,	printargs,		"SYS_2473"	}, /* 2473 */
+	{ 0,	0,	printargs,		"SYS_2474"	}, /* 2474 */
+	{ 0,	0,	printargs,		"SYS_2475"	}, /* 2475 */
+	{ 0,	0,	printargs,		"SYS_2476"	}, /* 2476 */
+	{ 0,	0,	printargs,		"SYS_2477"	}, /* 2477 */
+	{ 0,	0,	printargs,		"SYS_2478"	}, /* 2478 */
+	{ 0,	0,	printargs,		"SYS_2479"	}, /* 2479 */
+	{ 0,	0,	printargs,		"SYS_2480"	}, /* 2480 */
+	{ 0,	0,	printargs,		"SYS_2481"	}, /* 2481 */
+	{ 0,	0,	printargs,		"SYS_2482"	}, /* 2482 */
+	{ 0,	0,	printargs,		"SYS_2483"	}, /* 2483 */
+	{ 0,	0,	printargs,		"SYS_2484"	}, /* 2484 */
+	{ 0,	0,	printargs,		"SYS_2485"	}, /* 2485 */
+	{ 0,	0,	printargs,		"SYS_2486"	}, /* 2486 */
+	{ 0,	0,	printargs,		"SYS_2487"	}, /* 2487 */
+	{ 0,	0,	printargs,		"SYS_2488"	}, /* 2488 */
+	{ 0,	0,	printargs,		"SYS_2489"	}, /* 2489 */
+	{ 0,	0,	printargs,		"SYS_2490"	}, /* 2490 */
+	{ 0,	0,	printargs,		"SYS_2491"	}, /* 2491 */
+	{ 0,	0,	printargs,		"SYS_2492"	}, /* 2492 */
+	{ 0,	0,	printargs,		"SYS_2493"	}, /* 2493 */
+	{ 0,	0,	printargs,		"SYS_2494"	}, /* 2494 */
+	{ 0,	0,	printargs,		"SYS_2495"	}, /* 2495 */
+	{ 0,	0,	printargs,		"SYS_2496"	}, /* 2496 */
+	{ 0,	0,	printargs,		"SYS_2497"	}, /* 2497 */
+	{ 0,	0,	printargs,		"SYS_2498"	}, /* 2498 */
+	{ 0,	0,	printargs,		"SYS_2499"	}, /* 2499 */
+	{ 0,	0,	printargs,		"SYS_2500"	}, /* 2500 */
+	{ 0,	0,	printargs,		"SYS_2501"	}, /* 2501 */
+	{ 0,	0,	printargs,		"SYS_2502"	}, /* 2502 */
+	{ 0,	0,	printargs,		"SYS_2503"	}, /* 2503 */
+	{ 0,	0,	printargs,		"SYS_2504"	}, /* 2504 */
+	{ 0,	0,	printargs,		"SYS_2505"	}, /* 2505 */
+	{ 0,	0,	printargs,		"SYS_2506"	}, /* 2506 */
+	{ 0,	0,	printargs,		"SYS_2507"	}, /* 2507 */
+	{ 0,	0,	printargs,		"SYS_2508"	}, /* 2508 */
+	{ 0,	0,	printargs,		"SYS_2509"	}, /* 2509 */
+	{ 0,	0,	printargs,		"SYS_2510"	}, /* 2510 */
+	{ 0,	0,	printargs,		"SYS_2511"	}, /* 2511 */
+	{ 0,	0,	printargs,		"SYS_2512"	}, /* 2512 */
+	{ 0,	0,	printargs,		"SYS_2513"	}, /* 2513 */
+	{ 0,	0,	printargs,		"SYS_2514"	}, /* 2514 */
+	{ 0,	0,	printargs,		"SYS_2515"	}, /* 2515 */
+	{ 0,	0,	printargs,		"SYS_2516"	}, /* 2516 */
+	{ 0,	0,	printargs,		"SYS_2517"	}, /* 2517 */
+	{ 0,	0,	printargs,		"SYS_2518"	}, /* 2518 */
+	{ 0,	0,	printargs,		"SYS_2519"	}, /* 2519 */
+	{ 0,	0,	printargs,		"SYS_2520"	}, /* 2520 */
+	{ 0,	0,	printargs,		"SYS_2521"	}, /* 2521 */
+	{ 0,	0,	printargs,		"SYS_2522"	}, /* 2522 */
+	{ 0,	0,	printargs,		"SYS_2523"	}, /* 2523 */
+	{ 0,	0,	printargs,		"SYS_2524"	}, /* 2524 */
+	{ 0,	0,	printargs,		"SYS_2525"	}, /* 2525 */
+	{ 0,	0,	printargs,		"SYS_2526"	}, /* 2526 */
+	{ 0,	0,	printargs,		"SYS_2527"	}, /* 2527 */
+	{ 0,	0,	printargs,		"SYS_2528"	}, /* 2528 */
+	{ 0,	0,	printargs,		"SYS_2529"	}, /* 2529 */
+	{ 0,	0,	printargs,		"SYS_2530"	}, /* 2530 */
+	{ 0,	0,	printargs,		"SYS_2531"	}, /* 2531 */
+	{ 0,	0,	printargs,		"SYS_2532"	}, /* 2532 */
+	{ 0,	0,	printargs,		"SYS_2533"	}, /* 2533 */
+	{ 0,	0,	printargs,		"SYS_2534"	}, /* 2534 */
+	{ 0,	0,	printargs,		"SYS_2535"	}, /* 2535 */
+	{ 0,	0,	printargs,		"SYS_2536"	}, /* 2536 */
+	{ 0,	0,	printargs,		"SYS_2537"	}, /* 2537 */
+	{ 0,	0,	printargs,		"SYS_2538"	}, /* 2538 */
+	{ 0,	0,	printargs,		"SYS_2539"	}, /* 2539 */
+	{ 0,	0,	printargs,		"SYS_2540"	}, /* 2540 */
+	{ 0,	0,	printargs,		"SYS_2541"	}, /* 2541 */
+	{ 0,	0,	printargs,		"SYS_2542"	}, /* 2542 */
+	{ 0,	0,	printargs,		"SYS_2543"	}, /* 2543 */
+	{ 0,	0,	printargs,		"SYS_2544"	}, /* 2544 */
+	{ 0,	0,	printargs,		"SYS_2545"	}, /* 2545 */
+	{ 0,	0,	printargs,		"SYS_2546"	}, /* 2546 */
+	{ 0,	0,	printargs,		"SYS_2547"	}, /* 2547 */
+	{ 0,	0,	printargs,		"SYS_2548"	}, /* 2548 */
+	{ 0,	0,	printargs,		"SYS_2549"	}, /* 2549 */
+	{ 0,	0,	printargs,		"SYS_2550"	}, /* 2550 */
+	{ 0,	0,	printargs,		"SYS_2551"	}, /* 2551 */
+	{ 0,	0,	printargs,		"SYS_2552"	}, /* 2552 */
+	{ 0,	0,	printargs,		"SYS_2553"	}, /* 2553 */
+	{ 0,	0,	printargs,		"SYS_2554"	}, /* 2554 */
+	{ 0,	0,	printargs,		"SYS_2555"	}, /* 2555 */
+	{ 0,	0,	printargs,		"SYS_2556"	}, /* 2556 */
+	{ 0,	0,	printargs,		"SYS_2557"	}, /* 2557 */
+	{ 0,	0,	printargs,		"SYS_2558"	}, /* 2558 */
+	{ 0,	0,	printargs,		"SYS_2559"	}, /* 2559 */
+	{ 0,	0,	printargs,		"SYS_2560"	}, /* 2560 */
+	{ 0,	0,	printargs,		"SYS_2561"	}, /* 2561 */
+	{ 0,	0,	printargs,		"SYS_2562"	}, /* 2562 */
+	{ 0,	0,	printargs,		"SYS_2563"	}, /* 2563 */
+	{ 0,	0,	printargs,		"SYS_2564"	}, /* 2564 */
+	{ 0,	0,	printargs,		"SYS_2565"	}, /* 2565 */
+	{ 0,	0,	printargs,		"SYS_2566"	}, /* 2566 */
+	{ 0,	0,	printargs,		"SYS_2567"	}, /* 2567 */
+	{ 0,	0,	printargs,		"SYS_2568"	}, /* 2568 */
+	{ 0,	0,	printargs,		"SYS_2569"	}, /* 2569 */
+	{ 0,	0,	printargs,		"SYS_2570"	}, /* 2570 */
+	{ 0,	0,	printargs,		"SYS_2571"	}, /* 2571 */
+	{ 0,	0,	printargs,		"SYS_2572"	}, /* 2572 */
+	{ 0,	0,	printargs,		"SYS_2573"	}, /* 2573 */
+	{ 0,	0,	printargs,		"SYS_2574"	}, /* 2574 */
+	{ 0,	0,	printargs,		"SYS_2575"	}, /* 2575 */
+	{ 0,	0,	printargs,		"SYS_2576"	}, /* 2576 */
+	{ 0,	0,	printargs,		"SYS_2577"	}, /* 2577 */
+	{ 0,	0,	printargs,		"SYS_2578"	}, /* 2578 */
+	{ 0,	0,	printargs,		"SYS_2579"	}, /* 2579 */
+	{ 0,	0,	printargs,		"SYS_2580"	}, /* 2580 */
+	{ 0,	0,	printargs,		"SYS_2581"	}, /* 2581 */
+	{ 0,	0,	printargs,		"SYS_2582"	}, /* 2582 */
+	{ 0,	0,	printargs,		"SYS_2583"	}, /* 2583 */
+	{ 0,	0,	printargs,		"SYS_2584"	}, /* 2584 */
+	{ 0,	0,	printargs,		"SYS_2585"	}, /* 2585 */
+	{ 0,	0,	printargs,		"SYS_2586"	}, /* 2586 */
+	{ 0,	0,	printargs,		"SYS_2587"	}, /* 2587 */
+	{ 0,	0,	printargs,		"SYS_2588"	}, /* 2588 */
+	{ 0,	0,	printargs,		"SYS_2589"	}, /* 2589 */
+	{ 0,	0,	printargs,		"SYS_2590"	}, /* 2590 */
+	{ 0,	0,	printargs,		"SYS_2591"	}, /* 2591 */
+	{ 0,	0,	printargs,		"SYS_2592"	}, /* 2592 */
+	{ 0,	0,	printargs,		"SYS_2593"	}, /* 2593 */
+	{ 0,	0,	printargs,		"SYS_2594"	}, /* 2594 */
+	{ 0,	0,	printargs,		"SYS_2595"	}, /* 2595 */
+	{ 0,	0,	printargs,		"SYS_2596"	}, /* 2596 */
+	{ 0,	0,	printargs,		"SYS_2597"	}, /* 2597 */
+	{ 0,	0,	printargs,		"SYS_2598"	}, /* 2598 */
+	{ 0,	0,	printargs,		"SYS_2599"	}, /* 2599 */
+	{ 0,	0,	printargs,		"SYS_2600"	}, /* 2600 */
+	{ 0,	0,	printargs,		"SYS_2601"	}, /* 2601 */
+	{ 0,	0,	printargs,		"SYS_2602"	}, /* 2602 */
+	{ 0,	0,	printargs,		"SYS_2603"	}, /* 2603 */
+	{ 0,	0,	printargs,		"SYS_2604"	}, /* 2604 */
+	{ 0,	0,	printargs,		"SYS_2605"	}, /* 2605 */
+	{ 0,	0,	printargs,		"SYS_2606"	}, /* 2606 */
+	{ 0,	0,	printargs,		"SYS_2607"	}, /* 2607 */
+	{ 0,	0,	printargs,		"SYS_2608"	}, /* 2608 */
+	{ 0,	0,	printargs,		"SYS_2609"	}, /* 2609 */
+	{ 0,	0,	printargs,		"SYS_2610"	}, /* 2610 */
+	{ 0,	0,	printargs,		"SYS_2611"	}, /* 2611 */
+	{ 0,	0,	printargs,		"SYS_2612"	}, /* 2612 */
+	{ 0,	0,	printargs,		"SYS_2613"	}, /* 2613 */
+	{ 0,	0,	printargs,		"SYS_2614"	}, /* 2614 */
+	{ 0,	0,	printargs,		"SYS_2615"	}, /* 2615 */
+	{ 0,	0,	printargs,		"SYS_2616"	}, /* 2616 */
+	{ 0,	0,	printargs,		"SYS_2617"	}, /* 2617 */
+	{ 0,	0,	printargs,		"SYS_2618"	}, /* 2618 */
+	{ 0,	0,	printargs,		"SYS_2619"	}, /* 2619 */
+	{ 0,	0,	printargs,		"SYS_2620"	}, /* 2620 */
+	{ 0,	0,	printargs,		"SYS_2621"	}, /* 2621 */
+	{ 0,	0,	printargs,		"SYS_2622"	}, /* 2622 */
+	{ 0,	0,	printargs,		"SYS_2623"	}, /* 2623 */
+	{ 0,	0,	printargs,		"SYS_2624"	}, /* 2624 */
+	{ 0,	0,	printargs,		"SYS_2625"	}, /* 2625 */
+	{ 0,	0,	printargs,		"SYS_2626"	}, /* 2626 */
+	{ 0,	0,	printargs,		"SYS_2627"	}, /* 2627 */
+	{ 0,	0,	printargs,		"SYS_2628"	}, /* 2628 */
+	{ 0,	0,	printargs,		"SYS_2629"	}, /* 2629 */
+	{ 0,	0,	printargs,		"SYS_2630"	}, /* 2630 */
+	{ 0,	0,	printargs,		"SYS_2631"	}, /* 2631 */
+	{ 0,	0,	printargs,		"SYS_2632"	}, /* 2632 */
+	{ 0,	0,	printargs,		"SYS_2633"	}, /* 2633 */
+	{ 0,	0,	printargs,		"SYS_2634"	}, /* 2634 */
+	{ 0,	0,	printargs,		"SYS_2635"	}, /* 2635 */
+	{ 0,	0,	printargs,		"SYS_2636"	}, /* 2636 */
+	{ 0,	0,	printargs,		"SYS_2637"	}, /* 2637 */
+	{ 0,	0,	printargs,		"SYS_2638"	}, /* 2638 */
+	{ 0,	0,	printargs,		"SYS_2639"	}, /* 2639 */
+	{ 0,	0,	printargs,		"SYS_2640"	}, /* 2640 */
+	{ 0,	0,	printargs,		"SYS_2641"	}, /* 2641 */
+	{ 0,	0,	printargs,		"SYS_2642"	}, /* 2642 */
+	{ 0,	0,	printargs,		"SYS_2643"	}, /* 2643 */
+	{ 0,	0,	printargs,		"SYS_2644"	}, /* 2644 */
+	{ 0,	0,	printargs,		"SYS_2645"	}, /* 2645 */
+	{ 0,	0,	printargs,		"SYS_2646"	}, /* 2646 */
+	{ 0,	0,	printargs,		"SYS_2647"	}, /* 2647 */
+	{ 0,	0,	printargs,		"SYS_2648"	}, /* 2648 */
+	{ 0,	0,	printargs,		"SYS_2649"	}, /* 2649 */
+	{ 0,	0,	printargs,		"SYS_2650"	}, /* 2650 */
+	{ 0,	0,	printargs,		"SYS_2651"	}, /* 2651 */
+	{ 0,	0,	printargs,		"SYS_2652"	}, /* 2652 */
+	{ 0,	0,	printargs,		"SYS_2653"	}, /* 2653 */
+	{ 0,	0,	printargs,		"SYS_2654"	}, /* 2654 */
+	{ 0,	0,	printargs,		"SYS_2655"	}, /* 2655 */
+	{ 0,	0,	printargs,		"SYS_2656"	}, /* 2656 */
+	{ 0,	0,	printargs,		"SYS_2657"	}, /* 2657 */
+	{ 0,	0,	printargs,		"SYS_2658"	}, /* 2658 */
+	{ 0,	0,	printargs,		"SYS_2659"	}, /* 2659 */
+	{ 0,	0,	printargs,		"SYS_2660"	}, /* 2660 */
+	{ 0,	0,	printargs,		"SYS_2661"	}, /* 2661 */
+	{ 0,	0,	printargs,		"SYS_2662"	}, /* 2662 */
+	{ 0,	0,	printargs,		"SYS_2663"	}, /* 2663 */
+	{ 0,	0,	printargs,		"SYS_2664"	}, /* 2664 */
+	{ 0,	0,	printargs,		"SYS_2665"	}, /* 2665 */
+	{ 0,	0,	printargs,		"SYS_2666"	}, /* 2666 */
+	{ 0,	0,	printargs,		"SYS_2667"	}, /* 2667 */
+	{ 0,	0,	printargs,		"SYS_2668"	}, /* 2668 */
+	{ 0,	0,	printargs,		"SYS_2669"	}, /* 2669 */
+	{ 0,	0,	printargs,		"SYS_2670"	}, /* 2670 */
+	{ 0,	0,	printargs,		"SYS_2671"	}, /* 2671 */
+	{ 0,	0,	printargs,		"SYS_2672"	}, /* 2672 */
+	{ 0,	0,	printargs,		"SYS_2673"	}, /* 2673 */
+	{ 0,	0,	printargs,		"SYS_2674"	}, /* 2674 */
+	{ 0,	0,	printargs,		"SYS_2675"	}, /* 2675 */
+	{ 0,	0,	printargs,		"SYS_2676"	}, /* 2676 */
+	{ 0,	0,	printargs,		"SYS_2677"	}, /* 2677 */
+	{ 0,	0,	printargs,		"SYS_2678"	}, /* 2678 */
+	{ 0,	0,	printargs,		"SYS_2679"	}, /* 2679 */
+	{ 0,	0,	printargs,		"SYS_2680"	}, /* 2680 */
+	{ 0,	0,	printargs,		"SYS_2681"	}, /* 2681 */
+	{ 0,	0,	printargs,		"SYS_2682"	}, /* 2682 */
+	{ 0,	0,	printargs,		"SYS_2683"	}, /* 2683 */
+	{ 0,	0,	printargs,		"SYS_2684"	}, /* 2684 */
+	{ 0,	0,	printargs,		"SYS_2685"	}, /* 2685 */
+	{ 0,	0,	printargs,		"SYS_2686"	}, /* 2686 */
+	{ 0,	0,	printargs,		"SYS_2687"	}, /* 2687 */
+	{ 0,	0,	printargs,		"SYS_2688"	}, /* 2688 */
+	{ 0,	0,	printargs,		"SYS_2689"	}, /* 2689 */
+	{ 0,	0,	printargs,		"SYS_2690"	}, /* 2690 */
+	{ 0,	0,	printargs,		"SYS_2691"	}, /* 2691 */
+	{ 0,	0,	printargs,		"SYS_2692"	}, /* 2692 */
+	{ 0,	0,	printargs,		"SYS_2693"	}, /* 2693 */
+	{ 0,	0,	printargs,		"SYS_2694"	}, /* 2694 */
+	{ 0,	0,	printargs,		"SYS_2695"	}, /* 2695 */
+	{ 0,	0,	printargs,		"SYS_2696"	}, /* 2696 */
+	{ 0,	0,	printargs,		"SYS_2697"	}, /* 2697 */
+	{ 0,	0,	printargs,		"SYS_2698"	}, /* 2698 */
+	{ 0,	0,	printargs,		"SYS_2699"	}, /* 2699 */
+	{ 0,	0,	printargs,		"SYS_2700"	}, /* 2700 */
+	{ 0,	0,	printargs,		"SYS_2701"	}, /* 2701 */
+	{ 0,	0,	printargs,		"SYS_2702"	}, /* 2702 */
+	{ 0,	0,	printargs,		"SYS_2703"	}, /* 2703 */
+	{ 0,	0,	printargs,		"SYS_2704"	}, /* 2704 */
+	{ 0,	0,	printargs,		"SYS_2705"	}, /* 2705 */
+	{ 0,	0,	printargs,		"SYS_2706"	}, /* 2706 */
+	{ 0,	0,	printargs,		"SYS_2707"	}, /* 2707 */
+	{ 0,	0,	printargs,		"SYS_2708"	}, /* 2708 */
+	{ 0,	0,	printargs,		"SYS_2709"	}, /* 2709 */
+	{ 0,	0,	printargs,		"SYS_2710"	}, /* 2710 */
+	{ 0,	0,	printargs,		"SYS_2711"	}, /* 2711 */
+	{ 0,	0,	printargs,		"SYS_2712"	}, /* 2712 */
+	{ 0,	0,	printargs,		"SYS_2713"	}, /* 2713 */
+	{ 0,	0,	printargs,		"SYS_2714"	}, /* 2714 */
+	{ 0,	0,	printargs,		"SYS_2715"	}, /* 2715 */
+	{ 0,	0,	printargs,		"SYS_2716"	}, /* 2716 */
+	{ 0,	0,	printargs,		"SYS_2717"	}, /* 2717 */
+	{ 0,	0,	printargs,		"SYS_2718"	}, /* 2718 */
+	{ 0,	0,	printargs,		"SYS_2719"	}, /* 2719 */
+	{ 0,	0,	printargs,		"SYS_2720"	}, /* 2720 */
+	{ 0,	0,	printargs,		"SYS_2721"	}, /* 2721 */
+	{ 0,	0,	printargs,		"SYS_2722"	}, /* 2722 */
+	{ 0,	0,	printargs,		"SYS_2723"	}, /* 2723 */
+	{ 0,	0,	printargs,		"SYS_2724"	}, /* 2724 */
+	{ 0,	0,	printargs,		"SYS_2725"	}, /* 2725 */
+	{ 0,	0,	printargs,		"SYS_2726"	}, /* 2726 */
+	{ 0,	0,	printargs,		"SYS_2727"	}, /* 2727 */
+	{ 0,	0,	printargs,		"SYS_2728"	}, /* 2728 */
+	{ 0,	0,	printargs,		"SYS_2729"	}, /* 2729 */
+	{ 0,	0,	printargs,		"SYS_2730"	}, /* 2730 */
+	{ 0,	0,	printargs,		"SYS_2731"	}, /* 2731 */
+	{ 0,	0,	printargs,		"SYS_2732"	}, /* 2732 */
+	{ 0,	0,	printargs,		"SYS_2733"	}, /* 2733 */
+	{ 0,	0,	printargs,		"SYS_2734"	}, /* 2734 */
+	{ 0,	0,	printargs,		"SYS_2735"	}, /* 2735 */
+	{ 0,	0,	printargs,		"SYS_2736"	}, /* 2736 */
+	{ 0,	0,	printargs,		"SYS_2737"	}, /* 2737 */
+	{ 0,	0,	printargs,		"SYS_2738"	}, /* 2738 */
+	{ 0,	0,	printargs,		"SYS_2739"	}, /* 2739 */
+	{ 0,	0,	printargs,		"SYS_2740"	}, /* 2740 */
+	{ 0,	0,	printargs,		"SYS_2741"	}, /* 2741 */
+	{ 0,	0,	printargs,		"SYS_2742"	}, /* 2742 */
+	{ 0,	0,	printargs,		"SYS_2743"	}, /* 2743 */
+	{ 0,	0,	printargs,		"SYS_2744"	}, /* 2744 */
+	{ 0,	0,	printargs,		"SYS_2745"	}, /* 2745 */
+	{ 0,	0,	printargs,		"SYS_2746"	}, /* 2746 */
+	{ 0,	0,	printargs,		"SYS_2747"	}, /* 2747 */
+	{ 0,	0,	printargs,		"SYS_2748"	}, /* 2748 */
+	{ 0,	0,	printargs,		"SYS_2749"	}, /* 2749 */
+	{ 0,	0,	printargs,		"SYS_2750"	}, /* 2750 */
+	{ 0,	0,	printargs,		"SYS_2751"	}, /* 2751 */
+	{ 0,	0,	printargs,		"SYS_2752"	}, /* 2752 */
+	{ 0,	0,	printargs,		"SYS_2753"	}, /* 2753 */
+	{ 0,	0,	printargs,		"SYS_2754"	}, /* 2754 */
+	{ 0,	0,	printargs,		"SYS_2755"	}, /* 2755 */
+	{ 0,	0,	printargs,		"SYS_2756"	}, /* 2756 */
+	{ 0,	0,	printargs,		"SYS_2757"	}, /* 2757 */
+	{ 0,	0,	printargs,		"SYS_2758"	}, /* 2758 */
+	{ 0,	0,	printargs,		"SYS_2759"	}, /* 2759 */
+	{ 0,	0,	printargs,		"SYS_2760"	}, /* 2760 */
+	{ 0,	0,	printargs,		"SYS_2761"	}, /* 2761 */
+	{ 0,	0,	printargs,		"SYS_2762"	}, /* 2762 */
+	{ 0,	0,	printargs,		"SYS_2763"	}, /* 2763 */
+	{ 0,	0,	printargs,		"SYS_2764"	}, /* 2764 */
+	{ 0,	0,	printargs,		"SYS_2765"	}, /* 2765 */
+	{ 0,	0,	printargs,		"SYS_2766"	}, /* 2766 */
+	{ 0,	0,	printargs,		"SYS_2767"	}, /* 2767 */
+	{ 0,	0,	printargs,		"SYS_2768"	}, /* 2768 */
+	{ 0,	0,	printargs,		"SYS_2769"	}, /* 2769 */
+	{ 0,	0,	printargs,		"SYS_2770"	}, /* 2770 */
+	{ 0,	0,	printargs,		"SYS_2771"	}, /* 2771 */
+	{ 0,	0,	printargs,		"SYS_2772"	}, /* 2772 */
+	{ 0,	0,	printargs,		"SYS_2773"	}, /* 2773 */
+	{ 0,	0,	printargs,		"SYS_2774"	}, /* 2774 */
+	{ 0,	0,	printargs,		"SYS_2775"	}, /* 2775 */
+	{ 0,	0,	printargs,		"SYS_2776"	}, /* 2776 */
+	{ 0,	0,	printargs,		"SYS_2777"	}, /* 2777 */
+	{ 0,	0,	printargs,		"SYS_2778"	}, /* 2778 */
+	{ 0,	0,	printargs,		"SYS_2779"	}, /* 2779 */
+	{ 0,	0,	printargs,		"SYS_2780"	}, /* 2780 */
+	{ 0,	0,	printargs,		"SYS_2781"	}, /* 2781 */
+	{ 0,	0,	printargs,		"SYS_2782"	}, /* 2782 */
+	{ 0,	0,	printargs,		"SYS_2783"	}, /* 2783 */
+	{ 0,	0,	printargs,		"SYS_2784"	}, /* 2784 */
+	{ 0,	0,	printargs,		"SYS_2785"	}, /* 2785 */
+	{ 0,	0,	printargs,		"SYS_2786"	}, /* 2786 */
+	{ 0,	0,	printargs,		"SYS_2787"	}, /* 2787 */
+	{ 0,	0,	printargs,		"SYS_2788"	}, /* 2788 */
+	{ 0,	0,	printargs,		"SYS_2789"	}, /* 2789 */
+	{ 0,	0,	printargs,		"SYS_2790"	}, /* 2790 */
+	{ 0,	0,	printargs,		"SYS_2791"	}, /* 2791 */
+	{ 0,	0,	printargs,		"SYS_2792"	}, /* 2792 */
+	{ 0,	0,	printargs,		"SYS_2793"	}, /* 2793 */
+	{ 0,	0,	printargs,		"SYS_2794"	}, /* 2794 */
+	{ 0,	0,	printargs,		"SYS_2795"	}, /* 2795 */
+	{ 0,	0,	printargs,		"SYS_2796"	}, /* 2796 */
+	{ 0,	0,	printargs,		"SYS_2797"	}, /* 2797 */
+	{ 0,	0,	printargs,		"SYS_2798"	}, /* 2798 */
+	{ 0,	0,	printargs,		"SYS_2799"	}, /* 2799 */
+	{ 0,	0,	printargs,		"SYS_2800"	}, /* 2800 */
+	{ 0,	0,	printargs,		"SYS_2801"	}, /* 2801 */
+	{ 0,	0,	printargs,		"SYS_2802"	}, /* 2802 */
+	{ 0,	0,	printargs,		"SYS_2803"	}, /* 2803 */
+	{ 0,	0,	printargs,		"SYS_2804"	}, /* 2804 */
+	{ 0,	0,	printargs,		"SYS_2805"	}, /* 2805 */
+	{ 0,	0,	printargs,		"SYS_2806"	}, /* 2806 */
+	{ 0,	0,	printargs,		"SYS_2807"	}, /* 2807 */
+	{ 0,	0,	printargs,		"SYS_2808"	}, /* 2808 */
+	{ 0,	0,	printargs,		"SYS_2809"	}, /* 2809 */
+	{ 0,	0,	printargs,		"SYS_2810"	}, /* 2810 */
+	{ 0,	0,	printargs,		"SYS_2811"	}, /* 2811 */
+	{ 0,	0,	printargs,		"SYS_2812"	}, /* 2812 */
+	{ 0,	0,	printargs,		"SYS_2813"	}, /* 2813 */
+	{ 0,	0,	printargs,		"SYS_2814"	}, /* 2814 */
+	{ 0,	0,	printargs,		"SYS_2815"	}, /* 2815 */
+	{ 0,	0,	printargs,		"SYS_2816"	}, /* 2816 */
+	{ 0,	0,	printargs,		"SYS_2817"	}, /* 2817 */
+	{ 0,	0,	printargs,		"SYS_2818"	}, /* 2818 */
+	{ 0,	0,	printargs,		"SYS_2819"	}, /* 2819 */
+	{ 0,	0,	printargs,		"SYS_2820"	}, /* 2820 */
+	{ 0,	0,	printargs,		"SYS_2821"	}, /* 2821 */
+	{ 0,	0,	printargs,		"SYS_2822"	}, /* 2822 */
+	{ 0,	0,	printargs,		"SYS_2823"	}, /* 2823 */
+	{ 0,	0,	printargs,		"SYS_2824"	}, /* 2824 */
+	{ 0,	0,	printargs,		"SYS_2825"	}, /* 2825 */
+	{ 0,	0,	printargs,		"SYS_2826"	}, /* 2826 */
+	{ 0,	0,	printargs,		"SYS_2827"	}, /* 2827 */
+	{ 0,	0,	printargs,		"SYS_2828"	}, /* 2828 */
+	{ 0,	0,	printargs,		"SYS_2829"	}, /* 2829 */
+	{ 0,	0,	printargs,		"SYS_2830"	}, /* 2830 */
+	{ 0,	0,	printargs,		"SYS_2831"	}, /* 2831 */
+	{ 0,	0,	printargs,		"SYS_2832"	}, /* 2832 */
+	{ 0,	0,	printargs,		"SYS_2833"	}, /* 2833 */
+	{ 0,	0,	printargs,		"SYS_2834"	}, /* 2834 */
+	{ 0,	0,	printargs,		"SYS_2835"	}, /* 2835 */
+	{ 0,	0,	printargs,		"SYS_2836"	}, /* 2836 */
+	{ 0,	0,	printargs,		"SYS_2837"	}, /* 2837 */
+	{ 0,	0,	printargs,		"SYS_2838"	}, /* 2838 */
+	{ 0,	0,	printargs,		"SYS_2839"	}, /* 2839 */
+	{ 0,	0,	printargs,		"SYS_2840"	}, /* 2840 */
+	{ 0,	0,	printargs,		"SYS_2841"	}, /* 2841 */
+	{ 0,	0,	printargs,		"SYS_2842"	}, /* 2842 */
+	{ 0,	0,	printargs,		"SYS_2843"	}, /* 2843 */
+	{ 0,	0,	printargs,		"SYS_2844"	}, /* 2844 */
+	{ 0,	0,	printargs,		"SYS_2845"	}, /* 2845 */
+	{ 0,	0,	printargs,		"SYS_2846"	}, /* 2846 */
+	{ 0,	0,	printargs,		"SYS_2847"	}, /* 2847 */
+	{ 0,	0,	printargs,		"SYS_2848"	}, /* 2848 */
+	{ 0,	0,	printargs,		"SYS_2849"	}, /* 2849 */
+	{ 0,	0,	printargs,		"SYS_2850"	}, /* 2850 */
+	{ 0,	0,	printargs,		"SYS_2851"	}, /* 2851 */
+	{ 0,	0,	printargs,		"SYS_2852"	}, /* 2852 */
+	{ 0,	0,	printargs,		"SYS_2853"	}, /* 2853 */
+	{ 0,	0,	printargs,		"SYS_2854"	}, /* 2854 */
+	{ 0,	0,	printargs,		"SYS_2855"	}, /* 2855 */
+	{ 0,	0,	printargs,		"SYS_2856"	}, /* 2856 */
+	{ 0,	0,	printargs,		"SYS_2857"	}, /* 2857 */
+	{ 0,	0,	printargs,		"SYS_2858"	}, /* 2858 */
+	{ 0,	0,	printargs,		"SYS_2859"	}, /* 2859 */
+	{ 0,	0,	printargs,		"SYS_2860"	}, /* 2860 */
+	{ 0,	0,	printargs,		"SYS_2861"	}, /* 2861 */
+	{ 0,	0,	printargs,		"SYS_2862"	}, /* 2862 */
+	{ 0,	0,	printargs,		"SYS_2863"	}, /* 2863 */
+	{ 0,	0,	printargs,		"SYS_2864"	}, /* 2864 */
+	{ 0,	0,	printargs,		"SYS_2865"	}, /* 2865 */
+	{ 0,	0,	printargs,		"SYS_2866"	}, /* 2866 */
+	{ 0,	0,	printargs,		"SYS_2867"	}, /* 2867 */
+	{ 0,	0,	printargs,		"SYS_2868"	}, /* 2868 */
+	{ 0,	0,	printargs,		"SYS_2869"	}, /* 2869 */
+	{ 0,	0,	printargs,		"SYS_2870"	}, /* 2870 */
+	{ 0,	0,	printargs,		"SYS_2871"	}, /* 2871 */
+	{ 0,	0,	printargs,		"SYS_2872"	}, /* 2872 */
+	{ 0,	0,	printargs,		"SYS_2873"	}, /* 2873 */
+	{ 0,	0,	printargs,		"SYS_2874"	}, /* 2874 */
+	{ 0,	0,	printargs,		"SYS_2875"	}, /* 2875 */
+	{ 0,	0,	printargs,		"SYS_2876"	}, /* 2876 */
+	{ 0,	0,	printargs,		"SYS_2877"	}, /* 2877 */
+	{ 0,	0,	printargs,		"SYS_2878"	}, /* 2878 */
+	{ 0,	0,	printargs,		"SYS_2879"	}, /* 2879 */
+	{ 0,	0,	printargs,		"SYS_2880"	}, /* 2880 */
+	{ 0,	0,	printargs,		"SYS_2881"	}, /* 2881 */
+	{ 0,	0,	printargs,		"SYS_2882"	}, /* 2882 */
+	{ 0,	0,	printargs,		"SYS_2883"	}, /* 2883 */
+	{ 0,	0,	printargs,		"SYS_2884"	}, /* 2884 */
+	{ 0,	0,	printargs,		"SYS_2885"	}, /* 2885 */
+	{ 0,	0,	printargs,		"SYS_2886"	}, /* 2886 */
+	{ 0,	0,	printargs,		"SYS_2887"	}, /* 2887 */
+	{ 0,	0,	printargs,		"SYS_2888"	}, /* 2888 */
+	{ 0,	0,	printargs,		"SYS_2889"	}, /* 2889 */
+	{ 0,	0,	printargs,		"SYS_2890"	}, /* 2890 */
+	{ 0,	0,	printargs,		"SYS_2891"	}, /* 2891 */
+	{ 0,	0,	printargs,		"SYS_2892"	}, /* 2892 */
+	{ 0,	0,	printargs,		"SYS_2893"	}, /* 2893 */
+	{ 0,	0,	printargs,		"SYS_2894"	}, /* 2894 */
+	{ 0,	0,	printargs,		"SYS_2895"	}, /* 2895 */
+	{ 0,	0,	printargs,		"SYS_2896"	}, /* 2896 */
+	{ 0,	0,	printargs,		"SYS_2897"	}, /* 2897 */
+	{ 0,	0,	printargs,		"SYS_2898"	}, /* 2898 */
+	{ 0,	0,	printargs,		"SYS_2899"	}, /* 2899 */
+	{ 0,	0,	printargs,		"SYS_2900"	}, /* 2900 */
+	{ 0,	0,	printargs,		"SYS_2901"	}, /* 2901 */
+	{ 0,	0,	printargs,		"SYS_2902"	}, /* 2902 */
+	{ 0,	0,	printargs,		"SYS_2903"	}, /* 2903 */
+	{ 0,	0,	printargs,		"SYS_2904"	}, /* 2904 */
+	{ 0,	0,	printargs,		"SYS_2905"	}, /* 2905 */
+	{ 0,	0,	printargs,		"SYS_2906"	}, /* 2906 */
+	{ 0,	0,	printargs,		"SYS_2907"	}, /* 2907 */
+	{ 0,	0,	printargs,		"SYS_2908"	}, /* 2908 */
+	{ 0,	0,	printargs,		"SYS_2909"	}, /* 2909 */
+	{ 0,	0,	printargs,		"SYS_2910"	}, /* 2910 */
+	{ 0,	0,	printargs,		"SYS_2911"	}, /* 2911 */
+	{ 0,	0,	printargs,		"SYS_2912"	}, /* 2912 */
+	{ 0,	0,	printargs,		"SYS_2913"	}, /* 2913 */
+	{ 0,	0,	printargs,		"SYS_2914"	}, /* 2914 */
+	{ 0,	0,	printargs,		"SYS_2915"	}, /* 2915 */
+	{ 0,	0,	printargs,		"SYS_2916"	}, /* 2916 */
+	{ 0,	0,	printargs,		"SYS_2917"	}, /* 2917 */
+	{ 0,	0,	printargs,		"SYS_2918"	}, /* 2918 */
+	{ 0,	0,	printargs,		"SYS_2919"	}, /* 2919 */
+	{ 0,	0,	printargs,		"SYS_2920"	}, /* 2920 */
+	{ 0,	0,	printargs,		"SYS_2921"	}, /* 2921 */
+	{ 0,	0,	printargs,		"SYS_2922"	}, /* 2922 */
+	{ 0,	0,	printargs,		"SYS_2923"	}, /* 2923 */
+	{ 0,	0,	printargs,		"SYS_2924"	}, /* 2924 */
+	{ 0,	0,	printargs,		"SYS_2925"	}, /* 2925 */
+	{ 0,	0,	printargs,		"SYS_2926"	}, /* 2926 */
+	{ 0,	0,	printargs,		"SYS_2927"	}, /* 2927 */
+	{ 0,	0,	printargs,		"SYS_2928"	}, /* 2928 */
+	{ 0,	0,	printargs,		"SYS_2929"	}, /* 2929 */
+	{ 0,	0,	printargs,		"SYS_2930"	}, /* 2930 */
+	{ 0,	0,	printargs,		"SYS_2931"	}, /* 2931 */
+	{ 0,	0,	printargs,		"SYS_2932"	}, /* 2932 */
+	{ 0,	0,	printargs,		"SYS_2933"	}, /* 2933 */
+	{ 0,	0,	printargs,		"SYS_2934"	}, /* 2934 */
+	{ 0,	0,	printargs,		"SYS_2935"	}, /* 2935 */
+	{ 0,	0,	printargs,		"SYS_2936"	}, /* 2936 */
+	{ 0,	0,	printargs,		"SYS_2937"	}, /* 2937 */
+	{ 0,	0,	printargs,		"SYS_2938"	}, /* 2938 */
+	{ 0,	0,	printargs,		"SYS_2939"	}, /* 2939 */
+	{ 0,	0,	printargs,		"SYS_2940"	}, /* 2940 */
+	{ 0,	0,	printargs,		"SYS_2941"	}, /* 2941 */
+	{ 0,	0,	printargs,		"SYS_2942"	}, /* 2942 */
+	{ 0,	0,	printargs,		"SYS_2943"	}, /* 2943 */
+	{ 0,	0,	printargs,		"SYS_2944"	}, /* 2944 */
+	{ 0,	0,	printargs,		"SYS_2945"	}, /* 2945 */
+	{ 0,	0,	printargs,		"SYS_2946"	}, /* 2946 */
+	{ 0,	0,	printargs,		"SYS_2947"	}, /* 2947 */
+	{ 0,	0,	printargs,		"SYS_2948"	}, /* 2948 */
+	{ 0,	0,	printargs,		"SYS_2949"	}, /* 2949 */
+	{ 0,	0,	printargs,		"SYS_2950"	}, /* 2950 */
+	{ 0,	0,	printargs,		"SYS_2951"	}, /* 2951 */
+	{ 0,	0,	printargs,		"SYS_2952"	}, /* 2952 */
+	{ 0,	0,	printargs,		"SYS_2953"	}, /* 2953 */
+	{ 0,	0,	printargs,		"SYS_2954"	}, /* 2954 */
+	{ 0,	0,	printargs,		"SYS_2955"	}, /* 2955 */
+	{ 0,	0,	printargs,		"SYS_2956"	}, /* 2956 */
+	{ 0,	0,	printargs,		"SYS_2957"	}, /* 2957 */
+	{ 0,	0,	printargs,		"SYS_2958"	}, /* 2958 */
+	{ 0,	0,	printargs,		"SYS_2959"	}, /* 2959 */
+	{ 0,	0,	printargs,		"SYS_2960"	}, /* 2960 */
+	{ 0,	0,	printargs,		"SYS_2961"	}, /* 2961 */
+	{ 0,	0,	printargs,		"SYS_2962"	}, /* 2962 */
+	{ 0,	0,	printargs,		"SYS_2963"	}, /* 2963 */
+	{ 0,	0,	printargs,		"SYS_2964"	}, /* 2964 */
+	{ 0,	0,	printargs,		"SYS_2965"	}, /* 2965 */
+	{ 0,	0,	printargs,		"SYS_2966"	}, /* 2966 */
+	{ 0,	0,	printargs,		"SYS_2967"	}, /* 2967 */
+	{ 0,	0,	printargs,		"SYS_2968"	}, /* 2968 */
+	{ 0,	0,	printargs,		"SYS_2969"	}, /* 2969 */
+	{ 0,	0,	printargs,		"SYS_2970"	}, /* 2970 */
+	{ 0,	0,	printargs,		"SYS_2971"	}, /* 2971 */
+	{ 0,	0,	printargs,		"SYS_2972"	}, /* 2972 */
+	{ 0,	0,	printargs,		"SYS_2973"	}, /* 2973 */
+	{ 0,	0,	printargs,		"SYS_2974"	}, /* 2974 */
+	{ 0,	0,	printargs,		"SYS_2975"	}, /* 2975 */
+	{ 0,	0,	printargs,		"SYS_2976"	}, /* 2976 */
+	{ 0,	0,	printargs,		"SYS_2977"	}, /* 2977 */
+	{ 0,	0,	printargs,		"SYS_2978"	}, /* 2978 */
+	{ 0,	0,	printargs,		"SYS_2979"	}, /* 2979 */
+	{ 0,	0,	printargs,		"SYS_2980"	}, /* 2980 */
+	{ 0,	0,	printargs,		"SYS_2981"	}, /* 2981 */
+	{ 0,	0,	printargs,		"SYS_2982"	}, /* 2982 */
+	{ 0,	0,	printargs,		"SYS_2983"	}, /* 2983 */
+	{ 0,	0,	printargs,		"SYS_2984"	}, /* 2984 */
+	{ 0,	0,	printargs,		"SYS_2985"	}, /* 2985 */
+	{ 0,	0,	printargs,		"SYS_2986"	}, /* 2986 */
+	{ 0,	0,	printargs,		"SYS_2987"	}, /* 2987 */
+	{ 0,	0,	printargs,		"SYS_2988"	}, /* 2988 */
+	{ 0,	0,	printargs,		"SYS_2989"	}, /* 2989 */
+	{ 0,	0,	printargs,		"SYS_2990"	}, /* 2990 */
+	{ 0,	0,	printargs,		"SYS_2991"	}, /* 2991 */
+	{ 0,	0,	printargs,		"SYS_2992"	}, /* 2992 */
+	{ 0,	0,	printargs,		"SYS_2993"	}, /* 2993 */
+	{ 0,	0,	printargs,		"SYS_2994"	}, /* 2994 */
+	{ 0,	0,	printargs,		"SYS_2995"	}, /* 2995 */
+	{ 0,	0,	printargs,		"SYS_2996"	}, /* 2996 */
+	{ 0,	0,	printargs,		"SYS_2997"	}, /* 2997 */
+	{ 0,	0,	printargs,		"SYS_2998"	}, /* 2998 */
+	{ 0,	0,	printargs,		"SYS_2999"	}, /* 2999 */ /* end of BSD 4.3 */
+	{ 0,	0,	printargs,		"posix_syscall"	}, /* 3000 */ /* start of POSIX */
+	{ 0,	0,	printargs,		"posix_exit"	}, /* 3001 */
+	{ 0,	0,	printargs,		"posix_fork"	}, /* 3002 */
+	{ 0,	0,	printargs,		"posix_read"	}, /* 3003 */
+	{ 0,	0,	printargs,		"posix_write"	}, /* 3004 */
+	{ 0,	0,	printargs,		"posix_open"	}, /* 3005 */
+	{ 0,	0,	printargs,		"posix_close"	}, /* 3006 */
+	{ 0,	0,	printargs,		"posix_wait"	}, /* 3007 */
+	{ 0,	0,	printargs,		"posix_creat"	}, /* 3008 */
+	{ 0,	0,	printargs,		"posix_link"	}, /* 3009 */
+	{ 0,	0,	printargs,		"posix_unlink"	}, /* 3010 */
+	{ 0,	0,	printargs,		"posix_exec"	}, /* 3011 */
+	{ 0,	0,	printargs,		"posix_chdir"	}, /* 3012 */
+	{ 0,	0,	printargs,		"posix_gtime"	}, /* 3013 */
+	{ 0,	0,	printargs,		"posix_mknod"	}, /* 3014 */
+	{ 0,	0,	printargs,		"posix_chmod"	}, /* 3015 */
+	{ 0,	0,	printargs,		"posix_chown"	}, /* 3016 */
+	{ 0,	0,	printargs,		"posix_sbreak"	}, /* 3017 */
+	{ 0,	0,	printargs,		"posix_stat"	}, /* 3018 */
+	{ 0,	0,	printargs,		"posix_lseek"	}, /* 3019 */
+	{ 0,	0,	printargs,		"posix_getpid"	}, /* 3020 */
+	{ 0,	0,	printargs,		"posix_mount"	}, /* 3021 */
+	{ 0,	0,	printargs,		"posix_umount"	}, /* 3022 */
+	{ 0,	0,	printargs,		"posix_setuid"	}, /* 3023 */
+	{ 0,	0,	printargs,		"posix_getuid"	}, /* 3024 */
+	{ 0,	0,	printargs,		"posix_stime"	}, /* 3025 */
+	{ 0,	0,	printargs,		"posix_ptrace"	}, /* 3026 */
+	{ 0,	0,	printargs,		"posix_alarm"	}, /* 3027 */
+	{ 0,	0,	printargs,		"posix_fstat"	}, /* 3028 */
+	{ 0,	0,	printargs,		"posix_pause"	}, /* 3029 */
+	{ 0,	0,	printargs,		"posix_utime"	}, /* 3030 */
+	{ 0,	0,	printargs,		"posix_stty"	}, /* 3031 */
+	{ 0,	0,	printargs,		"posix_gtty"	}, /* 3032 */
+	{ 0,	0,	printargs,		"posix_access"	}, /* 3033 */
+	{ 0,	0,	printargs,		"posix_nice"	}, /* 3034 */
+	{ 0,	0,	printargs,		"posix_statfs"	}, /* 3035 */
+	{ 0,	0,	printargs,		"posix_sync"	}, /* 3036 */
+	{ 0,	0,	printargs,		"posix_kill"	}, /* 3037 */
+	{ 0,	0,	printargs,		"posix_fstatfs"	}, /* 3038 */
+	{ 0,	0,	printargs,		"posix_getpgrp"	}, /* 3039 */
+	{ 0,	0,	printargs,		"posix_syssgi"	}, /* 3040 */
+	{ 0,	0,	printargs,		"posix_dup"	}, /* 3041 */
+	{ 0,	0,	printargs,		"posix_pipe"	}, /* 3042 */
+	{ 0,	0,	printargs,		"posix_times"	}, /* 3043 */
+	{ 0,	0,	printargs,		"posix_profil"	}, /* 3044 */
+	{ 0,	0,	printargs,		"posix_lock"	}, /* 3045 */
+	{ 0,	0,	printargs,		"posix_setgid"	}, /* 3046 */
+	{ 0,	0,	printargs,		"posix_getgid"	}, /* 3047 */
+	{ 0,	0,	printargs,		"posix_sig"	}, /* 3048 */
+	{ 0,	0,	printargs,		"posix_msgsys"	}, /* 3049 */
+	{ 0,	0,	printargs,		"posix_sysmips"	}, /* 3050 */
+	{ 0,	0,	printargs,		"posix_sysacct"	}, /* 3051 */
+	{ 0,	0,	printargs,		"posix_shmsys"	}, /* 3052 */
+	{ 0,	0,	printargs,		"posix_semsys"	}, /* 3053 */
+	{ 0,	0,	printargs,		"posix_ioctl"	}, /* 3054 */
+	{ 0,	0,	printargs,		"posix_uadmin"	}, /* 3055 */
+	{ 0,	0,	printargs,		"posix_exch"	}, /* 3056 */
+	{ 0,	0,	printargs,		"posix_utssys"	}, /* 3057 */
+	{ 0,	0,	printargs,		"SYS_3058",	}, /* 3058 */
+	{ 0,	0,	printargs,		"posix_exece"	}, /* 3059 */
+	{ 0,	0,	printargs,		"posix_umask"	}, /* 3060 */
+	{ 0,	0,	printargs,		"posix_chroot"	}, /* 3061 */
+	{ 0,	0,	printargs,		"posix_fcntl"	}, /* 3062 */
+	{ 0,	0,	printargs,		"posix_ulimit"	}, /* 3063 */
+	{ 0,	0,	printargs,		"SYS_3064",	}, /* 3064 */
+	{ 0,	0,	printargs,		"SYS_3065",	}, /* 3065 */
+	{ 0,	0,	printargs,		"SYS_3066",	}, /* 3066 */
+	{ 0,	0,	printargs,		"SYS_3067",	}, /* 3067 */
+	{ 0,	0,	printargs,		"SYS_3068",	}, /* 3068 */
+	{ 0,	0,	printargs,		"SYS_3069",	}, /* 3069 */
+	{ 0,	0,	printargs,		"posix_advfs"	}, /* 3070 */
+	{ 0,	0,	printargs,		"posix_unadvfs"	}, /* 3071 */
+	{ 0,	0,	printargs,		"posix_rmount"	}, /* 3072 */
+	{ 0,	0,	printargs,		"posix_rumount"	}, /* 3073 */
+	{ 0,	0,	printargs,		"posix_rfstart"	}, /* 3074 */
+	{ 0,	0,	printargs,		"SYS_3075",	}, /* 3075 */
+	{ 0,	0,	printargs,		"posix_rdebug"	}, /* 3076 */
+	{ 0,	0,	printargs,		"posix_rfstop"	}, /* 3077 */
+	{ 0,	0,	printargs,		"posix_rfsys"	}, /* 3078 */
+	{ 0,	0,	printargs,		"posix_rmdir"	}, /* 3079 */
+	{ 0,	0,	printargs,		"posix_mkdir"	}, /* 3080 */
+	{ 0,	0,	printargs,		"posix_getdents"	}, /* 3081 */
+	{ 0,	0,	printargs,		"posix_sginap"	}, /* 3082 */
+	{ 0,	0,	printargs,		"posix_sgikopt"	}, /* 3083 */
+	{ 0,	0,	printargs,		"posix_sysfs"	}, /* 3084 */
+	{ 0,	0,	printargs,		"posix_getmsg"	}, /* 3085 */
+	{ 0,	0,	printargs,		"posix_putmsg"	}, /* 3086 */
+	{ 0,	0,	printargs,		"posix_poll"	}, /* 3087 */
+	{ 0,	0,	printargs,		"posix_sigreturn"	}, /* 3088 */
+	{ 0,	0,	printargs,		"posix_accept"	}, /* 3089 */
+	{ 0,	0,	printargs,		"posix_bind"	}, /* 3090 */
+	{ 0,	0,	printargs,		"posix_connect"	}, /* 3091 */
+	{ 0,	0,	printargs,		"posix_gethostid"	}, /* 3092 */
+	{ 0,	0,	printargs,		"posix_getpeername"	}, /* 3093 */
+	{ 0,	0,	printargs,		"posix_getsockname"	}, /* 3094 */
+	{ 0,	0,	printargs,		"posix_getsockopt"	}, /* 3095 */
+	{ 0,	0,	printargs,		"posix_listen"	}, /* 3096 */
+	{ 0,	0,	printargs,		"posix_recv"	}, /* 3097 */
+	{ 0,	0,	printargs,		"posix_recvfrom"	}, /* 3098 */
+	{ 0,	0,	printargs,		"posix_recvmsg"	}, /* 3099 */
+	{ 0,	0,	printargs,		"posix_select"	}, /* 3100 */
+	{ 0,	0,	printargs,		"posix_send"	}, /* 3101 */
+	{ 0,	0,	printargs,		"posix_sendmsg"	}, /* 3102 */
+	{ 0,	0,	printargs,		"posix_sendto"	}, /* 3103 */
+	{ 0,	0,	printargs,		"posix_sethostid"	}, /* 3104 */
+	{ 0,	0,	printargs,		"posix_setsockopt"	}, /* 3105 */
+	{ 0,	0,	printargs,		"posix_shutdown"	}, /* 3106 */
+	{ 0,	0,	printargs,		"posix_socket"	}, /* 3107 */
+	{ 0,	0,	printargs,		"posix_gethostname"	}, /* 3108 */
+	{ 0,	0,	printargs,		"posix_sethostname"	}, /* 3109 */
+	{ 0,	0,	printargs,		"posix_getdomainname"	}, /* 3110 */
+	{ 0,	0,	printargs,		"posix_setdomainname"	}, /* 3111 */
+	{ 0,	0,	printargs,		"posix_truncate"	}, /* 3112 */
+	{ 0,	0,	printargs,		"posix_ftruncate"	}, /* 3113 */
+	{ 0,	0,	printargs,		"posix_rename"	}, /* 3114 */
+	{ 0,	0,	printargs,		"posix_symlink"	}, /* 3115 */
+	{ 0,	0,	printargs,		"posix_readlink"	}, /* 3116 */
+	{ 0,	0,	printargs,		"posix_lstat"	}, /* 3117 */
+	{ 0,	0,	printargs,		"posix_nfs_mount"	}, /* 3118 */
+	{ 0,	0,	printargs,		"posix_nfs_svc"	}, /* 3119 */
+	{ 0,	0,	printargs,		"posix_nfs_getfh"	}, /* 3120 */
+	{ 0,	0,	printargs,		"posix_async_daemon"	}, /* 3121 */
+	{ 0,	0,	printargs,		"posix_exportfs"	}, /* 3122 */
+	{ 0,	0,	printargs,		"posix_SGI_setregid"	}, /* 3123 */
+	{ 0,	0,	printargs,		"posix_SGI_setreuid"	}, /* 3124 */
+	{ 0,	0,	printargs,		"posix_getitimer"	}, /* 3125 */
+	{ 0,	0,	printargs,		"posix_setitimer"	}, /* 3126 */
+	{ 0,	0,	printargs,		"posix_adjtime"	}, /* 3127 */
+	{ 0,	0,	printargs,		"posix_SGI_bsdgettime"	}, /* 3128 */
+	{ 0,	0,	printargs,		"posix_SGI_sproc"	}, /* 3129 */
+	{ 0,	0,	printargs,		"posix_SGI_prctl"	}, /* 3130 */
+	{ 0,	0,	printargs,		"posix_SGI_blkproc"	}, /* 3131 */
+	{ 0,	0,	printargs,		"SYS_3132",	}, /* 3132 */
+	{ 0,	0,	printargs,		"posix_SGI_sgigsc"	}, /* 3133 */
+	{ 0,	0,	printargs,		"posix_SGI_mmap"	}, /* 3134 */
+	{ 0,	0,	printargs,		"posix_SGI_munmap"	}, /* 3135 */
+	{ 0,	0,	printargs,		"posix_SGI_mprotect"	}, /* 3136 */
+	{ 0,	0,	printargs,		"posix_SGI_msync"	}, /* 3137 */
+	{ 0,	0,	printargs,		"posix_SGI_madvise"	}, /* 3138 */
+	{ 0,	0,	printargs,		"posix_SGI_mpin"	}, /* 3139 */
+	{ 0,	0,	printargs,		"posix_SGI_getpagesize"	}, /* 3140 */
+	{ 0,	0,	printargs,		"posix_SGI_libattach"	}, /* 3141 */
+	{ 0,	0,	printargs,		"posix_SGI_libdetach"	}, /* 3142 */
+	{ 0,	0,	printargs,		"posix_SGI_getpgrp"	}, /* 3143 */
+	{ 0,	0,	printargs,		"posix_SGI_setpgrp"	}, /* 3144 */
+	{ 0,	0,	printargs,		"SYS_3145",	}, /* 3145 */
+	{ 0,	0,	printargs,		"SYS_3146",	}, /* 3146 */
+	{ 0,	0,	printargs,		"SYS_3147",	}, /* 3147 */
+	{ 0,	0,	printargs,		"SYS_3148",	}, /* 3148 */
+	{ 0,	0,	printargs,		"SYS_3149",	}, /* 3149 */
+	{ 0,	0,	printargs,		"posix_cacheflush"	}, /* 3150 */
+	{ 0,	0,	printargs,		"posix_cachectl"	}, /* 3151 */
+	{ 0,	0,	printargs,		"posix_fchown"	}, /* 3152 */
+	{ 0,	0,	printargs,		"posix_fchmod"	}, /* 3153 */
+	{ 0,	0,	printargs,		"posix_wait3"	}, /* 3154 */
+	{ 0,	0,	printargs,		"posix_mmap"	}, /* 3155 */
+	{ 0,	0,	printargs,		"posix_munmap"	}, /* 3156 */
+	{ 0,	0,	printargs,		"posix_madvise"	}, /* 3157 */
+	{ 0,	0,	printargs,		"posix_BSD_getpagesize"	}, /* 3158 */
+	{ 0,	0,	printargs,		"posix_setreuid"	}, /* 3159 */
+	{ 0,	0,	printargs,		"posix_setregid"	}, /* 3160 */
+	{ 0,	0,	printargs,		"posix_setpgid"	}, /* 3161 */
+	{ 0,	0,	printargs,		"posix_getgroups"	}, /* 3162 */
+	{ 0,	0,	printargs,		"posix_setgroups"	}, /* 3163 */
+	{ 0,	0,	printargs,		"posix_gettimeofday"	}, /* 3164 */
+	{ 0,	0,	printargs,		"posix_getrusage"	}, /* 3165 */
+	{ 0,	0,	printargs,		"posix_getrlimit"	}, /* 3166 */
+	{ 0,	0,	printargs,		"posix_setrlimit"	}, /* 3167 */
+	{ 0,	0,	printargs,		"posix_waitpid"	}, /* 3168 */
+	{ 0,	0,	printargs,		"posix_dup2"	}, /* 3169 */
+	{ 0,	0,	printargs,		"SYS_3170",	}, /* 3170 */
+	{ 0,	0,	printargs,		"SYS_3171",	}, /* 3171 */
+	{ 0,	0,	printargs,		"SYS_3172",	}, /* 3172 */
+	{ 0,	0,	printargs,		"SYS_3173",	}, /* 3173 */
+	{ 0,	0,	printargs,		"SYS_3174",	}, /* 3174 */
+	{ 0,	0,	printargs,		"SYS_3175",	}, /* 3175 */
+	{ 0,	0,	printargs,		"SYS_3176",	}, /* 3176 */
+	{ 0,	0,	printargs,		"SYS_3177",	}, /* 3177 */
+	{ 0,	0,	printargs,		"SYS_3178",	}, /* 3178 */
+	{ 0,	0,	printargs,		"SYS_3179",	}, /* 3179 */
+	{ 0,	0,	printargs,		"SYS_3180",	}, /* 3180 */
+	{ 0,	0,	printargs,		"SYS_3181",	}, /* 3181 */
+	{ 0,	0,	printargs,		"SYS_3182",	}, /* 3182 */
+	{ 0,	0,	printargs,		"SYS_3183",	}, /* 3183 */
+	{ 0,	0,	printargs,		"SYS_3184",	}, /* 3184 */
+	{ 0,	0,	printargs,		"SYS_3185",	}, /* 3185 */
+	{ 0,	0,	printargs,		"SYS_3186",	}, /* 3186 */
+	{ 0,	0,	printargs,		"SYS_3187",	}, /* 3187 */
+	{ 0,	0,	printargs,		"SYS_3188",	}, /* 3188 */
+	{ 0,	0,	printargs,		"SYS_3189",	}, /* 3189 */
+	{ 0,	0,	printargs,		"SYS_3190",	}, /* 3190 */
+	{ 0,	0,	printargs,		"SYS_3191",	}, /* 3191 */
+	{ 0,	0,	printargs,		"SYS_3192",	}, /* 3192 */
+	{ 0,	0,	printargs,		"SYS_3193",	}, /* 3193 */
+	{ 0,	0,	printargs,		"SYS_3194",	}, /* 3194 */
+	{ 0,	0,	printargs,		"SYS_3195",	}, /* 3195 */
+	{ 0,	0,	printargs,		"SYS_3196",	}, /* 3196 */
+	{ 0,	0,	printargs,		"SYS_3197",	}, /* 3197 */
+	{ 0,	0,	printargs,		"SYS_3198",	}, /* 3198 */
+	{ 0,	0,	printargs,		"SYS_3199",	}, /* 3199 */
+	{ 0,	0,	printargs,		"SYS_3200",	}, /* 3200 */
+	{ 0,	0,	printargs,		"SYS_3201",	}, /* 3201 */
+	{ 0,	0,	printargs,		"SYS_3202",	}, /* 3202 */
+	{ 0,	0,	printargs,		"SYS_3203",	}, /* 3203 */
+	{ 0,	0,	printargs,		"SYS_3204",	}, /* 3204 */
+	{ 0,	0,	printargs,		"SYS_3205",	}, /* 3205 */
+	{ 0,	0,	printargs,		"SYS_3206",	}, /* 3206 */
+	{ 0,	0,	printargs,		"SYS_3207",	}, /* 3207 */
+	{ 0,	0,	printargs,		"SYS_3208",	}, /* 3208 */
+	{ 0,	0,	printargs,		"SYS_3209",	}, /* 3209 */
+	{ 0,	0,	printargs,		"SYS_3210",	}, /* 3210 */
+	{ 0,	0,	printargs,		"SYS_3211",	}, /* 3211 */
+	{ 0,	0,	printargs,		"SYS_3212",	}, /* 3212 */
+	{ 0,	0,	printargs,		"SYS_3213",	}, /* 3213 */
+	{ 0,	0,	printargs,		"SYS_3214",	}, /* 3214 */
+	{ 0,	0,	printargs,		"SYS_3215",	}, /* 3215 */
+	{ 0,	0,	printargs,		"SYS_3216",	}, /* 3216 */
+	{ 0,	0,	printargs,		"SYS_3217",	}, /* 3217 */
+	{ 0,	0,	printargs,		"SYS_3218",	}, /* 3218 */
+	{ 0,	0,	printargs,		"SYS_3219",	}, /* 3219 */
+	{ 0,	0,	printargs,		"SYS_3220",	}, /* 3220 */
+	{ 0,	0,	printargs,		"SYS_3221",	}, /* 3221 */
+	{ 0,	0,	printargs,		"SYS_3222",	}, /* 3222 */
+	{ 0,	0,	printargs,		"SYS_3223",	}, /* 3223 */
+	{ 0,	0,	printargs,		"SYS_3224",	}, /* 3224 */
+	{ 0,	0,	printargs,		"SYS_3225",	}, /* 3225 */
+	{ 0,	0,	printargs,		"SYS_3226",	}, /* 3226 */
+	{ 0,	0,	printargs,		"SYS_3227",	}, /* 3227 */
+	{ 0,	0,	printargs,		"SYS_3228",	}, /* 3228 */
+	{ 0,	0,	printargs,		"SYS_3229",	}, /* 3229 */
+	{ 0,	0,	printargs,		"SYS_3230",	}, /* 3230 */
+	{ 0,	0,	printargs,		"SYS_3231",	}, /* 3231 */
+	{ 0,	0,	printargs,		"SYS_3232",	}, /* 3232 */
+	{ 0,	0,	printargs,		"SYS_3233",	}, /* 3233 */
+	{ 0,	0,	printargs,		"SYS_3234",	}, /* 3234 */
+	{ 0,	0,	printargs,		"SYS_3235",	}, /* 3235 */
+	{ 0,	0,	printargs,		"SYS_3236",	}, /* 3236 */
+	{ 0,	0,	printargs,		"SYS_3237",	}, /* 3237 */
+	{ 0,	0,	printargs,		"SYS_3238",	}, /* 3238 */
+	{ 0,	0,	printargs,		"SYS_3239",	}, /* 3239 */
+	{ 0,	0,	printargs,		"SYS_3240",	}, /* 3240 */
+	{ 0,	0,	printargs,		"SYS_3241",	}, /* 3241 */
+	{ 0,	0,	printargs,		"SYS_3242",	}, /* 3242 */
+	{ 0,	0,	printargs,		"SYS_3243",	}, /* 3243 */
+	{ 0,	0,	printargs,		"SYS_3244",	}, /* 3244 */
+	{ 0,	0,	printargs,		"SYS_3245",	}, /* 3245 */
+	{ 0,	0,	printargs,		"SYS_3246",	}, /* 3246 */
+	{ 0,	0,	printargs,		"SYS_3247",	}, /* 3247 */
+	{ 0,	0,	printargs,		"SYS_3248",	}, /* 3248 */
+	{ 0,	0,	printargs,		"SYS_3249",	}, /* 3249 */
+	{ 0,	0,	printargs,		"SYS_3250",	}, /* 3250 */
+	{ 0,	0,	printargs,		"SYS_3251",	}, /* 3251 */
+	{ 0,	0,	printargs,		"SYS_3252",	}, /* 3252 */
+	{ 0,	0,	printargs,		"SYS_3253",	}, /* 3253 */
+	{ 0,	0,	printargs,		"SYS_3254",	}, /* 3254 */
+	{ 0,	0,	printargs,		"SYS_3255",	}, /* 3255 */
+	{ 0,	0,	printargs,		"SYS_3256",	}, /* 3256 */
+	{ 0,	0,	printargs,		"SYS_3257",	}, /* 3257 */
+	{ 0,	0,	printargs,		"SYS_3258",	}, /* 3258 */
+	{ 0,	0,	printargs,		"SYS_3259",	}, /* 3259 */
+	{ 0,	0,	printargs,		"posix_netboot"	}, /* 3260 */
+	{ 0,	0,	printargs,		"posix_netunboot"	}, /* 3261 */
+	{ 0,	0,	printargs,		"posix_rdump"	}, /* 3262 */
+	{ 0,	0,	printargs,		"posix_setsid"	}, /* 3263 */
+	{ 0,	0,	printargs,		"posix_getmaxsig"	}, /* 3264 */
+	{ 0,	0,	printargs,		"posix_sigpending"	}, /* 3265 */
+	{ 0,	0,	printargs,		"posix_sigprocmask"	}, /* 3266 */
+	{ 0,	0,	printargs,		"posix_sigsuspend"	}, /* 3267 */
+	{ 0,	0,	printargs,		"posix_sigaction"	}, /* 3268 */
+	{ 0,	0,	printargs,		"SYS_3269",	}, /* 3269 */
+	{ 0,	0,	printargs,		"SYS_3270",	}, /* 3270 */
+	{ 0,	0,	printargs,		"SYS_3271",	}, /* 3271 */
+	{ 0,	0,	printargs,		"SYS_3272",	}, /* 3272 */
+	{ 0,	0,	printargs,		"SYS_3273",	}, /* 3273 */
+	{ 0,	0,	printargs,		"SYS_3274",	}, /* 3274 */
+	{ 0,	0,	printargs,		"SYS_3275",	}, /* 3275 */
+	{ 0,	0,	printargs,		"SYS_3276",	}, /* 3276 */
+	{ 0,	0,	printargs,		"SYS_3277",	}, /* 3277 */
+	{ 0,	0,	printargs,		"SYS_3278",	}, /* 3278 */
+	{ 0,	0,	printargs,		"SYS_3279",	}, /* 3279 */
+	{ 0,	0,	printargs,		"SYS_3280",	}, /* 3280 */
+	{ 0,	0,	printargs,		"SYS_3281",	}, /* 3281 */
+	{ 0,	0,	printargs,		"SYS_3282",	}, /* 3282 */
+	{ 0,	0,	printargs,		"SYS_3283",	}, /* 3283 */
+	{ 0,	0,	printargs,		"SYS_3284",	}, /* 3284 */
+	{ 0,	0,	printargs,		"SYS_3285",	}, /* 3285 */
+	{ 0,	0,	printargs,		"SYS_3286",	}, /* 3286 */
+	{ 0,	0,	printargs,		"SYS_3287",	}, /* 3287 */
+	{ 0,	0,	printargs,		"SYS_3288",	}, /* 3288 */
+	{ 0,	0,	printargs,		"SYS_3289",	}, /* 3289 */
+	{ 0,	0,	printargs,		"SYS_3290",	}, /* 3290 */
+	{ 0,	0,	printargs,		"SYS_3291",	}, /* 3291 */
+	{ 0,	0,	printargs,		"SYS_3292",	}, /* 3292 */
+	{ 0,	0,	printargs,		"SYS_3293",	}, /* 3293 */
+	{ 0,	0,	printargs,		"SYS_3294",	}, /* 3294 */
+	{ 0,	0,	printargs,		"SYS_3295",	}, /* 3295 */
+	{ 0,	0,	printargs,		"SYS_3296",	}, /* 3296 */
+	{ 0,	0,	printargs,		"SYS_3297",	}, /* 3297 */
+	{ 0,	0,	printargs,		"SYS_3298",	}, /* 3298 */
+	{ 0,	0,	printargs,		"SYS_3299",	}, /* 3299 */
+	{ 0,	0,	printargs,		"SYS_3300",	}, /* 3300 */
+	{ 0,	0,	printargs,		"SYS_3301",	}, /* 3301 */
+	{ 0,	0,	printargs,		"SYS_3302",	}, /* 3302 */
+	{ 0,	0,	printargs,		"SYS_3303",	}, /* 3303 */
+	{ 0,	0,	printargs,		"SYS_3304",	}, /* 3304 */
+	{ 0,	0,	printargs,		"SYS_3305",	}, /* 3305 */
+	{ 0,	0,	printargs,		"SYS_3306",	}, /* 3306 */
+	{ 0,	0,	printargs,		"SYS_3307",	}, /* 3307 */
+	{ 0,	0,	printargs,		"SYS_3308",	}, /* 3308 */
+	{ 0,	0,	printargs,		"SYS_3309",	}, /* 3309 */
+	{ 0,	0,	printargs,		"SYS_3310",	}, /* 3310 */
+	{ 0,	0,	printargs,		"SYS_3311",	}, /* 3311 */
+	{ 0,	0,	printargs,		"SYS_3312",	}, /* 3312 */
+	{ 0,	0,	printargs,		"SYS_3313",	}, /* 3313 */
+	{ 0,	0,	printargs,		"SYS_3314",	}, /* 3314 */
+	{ 0,	0,	printargs,		"SYS_3315",	}, /* 3315 */
+	{ 0,	0,	printargs,		"SYS_3316",	}, /* 3316 */
+	{ 0,	0,	printargs,		"SYS_3317",	}, /* 3317 */
+	{ 0,	0,	printargs,		"SYS_3318",	}, /* 3318 */
+	{ 0,	0,	printargs,		"SYS_3319",	}, /* 3319 */
+	{ 0,	0,	printargs,		"SYS_3320"	}, /* 3320 */
+	{ 0,	0,	printargs,		"SYS_3321"	}, /* 3321 */
+	{ 0,	0,	printargs,		"SYS_3322"	}, /* 3322 */
+	{ 0,	0,	printargs,		"SYS_3323"	}, /* 3323 */
+	{ 0,	0,	printargs,		"SYS_3324"	}, /* 3324 */
+	{ 0,	0,	printargs,		"SYS_3325"	}, /* 3325 */
+	{ 0,	0,	printargs,		"SYS_3326"	}, /* 3326 */
+	{ 0,	0,	printargs,		"SYS_3327"	}, /* 3327 */
+	{ 0,	0,	printargs,		"SYS_3328"	}, /* 3328 */
+	{ 0,	0,	printargs,		"SYS_3329"	}, /* 3329 */
+	{ 0,	0,	printargs,		"SYS_3330"	}, /* 3330 */
+	{ 0,	0,	printargs,		"SYS_3331"	}, /* 3331 */
+	{ 0,	0,	printargs,		"SYS_3332"	}, /* 3332 */
+	{ 0,	0,	printargs,		"SYS_3333"	}, /* 3333 */
+	{ 0,	0,	printargs,		"SYS_3334"	}, /* 3334 */
+	{ 0,	0,	printargs,		"SYS_3335"	}, /* 3335 */
+	{ 0,	0,	printargs,		"SYS_3336"	}, /* 3336 */
+	{ 0,	0,	printargs,		"SYS_3337"	}, /* 3337 */
+	{ 0,	0,	printargs,		"SYS_3338"	}, /* 3338 */
+	{ 0,	0,	printargs,		"SYS_3339"	}, /* 3339 */
+	{ 0,	0,	printargs,		"SYS_3340"	}, /* 3340 */
+	{ 0,	0,	printargs,		"SYS_3341"	}, /* 3341 */
+	{ 0,	0,	printargs,		"SYS_3342"	}, /* 3342 */
+	{ 0,	0,	printargs,		"SYS_3343"	}, /* 3343 */
+	{ 0,	0,	printargs,		"SYS_3344"	}, /* 3344 */
+	{ 0,	0,	printargs,		"SYS_3345"	}, /* 3345 */
+	{ 0,	0,	printargs,		"SYS_3346"	}, /* 3346 */
+	{ 0,	0,	printargs,		"SYS_3347"	}, /* 3347 */
+	{ 0,	0,	printargs,		"SYS_3348"	}, /* 3348 */
+	{ 0,	0,	printargs,		"SYS_3349"	}, /* 3349 */
+	{ 0,	0,	printargs,		"SYS_3350"	}, /* 3350 */
+	{ 0,	0,	printargs,		"SYS_3351"	}, /* 3351 */
+	{ 0,	0,	printargs,		"SYS_3352"	}, /* 3352 */
+	{ 0,	0,	printargs,		"SYS_3353"	}, /* 3353 */
+	{ 0,	0,	printargs,		"SYS_3354"	}, /* 3354 */
+	{ 0,	0,	printargs,		"SYS_3355"	}, /* 3355 */
+	{ 0,	0,	printargs,		"SYS_3356"	}, /* 3356 */
+	{ 0,	0,	printargs,		"SYS_3357"	}, /* 3357 */
+	{ 0,	0,	printargs,		"SYS_3358"	}, /* 3358 */
+	{ 0,	0,	printargs,		"SYS_3359"	}, /* 3359 */
+	{ 0,	0,	printargs,		"SYS_3360"	}, /* 3360 */
+	{ 0,	0,	printargs,		"SYS_3361"	}, /* 3361 */
+	{ 0,	0,	printargs,		"SYS_3362"	}, /* 3362 */
+	{ 0,	0,	printargs,		"SYS_3363"	}, /* 3363 */
+	{ 0,	0,	printargs,		"SYS_3364"	}, /* 3364 */
+	{ 0,	0,	printargs,		"SYS_3365"	}, /* 3365 */
+	{ 0,	0,	printargs,		"SYS_3366"	}, /* 3366 */
+	{ 0,	0,	printargs,		"SYS_3367"	}, /* 3367 */
+	{ 0,	0,	printargs,		"SYS_3368"	}, /* 3368 */
+	{ 0,	0,	printargs,		"SYS_3369"	}, /* 3369 */
+	{ 0,	0,	printargs,		"SYS_3370"	}, /* 3370 */
+	{ 0,	0,	printargs,		"SYS_3371"	}, /* 3371 */
+	{ 0,	0,	printargs,		"SYS_3372"	}, /* 3372 */
+	{ 0,	0,	printargs,		"SYS_3373"	}, /* 3373 */
+	{ 0,	0,	printargs,		"SYS_3374"	}, /* 3374 */
+	{ 0,	0,	printargs,		"SYS_3375"	}, /* 3375 */
+	{ 0,	0,	printargs,		"SYS_3376"	}, /* 3376 */
+	{ 0,	0,	printargs,		"SYS_3377"	}, /* 3377 */
+	{ 0,	0,	printargs,		"SYS_3378"	}, /* 3378 */
+	{ 0,	0,	printargs,		"SYS_3379"	}, /* 3379 */
+	{ 0,	0,	printargs,		"SYS_3380"	}, /* 3380 */
+	{ 0,	0,	printargs,		"SYS_3381"	}, /* 3381 */
+	{ 0,	0,	printargs,		"SYS_3382"	}, /* 3382 */
+	{ 0,	0,	printargs,		"SYS_3383"	}, /* 3383 */
+	{ 0,	0,	printargs,		"SYS_3384"	}, /* 3384 */
+	{ 0,	0,	printargs,		"SYS_3385"	}, /* 3385 */
+	{ 0,	0,	printargs,		"SYS_3386"	}, /* 3386 */
+	{ 0,	0,	printargs,		"SYS_3387"	}, /* 3387 */
+	{ 0,	0,	printargs,		"SYS_3388"	}, /* 3388 */
+	{ 0,	0,	printargs,		"SYS_3389"	}, /* 3389 */
+	{ 0,	0,	printargs,		"SYS_3390"	}, /* 3390 */
+	{ 0,	0,	printargs,		"SYS_3391"	}, /* 3391 */
+	{ 0,	0,	printargs,		"SYS_3392"	}, /* 3392 */
+	{ 0,	0,	printargs,		"SYS_3393"	}, /* 3393 */
+	{ 0,	0,	printargs,		"SYS_3394"	}, /* 3394 */
+	{ 0,	0,	printargs,		"SYS_3395"	}, /* 3395 */
+	{ 0,	0,	printargs,		"SYS_3396"	}, /* 3396 */
+	{ 0,	0,	printargs,		"SYS_3397"	}, /* 3397 */
+	{ 0,	0,	printargs,		"SYS_3398"	}, /* 3398 */
+	{ 0,	0,	printargs,		"SYS_3399"	}, /* 3399 */
+	{ 0,	0,	printargs,		"SYS_3400"	}, /* 3400 */
+	{ 0,	0,	printargs,		"SYS_3401"	}, /* 3401 */
+	{ 0,	0,	printargs,		"SYS_3402"	}, /* 3402 */
+	{ 0,	0,	printargs,		"SYS_3403"	}, /* 3403 */
+	{ 0,	0,	printargs,		"SYS_3404"	}, /* 3404 */
+	{ 0,	0,	printargs,		"SYS_3405"	}, /* 3405 */
+	{ 0,	0,	printargs,		"SYS_3406"	}, /* 3406 */
+	{ 0,	0,	printargs,		"SYS_3407"	}, /* 3407 */
+	{ 0,	0,	printargs,		"SYS_3408"	}, /* 3408 */
+	{ 0,	0,	printargs,		"SYS_3409"	}, /* 3409 */
+	{ 0,	0,	printargs,		"SYS_3410"	}, /* 3410 */
+	{ 0,	0,	printargs,		"SYS_3411"	}, /* 3411 */
+	{ 0,	0,	printargs,		"SYS_3412"	}, /* 3412 */
+	{ 0,	0,	printargs,		"SYS_3413"	}, /* 3413 */
+	{ 0,	0,	printargs,		"SYS_3414"	}, /* 3414 */
+	{ 0,	0,	printargs,		"SYS_3415"	}, /* 3415 */
+	{ 0,	0,	printargs,		"SYS_3416"	}, /* 3416 */
+	{ 0,	0,	printargs,		"SYS_3417"	}, /* 3417 */
+	{ 0,	0,	printargs,		"SYS_3418"	}, /* 3418 */
+	{ 0,	0,	printargs,		"SYS_3419"	}, /* 3419 */
+	{ 0,	0,	printargs,		"SYS_3420"	}, /* 3420 */
+	{ 0,	0,	printargs,		"SYS_3421"	}, /* 3421 */
+	{ 0,	0,	printargs,		"SYS_3422"	}, /* 3422 */
+	{ 0,	0,	printargs,		"SYS_3423"	}, /* 3423 */
+	{ 0,	0,	printargs,		"SYS_3424"	}, /* 3424 */
+	{ 0,	0,	printargs,		"SYS_3425"	}, /* 3425 */
+	{ 0,	0,	printargs,		"SYS_3426"	}, /* 3426 */
+	{ 0,	0,	printargs,		"SYS_3427"	}, /* 3427 */
+	{ 0,	0,	printargs,		"SYS_3428"	}, /* 3428 */
+	{ 0,	0,	printargs,		"SYS_3429"	}, /* 3429 */
+	{ 0,	0,	printargs,		"SYS_3430"	}, /* 3430 */
+	{ 0,	0,	printargs,		"SYS_3431"	}, /* 3431 */
+	{ 0,	0,	printargs,		"SYS_3432"	}, /* 3432 */
+	{ 0,	0,	printargs,		"SYS_3433"	}, /* 3433 */
+	{ 0,	0,	printargs,		"SYS_3434"	}, /* 3434 */
+	{ 0,	0,	printargs,		"SYS_3435"	}, /* 3435 */
+	{ 0,	0,	printargs,		"SYS_3436"	}, /* 3436 */
+	{ 0,	0,	printargs,		"SYS_3437"	}, /* 3437 */
+	{ 0,	0,	printargs,		"SYS_3438"	}, /* 3438 */
+	{ 0,	0,	printargs,		"SYS_3439"	}, /* 3439 */
+	{ 0,	0,	printargs,		"SYS_3440"	}, /* 3440 */
+	{ 0,	0,	printargs,		"SYS_3441"	}, /* 3441 */
+	{ 0,	0,	printargs,		"SYS_3442"	}, /* 3442 */
+	{ 0,	0,	printargs,		"SYS_3443"	}, /* 3443 */
+	{ 0,	0,	printargs,		"SYS_3444"	}, /* 3444 */
+	{ 0,	0,	printargs,		"SYS_3445"	}, /* 3445 */
+	{ 0,	0,	printargs,		"SYS_3446"	}, /* 3446 */
+	{ 0,	0,	printargs,		"SYS_3447"	}, /* 3447 */
+	{ 0,	0,	printargs,		"SYS_3448"	}, /* 3448 */
+	{ 0,	0,	printargs,		"SYS_3449"	}, /* 3449 */
+	{ 0,	0,	printargs,		"SYS_3450"	}, /* 3450 */
+	{ 0,	0,	printargs,		"SYS_3451"	}, /* 3451 */
+	{ 0,	0,	printargs,		"SYS_3452"	}, /* 3452 */
+	{ 0,	0,	printargs,		"SYS_3453"	}, /* 3453 */
+	{ 0,	0,	printargs,		"SYS_3454"	}, /* 3454 */
+	{ 0,	0,	printargs,		"SYS_3455"	}, /* 3455 */
+	{ 0,	0,	printargs,		"SYS_3456"	}, /* 3456 */
+	{ 0,	0,	printargs,		"SYS_3457"	}, /* 3457 */
+	{ 0,	0,	printargs,		"SYS_3458"	}, /* 3458 */
+	{ 0,	0,	printargs,		"SYS_3459"	}, /* 3459 */
+	{ 0,	0,	printargs,		"SYS_3460"	}, /* 3460 */
+	{ 0,	0,	printargs,		"SYS_3461"	}, /* 3461 */
+	{ 0,	0,	printargs,		"SYS_3462"	}, /* 3462 */
+	{ 0,	0,	printargs,		"SYS_3463"	}, /* 3463 */
+	{ 0,	0,	printargs,		"SYS_3464"	}, /* 3464 */
+	{ 0,	0,	printargs,		"SYS_3465"	}, /* 3465 */
+	{ 0,	0,	printargs,		"SYS_3466"	}, /* 3466 */
+	{ 0,	0,	printargs,		"SYS_3467"	}, /* 3467 */
+	{ 0,	0,	printargs,		"SYS_3468"	}, /* 3468 */
+	{ 0,	0,	printargs,		"SYS_3469"	}, /* 3469 */
+	{ 0,	0,	printargs,		"SYS_3470"	}, /* 3470 */
+	{ 0,	0,	printargs,		"SYS_3471"	}, /* 3471 */
+	{ 0,	0,	printargs,		"SYS_3472"	}, /* 3472 */
+	{ 0,	0,	printargs,		"SYS_3473"	}, /* 3473 */
+	{ 0,	0,	printargs,		"SYS_3474"	}, /* 3474 */
+	{ 0,	0,	printargs,		"SYS_3475"	}, /* 3475 */
+	{ 0,	0,	printargs,		"SYS_3476"	}, /* 3476 */
+	{ 0,	0,	printargs,		"SYS_3477"	}, /* 3477 */
+	{ 0,	0,	printargs,		"SYS_3478"	}, /* 3478 */
+	{ 0,	0,	printargs,		"SYS_3479"	}, /* 3479 */
+	{ 0,	0,	printargs,		"SYS_3480"	}, /* 3480 */
+	{ 0,	0,	printargs,		"SYS_3481"	}, /* 3481 */
+	{ 0,	0,	printargs,		"SYS_3482"	}, /* 3482 */
+	{ 0,	0,	printargs,		"SYS_3483"	}, /* 3483 */
+	{ 0,	0,	printargs,		"SYS_3484"	}, /* 3484 */
+	{ 0,	0,	printargs,		"SYS_3485"	}, /* 3485 */
+	{ 0,	0,	printargs,		"SYS_3486"	}, /* 3486 */
+	{ 0,	0,	printargs,		"SYS_3487"	}, /* 3487 */
+	{ 0,	0,	printargs,		"SYS_3488"	}, /* 3488 */
+	{ 0,	0,	printargs,		"SYS_3489"	}, /* 3489 */
+	{ 0,	0,	printargs,		"SYS_3490"	}, /* 3490 */
+	{ 0,	0,	printargs,		"SYS_3491"	}, /* 3491 */
+	{ 0,	0,	printargs,		"SYS_3492"	}, /* 3492 */
+	{ 0,	0,	printargs,		"SYS_3493"	}, /* 3493 */
+	{ 0,	0,	printargs,		"SYS_3494"	}, /* 3494 */
+	{ 0,	0,	printargs,		"SYS_3495"	}, /* 3495 */
+	{ 0,	0,	printargs,		"SYS_3496"	}, /* 3496 */
+	{ 0,	0,	printargs,		"SYS_3497"	}, /* 3497 */
+	{ 0,	0,	printargs,		"SYS_3498"	}, /* 3498 */
+	{ 0,	0,	printargs,		"SYS_3499"	}, /* 3499 */
+	{ 0,	0,	printargs,		"SYS_3500"	}, /* 3500 */
+	{ 0,	0,	printargs,		"SYS_3501"	}, /* 3501 */
+	{ 0,	0,	printargs,		"SYS_3502"	}, /* 3502 */
+	{ 0,	0,	printargs,		"SYS_3503"	}, /* 3503 */
+	{ 0,	0,	printargs,		"SYS_3504"	}, /* 3504 */
+	{ 0,	0,	printargs,		"SYS_3505"	}, /* 3505 */
+	{ 0,	0,	printargs,		"SYS_3506"	}, /* 3506 */
+	{ 0,	0,	printargs,		"SYS_3507"	}, /* 3507 */
+	{ 0,	0,	printargs,		"SYS_3508"	}, /* 3508 */
+	{ 0,	0,	printargs,		"SYS_3509"	}, /* 3509 */
+	{ 0,	0,	printargs,		"SYS_3510"	}, /* 3510 */
+	{ 0,	0,	printargs,		"SYS_3511"	}, /* 3511 */
+	{ 0,	0,	printargs,		"SYS_3512"	}, /* 3512 */
+	{ 0,	0,	printargs,		"SYS_3513"	}, /* 3513 */
+	{ 0,	0,	printargs,		"SYS_3514"	}, /* 3514 */
+	{ 0,	0,	printargs,		"SYS_3515"	}, /* 3515 */
+	{ 0,	0,	printargs,		"SYS_3516"	}, /* 3516 */
+	{ 0,	0,	printargs,		"SYS_3517"	}, /* 3517 */
+	{ 0,	0,	printargs,		"SYS_3518"	}, /* 3518 */
+	{ 0,	0,	printargs,		"SYS_3519"	}, /* 3519 */
+	{ 0,	0,	printargs,		"SYS_3520"	}, /* 3520 */
+	{ 0,	0,	printargs,		"SYS_3521"	}, /* 3521 */
+	{ 0,	0,	printargs,		"SYS_3522"	}, /* 3522 */
+	{ 0,	0,	printargs,		"SYS_3523"	}, /* 3523 */
+	{ 0,	0,	printargs,		"SYS_3524"	}, /* 3524 */
+	{ 0,	0,	printargs,		"SYS_3525"	}, /* 3525 */
+	{ 0,	0,	printargs,		"SYS_3526"	}, /* 3526 */
+	{ 0,	0,	printargs,		"SYS_3527"	}, /* 3527 */
+	{ 0,	0,	printargs,		"SYS_3528"	}, /* 3528 */
+	{ 0,	0,	printargs,		"SYS_3529"	}, /* 3529 */
+	{ 0,	0,	printargs,		"SYS_3530"	}, /* 3530 */
+	{ 0,	0,	printargs,		"SYS_3531"	}, /* 3531 */
+	{ 0,	0,	printargs,		"SYS_3532"	}, /* 3532 */
+	{ 0,	0,	printargs,		"SYS_3533"	}, /* 3533 */
+	{ 0,	0,	printargs,		"SYS_3534"	}, /* 3534 */
+	{ 0,	0,	printargs,		"SYS_3535"	}, /* 3535 */
+	{ 0,	0,	printargs,		"SYS_3536"	}, /* 3536 */
+	{ 0,	0,	printargs,		"SYS_3537"	}, /* 3537 */
+	{ 0,	0,	printargs,		"SYS_3538"	}, /* 3538 */
+	{ 0,	0,	printargs,		"SYS_3539"	}, /* 3539 */
+	{ 0,	0,	printargs,		"SYS_3540"	}, /* 3540 */
+	{ 0,	0,	printargs,		"SYS_3541"	}, /* 3541 */
+	{ 0,	0,	printargs,		"SYS_3542"	}, /* 3542 */
+	{ 0,	0,	printargs,		"SYS_3543"	}, /* 3543 */
+	{ 0,	0,	printargs,		"SYS_3544"	}, /* 3544 */
+	{ 0,	0,	printargs,		"SYS_3545"	}, /* 3545 */
+	{ 0,	0,	printargs,		"SYS_3546"	}, /* 3546 */
+	{ 0,	0,	printargs,		"SYS_3547"	}, /* 3547 */
+	{ 0,	0,	printargs,		"SYS_3548"	}, /* 3548 */
+	{ 0,	0,	printargs,		"SYS_3549"	}, /* 3549 */
+	{ 0,	0,	printargs,		"SYS_3550"	}, /* 3550 */
+	{ 0,	0,	printargs,		"SYS_3551"	}, /* 3551 */
+	{ 0,	0,	printargs,		"SYS_3552"	}, /* 3552 */
+	{ 0,	0,	printargs,		"SYS_3553"	}, /* 3553 */
+	{ 0,	0,	printargs,		"SYS_3554"	}, /* 3554 */
+	{ 0,	0,	printargs,		"SYS_3555"	}, /* 3555 */
+	{ 0,	0,	printargs,		"SYS_3556"	}, /* 3556 */
+	{ 0,	0,	printargs,		"SYS_3557"	}, /* 3557 */
+	{ 0,	0,	printargs,		"SYS_3558"	}, /* 3558 */
+	{ 0,	0,	printargs,		"SYS_3559"	}, /* 3559 */
+	{ 0,	0,	printargs,		"SYS_3560"	}, /* 3560 */
+	{ 0,	0,	printargs,		"SYS_3561"	}, /* 3561 */
+	{ 0,	0,	printargs,		"SYS_3562"	}, /* 3562 */
+	{ 0,	0,	printargs,		"SYS_3563"	}, /* 3563 */
+	{ 0,	0,	printargs,		"SYS_3564"	}, /* 3564 */
+	{ 0,	0,	printargs,		"SYS_3565"	}, /* 3565 */
+	{ 0,	0,	printargs,		"SYS_3566"	}, /* 3566 */
+	{ 0,	0,	printargs,		"SYS_3567"	}, /* 3567 */
+	{ 0,	0,	printargs,		"SYS_3568"	}, /* 3568 */
+	{ 0,	0,	printargs,		"SYS_3569"	}, /* 3569 */
+	{ 0,	0,	printargs,		"SYS_3570"	}, /* 3570 */
+	{ 0,	0,	printargs,		"SYS_3571"	}, /* 3571 */
+	{ 0,	0,	printargs,		"SYS_3572"	}, /* 3572 */
+	{ 0,	0,	printargs,		"SYS_3573"	}, /* 3573 */
+	{ 0,	0,	printargs,		"SYS_3574"	}, /* 3574 */
+	{ 0,	0,	printargs,		"SYS_3575"	}, /* 3575 */
+	{ 0,	0,	printargs,		"SYS_3576"	}, /* 3576 */
+	{ 0,	0,	printargs,		"SYS_3577"	}, /* 3577 */
+	{ 0,	0,	printargs,		"SYS_3578"	}, /* 3578 */
+	{ 0,	0,	printargs,		"SYS_3579"	}, /* 3579 */
+	{ 0,	0,	printargs,		"SYS_3580"	}, /* 3580 */
+	{ 0,	0,	printargs,		"SYS_3581"	}, /* 3581 */
+	{ 0,	0,	printargs,		"SYS_3582"	}, /* 3582 */
+	{ 0,	0,	printargs,		"SYS_3583"	}, /* 3583 */
+	{ 0,	0,	printargs,		"SYS_3584"	}, /* 3584 */
+	{ 0,	0,	printargs,		"SYS_3585"	}, /* 3585 */
+	{ 0,	0,	printargs,		"SYS_3586"	}, /* 3586 */
+	{ 0,	0,	printargs,		"SYS_3587"	}, /* 3587 */
+	{ 0,	0,	printargs,		"SYS_3588"	}, /* 3588 */
+	{ 0,	0,	printargs,		"SYS_3589"	}, /* 3589 */
+	{ 0,	0,	printargs,		"SYS_3590"	}, /* 3590 */
+	{ 0,	0,	printargs,		"SYS_3591"	}, /* 3591 */
+	{ 0,	0,	printargs,		"SYS_3592"	}, /* 3592 */
+	{ 0,	0,	printargs,		"SYS_3593"	}, /* 3593 */
+	{ 0,	0,	printargs,		"SYS_3594"	}, /* 3594 */
+	{ 0,	0,	printargs,		"SYS_3595"	}, /* 3595 */
+	{ 0,	0,	printargs,		"SYS_3596"	}, /* 3596 */
+	{ 0,	0,	printargs,		"SYS_3597"	}, /* 3597 */
+	{ 0,	0,	printargs,		"SYS_3598"	}, /* 3598 */
+	{ 0,	0,	printargs,		"SYS_3599"	}, /* 3599 */
+	{ 0,	0,	printargs,		"SYS_3600"	}, /* 3600 */
+	{ 0,	0,	printargs,		"SYS_3601"	}, /* 3601 */
+	{ 0,	0,	printargs,		"SYS_3602"	}, /* 3602 */
+	{ 0,	0,	printargs,		"SYS_3603"	}, /* 3603 */
+	{ 0,	0,	printargs,		"SYS_3604"	}, /* 3604 */
+	{ 0,	0,	printargs,		"SYS_3605"	}, /* 3605 */
+	{ 0,	0,	printargs,		"SYS_3606"	}, /* 3606 */
+	{ 0,	0,	printargs,		"SYS_3607"	}, /* 3607 */
+	{ 0,	0,	printargs,		"SYS_3608"	}, /* 3608 */
+	{ 0,	0,	printargs,		"SYS_3609"	}, /* 3609 */
+	{ 0,	0,	printargs,		"SYS_3610"	}, /* 3610 */
+	{ 0,	0,	printargs,		"SYS_3611"	}, /* 3611 */
+	{ 0,	0,	printargs,		"SYS_3612"	}, /* 3612 */
+	{ 0,	0,	printargs,		"SYS_3613"	}, /* 3613 */
+	{ 0,	0,	printargs,		"SYS_3614"	}, /* 3614 */
+	{ 0,	0,	printargs,		"SYS_3615"	}, /* 3615 */
+	{ 0,	0,	printargs,		"SYS_3616"	}, /* 3616 */
+	{ 0,	0,	printargs,		"SYS_3617"	}, /* 3617 */
+	{ 0,	0,	printargs,		"SYS_3618"	}, /* 3618 */
+	{ 0,	0,	printargs,		"SYS_3619"	}, /* 3619 */
+	{ 0,	0,	printargs,		"SYS_3620"	}, /* 3620 */
+	{ 0,	0,	printargs,		"SYS_3621"	}, /* 3621 */
+	{ 0,	0,	printargs,		"SYS_3622"	}, /* 3622 */
+	{ 0,	0,	printargs,		"SYS_3623"	}, /* 3623 */
+	{ 0,	0,	printargs,		"SYS_3624"	}, /* 3624 */
+	{ 0,	0,	printargs,		"SYS_3625"	}, /* 3625 */
+	{ 0,	0,	printargs,		"SYS_3626"	}, /* 3626 */
+	{ 0,	0,	printargs,		"SYS_3627"	}, /* 3627 */
+	{ 0,	0,	printargs,		"SYS_3628"	}, /* 3628 */
+	{ 0,	0,	printargs,		"SYS_3629"	}, /* 3629 */
+	{ 0,	0,	printargs,		"SYS_3630"	}, /* 3630 */
+	{ 0,	0,	printargs,		"SYS_3631"	}, /* 3631 */
+	{ 0,	0,	printargs,		"SYS_3632"	}, /* 3632 */
+	{ 0,	0,	printargs,		"SYS_3633"	}, /* 3633 */
+	{ 0,	0,	printargs,		"SYS_3634"	}, /* 3634 */
+	{ 0,	0,	printargs,		"SYS_3635"	}, /* 3635 */
+	{ 0,	0,	printargs,		"SYS_3636"	}, /* 3636 */
+	{ 0,	0,	printargs,		"SYS_3637"	}, /* 3637 */
+	{ 0,	0,	printargs,		"SYS_3638"	}, /* 3638 */
+	{ 0,	0,	printargs,		"SYS_3639"	}, /* 3639 */
+	{ 0,	0,	printargs,		"SYS_3640"	}, /* 3640 */
+	{ 0,	0,	printargs,		"SYS_3641"	}, /* 3641 */
+	{ 0,	0,	printargs,		"SYS_3642"	}, /* 3642 */
+	{ 0,	0,	printargs,		"SYS_3643"	}, /* 3643 */
+	{ 0,	0,	printargs,		"SYS_3644"	}, /* 3644 */
+	{ 0,	0,	printargs,		"SYS_3645"	}, /* 3645 */
+	{ 0,	0,	printargs,		"SYS_3646"	}, /* 3646 */
+	{ 0,	0,	printargs,		"SYS_3647"	}, /* 3647 */
+	{ 0,	0,	printargs,		"SYS_3648"	}, /* 3648 */
+	{ 0,	0,	printargs,		"SYS_3649"	}, /* 3649 */
+	{ 0,	0,	printargs,		"SYS_3650"	}, /* 3650 */
+	{ 0,	0,	printargs,		"SYS_3651"	}, /* 3651 */
+	{ 0,	0,	printargs,		"SYS_3652"	}, /* 3652 */
+	{ 0,	0,	printargs,		"SYS_3653"	}, /* 3653 */
+	{ 0,	0,	printargs,		"SYS_3654"	}, /* 3654 */
+	{ 0,	0,	printargs,		"SYS_3655"	}, /* 3655 */
+	{ 0,	0,	printargs,		"SYS_3656"	}, /* 3656 */
+	{ 0,	0,	printargs,		"SYS_3657"	}, /* 3657 */
+	{ 0,	0,	printargs,		"SYS_3658"	}, /* 3658 */
+	{ 0,	0,	printargs,		"SYS_3659"	}, /* 3659 */
+	{ 0,	0,	printargs,		"SYS_3660"	}, /* 3660 */
+	{ 0,	0,	printargs,		"SYS_3661"	}, /* 3661 */
+	{ 0,	0,	printargs,		"SYS_3662"	}, /* 3662 */
+	{ 0,	0,	printargs,		"SYS_3663"	}, /* 3663 */
+	{ 0,	0,	printargs,		"SYS_3664"	}, /* 3664 */
+	{ 0,	0,	printargs,		"SYS_3665"	}, /* 3665 */
+	{ 0,	0,	printargs,		"SYS_3666"	}, /* 3666 */
+	{ 0,	0,	printargs,		"SYS_3667"	}, /* 3667 */
+	{ 0,	0,	printargs,		"SYS_3668"	}, /* 3668 */
+	{ 0,	0,	printargs,		"SYS_3669"	}, /* 3669 */
+	{ 0,	0,	printargs,		"SYS_3670"	}, /* 3670 */
+	{ 0,	0,	printargs,		"SYS_3671"	}, /* 3671 */
+	{ 0,	0,	printargs,		"SYS_3672"	}, /* 3672 */
+	{ 0,	0,	printargs,		"SYS_3673"	}, /* 3673 */
+	{ 0,	0,	printargs,		"SYS_3674"	}, /* 3674 */
+	{ 0,	0,	printargs,		"SYS_3675"	}, /* 3675 */
+	{ 0,	0,	printargs,		"SYS_3676"	}, /* 3676 */
+	{ 0,	0,	printargs,		"SYS_3677"	}, /* 3677 */
+	{ 0,	0,	printargs,		"SYS_3678"	}, /* 3678 */
+	{ 0,	0,	printargs,		"SYS_3679"	}, /* 3679 */
+	{ 0,	0,	printargs,		"SYS_3680"	}, /* 3680 */
+	{ 0,	0,	printargs,		"SYS_3681"	}, /* 3681 */
+	{ 0,	0,	printargs,		"SYS_3682"	}, /* 3682 */
+	{ 0,	0,	printargs,		"SYS_3683"	}, /* 3683 */
+	{ 0,	0,	printargs,		"SYS_3684"	}, /* 3684 */
+	{ 0,	0,	printargs,		"SYS_3685"	}, /* 3685 */
+	{ 0,	0,	printargs,		"SYS_3686"	}, /* 3686 */
+	{ 0,	0,	printargs,		"SYS_3687"	}, /* 3687 */
+	{ 0,	0,	printargs,		"SYS_3688"	}, /* 3688 */
+	{ 0,	0,	printargs,		"SYS_3689"	}, /* 3689 */
+	{ 0,	0,	printargs,		"SYS_3690"	}, /* 3690 */
+	{ 0,	0,	printargs,		"SYS_3691"	}, /* 3691 */
+	{ 0,	0,	printargs,		"SYS_3692"	}, /* 3692 */
+	{ 0,	0,	printargs,		"SYS_3693"	}, /* 3693 */
+	{ 0,	0,	printargs,		"SYS_3694"	}, /* 3694 */
+	{ 0,	0,	printargs,		"SYS_3695"	}, /* 3695 */
+	{ 0,	0,	printargs,		"SYS_3696"	}, /* 3696 */
+	{ 0,	0,	printargs,		"SYS_3697"	}, /* 3697 */
+	{ 0,	0,	printargs,		"SYS_3698"	}, /* 3698 */
+	{ 0,	0,	printargs,		"SYS_3699"	}, /* 3699 */
+	{ 0,	0,	printargs,		"SYS_3700"	}, /* 3700 */
+	{ 0,	0,	printargs,		"SYS_3701"	}, /* 3701 */
+	{ 0,	0,	printargs,		"SYS_3702"	}, /* 3702 */
+	{ 0,	0,	printargs,		"SYS_3703"	}, /* 3703 */
+	{ 0,	0,	printargs,		"SYS_3704"	}, /* 3704 */
+	{ 0,	0,	printargs,		"SYS_3705"	}, /* 3705 */
+	{ 0,	0,	printargs,		"SYS_3706"	}, /* 3706 */
+	{ 0,	0,	printargs,		"SYS_3707"	}, /* 3707 */
+	{ 0,	0,	printargs,		"SYS_3708"	}, /* 3708 */
+	{ 0,	0,	printargs,		"SYS_3709"	}, /* 3709 */
+	{ 0,	0,	printargs,		"SYS_3710"	}, /* 3710 */
+	{ 0,	0,	printargs,		"SYS_3711"	}, /* 3711 */
+	{ 0,	0,	printargs,		"SYS_3712"	}, /* 3712 */
+	{ 0,	0,	printargs,		"SYS_3713"	}, /* 3713 */
+	{ 0,	0,	printargs,		"SYS_3714"	}, /* 3714 */
+	{ 0,	0,	printargs,		"SYS_3715"	}, /* 3715 */
+	{ 0,	0,	printargs,		"SYS_3716"	}, /* 3716 */
+	{ 0,	0,	printargs,		"SYS_3717"	}, /* 3717 */
+	{ 0,	0,	printargs,		"SYS_3718"	}, /* 3718 */
+	{ 0,	0,	printargs,		"SYS_3719"	}, /* 3719 */
+	{ 0,	0,	printargs,		"SYS_3720"	}, /* 3720 */
+	{ 0,	0,	printargs,		"SYS_3721"	}, /* 3721 */
+	{ 0,	0,	printargs,		"SYS_3722"	}, /* 3722 */
+	{ 0,	0,	printargs,		"SYS_3723"	}, /* 3723 */
+	{ 0,	0,	printargs,		"SYS_3724"	}, /* 3724 */
+	{ 0,	0,	printargs,		"SYS_3725"	}, /* 3725 */
+	{ 0,	0,	printargs,		"SYS_3726"	}, /* 3726 */
+	{ 0,	0,	printargs,		"SYS_3727"	}, /* 3727 */
+	{ 0,	0,	printargs,		"SYS_3728"	}, /* 3728 */
+	{ 0,	0,	printargs,		"SYS_3729"	}, /* 3729 */
+	{ 0,	0,	printargs,		"SYS_3730"	}, /* 3730 */
+	{ 0,	0,	printargs,		"SYS_3731"	}, /* 3731 */
+	{ 0,	0,	printargs,		"SYS_3732"	}, /* 3732 */
+	{ 0,	0,	printargs,		"SYS_3733"	}, /* 3733 */
+	{ 0,	0,	printargs,		"SYS_3734"	}, /* 3734 */
+	{ 0,	0,	printargs,		"SYS_3735"	}, /* 3735 */
+	{ 0,	0,	printargs,		"SYS_3736"	}, /* 3736 */
+	{ 0,	0,	printargs,		"SYS_3737"	}, /* 3737 */
+	{ 0,	0,	printargs,		"SYS_3738"	}, /* 3738 */
+	{ 0,	0,	printargs,		"SYS_3739"	}, /* 3739 */
+	{ 0,	0,	printargs,		"SYS_3740"	}, /* 3740 */
+	{ 0,	0,	printargs,		"SYS_3741"	}, /* 3741 */
+	{ 0,	0,	printargs,		"SYS_3742"	}, /* 3742 */
+	{ 0,	0,	printargs,		"SYS_3743"	}, /* 3743 */
+	{ 0,	0,	printargs,		"SYS_3744"	}, /* 3744 */
+	{ 0,	0,	printargs,		"SYS_3745"	}, /* 3745 */
+	{ 0,	0,	printargs,		"SYS_3746"	}, /* 3746 */
+	{ 0,	0,	printargs,		"SYS_3747"	}, /* 3747 */
+	{ 0,	0,	printargs,		"SYS_3748"	}, /* 3748 */
+	{ 0,	0,	printargs,		"SYS_3749"	}, /* 3749 */
+	{ 0,	0,	printargs,		"SYS_3750"	}, /* 3750 */
+	{ 0,	0,	printargs,		"SYS_3751"	}, /* 3751 */
+	{ 0,	0,	printargs,		"SYS_3752"	}, /* 3752 */
+	{ 0,	0,	printargs,		"SYS_3753"	}, /* 3753 */
+	{ 0,	0,	printargs,		"SYS_3754"	}, /* 3754 */
+	{ 0,	0,	printargs,		"SYS_3755"	}, /* 3755 */
+	{ 0,	0,	printargs,		"SYS_3756"	}, /* 3756 */
+	{ 0,	0,	printargs,		"SYS_3757"	}, /* 3757 */
+	{ 0,	0,	printargs,		"SYS_3758"	}, /* 3758 */
+	{ 0,	0,	printargs,		"SYS_3759"	}, /* 3759 */
+	{ 0,	0,	printargs,		"SYS_3760"	}, /* 3760 */
+	{ 0,	0,	printargs,		"SYS_3761"	}, /* 3761 */
+	{ 0,	0,	printargs,		"SYS_3762"	}, /* 3762 */
+	{ 0,	0,	printargs,		"SYS_3763"	}, /* 3763 */
+	{ 0,	0,	printargs,		"SYS_3764"	}, /* 3764 */
+	{ 0,	0,	printargs,		"SYS_3765"	}, /* 3765 */
+	{ 0,	0,	printargs,		"SYS_3766"	}, /* 3766 */
+	{ 0,	0,	printargs,		"SYS_3767"	}, /* 3767 */
+	{ 0,	0,	printargs,		"SYS_3768"	}, /* 3768 */
+	{ 0,	0,	printargs,		"SYS_3769"	}, /* 3769 */
+	{ 0,	0,	printargs,		"SYS_3770"	}, /* 3770 */
+	{ 0,	0,	printargs,		"SYS_3771"	}, /* 3771 */
+	{ 0,	0,	printargs,		"SYS_3772"	}, /* 3772 */
+	{ 0,	0,	printargs,		"SYS_3773"	}, /* 3773 */
+	{ 0,	0,	printargs,		"SYS_3774"	}, /* 3774 */
+	{ 0,	0,	printargs,		"SYS_3775"	}, /* 3775 */
+	{ 0,	0,	printargs,		"SYS_3776"	}, /* 3776 */
+	{ 0,	0,	printargs,		"SYS_3777"	}, /* 3777 */
+	{ 0,	0,	printargs,		"SYS_3778"	}, /* 3778 */
+	{ 0,	0,	printargs,		"SYS_3779"	}, /* 3779 */
+	{ 0,	0,	printargs,		"SYS_3780"	}, /* 3780 */
+	{ 0,	0,	printargs,		"SYS_3781"	}, /* 3781 */
+	{ 0,	0,	printargs,		"SYS_3782"	}, /* 3782 */
+	{ 0,	0,	printargs,		"SYS_3783"	}, /* 3783 */
+	{ 0,	0,	printargs,		"SYS_3784"	}, /* 3784 */
+	{ 0,	0,	printargs,		"SYS_3785"	}, /* 3785 */
+	{ 0,	0,	printargs,		"SYS_3786"	}, /* 3786 */
+	{ 0,	0,	printargs,		"SYS_3787"	}, /* 3787 */
+	{ 0,	0,	printargs,		"SYS_3788"	}, /* 3788 */
+	{ 0,	0,	printargs,		"SYS_3789"	}, /* 3789 */
+	{ 0,	0,	printargs,		"SYS_3790"	}, /* 3790 */
+	{ 0,	0,	printargs,		"SYS_3791"	}, /* 3791 */
+	{ 0,	0,	printargs,		"SYS_3792"	}, /* 3792 */
+	{ 0,	0,	printargs,		"SYS_3793"	}, /* 3793 */
+	{ 0,	0,	printargs,		"SYS_3794"	}, /* 3794 */
+	{ 0,	0,	printargs,		"SYS_3795"	}, /* 3795 */
+	{ 0,	0,	printargs,		"SYS_3796"	}, /* 3796 */
+	{ 0,	0,	printargs,		"SYS_3797"	}, /* 3797 */
+	{ 0,	0,	printargs,		"SYS_3798"	}, /* 3798 */
+	{ 0,	0,	printargs,		"SYS_3799"	}, /* 3799 */
+	{ 0,	0,	printargs,		"SYS_3800"	}, /* 3800 */
+	{ 0,	0,	printargs,		"SYS_3801"	}, /* 3801 */
+	{ 0,	0,	printargs,		"SYS_3802"	}, /* 3802 */
+	{ 0,	0,	printargs,		"SYS_3803"	}, /* 3803 */
+	{ 0,	0,	printargs,		"SYS_3804"	}, /* 3804 */
+	{ 0,	0,	printargs,		"SYS_3805"	}, /* 3805 */
+	{ 0,	0,	printargs,		"SYS_3806"	}, /* 3806 */
+	{ 0,	0,	printargs,		"SYS_3807"	}, /* 3807 */
+	{ 0,	0,	printargs,		"SYS_3808"	}, /* 3808 */
+	{ 0,	0,	printargs,		"SYS_3809"	}, /* 3809 */
+	{ 0,	0,	printargs,		"SYS_3810"	}, /* 3810 */
+	{ 0,	0,	printargs,		"SYS_3811"	}, /* 3811 */
+	{ 0,	0,	printargs,		"SYS_3812"	}, /* 3812 */
+	{ 0,	0,	printargs,		"SYS_3813"	}, /* 3813 */
+	{ 0,	0,	printargs,		"SYS_3814"	}, /* 3814 */
+	{ 0,	0,	printargs,		"SYS_3815"	}, /* 3815 */
+	{ 0,	0,	printargs,		"SYS_3816"	}, /* 3816 */
+	{ 0,	0,	printargs,		"SYS_3817"	}, /* 3817 */
+	{ 0,	0,	printargs,		"SYS_3818"	}, /* 3818 */
+	{ 0,	0,	printargs,		"SYS_3819"	}, /* 3819 */
+	{ 0,	0,	printargs,		"SYS_3820"	}, /* 3820 */
+	{ 0,	0,	printargs,		"SYS_3821"	}, /* 3821 */
+	{ 0,	0,	printargs,		"SYS_3822"	}, /* 3822 */
+	{ 0,	0,	printargs,		"SYS_3823"	}, /* 3823 */
+	{ 0,	0,	printargs,		"SYS_3824"	}, /* 3824 */
+	{ 0,	0,	printargs,		"SYS_3825"	}, /* 3825 */
+	{ 0,	0,	printargs,		"SYS_3826"	}, /* 3826 */
+	{ 0,	0,	printargs,		"SYS_3827"	}, /* 3827 */
+	{ 0,	0,	printargs,		"SYS_3828"	}, /* 3828 */
+	{ 0,	0,	printargs,		"SYS_3829"	}, /* 3829 */
+	{ 0,	0,	printargs,		"SYS_3830"	}, /* 3830 */
+	{ 0,	0,	printargs,		"SYS_3831"	}, /* 3831 */
+	{ 0,	0,	printargs,		"SYS_3832"	}, /* 3832 */
+	{ 0,	0,	printargs,		"SYS_3833"	}, /* 3833 */
+	{ 0,	0,	printargs,		"SYS_3834"	}, /* 3834 */
+	{ 0,	0,	printargs,		"SYS_3835"	}, /* 3835 */
+	{ 0,	0,	printargs,		"SYS_3836"	}, /* 3836 */
+	{ 0,	0,	printargs,		"SYS_3837"	}, /* 3837 */
+	{ 0,	0,	printargs,		"SYS_3838"	}, /* 3838 */
+	{ 0,	0,	printargs,		"SYS_3839"	}, /* 3839 */
+	{ 0,	0,	printargs,		"SYS_3840"	}, /* 3840 */
+	{ 0,	0,	printargs,		"SYS_3841"	}, /* 3841 */
+	{ 0,	0,	printargs,		"SYS_3842"	}, /* 3842 */
+	{ 0,	0,	printargs,		"SYS_3843"	}, /* 3843 */
+	{ 0,	0,	printargs,		"SYS_3844"	}, /* 3844 */
+	{ 0,	0,	printargs,		"SYS_3845"	}, /* 3845 */
+	{ 0,	0,	printargs,		"SYS_3846"	}, /* 3846 */
+	{ 0,	0,	printargs,		"SYS_3847"	}, /* 3847 */
+	{ 0,	0,	printargs,		"SYS_3848"	}, /* 3848 */
+	{ 0,	0,	printargs,		"SYS_3849"	}, /* 3849 */
+	{ 0,	0,	printargs,		"SYS_3850"	}, /* 3850 */
+	{ 0,	0,	printargs,		"SYS_3851"	}, /* 3851 */
+	{ 0,	0,	printargs,		"SYS_3852"	}, /* 3852 */
+	{ 0,	0,	printargs,		"SYS_3853"	}, /* 3853 */
+	{ 0,	0,	printargs,		"SYS_3854"	}, /* 3854 */
+	{ 0,	0,	printargs,		"SYS_3855"	}, /* 3855 */
+	{ 0,	0,	printargs,		"SYS_3856"	}, /* 3856 */
+	{ 0,	0,	printargs,		"SYS_3857"	}, /* 3857 */
+	{ 0,	0,	printargs,		"SYS_3858"	}, /* 3858 */
+	{ 0,	0,	printargs,		"SYS_3859"	}, /* 3859 */
+	{ 0,	0,	printargs,		"SYS_3860"	}, /* 3860 */
+	{ 0,	0,	printargs,		"SYS_3861"	}, /* 3861 */
+	{ 0,	0,	printargs,		"SYS_3862"	}, /* 3862 */
+	{ 0,	0,	printargs,		"SYS_3863"	}, /* 3863 */
+	{ 0,	0,	printargs,		"SYS_3864"	}, /* 3864 */
+	{ 0,	0,	printargs,		"SYS_3865"	}, /* 3865 */
+	{ 0,	0,	printargs,		"SYS_3866"	}, /* 3866 */
+	{ 0,	0,	printargs,		"SYS_3867"	}, /* 3867 */
+	{ 0,	0,	printargs,		"SYS_3868"	}, /* 3868 */
+	{ 0,	0,	printargs,		"SYS_3869"	}, /* 3869 */
+	{ 0,	0,	printargs,		"SYS_3870"	}, /* 3870 */
+	{ 0,	0,	printargs,		"SYS_3871"	}, /* 3871 */
+	{ 0,	0,	printargs,		"SYS_3872"	}, /* 3872 */
+	{ 0,	0,	printargs,		"SYS_3873"	}, /* 3873 */
+	{ 0,	0,	printargs,		"SYS_3874"	}, /* 3874 */
+	{ 0,	0,	printargs,		"SYS_3875"	}, /* 3875 */
+	{ 0,	0,	printargs,		"SYS_3876"	}, /* 3876 */
+	{ 0,	0,	printargs,		"SYS_3877"	}, /* 3877 */
+	{ 0,	0,	printargs,		"SYS_3878"	}, /* 3878 */
+	{ 0,	0,	printargs,		"SYS_3879"	}, /* 3879 */
+	{ 0,	0,	printargs,		"SYS_3880"	}, /* 3880 */
+	{ 0,	0,	printargs,		"SYS_3881"	}, /* 3881 */
+	{ 0,	0,	printargs,		"SYS_3882"	}, /* 3882 */
+	{ 0,	0,	printargs,		"SYS_3883"	}, /* 3883 */
+	{ 0,	0,	printargs,		"SYS_3884"	}, /* 3884 */
+	{ 0,	0,	printargs,		"SYS_3885"	}, /* 3885 */
+	{ 0,	0,	printargs,		"SYS_3886"	}, /* 3886 */
+	{ 0,	0,	printargs,		"SYS_3887"	}, /* 3887 */
+	{ 0,	0,	printargs,		"SYS_3888"	}, /* 3888 */
+	{ 0,	0,	printargs,		"SYS_3889"	}, /* 3889 */
+	{ 0,	0,	printargs,		"SYS_3890"	}, /* 3890 */
+	{ 0,	0,	printargs,		"SYS_3891"	}, /* 3891 */
+	{ 0,	0,	printargs,		"SYS_3892"	}, /* 3892 */
+	{ 0,	0,	printargs,		"SYS_3893"	}, /* 3893 */
+	{ 0,	0,	printargs,		"SYS_3894"	}, /* 3894 */
+	{ 0,	0,	printargs,		"SYS_3895"	}, /* 3895 */
+	{ 0,	0,	printargs,		"SYS_3896"	}, /* 3896 */
+	{ 0,	0,	printargs,		"SYS_3897"	}, /* 3897 */
+	{ 0,	0,	printargs,		"SYS_3898"	}, /* 3898 */
+	{ 0,	0,	printargs,		"SYS_3899"	}, /* 3899 */
+	{ 0,	0,	printargs,		"SYS_3900"	}, /* 3900 */
+	{ 0,	0,	printargs,		"SYS_3901"	}, /* 3901 */
+	{ 0,	0,	printargs,		"SYS_3902"	}, /* 3902 */
+	{ 0,	0,	printargs,		"SYS_3903"	}, /* 3903 */
+	{ 0,	0,	printargs,		"SYS_3904"	}, /* 3904 */
+	{ 0,	0,	printargs,		"SYS_3905"	}, /* 3905 */
+	{ 0,	0,	printargs,		"SYS_3906"	}, /* 3906 */
+	{ 0,	0,	printargs,		"SYS_3907"	}, /* 3907 */
+	{ 0,	0,	printargs,		"SYS_3908"	}, /* 3908 */
+	{ 0,	0,	printargs,		"SYS_3909"	}, /* 3909 */
+	{ 0,	0,	printargs,		"SYS_3910"	}, /* 3910 */
+	{ 0,	0,	printargs,		"SYS_3911"	}, /* 3911 */
+	{ 0,	0,	printargs,		"SYS_3912"	}, /* 3912 */
+	{ 0,	0,	printargs,		"SYS_3913"	}, /* 3913 */
+	{ 0,	0,	printargs,		"SYS_3914"	}, /* 3914 */
+	{ 0,	0,	printargs,		"SYS_3915"	}, /* 3915 */
+	{ 0,	0,	printargs,		"SYS_3916"	}, /* 3916 */
+	{ 0,	0,	printargs,		"SYS_3917"	}, /* 3917 */
+	{ 0,	0,	printargs,		"SYS_3918"	}, /* 3918 */
+	{ 0,	0,	printargs,		"SYS_3919"	}, /* 3919 */
+	{ 0,	0,	printargs,		"SYS_3920"	}, /* 3920 */
+	{ 0,	0,	printargs,		"SYS_3921"	}, /* 3921 */
+	{ 0,	0,	printargs,		"SYS_3922"	}, /* 3922 */
+	{ 0,	0,	printargs,		"SYS_3923"	}, /* 3923 */
+	{ 0,	0,	printargs,		"SYS_3924"	}, /* 3924 */
+	{ 0,	0,	printargs,		"SYS_3925"	}, /* 3925 */
+	{ 0,	0,	printargs,		"SYS_3926"	}, /* 3926 */
+	{ 0,	0,	printargs,		"SYS_3927"	}, /* 3927 */
+	{ 0,	0,	printargs,		"SYS_3928"	}, /* 3928 */
+	{ 0,	0,	printargs,		"SYS_3929"	}, /* 3929 */
+	{ 0,	0,	printargs,		"SYS_3930"	}, /* 3930 */
+	{ 0,	0,	printargs,		"SYS_3931"	}, /* 3931 */
+	{ 0,	0,	printargs,		"SYS_3932"	}, /* 3932 */
+	{ 0,	0,	printargs,		"SYS_3933"	}, /* 3933 */
+	{ 0,	0,	printargs,		"SYS_3934"	}, /* 3934 */
+	{ 0,	0,	printargs,		"SYS_3935"	}, /* 3935 */
+	{ 0,	0,	printargs,		"SYS_3936"	}, /* 3936 */
+	{ 0,	0,	printargs,		"SYS_3937"	}, /* 3937 */
+	{ 0,	0,	printargs,		"SYS_3938"	}, /* 3938 */
+	{ 0,	0,	printargs,		"SYS_3939"	}, /* 3939 */
+	{ 0,	0,	printargs,		"SYS_3940"	}, /* 3940 */
+	{ 0,	0,	printargs,		"SYS_3941"	}, /* 3941 */
+	{ 0,	0,	printargs,		"SYS_3942"	}, /* 3942 */
+	{ 0,	0,	printargs,		"SYS_3943"	}, /* 3943 */
+	{ 0,	0,	printargs,		"SYS_3944"	}, /* 3944 */
+	{ 0,	0,	printargs,		"SYS_3945"	}, /* 3945 */
+	{ 0,	0,	printargs,		"SYS_3946"	}, /* 3946 */
+	{ 0,	0,	printargs,		"SYS_3947"	}, /* 3947 */
+	{ 0,	0,	printargs,		"SYS_3948"	}, /* 3948 */
+	{ 0,	0,	printargs,		"SYS_3949"	}, /* 3949 */
+	{ 0,	0,	printargs,		"SYS_3950"	}, /* 3950 */
+	{ 0,	0,	printargs,		"SYS_3951"	}, /* 3951 */
+	{ 0,	0,	printargs,		"SYS_3952"	}, /* 3952 */
+	{ 0,	0,	printargs,		"SYS_3953"	}, /* 3953 */
+	{ 0,	0,	printargs,		"SYS_3954"	}, /* 3954 */
+	{ 0,	0,	printargs,		"SYS_3955"	}, /* 3955 */
+	{ 0,	0,	printargs,		"SYS_3956"	}, /* 3956 */
+	{ 0,	0,	printargs,		"SYS_3957"	}, /* 3957 */
+	{ 0,	0,	printargs,		"SYS_3958"	}, /* 3958 */
+	{ 0,	0,	printargs,		"SYS_3959"	}, /* 3959 */
+	{ 0,	0,	printargs,		"SYS_3960"	}, /* 3960 */
+	{ 0,	0,	printargs,		"SYS_3961"	}, /* 3961 */
+	{ 0,	0,	printargs,		"SYS_3962"	}, /* 3962 */
+	{ 0,	0,	printargs,		"SYS_3963"	}, /* 3963 */
+	{ 0,	0,	printargs,		"SYS_3964"	}, /* 3964 */
+	{ 0,	0,	printargs,		"SYS_3965"	}, /* 3965 */
+	{ 0,	0,	printargs,		"SYS_3966"	}, /* 3966 */
+	{ 0,	0,	printargs,		"SYS_3967"	}, /* 3967 */
+	{ 0,	0,	printargs,		"SYS_3968"	}, /* 3968 */
+	{ 0,	0,	printargs,		"SYS_3969"	}, /* 3969 */
+	{ 0,	0,	printargs,		"SYS_3970"	}, /* 3970 */
+	{ 0,	0,	printargs,		"SYS_3971"	}, /* 3971 */
+	{ 0,	0,	printargs,		"SYS_3972"	}, /* 3972 */
+	{ 0,	0,	printargs,		"SYS_3973"	}, /* 3973 */
+	{ 0,	0,	printargs,		"SYS_3974"	}, /* 3974 */
+	{ 0,	0,	printargs,		"SYS_3975"	}, /* 3975 */
+	{ 0,	0,	printargs,		"SYS_3976"	}, /* 3976 */
+	{ 0,	0,	printargs,		"SYS_3977"	}, /* 3977 */
+	{ 0,	0,	printargs,		"SYS_3978"	}, /* 3978 */
+	{ 0,	0,	printargs,		"SYS_3979"	}, /* 3979 */
+	{ 0,	0,	printargs,		"SYS_3980"	}, /* 3980 */
+	{ 0,	0,	printargs,		"SYS_3981"	}, /* 3981 */
+	{ 0,	0,	printargs,		"SYS_3982"	}, /* 3982 */
+	{ 0,	0,	printargs,		"SYS_3983"	}, /* 3983 */
+	{ 0,	0,	printargs,		"SYS_3984"	}, /* 3984 */
+	{ 0,	0,	printargs,		"SYS_3985"	}, /* 3985 */
+	{ 0,	0,	printargs,		"SYS_3986"	}, /* 3986 */
+	{ 0,	0,	printargs,		"SYS_3987"	}, /* 3987 */
+	{ 0,	0,	printargs,		"SYS_3988"	}, /* 3988 */
+	{ 0,	0,	printargs,		"SYS_3989"	}, /* 3989 */
+	{ 0,	0,	printargs,		"SYS_3990"	}, /* 3990 */
+	{ 0,	0,	printargs,		"SYS_3991"	}, /* 3991 */
+	{ 0,	0,	printargs,		"SYS_3992"	}, /* 3992 */
+	{ 0,	0,	printargs,		"SYS_3993"	}, /* 3993 */
+	{ 0,	0,	printargs,		"SYS_3994"	}, /* 3994 */
+	{ 0,	0,	printargs,		"SYS_3995"	}, /* 3995 */
+	{ 0,	0,	printargs,		"SYS_3996"	}, /* 3996 */
+	{ 0,	0,	printargs,		"SYS_3997"	}, /* 3997 */
+	{ 0,	0,	printargs,		"SYS_3998"	}, /* 3998 */
+	{ 0,	0,	printargs,		"SYS_3999"	}, /* 3999 */ /* end of POSIX */
+#if !defined (LINUX_MIPSN32) && !defined (LINUX_MIPSN64)
+	/* For an O32 strace, decode the o32 syscalls.  */
+	{ 8,	0,	printargs,		"syscall"	}, /* 4000 */ /* start of Linux o32 */
+	{ 1,	TP,	sys_exit,		"exit"		}, /* 4001 */
+	{ 0,	TP,	sys_fork,		"fork"		}, /* 4002 */
+	{ 3,	TD,	sys_read,		"read"		}, /* 4003 */
+	{ 3,	TD,	sys_write,		"write"		}, /* 4004 */
+	{ 3,	TD|TF,	sys_open,		"open"		}, /* 4005 */
+	{ 1,	TD,	sys_close,		"close"		}, /* 4006 */
+	{ 3,	TP,	sys_waitpid,		"waitpid"	}, /* 4007 */
+	{ 2,	TD|TF,	sys_creat,		"creat"		}, /* 4008 */
+	{ 2,	TF,	sys_link,		"link"		}, /* 4009 */
+	{ 1,	TF,	sys_unlink,		"unlink"	}, /* 4010 */
+	{ 3,	TF|TP,	sys_execve,		"execve"	}, /* 4011 */
+	{ 1,	TF,	sys_chdir,		"chdir"		}, /* 4012 */
+	{ 1,	0,	sys_time,		"time"		}, /* 4013 */
+	{ 3,	TF,	sys_mknod,		"mknod"		}, /* 4014 */
+	{ 2,	TF,	sys_chmod,		"chmod"		}, /* 4015 */
+	{ 3,	TF,	sys_chown,		"lchown"	}, /* 4016 */
+	{ 0,	0,	sys_break,		"break"		}, /* 4017 */
+	{ 2,	TF,	sys_oldstat,		"oldstat"	}, /* 4018 */
+	{ 3,	TD,	sys_lseek,		"lseek"		}, /* 4019 */
+	{ 0,	0,	sys_getpid,		"getpid"	}, /* 4020 */
+	{ 5,	TF,	sys_mount,		"mount"		}, /* 4021 */
+	{ 1,	TF,	sys_umount,		"oldumount"	}, /* 4022 */
+	{ 1,	0,	sys_setuid,		"setuid"	}, /* 4023 */
+	{ 0,	0,	sys_getuid,		"getuid"	}, /* 4024 */
+	{ 1,	0,	sys_stime,		"stime"		}, /* 4025 */
+	{ 4,	0,	sys_ptrace,		"ptrace"	}, /* 4026 */
+	{ 1,	0,	sys_alarm,		"alarm"		}, /* 4027 */
+	{ 2,	TF,	sys_oldfstat,		"oldfstat"	}, /* 4028 */
+	{ 0,	TS,	sys_pause,		"pause"		}, /* 4029 */
+	{ 2,	TF,	sys_utime,		"utime"		}, /* 4030 */
+	{ 0,	0,	sys_stty,		"stty"		}, /* 4031 */
+	{ 0,	0,	sys_gtty,		"gtty"		}, /* 4032 */
+	{ 2,	TF,	sys_access,		"access"	}, /* 4033 */
+	{ 1,	0,	sys_nice,		"nice"		}, /* 4034 */
+	{ 1,	0,	sys_ftime,		"ftime"		}, /* 4035 */
+	{ 0,	0,	sys_sync,		"sync"		}, /* 4036 */
+	{ 2,	TS,	sys_kill,		"kill"		}, /* 4037 */
+	{ 2,	TF,	sys_rename,		"rename"	}, /* 4038 */
+	{ 2,	TF,	sys_mkdir,		"mkdir"		}, /* 4039 */
+	{ 1,	TF,	sys_rmdir,		"rmdir"		}, /* 4040 */
+	{ 1,	TD,	sys_dup,		"dup"		}, /* 4041 */
+	{ 1,	TD,	sys_pipe,		"pipe"		}, /* 4042 */
+	{ 1,	0,	sys_times,		"times"		}, /* 4043 */
+	{ 0,	0,	sys_prof,		"prof"		}, /* 4044 */
+	{ 1,	0,	sys_brk,		"brk"		}, /* 4045 */
+	{ 1,	0,	sys_setgid,		"setgid"	}, /* 4046 */
+	{ 0,	0,	sys_getgid,		"getgid"	}, /* 4047 */
+	{ 1,	TS,	sys_signal,		"signal"	}, /* 4048 */
+	{ 0,	0,	sys_geteuid,		"geteuid"	}, /* 4049 */
+	{ 0,	0,	sys_getegid,		"getegid"	}, /* 4050 */
+	{ 1,	TF,	sys_acct,		"acct"		}, /* 4051 */
+	{ 2,	TF,	sys_umount2,		"umount"	}, /* 4052 */
+	{ 0,	0,	sys_lock,		"lock"		}, /* 4053 */
+	{ 3,	TD,	sys_ioctl,		"ioctl"		}, /* 4054 */
+	{ 3,	TD,	sys_fcntl,		"fcntl"		}, /* 4055 */
+	{ 0,	0,	sys_mpx,		"mpx"		}, /* 4056 */
+	{ 2,	0,	sys_setpgid,		"setpgid"	}, /* 4057 */
+	{ 0,	0,	sys_ulimit,		"ulimit"	}, /* 4058 */
+	{ 1,	0,	sys_oldolduname,	"oldolduname"	}, /* 4059 */
+	{ 1,	0,	sys_umask,		"umask"		}, /* 4060 */
+	{ 1,	TF,	sys_chroot,		"chroot"	}, /* 4061 */
+	{ 2,	0,	sys_ustat,		"ustat"		}, /* 4062 */
+	{ 2,	TD,	sys_dup2,		"dup2"		}, /* 4063 */
+	{ 0,	0,	sys_getppid,		"getppid"	}, /* 4064 */
+	{ 0,	0,	sys_getpgrp,		"getpgrp"	}, /* 4065 */
+	{ 0,	0,	sys_setsid,		"setsid"	}, /* 4066 */
+	{ 3,	TS,	sys_sigaction,		"sigaction"	}, /* 4067 */
+	{ 0,	TS,	sys_siggetmask,		"siggetmask"	}, /* 4068 */
+	{ 1,	TS,	sys_sigsetmask,		"sigsetmask"	}, /* 4069 */
+	{ 2,	0,	sys_setreuid,		"setreuid"	}, /* 4070 */
+	{ 2,	0,	sys_setregid,		"setregid"	}, /* 4071 */
+	{ 3,	TS,	sys_sigsuspend,		"sigsuspend"	}, /* 4072 */
+	{ 1,	TS,	sys_sigpending,		"sigpending"	}, /* 4073 */
+	{ 2,	0,	sys_sethostname,	"sethostname"	}, /* 4074 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit"	}, /* 4075 */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"	}, /* 4076 */
+	{ 2,	0,	sys_getrusage,		"getrusage"	}, /* 4077 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday"	}, /* 4078 */
+	{ 2,	0,	sys_settimeofday,	"settimeofday"	}, /* 4079 */
+	{ 2,	0,	sys_getgroups,		"getgroups"	}, /* 4080 */
+	{ 2,	0,	sys_setgroups,		"setgroups"	}, /* 4081 */
+	{ 0,	0,	printargs,		"reserved82"	}, /* 4082 */
+	{ 2,	TF,	sys_symlink,		"symlink"	}, /* 4083 */
+	{ 2,	TF,	sys_oldlstat,		"oldlstat"	}, /* 4084 */
+	{ 3,	TF,	sys_readlink,		"readlink"	}, /* 4085 */
+	{ 1,	TF,	sys_uselib,		"uselib"	}, /* 4086 */
+	{ 1,	TF,	sys_swapon,		"swapon"	}, /* 4087 */
+	{ 3,	0,	sys_reboot,		"reboot"	}, /* 4088 */
+	{ 3,	TD,	sys_readdir,		"readdir"	}, /* 4089 */
+	{ 6,	0,	sys_mmap,		"old_mmap"	}, /* 4090 */
+	{ 2,	0,	sys_munmap,		"munmap"	}, /* 4091 */
+	{ 2,	TF,	sys_truncate,		"truncate"	}, /* 4092 */
+	{ 2,	TD,	sys_ftruncate,		"ftruncate"	}, /* 4093 */
+	{ 2,	TD,	sys_fchmod,		"fchmod"	}, /* 4094 */
+	{ 3,	TD,	sys_fchown,		"fchown"	}, /* 4095 */
+	{ 2,	0,	sys_getpriority,	"getpriority"	}, /* 4096 */
+	{ 3,	0,	sys_setpriority,	"setpriority"	}, /* 4097 */
+	{ 0,	0,	sys_profil,		"profil"	}, /* 4098 */
+	{ 3,	TF,	sys_statfs,		"statfs"	}, /* 4099 */
+	{ 3,	TD,	sys_fstatfs,		"fstatfs"	}, /* 4100 */
+	{ 0,	0,	sys_ioperm,		"ioperm"	}, /* 4101 */
+	{ 2,	TD,	sys_socketcall,		"socketcall"	}, /* 4102 */
+	{ 3,	0,	sys_syslog,		"syslog"	}, /* 4103 */
+	{ 3,	0,	sys_setitimer,		"setitimer"	}, /* 4104 */
+	{ 2,	0,	sys_getitimer,		"getitimer"	}, /* 4105 */
+	{ 2,	TF,	sys_stat,		"stat"		}, /* 4106 */
+	{ 2,	TF,	sys_lstat,		"lstat"		}, /* 4107 */
+	{ 2,	TD,	sys_fstat,		"fstat"		}, /* 4108 */
+	{ 1,	0,	sys_olduname,		"olduname"	}, /* 4109 */
+	{ 0,	0,	sys_iopl,		"iopl"		}, /* 4110 */
+	{ 0,	0,	sys_vhangup,		"vhangup"	}, /* 4111 */
+	{ 0,	0,	sys_idle,		"idle"		}, /* 4112 */
+	{ 5,	0,	sys_vm86old,		"vm86"		}, /* 4113 */
+	{ 4,	TP,	sys_wait4,		"wait4"		}, /* 4114 */
+	{ 1,	0,	sys_swapoff,		"swapoff"	}, /* 4115 */
+	{ 1,	0,	sys_sysinfo,		"sysinfo"	}, /* 4116 */
+	{ 6,	0,	sys_ipc,		"ipc"		}, /* 4117 */
+	{ 1,	TD,	sys_fsync,		"fsync"		}, /* 4118 */
+	{ 1,	TS,	sys_sigreturn,		"sigreturn"	}, /* 4119 */
+	{ 5,	TP,	sys_clone,		"clone"		}, /* 4120 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname"	}, /* 4121 */
+	{ 1,	0,	sys_uname,		"uname"		}, /* 4122 */
+	{ 0,	0,	sys_modify_ldt,		"modify_ldt"	}, /* 4123 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex"	}, /* 4124 */
+	{ 3,	0,	sys_mprotect,		"mprotect"	}, /* 4125 */
+	{ 3,	TS,	sys_sigprocmask,	"sigprocmask"	}, /* 4126 */
+	{ 2,	0,	sys_create_module,	"create_module"	}, /* 4127 */
+	{ 3,	0,	sys_init_module,	"init_module"	}, /* 4128 */
+	{ 2,	0,	sys_delete_module,	"delete_module"	}, /* 4129 */
+	{ 1,	0,	sys_get_kernel_syms,	"get_kernel_syms"}, /* 4130 */
+	{ 4,	0,	sys_quotactl,		"quotactl"	}, /* 4131 */
+	{ 1,	0,	sys_getpgid,		"getpgid"	}, /* 4132 */
+	{ 1,	TF,	sys_fchdir,		"fchdir"	}, /* 4133 */
+	{ 2,	0,	sys_bdflush,		"bdflush"	}, /* 4134 */
+	{ 3,	0,	sys_sysfs,		"sysfs"		}, /* 4135 */
+	{ 1,	0,	sys_personality,	"personality"	}, /* 4136 */
+	{ 0,	0,	sys_afs_syscall,	"afs_syscall"	}, /* 4137 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid"	}, /* 4138 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid"	}, /* 4139 */
+	{ 5,	TF,	sys_llseek,		"_llseek"	}, /* 4140 */
+	{ 3,	TD,	sys_getdents,		"getdents"	}, /* 4141 */
+	{ 5,	TD,	sys_select,		"_newselect"	}, /* 4142 */
+	{ 2,	TD,	sys_flock,		"flock"		}, /* 4143 */
+	{ 3,	0,	sys_msync,		"msync"		}, /* 4144 */
+	{ 3,	TD,	sys_readv,		"readv"		}, /* 4145 */
+	{ 3,	TD,	sys_writev,		"writev"	}, /* 4146 */
+	{ 3,	0,	printargs,		"cacheflush"	}, /* 4147 */
+	{ 3,	0,	printargs,		"cachectl"	}, /* 4148 */
+	{ 4,	0,	sys_sysmips,		"sysmips"	}, /* 4149 */
+	{ 0,	0,	sys_setup,		"setup"		}, /* 4150 */
+	{ 1,	0,	sys_getsid,		"getsid"	}, /* 4151 */
+	{ 1,	TD,	sys_fdatasync,		"fdatasync"	}, /* 4152 */
+	{ 1,	0,	sys_sysctl,		"_sysctl"	}, /* 4153 */
+	{ 2,	0,	sys_mlock,		"mlock"		}, /* 4154 */
+	{ 2,	0,	sys_munlock,		"munlock"	}, /* 4155 */
+	{ 1,	0,	sys_mlockall,		"mlockall"	}, /* 4156 */
+	{ 0,	0,	sys_munlockall,		"munlockall"	}, /* 4157 */
+	{ 2,	0,	sys_sched_setparam,	"sched_setparam"}, /* 4158 */
+	{ 2,	0,	sys_sched_getparam,	"sched_getparam"}, /* 4159 */
+	{ 3,	0,	sys_sched_setscheduler,	"sched_setscheduler"}, /* 4160 */
+	{ 1,	0,	sys_sched_getscheduler,	"sched_getscheduler"}, /* 4161 */
+	{ 0,	0,	sys_sched_yield,	"sched_yield"	}, /* 4162 */
+	{ 1,	0,	sys_sched_get_priority_max,"sched_get_priority_max"}, /* 4163 */
+	{ 1,	0,	sys_sched_get_priority_min,"sched_get_priority_min"}, /* 4164 */
+	{ 2,	0,	sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 4165 */
+	{ 2,	0,	sys_nanosleep,		"nanosleep"	}, /* 4166 */
+	{ 5,	0,	sys_mremap,		"mremap"	}, /* 4167 */
+	{ 3,	TN,	sys_accept,		"accept"	}, /* 4168 */
+	{ 3,	TN,	sys_bind,		"bind"		}, /* 4169 */
+	{ 3,	TN,	sys_connect,		"connect"	}, /* 4170 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	}, /* 4171 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	}, /* 4172 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 4173 */
+	{ 2,	TN,	sys_listen,		"listen"	}, /* 4174 */
+	{ 4,	TN,	sys_recv,		"recv"		}, /* 4175 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom"	}, /* 4176 */
+	{ 3,	TN,	sys_recvmsg,		"recvmsg"	}, /* 4177 */
+	{ 4,	TN,	sys_send,		"send"		}, /* 4178 */
+	{ 3,	TN,	sys_sendmsg,		"sendmsg"	}, /* 4179 */
+	{ 6,	TN,	sys_sendto,		"sendto"	}, /* 4180 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	}, /* 4181 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	}, /* 4182 */
+	{ 3,	TN,	sys_socket,		"socket"	}, /* 4183 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"	}, /* 4184 */
+	{ 3,	0,	sys_setresuid,		"setresuid"	}, /* 4185 */
+	{ 3,	0,	sys_getresuid,		"getresuid"	}, /* 4186 */
+	{ 5,	0,	sys_query_module,	"query_module"	}, /* 4187 */
+	{ 3,	TD,	sys_poll,		"poll"		}, /* 4188 */
+	{ 3,	0,	printargs,		"nfsservctl"	}, /* 4189 */
+	{ 3,	0,	sys_setresgid,		"setresgid"	}, /* 4190 */
+	{ 3,	0,	sys_getresgid,		"getresgid"	}, /* 4191 */
+	{ 5,	0,	printargs,		"prctl"		}, /* 4192 */
+	{ 1,	TS,	printargs,		"rt_sigreturn"	}, /* 4193 */
+	{ 4,	TS,	sys_rt_sigaction,	"rt_sigaction"	}, /* 4194 */
+	{ 4,	TS,	sys_rt_sigprocmask,	"rt_sigprocmask"}, /* 4195 */
+	{ 2,	TS,	sys_rt_sigpending,	"rt_sigpending"	}, /* 4196 */
+	{ 4,	TS,	sys_rt_sigtimedwait,	"rt_sigtimedwait"},/* 4197 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,	"rt_sigqueueinfo"},/* 4198 */
+	{ 2,	TS,	sys_rt_sigsuspend,	"rt_sigsuspend"	}, /* 4199 */
+	{ 6,	TD,	sys_pread,		"pread"		}, /* 4200 */
+	{ 6,	TD,	sys_pwrite,		"pwrite"	}, /* 4201 */
+	{ 3,	TF,	sys_chown,		"chown"		}, /* 4202 */
+	{ 2,	TF,	sys_getcwd,		"getcwd"	}, /* 4203 */
+	{ 2,	0,	sys_capget,		"capget"	}, /* 4204 */
+	{ 2,	0,	sys_capset,		"capset"	}, /* 4205 */
+	{ 2,	TS,	sys_sigaltstack,	"sigaltstatck"	}, /* 4206 */
+	{ 4,	TD|TN,	sys_sendfile,		"sendfile"	}, /* 4207 */
+	{ 0,	0,	printargs,		"SYS_4208"	}, /* 4208 */
+	{ 0,	0,	printargs,		"SYS_4209"	}, /* 4209 */
+	{ 6,	0,	sys_mmap,		"mmap"		}, /* 4210 */
+	{ 4,	TF,	sys_truncate64,		"truncate64"	}, /* 4211 */
+	{ 4,	TD,	sys_ftruncate64,	"ftruncate64"	}, /* 4212 */
+	{ 2,	TF,	printargs,		"stat64"	}, /* 4213 */
+	{ 2,	TF,	sys_lstat64,		"lstat64"	}, /* 4214 */
+	{ 2,	TD,	sys_fstat64,		"fstat64"	}, /* 4215 */
+	{ 2,	TF,	sys_pivotroot,		"pivot_root"	}, /* 4216 */
+	{ 3,	0,	printargs,		"mincore"	}, /* 4217 */
+	{ 3,	0,	sys_madvise,		"madvise"	}, /* 4218 */
+	{ 3,	TF,	sys_getdents64,		"getdents64"	}, /* 4219 */
+	{ 3,	TD,	sys_fcntl,		"fcntl64"	}, /* 4220 */
+	{ 0,	0,	printargs,		"SYS_4221"	}, /* 4221 */
+	{ 0,	0,	printargs,		"gettid"	}, /* 4222 */
+	{ 5,	TD,	sys_readahead,		"readahead"	}, /* 4223 */
+	{ 5,	TF,	sys_setxattr,		"setxattr"	}, /* 4224 */
+	{ 5,	TF,	sys_setxattr,		"lsetxattr"	}, /* 4225 */
+	{ 5,	TD,	sys_fsetxattr,		"fsetxattr"	}, /* 4226 */
+	{ 4,	TF,	sys_getxattr,		"getxattr"	}, /* 4227 */
+	{ 4,	TF,	sys_getxattr,		"lgetxattr"	}, /* 4228 */
+	{ 4,	0,	sys_fgetxattr,		"fgetxattr"	}, /* 4229 */
+	{ 3,	TF,	sys_listxattr,		"listxattr"	}, /* 4230 */
+	{ 3,	TF,	sys_listxattr,		"llistxattr"	}, /* 4231 */
+	{ 3,	0,	sys_flistxattr,		"flistxattr"	}, /* 4232 */
+	{ 2,	TF,	sys_removexattr,	"removexattr"	}, /* 4233 */
+	{ 2,	TF,	sys_removexattr,	"lremovexattr"	}, /* 4234 */
+	{ 2,	TD,	sys_fremovexattr,	"fremovexattr"	}, /* 4235 */
+	{ 2,	TS,	sys_kill,		"tkill"		}, /* 4236 */
+	{ 5,	TD|TN,	sys_sendfile64,		"sendfile64"	}, /* 4237 */
+	{ 6,	0,	sys_futex,		"futex"		}, /* 4238 */
+	{ 3,	0,	sys_sched_setaffinity,	"sched_setaffinity"}, /* 4239 */
+	{ 3,	0,	sys_sched_getaffinity,	"sched_getaffinity"}, /* 4240 */
+	{ 2,	0,	sys_io_setup,		"io_setup"	}, /* 4241 */
+	{ 1,	0,	sys_io_destroy,		"io_destroy"	}, /* 4242 */
+	{ 5,	0,	sys_io_getevents,		"io_getevents"	}, /* 4243 */
+	{ 3,	0,	sys_io_submit,		"io_submit"	}, /* 4244 */
+	{ 3,	0,	sys_io_cancel,		"io_cancel"	}, /* 4245 */
+	{ 1,	TP,	sys_exit,		"exit_group"	}, /* 4246 */
+	{ 4,	0,	printargs,		"lookup_dcookie"}, /* 4247 */
+	{ 1,	0,	sys_epoll_create,	"epoll_create"	}, /* 4248 */
+	{ 4,	TD,	sys_epoll_ctl,		"epoll_ctl"	}, /* 4249 */
+	{ 3,	TD,	sys_epoll_wait,		"epoll_wait"	}, /* 4250 */
+	{ 5,	0,	sys_remap_file_pages,	"remap_file_pages"}, /* 4251 */
+	{ 1,	0,	printargs,		"set_tid_address"}, /* 4252 */
+	{ 0,	0,	sys_restart_syscall,	"restart_syscall"}, /* 4253 */
+	{ 6,	0,	sys_fadvise64_64,	"fadvise64_64"	}, /* 4254 */
+	{ 3,	TF,	sys_statfs64,		"statfs64"	}, /* 4255 */
+	{ 2,	TD,	sys_fstatfs64,		"fstatfs64"	}, /* 4256 */
+	{ 3,	0,	sys_timer_create,	"timer_create"	}, /* 4257 */
+	{ 4,	0,	sys_timer_settime,	"timer_settime"	}, /* 4258 */
+	{ 2,	0,	sys_timer_gettime,	"timer_gettime"	}, /* 4259 */
+	{ 1,	0,	sys_timer_getoverrun,	"timer_getoverrun"}, /* 4260 */
+	{ 1,	0,	sys_timer_delete,	"timer_delete"	}, /* 4261 */
+	{ 2,	0,	sys_clock_settime,	"clock_settime"	}, /* 4262 */
+	{ 2,	0,	sys_clock_gettime,	"clock_gettime"	}, /* 4263 */
+	{ 2,	0,	sys_clock_getres,	"clock_getres"	}, /* 4264 */
+	{ 4,	0,	sys_clock_nanosleep,	"clock_nanosleep"}, /* 4265 */
+	{ 3,	TS,	sys_tgkill,		"tgkill"	}, /* 4266 */
+	{ 2,	TF,	sys_utimes,		"utimes"	}, /* 4267 */
+	{ 4,	0,	sys_mbind,		"mbind"		}, /* 4268 */
+	{ 0,	0,	printargs,		"SYS_4269"	}, /* 4269 */
+	{ 0,	0,	printargs,		"SYS_4270"	}, /* 4270 */
+	{ 4,	0,	sys_mq_open,		"mq_open"	}, /* 4271 */
+	{ 1,	0,	sys_mq_unlink,		"mq_unlink"	}, /* 4272 */
+	{ 5,	0,	sys_mq_timedsend,	"mq_timedsend"	}, /* 4273 */
+	{ 5,	0,	sys_mq_timedreceive,	"mq_timedreceive"}, /* 4274 */
+	{ 2,	0,	sys_mq_notify,		"mq_notify"	}, /* 4275 */
+	{ 3,	0,	sys_mq_getsetattr,	"mq_getsetattr"	}, /* 4276 */
+	{ 0,	0,	printargs,		"SYS_4277"	}, /* 4277 */
+	{ 5,	TP,	sys_waitid,		"waitid"	}, /* 4278 */
+	{ 0,	0,	printargs,		"SYS_4279"	}, /* 4279 */
+	{ 5,	0,	printargs,		"add_key"	}, /* 4280 */
+	{ 4,	0,	printargs,		"request_key"	}, /* 4281 */
+	{ 5,	0,	printargs,		"keyctl"	}, /* 4282 */
+	{ 1,	0,	sys_set_thread_area,	"set_thread_area" }, /* 4283 */
+	{ 0,	TD,	printargs,		"inotify_init"	}, /* 4284 */
+	{ 3,	TD,	sys_inotify_add_watch,	"inotify_add_watch" }, /* 4285 */
+	{ 2,	TD,	sys_inotify_rm_watch,	"inotify_rm_watch" }, /* 4286 */
+	{ 4,	0,	printargs,		"migrate_pages"	}, /* 4287 */
+	{ 4,	TD|TF,	sys_openat,		"openat"	}, /* 4288 */
+	{ 3,	TD|TF,	sys_mkdirat,		"mkdirat"	}, /* 4289 */
+	{ 4,	TD|TF,	sys_mknodat,		"mknodat"	}, /* 4290 */
+	{ 5,	TD|TF,	sys_fchownat,		"fchownat"	}, /* 4291 */
+	{ 3,	TD|TF,	sys_futimesat,		"futimesat"	}, /* 4292 */
+	{ 4,	TD|TD,	sys_newfstatat,		"newfstatat"	}, /* 4293 */
+	{ 3,	TD|TF,	sys_unlinkat,		"unlinkat"	}, /* 4294 */
+	{ 4,	TD|TF,	sys_renameat,		"renameat"	}, /* 4295 */
+	{ 5,	TD|TF,	sys_linkat,		"linkat"	}, /* 4296 */
+	{ 3,	TD|TF,	sys_symlinkat,		"symlinkat"	}, /* 4297 */
+	{ 4,	TD|TF,	sys_readlinkat,		"readlinkat"	}, /* 4298 */
+	{ 3,	TD|TF,	sys_fchmodat,		"fchmodat"	}, /* 4299 */
+	{ 3,	TD|TF,	sys_faccessat,		"faccessat"	}, /* 4300 */
+	{ 6,	TD,	sys_pselect6,		"pselect6"	}, /* 4301 */
+	{ 5,	TD,	sys_ppoll,		"ppoll"		}, /* 4302 */
+	{ 1,	TP,	sys_unshare,		"unshare"	}, /* 4303 */
+	{ 6,	TD,	printargs,		"splice"	}, /* 4304 */
+	{ 4,	TD,	printargs,		"sync_file_range" }, /* 4305 */
+	{ 0,	0,	printargs,		"SYS_4306"	}, /* 4306 */
+	{ 0,	0,	printargs,		"SYS_4307"	}, /* 4307 */
+	{ 6,	0,	sys_move_pages,		"move_pages"	}, /* 4308 */
+	{ 0,	0,	printargs,		"SYS_4309"	}, /* 4309 */
+	{ 0,	0,	printargs,		"SYS_4310"	}, /* 4310 */
+	{ 0,	0,	printargs,		"SYS_4311"	}, /* 4311 */
+	{ 3,	0,	sys_getcpu,		"getcpu"	}, /* 4312 */
+	{ 5,	TD,	sys_epoll_pwait,	"epoll_pwait"	}, /* 4313 */
+	{ 0,	0,	printargs,		"SYS_4314"	}, /* 4314 */
+	{ 0,	0,	printargs,		"SYS_4315"	}, /* 4315 */
+	{ 0,	0,	printargs,		"SYS_4316"	}, /* 4316 */
+	{ 3,	TD|TS,	sys_signalfd,		"signalfd"	}, /* 4317 */
+	{ 4,	TD,	sys_timerfd,		"timerfd"	}, /* 4318 */
+	{ 1,	TD,	sys_eventfd,		"eventfd"	}, /* 4319 */
+#else
+	{ 0,	0,	printargs,		"o32_syscall"	}, /* 4000 */
+	{ 0,	0,	printargs,		"o32_exit"		}, /* 4001 */
+	{ 0,	0,	printargs,		"o32_fork"		}, /* 4002 */
+	{ 0,	0,	printargs,		"o32_read"		}, /* 4003 */
+	{ 0,	0,	printargs,		"o32_write"		}, /* 4004 */
+	{ 0,	0,	printargs,		"o32_open"		}, /* 4005 */
+	{ 0,	0,	printargs,		"o32_close"		}, /* 4006 */
+	{ 0,	0,	printargs,		"o32_waitpid"	}, /* 4007 */
+	{ 0,	0,	printargs,		"o32_creat"		}, /* 4008 */
+	{ 0,	0,	printargs,		"o32_link"		}, /* 4009 */
+	{ 0,	0,	printargs,		"o32_unlink"	}, /* 4010 */
+	{ 0,	0,	printargs,		"o32_execve"	}, /* 4011 */
+	{ 0,	0,	printargs,		"o32_chdir"		}, /* 4012 */
+	{ 0,	0,	printargs,		"o32_time"		}, /* 4013 */
+	{ 0,	0,	printargs,		"o32_mknod"		}, /* 4014 */
+	{ 0,	0,	printargs,		"o32_chmod"		}, /* 4015 */
+	{ 0,	0,	printargs,		"o32_lchown"	}, /* 4016 */
+	{ 0,	0,	printargs,		"o32_break"		}, /* 4017 */
+	{ 0,	0,	printargs,		"o32_oldstat"	}, /* 4018 */
+	{ 0,	0,	printargs,		"o32_lseek"		}, /* 4019 */
+	{ 0,	0,	printargs,		"o32_getpid"	}, /* 4020 */
+	{ 0,	0,	printargs,		"o32_mount"		}, /* 4021 */
+	{ 0,	0,	printargs,		"o32_oldumount"	}, /* 4022 */
+	{ 0,	0,	printargs,		"o32_setuid"	}, /* 4023 */
+	{ 0,	0,	printargs,		"o32_getuid"	}, /* 4024 */
+	{ 0,	0,	printargs,		"o32_stime"		}, /* 4025 */
+	{ 0,	0,	printargs,		"o32_ptrace"	}, /* 4026 */
+	{ 0,	0,	printargs,		"o32_alarm"		}, /* 4027 */
+	{ 0,	0,	printargs,		"o32_oldfstat"	}, /* 4028 */
+	{ 0,	0,	printargs,		"o32_pause"		}, /* 4029 */
+	{ 0,	0,	printargs,		"o32_utime"		}, /* 4030 */
+	{ 0,	0,	printargs,		"o32_stty"		}, /* 4031 */
+	{ 0,	0,	printargs,		"o32_gtty"		}, /* 4032 */
+	{ 0,	0,	printargs,		"o32_access"	}, /* 4033 */
+	{ 0,	0,	printargs,		"o32_nice"		}, /* 4034 */
+	{ 0,	0,	printargs,		"o32_ftime"		}, /* 4035 */
+	{ 0,	0,	printargs,		"o32_sync"		}, /* 4036 */
+	{ 0,	0,	printargs,		"o32_kill"		}, /* 4037 */
+	{ 0,	0,	printargs,		"o32_rename"	}, /* 4038 */
+	{ 0,	0,	printargs,		"o32_mkdir"		}, /* 4039 */
+	{ 0,	0,	printargs,		"o32_rmdir"		}, /* 4040 */
+	{ 0,	0,	printargs,		"o32_dup"		}, /* 4041 */
+	{ 0,	0,	printargs,		"o32_pipe"		}, /* 4042 */
+	{ 0,	0,	printargs,		"o32_times"		}, /* 4043 */
+	{ 0,	0,	printargs,		"o32_prof"		}, /* 4044 */
+	{ 0,	0,	printargs,		"o32_brk"		}, /* 4045 */
+	{ 0,	0,	printargs,		"o32_setgid"	}, /* 4046 */
+	{ 0,	0,	printargs,		"o32_getgid"	}, /* 4047 */
+	{ 0,	0,	printargs,		"o32_signal"	}, /* 4048 */
+	{ 0,	0,	printargs,		"o32_geteuid"	}, /* 4049 */
+	{ 0,	0,	printargs,		"o32_getegid"	}, /* 4050 */
+	{ 0,	0,	printargs,		"o32_acct"		}, /* 4051 */
+	{ 0,	0,	printargs,		"o32_umount"	}, /* 4052 */
+	{ 0,	0,	printargs,		"o32_lock"		}, /* 4053 */
+	{ 0,	0,	printargs,		"o32_ioctl"		}, /* 4054 */
+	{ 0,	0,	printargs,		"o32_fcntl"		}, /* 4055 */
+	{ 0,	0,	printargs,		"o32_mpx"		}, /* 4056 */
+	{ 0,	0,	printargs,		"o32_setpgid"	}, /* 4057 */
+	{ 0,	0,	printargs,		"o32_ulimit"	}, /* 4058 */
+	{ 0,	0,	printargs,		"o32_oldolduname"	}, /* 4059 */
+	{ 0,	0,	printargs,		"o32_umask"		}, /* 4060 */
+	{ 0,	0,	printargs,		"o32_chroot"	}, /* 4061 */
+	{ 0,	0,	printargs,		"o32_ustat"		}, /* 4062 */
+	{ 0,	0,	printargs,		"o32_dup2"		}, /* 4063 */
+	{ 0,	0,	printargs,		"o32_getppid"	}, /* 4064 */
+	{ 0,	0,	printargs,		"o32_getpgrp"	}, /* 4065 */
+	{ 0,	0,	printargs,		"o32_setsid"	}, /* 4066 */
+	{ 0,	0,	printargs,		"o32_sigaction"	}, /* 4067 */
+	{ 0,	0,	printargs,		"o32_siggetmask"	}, /* 4068 */
+	{ 0,	0,	printargs,		"o32_sigsetmask"	}, /* 4069 */
+	{ 0,	0,	printargs,		"o32_setreuid"	}, /* 4070 */
+	{ 0,	0,	printargs,		"o32_setregid"	}, /* 4071 */
+	{ 0,	0,	printargs,		"o32_sigsuspend"	}, /* 4072 */
+	{ 0,	0,	printargs,		"o32_sigpending"	}, /* 4073 */
+	{ 0,	0,	printargs,		"o32_sethostname"	}, /* 4074 */
+	{ 0,	0,	printargs,		"o32_setrlimit"	}, /* 4075 */
+	{ 0,	0,	printargs,		"o32_getrlimit"	}, /* 4076 */
+	{ 0,	0,	printargs,		"o32_getrusage"	}, /* 4077 */
+	{ 0,	0,	printargs,		"o32_gettimeofday"	}, /* 4078 */
+	{ 0,	0,	printargs,		"o32_settimeofday"	}, /* 4079 */
+	{ 0,	0,	printargs,		"o32_getgroups"	}, /* 4080 */
+	{ 0,	0,	printargs,		"o32_setgroups"	}, /* 4081 */
+	{ 0,	0,	printargs,		"o32_reserved82"	}, /* 4082 */
+	{ 0,	0,	printargs,		"o32_symlink"	}, /* 4083 */
+	{ 0,	0,	printargs,		"o32_oldlstat"	}, /* 4084 */
+	{ 0,	0,	printargs,		"o32_readlink"	}, /* 4085 */
+	{ 0,	0,	printargs,		"o32_uselib"	}, /* 4086 */
+	{ 0,	0,	printargs,		"o32_swapon"	}, /* 4087 */
+	{ 0,	0,	printargs,		"o32_reboot"	}, /* 4088 */
+	{ 0,	0,	printargs,		"o32_readdir"	}, /* 4089 */
+	{ 0,	0,	printargs,		"o32_old_mmap"	}, /* 4090 */
+	{ 0,	0,	printargs,		"o32_munmap"	}, /* 4091 */
+	{ 0,	0,	printargs,		"o32_truncate"	}, /* 4092 */
+	{ 0,	0,	printargs,		"o32_ftruncate"	}, /* 4093 */
+	{ 0,	0,	printargs,		"o32_fchmod"	}, /* 4094 */
+	{ 0,	0,	printargs,		"o32_fchown"	}, /* 4095 */
+	{ 0,	0,	printargs,		"o32_getpriority"	}, /* 4096 */
+	{ 0,	0,	printargs,		"o32_setpriority"	}, /* 4097 */
+	{ 0,	0,	printargs,		"o32_profil"	}, /* 4098 */
+	{ 0,	0,	printargs,		"o32_statfs"	}, /* 4099 */
+	{ 0,	0,	printargs,		"o32_fstatfs"	}, /* 4100 */
+	{ 0,	0,	printargs,		"o32_ioperm"	}, /* 4101 */
+	{ 0,	0,	printargs,		"o32_socketcall"	}, /* 4102 */
+	{ 0,	0,	printargs,		"o32_syslog"	}, /* 4103 */
+	{ 0,	0,	printargs,		"o32_setitimer"	}, /* 4104 */
+	{ 0,	0,	printargs,		"o32_getitimer"	}, /* 4105 */
+	{ 0,	0,	printargs,		"o32_stat"		}, /* 4106 */
+	{ 0,	0,	printargs,		"o32_lstat"		}, /* 4107 */
+	{ 0,	0,	printargs,		"o32_fstat"		}, /* 4108 */
+	{ 0,	0,	printargs,		"o32_olduname"	}, /* 4109 */
+	{ 0,	0,	printargs,		"o32_iopl"		}, /* 4110 */
+	{ 0,	0,	printargs,		"o32_vhangup"	}, /* 4111 */
+	{ 0,	0,	printargs,		"o32_idle"		}, /* 4112 */
+	{ 0,	0,	printargs,		"o32_vm86"		}, /* 4113 */
+	{ 0,	0,	printargs,		"o32_wait4"		}, /* 4114 */
+	{ 0,	0,	printargs,		"o32_swapoff"	}, /* 4115 */
+	{ 0,	0,	printargs,		"o32_sysinfo"	}, /* 4116 */
+	{ 0,	0,	printargs,		"o32_ipc"		}, /* 4117 */
+	{ 0,	0,	printargs,		"o32_fsync"		}, /* 4118 */
+	{ 0,	0,	printargs,		"o32_sigreturn"	}, /* 4119 */
+	{ 0,	0,	printargs,		"o32_clone"		}, /* 4120 */
+	{ 0,	0,	printargs,		"o32_setdomainname"	}, /* 4121 */
+	{ 0,	0,	printargs,		"o32_uname"		}, /* 4122 */
+	{ 0,	0,	printargs,		"o32_modify_ldt"	}, /* 4123 */
+	{ 0,	0,	printargs,		"o32_adjtimex"	}, /* 4124 */
+	{ 0,	0,	printargs,		"o32_mprotect"	}, /* 4125 */
+	{ 0,	0,	printargs,		"o32_sigprocmask"	}, /* 4126 */
+	{ 0,	0,	printargs,		"o32_create_module"	}, /* 4127 */
+	{ 0,	0,	printargs,		"o32_init_module"	}, /* 4128 */
+	{ 0,	0,	printargs,		"o32_delete_module"	}, /* 4129 */
+	{ 0,	0,	printargs,		"o32_get_kernel_syms"}, /* 4130 */
+	{ 0,	0,	printargs,		"o32_quotactl"	}, /* 4131 */
+	{ 0,	0,	printargs,		"o32_getpgid"	}, /* 4132 */
+	{ 0,	0,	printargs,		"o32_fchdir"	}, /* 4133 */
+	{ 0,	0,	printargs,		"o32_bdflush"	}, /* 4134 */
+	{ 0,	0,	printargs,		"o32_sysfs"		}, /* 4135 */
+	{ 0,	0,	printargs,		"o32_personality"	}, /* 4136 */
+	{ 0,	0,	printargs,		"o32_afs_syscall"	}, /* 4137 */
+	{ 0,	0,	printargs,		"o32_setfsuid"	}, /* 4138 */
+	{ 0,	0,	printargs,		"o32_setfsgid"	}, /* 4139 */
+	{ 0,	0,	printargs,		"o32__llseek"	}, /* 4140 */
+	{ 0,	0,	printargs,		"o32_getdents"	}, /* 4141 */
+	{ 0,	0,	printargs,		"o32__newselect"	}, /* 4142 */
+	{ 0,	0,	printargs,		"o32_flock"		}, /* 4143 */
+	{ 0,	0,	printargs,		"o32_msync"		}, /* 4144 */
+	{ 0,	0,	printargs,		"o32_readv"		}, /* 4145 */
+	{ 0,	0,	printargs,		"o32_writev"	}, /* 4146 */
+	{ 0,	0,	printargs,		"o32_cacheflush"	}, /* 4147 */
+	{ 0,	0,	printargs,		"o32_cachectl"	}, /* 4148 */
+	{ 0,	0,	printargs,		"o32_sysmips"	}, /* 4149 */
+	{ 0,	0,	printargs,		"o32_setup"		}, /* 4150 */
+	{ 0,	0,	printargs,		"o32_getsid"	}, /* 4151 */
+	{ 0,	0,	printargs,		"o32_fdatasync"	}, /* 4152 */
+	{ 0,	0,	printargs,		"o32__sysctl"	}, /* 4153 */
+	{ 0,	0,	printargs,		"o32_mlock"		}, /* 4154 */
+	{ 0,	0,	printargs,		"o32_munlock"	}, /* 4155 */
+	{ 0,	0,	printargs,		"o32_mlockall"	}, /* 4156 */
+	{ 0,	0,	printargs,		"o32_munlockall"	}, /* 4157 */
+	{ 0,	0,	printargs,		"o32_sched_setparam"}, /* 4158 */
+	{ 0,	0,	printargs,		"o32_sched_getparam"}, /* 4159 */
+	{ 0,	0,	printargs,		"o32_sched_setscheduler"}, /* 4160 */
+	{ 0,	0,	printargs,		"o32_sched_getscheduler"}, /* 4161 */
+	{ 0,	0,	printargs,		"o32_sched_yield"	}, /* 4162 */
+	{ 0,	0,	printargs,		"o32_sched_get_priority_max"}, /* 4163 */
+	{ 0,	0,	printargs,		"o32_sched_get_priority_min"},/* 4164 */
+	{ 0,	0,	printargs,		"o32_sched_rr_get_interval"}, /* 4165 */
+	{ 0,	0,	printargs,		"o32_nanosleep"	}, /* 4166 */
+	{ 0,	0,	printargs,		"o32_mremap"	}, /* 4167 */
+	{ 0,	0,	printargs,		"o32_accept"	}, /* 4168 */
+	{ 0,	0,	printargs,		"o32_bind"		}, /* 4169 */
+	{ 0,	0,	printargs,		"o32_connect"	}, /* 4170 */
+	{ 0,	0,	printargs,		"o32_getpeername"	}, /* 4171 */
+	{ 0,	0,	printargs,		"o32_getsockname"	}, /* 4172 */
+	{ 0,	0,	printargs,		"o32_getsockopt"	}, /* 4173 */
+	{ 0,	0,	printargs,		"o32_listen"	}, /* 4174 */
+	{ 0,	0,	printargs,		"o32_recv"		}, /* 4175 */
+	{ 0,	0,	printargs,		"o32_recvfrom"	}, /* 4176 */
+	{ 0,	0,	printargs,		"o32_recvmsg"	}, /* 4177 */
+	{ 0,	0,	printargs,		"o32_send"		}, /* 4178 */
+	{ 0,	0,	printargs,		"o32_sendmsg"	}, /* 4179 */
+	{ 0,	0,	printargs,		"o32_sendto"	}, /* 4180 */
+	{ 0,	0,	printargs,		"o32_setsockopt"	}, /* 4181 */
+	{ 0,	0,	printargs,		"o32_shutdown"	}, /* 4182 */
+	{ 0,	0,	printargs,		"o32_socket"	}, /* 4183 */
+	{ 0,	0,	printargs,		"o32_socketpair"	}, /* 4184 */
+	{ 0,	0,	printargs,		"o32_setresuid"	}, /* 4185 */
+	{ 0,	0,	printargs,		"o32_getresuid"	}, /* 4186 */
+	{ 0,	0,	printargs,		"o32_query_module"	}, /* 4187 */
+	{ 0,	0,	printargs,		"o32_poll"		}, /* 4188 */
+	{ 0,	0,	printargs,		"o32_nfsservctl"	}, /* 4189 */
+	{ 0,	0,	printargs,		"o32_setresgid"	}, /* 4190 */
+	{ 0,	0,	printargs,		"o32_getresgid"	}, /* 4191 */
+	{ 0,	0,	printargs,		"o32_prctl"		}, /* 4192 */
+	{ 0,	0,	printargs,		"o32_rt_sigreturn"	}, /* 4193 */
+	{ 0,	0,	printargs,		"o32_rt_sigaction"	}, /* 4194 */
+	{ 0,	0,	printargs,		"o32_rt_sigprocmask"}, /* 4195 */
+	{ 0,	0,	printargs,		"o32_rt_sigpending"	}, /* 4196 */
+	{ 0,	0,	printargs,		"o32_rt_sigtimedwait"},/* 4197 */
+	{ 0,	0,	printargs,		"o32_rt_sigqueueinfo"},/* 4198 */
+	{ 0,	0,	printargs,		"o32_rt_siguspend"	}, /* 4199 */
+	{ 0,	0,	printargs,		"o32_pread"		}, /* 4200 */
+	{ 0,	0,	printargs,		"o32_pwrite"	}, /* 4201 */
+	{ 0,	0,	printargs,		"o32_chown"		}, /* 4202 */
+	{ 0,	0,	printargs,		"o32_getcwd"	}, /* 4203 */
+	{ 0,	0,	printargs,		"o32_capget"	}, /* 4204 */
+	{ 0,	0,	printargs,		"o32_capset"	}, /* 4205 */
+	{ 0,	0,	printargs,		"o32_sigaltstatck"	}, /* 4206 */
+	{ 0,	0,	printargs,		"o32_sendfile"	}, /* 4207 */
+	{ 0,	0,	printargs,		"SYS_4208"	}, /* 4208 */
+	{ 0,	0,	printargs,		"SYS_4209"	}, /* 4209 */
+	{ 0,	0,	printargs,		"o32_mmap"		}, /* 4210 */
+	{ 0,	0,	printargs,		"o32_truncate64"	}, /* 4211 */
+	{ 0,	0,	printargs,		"o32_ftruncate64"	}, /* 4212 */
+	{ 0,	0,	printargs,		"o32_stat64"	}, /* 4213 */
+	{ 0,	0,	printargs,		"o32_lstat64"	}, /* 4214 */
+	{ 0,	0,	printargs,		"o32_fstat64"	}, /* 4215 */
+	{ 0,	0,	printargs,		"o32_pivot_root"	}, /* 4216 */
+	{ 0,	0,	printargs,		"o32_mincore"	}, /* 4217 */
+	{ 0,	0,	printargs,		"o32_madvise"	}, /* 4218 */
+	{ 0,	0,	printargs,		"o32_getdents64"	}, /* 4219 */
+	{ 0,	0,	printargs,		"o32_fcntl64"	}, /* 4220 */
+	{ 0,	0,	printargs,		"SYS_4221"	}, /* 4221 */
+	{ 0,	0,	printargs,		"o32_gettid"	}, /* 4222 */
+	{ 5,	TD,	printargs,		"o32_readahead"	}, /* 4223 */
+	{ 5,	TF,	printargs,		"o32_setxattr"	}, /* 4224 */
+	{ 5,	TF,	printargs,		"o32_lsetxattr"	}, /* 4225 */
+	{ 5,	TD,	printargs,		"o32_fsetxattr"	}, /* 4226 */
+	{ 4,	TF,	printargs,		"o32_getxattr"	}, /* 4227 */
+	{ 4,	TF,	printargs,		"o32_lgetxattr"	}, /* 4228 */
+	{ 4,	0,	printargs,		"o32_fgetxattr"	}, /* 4229 */
+	{ 3,	TF,	printargs,		"o32_listxattr"	}, /* 4230 */
+	{ 3,	TF,	printargs,		"o32_llistxattr"	}, /* 4231 */
+	{ 3,	0,	printargs,		"o32_flistxattr"	}, /* 4232 */
+	{ 2,	TF,	printargs,		"o32_removexattr"	}, /* 4233 */
+	{ 2,	TF,	printargs,		"o32_lremovexattr"	}, /* 4234 */
+	{ 2,	TD,	printargs,		"o32_fremovexattr"	}, /* 4235 */
+	{ 2,	TS,	printargs,		"o32_tkill"		}, /* 4236 */
+	{ 5,	TD|TN,	printargs,		"o32_sendfile64"	}, /* 4237 */
+	{ 6,	0,	printargs,		"o32_futex"		}, /* 4238 */
+	{ 3,	0,	printargs,		"o32_sched_setaffinity"}, /* 4239 */
+	{ 3,	0,	printargs,		"o32_sched_getaffinity"}, /* 4240 */
+	{ 2,	0,	printargs,		"o32_io_setup"	}, /* 4241 */
+	{ 1,	0,	printargs,		"o32_io_destroy"	}, /* 4242 */
+	{ 5,	0,	printargs,		"o32_io_getevents"	}, /* 4243 */
+	{ 3,	0,	printargs,		"o32_io_submit"	}, /* 4244 */
+	{ 3,	0,	printargs,		"o32_io_cancel"	}, /* 4245 */
+	{ 1,	TP,	printargs,		"o32_exit_group"	}, /* 4246 */
+	{ 3,	0,	printargs,		"o32_lookup_dcookie"}, /* 4247 */
+	{ 1,	0,	printargs,		"o32_epoll_create"	}, /* 4248 */
+	{ 4,	TD,	printargs,		"o32_epoll_ctl"	}, /* 4249 */
+	{ 3,	TD,	printargs,		"o32_epoll_wait"	}, /* 4250 */
+	{ 5,	0,	printargs,		"o32_remap_file_pages"}, /* 4251 */
+	{ 1,	0,	printargs,		"o32_set_tid_address"}, /* 4252 */
+	{ 0,	0,	printargs,		"o32_restart_syscall"}, /* 4253 */
+	{ 7,	0,	printargs,		"o32_fadvise64_64"	}, /* 4254 */
+	{ 3,	TF,	printargs,		"o32_statfs64"	}, /* 4255 */
+	{ 2,	TD,	printargs,		"o32_fstatfs64"	}, /* 4256 */
+	{ 3,	0,	printargs,		"o32_timer_create"	}, /* 4257 */
+	{ 4,	0,	printargs,		"o32_timer_settime"	}, /* 4258 */
+	{ 2,	0,	printargs,		"o32_timer_gettime"	}, /* 4259 */
+	{ 1,	0,	printargs,		"o32_timer_getoverrun"}, /* 4260 */
+	{ 1,	0,	printargs,		"o32_timer_delete"	}, /* 4261 */
+	{ 2,	0,	printargs,		"o32_clock_settime"	}, /* 4262 */
+	{ 2,	0,	printargs,		"o32_clock_gettime"	}, /* 4263 */
+	{ 2,	0,	printargs,		"o32_clock_getres"	}, /* 4264 */
+	{ 4,	0,	printargs,		"o32_clock_nanosleep"}, /* 4265 */
+	{ 3,	TS,	printargs,		"o32_tgkill"	}, /* 4266 */
+	{ 2,	TF,	printargs,		"o32_utimes"	}, /* 4267 */
+	{ 4,	0,	printargs,		"o32_mbind"		}, /* 4268 */
+	{ 0,	0,	printargs,		"o32_SYS_4269"	}, /* 4269 */
+	{ 0,	0,	printargs,		"o32_SYS_4270"	}, /* 4270 */
+	{ 4,	0,	printargs,		"o32_mq_open"	}, /* 4271 */
+	{ 1,	0,	printargs,		"o32_mq_unlink"	}, /* 4272 */
+	{ 5,	0,	printargs,		"o32_mq_timedsend"	}, /* 4273 */
+	{ 5,	0,	printargs,		"o32_mq_timedreceive"}, /* 4274 */
+	{ 2,	0,	printargs,		"o32_mq_notify"	}, /* 4275 */
+	{ 3,	0,	printargs,		"o32_mq_getsetattr"	}, /* 4276 */
+	{ 0,	0,	printargs,		"o32_SYS_4277"	}, /* 4277 */
+	{ 5,	TP,	printargs,		"o32_waitid"	}, /* 4278 */
+	{ 0,	0,	printargs,		"o32_SYS_4279"	}, /* 4279 */
+	{ 5,	0,	printargs,		"o32_add_key"	}, /* 4280 */
+	{ 4,	0,	printargs,		"o32_request_key"	}, /* 4281 */
+	{ 5,	0,	printargs,		"o32_keyctl"	}, /* 4282 */
+	{ 1,	0,	printargs,		"o32_set_thread_area" }, /* 4283 */
+	{ 0,	TD,	printargs,		"o32_inotify_init"	}, /* 4284 */
+	{ 3,	TD,	printargs,		"o32_inotify_add_watch" }, /* 4285 */
+	{ 2,	TD,	printargs,		"o32_inotify_rm_watch" }, /* 4286 */
+	{ 4,	0,	printargs,		"o32_migrate_pages"	}, /* 4287 */
+	{ 4,	TD|TF,	printargs,		"o32_openat"	}, /* 4288 */
+	{ 3,	TD|TF,	printargs,		"o32_mkdirat"	}, /* 4289 */
+	{ 4,	TD|TF,	printargs,		"o32_mknodat"	}, /* 4290 */
+	{ 5,	TD|TF,	printargs,		"o32_fchownat"	}, /* 4291 */
+	{ 3,	TD|TF,	printargs,		"o32_futimesat"	}, /* 4292 */
+	{ 4,	TD|TD,	printargs,		"o32_newfstatat"	}, /* 4293 */
+	{ 3,	TD|TF,	printargs,		"o32_unlinkat"	}, /* 4294 */
+	{ 4,	TD|TF,	printargs,		"o32_renameat"	}, /* 4295 */
+	{ 5,	TD|TF,	printargs,		"o32_linkat"	}, /* 4296 */
+	{ 3,	TD|TF,	printargs,		"o32_symlinkat"	}, /* 4297 */
+	{ 4,	TD|TF,	printargs,		"o32_readlinkat"	}, /* 4298 */
+	{ 3,	TD|TF,	printargs,		"o32_fchmodat"	}, /* 4299 */
+	{ 3,	TD|TF,	printargs,		"o32_faccessat"	}, /* 4300 */
+	{ 6,	TD,	printargs,		"o32_pselect6"	}, /* 4301 */
+	{ 5,	TD,	printargs,		"o32_ppoll"		}, /* 4302 */
+	{ 1,	TP,	printargs,		"o32_unshare"	}, /* 4303 */
+	{ 6,	TD,	printargs,		"o32_splice"	}, /* 4304 */
+	{ 4,	TD,	printargs,		"o32_sync_file_range" }, /* 4305 */
+	{ 0,	0,	printargs,		"o32_SYS_4306"	}, /* 4306 */
+	{ 0,	0,	printargs,		"o32_SYS_4307"	}, /* 4307 */
+	{ 6,	0,	printargs,		"o32_move_pages"	}, /* 4308 */
+	{ 0,	0,	printargs,		"o32_SYS_4309"	}, /* 4309 */
+	{ 0,	0,	printargs,		"o32_SYS_4310"	}, /* 4310 */
+	{ 0,	0,	printargs,		"o32_SYS_4311"	}, /* 4311 */
+	{ 3,	0,	printargs,		"o32_getcpu"	}, /* 4312 */
+	{ 5,	TD,	printargs,		"o32_epoll_pwait"	}, /* 4313 */
+	{ 0,	0,	printargs,		"o32_SYS_4314"	}, /* 4314 */
+	{ 0,	0,	printargs,		"o32_SYS_4315"	}, /* 4315 */
+	{ 0,	0,	printargs,		"o32_SYS_4316"	}, /* 4316 */
+	{ 3,	TD|TS,	printargs,		"o32_signalfd"	}, /* 4317 */
+	{ 4,	TD,	printargs,		"o32_timerfd"	}, /* 4318 */
+	{ 1,	TD,	printargs,		"o32_eventfd"	}, /* 4319 */
+#endif
+	{ 0,	0,	printargs,		"SYS_4320"	}, /* 4320 */
+	{ 0,	0,	printargs,		"SYS_4321"	}, /* 4321 */
+	{ 0,	0,	printargs,		"SYS_4322"	}, /* 4322 */
+	{ 0,	0,	printargs,		"SYS_4323"	}, /* 4323 */
+	{ 0,	0,	printargs,		"SYS_4324"	}, /* 4324 */
+	{ 0,	0,	printargs,		"SYS_4325"	}, /* 4325 */
+	{ 0,	0,	printargs,		"SYS_4326"	}, /* 4326 */
+	{ 0,	0,	printargs,		"SYS_4327"	}, /* 4327 */
+	{ 0,	0,	printargs,		"SYS_4328"	}, /* 4328 */
+	{ 0,	0,	printargs,		"SYS_4329"	}, /* 4329 */
+	{ 0,	0,	printargs,		"SYS_4330"	}, /* 4330 */
+	{ 0,	0,	printargs,		"SYS_4331"	}, /* 4331 */
+	{ 0,	0,	printargs,		"SYS_4332"	}, /* 4332 */
+	{ 0,	0,	printargs,		"SYS_4333"	}, /* 4333 */
+	{ 0,	0,	printargs,		"SYS_4334"	}, /* 4334 */
+	{ 0,	0,	printargs,		"SYS_4335"	}, /* 4335 */
+	{ 0,	0,	printargs,		"SYS_4336"	}, /* 4336 */
+	{ 0,	0,	printargs,		"SYS_4337"	}, /* 4337 */
+	{ 0,	0,	printargs,		"SYS_4338"	}, /* 4338 */
+	{ 0,	0,	printargs,		"SYS_4339"	}, /* 4339 */
+	{ 0,	0,	printargs,		"SYS_4340"	}, /* 4340 */
+	{ 0,	0,	printargs,		"SYS_4341"	}, /* 4341 */
+	{ 0,	0,	printargs,		"SYS_4342"	}, /* 4342 */
+	{ 0,	0,	printargs,		"SYS_4343"	}, /* 4343 */
+	{ 0,	0,	printargs,		"SYS_4344"	}, /* 4344 */
+	{ 0,	0,	printargs,		"SYS_4345"	}, /* 4345 */
+	{ 0,	0,	printargs,		"SYS_4346"	}, /* 4346 */
+	{ 0,	0,	printargs,		"SYS_4347"	}, /* 4347 */
+	{ 0,	0,	printargs,		"SYS_4348"	}, /* 4348 */
+	{ 0,	0,	printargs,		"SYS_4349"	}, /* 4349 */
+	{ 0,	0,	printargs,		"SYS_4350"	}, /* 4350 */
+	{ 0,	0,	printargs,		"SYS_4351"	}, /* 4351 */
+	{ 0,	0,	printargs,		"SYS_4352"	}, /* 4352 */
+	{ 0,	0,	printargs,		"SYS_4353"	}, /* 4353 */
+	{ 0,	0,	printargs,		"SYS_4354"	}, /* 4354 */
+	{ 0,	0,	printargs,		"SYS_4355"	}, /* 4355 */
+	{ 0,	0,	printargs,		"SYS_4356"	}, /* 4356 */
+	{ 0,	0,	printargs,		"SYS_4357"	}, /* 4357 */
+	{ 0,	0,	printargs,		"SYS_4358"	}, /* 4358 */
+	{ 0,	0,	printargs,		"SYS_4359"	}, /* 4359 */
+	{ 0,	0,	printargs,		"SYS_4360"	}, /* 4360 */
+	{ 0,	0,	printargs,		"SYS_4361"	}, /* 4361 */
+	{ 0,	0,	printargs,		"SYS_4362"	}, /* 4362 */
+	{ 0,	0,	printargs,		"SYS_4363"	}, /* 4363 */
+	{ 0,	0,	printargs,		"SYS_4364"	}, /* 4364 */
+	{ 0,	0,	printargs,		"SYS_4365"	}, /* 4365 */
+	{ 0,	0,	printargs,		"SYS_4366"	}, /* 4366 */
+	{ 0,	0,	printargs,		"SYS_4367"	}, /* 4367 */
+	{ 0,	0,	printargs,		"SYS_4368"	}, /* 4368 */
+	{ 0,	0,	printargs,		"SYS_4369"	}, /* 4369 */
+	{ 0,	0,	printargs,		"SYS_4370"	}, /* 4370 */
+	{ 0,	0,	printargs,		"SYS_4371"	}, /* 4371 */
+	{ 0,	0,	printargs,		"SYS_4372"	}, /* 4372 */
+	{ 0,	0,	printargs,		"SYS_4373"	}, /* 4373 */
+	{ 0,	0,	printargs,		"SYS_4374"	}, /* 4374 */
+	{ 0,	0,	printargs,		"SYS_4375"	}, /* 4375 */
+	{ 0,	0,	printargs,		"SYS_4376"	}, /* 4376 */
+	{ 0,	0,	printargs,		"SYS_4377"	}, /* 4377 */
+	{ 0,	0,	printargs,		"SYS_4378"	}, /* 4378 */
+	{ 0,	0,	printargs,		"SYS_4379"	}, /* 4379 */
+	{ 0,	0,	printargs,		"SYS_4380"	}, /* 4380 */
+	{ 0,	0,	printargs,		"SYS_4381"	}, /* 4381 */
+	{ 0,	0,	printargs,		"SYS_4382"	}, /* 4382 */
+	{ 0,	0,	printargs,		"SYS_4383"	}, /* 4383 */
+	{ 0,	0,	printargs,		"SYS_4384"	}, /* 4384 */
+	{ 0,	0,	printargs,		"SYS_4385"	}, /* 4385 */
+	{ 0,	0,	printargs,		"SYS_4386"	}, /* 4386 */
+	{ 0,	0,	printargs,		"SYS_4387"	}, /* 4387 */
+	{ 0,	0,	printargs,		"SYS_4388"	}, /* 4388 */
+	{ 0,	0,	printargs,		"SYS_4389"	}, /* 4389 */
+	{ 0,	0,	printargs,		"SYS_4390"	}, /* 4390 */
+	{ 0,	0,	printargs,		"SYS_4391"	}, /* 4391 */
+	{ 0,	0,	printargs,		"SYS_4392"	}, /* 4392 */
+	{ 0,	0,	printargs,		"SYS_4393"	}, /* 4393 */
+	{ 0,	0,	printargs,		"SYS_4394"	}, /* 4394 */
+	{ 0,	0,	printargs,		"SYS_4395"	}, /* 4395 */
+	{ 0,	0,	printargs,		"SYS_4396"	}, /* 4396 */
+	{ 0,	0,	printargs,		"SYS_4397"	}, /* 4397 */
+	{ 0,	0,	printargs,		"SYS_4398"	}, /* 4398 */
+	{ 0,	0,	printargs,		"SYS_4399"	}, /* 4399 */
+	{ 0,	0,	printargs,		"SYS_4400"	}, /* 4400 */
+	{ 0,	0,	printargs,		"SYS_4401"	}, /* 4401 */
+	{ 0,	0,	printargs,		"SYS_4402"	}, /* 4402 */
+	{ 0,	0,	printargs,		"SYS_4403"	}, /* 4403 */
+	{ 0,	0,	printargs,		"SYS_4404"	}, /* 4404 */
+	{ 0,	0,	printargs,		"SYS_4405"	}, /* 4405 */
+	{ 0,	0,	printargs,		"SYS_4406"	}, /* 4406 */
+	{ 0,	0,	printargs,		"SYS_4407"	}, /* 4407 */
+	{ 0,	0,	printargs,		"SYS_4408"	}, /* 4408 */
+	{ 0,	0,	printargs,		"SYS_4409"	}, /* 4409 */
+	{ 0,	0,	printargs,		"SYS_4410"	}, /* 4410 */
+	{ 0,	0,	printargs,		"SYS_4411"	}, /* 4411 */
+	{ 0,	0,	printargs,		"SYS_4412"	}, /* 4412 */
+	{ 0,	0,	printargs,		"SYS_4413"	}, /* 4413 */
+	{ 0,	0,	printargs,		"SYS_4414"	}, /* 4414 */
+	{ 0,	0,	printargs,		"SYS_4415"	}, /* 4415 */
+	{ 0,	0,	printargs,		"SYS_4416"	}, /* 4416 */
+	{ 0,	0,	printargs,		"SYS_4417"	}, /* 4417 */
+	{ 0,	0,	printargs,		"SYS_4418"	}, /* 4418 */
+	{ 0,	0,	printargs,		"SYS_4419"	}, /* 4419 */
+	{ 0,	0,	printargs,		"SYS_4420"	}, /* 4420 */
+	{ 0,	0,	printargs,		"SYS_4421"	}, /* 4421 */
+	{ 0,	0,	printargs,		"SYS_4422"	}, /* 4422 */
+	{ 0,	0,	printargs,		"SYS_4423"	}, /* 4423 */
+	{ 0,	0,	printargs,		"SYS_4424"	}, /* 4424 */
+	{ 0,	0,	printargs,		"SYS_4425"	}, /* 4425 */
+	{ 0,	0,	printargs,		"SYS_4426"	}, /* 4426 */
+	{ 0,	0,	printargs,		"SYS_4427"	}, /* 4427 */
+	{ 0,	0,	printargs,		"SYS_4428"	}, /* 4428 */
+	{ 0,	0,	printargs,		"SYS_4429"	}, /* 4429 */
+	{ 0,	0,	printargs,		"SYS_4430"	}, /* 4430 */
+	{ 0,	0,	printargs,		"SYS_4431"	}, /* 4431 */
+	{ 0,	0,	printargs,		"SYS_4432"	}, /* 4432 */
+	{ 0,	0,	printargs,		"SYS_4433"	}, /* 4433 */
+	{ 0,	0,	printargs,		"SYS_4434"	}, /* 4434 */
+	{ 0,	0,	printargs,		"SYS_4435"	}, /* 4435 */
+	{ 0,	0,	printargs,		"SYS_4436"	}, /* 4436 */
+	{ 0,	0,	printargs,		"SYS_4437"	}, /* 4437 */
+	{ 0,	0,	printargs,		"SYS_4438"	}, /* 4438 */
+	{ 0,	0,	printargs,		"SYS_4439"	}, /* 4439 */
+	{ 0,	0,	printargs,		"SYS_4440"	}, /* 4440 */
+	{ 0,	0,	printargs,		"SYS_4441"	}, /* 4441 */
+	{ 0,	0,	printargs,		"SYS_4442"	}, /* 4442 */
+	{ 0,	0,	printargs,		"SYS_4443"	}, /* 4443 */
+	{ 0,	0,	printargs,		"SYS_4444"	}, /* 4444 */
+	{ 0,	0,	printargs,		"SYS_4445"	}, /* 4445 */
+	{ 0,	0,	printargs,		"SYS_4446"	}, /* 4446 */
+	{ 0,	0,	printargs,		"SYS_4447"	}, /* 4447 */
+	{ 0,	0,	printargs,		"SYS_4448"	}, /* 4448 */
+	{ 0,	0,	printargs,		"SYS_4449"	}, /* 4449 */
+	{ 0,	0,	printargs,		"SYS_4450"	}, /* 4450 */
+	{ 0,	0,	printargs,		"SYS_4451"	}, /* 4451 */
+	{ 0,	0,	printargs,		"SYS_4452"	}, /* 4452 */
+	{ 0,	0,	printargs,		"SYS_4453"	}, /* 4453 */
+	{ 0,	0,	printargs,		"SYS_4454"	}, /* 4454 */
+	{ 0,	0,	printargs,		"SYS_4455"	}, /* 4455 */
+	{ 0,	0,	printargs,		"SYS_4456"	}, /* 4456 */
+	{ 0,	0,	printargs,		"SYS_4457"	}, /* 4457 */
+	{ 0,	0,	printargs,		"SYS_4458"	}, /* 4458 */
+	{ 0,	0,	printargs,		"SYS_4459"	}, /* 4459 */
+	{ 0,	0,	printargs,		"SYS_4460"	}, /* 4460 */
+	{ 0,	0,	printargs,		"SYS_4461"	}, /* 4461 */
+	{ 0,	0,	printargs,		"SYS_4462"	}, /* 4462 */
+	{ 0,	0,	printargs,		"SYS_4463"	}, /* 4463 */
+	{ 0,	0,	printargs,		"SYS_4464"	}, /* 4464 */
+	{ 0,	0,	printargs,		"SYS_4465"	}, /* 4465 */
+	{ 0,	0,	printargs,		"SYS_4466"	}, /* 4466 */
+	{ 0,	0,	printargs,		"SYS_4467"	}, /* 4467 */
+	{ 0,	0,	printargs,		"SYS_4468"	}, /* 4468 */
+	{ 0,	0,	printargs,		"SYS_4469"	}, /* 4469 */
+	{ 0,	0,	printargs,		"SYS_4470"	}, /* 4470 */
+	{ 0,	0,	printargs,		"SYS_4471"	}, /* 4471 */
+	{ 0,	0,	printargs,		"SYS_4472"	}, /* 4472 */
+	{ 0,	0,	printargs,		"SYS_4473"	}, /* 4473 */
+	{ 0,	0,	printargs,		"SYS_4474"	}, /* 4474 */
+	{ 0,	0,	printargs,		"SYS_4475"	}, /* 4475 */
+	{ 0,	0,	printargs,		"SYS_4476"	}, /* 4476 */
+	{ 0,	0,	printargs,		"SYS_4477"	}, /* 4477 */
+	{ 0,	0,	printargs,		"SYS_4478"	}, /* 4478 */
+	{ 0,	0,	printargs,		"SYS_4479"	}, /* 4479 */
+	{ 0,	0,	printargs,		"SYS_4480"	}, /* 4480 */
+	{ 0,	0,	printargs,		"SYS_4481"	}, /* 4481 */
+	{ 0,	0,	printargs,		"SYS_4482"	}, /* 4482 */
+	{ 0,	0,	printargs,		"SYS_4483"	}, /* 4483 */
+	{ 0,	0,	printargs,		"SYS_4484"	}, /* 4484 */
+	{ 0,	0,	printargs,		"SYS_4485"	}, /* 4485 */
+	{ 0,	0,	printargs,		"SYS_4486"	}, /* 4486 */
+	{ 0,	0,	printargs,		"SYS_4487"	}, /* 4487 */
+	{ 0,	0,	printargs,		"SYS_4488"	}, /* 4488 */
+	{ 0,	0,	printargs,		"SYS_4489"	}, /* 4489 */
+	{ 0,	0,	printargs,		"SYS_4490"	}, /* 4490 */
+	{ 0,	0,	printargs,		"SYS_4491"	}, /* 4491 */
+	{ 0,	0,	printargs,		"SYS_4492"	}, /* 4492 */
+	{ 0,	0,	printargs,		"SYS_4493"	}, /* 4493 */
+	{ 0,	0,	printargs,		"SYS_4494"	}, /* 4494 */
+	{ 0,	0,	printargs,		"SYS_4495"	}, /* 4495 */
+	{ 0,	0,	printargs,		"SYS_4496"	}, /* 4496 */
+	{ 0,	0,	printargs,		"SYS_4497"	}, /* 4497 */
+	{ 0,	0,	printargs,		"SYS_4498"	}, /* 4498 */
+	{ 0,	0,	printargs,		"SYS_4499"	}, /* 4499 */
+	{ 0,	0,	printargs,		"SYS_4500"	}, /* 4500 */
+	{ 0,	0,	printargs,		"SYS_4501"	}, /* 4501 */
+	{ 0,	0,	printargs,		"SYS_4502"	}, /* 4502 */
+	{ 0,	0,	printargs,		"SYS_4503"	}, /* 4503 */
+	{ 0,	0,	printargs,		"SYS_4504"	}, /* 4504 */
+	{ 0,	0,	printargs,		"SYS_4505"	}, /* 4505 */
+	{ 0,	0,	printargs,		"SYS_4506"	}, /* 4506 */
+	{ 0,	0,	printargs,		"SYS_4507"	}, /* 4507 */
+	{ 0,	0,	printargs,		"SYS_4508"	}, /* 4508 */
+	{ 0,	0,	printargs,		"SYS_4509"	}, /* 4509 */
+	{ 0,	0,	printargs,		"SYS_4510"	}, /* 4510 */
+	{ 0,	0,	printargs,		"SYS_4511"	}, /* 4511 */
+	{ 0,	0,	printargs,		"SYS_4512"	}, /* 4512 */
+	{ 0,	0,	printargs,		"SYS_4513"	}, /* 4513 */
+	{ 0,	0,	printargs,		"SYS_4514"	}, /* 4514 */
+	{ 0,	0,	printargs,		"SYS_4515"	}, /* 4515 */
+	{ 0,	0,	printargs,		"SYS_4516"	}, /* 4516 */
+	{ 0,	0,	printargs,		"SYS_4517"	}, /* 4517 */
+	{ 0,	0,	printargs,		"SYS_4518"	}, /* 4518 */
+	{ 0,	0,	printargs,		"SYS_4519"	}, /* 4519 */
+	{ 0,	0,	printargs,		"SYS_4520"	}, /* 4520 */
+	{ 0,	0,	printargs,		"SYS_4521"	}, /* 4521 */
+	{ 0,	0,	printargs,		"SYS_4522"	}, /* 4522 */
+	{ 0,	0,	printargs,		"SYS_4523"	}, /* 4523 */
+	{ 0,	0,	printargs,		"SYS_4524"	}, /* 4524 */
+	{ 0,	0,	printargs,		"SYS_4525"	}, /* 4525 */
+	{ 0,	0,	printargs,		"SYS_4526"	}, /* 4526 */
+	{ 0,	0,	printargs,		"SYS_4527"	}, /* 4527 */
+	{ 0,	0,	printargs,		"SYS_4528"	}, /* 4528 */
+	{ 0,	0,	printargs,		"SYS_4529"	}, /* 4529 */
+	{ 0,	0,	printargs,		"SYS_4530"	}, /* 4530 */
+	{ 0,	0,	printargs,		"SYS_4531"	}, /* 4531 */
+	{ 0,	0,	printargs,		"SYS_4532"	}, /* 4532 */
+	{ 0,	0,	printargs,		"SYS_4533"	}, /* 4533 */
+	{ 0,	0,	printargs,		"SYS_4534"	}, /* 4534 */
+	{ 0,	0,	printargs,		"SYS_4535"	}, /* 4535 */
+	{ 0,	0,	printargs,		"SYS_4536"	}, /* 4536 */
+	{ 0,	0,	printargs,		"SYS_4537"	}, /* 4537 */
+	{ 0,	0,	printargs,		"SYS_4538"	}, /* 4538 */
+	{ 0,	0,	printargs,		"SYS_4539"	}, /* 4539 */
+	{ 0,	0,	printargs,		"SYS_4540"	}, /* 4540 */
+	{ 0,	0,	printargs,		"SYS_4541"	}, /* 4541 */
+	{ 0,	0,	printargs,		"SYS_4542"	}, /* 4542 */
+	{ 0,	0,	printargs,		"SYS_4543"	}, /* 4543 */
+	{ 0,	0,	printargs,		"SYS_4544"	}, /* 4544 */
+	{ 0,	0,	printargs,		"SYS_4545"	}, /* 4545 */
+	{ 0,	0,	printargs,		"SYS_4546"	}, /* 4546 */
+	{ 0,	0,	printargs,		"SYS_4547"	}, /* 4547 */
+	{ 0,	0,	printargs,		"SYS_4548"	}, /* 4548 */
+	{ 0,	0,	printargs,		"SYS_4549"	}, /* 4549 */
+	{ 0,	0,	printargs,		"SYS_4550"	}, /* 4550 */
+	{ 0,	0,	printargs,		"SYS_4551"	}, /* 4551 */
+	{ 0,	0,	printargs,		"SYS_4552"	}, /* 4552 */
+	{ 0,	0,	printargs,		"SYS_4553"	}, /* 4553 */
+	{ 0,	0,	printargs,		"SYS_4554"	}, /* 4554 */
+	{ 0,	0,	printargs,		"SYS_4555"	}, /* 4555 */
+	{ 0,	0,	printargs,		"SYS_4556"	}, /* 4556 */
+	{ 0,	0,	printargs,		"SYS_4557"	}, /* 4557 */
+	{ 0,	0,	printargs,		"SYS_4558"	}, /* 4558 */
+	{ 0,	0,	printargs,		"SYS_4559"	}, /* 4559 */
+	{ 0,	0,	printargs,		"SYS_4560"	}, /* 4560 */
+	{ 0,	0,	printargs,		"SYS_4561"	}, /* 4561 */
+	{ 0,	0,	printargs,		"SYS_4562"	}, /* 4562 */
+	{ 0,	0,	printargs,		"SYS_4563"	}, /* 4563 */
+	{ 0,	0,	printargs,		"SYS_4564"	}, /* 4564 */
+	{ 0,	0,	printargs,		"SYS_4565"	}, /* 4565 */
+	{ 0,	0,	printargs,		"SYS_4566"	}, /* 4566 */
+	{ 0,	0,	printargs,		"SYS_4567"	}, /* 4567 */
+	{ 0,	0,	printargs,		"SYS_4568"	}, /* 4568 */
+	{ 0,	0,	printargs,		"SYS_4569"	}, /* 4569 */
+	{ 0,	0,	printargs,		"SYS_4570"	}, /* 4570 */
+	{ 0,	0,	printargs,		"SYS_4571"	}, /* 4571 */
+	{ 0,	0,	printargs,		"SYS_4572"	}, /* 4572 */
+	{ 0,	0,	printargs,		"SYS_4573"	}, /* 4573 */
+	{ 0,	0,	printargs,		"SYS_4574"	}, /* 4574 */
+	{ 0,	0,	printargs,		"SYS_4575"	}, /* 4575 */
+	{ 0,	0,	printargs,		"SYS_4576"	}, /* 4576 */
+	{ 0,	0,	printargs,		"SYS_4577"	}, /* 4577 */
+	{ 0,	0,	printargs,		"SYS_4578"	}, /* 4578 */
+	{ 0,	0,	printargs,		"SYS_4579"	}, /* 4579 */
+	{ 0,	0,	printargs,		"SYS_4580"	}, /* 4580 */
+	{ 0,	0,	printargs,		"SYS_4581"	}, /* 4581 */
+	{ 0,	0,	printargs,		"SYS_4582"	}, /* 4582 */
+	{ 0,	0,	printargs,		"SYS_4583"	}, /* 4583 */
+	{ 0,	0,	printargs,		"SYS_4584"	}, /* 4584 */
+	{ 0,	0,	printargs,		"SYS_4585"	}, /* 4585 */
+	{ 0,	0,	printargs,		"SYS_4586"	}, /* 4586 */
+	{ 0,	0,	printargs,		"SYS_4587"	}, /* 4587 */
+	{ 0,	0,	printargs,		"SYS_4588"	}, /* 4588 */
+	{ 0,	0,	printargs,		"SYS_4589"	}, /* 4589 */
+	{ 0,	0,	printargs,		"SYS_4590"	}, /* 4590 */
+	{ 0,	0,	printargs,		"SYS_4591"	}, /* 4591 */
+	{ 0,	0,	printargs,		"SYS_4592"	}, /* 4592 */
+	{ 0,	0,	printargs,		"SYS_4593"	}, /* 4593 */
+	{ 0,	0,	printargs,		"SYS_4594"	}, /* 4594 */
+	{ 0,	0,	printargs,		"SYS_4595"	}, /* 4595 */
+	{ 0,	0,	printargs,		"SYS_4596"	}, /* 4596 */
+	{ 0,	0,	printargs,		"SYS_4597"	}, /* 4597 */
+	{ 0,	0,	printargs,		"SYS_4598"	}, /* 4598 */
+	{ 0,	0,	printargs,		"SYS_4599"	}, /* 4599 */
+	{ 0,	0,	printargs,		"SYS_4600"	}, /* 4600 */
+	{ 0,	0,	printargs,		"SYS_4601"	}, /* 4601 */
+	{ 0,	0,	printargs,		"SYS_4602"	}, /* 4602 */
+	{ 0,	0,	printargs,		"SYS_4603"	}, /* 4603 */
+	{ 0,	0,	printargs,		"SYS_4604"	}, /* 4604 */
+	{ 0,	0,	printargs,		"SYS_4605"	}, /* 4605 */
+	{ 0,	0,	printargs,		"SYS_4606"	}, /* 4606 */
+	{ 0,	0,	printargs,		"SYS_4607"	}, /* 4607 */
+	{ 0,	0,	printargs,		"SYS_4608"	}, /* 4608 */
+	{ 0,	0,	printargs,		"SYS_4609"	}, /* 4609 */
+	{ 0,	0,	printargs,		"SYS_4610"	}, /* 4610 */
+	{ 0,	0,	printargs,		"SYS_4611"	}, /* 4611 */
+	{ 0,	0,	printargs,		"SYS_4612"	}, /* 4612 */
+	{ 0,	0,	printargs,		"SYS_4613"	}, /* 4613 */
+	{ 0,	0,	printargs,		"SYS_4614"	}, /* 4614 */
+	{ 0,	0,	printargs,		"SYS_4615"	}, /* 4615 */
+	{ 0,	0,	printargs,		"SYS_4616"	}, /* 4616 */
+	{ 0,	0,	printargs,		"SYS_4617"	}, /* 4617 */
+	{ 0,	0,	printargs,		"SYS_4618"	}, /* 4618 */
+	{ 0,	0,	printargs,		"SYS_4619"	}, /* 4619 */
+	{ 0,	0,	printargs,		"SYS_4620"	}, /* 4620 */
+	{ 0,	0,	printargs,		"SYS_4621"	}, /* 4621 */
+	{ 0,	0,	printargs,		"SYS_4622"	}, /* 4622 */
+	{ 0,	0,	printargs,		"SYS_4623"	}, /* 4623 */
+	{ 0,	0,	printargs,		"SYS_4624"	}, /* 4624 */
+	{ 0,	0,	printargs,		"SYS_4625"	}, /* 4625 */
+	{ 0,	0,	printargs,		"SYS_4626"	}, /* 4626 */
+	{ 0,	0,	printargs,		"SYS_4627"	}, /* 4627 */
+	{ 0,	0,	printargs,		"SYS_4628"	}, /* 4628 */
+	{ 0,	0,	printargs,		"SYS_4629"	}, /* 4629 */
+	{ 0,	0,	printargs,		"SYS_4630"	}, /* 4630 */
+	{ 0,	0,	printargs,		"SYS_4631"	}, /* 4631 */
+	{ 0,	0,	printargs,		"SYS_4632"	}, /* 4632 */
+	{ 0,	0,	printargs,		"SYS_4633"	}, /* 4633 */
+	{ 0,	0,	printargs,		"SYS_4634"	}, /* 4634 */
+	{ 0,	0,	printargs,		"SYS_4635"	}, /* 4635 */
+	{ 0,	0,	printargs,		"SYS_4636"	}, /* 4636 */
+	{ 0,	0,	printargs,		"SYS_4637"	}, /* 4637 */
+	{ 0,	0,	printargs,		"SYS_4638"	}, /* 4638 */
+	{ 0,	0,	printargs,		"SYS_4639"	}, /* 4639 */
+	{ 0,	0,	printargs,		"SYS_4640"	}, /* 4640 */
+	{ 0,	0,	printargs,		"SYS_4641"	}, /* 4641 */
+	{ 0,	0,	printargs,		"SYS_4642"	}, /* 4642 */
+	{ 0,	0,	printargs,		"SYS_4643"	}, /* 4643 */
+	{ 0,	0,	printargs,		"SYS_4644"	}, /* 4644 */
+	{ 0,	0,	printargs,		"SYS_4645"	}, /* 4645 */
+	{ 0,	0,	printargs,		"SYS_4646"	}, /* 4646 */
+	{ 0,	0,	printargs,		"SYS_4647"	}, /* 4647 */
+	{ 0,	0,	printargs,		"SYS_4648"	}, /* 4648 */
+	{ 0,	0,	printargs,		"SYS_4649"	}, /* 4649 */
+	{ 0,	0,	printargs,		"SYS_4650"	}, /* 4650 */
+	{ 0,	0,	printargs,		"SYS_4651"	}, /* 4651 */
+	{ 0,	0,	printargs,		"SYS_4652"	}, /* 4652 */
+	{ 0,	0,	printargs,		"SYS_4653"	}, /* 4653 */
+	{ 0,	0,	printargs,		"SYS_4654"	}, /* 4654 */
+	{ 0,	0,	printargs,		"SYS_4655"	}, /* 4655 */
+	{ 0,	0,	printargs,		"SYS_4656"	}, /* 4656 */
+	{ 0,	0,	printargs,		"SYS_4657"	}, /* 4657 */
+	{ 0,	0,	printargs,		"SYS_4658"	}, /* 4658 */
+	{ 0,	0,	printargs,		"SYS_4659"	}, /* 4659 */
+	{ 0,	0,	printargs,		"SYS_4660"	}, /* 4660 */
+	{ 0,	0,	printargs,		"SYS_4661"	}, /* 4661 */
+	{ 0,	0,	printargs,		"SYS_4662"	}, /* 4662 */
+	{ 0,	0,	printargs,		"SYS_4663"	}, /* 4663 */
+	{ 0,	0,	printargs,		"SYS_4664"	}, /* 4664 */
+	{ 0,	0,	printargs,		"SYS_4665"	}, /* 4665 */
+	{ 0,	0,	printargs,		"SYS_4666"	}, /* 4666 */
+	{ 0,	0,	printargs,		"SYS_4667"	}, /* 4667 */
+	{ 0,	0,	printargs,		"SYS_4668"	}, /* 4668 */
+	{ 0,	0,	printargs,		"SYS_4669"	}, /* 4669 */
+	{ 0,	0,	printargs,		"SYS_4670"	}, /* 4670 */
+	{ 0,	0,	printargs,		"SYS_4671"	}, /* 4671 */
+	{ 0,	0,	printargs,		"SYS_4672"	}, /* 4672 */
+	{ 0,	0,	printargs,		"SYS_4673"	}, /* 4673 */
+	{ 0,	0,	printargs,		"SYS_4674"	}, /* 4674 */
+	{ 0,	0,	printargs,		"SYS_4675"	}, /* 4675 */
+	{ 0,	0,	printargs,		"SYS_4676"	}, /* 4676 */
+	{ 0,	0,	printargs,		"SYS_4677"	}, /* 4677 */
+	{ 0,	0,	printargs,		"SYS_4678"	}, /* 4678 */
+	{ 0,	0,	printargs,		"SYS_4679"	}, /* 4679 */
+	{ 0,	0,	printargs,		"SYS_4680"	}, /* 4680 */
+	{ 0,	0,	printargs,		"SYS_4681"	}, /* 4681 */
+	{ 0,	0,	printargs,		"SYS_4682"	}, /* 4682 */
+	{ 0,	0,	printargs,		"SYS_4683"	}, /* 4683 */
+	{ 0,	0,	printargs,		"SYS_4684"	}, /* 4684 */
+	{ 0,	0,	printargs,		"SYS_4685"	}, /* 4685 */
+	{ 0,	0,	printargs,		"SYS_4686"	}, /* 4686 */
+	{ 0,	0,	printargs,		"SYS_4687"	}, /* 4687 */
+	{ 0,	0,	printargs,		"SYS_4688"	}, /* 4688 */
+	{ 0,	0,	printargs,		"SYS_4689"	}, /* 4689 */
+	{ 0,	0,	printargs,		"SYS_4690"	}, /* 4690 */
+	{ 0,	0,	printargs,		"SYS_4691"	}, /* 4691 */
+	{ 0,	0,	printargs,		"SYS_4692"	}, /* 4692 */
+	{ 0,	0,	printargs,		"SYS_4693"	}, /* 4693 */
+	{ 0,	0,	printargs,		"SYS_4694"	}, /* 4694 */
+	{ 0,	0,	printargs,		"SYS_4695"	}, /* 4695 */
+	{ 0,	0,	printargs,		"SYS_4696"	}, /* 4696 */
+	{ 0,	0,	printargs,		"SYS_4697"	}, /* 4697 */
+	{ 0,	0,	printargs,		"SYS_4698"	}, /* 4698 */
+	{ 0,	0,	printargs,		"SYS_4699"	}, /* 4699 */
+	{ 0,	0,	printargs,		"SYS_4700"	}, /* 4700 */
+	{ 0,	0,	printargs,		"SYS_4701"	}, /* 4701 */
+	{ 0,	0,	printargs,		"SYS_4702"	}, /* 4702 */
+	{ 0,	0,	printargs,		"SYS_4703"	}, /* 4703 */
+	{ 0,	0,	printargs,		"SYS_4704"	}, /* 4704 */
+	{ 0,	0,	printargs,		"SYS_4705"	}, /* 4705 */
+	{ 0,	0,	printargs,		"SYS_4706"	}, /* 4706 */
+	{ 0,	0,	printargs,		"SYS_4707"	}, /* 4707 */
+	{ 0,	0,	printargs,		"SYS_4708"	}, /* 4708 */
+	{ 0,	0,	printargs,		"SYS_4709"	}, /* 4709 */
+	{ 0,	0,	printargs,		"SYS_4710"	}, /* 4710 */
+	{ 0,	0,	printargs,		"SYS_4711"	}, /* 4711 */
+	{ 0,	0,	printargs,		"SYS_4712"	}, /* 4712 */
+	{ 0,	0,	printargs,		"SYS_4713"	}, /* 4713 */
+	{ 0,	0,	printargs,		"SYS_4714"	}, /* 4714 */
+	{ 0,	0,	printargs,		"SYS_4715"	}, /* 4715 */
+	{ 0,	0,	printargs,		"SYS_4716"	}, /* 4716 */
+	{ 0,	0,	printargs,		"SYS_4717"	}, /* 4717 */
+	{ 0,	0,	printargs,		"SYS_4718"	}, /* 4718 */
+	{ 0,	0,	printargs,		"SYS_4719"	}, /* 4719 */
+	{ 0,	0,	printargs,		"SYS_4720"	}, /* 4720 */
+	{ 0,	0,	printargs,		"SYS_4721"	}, /* 4721 */
+	{ 0,	0,	printargs,		"SYS_4722"	}, /* 4722 */
+	{ 0,	0,	printargs,		"SYS_4723"	}, /* 4723 */
+	{ 0,	0,	printargs,		"SYS_4724"	}, /* 4724 */
+	{ 0,	0,	printargs,		"SYS_4725"	}, /* 4725 */
+	{ 0,	0,	printargs,		"SYS_4726"	}, /* 4726 */
+	{ 0,	0,	printargs,		"SYS_4727"	}, /* 4727 */
+	{ 0,	0,	printargs,		"SYS_4728"	}, /* 4728 */
+	{ 0,	0,	printargs,		"SYS_4729"	}, /* 4729 */
+	{ 0,	0,	printargs,		"SYS_4730"	}, /* 4730 */
+	{ 0,	0,	printargs,		"SYS_4731"	}, /* 4731 */
+	{ 0,	0,	printargs,		"SYS_4732"	}, /* 4732 */
+	{ 0,	0,	printargs,		"SYS_4733"	}, /* 4733 */
+	{ 0,	0,	printargs,		"SYS_4734"	}, /* 4734 */
+	{ 0,	0,	printargs,		"SYS_4735"	}, /* 4735 */
+	{ 0,	0,	printargs,		"SYS_4736"	}, /* 4736 */
+	{ 0,	0,	printargs,		"SYS_4737"	}, /* 4737 */
+	{ 0,	0,	printargs,		"SYS_4738"	}, /* 4738 */
+	{ 0,	0,	printargs,		"SYS_4739"	}, /* 4739 */
+	{ 0,	0,	printargs,		"SYS_4740"	}, /* 4740 */
+	{ 0,	0,	printargs,		"SYS_4741"	}, /* 4741 */
+	{ 0,	0,	printargs,		"SYS_4742"	}, /* 4742 */
+	{ 0,	0,	printargs,		"SYS_4743"	}, /* 4743 */
+	{ 0,	0,	printargs,		"SYS_4744"	}, /* 4744 */
+	{ 0,	0,	printargs,		"SYS_4745"	}, /* 4745 */
+	{ 0,	0,	printargs,		"SYS_4746"	}, /* 4746 */
+	{ 0,	0,	printargs,		"SYS_4747"	}, /* 4747 */
+	{ 0,	0,	printargs,		"SYS_4748"	}, /* 4748 */
+	{ 0,	0,	printargs,		"SYS_4749"	}, /* 4749 */
+	{ 0,	0,	printargs,		"SYS_4750"	}, /* 4750 */
+	{ 0,	0,	printargs,		"SYS_4751"	}, /* 4751 */
+	{ 0,	0,	printargs,		"SYS_4752"	}, /* 4752 */
+	{ 0,	0,	printargs,		"SYS_4753"	}, /* 4753 */
+	{ 0,	0,	printargs,		"SYS_4754"	}, /* 4754 */
+	{ 0,	0,	printargs,		"SYS_4755"	}, /* 4755 */
+	{ 0,	0,	printargs,		"SYS_4756"	}, /* 4756 */
+	{ 0,	0,	printargs,		"SYS_4757"	}, /* 4757 */
+	{ 0,	0,	printargs,		"SYS_4758"	}, /* 4758 */
+	{ 0,	0,	printargs,		"SYS_4759"	}, /* 4759 */
+	{ 0,	0,	printargs,		"SYS_4760"	}, /* 4760 */
+	{ 0,	0,	printargs,		"SYS_4761"	}, /* 4761 */
+	{ 0,	0,	printargs,		"SYS_4762"	}, /* 4762 */
+	{ 0,	0,	printargs,		"SYS_4763"	}, /* 4763 */
+	{ 0,	0,	printargs,		"SYS_4764"	}, /* 4764 */
+	{ 0,	0,	printargs,		"SYS_4765"	}, /* 4765 */
+	{ 0,	0,	printargs,		"SYS_4766"	}, /* 4766 */
+	{ 0,	0,	printargs,		"SYS_4767"	}, /* 4767 */
+	{ 0,	0,	printargs,		"SYS_4768"	}, /* 4768 */
+	{ 0,	0,	printargs,		"SYS_4769"	}, /* 4769 */
+	{ 0,	0,	printargs,		"SYS_4770"	}, /* 4770 */
+	{ 0,	0,	printargs,		"SYS_4771"	}, /* 4771 */
+	{ 0,	0,	printargs,		"SYS_4772"	}, /* 4772 */
+	{ 0,	0,	printargs,		"SYS_4773"	}, /* 4773 */
+	{ 0,	0,	printargs,		"SYS_4774"	}, /* 4774 */
+	{ 0,	0,	printargs,		"SYS_4775"	}, /* 4775 */
+	{ 0,	0,	printargs,		"SYS_4776"	}, /* 4776 */
+	{ 0,	0,	printargs,		"SYS_4777"	}, /* 4777 */
+	{ 0,	0,	printargs,		"SYS_4778"	}, /* 4778 */
+	{ 0,	0,	printargs,		"SYS_4779"	}, /* 4779 */
+	{ 0,	0,	printargs,		"SYS_4780"	}, /* 4780 */
+	{ 0,	0,	printargs,		"SYS_4781"	}, /* 4781 */
+	{ 0,	0,	printargs,		"SYS_4782"	}, /* 4782 */
+	{ 0,	0,	printargs,		"SYS_4783"	}, /* 4783 */
+	{ 0,	0,	printargs,		"SYS_4784"	}, /* 4784 */
+	{ 0,	0,	printargs,		"SYS_4785"	}, /* 4785 */
+	{ 0,	0,	printargs,		"SYS_4786"	}, /* 4786 */
+	{ 0,	0,	printargs,		"SYS_4787"	}, /* 4787 */
+	{ 0,	0,	printargs,		"SYS_4788"	}, /* 4788 */
+	{ 0,	0,	printargs,		"SYS_4789"	}, /* 4789 */
+	{ 0,	0,	printargs,		"SYS_4790"	}, /* 4790 */
+	{ 0,	0,	printargs,		"SYS_4791"	}, /* 4791 */
+	{ 0,	0,	printargs,		"SYS_4792"	}, /* 4792 */
+	{ 0,	0,	printargs,		"SYS_4793"	}, /* 4793 */
+	{ 0,	0,	printargs,		"SYS_4794"	}, /* 4794 */
+	{ 0,	0,	printargs,		"SYS_4795"	}, /* 4795 */
+	{ 0,	0,	printargs,		"SYS_4796"	}, /* 4796 */
+	{ 0,	0,	printargs,		"SYS_4797"	}, /* 4797 */
+	{ 0,	0,	printargs,		"SYS_4798"	}, /* 4798 */
+	{ 0,	0,	printargs,		"SYS_4799"	}, /* 4799 */
+	{ 0,	0,	printargs,		"SYS_4800"	}, /* 4800 */
+	{ 0,	0,	printargs,		"SYS_4801"	}, /* 4801 */
+	{ 0,	0,	printargs,		"SYS_4802"	}, /* 4802 */
+	{ 0,	0,	printargs,		"SYS_4803"	}, /* 4803 */
+	{ 0,	0,	printargs,		"SYS_4804"	}, /* 4804 */
+	{ 0,	0,	printargs,		"SYS_4805"	}, /* 4805 */
+	{ 0,	0,	printargs,		"SYS_4806"	}, /* 4806 */
+	{ 0,	0,	printargs,		"SYS_4807"	}, /* 4807 */
+	{ 0,	0,	printargs,		"SYS_4808"	}, /* 4808 */
+	{ 0,	0,	printargs,		"SYS_4809"	}, /* 4809 */
+	{ 0,	0,	printargs,		"SYS_4810"	}, /* 4810 */
+	{ 0,	0,	printargs,		"SYS_4811"	}, /* 4811 */
+	{ 0,	0,	printargs,		"SYS_4812"	}, /* 4812 */
+	{ 0,	0,	printargs,		"SYS_4813"	}, /* 4813 */
+	{ 0,	0,	printargs,		"SYS_4814"	}, /* 4814 */
+	{ 0,	0,	printargs,		"SYS_4815"	}, /* 4815 */
+	{ 0,	0,	printargs,		"SYS_4816"	}, /* 4816 */
+	{ 0,	0,	printargs,		"SYS_4817"	}, /* 4817 */
+	{ 0,	0,	printargs,		"SYS_4818"	}, /* 4818 */
+	{ 0,	0,	printargs,		"SYS_4819"	}, /* 4819 */
+	{ 0,	0,	printargs,		"SYS_4820"	}, /* 4820 */
+	{ 0,	0,	printargs,		"SYS_4821"	}, /* 4821 */
+	{ 0,	0,	printargs,		"SYS_4822"	}, /* 4822 */
+	{ 0,	0,	printargs,		"SYS_4823"	}, /* 4823 */
+	{ 0,	0,	printargs,		"SYS_4824"	}, /* 4824 */
+	{ 0,	0,	printargs,		"SYS_4825"	}, /* 4825 */
+	{ 0,	0,	printargs,		"SYS_4826"	}, /* 4826 */
+	{ 0,	0,	printargs,		"SYS_4827"	}, /* 4827 */
+	{ 0,	0,	printargs,		"SYS_4828"	}, /* 4828 */
+	{ 0,	0,	printargs,		"SYS_4829"	}, /* 4829 */
+	{ 0,	0,	printargs,		"SYS_4830"	}, /* 4830 */
+	{ 0,	0,	printargs,		"SYS_4831"	}, /* 4831 */
+	{ 0,	0,	printargs,		"SYS_4832"	}, /* 4832 */
+	{ 0,	0,	printargs,		"SYS_4833"	}, /* 4833 */
+	{ 0,	0,	printargs,		"SYS_4834"	}, /* 4834 */
+	{ 0,	0,	printargs,		"SYS_4835"	}, /* 4835 */
+	{ 0,	0,	printargs,		"SYS_4836"	}, /* 4836 */
+	{ 0,	0,	printargs,		"SYS_4837"	}, /* 4837 */
+	{ 0,	0,	printargs,		"SYS_4838"	}, /* 4838 */
+	{ 0,	0,	printargs,		"SYS_4839"	}, /* 4839 */
+	{ 0,	0,	printargs,		"SYS_4840"	}, /* 4840 */
+	{ 0,	0,	printargs,		"SYS_4841"	}, /* 4841 */
+	{ 0,	0,	printargs,		"SYS_4842"	}, /* 4842 */
+	{ 0,	0,	printargs,		"SYS_4843"	}, /* 4843 */
+	{ 0,	0,	printargs,		"SYS_4844"	}, /* 4844 */
+	{ 0,	0,	printargs,		"SYS_4845"	}, /* 4845 */
+	{ 0,	0,	printargs,		"SYS_4846"	}, /* 4846 */
+	{ 0,	0,	printargs,		"SYS_4847"	}, /* 4847 */
+	{ 0,	0,	printargs,		"SYS_4848"	}, /* 4848 */
+	{ 0,	0,	printargs,		"SYS_4849"	}, /* 4849 */
+	{ 0,	0,	printargs,		"SYS_4850"	}, /* 4850 */
+	{ 0,	0,	printargs,		"SYS_4851"	}, /* 4851 */
+	{ 0,	0,	printargs,		"SYS_4852"	}, /* 4852 */
+	{ 0,	0,	printargs,		"SYS_4853"	}, /* 4853 */
+	{ 0,	0,	printargs,		"SYS_4854"	}, /* 4854 */
+	{ 0,	0,	printargs,		"SYS_4855"	}, /* 4855 */
+	{ 0,	0,	printargs,		"SYS_4856"	}, /* 4856 */
+	{ 0,	0,	printargs,		"SYS_4857"	}, /* 4857 */
+	{ 0,	0,	printargs,		"SYS_4858"	}, /* 4858 */
+	{ 0,	0,	printargs,		"SYS_4859"	}, /* 4859 */
+	{ 0,	0,	printargs,		"SYS_4860"	}, /* 4860 */
+	{ 0,	0,	printargs,		"SYS_4861"	}, /* 4861 */
+	{ 0,	0,	printargs,		"SYS_4862"	}, /* 4862 */
+	{ 0,	0,	printargs,		"SYS_4863"	}, /* 4863 */
+	{ 0,	0,	printargs,		"SYS_4864"	}, /* 4864 */
+	{ 0,	0,	printargs,		"SYS_4865"	}, /* 4865 */
+	{ 0,	0,	printargs,		"SYS_4866"	}, /* 4866 */
+	{ 0,	0,	printargs,		"SYS_4867"	}, /* 4867 */
+	{ 0,	0,	printargs,		"SYS_4868"	}, /* 4868 */
+	{ 0,	0,	printargs,		"SYS_4869"	}, /* 4869 */
+	{ 0,	0,	printargs,		"SYS_4870"	}, /* 4870 */
+	{ 0,	0,	printargs,		"SYS_4871"	}, /* 4871 */
+	{ 0,	0,	printargs,		"SYS_4872"	}, /* 4872 */
+	{ 0,	0,	printargs,		"SYS_4873"	}, /* 4873 */
+	{ 0,	0,	printargs,		"SYS_4874"	}, /* 4874 */
+	{ 0,	0,	printargs,		"SYS_4875"	}, /* 4875 */
+	{ 0,	0,	printargs,		"SYS_4876"	}, /* 4876 */
+	{ 0,	0,	printargs,		"SYS_4877"	}, /* 4877 */
+	{ 0,	0,	printargs,		"SYS_4878"	}, /* 4878 */
+	{ 0,	0,	printargs,		"SYS_4879"	}, /* 4879 */
+	{ 0,	0,	printargs,		"SYS_4880"	}, /* 4880 */
+	{ 0,	0,	printargs,		"SYS_4881"	}, /* 4881 */
+	{ 0,	0,	printargs,		"SYS_4882"	}, /* 4882 */
+	{ 0,	0,	printargs,		"SYS_4883"	}, /* 4883 */
+	{ 0,	0,	printargs,		"SYS_4884"	}, /* 4884 */
+	{ 0,	0,	printargs,		"SYS_4885"	}, /* 4885 */
+	{ 0,	0,	printargs,		"SYS_4886"	}, /* 4886 */
+	{ 0,	0,	printargs,		"SYS_4887"	}, /* 4887 */
+	{ 0,	0,	printargs,		"SYS_4888"	}, /* 4888 */
+	{ 0,	0,	printargs,		"SYS_4889"	}, /* 4889 */
+	{ 0,	0,	printargs,		"SYS_4890"	}, /* 4890 */
+	{ 0,	0,	printargs,		"SYS_4891"	}, /* 4891 */
+	{ 0,	0,	printargs,		"SYS_4892"	}, /* 4892 */
+	{ 0,	0,	printargs,		"SYS_4893"	}, /* 4893 */
+	{ 0,	0,	printargs,		"SYS_4894"	}, /* 4894 */
+	{ 0,	0,	printargs,		"SYS_4895"	}, /* 4895 */
+	{ 0,	0,	printargs,		"SYS_4896"	}, /* 4896 */
+	{ 0,	0,	printargs,		"SYS_4897"	}, /* 4897 */
+	{ 0,	0,	printargs,		"SYS_4898"	}, /* 4898 */
+	{ 0,	0,	printargs,		"SYS_4899"	}, /* 4899 */
+	{ 0,	0,	printargs,		"SYS_4900"	}, /* 4900 */
+	{ 0,	0,	printargs,		"SYS_4901"	}, /* 4901 */
+	{ 0,	0,	printargs,		"SYS_4902"	}, /* 4902 */
+	{ 0,	0,	printargs,		"SYS_4903"	}, /* 4903 */
+	{ 0,	0,	printargs,		"SYS_4904"	}, /* 4904 */
+	{ 0,	0,	printargs,		"SYS_4905"	}, /* 4905 */
+	{ 0,	0,	printargs,		"SYS_4906"	}, /* 4906 */
+	{ 0,	0,	printargs,		"SYS_4907"	}, /* 4907 */
+	{ 0,	0,	printargs,		"SYS_4908"	}, /* 4908 */
+	{ 0,	0,	printargs,		"SYS_4909"	}, /* 4909 */
+	{ 0,	0,	printargs,		"SYS_4910"	}, /* 4910 */
+	{ 0,	0,	printargs,		"SYS_4911"	}, /* 4911 */
+	{ 0,	0,	printargs,		"SYS_4912"	}, /* 4912 */
+	{ 0,	0,	printargs,		"SYS_4913"	}, /* 4913 */
+	{ 0,	0,	printargs,		"SYS_4914"	}, /* 4914 */
+	{ 0,	0,	printargs,		"SYS_4915"	}, /* 4915 */
+	{ 0,	0,	printargs,		"SYS_4916"	}, /* 4916 */
+	{ 0,	0,	printargs,		"SYS_4917"	}, /* 4917 */
+	{ 0,	0,	printargs,		"SYS_4918"	}, /* 4918 */
+	{ 0,	0,	printargs,		"SYS_4919"	}, /* 4919 */
+	{ 0,	0,	printargs,		"SYS_4920"	}, /* 4920 */
+	{ 0,	0,	printargs,		"SYS_4921"	}, /* 4921 */
+	{ 0,	0,	printargs,		"SYS_4922"	}, /* 4922 */
+	{ 0,	0,	printargs,		"SYS_4923"	}, /* 4923 */
+	{ 0,	0,	printargs,		"SYS_4924"	}, /* 4924 */
+	{ 0,	0,	printargs,		"SYS_4925"	}, /* 4925 */
+	{ 0,	0,	printargs,		"SYS_4926"	}, /* 4926 */
+	{ 0,	0,	printargs,		"SYS_4927"	}, /* 4927 */
+	{ 0,	0,	printargs,		"SYS_4928"	}, /* 4928 */
+	{ 0,	0,	printargs,		"SYS_4929"	}, /* 4929 */
+	{ 0,	0,	printargs,		"SYS_4930"	}, /* 4930 */
+	{ 0,	0,	printargs,		"SYS_4931"	}, /* 4931 */
+	{ 0,	0,	printargs,		"SYS_4932"	}, /* 4932 */
+	{ 0,	0,	printargs,		"SYS_4933"	}, /* 4933 */
+	{ 0,	0,	printargs,		"SYS_4934"	}, /* 4934 */
+	{ 0,	0,	printargs,		"SYS_4935"	}, /* 4935 */
+	{ 0,	0,	printargs,		"SYS_4936"	}, /* 4936 */
+	{ 0,	0,	printargs,		"SYS_4937"	}, /* 4937 */
+	{ 0,	0,	printargs,		"SYS_4938"	}, /* 4938 */
+	{ 0,	0,	printargs,		"SYS_4939"	}, /* 4939 */
+	{ 0,	0,	printargs,		"SYS_4940"	}, /* 4940 */
+	{ 0,	0,	printargs,		"SYS_4941"	}, /* 4941 */
+	{ 0,	0,	printargs,		"SYS_4942"	}, /* 4942 */
+	{ 0,	0,	printargs,		"SYS_4943"	}, /* 4943 */
+	{ 0,	0,	printargs,		"SYS_4944"	}, /* 4944 */
+	{ 0,	0,	printargs,		"SYS_4945"	}, /* 4945 */
+	{ 0,	0,	printargs,		"SYS_4946"	}, /* 4946 */
+	{ 0,	0,	printargs,		"SYS_4947"	}, /* 4947 */
+	{ 0,	0,	printargs,		"SYS_4948"	}, /* 4948 */
+	{ 0,	0,	printargs,		"SYS_4949"	}, /* 4949 */
+	{ 0,	0,	printargs,		"SYS_4950"	}, /* 4950 */
+	{ 0,	0,	printargs,		"SYS_4951"	}, /* 4951 */
+	{ 0,	0,	printargs,		"SYS_4952"	}, /* 4952 */
+	{ 0,	0,	printargs,		"SYS_4953"	}, /* 4953 */
+	{ 0,	0,	printargs,		"SYS_4954"	}, /* 4954 */
+	{ 0,	0,	printargs,		"SYS_4955"	}, /* 4955 */
+	{ 0,	0,	printargs,		"SYS_4956"	}, /* 4956 */
+	{ 0,	0,	printargs,		"SYS_4957"	}, /* 4957 */
+	{ 0,	0,	printargs,		"SYS_4958"	}, /* 4958 */
+	{ 0,	0,	printargs,		"SYS_4959"	}, /* 4959 */
+	{ 0,	0,	printargs,		"SYS_4960"	}, /* 4960 */
+	{ 0,	0,	printargs,		"SYS_4961"	}, /* 4961 */
+	{ 0,	0,	printargs,		"SYS_4962"	}, /* 4962 */
+	{ 0,	0,	printargs,		"SYS_4963"	}, /* 4963 */
+	{ 0,	0,	printargs,		"SYS_4964"	}, /* 4964 */
+	{ 0,	0,	printargs,		"SYS_4965"	}, /* 4965 */
+	{ 0,	0,	printargs,		"SYS_4966"	}, /* 4966 */
+	{ 0,	0,	printargs,		"SYS_4967"	}, /* 4967 */
+	{ 0,	0,	printargs,		"SYS_4968"	}, /* 4968 */
+	{ 0,	0,	printargs,		"SYS_4969"	}, /* 4969 */
+	{ 0,	0,	printargs,		"SYS_4970"	}, /* 4970 */
+	{ 0,	0,	printargs,		"SYS_4971"	}, /* 4971 */
+	{ 0,	0,	printargs,		"SYS_4972"	}, /* 4972 */
+	{ 0,	0,	printargs,		"SYS_4973"	}, /* 4973 */
+	{ 0,	0,	printargs,		"SYS_4974"	}, /* 4974 */
+	{ 0,	0,	printargs,		"SYS_4975"	}, /* 4975 */
+	{ 0,	0,	printargs,		"SYS_4976"	}, /* 4976 */
+	{ 0,	0,	printargs,		"SYS_4977"	}, /* 4977 */
+	{ 0,	0,	printargs,		"SYS_4978"	}, /* 4978 */
+	{ 0,	0,	printargs,		"SYS_4979"	}, /* 4979 */
+	{ 0,	0,	printargs,		"SYS_4980"	}, /* 4980 */
+	{ 0,	0,	printargs,		"SYS_4981"	}, /* 4981 */
+	{ 0,	0,	printargs,		"SYS_4982"	}, /* 4982 */
+	{ 0,	0,	printargs,		"SYS_4983"	}, /* 4983 */
+	{ 0,	0,	printargs,		"SYS_4984"	}, /* 4984 */
+	{ 0,	0,	printargs,		"SYS_4985"	}, /* 4985 */
+	{ 0,	0,	printargs,		"SYS_4986"	}, /* 4986 */
+	{ 0,	0,	printargs,		"SYS_4987"	}, /* 4987 */
+	{ 0,	0,	printargs,		"SYS_4988"	}, /* 4988 */
+	{ 0,	0,	printargs,		"SYS_4989"	}, /* 4989 */
+	{ 0,	0,	printargs,		"SYS_4990"	}, /* 4990 */
+	{ 0,	0,	printargs,		"SYS_4991"	}, /* 4991 */
+	{ 0,	0,	printargs,		"SYS_4992"	}, /* 4992 */
+	{ 0,	0,	printargs,		"SYS_4993"	}, /* 4993 */
+	{ 0,	0,	printargs,		"SYS_4994"	}, /* 4994 */
+	{ 0,	0,	printargs,		"SYS_4995"	}, /* 4995 */
+	{ 0,	0,	printargs,		"SYS_4996"	}, /* 4996 */
+	{ 0,	0,	printargs,		"SYS_4997"	}, /* 4997 */
+	{ 0,	0,	printargs,		"SYS_4998"	}, /* 4998 */
+	{ 0,	0,	printargs,		"SYS_4999"	}, /* 4999 */ /* end of Linux o32 */
+#if defined (LINUX_MIPSN64)
+	/* For an N64 strace decode the N64 64-bit syscalls.  */
+	{ 3,	TF,	sys_read,		"read"		}, /* 5000 */ /* start of Linux N64 */
+	{ 3,	TF,	sys_write,		"write"		}, /* 5001 */
+	{ 3,	TF,	sys_open,		"open"		}, /* 5002 */
+	{ 1,	0,	sys_close,		"close"		}, /* 5003 */
+	{ 2,	TF,	sys_stat,		"stat"		}, /* 5004 */
+	{ 2,	0,	sys_fstat,		"fstat"		}, /* 5005 */
+	{ 2,	TF,	sys_lstat,		"lstat"		}, /* 5006 */
+	{ 3,	0,	sys_poll,		"poll"		}, /* 5007 */
+	{ 3,	0,	sys_lseek,		"lseek"		}, /* 5008 */
+	{ 6,	0,	sys_mmap,		"mmap"		}, /* 5009 */
+	{ 3,	0,	sys_mprotect,		"mprotect"	}, /* 5010 */
+	{ 2,	0,	sys_munmap,		"munmap"	}, /* 5011 */
+	{ 1,	0,	sys_brk,		"brk"		}, /* 5012 */
+	{ 4,	TS,	sys_rt_sigaction,	"rt_sigaction"	}, /* 5013 */
+	{ 4,	TS,	sys_rt_sigprocmask,	"rt_sigprocmask"}, /* 5014 */
+	{ 3,	0,	sys_ioctl,		"ioctl"		}, /* 5015 */
+	{ 6,	TF,	sys_pread64,		"pread"		}, /* 5016 */
+	{ 6,	TF,	sys_pwrite64,		"pwrite"	}, /* 5017 */
+	{ 3,	0,	sys_readv,		"readv"		}, /* 5018 */
+	{ 3,	0,	sys_writev,		"writev"	}, /* 5019 */
+	{ 2,	TF,	sys_access,		"access"	}, /* 5020 */
+	{ 1,	0,	sys_pipe,		"pipe"		}, /* 5021 */
+	{ 5,	0,	sys_select,		"_newselect"	}, /* 5022 */
+	{ 0,	0,	sys_sched_yield,	"sched_yield"	}, /* 5023 */
+	{ 5,	0,	sys_mremap,		"mremap"	}, /* 5024 */
+	{ 3,	0,	sys_msync,		"msync"		}, /* 5025 */
+	{ 3,	0,	printargs,		"mincore"	}, /* 5026 */
+	{ 3,	0,	sys_madvise,		"madvise"	}, /* 5027 */
+	{ 3,	TI,	sys_shmget,		"shmget"	}, /* 5028 */
+	{ 3,	TI,	sys_shmat,		"shmgat"	}, /* 5029 */
+	{ 3,	TI,	sys_shmctl,		"shmctl"	}, /* 5030 */
+	{ 1,	0,	sys_dup,		"dup"		}, /* 5031 */
+	{ 2,	0,	sys_dup2,		"dup2"		}, /* 5032 */
+	{ 0,	TS,	sys_pause,		"pause"		}, /* 5033 */
+	{ 2,	0,	sys_nanosleep,		"nanosleep"	}, /* 5034 */
+	{ 2,	0,	sys_getitimer,		"getitimer"	}, /* 5035 */
+	{ 3,	0,	sys_setitimer,		"setitimer"	}, /* 5036 */
+	{ 1,	0,	sys_alarm,		"alarm"		}, /* 5037 */
+	{ 0,	0,	sys_getpid,		"getpid"	}, /* 5038 */
+	{ 4,	TD|TN,	sys_sendfile,		"sendfile"	}, /* 5039 */
+	{ 2,	0,	sys_socketcall,		"socketcall"	}, /* 5040 */
+	{ 3,	TN,	sys_connect,		"connect"	}, /* 5041 */
+	{ 3,	TN,	sys_accept,		"accept"	}, /* 5042 */
+	{ 6,	TN,	sys_sendto,		"sendto"	}, /* 5043 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom"	}, /* 5044 */
+	{ 3,	TN,	sys_sendmsg,		"sendmsg"	}, /* 5045 */
+	{ 3,	TN,	sys_recvmsg,		"recvmsg"	}, /* 5046 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	}, /* 5047 */
+	{ 3,	TN,	sys_bind,		"bind"		}, /* 5048 */
+	{ 2,	TN,	sys_listen,		"listen"	}, /* 5049 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	}, /* 5050 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	}, /* 5051 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"	}, /* 5052 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	}, /* 5053 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 5054 */
+	{ 2,	TP,	sys_clone,		"clone"		}, /* 5055 */
+	{ 0,	TP,	sys_fork,		"fork"		}, /* 5056 */
+	{ 3,	TF|TP,	sys_execve,		"execve"	}, /* 5057 */
+	{ 1,	TP,	sys_exit,		"exit"		}, /* 5058 */
+	{ 4,	TP,	sys_wait4,		"wait4"		}, /* 5059 */
+	{ 2,	TS,	sys_kill,		"kill"		}, /* 5060 */
+	{ 1,	0,	sys_uname,		"uname"		}, /* 5061 */
+	{ 3,	TI,	sys_semget,		"semget"	}, /* 5062 */
+	{ 3,	TI,	printargs,		"semop"		}, /* 5063 */
+	{ 4,	TI,	sys_semctl,		"semctl"	}, /* 5064 */
+	{ 1,	TI,	sys_shmdt,		"shmdt"		}, /* 5065 */
+	{ 2,	TI,	sys_msgget,		"msgget"	}, /* 5066 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd"	}, /* 5067 */
+	{ 5,	TI,	sys_msgrcv,		"msgrcv"	}, /* 5068 */
+	{ 3,	TI,	sys_msgctl,		"msgctl"	}, /* 5069 */
+	{ 3,	0,	sys_fcntl,		"fcntl"		}, /* 5070 */
+	{ 2,	0,	sys_flock,		"flock"		}, /* 5071 */
+	{ 1,	0,	sys_fsync,		"fsync"		}, /* 5072 */
+	{ 1,	0,	sys_fdatasync,		"fdatasync"	}, /* 5073 */
+	{ 2,	TF,	sys_truncate,		"truncate"	}, /* 5074 */
+	{ 2,	0,	sys_ftruncate,		"ftruncate"	}, /* 5075 */
+	{ 3,	0,	sys_getdents,		"getdents"	}, /* 5076 */
+	{ 2,	TF,	sys_getcwd,		"getcwd"	}, /* 5077 */
+	{ 1,	TF,	sys_chdir,		"chdir"		}, /* 5078 */
+	{ 1,	TF,	sys_fchdir,		"fchdir"	}, /* 5079 */
+	{ 2,	TF,	sys_rename,		"rename"	}, /* 5080 */
+	{ 2,	TF,	sys_mkdir,		"mkdir"		}, /* 5081 */
+	{ 1,	TF,	sys_rmdir,		"rmdir"		}, /* 5082 */
+	{ 2,	TF,	sys_creat,		"creat"		}, /* 5083 */
+	{ 2,	TF,	sys_link,		"link"		}, /* 5084 */
+	{ 1,	TF,	sys_unlink,		"unlink"	}, /* 5085 */
+	{ 2,	TF,	sys_symlink,		"symlink"	}, /* 5086 */
+	{ 3,	TF,	sys_readlink,		"readlink"	}, /* 5087 */
+	{ 2,	TF,	sys_chmod,		"chmod"		}, /* 5088 */
+	{ 2,	0,	sys_fchmod,		"fchmod"	}, /* 5089 */
+	{ 3,	TF,	sys_chown,		"chown"		}, /* 5090 */
+	{ 3,	0,	sys_fchown,		"fchown"	}, /* 5091 */
+	{ 3,	TF,	sys_chown,		"lchown"	}, /* 5092 */
+	{ 1,	0,	sys_umask,		"umask"		}, /* 5093 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday"	}, /* 5094 */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"	}, /* 5095 */
+	{ 2,	0,	sys_getrusage,		"getrusage"	}, /* 5096 */
+	{ 1,	0,	sys_sysinfo,		"sysinfo"	}, /* 5097 */
+	{ 1,	0,	sys_times,		"times"		}, /* 5098 */
+	{ 4,	0,	sys_ptrace,		"ptrace"	}, /* 5099 */
+	{ 0,	0,	sys_getuid,		"getuid"	}, /* 5100 */
+	{ 3,	0,	sys_syslog,		"syslog"	}, /* 5101 */
+	{ 0,	0,	sys_getgid,		"getgid"	}, /* 5102 */
+	{ 1,	0,	sys_setuid,		"setuid"	}, /* 5103 */
+	{ 1,	0,	sys_setgid,		"setgid"	}, /* 5104 */
+	{ 0,	0,	sys_geteuid,		"geteuid"	}, /* 5105 */
+	{ 0,	0,	sys_getegid,		"getegid"	}, /* 5106 */
+	{ 2,	0,	sys_setpgid,		"setpgid"	}, /* 5107 */
+	{ 0,	0,	sys_getppid,		"getppid"	}, /* 5108 */
+	{ 0,	0,	sys_getpgrp,		"getpgrp"	}, /* 5109 */
+	{ 0,	0,	sys_setsid,		"setsid"	}, /* 5110 */
+	{ 2,	0,	sys_setreuid,		"setreuid"	}, /* 5111 */
+	{ 2,	0,	sys_setregid,		"setregid"	}, /* 5112 */
+	{ 2,	0,	sys_getgroups,		"getgroups"	}, /* 5113 */
+	{ 2,	0,	sys_setgroups,		"setgroups"	}, /* 5114 */
+	{ 3,	0,	sys_setresuid,		"setresuid"	}, /* 5115 */
+	{ 3,	0,	sys_getresuid,		"getresuid"	}, /* 5116 */
+	{ 3,	0,	sys_setresgid,		"setresgid"	}, /* 5117 */
+	{ 3,	0,	sys_getresgid,		"getresgid"	}, /* 5118 */
+	{ 0,	0,	sys_getpgid,		"getpgid"	}, /* 5119 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid"	}, /* 5120 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid"	}, /* 5121 */
+	{ 1,	0,	sys_getsid,		"getsid"	}, /* 5122 */
+	{ 2,	0,	sys_capget,		"capget"	}, /* 5123 */
+	{ 2,	0,	sys_capset,		"capset"	}, /* 5124 */
+	{ 2,	TS,	sys_rt_sigpending,	"rt_sigpending"	}, /* 5125 */
+	{ 4,	TS,	sys_rt_sigtimedwait,	"rt_sigtimedwait"},/* 5126 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,	"rt_sigqueueinfo"},/* 5127 */
+	{ 2,	TS,	sys_rt_sigsuspend,	"rt_siguspend"	}, /* 5128 */
+	{ 2,	TS,	sys_sigaltstack,	"sigaltstatck"	}, /* 5129 */
+	{ 2,	TF,	sys_utime,		"utime"		}, /* 5130 */
+	{ 3,	TF,	sys_mknod,		"mknod"		}, /* 5131 */
+	{ 1,	0,	sys_personality,	"personality"	}, /* 5132 */
+	{ 2,	0,	sys_ustat,		"ustat"		}, /* 5133 */
+	{ 3,	0,	sys_statfs,		"statfs"	}, /* 5134 */
+	{ 3,	0,	sys_fstatfs,		"fstatfs"	}, /* 5135 */
+	{ 5,	0,	sys_sysfs,		"sysfs"		}, /* 5136 */
+	{ 2,	0,	sys_getpriority,	"getpriority"	}, /* 5137 */
+	{ 3,	0,	sys_setpriority,	"setpriority"	}, /* 5138 */
+	{ 2,	0,	sys_sched_setparam,	"sched_setparam"}, /* 5139 */
+	{ 2,	0,	sys_sched_getparam,	"sched_getparam"}, /* 5140 */
+	{ 3,	0,	sys_sched_setscheduler,	"sched_setscheduler"}, /* 5141 */
+	{ 1,	0,	sys_sched_getscheduler,	"sched_getscheduler"}, /* 5142 */
+	{ 1,	0,	sys_sched_get_priority_max,"sched_get_priority_max"}, /* 5143 */
+	{ 1,	0,	sys_sched_get_priority_min,"sched_get_priority_min"}, /* 5144 */
+	{ 2,	0,	sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 5145 */
+	{ 2,	0,	sys_mlock,		"mlock"		}, /* 5146 */
+	{ 2,	0,	sys_munlock,		"munlock"	}, /* 5147 */
+	{ 1,	0,	sys_mlockall,		"mlockall"	}, /* 5148 */
+	{ 0,	0,	sys_munlockall,		"munlockall"	}, /* 5149 */
+	{ 0,	0,	sys_vhangup,		"vhangup"	}, /* 5150 */
+	{ 2,	0,	sys_pivotroot,		"pivot_root"	}, /* 5151 */
+	{ 1,	0,	sys_sysctl,		"_sysctl"	}, /* 5152 */
+	{ 5,	0,	printargs,		"prctl"		}, /* 5153 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex"	}, /* 5154 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit"	}, /* 5155 */
+	{ 1,	TF,	sys_chroot,		"chroot"	}, /* 5156 */
+	{ 0,	0,	sys_sync,		"sync"		}, /* 5157 */
+	{ 1,	TF,	sys_acct,		"acct"		}, /* 5158 */
+	{ 2,	0,	sys_settimeofday,	"settimeofday"	}, /* 5159 */
+	{ 5,	TF,	sys_mount,		"mount"		}, /* 5160 */
+	{ 2,	TF,	sys_umount2,		"umount"	}, /* 5161 */
+	{ 1,	TF,	sys_swapon,		"swapon"	}, /* 5162 */
+	{ 1,	0,	sys_swapoff,		"swapoff"	}, /* 5163 */
+	{ 3,	0,	sys_reboot,		"reboot"	}, /* 5164 */
+	{ 2,	0,	sys_sethostname,	"sethostname"	}, /* 5165 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname"	}, /* 5166 */
+	{ 2,	0,	sys_create_module,	"create_module"	}, /* 5167 */
+	{ 4,	0,	sys_init_module,	"init_module"	}, /* 5168 */
+	{ 1,	0,	sys_delete_module,	"delete_module"	}, /* 5169 */
+	{ 1,	0,	sys_get_kernel_syms,	"get_kernel_syms"}, /* 5170 */
+	{ 5,	0,	sys_query_module,	"query_module"	}, /* 5171 */
+	{ 4,	0,	sys_quotactl,		"quotactl"	}, /* 5172 */
+	{ 3,	0,	printargs,		"nfsservctl"	}, /* 5173 */
+	{ 5,	TN,	printargs,		"getpmsg"	}, /* 5174 */
+	{ 5,	TN,	printargs,		"putpmsg"	}, /* 5175 */
+	{ 0,	0,	sys_afs_syscall,	"afs_syscall"	}, /* 5176 */
+	{ 0,	0,	printargs,		"reserved177"	}, /* 5177 */
+	{ 0,	0,	printargs,		"gettid"	}, /* 5178 */
+	{ 3,	0,	sys_readahead,		"readahead"	}, /* 5179 */
+	{ 5,	0,	sys_setxattr,		"setxattr"	}, /* 5180 */
+	{ 5,	0,	sys_setxattr,		"lsetxattr"	}, /* 5181 */
+	{ 5,	0,	sys_fsetxattr,		"fsetxattr"	}, /* 5182 */
+	{ 4,	0,	sys_getxattr,		"getxattr"	}, /* 5183 */
+	{ 4,	0,	sys_getxattr,		"lgetxattr"	}, /* 5184 */
+	{ 4,	0,	sys_fgetxattr,		"fgetxattr"	}, /* 5185 */
+	{ 3,	0,	sys_listxattr,		"listxattr"	}, /* 5186 */
+	{ 3,	0,	sys_listxattr,		"llistxattr"	}, /* 5187 */
+	{ 3,	0,	sys_flistxattr,		"flistxattr"	}, /* 5188 */
+	{ 2,	0,	sys_removexattr,	"removexattr"	}, /* 5189 */
+	{ 2,	0,	sys_removexattr,	"lremovexattr"	}, /* 5190 */
+	{ 2,	0,	sys_fremovexattr,	"fremovexattr"	}, /* 5191 */
+	{ 2,	0,	sys_kill,		"tkill"		}, /* 5192 */
+	{ 1,	0,	sys_time,		"time"		}, /* 5193 */
+	{ 5,	0,	printargs,		"futex"		}, /* 5194 */
+	{ 3,	0,	printargs,		"sched_setaffinity"}, /* 5195 */
+	{ 3,	0,	printargs,		"sched_getaffinity"}, /* 5196 */
+	{ 3,	0,	printargs,		"cacheflush"	}, /* 5197 */
+	{ 3,	0,	printargs,		"cachectl"	}, /* 5198 */
+	{ 4,	0,	sys_sysmips,		"sysmips"	}, /* 5199 */
+	{ 0,	0,	printargs,		"SYS_5200"	}, /* 5200 */
+	{ 0,	0,	printargs,		"SYS_5201"	}, /* 5201 */
+	{ 0,	0,	printargs,		"SYS_5202"	}, /* 5202 */
+	{ 0,	0,	printargs,		"SYS_5203"	}, /* 5203 */
+	{ 0,	0,	printargs,		"SYS_5204"	}, /* 5204 */
+	{ 1,	TP,	sys_exit,		"exit_group"	}, /* 5205 */
+	{ 0,	0,	printargs,		"SYS_5206"	}, /* 5206 */
+	{ 0,	0,	printargs,		"SYS_5207"	}, /* 5207 */
+	{ 0,	0,	printargs,		"SYS_5208"	}, /* 5208 */
+	{ 0,	0,	printargs,		"SYS_5209"	}, /* 5209 */
+	{ 0,	0,	printargs,		"SYS_5210"	}, /* 5210 */
+	{ 1,	TS,	printargs,		"rt_sigreturn"	}, /* 5211 */
+	{ 5,	0,	printargs,		"timer_create"	}, /* 5212 */
+	{ 5,	0,	printargs,		"timer_settime"	}, /* 5213 */
+	{ 5,	0,	printargs,		"timer_gettime"	}, /* 5214 */
+	{ 5,	0,	printargs,		"timer_getoverrun"}, /* 5215 */
+	{ 5,	0,	printargs,		"timer_delete"	}, /* 5216 */
+	{ 5,	0,	printargs,		"clock_settime"	}, /* 5217 */
+	{ 5,	0,	printargs,		"clock_gettime"	}, /* 5218 */
+	{ 5,	0,	printargs,		"clock_getres"	}, /* 5219 */
+	{ 5,	0,	printargs,		"clock_nanosleep"}, /* 5220 */
+#else
+	{ 0,	0,	printargs,		"n64_read"		}, /* 5000 */
+	{ 0,	0,	printargs,		"n64_write"		}, /* 5001 */
+	{ 0,	0,	printargs,		"n64_open"		}, /* 5002 */
+	{ 0,	0,	printargs,		"n64_close"		}, /* 5003 */
+	{ 0,	0,	printargs,		"n64_stat"		}, /* 5004 */
+	{ 0,	0,	printargs,		"n64_fstat"		}, /* 5005 */
+	{ 0,	0,	printargs,		"n64_lstat"		}, /* 5006 */
+	{ 0,	0,	printargs,		"n64_poll"		}, /* 5007 */
+	{ 0,	0,	printargs,		"n64_lseek"		}, /* 5008 */
+	{ 0,	0,	printargs,		"n64_mmap"		}, /* 5009 */
+	{ 0,	0,	printargs,		"n64_mprotect"		}, /* 5010 */
+	{ 0,	0,	printargs,		"n64_munmap"		}, /* 5011 */
+	{ 0,	0,	printargs,		"n64_brk"		}, /* 5012 */
+	{ 0,	0,	printargs,		"n64_rt_sigaction"	}, /* 5013 */
+	{ 0,	0,	printargs,		"n64_rt_sigprocmask"	}, /* 5014 */
+	{ 0,	0,	printargs,		"n64_ioctl"		}, /* 5015 */
+	{ 0,	0,	printargs,		"n64_pread"		}, /* 5016 */
+	{ 0,	0,	printargs,		"n64_pwrite"		}, /* 5017 */
+	{ 0,	0,	printargs,		"n64_readv"		}, /* 5018 */
+	{ 0,	0,	printargs,		"n64_writev"		}, /* 5019 */
+	{ 0,	0,	printargs,		"n64_access"		}, /* 5020 */
+	{ 0,	0,	printargs,		"n64_pipe"		}, /* 5021 */
+	{ 0,	0,	printargs,		"n64__newselect"	}, /* 5022 */
+	{ 0,	0,	printargs,		"n64_sched_yield"	}, /* 5023 */
+	{ 0,	0,	printargs,		"n64_mremap"		}, /* 5024 */
+	{ 0,	0,	printargs,		"n64_msync"		}, /* 5025 */
+	{ 0,	0,	printargs,		"n64_mincore"		}, /* 5026 */
+	{ 0,	0,	printargs,		"n64_madvise"		}, /* 5027 */
+	{ 0,	0,	printargs,		"n64_shmget"		}, /* 5028 */
+	{ 0,	0,	printargs,		"n64_shmgat"		}, /* 5029 */
+	{ 0,	0,	printargs,		"n64_shmctl"		}, /* 5030 */
+	{ 0,	0,	printargs,		"n64_dup"		}, /* 5031 */
+	{ 0,	0,	printargs,		"n64_dup2"		}, /* 5032 */
+	{ 0,	0,	printargs,		"n64_pause"		}, /* 5033 */
+	{ 0,	0,	printargs,		"n64_nanosleep"		}, /* 5034 */
+	{ 0,	0,	printargs,		"n64_getitimer"		}, /* 5035 */
+	{ 0,	0,	printargs,		"n64_setitimer"		}, /* 5036 */
+	{ 0,	0,	printargs,		"n64_alarm"		}, /* 5037 */
+	{ 0,	0,	printargs,		"n64_getpid"		}, /* 5038 */
+	{ 0,	0,	printargs,		"n64_sendfile"		}, /* 5039 */
+	{ 0,	0,	printargs,		"n64_socketcall"	}, /* 5040 */
+	{ 0,	0,	printargs,		"n64_connect"		}, /* 5041 */
+	{ 0,	0,	printargs,		"n64_accept"		}, /* 5042 */
+	{ 0,	0,	printargs,		"n64_sendto"		}, /* 5043 */
+	{ 0,	0,	printargs,		"n64_recvfrom"		}, /* 5044 */
+	{ 0,	0,	printargs,		"n64_sendmsg"		}, /* 5045 */
+	{ 0,	0,	printargs,		"n64_recvmsg"		}, /* 5046 */
+	{ 0,	0,	printargs,		"n64_shutdown"		}, /* 5047 */
+	{ 0,	0,	printargs,		"n64_bind"		}, /* 5048 */
+	{ 0,	0,	printargs,		"n64_listen"		}, /* 5049 */
+	{ 0,	0,	printargs,		"n64_getsockname"	}, /* 5050 */
+	{ 0,	0,	printargs,		"n64_getpeername"	}, /* 5051 */
+	{ 0,	0,	printargs,		"n64_socketpair"	}, /* 5052 */
+	{ 0,	0,	printargs,		"n64_setsockopt"	}, /* 5053 */
+	{ 0,	0,	printargs,		"n64_getsockopt"	}, /* 5054 */
+	{ 0,	0,	printargs,		"n64_clone"		}, /* 5055 */
+	{ 0,	0,	printargs,		"n64_fork"		}, /* 5056 */
+	{ 0,	0,	printargs,		"n64_execve"		}, /* 5057 */
+	{ 0,	0,	printargs,		"n64_exit"		}, /* 5058 */
+	{ 0,	0,	printargs,		"n64_wait4"		}, /* 5059 */
+	{ 0,	0,	printargs,		"n64_kill"		}, /* 5060 */
+	{ 0,	0,	printargs,		"n64_uname"		}, /* 5061 */
+	{ 0,	0,	printargs,		"n64_semget"		}, /* 5062 */
+	{ 0,	0,	printargs,		"n64_semop"		}, /* 5063 */
+	{ 0,	0,	printargs,		"n64_semctl"		}, /* 5064 */
+	{ 0,	0,	printargs,		"n64_shmdt"		}, /* 5065 */
+	{ 0,	0,	printargs,		"n64_msgget"		}, /* 5066 */
+	{ 0,	0,	printargs,		"n64_msgsnd"		}, /* 5067 */
+	{ 0,	0,	printargs,		"n64_msgrcv"		}, /* 5068 */
+	{ 0,	0,	printargs,		"n64_msgctl"		}, /* 5069 */
+	{ 0,	0,	printargs,		"n64_fcntl"		}, /* 5070 */
+	{ 0,	0,	printargs,		"n64_flock"		}, /* 5071 */
+	{ 0,	0,	printargs,		"n64_fsync"		}, /* 5072 */
+	{ 0,	0,	printargs,		"n64_fdatasync"		}, /* 5073 */
+	{ 0,	0,	printargs,		"n64_truncate"		}, /* 5074 */
+	{ 0,	0,	printargs,		"n64_ftruncate"		}, /* 5075 */
+	{ 0,	0,	printargs,		"n64_getdents"		}, /* 5076 */
+	{ 0,	0,	printargs,		"n64_getcwd"		}, /* 5077 */
+	{ 0,	0,	printargs,		"n64_chdir"		}, /* 5078 */
+	{ 0,	0,	printargs,		"n64_fchdir"		}, /* 5079 */
+	{ 0,	0,	printargs,		"n64_rename"		}, /* 5080 */
+	{ 0,	0,	printargs,		"n64_mkdir"		}, /* 5081 */
+	{ 0,	0,	printargs,		"n64_rmdir"		}, /* 5082 */
+	{ 0,	0,	printargs,		"n64_creat"		}, /* 5083 */
+	{ 0,	0,	printargs,		"n64_link"		}, /* 5084 */
+	{ 0,	0,	printargs,		"n64_unlink"		}, /* 5085 */
+	{ 0,	0,	printargs,		"n64_symlink"		}, /* 5086 */
+	{ 0,	0,	printargs,		"n64_readlink"		}, /* 5087 */
+	{ 0,	0,	printargs,		"n64_chmod"		}, /* 5088 */
+	{ 0,	0,	printargs,		"n64_fchmod"		}, /* 5089 */
+	{ 0,	0,	printargs,		"n64_chown"		}, /* 5090 */
+	{ 0,	0,	printargs,		"n64_fchown"		}, /* 5091 */
+	{ 0,	0,	printargs,		"n64_lchown"		}, /* 5092 */
+	{ 0,	0,	printargs,		"n64_umask"		}, /* 5093 */
+	{ 0,	0,	printargs,		"n64_gettimeofday"	}, /* 5094 */
+	{ 0,	0,	printargs,		"n64_getrlimit"		}, /* 5095 */
+	{ 0,	0,	printargs,		"n64_getrusage"		}, /* 5096 */
+	{ 0,	0,	printargs,		"n64_sysinfo"		}, /* 5097 */
+	{ 0,	0,	printargs,		"n64_times"		}, /* 5098 */
+	{ 0,	0,	printargs,		"n64_ptrace"		}, /* 5099 */
+	{ 0,	0,	printargs,		"n64_getuid"		}, /* 5100 */
+	{ 0,	0,	printargs,		"n64_syslog"		}, /* 5101 */
+	{ 0,	0,	printargs,		"n64_getgid"		}, /* 5102 */
+	{ 0,	0,	printargs,		"n64_setuid"		}, /* 5103 */
+	{ 0,	0,	printargs,		"n64_setgid"		}, /* 5104 */
+	{ 0,	0,	printargs,		"n64_geteuid"		}, /* 5105 */
+	{ 0,	0,	printargs,		"n64_getegid"		}, /* 5106 */
+	{ 0,	0,	printargs,		"n64_setpgid"		}, /* 5107 */
+	{ 0,	0,	printargs,		"n64_getppid"		}, /* 5108 */
+	{ 0,	0,	printargs,		"n64_getpgrp"		}, /* 5109 */
+	{ 0,	0,	printargs,		"n64_setsid"		}, /* 5110 */
+	{ 0,	0,	printargs,		"n64_setreuid"		}, /* 5111 */
+	{ 0,	0,	printargs,		"n64_setregid"		}, /* 5112 */
+	{ 0,	0,	printargs,		"n64_getgroups"		}, /* 5113 */
+	{ 0,	0,	printargs,		"n64_setgroups"		}, /* 5114 */
+	{ 0,	0,	printargs,		"n64_setresuid"		}, /* 5115 */
+	{ 0,	0,	printargs,		"n64_getresuid"		}, /* 5116 */
+	{ 0,	0,	printargs,		"n64_setresgid"		}, /* 5117 */
+	{ 0,	0,	printargs,		"n64_getresgid"		}, /* 5118 */
+	{ 0,	0,	printargs,		"n64_getpgid"		}, /* 5119 */
+	{ 0,	0,	printargs,		"n64_setfsuid"		}, /* 5120 */
+	{ 0,	0,	printargs,		"n64_setfsgid"		}, /* 5121 */
+	{ 0,	0,	printargs,		"n64_getsid"		}, /* 5122 */
+	{ 0,	0,	printargs,		"n64_capget"		}, /* 5123 */
+	{ 0,	0,	printargs,		"n64_capset"		}, /* 5124 */
+	{ 0,	0,	printargs,		"n64_rt_sigpending"	}, /* 5125 */
+	{ 0,	0,	printargs,		"n64_rt_sigtimedwait"	}, /* 5126 */
+	{ 0,	0,	printargs,		"n64_rt_sigqueueinfo"	}, /* 5127 */
+	{ 0,	0,	printargs,		"n64_rt_siguspend"	}, /* 5128 */
+	{ 0,	0,	printargs,		"n64_sigaltstatck"	}, /* 5129 */
+	{ 0,	0,	printargs,		"n64_utime"		}, /* 5130 */
+	{ 0,	0,	printargs,		"n64_mknod"		}, /* 5131 */
+	{ 0,	0,	printargs,		"n64_personality"	}, /* 5132 */
+	{ 0,	0,	printargs,		"n64_ustat"		}, /* 5133 */
+	{ 0,	0,	printargs,		"n64_statfs"		}, /* 5134 */
+	{ 0,	0,	printargs,		"n64_fstatfs"		}, /* 5135 */
+	{ 0,	0,	printargs,		"n64_sysfs"		}, /* 5136 */
+	{ 0,	0,	printargs,		"n64_getpriority"	}, /* 5137 */
+	{ 0,	0,	printargs,		"n64_setpriority"	}, /* 5138 */
+	{ 0,	0,	printargs,		"n64_sched_setparam"	}, /* 5139 */
+	{ 0,	0,	printargs,		"n64_sched_getparam"	}, /* 5140 */
+	{ 0,	0,	printargs,		"n64_sched_setscheduler"}, /* 5141 */
+	{ 0,	0,	printargs,		"n64_sched_getscheduler"}, /* 5142 */
+	{ 0,	0,	printargs,		"n64_sched_get_priority_max"}, /* 5143 */
+	{ 0,	0,	printargs,		"n64_sched_get_priority_min"}, /* 5144 */
+	{ 0,	0,	printargs,		"n64_sched_rr_get_interval"}, /* 5145 */
+	{ 0,	0,	printargs,		"n64_mlock"		}, /* 5146 */
+	{ 0,	0,	printargs,		"n64_munlock"		}, /* 5147 */
+	{ 0,	0,	printargs,		"n64_mlockall"		}, /* 5148 */
+	{ 0,	0,	printargs,		"n64_munlockall"	}, /* 5149 */
+	{ 0,	0,	printargs,		"n64_vhangup"		}, /* 5150 */
+	{ 0,	0,	printargs,		"n64_pivot_root"	}, /* 5151 */
+	{ 0,	0,	printargs,		"n64__sysctl"		}, /* 5152 */
+	{ 0,	0,	printargs,		"n64_prctl"		}, /* 5153 */
+	{ 0,	0,	printargs,		"n64_adjtimex"		}, /* 5154 */
+	{ 0,	0,	printargs,		"n64_setrlimit"		}, /* 5155 */
+	{ 0,	0,	printargs,		"n64_chroot"		}, /* 5156 */
+	{ 0,	0,	printargs,		"n64_sync"		}, /* 5157 */
+	{ 0,	0,	printargs,		"n64_acct"		}, /* 5158 */
+	{ 0,	0,	printargs,		"n64_settimeofday"	}, /* 5159 */
+	{ 0,	0,	printargs,		"n64_mount"		}, /* 5160 */
+	{ 0,	0,	printargs,		"n64_umount"		}, /* 5161 */
+	{ 0,	0,	printargs,		"n64_swapon"		}, /* 5162 */
+	{ 0,	0,	printargs,		"n64_swapoff"		}, /* 5163 */
+	{ 0,	0,	printargs,		"n64_reboot"		}, /* 5164 */
+	{ 0,	0,	printargs,		"n64_sethostname"	}, /* 5165 */
+	{ 0,	0,	printargs,		"n64_setdomainname"	}, /* 5166 */
+	{ 0,	0,	printargs,		"n64_create_module"	}, /* 5167 */
+	{ 0,	0,	printargs,		"n64_init_module"	}, /* 5168 */
+	{ 0,	0,	printargs,		"n64_delete_module"	}, /* 5169 */
+	{ 0,	0,	printargs,		"n64_get_kernel_syms"	}, /* 5170 */
+	{ 0,	0,	printargs,		"n64_query_module"	}, /* 5171 */
+	{ 0,	0,	printargs,		"n64_quotactl"		}, /* 5172 */
+	{ 0,	0,	printargs,		"n64_nfsservctl"	}, /* 5173 */
+	{ 0,	0,	printargs,		"n64_getpmsg"		}, /* 5174 */
+	{ 0,	0,	printargs,		"n64_putpmsg"		}, /* 5175 */
+	{ 0,	0,	printargs,		"n64_afs_syscall"	}, /* 5176 */
+	{ 0,	0,	printargs,		"n64_reserved177"	}, /* 5177 */
+	{ 0,	0,	printargs,		"n64_gettid"		}, /* 5178 */
+	{ 0,	0,	printargs,		"n64_readahead"		}, /* 5179 */
+	{ 0,	0,	printargs,		"n64_setxattr"		}, /* 5180 */
+	{ 0,	0,	printargs,		"n64_lsetxattr"		}, /* 5181 */
+	{ 0,	0,	printargs,		"n64_fsetxattr"		}, /* 5182 */
+	{ 0,	0,	printargs,		"n64_getxattr"		}, /* 5183 */
+	{ 0,	0,	printargs,		"n64_lgetxattr"		}, /* 5184 */
+	{ 0,	0,	printargs,		"n64_fgetxattr"		}, /* 5185 */
+	{ 0,	0,	printargs,		"n64_listxattr"		}, /* 5186 */
+	{ 0,	0,	printargs,		"n64_llistxattr"	}, /* 5187 */
+	{ 0,	0,	printargs,		"n64_flistxattr"	}, /* 5188 */
+	{ 0,	0,	printargs,		"n64_removexattr"	}, /* 5189 */
+	{ 0,	0,	printargs,		"n64_lremovexattr"	}, /* 5190 */
+	{ 0,	0,	printargs,		"n64_fremovexattr"	}, /* 5191 */
+	{ 0,	0,	printargs,		"n64_tkill"		}, /* 5192 */
+	{ 0,	0,	printargs,		"n64_time"		}, /* 5193 */
+	{ 0,	0,	printargs,		"n64_futex"		}, /* 5194 */
+	{ 0,	0,	printargs,		"n64_sched_setaffinity"	}, /* 5195 */
+	{ 0,	0,	printargs,		"n64_sched_getaffinity"	}, /* 5196 */
+	{ 0,	0,	printargs,		"n64_cacheflush"	}, /* 5197 */
+	{ 0,	0,	printargs,		"n64_cachectl"		}, /* 5198 */
+	{ 0,	0,	printargs,		"n64_sysmips"		}, /* 5199 */
+	{ 0,	0,	printargs,		"SYS_5200"		}, /* 5200 */
+	{ 0,	0,	printargs,		"SYS_5201"		}, /* 5201 */
+	{ 0,	0,	printargs,		"SYS_5202"		}, /* 5202 */
+	{ 0,	0,	printargs,		"SYS_5203"		}, /* 5203 */
+	{ 0,	0,	printargs,		"SYS_5204"		}, /* 5204 */
+	{ 1,	TP,	printargs,		"n64_exit_group"	}, /* 5205 */
+	{ 0,	0,	printargs,		"SYS_5206"		}, /* 5206 */
+	{ 0,	0,	printargs,		"SYS_5207"		}, /* 5207 */
+	{ 0,	0,	printargs,		"SYS_5208"		}, /* 5208 */
+	{ 0,	0,	printargs,		"SYS_5209"		}, /* 5209 */
+	{ 0,	0,	printargs,		"SYS_5210"		}, /* 5210 */
+	{ 0,	0,	printargs,		"n64_rt_sigreturn"	}, /* 5211 */
+	{ 5,	0,	printargs,		"n64_timer_create"	}, /* 5212 */
+	{ 5,	0,	printargs,		"n64_timer_settime"	}, /* 5213 */
+	{ 5,	0,	printargs,		"n64_timer_gettime"	}, /* 5214 */
+	{ 5,	0,	printargs,		"n64_timer_getoverrun"}, /* 5215 */
+	{ 5,	0,	printargs,		"n64_timer_delete"	}, /* 5216 */
+	{ 5,	0,	printargs,		"n64_clock_settime"	}, /* 5217 */
+	{ 5,	0,	printargs,		"n64_clock_gettime"	}, /* 5218 */
+	{ 5,	0,	printargs,		"n64_clock_getres"	}, /* 5219 */
+	{ 5,	0,	printargs,		"n64_clock_nanosleep"}, /* 5220 */
+#endif
+	{ 0,	0,	printargs,		"SYS_5221"	}, /* 5221 */
+	{ 0,	0,	printargs,		"SYS_5222"	}, /* 5222 */
+	{ 0,	0,	printargs,		"SYS_5223"	}, /* 5223 */
+	{ 0,	0,	printargs,		"SYS_5224"	}, /* 5224 */
+	{ 0,	0,	printargs,		"SYS_5225"	}, /* 5225 */
+	{ 0,	0,	printargs,		"SYS_5226"	}, /* 5226 */
+	{ 0,	0,	printargs,		"SYS_5227"	}, /* 5227 */
+	{ 0,	0,	printargs,		"SYS_5228"	}, /* 5228 */
+	{ 0,	0,	printargs,		"SYS_5229"	}, /* 5229 */
+	{ 0,	0,	printargs,		"SYS_5230"	}, /* 5230 */
+	{ 0,	0,	printargs,		"SYS_5231"	}, /* 5231 */
+	{ 0,	0,	printargs,		"SYS_5232"	}, /* 5232 */
+	{ 0,	0,	printargs,		"SYS_5233"	}, /* 5233 */
+	{ 0,	0,	printargs,		"SYS_5234"	}, /* 5234 */
+	{ 0,	0,	printargs,		"SYS_5235"	}, /* 5235 */
+	{ 0,	0,	printargs,		"SYS_5236"	}, /* 5236 */
+	{ 0,	0,	printargs,		"SYS_5237"	}, /* 5237 */
+	{ 0,	0,	printargs,		"SYS_5238"	}, /* 5238 */
+	{ 0,	0,	printargs,		"SYS_5239"	}, /* 5239 */
+	{ 0,	0,	printargs,		"SYS_5240"	}, /* 5240 */
+	{ 0,	0,	printargs,		"SYS_5241"	}, /* 5241 */
+	{ 0,	0,	printargs,		"SYS_5242"	}, /* 5242 */
+	{ 0,	0,	printargs,		"SYS_5243"	}, /* 5243 */
+	{ 0,	0,	printargs,		"SYS_5244"	}, /* 5244 */
+	{ 0,	0,	printargs,		"SYS_5245"	}, /* 5245 */
+	{ 0,	0,	printargs,		"SYS_5246"	}, /* 5246 */
+	{ 0,	0,	printargs,		"SYS_5247"	}, /* 5247 */
+	{ 0,	0,	printargs,		"SYS_5248"	}, /* 5248 */
+	{ 0,	0,	printargs,		"SYS_5249"	}, /* 5249 */
+	{ 0,	0,	printargs,		"SYS_5250"	}, /* 5250 */
+	{ 0,	0,	printargs,		"SYS_5251"	}, /* 5251 */
+	{ 0,	0,	printargs,		"SYS_5252"	}, /* 5252 */
+	{ 0,	0,	printargs,		"SYS_5253"	}, /* 5253 */
+	{ 0,	0,	printargs,		"SYS_5254"	}, /* 5254 */
+	{ 0,	0,	printargs,		"SYS_5255"	}, /* 5255 */
+	{ 0,	0,	printargs,		"SYS_5256"	}, /* 5256 */
+	{ 0,	0,	printargs,		"SYS_5257"	}, /* 5257 */
+	{ 0,	0,	printargs,		"SYS_5258"	}, /* 5258 */
+	{ 0,	0,	printargs,		"SYS_5259"	}, /* 5259 */
+	{ 0,	0,	printargs,		"SYS_5260"	}, /* 5260 */
+	{ 0,	0,	printargs,		"SYS_5261"	}, /* 5261 */
+	{ 0,	0,	printargs,		"SYS_5262"	}, /* 5262 */
+	{ 0,	0,	printargs,		"SYS_5263"	}, /* 5263 */
+	{ 0,	0,	printargs,		"SYS_5264"	}, /* 5264 */
+	{ 0,	0,	printargs,		"SYS_5265"	}, /* 5265 */
+	{ 0,	0,	printargs,		"SYS_5266"	}, /* 5266 */
+	{ 0,	0,	printargs,		"SYS_5267"	}, /* 5267 */
+	{ 0,	0,	printargs,		"SYS_5268"	}, /* 5268 */
+	{ 0,	0,	printargs,		"SYS_5269"	}, /* 5269 */
+	{ 0,	0,	printargs,		"SYS_5270"	}, /* 5270 */
+	{ 0,	0,	printargs,		"SYS_5271"	}, /* 5271 */
+	{ 0,	0,	printargs,		"SYS_5272"	}, /* 5272 */
+	{ 0,	0,	printargs,		"SYS_5273"	}, /* 5273 */
+	{ 0,	0,	printargs,		"SYS_5274"	}, /* 5274 */
+	{ 0,	0,	printargs,		"SYS_5275"	}, /* 5275 */
+	{ 0,	0,	printargs,		"SYS_5276"	}, /* 5276 */
+	{ 0,	0,	printargs,		"SYS_5277"	}, /* 5277 */
+	{ 0,	0,	printargs,		"SYS_5278"	}, /* 5278 */
+	{ 0,	0,	printargs,		"SYS_5279"	}, /* 5279 */
+	{ 0,	0,	printargs,		"SYS_5280"	}, /* 5280 */
+	{ 0,	0,	printargs,		"SYS_5281"	}, /* 5281 */
+	{ 0,	0,	printargs,		"SYS_5282"	}, /* 5282 */
+	{ 0,	0,	printargs,		"SYS_5283"	}, /* 5283 */
+	{ 0,	0,	printargs,		"SYS_5284"	}, /* 5284 */
+	{ 0,	0,	printargs,		"SYS_5285"	}, /* 5285 */
+	{ 0,	0,	printargs,		"SYS_5286"	}, /* 5286 */
+	{ 0,	0,	printargs,		"SYS_5287"	}, /* 5287 */
+	{ 0,	0,	printargs,		"SYS_5288"	}, /* 5288 */
+	{ 0,	0,	printargs,		"SYS_5289"	}, /* 5289 */
+	{ 0,	0,	printargs,		"SYS_5290"	}, /* 5290 */
+	{ 0,	0,	printargs,		"SYS_5291"	}, /* 5291 */
+	{ 0,	0,	printargs,		"SYS_5292"	}, /* 5292 */
+	{ 0,	0,	printargs,		"SYS_5293"	}, /* 5293 */
+	{ 0,	0,	printargs,		"SYS_5294"	}, /* 5294 */
+	{ 0,	0,	printargs,		"SYS_5295"	}, /* 5295 */
+	{ 0,	0,	printargs,		"SYS_5296"	}, /* 5296 */
+	{ 0,	0,	printargs,		"SYS_5297"	}, /* 5297 */
+	{ 0,	0,	printargs,		"SYS_5298"	}, /* 5298 */
+	{ 0,	0,	printargs,		"SYS_5299"	}, /* 5299 */
+	{ 0,	0,	printargs,		"SYS_5300"	}, /* 5300 */
+	{ 0,	0,	printargs,		"SYS_5301"	}, /* 5301 */
+	{ 0,	0,	printargs,		"SYS_5302"	}, /* 5302 */
+	{ 0,	0,	printargs,		"SYS_5303"	}, /* 5303 */
+	{ 0,	0,	printargs,		"SYS_5304"	}, /* 5304 */
+	{ 0,	0,	printargs,		"SYS_5305"	}, /* 5305 */
+	{ 0,	0,	printargs,		"SYS_5306"	}, /* 5306 */
+	{ 0,	0,	printargs,		"SYS_5307"	}, /* 5307 */
+	{ 0,	0,	printargs,		"SYS_5308"	}, /* 5308 */
+	{ 0,	0,	printargs,		"SYS_5309"	}, /* 5309 */
+	{ 0,	0,	printargs,		"SYS_5310"	}, /* 5310 */
+	{ 0,	0,	printargs,		"SYS_5311"	}, /* 5311 */
+	{ 0,	0,	printargs,		"SYS_5312"	}, /* 5312 */
+	{ 0,	0,	printargs,		"SYS_5313"	}, /* 5313 */
+	{ 0,	0,	printargs,		"SYS_5314"	}, /* 5314 */
+	{ 0,	0,	printargs,		"SYS_5315"	}, /* 5315 */
+	{ 0,	0,	printargs,		"SYS_5316"	}, /* 5316 */
+	{ 0,	0,	printargs,		"SYS_5317"	}, /* 5317 */
+	{ 0,	0,	printargs,		"SYS_5318"	}, /* 5318 */
+	{ 0,	0,	printargs,		"SYS_5319"	}, /* 5319 */
+	{ 0,	0,	printargs,		"SYS_5320"	}, /* 5320 */
+	{ 0,	0,	printargs,		"SYS_5321"	}, /* 5321 */
+	{ 0,	0,	printargs,		"SYS_5322"	}, /* 5322 */
+	{ 0,	0,	printargs,		"SYS_5323"	}, /* 5323 */
+	{ 0,	0,	printargs,		"SYS_5324"	}, /* 5324 */
+	{ 0,	0,	printargs,		"SYS_5325"	}, /* 5325 */
+	{ 0,	0,	printargs,		"SYS_5326"	}, /* 5326 */
+	{ 0,	0,	printargs,		"SYS_5327"	}, /* 5327 */
+	{ 0,	0,	printargs,		"SYS_5328"	}, /* 5328 */
+	{ 0,	0,	printargs,		"SYS_5329"	}, /* 5329 */
+	{ 0,	0,	printargs,		"SYS_5330"	}, /* 5330 */
+	{ 0,	0,	printargs,		"SYS_5331"	}, /* 5331 */
+	{ 0,	0,	printargs,		"SYS_5332"	}, /* 5332 */
+	{ 0,	0,	printargs,		"SYS_5333"	}, /* 5333 */
+	{ 0,	0,	printargs,		"SYS_5334"	}, /* 5334 */
+	{ 0,	0,	printargs,		"SYS_5335"	}, /* 5335 */
+	{ 0,	0,	printargs,		"SYS_5336"	}, /* 5336 */
+	{ 0,	0,	printargs,		"SYS_5337"	}, /* 5337 */
+	{ 0,	0,	printargs,		"SYS_5338"	}, /* 5338 */
+	{ 0,	0,	printargs,		"SYS_5339"	}, /* 5339 */
+	{ 0,	0,	printargs,		"SYS_5340"	}, /* 5340 */
+	{ 0,	0,	printargs,		"SYS_5341"	}, /* 5341 */
+	{ 0,	0,	printargs,		"SYS_5342"	}, /* 5342 */
+	{ 0,	0,	printargs,		"SYS_5343"	}, /* 5343 */
+	{ 0,	0,	printargs,		"SYS_5344"	}, /* 5344 */
+	{ 0,	0,	printargs,		"SYS_5345"	}, /* 5345 */
+	{ 0,	0,	printargs,		"SYS_5346"	}, /* 5346 */
+	{ 0,	0,	printargs,		"SYS_5347"	}, /* 5347 */
+	{ 0,	0,	printargs,		"SYS_5348"	}, /* 5348 */
+	{ 0,	0,	printargs,		"SYS_5349"	}, /* 5349 */
+	{ 0,	0,	printargs,		"SYS_5350"	}, /* 5350 */
+	{ 0,	0,	printargs,		"SYS_5351"	}, /* 5351 */
+	{ 0,	0,	printargs,		"SYS_5352"	}, /* 5352 */
+	{ 0,	0,	printargs,		"SYS_5353"	}, /* 5353 */
+	{ 0,	0,	printargs,		"SYS_5354"	}, /* 5354 */
+	{ 0,	0,	printargs,		"SYS_5355"	}, /* 5355 */
+	{ 0,	0,	printargs,		"SYS_5356"	}, /* 5356 */
+	{ 0,	0,	printargs,		"SYS_5357"	}, /* 5357 */
+	{ 0,	0,	printargs,		"SYS_5358"	}, /* 5358 */
+	{ 0,	0,	printargs,		"SYS_5359"	}, /* 5359 */
+	{ 0,	0,	printargs,		"SYS_5360"	}, /* 5360 */
+	{ 0,	0,	printargs,		"SYS_5361"	}, /* 5361 */
+	{ 0,	0,	printargs,		"SYS_5362"	}, /* 5362 */
+	{ 0,	0,	printargs,		"SYS_5363"	}, /* 5363 */
+	{ 0,	0,	printargs,		"SYS_5364"	}, /* 5364 */
+	{ 0,	0,	printargs,		"SYS_5365"	}, /* 5365 */
+	{ 0,	0,	printargs,		"SYS_5366"	}, /* 5366 */
+	{ 0,	0,	printargs,		"SYS_5367"	}, /* 5367 */
+	{ 0,	0,	printargs,		"SYS_5368"	}, /* 5368 */
+	{ 0,	0,	printargs,		"SYS_5369"	}, /* 5369 */
+	{ 0,	0,	printargs,		"SYS_5370"	}, /* 5370 */
+	{ 0,	0,	printargs,		"SYS_5371"	}, /* 5371 */
+	{ 0,	0,	printargs,		"SYS_5372"	}, /* 5372 */
+	{ 0,	0,	printargs,		"SYS_5373"	}, /* 5373 */
+	{ 0,	0,	printargs,		"SYS_5374"	}, /* 5374 */
+	{ 0,	0,	printargs,		"SYS_5375"	}, /* 5375 */
+	{ 0,	0,	printargs,		"SYS_5376"	}, /* 5376 */
+	{ 0,	0,	printargs,		"SYS_5377"	}, /* 5377 */
+	{ 0,	0,	printargs,		"SYS_5378"	}, /* 5378 */
+	{ 0,	0,	printargs,		"SYS_5379"	}, /* 5379 */
+	{ 0,	0,	printargs,		"SYS_5380"	}, /* 5380 */
+	{ 0,	0,	printargs,		"SYS_5381"	}, /* 5381 */
+	{ 0,	0,	printargs,		"SYS_5382"	}, /* 5382 */
+	{ 0,	0,	printargs,		"SYS_5383"	}, /* 5383 */
+	{ 0,	0,	printargs,		"SYS_5384"	}, /* 5384 */
+	{ 0,	0,	printargs,		"SYS_5385"	}, /* 5385 */
+	{ 0,	0,	printargs,		"SYS_5386"	}, /* 5386 */
+	{ 0,	0,	printargs,		"SYS_5387"	}, /* 5387 */
+	{ 0,	0,	printargs,		"SYS_5388"	}, /* 5388 */
+	{ 0,	0,	printargs,		"SYS_5389"	}, /* 5389 */
+	{ 0,	0,	printargs,		"SYS_5390"	}, /* 5390 */
+	{ 0,	0,	printargs,		"SYS_5391"	}, /* 5391 */
+	{ 0,	0,	printargs,		"SYS_5392"	}, /* 5392 */
+	{ 0,	0,	printargs,		"SYS_5393"	}, /* 5393 */
+	{ 0,	0,	printargs,		"SYS_5394"	}, /* 5394 */
+	{ 0,	0,	printargs,		"SYS_5395"	}, /* 5395 */
+	{ 0,	0,	printargs,		"SYS_5396"	}, /* 5396 */
+	{ 0,	0,	printargs,		"SYS_5397"	}, /* 5397 */
+	{ 0,	0,	printargs,		"SYS_5398"	}, /* 5398 */
+	{ 0,	0,	printargs,		"SYS_5399"	}, /* 5399 */
+	{ 0,	0,	printargs,		"SYS_5400"	}, /* 5400 */
+	{ 0,	0,	printargs,		"SYS_5401"	}, /* 5401 */
+	{ 0,	0,	printargs,		"SYS_5402"	}, /* 5402 */
+	{ 0,	0,	printargs,		"SYS_5403"	}, /* 5403 */
+	{ 0,	0,	printargs,		"SYS_5404"	}, /* 5404 */
+	{ 0,	0,	printargs,		"SYS_5405"	}, /* 5405 */
+	{ 0,	0,	printargs,		"SYS_5406"	}, /* 5406 */
+	{ 0,	0,	printargs,		"SYS_5407"	}, /* 5407 */
+	{ 0,	0,	printargs,		"SYS_5408"	}, /* 5408 */
+	{ 0,	0,	printargs,		"SYS_5409"	}, /* 5409 */
+	{ 0,	0,	printargs,		"SYS_5410"	}, /* 5410 */
+	{ 0,	0,	printargs,		"SYS_5411"	}, /* 5411 */
+	{ 0,	0,	printargs,		"SYS_5412"	}, /* 5412 */
+	{ 0,	0,	printargs,		"SYS_5413"	}, /* 5413 */
+	{ 0,	0,	printargs,		"SYS_5414"	}, /* 5414 */
+	{ 0,	0,	printargs,		"SYS_5415"	}, /* 5415 */
+	{ 0,	0,	printargs,		"SYS_5416"	}, /* 5416 */
+	{ 0,	0,	printargs,		"SYS_5417"	}, /* 5417 */
+	{ 0,	0,	printargs,		"SYS_5418"	}, /* 5418 */
+	{ 0,	0,	printargs,		"SYS_5419"	}, /* 5419 */
+	{ 0,	0,	printargs,		"SYS_5420"	}, /* 5420 */
+	{ 0,	0,	printargs,		"SYS_5421"	}, /* 5421 */
+	{ 0,	0,	printargs,		"SYS_5422"	}, /* 5422 */
+	{ 0,	0,	printargs,		"SYS_5423"	}, /* 5423 */
+	{ 0,	0,	printargs,		"SYS_5424"	}, /* 5424 */
+	{ 0,	0,	printargs,		"SYS_5425"	}, /* 5425 */
+	{ 0,	0,	printargs,		"SYS_5426"	}, /* 5426 */
+	{ 0,	0,	printargs,		"SYS_5427"	}, /* 5427 */
+	{ 0,	0,	printargs,		"SYS_5428"	}, /* 5428 */
+	{ 0,	0,	printargs,		"SYS_5429"	}, /* 5429 */
+	{ 0,	0,	printargs,		"SYS_5430"	}, /* 5430 */
+	{ 0,	0,	printargs,		"SYS_5431"	}, /* 5431 */
+	{ 0,	0,	printargs,		"SYS_5432"	}, /* 5432 */
+	{ 0,	0,	printargs,		"SYS_5433"	}, /* 5433 */
+	{ 0,	0,	printargs,		"SYS_5434"	}, /* 5434 */
+	{ 0,	0,	printargs,		"SYS_5435"	}, /* 5435 */
+	{ 0,	0,	printargs,		"SYS_5436"	}, /* 5436 */
+	{ 0,	0,	printargs,		"SYS_5437"	}, /* 5437 */
+	{ 0,	0,	printargs,		"SYS_5438"	}, /* 5438 */
+	{ 0,	0,	printargs,		"SYS_5439"	}, /* 5439 */
+	{ 0,	0,	printargs,		"SYS_5440"	}, /* 5440 */
+	{ 0,	0,	printargs,		"SYS_5441"	}, /* 5441 */
+	{ 0,	0,	printargs,		"SYS_5442"	}, /* 5442 */
+	{ 0,	0,	printargs,		"SYS_5443"	}, /* 5443 */
+	{ 0,	0,	printargs,		"SYS_5444"	}, /* 5444 */
+	{ 0,	0,	printargs,		"SYS_5445"	}, /* 5445 */
+	{ 0,	0,	printargs,		"SYS_5446"	}, /* 5446 */
+	{ 0,	0,	printargs,		"SYS_5447"	}, /* 5447 */
+	{ 0,	0,	printargs,		"SYS_5448"	}, /* 5448 */
+	{ 0,	0,	printargs,		"SYS_5449"	}, /* 5449 */
+	{ 0,	0,	printargs,		"SYS_5450"	}, /* 5450 */
+	{ 0,	0,	printargs,		"SYS_5451"	}, /* 5451 */
+	{ 0,	0,	printargs,		"SYS_5452"	}, /* 5452 */
+	{ 0,	0,	printargs,		"SYS_5453"	}, /* 5453 */
+	{ 0,	0,	printargs,		"SYS_5454"	}, /* 5454 */
+	{ 0,	0,	printargs,		"SYS_5455"	}, /* 5455 */
+	{ 0,	0,	printargs,		"SYS_5456"	}, /* 5456 */
+	{ 0,	0,	printargs,		"SYS_5457"	}, /* 5457 */
+	{ 0,	0,	printargs,		"SYS_5458"	}, /* 5458 */
+	{ 0,	0,	printargs,		"SYS_5459"	}, /* 5459 */
+	{ 0,	0,	printargs,		"SYS_5460"	}, /* 5460 */
+	{ 0,	0,	printargs,		"SYS_5461"	}, /* 5461 */
+	{ 0,	0,	printargs,		"SYS_5462"	}, /* 5462 */
+	{ 0,	0,	printargs,		"SYS_5463"	}, /* 5463 */
+	{ 0,	0,	printargs,		"SYS_5464"	}, /* 5464 */
+	{ 0,	0,	printargs,		"SYS_5465"	}, /* 5465 */
+	{ 0,	0,	printargs,		"SYS_5466"	}, /* 5466 */
+	{ 0,	0,	printargs,		"SYS_5467"	}, /* 5467 */
+	{ 0,	0,	printargs,		"SYS_5468"	}, /* 5468 */
+	{ 0,	0,	printargs,		"SYS_5469"	}, /* 5469 */
+	{ 0,	0,	printargs,		"SYS_5470"	}, /* 5470 */
+	{ 0,	0,	printargs,		"SYS_5471"	}, /* 5471 */
+	{ 0,	0,	printargs,		"SYS_5472"	}, /* 5472 */
+	{ 0,	0,	printargs,		"SYS_5473"	}, /* 5473 */
+	{ 0,	0,	printargs,		"SYS_5474"	}, /* 5474 */
+	{ 0,	0,	printargs,		"SYS_5475"	}, /* 5475 */
+	{ 0,	0,	printargs,		"SYS_5476"	}, /* 5476 */
+	{ 0,	0,	printargs,		"SYS_5477"	}, /* 5477 */
+	{ 0,	0,	printargs,		"SYS_5478"	}, /* 5478 */
+	{ 0,	0,	printargs,		"SYS_5479"	}, /* 5479 */
+	{ 0,	0,	printargs,		"SYS_5480"	}, /* 5480 */
+	{ 0,	0,	printargs,		"SYS_5481"	}, /* 5481 */
+	{ 0,	0,	printargs,		"SYS_5482"	}, /* 5482 */
+	{ 0,	0,	printargs,		"SYS_5483"	}, /* 5483 */
+	{ 0,	0,	printargs,		"SYS_5484"	}, /* 5484 */
+	{ 0,	0,	printargs,		"SYS_5485"	}, /* 5485 */
+	{ 0,	0,	printargs,		"SYS_5486"	}, /* 5486 */
+	{ 0,	0,	printargs,		"SYS_5487"	}, /* 5487 */
+	{ 0,	0,	printargs,		"SYS_5488"	}, /* 5488 */
+	{ 0,	0,	printargs,		"SYS_5489"	}, /* 5489 */
+	{ 0,	0,	printargs,		"SYS_5490"	}, /* 5490 */
+	{ 0,	0,	printargs,		"SYS_5491"	}, /* 5491 */
+	{ 0,	0,	printargs,		"SYS_5492"	}, /* 5492 */
+	{ 0,	0,	printargs,		"SYS_5493"	}, /* 5493 */
+	{ 0,	0,	printargs,		"SYS_5494"	}, /* 5494 */
+	{ 0,	0,	printargs,		"SYS_5495"	}, /* 5495 */
+	{ 0,	0,	printargs,		"SYS_5496"	}, /* 5496 */
+	{ 0,	0,	printargs,		"SYS_5497"	}, /* 5497 */
+	{ 0,	0,	printargs,		"SYS_5498"	}, /* 5498 */
+	{ 0,	0,	printargs,		"SYS_5499"	}, /* 5499 */
+	{ 0,	0,	printargs,		"SYS_5500"	}, /* 5500 */
+	{ 0,	0,	printargs,		"SYS_5501"	}, /* 5501 */
+	{ 0,	0,	printargs,		"SYS_5502"	}, /* 5502 */
+	{ 0,	0,	printargs,		"SYS_5503"	}, /* 5503 */
+	{ 0,	0,	printargs,		"SYS_5504"	}, /* 5504 */
+	{ 0,	0,	printargs,		"SYS_5505"	}, /* 5505 */
+	{ 0,	0,	printargs,		"SYS_5506"	}, /* 5506 */
+	{ 0,	0,	printargs,		"SYS_5507"	}, /* 5507 */
+	{ 0,	0,	printargs,		"SYS_5508"	}, /* 5508 */
+	{ 0,	0,	printargs,		"SYS_5509"	}, /* 5509 */
+	{ 0,	0,	printargs,		"SYS_5510"	}, /* 5510 */
+	{ 0,	0,	printargs,		"SYS_5511"	}, /* 5511 */
+	{ 0,	0,	printargs,		"SYS_5512"	}, /* 5512 */
+	{ 0,	0,	printargs,		"SYS_5513"	}, /* 5513 */
+	{ 0,	0,	printargs,		"SYS_5514"	}, /* 5514 */
+	{ 0,	0,	printargs,		"SYS_5515"	}, /* 5515 */
+	{ 0,	0,	printargs,		"SYS_5516"	}, /* 5516 */
+	{ 0,	0,	printargs,		"SYS_5517"	}, /* 5517 */
+	{ 0,	0,	printargs,		"SYS_5518"	}, /* 5518 */
+	{ 0,	0,	printargs,		"SYS_5519"	}, /* 5519 */
+	{ 0,	0,	printargs,		"SYS_5520"	}, /* 5520 */
+	{ 0,	0,	printargs,		"SYS_5521"	}, /* 5521 */
+	{ 0,	0,	printargs,		"SYS_5522"	}, /* 5522 */
+	{ 0,	0,	printargs,		"SYS_5523"	}, /* 5523 */
+	{ 0,	0,	printargs,		"SYS_5524"	}, /* 5524 */
+	{ 0,	0,	printargs,		"SYS_5525"	}, /* 5525 */
+	{ 0,	0,	printargs,		"SYS_5526"	}, /* 5526 */
+	{ 0,	0,	printargs,		"SYS_5527"	}, /* 5527 */
+	{ 0,	0,	printargs,		"SYS_5528"	}, /* 5528 */
+	{ 0,	0,	printargs,		"SYS_5529"	}, /* 5529 */
+	{ 0,	0,	printargs,		"SYS_5530"	}, /* 5530 */
+	{ 0,	0,	printargs,		"SYS_5531"	}, /* 5531 */
+	{ 0,	0,	printargs,		"SYS_5532"	}, /* 5532 */
+	{ 0,	0,	printargs,		"SYS_5533"	}, /* 5533 */
+	{ 0,	0,	printargs,		"SYS_5534"	}, /* 5534 */
+	{ 0,	0,	printargs,		"SYS_5535"	}, /* 5535 */
+	{ 0,	0,	printargs,		"SYS_5536"	}, /* 5536 */
+	{ 0,	0,	printargs,		"SYS_5537"	}, /* 5537 */
+	{ 0,	0,	printargs,		"SYS_5538"	}, /* 5538 */
+	{ 0,	0,	printargs,		"SYS_5539"	}, /* 5539 */
+	{ 0,	0,	printargs,		"SYS_5540"	}, /* 5540 */
+	{ 0,	0,	printargs,		"SYS_5541"	}, /* 5541 */
+	{ 0,	0,	printargs,		"SYS_5542"	}, /* 5542 */
+	{ 0,	0,	printargs,		"SYS_5543"	}, /* 5543 */
+	{ 0,	0,	printargs,		"SYS_5544"	}, /* 5544 */
+	{ 0,	0,	printargs,		"SYS_5545"	}, /* 5545 */
+	{ 0,	0,	printargs,		"SYS_5546"	}, /* 5546 */
+	{ 0,	0,	printargs,		"SYS_5547"	}, /* 5547 */
+	{ 0,	0,	printargs,		"SYS_5548"	}, /* 5548 */
+	{ 0,	0,	printargs,		"SYS_5549"	}, /* 5549 */
+	{ 0,	0,	printargs,		"SYS_5550"	}, /* 5550 */
+	{ 0,	0,	printargs,		"SYS_5551"	}, /* 5551 */
+	{ 0,	0,	printargs,		"SYS_5552"	}, /* 5552 */
+	{ 0,	0,	printargs,		"SYS_5553"	}, /* 5553 */
+	{ 0,	0,	printargs,		"SYS_5554"	}, /* 5554 */
+	{ 0,	0,	printargs,		"SYS_5555"	}, /* 5555 */
+	{ 0,	0,	printargs,		"SYS_5556"	}, /* 5556 */
+	{ 0,	0,	printargs,		"SYS_5557"	}, /* 5557 */
+	{ 0,	0,	printargs,		"SYS_5558"	}, /* 5558 */
+	{ 0,	0,	printargs,		"SYS_5559"	}, /* 5559 */
+	{ 0,	0,	printargs,		"SYS_5560"	}, /* 5560 */
+	{ 0,	0,	printargs,		"SYS_5561"	}, /* 5561 */
+	{ 0,	0,	printargs,		"SYS_5562"	}, /* 5562 */
+	{ 0,	0,	printargs,		"SYS_5563"	}, /* 5563 */
+	{ 0,	0,	printargs,		"SYS_5564"	}, /* 5564 */
+	{ 0,	0,	printargs,		"SYS_5565"	}, /* 5565 */
+	{ 0,	0,	printargs,		"SYS_5566"	}, /* 5566 */
+	{ 0,	0,	printargs,		"SYS_5567"	}, /* 5567 */
+	{ 0,	0,	printargs,		"SYS_5568"	}, /* 5568 */
+	{ 0,	0,	printargs,		"SYS_5569"	}, /* 5569 */
+	{ 0,	0,	printargs,		"SYS_5570"	}, /* 5570 */
+	{ 0,	0,	printargs,		"SYS_5571"	}, /* 5571 */
+	{ 0,	0,	printargs,		"SYS_5572"	}, /* 5572 */
+	{ 0,	0,	printargs,		"SYS_5573"	}, /* 5573 */
+	{ 0,	0,	printargs,		"SYS_5574"	}, /* 5574 */
+	{ 0,	0,	printargs,		"SYS_5575"	}, /* 5575 */
+	{ 0,	0,	printargs,		"SYS_5576"	}, /* 5576 */
+	{ 0,	0,	printargs,		"SYS_5577"	}, /* 5577 */
+	{ 0,	0,	printargs,		"SYS_5578"	}, /* 5578 */
+	{ 0,	0,	printargs,		"SYS_5579"	}, /* 5579 */
+	{ 0,	0,	printargs,		"SYS_5580"	}, /* 5580 */
+	{ 0,	0,	printargs,		"SYS_5581"	}, /* 5581 */
+	{ 0,	0,	printargs,		"SYS_5582"	}, /* 5582 */
+	{ 0,	0,	printargs,		"SYS_5583"	}, /* 5583 */
+	{ 0,	0,	printargs,		"SYS_5584"	}, /* 5584 */
+	{ 0,	0,	printargs,		"SYS_5585"	}, /* 5585 */
+	{ 0,	0,	printargs,		"SYS_5586"	}, /* 5586 */
+	{ 0,	0,	printargs,		"SYS_5587"	}, /* 5587 */
+	{ 0,	0,	printargs,		"SYS_5588"	}, /* 5588 */
+	{ 0,	0,	printargs,		"SYS_5589"	}, /* 5589 */
+	{ 0,	0,	printargs,		"SYS_5590"	}, /* 5590 */
+	{ 0,	0,	printargs,		"SYS_5591"	}, /* 5591 */
+	{ 0,	0,	printargs,		"SYS_5592"	}, /* 5592 */
+	{ 0,	0,	printargs,		"SYS_5593"	}, /* 5593 */
+	{ 0,	0,	printargs,		"SYS_5594"	}, /* 5594 */
+	{ 0,	0,	printargs,		"SYS_5595"	}, /* 5595 */
+	{ 0,	0,	printargs,		"SYS_5596"	}, /* 5596 */
+	{ 0,	0,	printargs,		"SYS_5597"	}, /* 5597 */
+	{ 0,	0,	printargs,		"SYS_5598"	}, /* 5598 */
+	{ 0,	0,	printargs,		"SYS_5599"	}, /* 5599 */
+	{ 0,	0,	printargs,		"SYS_5600"	}, /* 5600 */
+	{ 0,	0,	printargs,		"SYS_5601"	}, /* 5601 */
+	{ 0,	0,	printargs,		"SYS_5602"	}, /* 5602 */
+	{ 0,	0,	printargs,		"SYS_5603"	}, /* 5603 */
+	{ 0,	0,	printargs,		"SYS_5604"	}, /* 5604 */
+	{ 0,	0,	printargs,		"SYS_5605"	}, /* 5605 */
+	{ 0,	0,	printargs,		"SYS_5606"	}, /* 5606 */
+	{ 0,	0,	printargs,		"SYS_5607"	}, /* 5607 */
+	{ 0,	0,	printargs,		"SYS_5608"	}, /* 5608 */
+	{ 0,	0,	printargs,		"SYS_5609"	}, /* 5609 */
+	{ 0,	0,	printargs,		"SYS_5610"	}, /* 5610 */
+	{ 0,	0,	printargs,		"SYS_5611"	}, /* 5611 */
+	{ 0,	0,	printargs,		"SYS_5612"	}, /* 5612 */
+	{ 0,	0,	printargs,		"SYS_5613"	}, /* 5613 */
+	{ 0,	0,	printargs,		"SYS_5614"	}, /* 5614 */
+	{ 0,	0,	printargs,		"SYS_5615"	}, /* 5615 */
+	{ 0,	0,	printargs,		"SYS_5616"	}, /* 5616 */
+	{ 0,	0,	printargs,		"SYS_5617"	}, /* 5617 */
+	{ 0,	0,	printargs,		"SYS_5618"	}, /* 5618 */
+	{ 0,	0,	printargs,		"SYS_5619"	}, /* 5619 */
+	{ 0,	0,	printargs,		"SYS_5620"	}, /* 5620 */
+	{ 0,	0,	printargs,		"SYS_5621"	}, /* 5621 */
+	{ 0,	0,	printargs,		"SYS_5622"	}, /* 5622 */
+	{ 0,	0,	printargs,		"SYS_5623"	}, /* 5623 */
+	{ 0,	0,	printargs,		"SYS_5624"	}, /* 5624 */
+	{ 0,	0,	printargs,		"SYS_5625"	}, /* 5625 */
+	{ 0,	0,	printargs,		"SYS_5626"	}, /* 5626 */
+	{ 0,	0,	printargs,		"SYS_5627"	}, /* 5627 */
+	{ 0,	0,	printargs,		"SYS_5628"	}, /* 5628 */
+	{ 0,	0,	printargs,		"SYS_5629"	}, /* 5629 */
+	{ 0,	0,	printargs,		"SYS_5630"	}, /* 5630 */
+	{ 0,	0,	printargs,		"SYS_5631"	}, /* 5631 */
+	{ 0,	0,	printargs,		"SYS_5632"	}, /* 5632 */
+	{ 0,	0,	printargs,		"SYS_5633"	}, /* 5633 */
+	{ 0,	0,	printargs,		"SYS_5634"	}, /* 5634 */
+	{ 0,	0,	printargs,		"SYS_5635"	}, /* 5635 */
+	{ 0,	0,	printargs,		"SYS_5636"	}, /* 5636 */
+	{ 0,	0,	printargs,		"SYS_5637"	}, /* 5637 */
+	{ 0,	0,	printargs,		"SYS_5638"	}, /* 5638 */
+	{ 0,	0,	printargs,		"SYS_5639"	}, /* 5639 */
+	{ 0,	0,	printargs,		"SYS_5640"	}, /* 5640 */
+	{ 0,	0,	printargs,		"SYS_5641"	}, /* 5641 */
+	{ 0,	0,	printargs,		"SYS_5642"	}, /* 5642 */
+	{ 0,	0,	printargs,		"SYS_5643"	}, /* 5643 */
+	{ 0,	0,	printargs,		"SYS_5644"	}, /* 5644 */
+	{ 0,	0,	printargs,		"SYS_5645"	}, /* 5645 */
+	{ 0,	0,	printargs,		"SYS_5646"	}, /* 5646 */
+	{ 0,	0,	printargs,		"SYS_5647"	}, /* 5647 */
+	{ 0,	0,	printargs,		"SYS_5648"	}, /* 5648 */
+	{ 0,	0,	printargs,		"SYS_5649"	}, /* 5649 */
+	{ 0,	0,	printargs,		"SYS_5650"	}, /* 5650 */
+	{ 0,	0,	printargs,		"SYS_5651"	}, /* 5651 */
+	{ 0,	0,	printargs,		"SYS_5652"	}, /* 5652 */
+	{ 0,	0,	printargs,		"SYS_5653"	}, /* 5653 */
+	{ 0,	0,	printargs,		"SYS_5654"	}, /* 5654 */
+	{ 0,	0,	printargs,		"SYS_5655"	}, /* 5655 */
+	{ 0,	0,	printargs,		"SYS_5656"	}, /* 5656 */
+	{ 0,	0,	printargs,		"SYS_5657"	}, /* 5657 */
+	{ 0,	0,	printargs,		"SYS_5658"	}, /* 5658 */
+	{ 0,	0,	printargs,		"SYS_5659"	}, /* 5659 */
+	{ 0,	0,	printargs,		"SYS_5660"	}, /* 5660 */
+	{ 0,	0,	printargs,		"SYS_5661"	}, /* 5661 */
+	{ 0,	0,	printargs,		"SYS_5662"	}, /* 5662 */
+	{ 0,	0,	printargs,		"SYS_5663"	}, /* 5663 */
+	{ 0,	0,	printargs,		"SYS_5664"	}, /* 5664 */
+	{ 0,	0,	printargs,		"SYS_5665"	}, /* 5665 */
+	{ 0,	0,	printargs,		"SYS_5666"	}, /* 5666 */
+	{ 0,	0,	printargs,		"SYS_5667"	}, /* 5667 */
+	{ 0,	0,	printargs,		"SYS_5668"	}, /* 5668 */
+	{ 0,	0,	printargs,		"SYS_5669"	}, /* 5669 */
+	{ 0,	0,	printargs,		"SYS_5670"	}, /* 5670 */
+	{ 0,	0,	printargs,		"SYS_5671"	}, /* 5671 */
+	{ 0,	0,	printargs,		"SYS_5672"	}, /* 5672 */
+	{ 0,	0,	printargs,		"SYS_5673"	}, /* 5673 */
+	{ 0,	0,	printargs,		"SYS_5674"	}, /* 5674 */
+	{ 0,	0,	printargs,		"SYS_5675"	}, /* 5675 */
+	{ 0,	0,	printargs,		"SYS_5676"	}, /* 5676 */
+	{ 0,	0,	printargs,		"SYS_5677"	}, /* 5677 */
+	{ 0,	0,	printargs,		"SYS_5678"	}, /* 5678 */
+	{ 0,	0,	printargs,		"SYS_5679"	}, /* 5679 */
+	{ 0,	0,	printargs,		"SYS_5680"	}, /* 5680 */
+	{ 0,	0,	printargs,		"SYS_5681"	}, /* 5681 */
+	{ 0,	0,	printargs,		"SYS_5682"	}, /* 5682 */
+	{ 0,	0,	printargs,		"SYS_5683"	}, /* 5683 */
+	{ 0,	0,	printargs,		"SYS_5684"	}, /* 5684 */
+	{ 0,	0,	printargs,		"SYS_5685"	}, /* 5685 */
+	{ 0,	0,	printargs,		"SYS_5686"	}, /* 5686 */
+	{ 0,	0,	printargs,		"SYS_5687"	}, /* 5687 */
+	{ 0,	0,	printargs,		"SYS_5688"	}, /* 5688 */
+	{ 0,	0,	printargs,		"SYS_5689"	}, /* 5689 */
+	{ 0,	0,	printargs,		"SYS_5690"	}, /* 5690 */
+	{ 0,	0,	printargs,		"SYS_5691"	}, /* 5691 */
+	{ 0,	0,	printargs,		"SYS_5692"	}, /* 5692 */
+	{ 0,	0,	printargs,		"SYS_5693"	}, /* 5693 */
+	{ 0,	0,	printargs,		"SYS_5694"	}, /* 5694 */
+	{ 0,	0,	printargs,		"SYS_5695"	}, /* 5695 */
+	{ 0,	0,	printargs,		"SYS_5696"	}, /* 5696 */
+	{ 0,	0,	printargs,		"SYS_5697"	}, /* 5697 */
+	{ 0,	0,	printargs,		"SYS_5698"	}, /* 5698 */
+	{ 0,	0,	printargs,		"SYS_5699"	}, /* 5699 */
+	{ 0,	0,	printargs,		"SYS_5700"	}, /* 5700 */
+	{ 0,	0,	printargs,		"SYS_5701"	}, /* 5701 */
+	{ 0,	0,	printargs,		"SYS_5702"	}, /* 5702 */
+	{ 0,	0,	printargs,		"SYS_5703"	}, /* 5703 */
+	{ 0,	0,	printargs,		"SYS_5704"	}, /* 5704 */
+	{ 0,	0,	printargs,		"SYS_5705"	}, /* 5705 */
+	{ 0,	0,	printargs,		"SYS_5706"	}, /* 5706 */
+	{ 0,	0,	printargs,		"SYS_5707"	}, /* 5707 */
+	{ 0,	0,	printargs,		"SYS_5708"	}, /* 5708 */
+	{ 0,	0,	printargs,		"SYS_5709"	}, /* 5709 */
+	{ 0,	0,	printargs,		"SYS_5710"	}, /* 5710 */
+	{ 0,	0,	printargs,		"SYS_5711"	}, /* 5711 */
+	{ 0,	0,	printargs,		"SYS_5712"	}, /* 5712 */
+	{ 0,	0,	printargs,		"SYS_5713"	}, /* 5713 */
+	{ 0,	0,	printargs,		"SYS_5714"	}, /* 5714 */
+	{ 0,	0,	printargs,		"SYS_5715"	}, /* 5715 */
+	{ 0,	0,	printargs,		"SYS_5716"	}, /* 5716 */
+	{ 0,	0,	printargs,		"SYS_5717"	}, /* 5717 */
+	{ 0,	0,	printargs,		"SYS_5718"	}, /* 5718 */
+	{ 0,	0,	printargs,		"SYS_5719"	}, /* 5719 */
+	{ 0,	0,	printargs,		"SYS_5720"	}, /* 5720 */
+	{ 0,	0,	printargs,		"SYS_5721"	}, /* 5721 */
+	{ 0,	0,	printargs,		"SYS_5722"	}, /* 5722 */
+	{ 0,	0,	printargs,		"SYS_5723"	}, /* 5723 */
+	{ 0,	0,	printargs,		"SYS_5724"	}, /* 5724 */
+	{ 0,	0,	printargs,		"SYS_5725"	}, /* 5725 */
+	{ 0,	0,	printargs,		"SYS_5726"	}, /* 5726 */
+	{ 0,	0,	printargs,		"SYS_5727"	}, /* 5727 */
+	{ 0,	0,	printargs,		"SYS_5728"	}, /* 5728 */
+	{ 0,	0,	printargs,		"SYS_5729"	}, /* 5729 */
+	{ 0,	0,	printargs,		"SYS_5730"	}, /* 5730 */
+	{ 0,	0,	printargs,		"SYS_5731"	}, /* 5731 */
+	{ 0,	0,	printargs,		"SYS_5732"	}, /* 5732 */
+	{ 0,	0,	printargs,		"SYS_5733"	}, /* 5733 */
+	{ 0,	0,	printargs,		"SYS_5734"	}, /* 5734 */
+	{ 0,	0,	printargs,		"SYS_5735"	}, /* 5735 */
+	{ 0,	0,	printargs,		"SYS_5736"	}, /* 5736 */
+	{ 0,	0,	printargs,		"SYS_5737"	}, /* 5737 */
+	{ 0,	0,	printargs,		"SYS_5738"	}, /* 5738 */
+	{ 0,	0,	printargs,		"SYS_5739"	}, /* 5739 */
+	{ 0,	0,	printargs,		"SYS_5740"	}, /* 5740 */
+	{ 0,	0,	printargs,		"SYS_5741"	}, /* 5741 */
+	{ 0,	0,	printargs,		"SYS_5742"	}, /* 5742 */
+	{ 0,	0,	printargs,		"SYS_5743"	}, /* 5743 */
+	{ 0,	0,	printargs,		"SYS_5744"	}, /* 5744 */
+	{ 0,	0,	printargs,		"SYS_5745"	}, /* 5745 */
+	{ 0,	0,	printargs,		"SYS_5746"	}, /* 5746 */
+	{ 0,	0,	printargs,		"SYS_5747"	}, /* 5747 */
+	{ 0,	0,	printargs,		"SYS_5748"	}, /* 5748 */
+	{ 0,	0,	printargs,		"SYS_5749"	}, /* 5749 */
+	{ 0,	0,	printargs,		"SYS_5750"	}, /* 5750 */
+	{ 0,	0,	printargs,		"SYS_5751"	}, /* 5751 */
+	{ 0,	0,	printargs,		"SYS_5752"	}, /* 5752 */
+	{ 0,	0,	printargs,		"SYS_5753"	}, /* 5753 */
+	{ 0,	0,	printargs,		"SYS_5754"	}, /* 5754 */
+	{ 0,	0,	printargs,		"SYS_5755"	}, /* 5755 */
+	{ 0,	0,	printargs,		"SYS_5756"	}, /* 5756 */
+	{ 0,	0,	printargs,		"SYS_5757"	}, /* 5757 */
+	{ 0,	0,	printargs,		"SYS_5758"	}, /* 5758 */
+	{ 0,	0,	printargs,		"SYS_5759"	}, /* 5759 */
+	{ 0,	0,	printargs,		"SYS_5760"	}, /* 5760 */
+	{ 0,	0,	printargs,		"SYS_5761"	}, /* 5761 */
+	{ 0,	0,	printargs,		"SYS_5762"	}, /* 5762 */
+	{ 0,	0,	printargs,		"SYS_5763"	}, /* 5763 */
+	{ 0,	0,	printargs,		"SYS_5764"	}, /* 5764 */
+	{ 0,	0,	printargs,		"SYS_5765"	}, /* 5765 */
+	{ 0,	0,	printargs,		"SYS_5766"	}, /* 5766 */
+	{ 0,	0,	printargs,		"SYS_5767"	}, /* 5767 */
+	{ 0,	0,	printargs,		"SYS_5768"	}, /* 5768 */
+	{ 0,	0,	printargs,		"SYS_5769"	}, /* 5769 */
+	{ 0,	0,	printargs,		"SYS_5770"	}, /* 5770 */
+	{ 0,	0,	printargs,		"SYS_5771"	}, /* 5771 */
+	{ 0,	0,	printargs,		"SYS_5772"	}, /* 5772 */
+	{ 0,	0,	printargs,		"SYS_5773"	}, /* 5773 */
+	{ 0,	0,	printargs,		"SYS_5774"	}, /* 5774 */
+	{ 0,	0,	printargs,		"SYS_5775"	}, /* 5775 */
+	{ 0,	0,	printargs,		"SYS_5776"	}, /* 5776 */
+	{ 0,	0,	printargs,		"SYS_5777"	}, /* 5777 */
+	{ 0,	0,	printargs,		"SYS_5778"	}, /* 5778 */
+	{ 0,	0,	printargs,		"SYS_5779"	}, /* 5779 */
+	{ 0,	0,	printargs,		"SYS_5780"	}, /* 5780 */
+	{ 0,	0,	printargs,		"SYS_5781"	}, /* 5781 */
+	{ 0,	0,	printargs,		"SYS_5782"	}, /* 5782 */
+	{ 0,	0,	printargs,		"SYS_5783"	}, /* 5783 */
+	{ 0,	0,	printargs,		"SYS_5784"	}, /* 5784 */
+	{ 0,	0,	printargs,		"SYS_5785"	}, /* 5785 */
+	{ 0,	0,	printargs,		"SYS_5786"	}, /* 5786 */
+	{ 0,	0,	printargs,		"SYS_5787"	}, /* 5787 */
+	{ 0,	0,	printargs,		"SYS_5788"	}, /* 5788 */
+	{ 0,	0,	printargs,		"SYS_5789"	}, /* 5789 */
+	{ 0,	0,	printargs,		"SYS_5790"	}, /* 5790 */
+	{ 0,	0,	printargs,		"SYS_5791"	}, /* 5791 */
+	{ 0,	0,	printargs,		"SYS_5792"	}, /* 5792 */
+	{ 0,	0,	printargs,		"SYS_5793"	}, /* 5793 */
+	{ 0,	0,	printargs,		"SYS_5794"	}, /* 5794 */
+	{ 0,	0,	printargs,		"SYS_5795"	}, /* 5795 */
+	{ 0,	0,	printargs,		"SYS_5796"	}, /* 5796 */
+	{ 0,	0,	printargs,		"SYS_5797"	}, /* 5797 */
+	{ 0,	0,	printargs,		"SYS_5798"	}, /* 5798 */
+	{ 0,	0,	printargs,		"SYS_5799"	}, /* 5799 */
+	{ 0,	0,	printargs,		"SYS_5800"	}, /* 5800 */
+	{ 0,	0,	printargs,		"SYS_5801"	}, /* 5801 */
+	{ 0,	0,	printargs,		"SYS_5802"	}, /* 5802 */
+	{ 0,	0,	printargs,		"SYS_5803"	}, /* 5803 */
+	{ 0,	0,	printargs,		"SYS_5804"	}, /* 5804 */
+	{ 0,	0,	printargs,		"SYS_5805"	}, /* 5805 */
+	{ 0,	0,	printargs,		"SYS_5806"	}, /* 5806 */
+	{ 0,	0,	printargs,		"SYS_5807"	}, /* 5807 */
+	{ 0,	0,	printargs,		"SYS_5808"	}, /* 5808 */
+	{ 0,	0,	printargs,		"SYS_5809"	}, /* 5809 */
+	{ 0,	0,	printargs,		"SYS_5810"	}, /* 5810 */
+	{ 0,	0,	printargs,		"SYS_5811"	}, /* 5811 */
+	{ 0,	0,	printargs,		"SYS_5812"	}, /* 5812 */
+	{ 0,	0,	printargs,		"SYS_5813"	}, /* 5813 */
+	{ 0,	0,	printargs,		"SYS_5814"	}, /* 5814 */
+	{ 0,	0,	printargs,		"SYS_5815"	}, /* 5815 */
+	{ 0,	0,	printargs,		"SYS_5816"	}, /* 5816 */
+	{ 0,	0,	printargs,		"SYS_5817"	}, /* 5817 */
+	{ 0,	0,	printargs,		"SYS_5818"	}, /* 5818 */
+	{ 0,	0,	printargs,		"SYS_5819"	}, /* 5819 */
+	{ 0,	0,	printargs,		"SYS_5820"	}, /* 5820 */
+	{ 0,	0,	printargs,		"SYS_5821"	}, /* 5821 */
+	{ 0,	0,	printargs,		"SYS_5822"	}, /* 5822 */
+	{ 0,	0,	printargs,		"SYS_5823"	}, /* 5823 */
+	{ 0,	0,	printargs,		"SYS_5824"	}, /* 5824 */
+	{ 0,	0,	printargs,		"SYS_5825"	}, /* 5825 */
+	{ 0,	0,	printargs,		"SYS_5826"	}, /* 5826 */
+	{ 0,	0,	printargs,		"SYS_5827"	}, /* 5827 */
+	{ 0,	0,	printargs,		"SYS_5828"	}, /* 5828 */
+	{ 0,	0,	printargs,		"SYS_5829"	}, /* 5829 */
+	{ 0,	0,	printargs,		"SYS_5830"	}, /* 5830 */
+	{ 0,	0,	printargs,		"SYS_5831"	}, /* 5831 */
+	{ 0,	0,	printargs,		"SYS_5832"	}, /* 5832 */
+	{ 0,	0,	printargs,		"SYS_5833"	}, /* 5833 */
+	{ 0,	0,	printargs,		"SYS_5834"	}, /* 5834 */
+	{ 0,	0,	printargs,		"SYS_5835"	}, /* 5835 */
+	{ 0,	0,	printargs,		"SYS_5836"	}, /* 5836 */
+	{ 0,	0,	printargs,		"SYS_5837"	}, /* 5837 */
+	{ 0,	0,	printargs,		"SYS_5838"	}, /* 5838 */
+	{ 0,	0,	printargs,		"SYS_5839"	}, /* 5839 */
+	{ 0,	0,	printargs,		"SYS_5840"	}, /* 5840 */
+	{ 0,	0,	printargs,		"SYS_5841"	}, /* 5841 */
+	{ 0,	0,	printargs,		"SYS_5842"	}, /* 5842 */
+	{ 0,	0,	printargs,		"SYS_5843"	}, /* 5843 */
+	{ 0,	0,	printargs,		"SYS_5844"	}, /* 5844 */
+	{ 0,	0,	printargs,		"SYS_5845"	}, /* 5845 */
+	{ 0,	0,	printargs,		"SYS_5846"	}, /* 5846 */
+	{ 0,	0,	printargs,		"SYS_5847"	}, /* 5847 */
+	{ 0,	0,	printargs,		"SYS_5848"	}, /* 5848 */
+	{ 0,	0,	printargs,		"SYS_5849"	}, /* 5849 */
+	{ 0,	0,	printargs,		"SYS_5850"	}, /* 5850 */
+	{ 0,	0,	printargs,		"SYS_5851"	}, /* 5851 */
+	{ 0,	0,	printargs,		"SYS_5852"	}, /* 5852 */
+	{ 0,	0,	printargs,		"SYS_5853"	}, /* 5853 */
+	{ 0,	0,	printargs,		"SYS_5854"	}, /* 5854 */
+	{ 0,	0,	printargs,		"SYS_5855"	}, /* 5855 */
+	{ 0,	0,	printargs,		"SYS_5856"	}, /* 5856 */
+	{ 0,	0,	printargs,		"SYS_5857"	}, /* 5857 */
+	{ 0,	0,	printargs,		"SYS_5858"	}, /* 5858 */
+	{ 0,	0,	printargs,		"SYS_5859"	}, /* 5859 */
+	{ 0,	0,	printargs,		"SYS_5860"	}, /* 5860 */
+	{ 0,	0,	printargs,		"SYS_5861"	}, /* 5861 */
+	{ 0,	0,	printargs,		"SYS_5862"	}, /* 5862 */
+	{ 0,	0,	printargs,		"SYS_5863"	}, /* 5863 */
+	{ 0,	0,	printargs,		"SYS_5864"	}, /* 5864 */
+	{ 0,	0,	printargs,		"SYS_5865"	}, /* 5865 */
+	{ 0,	0,	printargs,		"SYS_5866"	}, /* 5866 */
+	{ 0,	0,	printargs,		"SYS_5867"	}, /* 5867 */
+	{ 0,	0,	printargs,		"SYS_5868"	}, /* 5868 */
+	{ 0,	0,	printargs,		"SYS_5869"	}, /* 5869 */
+	{ 0,	0,	printargs,		"SYS_5870"	}, /* 5870 */
+	{ 0,	0,	printargs,		"SYS_5871"	}, /* 5871 */
+	{ 0,	0,	printargs,		"SYS_5872"	}, /* 5872 */
+	{ 0,	0,	printargs,		"SYS_5873"	}, /* 5873 */
+	{ 0,	0,	printargs,		"SYS_5874"	}, /* 5874 */
+	{ 0,	0,	printargs,		"SYS_5875"	}, /* 5875 */
+	{ 0,	0,	printargs,		"SYS_5876"	}, /* 5876 */
+	{ 0,	0,	printargs,		"SYS_5877"	}, /* 5877 */
+	{ 0,	0,	printargs,		"SYS_5878"	}, /* 5878 */
+	{ 0,	0,	printargs,		"SYS_5879"	}, /* 5879 */
+	{ 0,	0,	printargs,		"SYS_5880"	}, /* 5880 */
+	{ 0,	0,	printargs,		"SYS_5881"	}, /* 5881 */
+	{ 0,	0,	printargs,		"SYS_5882"	}, /* 5882 */
+	{ 0,	0,	printargs,		"SYS_5883"	}, /* 5883 */
+	{ 0,	0,	printargs,		"SYS_5884"	}, /* 5884 */
+	{ 0,	0,	printargs,		"SYS_5885"	}, /* 5885 */
+	{ 0,	0,	printargs,		"SYS_5886"	}, /* 5886 */
+	{ 0,	0,	printargs,		"SYS_5887"	}, /* 5887 */
+	{ 0,	0,	printargs,		"SYS_5888"	}, /* 5888 */
+	{ 0,	0,	printargs,		"SYS_5889"	}, /* 5889 */
+	{ 0,	0,	printargs,		"SYS_5890"	}, /* 5890 */
+	{ 0,	0,	printargs,		"SYS_5891"	}, /* 5891 */
+	{ 0,	0,	printargs,		"SYS_5892"	}, /* 5892 */
+	{ 0,	0,	printargs,		"SYS_5893"	}, /* 5893 */
+	{ 0,	0,	printargs,		"SYS_5894"	}, /* 5894 */
+	{ 0,	0,	printargs,		"SYS_5895"	}, /* 5895 */
+	{ 0,	0,	printargs,		"SYS_5896"	}, /* 5896 */
+	{ 0,	0,	printargs,		"SYS_5897"	}, /* 5897 */
+	{ 0,	0,	printargs,		"SYS_5898"	}, /* 5898 */
+	{ 0,	0,	printargs,		"SYS_5899"	}, /* 5899 */
+	{ 0,	0,	printargs,		"SYS_5900"	}, /* 5900 */
+	{ 0,	0,	printargs,		"SYS_5901"	}, /* 5901 */
+	{ 0,	0,	printargs,		"SYS_5902"	}, /* 5902 */
+	{ 0,	0,	printargs,		"SYS_5903"	}, /* 5903 */
+	{ 0,	0,	printargs,		"SYS_5904"	}, /* 5904 */
+	{ 0,	0,	printargs,		"SYS_5905"	}, /* 5905 */
+	{ 0,	0,	printargs,		"SYS_5906"	}, /* 5906 */
+	{ 0,	0,	printargs,		"SYS_5907"	}, /* 5907 */
+	{ 0,	0,	printargs,		"SYS_5908"	}, /* 5908 */
+	{ 0,	0,	printargs,		"SYS_5909"	}, /* 5909 */
+	{ 0,	0,	printargs,		"SYS_5910"	}, /* 5910 */
+	{ 0,	0,	printargs,		"SYS_5911"	}, /* 5911 */
+	{ 0,	0,	printargs,		"SYS_5912"	}, /* 5912 */
+	{ 0,	0,	printargs,		"SYS_5913"	}, /* 5913 */
+	{ 0,	0,	printargs,		"SYS_5914"	}, /* 5914 */
+	{ 0,	0,	printargs,		"SYS_5915"	}, /* 5915 */
+	{ 0,	0,	printargs,		"SYS_5916"	}, /* 5916 */
+	{ 0,	0,	printargs,		"SYS_5917"	}, /* 5917 */
+	{ 0,	0,	printargs,		"SYS_5918"	}, /* 5918 */
+	{ 0,	0,	printargs,		"SYS_5919"	}, /* 5919 */
+	{ 0,	0,	printargs,		"SYS_5920"	}, /* 5920 */
+	{ 0,	0,	printargs,		"SYS_5921"	}, /* 5921 */
+	{ 0,	0,	printargs,		"SYS_5922"	}, /* 5922 */
+	{ 0,	0,	printargs,		"SYS_5923"	}, /* 5923 */
+	{ 0,	0,	printargs,		"SYS_5924"	}, /* 5924 */
+	{ 0,	0,	printargs,		"SYS_5925"	}, /* 5925 */
+	{ 0,	0,	printargs,		"SYS_5926"	}, /* 5926 */
+	{ 0,	0,	printargs,		"SYS_5927"	}, /* 5927 */
+	{ 0,	0,	printargs,		"SYS_5928"	}, /* 5928 */
+	{ 0,	0,	printargs,		"SYS_5929"	}, /* 5929 */
+	{ 0,	0,	printargs,		"SYS_5930"	}, /* 5930 */
+	{ 0,	0,	printargs,		"SYS_5931"	}, /* 5931 */
+	{ 0,	0,	printargs,		"SYS_5932"	}, /* 5932 */
+	{ 0,	0,	printargs,		"SYS_5933"	}, /* 5933 */
+	{ 0,	0,	printargs,		"SYS_5934"	}, /* 5934 */
+	{ 0,	0,	printargs,		"SYS_5935"	}, /* 5935 */
+	{ 0,	0,	printargs,		"SYS_5936"	}, /* 5936 */
+	{ 0,	0,	printargs,		"SYS_5937"	}, /* 5937 */
+	{ 0,	0,	printargs,		"SYS_5938"	}, /* 5938 */
+	{ 0,	0,	printargs,		"SYS_5939"	}, /* 5939 */
+	{ 0,	0,	printargs,		"SYS_5940"	}, /* 5940 */
+	{ 0,	0,	printargs,		"SYS_5941"	}, /* 5941 */
+	{ 0,	0,	printargs,		"SYS_5942"	}, /* 5942 */
+	{ 0,	0,	printargs,		"SYS_5943"	}, /* 5943 */
+	{ 0,	0,	printargs,		"SYS_5944"	}, /* 5944 */
+	{ 0,	0,	printargs,		"SYS_5945"	}, /* 5945 */
+	{ 0,	0,	printargs,		"SYS_5946"	}, /* 5946 */
+	{ 0,	0,	printargs,		"SYS_5947"	}, /* 5947 */
+	{ 0,	0,	printargs,		"SYS_5948"	}, /* 5948 */
+	{ 0,	0,	printargs,		"SYS_5949"	}, /* 5949 */
+	{ 0,	0,	printargs,		"SYS_5950"	}, /* 5950 */
+	{ 0,	0,	printargs,		"SYS_5951"	}, /* 5951 */
+	{ 0,	0,	printargs,		"SYS_5952"	}, /* 5952 */
+	{ 0,	0,	printargs,		"SYS_5953"	}, /* 5953 */
+	{ 0,	0,	printargs,		"SYS_5954"	}, /* 5954 */
+	{ 0,	0,	printargs,		"SYS_5955"	}, /* 5955 */
+	{ 0,	0,	printargs,		"SYS_5956"	}, /* 5956 */
+	{ 0,	0,	printargs,		"SYS_5957"	}, /* 5957 */
+	{ 0,	0,	printargs,		"SYS_5958"	}, /* 5958 */
+	{ 0,	0,	printargs,		"SYS_5959"	}, /* 5959 */
+	{ 0,	0,	printargs,		"SYS_5960"	}, /* 5960 */
+	{ 0,	0,	printargs,		"SYS_5961"	}, /* 5961 */
+	{ 0,	0,	printargs,		"SYS_5962"	}, /* 5962 */
+	{ 0,	0,	printargs,		"SYS_5963"	}, /* 5963 */
+	{ 0,	0,	printargs,		"SYS_5964"	}, /* 5964 */
+	{ 0,	0,	printargs,		"SYS_5965"	}, /* 5965 */
+	{ 0,	0,	printargs,		"SYS_5966"	}, /* 5966 */
+	{ 0,	0,	printargs,		"SYS_5967"	}, /* 5967 */
+	{ 0,	0,	printargs,		"SYS_5968"	}, /* 5968 */
+	{ 0,	0,	printargs,		"SYS_5969"	}, /* 5969 */
+	{ 0,	0,	printargs,		"SYS_5970"	}, /* 5970 */
+	{ 0,	0,	printargs,		"SYS_5971"	}, /* 5971 */
+	{ 0,	0,	printargs,		"SYS_5972"	}, /* 5972 */
+	{ 0,	0,	printargs,		"SYS_5973"	}, /* 5973 */
+	{ 0,	0,	printargs,		"SYS_5974"	}, /* 5974 */
+	{ 0,	0,	printargs,		"SYS_5975"	}, /* 5975 */
+	{ 0,	0,	printargs,		"SYS_5976"	}, /* 5976 */
+	{ 0,	0,	printargs,		"SYS_5977"	}, /* 5977 */
+	{ 0,	0,	printargs,		"SYS_5978"	}, /* 5978 */
+	{ 0,	0,	printargs,		"SYS_5979"	}, /* 5979 */
+	{ 0,	0,	printargs,		"SYS_5980"	}, /* 5980 */
+	{ 0,	0,	printargs,		"SYS_5981"	}, /* 5981 */
+	{ 0,	0,	printargs,		"SYS_5982"	}, /* 5982 */
+	{ 0,	0,	printargs,		"SYS_5983"	}, /* 5983 */
+	{ 0,	0,	printargs,		"SYS_5984"	}, /* 5984 */
+	{ 0,	0,	printargs,		"SYS_5985"	}, /* 5985 */
+	{ 0,	0,	printargs,		"SYS_5986"	}, /* 5986 */
+	{ 0,	0,	printargs,		"SYS_5987"	}, /* 5987 */
+	{ 0,	0,	printargs,		"SYS_5988"	}, /* 5988 */
+	{ 0,	0,	printargs,		"SYS_5989"	}, /* 5989 */
+	{ 0,	0,	printargs,		"SYS_5990"	}, /* 5990 */
+	{ 0,	0,	printargs,		"SYS_5991"	}, /* 5991 */
+	{ 0,	0,	printargs,		"SYS_5992"	}, /* 5992 */
+	{ 0,	0,	printargs,		"SYS_5993"	}, /* 5993 */
+	{ 0,	0,	printargs,		"SYS_5994"	}, /* 5994 */
+	{ 0,	0,	printargs,		"SYS_5995"	}, /* 5995 */
+	{ 0,	0,	printargs,		"SYS_5996"	}, /* 5996 */
+	{ 0,	0,	printargs,		"SYS_5997"	}, /* 5997 */
+	{ 0,	0,	printargs,		"SYS_5998"	}, /* 5998 */
+	{ 0,	0,	printargs,		"SYS_5999"	}, /* 5999 */ /* end of Linux N64 */
+
+#if defined (LINUX_MIPSN32)
+	/* For an N32 strace decode the N32 64-bit syscalls.  */
+	{ 3,	TF,	sys_read,		"read"		}, /* 6000 */ /* start of Linux N32 */
+	{ 3,	TF,	sys_write,		"write"		}, /* 6001 */
+	{ 3,	TF,	sys_open,		"open"		}, /* 6002 */
+	{ 1,	0,	sys_close,		"close"		}, /* 6003 */
+	{ 2,	TF,	sys_stat64,		"stat"		}, /* 6004 */
+	{ 2,	0,	sys_fstat64,		"fstat"		}, /* 6005 */
+	{ 2,	TF,	sys_lstat64,		"lstat"		}, /* 6006 */
+	{ 3,	0,	sys_poll,		"poll"		}, /* 6007 */
+	{ 3,	0,	sys_lseek,		"lseek"		}, /* 6008 */
+	{ 6,	0,	sys_mmap,		"mmap"		}, /* 6009 */
+	{ 3,	0,	sys_mprotect,		"mprotect"	}, /* 6010 */
+	{ 2,	0,	sys_munmap,		"munmap"	}, /* 6011 */
+	{ 1,	0,	sys_brk,		"brk"		}, /* 6012 */
+	{ 4,	TS,	sys_rt_sigaction,	"rt_sigaction"	}, /* 6013 */
+	{ 4,	TS,	sys_rt_sigprocmask,	"rt_sigprocmask"}, /* 6014 */
+	{ 3,	0,	sys_ioctl,		"ioctl"		}, /* 6015 */
+	{ 6,	TF,	sys_pread64,		"pread"		}, /* 6016 */
+	{ 6,	TF,	sys_pwrite64,		"pwrite"	}, /* 6017 */
+	{ 3,	0,	sys_readv,		"readv"		}, /* 6018 */
+	{ 3,	0,	sys_writev,		"writev"	}, /* 6019 */
+	{ 2,	TF,	sys_access,		"access"	}, /* 6020 */
+	{ 1,	0,	sys_pipe,		"pipe"		}, /* 6021 */
+	{ 5,	0,	sys_select,		"_newselect"	}, /* 6022 */
+	{ 0,	0,	sys_sched_yield,	"sched_yield"	}, /* 6023 */
+	{ 5,	0,	sys_mremap,		"mremap"	}, /* 6024 */
+	{ 3,	0,	sys_msync,		"msync"		}, /* 6025 */
+	{ 3,	0,	printargs,		"mincore"	}, /* 6026 */
+	{ 3,	0,	sys_madvise,		"madvise"	}, /* 6027 */
+	{ 3,	TI,	sys_shmget,		"shmget"	}, /* 6028 */
+	{ 3,	TI,	sys_shmat,		"shmgat"	}, /* 6029 */
+	{ 3,	TI,	sys_shmctl,		"shmctl"	}, /* 6030 */
+	{ 1,	0,	sys_dup,		"dup"		}, /* 6031 */
+	{ 2,	0,	sys_dup2,		"dup2"		}, /* 6032 */
+	{ 0,	TS,	sys_pause,		"pause"		}, /* 6033 */
+	{ 2,	0,	sys_nanosleep,		"nanosleep"	}, /* 6034 */
+	{ 2,	0,	sys_getitimer,		"getitimer"	}, /* 6035 */
+	{ 3,	0,	sys_setitimer,		"setitimer"	}, /* 6036 */
+	{ 1,	0,	sys_alarm,		"alarm"		}, /* 6037 */
+	{ 0,	0,	sys_getpid,		"getpid"	}, /* 6038 */
+	{ 4,	TD|TN,	sys_sendfile,		"sendfile"	}, /* 6039 */
+	{ 2,	0,	sys_socketcall,		"socketcall"	}, /* 6040 */
+	{ 3,	TN,	sys_connect,		"connect"	}, /* 6041 */
+	{ 3,	TN,	sys_accept,		"accept"	}, /* 6042 */
+	{ 6,	TN,	sys_sendto,		"sendto"	}, /* 6043 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom"	}, /* 6044 */
+	{ 3,	TN,	sys_sendmsg,		"sendmsg"	}, /* 6045 */
+	{ 3,	TN,	sys_recvmsg,		"recvmsg"	}, /* 6046 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	}, /* 6047 */
+	{ 3,	TN,	sys_bind,		"bind"		}, /* 6048 */
+	{ 2,	TN,	sys_listen,		"listen"	}, /* 6049 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	}, /* 6050 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	}, /* 6051 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"	}, /* 6052 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	}, /* 6053 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 6054 */
+	{ 2,	TP,	sys_clone,		"clone"		}, /* 6055 */
+	{ 0,	TP,	sys_fork,		"fork"		}, /* 6056 */
+	{ 3,	TF|TP,	sys_execve,		"execve"	}, /* 6057 */
+	{ 1,	TP,	sys_exit,		"exit"		}, /* 6058 */
+	{ 4,	TP,	sys_wait4,		"wait4"		}, /* 6059 */
+	{ 2,	TS,	sys_kill,		"kill"		}, /* 6060 */
+	{ 1,	0,	sys_uname,		"uname"		}, /* 6061 */
+	{ 3,	TI,	sys_semget,		"semget"	}, /* 6062 */
+	{ 3,	TI,	printargs,		"semop"		}, /* 6063 */
+	{ 4,	TI,	sys_semctl,		"semctl"	}, /* 6064 */
+	{ 1,	TI,	sys_shmdt,		"shmdt"		}, /* 6065 */
+	{ 2,	TI,	sys_msgget,		"msgget"	}, /* 6066 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd"	}, /* 6067 */
+	{ 5,	TI,	sys_msgrcv,		"msgrcv"	}, /* 6068 */
+	{ 3,	TI,	sys_msgctl,		"msgctl"	}, /* 6069 */
+	{ 3,	0,	sys_fcntl,		"fcntl"		}, /* 6070 */
+	{ 2,	0,	sys_flock,		"flock"		}, /* 6071 */
+	{ 1,	0,	sys_fsync,		"fsync"		}, /* 6072 */
+	{ 1,	0,	sys_fdatasync,		"fdatasync"	}, /* 6073 */
+	{ 2,	TF,	sys_truncate,		"truncate"	}, /* 6074 */
+	{ 2,	0,	sys_ftruncate,		"ftruncate"	}, /* 6075 */
+	{ 3,	0,	sys_getdents,		"getdents"	}, /* 6076 */
+	{ 2,	TF,	sys_getcwd,		"getcwd"	}, /* 6077 */
+	{ 1,	TF,	sys_chdir,		"chdir"		}, /* 6078 */
+	{ 1,	TF,	sys_fchdir,		"fchdir"	}, /* 6079 */
+	{ 2,	TF,	sys_rename,		"rename"	}, /* 6080 */
+	{ 2,	TF,	sys_mkdir,		"mkdir"		}, /* 6081 */
+	{ 1,	TF,	sys_rmdir,		"rmdir"		}, /* 6082 */
+	{ 2,	TF,	sys_creat,		"creat"		}, /* 6083 */
+	{ 2,	TF,	sys_link,		"link"		}, /* 6084 */
+	{ 1,	TF,	sys_unlink,		"unlink"	}, /* 6085 */
+	{ 2,	TF,	sys_symlink,		"symlink"	}, /* 6086 */
+	{ 3,	TF,	sys_readlink,		"readlink"	}, /* 6087 */
+	{ 2,	TF,	sys_chmod,		"chmod"		}, /* 6088 */
+	{ 2,	0,	sys_fchmod,		"fchmod"	}, /* 6089 */
+	{ 3,	TF,	sys_chown,		"chown"		}, /* 6090 */
+	{ 3,	0,	sys_fchown,		"fchown"	}, /* 6091 */
+	{ 3,	TF,	sys_chown,		"lchown"	}, /* 6092 */
+	{ 1,	0,	sys_umask,		"umask"		}, /* 6093 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday"	}, /* 6094 */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"	}, /* 6095 */
+	{ 2,	0,	sys_getrusage,		"getrusage"	}, /* 6096 */
+	{ 1,	0,	sys_sysinfo,		"sysinfo"	}, /* 6097 */
+	{ 1,	0,	sys_times,		"times"		}, /* 6098 */
+	{ 4,	0,	sys_ptrace,		"ptrace"	}, /* 6099 */
+	{ 0,	0,	sys_getuid,		"getuid"	}, /* 6100 */
+	{ 3,	0,	sys_syslog,		"syslog"	}, /* 6101 */
+	{ 0,	0,	sys_getgid,		"getgid"	}, /* 6102 */
+	{ 1,	0,	sys_setuid,		"setuid"	}, /* 6103 */
+	{ 1,	0,	sys_setgid,		"setgid"	}, /* 6104 */
+	{ 0,	0,	sys_geteuid,		"geteuid"	}, /* 6105 */
+	{ 0,	0,	sys_getegid,		"getegid"	}, /* 6106 */
+	{ 2,	0,	sys_setpgid,		"setpgid"	}, /* 6107 */
+	{ 0,	0,	sys_getppid,		"getppid"	}, /* 6108 */
+	{ 0,	0,	sys_getpgrp,		"getpgrp"	}, /* 6109 */
+	{ 0,	0,	sys_setsid,		"setsid"	}, /* 6110 */
+	{ 2,	0,	sys_setreuid,		"setreuid"	}, /* 6111 */
+	{ 2,	0,	sys_setregid,		"setregid"	}, /* 6112 */
+	{ 2,	0,	sys_getgroups,		"getgroups"	}, /* 6113 */
+	{ 2,	0,	sys_setgroups,		"setgroups"	}, /* 6114 */
+	{ 3,	0,	sys_setresuid,		"setresuid"	}, /* 6115 */
+	{ 3,	0,	sys_getresuid,		"getresuid"	}, /* 6116 */
+	{ 3,	0,	sys_setresgid,		"setresgid"	}, /* 6117 */
+	{ 3,	0,	sys_getresgid,		"getresgid"	}, /* 6118 */
+	{ 0,	0,	sys_getpgid,		"getpgid"	}, /* 6119 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid"	}, /* 6120 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid"	}, /* 6121 */
+	{ 1,	0,	sys_getsid,		"getsid"	}, /* 6122 */
+	{ 2,	0,	sys_capget,		"capget"	}, /* 6123 */
+	{ 2,	0,	sys_capset,		"capset"	}, /* 6124 */
+	{ 2,	TS,	sys_rt_sigpending,	"rt_sigpending"	}, /* 6125 */
+	{ 4,	TS,	sys_rt_sigtimedwait,	"rt_sigtimedwait"},/* 6126 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,	"rt_sigqueueinfo"},/* 6127 */
+	{ 2,	TS,	sys_rt_sigsuspend,	"rt_siguspend"	}, /* 6128 */
+	{ 2,	TS,	sys_sigaltstack,	"sigaltstatck"	}, /* 6129 */
+	{ 2,	TF,	sys_utime,		"utime"		}, /* 6130 */
+	{ 3,	TF,	sys_mknod,		"mknod"		}, /* 6131 */
+	{ 1,	0,	sys_personality,	"personality"	}, /* 6132 */
+	{ 2,	0,	sys_ustat,		"ustat"		}, /* 6133 */
+	{ 3,	0,	sys_statfs,		"statfs"	}, /* 6134 */
+	{ 3,	0,	sys_fstatfs,		"fstatfs"	}, /* 6135 */
+	{ 5,	0,	sys_sysfs,		"sysfs"		}, /* 6136 */
+	{ 2,	0,	sys_getpriority,	"getpriority"	}, /* 6137 */
+	{ 3,	0,	sys_setpriority,	"setpriority"	}, /* 6138 */
+	{ 2,	0,	sys_sched_setparam,	"sched_setparam"}, /* 6139 */
+	{ 2,	0,	sys_sched_getparam,	"sched_getparam"}, /* 6140 */
+	{ 3,	0,	sys_sched_setscheduler,	"sched_setscheduler"}, /* 6141 */
+	{ 1,	0,	sys_sched_getscheduler,	"sched_getscheduler"}, /* 6142 */
+	{ 1,	0,	sys_sched_get_priority_max,"sched_get_priority_max"}, /* 6143 */
+	{ 1,	0,	sys_sched_get_priority_min,"sched_get_priority_min"}, /* 6144 */
+	{ 2,	0,	sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 6145 */
+	{ 2,	0,	sys_mlock,		"mlock"		}, /* 6146 */
+	{ 2,	0,	sys_munlock,		"munlock"	}, /* 6147 */
+	{ 1,	0,	sys_mlockall,		"mlockall"	}, /* 6148 */
+	{ 0,	0,	sys_munlockall,		"munlockall"	}, /* 6149 */
+	{ 0,	0,	sys_vhangup,		"vhangup"	}, /* 6150 */
+	{ 2,	0,	sys_pivotroot,		"pivot_root"	}, /* 6151 */
+	{ 1,	0,	sys_sysctl,		"_sysctl"	}, /* 6152 */
+	{ 5,	0,	printargs,		"prctl"		}, /* 6153 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex"	}, /* 6154 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit"	}, /* 6155 */
+	{ 1,	TF,	sys_chroot,		"chroot"	}, /* 6156 */
+	{ 0,	0,	sys_sync,		"sync"		}, /* 6157 */
+	{ 1,	TF,	sys_acct,		"acct"		}, /* 6158 */
+	{ 2,	0,	sys_settimeofday,	"settimeofday"	}, /* 6159 */
+	{ 5,	TF,	sys_mount,		"mount"		}, /* 6160 */
+	{ 2,	TF,	sys_umount2,		"umount"	}, /* 6161 */
+	{ 1,	TF,	sys_swapon,		"swapon"	}, /* 6162 */
+	{ 1,	0,	sys_swapoff,		"swapoff"	}, /* 6163 */
+	{ 3,	0,	sys_reboot,		"reboot"	}, /* 6164 */
+	{ 2,	0,	sys_sethostname,	"sethostname"	}, /* 6165 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname"	}, /* 6166 */
+	{ 2,	0,	sys_create_module,	"create_module"	}, /* 6167 */
+	{ 4,	0,	sys_init_module,	"init_module"	}, /* 6168 */
+	{ 1,	0,	sys_delete_module,	"delete_module"	}, /* 6169 */
+	{ 1,	0,	sys_get_kernel_syms,	"get_kernel_syms"}, /* 6170 */
+	{ 5,	0,	sys_query_module,	"query_module"	}, /* 6171 */
+	{ 4,	0,	sys_quotactl,		"quotactl"	}, /* 6172 */
+	{ 3,	0,	printargs,		"nfsservctl"	}, /* 6173 */
+	{ 5,	TN,	printargs,		"getpmsg"	}, /* 6174 */
+	{ 5,	TN,	printargs,		"putpmsg"	}, /* 6175 */
+	{ 0,	0,	sys_afs_syscall,	"afs_syscall"	}, /* 6176 */
+	{ 0,	0,	printargs,		"reserved177"	}, /* 6177 */
+	{ 0,	0,	printargs,		"gettid"	}, /* 6178 */
+	{ 3,	0,	sys_readahead,		"readahead"	}, /* 6179 */
+	{ 5,	0,	sys_setxattr,		"setxattr"	}, /* 6180 */
+	{ 5,	0,	sys_setxattr,		"lsetxattr"	}, /* 6181 */
+	{ 5,	0,	sys_fsetxattr,		"fsetxattr"	}, /* 6182 */
+	{ 4,	0,	sys_getxattr,		"getxattr"	}, /* 6183 */
+	{ 4,	0,	sys_getxattr,		"lgetxattr"	}, /* 6184 */
+	{ 4,	0,	sys_fgetxattr,		"fgetxattr"	}, /* 6185 */
+	{ 3,	0,	sys_listxattr,		"listxattr"	}, /* 6186 */
+	{ 3,	0,	sys_listxattr,		"llistxattr"	}, /* 6187 */
+	{ 3,	0,	sys_flistxattr,		"flistxattr"	}, /* 6188 */
+	{ 2,	0,	sys_removexattr,	"removexattr"	}, /* 6189 */
+	{ 2,	0,	sys_removexattr,	"lremovexattr"	}, /* 6190 */
+	{ 2,	0,	sys_fremovexattr,	"fremovexattr"	}, /* 6191 */
+	{ 2,	0,	sys_kill,		"tkill"		}, /* 6192 */
+	{ 1,	0,	sys_time,		"time"		}, /* 6193 */
+	{ 5,	0,	printargs,		"futex"		}, /* 6194 */
+	{ 3,	0,	printargs,		"sched_setaffinity"}, /* 6195 */
+	{ 3,	0,	printargs,		"sched_getaffinity"}, /* 6196 */
+	{ 3,	0,	printargs,		"cacheflush"	}, /* 6197 */
+	{ 3,	0,	printargs,		"cachectl"	}, /* 6198 */
+	{ 4,	0,	sys_sysmips,		"sysmips"	}, /* 6199 */
+	{ 0,	0,	printargs,		"io_setup"	}, /* 6200 */
+	{ 0,	0,	printargs,		"io_destroy"	}, /* 6201 */
+	{ 0,	0,	printargs,		"io_getevents"	}, /* 6202 */
+	{ 0,	0,	printargs,		"io_submit"	}, /* 6203 */
+	{ 0,	0,	printargs,		"io_cancel"	}, /* 6204 */
+	{ 1,	TP,	sys_exit,		"exit_group"}, /* 6205 */
+	{ 3,	0,	printargs,		"lookup_dcookie"	}, /* 6206 */
+	{ 1,	0,	sys_epoll_create,	"epoll_create"	}, /* 6207 */
+	{ 4,	TD,	sys_epoll_ctl,		"epoll_ctl"	}, /* 6208 */
+	{ 3,	TD,	sys_epoll_wait,		"epoll_wait"	}, /* 6209 */
+	{ 5,	0,	sys_remap_file_pages,	"remap_file_pages"	}, /* 6210 */
+	{ 1,	TS,	printargs,		"rt_sigreturn"	}, /* 6211 */
+	{ 3,	0,	sys_fcntl,		"fcntl64"	}, /* 6212 */
+	{ 0,	0,	printargs,		"set_tid_address"	}, /* 6213 */
+	{ 0,	0,	printargs,		"restart_syscall"	}, /* 6214 */
+	{ 0,	0,	printargs,		"semtimedop"	}, /* 6215 */
+	{ 0,	0,	printargs,		"fadvise64"	}, /* 6216 */
+	{ 0,	0,	printargs,		"statfs64"	}, /* 6217 */
+	{ 0,	0,	printargs,		"fstatfs64"	}, /* 6218 */
+	{ 4,	TD|TN,	printargs,		"sendfile64"	}, /* 6219 */
+	{ 3,	0,	printargs,		"timer_create"	}, /* 6220 */
+	{ 4,	0,	printargs,		"timer_settime"	}, /* 6221 */
+	{ 2,	0,	printargs,		"timer_gettime"	}, /* 6222 */
+	{ 1,	0,	printargs,		"timer_getoverrun"	}, /* 6223 */
+	{ 1,	0,	printargs,		"timer_delete"	}, /* 6224 */
+	{ 2,	0,	printargs,		"clock_settime"	}, /* 6225 */
+	{ 2,	0,	printargs,		"clock_gettime"	}, /* 6226 */
+	{ 2,	0,	printargs,		"clock_getres"	}, /* 6227 */
+	{ 4,	0,	printargs,		"clock_nanosleep"	}, /* 6228 */
+	{ 3,	0,	printargs,		"tgkill"	}, /* 6229 */
+	{ 2,	0,	printargs,		"utimes"	}, /* 6230 */
+#else
+	{ 0,	0,	printargs,		"n32_read"		}, /* 6000 */
+	{ 0,	0,	printargs,		"n32_write"		}, /* 6001 */
+	{ 0,	0,	printargs,		"n32_open"		}, /* 6002 */
+	{ 0,	0,	printargs,		"n32_close"		}, /* 6003 */
+	{ 0,	0,	printargs,		"n32_stat"		}, /* 6004 */
+	{ 0,	0,	printargs,		"n32_fstat"		}, /* 6005 */
+	{ 0,	0,	printargs,		"n32_lstat"		}, /* 6006 */
+	{ 0,	0,	printargs,		"n32_poll"		}, /* 6007 */
+	{ 0,	0,	printargs,		"n32_lseek"		}, /* 6008 */
+	{ 0,	0,	printargs,		"n32_mmap"		}, /* 6009 */
+	{ 0,	0,	printargs,		"n32_mprotect"		}, /* 6010 */
+	{ 0,	0,	printargs,		"n32_munmap"		}, /* 6011 */
+	{ 0,	0,	printargs,		"n32_brk"		}, /* 6012 */
+	{ 0,	0,	printargs,		"n32_rt_sigaction"	}, /* 6013 */
+	{ 0,	0,	printargs,		"n32_rt_sigprocmask"	}, /* 6014 */
+	{ 0,	0,	printargs,		"n32_ioctl"		}, /* 6015 */
+	{ 0,	0,	printargs,		"n32_pread"		}, /* 6016 */
+	{ 0,	0,	printargs,		"n32_pwrite"		}, /* 6017 */
+	{ 0,	0,	printargs,		"n32_readv"		}, /* 6018 */
+	{ 0,	0,	printargs,		"n32_writev"		}, /* 6019 */
+	{ 0,	0,	printargs,		"n32_access"		}, /* 6020 */
+	{ 0,	0,	printargs,		"n32_pipe"		}, /* 6021 */
+	{ 0,	0,	printargs,		"n32__newselect"	}, /* 6022 */
+	{ 0,	0,	printargs,		"n32_sched_yield"	}, /* 6023 */
+	{ 0,	0,	printargs,		"n32_mremap"		}, /* 6024 */
+	{ 0,	0,	printargs,		"n32_msync"		}, /* 6025 */
+	{ 0,	0,	printargs,		"n32_mincore"		}, /* 6026 */
+	{ 0,	0,	printargs,		"n32_madvise"		}, /* 6027 */
+	{ 0,	0,	printargs,		"n32_shmget"		}, /* 6028 */
+	{ 0,	0,	printargs,		"n32_shmgat"		}, /* 6029 */
+	{ 0,	0,	printargs,		"n32_shmctl"		}, /* 6030 */
+	{ 0,	0,	printargs,		"n32_dup"		}, /* 6031 */
+	{ 0,	0,	printargs,		"n32_dup2"		}, /* 6032 */
+	{ 0,	0,	printargs,		"n32_pause"		}, /* 6033 */
+	{ 0,	0,	printargs,		"n32_nanosleep"		}, /* 6034 */
+	{ 0,	0,	printargs,		"n32_getitimer"		}, /* 6035 */
+	{ 0,	0,	printargs,		"n32_setitimer"		}, /* 6036 */
+	{ 0,	0,	printargs,		"n32_alarm"		}, /* 6037 */
+	{ 0,	0,	printargs,		"n32_getpid"		}, /* 6038 */
+	{ 0,	0,	printargs,		"n32_sendfile"		}, /* 6039 */
+	{ 0,	0,	printargs,		"n32_socketcall"	}, /* 6040 */
+	{ 0,	0,	printargs,		"n32_connect"		}, /* 6041 */
+	{ 0,	0,	printargs,		"n32_accept"		}, /* 6042 */
+	{ 0,	0,	printargs,		"n32_sendto"		}, /* 6043 */
+	{ 0,	0,	printargs,		"n32_recvfrom"		}, /* 6044 */
+	{ 0,	0,	printargs,		"n32_sendmsg"		}, /* 6045 */
+	{ 0,	0,	printargs,		"n32_recvmsg"		}, /* 6046 */
+	{ 0,	0,	printargs,		"n32_shutdown"		}, /* 6047 */
+	{ 0,	0,	printargs,		"n32_bind"		}, /* 6048 */
+	{ 0,	0,	printargs,		"n32_listen"		}, /* 6049 */
+	{ 0,	0,	printargs,		"n32_getsockname"	}, /* 6050 */
+	{ 0,	0,	printargs,		"n32_getpeername"	}, /* 6051 */
+	{ 0,	0,	printargs,		"n32_socketpair"	}, /* 6052 */
+	{ 0,	0,	printargs,		"n32_setsockopt"	}, /* 6053 */
+	{ 0,	0,	printargs,		"n32_getsockopt"	}, /* 6054 */
+	{ 0,	0,	printargs,		"n32_clone"		}, /* 6055 */
+	{ 0,	0,	printargs,		"n32_fork"		}, /* 6056 */
+	{ 0,	0,	printargs,		"n32_execve"		}, /* 6057 */
+	{ 0,	0,	printargs,		"n32_exit"		}, /* 6058 */
+	{ 0,	0,	printargs,		"n32_wait4"		}, /* 6059 */
+	{ 0,	0,	printargs,		"n32_kill"		}, /* 6060 */
+	{ 0,	0,	printargs,		"n32_uname"		}, /* 6061 */
+	{ 0,	0,	printargs,		"n32_semget"		}, /* 6062 */
+	{ 0,	0,	printargs,		"n32_semop"		}, /* 6063 */
+	{ 0,	0,	printargs,		"n32_semctl"		}, /* 6064 */
+	{ 0,	0,	printargs,		"n32_shmdt"		}, /* 6065 */
+	{ 0,	0,	printargs,		"n32_msgget"		}, /* 6066 */
+	{ 0,	0,	printargs,		"n32_msgsnd"		}, /* 6067 */
+	{ 0,	0,	printargs,		"n32_msgrcv"		}, /* 6068 */
+	{ 0,	0,	printargs,		"n32_msgctl"		}, /* 6069 */
+	{ 0,	0,	printargs,		"n32_fcntl"		}, /* 6070 */
+	{ 0,	0,	printargs,		"n32_flock"		}, /* 6071 */
+	{ 0,	0,	printargs,		"n32_fsync"		}, /* 6072 */
+	{ 0,	0,	printargs,		"n32_fdatasync"		}, /* 6073 */
+	{ 0,	0,	printargs,		"n32_truncate"		}, /* 6074 */
+	{ 0,	0,	printargs,		"n32_ftruncate"		}, /* 6075 */
+	{ 0,	0,	printargs,		"n32_getdents"		}, /* 6076 */
+	{ 0,	0,	printargs,		"n32_getcwd"		}, /* 6077 */
+	{ 0,	0,	printargs,		"n32_chdir"		}, /* 6078 */
+	{ 0,	0,	printargs,		"n32_fchdir"		}, /* 6079 */
+	{ 0,	0,	printargs,		"n32_rename"		}, /* 6080 */
+	{ 0,	0,	printargs,		"n32_mkdir"		}, /* 6081 */
+	{ 0,	0,	printargs,		"n32_rmdir"		}, /* 6082 */
+	{ 0,	0,	printargs,		"n32_creat"		}, /* 6083 */
+	{ 0,	0,	printargs,		"n32_link"		}, /* 6084 */
+	{ 0,	0,	printargs,		"n32_unlink"		}, /* 6085 */
+	{ 0,	0,	printargs,		"n32_symlink"		}, /* 6086 */
+	{ 0,	0,	printargs,		"n32_readlink"		}, /* 6087 */
+	{ 0,	0,	printargs,		"n32_chmod"		}, /* 6088 */
+	{ 0,	0,	printargs,		"n32_fchmod"		}, /* 6089 */
+	{ 0,	0,	printargs,		"n32_chown"		}, /* 6090 */
+	{ 0,	0,	printargs,		"n32_fchown"		}, /* 6091 */
+	{ 0,	0,	printargs,		"n32_lchown"		}, /* 6092 */
+	{ 0,	0,	printargs,		"n32_umask"		}, /* 6093 */
+	{ 0,	0,	printargs,		"n32_gettimeofday"	}, /* 6094 */
+	{ 0,	0,	printargs,		"n32_getrlimit"		}, /* 6095 */
+	{ 0,	0,	printargs,		"n32_getrusage"		}, /* 6096 */
+	{ 0,	0,	printargs,		"n32_sysinfo"		}, /* 6097 */
+	{ 0,	0,	printargs,		"n32_times"		}, /* 6098 */
+	{ 0,	0,	printargs,		"n32_ptrace"		}, /* 6099 */
+	{ 0,	0,	printargs,		"n32_getuid"		}, /* 6100 */
+	{ 0,	0,	printargs,		"n32_syslog"		}, /* 6101 */
+	{ 0,	0,	printargs,		"n32_getgid"		}, /* 6102 */
+	{ 0,	0,	printargs,		"n32_setuid"		}, /* 6103 */
+	{ 0,	0,	printargs,		"n32_setgid"		}, /* 6104 */
+	{ 0,	0,	printargs,		"n32_geteuid"		}, /* 6105 */
+	{ 0,	0,	printargs,		"n32_getegid"		}, /* 6106 */
+	{ 0,	0,	printargs,		"n32_setpgid"		}, /* 6107 */
+	{ 0,	0,	printargs,		"n32_getppid"		}, /* 6108 */
+	{ 0,	0,	printargs,		"n32_getpgrp"		}, /* 6109 */
+	{ 0,	0,	printargs,		"n32_setsid"		}, /* 6110 */
+	{ 0,	0,	printargs,		"n32_setreuid"		}, /* 6111 */
+	{ 0,	0,	printargs,		"n32_setregid"		}, /* 6112 */
+	{ 0,	0,	printargs,		"n32_getgroups"		}, /* 6113 */
+	{ 0,	0,	printargs,		"n32_setgroups"		}, /* 6114 */
+	{ 0,	0,	printargs,		"n32_setresuid"		}, /* 6115 */
+	{ 0,	0,	printargs,		"n32_getresuid"		}, /* 6116 */
+	{ 0,	0,	printargs,		"n32_setresgid"		}, /* 6117 */
+	{ 0,	0,	printargs,		"n32_getresgid"		}, /* 6118 */
+	{ 0,	0,	printargs,		"n32_getpgid"		}, /* 6119 */
+	{ 0,	0,	printargs,		"n32_setfsuid"		}, /* 6120 */
+	{ 0,	0,	printargs,		"n32_setfsgid"		}, /* 6121 */
+	{ 0,	0,	printargs,		"n32_getsid"		}, /* 6122 */
+	{ 0,	0,	printargs,		"n32_capget"		}, /* 6123 */
+	{ 0,	0,	printargs,		"n32_capset"		}, /* 6124 */
+	{ 0,	0,	printargs,		"n32_rt_sigpending"	}, /* 6125 */
+	{ 0,	0,	printargs,		"n32_rt_sigtimedwait"	}, /* 6126 */
+	{ 0,	0,	printargs,		"n32_rt_sigqueueinfo"	}, /* 6127 */
+	{ 0,	0,	printargs,		"n32_rt_siguspend"	}, /* 6128 */
+	{ 0,	0,	printargs,		"n32_sigaltstatck"	}, /* 6129 */
+	{ 0,	0,	printargs,		"n32_utime"		}, /* 6130 */
+	{ 0,	0,	printargs,		"n32_mknod"		}, /* 6131 */
+	{ 0,	0,	printargs,		"n32_personality"	}, /* 6132 */
+	{ 0,	0,	printargs,		"n32_ustat"		}, /* 6133 */
+	{ 0,	0,	printargs,		"n32_statfs"		}, /* 6134 */
+	{ 0,	0,	printargs,		"n32_fstatfs"		}, /* 6135 */
+	{ 0,	0,	printargs,		"n32_sysfs"		}, /* 6136 */
+	{ 0,	0,	printargs,		"n32_getpriority"	}, /* 6137 */
+	{ 0,	0,	printargs,		"n32_setpriority"	}, /* 6138 */
+	{ 0,	0,	printargs,		"n32_sched_setparam"	}, /* 6139 */
+	{ 0,	0,	printargs,		"n32_sched_getparam"	}, /* 6140 */
+	{ 0,	0,	printargs,		"n32_sched_setscheduler"}, /* 6141 */
+	{ 0,	0,	printargs,		"n32_sched_getscheduler"}, /* 6142 */
+	{ 0,	0,	printargs,		"n32_sched_get_priority_max"}, /* 6143 */
+	{ 0,	0,	printargs,		"n32_sched_get_priority_min"}, /* 6144 */
+	{ 0,	0,	printargs,		"n32_sched_rr_get_interval"}, /* 6145 */
+	{ 0,	0,	printargs,		"n32_mlock"		}, /* 6146 */
+	{ 0,	0,	printargs,		"n32_munlock"		}, /* 6147 */
+	{ 0,	0,	printargs,		"n32_mlockall"		}, /* 6148 */
+	{ 0,	0,	printargs,		"n32_munlockall"	}, /* 6149 */
+	{ 0,	0,	printargs,		"n32_vhangup"		}, /* 6150 */
+	{ 0,	0,	printargs,		"n32_pivot_root"	}, /* 6151 */
+	{ 0,	0,	printargs,		"n32__sysctl"		}, /* 6152 */
+	{ 0,	0,	printargs,		"n32_prctl"		}, /* 6153 */
+	{ 0,	0,	printargs,		"n32_adjtimex"		}, /* 6154 */
+	{ 0,	0,	printargs,		"n32_setrlimit"		}, /* 6155 */
+	{ 0,	0,	printargs,		"n32_chroot"		}, /* 6156 */
+	{ 0,	0,	printargs,		"n32_sync"		}, /* 6157 */
+	{ 0,	0,	printargs,		"n32_acct"		}, /* 6158 */
+	{ 0,	0,	printargs,		"n32_settimeofday"	}, /* 6159 */
+	{ 0,	0,	printargs,		"n32_mount"		}, /* 6160 */
+	{ 0,	0,	printargs,		"n32_umount"		}, /* 6161 */
+	{ 0,	0,	printargs,		"n32_swapon"		}, /* 6162 */
+	{ 0,	0,	printargs,		"n32_swapoff"		}, /* 6163 */
+	{ 0,	0,	printargs,		"n32_reboot"		}, /* 6164 */
+	{ 0,	0,	printargs,		"n32_sethostname"	}, /* 6165 */
+	{ 0,	0,	printargs,		"n32_setdomainname"	}, /* 6166 */
+	{ 0,	0,	printargs,		"n32_create_module"	}, /* 6167 */
+	{ 0,	0,	printargs,		"n32_init_module"	}, /* 6168 */
+	{ 0,	0,	printargs,		"n32_delete_module"	}, /* 6169 */
+	{ 0,	0,	printargs,		"n32_get_kernel_syms"	}, /* 6170 */
+	{ 0,	0,	printargs,		"n32_query_module"	}, /* 6171 */
+	{ 0,	0,	printargs,		"n32_quotactl"		}, /* 6172 */
+	{ 0,	0,	printargs,		"n32_nfsservctl"	}, /* 6173 */
+	{ 0,	0,	printargs,		"n32_getpmsg"		}, /* 6174 */
+	{ 0,	0,	printargs,		"n32_putpmsg"		}, /* 6175 */
+	{ 0,	0,	printargs,		"n32_afs_syscall"	}, /* 6176 */
+	{ 0,	0,	printargs,		"n32_reserved177"	}, /* 6177 */
+	{ 0,	0,	printargs,		"n32_gettid"		}, /* 6178 */
+	{ 0,	0,	printargs,		"n32_readahead"		}, /* 6179 */
+	{ 0,	0,	printargs,		"n32_setxattr"		}, /* 6180 */
+	{ 0,	0,	printargs,		"n32_lsetxattr"		}, /* 6181 */
+	{ 0,	0,	printargs,		"n32_fsetxattr"		}, /* 6182 */
+	{ 0,	0,	printargs,		"n32_getxattr"		}, /* 6183 */
+	{ 0,	0,	printargs,		"n32_lgetxattr"		}, /* 6184 */
+	{ 0,	0,	printargs,		"n32_fgetxattr"		}, /* 6185 */
+	{ 0,	0,	printargs,		"n32_listxattr"		}, /* 6186 */
+	{ 0,	0,	printargs,		"n32_llistxattr"	}, /* 6187 */
+	{ 0,	0,	printargs,		"n32_flistxattr"	}, /* 6188 */
+	{ 0,	0,	printargs,		"n32_removexattr"	}, /* 6189 */
+	{ 0,	0,	printargs,		"n32_lremovexattr"	}, /* 6190 */
+	{ 0,	0,	printargs,		"n32_fremovexattr"	}, /* 6191 */
+	{ 0,	0,	printargs,		"n32_tkill"		}, /* 6192 */
+	{ 0,	0,	printargs,		"n32_time"		}, /* 6193 */
+	{ 0,	0,	printargs,		"n32_futex"		}, /* 6194 */
+	{ 0,	0,	printargs,		"n32_sched_setaffinity"	}, /* 6195 */
+	{ 0,	0,	printargs,		"n32_sched_getaffinity"	}, /* 6196 */
+	{ 0,	0,	printargs,		"n32_cacheflush"	}, /* 6197 */
+	{ 0,	0,	printargs,		"n32_cachectl"		}, /* 6198 */
+	{ 0,	0,	printargs,		"n32_sysmips"		}, /* 6199 */
+	{ 0,	0,	printargs,		"n32_io_setup"		}, /* 6200 */
+	{ 0,	0,	printargs,		"n32_io_destroy"	}, /* 6201 */
+	{ 0,	0,	printargs,		"n32_io_getevents"	}, /* 6202 */
+	{ 0,	0,	printargs,		"n32_io_submit"		}, /* 6203 */
+	{ 0,	0,	printargs,		"n32_io_cancel"		}, /* 6204 */
+	{ 1,	TP,	printargs,		"n32_exit_group"	}, /* 6205 */
+	{ 0,	0,	printargs,		"n32_lookup_dcookie"	}, /* 6206 */
+	{ 0,	0,	printargs,		"n32_epoll_create"	}, /* 6207 */
+	{ 0,	0,	printargs,		"n32_epoll_ctl"		}, /* 6208 */
+	{ 0,	0,	printargs,		"n32_epoll_wait"	}, /* 6209 */
+	{ 0,	0,	printargs,		"n32_remap_file_pages"	}, /* 6210 */
+	{ 0,	0,	printargs,		"n32_rt_sigreturn"	}, /* 6211 */
+	{ 0,	0,	printargs,		"n32_fcntl64"		}, /* 6212 */
+	{ 0,	0,	printargs,		"n32_set_tid_address"	}, /* 6213 */
+	{ 0,	0,	printargs,		"n32_restart_syscall"	}, /* 6214 */
+	{ 0,	0,	printargs,		"n32_semtimedop"	}, /* 6215 */
+	{ 0,	0,	printargs,		"n32_fadvise64"		}, /* 6216 */
+	{ 0,	0,	printargs,		"n32_statfs64"		}, /* 6217 */
+	{ 0,	0,	printargs,		"n32_fstatfs64"		}, /* 6218 */
+	{ 0,	0,	printargs,		"n32_sendfile64"	}, /* 6219 */
+	{ 3,	0,	printargs,		"n32_timer_create"	}, /* 6220 */
+	{ 4,	0,	printargs,		"n32_timer_settime"	}, /* 6221 */
+	{ 2,	0,	printargs,		"n32_timer_gettime"	}, /* 6222 */
+	{ 1,	0,	printargs,		"n32_timer_getoverrun"	}, /* 6223 */
+	{ 1,	0,	printargs,		"n32_timer_delete"	}, /* 6224 */
+	{ 2,	0,	printargs,		"n32_clock_settime"	}, /* 6225 */
+	{ 2,	0,	printargs,		"n32_clock_gettime"	}, /* 6226 */
+	{ 2,	0,	printargs,		"n32_clock_getres"	}, /* 6227 */
+	{ 4,	0,	printargs,		"n32_clock_nanosleep"	}, /* 6228 */
+	{ 3,	0,	printargs,		"n32_tgkill"		}, /* 6229 */
+	{ 2,	0,	printargs,		"n32_utimes"		}, /* 6230 */
+#endif
+	{ 0,	0,	printargs,		"SYS_6231"	}, /* 6231 */
+	{ 0,	0,	printargs,		"SYS_6232"	}, /* 6232 */
+	{ 0,	0,	printargs,		"SYS_6233"	}, /* 6233 */
+	{ 0,	0,	printargs,		"SYS_6234"	}, /* 6234 */
+	{ 0,	0,	printargs,		"SYS_6235"	}, /* 6235 */
+	{ 0,	0,	printargs,		"SYS_6236"	}, /* 6236 */
+	{ 0,	0,	printargs,		"SYS_6237"	}, /* 6237 */
+	{ 0,	0,	printargs,		"SYS_6238"	}, /* 6238 */
+	{ 0,	0,	printargs,		"SYS_6239"	}, /* 6239 */
+	{ 0,	0,	printargs,		"SYS_6240"	}, /* 6240 */
+	{ 0,	0,	printargs,		"SYS_6241"	}, /* 6241 */
+	{ 0,	0,	printargs,		"SYS_6242"	}, /* 6242 */
+	{ 0,	0,	printargs,		"SYS_6243"	}, /* 6243 */
+	{ 0,	0,	printargs,		"SYS_6244"	}, /* 6244 */
+	{ 0,	0,	printargs,		"SYS_6245"	}, /* 6245 */
+	{ 0,	0,	printargs,		"SYS_6246"	}, /* 6246 */
+	{ 0,	0,	printargs,		"SYS_6247"	}, /* 6247 */
+	{ 0,	0,	printargs,		"SYS_6248"	}, /* 6248 */
+	{ 0,	0,	printargs,		"SYS_6249"	}, /* 6249 */
+	{ 0,	0,	printargs,		"SYS_6250"	}, /* 6250 */
+	{ 0,	0,	printargs,		"SYS_6251"	}, /* 6251 */
+	{ 0,	0,	printargs,		"SYS_6252"	}, /* 6252 */
+	{ 0,	0,	printargs,		"SYS_6253"	}, /* 6253 */
+	{ 0,	0,	printargs,		"SYS_6254"	}, /* 6254 */
+	{ 0,	0,	printargs,		"SYS_6255"	}, /* 6255 */
+	{ 0,	0,	printargs,		"SYS_6256"	}, /* 6256 */
+	{ 0,	0,	printargs,		"SYS_6257"	}, /* 6257 */
+	{ 0,	0,	printargs,		"SYS_6258"	}, /* 6258 */
+	{ 0,	0,	printargs,		"SYS_6259"	}, /* 6259 */
+	{ 0,	0,	printargs,		"SYS_6260"	}, /* 6260 */
+	{ 0,	0,	printargs,		"SYS_6261"	}, /* 6261 */
+	{ 0,	0,	printargs,		"SYS_6262"	}, /* 6262 */
+	{ 0,	0,	printargs,		"SYS_6263"	}, /* 6263 */
+	{ 0,	0,	printargs,		"SYS_6264"	}, /* 6264 */
+	{ 0,	0,	printargs,		"SYS_6265"	}, /* 6265 */
+	{ 0,	0,	printargs,		"SYS_6266"	}, /* 6266 */
+	{ 0,	0,	printargs,		"SYS_6267"	}, /* 6267 */
+	{ 0,	0,	printargs,		"SYS_6268"	}, /* 6268 */
+	{ 0,	0,	printargs,		"SYS_6269"	}, /* 6269 */
+	{ 0,	0,	printargs,		"SYS_6270"	}, /* 6270 */
+	{ 0,	0,	printargs,		"SYS_6271"	}, /* 6271 */
+	{ 0,	0,	printargs,		"SYS_6272"	}, /* 6272 */
+	{ 0,	0,	printargs,		"SYS_6273"	}, /* 6273 */
+	{ 0,	0,	printargs,		"SYS_6274"	}, /* 6274 */
+	{ 0,	0,	printargs,		"SYS_6275"	}, /* 6275 */
+	{ 0,	0,	printargs,		"SYS_6276"	}, /* 6276 */
+	{ 0,	0,	printargs,		"SYS_6277"	}, /* 6277 */
+	{ 0,	0,	printargs,		"SYS_6278"	}, /* 6278 */
+	{ 0,	0,	printargs,		"SYS_6279"	}, /* 6279 */
+	{ 0,	0,	printargs,		"SYS_6280"	}, /* 6280 */
+	{ 0,	0,	printargs,		"SYS_6281"	}, /* 6281 */
+	{ 0,	0,	printargs,		"SYS_6282"	}, /* 6282 */
+	{ 0,	0,	printargs,		"SYS_6283"	}, /* 6283 */
+	{ 0,	0,	printargs,		"SYS_6284"	}, /* 6284 */
+	{ 0,	0,	printargs,		"SYS_6285"	}, /* 6285 */
+	{ 0,	0,	printargs,		"SYS_6286"	}, /* 6286 */
+	{ 0,	0,	printargs,		"SYS_6287"	}, /* 6287 */
+	{ 0,	0,	printargs,		"SYS_6288"	}, /* 6288 */
+	{ 0,	0,	printargs,		"SYS_6289"	}, /* 6289 */
+	{ 0,	0,	printargs,		"SYS_6290"	}, /* 6290 */
+	{ 0,	0,	printargs,		"SYS_6291"	}, /* 6291 */
+	{ 0,	0,	printargs,		"SYS_6292"	}, /* 6292 */
+	{ 0,	0,	printargs,		"SYS_6293"	}, /* 6293 */
+	{ 0,	0,	printargs,		"SYS_6294"	}, /* 6294 */
+	{ 0,	0,	printargs,		"SYS_6295"	}, /* 6295 */
+	{ 0,	0,	printargs,		"SYS_6296"	}, /* 6296 */
+	{ 0,	0,	printargs,		"SYS_6297"	}, /* 6297 */
+	{ 0,	0,	printargs,		"SYS_6298"	}, /* 6298 */
+	{ 0,	0,	printargs,		"SYS_6299"	}, /* 6299 */
+	{ 0,	0,	printargs,		"SYS_6300"	}, /* 6300 */
+	{ 0,	0,	printargs,		"SYS_6301"	}, /* 6301 */
+	{ 0,	0,	printargs,		"SYS_6302"	}, /* 6302 */
+	{ 0,	0,	printargs,		"SYS_6303"	}, /* 6303 */
+	{ 0,	0,	printargs,		"SYS_6304"	}, /* 6304 */
+	{ 0,	0,	printargs,		"SYS_6305"	}, /* 6305 */
+	{ 0,	0,	printargs,		"SYS_6306"	}, /* 6306 */
+	{ 0,	0,	printargs,		"SYS_6307"	}, /* 6307 */
+	{ 0,	0,	printargs,		"SYS_6308"	}, /* 6308 */
+	{ 0,	0,	printargs,		"SYS_6309"	}, /* 6309 */
+	{ 0,	0,	printargs,		"SYS_6310"	}, /* 6310 */
+	{ 0,	0,	printargs,		"SYS_6311"	}, /* 6311 */
+	{ 0,	0,	printargs,		"SYS_6312"	}, /* 6312 */
+	{ 0,	0,	printargs,		"SYS_6313"	}, /* 6313 */
+	{ 0,	0,	printargs,		"SYS_6314"	}, /* 6314 */
+	{ 0,	0,	printargs,		"SYS_6315"	}, /* 6315 */
+	{ 0,	0,	printargs,		"SYS_6316"	}, /* 6316 */
+	{ 0,	0,	printargs,		"SYS_6317"	}, /* 6317 */
+	{ 0,	0,	printargs,		"SYS_6318"	}, /* 6318 */
+	{ 0,	0,	printargs,		"SYS_6319"	}, /* 6319 */
+	{ 0,	0,	printargs,		"SYS_6320"	}, /* 6320 */
+	{ 0,	0,	printargs,		"SYS_6321"	}, /* 6321 */
+	{ 0,	0,	printargs,		"SYS_6322"	}, /* 6322 */
+	{ 0,	0,	printargs,		"SYS_6323"	}, /* 6323 */
+	{ 0,	0,	printargs,		"SYS_6324"	}, /* 6324 */
+	{ 0,	0,	printargs,		"SYS_6325"	}, /* 6325 */
+	{ 0,	0,	printargs,		"SYS_6326"	}, /* 6326 */
+	{ 0,	0,	printargs,		"SYS_6327"	}, /* 6327 */
+	{ 0,	0,	printargs,		"SYS_6328"	}, /* 6328 */
+	{ 0,	0,	printargs,		"SYS_6329"	}, /* 6329 */
+	{ 0,	0,	printargs,		"SYS_6330"	}, /* 6330 */
+	{ 0,	0,	printargs,		"SYS_6331"	}, /* 6331 */
+	{ 0,	0,	printargs,		"SYS_6332"	}, /* 6332 */
+	{ 0,	0,	printargs,		"SYS_6333"	}, /* 6333 */
+	{ 0,	0,	printargs,		"SYS_6334"	}, /* 6334 */
+	{ 0,	0,	printargs,		"SYS_6335"	}, /* 6335 */
+	{ 0,	0,	printargs,		"SYS_6336"	}, /* 6336 */
+	{ 0,	0,	printargs,		"SYS_6337"	}, /* 6337 */
+	{ 0,	0,	printargs,		"SYS_6338"	}, /* 6338 */
+	{ 0,	0,	printargs,		"SYS_6339"	}, /* 6339 */
+	{ 0,	0,	printargs,		"SYS_6340"	}, /* 6340 */
+	{ 0,	0,	printargs,		"SYS_6341"	}, /* 6341 */
+	{ 0,	0,	printargs,		"SYS_6342"	}, /* 6342 */
+	{ 0,	0,	printargs,		"SYS_6343"	}, /* 6343 */
+	{ 0,	0,	printargs,		"SYS_6344"	}, /* 6344 */
+	{ 0,	0,	printargs,		"SYS_6345"	}, /* 6345 */
+	{ 0,	0,	printargs,		"SYS_6346"	}, /* 6346 */
+	{ 0,	0,	printargs,		"SYS_6347"	}, /* 6347 */
+	{ 0,	0,	printargs,		"SYS_6348"	}, /* 6348 */
+	{ 0,	0,	printargs,		"SYS_6349"	}, /* 6349 */
+	{ 0,	0,	printargs,		"SYS_6350"	}, /* 6350 */
+	{ 0,	0,	printargs,		"SYS_6351"	}, /* 6351 */
+	{ 0,	0,	printargs,		"SYS_6352"	}, /* 6352 */
+	{ 0,	0,	printargs,		"SYS_6353"	}, /* 6353 */
+	{ 0,	0,	printargs,		"SYS_6354"	}, /* 6354 */
+	{ 0,	0,	printargs,		"SYS_6355"	}, /* 6355 */
+	{ 0,	0,	printargs,		"SYS_6356"	}, /* 6356 */
+	{ 0,	0,	printargs,		"SYS_6357"	}, /* 6357 */
+	{ 0,	0,	printargs,		"SYS_6358"	}, /* 6358 */
+	{ 0,	0,	printargs,		"SYS_6359"	}, /* 6359 */
+	{ 0,	0,	printargs,		"SYS_6360"	}, /* 6360 */
+	{ 0,	0,	printargs,		"SYS_6361"	}, /* 6361 */
+	{ 0,	0,	printargs,		"SYS_6362"	}, /* 6362 */
+	{ 0,	0,	printargs,		"SYS_6363"	}, /* 6363 */
+	{ 0,	0,	printargs,		"SYS_6364"	}, /* 6364 */
+	{ 0,	0,	printargs,		"SYS_6365"	}, /* 6365 */
+	{ 0,	0,	printargs,		"SYS_6366"	}, /* 6366 */
+	{ 0,	0,	printargs,		"SYS_6367"	}, /* 6367 */
+	{ 0,	0,	printargs,		"SYS_6368"	}, /* 6368 */
+	{ 0,	0,	printargs,		"SYS_6369"	}, /* 6369 */
+	{ 0,	0,	printargs,		"SYS_6370"	}, /* 6370 */
+	{ 0,	0,	printargs,		"SYS_6371"	}, /* 6371 */
+	{ 0,	0,	printargs,		"SYS_6372"	}, /* 6372 */
+	{ 0,	0,	printargs,		"SYS_6373"	}, /* 6373 */
+	{ 0,	0,	printargs,		"SYS_6374"	}, /* 6374 */
+	{ 0,	0,	printargs,		"SYS_6375"	}, /* 6375 */
+	{ 0,	0,	printargs,		"SYS_6376"	}, /* 6376 */
+	{ 0,	0,	printargs,		"SYS_6377"	}, /* 6377 */
+	{ 0,	0,	printargs,		"SYS_6378"	}, /* 6378 */
+	{ 0,	0,	printargs,		"SYS_6379"	}, /* 6379 */
+	{ 0,	0,	printargs,		"SYS_6380"	}, /* 6380 */
+	{ 0,	0,	printargs,		"SYS_6381"	}, /* 6381 */
+	{ 0,	0,	printargs,		"SYS_6382"	}, /* 6382 */
+	{ 0,	0,	printargs,		"SYS_6383"	}, /* 6383 */
+	{ 0,	0,	printargs,		"SYS_6384"	}, /* 6384 */
+	{ 0,	0,	printargs,		"SYS_6385"	}, /* 6385 */
+	{ 0,	0,	printargs,		"SYS_6386"	}, /* 6386 */
+	{ 0,	0,	printargs,		"SYS_6387"	}, /* 6387 */
+	{ 0,	0,	printargs,		"SYS_6388"	}, /* 6388 */
+	{ 0,	0,	printargs,		"SYS_6389"	}, /* 6389 */
+	{ 0,	0,	printargs,		"SYS_6390"	}, /* 6390 */
+	{ 0,	0,	printargs,		"SYS_6391"	}, /* 6391 */
+	{ 0,	0,	printargs,		"SYS_6392"	}, /* 6392 */
+	{ 0,	0,	printargs,		"SYS_6393"	}, /* 6393 */
+	{ 0,	0,	printargs,		"SYS_6394"	}, /* 6394 */
+	{ 0,	0,	printargs,		"SYS_6395"	}, /* 6395 */
+	{ 0,	0,	printargs,		"SYS_6396"	}, /* 6396 */
+	{ 0,	0,	printargs,		"SYS_6397"	}, /* 6397 */
+	{ 0,	0,	printargs,		"SYS_6398"	}, /* 6398 */
+	{ 0,	0,	printargs,		"SYS_6399"	}, /* 6399 */
+	{ 0,	0,	printargs,		"SYS_6400"	}, /* 6400 */
+	{ 0,	0,	printargs,		"SYS_6401"	}, /* 6401 */
+	{ 0,	0,	printargs,		"SYS_6402"	}, /* 6402 */
+	{ 0,	0,	printargs,		"SYS_6403"	}, /* 6403 */
+	{ 0,	0,	printargs,		"SYS_6404"	}, /* 6404 */
+	{ 0,	0,	printargs,		"SYS_6405"	}, /* 6405 */
+	{ 0,	0,	printargs,		"SYS_6406"	}, /* 6406 */
+	{ 0,	0,	printargs,		"SYS_6407"	}, /* 6407 */
+	{ 0,	0,	printargs,		"SYS_6408"	}, /* 6408 */
+	{ 0,	0,	printargs,		"SYS_6409"	}, /* 6409 */
+	{ 0,	0,	printargs,		"SYS_6410"	}, /* 6410 */
+	{ 0,	0,	printargs,		"SYS_6411"	}, /* 6411 */
+	{ 0,	0,	printargs,		"SYS_6412"	}, /* 6412 */
+	{ 0,	0,	printargs,		"SYS_6413"	}, /* 6413 */
+	{ 0,	0,	printargs,		"SYS_6414"	}, /* 6414 */
+	{ 0,	0,	printargs,		"SYS_6415"	}, /* 6415 */
+	{ 0,	0,	printargs,		"SYS_6416"	}, /* 6416 */
+	{ 0,	0,	printargs,		"SYS_6417"	}, /* 6417 */
+	{ 0,	0,	printargs,		"SYS_6418"	}, /* 6418 */
+	{ 0,	0,	printargs,		"SYS_6419"	}, /* 6419 */
+	{ 0,	0,	printargs,		"SYS_6420"	}, /* 6420 */
+	{ 0,	0,	printargs,		"SYS_6421"	}, /* 6421 */
+	{ 0,	0,	printargs,		"SYS_6422"	}, /* 6422 */
+	{ 0,	0,	printargs,		"SYS_6423"	}, /* 6423 */
+	{ 0,	0,	printargs,		"SYS_6424"	}, /* 6424 */
+	{ 0,	0,	printargs,		"SYS_6425"	}, /* 6425 */
+	{ 0,	0,	printargs,		"SYS_6426"	}, /* 6426 */
+	{ 0,	0,	printargs,		"SYS_6427"	}, /* 6427 */
+	{ 0,	0,	printargs,		"SYS_6428"	}, /* 6428 */
+	{ 0,	0,	printargs,		"SYS_6429"	}, /* 6429 */
+	{ 0,	0,	printargs,		"SYS_6430"	}, /* 6430 */
+	{ 0,	0,	printargs,		"SYS_6431"	}, /* 6431 */
+	{ 0,	0,	printargs,		"SYS_6432"	}, /* 6432 */
+	{ 0,	0,	printargs,		"SYS_6433"	}, /* 6433 */
+	{ 0,	0,	printargs,		"SYS_6434"	}, /* 6434 */
+	{ 0,	0,	printargs,		"SYS_6435"	}, /* 6435 */
+	{ 0,	0,	printargs,		"SYS_6436"	}, /* 6436 */
+	{ 0,	0,	printargs,		"SYS_6437"	}, /* 6437 */
+	{ 0,	0,	printargs,		"SYS_6438"	}, /* 6438 */
+	{ 0,	0,	printargs,		"SYS_6439"	}, /* 6439 */
+	{ 0,	0,	printargs,		"SYS_6440"	}, /* 6440 */
+	{ 0,	0,	printargs,		"SYS_6441"	}, /* 6441 */
+	{ 0,	0,	printargs,		"SYS_6442"	}, /* 6442 */
+	{ 0,	0,	printargs,		"SYS_6443"	}, /* 6443 */
+	{ 0,	0,	printargs,		"SYS_6444"	}, /* 6444 */
+	{ 0,	0,	printargs,		"SYS_6445"	}, /* 6445 */
+	{ 0,	0,	printargs,		"SYS_6446"	}, /* 6446 */
+	{ 0,	0,	printargs,		"SYS_6447"	}, /* 6447 */
+	{ 0,	0,	printargs,		"SYS_6448"	}, /* 6448 */
+	{ 0,	0,	printargs,		"SYS_6449"	}, /* 6449 */
+	{ 0,	0,	printargs,		"SYS_6450"	}, /* 6450 */
+	{ 0,	0,	printargs,		"SYS_6451"	}, /* 6451 */
+	{ 0,	0,	printargs,		"SYS_6452"	}, /* 6452 */
+	{ 0,	0,	printargs,		"SYS_6453"	}, /* 6453 */
+	{ 0,	0,	printargs,		"SYS_6454"	}, /* 6454 */
+	{ 0,	0,	printargs,		"SYS_6455"	}, /* 6455 */
+	{ 0,	0,	printargs,		"SYS_6456"	}, /* 6456 */
+	{ 0,	0,	printargs,		"SYS_6457"	}, /* 6457 */
+	{ 0,	0,	printargs,		"SYS_6458"	}, /* 6458 */
+	{ 0,	0,	printargs,		"SYS_6459"	}, /* 6459 */
+	{ 0,	0,	printargs,		"SYS_6460"	}, /* 6460 */
+	{ 0,	0,	printargs,		"SYS_6461"	}, /* 6461 */
+	{ 0,	0,	printargs,		"SYS_6462"	}, /* 6462 */
+	{ 0,	0,	printargs,		"SYS_6463"	}, /* 6463 */
+	{ 0,	0,	printargs,		"SYS_6464"	}, /* 6464 */
+	{ 0,	0,	printargs,		"SYS_6465"	}, /* 6465 */
+	{ 0,	0,	printargs,		"SYS_6466"	}, /* 6466 */
+	{ 0,	0,	printargs,		"SYS_6467"	}, /* 6467 */
+	{ 0,	0,	printargs,		"SYS_6468"	}, /* 6468 */
+	{ 0,	0,	printargs,		"SYS_6469"	}, /* 6469 */
+	{ 0,	0,	printargs,		"SYS_6470"	}, /* 6470 */
+	{ 0,	0,	printargs,		"SYS_6471"	}, /* 6471 */
+	{ 0,	0,	printargs,		"SYS_6472"	}, /* 6472 */
+	{ 0,	0,	printargs,		"SYS_6473"	}, /* 6473 */
+	{ 0,	0,	printargs,		"SYS_6474"	}, /* 6474 */
+	{ 0,	0,	printargs,		"SYS_6475"	}, /* 6475 */
+	{ 0,	0,	printargs,		"SYS_6476"	}, /* 6476 */
+	{ 0,	0,	printargs,		"SYS_6477"	}, /* 6477 */
+	{ 0,	0,	printargs,		"SYS_6478"	}, /* 6478 */
+	{ 0,	0,	printargs,		"SYS_6479"	}, /* 6479 */
+	{ 0,	0,	printargs,		"SYS_6480"	}, /* 6480 */
+	{ 0,	0,	printargs,		"SYS_6481"	}, /* 6481 */
+	{ 0,	0,	printargs,		"SYS_6482"	}, /* 6482 */
+	{ 0,	0,	printargs,		"SYS_6483"	}, /* 6483 */
+	{ 0,	0,	printargs,		"SYS_6484"	}, /* 6484 */
+	{ 0,	0,	printargs,		"SYS_6485"	}, /* 6485 */
+	{ 0,	0,	printargs,		"SYS_6486"	}, /* 6486 */
+	{ 0,	0,	printargs,		"SYS_6487"	}, /* 6487 */
+	{ 0,	0,	printargs,		"SYS_6488"	}, /* 6488 */
+	{ 0,	0,	printargs,		"SYS_6489"	}, /* 6489 */
+	{ 0,	0,	printargs,		"SYS_6490"	}, /* 6490 */
+	{ 0,	0,	printargs,		"SYS_6491"	}, /* 6491 */
+	{ 0,	0,	printargs,		"SYS_6492"	}, /* 6492 */
+	{ 0,	0,	printargs,		"SYS_6493"	}, /* 6493 */
+	{ 0,	0,	printargs,		"SYS_6494"	}, /* 6494 */
+	{ 0,	0,	printargs,		"SYS_6495"	}, /* 6495 */
+	{ 0,	0,	printargs,		"SYS_6496"	}, /* 6496 */
+	{ 0,	0,	printargs,		"SYS_6497"	}, /* 6497 */
+	{ 0,	0,	printargs,		"SYS_6498"	}, /* 6498 */
+	{ 0,	0,	printargs,		"SYS_6499"	}, /* 6499 */
+	{ 0,	0,	printargs,		"SYS_6500"	}, /* 6500 */
+	{ 0,	0,	printargs,		"SYS_6501"	}, /* 6501 */
+	{ 0,	0,	printargs,		"SYS_6502"	}, /* 6502 */
+	{ 0,	0,	printargs,		"SYS_6503"	}, /* 6503 */
+	{ 0,	0,	printargs,		"SYS_6504"	}, /* 6504 */
+	{ 0,	0,	printargs,		"SYS_6505"	}, /* 6505 */
+	{ 0,	0,	printargs,		"SYS_6506"	}, /* 6506 */
+	{ 0,	0,	printargs,		"SYS_6507"	}, /* 6507 */
+	{ 0,	0,	printargs,		"SYS_6508"	}, /* 6508 */
+	{ 0,	0,	printargs,		"SYS_6509"	}, /* 6509 */
+	{ 0,	0,	printargs,		"SYS_6510"	}, /* 6510 */
+	{ 0,	0,	printargs,		"SYS_6511"	}, /* 6511 */
+	{ 0,	0,	printargs,		"SYS_6512"	}, /* 6512 */
+	{ 0,	0,	printargs,		"SYS_6513"	}, /* 6513 */
+	{ 0,	0,	printargs,		"SYS_6514"	}, /* 6514 */
+	{ 0,	0,	printargs,		"SYS_6515"	}, /* 6515 */
+	{ 0,	0,	printargs,		"SYS_6516"	}, /* 6516 */
+	{ 0,	0,	printargs,		"SYS_6517"	}, /* 6517 */
+	{ 0,	0,	printargs,		"SYS_6518"	}, /* 6518 */
+	{ 0,	0,	printargs,		"SYS_6519"	}, /* 6519 */
+	{ 0,	0,	printargs,		"SYS_6520"	}, /* 6520 */
+	{ 0,	0,	printargs,		"SYS_6521"	}, /* 6521 */
+	{ 0,	0,	printargs,		"SYS_6522"	}, /* 6522 */
+	{ 0,	0,	printargs,		"SYS_6523"	}, /* 6523 */
+	{ 0,	0,	printargs,		"SYS_6524"	}, /* 6524 */
+	{ 0,	0,	printargs,		"SYS_6525"	}, /* 6525 */
+	{ 0,	0,	printargs,		"SYS_6526"	}, /* 6526 */
+	{ 0,	0,	printargs,		"SYS_6527"	}, /* 6527 */
+	{ 0,	0,	printargs,		"SYS_6528"	}, /* 6528 */
+	{ 0,	0,	printargs,		"SYS_6529"	}, /* 6529 */
+	{ 0,	0,	printargs,		"SYS_6530"	}, /* 6530 */
+	{ 0,	0,	printargs,		"SYS_6531"	}, /* 6531 */
+	{ 0,	0,	printargs,		"SYS_6532"	}, /* 6532 */
+	{ 0,	0,	printargs,		"SYS_6533"	}, /* 6533 */
+	{ 0,	0,	printargs,		"SYS_6534"	}, /* 6534 */
+	{ 0,	0,	printargs,		"SYS_6535"	}, /* 6535 */
+	{ 0,	0,	printargs,		"SYS_6536"	}, /* 6536 */
+	{ 0,	0,	printargs,		"SYS_6537"	}, /* 6537 */
+	{ 0,	0,	printargs,		"SYS_6538"	}, /* 6538 */
+	{ 0,	0,	printargs,		"SYS_6539"	}, /* 6539 */
+	{ 0,	0,	printargs,		"SYS_6540"	}, /* 6540 */
+	{ 0,	0,	printargs,		"SYS_6541"	}, /* 6541 */
+	{ 0,	0,	printargs,		"SYS_6542"	}, /* 6542 */
+	{ 0,	0,	printargs,		"SYS_6543"	}, /* 6543 */
+	{ 0,	0,	printargs,		"SYS_6544"	}, /* 6544 */
+	{ 0,	0,	printargs,		"SYS_6545"	}, /* 6545 */
+	{ 0,	0,	printargs,		"SYS_6546"	}, /* 6546 */
+	{ 0,	0,	printargs,		"SYS_6547"	}, /* 6547 */
+	{ 0,	0,	printargs,		"SYS_6548"	}, /* 6548 */
+	{ 0,	0,	printargs,		"SYS_6549"	}, /* 6549 */
+	{ 0,	0,	printargs,		"SYS_6550"	}, /* 6550 */
+	{ 0,	0,	printargs,		"SYS_6551"	}, /* 6551 */
+	{ 0,	0,	printargs,		"SYS_6552"	}, /* 6552 */
+	{ 0,	0,	printargs,		"SYS_6553"	}, /* 6553 */
+	{ 0,	0,	printargs,		"SYS_6554"	}, /* 6554 */
+	{ 0,	0,	printargs,		"SYS_6555"	}, /* 6555 */
+	{ 0,	0,	printargs,		"SYS_6556"	}, /* 6556 */
+	{ 0,	0,	printargs,		"SYS_6557"	}, /* 6557 */
+	{ 0,	0,	printargs,		"SYS_6558"	}, /* 6558 */
+	{ 0,	0,	printargs,		"SYS_6559"	}, /* 6559 */
+	{ 0,	0,	printargs,		"SYS_6560"	}, /* 6560 */
+	{ 0,	0,	printargs,		"SYS_6561"	}, /* 6561 */
+	{ 0,	0,	printargs,		"SYS_6562"	}, /* 6562 */
+	{ 0,	0,	printargs,		"SYS_6563"	}, /* 6563 */
+	{ 0,	0,	printargs,		"SYS_6564"	}, /* 6564 */
+	{ 0,	0,	printargs,		"SYS_6565"	}, /* 6565 */
+	{ 0,	0,	printargs,		"SYS_6566"	}, /* 6566 */
+	{ 0,	0,	printargs,		"SYS_6567"	}, /* 6567 */
+	{ 0,	0,	printargs,		"SYS_6568"	}, /* 6568 */
+	{ 0,	0,	printargs,		"SYS_6569"	}, /* 6569 */
+	{ 0,	0,	printargs,		"SYS_6570"	}, /* 6570 */
+	{ 0,	0,	printargs,		"SYS_6571"	}, /* 6571 */
+	{ 0,	0,	printargs,		"SYS_6572"	}, /* 6572 */
+	{ 0,	0,	printargs,		"SYS_6573"	}, /* 6573 */
+	{ 0,	0,	printargs,		"SYS_6574"	}, /* 6574 */
+	{ 0,	0,	printargs,		"SYS_6575"	}, /* 6575 */
+	{ 0,	0,	printargs,		"SYS_6576"	}, /* 6576 */
+	{ 0,	0,	printargs,		"SYS_6577"	}, /* 6577 */
+	{ 0,	0,	printargs,		"SYS_6578"	}, /* 6578 */
+	{ 0,	0,	printargs,		"SYS_6579"	}, /* 6579 */
+	{ 0,	0,	printargs,		"SYS_6580"	}, /* 6580 */
+	{ 0,	0,	printargs,		"SYS_6581"	}, /* 6581 */
+	{ 0,	0,	printargs,		"SYS_6582"	}, /* 6582 */
+	{ 0,	0,	printargs,		"SYS_6583"	}, /* 6583 */
+	{ 0,	0,	printargs,		"SYS_6584"	}, /* 6584 */
+	{ 0,	0,	printargs,		"SYS_6585"	}, /* 6585 */
+	{ 0,	0,	printargs,		"SYS_6586"	}, /* 6586 */
+	{ 0,	0,	printargs,		"SYS_6587"	}, /* 6587 */
+	{ 0,	0,	printargs,		"SYS_6588"	}, /* 6588 */
+	{ 0,	0,	printargs,		"SYS_6589"	}, /* 6589 */
+	{ 0,	0,	printargs,		"SYS_6590"	}, /* 6590 */
+	{ 0,	0,	printargs,		"SYS_6591"	}, /* 6591 */
+	{ 0,	0,	printargs,		"SYS_6592"	}, /* 6592 */
+	{ 0,	0,	printargs,		"SYS_6593"	}, /* 6593 */
+	{ 0,	0,	printargs,		"SYS_6594"	}, /* 6594 */
+	{ 0,	0,	printargs,		"SYS_6595"	}, /* 6595 */
+	{ 0,	0,	printargs,		"SYS_6596"	}, /* 6596 */
+	{ 0,	0,	printargs,		"SYS_6597"	}, /* 6597 */
+	{ 0,	0,	printargs,		"SYS_6598"	}, /* 6598 */
+	{ 0,	0,	printargs,		"SYS_6599"	}, /* 6599 */
+	{ 0,	0,	printargs,		"SYS_6600"	}, /* 6600 */
+	{ 0,	0,	printargs,		"SYS_6601"	}, /* 6601 */
+	{ 0,	0,	printargs,		"SYS_6602"	}, /* 6602 */
+	{ 0,	0,	printargs,		"SYS_6603"	}, /* 6603 */
+	{ 0,	0,	printargs,		"SYS_6604"	}, /* 6604 */
+	{ 0,	0,	printargs,		"SYS_6605"	}, /* 6605 */
+	{ 0,	0,	printargs,		"SYS_6606"	}, /* 6606 */
+	{ 0,	0,	printargs,		"SYS_6607"	}, /* 6607 */
+	{ 0,	0,	printargs,		"SYS_6608"	}, /* 6608 */
+	{ 0,	0,	printargs,		"SYS_6609"	}, /* 6609 */
+	{ 0,	0,	printargs,		"SYS_6610"	}, /* 6610 */
+	{ 0,	0,	printargs,		"SYS_6611"	}, /* 6611 */
+	{ 0,	0,	printargs,		"SYS_6612"	}, /* 6612 */
+	{ 0,	0,	printargs,		"SYS_6613"	}, /* 6613 */
+	{ 0,	0,	printargs,		"SYS_6614"	}, /* 6614 */
+	{ 0,	0,	printargs,		"SYS_6615"	}, /* 6615 */
+	{ 0,	0,	printargs,		"SYS_6616"	}, /* 6616 */
+	{ 0,	0,	printargs,		"SYS_6617"	}, /* 6617 */
+	{ 0,	0,	printargs,		"SYS_6618"	}, /* 6618 */
+	{ 0,	0,	printargs,		"SYS_6619"	}, /* 6619 */
+	{ 0,	0,	printargs,		"SYS_6620"	}, /* 6620 */
+	{ 0,	0,	printargs,		"SYS_6621"	}, /* 6621 */
+	{ 0,	0,	printargs,		"SYS_6622"	}, /* 6622 */
+	{ 0,	0,	printargs,		"SYS_6623"	}, /* 6623 */
+	{ 0,	0,	printargs,		"SYS_6624"	}, /* 6624 */
+	{ 0,	0,	printargs,		"SYS_6625"	}, /* 6625 */
+	{ 0,	0,	printargs,		"SYS_6626"	}, /* 6626 */
+	{ 0,	0,	printargs,		"SYS_6627"	}, /* 6627 */
+	{ 0,	0,	printargs,		"SYS_6628"	}, /* 6628 */
+	{ 0,	0,	printargs,		"SYS_6629"	}, /* 6629 */
+	{ 0,	0,	printargs,		"SYS_6630"	}, /* 6630 */
+	{ 0,	0,	printargs,		"SYS_6631"	}, /* 6631 */
+	{ 0,	0,	printargs,		"SYS_6632"	}, /* 6632 */
+	{ 0,	0,	printargs,		"SYS_6633"	}, /* 6633 */
+	{ 0,	0,	printargs,		"SYS_6634"	}, /* 6634 */
+	{ 0,	0,	printargs,		"SYS_6635"	}, /* 6635 */
+	{ 0,	0,	printargs,		"SYS_6636"	}, /* 6636 */
+	{ 0,	0,	printargs,		"SYS_6637"	}, /* 6637 */
+	{ 0,	0,	printargs,		"SYS_6638"	}, /* 6638 */
+	{ 0,	0,	printargs,		"SYS_6639"	}, /* 6639 */
+	{ 0,	0,	printargs,		"SYS_6640"	}, /* 6640 */
+	{ 0,	0,	printargs,		"SYS_6641"	}, /* 6641 */
+	{ 0,	0,	printargs,		"SYS_6642"	}, /* 6642 */
+	{ 0,	0,	printargs,		"SYS_6643"	}, /* 6643 */
+	{ 0,	0,	printargs,		"SYS_6644"	}, /* 6644 */
+	{ 0,	0,	printargs,		"SYS_6645"	}, /* 6645 */
+	{ 0,	0,	printargs,		"SYS_6646"	}, /* 6646 */
+	{ 0,	0,	printargs,		"SYS_6647"	}, /* 6647 */
+	{ 0,	0,	printargs,		"SYS_6648"	}, /* 6648 */
+	{ 0,	0,	printargs,		"SYS_6649"	}, /* 6649 */
+	{ 0,	0,	printargs,		"SYS_6650"	}, /* 6650 */
+	{ 0,	0,	printargs,		"SYS_6651"	}, /* 6651 */
+	{ 0,	0,	printargs,		"SYS_6652"	}, /* 6652 */
+	{ 0,	0,	printargs,		"SYS_6653"	}, /* 6653 */
+	{ 0,	0,	printargs,		"SYS_6654"	}, /* 6654 */
+	{ 0,	0,	printargs,		"SYS_6655"	}, /* 6655 */
+	{ 0,	0,	printargs,		"SYS_6656"	}, /* 6656 */
+	{ 0,	0,	printargs,		"SYS_6657"	}, /* 6657 */
+	{ 0,	0,	printargs,		"SYS_6658"	}, /* 6658 */
+	{ 0,	0,	printargs,		"SYS_6659"	}, /* 6659 */
+	{ 0,	0,	printargs,		"SYS_6660"	}, /* 6660 */
+	{ 0,	0,	printargs,		"SYS_6661"	}, /* 6661 */
+	{ 0,	0,	printargs,		"SYS_6662"	}, /* 6662 */
+	{ 0,	0,	printargs,		"SYS_6663"	}, /* 6663 */
+	{ 0,	0,	printargs,		"SYS_6664"	}, /* 6664 */
+	{ 0,	0,	printargs,		"SYS_6665"	}, /* 6665 */
+	{ 0,	0,	printargs,		"SYS_6666"	}, /* 6666 */
+	{ 0,	0,	printargs,		"SYS_6667"	}, /* 6667 */
+	{ 0,	0,	printargs,		"SYS_6668"	}, /* 6668 */
+	{ 0,	0,	printargs,		"SYS_6669"	}, /* 6669 */
+	{ 0,	0,	printargs,		"SYS_6670"	}, /* 6670 */
+	{ 0,	0,	printargs,		"SYS_6671"	}, /* 6671 */
+	{ 0,	0,	printargs,		"SYS_6672"	}, /* 6672 */
+	{ 0,	0,	printargs,		"SYS_6673"	}, /* 6673 */
+	{ 0,	0,	printargs,		"SYS_6674"	}, /* 6674 */
+	{ 0,	0,	printargs,		"SYS_6675"	}, /* 6675 */
+	{ 0,	0,	printargs,		"SYS_6676"	}, /* 6676 */
+	{ 0,	0,	printargs,		"SYS_6677"	}, /* 6677 */
+	{ 0,	0,	printargs,		"SYS_6678"	}, /* 6678 */
+	{ 0,	0,	printargs,		"SYS_6679"	}, /* 6679 */
+	{ 0,	0,	printargs,		"SYS_6680"	}, /* 6680 */
+	{ 0,	0,	printargs,		"SYS_6681"	}, /* 6681 */
+	{ 0,	0,	printargs,		"SYS_6682"	}, /* 6682 */
+	{ 0,	0,	printargs,		"SYS_6683"	}, /* 6683 */
+	{ 0,	0,	printargs,		"SYS_6684"	}, /* 6684 */
+	{ 0,	0,	printargs,		"SYS_6685"	}, /* 6685 */
+	{ 0,	0,	printargs,		"SYS_6686"	}, /* 6686 */
+	{ 0,	0,	printargs,		"SYS_6687"	}, /* 6687 */
+	{ 0,	0,	printargs,		"SYS_6688"	}, /* 6688 */
+	{ 0,	0,	printargs,		"SYS_6689"	}, /* 6689 */
+	{ 0,	0,	printargs,		"SYS_6690"	}, /* 6690 */
+	{ 0,	0,	printargs,		"SYS_6691"	}, /* 6691 */
+	{ 0,	0,	printargs,		"SYS_6692"	}, /* 6692 */
+	{ 0,	0,	printargs,		"SYS_6693"	}, /* 6693 */
+	{ 0,	0,	printargs,		"SYS_6694"	}, /* 6694 */
+	{ 0,	0,	printargs,		"SYS_6695"	}, /* 6695 */
+	{ 0,	0,	printargs,		"SYS_6696"	}, /* 6696 */
+	{ 0,	0,	printargs,		"SYS_6697"	}, /* 6697 */
+	{ 0,	0,	printargs,		"SYS_6698"	}, /* 6698 */
+	{ 0,	0,	printargs,		"SYS_6699"	}, /* 6699 */
+	{ 0,	0,	printargs,		"SYS_6700"	}, /* 6700 */
+	{ 0,	0,	printargs,		"SYS_6701"	}, /* 6701 */
+	{ 0,	0,	printargs,		"SYS_6702"	}, /* 6702 */
+	{ 0,	0,	printargs,		"SYS_6703"	}, /* 6703 */
+	{ 0,	0,	printargs,		"SYS_6704"	}, /* 6704 */
+	{ 0,	0,	printargs,		"SYS_6705"	}, /* 6705 */
+	{ 0,	0,	printargs,		"SYS_6706"	}, /* 6706 */
+	{ 0,	0,	printargs,		"SYS_6707"	}, /* 6707 */
+	{ 0,	0,	printargs,		"SYS_6708"	}, /* 6708 */
+	{ 0,	0,	printargs,		"SYS_6709"	}, /* 6709 */
+	{ 0,	0,	printargs,		"SYS_6710"	}, /* 6710 */
+	{ 0,	0,	printargs,		"SYS_6711"	}, /* 6711 */
+	{ 0,	0,	printargs,		"SYS_6712"	}, /* 6712 */
+	{ 0,	0,	printargs,		"SYS_6713"	}, /* 6713 */
+	{ 0,	0,	printargs,		"SYS_6714"	}, /* 6714 */
+	{ 0,	0,	printargs,		"SYS_6715"	}, /* 6715 */
+	{ 0,	0,	printargs,		"SYS_6716"	}, /* 6716 */
+	{ 0,	0,	printargs,		"SYS_6717"	}, /* 6717 */
+	{ 0,	0,	printargs,		"SYS_6718"	}, /* 6718 */
+	{ 0,	0,	printargs,		"SYS_6719"	}, /* 6719 */
+	{ 0,	0,	printargs,		"SYS_6720"	}, /* 6720 */
+	{ 0,	0,	printargs,		"SYS_6721"	}, /* 6721 */
+	{ 0,	0,	printargs,		"SYS_6722"	}, /* 6722 */
+	{ 0,	0,	printargs,		"SYS_6723"	}, /* 6723 */
+	{ 0,	0,	printargs,		"SYS_6724"	}, /* 6724 */
+	{ 0,	0,	printargs,		"SYS_6725"	}, /* 6725 */
+	{ 0,	0,	printargs,		"SYS_6726"	}, /* 6726 */
+	{ 0,	0,	printargs,		"SYS_6727"	}, /* 6727 */
+	{ 0,	0,	printargs,		"SYS_6728"	}, /* 6728 */
+	{ 0,	0,	printargs,		"SYS_6729"	}, /* 6729 */
+	{ 0,	0,	printargs,		"SYS_6730"	}, /* 6730 */
+	{ 0,	0,	printargs,		"SYS_6731"	}, /* 6731 */
+	{ 0,	0,	printargs,		"SYS_6732"	}, /* 6732 */
+	{ 0,	0,	printargs,		"SYS_6733"	}, /* 6733 */
+	{ 0,	0,	printargs,		"SYS_6734"	}, /* 6734 */
+	{ 0,	0,	printargs,		"SYS_6735"	}, /* 6735 */
+	{ 0,	0,	printargs,		"SYS_6736"	}, /* 6736 */
+	{ 0,	0,	printargs,		"SYS_6737"	}, /* 6737 */
+	{ 0,	0,	printargs,		"SYS_6738"	}, /* 6738 */
+	{ 0,	0,	printargs,		"SYS_6739"	}, /* 6739 */
+	{ 0,	0,	printargs,		"SYS_6740"	}, /* 6740 */
+	{ 0,	0,	printargs,		"SYS_6741"	}, /* 6741 */
+	{ 0,	0,	printargs,		"SYS_6742"	}, /* 6742 */
+	{ 0,	0,	printargs,		"SYS_6743"	}, /* 6743 */
+	{ 0,	0,	printargs,		"SYS_6744"	}, /* 6744 */
+	{ 0,	0,	printargs,		"SYS_6745"	}, /* 6745 */
+	{ 0,	0,	printargs,		"SYS_6746"	}, /* 6746 */
+	{ 0,	0,	printargs,		"SYS_6747"	}, /* 6747 */
+	{ 0,	0,	printargs,		"SYS_6748"	}, /* 6748 */
+	{ 0,	0,	printargs,		"SYS_6749"	}, /* 6749 */
+	{ 0,	0,	printargs,		"SYS_6750"	}, /* 6750 */
+	{ 0,	0,	printargs,		"SYS_6751"	}, /* 6751 */
+	{ 0,	0,	printargs,		"SYS_6752"	}, /* 6752 */
+	{ 0,	0,	printargs,		"SYS_6753"	}, /* 6753 */
+	{ 0,	0,	printargs,		"SYS_6754"	}, /* 6754 */
+	{ 0,	0,	printargs,		"SYS_6755"	}, /* 6755 */
+	{ 0,	0,	printargs,		"SYS_6756"	}, /* 6756 */
+	{ 0,	0,	printargs,		"SYS_6757"	}, /* 6757 */
+	{ 0,	0,	printargs,		"SYS_6758"	}, /* 6758 */
+	{ 0,	0,	printargs,		"SYS_6759"	}, /* 6759 */
+	{ 0,	0,	printargs,		"SYS_6760"	}, /* 6760 */
+	{ 0,	0,	printargs,		"SYS_6761"	}, /* 6761 */
+	{ 0,	0,	printargs,		"SYS_6762"	}, /* 6762 */
+	{ 0,	0,	printargs,		"SYS_6763"	}, /* 6763 */
+	{ 0,	0,	printargs,		"SYS_6764"	}, /* 6764 */
+	{ 0,	0,	printargs,		"SYS_6765"	}, /* 6765 */
+	{ 0,	0,	printargs,		"SYS_6766"	}, /* 6766 */
+	{ 0,	0,	printargs,		"SYS_6767"	}, /* 6767 */
+	{ 0,	0,	printargs,		"SYS_6768"	}, /* 6768 */
+	{ 0,	0,	printargs,		"SYS_6769"	}, /* 6769 */
+	{ 0,	0,	printargs,		"SYS_6770"	}, /* 6770 */
+	{ 0,	0,	printargs,		"SYS_6771"	}, /* 6771 */
+	{ 0,	0,	printargs,		"SYS_6772"	}, /* 6772 */
+	{ 0,	0,	printargs,		"SYS_6773"	}, /* 6773 */
+	{ 0,	0,	printargs,		"SYS_6774"	}, /* 6774 */
+	{ 0,	0,	printargs,		"SYS_6775"	}, /* 6775 */
+	{ 0,	0,	printargs,		"SYS_6776"	}, /* 6776 */
+	{ 0,	0,	printargs,		"SYS_6777"	}, /* 6777 */
+	{ 0,	0,	printargs,		"SYS_6778"	}, /* 6778 */
+	{ 0,	0,	printargs,		"SYS_6779"	}, /* 6779 */
+	{ 0,	0,	printargs,		"SYS_6780"	}, /* 6780 */
+	{ 0,	0,	printargs,		"SYS_6781"	}, /* 6781 */
+	{ 0,	0,	printargs,		"SYS_6782"	}, /* 6782 */
+	{ 0,	0,	printargs,		"SYS_6783"	}, /* 6783 */
+	{ 0,	0,	printargs,		"SYS_6784"	}, /* 6784 */
+	{ 0,	0,	printargs,		"SYS_6785"	}, /* 6785 */
+	{ 0,	0,	printargs,		"SYS_6786"	}, /* 6786 */
+	{ 0,	0,	printargs,		"SYS_6787"	}, /* 6787 */
+	{ 0,	0,	printargs,		"SYS_6788"	}, /* 6788 */
+	{ 0,	0,	printargs,		"SYS_6789"	}, /* 6789 */
+	{ 0,	0,	printargs,		"SYS_6790"	}, /* 6790 */
+	{ 0,	0,	printargs,		"SYS_6791"	}, /* 6791 */
+	{ 0,	0,	printargs,		"SYS_6792"	}, /* 6792 */
+	{ 0,	0,	printargs,		"SYS_6793"	}, /* 6793 */
+	{ 0,	0,	printargs,		"SYS_6794"	}, /* 6794 */
+	{ 0,	0,	printargs,		"SYS_6795"	}, /* 6795 */
+	{ 0,	0,	printargs,		"SYS_6796"	}, /* 6796 */
+	{ 0,	0,	printargs,		"SYS_6797"	}, /* 6797 */
+	{ 0,	0,	printargs,		"SYS_6798"	}, /* 6798 */
+	{ 0,	0,	printargs,		"SYS_6799"	}, /* 6799 */
+	{ 0,	0,	printargs,		"SYS_6800"	}, /* 6800 */
+	{ 0,	0,	printargs,		"SYS_6801"	}, /* 6801 */
+	{ 0,	0,	printargs,		"SYS_6802"	}, /* 6802 */
+	{ 0,	0,	printargs,		"SYS_6803"	}, /* 6803 */
+	{ 0,	0,	printargs,		"SYS_6804"	}, /* 6804 */
+	{ 0,	0,	printargs,		"SYS_6805"	}, /* 6805 */
+	{ 0,	0,	printargs,		"SYS_6806"	}, /* 6806 */
+	{ 0,	0,	printargs,		"SYS_6807"	}, /* 6807 */
+	{ 0,	0,	printargs,		"SYS_6808"	}, /* 6808 */
+	{ 0,	0,	printargs,		"SYS_6809"	}, /* 6809 */
+	{ 0,	0,	printargs,		"SYS_6810"	}, /* 6810 */
+	{ 0,	0,	printargs,		"SYS_6811"	}, /* 6811 */
+	{ 0,	0,	printargs,		"SYS_6812"	}, /* 6812 */
+	{ 0,	0,	printargs,		"SYS_6813"	}, /* 6813 */
+	{ 0,	0,	printargs,		"SYS_6814"	}, /* 6814 */
+	{ 0,	0,	printargs,		"SYS_6815"	}, /* 6815 */
+	{ 0,	0,	printargs,		"SYS_6816"	}, /* 6816 */
+	{ 0,	0,	printargs,		"SYS_6817"	}, /* 6817 */
+	{ 0,	0,	printargs,		"SYS_6818"	}, /* 6818 */
+	{ 0,	0,	printargs,		"SYS_6819"	}, /* 6819 */
+	{ 0,	0,	printargs,		"SYS_6820"	}, /* 6820 */
+	{ 0,	0,	printargs,		"SYS_6821"	}, /* 6821 */
+	{ 0,	0,	printargs,		"SYS_6822"	}, /* 6822 */
+	{ 0,	0,	printargs,		"SYS_6823"	}, /* 6823 */
+	{ 0,	0,	printargs,		"SYS_6824"	}, /* 6824 */
+	{ 0,	0,	printargs,		"SYS_6825"	}, /* 6825 */
+	{ 0,	0,	printargs,		"SYS_6826"	}, /* 6826 */
+	{ 0,	0,	printargs,		"SYS_6827"	}, /* 6827 */
+	{ 0,	0,	printargs,		"SYS_6828"	}, /* 6828 */
+	{ 0,	0,	printargs,		"SYS_6829"	}, /* 6829 */
+	{ 0,	0,	printargs,		"SYS_6830"	}, /* 6830 */
+	{ 0,	0,	printargs,		"SYS_6831"	}, /* 6831 */
+	{ 0,	0,	printargs,		"SYS_6832"	}, /* 6832 */
+	{ 0,	0,	printargs,		"SYS_6833"	}, /* 6833 */
+	{ 0,	0,	printargs,		"SYS_6834"	}, /* 6834 */
+	{ 0,	0,	printargs,		"SYS_6835"	}, /* 6835 */
+	{ 0,	0,	printargs,		"SYS_6836"	}, /* 6836 */
+	{ 0,	0,	printargs,		"SYS_6837"	}, /* 6837 */
+	{ 0,	0,	printargs,		"SYS_6838"	}, /* 6838 */
+	{ 0,	0,	printargs,		"SYS_6839"	}, /* 6839 */
+	{ 0,	0,	printargs,		"SYS_6840"	}, /* 6840 */
+	{ 0,	0,	printargs,		"SYS_6841"	}, /* 6841 */
+	{ 0,	0,	printargs,		"SYS_6842"	}, /* 6842 */
+	{ 0,	0,	printargs,		"SYS_6843"	}, /* 6843 */
+	{ 0,	0,	printargs,		"SYS_6844"	}, /* 6844 */
+	{ 0,	0,	printargs,		"SYS_6845"	}, /* 6845 */
+	{ 0,	0,	printargs,		"SYS_6846"	}, /* 6846 */
+	{ 0,	0,	printargs,		"SYS_6847"	}, /* 6847 */
+	{ 0,	0,	printargs,		"SYS_6848"	}, /* 6848 */
+	{ 0,	0,	printargs,		"SYS_6849"	}, /* 6849 */
+	{ 0,	0,	printargs,		"SYS_6850"	}, /* 6850 */
+	{ 0,	0,	printargs,		"SYS_6851"	}, /* 6851 */
+	{ 0,	0,	printargs,		"SYS_6852"	}, /* 6852 */
+	{ 0,	0,	printargs,		"SYS_6853"	}, /* 6853 */
+	{ 0,	0,	printargs,		"SYS_6854"	}, /* 6854 */
+	{ 0,	0,	printargs,		"SYS_6855"	}, /* 6855 */
+	{ 0,	0,	printargs,		"SYS_6856"	}, /* 6856 */
+	{ 0,	0,	printargs,		"SYS_6857"	}, /* 6857 */
+	{ 0,	0,	printargs,		"SYS_6858"	}, /* 6858 */
+	{ 0,	0,	printargs,		"SYS_6859"	}, /* 6859 */
+	{ 0,	0,	printargs,		"SYS_6860"	}, /* 6860 */
+	{ 0,	0,	printargs,		"SYS_6861"	}, /* 6861 */
+	{ 0,	0,	printargs,		"SYS_6862"	}, /* 6862 */
+	{ 0,	0,	printargs,		"SYS_6863"	}, /* 6863 */
+	{ 0,	0,	printargs,		"SYS_6864"	}, /* 6864 */
+	{ 0,	0,	printargs,		"SYS_6865"	}, /* 6865 */
+	{ 0,	0,	printargs,		"SYS_6866"	}, /* 6866 */
+	{ 0,	0,	printargs,		"SYS_6867"	}, /* 6867 */
+	{ 0,	0,	printargs,		"SYS_6868"	}, /* 6868 */
+	{ 0,	0,	printargs,		"SYS_6869"	}, /* 6869 */
+	{ 0,	0,	printargs,		"SYS_6870"	}, /* 6870 */
+	{ 0,	0,	printargs,		"SYS_6871"	}, /* 6871 */
+	{ 0,	0,	printargs,		"SYS_6872"	}, /* 6872 */
+	{ 0,	0,	printargs,		"SYS_6873"	}, /* 6873 */
+	{ 0,	0,	printargs,		"SYS_6874"	}, /* 6874 */
+	{ 0,	0,	printargs,		"SYS_6875"	}, /* 6875 */
+	{ 0,	0,	printargs,		"SYS_6876"	}, /* 6876 */
+	{ 0,	0,	printargs,		"SYS_6877"	}, /* 6877 */
+	{ 0,	0,	printargs,		"SYS_6878"	}, /* 6878 */
+	{ 0,	0,	printargs,		"SYS_6879"	}, /* 6879 */
+	{ 0,	0,	printargs,		"SYS_6880"	}, /* 6880 */
+	{ 0,	0,	printargs,		"SYS_6881"	}, /* 6881 */
+	{ 0,	0,	printargs,		"SYS_6882"	}, /* 6882 */
+	{ 0,	0,	printargs,		"SYS_6883"	}, /* 6883 */
+	{ 0,	0,	printargs,		"SYS_6884"	}, /* 6884 */
+	{ 0,	0,	printargs,		"SYS_6885"	}, /* 6885 */
+	{ 0,	0,	printargs,		"SYS_6886"	}, /* 6886 */
+	{ 0,	0,	printargs,		"SYS_6887"	}, /* 6887 */
+	{ 0,	0,	printargs,		"SYS_6888"	}, /* 6888 */
+	{ 0,	0,	printargs,		"SYS_6889"	}, /* 6889 */
+	{ 0,	0,	printargs,		"SYS_6890"	}, /* 6890 */
+	{ 0,	0,	printargs,		"SYS_6891"	}, /* 6891 */
+	{ 0,	0,	printargs,		"SYS_6892"	}, /* 6892 */
+	{ 0,	0,	printargs,		"SYS_6893"	}, /* 6893 */
+	{ 0,	0,	printargs,		"SYS_6894"	}, /* 6894 */
+	{ 0,	0,	printargs,		"SYS_6895"	}, /* 6895 */
+	{ 0,	0,	printargs,		"SYS_6896"	}, /* 6896 */
+	{ 0,	0,	printargs,		"SYS_6897"	}, /* 6897 */
+	{ 0,	0,	printargs,		"SYS_6898"	}, /* 6898 */
+	{ 0,	0,	printargs,		"SYS_6899"	}, /* 6899 */
+	{ 0,	0,	printargs,		"SYS_6900"	}, /* 6900 */
+	{ 0,	0,	printargs,		"SYS_6901"	}, /* 6901 */
+	{ 0,	0,	printargs,		"SYS_6902"	}, /* 6902 */
+	{ 0,	0,	printargs,		"SYS_6903"	}, /* 6903 */
+	{ 0,	0,	printargs,		"SYS_6904"	}, /* 6904 */
+	{ 0,	0,	printargs,		"SYS_6905"	}, /* 6905 */
+	{ 0,	0,	printargs,		"SYS_6906"	}, /* 6906 */
+	{ 0,	0,	printargs,		"SYS_6907"	}, /* 6907 */
+	{ 0,	0,	printargs,		"SYS_6908"	}, /* 6908 */
+	{ 0,	0,	printargs,		"SYS_6909"	}, /* 6909 */
+	{ 0,	0,	printargs,		"SYS_6910"	}, /* 6910 */
+	{ 0,	0,	printargs,		"SYS_6911"	}, /* 6911 */
+	{ 0,	0,	printargs,		"SYS_6912"	}, /* 6912 */
+	{ 0,	0,	printargs,		"SYS_6913"	}, /* 6913 */
+	{ 0,	0,	printargs,		"SYS_6914"	}, /* 6914 */
+	{ 0,	0,	printargs,		"SYS_6915"	}, /* 6915 */
+	{ 0,	0,	printargs,		"SYS_6916"	}, /* 6916 */
+	{ 0,	0,	printargs,		"SYS_6917"	}, /* 6917 */
+	{ 0,	0,	printargs,		"SYS_6918"	}, /* 6918 */
+	{ 0,	0,	printargs,		"SYS_6919"	}, /* 6919 */
+	{ 0,	0,	printargs,		"SYS_6920"	}, /* 6920 */
+	{ 0,	0,	printargs,		"SYS_6921"	}, /* 6921 */
+	{ 0,	0,	printargs,		"SYS_6922"	}, /* 6922 */
+	{ 0,	0,	printargs,		"SYS_6923"	}, /* 6923 */
+	{ 0,	0,	printargs,		"SYS_6924"	}, /* 6924 */
+	{ 0,	0,	printargs,		"SYS_6925"	}, /* 6925 */
+	{ 0,	0,	printargs,		"SYS_6926"	}, /* 6926 */
+	{ 0,	0,	printargs,		"SYS_6927"	}, /* 6927 */
+	{ 0,	0,	printargs,		"SYS_6928"	}, /* 6928 */
+	{ 0,	0,	printargs,		"SYS_6929"	}, /* 6929 */
+	{ 0,	0,	printargs,		"SYS_6930"	}, /* 6930 */
+	{ 0,	0,	printargs,		"SYS_6931"	}, /* 6931 */
+	{ 0,	0,	printargs,		"SYS_6932"	}, /* 6932 */
+	{ 0,	0,	printargs,		"SYS_6933"	}, /* 6933 */
+	{ 0,	0,	printargs,		"SYS_6934"	}, /* 6934 */
+	{ 0,	0,	printargs,		"SYS_6935"	}, /* 6935 */
+	{ 0,	0,	printargs,		"SYS_6936"	}, /* 6936 */
+	{ 0,	0,	printargs,		"SYS_6937"	}, /* 6937 */
+	{ 0,	0,	printargs,		"SYS_6938"	}, /* 6938 */
+	{ 0,	0,	printargs,		"SYS_6939"	}, /* 6939 */
+	{ 0,	0,	printargs,		"SYS_6940"	}, /* 6940 */
+	{ 0,	0,	printargs,		"SYS_6941"	}, /* 6941 */
+	{ 0,	0,	printargs,		"SYS_6942"	}, /* 6942 */
+	{ 0,	0,	printargs,		"SYS_6943"	}, /* 6943 */
+	{ 0,	0,	printargs,		"SYS_6944"	}, /* 6944 */
+	{ 0,	0,	printargs,		"SYS_6945"	}, /* 6945 */
+	{ 0,	0,	printargs,		"SYS_6946"	}, /* 6946 */
+	{ 0,	0,	printargs,		"SYS_6947"	}, /* 6947 */
+	{ 0,	0,	printargs,		"SYS_6948"	}, /* 6948 */
+	{ 0,	0,	printargs,		"SYS_6949"	}, /* 6949 */
+	{ 0,	0,	printargs,		"SYS_6950"	}, /* 6950 */
+	{ 0,	0,	printargs,		"SYS_6951"	}, /* 6951 */
+	{ 0,	0,	printargs,		"SYS_6952"	}, /* 6952 */
+	{ 0,	0,	printargs,		"SYS_6953"	}, /* 6953 */
+	{ 0,	0,	printargs,		"SYS_6954"	}, /* 6954 */
+	{ 0,	0,	printargs,		"SYS_6955"	}, /* 6955 */
+	{ 0,	0,	printargs,		"SYS_6956"	}, /* 6956 */
+	{ 0,	0,	printargs,		"SYS_6957"	}, /* 6957 */
+	{ 0,	0,	printargs,		"SYS_6958"	}, /* 6958 */
+	{ 0,	0,	printargs,		"SYS_6959"	}, /* 6959 */
+	{ 0,	0,	printargs,		"SYS_6960"	}, /* 6960 */
+	{ 0,	0,	printargs,		"SYS_6961"	}, /* 6961 */
+	{ 0,	0,	printargs,		"SYS_6962"	}, /* 6962 */
+	{ 0,	0,	printargs,		"SYS_6963"	}, /* 6963 */
+	{ 0,	0,	printargs,		"SYS_6964"	}, /* 6964 */
+	{ 0,	0,	printargs,		"SYS_6965"	}, /* 6965 */
+	{ 0,	0,	printargs,		"SYS_6966"	}, /* 6966 */
+	{ 0,	0,	printargs,		"SYS_6967"	}, /* 6967 */
+	{ 0,	0,	printargs,		"SYS_6968"	}, /* 6968 */
+	{ 0,	0,	printargs,		"SYS_6969"	}, /* 6969 */
+	{ 0,	0,	printargs,		"SYS_6970"	}, /* 6970 */
+	{ 0,	0,	printargs,		"SYS_6971"	}, /* 6971 */
+	{ 0,	0,	printargs,		"SYS_6972"	}, /* 6972 */
+	{ 0,	0,	printargs,		"SYS_6973"	}, /* 6973 */
+	{ 0,	0,	printargs,		"SYS_6974"	}, /* 6974 */
+	{ 0,	0,	printargs,		"SYS_6975"	}, /* 6975 */
+	{ 0,	0,	printargs,		"SYS_6976"	}, /* 6976 */
+	{ 0,	0,	printargs,		"SYS_6977"	}, /* 6977 */
+	{ 0,	0,	printargs,		"SYS_6978"	}, /* 6978 */
+	{ 0,	0,	printargs,		"SYS_6979"	}, /* 6979 */
+	{ 0,	0,	printargs,		"SYS_6980"	}, /* 6980 */
+	{ 0,	0,	printargs,		"SYS_6981"	}, /* 6981 */
+	{ 0,	0,	printargs,		"SYS_6982"	}, /* 6982 */
+	{ 0,	0,	printargs,		"SYS_6983"	}, /* 6983 */
+	{ 0,	0,	printargs,		"SYS_6984"	}, /* 6984 */
+	{ 0,	0,	printargs,		"SYS_6985"	}, /* 6985 */
+	{ 0,	0,	printargs,		"SYS_6986"	}, /* 6986 */
+	{ 0,	0,	printargs,		"SYS_6987"	}, /* 6987 */
+	{ 0,	0,	printargs,		"SYS_6988"	}, /* 6988 */
+	{ 0,	0,	printargs,		"SYS_6989"	}, /* 6989 */
+	{ 0,	0,	printargs,		"SYS_6990"	}, /* 6990 */
+	{ 0,	0,	printargs,		"SYS_6991"	}, /* 6991 */
+	{ 0,	0,	printargs,		"SYS_6992"	}, /* 6992 */
+	{ 0,	0,	printargs,		"SYS_6993"	}, /* 6993 */
+	{ 0,	0,	printargs,		"SYS_6994"	}, /* 6994 */
+	{ 0,	0,	printargs,		"SYS_6995"	}, /* 6995 */
+	{ 0,	0,	printargs,		"SYS_6996"	}, /* 6996 */
+	{ 0,	0,	printargs,		"SYS_6997"	}, /* 6997 */
+	{ 0,	0,	printargs,		"SYS_6998"	}, /* 6998 */
+	{ 0,	0,	printargs,		"SYS_6999"	}, /* 6999 */ /* end of Linux N32 */
diff --git a/strace-4.5.20/linux/powerpc/ioctlent.h b/strace-4.5.20/linux/powerpc/ioctlent.h
new file mode 100644
index 0000000..16010da
--- /dev/null
+++ b/strace-4.5.20/linux/powerpc/ioctlent.h
@@ -0,0 +1,1181 @@
+	/* Generated by ioctlsort */
+	{"linux/fs.h",	"FIBMAP",	0x1},
+	{"linux/fs.h",	"FIGETBSZ",	0x2},
+	{"linux/fd.h",	"FDGETPRM",	0x204},
+	{"linux/fd.h",	"FDGETMAXERRS",	0x20e},
+	{"linux/fd.h",	"FDGETDRVTYP",	0x20f},
+	{"linux/fd.h",	"FDGETDRVPRM",	0x211},
+	{"linux/fd.h",	"FDGETDRVSTAT",	0x212},
+	{"linux/fd.h",	"FDPOLLDRVSTAT",	0x213},
+	{"linux/fd.h",	"FDGETFDCSTAT",	0x215},
+	{"linux/fd.h",	"FDWERRORGET",	0x217},
+	{"linux/fd.h",	"FDCLRPRM",	0x241},
+	{"linux/fd.h",	"FDSETPRM",	0x242},
+	{"linux/fd.h",	"FDDEFPRM",	0x243},
+	{"linux/fd.h",	"FDMSGON",	0x245},
+	{"linux/fd.h",	"FDMSGOFF",	0x246},
+	{"linux/fd.h",	"FDFMTBEG",	0x247},
+	{"linux/fd.h",	"FDFMTTRK",	0x248},
+	{"linux/fd.h",	"FDFMTEND",	0x249},
+	{"linux/fd.h",	"FDSETEMSGTRESH",	0x24a},
+	{"linux/fd.h",	"FDFLUSH",	0x24b},
+	{"linux/fd.h",	"FDSETMAXERRS",	0x24c},
+	{"linux/fd.h",	"FDRESET",	0x254},
+	{"linux/fd.h",	"FDWERRORCLR",	0x256},
+	{"linux/fd.h",	"FDRAWCMD",	0x258},
+	{"linux/fd.h",	"FDTWADDLE",	0x259},
+	{"linux/fd.h",	"FDEJECT",	0x25a},
+	{"linux/fd.h",	"FDSETDRVPRM",	0x290},
+	{"linux/umsdos_fs.h",	"UMSDOS_READDIR_DOS",	0x4d2},
+	{"linux/umsdos_fs.h",	"UMSDOS_UNLINK_DOS",	0x4d3},
+	{"linux/umsdos_fs.h",	"UMSDOS_RMDIR_DOS",	0x4d4},
+	{"linux/umsdos_fs.h",	"UMSDOS_STAT_DOS",	0x4d5},
+	{"linux/umsdos_fs.h",	"UMSDOS_CREAT_EMD",	0x4d6},
+	{"linux/umsdos_fs.h",	"UMSDOS_UNLINK_EMD",	0x4d7},
+	{"linux/umsdos_fs.h",	"UMSDOS_READDIR_EMD",	0x4d8},
+	{"linux/umsdos_fs.h",	"UMSDOS_GETVERSION",	0x4d9},
+	{"linux/umsdos_fs.h",	"UMSDOS_INIT_EMD",	0x4da},
+	{"linux/umsdos_fs.h",	"UMSDOS_DOS_SETUP",	0x4db},
+	{"linux/umsdos_fs.h",	"UMSDOS_RENAME_DOS",	0x4dc},
+	{"linux/fs.h",	"BLKROSET",	0x125d},
+	{"linux/fs.h",	"BLKROGET",	0x125e},
+	{"linux/fs.h",	"BLKRRPART",	0x125f},
+	{"linux/fs.h",	"BLKGETSIZE",	0x1260},
+	{"linux/fs.h",	"BLKFLSBUF",	0x1261},
+	{"linux/fs.h",	"BLKRASET",	0x1262},
+	{"linux/fs.h",	"BLKRAGET",	0x1263},
+	{"linux/fs.h",	"BLKFRASET",	0x1264},
+	{"linux/fs.h",	"BLKFRAGET",	0x1265},
+	{"linux/fs.h",	"BLKSECTSET",	0x1266},
+	{"linux/fs.h",	"BLKSECTGET",	0x1267},
+	{"linux/fs.h",	"BLKSSZGET",	0x1268},
+	{"linux/blkpg.h",	"BLKPG",	0x1269},
+	{"linux/fs.h",	"BLKELVGET",	0x126a},
+	{"linux/fs.h",	"BLKELVSET",	0x126b},
+	{"linux/fs.h",	"BLKBSZGET",	0x1270},
+	{"linux/fs.h",	"BLKBSZSET",	0x1271},
+	{"linux/fs.h",	"BLKGETSIZE64",	0x1272},
+	{"scsi/sg.h",	"SG_SET_TIMEOUT",	0x2201},
+	{"scsi/sg.h",	"SG_GET_TIMEOUT",	0x2202},
+	{"scsi/sg.h",	"SG_EMULATED_HOST",	0x2203},
+	{"scsi/sg.h",	"SG_SET_TRANSFORM",	0x2204},
+	{"scsi/sg.h",	"SG_GET_TRANSFORM",	0x2205},
+	{"scsi/sg.h",	"SG_GET_COMMAND_Q",	0x2270},
+	{"scsi/sg.h",	"SG_SET_COMMAND_Q",	0x2271},
+	{"scsi/sg.h",	"SG_GET_RESERVED_SIZE",	0x2272},
+	{"scsi/sg.h",	"SG_SET_RESERVED_SIZE",	0x2275},
+	{"scsi/sg.h",	"SG_GET_SCSI_ID",	0x2276},
+	{"scsi/sg.h",	"SG_SET_FORCE_LOW_DMA",	0x2279},
+	{"scsi/sg.h",	"SG_GET_LOW_DMA",	0x227a},
+	{"scsi/sg.h",	"SG_SET_FORCE_PACK_ID",	0x227b},
+	{"scsi/sg.h",	"SG_GET_PACK_ID",	0x227c},
+	{"scsi/sg.h",	"SG_GET_NUM_WAITING",	0x227d},
+	{"scsi/sg.h",	"SG_SET_DEBUG",	0x227e},
+	{"scsi/sg.h",	"SG_GET_SG_TABLESIZE",	0x227f},
+	{"scsi/sg.h",	"SG_GET_VERSION_NUM",	0x2282},
+	{"scsi/sg.h",	"SG_NEXT_CMD_LEN",	0x2283},
+	{"scsi/sg.h",	"SG_SCSI_RESET",	0x2284},
+	{"scsi/sg.h",	"SG_IO",	0x2285},
+	{"scsi/sg.h",	"SG_GET_REQUEST_TABLE",	0x2286},
+	{"scsi/sg.h",	"SG_SET_KEEP_ORPHAN",	0x2287},
+	{"scsi/sg.h",	"SG_GET_KEEP_ORPHAN",	0x2288},
+	{"linux/i2o.h",	"BLKI2OGRSTRAT",	0x3201},
+	{"linux/i2o.h",	"BLKI2OGWSTRAT",	0x3202},
+	{"linux/i2o.h",	"BLKI2OSRSTRAT",	0x3203},
+	{"linux/i2o.h",	"BLKI2OSWSTRAT",	0x3204},
+	{"linux/radeonfb.h",	"FBIO_RADEON_GET_MIRROR",	0x4003},
+	{"linux/radeonfb.h",	"FBIO_RADEON_SET_MIRROR",	0x4004},
+	{"linux/agpgart.h",	"AGPIOC_INFO",	0x4100},
+	{"linux/agpgart.h",	"AGPIOC_ACQUIRE",	0x4101},
+	{"linux/apm_bios.h",	"APM_IOC_STANDBY",	0x4101},
+	{"linux/agpgart.h",	"AGPIOC_RELEASE",	0x4102},
+	{"linux/apm_bios.h",	"APM_IOC_SUSPEND",	0x4102},
+	{"linux/agpgart.h",	"AGPIOC_SETUP",	0x4103},
+	{"linux/agpgart.h",	"AGPIOC_RESERVE",	0x4104},
+	{"linux/agpgart.h",	"AGPIOC_PROTECT",	0x4105},
+	{"linux/agpgart.h",	"AGPIOC_ALLOCATE",	0x4106},
+	{"linux/agpgart.h",	"AGPIOC_DEALLOCATE",	0x4107},
+	{"linux/agpgart.h",	"AGPIOC_BIND",	0x4108},
+	{"linux/agpgart.h",	"AGPIOC_UNBIND",	0x4109},
+	{"linux/pmu.h",	"PMU_IOC_SLEEP",	0x4200},
+	{"linux/cciss_ioctl.h",	"CCISS_GETPCIINFO",	0x4201},
+	{"linux/pmu.h",	"PMU_IOC_GET_BACKLIGHT",	0x4201},
+	{"linux/cciss_ioctl.h",	"CCISS_GETINTINFO",	0x4202},
+	{"linux/pmu.h",	"PMU_IOC_SET_BACKLIGHT",	0x4202},
+	{"linux/cciss_ioctl.h",	"CCISS_SETINTINFO",	0x4203},
+	{"linux/pmu.h",	"PMU_IOC_GET_MODEL",	0x4203},
+	{"linux/cciss_ioctl.h",	"CCISS_GETNODENAME",	0x4204},
+	{"linux/pmu.h",	"PMU_IOC_HAS_ADB",	0x4204},
+	{"linux/cciss_ioctl.h",	"CCISS_SETNODENAME",	0x4205},
+	{"linux/pmu.h",	"PMU_IOC_CAN_SLEEP",	0x4205},
+	{"linux/cciss_ioctl.h",	"CCISS_GETHEARTBEAT",	0x4206},
+	{"linux/pmu.h",	"PMU_IOC_GRAB_BACKLIGHT",	0x4206},
+	{"linux/cciss_ioctl.h",	"CCISS_GETBUSTYPES",	0x4207},
+	{"linux/cciss_ioctl.h",	"CCISS_GETFIRMVER",	0x4208},
+	{"linux/cciss_ioctl.h",	"CCISS_GETDRIVVER",	0x4209},
+	{"linux/cciss_ioctl.h",	"CCISS_REVALIDVOLS",	0x420a},
+	{"linux/cciss_ioctl.h",	"CCISS_PASSTHRU",	0x420b},
+	{"linux/cciss_ioctl.h",	"CCISS_DEREGDISK",	0x420c},
+	{"linux/cciss_ioctl.h",	"CCISS_REGNEWDISK",	0x420d},
+	{"linux/cciss_ioctl.h",	"CCISS_REGNEWD",	0x420e},
+	{"linux/cciss_ioctl.h",	"CCISS_GETLUNINFO",	0x4211},
+	{"linux/cciss_ioctl.h",	"CCISS_BIG_PASSTHRU",	0x4212},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RESET",	0x4300},
+	{"linux/capi.h",	"CAPI_REGISTER",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_LOAD",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RDATA",	0x4302},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCODE",	0x4303},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WDATA",	0x4304},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WCODE",	0x4305},
+	{"linux/capi.h",	"CAPI_GET_MANUFACTURER",	0x4306},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RUN",	0x4306},
+	{"linux/capi.h",	"CAPI_GET_VERSION",	0x4307},
+	{"linux/soundcard.h",	"SNDCTL_COPR_HALT",	0x4307},
+	{"linux/capi.h",	"CAPI_GET_SERIAL",	0x4308},
+	{"linux/soundcard.h",	"SNDCTL_COPR_SENDMSG",	0x4308},
+	{"linux/capi.h",	"CAPI_GET_PROFILE",	0x4309},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCVMSG",	0x4309},
+	{"linux/capi.h",	"CAPI_MANUFACTURER_CMD",	0x4320},
+	{"linux/capi.h",	"CAPI_GET_ERRCODE",	0x4321},
+	{"linux/capi.h",	"CAPI_INSTALLED",	0x4322},
+	{"linux/capi.h",	"CAPI_GET_FLAGS",	0x4323},
+	{"linux/capi.h",	"CAPI_SET_FLAGS",	0x4324},
+	{"linux/capi.h",	"CAPI_CLR_FLAGS",	0x4325},
+	{"linux/capi.h",	"CAPI_NCCI_OPENCOUNT",	0x4326},
+	{"linux/capi.h",	"CAPI_NCCI_GETUNIT",	0x4327},
+	{"linux/input.h",	"EVIOCGVERSION",	0x4501},
+	{"linux/input.h",	"EVIOCGID",	0x4502},
+	{"linux/input.h",	"EVIOCGKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCSKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCRMFF",	0x4581},
+	{"linux/input.h",	"EVIOCGEFFECTS",	0x4584},
+	{"linux/input.h",	"EVIOCGRAB",	0x4590},
+	{"linux/fb.h",	"FBIOGET_VSCREENINFO",	0x4600},
+	{"linux/fb.h",	"FBIOPUT_VSCREENINFO",	0x4601},
+	{"linux/fb.h",	"FBIOGET_FSCREENINFO",	0x4602},
+	{"linux/fb.h",	"FBIOGETCMAP",	0x4604},
+	{"linux/fb.h",	"FBIOPUTCMAP",	0x4605},
+	{"linux/fb.h",	"FBIOPAN_DISPLAY",	0x4606},
+	{"linux/fb.h",	"FBIO_CURSOR",	0x4608},
+	{"linux/fb.h",	"FBIOGET_CON2FBMAP",	0x460f},
+	{"linux/fb.h",	"FBIOPUT_CON2FBMAP",	0x4610},
+	{"linux/fb.h",	"FBIOBLANK",	0x4611},
+	{"linux/fb.h",	"FBIOGET_VBLANK",	0x4612},
+	{"linux/fb.h",	"FBIO_ALLOC",	0x4613},
+	{"linux/fb.h",	"FBIO_FREE",	0x4614},
+	{"linux/fb.h",	"FBIOGET_GLYPH",	0x4615},
+	{"linux/fb.h",	"FBIOGET_HWCINFO",	0x4616},
+	{"linux/fb.h",	"FBIOPUT_MODEINFO",	0x4617},
+	{"linux/fb.h",	"FBIOGET_DISPINFO",	0x4618},
+	{"linux/matroxfb.h",	"FBIO_WAITFORVSYNC",	0x4620},
+	{"linux/hiddev.h",	"HIDIOCGVERSION",	0x4801},
+	{"linux/hiddev.h",	"HIDIOCAPPLICATION",	0x4802},
+	{"linux/hiddev.h",	"HIDIOCGDEVINFO",	0x4803},
+	{"linux/hiddev.h",	"HIDIOCGSTRING",	0x4804},
+	{"linux/hiddev.h",	"HIDIOCINITREPORT",	0x4805},
+	{"linux/hiddev.h",	"HIDIOCGREPORT",	0x4807},
+	{"linux/hiddev.h",	"HIDIOCSREPORT",	0x4808},
+	{"linux/hiddev.h",	"HIDIOCGREPORTINFO",	0x4809},
+	{"linux/hiddev.h",	"HIDIOCGFIELDINFO",	0x480a},
+	{"linux/hiddev.h",	"HIDIOCGUSAGE",	0x480b},
+	{"linux/hiddev.h",	"HIDIOCSUSAGE",	0x480c},
+	{"linux/hiddev.h",	"HIDIOCGUCODE",	0x480d},
+	{"linux/hiddev.h",	"HIDIOCGFLAG",	0x480e},
+	{"linux/hiddev.h",	"HIDIOCSFLAG",	0x480f},
+	{"linux/hiddev.h",	"HIDIOCGCOLLECTIONINDEX",	0x4810},
+	{"linux/hiddev.h",	"HIDIOCGCOLLECTIONINFO",	0x4811},
+	{"linux/isdn.h",	"IIOCNETAIF",	0x4901},
+	{"linux/isdn.h",	"IIOCNETDIF",	0x4902},
+	{"linux/isdn.h",	"IIOCNETSCF",	0x4903},
+	{"linux/isdn.h",	"IIOCNETGCF",	0x4904},
+	{"linux/isdn.h",	"IIOCNETANM",	0x4905},
+	{"linux/isdn.h",	"IIOCNETDNM",	0x4906},
+	{"linux/isdn.h",	"IIOCNETGNM",	0x4907},
+	{"linux/isdn.h",	"IIOCGETSET",	0x4908},
+	{"linux/isdn.h",	"IIOCSETSET",	0x4909},
+	{"linux/isdn.h",	"IIOCSETVER",	0x490a},
+	{"linux/isdn.h",	"IIOCNETHUP",	0x490b},
+	{"linux/isdn.h",	"IIOCSETGST",	0x490c},
+	{"linux/isdn.h",	"IIOCSETBRJ",	0x490d},
+	{"linux/isdn.h",	"IIOCSIGPRF",	0x490e},
+	{"linux/isdn.h",	"IIOCGETPRF",	0x490f},
+	{"linux/isdn.h",	"IIOCSETPRF",	0x4910},
+	{"linux/isdn.h",	"IIOCGETMAP",	0x4911},
+	{"linux/isdn.h",	"IIOCSETMAP",	0x4912},
+	{"linux/isdn.h",	"IIOCNETASL",	0x4913},
+	{"linux/isdn.h",	"IIOCNETDIL",	0x4914},
+	{"linux/isdn.h",	"IIOCGETCPS",	0x4915},
+	{"linux/isdn.h",	"IIOCGETDVR",	0x4916},
+	{"linux/isdn.h",	"IIOCNETLCR",	0x4917},
+	{"linux/isdn.h",	"IIOCNETDWRSET",	0x4918},
+	{"linux/isdn.h",	"IIOCNETALN",	0x4920},
+	{"linux/isdn.h",	"IIOCNETDLN",	0x4921},
+	{"linux/isdn.h",	"IIOCNETGPN",	0x4922},
+	{"linux/isdn.h",	"IIOCDBGVAR",	0x497f},
+	{"linux/isdn.h",	"IIOCDRVCTL",	0x4980},
+	{"linux/kd.h",	"KIOCSOUND",	0x4b2f},
+	{"linux/kd.h",	"KDMKTONE",	0x4b30},
+	{"linux/kd.h",	"KDGETLED",	0x4b31},
+	{"linux/kd.h",	"KDSETLED",	0x4b32},
+	{"linux/kd.h",	"KDGKBTYPE",	0x4b33},
+	{"linux/kd.h",	"KDADDIO",	0x4b34},
+	{"linux/kd.h",	"KDDELIO",	0x4b35},
+	{"linux/kd.h",	"KDENABIO",	0x4b36},
+	{"linux/kd.h",	"KDDISABIO",	0x4b37},
+	{"linux/kd.h",	"KDSETMODE",	0x4b3a},
+	{"linux/kd.h",	"KDGETMODE",	0x4b3b},
+	{"linux/kd.h",	"KDMAPDISP",	0x4b3c},
+	{"linux/kd.h",	"KDUNMAPDISP",	0x4b3d},
+	{"linux/kd.h",	"GIO_SCRNMAP",	0x4b40},
+	{"linux/kd.h",	"PIO_SCRNMAP",	0x4b41},
+	{"linux/kd.h",	"KDGKBMODE",	0x4b44},
+	{"linux/kd.h",	"KDSKBMODE",	0x4b45},
+	{"linux/kd.h",	"KDGKBENT",	0x4b46},
+	{"linux/kd.h",	"KDSKBENT",	0x4b47},
+	{"linux/kd.h",	"KDGKBSENT",	0x4b48},
+	{"linux/kd.h",	"KDSKBSENT",	0x4b49},
+	{"linux/kd.h",	"KDGKBDIACR",	0x4b4a},
+	{"linux/kd.h",	"KDSKBDIACR",	0x4b4b},
+	{"linux/kd.h",	"KDGETKEYCODE",	0x4b4c},
+	{"linux/kd.h",	"KDSETKEYCODE",	0x4b4d},
+	{"linux/kd.h",	"KDSIGACCEPT",	0x4b4e},
+	{"linux/kd.h",	"KDKBDREP",	0x4b52},
+	{"linux/kd.h",	"GIO_FONT",	0x4b60},
+	{"linux/kd.h",	"PIO_FONT",	0x4b61},
+	{"linux/kd.h",	"KDGKBMETA",	0x4b62},
+	{"linux/kd.h",	"KDSKBMETA",	0x4b63},
+	{"linux/kd.h",	"KDGKBLED",	0x4b64},
+	{"linux/kd.h",	"KDSKBLED",	0x4b65},
+	{"linux/kd.h",	"GIO_UNIMAP",	0x4b66},
+	{"linux/kd.h",	"PIO_UNIMAP",	0x4b67},
+	{"linux/kd.h",	"PIO_UNIMAPCLR",	0x4b68},
+	{"linux/kd.h",	"GIO_UNISCRNMAP",	0x4b69},
+	{"linux/kd.h",	"PIO_UNISCRNMAP",	0x4b6a},
+	{"linux/kd.h",	"GIO_FONTX",	0x4b6b},
+	{"linux/kd.h",	"PIO_FONTX",	0x4b6c},
+	{"linux/kd.h",	"PIO_FONTRESET",	0x4b6d},
+	{"linux/kd.h",	"GIO_CMAP",	0x4b70},
+	{"linux/kd.h",	"PIO_CMAP",	0x4b71},
+	{"linux/kd.h",	"KDFONTOP",	0x4b72},
+	{"linux/soundcard.h",	"SOUND_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_OLD_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_MIXER_ACCESS",	0x4d66},
+	{"linux/soundcard.h",	"SOUND_MIXER_AGC",	0x4d67},
+	{"linux/soundcard.h",	"SOUND_MIXER_3DSE",	0x4d68},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE1",	0x4d6f},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE2",	0x4d70},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE3",	0x4d71},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE4",	0x4d72},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE5",	0x4d73},
+	{"linux/soundcard.h",	"SOUND_MIXER_GETLEVELS",	0x4d74},
+	{"linux/soundcard.h",	"SOUND_MIXER_SETLEVELS",	0x4d75},
+	{"linux/soundcard.h",	"OSS_GETVERSION",	0x4d76},
+	{"linux/ticable.h",	"IOCTL_TIUSB_TIMEOUT",	0x4e20},
+	{"linux/ticable.h",	"IOCTL_TIUSB_RESET_DEVICE",	0x4e21},
+	{"linux/ticable.h",	"IOCTL_TIUSB_RESET_PIPES",	0x4e22},
+	{"linux/soundcard.h",	"SNDCTL_DSP_RESET",	0x5000},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SYNC",	0x5001},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SPEED",	0x5002},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_RATE",	0x5002},
+	{"linux/soundcard.h",	"SNDCTL_DSP_STEREO",	0x5003},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETBLKSIZE",	0x5004},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFMT",	0x5005},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_BITS",	0x5005},
+	{"linux/soundcard.h",	"SNDCTL_DSP_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SOUND_PCM_WRITE_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SNDCTL_DSP_POST",	0x5008},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SUBDIVIDE",	0x5009},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFRAGMENT",	0x500a},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETFMTS",	0x500b},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOSPACE",	0x500c},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETISPACE",	0x500d},
+	{"linux/soundcard.h",	"SNDCTL_DSP_NONBLOCK",	0x500e},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCAPS",	0x500f},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETIPTR",	0x5011},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOPTR",	0x5012},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPINBUF",	0x5013},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPOUTBUF",	0x5014},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSYNCRO",	0x5015},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETDUPLEX",	0x5016},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETODELAY",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_PROFILE",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCHANNELMASK",	0x5040},
+	{"linux/soundcard.h",	"SNDCTL_DSP_BIND_CHANNEL",	0x5041},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSPDIF",	0x5042},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETSPDIF",	0x5043},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESET",	0x5100},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_SYNC",	0x5101},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_INFO",	0x5102},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_CTRLRATE",	0x5103},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETOUTCOUNT",	0x5104},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETINCOUNT",	0x5105},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PERCMODE",	0x5106},
+	{"linux/soundcard.h",	"SNDCTL_FM_LOAD_INSTR",	0x5107},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_TESTMIDI",	0x5108},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESETSAMPLES",	0x5109},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRSYNTHS",	0x510a},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRMIDIS",	0x510b},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_INFO",	0x510c},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_THRESHOLD",	0x510d},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_MEMAVL",	0x510e},
+	{"linux/soundcard.h",	"SNDCTL_FM_4OP_ENABLE",	0x510f},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PANIC",	0x5111},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_OUTOFBAND",	0x5112},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETTIME",	0x5113},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_ID",	0x5114},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_CONTROL",	0x5115},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_REMOVESAMPLE",	0x5116},
+	{"linux/random.h",	"RNDGETENTCNT",	0x5200},
+	{"linux/random.h",	"RNDADDTOENTCNT",	0x5201},
+	{"linux/random.h",	"RNDGETPOOL",	0x5202},
+	{"linux/random.h",	"RNDADDENTROPY",	0x5203},
+	{"linux/random.h",	"RNDZAPENTCNT",	0x5204},
+	{"linux/random.h",	"RNDCLEARPOOL",	0x5206},
+	{"linux/cdrom.h",	"CDROMPAUSE",	0x5301},
+	{"linux/cdrom.h",	"CDROMRESUME",	0x5302},
+	{"linux/cdrom.h",	"CDROMPLAYMSF",	0x5303},
+	{"linux/cdrom.h",	"CDROMPLAYTRKIND",	0x5304},
+	{"linux/cdrom.h",	"CDROMREADTOCHDR",	0x5305},
+	{"linux/cdrom.h",	"CDROMREADTOCENTRY",	0x5306},
+	{"linux/cdrom.h",	"CDROMSTOP",	0x5307},
+	{"linux/cdrom.h",	"CDROMSTART",	0x5308},
+	{"linux/cdrom.h",	"CDROMEJECT",	0x5309},
+	{"linux/cdrom.h",	"CDROMVOLCTRL",	0x530a},
+	{"linux/cdrom.h",	"CDROMSUBCHNL",	0x530b},
+	{"linux/cdrom.h",	"CDROMREADMODE2",	0x530c},
+	{"linux/cdrom.h",	"CDROMREADMODE1",	0x530d},
+	{"linux/cdrom.h",	"CDROMREADAUDIO",	0x530e},
+	{"linux/cdrom.h",	"CDROMEJECT_SW",	0x530f},
+	{"linux/cdrom.h",	"CDROMMULTISESSION",	0x5310},
+	{"linux/cdrom.h",	"CDROM_GET_MCN",	0x5311},
+	{"linux/cdrom.h",	"CDROMRESET",	0x5312},
+	{"linux/cdrom.h",	"CDROMVOLREAD",	0x5313},
+	{"linux/cdrom.h",	"CDROMREADRAW",	0x5314},
+	{"linux/cdrom.h",	"CDROMREADCOOKED",	0x5315},
+	{"linux/cdrom.h",	"CDROMSEEK",	0x5316},
+	{"linux/cdrom.h",	"CDROMPLAYBLK",	0x5317},
+	{"linux/cdrom.h",	"CDROMREADALL",	0x5318},
+	{"linux/cdrom.h",	"CDROMCLOSETRAY",	0x5319},
+	{"linux/cdrom.h",	"CDROMGETSPINDOWN",	0x531d},
+	{"linux/cdrom.h",	"CDROMSETSPINDOWN",	0x531e},
+	{"linux/cdrom.h",	"CDROM_SET_OPTIONS",	0x5320},
+	{"linux/cdrom.h",	"CDROM_CLEAR_OPTIONS",	0x5321},
+	{"linux/cdrom.h",	"CDROM_SELECT_SPEED",	0x5322},
+	{"linux/cdrom.h",	"CDROM_SELECT_DISC",	0x5323},
+	{"linux/cdrom.h",	"CDROM_MEDIA_CHANGED",	0x5325},
+	{"linux/cdrom.h",	"CDROM_DRIVE_STATUS",	0x5326},
+	{"linux/cdrom.h",	"CDROM_DISC_STATUS",	0x5327},
+	{"linux/cdrom.h",	"CDROM_CHANGER_NSLOTS",	0x5328},
+	{"linux/cdrom.h",	"CDROM_LOCKDOOR",	0x5329},
+	{"linux/cdrom.h",	"CDROM_DEBUG",	0x5330},
+	{"linux/cdrom.h",	"CDROM_GET_CAPABILITY",	0x5331},
+	{"scsi/scsi_ioctl.h",	"SCSI_IOCTL_DOORLOCK",	0x5380},
+	{"scsi/scsi_ioctl.h",	"SCSI_IOCTL_DOORUNLOCK",	0x5381},
+	{"linux/cdrom.h",	"CDROMAUDIOBUFSIZ",	0x5382},
+	{"scsi/scsi.h",	"SCSI_IOCTL_GET_IDLUN",	0x5382},
+	{"scsi/scsi.h",	"SCSI_IOCTL_TAGGED_ENABLE",	0x5383},
+	{"scsi/scsi.h",	"SCSI_IOCTL_TAGGED_DISABLE",	0x5384},
+	{"scsi/scsi.h",	"SCSI_IOCTL_PROBE_HOST",	0x5385},
+	{"scsi/scsi.h",	"SCSI_IOCTL_GET_BUS_NUMBER",	0x5386},
+	{"linux/cdrom.h",	"DVD_READ_STRUCT",	0x5390},
+	{"linux/cdrom.h",	"DVD_WRITE_STRUCT",	0x5391},
+	{"linux/cdrom.h",	"DVD_AUTH",	0x5392},
+	{"linux/cdrom.h",	"CDROM_SEND_PACKET",	0x5393},
+	{"linux/cdrom.h",	"CDROM_NEXT_WRITABLE",	0x5394},
+	{"linux/cdrom.h",	"CDROM_LAST_WRITTEN",	0x5395},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TIMEBASE",	0x5401},
+	{"linux/soundcard.h",	"SNDCTL_TMR_START",	0x5402},
+	{"linux/soundcard.h",	"SNDCTL_TMR_STOP",	0x5403},
+	{"linux/soundcard.h",	"SNDCTL_TMR_CONTINUE",	0x5404},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TEMPO",	0x5405},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SOURCE",	0x5406},
+	{"linux/soundcard.h",	"SNDCTL_TMR_METRONOME",	0x5407},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SELECT",	0x5408},
+	{"asm/ioctls.h",	"TIOCEXCL",	0x540c},
+	{"asm/ioctls.h",	"TIOCNXCL",	0x540d},
+	{"asm/ioctls.h",	"TIOCSCTTY",	0x540e},
+	{"asm/ioctls.h",	"TIOCSTI",	0x5412},
+	{"asm/ioctls.h",	"TIOCMGET",	0x5415},
+	{"asm/ioctls.h",	"TIOCMBIS",	0x5416},
+	{"asm/ioctls.h",	"TIOCMBIC",	0x5417},
+	{"asm/ioctls.h",	"TIOCMSET",	0x5418},
+	{"asm/ioctls.h",	"TIOCGSOFTCAR",	0x5419},
+	{"asm/ioctls.h",	"TIOCSSOFTCAR",	0x541a},
+	{"asm/ioctls.h",	"TIOCLINUX",	0x541c},
+	{"asm/ioctls.h",	"TIOCCONS",	0x541d},
+	{"asm/ioctls.h",	"TIOCGSERIAL",	0x541e},
+	{"asm/ioctls.h",	"TIOCSSERIAL",	0x541f},
+	{"asm/ioctls.h",	"TIOCPKT",	0x5420},
+	{"asm/ioctls.h",	"TIOCNOTTY",	0x5422},
+	{"asm/ioctls.h",	"TIOCSETD",	0x5423},
+	{"asm/ioctls.h",	"TIOCGETD",	0x5424},
+	{"asm/ioctls.h",	"TCSBRKP",	0x5425},
+	{"asm/ioctls.h",	"TIOCSBRK",	0x5427},
+	{"asm/ioctls.h",	"TIOCCBRK",	0x5428},
+	{"asm/ioctls.h",	"TIOCGSID",	0x5429},
+	{"asm/ioctls.h",	"TIOCGPTN",	0x5430},
+	{"asm/ioctls.h",	"TIOCSPTLCK",	0x5431},
+	{"asm/ioctls.h",	"TIOCSERCONFIG",	0x5453},
+	{"asm/ioctls.h",	"TIOCSERGWILD",	0x5454},
+	{"asm/ioctls.h",	"TIOCSERSWILD",	0x5455},
+	{"asm/ioctls.h",	"TIOCGLCKTRMIOS",	0x5456},
+	{"asm/ioctls.h",	"TIOCSLCKTRMIOS",	0x5457},
+	{"asm/ioctls.h",	"TIOCSERGSTRUCT",	0x5458},
+	{"asm/ioctls.h",	"TIOCSERGETLSR",	0x5459},
+	{"asm/ioctls.h",	"TIOCSERGETMULTI",	0x545a},
+	{"asm/ioctls.h",	"TIOCSERSETMULTI",	0x545b},
+	{"asm/ioctls.h",	"TIOCMIWAIT",	0x545c},
+	{"asm/ioctls.h",	"TIOCGICOUNT",	0x545d},
+	{"linux/if_tun.h",	"TUNSETNOCSUM",	0x54c8},
+	{"linux/if_tun.h",	"TUNSETDEBUG",	0x54c9},
+	{"linux/if_tun.h",	"TUNSETIFF",	0x54ca},
+	{"linux/if_tun.h",	"TUNSETPERSIST",	0x54cb},
+	{"linux/if_tun.h",	"TUNSETOWNER",	0x54cc},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONTROL",	0x5500},
+	{"linux/uinput.h",	"UI_DEV_CREATE",	0x5501},
+	{"linux/uinput.h",	"UI_DEV_DESTROY",	0x5502},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_BULK",	0x5502},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESETEP",	0x5503},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETINTERFACE",	0x5504},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETCONFIGURATION",	0x5505},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_GETDRIVER",	0x5508},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SUBMITURB",	0x550a},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCARDURB",	0x550b},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURB",	0x550c},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURBNDELAY",	0x550d},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCSIGNAL",	0x550e},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLAIMINTERFACE",	0x550f},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RELEASEINTERFACE",	0x5510},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONNECTINFO",	0x5511},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_IOCTL",	0x5512},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_HUB_PORTINFO",	0x5513},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESET",	0x5514},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLEAR_HALT",	0x5515},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCONNECT",	0x5516},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONNECT",	0x5517},
+	{"linux/uinput.h",	"UI_SET_EVBIT",	0x5564},
+	{"linux/uinput.h",	"UI_SET_KEYBIT",	0x5565},
+	{"linux/uinput.h",	"UI_SET_RELBIT",	0x5566},
+	{"linux/uinput.h",	"UI_SET_ABSBIT",	0x5567},
+	{"linux/uinput.h",	"UI_SET_MSCBIT",	0x5568},
+	{"linux/uinput.h",	"UI_SET_LEDBIT",	0x5569},
+	{"linux/uinput.h",	"UI_SET_SNDBIT",	0x556a},
+	{"linux/uinput.h",	"UI_SET_FFBIT",	0x556b},
+	{"linux/videodev2.h",	"VIDIOC_QUERYCAP",	0x5600},
+	{"linux/vt.h",	"VT_OPENQRY",	0x5600},
+	{"linux/videodev2.h",	"VIDIOC_RESERVED",	0x5601},
+	{"linux/vt.h",	"VT_GETMODE",	0x5601},
+	{"linux/videodev2.h",	"VIDIOC_ENUM_FMT",	0x5602},
+	{"linux/vt.h",	"VT_SETMODE",	0x5602},
+	{"linux/vt.h",	"VT_GETSTATE",	0x5603},
+	{"linux/videodev2.h",	"VIDIOC_G_FMT",	0x5604},
+	{"linux/vt.h",	"VT_SENDSIG",	0x5604},
+	{"linux/videodev2.h",	"VIDIOC_S_FMT",	0x5605},
+	{"linux/vt.h",	"VT_RELDISP",	0x5605},
+	{"linux/videodev2.h",	"VIDIOC_G_COMP",	0x5606},
+	{"linux/vt.h",	"VT_ACTIVATE",	0x5606},
+	{"linux/videodev2.h",	"VIDIOC_S_COMP",	0x5607},
+	{"linux/vt.h",	"VT_WAITACTIVE",	0x5607},
+	{"linux/videodev2.h",	"VIDIOC_REQBUFS",	0x5608},
+	{"linux/vt.h",	"VT_DISALLOCATE",	0x5608},
+	{"linux/videodev2.h",	"VIDIOC_QUERYBUF",	0x5609},
+	{"linux/vt.h",	"VT_RESIZE",	0x5609},
+	{"linux/videodev2.h",	"VIDIOC_G_FBUF",	0x560a},
+	{"linux/vt.h",	"VT_RESIZEX",	0x560a},
+	{"linux/videodev2.h",	"VIDIOC_S_FBUF",	0x560b},
+	{"linux/vt.h",	"VT_LOCKSWITCH",	0x560b},
+	{"linux/vt.h",	"VT_UNLOCKSWITCH",	0x560c},
+	{"linux/videodev2.h",	"VIDIOC_OVERLAY",	0x560e},
+	{"linux/videodev2.h",	"VIDIOC_QBUF",	0x560f},
+	{"linux/videodev2.h",	"VIDIOC_DQBUF",	0x5611},
+	{"linux/videodev2.h",	"VIDIOC_STREAMON",	0x5612},
+	{"linux/videodev2.h",	"VIDIOC_STREAMOFF",	0x5613},
+	{"linux/videodev2.h",	"VIDIOC_G_PARM",	0x5615},
+	{"linux/videodev2.h",	"VIDIOC_S_PARM",	0x5616},
+	{"linux/videodev2.h",	"VIDIOC_G_STD",	0x5617},
+	{"linux/videodev2.h",	"VIDIOC_S_STD",	0x5618},
+	{"linux/videodev2.h",	"VIDIOC_ENUMSTD",	0x5619},
+	{"linux/videodev2.h",	"VIDIOC_ENUMINPUT",	0x561a},
+	{"linux/videodev2.h",	"VIDIOC_G_CTRL",	0x561b},
+	{"linux/videodev2.h",	"VIDIOC_S_CTRL",	0x561c},
+	{"linux/videodev2.h",	"VIDIOC_G_TUNER",	0x561d},
+	{"linux/videodev2.h",	"VIDIOC_S_TUNER",	0x561e},
+	{"linux/videodev2.h",	"VIDIOC_G_AUDIO",	0x5621},
+	{"linux/videodev2.h",	"VIDIOC_S_AUDIO",	0x5622},
+	{"linux/videodev2.h",	"VIDIOC_QUERYCTRL",	0x5624},
+	{"linux/videodev2.h",	"VIDIOC_QUERYMENU",	0x5625},
+	{"linux/videodev2.h",	"VIDIOC_G_INPUT",	0x5626},
+	{"linux/videodev2.h",	"VIDIOC_S_INPUT",	0x5627},
+	{"linux/videodev2.h",	"VIDIOC_G_OUTPUT",	0x562e},
+	{"linux/videodev2.h",	"VIDIOC_S_OUTPUT",	0x562f},
+	{"linux/videodev2.h",	"VIDIOC_ENUMOUTPUT",	0x5630},
+	{"linux/videodev2.h",	"VIDIOC_G_AUDOUT",	0x5631},
+	{"linux/videodev2.h",	"VIDIOC_S_AUDOUT",	0x5632},
+	{"linux/videodev2.h",	"VIDIOC_G_MODULATOR",	0x5636},
+	{"linux/videodev2.h",	"VIDIOC_S_MODULATOR",	0x5637},
+	{"linux/videodev2.h",	"VIDIOC_G_FREQUENCY",	0x5638},
+	{"linux/videodev2.h",	"VIDIOC_S_FREQUENCY",	0x5639},
+	{"linux/videodev2.h",	"VIDIOC_CROPCAP",	0x563a},
+	{"linux/videodev2.h",	"VIDIOC_G_CROP",	0x563b},
+	{"linux/videodev2.h",	"VIDIOC_S_CROP",	0x563c},
+	{"linux/videodev2.h",	"VIDIOC_G_JPEGCOMP",	0x563d},
+	{"linux/videodev2.h",	"VIDIOC_S_JPEGCOMP",	0x563e},
+	{"linux/videodev2.h",	"VIDIOC_QUERYSTD",	0x563f},
+	{"linux/videodev2.h",	"VIDIOC_TRY_FMT",	0x5640},
+	{"linux/watchdog.h",	"WDIOC_GETSUPPORT",	0x5700},
+	{"linux/watchdog.h",	"WDIOC_GETSTATUS",	0x5701},
+	{"linux/watchdog.h",	"WDIOC_GETBOOTSTATUS",	0x5702},
+	{"linux/watchdog.h",	"WDIOC_GETTEMP",	0x5703},
+	{"linux/watchdog.h",	"WDIOC_SETOPTIONS",	0x5704},
+	{"linux/watchdog.h",	"WDIOC_KEEPALIVE",	0x5705},
+	{"linux/watchdog.h",	"WDIOC_SETTIMEOUT",	0x5706},
+	{"linux/watchdog.h",	"WDIOC_GETTIMEOUT",	0x5707},
+	{"linux/ite_gpio.h",	"ITE_GPIO_IN",	0x5a00},
+	{"linux/ite_gpio.h",	"ITE_GPIO_OUT",	0x5a01},
+	{"linux/ite_gpio.h",	"ITE_GPIO_INT_CTRL",	0x5a02},
+	{"linux/ite_gpio.h",	"ITE_GPIO_IN_STATUS",	0x5a03},
+	{"linux/ite_gpio.h",	"ITE_GPIO_OUT_STATUS",	0x5a04},
+	{"linux/ite_gpio.h",	"ITE_GPIO_GEN_CTRL",	0x5a05},
+	{"linux/ite_gpio.h",	"ITE_GPIO_INT_WAIT",	0x5a06},
+	{"linux/sonet.h",	"SONET_GETSTAT",	0x6110},
+	{"linux/sonet.h",	"SONET_GETSTATZ",	0x6111},
+	{"linux/sonet.h",	"SONET_SETDIAG",	0x6112},
+	{"linux/sonet.h",	"SONET_CLRDIAG",	0x6113},
+	{"linux/sonet.h",	"SONET_GETDIAG",	0x6114},
+	{"linux/sonet.h",	"SONET_SETFRAMING",	0x6115},
+	{"linux/sonet.h",	"SONET_GETFRAMING",	0x6116},
+	{"linux/sonet.h",	"SONET_GETFRSENSE",	0x6117},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTAT",	0x6132},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTATZ",	0x6133},
+	{"linux/atmdev.h",	"ATM_GETSTAT",	0x6150},
+	{"linux/atmdev.h",	"ATM_GETSTATZ",	0x6151},
+	{"linux/atmdev.h",	"ATM_GETLOOP",	0x6152},
+	{"linux/atmdev.h",	"ATM_SETLOOP",	0x6153},
+	{"linux/atmdev.h",	"ATM_QUERYLOOP",	0x6154},
+	{"linux/atm_eni.h",	"ENI_MEMDUMP",	0x6160},
+	{"linux/atm_he.h",	"HE_GET_REG",	0x6160},
+	{"linux/atm_nicstar.h",	"NS_GETPSTAT",	0x6161},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOL",	0x6161},
+	{"linux/atm_nicstar.h",	"NS_SETBUFLEV",	0x6162},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOLZ",	0x6162},
+	{"linux/atm_nicstar.h",	"NS_ADJBUFLEV",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_SETPOOL",	0x6163},
+	{"linux/atm_eni.h",	"ENI_SETMULT",	0x6167},
+	{"linux/atm_tcp.h",	"SIOCSIFATMTCP",	0x6180},
+	{"linux/atmdev.h",	"ATM_GETLINKRATE",	0x6181},
+	{"linux/atmdev.h",	"ATM_GETNAMES",	0x6183},
+	{"linux/atmdev.h",	"ATM_GETTYPE",	0x6184},
+	{"linux/atmdev.h",	"ATM_GETESI",	0x6185},
+	{"linux/atmdev.h",	"ATM_GETADDR",	0x6186},
+	{"linux/atmdev.h",	"ATM_RSTADDR",	0x6187},
+	{"linux/atmdev.h",	"ATM_ADDADDR",	0x6188},
+	{"linux/atmdev.h",	"ATM_DELADDR",	0x6189},
+	{"linux/atmdev.h",	"ATM_GETCIRANGE",	0x618a},
+	{"linux/atmdev.h",	"ATM_SETCIRANGE",	0x618b},
+	{"linux/atmdev.h",	"ATM_SETESI",	0x618c},
+	{"linux/atmdev.h",	"ATM_SETESIF",	0x618d},
+	{"linux/atm_tcp.h",	"ATMTCP_CREATE",	0x618e},
+	{"linux/atm_tcp.h",	"ATMTCP_REMOVE",	0x618f},
+	{"linux/atmbr2684.h",	"BR2684_SETFILT",	0x6190},
+	{"linux/atmlec.h",	"ATMLEC_CTRL",	0x61d0},
+	{"linux/atmlec.h",	"ATMLEC_DATA",	0x61d1},
+	{"linux/atmlec.h",	"ATMLEC_MCAST",	0x61d2},
+	{"linux/atmmpc.h",	"ATMMPC_CTRL",	0x61d8},
+	{"linux/atmmpc.h",	"ATMMPC_DATA",	0x61d9},
+	{"linux/atmclip.h",	"SIOCMKCLIP",	0x61e0},
+	{"linux/atmarp.h",	"ATMARPD_CTRL",	0x61e1},
+	{"linux/atmarp.h",	"ATMARP_MKIP",	0x61e2},
+	{"linux/atmarp.h",	"ATMARP_SETENTRY",	0x61e3},
+	{"linux/atmarp.h",	"ATMARP_ENCAP",	0x61e5},
+	{"linux/atmsvc.h",	"ATMSIGD_CTRL",	0x61f0},
+	{"linux/atmdev.h",	"ATM_SETSC",	0x61f1},
+	{"linux/atmdev.h",	"ATM_SETBACKEND",	0x61f2},
+	{"linux/atmdev.h",	"ATM_NEWBACKENDIF",	0x61f3},
+	{"linux/coda.h",	"CIOC_KERNEL_VERSION",	0x630a},
+	{"linux/comstats.h",	"COM_GETPORTSTATS",	0x631e},
+	{"linux/comstats.h",	"COM_CLRPORTSTATS",	0x631f},
+	{"linux/comstats.h",	"COM_GETBRDSTATS",	0x6320},
+	{"linux/comstats.h",	"COM_READPORT",	0x6328},
+	{"linux/comstats.h",	"COM_READBOARD",	0x6329},
+	{"linux/comstats.h",	"COM_READPANEL",	0x632a},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_GET_PROTO_REV",	0x6400},
+	{"linux/video_decoder.h",	"DECODER_GET_CAPABILITIES",	0x6401},
+	{"linux/video_decoder.h",	"DECODER_GET_STATUS",	0x6402},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_SET_EVENT_MASK",	0x6402},
+	{"linux/video_decoder.h",	"DECODER_SET_NORM",	0x6403},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_RELEASE_EVENT_QUEUE",	0x6403},
+	{"linux/video_decoder.h",	"DECODER_SET_INPUT",	0x6404},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_SET_DEBUG_MASK",	0x6404},
+	{"linux/video_decoder.h",	"DECODER_SET_OUTPUT",	0x6405},
+	{"linux/video_decoder.h",	"DECODER_ENABLE_OUTPUT",	0x6406},
+	{"linux/video_decoder.h",	"DECODER_SET_PICTURE",	0x6407},
+	{"linux/video_decoder.h",	"DECODER_DUMP",	0x64c0},
+	{"linux/video_encoder.h",	"ENCODER_GET_CAPABILITIES",	0x6501},
+	{"linux/video_encoder.h",	"ENCODER_SET_NORM",	0x6502},
+	{"linux/video_encoder.h",	"ENCODER_SET_INPUT",	0x6503},
+	{"linux/video_encoder.h",	"ENCODER_SET_OUTPUT",	0x6504},
+	{"linux/video_encoder.h",	"ENCODER_ENABLE_OUTPUT",	0x6505},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETFLAGS",	0x6601},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETFLAGS",	0x6601},
+	{"asm/ioctls.h",	"FIOCLEX",	0x6601},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETFLAGS",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETFLAGS",	0x6602},
+	{"asm/ioctls.h",	"FIONCLEX",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION",	0x6603},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION",	0x6604},
+	{"linux/ext3_fs.h",	"EXT3_IOC_WAIT_FOR_READONLY",	0x6663},
+	{"asm/sockios.h",	"FIOGETOWN",	0x667b},
+	{"asm/sockios.h",	"FIOSETOWN",	0x667c},
+	{"asm/ioctls.h",	"FIOASYNC",	0x667d},
+	{"asm/ioctls.h",	"FIONBIO",	0x667e},
+	{"asm/ioctls.h",	"FIONREAD",	0x667f},
+	{"asm/ioctls.h",	"FIOQSIZE",	0x6680},
+	{"linux/usb_gadgetfs.h",	"GADGETFS_FIFO_STATUS",	0x6701},
+	{"linux/usb_gadgetfs.h",	"GADGETFS_FIFO_FLUSH",	0x6702},
+	{"linux/usb_gadgetfs.h",	"GADGETFS_CLEAR_HALT",	0x6703},
+	{"linux/i2o-dev.h",	"I2OGETIOPS",	0x6900},
+	{"linux/i2o-dev.h",	"I2OHRTGET",	0x6901},
+	{"linux/i2o-dev.h",	"I2OLCTGET",	0x6902},
+	{"linux/i2o-dev.h",	"I2OPARMSET",	0x6903},
+	{"linux/i2o-dev.h",	"I2OPARMGET",	0x6904},
+	{"linux/i2o-dev.h",	"I2OSWDL",	0x6905},
+	{"linux/i2o-dev.h",	"I2OSWUL",	0x6906},
+	{"linux/i2o-dev.h",	"I2OSWDEL",	0x6907},
+	{"linux/i2o-dev.h",	"I2OVALIDATE",	0x6908},
+	{"linux/i2o-dev.h",	"I2OHTML",	0x6909},
+	{"linux/i2o-dev.h",	"I2OEVTREG",	0x690a},
+	{"linux/i2o-dev.h",	"I2OEVTGET",	0x690b},
+	{"linux/ipmi.h",	"IPMICTL_RECEIVE_MSG_TRUNC",	0x690b},
+	{"linux/ipmi.h",	"IPMICTL_RECEIVE_MSG",	0x690c},
+	{"linux/ipmi.h",	"IPMICTL_SEND_COMMAND",	0x690d},
+	{"linux/ipmi.h",	"IPMICTL_REGISTER_FOR_CMD",	0x690e},
+	{"linux/ipmi.h",	"IPMICTL_UNREGISTER_FOR_CMD",	0x690f},
+	{"linux/ipmi.h",	"IPMICTL_SET_GETS_EVENTS_CMD",	0x6910},
+	{"linux/ipmi.h",	"IPMICTL_SET_MY_ADDRESS_CMD",	0x6911},
+	{"linux/ipmi.h",	"IPMICTL_GET_MY_ADDRESS_CMD",	0x6912},
+	{"linux/ipmi.h",	"IPMICTL_SET_MY_LUN_CMD",	0x6913},
+	{"linux/ipmi.h",	"IPMICTL_GET_MY_LUN_CMD",	0x6914},
+	{"linux/i8k.h",	"I8K_BIOS_VERSION",	0x6980},
+	{"linux/i8k.h",	"I8K_MACHINE_ID",	0x6981},
+	{"linux/i8k.h",	"I8K_POWER_STATUS",	0x6982},
+	{"linux/i8k.h",	"I8K_FN_STATUS",	0x6983},
+	{"linux/i8k.h",	"I8K_GET_TEMP",	0x6984},
+	{"linux/i8k.h",	"I8K_GET_SPEED",	0x6985},
+	{"linux/i8k.h",	"I8K_GET_FAN",	0x6986},
+	{"linux/i8k.h",	"I8K_SET_FAN",	0x6987},
+	{"linux/joystick.h",	"JSIOCGVERSION",	0x6a01},
+	{"linux/joystick.h",	"JSIOCGAXES",	0x6a11},
+	{"linux/joystick.h",	"JSIOCGBUTTONS",	0x6a12},
+	{"linux/joystick.h",	"JSIOCSCORR",	0x6a21},
+	{"linux/joystick.h",	"JSIOCGCORR",	0x6a22},
+	{"linux/joystick.h",	"JSIOCSAXMAP",	0x6a31},
+	{"linux/joystick.h",	"JSIOCGAXMAP",	0x6a32},
+	{"linux/joystick.h",	"JSIOCSBTNMAP",	0x6a33},
+	{"linux/joystick.h",	"JSIOCGBTNMAP",	0x6a34},
+	{"linux/udf_fs_i.h",	"UDF_GETEASIZE",	0x6c40},
+	{"linux/udf_fs_i.h",	"UDF_GETEABLOCK",	0x6c41},
+	{"linux/udf_fs_i.h",	"UDF_GETVOLIDENT",	0x6c42},
+	{"linux/udf_fs_i.h",	"UDF_RELOCATE_BLOCKS",	0x6c43},
+	{"linux/synclink.h",	"MGSL_IOCSPARAMS",	0x6d00},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_PRETIME",	0x6d00},
+	{"linux/synclink.h",	"MGSL_IOCGPARAMS",	0x6d01},
+	{"linux/mtio.h",	"MTIOCTOP",	0x6d01},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUMODE",	0x6d01},
+	{"linux/synclink.h",	"MGSL_IOCSTXIDLE",	0x6d02},
+	{"linux/mtio.h",	"MTIOCGET",	0x6d02},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUCMD",	0x6d02},
+	{"linux/synclink.h",	"MGSL_IOCGTXIDLE",	0x6d03},
+	{"linux/mtio.h",	"MTIOCPOS",	0x6d03},
+	{"linux/synclink.h",	"MGSL_IOCTXENABLE",	0x6d04},
+	{"linux/mtio.h",	"MTIOCGETCONFIG",	0x6d04},
+	{"linux/synclink.h",	"MGSL_IOCRXENABLE",	0x6d05},
+	{"linux/mtio.h",	"MTIOCSETCONFIG",	0x6d05},
+	{"linux/synclink.h",	"MGSL_IOCTXABORT",	0x6d06},
+	{"linux/mtio.h",	"MTIOCRDFTSEG",	0x6d06},
+	{"linux/synclink.h",	"MGSL_IOCGSTATS",	0x6d07},
+	{"linux/mtio.h",	"MTIOCWRFTSEG",	0x6d07},
+	{"linux/synclink.h",	"MGSL_IOCWAITEVENT",	0x6d08},
+	{"linux/mtio.h",	"MTIOCVOLINFO",	0x6d08},
+	{"linux/synclink.h",	"MGSL_IOCLOOPTXDONE",	0x6d09},
+	{"linux/mtio.h",	"MTIOCGETSIZE",	0x6d09},
+	{"linux/synclink.h",	"MGSL_IOCSIF",	0x6d0a},
+	{"linux/mtio.h",	"MTIOCFTFORMAT",	0x6d0a},
+	{"linux/synclink.h",	"MGSL_IOCGIF",	0x6d0b},
+	{"linux/mtio.h",	"MTIOCFTCMD",	0x6d0b},
+	{"linux/synclink.h",	"MGSL_IOCCLRMODCOUNT",	0x6d0f},
+	{"linux/zftape.h",	"MTIOC_ZFTAPE_GETBLKSZ",	0x6d68},
+	{"linux/ncp_fs.h",	"NCP_IOC_NCPREQUEST",	0x6e01},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID2",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_CONN_LOGGED_IN",	0x6e03},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO_V2",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_INIT",	0x6e05},
+	{"linux/ncp_fs.h",	"NCP_IOC_SET_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_LOCKUNLOCK",	0x6e07},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETDENTRYTTL",	0x6e0c},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETDENTRYTTL",	0x6e0c},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_GET_AVAILABLE_OUTPUTS",	0x6ef9},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_GET_ALL_OUTPUTS",	0x6efb},
+	{"linux/rtc.h",	"RTC_AIE_ON",	0x7001},
+	{"linux/rtc.h",	"RTC_AIE_OFF",	0x7002},
+	{"linux/rtc.h",	"RTC_UIE_ON",	0x7003},
+	{"linux/rtc.h",	"RTC_UIE_OFF",	0x7004},
+	{"linux/rtc.h",	"RTC_PIE_ON",	0x7005},
+	{"linux/rtc.h",	"RTC_PIE_OFF",	0x7006},
+	{"linux/rtc.h",	"RTC_ALM_SET",	0x7007},
+	{"linux/rtc.h",	"RTC_ALM_READ",	0x7008},
+	{"linux/rtc.h",	"RTC_RD_TIME",	0x7009},
+	{"linux/rtc.h",	"RTC_SET_TIME",	0x700a},
+	{"linux/rtc.h",	"RTC_IRQP_READ",	0x700b},
+	{"linux/rtc.h",	"RTC_IRQP_SET",	0x700c},
+	{"linux/rtc.h",	"RTC_EPOCH_READ",	0x700d},
+	{"linux/rtc.h",	"RTC_EPOCH_SET",	0x700e},
+	{"linux/rtc.h",	"RTC_WIE_ON",	0x700f},
+	{"linux/rtc.h",	"RTC_WKALM_SET",	0x700f},
+	{"linux/rtc.h",	"RTC_WIE_OFF",	0x7010},
+	{"linux/rtc.h",	"RTC_WKALM_RD",	0x7010},
+	{"linux/rtc.h",	"RTC_PLL_GET",	0x7011},
+	{"linux/rtc.h",	"RTC_PLL_SET",	0x7012},
+	{"linux/nvram.h",	"NVRAM_INIT",	0x7040},
+	{"asm/nvram.h",	"PMAC_NVRAM_GET_OFFSET",	0x7040},
+	{"linux/nvram.h",	"NVRAM_SETCKS",	0x7041},
+	{"linux/ppdev.h",	"PPSETMODE",	0x7080},
+	{"linux/ppdev.h",	"PPRSTATUS",	0x7081},
+	{"linux/ppdev.h",	"PPRCONTROL",	0x7083},
+	{"linux/ppdev.h",	"PPWCONTROL",	0x7084},
+	{"linux/ppdev.h",	"PPRDATA",	0x7085},
+	{"linux/ppdev.h",	"PPWDATA",	0x7086},
+	{"linux/ppdev.h",	"PPCLAIM",	0x708b},
+	{"linux/ppdev.h",	"PPRELEASE",	0x708c},
+	{"linux/ppdev.h",	"PPYIELD",	0x708d},
+	{"linux/ppdev.h",	"PPFCONTROL",	0x708e},
+	{"linux/ppdev.h",	"PPEXCL",	0x708f},
+	{"linux/ppdev.h",	"PPDATADIR",	0x7090},
+	{"linux/ppdev.h",	"PPNEGOT",	0x7091},
+	{"linux/ppdev.h",	"PPWCTLONIRQ",	0x7092},
+	{"linux/ppdev.h",	"PPCLRIRQ",	0x7093},
+	{"linux/ppdev.h",	"PPSETPHASE",	0x7094},
+	{"linux/ppdev.h",	"PPGETTIME",	0x7095},
+	{"linux/ppdev.h",	"PPSETTIME",	0x7096},
+	{"linux/ppdev.h",	"PPGETMODES",	0x7097},
+	{"linux/ppdev.h",	"PPGETMODE",	0x7098},
+	{"linux/ppdev.h",	"PPGETPHASE",	0x7099},
+	{"linux/ppdev.h",	"PPGETFLAGS",	0x709a},
+	{"linux/ppdev.h",	"PPSETFLAGS",	0x709b},
+	{"linux/ticable.h",	"IOCTL_TISER_DELAY",	0x70a0},
+	{"linux/ticable.h",	"IOCTL_TISER_TIMEOUT",	0x70a1},
+	{"linux/ticable.h",	"IOCTL_TIPAR_DELAY",	0x70a8},
+	{"linux/ticable.h",	"IOCTL_TIPAR_TIMEOUT",	0x70a9},
+	{"linux/serio.h",	"SPIOCSTYPE",	0x7101},
+	{"linux/videotext.h",	"VTXIOCGETINFO",	0x7101},
+	{"linux/videotext.h",	"VTXIOCCLRPAGE",	0x7102},
+	{"linux/videotext.h",	"VTXIOCCLRFOUND",	0x7103},
+	{"linux/videotext.h",	"VTXIOCPAGEREQ",	0x7104},
+	{"linux/videotext.h",	"VTXIOCGETSTAT",	0x7105},
+	{"linux/videotext.h",	"VTXIOCGETPAGE",	0x7106},
+	{"linux/videotext.h",	"VTXIOCSTOPDAU",	0x7107},
+	{"linux/videotext.h",	"VTXIOCPUTPAGE",	0x7108},
+	{"linux/videotext.h",	"VTXIOCSETDISP",	0x7109},
+	{"linux/videotext.h",	"VTXIOCPUTSTAT",	0x710a},
+	{"linux/videotext.h",	"VTXIOCCLRCACHE",	0x710b},
+	{"linux/videotext.h",	"VTXIOCSETVIRT",	0x710c},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES",	0x7180},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_LIST",	0x7181},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_CHECK",	0x7182},
+	{"linux/telephony.h",	"PHONE_RING",	0x7183},
+	{"linux/telephony.h",	"PHONE_HOOKSTATE",	0x7184},
+	{"linux/telephony.h",	"PHONE_MAXRINGS",	0x7185},
+	{"linux/telephony.h",	"PHONE_RING_CADENCE",	0x7186},
+	{"linux/telephony.h",	"OLD_PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_STOP",	0x7188},
+	{"linux/telephony.h",	"PHONE_REC_CODEC",	0x7189},
+	{"linux/telephony.h",	"PHONE_REC_START",	0x718a},
+	{"linux/telephony.h",	"PHONE_REC_STOP",	0x718b},
+	{"linux/telephony.h",	"PHONE_REC_DEPTH",	0x718c},
+	{"linux/telephony.h",	"PHONE_FRAME",	0x718d},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME",	0x718e},
+	{"linux/telephony.h",	"PHONE_REC_LEVEL",	0x718f},
+	{"linux/telephony.h",	"PHONE_PLAY_CODEC",	0x7190},
+	{"linux/telephony.h",	"PHONE_PLAY_START",	0x7191},
+	{"linux/telephony.h",	"PHONE_PLAY_STOP",	0x7192},
+	{"linux/telephony.h",	"PHONE_PLAY_DEPTH",	0x7193},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME",	0x7194},
+	{"linux/telephony.h",	"PHONE_PLAY_LEVEL",	0x7195},
+	{"linux/telephony.h",	"PHONE_DTMF_READY",	0x7196},
+	{"linux/telephony.h",	"PHONE_GET_DTMF",	0x7197},
+	{"linux/telephony.h",	"PHONE_GET_DTMF_ASCII",	0x7198},
+	{"linux/telephony.h",	"PHONE_DTMF_OOB",	0x7199},
+	{"linux/telephony.h",	"PHONE_EXCEPTION",	0x719a},
+	{"linux/telephony.h",	"PHONE_PLAY_TONE",	0x719b},
+	{"linux/telephony.h",	"PHONE_SET_TONE_ON_TIME",	0x719c},
+	{"linux/telephony.h",	"PHONE_SET_TONE_OFF_TIME",	0x719d},
+	{"linux/telephony.h",	"PHONE_GET_TONE_ON_TIME",	0x719e},
+	{"linux/telephony.h",	"PHONE_GET_TONE_OFF_TIME",	0x719f},
+	{"linux/telephony.h",	"PHONE_GET_TONE_STATE",	0x71a0},
+	{"linux/telephony.h",	"PHONE_BUSY",	0x71a1},
+	{"linux/telephony.h",	"PHONE_RINGBACK",	0x71a2},
+	{"linux/telephony.h",	"PHONE_DIALTONE",	0x71a3},
+	{"linux/telephony.h",	"PHONE_CPT_STOP",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_SET_STATE",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_GET_STATE",	0x71a5},
+	{"linux/telephony.h",	"PHONE_WINK_DURATION",	0x71a6},
+	{"linux/telephony.h",	"PHONE_QUERY_CODEC",	0x71a7},
+	{"linux/telephony.h",	"PHONE_PSTN_LINETEST",	0x71a8},
+	{"linux/telephony.h",	"PHONE_VAD",	0x71a9},
+	{"linux/telephony.h",	"PHONE_WINK",	0x71aa},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_RESET",	0x71c0},
+	{"linux/ixjuser.h",	"IXJCTL_CARDTYPE",	0x71c1},
+	{"linux/ixjuser.h",	"IXJCTL_SERIAL",	0x71c2},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_TYPE",	0x71c3},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_VERSION",	0x71c4},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_IDLE",	0x71c5},
+	{"linux/ixjuser.h",	"IXJCTL_TESTRAM",	0x71c6},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER",	0x71c7},
+	{"linux/ixjuser.h",	"IXJCTL_GET_FILTER_HIST",	0x71c8},
+	{"linux/ixjuser.h",	"IXJCTL_INIT_TONE",	0x71c9},
+	{"linux/ixjuser.h",	"IXJCTL_TONE_CADENCE",	0x71ca},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_START",	0x71cb},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_STOP",	0x71cc},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_GET_LEVEL",	0x71cd},
+	{"linux/ixjuser.h",	"IXJCTL_SET_LED",	0x71ce},
+	{"linux/ixjuser.h",	"IXJCTL_MIXER",	0x71cf},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_COEFF_SET",	0x71d0},
+	{"linux/ixjuser.h",	"IXJCTL_PORT",	0x71d1},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_AGAIN",	0x71d2},
+	{"linux/ixjuser.h",	"IXJCTL_PSTN_LINETEST",	0x71d3},
+	{"linux/ixjuser.h",	"IXJCTL_CID",	0x71d4},
+	{"linux/ixjuser.h",	"IXJCTL_POTS_PSTN",	0x71d5},
+	{"linux/ixjuser.h",	"IXJCTL_FILTER_CADENCE",	0x71d6},
+	{"linux/ixjuser.h",	"IXJCTL_PLAY_CID",	0x71d7},
+	{"linux/ixjuser.h",	"IXJCTL_VMWI",	0x71d8},
+	{"linux/ixjuser.h",	"IXJCTL_CIDCW",	0x71d9},
+	{"linux/ixjuser.h",	"IXJCTL_VERSION",	0x71da},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME_LINEAR",	0x71db},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME_LINEAR",	0x71dc},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER_RAW",	0x71dd},
+	{"linux/ixjuser.h",	"IXJCTL_HZ",	0x71e0},
+	{"linux/ixjuser.h",	"IXJCTL_RATE",	0x71e1},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_READ",	0x71e2},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_WRITTEN",	0x71e3},
+	{"linux/ixjuser.h",	"IXJCTL_READ_WAIT",	0x71e4},
+	{"linux/ixjuser.h",	"IXJCTL_WRITE_WAIT",	0x71e5},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_READ",	0x71e6},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_CLEAR",	0x71e7},
+	{"linux/ixjuser.h",	"IXJCTL_DTMF_PRESCALE",	0x71e8},
+	{"linux/ixjuser.h",	"IXJCTL_SIGCTL",	0x71e9},
+	{"linux/ixjuser.h",	"IXJCTL_SC_RXG",	0x71ea},
+	{"linux/ixjuser.h",	"IXJCTL_SC_TXG",	0x71eb},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_START",	0x71fd},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_STOP",	0x71fe},
+	{"linux/videotext.h",	"TUNIOCGETINFO",	0x7201},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_BOTH",	0x7201},
+	{"linux/videotext.h",	"TUNIOCRESET",	0x7202},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_SHORT",	0x7202},
+	{"linux/videotext.h",	"TUNIOCSETFREQ",	0x7203},
+	{"linux/videotext.h",	"TUNIOCGETFREQ",	0x7204},
+	{"linux/videotext.h",	"TUNIOCSETCHAN",	0x7205},
+	{"linux/videotext.h",	"TUNIOCGETCHAN",	0x7206},
+	{"asm/sockios.h",	"SIOCATMARK",	0x7307},
+	{"asm/sockios.h",	"SIOCSPGRP",	0x7308},
+	{"asm/sockios.h",	"SIOCGPGRP",	0x7309},
+	{"linux/cdk.h",	"STL_BINTR",	0x7314},
+	{"linux/cdk.h",	"STL_BSTART",	0x7315},
+	{"linux/cdk.h",	"STL_BSTOP",	0x7316},
+	{"linux/cdk.h",	"STL_BRESET",	0x7317},
+	{"linux/cdk.h",	"STL_GETPFLAG",	0x7350},
+	{"linux/cdk.h",	"STL_SETPFLAG",	0x7351},
+	{"asm/ioctls.h",	"TIOCGETP",	0x7408},
+	{"asm/ioctls.h",	"TIOCSETP",	0x7409},
+	{"asm/ioctls.h",	"TIOCSETN",	0x740a},
+	{"asm/ioctls.h",	"TIOCSETC",	0x7411},
+	{"asm/ioctls.h",	"TIOCGETC",	0x7412},
+	{"asm/ioctls.h",	"TCGETS",	0x7413},
+	{"asm/ioctls.h",	"TCSETS",	0x7414},
+	{"asm/ioctls.h",	"TCSETSW",	0x7415},
+	{"asm/ioctls.h",	"TCSETSF",	0x7416},
+	{"asm/ioctls.h",	"TCGETA",	0x7417},
+	{"asm/ioctls.h",	"TCSETA",	0x7418},
+	{"asm/ioctls.h",	"TCSETAW",	0x7419},
+	{"asm/ioctls.h",	"TCSETAF",	0x741c},
+	{"asm/ioctls.h",	"TCSBRK",	0x741d},
+	{"asm/ioctls.h",	"TCXONC",	0x741e},
+	{"asm/ioctls.h",	"TCFLSH",	0x741f},
+	{"linux/if_ppp.h",	"PPPIOCGCHAN",	0x7437},
+	{"linux/if_ppp.h",	"PPPIOCATTCHAN",	0x7438},
+	{"linux/if_ppp.h",	"PPPIOCDISCONN",	0x7439},
+	{"linux/if_ppp.h",	"PPPIOCCONNECT",	0x743a},
+	{"linux/if_ppp.h",	"PPPIOCSMRRU",	0x743b},
+	{"linux/if_ppp.h",	"PPPIOCDETACH",	0x743c},
+	{"linux/if_ppp.h",	"PPPIOCATTACH",	0x743d},
+	{"linux/if_ppp.h",	"PPPIOCNEWUNIT",	0x743e},
+	{"linux/if_ppp.h",	"PPPIOCGIDLE",	0x743f},
+	{"linux/if_ppp.h",	"PPPIOCSDEBUG",	0x7440},
+	{"linux/if_ppp.h",	"PPPIOCGDEBUG",	0x7441},
+	{"linux/if_ppp.h",	"PPPIOCSACTIVE",	0x7446},
+	{"linux/if_ppp.h",	"PPPIOCSPASS",	0x7447},
+	{"linux/if_ppp.h",	"PPPIOCSNPMODE",	0x744b},
+	{"linux/if_ppp.h",	"PPPIOCGNPMODE",	0x744c},
+	{"linux/if_ppp.h",	"PPPIOCSCOMPRESS",	0x744d},
+	{"linux/if_ppp.h",	"PPPIOCXFERUNIT",	0x744e},
+	{"linux/if_ppp.h",	"PPPIOCSXASYNCMAP",	0x744f},
+	{"linux/if_ppp.h",	"PPPIOCGXASYNCMAP",	0x7450},
+	{"linux/if_ppp.h",	"PPPIOCSMAXCID",	0x7451},
+	{"linux/if_ppp.h",	"PPPIOCSMRU",	0x7452},
+	{"linux/if_ppp.h",	"PPPIOCGMRU",	0x7453},
+	{"linux/if_ppp.h",	"PPPIOCSRASYNCMAP",	0x7454},
+	{"linux/if_ppp.h",	"PPPIOCGRASYNCMAP",	0x7455},
+	{"linux/if_ppp.h",	"PPPIOCGUNIT",	0x7456},
+	{"linux/if_ppp.h",	"PPPIOCSASYNCMAP",	0x7457},
+	{"linux/if_ppp.h",	"PPPIOCGASYNCMAP",	0x7458},
+	{"linux/if_ppp.h",	"PPPIOCSFLAGS",	0x7459},
+	{"linux/jffs.h",	"JFFS_PRINT_HASH",	0x745a},
+	{"linux/if_ppp.h",	"PPPIOCGFLAGS",	0x745a},
+	{"linux/jffs.h",	"JFFS_PRINT_TREE",	0x745b},
+	{"linux/jffs.h",	"JFFS_GET_STATUS",	0x745c},
+	{"asm/ioctls.h",	"TIOCSWINSZ",	0x7467},
+	{"asm/ioctls.h",	"TIOCGWINSZ",	0x7468},
+	{"asm/ioctls.h",	"TIOCSTART",	0x746e},
+	{"asm/ioctls.h",	"TIOCSTOP",	0x746f},
+	{"asm/ioctls.h",	"TIOCOUTQ",	0x7473},
+	{"asm/ioctls.h",	"TIOCGLTC",	0x7474},
+	{"asm/ioctls.h",	"TIOCSLTC",	0x7475},
+	{"asm/ioctls.h",	"TIOCSPGRP",	0x7476},
+	{"asm/ioctls.h",	"TIOCGPGRP",	0x7477},
+	{"linux/isdn_ppp.h",	"PPPIOCGCALLINFO",	0x7480},
+	{"linux/isdn_ppp.h",	"PPPIOCBUNDLE",	0x7481},
+	{"linux/isdn_ppp.h",	"PPPIOCGMPFLAGS",	0x7482},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPFLAGS",	0x7483},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMTU",	0x7484},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMRU",	0x7485},
+	{"linux/isdn_ppp.h",	"PPPIOCGCOMPRESSORS",	0x7486},
+	{"linux/isdn_ppp.h",	"PPPIOCSCOMPRESSOR",	0x7487},
+	{"linux/isdn_ppp.h",	"PPPIOCGIFNAME",	0x7488},
+	{"linux/toshiba.h",	"TOSH_SMM",	0x7490},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID",	0x7501},
+	{"linux/smb_fs.h",	"SMB_IOC_NEWCONN",	0x7502},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID32",	0x7503},
+	{"linux/sonypi.h",	"SONYPI_IOCGBRT",	0x7600},
+	{"linux/sonypi.h",	"SONYPI_IOCSBRT",	0x7600},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETVERSION",	0x7601},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION_OLD",	0x7601},
+	{"linux/videodev.h",	"VIDIOCGCAP",	0x7601},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETVERSION",	0x7602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION_OLD",	0x7602},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT1CAP",	0x7602},
+	{"linux/videodev.h",	"VIDIOCGCHAN",	0x7602},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT1REM",	0x7603},
+	{"linux/videodev.h",	"VIDIOCSCHAN",	0x7603},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT2CAP",	0x7604},
+	{"linux/videodev.h",	"VIDIOCGTUNER",	0x7604},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT2REM",	0x7605},
+	{"linux/videodev.h",	"VIDIOCSTUNER",	0x7605},
+	{"linux/videodev.h",	"VIDIOCGPICT",	0x7606},
+	{"linux/sonypi.h",	"SONYPI_IOCGBATFLAGS",	0x7607},
+	{"linux/videodev.h",	"VIDIOCSPICT",	0x7607},
+	{"linux/sonypi.h",	"SONYPI_IOCGBLUE",	0x7608},
+	{"linux/videodev.h",	"VIDIOCCAPTURE",	0x7608},
+	{"linux/sonypi.h",	"SONYPI_IOCSBLUE",	0x7609},
+	{"linux/videodev.h",	"VIDIOCGWIN",	0x7609},
+	{"linux/videodev.h",	"VIDIOCSWIN",	0x760a},
+	{"linux/videodev.h",	"VIDIOCGFBUF",	0x760b},
+	{"linux/videodev.h",	"VIDIOCSFBUF",	0x760c},
+	{"linux/videodev.h",	"VIDIOCKEY",	0x760d},
+	{"linux/videodev.h",	"VIDIOCGFREQ",	0x760e},
+	{"linux/videodev.h",	"VIDIOCSFREQ",	0x760f},
+	{"linux/videodev.h",	"VIDIOCGAUDIO",	0x7610},
+	{"linux/videodev.h",	"VIDIOCSAUDIO",	0x7611},
+	{"linux/videodev.h",	"VIDIOCSYNC",	0x7612},
+	{"linux/videodev.h",	"VIDIOCMCAPTURE",	0x7613},
+	{"linux/videodev.h",	"VIDIOCGMBUF",	0x7614},
+	{"linux/videodev.h",	"VIDIOCGUNIT",	0x7615},
+	{"linux/videodev.h",	"VIDIOCGCAPTURE",	0x7616},
+	{"linux/videodev.h",	"VIDIOCSCAPTURE",	0x7617},
+	{"linux/videodev.h",	"VIDIOCSPLAYMODE",	0x7618},
+	{"linux/videodev.h",	"VIDIOCSWRITEMODE",	0x7619},
+	{"linux/videodev.h",	"VIDIOCGPLAYINFO",	0x761a},
+	{"linux/videodev.h",	"VIDIOCSMICROCODE",	0x761b},
+	{"linux/videodev.h",	"VIDIOCGVBIFMT",	0x761c},
+	{"linux/videodev.h",	"VIDIOCSVBIFMT",	0x761d},
+	{"linux/meye.h",	"MEYEIOC_G_PARAMS",	0x76c0},
+	{"linux/meye.h",	"MEYEIOC_S_PARAMS",	0x76c1},
+	{"linux/meye.h",	"MEYEIOC_QBUF_CAPT",	0x76c2},
+	{"linux/meye.h",	"MEYEIOC_SYNC",	0x76c3},
+	{"linux/meye.h",	"MEYEIOC_STILLCAPT",	0x76c4},
+	{"linux/meye.h",	"MEYEIOC_STILLJCAPT",	0x76c5},
+	{"asm/sockios.h",	"FIOSETOWN",	0x8901},
+	{"asm/sockios.h",	"SIOCSPGRP",	0x8902},
+	{"asm/sockios.h",	"FIOGETOWN",	0x8903},
+	{"asm/sockios.h",	"SIOCGPGRP",	0x8904},
+	{"asm/sockios.h",	"SIOCATMARK",	0x8905},
+	{"asm/sockios.h",	"SIOCGSTAMP",	0x8906},
+	{"linux/sockios.h",	"SIOCADDRT",	0x890b},
+	{"linux/sockios.h",	"SIOCDELRT",	0x890c},
+	{"linux/sockios.h",	"SIOCRTMSG",	0x890d},
+	{"linux/sockios.h",	"SIOCGIFNAME",	0x8910},
+	{"linux/sockios.h",	"SIOCSIFLINK",	0x8911},
+	{"linux/sockios.h",	"SIOCGIFCONF",	0x8912},
+	{"linux/sockios.h",	"SIOCGIFFLAGS",	0x8913},
+	{"linux/sockios.h",	"SIOCSIFFLAGS",	0x8914},
+	{"linux/sockios.h",	"SIOCGIFADDR",	0x8915},
+	{"linux/sockios.h",	"SIOCSIFADDR",	0x8916},
+	{"linux/sockios.h",	"SIOCGIFDSTADDR",	0x8917},
+	{"linux/sockios.h",	"SIOCSIFDSTADDR",	0x8918},
+	{"linux/sockios.h",	"SIOCGIFBRDADDR",	0x8919},
+	{"linux/sockios.h",	"SIOCSIFBRDADDR",	0x891a},
+	{"linux/sockios.h",	"SIOCGIFNETMASK",	0x891b},
+	{"linux/sockios.h",	"SIOCSIFNETMASK",	0x891c},
+	{"linux/sockios.h",	"SIOCGIFMETRIC",	0x891d},
+	{"linux/sockios.h",	"SIOCSIFMETRIC",	0x891e},
+	{"linux/sockios.h",	"SIOCGIFMEM",	0x891f},
+	{"linux/sockios.h",	"SIOCSIFMEM",	0x8920},
+	{"linux/sockios.h",	"SIOCGIFMTU",	0x8921},
+	{"linux/sockios.h",	"SIOCSIFMTU",	0x8922},
+	{"linux/sockios.h",	"SIOCSIFNAME",	0x8923},
+	{"linux/sockios.h",	"SIOCSIFHWADDR",	0x8924},
+	{"linux/sockios.h",	"SIOCGIFENCAP",	0x8925},
+	{"linux/sockios.h",	"SIOCSIFENCAP",	0x8926},
+	{"linux/sockios.h",	"SIOCGIFHWADDR",	0x8927},
+	{"linux/sockios.h",	"SIOCGIFSLAVE",	0x8929},
+	{"linux/sockios.h",	"SIOCSIFSLAVE",	0x8930},
+	{"linux/sockios.h",	"SIOCADDMULTI",	0x8931},
+	{"linux/sockios.h",	"SIOCDELMULTI",	0x8932},
+	{"linux/sockios.h",	"SIOCGIFINDEX",	0x8933},
+	{"linux/sockios.h",	"SIOCSIFPFLAGS",	0x8934},
+	{"linux/sockios.h",	"SIOCGIFPFLAGS",	0x8935},
+	{"linux/sockios.h",	"SIOCDIFADDR",	0x8936},
+	{"linux/sockios.h",	"SIOCSIFHWBROADCAST",	0x8937},
+	{"linux/sockios.h",	"SIOCGIFCOUNT",	0x8938},
+	{"linux/sockios.h",	"SIOCGIFBR",	0x8940},
+	{"linux/sockios.h",	"SIOCSIFBR",	0x8941},
+	{"linux/sockios.h",	"SIOCGIFTXQLEN",	0x8942},
+	{"linux/sockios.h",	"SIOCSIFTXQLEN",	0x8943},
+	{"linux/sockios.h",	"SIOCGIFDIVERT",	0x8944},
+	{"linux/sockios.h",	"SIOCSIFDIVERT",	0x8945},
+	{"linux/sockios.h",	"SIOCETHTOOL",	0x8946},
+	{"linux/sockios.h",	"SIOCGMIIPHY",	0x8947},
+	{"linux/sockios.h",	"SIOCGMIIREG",	0x8948},
+	{"linux/sockios.h",	"SIOCSMIIREG",	0x8949},
+	{"linux/sockios.h",	"SIOCWANDEV",	0x894a},
+	{"linux/sockios.h",	"SIOCDARP",	0x8953},
+	{"linux/sockios.h",	"SIOCGARP",	0x8954},
+	{"linux/sockios.h",	"SIOCSARP",	0x8955},
+	{"linux/sockios.h",	"SIOCDRARP",	0x8960},
+	{"linux/sockios.h",	"SIOCGRARP",	0x8961},
+	{"linux/sockios.h",	"SIOCSRARP",	0x8962},
+	{"linux/sockios.h",	"SIOCGIFMAP",	0x8970},
+	{"linux/sockios.h",	"SIOCSIFMAP",	0x8971},
+	{"linux/sockios.h",	"SIOCADDDLCI",	0x8980},
+	{"linux/sockios.h",	"SIOCDELDLCI",	0x8981},
+	{"linux/sockios.h",	"SIOCGIFVLAN",	0x8982},
+	{"linux/sockios.h",	"SIOCSIFVLAN",	0x8983},
+	{"linux/sockios.h",	"SIOCBONDENSLAVE",	0x8990},
+	{"linux/sockios.h",	"SIOCBONDRELEASE",	0x8991},
+	{"linux/sockios.h",	"SIOCBONDSETHWADDR",	0x8992},
+	{"linux/sockios.h",	"SIOCBONDSLAVEINFOQUERY",	0x8993},
+	{"linux/sockios.h",	"SIOCBONDINFOQUERY",	0x8994},
+	{"linux/sockios.h",	"SIOCBONDCHANGEACTIVE",	0x8995},
+	{"linux/dn.h",	"OSIOCSNETADDR",	0x89e0},
+	{"linux/sockios.h",	"SIOCPROTOPRIVATE",	0x89e0},
+	{"linux/dn.h",	"SIOCSNETADDR",	0x89e0},
+	{"linux/dn.h",	"OSIOCGNETADDR",	0x89e1},
+	{"linux/dn.h",	"SIOCGNETADDR",	0x89e1},
+	{"linux/sockios.h",	"SIOCDEVPRIVATE",	0x89f0},
+	{"linux/wireless.h",	"SIOCIWFIRST",	0x8b00},
+	{"linux/wireless.h",	"SIOCSIWCOMMIT",	0x8b00},
+	{"linux/wireless.h",	"SIOCGIWNAME",	0x8b01},
+	{"linux/wireless.h",	"SIOCSIWNWID",	0x8b02},
+	{"linux/wireless.h",	"SIOCGIWNWID",	0x8b03},
+	{"linux/wireless.h",	"SIOCSIWFREQ",	0x8b04},
+	{"linux/wireless.h",	"SIOCGIWFREQ",	0x8b05},
+	{"linux/wireless.h",	"SIOCSIWMODE",	0x8b06},
+	{"linux/wireless.h",	"SIOCGIWMODE",	0x8b07},
+	{"linux/wireless.h",	"SIOCSIWSENS",	0x8b08},
+	{"linux/wireless.h",	"SIOCGIWSENS",	0x8b09},
+	{"linux/wireless.h",	"SIOCSIWRANGE",	0x8b0a},
+	{"linux/wireless.h",	"SIOCGIWRANGE",	0x8b0b},
+	{"linux/wireless.h",	"SIOCSIWPRIV",	0x8b0c},
+	{"linux/wireless.h",	"SIOCGIWPRIV",	0x8b0d},
+	{"linux/wireless.h",	"SIOCSIWSTATS",	0x8b0e},
+	{"linux/wireless.h",	"SIOCGIWSTATS",	0x8b0f},
+	{"linux/wireless.h",	"SIOCSIWSPY",	0x8b10},
+	{"linux/wireless.h",	"SIOCGIWSPY",	0x8b11},
+	{"linux/wireless.h",	"SIOCSIWTHRSPY",	0x8b12},
+	{"linux/wireless.h",	"SIOCGIWTHRSPY",	0x8b13},
+	{"linux/wireless.h",	"SIOCSIWAP",	0x8b14},
+	{"linux/wireless.h",	"SIOCGIWAP",	0x8b15},
+	{"linux/wireless.h",	"SIOCGIWAPLIST",	0x8b17},
+	{"linux/wireless.h",	"SIOCSIWSCAN",	0x8b18},
+	{"linux/wireless.h",	"SIOCGIWSCAN",	0x8b19},
+	{"linux/wireless.h",	"SIOCSIWESSID",	0x8b1a},
+	{"linux/wireless.h",	"SIOCGIWESSID",	0x8b1b},
+	{"linux/wireless.h",	"SIOCSIWNICKN",	0x8b1c},
+	{"linux/wireless.h",	"SIOCGIWNICKN",	0x8b1d},
+	{"linux/wireless.h",	"SIOCSIWRATE",	0x8b20},
+	{"linux/wireless.h",	"SIOCGIWRATE",	0x8b21},
+	{"linux/wireless.h",	"SIOCSIWRTS",	0x8b22},
+	{"linux/wireless.h",	"SIOCGIWRTS",	0x8b23},
+	{"linux/wireless.h",	"SIOCSIWFRAG",	0x8b24},
+	{"linux/wireless.h",	"SIOCGIWFRAG",	0x8b25},
+	{"linux/wireless.h",	"SIOCSIWTXPOW",	0x8b26},
+	{"linux/wireless.h",	"SIOCGIWTXPOW",	0x8b27},
+	{"linux/wireless.h",	"SIOCSIWRETRY",	0x8b28},
+	{"linux/wireless.h",	"SIOCGIWRETRY",	0x8b29},
+	{"linux/wireless.h",	"SIOCSIWENCODE",	0x8b2a},
+	{"linux/wireless.h",	"SIOCGIWENCODE",	0x8b2b},
+	{"linux/wireless.h",	"SIOCSIWPOWER",	0x8b2c},
+	{"linux/wireless.h",	"SIOCGIWPOWER",	0x8b2d},
+	{"linux/wireless.h",	"SIOCIWFIRSTPRIV",	0x8be0},
+	{"linux/wireless.h",	"SIOCIWLASTPRIV",	0x8bff},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_READY",	0x9360},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_FAIL",	0x9361},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_CATATONIC",	0x9362},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_PROTOVER",	0x9363},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_SETTIMEOUT",	0x9364},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_EXPIRE",	0x9365},
+	{"linux/auto_fs4.h",	"AUTOFS_IOC_EXPIRE_MULTI",	0x9366},
+	{"linux/nbd.h",	"NBD_SET_SOCK",	0xab00},
+	{"linux/nbd.h",	"NBD_SET_BLKSIZE",	0xab01},
+	{"linux/nbd.h",	"NBD_SET_SIZE",	0xab02},
+	{"linux/nbd.h",	"NBD_DO_IT",	0xab03},
+	{"linux/nbd.h",	"NBD_CLEAR_SOCK",	0xab04},
+	{"linux/nbd.h",	"NBD_CLEAR_QUE",	0xab05},
+	{"linux/nbd.h",	"NBD_PRINT_DEBUG",	0xab06},
+	{"linux/nbd.h",	"NBD_SET_SIZE_BLOCKS",	0xab07},
+	{"linux/nbd.h",	"NBD_DISCONNECT",	0xab08},
+	{"linux/raw.h",	"RAW_SETBIND",	0xac00},
+	{"linux/raw.h",	"RAW_GETBIND",	0xac01},
+	{"linux/if_pppox.h",	"PPPOEIOCSFWD",	0xb100},
+	{"linux/if_pppox.h",	"PPPOEIOCDFWD",	0xb101},
+	{"linux/reiserfs_fs.h",	"REISERFS_IOC_UNPACK",	0xcd01},
+	{"linux/dm-ioctl-v4.h",	"DM_VERSION",	0xfd00},
+	{"linux/dm-ioctl-v4.h",	"DM_REMOVE_ALL",	0xfd01},
+	{"linux/dm-ioctl-v4.h",	"DM_LIST_DEVICES",	0xfd02},
+	{"linux/dm-ioctl-v4.h",	"DM_DEV_CREATE",	0xfd03},
+	{"linux/dm-ioctl-v4.h",	"DM_DEV_REMOVE",	0xfd04},
+	{"linux/dm-ioctl-v4.h",	"DM_DEV_RENAME",	0xfd05},
+	{"linux/dm-ioctl-v4.h",	"DM_DEV_SUSPEND",	0xfd06},
+	{"linux/dm-ioctl-v4.h",	"DM_DEV_STATUS",	0xfd07},
+	{"linux/dm-ioctl-v4.h",	"DM_DEV_WAIT",	0xfd08},
+	{"linux/dm-ioctl-v4.h",	"DM_TABLE_LOAD",	0xfd09},
+	{"linux/dm-ioctl-v4.h",	"DM_TABLE_CLEAR",	0xfd0a},
+	{"linux/dm-ioctl-v4.h",	"DM_TABLE_DEPS",	0xfd0b},
+	{"linux/dm-ioctl-v4.h",	"DM_TABLE_STATUS",	0xfd0c},
diff --git a/strace-4.5.20/linux/powerpc/syscallent.h b/strace-4.5.20/linux/powerpc/syscallent.h
new file mode 100644
index 0000000..9de2af6
--- /dev/null
+++ b/strace-4.5.20/linux/powerpc/syscallent.h
@@ -0,0 +1,488 @@
+/*
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+	{ 0,	0,	sys_restart_syscall,	"restart_syscall"	}, /* 0 */
+	{ 1,	TP,	sys_exit,		"exit"			}, /* 1 */
+	{ 0,	TP,	sys_fork,		"fork"			}, /* 2 */
+	{ 3,	TD,	sys_read,		"read"			}, /* 3 */
+	{ 3,	TD,	sys_write,		"write"			}, /* 4 */
+	{ 3,	TD|TF,	sys_open,		"open"			}, /* 5 */
+	{ 1,	TD,	sys_close,		"close"			}, /* 6 */
+	{ 3,	TP,	sys_waitpid,		"waitpid"		}, /* 7 */
+	{ 2,	TD|TF,	sys_creat,		"creat"			}, /* 8 */
+	{ 2,	TF,	sys_link,		"link"			}, /* 9 */
+	{ 1,	TF,	sys_unlink,		"unlink"		}, /* 10 */
+	{ 3,	TF|TP,	sys_execve,		"execve"		}, /* 11 */
+	{ 1,	TF,	sys_chdir,		"chdir"			}, /* 12 */
+	{ 1,	0,	sys_time,		"time"			}, /* 13 */
+	{ 3,	TF,	sys_mknod,		"mknod"			}, /* 14 */
+	{ 2,	TF,	sys_chmod,		"chmod"			}, /* 15 */
+	{ 3,	TF,	sys_chown,		"lchown"		}, /* 16 */
+	{ 0,	0,	sys_break,		"break"			}, /* 17 */
+	{ 2,	TF,	sys_oldstat,		"oldstat"		}, /* 18 */
+	{ 3,	TF,	sys_lseek,		"lseek"			}, /* 19 */
+	{ 0,	0,	sys_getpid,		"getpid"		}, /* 20 */
+	{ 5,	TF,	sys_mount,		"mount"			}, /* 21 */
+	{ 1,	TF,	sys_umount,		"oldumount"		}, /* 22 */
+	{ 1,	0,	sys_setuid,		"setuid"		}, /* 23 */
+	{ 0,	0,	sys_getuid,		"getuid"		}, /* 24 */
+	{ 1,	0,	sys_stime,		"stime"			}, /* 25 */
+	{ 4,	0,	sys_ptrace,		"ptrace"		}, /* 26 */
+	{ 1,	0,	sys_alarm,		"alarm"			}, /* 27 */
+	{ 2,	TD,	sys_oldfstat,		"oldfstat"		}, /* 28 */
+	{ 0,	TS,	sys_pause,		"pause"			}, /* 29 */
+	{ 2,	TF,	sys_utime,		"utime"			}, /* 30 */
+	{ 2,	0,	sys_stty,		"stty"			}, /* 31 */
+	{ 2,	0,	sys_gtty,		"gtty"			}, /* 32 */
+	{ 2,	TF,	sys_access,		"access"		}, /* 33 */
+	{ 1,	0,	sys_nice,		"nice"			}, /* 34 */
+	{ 0,	0,	sys_ftime,		"ftime"			}, /* 35 */
+	{ 0,	0,	sys_sync,		"sync"			}, /* 36 */
+	{ 2,	TS,	sys_kill,		"kill"			}, /* 37 */
+	{ 2,	TF,	sys_rename,		"rename"		}, /* 38 */
+	{ 2,	TF,	sys_mkdir,		"mkdir"			}, /* 39 */
+	{ 1,	TF,	sys_rmdir,		"rmdir"			}, /* 40 */
+	{ 1,	TD,	sys_dup,		"dup"			}, /* 41 */
+	{ 1,	TD,	sys_pipe,		"pipe"			}, /* 42 */
+	{ 1,	0,	sys_times,		"times"			}, /* 43 */
+	{ 0,	0,	sys_prof,		"prof"			}, /* 44 */
+	{ 1,	0,	sys_brk,		"brk"			}, /* 45 */
+	{ 1,	0,	sys_setgid,		"setgid"		}, /* 46 */
+	{ 0,	0,	sys_getgid,		"getgid"		}, /* 47 */
+	{ 3,	TS,	sys_signal,		"signal"		}, /* 48 */
+	{ 0,	0,	sys_geteuid,		"geteuid"		}, /* 49 */
+	{ 0,	0,	sys_getegid,		"getegid"		}, /* 50 */
+	{ 1,	TF,	sys_acct,		"acct"			}, /* 51 */
+	{ 2,	TF,	sys_umount2,		"umount"		}, /* 52 */
+	{ 0,	0,	sys_lock,		"lock"			}, /* 53 */
+	{ 3,	TD,	sys_ioctl,		"ioctl"			}, /* 54 */
+	{ 3,	TD,	sys_fcntl,		"fcntl"			}, /* 55 */
+	{ 0,	0,	sys_mpx,		"mpx"			}, /* 56 */
+	{ 2,	0,	sys_setpgid,		"setpgid"		}, /* 57 */
+	{ 2,	0,	sys_ulimit,		"ulimit"		}, /* 58 */
+	{ 1,	0,	sys_oldolduname,	"oldolduname"		}, /* 59 */
+	{ 1,	0,	sys_umask,		"umask"			}, /* 60 */
+	{ 1,	TF,	sys_chroot,		"chroot"		}, /* 61 */
+	{ 2,	0,	sys_ustat,		"ustat"			}, /* 62 */
+	{ 2,	TD,	sys_dup2,		"dup2"			}, /* 63 */
+	{ 0,	0,	sys_getppid,		"getppid"		}, /* 64 */
+	{ 0,	0,	sys_getpgrp,		"getpgrp"		}, /* 65 */
+	{ 0,	0,	sys_setsid,		"setsid"		}, /* 66 */
+	{ 3,	TS,	sys_sigaction,		"sigaction"		}, /* 67 */
+	{ 1,	TS,	printargs,		"sgetmask"		}, /* 68 */
+	{ 1,	TS,	printargs,		"ssetmask"		}, /* 69 */
+	{ 2,	0,	sys_setreuid,		"setreuid"		}, /* 70 */
+	{ 2,	0,	sys_setregid,		"setregid"		}, /* 71 */
+	{ 3,	TS,	sys_sigsuspend,		"sigsuspend"		}, /* 72 */
+	{ 1,	TS,	sys_sigpending,		"sigpending"		}, /* 73 */
+	{ 2,	0,	sys_sethostname,	"sethostname"		}, /* 74 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit"		}, /* 75 */
+	{ 2,	0,	sys_getrlimit,		"oldgetrlimit"		}, /* 76 */
+	{ 2,	0,	sys_getrusage,		"getrusage"		}, /* 77 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday"		}, /* 78 */
+	{ 2,	0,	sys_settimeofday,	"settimeofday"		}, /* 79 */
+	{ 2,	0,	sys_getgroups,		"getgroups"		}, /* 80 */
+	{ 2,	0,	sys_setgroups,		"setgroups"		}, /* 81 */
+	{ 1,	TD,	sys_oldselect,		"oldselect"		}, /* 82 */
+	{ 2,	TF,	sys_symlink,		"symlink"		}, /* 83 */
+	{ 2,	TF,	sys_oldlstat,		"oldlstat"		}, /* 84 */
+	{ 3,	TF,	sys_readlink,		"readlink"		}, /* 85 */
+	{ 1,	TF,	sys_uselib,		"uselib"		}, /* 86 */
+	{ 1,	TF,	sys_swapon,		"swapon"		}, /* 87 */
+	{ 3,	0,	sys_reboot,		"reboot"		}, /* 88 */
+	{ 3,	TD,	sys_readdir,		"readdir"		}, /* 89 */
+	{ 6,	0,	sys_mmap,		"mmap"			}, /* 90 */
+	{ 2,	0,	sys_munmap,		"munmap"		}, /* 91 */
+	{ 2,	TF,	sys_truncate,		"truncate"		}, /* 92 */
+	{ 2,	TD,	sys_ftruncate,		"ftruncate"		}, /* 93 */
+	{ 2,	TD,	sys_fchmod,		"fchmod"		}, /* 94 */
+	{ 3,	TD,	sys_fchown,		"fchown"		}, /* 95 */
+	{ 2,	0,	sys_getpriority,	"getpriority"		}, /* 96 */
+	{ 3,	0,	sys_setpriority,	"setpriority"		}, /* 97 */
+	{ 4,	0,	sys_profil,		"profil"		}, /* 98 */
+	{ 2,	TF,	sys_statfs,		"statfs"		}, /* 99 */
+	{ 2,	TD,	sys_fstatfs,		"fstatfs"		}, /* 100 */
+	{ 3,	0,	sys_ioperm,		"ioperm"		}, /* 101 */
+	{ 2,	TD,	sys_socketcall,		"socketcall"		}, /* 102 */
+	{ 3,	0,	sys_syslog,		"syslog"		}, /* 103 */
+	{ 3,	0,	sys_setitimer,		"setitimer"		}, /* 104 */
+	{ 2,	0,	sys_getitimer,		"getitimer"		}, /* 105 */
+	{ 2,	TF,	sys_stat,		"stat"			}, /* 106 */
+	{ 2,	TF,	sys_lstat,		"lstat"			}, /* 107 */
+	{ 2,	TD,	sys_fstat,		"fstat"			}, /* 108 */
+	{ 1,	0,	sys_olduname,		"olduname"		}, /* 109 */
+	{ 5,	0,	printargs,		"iopl"			}, /* 110 */
+	{ 0,	0,	sys_vhangup,		"vhangup"		}, /* 111 */
+	{ 0,	0,	sys_idle,		"idle"			}, /* 112 */
+	{ 5,	0,	printargs,		"vm86"			}, /* 113 */
+	{ 4,	TP,	sys_wait4,		"wait4"			}, /* 114 */
+	{ 1,	0,	sys_swapoff,		"swapoff"		}, /* 115 */
+	{ 1,	0,	sys_sysinfo,		"sysinfo"		}, /* 116 */
+	{ 6,	0,	sys_ipc,		"ipc"			}, /* 117 */
+	{ 1,	TD,	sys_fsync,		"fsync"			}, /* 118 */
+	{ 1,	TS,	sys_sigreturn,		"sigreturn"		}, /* 119 */
+	{ 5,	TP,	sys_clone,		"clone"			}, /* 120 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname"		}, /* 121 */
+	{ 1,	0,	sys_uname,		"uname"			}, /* 122 */
+	{ 5,	0,	printargs,		"modify_ldt"		}, /* 123 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex"		}, /* 124 */
+	{ 3,	0,	sys_mprotect,		"mprotect"		}, /* 125 */
+	{ 3,	TS,	sys_sigprocmask,	"sigprocmask"		}, /* 126 */
+	{ 2,	0,	sys_create_module,	"create_module"		}, /* 127 */
+	{ 3,	0,	sys_init_module,	"init_module"		}, /* 128 */
+	{ 2,	0,	sys_delete_module,	"delete_module"		}, /* 129 */
+	{ 1,	0,	sys_get_kernel_syms,	"get_kernel_syms"	}, /* 130 */
+	{ 4,	0,	sys_quotactl,		"quotactl"		}, /* 131 */
+	{ 1,	0,	sys_getpgid,		"getpgid"		}, /* 132 */
+	{ 1,	TF,	sys_fchdir,		"fchdir"		}, /* 133 */
+	{ 0,	0,	sys_bdflush,		"bdflush"		}, /* 134 */
+	{ 3,	0,	sys_sysfs,		"sysfs"			}, /* 135 */
+	{ 1,	0,	sys_personality,	"personality"		}, /* 136 */
+	{ 5,	0,	sys_afs_syscall,	"afs_syscall"		}, /* 137 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid"		}, /* 138 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid"		}, /* 139 */
+	{ 5,	TF,	sys_llseek,		"_llseek"		}, /* 140 */
+	{ 3,	TD,	sys_getdents,		"getdents"		}, /* 141 */
+	{ 5,	TD,	sys_select,		"select"		}, /* 142 */
+	{ 2,	TD,	sys_flock,		"flock"			}, /* 143 */
+	{ 3,	0,	sys_msync,		"msync"			}, /* 144 */
+	{ 3,	TD,	sys_readv,		"readv"			}, /* 145 */
+	{ 3,	TD,	sys_writev,		"writev"		}, /* 146 */
+	{ 1,	0,	sys_getsid,		"getsid"		}, /* 147 */
+	{ 1,	TD,	sys_fdatasync,		"fdatasync"		}, /* 148 */
+	{ 1,	0,	sys_sysctl,		"_sysctl"		}, /* 149 */
+	{ 2,	0,	sys_mlock,		"mlock"			}, /* 150 */
+	{ 2,	0,	sys_munlock,		"munlock"		}, /* 151 */
+	{ 1,	0,	sys_mlockall,		"mlockall"		}, /* 152 */
+	{ 0,	0,	sys_munlockall,		"munlockall"		}, /* 153 */
+	{ 2,	0,	sys_sched_setparam,	"sched_setparam"	}, /* 154 */
+	{ 2,	0,	sys_sched_getparam,	"sched_getparam"	}, /* 155 */
+	{ 3,	0,	sys_sched_setscheduler,	"sched_setscheduler"	}, /* 156 */
+	{ 1,	0,	sys_sched_getscheduler,	"sched_getscheduler"	}, /* 157 */
+	{ 0,	0,	sys_sched_yield,	"sched_yield"		}, /* 158 */
+	{ 1,	0,	sys_sched_get_priority_max,"sched_get_priority_max"}, /* 159 */
+	{ 1,	0,	sys_sched_get_priority_min,"sched_get_priority_min"}, /* 160 */
+	{ 2,	0,	sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 161 */
+	{ 2,	0,	sys_nanosleep,		"nanosleep"		}, /* 162 */
+	{ 5,	0,	sys_mremap,		"mremap"		}, /* 163 */
+	{ 3,	0,	sys_setresuid,		"setresuid"		}, /* 164 */
+	{ 3,	0,	sys_getresuid,		"getresuid"		}, /* 165 */
+	{ 5,	0,	sys_query_module,	"query_module"		}, /* 166 */
+	{ 3,	TD,	sys_poll,		"poll"			}, /* 167 */
+	{ 3,	0,	printargs,		"nfsservctl"		}, /* 168 */
+	{ 3,	0,	sys_setresgid,		"setresgid"		}, /* 169 */
+	{ 3,	0,	sys_getresgid,		"getresgid"		}, /* 170 */
+	{ 5,	0,	sys_prctl,		"prctl"			}, /* 171 */
+	{ 1,	TS,	printargs,		"rt_sigreturn"		}, /* 172 */
+	{ 4,	TS,	sys_rt_sigaction,	"rt_sigaction"		}, /* 173 */
+	{ 4,	TS,	sys_rt_sigprocmask,	"rt_sigprocmask"	}, /* 174 */
+	{ 2,	TS,	sys_rt_sigpending,	"rt_sigpending"		}, /* 175 */
+	{ 4,	TS,	sys_rt_sigtimedwait,	"rt_sigtimedwait"	}, /* 176 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,	"rt_sigqueueinfo"	}, /* 177 */
+	{ 2,	TS,	sys_rt_sigsuspend,	"rt_sigsuspend"		}, /* 178 */
+	{ 6,	TD,	sys_pread,		"pread64"		}, /* 179 */
+	{ 6,	TD,	sys_pwrite,		"pwrite64"		}, /* 180 */
+	{ 3,	TF,	sys_chown,		"chown"			}, /* 181 */
+	{ 2,	TF,	sys_getcwd,		"getcwd"		}, /* 182 */
+	{ 2,	0,	sys_capget,		"capget"		}, /* 183 */
+	{ 2,	0,	sys_capset,		"capset"		}, /* 184 */
+	{ 2,	TS,	sys_sigaltstack,	"sigaltstack"		}, /* 185 */
+	{ 4,	TD|TN,	sys_sendfile,		"sendfile"		}, /* 186 */
+	{ 5,	0,	sys_getpmsg,		"getpmsg"		}, /* 187 */
+	{ 5,	0,	sys_putpmsg,		"putpmsg"		}, /* 188 */
+	{ 0,	TP,	sys_vfork,		"vfork"			}, /* 189 */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"		}, /* 190 */
+	{ 5,	TD,	sys_readahead,		"readahead"		}, /* 190 */
+	{ 6,	0,	sys_mmap,		"mmap2"			}, /* 192 */
+	{ 4,	TF,	sys_truncate64,		"truncate64"		}, /* 193 */
+	{ 4,	TD,	sys_ftruncate64,	"ftruncate64"		}, /* 194 */
+	{ 2,	TF,	sys_stat64,		"stat64"		}, /* 195 */
+	{ 2,	TF,	sys_lstat64,		"lstat64"		}, /* 196 */
+	{ 2,	TD,	sys_fstat64,		"fstat64"		}, /* 197 */
+	{ 5,	0,	printargs,		"pciconfig_read"	}, /* 198 */
+	{ 5,	0,	printargs,		"pciconfig_write"	}, /* 199 */
+	{ 3,	0,	printargs,		"pciconfig_iobase"	}, /* 200 */
+	{ 8,	0,	printargs,		"MOL"			}, /* 201 */
+	{ 3,	TD,	sys_getdents64,		"getdents64"		}, /* 202 */
+	{ 2,	TF,	sys_pivotroot,		"pivot_root"		}, /* 203 */
+	{ 3,	TD,	sys_fcntl,		"fcntl64"		}, /* 204 */
+	{ 3,	0,	sys_madvise,		"madvise"		}, /* 205 */
+	{ 3,	0,	sys_mincore,		"mincore"		}, /* 206 */
+	{ 0,	0,	printargs,		"gettid"		}, /* 207 */
+	{ 2,	TS,	sys_kill,		"tkill"			}, /* 208 */
+	{ 5,	TF,	sys_setxattr,		"setxattr"		}, /* 209 */
+	{ 5,	TF,	sys_setxattr,		"lsetxattr"		}, /* 210 */
+	{ 5,	TD,	sys_fsetxattr,		"fsetxattr"		}, /* 211 */
+	{ 4,	TF,	sys_getxattr,		"getxattr"		}, /* 212 */
+	{ 4,	TF,	sys_getxattr,		"lgetxattr"		}, /* 213 */
+	{ 4,	0,	sys_fgetxattr,		"fgetxattr"		}, /* 214 */
+	{ 3,	TF,	sys_listxattr,		"listxattr"		}, /* 215 */
+	{ 3,	TF,	sys_listxattr,		"llistxattr"		}, /* 216 */
+	{ 3,	0,	sys_flistxattr,		"flistxattr"		}, /* 217 */
+	{ 2,	TF,	sys_removexattr,	"removexattr"		}, /* 218 */
+	{ 2,	TF,	sys_removexattr,	"lremovexattr"		}, /* 219 */
+	{ 2,	TD,	sys_fremovexattr,	"fremovexattr"		}, /* 220 */
+	{ 6,	0,	sys_futex,		"futex"			}, /* 221 */
+	{ 3,	0,	sys_sched_setaffinity,	"sched_setaffinity"	}, /* 222 */
+	{ 3,	0,	sys_sched_getaffinity,	"sched_getaffinity"	}, /* 223 */
+	{ 5,	0,	printargs,		"SYS_224"		}, /* 224 */
+	{ 5,	0,	printargs,		"tux"			}, /* 225 */
+	{ 4,	TD|TN,	sys_sendfile64,		"sendfile64"		}, /* 226 */
+	{ 2,	0,	sys_io_setup,		"io_setup"		}, /* 227 */
+	{ 1,	0,	sys_io_destroy,		"io_destroy"		}, /* 228 */
+	{ 5,	0,	sys_io_getevents,	"io_getevents"		}, /* 229 */
+	{ 3,	0,	sys_io_submit,		"io_submit"		}, /* 230 */
+	{ 3,	0,	sys_io_cancel,		"io_cancel"		}, /* 231 */
+	{ 1,	0,	printargs,		"set_tid_address"	}, /* 232 */
+	{ 6,	0,	sys_fadvise64,		"fadvise64"		}, /* 233 */
+	{ 1,	TP,	sys_exit,		"exit_group"		}, /* 234 */
+	{ 4,	0,	printargs,		"lookup_dcookie"	}, /* 235 */
+	{ 1,	0,	sys_epoll_create,	"epoll_create"		}, /* 236 */
+	{ 4,	TD,	sys_epoll_ctl,		"epoll_ctl"		}, /* 237 */
+	{ 4,	TD,	sys_epoll_wait,		"epoll_wait"		}, /* 238 */
+	{ 5,	0,	sys_remap_file_pages,	"remap_file_pages"	}, /* 239 */
+	{ 3,	0,	sys_timer_create,	"timer_create"		}, /* 240 */
+	{ 4,	0,	sys_timer_settime,	"timer_settime"		}, /* 241 */
+	{ 2,	0,	sys_timer_gettime,	"timer_gettime"		}, /* 242 */
+	{ 1,	0,	sys_timer_getoverrun,	"timer_getoverrun"	}, /* 243 */
+	{ 1,	0,	sys_timer_delete,	"timer_delete"		}, /* 244 */
+	{ 2,	0,	sys_clock_settime,	"clock_settime"		}, /* 245 */
+	{ 2,	0,	sys_clock_gettime,	"clock_gettime"		}, /* 246 */
+	{ 2,	0,	sys_clock_getres,	"clock_getres"		}, /* 247 */
+	{ 4,	0,	sys_clock_nanosleep,	"clock_nanosleep"	}, /* 248 */
+	{ 2,	0,	printargs,		"swapcontext"		}, /* 249 */
+	{ 3,	TS,	sys_tgkill,		"tgkill"		}, /* 250 */
+	{ 2,	TF,	sys_utimes,		"utimes"		}, /* 251 */
+	{ 3,	TF,	sys_statfs64,		"statfs64"		}, /* 252 */
+	{ 3,	TD,	sys_fstatfs64,		"fstatfs64"		}, /* 253 */
+	{ 6,	0,	sys_fadvise64_64,	"fadvise64_64"		}, /* 254 */
+	{ 1,	0,	printargs,		"rtas"			}, /* 255 */
+	{ 5,	0,	printargs,		"debug_setcontext"	}, /* 256 */
+	{ 5,	0,	printargs,		"vserver"		}, /* 257 */
+	{ 5,	0,	printargs,		"migrate_pages"		}, /* 258 */
+	{ 6,	0,	sys_mbind,		"mbind"			}, /* 259 */
+	{ 5,	0,	sys_get_mempolicy,	"get_mempolicy"		}, /* 260 */
+	{ 3,	0,	sys_set_mempolicy,	"set_mempolicy"		}, /* 261 */
+	{ 4,	0,	sys_mq_open,		"mq_open"		}, /* 262 */
+	{ 1,	0,	sys_mq_unlink,		"mq_unlink"		}, /* 263 */
+	{ 5,	0,	sys_mq_timedsend,	"mq_timedsend"		}, /* 264 */
+	{ 5,	0,	sys_mq_timedreceive,	"mq_timedreceive"	}, /* 265 */
+	{ 2,	0,	sys_mq_notify,		"mq_notify"		}, /* 266 */
+	{ 3,	0,	sys_mq_getsetattr,	"mq_getsetattr"		}, /* 267 */
+	{ 5,	0,	printargs,		"kexec_load"		}, /* 268 */
+	{ 5,	0,	printargs,		"add_key"		}, /* 269 */
+	{ 4,	0,	printargs,		"request_key"		}, /* 270 */
+	{ 5,	0,	printargs,		"keyctl"		}, /* 271 */
+	{ 5,	TP,	sys_waitid,		"waitid"		}, /* 272 */
+	{ 3,	0,	printargs,		"ioprio_set"		}, /* 273 */
+	{ 2,	0,	printargs,		"ioprio_get"		}, /* 274 */
+	{ 0,	TD,	printargs,		"inotify_init"		}, /* 275 */
+	{ 3,	TD,	sys_inotify_add_watch,	"inotify_add_watch"	}, /* 276 */
+	{ 2,	TD,	sys_inotify_rm_watch,	"inotify_rm_watch"	}, /* 277 */
+	{ 5,	0,	printargs,		"spu_run"		}, /* 278 */
+	{ 5,	0,	printargs,		"spu_create"		}, /* 279 */
+	{ 6,	TD,	sys_pselect6,		"pselect6"		}, /* 280 */
+	{ 5,	TD,	sys_ppoll,		"ppoll"			}, /* 281 */
+	{ 1,	TP,	sys_unshare,		"unshare"		}, /* 282 */
+	{ 6,	TD,	printargs,		"splice"		}, /* 283 */
+	{ 4,	TD,	printargs,		"tee"			}, /* 284 */
+	{ 4,	TD,	printargs,		"vmsplice"		}, /* 285 */
+	{ 4,	TD|TF,	sys_openat,		"openat"		}, /* 286 */
+	{ 3,	TD|TF,	sys_mkdirat,		"mkdirat"		}, /* 287 */
+	{ 4,	TD|TF,	sys_mknodat,		"mknodat"		}, /* 288 */
+	{ 5,	TD|TF,	sys_fchownat,		"fchownat"		}, /* 289 */
+	{ 3,	TD|TF,	sys_futimesat,		"futimesat"		}, /* 290 */
+	{ 4,	TD|TD,	sys_newfstatat,		"newfstatat"		}, /* 291 */
+	{ 3,	TD|TF,	sys_unlinkat,		"unlinkat"		}, /* 292 */
+	{ 4,	TD|TF,	sys_renameat,		"renameat"		}, /* 293 */
+	{ 5,	TD|TF,	sys_linkat,		"linkat"		}, /* 294 */
+	{ 3,	TD|TF,	sys_symlinkat,		"symlinkat"		}, /* 295 */
+	{ 4,	TD|TF,	sys_readlinkat,		"readlinkat"		}, /* 296 */
+	{ 3,	TD|TF,	sys_fchmodat,		"fchmodat"		}, /* 297 */
+	{ 3,	TD|TF,	sys_faccessat,		"faccessat"		}, /* 298 */
+	{ 2,	0,	printargs,		"set_robust_list"	}, /* 299 */
+	{ 3,	0,	printargs,		"get_robust_list"	}, /* 300 */
+	{ 6,	0,	sys_move_pages,		"move_pages"		}, /* 301 */
+	{ 3,	0,	sys_getcpu,		"getcpu"		}, /* 302 */
+	{ 5,	TD,	sys_epoll_pwait,	"epoll_pwait"		}, /* 303 */
+	{ 4,	TD|TF,	sys_utimensat,		"utimensat"		}, /* 304 */
+	{ 3,	TD|TS,	sys_signalfd,		"signalfd"		}, /* 305 */
+	{ 4,	TD,	sys_timerfd_create,	"timerfd_create"	}, /* 306 */
+	{ 1,	TD,	sys_eventfd,		"eventfd"		}, /* 307 */
+	{ 4,	TD,	printargs,		"sync_file_range"	}, /* 308 */
+	{ 6,	TF,	sys_fallocate,		"fallocate"		}, /* 309 */
+	{ 3,    0,      sys_subpage_prot,       "subpage_prot"          }, /* 310 */
+	{ 4,	TD,	sys_timerfd_settime,	"timerfd_settime"	}, /* 311 */
+	{ 2,	TD,	sys_timerfd_gettime,	"timerfd_gettime"	}, /* 312 */
+	{ 4,	TD|TS,	sys_signalfd4,		"signalfd4"		}, /* 313 */
+	{ 2,	TD,	sys_eventfd2,		"eventfd2"		}, /* 314 */
+	{ 1,	0,	sys_epoll_create1,	"epoll_create1"		}, /* 315 */
+	{ 3,	TD,	sys_dup3,		"dup3"			}, /* 316 */
+	{ 2,	TD,	sys_pipe2,		"pipe2"			}, /* 317 */
+	{ 1,	TD,	sys_inotify_init1,	"inotify_init1"		}, /* 318 */
+	{ 5,	TD,	printargs,		"perf_event_open"	}, /* 319 */
+	{ 5,	TD,	printargs,		"preadv"		}, /* 320 */
+	{ 5,	TD,	printargs,		"pwritev"		}, /* 321 */
+	{ 4,	TP|TS,	printargs,		"rt_tgsigqueueinfo"	}, /* 322 */
+	{ 5,	0,	printargs,		"SYS_323"		}, /* 323 */
+	{ 5,	0,	printargs,		"SYS_324"		}, /* 324 */
+	{ 5,	0,	printargs,		"SYS_325"		}, /* 325 */
+	{ 5,	0,	printargs,		"SYS_326"		}, /* 326 */
+	{ 5,	0,	printargs,		"SYS_327"		}, /* 327 */
+	{ 5,	0,	printargs,		"SYS_328"		}, /* 328 */
+	{ 5,	0,	printargs,		"SYS_329"		}, /* 329 */
+	{ 5,	0,	printargs,		"SYS_330"		}, /* 330 */
+	{ 5,	0,	printargs,		"SYS_331"		}, /* 331 */
+	{ 5,	0,	printargs,		"SYS_332"		}, /* 332 */
+	{ 5,	0,	printargs,		"SYS_333"		}, /* 333 */
+	{ 5,	0,	printargs,		"SYS_334"		}, /* 334 */
+	{ 5,	0,	printargs,		"SYS_335"		}, /* 335 */
+	{ 5,	0,	printargs,		"SYS_336"		}, /* 336 */
+	{ 5,	0,	printargs,		"SYS_337"		}, /* 337 */
+	{ 5,	0,	printargs,		"SYS_338"		}, /* 338 */
+	{ 5,	0,	printargs,		"SYS_339"		}, /* 339 */
+	{ 5,	0,	printargs,		"SYS_340"		}, /* 340 */
+	{ 5,	0,	printargs,		"SYS_341"		}, /* 341 */
+	{ 5,	0,	printargs,		"SYS_342"		}, /* 342 */
+	{ 5,	0,	printargs,		"SYS_343"		}, /* 343 */
+	{ 5,	0,	printargs,		"SYS_344"		}, /* 344 */
+	{ 5,	0,	printargs,		"SYS_345"		}, /* 345 */
+	{ 5,	0,	printargs,		"SYS_346"		}, /* 346 */
+	{ 5,	0,	printargs,		"SYS_347"		}, /* 347 */
+	{ 5,	0,	printargs,		"SYS_348"		}, /* 348 */
+	{ 5,	0,	printargs,		"SYS_349"		}, /* 349 */
+	{ 5,	0,	printargs,		"SYS_350"		}, /* 350 */
+	{ 5,	0,	printargs,		"SYS_351"		}, /* 351 */
+	{ 5,	0,	printargs,		"SYS_352"		}, /* 352 */
+	{ 5,	0,	printargs,		"SYS_353"		}, /* 353 */
+	{ 5,	0,	printargs,		"SYS_354"		}, /* 354 */
+	{ 5,	0,	printargs,		"SYS_355"		}, /* 355 */
+	{ 5,	0,	printargs,		"SYS_356"		}, /* 356 */
+	{ 5,	0,	printargs,		"SYS_357"		}, /* 357 */
+	{ 5,	0,	printargs,		"SYS_358"		}, /* 358 */
+	{ 5,	0,	printargs,		"SYS_359"		}, /* 359 */
+	{ 5,	0,	printargs,		"SYS_360"		}, /* 360 */
+	{ 5,	0,	printargs,		"SYS_361"		}, /* 361 */
+	{ 5,	0,	printargs,		"SYS_362"		}, /* 362 */
+	{ 5,	0,	printargs,		"SYS_363"		}, /* 363 */
+	{ 5,	0,	printargs,		"SYS_364"		}, /* 364 */
+	{ 5,	0,	printargs,		"SYS_365"		}, /* 365 */
+	{ 5,	0,	printargs,		"SYS_366"		}, /* 366 */
+	{ 5,	0,	printargs,		"SYS_367"		}, /* 367 */
+	{ 5,	0,	printargs,		"SYS_368"		}, /* 368 */
+	{ 5,	0,	printargs,		"SYS_369"		}, /* 369 */
+	{ 5,	0,	printargs,		"SYS_370"		}, /* 370 */
+	{ 5,	0,	printargs,		"SYS_371"		}, /* 371 */
+	{ 5,	0,	printargs,		"SYS_372"		}, /* 372 */
+	{ 5,	0,	printargs,		"SYS_373"		}, /* 373 */
+	{ 5,	0,	printargs,		"SYS_374"		}, /* 374 */
+	{ 5,	0,	printargs,		"SYS_375"		}, /* 375 */
+	{ 5,	0,	printargs,		"SYS_376"		}, /* 376 */
+	{ 5,	0,	printargs,		"SYS_377"		}, /* 377 */
+	{ 5,	0,	printargs,		"SYS_378"		}, /* 378 */
+	{ 5,	0,	printargs,		"SYS_379"		}, /* 379 */
+	{ 5,	0,	printargs,		"SYS_380"		}, /* 380 */
+	{ 5,	0,	printargs,		"SYS_381"		}, /* 381 */
+	{ 5,	0,	printargs,		"SYS_382"		}, /* 382 */
+	{ 5,	0,	printargs,		"SYS_383"		}, /* 383 */
+	{ 5,	0,	printargs,		"SYS_384"		}, /* 384 */
+	{ 5,	0,	printargs,		"SYS_385"		}, /* 385 */
+	{ 5,	0,	printargs,		"SYS_386"		}, /* 386 */
+	{ 5,	0,	printargs,		"SYS_387"		}, /* 387 */
+	{ 5,	0,	printargs,		"SYS_388"		}, /* 388 */
+	{ 5,	0,	printargs,		"SYS_389"		}, /* 389 */
+	{ 5,	0,	printargs,		"SYS_390"		}, /* 390 */
+	{ 5,	0,	printargs,		"SYS_391"		}, /* 391 */
+	{ 5,	0,	printargs,		"SYS_392"		}, /* 392 */
+	{ 5,	0,	printargs,		"SYS_393"		}, /* 393 */
+	{ 5,	0,	printargs,		"SYS_394"		}, /* 394 */
+	{ 5,	0,	printargs,		"SYS_395"		}, /* 395 */
+	{ 5,	0,	printargs,		"SYS_396"		}, /* 396 */
+	{ 5,	0,	printargs,		"SYS_397"		}, /* 397 */
+	{ 5,	0,	printargs,		"SYS_398"		}, /* 398 */
+	{ 5,	0,	printargs,		"SYS_399"		}, /* 399 */
+
+#if SYS_socket_subcall != 400
+ #error fix me
+#endif
+	{ 8,	0,	printargs,		"socket_subcall"}, /* 400 */
+	{ 3,	TN,	sys_socket,		"socket"	}, /* 401 */
+	{ 3,	TN,	sys_bind,		"bind"		}, /* 402 */
+	{ 3,	TN,	sys_connect,		"connect"	}, /* 403 */
+	{ 2,	TN,	sys_listen,		"listen"	}, /* 404 */
+	{ 3,	TN,	sys_accept,		"accept"	}, /* 405 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	}, /* 406 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	}, /* 407 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"	}, /* 408 */
+	{ 4,	TN,	sys_send,		"send"		}, /* 409 */
+	{ 4,	TN,	sys_recv,		"recv"		}, /* 410 */
+	{ 6,	TN,	sys_sendto,		"sendto"	}, /* 411 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom"	}, /* 412 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	}, /* 413 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	}, /* 414 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 415 */
+	{ 5,	TN,	sys_sendmsg,		"sendmsg"	}, /* 416 */
+	{ 5,	TN,	sys_recvmsg,		"recvmsg"	}, /* 417 */
+	{ 4,	TN,	sys_accept4,		"accept4"	}, /* 418 */
+	{ 5,	TN,	sys_recvmmsg,		"recvmmsg"	}, /* 419 */
+
+#if SYS_ipc_subcall != 420
+ #error fix me
+#endif
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 420 */
+	{ 4,	TI,	sys_semop,		"semop"		}, /* 421 */
+	{ 4,	TI,	sys_semget,		"semget"	}, /* 422 */
+	{ 4,	TI,	sys_semctl,		"semctl"	}, /* 423 */
+	{ 5,	TI,	sys_semtimedop,		"semtimedop"	}, /* 424 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 425 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 426 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 427 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 428 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 429 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 430 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd"	}, /* 431 */
+	{ 4,	TI,	sys_msgrcv,		"msgrcv"	}, /* 432 */
+	{ 4,	TI,	sys_msgget,		"msgget"	}, /* 433 */
+	{ 4,	TI,	sys_msgctl,		"msgctl"	}, /* 434 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 435 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 436 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 437 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 438 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 439 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 440 */
+	{ 4,	TI,	sys_shmat,		"shmat"		}, /* 441 */
+	{ 4,	TI,	sys_shmdt,		"shmdt"		}, /* 442 */
+	{ 4,	TI,	sys_shmget,		"shmget"	}, /* 443 */
+	{ 4,	TI,	sys_shmctl,		"shmctl"	}, /* 444 */
+	{ 5,	0,	printargs,		"SYS_343"	}, /* 445 */
+	{ 5,	0,	printargs,		"SYS_344"	}, /* 446 */
+	{ 5,	0,	printargs,		"SYS_345"	}, /* 447 */
+	{ 5,	0,	printargs,		"SYS_346"	}, /* 448 */
+	{ 5,	0,	printargs,		"SYS_347"	}, /* 449 */
diff --git a/strace-4.5.20/linux/s390/ioctlent.h b/strace-4.5.20/linux/s390/ioctlent.h
new file mode 100644
index 0000000..414fbeb
--- /dev/null
+++ b/strace-4.5.20/linux/s390/ioctlent.h
@@ -0,0 +1,941 @@
+{"linux/fs.h", "FIBMAP", 0x1},
+{"linux/fs.h", "FIGETBSZ", 0x2},
+{"linux/fd.h", "FDCLRPRM", 0x241},
+{"linux/fd.h", "FDMSGON", 0x245},
+{"linux/fd.h", "FDMSGOFF", 0x246},
+{"linux/fd.h", "FDFMTBEG", 0x247},
+{"linux/fd.h", "FDFMTEND", 0x249},
+{"linux/fd.h", "FDSETEMSGTRESH", 0x24a},
+{"linux/fd.h", "FDFLUSH", 0x24b},
+{"linux/fd.h", "FDRESET", 0x254},
+{"linux/fd.h", "FDWERRORCLR", 0x256},
+{"linux/fd.h", "FDRAWCMD", 0x258},
+{"linux/fd.h", "FDTWADDLE", 0x259},
+{"linux/fd.h", "FDEJECT", 0x25a},
+{"linux/hdreg.h", "HDIO_GETGEO", 0x301},
+{"linux/hdreg.h", "HDIO_GET_UNMASKINTR", 0x302},
+{"linux/hdreg.h", "HDIO_GET_MULTCOUNT", 0x304},
+{"linux/hdreg.h", "HDIO_OBSOLETE_IDENTITY", 0x307},
+{"linux/hdreg.h", "HDIO_GET_KEEPSETTINGS", 0x308},
+{"linux/hdreg.h", "HDIO_GET_32BIT", 0x309},
+{"linux/hdreg.h", "HDIO_GET_NOWERR", 0x30a},
+{"linux/hdreg.h", "HDIO_GET_DMA", 0x30b},
+{"linux/hdreg.h", "HDIO_GET_NICE", 0x30c},
+{"linux/hdreg.h", "HDIO_GET_IDENTITY", 0x30d},
+{"linux/hdreg.h", "HDIO_DRIVE_RESET", 0x31c},
+{"linux/hdreg.h", "HDIO_TRISTATE_HWIF", 0x31d},
+{"linux/hdreg.h", "HDIO_DRIVE_TASK", 0x31e},
+{"linux/hdreg.h", "HDIO_DRIVE_CMD", 0x31f},
+{"linux/hdreg.h", "HDIO_SET_MULTCOUNT", 0x321},
+{"linux/hdreg.h", "HDIO_SET_UNMASKINTR", 0x322},
+{"linux/hdreg.h", "HDIO_SET_KEEPSETTINGS", 0x323},
+{"linux/hdreg.h", "HDIO_SET_32BIT", 0x324},
+{"linux/hdreg.h", "HDIO_SET_NOWERR", 0x325},
+{"linux/hdreg.h", "HDIO_SET_DMA", 0x326},
+{"linux/hdreg.h", "HDIO_SET_PIO_MODE", 0x327},
+{"linux/hdreg.h", "HDIO_SCAN_HWIF", 0x328},
+{"linux/hdreg.h", "HDIO_SET_NICE", 0x329},
+{"linux/hdreg.h", "HDIO_UNREGISTER_HWIF", 0x32a},
+{"linux/hdreg.h", "HDIO_GETGEO_BIG", 0x330},
+{"linux/hdreg.h", "HDIO_GETGEO_BIG_RAW", 0x331},
+{"linux/umsdos_fs.h", "UMSDOS_READDIR_DOS", 0x4d2},
+{"linux/umsdos_fs.h", "UMSDOS_UNLINK_DOS", 0x4d3},
+{"linux/umsdos_fs.h", "UMSDOS_RMDIR_DOS", 0x4d4},
+{"linux/umsdos_fs.h", "UMSDOS_STAT_DOS", 0x4d5},
+{"linux/umsdos_fs.h", "UMSDOS_CREAT_EMD", 0x4d6},
+{"linux/umsdos_fs.h", "UMSDOS_UNLINK_EMD", 0x4d7},
+{"linux/umsdos_fs.h", "UMSDOS_READDIR_EMD", 0x4d8},
+{"linux/umsdos_fs.h", "UMSDOS_GETVERSION", 0x4d9},
+{"linux/umsdos_fs.h", "UMSDOS_INIT_EMD", 0x4da},
+{"linux/umsdos_fs.h", "UMSDOS_DOS_SETUP", 0x4db},
+{"linux/umsdos_fs.h", "UMSDOS_RENAME_DOS", 0x4dc},
+{"linux/lp.h", "LPCHAR", 0x601},
+{"linux/lp.h", "LPTIME", 0x602},
+{"linux/lp.h", "LPABORT", 0x604},
+{"linux/lp.h", "LPSETIRQ", 0x605},
+{"linux/ac97_codec.h", "AC97_RECMUX_MONO_MIX", 0x606},
+{"linux/lp.h", "LPGETIRQ", 0x606},
+{"linux/lp.h", "LPWAIT", 0x608},
+{"linux/lp.h", "LPCAREFUL", 0x609},
+{"linux/lp.h", "LPABORTOPEN", 0x60a},
+{"linux/lp.h", "LPGETSTATUS", 0x60b},
+{"linux/lp.h", "LPRESET", 0x60c},
+{"linux/lp.h", "LPGETSTATS", 0x60d},
+{"linux/lp.h", "LPGETFLAGS", 0x60e},
+{"linux/lp.h", "LPSETTIMEOUT", 0x60f},
+{"linux/fs.h", "BLKROSET", 0x125d},
+{"linux/fs.h", "BLKROGET", 0x125e},
+{"linux/fs.h", "BLKRRPART", 0x125f},
+{"linux/fs.h", "BLKGETSIZE", 0x1260},
+{"linux/fs.h", "BLKFLSBUF", 0x1261},
+{"linux/fs.h", "BLKRASET", 0x1262},
+{"linux/fs.h", "BLKRAGET", 0x1263},
+{"linux/fs.h", "BLKFRASET", 0x1264},
+{"linux/fs.h", "BLKFRAGET", 0x1265},
+{"linux/fs.h", "BLKSECTSET", 0x1266},
+{"linux/fs.h", "BLKSECTGET", 0x1267},
+{"linux/fs.h", "BLKSSZGET", 0x1268},
+{"linux/fs.h", "BLKPG", 0x1269},
+{"scsi/sg.h", "SG_SET_TIMEOUT", 0x2201},
+{"scsi/sg.h", "SG_GET_TIMEOUT", 0x2202},
+{"scsi/sg.h", "SG_EMULATED_HOST", 0x2203},
+{"scsi/sg.h", "SG_SET_TRANSFORM", 0x2204},
+{"scsi/sg.h", "SG_GET_TRANSFORM", 0x2205},
+{"scsi/sg.h", "SG_GET_COMMAND_Q", 0x2270},
+{"scsi/sg.h", "SG_SET_COMMAND_Q", 0x2271},
+{"scsi/sg.h", "SG_GET_RESERVED_SIZE", 0x2272},
+{"scsi/sg.h", "SG_SET_RESERVED_SIZE", 0x2275},
+{"scsi/sg.h", "SG_GET_SCSI_ID", 0x2276},
+{"scsi/sg.h", "SG_SET_FORCE_LOW_DMA", 0x2279},
+{"scsi/sg.h", "SG_GET_LOW_DMA", 0x227a},
+{"scsi/sg.h", "SG_SET_FORCE_PACK_ID", 0x227b},
+{"scsi/sg.h", "SG_GET_PACK_ID", 0x227c},
+{"scsi/sg.h", "SG_GET_NUM_WAITING", 0x227d},
+{"scsi/sg.h", "SG_SET_DEBUG", 0x227e},
+{"scsi/sg.h", "SG_GET_SG_TABLESIZE", 0x227f},
+{"scsi/sg.h", "SG_GET_VERSION_NUM", 0x2282},
+{"scsi/sg.h", "SG_NEXT_CMD_LEN", 0x2283},
+{"scsi/sg.h", "SG_SCSI_RESET", 0x2284},
+{"scsi/sg.h", "SG_IO", 0x2285},
+{"scsi/sg.h", "SG_GET_REQUEST_TABLE", 0x2286},
+{"scsi/sg.h", "SG_SET_KEEP_ORPHAN", 0x2287},
+{"scsi/sg.h", "SG_GET_KEEP_ORPHAN", 0x2288},
+{"linux/agpgart.h", "AGPIOC_ACQUIRE", 0x4101},
+{"linux/agpgart.h", "AGPIOC_RELEASE", 0x4102},
+{"linux/pmu.h", "PMU_IOC_SLEEP", 0x4200},
+{"asm/dasd.h", "BIODASDDISABLE", 0x4400},
+{"asm/dasd.h", "BIODASDENABLE", 0x4401},
+{"asm/dasd.h", "BIODASDRSRV", 0x4402},
+{"asm/dasd.h", "BIODASDRLSE", 0x4403},
+{"asm/dasd.h", "BIODASDSLCK", 0x4404},
+{"asm/dasd.h", "BIODASDPRRST", 0x4405},
+{"asm/dasd.h", "BIODASDQUIESCE", 0x4406},
+{"asm/dasd.h", "BIODASDRESUME", 0x4407},
+{"asm/cmb.h", "BIODASDCMFENABLE", 0x4420},
+{"asm/cmb.h", "BIODASDCMFDISABLE", 0x4421},
+{"asm/cmb.h", "BIODASDRESETCMB", 0x4422},
+{"linux/fb.h", "FBIOGET_VSCREENINFO", 0x4600},
+{"linux/fb.h", "FBIOPUT_VSCREENINFO", 0x4601},
+{"linux/ps2esdi.h", "CMD_READ", 0x4601},
+{"linux/fb.h", "FBIOGET_FSCREENINFO", 0x4602},
+{"linux/ps2esdi.h", "CMD_WRITE", 0x4602},
+{"linux/fb.h", "FBIOGETCMAP", 0x4604},
+{"linux/fb.h", "FBIOPUTCMAP", 0x4605},
+{"linux/fb.h", "FBIOPAN_DISPLAY", 0x4606},
+{"linux/fb.h", "FBIOGET_FCURSORINFO", 0x4607},
+{"linux/fb.h", "FBIOGET_VCURSORINFO", 0x4608},
+{"linux/fb.h", "FBIOPUT_VCURSORINFO", 0x4609},
+{"linux/fb.h", "FBIOGET_CURSORSTATE", 0x460a},
+{"linux/fb.h", "FBIOPUT_CURSORSTATE", 0x460b},
+{"linux/fb.h", "FBIOGET_CON2FBMAP", 0x460f},
+{"linux/fb.h", "FBIOPUT_CON2FBMAP", 0x4610},
+{"linux/fb.h", "FBIOBLANK", 0x4611},
+{"linux/fb.h", "FBIO_ALLOC", 0x4613},
+{"linux/fb.h", "FBIO_FREE", 0x4614},
+{"linux/fb.h", "FBIOGET_GLYPH", 0x4615},
+{"linux/fb.h", "FBIOGET_HWCINFO", 0x4616},
+{"linux/isdn.h", "IIOCNETAIF", 0x4901},
+{"linux/isdn.h", "IIOCNETDIF", 0x4902},
+{"linux/isdn.h", "IIOCNETSCF", 0x4903},
+{"linux/isdn.h", "IIOCNETGCF", 0x4904},
+{"linux/isdn.h", "IIOCNETANM", 0x4905},
+{"linux/isdn.h", "IIOCNETDNM", 0x4906},
+{"linux/isdn.h", "IIOCNETGNM", 0x4907},
+{"linux/isdn.h", "IIOCGETSET", 0x4908},
+{"linux/isdn.h", "IIOCSETSET", 0x4909},
+{"linux/isdn.h", "IIOCSETVER", 0x490a},
+{"linux/isdn.h", "IIOCNETHUP", 0x490b},
+{"linux/isdn.h", "IIOCSETGST", 0x490c},
+{"linux/isdn.h", "IIOCSETBRJ", 0x490d},
+{"linux/isdn.h", "IIOCSIGPRF", 0x490e},
+{"linux/isdn.h", "IIOCGETPRF", 0x490f},
+{"linux/isdn.h", "IIOCSETPRF", 0x4910},
+{"linux/isdn.h", "IIOCGETMAP", 0x4911},
+{"linux/isdn.h", "IIOCSETMAP", 0x4912},
+{"linux/isdn.h", "IIOCNETASL", 0x4913},
+{"linux/isdn.h", "IIOCNETDIL", 0x4914},
+{"linux/isdn.h", "IIOCGETCPS", 0x4915},
+{"linux/isdn.h", "IIOCGETDVR", 0x4916},
+{"linux/isdn.h", "IIOCNETLCR", 0x4917},
+{"linux/isdn.h", "IIOCNETDWRSET", 0x4918},
+{"linux/isdn.h", "IIOCNETALN", 0x4920},
+{"linux/isdn.h", "IIOCNETDLN", 0x4921},
+{"linux/isdn.h", "IIOCNETGPN", 0x4922},
+{"linux/isdn.h", "IIOCDBGVAR", 0x497f},
+{"linux/isdn.h", "IIOCDRVCTL", 0x4980},
+{"linux/kd.h", "KIOCSOUND", 0x4b2f},
+{"linux/kd.h", "KDMKTONE", 0x4b30},
+{"linux/kd.h", "KDGETLED", 0x4b31},
+{"linux/kd.h", "KDSETLED", 0x4b32},
+{"linux/kd.h", "KDGKBTYPE", 0x4b33},
+{"linux/kd.h", "KDADDIO", 0x4b34},
+{"linux/kd.h", "KDDELIO", 0x4b35},
+{"linux/kd.h", "KDENABIO", 0x4b36},
+{"linux/kd.h", "KDDISABIO", 0x4b37},
+{"linux/kd.h", "KDSETMODE", 0x4b3a},
+{"linux/kd.h", "KDGETMODE", 0x4b3b},
+{"linux/kd.h", "KDMAPDISP", 0x4b3c},
+{"linux/kd.h", "KDUNMAPDISP", 0x4b3d},
+{"linux/kd.h", "GIO_SCRNMAP", 0x4b40},
+{"linux/kd.h", "PIO_SCRNMAP", 0x4b41},
+{"linux/kd.h", "KDGKBMODE", 0x4b44},
+{"linux/kd.h", "KDSKBMODE", 0x4b45},
+{"linux/kd.h", "KDGKBENT", 0x4b46},
+{"linux/kd.h", "KDSKBENT", 0x4b47},
+{"linux/kd.h", "KDGKBSENT", 0x4b48},
+{"linux/kd.h", "KDSKBSENT", 0x4b49},
+{"linux/kd.h", "KDGKBDIACR", 0x4b4a},
+{"linux/kd.h", "KDSKBDIACR", 0x4b4b},
+{"linux/kd.h", "KDGETKEYCODE", 0x4b4c},
+{"linux/kd.h", "KDSETKEYCODE", 0x4b4d},
+{"linux/kd.h", "KDSIGACCEPT", 0x4b4e},
+{"linux/kd.h", "KDGHWCLK", 0x4b50},
+{"linux/kd.h", "KDSHWCLK", 0x4b51},
+{"linux/kd.h", "KDKBDREP", 0x4b52},
+{"linux/kd.h", "GIO_FONT", 0x4b60},
+{"linux/kd.h", "PIO_FONT", 0x4b61},
+{"linux/kd.h", "KDGKBMETA", 0x4b62},
+{"linux/kd.h", "KDSKBMETA", 0x4b63},
+{"linux/kd.h", "KDGKBLED", 0x4b64},
+{"linux/kd.h", "KDSKBLED", 0x4b65},
+{"linux/kd.h", "GIO_UNIMAP", 0x4b66},
+{"linux/kd.h", "PIO_UNIMAP", 0x4b67},
+{"linux/kd.h", "PIO_UNIMAPCLR", 0x4b68},
+{"linux/kd.h", "GIO_UNISCRNMAP", 0x4b69},
+{"linux/kd.h", "PIO_UNISCRNMAP", 0x4b6a},
+{"linux/kd.h", "GIO_FONTX", 0x4b6b},
+{"linux/kd.h", "PIO_FONTX", 0x4b6c},
+{"linux/kd.h", "PIO_FONTRESET", 0x4b6d},
+{"linux/kd.h", "GIO_CMAP", 0x4b70},
+{"linux/kd.h", "PIO_CMAP", 0x4b71},
+{"linux/kd.h", "KDFONTOP", 0x4b72},
+{"linux/loop.h", "LOOP_SET_FD", 0x4c00},
+{"linux/loop.h", "LOOP_CLR_FD", 0x4c01},
+{"linux/loop.h", "LOOP_SET_STATUS", 0x4c02},
+{"linux/loop.h", "LOOP_GET_STATUS", 0x4c03},
+{"linux/random.h", "RNDZAPENTCNT", 0x5204},
+{"linux/random.h", "RNDCLEARPOOL", 0x5206},
+{"linux/cdrom.h", "CDROMPAUSE", 0x5301},
+{"linux/cdrom.h", "CDROMRESUME", 0x5302},
+{"linux/cdrom.h", "CDROMPLAYMSF", 0x5303},
+{"linux/cdrom.h", "CDROMPLAYTRKIND", 0x5304},
+{"linux/cdrom.h", "CDROMREADTOCHDR", 0x5305},
+{"linux/cdrom.h", "CDROMREADTOCENTRY", 0x5306},
+{"linux/cdrom.h", "CDROMSTOP", 0x5307},
+{"linux/cdrom.h", "CDROMSTART", 0x5308},
+{"linux/cdrom.h", "CDROMEJECT", 0x5309},
+{"linux/cdrom.h", "CDROMVOLCTRL", 0x530a},
+{"linux/cdrom.h", "CDROMSUBCHNL", 0x530b},
+{"linux/cdrom.h", "CDROMREADMODE2", 0x530c},
+{"linux/cdrom.h", "CDROMREADMODE1", 0x530d},
+{"linux/cdrom.h", "CDROMREADAUDIO", 0x530e},
+{"linux/cdrom.h", "CDROMEJECT_SW", 0x530f},
+{"linux/cdrom.h", "CDROMMULTISESSION", 0x5310},
+{"linux/cdrom.h", "CDROM_GET_MCN", 0x5311},
+{"linux/cdrom.h", "CDROMRESET", 0x5312},
+{"linux/cdrom.h", "CDROMVOLREAD", 0x5313},
+{"linux/cdrom.h", "CDROMREADRAW", 0x5314},
+{"linux/cdrom.h", "CDROMREADCOOKED", 0x5315},
+{"linux/cdrom.h", "CDROMSEEK", 0x5316},
+{"linux/cdrom.h", "CDROMPLAYBLK", 0x5317},
+{"linux/cdrom.h", "CDROMREADALL", 0x5318},
+{"linux/cdrom.h", "CDROMCLOSETRAY", 0x5319},
+{"linux/cdrom.h", "CDROMGETSPINDOWN", 0x531d},
+{"linux/cdrom.h", "CDROMSETSPINDOWN", 0x531e},
+{"linux/cdrom.h", "CDROM_SET_OPTIONS", 0x5320},
+{"linux/cdrom.h", "CDROM_CLEAR_OPTIONS", 0x5321},
+{"linux/cdrom.h", "CDROM_SELECT_SPEED", 0x5322},
+{"linux/cdrom.h", "CDROM_SELECT_DISC", 0x5323},
+{"linux/cdrom.h", "CDROM_MEDIA_CHANGED", 0x5325},
+{"linux/cdrom.h", "CDROM_DRIVE_STATUS", 0x5326},
+{"linux/cdrom.h", "CDROM_DISC_STATUS", 0x5327},
+{"linux/cdrom.h", "CDROM_CHANGER_NSLOTS", 0x5328},
+{"linux/cdrom.h", "CDROM_LOCKDOOR", 0x5329},
+{"linux/cdrom.h", "CDROM_DEBUG", 0x5330},
+{"linux/cdrom.h", "CDROM_GET_CAPABILITY", 0x5331},
+{"scsi/scsi_ioctl.h", "SCSI_IOCTL_DOORLOCK", 0x5380},
+{"scsi/scsi_ioctl.h", "SCSI_IOCTL_DOORUNLOCK", 0x5381},
+{"scsi/scsi.h", "SCSI_IOCTL_GET_IDLUN", 0x5382},
+{"scsi/scsi.h", "SCSI_IOCTL_TAGGED_ENABLE", 0x5383},
+{"scsi/scsi.h", "SCSI_IOCTL_TAGGED_DISABLE", 0x5384},
+{"scsi/scsi.h", "SCSI_IOCTL_PROBE_HOST", 0x5385},
+{"scsi/scsi.h", "SCSI_IOCTL_GET_BUS_NUMBER", 0x5386},
+{"linux/cdrom.h", "DVD_READ_STRUCT", 0x5390},
+{"linux/cdrom.h", "DVD_WRITE_STRUCT", 0x5391},
+{"linux/cdrom.h", "DVD_AUTH", 0x5392},
+{"linux/cdrom.h", "CDROM_SEND_PACKET", 0x5393},
+{"linux/cdrom.h", "CDROM_NEXT_WRITABLE", 0x5394},
+{"linux/cdrom.h", "CDROM_LAST_WRITTEN", 0x5395},
+{"asm/ioctls.h", "TCGETS", 0x5401},
+{"asm/ioctls.h", "TCSETS", 0x5402},
+{"asm/ioctls.h", "TCSETSW", 0x5403},
+{"asm/ioctls.h", "TCSETSF", 0x5404},
+{"asm/ioctls.h", "TCGETA", 0x5405},
+{"asm/ioctls.h", "TCSETA", 0x5406},
+{"asm/ioctls.h", "TCSETAW", 0x5407},
+{"asm/ioctls.h", "TCSETAF", 0x5408},
+{"asm/ioctls.h", "TCSBRK", 0x5409},
+{"asm/ioctls.h", "TCXONC", 0x540a},
+{"asm/ioctls.h", "TCFLSH", 0x540b},
+{"asm/ioctls.h", "TIOCEXCL", 0x540c},
+{"asm/ioctls.h", "TIOCNXCL", 0x540d},
+{"asm/ioctls.h", "TIOCSCTTY", 0x540e},
+{"asm/ioctls.h", "TIOCGPGRP", 0x540f},
+{"asm/ioctls.h", "TIOCSPGRP", 0x5410},
+{"asm/ioctls.h", "TIOCOUTQ", 0x5411},
+{"asm/ioctls.h", "TIOCSTI", 0x5412},
+{"asm/ioctls.h", "TIOCGWINSZ", 0x5413},
+{"asm/ioctls.h", "TIOCSWINSZ", 0x5414},
+{"asm/ioctls.h", "TIOCMGET", 0x5415},
+{"asm/ioctls.h", "TIOCMBIS", 0x5416},
+{"asm/ioctls.h", "TIOCMBIC", 0x5417},
+{"asm/ioctls.h", "TIOCMSET", 0x5418},
+{"asm/ioctls.h", "TIOCGSOFTCAR", 0x5419},
+{"asm/ioctls.h", "TIOCSSOFTCAR", 0x541a},
+{"asm/ioctls.h", "FIONREAD", 0x541b},
+{"asm/ioctls.h", "TIOCLINUX", 0x541c},
+{"asm/ioctls.h", "TIOCCONS", 0x541d},
+{"asm/ioctls.h", "TIOCGSERIAL", 0x541e},
+{"asm/ioctls.h", "TIOCSSERIAL", 0x541f},
+{"asm/ioctls.h", "TIOCPKT", 0x5420},
+{"asm/ioctls.h", "FIONBIO", 0x5421},
+{"asm/ioctls.h", "TIOCNOTTY", 0x5422},
+{"asm/ioctls.h", "TIOCSETD", 0x5423},
+{"asm/ioctls.h", "TIOCGETD", 0x5424},
+{"asm/ioctls.h", "TCSBRKP", 0x5425},
+{"asm/ioctls.h", "TIOCTTYGSTRUCT", 0x5426},
+{"asm/ioctls.h", "TIOCSBRK", 0x5427},
+{"asm/ioctls.h", "TIOCCBRK", 0x5428},
+{"asm/ioctls.h", "TIOCGSID", 0x5429},
+{"asm/ioctls.h", "FIONCLEX", 0x5450},
+{"asm/ioctls.h", "FIOCLEX", 0x5451},
+{"asm/ioctls.h", "FIOASYNC", 0x5452},
+{"asm/ioctls.h", "TIOCSERCONFIG", 0x5453},
+{"asm/ioctls.h", "TIOCSERGWILD", 0x5454},
+{"asm/ioctls.h", "TIOCSERSWILD", 0x5455},
+{"asm/ioctls.h", "TIOCGLCKTRMIOS", 0x5456},
+{"asm/ioctls.h", "TIOCSLCKTRMIOS", 0x5457},
+{"asm/ioctls.h", "TIOCSERGSTRUCT", 0x5458},
+{"asm/ioctls.h", "TIOCSERGETLSR", 0x5459},
+{"asm/ioctls.h", "TIOCSERGETMULTI", 0x545a},
+{"asm/ioctls.h", "TIOCSERSETMULTI", 0x545b},
+{"asm/ioctls.h", "TIOCMIWAIT", 0x545c},
+{"asm/ioctls.h", "TIOCGICOUNT", 0x545d},
+{"asm/ioctls.h", "FIOQSIZE", 0x545e},
+{"linux/usbdevice_fs.h", "USBDEVFS_DISCARDURB", 0x550b},
+{"linux/usbdevice_fs.h", "USBDEVFS_RESET", 0x5514},
+{"linux/vt.h", "VT_OPENQRY", 0x5600},
+{"linux/vt.h", "VT_GETMODE", 0x5601},
+{"linux/vt.h", "VT_SETMODE", 0x5602},
+{"linux/vt.h", "VT_GETSTATE", 0x5603},
+{"linux/vt.h", "VT_SENDSIG", 0x5604},
+{"linux/vt.h", "VT_RELDISP", 0x5605},
+{"linux/vt.h", "VT_ACTIVATE", 0x5606},
+{"linux/vt.h", "VT_WAITACTIVE", 0x5607},
+{"linux/vt.h", "VT_DISALLOCATE", 0x5608},
+{"linux/vt.h", "VT_RESIZE", 0x5609},
+{"linux/vt.h", "VT_RESIZEX", 0x560a},
+{"linux/vt.h", "VT_LOCKSWITCH", 0x560b},
+{"linux/vt.h", "VT_UNLOCKSWITCH", 0x560c},
+{"linux/sonet.h", "SONET_SETFRAMING", 0x6115},
+{"linux/atm_nicstar.h", "NS_ADJBUFLEV", 0x6163},
+{"linux/atm_tcp.h", "SIOCSIFATMTCP", 0x6180},
+{"linux/atm_tcp.h", "ATMTCP_CREATE", 0x618e},
+{"linux/atm_tcp.h", "ATMTCP_REMOVE", 0x618f},
+{"linux/atmlec.h", "ATMLEC_CTRL", 0x61d0},
+{"linux/atmlec.h", "ATMLEC_DATA", 0x61d1},
+{"linux/atmlec.h", "ATMLEC_MCAST", 0x61d2},
+{"linux/atmmpc.h", "ATMMPC_CTRL", 0x61d8},
+{"linux/atmmpc.h", "ATMMPC_DATA", 0x61d9},
+{"linux/atmclip.h", "SIOCMKCLIP", 0x61e0},
+{"linux/atmarp.h", "ATMARPD_CTRL", 0x61e1},
+{"linux/atmarp.h", "ATMARP_MKIP", 0x61e2},
+{"linux/atmarp.h", "ATMARP_SETENTRY", 0x61e3},
+{"linux/atmarp.h", "ATMARP_ENCAP", 0x61e5},
+{"linux/atmsvc.h", "ATMSIGD_CTRL", 0x61f0},
+{"linux/comstats.h", "COM_GETPORTSTATS", 0x631e},
+{"linux/comstats.h", "COM_CLRPORTSTATS", 0x631f},
+{"linux/comstats.h", "COM_GETBRDSTATS", 0x6320},
+{"linux/comstats.h", "COM_READPORT", 0x6328},
+{"linux/comstats.h", "COM_READBOARD", 0x6329},
+{"linux/comstats.h", "COM_READPANEL", 0x632a},
+{"linux/video_decoder.h", "DECODER_DUMP", 0x64c0},
+{"linux/synclink.h", "MGSL_IOCSTXIDLE", 0x6d02},
+{"linux/synclink.h", "MGSL_IOCGTXIDLE", 0x6d03},
+{"linux/synclink.h", "MGSL_IOCTXENABLE", 0x6d04},
+{"linux/synclink.h", "MGSL_IOCRXENABLE", 0x6d05},
+{"linux/synclink.h", "MGSL_IOCTXABORT", 0x6d06},
+{"linux/synclink.h", "MGSL_IOCGSTATS", 0x6d07},
+{"linux/synclink.h", "MGSL_IOCLOOPTXDONE", 0x6d09},
+{"linux/synclink.h", "MGSL_IOCCLRMODCOUNT", 0x6d0f},
+{"linux/ncp_fs.h", "NCP_IOC_CONN_LOGGED_IN", 0x6e03},
+{"linux/rtc.h", "RTC_AIE_ON", 0x7001},
+{"linux/rtc.h", "RTC_AIE_OFF", 0x7002},
+{"linux/rtc.h", "RTC_UIE_ON", 0x7003},
+{"linux/rtc.h", "RTC_UIE_OFF", 0x7004},
+{"linux/rtc.h", "RTC_PIE_ON", 0x7005},
+{"linux/rtc.h", "RTC_PIE_OFF", 0x7006},
+{"linux/rtc.h", "RTC_WIE_ON", 0x700f},
+{"linux/rtc.h", "RTC_WIE_OFF", 0x7010},
+{"linux/nvram.h", "NVRAM_INIT", 0x7040},
+{"linux/nvram.h", "NVRAM_SETCKS", 0x7041},
+{"linux/ppdev.h", "PPCLAIM", 0x708b},
+{"linux/ppdev.h", "PPRELEASE", 0x708c},
+{"linux/ppdev.h", "PPYIELD", 0x708d},
+{"linux/ppdev.h", "PPEXCL", 0x708f},
+{"linux/telephony.h", "PHONE_CAPABILITIES", 0x7180},
+{"linux/telephony.h", "PHONE_RING", 0x7183},
+{"linux/telephony.h", "PHONE_HOOKSTATE", 0x7184},
+{"linux/telephony.h", "PHONE_RING_START", 0x7187},
+{"linux/telephony.h", "PHONE_RING_STOP", 0x7188},
+{"linux/telephony.h", "PHONE_REC_START", 0x718a},
+{"linux/telephony.h", "PHONE_REC_STOP", 0x718b},
+{"linux/telephony.h", "PHONE_REC_LEVEL", 0x718f},
+{"linux/telephony.h", "PHONE_PLAY_START", 0x7191},
+{"linux/telephony.h", "PHONE_PLAY_STOP", 0x7192},
+{"linux/telephony.h", "PHONE_PLAY_LEVEL", 0x7195},
+{"linux/telephony.h", "PHONE_GET_TONE_ON_TIME", 0x719e},
+{"linux/telephony.h", "PHONE_GET_TONE_OFF_TIME", 0x719f},
+{"linux/telephony.h", "PHONE_GET_TONE_STATE", 0x71a0},
+{"linux/telephony.h", "PHONE_BUSY", 0x71a1},
+{"linux/telephony.h", "PHONE_RINGBACK", 0x71a2},
+{"linux/telephony.h", "PHONE_DIALTONE", 0x71a3},
+{"linux/telephony.h", "PHONE_CPT_STOP", 0x71a4},
+{"linux/telephony.h", "PHONE_PSTN_GET_STATE", 0x71a5},
+{"linux/telephony.h", "PHONE_PSTN_LINETEST", 0x71a8},
+{"linux/ixjuser.h", "IXJCTL_DSP_RESET", 0x71c0},
+{"linux/ixjuser.h", "IXJCTL_DSP_IDLE", 0x71c5},
+{"linux/ixjuser.h", "IXJCTL_TESTRAM", 0x71c6},
+{"linux/ixjuser.h", "IXJCTL_AEC_STOP", 0x71cc},
+{"linux/ixjuser.h", "IXJCTL_AEC_GET_LEVEL", 0x71cd},
+{"linux/ixjuser.h", "IXJCTL_PSTN_LINETEST", 0x71d3},
+{"linux/ixjuser.h", "IXJCTL_DRYBUFFER_CLEAR", 0x71e7},
+{"linux/cdk.h", "STL_BINTR", 0x7314},
+{"linux/cdk.h", "STL_BSTART", 0x7315},
+{"linux/cdk.h", "STL_BSTOP", 0x7316},
+{"linux/cdk.h", "STL_BRESET", 0x7317},
+{"linux/cdk.h", "STL_GETPFLAG", 0x7350},
+{"linux/cdk.h", "STL_SETPFLAG", 0x7351},
+{"linux/if_ppp.h", "PPPIOCDISCONN", 0x7439},
+{"linux/if_ppp.h", "PPPIOCXFERUNIT", 0x744e},
+{"linux/jffs.h", "JFFS_PRINT_HASH", 0x745a},
+{"linux/jffs.h", "JFFS_PRINT_TREE", 0x745b},
+{"linux/jffs.h", "JFFS_GET_STATUS", 0x745c},
+{"asm/sockios.h", "FIOSETOWN", 0x8901},
+{"asm/sockios.h", "SIOCSPGRP", 0x8902},
+{"asm/sockios.h", "FIOGETOWN", 0x8903},
+{"asm/sockios.h", "SIOCGPGRP", 0x8904},
+{"asm/sockios.h", "SIOCATMARK", 0x8905},
+{"asm/sockios.h", "SIOCGSTAMP", 0x8906},
+{"linux/sockios.h", "SIOCADDRT", 0x890b},
+{"linux/sockios.h", "SIOCDELRT", 0x890c},
+{"linux/sockios.h", "SIOCRTMSG", 0x890d},
+{"linux/sockios.h", "SIOCGIFNAME", 0x8910},
+{"linux/sockios.h", "SIOCSIFLINK", 0x8911},
+{"linux/sockios.h", "SIOCGIFCONF", 0x8912},
+{"linux/sockios.h", "SIOCGIFFLAGS", 0x8913},
+{"linux/sockios.h", "SIOCSIFFLAGS", 0x8914},
+{"linux/sockios.h", "SIOCGIFADDR", 0x8915},
+{"linux/sockios.h", "SIOCSIFADDR", 0x8916},
+{"linux/sockios.h", "SIOCGIFDSTADDR", 0x8917},
+{"linux/sockios.h", "SIOCSIFDSTADDR", 0x8918},
+{"linux/sockios.h", "SIOCGIFBRDADDR", 0x8919},
+{"linux/sockios.h", "SIOCSIFBRDADDR", 0x891a},
+{"linux/sockios.h", "SIOCGIFNETMASK", 0x891b},
+{"linux/sockios.h", "SIOCSIFNETMASK", 0x891c},
+{"linux/sockios.h", "SIOCGIFMETRIC", 0x891d},
+{"linux/sockios.h", "SIOCSIFMETRIC", 0x891e},
+{"linux/sockios.h", "SIOCGIFMEM", 0x891f},
+{"linux/sockios.h", "SIOCSIFMEM", 0x8920},
+{"linux/sockios.h", "SIOCGIFMTU", 0x8921},
+{"linux/sockios.h", "SIOCSIFMTU", 0x8922},
+{"linux/sockios.h", "SIOCSIFNAME", 0x8923},
+{"linux/sockios.h", "SIOCSIFHWADDR", 0x8924},
+{"linux/sockios.h", "SIOCGIFENCAP", 0x8925},
+{"linux/sockios.h", "SIOCSIFENCAP", 0x8926},
+{"linux/sockios.h", "SIOCGIFHWADDR", 0x8927},
+{"linux/sockios.h", "SIOCGIFSLAVE", 0x8929},
+{"linux/sockios.h", "SIOCSIFSLAVE", 0x8930},
+{"linux/sockios.h", "SIOCADDMULTI", 0x8931},
+{"linux/sockios.h", "SIOCDELMULTI", 0x8932},
+{"linux/sockios.h", "SIOCGIFINDEX", 0x8933},
+{"linux/sockios.h", "SIOCSIFPFLAGS", 0x8934},
+{"linux/sockios.h", "SIOCGIFPFLAGS", 0x8935},
+{"linux/sockios.h", "SIOCDIFADDR", 0x8936},
+{"linux/sockios.h", "SIOCSIFHWBROADCAST", 0x8937},
+{"linux/sockios.h", "SIOCGIFCOUNT", 0x8938},
+{"linux/sockios.h", "SIOCGIFBR", 0x8940},
+{"linux/sockios.h", "SIOCSIFBR", 0x8941},
+{"linux/sockios.h", "SIOCGIFTXQLEN", 0x8942},
+{"linux/sockios.h", "SIOCSIFTXQLEN", 0x8943},
+{"linux/sockios.h", "SIOCDARP", 0x8953},
+{"linux/sockios.h", "SIOCGARP", 0x8954},
+{"linux/sockios.h", "SIOCSARP", 0x8955},
+{"linux/sockios.h", "SIOCDRARP", 0x8960},
+{"linux/sockios.h", "SIOCGRARP", 0x8961},
+{"linux/sockios.h", "SIOCSRARP", 0x8962},
+{"linux/sockios.h", "SIOCGIFMAP", 0x8970},
+{"linux/sockios.h", "SIOCSIFMAP", 0x8971},
+{"linux/sockios.h", "SIOCADDDLCI", 0x8980},
+{"linux/sockios.h", "SIOCDELDLCI", 0x8981},
+{"linux/sockios.h", "SIOCPROTOPRIVATE", 0x89e0},
+{"linux/sockios.h", "SIOCDEVPRIVATE", 0x89f0},
+{"linux/auto_fs.h", "AUTOFS_IOC_READY", 0x9360},
+{"linux/auto_fs.h", "AUTOFS_IOC_FAIL", 0x9361},
+{"linux/auto_fs.h", "AUTOFS_IOC_CATATONIC", 0x9362},
+{"linux/nbd.h", "NBD_SET_SOCK", 0xab00},
+{"linux/nbd.h", "NBD_SET_BLKSIZE", 0xab01},
+{"linux/nbd.h", "NBD_SET_SIZE", 0xab02},
+{"linux/nbd.h", "NBD_DO_IT", 0xab03},
+{"linux/nbd.h", "NBD_CLEAR_SOCK", 0xab04},
+{"linux/nbd.h", "NBD_CLEAR_QUE", 0xab05},
+{"linux/nbd.h", "NBD_PRINT_DEBUG", 0xab06},
+{"linux/nbd.h", "NBD_SET_SIZE_BLOCKS", 0xab07},
+{"linux/nbd.h", "NBD_DISCONNECT", 0xab08},
+{"linux/raw.h", "RAW_SETBIND", 0xac00},
+{"linux/raw.h", "RAW_GETBIND", 0xac01},
+{"linux/if_pppox.h", "PPPOEIOCDFWD", 0xb101},
+{"linux/lvm.h", "LV_ACTIVATE", 0xfe22},
+{"linux/lvm.h", "LV_DEACTIVATE", 0xfe23},
+{"linux/lvm.h", "LVM_RESET", 0xfe99},
+{"linux/lvm.h", "LVM_LOCK_LVM", 0xff00},
+{"linux/cyclades.h", "CYGETMON", 0x435901},
+{"linux/cyclades.h", "CYGETTHRESH", 0x435902},
+{"linux/cyclades.h", "CYSETTHRESH", 0x435903},
+{"linux/cyclades.h", "CYGETDEFTHRESH", 0x435904},
+{"linux/cyclades.h", "CYSETDEFTHRESH", 0x435905},
+{"linux/cyclades.h", "CYGETTIMEOUT", 0x435906},
+{"linux/cyclades.h", "CYSETTIMEOUT", 0x435907},
+{"linux/cyclades.h", "CYGETDEFTIMEOUT", 0x435908},
+{"linux/cyclades.h", "CYSETDEFTIMEOUT", 0x435909},
+{"linux/cyclades.h", "CYSETRFLOW", 0x43590a},
+{"linux/cyclades.h", "CYGETRFLOW", 0x43590b},
+{"linux/cyclades.h", "CYSETRTSDTR_INV", 0x43590c},
+{"linux/cyclades.h", "CYGETRTSDTR_INV", 0x43590d},
+{"linux/cyclades.h", "CYZSETPOLLCYCLE", 0x43590e},
+{"linux/cyclades.h", "CYZGETPOLLCYCLE", 0x43590f},
+{"linux/cyclades.h", "CYGETCD1400VER", 0x435910},
+{"linux/cyclades.h", "CYGETCARDINFO", 0x435911},
+{"linux/cyclades.h", "CYSETWAIT", 0x435912},
+{"linux/cyclades.h", "CYGETWAIT", 0x435913},
+{"linux/soundcard.h", "SOUND_MIXER_READ_VOLUME", 0x20044d00},
+{"linux/soundcard.h", "SOUND_MIXER_READ_BASS", 0x20044d01},
+{"linux/soundcard.h", "SOUND_MIXER_READ_TREBLE", 0x20044d02},
+{"linux/soundcard.h", "SOUND_MIXER_READ_SYNTH", 0x20044d03},
+{"linux/soundcard.h", "SOUND_MIXER_READ_PCM", 0x20044d04},
+{"linux/soundcard.h", "SOUND_MIXER_READ_SPEAKER", 0x20044d05},
+{"linux/soundcard.h", "SOUND_MIXER_READ_LINE", 0x20044d06},
+{"linux/soundcard.h", "SOUND_MIXER_READ_MIC", 0x20044d07},
+{"linux/soundcard.h", "SOUND_MIXER_READ_CD", 0x20044d08},
+{"linux/soundcard.h", "SOUND_MIXER_READ_IMIX", 0x20044d09},
+{"linux/soundcard.h", "SOUND_MIXER_READ_ALTPCM", 0x20044d0a},
+{"linux/soundcard.h", "SOUND_MIXER_READ_RECLEV", 0x20044d0b},
+{"linux/soundcard.h", "SOUND_MIXER_READ_IGAIN", 0x20044d0c},
+{"linux/soundcard.h", "SOUND_MIXER_READ_OGAIN", 0x20044d0d},
+{"linux/soundcard.h", "SOUND_MIXER_READ_LINE1", 0x20044d0e},
+{"linux/soundcard.h", "SOUND_MIXER_READ_LINE2", 0x20044d0f},
+{"linux/soundcard.h", "SOUND_MIXER_READ_LINE3", 0x20044d10},
+{"linux/soundcard.h", "SOUND_MIXER_READ_MUTE", 0x20044d1f},
+{"linux/soundcard.h", "SOUND_MIXER_READ_ENHANCE", 0x20044d1f},
+{"linux/soundcard.h", "SOUND_MIXER_READ_LOUD", 0x20044d1f},
+{"linux/soundcard.h", "SOUND_MIXER_READ_STEREODEVS", 0x20044dfb},
+{"linux/soundcard.h", "SOUND_MIXER_READ_CAPS", 0x20044dfc},
+{"linux/soundcard.h", "SOUND_MIXER_READ_RECMASK", 0x20044dfd},
+{"linux/soundcard.h", "SOUND_MIXER_READ_DEVMASK", 0x20044dfe},
+{"linux/soundcard.h", "SOUND_MIXER_READ_RECSRC", 0x20044dff},
+{"linux/ppdev.h", "PPWCONTROL", 0x40017084},
+{"linux/ppdev.h", "PPWDATA", 0x40017086},
+{"linux/ppdev.h", "PPWCTLONIRQ", 0x40017092},
+{"linux/telephony.h", "PHONE_MAXRINGS", 0x40017185},
+{"linux/telephony.h", "PHONE_PLAY_TONE", 0x4001719b},
+{"linux/ppdev.h", "PPFCONTROL", 0x4002708e},
+{"linux/telephony.h", "PHONE_RING_CADENCE", 0x40027186},
+{"linux/agpgart.h", "AGPIOC_DEALLOCATE", 0x40044107},
+{"linux/random.h", "RNDADDTOENTCNT", 0x40045201},
+{"asm/ioctls.h", "TIOCSPTLCK", 0x40045431},
+{"linux/atmdev.h", "ATM_SETSC", 0x400461f1},
+{"linux/devfs_fs.h", "DEVFSDIOC_SET_EVENT_MASK", 0x40046402},
+{"linux/devfs_fs.h", "DEVFSDIOC_RELEASE_EVENT_QUEUE", 0x40046403},
+{"linux/video_decoder.h", "DECODER_SET_NORM", 0x40046403},
+{"linux/devfs_fs.h", "DEVFSDIOC_SET_DEBUG_MASK", 0x40046404},
+{"linux/video_decoder.h", "DECODER_SET_INPUT", 0x40046404},
+{"linux/video_decoder.h", "DECODER_SET_OUTPUT", 0x40046405},
+{"linux/video_decoder.h", "DECODER_ENABLE_OUTPUT", 0x40046406},
+{"linux/video_encoder.h", "ENCODER_SET_NORM", 0x40046502},
+{"linux/video_encoder.h", "ENCODER_SET_INPUT", 0x40046503},
+{"linux/video_encoder.h", "ENCODER_SET_OUTPUT", 0x40046504},
+{"linux/video_encoder.h", "ENCODER_ENABLE_OUTPUT", 0x40046505},
+{"linux/ncp_fs.h", "NCP_IOC_GETMOUNTUID", 0x40046e02},
+{"linux/ncp_fs.h", "NCP_IOC_SET_SIGN_WANTED", 0x40046e06},
+{"linux/ncp_fs.h", "NCP_IOC_GETDENTRYTTL", 0x40046e0c},
+{"linux/ppdev.h", "PPSETMODE", 0x40047080},
+{"linux/ppdev.h", "PPDATADIR", 0x40047090},
+{"linux/ppdev.h", "PPNEGOT", 0x40047091},
+{"linux/ppdev.h", "PPSETPHASE", 0x40047094},
+{"linux/telephony.h", "PHONE_REC_CODEC", 0x40047189},
+{"linux/telephony.h", "PHONE_REC_DEPTH", 0x4004718c},
+{"linux/telephony.h", "PHONE_FRAME", 0x4004718d},
+{"linux/telephony.h", "PHONE_REC_VOLUME", 0x4004718e},
+{"linux/telephony.h", "PHONE_PLAY_CODEC", 0x40047190},
+{"linux/telephony.h", "PHONE_PLAY_DEPTH", 0x40047193},
+{"linux/telephony.h", "PHONE_PLAY_VOLUME", 0x40047194},
+{"linux/telephony.h", "PHONE_DTMF_OOB", 0x40047199},
+{"linux/telephony.h", "PHONE_SET_TONE_ON_TIME", 0x4004719c},
+{"linux/telephony.h", "PHONE_SET_TONE_OFF_TIME", 0x4004719d},
+{"linux/telephony.h", "PHONE_PSTN_SET_STATE", 0x400471a4},
+{"linux/telephony.h", "PHONE_WINK_DURATION", 0x400471a6},
+{"linux/ixjuser.h", "IXJCTL_GET_FILTER_HIST", 0x400471c8},
+{"linux/ixjuser.h", "IXJCTL_AEC_START", 0x400471cb},
+{"linux/ixjuser.h", "IXJCTL_SET_LED", 0x400471ce},
+{"linux/ixjuser.h", "IXJCTL_MIXER", 0x400471cf},
+{"linux/ixjuser.h", "IXJCTL_DAA_COEFF_SET", 0x400471d0},
+{"linux/ixjuser.h", "IXJCTL_PORT", 0x400471d1},
+{"linux/ixjuser.h", "IXJCTL_DAA_AGAIN", 0x400471d2},
+{"linux/ixjuser.h", "IXJCTL_POTS_PSTN", 0x400471d5},
+{"linux/ixjuser.h", "IXJCTL_HZ", 0x400471e0},
+{"linux/ixjuser.h", "IXJCTL_RATE", 0x400471e1},
+{"linux/ixjuser.h", "IXJCTL_INTERCOM_START", 0x400471fd},
+{"linux/ixjuser.h", "IXJCTL_INTERCOM_STOP", 0x400471fe},
+{"linux/if_ppp.h", "PPPIOCATTCHAN", 0x40047438},
+{"linux/if_ppp.h", "PPPIOCCONNECT", 0x4004743a},
+{"linux/if_ppp.h", "PPPIOCSMRRU", 0x4004743b},
+{"linux/if_ppp.h", "PPPIOCDETACH", 0x4004743c},
+{"linux/if_ppp.h", "PPPIOCATTACH", 0x4004743d},
+{"linux/if_ppp.h", "PPPIOCSDEBUG", 0x40047440},
+{"linux/if_ppp.h", "PPPIOCSMAXCID", 0x40047451},
+{"linux/if_ppp.h", "PPPIOCSMRU", 0x40047452},
+{"linux/if_ppp.h", "PPPIOCSRASYNCMAP", 0x40047454},
+{"linux/if_ppp.h", "PPPIOCSASYNCMAP", 0x40047457},
+{"linux/if_ppp.h", "PPPIOCSFLAGS", 0x40047459},
+{"linux/isdn_ppp.h", "PPPIOCBUNDLE", 0x40047481},
+{"linux/isdn_ppp.h", "PPPIOCSMPFLAGS", 0x40047483},
+{"linux/isdn_ppp.h", "PPPIOCSMPMTU", 0x40047484},
+{"linux/isdn_ppp.h", "PPPIOCSMPMRU", 0x40047485},
+{"linux/isdn_ppp.h", "PPPIOCSCOMPRESSOR", 0x40047487},
+{"linux/videodev.h", "VIDIOCCAPTURE", 0x40047608},
+{"linux/videodev.h", "VIDIOCSYNC", 0x40047612},
+{"linux/videodev.h", "VIDIOCSWRITEMODE", 0x40047619},
+{"linux/dn.h", "SIOCSNETADDR", 0x400489e0},
+{"linux/dn.h", "OSIOCSNETADDR", 0x400489e0},
+{"linux/auto_fs4.h", "AUTOFS_IOC_EXPIRE_MULTI", 0x40049366},
+{"linux/lvm.h", "VG_CREATE", 0x4004fe00},
+{"linux/lvm.h", "VG_REMOVE", 0x4004fe01},
+{"linux/lvm.h", "VG_EXTEND", 0x4004fe03},
+{"linux/lvm.h", "VG_REDUCE", 0x4004fe04},
+{"linux/lvm.h", "VG_SET_EXTENDABLE", 0x4004fe08},
+{"linux/lvm.h", "LV_CREATE", 0x4004fe20},
+{"linux/lvm.h", "LV_REMOVE", 0x4004fe21},
+{"linux/lvm.h", "LV_EXTEND", 0x4004fe24},
+{"linux/lvm.h", "LV_REDUCE", 0x4004fe25},
+{"linux/lvm.h", "LV_SET_ACCESS", 0x4004fe28},
+{"linux/lvm.h", "LV_SET_ALLOCATION", 0x4004fe29},
+{"linux/lvm.h", "LV_SET_STATUS", 0x4004fe2a},
+{"linux/lvm.h", "LE_REMAP", 0x4004fe2b},
+{"linux/lvm.h", "PV_FLUSH", 0x4004fe42},
+{"linux/lvm.h", "PE_LOCK_UNLOCK", 0x4004fe50},
+{"linux/elevator.h", "BLKELVSET", 0x4008126b},
+{"linux/fs.h", "BLKELVSET", 0x4008126b},
+{"linux/agpgart.h", "AGPIOC_SETUP", 0x40084103},
+{"linux/agpgart.h", "AGPIOC_RESERVE", 0x40084104},
+{"linux/agpgart.h", "AGPIOC_PROTECT", 0x40084105},
+{"linux/agpgart.h", "AGPIOC_BIND", 0x40084108},
+{"linux/agpgart.h", "AGPIOC_UNBIND", 0x40084109},
+{"linux/pmu.h", "PMU_IOC_SET_BACKLIGHT", 0x40084202},
+{"linux/input.h", "EVIOCSREP", 0x40084503},
+{"linux/input.h", "EVIOCSKEYCODE", 0x40084504},
+{"linux/random.h", "RNDADDENTROPY", 0x40085203},
+{"linux/usbdevice_fs.h", "USBDEVFS_REAPURB", 0x4008550c},
+{"linux/usbdevice_fs.h", "USBDEVFS_REAPURBNDELAY", 0x4008550d},
+{"linux/usbdevice_fs.h", "USBDEVFS_CONNECTINFO", 0x40085511},
+{"linux/ext2_fs.h", "EXT2_IOC_SETFLAGS", 0x40086602},
+{"linux/mtio.h", "MTIOCTOP", 0x40086d01},
+{"linux/ncp_fs.h", "NCP_IOC_GETMOUNTUID2", 0x40086e02},
+{"linux/matroxfb.h", "MATROXFB_SET_OUTPUT_CONNECTION", 0x40086ef8},
+{"linux/matroxfb.h", "MATROXFB_SET_OUTPUT_MODE", 0x40086efa},
+{"linux/rtc.h", "RTC_IRQP_SET", 0x4008700c},
+{"linux/rtc.h", "RTC_EPOCH_SET", 0x4008700e},
+{"linux/serio.h", "SPIOCSTYPE", 0x40087101},
+{"linux/telephony.h", "PHONE_CAPABILITIES_CHECK", 0x40087182},
+{"linux/ixjuser.h", "IXJCTL_SET_FILTER", 0x400871c7},
+{"linux/ixjuser.h", "IXJCTL_INIT_TONE", 0x400871c9},
+{"linux/ixjuser.h", "IXJCTL_TONE_CADENCE", 0x400871ca},
+{"linux/if_ppp.h", "PPPIOCSNPMODE", 0x4008744b},
+{"linux/ext2_fs.h", "EXT2_IOC_SETVERSION", 0x40087602},
+{"linux/videodev.h", "VIDIOCSFREQ", 0x4008760f},
+{"linux/if_pppox.h", "PPPOEIOCSFWD", 0x4008b100},
+{"linux/fd.h", "FDFMTTRK", 0x400c0248},
+{"linux/capi.h", "CAPI_REGISTER", 0x400c4301},
+{"linux/i2o-dev.h", "I2OEVTREG", 0x400c690a},
+{"linux/ncp_fs.h", "NCP_IOC_GETROOT", 0x400c6e08},
+{"linux/videodev.h", "VIDIOCSPLAYMODE", 0x400c7618},
+{"linux/video_decoder.h", "DECODER_SET_PICTURE", 0x400e6407},
+{"linux/videodev.h", "VIDIOCSPICT", 0x400e7607},
+{"asm/dasd.h", "BIODASDFMT", 0x40104401},
+{"linux/atm_idt77105.h", "IDT77105_GETSTAT", 0x40106132},
+{"linux/atm_idt77105.h", "IDT77105_GETSTATZ", 0x40106133},
+{"linux/atmdev.h", "ATM_GETSTAT", 0x40106150},
+{"linux/atmdev.h", "ATM_GETSTATZ", 0x40106151},
+{"linux/atmdev.h", "ATM_GETLOOP", 0x40106152},
+{"linux/atmdev.h", "ATM_SETLOOP", 0x40106153},
+{"linux/atmdev.h", "ATM_QUERYLOOP", 0x40106154},
+{"linux/atm_eni.h", "ENI_MEMDUMP", 0x40106160},
+{"linux/atm_zatm.h", "ZATM_GETPOOL", 0x40106161},
+{"linux/atm_nicstar.h", "NS_SETBUFLEV", 0x40106162},
+{"linux/atm_zatm.h", "ZATM_GETPOOLZ", 0x40106162},
+{"linux/atm_zatm.h", "ZATM_SETPOOL", 0x40106163},
+{"linux/atm_zatm.h", "ZATM_GETTHIST", 0x40106164},
+{"linux/atm_eni.h", "ENI_SETMULT", 0x40106167},
+{"linux/atmdev.h", "ATM_GETLINKRATE", 0x40106181},
+{"linux/atmdev.h", "ATM_GETNAMES", 0x40106183},
+{"linux/atmdev.h", "ATM_GETTYPE", 0x40106184},
+{"linux/atmdev.h", "ATM_GETESI", 0x40106185},
+{"linux/atmdev.h", "ATM_GETADDR", 0x40106186},
+{"linux/atmdev.h", "ATM_RSTADDR", 0x40106187},
+{"linux/atmdev.h", "ATM_ADDADDR", 0x40106188},
+{"linux/atmdev.h", "ATM_DELADDR", 0x40106189},
+{"linux/atmdev.h", "ATM_GETCIRANGE", 0x4010618a},
+{"linux/atmdev.h", "ATM_SETCIRANGE", 0x4010618b},
+{"linux/atmdev.h", "ATM_SETESI", 0x4010618c},
+{"linux/atmdev.h", "ATM_SETESIF", 0x4010618d},
+{"linux/ppdev.h", "PPSETTIME", 0x40107096},
+{"linux/if_ppp.h", "PPPIOCSCOMPRESS", 0x4010744d},
+{"linux/videodev.h", "VIDIOCMCAPTURE", 0x40107613},
+{"asm/tape390.h", "TAPE390_DISPLAY", 0x40116401},
+{"linux/fd.h", "FDSETMAXERRS", 0x4014024c},
+{"linux/videodev.h", "VIDIOCSCAPTURE", 0x40147617},
+{"linux/videodev.h", "VIDIOCSFBUF", 0x4018760c},
+{"linux/fd.h", "FDSETPRM", 0x40200242},
+{"linux/fd.h", "FDDEFPRM", 0x40200243},
+{"asm/dasd.h", "BIODASDSATTR", 0x40204402},
+{"linux/if_ppp.h", "PPPIOCSXASYNCMAP", 0x4020744f},
+{"linux/videodev.h", "VIDIOCSMICROCODE", 0x4020761b},
+{"linux/videodev.h", "VIDIOCSVBIFMT", 0x4020761d},
+{"linux/joystick.h", "JSIOCSCORR", 0x40246a21},
+{"linux/rtc.h", "RTC_ALM_SET", 0x40247007},
+{"linux/rtc.h", "RTC_SET_TIME", 0x4024700a},
+{"linux/rtc.h", "RTC_WKALM_SET", 0x4028700f},
+{"linux/videodev.h", "VIDIOCSWIN", 0x4028760a},
+{"linux/videodev.h", "VIDIOCSAUDIO", 0x40287611},
+{"linux/smb_fs.h", "SMB_IOC_NEWCONN", 0x402c7502},
+{"linux/synclink.h", "MGSL_IOCSPARAMS", 0x40306d00},
+{"linux/videodev.h", "VIDIOCSCHAN", 0x40307603},
+{"linux/videodev.h", "VIDIOCSTUNER", 0x40407605},
+{"linux/fd.h", "FDSETDRVPRM", 0x40800290},
+{"linux/usbdevice_fs.h", "USBDEVFS_GETDRIVER", 0x41045508},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_VOLUME", 0x60044d00},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_BASS", 0x60044d01},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_TREBLE", 0x60044d02},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_SYNTH", 0x60044d03},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_PCM", 0x60044d04},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_SPEAKER", 0x60044d05},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_LINE", 0x60044d06},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_MIC", 0x60044d07},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_CD", 0x60044d08},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_IMIX", 0x60044d09},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_ALTPCM", 0x60044d0a},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_RECLEV", 0x60044d0b},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_IGAIN", 0x60044d0c},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_OGAIN", 0x60044d0d},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_LINE1", 0x60044d0e},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_LINE2", 0x60044d0f},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_LINE3", 0x60044d10},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_MUTE", 0x60044d1f},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_ENHANCE", 0x60044d1f},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_LOUD", 0x60044d1f},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_RECSRC", 0x60044dff},
+{"linux/joystick.h", "JSIOCGAXES", 0x80016a11},
+{"linux/joystick.h", "JSIOCGBUTTONS", 0x80016a12},
+{"linux/ppdev.h", "PPRSTATUS", 0x80017081},
+{"linux/ppdev.h", "PPRCONTROL", 0x80017083},
+{"linux/ppdev.h", "PPRDATA", 0x80017085},
+{"linux/capi.h", "CAPI_GET_ERRCODE", 0x80024321},
+{"linux/capi.h", "CAPI_INSTALLED", 0x80024322},
+{"linux/capi.h", "CAPI_GET_FLAGS", 0x80044323},
+{"linux/capi.h", "CAPI_SET_FLAGS", 0x80044324},
+{"linux/capi.h", "CAPI_CLR_FLAGS", 0x80044325},
+{"linux/capi.h", "CAPI_NCCI_OPENCOUNT", 0x80044326},
+{"linux/capi.h", "CAPI_NCCI_GETUNIT", 0x80044327},
+{"asm/dasd.h", "DASDAPIVER", 0x80044400},
+{"linux/input.h", "EVIOCGVERSION", 0x80044501},
+{"linux/random.h", "RNDGETENTCNT", 0x80045200},
+{"asm/ioctls.h", "TIOCGPTN", 0x80045430},
+{"linux/usbdevice_fs.h", "USBDEVFS_RESETEP", 0x80045503},
+{"linux/usbdevice_fs.h", "USBDEVFS_SETCONFIGURATION", 0x80045505},
+{"linux/usbdevice_fs.h", "USBDEVFS_CLAIMINTERFACE", 0x8004550f},
+{"linux/usbdevice_fs.h", "USBDEVFS_RELEASEINTERFACE", 0x80045510},
+{"linux/usbdevice_fs.h", "USBDEVFS_CLEAR_HALT", 0x80045515},
+{"linux/watchdog.h", "WDIOC_GETSTATUS", 0x80045701},
+{"linux/watchdog.h", "WDIOC_GETBOOTSTATUS", 0x80045702},
+{"linux/watchdog.h", "WDIOC_GETTEMP", 0x80045703},
+{"linux/watchdog.h", "WDIOC_SETOPTIONS", 0x80045704},
+{"linux/watchdog.h", "WDIOC_KEEPALIVE", 0x80045705},
+{"linux/sonet.h", "SONET_GETDIAG", 0x80046114},
+{"linux/sonet.h", "SONET_GETFRAMING", 0x80046116},
+{"linux/devfs_fs.h", "DEVFSDIOC_GET_PROTO_REV", 0x80046400},
+{"linux/video_decoder.h", "DECODER_GET_STATUS", 0x80046402},
+{"linux/i2o-dev.h", "I2OVALIDATE", 0x80046908},
+{"linux/joystick.h", "JSIOCGVERSION", 0x80046a01},
+{"linux/udf_fs_i.h", "UDF_GETEASIZE", 0x80046c40},
+{"linux/zftape.h", "MTIOC_ZFTAPE_GETBLKSZ", 0x80046d68},
+{"linux/ncp_fs.h", "NCP_IOC_SIGN_WANTED", 0x80046e06},
+{"linux/ncp_fs.h", "NCP_IOC_SETDENTRYTTL", 0x80046e0c},
+{"linux/ppdev.h", "PPCLRIRQ", 0x80047093},
+{"linux/telephony.h", "PHONE_DTMF_READY", 0x80047196},
+{"linux/telephony.h", "PHONE_GET_DTMF", 0x80047197},
+{"linux/telephony.h", "PHONE_GET_DTMF_ASCII", 0x80047198},
+{"linux/telephony.h", "PHONE_EXCEPTION", 0x8004719a},
+{"linux/ixjuser.h", "IXJCTL_CARDTYPE", 0x800471c1},
+{"linux/ixjuser.h", "IXJCTL_SERIAL", 0x800471c2},
+{"linux/ixjuser.h", "IXJCTL_DSP_TYPE", 0x800471c3},
+{"linux/ixjuser.h", "IXJCTL_DSP_VERSION", 0x800471c4},
+{"linux/if_ppp.h", "PPPIOCGCHAN", 0x80047437},
+{"linux/if_ppp.h", "PPPIOCGDEBUG", 0x80047441},
+{"linux/if_ppp.h", "PPPIOCGMRU", 0x80047453},
+{"linux/if_ppp.h", "PPPIOCGRASYNCMAP", 0x80047455},
+{"linux/if_ppp.h", "PPPIOCGUNIT", 0x80047456},
+{"linux/if_ppp.h", "PPPIOCGASYNCMAP", 0x80047458},
+{"linux/if_ppp.h", "PPPIOCGFLAGS", 0x8004745a},
+{"linux/isdn_ppp.h", "PPPIOCGMPFLAGS", 0x80047482},
+{"linux/smb_fs.h", "SMB_IOC_GETMOUNTUID", 0x80047501},
+{"linux/smb_fs.h", "SMB_IOC_GETMOUNTUID32", 0x80047503},
+{"linux/dn.h", "SIOCGNETADDR", 0x800489e1},
+{"linux/dn.h", "OSIOCGNETADDR", 0x800489e1},
+{"linux/auto_fs.h", "AUTOFS_IOC_PROTOVER", 0x80049363},
+{"linux/lvm.h", "LVM_GET_IOP_VERSION", 0x8004fe98},
+{"linux/sonet.h", "SONET_GETFRSENSE", 0x80066117},
+{"linux/elevator.h", "BLKELVGET", 0x8008126a},
+{"linux/fs.h", "BLKELVGET", 0x8008126a},
+{"linux/agpgart.h", "AGPIOC_INFO", 0x80084100},
+{"linux/pmu.h", "PMU_IOC_GET_BACKLIGHT", 0x80084201},
+{"linux/pmu.h", "PMU_IOC_GET_MODEL", 0x80084203},
+{"linux/pmu.h", "PMU_IOC_HAS_ADB", 0x80084204},
+{"linux/input.h", "EVIOCGID", 0x80084502},
+{"linux/input.h", "EVIOCGREP", 0x80084503},
+{"linux/input.h", "EVIOCGKEYCODE", 0x80084504},
+{"linux/input.h", "EVIOCGKEY", 0x80084505},
+{"linux/random.h", "RNDGETPOOL", 0x80085202},
+{"linux/usbdevice_fs.h", "USBDEVFS_SETINTERFACE", 0x80085504},
+{"linux/ext2_fs.h", "EXT2_IOC_GETFLAGS", 0x80086601},
+{"linux/udf_fs_i.h", "UDF_GETEABLOCK", 0x80086c41},
+{"linux/udf_fs_i.h", "UDF_GETVOLIDENT", 0x80086c42},
+{"linux/mtio.h", "MTIOCPOS", 0x80086d03},
+{"linux/matroxfb.h", "MATROXFB_GET_OUTPUT_CONNECTION", 0x80086ef8},
+{"linux/matroxfb.h", "MATROXFB_GET_AVAILABLE_OUTPUTS", 0x80086ef9},
+{"linux/matroxfb.h", "MATROXFB_GET_ALL_OUTPUTS", 0x80086efb},
+{"linux/rtc.h", "RTC_IRQP_READ", 0x8008700b},
+{"linux/rtc.h", "RTC_EPOCH_READ", 0x8008700d},
+{"linux/telephony.h", "PHONE_CAPABILITIES_LIST", 0x80087181},
+{"linux/ixjuser.h", "IXJCTL_CID", 0x800871d4},
+{"linux/ixjuser.h", "IXJCTL_FRAMES_READ", 0x800871e2},
+{"linux/ixjuser.h", "IXJCTL_FRAMES_WRITTEN", 0x800871e3},
+{"linux/ixjuser.h", "IXJCTL_READ_WAIT", 0x800871e4},
+{"linux/ixjuser.h", "IXJCTL_WRITE_WAIT", 0x800871e5},
+{"linux/ixjuser.h", "IXJCTL_DRYBUFFER_READ", 0x800871e6},
+{"linux/ext2_fs.h", "EXT2_IOC_GETVERSION", 0x80087601},
+{"linux/videodev.h", "VIDIOCGFREQ", 0x8008760e},
+{"linux/video_decoder.h", "DECODER_GET_CAPABILITIES", 0x800c6401},
+{"linux/video_encoder.h", "ENCODER_GET_CAPABILITIES", 0x800c6501},
+{"linux/ncp_fs.h", "NCP_IOC_SETROOT", 0x800c6e08},
+{"linux/videodev.h", "VIDIOCKEY", 0x800c760d},
+{"linux/videodev.h", "VIDIOCGPICT", 0x800e7606},
+{"linux/fd.h", "FDGETDRVTYP", 0x8010020f},
+{"linux/usbdevice_fs.h", "USBDEVFS_DISCSIGNAL", 0x8010550e},
+{"linux/mtio.h", "MTIOCGETSIZE", 0x80106d09},
+{"linux/ncp_fs.h", "NCP_IOC_NCPREQUEST", 0x80106e01},
+{"linux/ncp_fs.h", "NCP_IOC_SETPRIVATEDATA", 0x80106e0a},
+{"linux/ppdev.h", "PPGETTIME", 0x80107095},
+{"linux/if_ppp.h", "PPPIOCGIDLE", 0x8010743f},
+{"linux/isdn_ppp.h", "PPPIOCGIFNAME", 0x80107488},
+{"linux/fd.h", "FDGETMAXERRS", 0x8014020e},
+{"linux/mtio.h", "MTIOCVOLINFO", 0x80146d08},
+{"linux/ncp_fs.h", "NCP_IOC_LOCKUNLOCK", 0x80146e07},
+{"linux/videodev.h", "VIDIOCGUNIT", 0x80147615},
+{"linux/videodev.h", "VIDIOCGCAPTURE", 0x80147616},
+{"linux/ncp_fs.h", "NCP_IOC_SIGN_INIT", 0x80186e05},
+{"linux/ncp_fs.h", "NCP_IOC_SETOBJECTNAME", 0x80186e09},
+{"linux/videodev.h", "VIDIOCGFBUF", 0x8018760b},
+{"linux/fd.h", "FDGETPRM", 0x80200204},
+{"asm/dasd.h", "BIODASDGATTR", 0x80204405},
+{"linux/fb.h", "FBIOGET_VBLANK", 0x80204612},
+{"linux/if_ppp.h", "PPPIOCGXASYNCMAP", 0x80207450},
+{"linux/videodev.h", "VIDIOCGVBIFMT", 0x8020761c},
+{"linux/sonet.h", "SONET_GETSTAT", 0x80246110},
+{"linux/sonet.h", "SONET_GETSTATZ", 0x80246111},
+{"linux/joystick.h", "JSIOCGCORR", 0x80246a22},
+{"linux/rtc.h", "RTC_ALM_READ", 0x80247008},
+{"linux/rtc.h", "RTC_RD_TIME", 0x80247009},
+{"linux/fd.h", "FDGETFDCSTAT", 0x80280215},
+{"linux/fd.h", "FDWERRORGET", 0x80280217},
+{"linux/rtc.h", "RTC_WKALM_RD", 0x80287010},
+{"linux/videodev.h", "VIDIOCGWIN", 0x80287609},
+{"linux/videodev.h", "VIDIOCGAUDIO", 0x80287610},
+{"linux/ncp_fs.h", "NCP_IOC_SETCHARSETS", 0x802a6e0b},
+{"linux/synclink.h", "MGSL_IOCGPARAMS", 0x80306d01},
+{"linux/mtio.h", "MTIOCGET", 0x80306d02},
+{"linux/usbdevice_fs.h", "USBDEVFS_SUBMITURB", 0x8038550a},
+{"linux/videodev.h", "VIDIOCGCAP", 0x803c7601},
+{"linux/i2o-dev.h", "I2OGETIOPS", 0x80406900},
+{"linux/isdn_ppp.h", "PPPIOCGCOMPRESSORS", 0x80407486},
+{"linux/watchdog.h", "WDIOC_GETSUPPORT", 0x80485700},
+{"linux/fd.h", "FDGETDRVSTAT", 0x80500212},
+{"linux/fd.h", "FDPOLLDRVSTAT", 0x80500213},
+{"linux/i2o-dev.h", "I2OEVTGET", 0x8068690b},
+{"linux/fd.h", "FDGETDRVPRM", 0x80800211},
+{"linux/usbdevice_fs.h", "USBDEVFS_HUB_PORTINFO", 0x80805513},
+{"linux/videodev.h", "VIDIOCGMBUF", 0x80887614},
+{"asm/dasd.h", "BIODASDPSRD", 0x80c04404},
+{"linux/auto_fs.h", "AUTOFS_IOC_EXPIRE", 0x810c9365},
+{"linux/videodev.h", "VIDIOCGPLAYINFO", 0x8118761a},
+{"asm/dasd.h", "BIODASDINFO", 0x81784401},
+{"asm/dasd.h", "BIODASDINFO2", 0x81a04403},
+{"linux/msdos_fs.h", "VFAT_IOCTL_READDIR_BOTH", 0x82307201},
+{"linux/msdos_fs.h", "VFAT_IOCTL_READDIR_SHORT", 0x82307202},
+{"asm/dasd.h", "BIODASDPRRD", 0x84084402},
+{"linux/capi.h", "CAPI_GET_MANUFACTURER", 0xc0044306},
+{"linux/capi.h", "CAPI_GET_SERIAL", 0xc0044308},
+{"linux/sonet.h", "SONET_SETDIAG", 0xc0046112},
+{"linux/sonet.h", "SONET_CLRDIAG", 0xc0046113},
+{"linux/synclink.h", "MGSL_IOCWAITEVENT", 0xc0046d08},
+{"linux/if_ppp.h", "PPPIOCNEWUNIT", 0xc004743e},
+{"linux/lvm.h", "VG_STATUS", 0xc004fe05},
+{"linux/lvm.h", "VG_STATUS_GET_COUNT", 0xc004fe06},
+{"linux/lvm.h", "VG_STATUS_GET_NAMELIST", 0xc004fe07},
+{"linux/lvm.h", "LV_STATUS_BYNAME", 0xc004fe26},
+{"linux/lvm.h", "LV_STATUS_BYINDEX", 0xc004fe27},
+{"linux/lvm.h", "PV_STATUS", 0xc004fe40},
+{"linux/lvm.h", "PV_CHANGE", 0xc004fe41},
+{"linux/agpgart.h", "AGPIOC_ALLOCATE", 0xc0084106},
+{"asm/cmb.h", "BIODASDREADCMB", 0xc0084420},
+{"linux/coda.h", "CIOC_KERNEL_VERSION", 0xc008630a},
+{"linux/matroxfb.h", "MATROXFB_GET_OUTPUT_MODE", 0xc0086efa},
+{"linux/telephony.h", "PHONE_QUERY_CODEC", 0xc00871a7},
+{"linux/if_ppp.h", "PPPIOCGNPMODE", 0xc008744c},
+{"linux/auto_fs.h", "AUTOFS_IOC_SETTIMEOUT", 0xc0089364},
+{"linux/capi.h", "CAPI_GET_VERSION", 0xc0104307},
+{"linux/capi.h", "CAPI_MANUFACTURER_CMD", 0xc0104320},
+{"linux/usbdevice_fs.h", "USBDEVFS_IOCTL", 0xc0105512},
+{"linux/atm_nicstar.h", "NS_GETPSTAT", 0xc0106161},
+{"linux/ncp_fs.h", "NCP_IOC_GETPRIVATEDATA", 0xc0106e0a},
+{"linux/usbdevice_fs.h", "USBDEVFS_CONTROL", 0xc0185500},
+{"linux/usbdevice_fs.h", "USBDEVFS_BULK", 0xc0185502},
+{"linux/i2o-dev.h", "I2OHRTGET", 0xc0186901},
+{"linux/i2o-dev.h", "I2OLCTGET", 0xc0186902},
+{"linux/mtio.h", "MTIOCRDFTSEG", 0xc0186d06},
+{"linux/mtio.h", "MTIOCWRFTSEG", 0xc0186d07},
+{"linux/mtio.h", "MTIOCFTFORMAT", 0xc0186d0a},
+{"linux/ncp_fs.h", "NCP_IOC_GETOBJECTNAME", 0xc0186e09},
+{"linux/mtio.h", "MTIOCFTCMD", 0xc0206d0b},
+{"linux/i2o-dev.h", "I2OPARMSET", 0xc0286903},
+{"linux/i2o-dev.h", "I2OPARMGET", 0xc0286904},
+{"linux/ncp_fs.h", "NCP_IOC_GET_FS_INFO", 0xc0286e04},
+{"linux/ncp_fs.h", "NCP_IOC_GETCHARSETS", 0xc02a6e0b},
+{"linux/i2o-dev.h", "I2OSWDL", 0xc0306905},
+{"linux/i2o-dev.h", "I2OSWUL", 0xc0306906},
+{"linux/i2o-dev.h", "I2OSWDEL", 0xc0306907},
+{"linux/i2o-dev.h", "I2OHTML", 0xc0306909},
+{"linux/ncp_fs.h", "NCP_IOC_GET_FS_INFO_V2", 0xc0306e04},
+{"linux/videodev.h", "VIDIOCGCHAN", 0xc0307602},
+{"linux/capi.h", "CAPI_GET_PROFILE", 0xc0404309},
+{"linux/videodev.h", "VIDIOCGTUNER", 0xc0407604},
+{"asm/cmb.h", "BIODASDREADALLCMB", 0xc0584421},
+{"linux/isdn_ppp.h", "PPPIOCGCALLINFO", 0xc0887480},
diff --git a/strace-4.5.20/linux/s390/syscallent.h b/strace-4.5.20/linux/s390/syscallent.h
new file mode 100644
index 0000000..632f166
--- /dev/null
+++ b/strace-4.5.20/linux/s390/syscallent.h
@@ -0,0 +1,483 @@
+/*
+ * Copyright (c) 2000 IBM Deutschland Entwicklung GmbH, IBM Coporation
+ * Authors: Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+ *          D.J. Barrow  <barrow_dj@mail.yahoo.com,djbarrow@de.ibm.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+	{ 0,	0,	sys_setup,		"setup"		}, /* 0 */
+	{ 1,	TP,	sys_exit,		"_exit"		}, /* 1 */
+	{ 0,	TP,	sys_fork,		"fork"		}, /* 2 */
+	{ 3,	TD,	sys_read,		"read"		}, /* 3 */
+	{ 3,	TD,	sys_write,		"write"		}, /* 4 */
+	{ 3,	TD|TF,	sys_open,		"open"		}, /* 5 */
+	{ 1,	TD,	sys_close,		"close"		}, /* 6 */
+	{ 0,	0,	sys_restart_syscall,	"restart_syscall"}, /* 7 */
+	{ 2,	TD|TF,	sys_creat,		"creat"		}, /* 8 */
+	{ 2,	TF,	sys_link,		"link"		}, /* 9 */
+	{ 1,	TF,	sys_unlink,		"unlink"	}, /* 10 */
+	{ 3,	TF|TP,	sys_execve,		"execve"	}, /* 11 */
+	{ 1,	TF,	sys_chdir,		"chdir"		}, /* 12 */
+	{ 1,	0,	sys_time,		"time"		}, /* 13 */
+	{ 3,	TF,	sys_mknod,		"mknod"		}, /* 14 */
+	{ 2,	TF,	sys_chmod,		"chmod"		}, /* 15 */
+	{ 3,	TF,	sys_chown,		"lchown"	}, /* 16 */
+	{ -1,	0,	printargs,		"SYS_17"	}, /* 17 */
+	{ -1,	0,	printargs,		"SYS_18"	}, /* 18 */
+	{ 3,	TD,	sys_lseek,		"lseek"		}, /* 19 */
+	{ 0,	0,	sys_getpid,		"getpid"	}, /* 20 */
+	{ 5,	TF,	sys_mount,		"mount"		}, /* 21 */
+	{ 1,	TF,	sys_umount,		"oldumount"	}, /* 22 */
+	{ 1,	0,	sys_setuid,		"setuid"	}, /* 23 */
+	{ 0,	0,	sys_getuid,		"getuid"	}, /* 24 */
+	{ 1,	0,	sys_stime,		"stime"		}, /* 25 */
+	{ 4,	0,	sys_ptrace,		"ptrace"	}, /* 26 */
+	{ 1,	0,	sys_alarm,		"alarm"		}, /* 27 */
+	{ -1,	0,	printargs,		"SYS_28"	}, /* 28 */
+	{ 0,	TS,	sys_pause,		"pause"		}, /* 29 */
+	{ 2,	TF,	sys_utime,		"utime"		}, /* 30 */
+	{ -1,	0,	printargs,		"SYS_31"	}, /* 31 */
+	{ -1,	0,	printargs,		"SYS_32"	}, /* 32 */
+	{ 2,	TF,	sys_access,		"access"	}, /* 33 */
+	{ 1,	0,	sys_nice,		"nice"		}, /* 34 */
+	{ -1,	0,	printargs,		"SYS_35"	}, /* 35 */
+	{ 0,	0,	sys_sync,		"sync"		}, /* 36 */
+	{ 2,	TS,	sys_kill,		"kill"		}, /* 37 */
+	{ 2,	TF,	sys_rename,		"rename"	}, /* 38 */
+	{ 2,	TF,	sys_mkdir,		"mkdir"		}, /* 39 */
+	{ 1,	TF,	sys_rmdir,		"rmdir"		}, /* 40 */
+	{ 1,	TD,	sys_dup,		"dup"		}, /* 41 */
+	{ 1,	TD,	sys_pipe,		"pipe"		}, /* 42 */
+	{ 1,	0,	sys_times,		"times"		}, /* 43 */
+	{ -1,	0,	printargs,		"SYS_44"	}, /* 44 */
+	{ 1,	0,	sys_brk,		"brk"		}, /* 45 */
+	{ -1,	0,	printargs,		"SYS_46"	}, /* 46 */
+	{ -1,	0,	printargs,		"SYS_47"	}, /* 47 */
+	{ 3,	TS,	sys_signal,		"signal"	}, /* 48 */
+	{ 0,	0,	sys_geteuid,		"geteuid"	}, /* 49 */
+	{ 0,	0,	sys_getegid,		"getegid"	}, /* 50 */
+	{ 1,	TF,	sys_acct,		"acct"		}, /* 51 */
+	{ 2,	TF,	sys_umount2,		"umount"	}, /* 52 */
+	{ -1,	0,	printargs,		"SYS_53"	}, /* 53 */
+	{ 3,	TD,	sys_ioctl,		"ioctl"		}, /* 54 */
+	{ 3,	TD,	sys_fcntl,		"fcntl"		}, /* 55 */
+	{ -1,	0,	printargs,		"SYS_56"	}, /* 56 */
+	{ 2,	0,	sys_setpgid,		"setpgid"	}, /* 57 */
+	{ -1,	0,	printargs,		"SYS_58"	}, /* 58 */
+	{ -1,	0,	printargs,		"SYS_59"	}, /* 59 */
+	{ 1,	0,	sys_umask,		"umask"		}, /* 60 */
+	{ 1,	TF,	sys_chroot,		"chroot"	}, /* 61 */
+	{ 2,	0,	sys_ustat,		"ustat"		}, /* 62 */
+	{ 2,	TD,	sys_dup2,		"dup2"		}, /* 63 */
+	{ 0,	0,	sys_getppid,		"getppid"	}, /* 64 */
+	{ 0,	0,	sys_getpgrp,		"getpgrp"	}, /* 65 */
+	{ 0,	0,	sys_setsid,		"setsid"	}, /* 66 */
+	{ 3,	TS,	sys_sigaction,		"sigaction"	}, /* 67 */
+	{ -1,	0,	printargs,		"SYS_68"	}, /* 68 */
+	{ -1,	0,	printargs,		"SYS_69"	}, /* 69 */
+	{ 2,	0,	sys_setreuid,		"setreuid"	}, /* 70 */
+	{ 2,	0,	sys_setregid,		"setregid"	}, /* 71 */
+	{ 3,	TS,	sys_sigsuspend,		"sigsuspend"	}, /* 72 */
+	{ 1,	TS,	sys_sigpending,		"sigpending"	}, /* 73 */
+	{ 2,	0,	sys_sethostname,	"sethostname"	}, /* 74 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit"	}, /* 75 */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"	}, /* 76 */
+	{ 2,	0,	sys_getrusage,		"getrusage"	}, /* 77 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday"	}, /* 78 */
+	{ 2,	0,	sys_settimeofday,	"settimeofday"	}, /* 79 */
+	{ 2,	0,	sys_getgroups,		"getgroups"	}, /* 80 */
+	{ 2,	0,	sys_setgroups,		"setgroups"	}, /* 81 */
+	{ -1,	0,	printargs,		"SYS_82"	}, /* 82 */
+	{ 2,	TF,	sys_symlink,		"symlink"	}, /* 83 */
+	{ -1,	0,	printargs,		"SYS_84"	}, /* 84 */
+	{ 3,	TF,	sys_readlink,		"readlink"	}, /* 85 */
+	{ 1,	TF,	sys_uselib,		"uselib"	}, /* 86 */
+	{ 1,	TF,	sys_swapon,		"swapon"	}, /* 87 */
+	{ 3,	0,	sys_reboot,		"reboot"	}, /* 88 */
+	{ 3,	TD,	sys_readdir,		"readdir"	}, /* 89 */
+	{ 6,	TD,	sys_old_mmap,		"mmap"		}, /* 90 */
+	{ 2,	0,	sys_munmap,		"munmap"	}, /* 91 */
+	{ 2,	TF,	sys_truncate,		"truncate"	}, /* 92 */
+	{ 2,	TD,	sys_ftruncate,		"ftruncate"	}, /* 93 */
+	{ 2,	TD,	sys_fchmod,		"fchmod"	}, /* 94 */
+	{ 3,	TD,	sys_fchown,		"fchown"	}, /* 95 */
+	{ 2,	0,	sys_getpriority,	"getpriority"	}, /* 96 */
+	{ 3,	0,	sys_setpriority,	"setpriority"	}, /* 97 */
+	{ -1,	0,	printargs,		"SYS_98"	}, /* 98 */
+	{ 2,	TF,	sys_statfs,		"statfs"	}, /* 99 */
+	{ 2,	TD,	sys_fstatfs,		"fstatfs"	}, /* 100 */
+	{ 3,	0,	sys_ioperm,		"ioperm"	}, /* 101 */
+	{ 2,	TD,	sys_socketcall,		"socketcall"	}, /* 102 */
+	{ 3,	0,	sys_syslog,		"syslog"	}, /* 103 */
+	{ 3,	0,	sys_setitimer,		"setitimer"	}, /* 104 */
+	{ 2,	0,	sys_getitimer,		"getitimer"	}, /* 105 */
+	{ 2,	TF,	sys_stat,		"stat"		}, /* 106 */
+	{ 2,	TF,	sys_lstat,		"lstat"		}, /* 107 */
+	{ 2,	TD,	sys_fstat,		"fstat"		}, /* 108 */
+	{ -1,	0,	printargs,		"SYS_109"	}, /* 109 */
+	{ -1,	0,	printargs,		"SYS_110"	}, /* 110 */
+	{ 0,	0,	sys_vhangup,		"vhangup"	}, /* 111 */
+	{ 0,	0,	sys_idle,		"idle"		}, /* 112 */
+	{ -1,	0,	printargs,		"SYS_113"	}, /* 113 */
+	{ 4,	TP,	sys_wait4,		"wait4"		}, /* 114 */
+	{ 1,	0,	sys_swapoff,		"swapoff"	}, /* 115 */
+	{ 1,	0,	sys_sysinfo,		"sysinfo"	}, /* 116 */
+	{ 5,	0,	sys_ipc,		"ipc"		}, /* 117 */
+	{ 1,	TD,	sys_fsync,		"fsync"		}, /* 118 */
+	{ 1,	TS,	sys_sigreturn,		"sigreturn"	}, /* 119 */
+	{ 5,	TP,	sys_clone,		"clone"		}, /* 120 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname"	}, /* 121 */
+	{ 1,	0,	sys_uname,		"uname"		}, /* 122 */
+	{ -1,	0,	printargs,		"SYS_123"	}, /* 123 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex"	}, /* 124 */
+	{ 3,	0,	sys_mprotect,		"mprotect"	}, /* 125 */
+	{ 3,	TS,	sys_sigprocmask,	"sigprocmask"	}, /* 126 */
+	{ 2,	0,	sys_create_module,	"create_module"	}, /* 127 */
+	{ 3,	0,	sys_init_module,	"init_module"	}, /* 128 */
+	{ 2,	0,	sys_delete_module,	"delete_module"	}, /* 129 */
+	{ 1,	0,	sys_get_kernel_syms,	"get_kernel_syms"}, /* 130 */
+	{ 4,	0,	sys_quotactl,		"quotactl"	}, /* 131 */
+	{ 1,	0,	sys_getpgid,		"getpgid"	}, /* 132 */
+	{ 1,	TD,	sys_fchdir,		"fchdir"	}, /* 133 */
+	{ 0,	0,	sys_bdflush,		"bdflush"	}, /* 134 */
+	{ 3,	0,	sys_sysfs,		"sysfs"		}, /* 135 */
+	{ 1,	0,	sys_personality,	"personality"	}, /* 136 */
+	{ 5,	0,	sys_afs_syscall,	"afs_syscall"	}, /* 137 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid"	}, /* 138 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid"	}, /* 139 */
+	{ 5,	TD,	sys_llseek,		"_llseek"	}, /* 140 */
+	{ 3,	TD,	sys_getdents,		"getdents"	}, /* 141 */
+	{ 5,	TD,	sys_select,		"select"	}, /* 142 */
+	{ 2,	TD,	sys_flock,		"flock"		}, /* 143 */
+	{ 3,	0,	sys_msync,		"msync"		}, /* 144 */
+	{ 3,	TD,	sys_readv,		"readv"		}, /* 145 */
+	{ 3,	TD,	sys_writev,		"writev"	}, /* 146 */
+	{ 1,	0,	sys_getsid,		"getsid"	}, /* 147 */
+	{ 1,	TD,	sys_fdatasync,		"fdatasync"	}, /* 148 */
+	{ 1,	0,	sys_sysctl,		"_sysctl"	}, /* 149 */
+	{ 2,	0,	sys_mlock,		"mlock"		}, /* 150 */
+	{ 2,	0,	sys_munlock,		"munlock"	}, /* 151 */
+	{ 2,	0,	sys_mlockall,		"mlockall"	}, /* 152 */
+	{ 0,	0,	sys_munlockall,		"munlockall"	}, /* 153 */
+	{ 0,	0,	sys_sched_setparam,	"sched_setparam"}, /* 154 */
+	{ 2,	0,	sys_sched_getparam,	"sched_getparam"}, /* 155 */
+	{ 3,	0,	sys_sched_setscheduler,	"sched_setscheduler"}, /* 156 */
+	{ 1,	0,	sys_sched_getscheduler,	"sched_getscheduler"}, /* 157 */
+	{ 0,	0,	sys_sched_yield,	"sched_yield"}, /* 158 */
+	{ 1,	0,	sys_sched_get_priority_max,"sched_get_priority_max"}, /* 159 */
+	{ 1,	0,	sys_sched_get_priority_min,"sched_get_priority_min"}, /* 160 */
+	{ 2,	0,	sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 161 */
+	{ 2,	0,	sys_nanosleep,		"nanosleep"	}, /* 162 */
+	{ 5,	0,	sys_mremap,		"mremap"	}, /* 163 */
+	{ 3,	0,	sys_setresuid,		"setresuid"	}, /* 164 */
+	{ 3,	0,	sys_getresuid,		"getresuid"	}, /* 165 */
+	{ -1,	0,	printargs,		"SYS_166"	}, /* 166 */
+	{ 5,	0,	sys_query_module,	"query_module"	}, /* 167 */
+	{ 3,	TD,	sys_poll,		"poll"		}, /* 168 */
+	{ 3,	0,	printargs,		"nfsservctl"	}, /* 169 */
+	{ 3,	0,	sys_setresgid,		"setresgid"	}, /* 170 */
+	{ 3,	0,	sys_getresgid,		"getresgid"	}, /* 171 */
+	{ 5,	0,	sys_prctl,		"prctl"		}, /* 172 */
+	{ 1,	TS,	sys_sigreturn,		"rt_sigreturn"	}, /* 173 */
+	{ 4,	TS,	sys_rt_sigaction,	"rt_sigaction"	}, /* 174 */
+	{ 4,	TS,	sys_rt_sigprocmask,	"rt_sigprocmask"}, /* 175 */
+	{ 2,	TS,	sys_rt_sigpending,	"rt_sigpending"	}, /* 176 */
+	{ 4,	TS,	sys_rt_sigtimedwait,	"rt_sigtimedwait"}, /* 177 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,	"rt_sigqueueinfo"}, /* 178 */
+	{ 2,	TS,	sys_rt_sigsuspend,	"rt_sigsuspend"	}, /* 179 */
+	{ 5,	TD,	sys_pread,		"pread"		}, /* 180 */
+	{ 5,	TD,	sys_pwrite,		"pwrite"	}, /* 181 */
+	{ 3,	TF,	sys_chown,		"lchown"	}, /* 182 */
+	{ 2,	TF,	sys_getcwd,		"getcwd"	}, /* 183 */
+	{ 2,	0,	sys_capget,		"capget"	}, /* 184 */
+	{ 2,	0,	sys_capset,		"capset"	}, /* 185 */
+	{ 2,	TS,	sys_sigaltstack,	"sigaltstack"	}, /* 186 */
+	{ 4,	TD|TN,	sys_sendfile,		"sendfile"	}, /* 187 */
+	{ 5,	0,	sys_getpmsg,		"getpmsg"	}, /* 188 */
+	{ 5,	0,	sys_putpmsg,		"putpmsg"	}, /* 189 */
+	{ 0,	TP,	sys_vfork,		"vfork"		}, /* 190 */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"	}, /* 191 */
+	{ 6,	0,	sys_mmap,		"mmap2"		}, /* 192 */
+	{ 2,	TF,	sys_truncate64,		"truncate64"	}, /* 193 */
+	{ 2,	TD,	sys_ftruncate64,	"ftruncate64"	}, /* 194 */
+	{ 2,	TF,	sys_stat64,		"stat64"	}, /* 195 */
+	{ 2,	TF,	sys_lstat64,		"lstat64"	}, /* 196 */
+	{ 2,	TD,	sys_fstat64,		"fstat64"	}, /* 197 */
+	{ 3,	TF,	sys_chown,		"lchown"	}, /* 198 */
+	{ 0,	0,	sys_getuid,		"getuid"	}, /* 199 */
+	{ 0,	0,	sys_getgid,		"getgid"	}, /* 200 */
+	{ 0,	0,	sys_geteuid,		"geteuid"	}, /* 201 */
+	{ 0,	0,	sys_getegid,		"getegid"	}, /* 202 */
+	{ 2,	0,	sys_setreuid,		"setreuid"	}, /* 203 */
+	{ 2,	0,	sys_setregid,		"setregid"	}, /* 204 */
+	{ 2,	0,	sys_getgroups,		"getgroups"	}, /* 205 */
+	{ 2,	0,	sys_setgroups,		"setgroups"	}, /* 206 */
+	{ 3,	TD,	sys_fchown,		"fchown"	}, /* 207 */
+	{ 3,	0,	sys_setresuid,		"setresuid"	}, /* 208 */
+	{ 3,	0,	sys_getresuid,		"getresuid"	}, /* 209 */
+	{ 3,	0,	sys_setresgid,		"setresgid"	}, /* 210 */
+	{ 3,	0,	sys_getresgid,		"getresgid"	}, /* 211 */
+	{ 3,	TF,	sys_chown,		"chown"		}, /* 212 */
+	{ 1,	0,	sys_setuid,		"setuid"	}, /* 213 */
+	{ 1,	0,	sys_setgid,		"setgid"	}, /* 214 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid"	}, /* 215 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid"	}, /* 216 */
+	{ 2,	TF,	sys_pivotroot,		"pivot_root"	}, /* 217 */
+	{ 3,	0,	sys_mincore,	         "mincore"      }, /* 218 */
+	{ 3,	0,	sys_madvise,		"madvise"	}, /* 219 */
+	{ 3,	TD,	sys_getdents64,		"getdents64"	}, /* 220 */
+	{ 3,	TD,	sys_fcntl,		"fcntl64"	}, /* 221 */
+	{ 4,	TD,	sys_readahead,		"readahead"	}, /* 222 */
+	{ 4,	TD|TN,	sys_sendfile64,		"sendfile64"	}, /* 223 */
+	{ 5,	TF,	sys_setxattr,		"setxattr"	}, /* 224 */
+	{ 5,	TF,	sys_setxattr,		"lsetxattr"	}, /* 225 */
+	{ 5,	TD,	sys_fsetxattr,		"fsetxattr"	}, /* 226 */
+	{ 4,	TF,	sys_getxattr,		"getxattr"	}, /* 227 */
+	{ 4,	TF,	sys_getxattr,		"lgetxattr"	}, /* 228 */
+	{ 4,	0,	sys_fgetxattr,		"fgetxattr"	}, /* 229 */
+	{ 3,	TF,	sys_listxattr,		"listxattr"	}, /* 230 */
+	{ 3,	TF,	sys_listxattr,		"llistxattr"	}, /* 231 */
+	{ 3,	0,	sys_flistxattr,		"flistxattr"	}, /* 232 */
+	{ 2,	TF,	sys_removexattr,	"removexattr"	}, /* 233 */
+	{ 2,	TF,	sys_removexattr,	"lremovexattr"	}, /* 234 */
+	{ 2,	TD,	sys_fremovexattr,	"fremovexattr"	}, /* 235 */
+	{ 0,	0,	printargs,		"gettid"	}, /* 236 */
+	{ 2,	TS,	sys_kill,		"tkill"		}, /* 237 */
+	{ 6,	0,	sys_futex,		"futex"		}, /* 238 */
+	{ 3,	0,	sys_sched_setaffinity,	"sched_setaffinity" },/* 239 */
+	{ 3,	0,	sys_sched_getaffinity,	"sched_getaffinity" },/* 240 */
+	{ 3,	TS,	sys_tgkill,		"tgkill"	}, /* 241 */
+	{ -1,	0,	printargs,		"SYS_242"	}, /* 242 */
+	{ 2,	0,	sys_io_setup,		"io_setup"	}, /* 243 */
+	{ 1,	0,	sys_io_destroy,		"io_destroy"	}, /* 244 */
+	{ 5,	0,	sys_io_getevents,	"io_getevents"	}, /* 245 */
+	{ 3,	0,	sys_io_submit,		"io_submit"	}, /* 246 */
+	{ 3,	0,	sys_io_cancel,		"io_cancel"	}, /* 247 */
+	{ 1,	TP,	sys_exit,		"exit_group"	}, /* 248 */
+	{ 1,	0,	sys_epoll_create,	"epoll_create"	}, /* 249 */
+	{ 4,	TD,	sys_epoll_ctl,		"epoll_ctl"	}, /* 250 */
+	{ 4,	TD,	sys_epoll_wait,		"epoll_wait"	}, /* 251 */
+	{ 1,	0,	printargs,		"set_tid_address"}, /* 252 */
+	{ 5,	0,	printargs,		"fadvise64"	}, /* 253 */
+	{ 3,	0,	sys_timer_create,	"timer_create"	}, /* 254 */
+	{ 4,	0,	sys_timer_settime,	"timer_settime"	}, /* 255 */
+	{ 2,	0,	sys_timer_gettime,	"timer_gettime"	}, /* 256 */
+	{ 1,	0,	sys_timer_getoverrun,	"timer_getoverrun"}, /* 257 */
+	{ 1,	0,	sys_timer_delete,	"timer_delete"	}, /* 258 */
+	{ 2,	0,	sys_clock_settime,	"clock_settime"	}, /* 259 */
+	{ 2,	0,	sys_clock_gettime,	"clock_gettime"	}, /* 260 */
+	{ 2,	0,	sys_clock_getres,	"clock_getres"	}, /* 261 */
+	{ 4,	0,	sys_clock_nanosleep,	"clock_nanosleep"}, /* 262 */
+	{ 5,	0,	printargs,		"vserver"	}, /* 263 */
+	{ 5,	0,	printargs,		"fadvise64_64"	}, /* 264 */
+	{ 3,	TF,	sys_statfs64,		"statfs64"	}, /* 265 */
+	{ 3,	TF,	sys_fstatfs64,		"fstatfs64"	}, /* 266 */
+	{ 5,	0,	sys_remap_file_pages,	"remap_file_pages"}, /* 267 */
+	{ 6,	0,	sys_mbind,		"mbind"		}, /* 268 */
+	{ 5,	0,	sys_get_mempolicy,	"get_mempolicy"	}, /* 269 */
+	{ 3,	0,	sys_set_mempolicy,	"set_mempolicy"	}, /* 270 */
+	{ 4,	0,	sys_mq_open,		"mq_open"	}, /* 271 */
+	{ 1,	0,	sys_mq_unlink,		"mq_unlink"	}, /* 272 */
+	{ 5,	0,	sys_mq_timedsend,	"mq_timedsend"	}, /* 273 */
+	{ 5,	0,	sys_mq_timedreceive,	"mq_timedreceive" }, /* 274 */
+	{ 2,	0,	sys_mq_notify,		"mq_notify"	}, /* 275 */
+	{ 3,	0,	sys_mq_getsetattr,	"mq_getsetattr"	}, /* 276 */
+	{ 5,	0,	printargs,		"kexec_load"	}, /* 277 */
+	{ 5,	0,	printargs,		"add_key"	}, /* 278 */
+	{ 4,	0,	printargs,		"request_key"	}, /* 279 */
+	{ 5,	0,	printargs,		"keyctl"	}, /* 280 */
+	{ 5,	TP,	sys_waitid,		"waitid"	}, /* 281 */
+	{ 3,	0,	printargs,		"ioprio_set"	}, /* 282 */
+	{ 2,	0,	printargs,		"ioprio_get"	}, /* 283 */
+	{ 0,	TD,	printargs,		"inotify_init"	}, /* 284 */
+	{ 3,	TD,	sys_inotify_add_watch,	"inotify_add_watch" }, /* 285 */
+	{ 2,	TD,	sys_inotify_rm_watch,	"inotify_rm_watch" }, /* 286 */
+	{ 4,	0,	printargs,		"migrate_pages"	}, /* 287 */
+	{ 4,	TD|TF,	sys_openat,		"openat"	}, /* 288 */
+	{ 3,	TD|TF,	sys_mkdirat,		"mkdirat"	}, /* 289 */
+	{ 4,	TD|TF,	sys_mknodat,		"mknodat"	}, /* 290 */
+	{ 5,	TD|TF,	sys_fchownat,		"fchownat"	}, /* 291 */
+	{ 3,	TD|TF,	sys_futimesat,		"futimesat"	}, /* 292 */
+	{ 4,	TD|TD,	sys_newfstatat,		"fstatat64"	}, /* 293 */
+	{ 3,	TD|TF,	sys_unlinkat,		"unlinkat"	}, /* 294 */
+	{ 4,	TD|TF,	sys_renameat,		"renameat"	}, /* 295 */
+	{ 5,	TD|TF,	sys_linkat,		"linkat"	}, /* 296 */
+	{ 3,	TD|TF,	sys_symlinkat,		"symlinkat"	}, /* 297 */
+	{ 4,	TD|TF,	sys_readlinkat,		"readlinkat"	}, /* 298 */
+	{ 3,	TD|TF,	sys_fchmodat,		"fchmodat"	}, /* 299 */
+	{ 3,	TD|TF,	sys_faccessat,		"faccessat"	}, /* 300 */
+	{ 6,	TD,	sys_pselect6,		"pselect6"	}, /* 301 */
+	{ 5,	TD,	sys_ppoll,		"ppoll"		}, /* 302 */
+	{ 1,	TP,	sys_unshare,		"unshare"	}, /* 303 */
+	{ 2,	0,	printargs,		"set_robust_list" }, /* 304 */
+	{ 3,	0,	printargs,		"get_robust_list" }, /* 305 */
+	{ 6,	TD,	printargs,		"splice"	}, /* 306 */
+	{ 4,	TD,	printargs,		"sync_file_range" }, /* 307 */
+	{ 4,	TD,	printargs,		"tee"		}, /* 308 */
+	{ 4,	TD,	printargs,		"vmsplice"	}, /* 309 */
+	{ 6,	0,	sys_move_pages,		"move_pages"	}, /* 310 */
+	{ 3,	0,	sys_getcpu,		"getcpu"	}, /* 311 */
+	{ 5,	TD,	sys_epoll_pwait,	"epoll_pwait"	}, /* 312 */
+	{ 2,	TF,	sys_utimes,		"utimes"	}, /* 313 */
+	{ 6,	TF,	sys_fallocate,		"fallocate"	}, /* 314 */
+	{ 4,	TD|TF,	sys_utimensat,		"utimensat"	}, /* 315 */
+	{ 3,	TD|TS,	sys_signalfd,		"signalfd"	}, /* 316 */
+	{ 4,	TD,	sys_timerfd,		"timerfd"	}, /* 317 */
+	{ 1,	TD,	sys_eventfd,		"eventfd"	}, /* 318 */
+	{ 2,	TD,	sys_timerfd_create,	"timerfd_create"}, /* 319 */
+	{ 4,	TD,	sys_timerfd_settime,	"timerfd_settime"}, /* 320 */
+	{ 2,	TD,	sys_timerfd_gettime,	"timerfd_gettime"}, /* 321 */
+	{ 4,	TD|TS,	sys_signalfd4,		"signalfd4"	}, /* 322 */
+	{ 2,	TD,	sys_eventfd2,		"eventfd2"	}, /* 323 */
+	{ 1,	TD,	sys_inotify_init1,	"inotify_init1"	}, /* 324 */
+	{ 2,	TD,	sys_pipe2,		"pipe2"		}, /* 325 */
+	{ 3,	TD,	sys_dup3,		"dup3"		}, /* 326 */
+	{ 1,	0,	sys_epoll_create1,	"epoll_create1"	}, /* 327 */
+	{ 5,	TD,	printargs,		"preadv"	}, /* 328 */
+	{ 5,	TD,	printargs,		"pwritev"	}, /* 329 */
+	{ 4,	TP|TS,	printargs,		"rt_tgsigqueueinfo"}, /* 330 */
+	{ 5,	TD,	printargs,		"perf_event_open"}, /* 331 */
+	{ 5,	0,	printargs,		"SYS_332"	}, /* 332 */
+	{ 5,	0,	printargs,		"SYS_333"	}, /* 333 */
+	{ 5,	0,	printargs,		"SYS_334"	}, /* 334 */
+	{ 5,	0,	printargs,		"SYS_335"	}, /* 335 */
+	{ 5,	0,	printargs,		"SYS_336"	}, /* 336 */
+	{ 5,	0,	printargs,		"SYS_337"	}, /* 337 */
+	{ 5,	0,	printargs,		"SYS_338"	}, /* 338 */
+	{ 5,	0,	printargs,		"SYS_339"	}, /* 339 */
+	{ 5,	0,	printargs,		"SYS_340"	}, /* 340 */
+	{ 5,	0,	printargs,		"SYS_341"	}, /* 341 */
+	{ 5,	0,	printargs,		"SYS_342"	}, /* 342 */
+	{ 5,	0,	printargs,		"SYS_343"	}, /* 343 */
+	{ 5,	0,	printargs,		"SYS_344"	}, /* 344 */
+	{ 5,	0,	printargs,		"SYS_345"	}, /* 345 */
+	{ 5,	0,	printargs,		"SYS_346"	}, /* 346 */
+	{ 5,	0,	printargs,		"SYS_347"	}, /* 347 */
+	{ 5,	0,	printargs,		"SYS_348"	}, /* 348 */
+	{ 5,	0,	printargs,		"SYS_349"	}, /* 349 */
+	{ 5,	0,	printargs,		"SYS_350"	}, /* 350 */
+	{ 5,	0,	printargs,		"SYS_351"	}, /* 351 */
+	{ 5,	0,	printargs,		"SYS_352"	}, /* 352 */
+	{ 5,	0,	printargs,		"SYS_353"	}, /* 353 */
+	{ 5,	0,	printargs,		"SYS_354"	}, /* 354 */
+	{ 5,	0,	printargs,		"SYS_355"	}, /* 355 */
+	{ 5,	0,	printargs,		"SYS_356"	}, /* 356 */
+	{ 5,	0,	printargs,		"SYS_357"	}, /* 357 */
+	{ 5,	0,	printargs,		"SYS_358"	}, /* 358 */
+	{ 5,	0,	printargs,		"SYS_359"	}, /* 359 */
+	{ 5,	0,	printargs,		"SYS_360"	}, /* 360 */
+	{ 5,	0,	printargs,		"SYS_361"	}, /* 361 */
+	{ 5,	0,	printargs,		"SYS_362"	}, /* 362 */
+	{ 5,	0,	printargs,		"SYS_363"	}, /* 363 */
+	{ 5,	0,	printargs,		"SYS_364"	}, /* 364 */
+	{ 5,	0,	printargs,		"SYS_365"	}, /* 365 */
+	{ 5,	0,	printargs,		"SYS_366"	}, /* 366 */
+	{ 5,	0,	printargs,		"SYS_367"	}, /* 367 */
+	{ 5,	0,	printargs,		"SYS_368"	}, /* 368 */
+	{ 5,	0,	printargs,		"SYS_369"	}, /* 369 */
+	{ 5,	0,	printargs,		"SYS_370"	}, /* 370 */
+	{ 5,	0,	printargs,		"SYS_371"	}, /* 371 */
+	{ 5,	0,	printargs,		"SYS_372"	}, /* 372 */
+	{ 5,	0,	printargs,		"SYS_373"	}, /* 373 */
+	{ 5,	0,	printargs,		"SYS_374"	}, /* 374 */
+	{ 5,	0,	printargs,		"SYS_375"	}, /* 375 */
+	{ 5,	0,	printargs,		"SYS_376"	}, /* 376 */
+	{ 5,	0,	printargs,		"SYS_377"	}, /* 377 */
+	{ 5,	0,	printargs,		"SYS_378"	}, /* 378 */
+	{ 5,	0,	printargs,		"SYS_379"	}, /* 379 */
+	{ 5,	0,	printargs,		"SYS_380"	}, /* 380 */
+	{ 5,	0,	printargs,		"SYS_381"	}, /* 381 */
+	{ 5,	0,	printargs,		"SYS_382"	}, /* 382 */
+	{ 5,	0,	printargs,		"SYS_383"	}, /* 383 */
+	{ 5,	0,	printargs,		"SYS_384"	}, /* 384 */
+	{ 5,	0,	printargs,		"SYS_385"	}, /* 385 */
+	{ 5,	0,	printargs,		"SYS_386"	}, /* 386 */
+	{ 5,	0,	printargs,		"SYS_387"	}, /* 387 */
+	{ 5,	0,	printargs,		"SYS_388"	}, /* 388 */
+	{ 5,	0,	printargs,		"SYS_389"	}, /* 389 */
+	{ 5,	0,	printargs,		"SYS_390"	}, /* 390 */
+	{ 5,	0,	printargs,		"SYS_391"	}, /* 391 */
+	{ 5,	0,	printargs,		"SYS_392"	}, /* 392 */
+	{ 5,	0,	printargs,		"SYS_393"	}, /* 393 */
+	{ 5,	0,	printargs,		"SYS_394"	}, /* 394 */
+	{ 5,	0,	printargs,		"SYS_395"	}, /* 395 */
+	{ 5,	0,	printargs,		"SYS_396"	}, /* 396 */
+	{ 5,	0,	printargs,		"SYS_397"	}, /* 397 */
+	{ 5,	0,	printargs,		"SYS_398"	}, /* 398 */
+	{ 5,	0,	printargs,		"SYS_399"	}, /* 399 */
+
+#if SYS_socket_subcall != 400
+ #error fix me
+#endif
+	{ 8,	0,	printargs,		"socket_subcall"}, /* 400 */
+	{ 3,	TN,	sys_socket,		"socket"	}, /* 401 */
+	{ 3,	TN,	sys_bind,		"bind"		}, /* 402 */
+	{ 3,	TN,	sys_connect,		"connect"	}, /* 403 */
+	{ 2,	TN,	sys_listen,		"listen"	}, /* 404 */
+	{ 3,	TN,	sys_accept,		"accept"	}, /* 405 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	}, /* 406 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	}, /* 407 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"	}, /* 408 */
+	{ 4,	TN,	sys_send,		"send"		}, /* 409 */
+	{ 4,	TN,	sys_recv,		"recv"		}, /* 410 */
+	{ 6,	TN,	sys_sendto,		"sendto"	}, /* 411 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom"	}, /* 412 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	}, /* 413 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	}, /* 414 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 415 */
+	{ 5,	TN,	sys_sendmsg,		"sendmsg"	}, /* 416 */
+	{ 5,	TN,	sys_recvmsg,		"recvmsg"	}, /* 417 */
+	{ 4,	TN,	sys_accept4,		"accept4"	}, /* 418 */
+	{ 5,	TN,	sys_recvmmsg,		"recvmmsg"	}, /* 419 */
+
+#if SYS_ipc_subcall != 420
+ #error fix me
+#endif
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 420 */
+	{ 4,	TI,	sys_semop,		"semop"		}, /* 421 */
+	{ 4,	TI,	sys_semget,		"semget"	}, /* 422 */
+	{ 4,	TI,	sys_semctl,		"semctl"	}, /* 423 */
+	{ 5,	TI,	sys_semtimedop,		"semtimedop"	}, /* 424 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 425 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 426 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 427 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 428 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 429 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 430 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd"	}, /* 431 */
+	{ 4,	TI,	sys_msgrcv,		"msgrcv"	}, /* 432 */
+	{ 4,	TI,	sys_msgget,		"msgget"	}, /* 433 */
+	{ 4,	TI,	sys_msgctl,		"msgctl"	}, /* 434 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 435 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 436 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 437 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 438 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 439 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 440 */
+	{ 4,	TI,	sys_shmat,		"shmat"		}, /* 441 */
+	{ 4,	TI,	sys_shmdt,		"shmdt"		}, /* 442 */
+	{ 4,	TI,	sys_shmget,		"shmget"	}, /* 443 */
+	{ 4,	TI,	sys_shmctl,		"shmctl"	}, /* 444 */
diff --git a/strace-4.5.20/linux/s390x/ioctlent.h b/strace-4.5.20/linux/s390x/ioctlent.h
new file mode 100644
index 0000000..414fbeb
--- /dev/null
+++ b/strace-4.5.20/linux/s390x/ioctlent.h
@@ -0,0 +1,941 @@
+{"linux/fs.h", "FIBMAP", 0x1},
+{"linux/fs.h", "FIGETBSZ", 0x2},
+{"linux/fd.h", "FDCLRPRM", 0x241},
+{"linux/fd.h", "FDMSGON", 0x245},
+{"linux/fd.h", "FDMSGOFF", 0x246},
+{"linux/fd.h", "FDFMTBEG", 0x247},
+{"linux/fd.h", "FDFMTEND", 0x249},
+{"linux/fd.h", "FDSETEMSGTRESH", 0x24a},
+{"linux/fd.h", "FDFLUSH", 0x24b},
+{"linux/fd.h", "FDRESET", 0x254},
+{"linux/fd.h", "FDWERRORCLR", 0x256},
+{"linux/fd.h", "FDRAWCMD", 0x258},
+{"linux/fd.h", "FDTWADDLE", 0x259},
+{"linux/fd.h", "FDEJECT", 0x25a},
+{"linux/hdreg.h", "HDIO_GETGEO", 0x301},
+{"linux/hdreg.h", "HDIO_GET_UNMASKINTR", 0x302},
+{"linux/hdreg.h", "HDIO_GET_MULTCOUNT", 0x304},
+{"linux/hdreg.h", "HDIO_OBSOLETE_IDENTITY", 0x307},
+{"linux/hdreg.h", "HDIO_GET_KEEPSETTINGS", 0x308},
+{"linux/hdreg.h", "HDIO_GET_32BIT", 0x309},
+{"linux/hdreg.h", "HDIO_GET_NOWERR", 0x30a},
+{"linux/hdreg.h", "HDIO_GET_DMA", 0x30b},
+{"linux/hdreg.h", "HDIO_GET_NICE", 0x30c},
+{"linux/hdreg.h", "HDIO_GET_IDENTITY", 0x30d},
+{"linux/hdreg.h", "HDIO_DRIVE_RESET", 0x31c},
+{"linux/hdreg.h", "HDIO_TRISTATE_HWIF", 0x31d},
+{"linux/hdreg.h", "HDIO_DRIVE_TASK", 0x31e},
+{"linux/hdreg.h", "HDIO_DRIVE_CMD", 0x31f},
+{"linux/hdreg.h", "HDIO_SET_MULTCOUNT", 0x321},
+{"linux/hdreg.h", "HDIO_SET_UNMASKINTR", 0x322},
+{"linux/hdreg.h", "HDIO_SET_KEEPSETTINGS", 0x323},
+{"linux/hdreg.h", "HDIO_SET_32BIT", 0x324},
+{"linux/hdreg.h", "HDIO_SET_NOWERR", 0x325},
+{"linux/hdreg.h", "HDIO_SET_DMA", 0x326},
+{"linux/hdreg.h", "HDIO_SET_PIO_MODE", 0x327},
+{"linux/hdreg.h", "HDIO_SCAN_HWIF", 0x328},
+{"linux/hdreg.h", "HDIO_SET_NICE", 0x329},
+{"linux/hdreg.h", "HDIO_UNREGISTER_HWIF", 0x32a},
+{"linux/hdreg.h", "HDIO_GETGEO_BIG", 0x330},
+{"linux/hdreg.h", "HDIO_GETGEO_BIG_RAW", 0x331},
+{"linux/umsdos_fs.h", "UMSDOS_READDIR_DOS", 0x4d2},
+{"linux/umsdos_fs.h", "UMSDOS_UNLINK_DOS", 0x4d3},
+{"linux/umsdos_fs.h", "UMSDOS_RMDIR_DOS", 0x4d4},
+{"linux/umsdos_fs.h", "UMSDOS_STAT_DOS", 0x4d5},
+{"linux/umsdos_fs.h", "UMSDOS_CREAT_EMD", 0x4d6},
+{"linux/umsdos_fs.h", "UMSDOS_UNLINK_EMD", 0x4d7},
+{"linux/umsdos_fs.h", "UMSDOS_READDIR_EMD", 0x4d8},
+{"linux/umsdos_fs.h", "UMSDOS_GETVERSION", 0x4d9},
+{"linux/umsdos_fs.h", "UMSDOS_INIT_EMD", 0x4da},
+{"linux/umsdos_fs.h", "UMSDOS_DOS_SETUP", 0x4db},
+{"linux/umsdos_fs.h", "UMSDOS_RENAME_DOS", 0x4dc},
+{"linux/lp.h", "LPCHAR", 0x601},
+{"linux/lp.h", "LPTIME", 0x602},
+{"linux/lp.h", "LPABORT", 0x604},
+{"linux/lp.h", "LPSETIRQ", 0x605},
+{"linux/ac97_codec.h", "AC97_RECMUX_MONO_MIX", 0x606},
+{"linux/lp.h", "LPGETIRQ", 0x606},
+{"linux/lp.h", "LPWAIT", 0x608},
+{"linux/lp.h", "LPCAREFUL", 0x609},
+{"linux/lp.h", "LPABORTOPEN", 0x60a},
+{"linux/lp.h", "LPGETSTATUS", 0x60b},
+{"linux/lp.h", "LPRESET", 0x60c},
+{"linux/lp.h", "LPGETSTATS", 0x60d},
+{"linux/lp.h", "LPGETFLAGS", 0x60e},
+{"linux/lp.h", "LPSETTIMEOUT", 0x60f},
+{"linux/fs.h", "BLKROSET", 0x125d},
+{"linux/fs.h", "BLKROGET", 0x125e},
+{"linux/fs.h", "BLKRRPART", 0x125f},
+{"linux/fs.h", "BLKGETSIZE", 0x1260},
+{"linux/fs.h", "BLKFLSBUF", 0x1261},
+{"linux/fs.h", "BLKRASET", 0x1262},
+{"linux/fs.h", "BLKRAGET", 0x1263},
+{"linux/fs.h", "BLKFRASET", 0x1264},
+{"linux/fs.h", "BLKFRAGET", 0x1265},
+{"linux/fs.h", "BLKSECTSET", 0x1266},
+{"linux/fs.h", "BLKSECTGET", 0x1267},
+{"linux/fs.h", "BLKSSZGET", 0x1268},
+{"linux/fs.h", "BLKPG", 0x1269},
+{"scsi/sg.h", "SG_SET_TIMEOUT", 0x2201},
+{"scsi/sg.h", "SG_GET_TIMEOUT", 0x2202},
+{"scsi/sg.h", "SG_EMULATED_HOST", 0x2203},
+{"scsi/sg.h", "SG_SET_TRANSFORM", 0x2204},
+{"scsi/sg.h", "SG_GET_TRANSFORM", 0x2205},
+{"scsi/sg.h", "SG_GET_COMMAND_Q", 0x2270},
+{"scsi/sg.h", "SG_SET_COMMAND_Q", 0x2271},
+{"scsi/sg.h", "SG_GET_RESERVED_SIZE", 0x2272},
+{"scsi/sg.h", "SG_SET_RESERVED_SIZE", 0x2275},
+{"scsi/sg.h", "SG_GET_SCSI_ID", 0x2276},
+{"scsi/sg.h", "SG_SET_FORCE_LOW_DMA", 0x2279},
+{"scsi/sg.h", "SG_GET_LOW_DMA", 0x227a},
+{"scsi/sg.h", "SG_SET_FORCE_PACK_ID", 0x227b},
+{"scsi/sg.h", "SG_GET_PACK_ID", 0x227c},
+{"scsi/sg.h", "SG_GET_NUM_WAITING", 0x227d},
+{"scsi/sg.h", "SG_SET_DEBUG", 0x227e},
+{"scsi/sg.h", "SG_GET_SG_TABLESIZE", 0x227f},
+{"scsi/sg.h", "SG_GET_VERSION_NUM", 0x2282},
+{"scsi/sg.h", "SG_NEXT_CMD_LEN", 0x2283},
+{"scsi/sg.h", "SG_SCSI_RESET", 0x2284},
+{"scsi/sg.h", "SG_IO", 0x2285},
+{"scsi/sg.h", "SG_GET_REQUEST_TABLE", 0x2286},
+{"scsi/sg.h", "SG_SET_KEEP_ORPHAN", 0x2287},
+{"scsi/sg.h", "SG_GET_KEEP_ORPHAN", 0x2288},
+{"linux/agpgart.h", "AGPIOC_ACQUIRE", 0x4101},
+{"linux/agpgart.h", "AGPIOC_RELEASE", 0x4102},
+{"linux/pmu.h", "PMU_IOC_SLEEP", 0x4200},
+{"asm/dasd.h", "BIODASDDISABLE", 0x4400},
+{"asm/dasd.h", "BIODASDENABLE", 0x4401},
+{"asm/dasd.h", "BIODASDRSRV", 0x4402},
+{"asm/dasd.h", "BIODASDRLSE", 0x4403},
+{"asm/dasd.h", "BIODASDSLCK", 0x4404},
+{"asm/dasd.h", "BIODASDPRRST", 0x4405},
+{"asm/dasd.h", "BIODASDQUIESCE", 0x4406},
+{"asm/dasd.h", "BIODASDRESUME", 0x4407},
+{"asm/cmb.h", "BIODASDCMFENABLE", 0x4420},
+{"asm/cmb.h", "BIODASDCMFDISABLE", 0x4421},
+{"asm/cmb.h", "BIODASDRESETCMB", 0x4422},
+{"linux/fb.h", "FBIOGET_VSCREENINFO", 0x4600},
+{"linux/fb.h", "FBIOPUT_VSCREENINFO", 0x4601},
+{"linux/ps2esdi.h", "CMD_READ", 0x4601},
+{"linux/fb.h", "FBIOGET_FSCREENINFO", 0x4602},
+{"linux/ps2esdi.h", "CMD_WRITE", 0x4602},
+{"linux/fb.h", "FBIOGETCMAP", 0x4604},
+{"linux/fb.h", "FBIOPUTCMAP", 0x4605},
+{"linux/fb.h", "FBIOPAN_DISPLAY", 0x4606},
+{"linux/fb.h", "FBIOGET_FCURSORINFO", 0x4607},
+{"linux/fb.h", "FBIOGET_VCURSORINFO", 0x4608},
+{"linux/fb.h", "FBIOPUT_VCURSORINFO", 0x4609},
+{"linux/fb.h", "FBIOGET_CURSORSTATE", 0x460a},
+{"linux/fb.h", "FBIOPUT_CURSORSTATE", 0x460b},
+{"linux/fb.h", "FBIOGET_CON2FBMAP", 0x460f},
+{"linux/fb.h", "FBIOPUT_CON2FBMAP", 0x4610},
+{"linux/fb.h", "FBIOBLANK", 0x4611},
+{"linux/fb.h", "FBIO_ALLOC", 0x4613},
+{"linux/fb.h", "FBIO_FREE", 0x4614},
+{"linux/fb.h", "FBIOGET_GLYPH", 0x4615},
+{"linux/fb.h", "FBIOGET_HWCINFO", 0x4616},
+{"linux/isdn.h", "IIOCNETAIF", 0x4901},
+{"linux/isdn.h", "IIOCNETDIF", 0x4902},
+{"linux/isdn.h", "IIOCNETSCF", 0x4903},
+{"linux/isdn.h", "IIOCNETGCF", 0x4904},
+{"linux/isdn.h", "IIOCNETANM", 0x4905},
+{"linux/isdn.h", "IIOCNETDNM", 0x4906},
+{"linux/isdn.h", "IIOCNETGNM", 0x4907},
+{"linux/isdn.h", "IIOCGETSET", 0x4908},
+{"linux/isdn.h", "IIOCSETSET", 0x4909},
+{"linux/isdn.h", "IIOCSETVER", 0x490a},
+{"linux/isdn.h", "IIOCNETHUP", 0x490b},
+{"linux/isdn.h", "IIOCSETGST", 0x490c},
+{"linux/isdn.h", "IIOCSETBRJ", 0x490d},
+{"linux/isdn.h", "IIOCSIGPRF", 0x490e},
+{"linux/isdn.h", "IIOCGETPRF", 0x490f},
+{"linux/isdn.h", "IIOCSETPRF", 0x4910},
+{"linux/isdn.h", "IIOCGETMAP", 0x4911},
+{"linux/isdn.h", "IIOCSETMAP", 0x4912},
+{"linux/isdn.h", "IIOCNETASL", 0x4913},
+{"linux/isdn.h", "IIOCNETDIL", 0x4914},
+{"linux/isdn.h", "IIOCGETCPS", 0x4915},
+{"linux/isdn.h", "IIOCGETDVR", 0x4916},
+{"linux/isdn.h", "IIOCNETLCR", 0x4917},
+{"linux/isdn.h", "IIOCNETDWRSET", 0x4918},
+{"linux/isdn.h", "IIOCNETALN", 0x4920},
+{"linux/isdn.h", "IIOCNETDLN", 0x4921},
+{"linux/isdn.h", "IIOCNETGPN", 0x4922},
+{"linux/isdn.h", "IIOCDBGVAR", 0x497f},
+{"linux/isdn.h", "IIOCDRVCTL", 0x4980},
+{"linux/kd.h", "KIOCSOUND", 0x4b2f},
+{"linux/kd.h", "KDMKTONE", 0x4b30},
+{"linux/kd.h", "KDGETLED", 0x4b31},
+{"linux/kd.h", "KDSETLED", 0x4b32},
+{"linux/kd.h", "KDGKBTYPE", 0x4b33},
+{"linux/kd.h", "KDADDIO", 0x4b34},
+{"linux/kd.h", "KDDELIO", 0x4b35},
+{"linux/kd.h", "KDENABIO", 0x4b36},
+{"linux/kd.h", "KDDISABIO", 0x4b37},
+{"linux/kd.h", "KDSETMODE", 0x4b3a},
+{"linux/kd.h", "KDGETMODE", 0x4b3b},
+{"linux/kd.h", "KDMAPDISP", 0x4b3c},
+{"linux/kd.h", "KDUNMAPDISP", 0x4b3d},
+{"linux/kd.h", "GIO_SCRNMAP", 0x4b40},
+{"linux/kd.h", "PIO_SCRNMAP", 0x4b41},
+{"linux/kd.h", "KDGKBMODE", 0x4b44},
+{"linux/kd.h", "KDSKBMODE", 0x4b45},
+{"linux/kd.h", "KDGKBENT", 0x4b46},
+{"linux/kd.h", "KDSKBENT", 0x4b47},
+{"linux/kd.h", "KDGKBSENT", 0x4b48},
+{"linux/kd.h", "KDSKBSENT", 0x4b49},
+{"linux/kd.h", "KDGKBDIACR", 0x4b4a},
+{"linux/kd.h", "KDSKBDIACR", 0x4b4b},
+{"linux/kd.h", "KDGETKEYCODE", 0x4b4c},
+{"linux/kd.h", "KDSETKEYCODE", 0x4b4d},
+{"linux/kd.h", "KDSIGACCEPT", 0x4b4e},
+{"linux/kd.h", "KDGHWCLK", 0x4b50},
+{"linux/kd.h", "KDSHWCLK", 0x4b51},
+{"linux/kd.h", "KDKBDREP", 0x4b52},
+{"linux/kd.h", "GIO_FONT", 0x4b60},
+{"linux/kd.h", "PIO_FONT", 0x4b61},
+{"linux/kd.h", "KDGKBMETA", 0x4b62},
+{"linux/kd.h", "KDSKBMETA", 0x4b63},
+{"linux/kd.h", "KDGKBLED", 0x4b64},
+{"linux/kd.h", "KDSKBLED", 0x4b65},
+{"linux/kd.h", "GIO_UNIMAP", 0x4b66},
+{"linux/kd.h", "PIO_UNIMAP", 0x4b67},
+{"linux/kd.h", "PIO_UNIMAPCLR", 0x4b68},
+{"linux/kd.h", "GIO_UNISCRNMAP", 0x4b69},
+{"linux/kd.h", "PIO_UNISCRNMAP", 0x4b6a},
+{"linux/kd.h", "GIO_FONTX", 0x4b6b},
+{"linux/kd.h", "PIO_FONTX", 0x4b6c},
+{"linux/kd.h", "PIO_FONTRESET", 0x4b6d},
+{"linux/kd.h", "GIO_CMAP", 0x4b70},
+{"linux/kd.h", "PIO_CMAP", 0x4b71},
+{"linux/kd.h", "KDFONTOP", 0x4b72},
+{"linux/loop.h", "LOOP_SET_FD", 0x4c00},
+{"linux/loop.h", "LOOP_CLR_FD", 0x4c01},
+{"linux/loop.h", "LOOP_SET_STATUS", 0x4c02},
+{"linux/loop.h", "LOOP_GET_STATUS", 0x4c03},
+{"linux/random.h", "RNDZAPENTCNT", 0x5204},
+{"linux/random.h", "RNDCLEARPOOL", 0x5206},
+{"linux/cdrom.h", "CDROMPAUSE", 0x5301},
+{"linux/cdrom.h", "CDROMRESUME", 0x5302},
+{"linux/cdrom.h", "CDROMPLAYMSF", 0x5303},
+{"linux/cdrom.h", "CDROMPLAYTRKIND", 0x5304},
+{"linux/cdrom.h", "CDROMREADTOCHDR", 0x5305},
+{"linux/cdrom.h", "CDROMREADTOCENTRY", 0x5306},
+{"linux/cdrom.h", "CDROMSTOP", 0x5307},
+{"linux/cdrom.h", "CDROMSTART", 0x5308},
+{"linux/cdrom.h", "CDROMEJECT", 0x5309},
+{"linux/cdrom.h", "CDROMVOLCTRL", 0x530a},
+{"linux/cdrom.h", "CDROMSUBCHNL", 0x530b},
+{"linux/cdrom.h", "CDROMREADMODE2", 0x530c},
+{"linux/cdrom.h", "CDROMREADMODE1", 0x530d},
+{"linux/cdrom.h", "CDROMREADAUDIO", 0x530e},
+{"linux/cdrom.h", "CDROMEJECT_SW", 0x530f},
+{"linux/cdrom.h", "CDROMMULTISESSION", 0x5310},
+{"linux/cdrom.h", "CDROM_GET_MCN", 0x5311},
+{"linux/cdrom.h", "CDROMRESET", 0x5312},
+{"linux/cdrom.h", "CDROMVOLREAD", 0x5313},
+{"linux/cdrom.h", "CDROMREADRAW", 0x5314},
+{"linux/cdrom.h", "CDROMREADCOOKED", 0x5315},
+{"linux/cdrom.h", "CDROMSEEK", 0x5316},
+{"linux/cdrom.h", "CDROMPLAYBLK", 0x5317},
+{"linux/cdrom.h", "CDROMREADALL", 0x5318},
+{"linux/cdrom.h", "CDROMCLOSETRAY", 0x5319},
+{"linux/cdrom.h", "CDROMGETSPINDOWN", 0x531d},
+{"linux/cdrom.h", "CDROMSETSPINDOWN", 0x531e},
+{"linux/cdrom.h", "CDROM_SET_OPTIONS", 0x5320},
+{"linux/cdrom.h", "CDROM_CLEAR_OPTIONS", 0x5321},
+{"linux/cdrom.h", "CDROM_SELECT_SPEED", 0x5322},
+{"linux/cdrom.h", "CDROM_SELECT_DISC", 0x5323},
+{"linux/cdrom.h", "CDROM_MEDIA_CHANGED", 0x5325},
+{"linux/cdrom.h", "CDROM_DRIVE_STATUS", 0x5326},
+{"linux/cdrom.h", "CDROM_DISC_STATUS", 0x5327},
+{"linux/cdrom.h", "CDROM_CHANGER_NSLOTS", 0x5328},
+{"linux/cdrom.h", "CDROM_LOCKDOOR", 0x5329},
+{"linux/cdrom.h", "CDROM_DEBUG", 0x5330},
+{"linux/cdrom.h", "CDROM_GET_CAPABILITY", 0x5331},
+{"scsi/scsi_ioctl.h", "SCSI_IOCTL_DOORLOCK", 0x5380},
+{"scsi/scsi_ioctl.h", "SCSI_IOCTL_DOORUNLOCK", 0x5381},
+{"scsi/scsi.h", "SCSI_IOCTL_GET_IDLUN", 0x5382},
+{"scsi/scsi.h", "SCSI_IOCTL_TAGGED_ENABLE", 0x5383},
+{"scsi/scsi.h", "SCSI_IOCTL_TAGGED_DISABLE", 0x5384},
+{"scsi/scsi.h", "SCSI_IOCTL_PROBE_HOST", 0x5385},
+{"scsi/scsi.h", "SCSI_IOCTL_GET_BUS_NUMBER", 0x5386},
+{"linux/cdrom.h", "DVD_READ_STRUCT", 0x5390},
+{"linux/cdrom.h", "DVD_WRITE_STRUCT", 0x5391},
+{"linux/cdrom.h", "DVD_AUTH", 0x5392},
+{"linux/cdrom.h", "CDROM_SEND_PACKET", 0x5393},
+{"linux/cdrom.h", "CDROM_NEXT_WRITABLE", 0x5394},
+{"linux/cdrom.h", "CDROM_LAST_WRITTEN", 0x5395},
+{"asm/ioctls.h", "TCGETS", 0x5401},
+{"asm/ioctls.h", "TCSETS", 0x5402},
+{"asm/ioctls.h", "TCSETSW", 0x5403},
+{"asm/ioctls.h", "TCSETSF", 0x5404},
+{"asm/ioctls.h", "TCGETA", 0x5405},
+{"asm/ioctls.h", "TCSETA", 0x5406},
+{"asm/ioctls.h", "TCSETAW", 0x5407},
+{"asm/ioctls.h", "TCSETAF", 0x5408},
+{"asm/ioctls.h", "TCSBRK", 0x5409},
+{"asm/ioctls.h", "TCXONC", 0x540a},
+{"asm/ioctls.h", "TCFLSH", 0x540b},
+{"asm/ioctls.h", "TIOCEXCL", 0x540c},
+{"asm/ioctls.h", "TIOCNXCL", 0x540d},
+{"asm/ioctls.h", "TIOCSCTTY", 0x540e},
+{"asm/ioctls.h", "TIOCGPGRP", 0x540f},
+{"asm/ioctls.h", "TIOCSPGRP", 0x5410},
+{"asm/ioctls.h", "TIOCOUTQ", 0x5411},
+{"asm/ioctls.h", "TIOCSTI", 0x5412},
+{"asm/ioctls.h", "TIOCGWINSZ", 0x5413},
+{"asm/ioctls.h", "TIOCSWINSZ", 0x5414},
+{"asm/ioctls.h", "TIOCMGET", 0x5415},
+{"asm/ioctls.h", "TIOCMBIS", 0x5416},
+{"asm/ioctls.h", "TIOCMBIC", 0x5417},
+{"asm/ioctls.h", "TIOCMSET", 0x5418},
+{"asm/ioctls.h", "TIOCGSOFTCAR", 0x5419},
+{"asm/ioctls.h", "TIOCSSOFTCAR", 0x541a},
+{"asm/ioctls.h", "FIONREAD", 0x541b},
+{"asm/ioctls.h", "TIOCLINUX", 0x541c},
+{"asm/ioctls.h", "TIOCCONS", 0x541d},
+{"asm/ioctls.h", "TIOCGSERIAL", 0x541e},
+{"asm/ioctls.h", "TIOCSSERIAL", 0x541f},
+{"asm/ioctls.h", "TIOCPKT", 0x5420},
+{"asm/ioctls.h", "FIONBIO", 0x5421},
+{"asm/ioctls.h", "TIOCNOTTY", 0x5422},
+{"asm/ioctls.h", "TIOCSETD", 0x5423},
+{"asm/ioctls.h", "TIOCGETD", 0x5424},
+{"asm/ioctls.h", "TCSBRKP", 0x5425},
+{"asm/ioctls.h", "TIOCTTYGSTRUCT", 0x5426},
+{"asm/ioctls.h", "TIOCSBRK", 0x5427},
+{"asm/ioctls.h", "TIOCCBRK", 0x5428},
+{"asm/ioctls.h", "TIOCGSID", 0x5429},
+{"asm/ioctls.h", "FIONCLEX", 0x5450},
+{"asm/ioctls.h", "FIOCLEX", 0x5451},
+{"asm/ioctls.h", "FIOASYNC", 0x5452},
+{"asm/ioctls.h", "TIOCSERCONFIG", 0x5453},
+{"asm/ioctls.h", "TIOCSERGWILD", 0x5454},
+{"asm/ioctls.h", "TIOCSERSWILD", 0x5455},
+{"asm/ioctls.h", "TIOCGLCKTRMIOS", 0x5456},
+{"asm/ioctls.h", "TIOCSLCKTRMIOS", 0x5457},
+{"asm/ioctls.h", "TIOCSERGSTRUCT", 0x5458},
+{"asm/ioctls.h", "TIOCSERGETLSR", 0x5459},
+{"asm/ioctls.h", "TIOCSERGETMULTI", 0x545a},
+{"asm/ioctls.h", "TIOCSERSETMULTI", 0x545b},
+{"asm/ioctls.h", "TIOCMIWAIT", 0x545c},
+{"asm/ioctls.h", "TIOCGICOUNT", 0x545d},
+{"asm/ioctls.h", "FIOQSIZE", 0x545e},
+{"linux/usbdevice_fs.h", "USBDEVFS_DISCARDURB", 0x550b},
+{"linux/usbdevice_fs.h", "USBDEVFS_RESET", 0x5514},
+{"linux/vt.h", "VT_OPENQRY", 0x5600},
+{"linux/vt.h", "VT_GETMODE", 0x5601},
+{"linux/vt.h", "VT_SETMODE", 0x5602},
+{"linux/vt.h", "VT_GETSTATE", 0x5603},
+{"linux/vt.h", "VT_SENDSIG", 0x5604},
+{"linux/vt.h", "VT_RELDISP", 0x5605},
+{"linux/vt.h", "VT_ACTIVATE", 0x5606},
+{"linux/vt.h", "VT_WAITACTIVE", 0x5607},
+{"linux/vt.h", "VT_DISALLOCATE", 0x5608},
+{"linux/vt.h", "VT_RESIZE", 0x5609},
+{"linux/vt.h", "VT_RESIZEX", 0x560a},
+{"linux/vt.h", "VT_LOCKSWITCH", 0x560b},
+{"linux/vt.h", "VT_UNLOCKSWITCH", 0x560c},
+{"linux/sonet.h", "SONET_SETFRAMING", 0x6115},
+{"linux/atm_nicstar.h", "NS_ADJBUFLEV", 0x6163},
+{"linux/atm_tcp.h", "SIOCSIFATMTCP", 0x6180},
+{"linux/atm_tcp.h", "ATMTCP_CREATE", 0x618e},
+{"linux/atm_tcp.h", "ATMTCP_REMOVE", 0x618f},
+{"linux/atmlec.h", "ATMLEC_CTRL", 0x61d0},
+{"linux/atmlec.h", "ATMLEC_DATA", 0x61d1},
+{"linux/atmlec.h", "ATMLEC_MCAST", 0x61d2},
+{"linux/atmmpc.h", "ATMMPC_CTRL", 0x61d8},
+{"linux/atmmpc.h", "ATMMPC_DATA", 0x61d9},
+{"linux/atmclip.h", "SIOCMKCLIP", 0x61e0},
+{"linux/atmarp.h", "ATMARPD_CTRL", 0x61e1},
+{"linux/atmarp.h", "ATMARP_MKIP", 0x61e2},
+{"linux/atmarp.h", "ATMARP_SETENTRY", 0x61e3},
+{"linux/atmarp.h", "ATMARP_ENCAP", 0x61e5},
+{"linux/atmsvc.h", "ATMSIGD_CTRL", 0x61f0},
+{"linux/comstats.h", "COM_GETPORTSTATS", 0x631e},
+{"linux/comstats.h", "COM_CLRPORTSTATS", 0x631f},
+{"linux/comstats.h", "COM_GETBRDSTATS", 0x6320},
+{"linux/comstats.h", "COM_READPORT", 0x6328},
+{"linux/comstats.h", "COM_READBOARD", 0x6329},
+{"linux/comstats.h", "COM_READPANEL", 0x632a},
+{"linux/video_decoder.h", "DECODER_DUMP", 0x64c0},
+{"linux/synclink.h", "MGSL_IOCSTXIDLE", 0x6d02},
+{"linux/synclink.h", "MGSL_IOCGTXIDLE", 0x6d03},
+{"linux/synclink.h", "MGSL_IOCTXENABLE", 0x6d04},
+{"linux/synclink.h", "MGSL_IOCRXENABLE", 0x6d05},
+{"linux/synclink.h", "MGSL_IOCTXABORT", 0x6d06},
+{"linux/synclink.h", "MGSL_IOCGSTATS", 0x6d07},
+{"linux/synclink.h", "MGSL_IOCLOOPTXDONE", 0x6d09},
+{"linux/synclink.h", "MGSL_IOCCLRMODCOUNT", 0x6d0f},
+{"linux/ncp_fs.h", "NCP_IOC_CONN_LOGGED_IN", 0x6e03},
+{"linux/rtc.h", "RTC_AIE_ON", 0x7001},
+{"linux/rtc.h", "RTC_AIE_OFF", 0x7002},
+{"linux/rtc.h", "RTC_UIE_ON", 0x7003},
+{"linux/rtc.h", "RTC_UIE_OFF", 0x7004},
+{"linux/rtc.h", "RTC_PIE_ON", 0x7005},
+{"linux/rtc.h", "RTC_PIE_OFF", 0x7006},
+{"linux/rtc.h", "RTC_WIE_ON", 0x700f},
+{"linux/rtc.h", "RTC_WIE_OFF", 0x7010},
+{"linux/nvram.h", "NVRAM_INIT", 0x7040},
+{"linux/nvram.h", "NVRAM_SETCKS", 0x7041},
+{"linux/ppdev.h", "PPCLAIM", 0x708b},
+{"linux/ppdev.h", "PPRELEASE", 0x708c},
+{"linux/ppdev.h", "PPYIELD", 0x708d},
+{"linux/ppdev.h", "PPEXCL", 0x708f},
+{"linux/telephony.h", "PHONE_CAPABILITIES", 0x7180},
+{"linux/telephony.h", "PHONE_RING", 0x7183},
+{"linux/telephony.h", "PHONE_HOOKSTATE", 0x7184},
+{"linux/telephony.h", "PHONE_RING_START", 0x7187},
+{"linux/telephony.h", "PHONE_RING_STOP", 0x7188},
+{"linux/telephony.h", "PHONE_REC_START", 0x718a},
+{"linux/telephony.h", "PHONE_REC_STOP", 0x718b},
+{"linux/telephony.h", "PHONE_REC_LEVEL", 0x718f},
+{"linux/telephony.h", "PHONE_PLAY_START", 0x7191},
+{"linux/telephony.h", "PHONE_PLAY_STOP", 0x7192},
+{"linux/telephony.h", "PHONE_PLAY_LEVEL", 0x7195},
+{"linux/telephony.h", "PHONE_GET_TONE_ON_TIME", 0x719e},
+{"linux/telephony.h", "PHONE_GET_TONE_OFF_TIME", 0x719f},
+{"linux/telephony.h", "PHONE_GET_TONE_STATE", 0x71a0},
+{"linux/telephony.h", "PHONE_BUSY", 0x71a1},
+{"linux/telephony.h", "PHONE_RINGBACK", 0x71a2},
+{"linux/telephony.h", "PHONE_DIALTONE", 0x71a3},
+{"linux/telephony.h", "PHONE_CPT_STOP", 0x71a4},
+{"linux/telephony.h", "PHONE_PSTN_GET_STATE", 0x71a5},
+{"linux/telephony.h", "PHONE_PSTN_LINETEST", 0x71a8},
+{"linux/ixjuser.h", "IXJCTL_DSP_RESET", 0x71c0},
+{"linux/ixjuser.h", "IXJCTL_DSP_IDLE", 0x71c5},
+{"linux/ixjuser.h", "IXJCTL_TESTRAM", 0x71c6},
+{"linux/ixjuser.h", "IXJCTL_AEC_STOP", 0x71cc},
+{"linux/ixjuser.h", "IXJCTL_AEC_GET_LEVEL", 0x71cd},
+{"linux/ixjuser.h", "IXJCTL_PSTN_LINETEST", 0x71d3},
+{"linux/ixjuser.h", "IXJCTL_DRYBUFFER_CLEAR", 0x71e7},
+{"linux/cdk.h", "STL_BINTR", 0x7314},
+{"linux/cdk.h", "STL_BSTART", 0x7315},
+{"linux/cdk.h", "STL_BSTOP", 0x7316},
+{"linux/cdk.h", "STL_BRESET", 0x7317},
+{"linux/cdk.h", "STL_GETPFLAG", 0x7350},
+{"linux/cdk.h", "STL_SETPFLAG", 0x7351},
+{"linux/if_ppp.h", "PPPIOCDISCONN", 0x7439},
+{"linux/if_ppp.h", "PPPIOCXFERUNIT", 0x744e},
+{"linux/jffs.h", "JFFS_PRINT_HASH", 0x745a},
+{"linux/jffs.h", "JFFS_PRINT_TREE", 0x745b},
+{"linux/jffs.h", "JFFS_GET_STATUS", 0x745c},
+{"asm/sockios.h", "FIOSETOWN", 0x8901},
+{"asm/sockios.h", "SIOCSPGRP", 0x8902},
+{"asm/sockios.h", "FIOGETOWN", 0x8903},
+{"asm/sockios.h", "SIOCGPGRP", 0x8904},
+{"asm/sockios.h", "SIOCATMARK", 0x8905},
+{"asm/sockios.h", "SIOCGSTAMP", 0x8906},
+{"linux/sockios.h", "SIOCADDRT", 0x890b},
+{"linux/sockios.h", "SIOCDELRT", 0x890c},
+{"linux/sockios.h", "SIOCRTMSG", 0x890d},
+{"linux/sockios.h", "SIOCGIFNAME", 0x8910},
+{"linux/sockios.h", "SIOCSIFLINK", 0x8911},
+{"linux/sockios.h", "SIOCGIFCONF", 0x8912},
+{"linux/sockios.h", "SIOCGIFFLAGS", 0x8913},
+{"linux/sockios.h", "SIOCSIFFLAGS", 0x8914},
+{"linux/sockios.h", "SIOCGIFADDR", 0x8915},
+{"linux/sockios.h", "SIOCSIFADDR", 0x8916},
+{"linux/sockios.h", "SIOCGIFDSTADDR", 0x8917},
+{"linux/sockios.h", "SIOCSIFDSTADDR", 0x8918},
+{"linux/sockios.h", "SIOCGIFBRDADDR", 0x8919},
+{"linux/sockios.h", "SIOCSIFBRDADDR", 0x891a},
+{"linux/sockios.h", "SIOCGIFNETMASK", 0x891b},
+{"linux/sockios.h", "SIOCSIFNETMASK", 0x891c},
+{"linux/sockios.h", "SIOCGIFMETRIC", 0x891d},
+{"linux/sockios.h", "SIOCSIFMETRIC", 0x891e},
+{"linux/sockios.h", "SIOCGIFMEM", 0x891f},
+{"linux/sockios.h", "SIOCSIFMEM", 0x8920},
+{"linux/sockios.h", "SIOCGIFMTU", 0x8921},
+{"linux/sockios.h", "SIOCSIFMTU", 0x8922},
+{"linux/sockios.h", "SIOCSIFNAME", 0x8923},
+{"linux/sockios.h", "SIOCSIFHWADDR", 0x8924},
+{"linux/sockios.h", "SIOCGIFENCAP", 0x8925},
+{"linux/sockios.h", "SIOCSIFENCAP", 0x8926},
+{"linux/sockios.h", "SIOCGIFHWADDR", 0x8927},
+{"linux/sockios.h", "SIOCGIFSLAVE", 0x8929},
+{"linux/sockios.h", "SIOCSIFSLAVE", 0x8930},
+{"linux/sockios.h", "SIOCADDMULTI", 0x8931},
+{"linux/sockios.h", "SIOCDELMULTI", 0x8932},
+{"linux/sockios.h", "SIOCGIFINDEX", 0x8933},
+{"linux/sockios.h", "SIOCSIFPFLAGS", 0x8934},
+{"linux/sockios.h", "SIOCGIFPFLAGS", 0x8935},
+{"linux/sockios.h", "SIOCDIFADDR", 0x8936},
+{"linux/sockios.h", "SIOCSIFHWBROADCAST", 0x8937},
+{"linux/sockios.h", "SIOCGIFCOUNT", 0x8938},
+{"linux/sockios.h", "SIOCGIFBR", 0x8940},
+{"linux/sockios.h", "SIOCSIFBR", 0x8941},
+{"linux/sockios.h", "SIOCGIFTXQLEN", 0x8942},
+{"linux/sockios.h", "SIOCSIFTXQLEN", 0x8943},
+{"linux/sockios.h", "SIOCDARP", 0x8953},
+{"linux/sockios.h", "SIOCGARP", 0x8954},
+{"linux/sockios.h", "SIOCSARP", 0x8955},
+{"linux/sockios.h", "SIOCDRARP", 0x8960},
+{"linux/sockios.h", "SIOCGRARP", 0x8961},
+{"linux/sockios.h", "SIOCSRARP", 0x8962},
+{"linux/sockios.h", "SIOCGIFMAP", 0x8970},
+{"linux/sockios.h", "SIOCSIFMAP", 0x8971},
+{"linux/sockios.h", "SIOCADDDLCI", 0x8980},
+{"linux/sockios.h", "SIOCDELDLCI", 0x8981},
+{"linux/sockios.h", "SIOCPROTOPRIVATE", 0x89e0},
+{"linux/sockios.h", "SIOCDEVPRIVATE", 0x89f0},
+{"linux/auto_fs.h", "AUTOFS_IOC_READY", 0x9360},
+{"linux/auto_fs.h", "AUTOFS_IOC_FAIL", 0x9361},
+{"linux/auto_fs.h", "AUTOFS_IOC_CATATONIC", 0x9362},
+{"linux/nbd.h", "NBD_SET_SOCK", 0xab00},
+{"linux/nbd.h", "NBD_SET_BLKSIZE", 0xab01},
+{"linux/nbd.h", "NBD_SET_SIZE", 0xab02},
+{"linux/nbd.h", "NBD_DO_IT", 0xab03},
+{"linux/nbd.h", "NBD_CLEAR_SOCK", 0xab04},
+{"linux/nbd.h", "NBD_CLEAR_QUE", 0xab05},
+{"linux/nbd.h", "NBD_PRINT_DEBUG", 0xab06},
+{"linux/nbd.h", "NBD_SET_SIZE_BLOCKS", 0xab07},
+{"linux/nbd.h", "NBD_DISCONNECT", 0xab08},
+{"linux/raw.h", "RAW_SETBIND", 0xac00},
+{"linux/raw.h", "RAW_GETBIND", 0xac01},
+{"linux/if_pppox.h", "PPPOEIOCDFWD", 0xb101},
+{"linux/lvm.h", "LV_ACTIVATE", 0xfe22},
+{"linux/lvm.h", "LV_DEACTIVATE", 0xfe23},
+{"linux/lvm.h", "LVM_RESET", 0xfe99},
+{"linux/lvm.h", "LVM_LOCK_LVM", 0xff00},
+{"linux/cyclades.h", "CYGETMON", 0x435901},
+{"linux/cyclades.h", "CYGETTHRESH", 0x435902},
+{"linux/cyclades.h", "CYSETTHRESH", 0x435903},
+{"linux/cyclades.h", "CYGETDEFTHRESH", 0x435904},
+{"linux/cyclades.h", "CYSETDEFTHRESH", 0x435905},
+{"linux/cyclades.h", "CYGETTIMEOUT", 0x435906},
+{"linux/cyclades.h", "CYSETTIMEOUT", 0x435907},
+{"linux/cyclades.h", "CYGETDEFTIMEOUT", 0x435908},
+{"linux/cyclades.h", "CYSETDEFTIMEOUT", 0x435909},
+{"linux/cyclades.h", "CYSETRFLOW", 0x43590a},
+{"linux/cyclades.h", "CYGETRFLOW", 0x43590b},
+{"linux/cyclades.h", "CYSETRTSDTR_INV", 0x43590c},
+{"linux/cyclades.h", "CYGETRTSDTR_INV", 0x43590d},
+{"linux/cyclades.h", "CYZSETPOLLCYCLE", 0x43590e},
+{"linux/cyclades.h", "CYZGETPOLLCYCLE", 0x43590f},
+{"linux/cyclades.h", "CYGETCD1400VER", 0x435910},
+{"linux/cyclades.h", "CYGETCARDINFO", 0x435911},
+{"linux/cyclades.h", "CYSETWAIT", 0x435912},
+{"linux/cyclades.h", "CYGETWAIT", 0x435913},
+{"linux/soundcard.h", "SOUND_MIXER_READ_VOLUME", 0x20044d00},
+{"linux/soundcard.h", "SOUND_MIXER_READ_BASS", 0x20044d01},
+{"linux/soundcard.h", "SOUND_MIXER_READ_TREBLE", 0x20044d02},
+{"linux/soundcard.h", "SOUND_MIXER_READ_SYNTH", 0x20044d03},
+{"linux/soundcard.h", "SOUND_MIXER_READ_PCM", 0x20044d04},
+{"linux/soundcard.h", "SOUND_MIXER_READ_SPEAKER", 0x20044d05},
+{"linux/soundcard.h", "SOUND_MIXER_READ_LINE", 0x20044d06},
+{"linux/soundcard.h", "SOUND_MIXER_READ_MIC", 0x20044d07},
+{"linux/soundcard.h", "SOUND_MIXER_READ_CD", 0x20044d08},
+{"linux/soundcard.h", "SOUND_MIXER_READ_IMIX", 0x20044d09},
+{"linux/soundcard.h", "SOUND_MIXER_READ_ALTPCM", 0x20044d0a},
+{"linux/soundcard.h", "SOUND_MIXER_READ_RECLEV", 0x20044d0b},
+{"linux/soundcard.h", "SOUND_MIXER_READ_IGAIN", 0x20044d0c},
+{"linux/soundcard.h", "SOUND_MIXER_READ_OGAIN", 0x20044d0d},
+{"linux/soundcard.h", "SOUND_MIXER_READ_LINE1", 0x20044d0e},
+{"linux/soundcard.h", "SOUND_MIXER_READ_LINE2", 0x20044d0f},
+{"linux/soundcard.h", "SOUND_MIXER_READ_LINE3", 0x20044d10},
+{"linux/soundcard.h", "SOUND_MIXER_READ_MUTE", 0x20044d1f},
+{"linux/soundcard.h", "SOUND_MIXER_READ_ENHANCE", 0x20044d1f},
+{"linux/soundcard.h", "SOUND_MIXER_READ_LOUD", 0x20044d1f},
+{"linux/soundcard.h", "SOUND_MIXER_READ_STEREODEVS", 0x20044dfb},
+{"linux/soundcard.h", "SOUND_MIXER_READ_CAPS", 0x20044dfc},
+{"linux/soundcard.h", "SOUND_MIXER_READ_RECMASK", 0x20044dfd},
+{"linux/soundcard.h", "SOUND_MIXER_READ_DEVMASK", 0x20044dfe},
+{"linux/soundcard.h", "SOUND_MIXER_READ_RECSRC", 0x20044dff},
+{"linux/ppdev.h", "PPWCONTROL", 0x40017084},
+{"linux/ppdev.h", "PPWDATA", 0x40017086},
+{"linux/ppdev.h", "PPWCTLONIRQ", 0x40017092},
+{"linux/telephony.h", "PHONE_MAXRINGS", 0x40017185},
+{"linux/telephony.h", "PHONE_PLAY_TONE", 0x4001719b},
+{"linux/ppdev.h", "PPFCONTROL", 0x4002708e},
+{"linux/telephony.h", "PHONE_RING_CADENCE", 0x40027186},
+{"linux/agpgart.h", "AGPIOC_DEALLOCATE", 0x40044107},
+{"linux/random.h", "RNDADDTOENTCNT", 0x40045201},
+{"asm/ioctls.h", "TIOCSPTLCK", 0x40045431},
+{"linux/atmdev.h", "ATM_SETSC", 0x400461f1},
+{"linux/devfs_fs.h", "DEVFSDIOC_SET_EVENT_MASK", 0x40046402},
+{"linux/devfs_fs.h", "DEVFSDIOC_RELEASE_EVENT_QUEUE", 0x40046403},
+{"linux/video_decoder.h", "DECODER_SET_NORM", 0x40046403},
+{"linux/devfs_fs.h", "DEVFSDIOC_SET_DEBUG_MASK", 0x40046404},
+{"linux/video_decoder.h", "DECODER_SET_INPUT", 0x40046404},
+{"linux/video_decoder.h", "DECODER_SET_OUTPUT", 0x40046405},
+{"linux/video_decoder.h", "DECODER_ENABLE_OUTPUT", 0x40046406},
+{"linux/video_encoder.h", "ENCODER_SET_NORM", 0x40046502},
+{"linux/video_encoder.h", "ENCODER_SET_INPUT", 0x40046503},
+{"linux/video_encoder.h", "ENCODER_SET_OUTPUT", 0x40046504},
+{"linux/video_encoder.h", "ENCODER_ENABLE_OUTPUT", 0x40046505},
+{"linux/ncp_fs.h", "NCP_IOC_GETMOUNTUID", 0x40046e02},
+{"linux/ncp_fs.h", "NCP_IOC_SET_SIGN_WANTED", 0x40046e06},
+{"linux/ncp_fs.h", "NCP_IOC_GETDENTRYTTL", 0x40046e0c},
+{"linux/ppdev.h", "PPSETMODE", 0x40047080},
+{"linux/ppdev.h", "PPDATADIR", 0x40047090},
+{"linux/ppdev.h", "PPNEGOT", 0x40047091},
+{"linux/ppdev.h", "PPSETPHASE", 0x40047094},
+{"linux/telephony.h", "PHONE_REC_CODEC", 0x40047189},
+{"linux/telephony.h", "PHONE_REC_DEPTH", 0x4004718c},
+{"linux/telephony.h", "PHONE_FRAME", 0x4004718d},
+{"linux/telephony.h", "PHONE_REC_VOLUME", 0x4004718e},
+{"linux/telephony.h", "PHONE_PLAY_CODEC", 0x40047190},
+{"linux/telephony.h", "PHONE_PLAY_DEPTH", 0x40047193},
+{"linux/telephony.h", "PHONE_PLAY_VOLUME", 0x40047194},
+{"linux/telephony.h", "PHONE_DTMF_OOB", 0x40047199},
+{"linux/telephony.h", "PHONE_SET_TONE_ON_TIME", 0x4004719c},
+{"linux/telephony.h", "PHONE_SET_TONE_OFF_TIME", 0x4004719d},
+{"linux/telephony.h", "PHONE_PSTN_SET_STATE", 0x400471a4},
+{"linux/telephony.h", "PHONE_WINK_DURATION", 0x400471a6},
+{"linux/ixjuser.h", "IXJCTL_GET_FILTER_HIST", 0x400471c8},
+{"linux/ixjuser.h", "IXJCTL_AEC_START", 0x400471cb},
+{"linux/ixjuser.h", "IXJCTL_SET_LED", 0x400471ce},
+{"linux/ixjuser.h", "IXJCTL_MIXER", 0x400471cf},
+{"linux/ixjuser.h", "IXJCTL_DAA_COEFF_SET", 0x400471d0},
+{"linux/ixjuser.h", "IXJCTL_PORT", 0x400471d1},
+{"linux/ixjuser.h", "IXJCTL_DAA_AGAIN", 0x400471d2},
+{"linux/ixjuser.h", "IXJCTL_POTS_PSTN", 0x400471d5},
+{"linux/ixjuser.h", "IXJCTL_HZ", 0x400471e0},
+{"linux/ixjuser.h", "IXJCTL_RATE", 0x400471e1},
+{"linux/ixjuser.h", "IXJCTL_INTERCOM_START", 0x400471fd},
+{"linux/ixjuser.h", "IXJCTL_INTERCOM_STOP", 0x400471fe},
+{"linux/if_ppp.h", "PPPIOCATTCHAN", 0x40047438},
+{"linux/if_ppp.h", "PPPIOCCONNECT", 0x4004743a},
+{"linux/if_ppp.h", "PPPIOCSMRRU", 0x4004743b},
+{"linux/if_ppp.h", "PPPIOCDETACH", 0x4004743c},
+{"linux/if_ppp.h", "PPPIOCATTACH", 0x4004743d},
+{"linux/if_ppp.h", "PPPIOCSDEBUG", 0x40047440},
+{"linux/if_ppp.h", "PPPIOCSMAXCID", 0x40047451},
+{"linux/if_ppp.h", "PPPIOCSMRU", 0x40047452},
+{"linux/if_ppp.h", "PPPIOCSRASYNCMAP", 0x40047454},
+{"linux/if_ppp.h", "PPPIOCSASYNCMAP", 0x40047457},
+{"linux/if_ppp.h", "PPPIOCSFLAGS", 0x40047459},
+{"linux/isdn_ppp.h", "PPPIOCBUNDLE", 0x40047481},
+{"linux/isdn_ppp.h", "PPPIOCSMPFLAGS", 0x40047483},
+{"linux/isdn_ppp.h", "PPPIOCSMPMTU", 0x40047484},
+{"linux/isdn_ppp.h", "PPPIOCSMPMRU", 0x40047485},
+{"linux/isdn_ppp.h", "PPPIOCSCOMPRESSOR", 0x40047487},
+{"linux/videodev.h", "VIDIOCCAPTURE", 0x40047608},
+{"linux/videodev.h", "VIDIOCSYNC", 0x40047612},
+{"linux/videodev.h", "VIDIOCSWRITEMODE", 0x40047619},
+{"linux/dn.h", "SIOCSNETADDR", 0x400489e0},
+{"linux/dn.h", "OSIOCSNETADDR", 0x400489e0},
+{"linux/auto_fs4.h", "AUTOFS_IOC_EXPIRE_MULTI", 0x40049366},
+{"linux/lvm.h", "VG_CREATE", 0x4004fe00},
+{"linux/lvm.h", "VG_REMOVE", 0x4004fe01},
+{"linux/lvm.h", "VG_EXTEND", 0x4004fe03},
+{"linux/lvm.h", "VG_REDUCE", 0x4004fe04},
+{"linux/lvm.h", "VG_SET_EXTENDABLE", 0x4004fe08},
+{"linux/lvm.h", "LV_CREATE", 0x4004fe20},
+{"linux/lvm.h", "LV_REMOVE", 0x4004fe21},
+{"linux/lvm.h", "LV_EXTEND", 0x4004fe24},
+{"linux/lvm.h", "LV_REDUCE", 0x4004fe25},
+{"linux/lvm.h", "LV_SET_ACCESS", 0x4004fe28},
+{"linux/lvm.h", "LV_SET_ALLOCATION", 0x4004fe29},
+{"linux/lvm.h", "LV_SET_STATUS", 0x4004fe2a},
+{"linux/lvm.h", "LE_REMAP", 0x4004fe2b},
+{"linux/lvm.h", "PV_FLUSH", 0x4004fe42},
+{"linux/lvm.h", "PE_LOCK_UNLOCK", 0x4004fe50},
+{"linux/elevator.h", "BLKELVSET", 0x4008126b},
+{"linux/fs.h", "BLKELVSET", 0x4008126b},
+{"linux/agpgart.h", "AGPIOC_SETUP", 0x40084103},
+{"linux/agpgart.h", "AGPIOC_RESERVE", 0x40084104},
+{"linux/agpgart.h", "AGPIOC_PROTECT", 0x40084105},
+{"linux/agpgart.h", "AGPIOC_BIND", 0x40084108},
+{"linux/agpgart.h", "AGPIOC_UNBIND", 0x40084109},
+{"linux/pmu.h", "PMU_IOC_SET_BACKLIGHT", 0x40084202},
+{"linux/input.h", "EVIOCSREP", 0x40084503},
+{"linux/input.h", "EVIOCSKEYCODE", 0x40084504},
+{"linux/random.h", "RNDADDENTROPY", 0x40085203},
+{"linux/usbdevice_fs.h", "USBDEVFS_REAPURB", 0x4008550c},
+{"linux/usbdevice_fs.h", "USBDEVFS_REAPURBNDELAY", 0x4008550d},
+{"linux/usbdevice_fs.h", "USBDEVFS_CONNECTINFO", 0x40085511},
+{"linux/ext2_fs.h", "EXT2_IOC_SETFLAGS", 0x40086602},
+{"linux/mtio.h", "MTIOCTOP", 0x40086d01},
+{"linux/ncp_fs.h", "NCP_IOC_GETMOUNTUID2", 0x40086e02},
+{"linux/matroxfb.h", "MATROXFB_SET_OUTPUT_CONNECTION", 0x40086ef8},
+{"linux/matroxfb.h", "MATROXFB_SET_OUTPUT_MODE", 0x40086efa},
+{"linux/rtc.h", "RTC_IRQP_SET", 0x4008700c},
+{"linux/rtc.h", "RTC_EPOCH_SET", 0x4008700e},
+{"linux/serio.h", "SPIOCSTYPE", 0x40087101},
+{"linux/telephony.h", "PHONE_CAPABILITIES_CHECK", 0x40087182},
+{"linux/ixjuser.h", "IXJCTL_SET_FILTER", 0x400871c7},
+{"linux/ixjuser.h", "IXJCTL_INIT_TONE", 0x400871c9},
+{"linux/ixjuser.h", "IXJCTL_TONE_CADENCE", 0x400871ca},
+{"linux/if_ppp.h", "PPPIOCSNPMODE", 0x4008744b},
+{"linux/ext2_fs.h", "EXT2_IOC_SETVERSION", 0x40087602},
+{"linux/videodev.h", "VIDIOCSFREQ", 0x4008760f},
+{"linux/if_pppox.h", "PPPOEIOCSFWD", 0x4008b100},
+{"linux/fd.h", "FDFMTTRK", 0x400c0248},
+{"linux/capi.h", "CAPI_REGISTER", 0x400c4301},
+{"linux/i2o-dev.h", "I2OEVTREG", 0x400c690a},
+{"linux/ncp_fs.h", "NCP_IOC_GETROOT", 0x400c6e08},
+{"linux/videodev.h", "VIDIOCSPLAYMODE", 0x400c7618},
+{"linux/video_decoder.h", "DECODER_SET_PICTURE", 0x400e6407},
+{"linux/videodev.h", "VIDIOCSPICT", 0x400e7607},
+{"asm/dasd.h", "BIODASDFMT", 0x40104401},
+{"linux/atm_idt77105.h", "IDT77105_GETSTAT", 0x40106132},
+{"linux/atm_idt77105.h", "IDT77105_GETSTATZ", 0x40106133},
+{"linux/atmdev.h", "ATM_GETSTAT", 0x40106150},
+{"linux/atmdev.h", "ATM_GETSTATZ", 0x40106151},
+{"linux/atmdev.h", "ATM_GETLOOP", 0x40106152},
+{"linux/atmdev.h", "ATM_SETLOOP", 0x40106153},
+{"linux/atmdev.h", "ATM_QUERYLOOP", 0x40106154},
+{"linux/atm_eni.h", "ENI_MEMDUMP", 0x40106160},
+{"linux/atm_zatm.h", "ZATM_GETPOOL", 0x40106161},
+{"linux/atm_nicstar.h", "NS_SETBUFLEV", 0x40106162},
+{"linux/atm_zatm.h", "ZATM_GETPOOLZ", 0x40106162},
+{"linux/atm_zatm.h", "ZATM_SETPOOL", 0x40106163},
+{"linux/atm_zatm.h", "ZATM_GETTHIST", 0x40106164},
+{"linux/atm_eni.h", "ENI_SETMULT", 0x40106167},
+{"linux/atmdev.h", "ATM_GETLINKRATE", 0x40106181},
+{"linux/atmdev.h", "ATM_GETNAMES", 0x40106183},
+{"linux/atmdev.h", "ATM_GETTYPE", 0x40106184},
+{"linux/atmdev.h", "ATM_GETESI", 0x40106185},
+{"linux/atmdev.h", "ATM_GETADDR", 0x40106186},
+{"linux/atmdev.h", "ATM_RSTADDR", 0x40106187},
+{"linux/atmdev.h", "ATM_ADDADDR", 0x40106188},
+{"linux/atmdev.h", "ATM_DELADDR", 0x40106189},
+{"linux/atmdev.h", "ATM_GETCIRANGE", 0x4010618a},
+{"linux/atmdev.h", "ATM_SETCIRANGE", 0x4010618b},
+{"linux/atmdev.h", "ATM_SETESI", 0x4010618c},
+{"linux/atmdev.h", "ATM_SETESIF", 0x4010618d},
+{"linux/ppdev.h", "PPSETTIME", 0x40107096},
+{"linux/if_ppp.h", "PPPIOCSCOMPRESS", 0x4010744d},
+{"linux/videodev.h", "VIDIOCMCAPTURE", 0x40107613},
+{"asm/tape390.h", "TAPE390_DISPLAY", 0x40116401},
+{"linux/fd.h", "FDSETMAXERRS", 0x4014024c},
+{"linux/videodev.h", "VIDIOCSCAPTURE", 0x40147617},
+{"linux/videodev.h", "VIDIOCSFBUF", 0x4018760c},
+{"linux/fd.h", "FDSETPRM", 0x40200242},
+{"linux/fd.h", "FDDEFPRM", 0x40200243},
+{"asm/dasd.h", "BIODASDSATTR", 0x40204402},
+{"linux/if_ppp.h", "PPPIOCSXASYNCMAP", 0x4020744f},
+{"linux/videodev.h", "VIDIOCSMICROCODE", 0x4020761b},
+{"linux/videodev.h", "VIDIOCSVBIFMT", 0x4020761d},
+{"linux/joystick.h", "JSIOCSCORR", 0x40246a21},
+{"linux/rtc.h", "RTC_ALM_SET", 0x40247007},
+{"linux/rtc.h", "RTC_SET_TIME", 0x4024700a},
+{"linux/rtc.h", "RTC_WKALM_SET", 0x4028700f},
+{"linux/videodev.h", "VIDIOCSWIN", 0x4028760a},
+{"linux/videodev.h", "VIDIOCSAUDIO", 0x40287611},
+{"linux/smb_fs.h", "SMB_IOC_NEWCONN", 0x402c7502},
+{"linux/synclink.h", "MGSL_IOCSPARAMS", 0x40306d00},
+{"linux/videodev.h", "VIDIOCSCHAN", 0x40307603},
+{"linux/videodev.h", "VIDIOCSTUNER", 0x40407605},
+{"linux/fd.h", "FDSETDRVPRM", 0x40800290},
+{"linux/usbdevice_fs.h", "USBDEVFS_GETDRIVER", 0x41045508},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_VOLUME", 0x60044d00},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_BASS", 0x60044d01},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_TREBLE", 0x60044d02},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_SYNTH", 0x60044d03},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_PCM", 0x60044d04},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_SPEAKER", 0x60044d05},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_LINE", 0x60044d06},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_MIC", 0x60044d07},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_CD", 0x60044d08},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_IMIX", 0x60044d09},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_ALTPCM", 0x60044d0a},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_RECLEV", 0x60044d0b},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_IGAIN", 0x60044d0c},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_OGAIN", 0x60044d0d},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_LINE1", 0x60044d0e},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_LINE2", 0x60044d0f},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_LINE3", 0x60044d10},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_MUTE", 0x60044d1f},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_ENHANCE", 0x60044d1f},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_LOUD", 0x60044d1f},
+{"linux/soundcard.h", "SOUND_MIXER_WRITE_RECSRC", 0x60044dff},
+{"linux/joystick.h", "JSIOCGAXES", 0x80016a11},
+{"linux/joystick.h", "JSIOCGBUTTONS", 0x80016a12},
+{"linux/ppdev.h", "PPRSTATUS", 0x80017081},
+{"linux/ppdev.h", "PPRCONTROL", 0x80017083},
+{"linux/ppdev.h", "PPRDATA", 0x80017085},
+{"linux/capi.h", "CAPI_GET_ERRCODE", 0x80024321},
+{"linux/capi.h", "CAPI_INSTALLED", 0x80024322},
+{"linux/capi.h", "CAPI_GET_FLAGS", 0x80044323},
+{"linux/capi.h", "CAPI_SET_FLAGS", 0x80044324},
+{"linux/capi.h", "CAPI_CLR_FLAGS", 0x80044325},
+{"linux/capi.h", "CAPI_NCCI_OPENCOUNT", 0x80044326},
+{"linux/capi.h", "CAPI_NCCI_GETUNIT", 0x80044327},
+{"asm/dasd.h", "DASDAPIVER", 0x80044400},
+{"linux/input.h", "EVIOCGVERSION", 0x80044501},
+{"linux/random.h", "RNDGETENTCNT", 0x80045200},
+{"asm/ioctls.h", "TIOCGPTN", 0x80045430},
+{"linux/usbdevice_fs.h", "USBDEVFS_RESETEP", 0x80045503},
+{"linux/usbdevice_fs.h", "USBDEVFS_SETCONFIGURATION", 0x80045505},
+{"linux/usbdevice_fs.h", "USBDEVFS_CLAIMINTERFACE", 0x8004550f},
+{"linux/usbdevice_fs.h", "USBDEVFS_RELEASEINTERFACE", 0x80045510},
+{"linux/usbdevice_fs.h", "USBDEVFS_CLEAR_HALT", 0x80045515},
+{"linux/watchdog.h", "WDIOC_GETSTATUS", 0x80045701},
+{"linux/watchdog.h", "WDIOC_GETBOOTSTATUS", 0x80045702},
+{"linux/watchdog.h", "WDIOC_GETTEMP", 0x80045703},
+{"linux/watchdog.h", "WDIOC_SETOPTIONS", 0x80045704},
+{"linux/watchdog.h", "WDIOC_KEEPALIVE", 0x80045705},
+{"linux/sonet.h", "SONET_GETDIAG", 0x80046114},
+{"linux/sonet.h", "SONET_GETFRAMING", 0x80046116},
+{"linux/devfs_fs.h", "DEVFSDIOC_GET_PROTO_REV", 0x80046400},
+{"linux/video_decoder.h", "DECODER_GET_STATUS", 0x80046402},
+{"linux/i2o-dev.h", "I2OVALIDATE", 0x80046908},
+{"linux/joystick.h", "JSIOCGVERSION", 0x80046a01},
+{"linux/udf_fs_i.h", "UDF_GETEASIZE", 0x80046c40},
+{"linux/zftape.h", "MTIOC_ZFTAPE_GETBLKSZ", 0x80046d68},
+{"linux/ncp_fs.h", "NCP_IOC_SIGN_WANTED", 0x80046e06},
+{"linux/ncp_fs.h", "NCP_IOC_SETDENTRYTTL", 0x80046e0c},
+{"linux/ppdev.h", "PPCLRIRQ", 0x80047093},
+{"linux/telephony.h", "PHONE_DTMF_READY", 0x80047196},
+{"linux/telephony.h", "PHONE_GET_DTMF", 0x80047197},
+{"linux/telephony.h", "PHONE_GET_DTMF_ASCII", 0x80047198},
+{"linux/telephony.h", "PHONE_EXCEPTION", 0x8004719a},
+{"linux/ixjuser.h", "IXJCTL_CARDTYPE", 0x800471c1},
+{"linux/ixjuser.h", "IXJCTL_SERIAL", 0x800471c2},
+{"linux/ixjuser.h", "IXJCTL_DSP_TYPE", 0x800471c3},
+{"linux/ixjuser.h", "IXJCTL_DSP_VERSION", 0x800471c4},
+{"linux/if_ppp.h", "PPPIOCGCHAN", 0x80047437},
+{"linux/if_ppp.h", "PPPIOCGDEBUG", 0x80047441},
+{"linux/if_ppp.h", "PPPIOCGMRU", 0x80047453},
+{"linux/if_ppp.h", "PPPIOCGRASYNCMAP", 0x80047455},
+{"linux/if_ppp.h", "PPPIOCGUNIT", 0x80047456},
+{"linux/if_ppp.h", "PPPIOCGASYNCMAP", 0x80047458},
+{"linux/if_ppp.h", "PPPIOCGFLAGS", 0x8004745a},
+{"linux/isdn_ppp.h", "PPPIOCGMPFLAGS", 0x80047482},
+{"linux/smb_fs.h", "SMB_IOC_GETMOUNTUID", 0x80047501},
+{"linux/smb_fs.h", "SMB_IOC_GETMOUNTUID32", 0x80047503},
+{"linux/dn.h", "SIOCGNETADDR", 0x800489e1},
+{"linux/dn.h", "OSIOCGNETADDR", 0x800489e1},
+{"linux/auto_fs.h", "AUTOFS_IOC_PROTOVER", 0x80049363},
+{"linux/lvm.h", "LVM_GET_IOP_VERSION", 0x8004fe98},
+{"linux/sonet.h", "SONET_GETFRSENSE", 0x80066117},
+{"linux/elevator.h", "BLKELVGET", 0x8008126a},
+{"linux/fs.h", "BLKELVGET", 0x8008126a},
+{"linux/agpgart.h", "AGPIOC_INFO", 0x80084100},
+{"linux/pmu.h", "PMU_IOC_GET_BACKLIGHT", 0x80084201},
+{"linux/pmu.h", "PMU_IOC_GET_MODEL", 0x80084203},
+{"linux/pmu.h", "PMU_IOC_HAS_ADB", 0x80084204},
+{"linux/input.h", "EVIOCGID", 0x80084502},
+{"linux/input.h", "EVIOCGREP", 0x80084503},
+{"linux/input.h", "EVIOCGKEYCODE", 0x80084504},
+{"linux/input.h", "EVIOCGKEY", 0x80084505},
+{"linux/random.h", "RNDGETPOOL", 0x80085202},
+{"linux/usbdevice_fs.h", "USBDEVFS_SETINTERFACE", 0x80085504},
+{"linux/ext2_fs.h", "EXT2_IOC_GETFLAGS", 0x80086601},
+{"linux/udf_fs_i.h", "UDF_GETEABLOCK", 0x80086c41},
+{"linux/udf_fs_i.h", "UDF_GETVOLIDENT", 0x80086c42},
+{"linux/mtio.h", "MTIOCPOS", 0x80086d03},
+{"linux/matroxfb.h", "MATROXFB_GET_OUTPUT_CONNECTION", 0x80086ef8},
+{"linux/matroxfb.h", "MATROXFB_GET_AVAILABLE_OUTPUTS", 0x80086ef9},
+{"linux/matroxfb.h", "MATROXFB_GET_ALL_OUTPUTS", 0x80086efb},
+{"linux/rtc.h", "RTC_IRQP_READ", 0x8008700b},
+{"linux/rtc.h", "RTC_EPOCH_READ", 0x8008700d},
+{"linux/telephony.h", "PHONE_CAPABILITIES_LIST", 0x80087181},
+{"linux/ixjuser.h", "IXJCTL_CID", 0x800871d4},
+{"linux/ixjuser.h", "IXJCTL_FRAMES_READ", 0x800871e2},
+{"linux/ixjuser.h", "IXJCTL_FRAMES_WRITTEN", 0x800871e3},
+{"linux/ixjuser.h", "IXJCTL_READ_WAIT", 0x800871e4},
+{"linux/ixjuser.h", "IXJCTL_WRITE_WAIT", 0x800871e5},
+{"linux/ixjuser.h", "IXJCTL_DRYBUFFER_READ", 0x800871e6},
+{"linux/ext2_fs.h", "EXT2_IOC_GETVERSION", 0x80087601},
+{"linux/videodev.h", "VIDIOCGFREQ", 0x8008760e},
+{"linux/video_decoder.h", "DECODER_GET_CAPABILITIES", 0x800c6401},
+{"linux/video_encoder.h", "ENCODER_GET_CAPABILITIES", 0x800c6501},
+{"linux/ncp_fs.h", "NCP_IOC_SETROOT", 0x800c6e08},
+{"linux/videodev.h", "VIDIOCKEY", 0x800c760d},
+{"linux/videodev.h", "VIDIOCGPICT", 0x800e7606},
+{"linux/fd.h", "FDGETDRVTYP", 0x8010020f},
+{"linux/usbdevice_fs.h", "USBDEVFS_DISCSIGNAL", 0x8010550e},
+{"linux/mtio.h", "MTIOCGETSIZE", 0x80106d09},
+{"linux/ncp_fs.h", "NCP_IOC_NCPREQUEST", 0x80106e01},
+{"linux/ncp_fs.h", "NCP_IOC_SETPRIVATEDATA", 0x80106e0a},
+{"linux/ppdev.h", "PPGETTIME", 0x80107095},
+{"linux/if_ppp.h", "PPPIOCGIDLE", 0x8010743f},
+{"linux/isdn_ppp.h", "PPPIOCGIFNAME", 0x80107488},
+{"linux/fd.h", "FDGETMAXERRS", 0x8014020e},
+{"linux/mtio.h", "MTIOCVOLINFO", 0x80146d08},
+{"linux/ncp_fs.h", "NCP_IOC_LOCKUNLOCK", 0x80146e07},
+{"linux/videodev.h", "VIDIOCGUNIT", 0x80147615},
+{"linux/videodev.h", "VIDIOCGCAPTURE", 0x80147616},
+{"linux/ncp_fs.h", "NCP_IOC_SIGN_INIT", 0x80186e05},
+{"linux/ncp_fs.h", "NCP_IOC_SETOBJECTNAME", 0x80186e09},
+{"linux/videodev.h", "VIDIOCGFBUF", 0x8018760b},
+{"linux/fd.h", "FDGETPRM", 0x80200204},
+{"asm/dasd.h", "BIODASDGATTR", 0x80204405},
+{"linux/fb.h", "FBIOGET_VBLANK", 0x80204612},
+{"linux/if_ppp.h", "PPPIOCGXASYNCMAP", 0x80207450},
+{"linux/videodev.h", "VIDIOCGVBIFMT", 0x8020761c},
+{"linux/sonet.h", "SONET_GETSTAT", 0x80246110},
+{"linux/sonet.h", "SONET_GETSTATZ", 0x80246111},
+{"linux/joystick.h", "JSIOCGCORR", 0x80246a22},
+{"linux/rtc.h", "RTC_ALM_READ", 0x80247008},
+{"linux/rtc.h", "RTC_RD_TIME", 0x80247009},
+{"linux/fd.h", "FDGETFDCSTAT", 0x80280215},
+{"linux/fd.h", "FDWERRORGET", 0x80280217},
+{"linux/rtc.h", "RTC_WKALM_RD", 0x80287010},
+{"linux/videodev.h", "VIDIOCGWIN", 0x80287609},
+{"linux/videodev.h", "VIDIOCGAUDIO", 0x80287610},
+{"linux/ncp_fs.h", "NCP_IOC_SETCHARSETS", 0x802a6e0b},
+{"linux/synclink.h", "MGSL_IOCGPARAMS", 0x80306d01},
+{"linux/mtio.h", "MTIOCGET", 0x80306d02},
+{"linux/usbdevice_fs.h", "USBDEVFS_SUBMITURB", 0x8038550a},
+{"linux/videodev.h", "VIDIOCGCAP", 0x803c7601},
+{"linux/i2o-dev.h", "I2OGETIOPS", 0x80406900},
+{"linux/isdn_ppp.h", "PPPIOCGCOMPRESSORS", 0x80407486},
+{"linux/watchdog.h", "WDIOC_GETSUPPORT", 0x80485700},
+{"linux/fd.h", "FDGETDRVSTAT", 0x80500212},
+{"linux/fd.h", "FDPOLLDRVSTAT", 0x80500213},
+{"linux/i2o-dev.h", "I2OEVTGET", 0x8068690b},
+{"linux/fd.h", "FDGETDRVPRM", 0x80800211},
+{"linux/usbdevice_fs.h", "USBDEVFS_HUB_PORTINFO", 0x80805513},
+{"linux/videodev.h", "VIDIOCGMBUF", 0x80887614},
+{"asm/dasd.h", "BIODASDPSRD", 0x80c04404},
+{"linux/auto_fs.h", "AUTOFS_IOC_EXPIRE", 0x810c9365},
+{"linux/videodev.h", "VIDIOCGPLAYINFO", 0x8118761a},
+{"asm/dasd.h", "BIODASDINFO", 0x81784401},
+{"asm/dasd.h", "BIODASDINFO2", 0x81a04403},
+{"linux/msdos_fs.h", "VFAT_IOCTL_READDIR_BOTH", 0x82307201},
+{"linux/msdos_fs.h", "VFAT_IOCTL_READDIR_SHORT", 0x82307202},
+{"asm/dasd.h", "BIODASDPRRD", 0x84084402},
+{"linux/capi.h", "CAPI_GET_MANUFACTURER", 0xc0044306},
+{"linux/capi.h", "CAPI_GET_SERIAL", 0xc0044308},
+{"linux/sonet.h", "SONET_SETDIAG", 0xc0046112},
+{"linux/sonet.h", "SONET_CLRDIAG", 0xc0046113},
+{"linux/synclink.h", "MGSL_IOCWAITEVENT", 0xc0046d08},
+{"linux/if_ppp.h", "PPPIOCNEWUNIT", 0xc004743e},
+{"linux/lvm.h", "VG_STATUS", 0xc004fe05},
+{"linux/lvm.h", "VG_STATUS_GET_COUNT", 0xc004fe06},
+{"linux/lvm.h", "VG_STATUS_GET_NAMELIST", 0xc004fe07},
+{"linux/lvm.h", "LV_STATUS_BYNAME", 0xc004fe26},
+{"linux/lvm.h", "LV_STATUS_BYINDEX", 0xc004fe27},
+{"linux/lvm.h", "PV_STATUS", 0xc004fe40},
+{"linux/lvm.h", "PV_CHANGE", 0xc004fe41},
+{"linux/agpgart.h", "AGPIOC_ALLOCATE", 0xc0084106},
+{"asm/cmb.h", "BIODASDREADCMB", 0xc0084420},
+{"linux/coda.h", "CIOC_KERNEL_VERSION", 0xc008630a},
+{"linux/matroxfb.h", "MATROXFB_GET_OUTPUT_MODE", 0xc0086efa},
+{"linux/telephony.h", "PHONE_QUERY_CODEC", 0xc00871a7},
+{"linux/if_ppp.h", "PPPIOCGNPMODE", 0xc008744c},
+{"linux/auto_fs.h", "AUTOFS_IOC_SETTIMEOUT", 0xc0089364},
+{"linux/capi.h", "CAPI_GET_VERSION", 0xc0104307},
+{"linux/capi.h", "CAPI_MANUFACTURER_CMD", 0xc0104320},
+{"linux/usbdevice_fs.h", "USBDEVFS_IOCTL", 0xc0105512},
+{"linux/atm_nicstar.h", "NS_GETPSTAT", 0xc0106161},
+{"linux/ncp_fs.h", "NCP_IOC_GETPRIVATEDATA", 0xc0106e0a},
+{"linux/usbdevice_fs.h", "USBDEVFS_CONTROL", 0xc0185500},
+{"linux/usbdevice_fs.h", "USBDEVFS_BULK", 0xc0185502},
+{"linux/i2o-dev.h", "I2OHRTGET", 0xc0186901},
+{"linux/i2o-dev.h", "I2OLCTGET", 0xc0186902},
+{"linux/mtio.h", "MTIOCRDFTSEG", 0xc0186d06},
+{"linux/mtio.h", "MTIOCWRFTSEG", 0xc0186d07},
+{"linux/mtio.h", "MTIOCFTFORMAT", 0xc0186d0a},
+{"linux/ncp_fs.h", "NCP_IOC_GETOBJECTNAME", 0xc0186e09},
+{"linux/mtio.h", "MTIOCFTCMD", 0xc0206d0b},
+{"linux/i2o-dev.h", "I2OPARMSET", 0xc0286903},
+{"linux/i2o-dev.h", "I2OPARMGET", 0xc0286904},
+{"linux/ncp_fs.h", "NCP_IOC_GET_FS_INFO", 0xc0286e04},
+{"linux/ncp_fs.h", "NCP_IOC_GETCHARSETS", 0xc02a6e0b},
+{"linux/i2o-dev.h", "I2OSWDL", 0xc0306905},
+{"linux/i2o-dev.h", "I2OSWUL", 0xc0306906},
+{"linux/i2o-dev.h", "I2OSWDEL", 0xc0306907},
+{"linux/i2o-dev.h", "I2OHTML", 0xc0306909},
+{"linux/ncp_fs.h", "NCP_IOC_GET_FS_INFO_V2", 0xc0306e04},
+{"linux/videodev.h", "VIDIOCGCHAN", 0xc0307602},
+{"linux/capi.h", "CAPI_GET_PROFILE", 0xc0404309},
+{"linux/videodev.h", "VIDIOCGTUNER", 0xc0407604},
+{"asm/cmb.h", "BIODASDREADALLCMB", 0xc0584421},
+{"linux/isdn_ppp.h", "PPPIOCGCALLINFO", 0xc0887480},
diff --git a/strace-4.5.20/linux/s390x/syscallent.h b/strace-4.5.20/linux/s390x/syscallent.h
new file mode 100644
index 0000000..839232b
--- /dev/null
+++ b/strace-4.5.20/linux/s390x/syscallent.h
@@ -0,0 +1,482 @@
+/*
+ * Copyright (c) 2000 IBM Deutschland Entwicklung GmbH, IBM Coporation
+ * Author: Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+	{ 0,	0,	sys_setup,		"setup"		}, /* 0 */
+	{ 1,	TP,	sys_exit,		"_exit"		}, /* 1 */
+	{ 0,	TP,	sys_fork,		"fork"		}, /* 2 */
+	{ 3,	TD,	sys_read,		"read"		}, /* 3 */
+	{ 3,	TD,	sys_write,		"write"		}, /* 4 */
+	{ 3,	TD|TF,	sys_open,		"open"		}, /* 5 */
+	{ 1,	TD,	sys_close,		"close"		}, /* 6 */
+	{ 0,	0,	sys_restart_syscall,	"restart_syscall"}, /* 7 */
+	{ 2,	TD|TF,	sys_creat,		"creat"		}, /* 8 */
+	{ 2,	TF,	sys_link,		"link"		}, /* 9 */
+	{ 1,	TF,	sys_unlink,		"unlink"	}, /* 10 */
+	{ 3,	TF|TP,	sys_execve,		"execve"	}, /* 11 */
+	{ 1,	TF,	sys_chdir,		"chdir"		}, /* 12 */
+	{ -1,	0,	printargs,		"SYS_13"	}, /* 13 */
+	{ 3,	TF,	sys_mknod,		"mknod"		}, /* 14 */
+	{ 2,	TF,	sys_chmod,		"chmod"		}, /* 15 */
+	{ -1,	0,	printargs,		"SYS_16"	}, /* 16 */
+	{ -1,	0,	printargs,		"SYS_17"	}, /* 17 */
+	{ -1,	0,	printargs,		"SYS_18"	}, /* 18 */
+	{ 3,	TD,	sys_lseek,		"lseek"		}, /* 19 */
+	{ 0,	0,	sys_getpid,		"getpid"	}, /* 20 */
+	{ 5,	TF,	sys_mount,		"mount"		}, /* 21 */
+	{ 1,	TF,	sys_umount,		"oldumount"	}, /* 22 */
+	{ -1,	0,	printargs,		"SYS_23"	}, /* 23 */
+	{ -1,	0,	printargs,		"SYS_24"	}, /* 24 */
+	{ -1,	0,	printargs,		"SYS_25"	}, /* 25 */
+	{ 4,	0,	sys_ptrace,		"ptrace"	}, /* 26 */
+	{ 1,	0,	sys_alarm,		"alarm"		}, /* 27 */
+	{ -1,	0,	printargs,		"SYS_28"	}, /* 28 */
+	{ 0,	TS,	sys_pause,		"pause"		}, /* 29 */
+	{ 2,	TF,	sys_utime,		"utime"		}, /* 30 */
+	{ -1,	0,	printargs,		"SYS_31"	}, /* 31 */
+	{ -1,	0,	printargs,		"SYS_32"	}, /* 32 */
+	{ 2,	TF,	sys_access,		"access"	}, /* 33 */
+	{ 1,	0,	sys_nice,		"nice"		}, /* 34 */
+	{ -1,	0,	printargs,		"SYS_35"	}, /* 35 */
+	{ 0,	0,	sys_sync,		"sync"		}, /* 36 */
+	{ 2,	TS,	sys_kill,		"kill"		}, /* 37 */
+	{ 2,	TF,	sys_rename,		"rename"	}, /* 38 */
+	{ 2,	TF,	sys_mkdir,		"mkdir"		}, /* 39 */
+	{ 1,	TF,	sys_rmdir,		"rmdir"		}, /* 40 */
+	{ 1,	TD,	sys_dup,		"dup"		}, /* 41 */
+	{ 1,	TD,	sys_pipe,		"pipe"		}, /* 42 */
+	{ 1,	0,	sys_times,		"times"		}, /* 43 */
+	{ -1,	0,	printargs,		"SYS_44"	}, /* 44 */
+	{ 1,	0,	sys_brk,		"brk"		}, /* 45 */
+	{ -1,	0,	printargs,		"SYS_46"	}, /* 46 */
+	{ -1,	0,	printargs,		"SYS_47"	}, /* 47 */
+	{ 3,	TS,	sys_signal,		"signal"	}, /* 48 */
+	{ -1,	0,	printargs,		"SYS_49"	}, /* 49 */
+	{ -1,	0,	printargs,		"SYS_50"	}, /* 50 */
+	{ 1,	TF,	sys_acct,		"acct"		}, /* 51 */
+	{ 2,	TF,	sys_umount2,		"umount"	}, /* 52 */
+	{ -1,	0,	printargs,		"SYS_53"	}, /* 53 */
+	{ 3,	TD,	sys_ioctl,		"ioctl"		}, /* 54 */
+	{ 3,	TD,	sys_fcntl,		"fcntl"		}, /* 55 */
+	{ -1,	0,	printargs,		"SYS_56"	}, /* 56 */
+	{ 2,	0,	sys_setpgid,		"setpgid"	}, /* 57 */
+	{ -1,	0,	printargs,		"SYS_58"	}, /* 58 */
+	{ -1,	0,	printargs,		"SYS_59"	}, /* 59 */
+	{ 1,	0,	sys_umask,		"umask"		}, /* 60 */
+	{ 1,	TF,	sys_chroot,		"chroot"	}, /* 61 */
+	{ 2,	0,	sys_ustat,		"ustat"		}, /* 62 */
+	{ 2,	TD,	sys_dup2,		"dup2"		}, /* 63 */
+	{ 0,	0,	sys_getppid,		"getppid"	}, /* 64 */
+	{ 0,	0,	sys_getpgrp,		"getpgrp"	}, /* 65 */
+	{ 0,	0,	sys_setsid,		"setsid"	}, /* 66 */
+	{ 3,	TS,	sys_sigaction,		"sigaction"	}, /* 67 */
+	{ -1,	0,	printargs,		"SYS_68"	}, /* 68 */
+	{ -1,	0,	printargs,		"SYS_69"	}, /* 69 */
+	{ -1,	0,	printargs,		"SYS_70"	}, /* 70 */
+	{ -1,	0,	printargs,		"SYS_71"	}, /* 71 */
+	{ 3,	TS,	sys_sigsuspend,		"sigsuspend"	}, /* 72 */
+	{ 1,	TS,	sys_sigpending,		"sigpending"	}, /* 73 */
+	{ 2,	0,	sys_sethostname,	"sethostname"	}, /* 74 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit"	}, /* 75 */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"	}, /* 76 */
+	{ 2,	0,	sys_getrusage,		"getrusage"	}, /* 77 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday"	}, /* 78 */
+	{ 2,	0,	sys_settimeofday,	"settimeofday"	}, /* 79 */
+	{ -1,	0,	printargs,		"SYS_80"	}, /* 80 */
+	{ -1,	0,	printargs,		"SYS_81"	}, /* 81 */
+	{ -1,	0,	printargs,		"SYS_82"	}, /* 82 */
+	{ 2,	TF,	sys_symlink,		"symlink"	}, /* 83 */
+	{ -1,	0,	printargs,		"SYS_84"	}, /* 84 */
+	{ 3,	TF,	sys_readlink,		"readlink"	}, /* 85 */
+	{ 1,	TF,	sys_uselib,		"uselib"	}, /* 86 */
+	{ 1,	TF,	sys_swapon,		"swapon"	}, /* 87 */
+	{ 3,	0,	sys_reboot,		"reboot"	}, /* 88 */
+	{ -1,	0,	printargs,		"SYS_89"	}, /* 89 */
+	{ 6,	TD,	sys_old_mmap,		"mmap"		}, /* 90 */
+	{ 2,	0,	sys_munmap,		"munmap"	}, /* 91 */
+	{ 2,	TF,	sys_truncate,		"truncate"	}, /* 92 */
+	{ 2,	TD,	sys_ftruncate,		"ftruncate"	}, /* 93 */
+	{ 2,	TD,	sys_fchmod,		"fchmod"	}, /* 94 */
+	{ -1,	0,	printargs,		"SYS_95"	}, /* 95 */
+	{ 2,	0,	sys_getpriority,	"getpriority"	}, /* 96 */
+	{ 3,	0,	sys_setpriority,	"setpriority"	}, /* 97 */
+	{ -1,	0,	printargs,		"SYS_98"	}, /* 98 */
+	{ 2,	TF,	sys_statfs,		"statfs"	}, /* 99 */
+	{ 2,	TD,	sys_fstatfs,		"fstatfs"	}, /* 100 */
+	{ -1,	0,	printargs,		"SYS_101"	}, /* 101 */
+	{ 2,	TD,	sys_socketcall,		"socketcall"	}, /* 102 */
+	{ 3,	0,	sys_syslog,		"syslog"	}, /* 103 */
+	{ 3,	0,	sys_setitimer,		"setitimer"	}, /* 104 */
+	{ 2,	0,	sys_getitimer,		"getitimer"	}, /* 105 */
+	{ 2,	TF,	sys_stat,		"stat"		}, /* 106 */
+	{ 2,	TF,	sys_lstat,		"lstat"		}, /* 107 */
+	{ 2,	TD,	sys_fstat,		"fstat"		}, /* 108 */
+	{ -1,	0,	printargs,		"SYS_109"	}, /* 109 */
+	{ -1,	0,	printargs,		"SYS_110"	}, /* 110 */
+	{ 0,	0,	sys_vhangup,		"vhangup"	}, /* 111 */
+	{ 0,	0,	sys_idle,		"idle"		}, /* 112 */
+	{ -1,	0,	printargs,		"SYS_113"	}, /* 113 */
+	{ 4,	TP,	sys_wait4,		"wait4"		}, /* 114 */
+	{ 1,	0,	sys_swapoff,		"swapoff"	}, /* 115 */
+	{ 1,	0,	sys_sysinfo,		"sysinfo"	}, /* 116 */
+	{ 5,	0,	sys_ipc,		"ipc"		}, /* 117 */
+	{ 1,	TD,	sys_fsync,		"fsync"		}, /* 118 */
+	{ 1,	TS,	sys_sigreturn,		"sigreturn"	}, /* 119 */
+	{ 5,	TP,	sys_clone,		"clone"		}, /* 120 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname"	}, /* 121 */
+	{ 1,	0,	sys_uname,		"uname"		}, /* 122 */
+	{ -1,	0,	printargs,		"SYS_123"	}, /* 123 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex"	}, /* 124 */
+	{ 3,	0,	sys_mprotect,		"mprotect"	}, /* 125 */
+	{ 3,	TS,	sys_sigprocmask,	"sigprocmask"	}, /* 126 */
+	{ 2,	0,	sys_create_module,	"create_module"	}, /* 127 */
+	{ 3,	0,	sys_init_module,	"init_module"	}, /* 128 */
+	{ 2,	0,	sys_delete_module,	"delete_module"	}, /* 129 */
+	{ 1,	0,	sys_get_kernel_syms,	"get_kernel_syms"}, /* 130 */
+	{ 4,	0,	sys_quotactl,		"quotactl"	}, /* 131 */
+	{ 1,	0,	sys_getpgid,		"getpgid"	}, /* 132 */
+	{ 1,	TD,	sys_fchdir,		"fchdir"	}, /* 133 */
+	{ 0,	0,	sys_bdflush,		"bdflush"	}, /* 134 */
+	{ 3,	0,	sys_sysfs,		"sysfs"		}, /* 135 */
+	{ 1,	0,	sys_personality,	"personality"	}, /* 136 */
+	{ 5,	0,	sys_afs_syscall,	"afs_syscall"	}, /* 137 */
+	{ -1,	0,	printargs,		"SYS_138"	}, /* 138 */
+	{ -1,	0,	printargs,		"SYS_139"	}, /* 139 */
+	{ 5,	0,	sys_llseek,		"_llseek"	}, /* 140 */
+	{ 3,	TD,	sys_getdents,		"getdents"	}, /* 141 */
+	{ 5,	TD,	sys_select,		"select"	}, /* 142 */
+	{ 2,	TD,	sys_flock,		"flock"		}, /* 143 */
+	{ 3,	0,	sys_msync,		"msync"		}, /* 144 */
+	{ 3,	TD,	sys_readv,		"readv"		}, /* 145 */
+	{ 3,	TD,	sys_writev,		"writev"	}, /* 146 */
+	{ 1,	0,	sys_getsid,		"getsid"	}, /* 147 */
+	{ 1,	TD,	sys_fdatasync,		"fdatasync"	}, /* 148 */
+	{ 1,	0,	sys_sysctl,		"_sysctl"	}, /* 149 */
+	{ 2,	0,	sys_mlock,		"mlock"		}, /* 150 */
+	{ 2,	0,	sys_munlock,		"munlock"	}, /* 151 */
+	{ 2,	0,	sys_mlockall,		"mlockall"	}, /* 152 */
+	{ 0,	0,	sys_munlockall,		"munlockall"	}, /* 153 */
+	{ 0,	0,	sys_sched_setparam,	"sched_setparam"}, /* 154 */
+	{ 2,	0,	sys_sched_getparam,	"sched_getparam"}, /* 155 */
+	{ 3,	0,	sys_sched_setscheduler,	"sched_setscheduler"}, /* 156 */
+	{ 1,	0,	sys_sched_getscheduler,	"sched_getscheduler"}, /* 157 */
+	{ 0,	0,	sys_sched_yield,	"sched_yield"}, /* 158 */
+	{ 1,	0,	sys_sched_get_priority_max,"sched_get_priority_max"}, /* 159 */
+	{ 1,	0,	sys_sched_get_priority_min,"sched_get_priority_min"}, /* 160 */
+	{ 2,	0,	sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 161 */
+	{ 2,	0,	sys_nanosleep,		"nanosleep"	}, /* 162 */
+	{ 5,	0,	sys_mremap,		"mremap"	}, /* 163 */
+	{ -1,	0,	printargs,		"SYS_164"	}, /* 164 */
+	{ -1,	0,	printargs,		"SYS_165"	}, /* 165 */
+	{ -1,	0,	printargs,		"SYS_166"	}, /* 166 */
+	{ 5,	0,	sys_query_module,	"query_module"	}, /* 167 */
+	{ 3,	TD,	sys_poll,		"poll"		}, /* 168 */
+	{ 3,	0,	printargs,		"nfsservctl"	}, /* 169 */
+	{ -1,	0,	printargs,		"SYS_170"	}, /* 170 */
+	{ -1,	0,	printargs,		"SYS_171"	}, /* 171 */
+	{ 5,	0,	sys_prctl,		"prctl"		}, /* 172 */
+	{ 1,	TS,	sys_sigreturn,		"rt_sigreturn"	}, /* 173 */
+	{ 4,	TS,	sys_rt_sigaction,	"rt_sigaction"	}, /* 174 */
+	{ 4,	TS,	sys_rt_sigprocmask,	"rt_sigprocmask"}, /* 175 */
+	{ 2,	TS,	sys_rt_sigpending,	"rt_sigpending"	}, /* 176 */
+	{ 4,	TS,	sys_rt_sigtimedwait,	"rt_sigtimedwait"}, /* 177 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,	"rt_sigqueueinfo"}, /* 178 */
+	{ 2,	TS,	sys_rt_sigsuspend,	"rt_sigsuspend"	}, /* 179 */
+	{ 5,	TD,	sys_pread,		"pread"		}, /* 180 */
+	{ 5,	TD,	sys_pwrite,		"pwrite"	}, /* 181 */
+	{ -1,	0,	printargs,		"SYS_182"	}, /* 182 */
+	{ 2,	TF,	sys_getcwd,		"getcwd"	}, /* 183 */
+	{ 2,	0,	sys_capget,		"capget"	}, /* 184 */
+	{ 2,	0,	sys_capset,		"capset"	}, /* 185 */
+	{ 2,	TS,	sys_sigaltstack,	"sigaltstack"	}, /* 186 */
+	{ 4,	TD|TN,	sys_sendfile,		"sendfile"	}, /* 187 */
+	{ 5,	0,	sys_getpmsg,		"getpmsg"	}, /* 188 */
+	{ 5,	0,	sys_putpmsg,		"putpmsg"	}, /* 189 */
+	{ 0,	TP,	sys_vfork,		"vfork"		}, /* 190 */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"	}, /* 191 */
+	{ -1,	0,	printargs,		"SYS_192"	}, /* 192 */
+	{ -1,	0,	printargs,		"SYS_193"	}, /* 193 */
+	{ -1,	0,	printargs,		"SYS_194"	}, /* 194 */
+	{ -1,	0,	printargs,		"SYS_195"	}, /* 195 */
+	{ -1,	0,	printargs,		"SYS_196"	}, /* 196 */
+	{ -1,	0,	printargs,		"SYS_197"	}, /* 197 */
+	{ 3,	TF,	sys_chown,		"lchown"	}, /* 198 */
+	{ 0,	0,	sys_getuid,		"getuid"	}, /* 199 */
+	{ 0,	0,	sys_getgid,		"getgid"	}, /* 200 */
+	{ 0,	0,	sys_geteuid,		"geteuid"	}, /* 201 */
+	{ 0,	0,	sys_getegid,		"getegid"	}, /* 202 */
+	{ 2,	0,	sys_setreuid,		"setreuid"	}, /* 203 */
+	{ 2,	0,	sys_setregid,		"setregid"	}, /* 204 */
+	{ 2,	0,	sys_getgroups,		"getgroups"	}, /* 205 */
+	{ 2,	0,	sys_setgroups,		"setgroups"	}, /* 206 */
+	{ 3,	TD,	sys_fchown,		"fchown"	}, /* 207 */
+	{ 3,	0,	sys_setresuid,		"setresuid"	}, /* 208 */
+	{ 3,	0,	sys_getresuid,		"getresuid"	}, /* 209 */
+	{ 3,	0,	sys_setresgid,		"setresgid"	}, /* 210 */
+	{ 3,	0,	sys_getresgid,		"getresgid"	}, /* 211 */
+	{ 3,	TF,	sys_chown,		"chown"		}, /* 212 */
+	{ 1,	0,	sys_setuid,		"setuid"	}, /* 213 */
+	{ 1,	0,	sys_setgid,		"setgid"	}, /* 214 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid"	}, /* 215 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid"	}, /* 216 */
+	{ 2,	TF,	sys_pivotroot,		"pivot_root"	}, /* 217 */
+	{ 3,	0,	sys_mincore,	         "mincore"      }, /* 218 */
+	{ 3,	0,	sys_madvise,		"madvise"	}, /* 219 */
+	{ 3,	TD,	sys_getdents64,		"getdents64"	}, /* 220 */
+	{ -1,	0,	printargs,		"SYS_221"	}, /* 221 */
+	{ 4,	TD,	sys_readahead,		"readahead"	}, /* 222 */
+	{ 4,	TD|TN,	sys_sendfile64,		"sendfile64"	}, /* 223 */
+	{ 5,	TF,	sys_setxattr,		"setxattr"	}, /* 224 */
+	{ 5,	TF,	sys_setxattr,		"lsetxattr"	}, /* 225 */
+	{ 5,	TD,	sys_fsetxattr,		"fsetxattr"	}, /* 226 */
+	{ 4,	TF,	sys_getxattr,		"getxattr"	}, /* 227 */
+	{ 4,	TF,	sys_getxattr,		"lgetxattr"	}, /* 228 */
+	{ 4,	0,	sys_fgetxattr,		"fgetxattr"	}, /* 229 */
+	{ 3,	TF,	sys_listxattr,		"listxattr"	}, /* 230 */
+	{ 3,	TF,	sys_listxattr,		"llistxattr"	}, /* 231 */
+	{ 3,	0,	sys_flistxattr,		"flistxattr"	}, /* 232 */
+	{ 2,	TF,	sys_removexattr,	"removexattr"	}, /* 233 */
+	{ 2,	TF,	sys_removexattr,	"lremovexattr"	}, /* 234 */
+	{ 2,	TD,	sys_fremovexattr,	"fremovexattr"	}, /* 235 */
+	{ 0,	0,	printargs,		"gettid"	}, /* 236 */
+	{ 2,	TS,	sys_kill,		"tkill"		}, /* 237 */
+	{ 6,	0,	sys_futex,		"futex"		}, /* 238 */
+	{ 3,	0,	sys_sched_setaffinity,	"sched_setaffinity" },/* 239 */
+	{ 3,	0,	sys_sched_getaffinity,	"sched_getaffinity" },/* 240 */
+	{ 3,	TS,	sys_tgkill,		"tgkill"	}, /* 241 */
+	{ -1,	0,	printargs,		"SYS_242"	}, /* 242 */
+	{ 2,	0,	sys_io_setup,		"io_setup"	}, /* 243 */
+	{ 1,	0,	sys_io_destroy,		"io_destroy"	}, /* 244 */
+	{ 5,	0,	sys_io_getevents,	"io_getevents"	}, /* 245 */
+	{ 3,	0,	sys_io_submit,		"io_submit"	}, /* 246 */
+	{ 3,	0,	sys_io_cancel,		"io_cancel"	}, /* 247 */
+	{ 1,	TP,	sys_exit,		"exit_group"	}, /* 248 */
+	{ 1,	0,	sys_epoll_create,	"epoll_create"	}, /* 249 */
+	{ 4,	TD,	sys_epoll_ctl,		"epoll_ctl"	}, /* 250 */
+	{ 4,	TD,	sys_epoll_wait,		"epoll_wait"	}, /* 251 */
+	{ 1,	0,	printargs,		"set_tid_address"}, /* 252 */
+	{ 5,	0,	printargs,		"fadvise64"	}, /* 253 */
+	{ 3,	0,	sys_timer_create,	"timer_create"	}, /* 254 */
+	{ 4,	0,	sys_timer_settime,	"timer_settime"	}, /* 255 */
+	{ 2,	0,	sys_timer_gettime,	"timer_gettime"	}, /* 256 */
+	{ 1,	0,	sys_timer_getoverrun,	"timer_getoverrun"}, /* 257 */
+	{ 1,	0,	sys_timer_delete,	"timer_delete"	}, /* 258 */
+	{ 2,	0,	sys_clock_settime,	"clock_settime"	}, /* 259 */
+	{ 2,	0,	sys_clock_gettime,	"clock_gettime"	}, /* 260 */
+	{ 2,	0,	sys_clock_getres,	"clock_getres"	}, /* 261 */
+	{ 4,	0,	sys_clock_nanosleep,	"clock_nanosleep"}, /* 262 */
+	{ 5,	0,	printargs,		"vserver"	}, /* 263 */
+	{ 6,	TF,	sys_fadvise64_64,	"fadvise64_64"	}, /* 264 */
+	{ 3,	TF,	sys_statfs64,		"statfs64"	}, /* 265 */
+	{ 3,	TF,	sys_fstatfs64,		"fstatfs64"	}, /* 266 */
+	{ 5,	0,	sys_remap_file_pages,	"remap_file_pages"}, /* 267 */
+	{ 6,	0,	sys_mbind,		"mbind"		}, /* 268 */
+	{ 5,	0,	sys_get_mempolicy,	"get_mempolicy"	}, /* 269 */
+	{ 3,	0,	sys_set_mempolicy,	"set_mempolicy"	}, /* 270 */
+	{ 4,	0,	sys_mq_open,		"mq_open"	}, /* 271 */
+	{ 1,	0,	sys_mq_unlink,		"mq_unlink"	}, /* 272 */
+	{ 5,	0,	sys_mq_timedsend,	"mq_timedsend"	}, /* 273 */
+	{ 5,	0,	sys_mq_timedreceive,	"mq_timedreceive" }, /* 274 */
+	{ 2,	0,	sys_mq_notify,		"mq_notify"	}, /* 275 */
+	{ 3,	0,	sys_mq_getsetattr,	"mq_getsetattr"	}, /* 276 */
+	{ 5,	0,	printargs,		"kexec_load"	}, /* 277 */
+	{ 5,	0,	printargs,		"add_key"	}, /* 278 */
+	{ 4,	0,	printargs,		"request_key"	}, /* 279 */
+	{ 5,	0,	printargs,		"keyctl"	}, /* 280 */
+	{ 5,	TP,	sys_waitid,		"waitid"	}, /* 281 */
+	{ 3,	0,	printargs,		"ioprio_set"	}, /* 282 */
+	{ 2,	0,	printargs,		"ioprio_get"	}, /* 283 */
+	{ 0,	TD,	printargs,		"inotify_init"	}, /* 284 */
+	{ 3,	TD,	sys_inotify_add_watch,	"inotify_add_watch" }, /* 285 */
+	{ 2,	TD,	sys_inotify_rm_watch,	"inotify_rm_watch" }, /* 286 */
+	{ 4,	0,	printargs,		"migrate_pages"	}, /* 287 */
+	{ 4,	TD|TF,	sys_openat,		"openat"	}, /* 288 */
+	{ 3,	TD|TF,	sys_mkdirat,		"mkdirat"	}, /* 289 */
+	{ 4,	TD|TF,	sys_mknodat,		"mknodat"	}, /* 290 */
+	{ 5,	TD|TF,	sys_fchownat,		"fchownat"	}, /* 291 */
+	{ 3,	TD|TF,	sys_futimesat,		"futimesat"	}, /* 292 */
+	{ 4,	TD|TD,	sys_newfstatat,		"newfstatat"	}, /* 293 */
+	{ 3,	TD|TF,	sys_unlinkat,		"unlinkat"	}, /* 294 */
+	{ 4,	TD|TF,	sys_renameat,		"renameat"	}, /* 295 */
+	{ 5,	TD|TF,	sys_linkat,		"linkat"	}, /* 296 */
+	{ 3,	TD|TF,	sys_symlinkat,		"symlinkat"	}, /* 297 */
+	{ 4,	TD|TF,	sys_readlinkat,		"readlinkat"	}, /* 298 */
+	{ 3,	TD|TF,	sys_fchmodat,		"fchmodat"	}, /* 299 */
+	{ 3,	TD|TF,	sys_faccessat,		"faccessat"	}, /* 300 */
+	{ 6,	TD,	sys_pselect6,		"pselect6"	}, /* 301 */
+	{ 5,	TD,	sys_ppoll,		"ppoll"		}, /* 302 */
+	{ 1,	TP,	sys_unshare,		"unshare"	}, /* 303 */
+	{ 2,	0,	printargs,		"set_robust_list" }, /* 304 */
+	{ 3,	0,	printargs,		"get_robust_list" }, /* 305 */
+	{ 6,	TD,	printargs,		"splice"	}, /* 306 */
+	{ 4,	TD,	printargs,		"sync_file_range" }, /* 307 */
+	{ 4,	TD,	printargs,		"tee"		}, /* 308 */
+	{ 4,	TD,	printargs,		"vmsplice"	}, /* 309 */
+	{ 6,	0,	sys_move_pages,		"move_pages"	}, /* 310 */
+	{ 3,	0,	sys_getcpu,		"getcpu"	}, /* 311 */
+	{ 5,	TD,	sys_epoll_pwait,	"epoll_pwait"	}, /* 312 */
+	{ 2,	TF,	sys_utimes,		"utimes"	}, /* 313 */
+	{ 6,	TF,	sys_fallocate,		"fallocate"	}, /* 314 */
+	{ 4,	TD|TF,	sys_utimensat,		"utimensat"	}, /* 315 */
+	{ 3,	TD|TS,	sys_signalfd,		"signalfd"	}, /* 316 */
+	{ 4,	TD,	sys_timerfd,		"timerfd"	}, /* 317 */
+	{ 1,	TD,	sys_eventfd,		"eventfd"	}, /* 318 */
+	{ 2,	TD,	sys_timerfd_create,	"timerfd_create"}, /* 319 */
+	{ 4,	TD,	sys_timerfd_settime,	"timerfd_settime"}, /* 320 */
+	{ 2,	TD,	sys_timerfd_gettime,	"timerfd_gettime"}, /* 321 */
+	{ 4,	TD|TS,	sys_signalfd4,		"signalfd4"	}, /* 322 */
+	{ 2,	TD,	sys_eventfd2,		"eventfd2"	}, /* 323 */
+	{ 1,	TD,	sys_inotify_init1,	"inotify_init1"	}, /* 324 */
+	{ 2,	TD,	sys_pipe2,		"pipe2"		}, /* 325 */
+	{ 3,	TD,	sys_dup3,		"dup3"		}, /* 326 */
+	{ 1,	0,	sys_epoll_create1,	"epoll_create1"	}, /* 327 */
+	{ 5,	TD,	printargs,		"preadv"	}, /* 328 */
+	{ 5,	TD,	printargs,		"pwritev"	}, /* 329 */
+	{ 4,	TP|TS,	printargs,		"rt_tgsigqueueinfo"}, /* 330 */
+	{ 5,	TD,	printargs,		"perf_event_open"}, /* 331 */
+	{ 5,	0,	printargs,		"SYS_332"	}, /* 332 */
+	{ 5,	0,	printargs,		"SYS_333"	}, /* 333 */
+	{ 5,	0,	printargs,		"SYS_334"	}, /* 334 */
+	{ 5,	0,	printargs,		"SYS_335"	}, /* 335 */
+	{ 5,	0,	printargs,		"SYS_336"	}, /* 336 */
+	{ 5,	0,	printargs,		"SYS_337"	}, /* 337 */
+	{ 5,	0,	printargs,		"SYS_338"	}, /* 338 */
+	{ 5,	0,	printargs,		"SYS_339"	}, /* 339 */
+	{ 5,	0,	printargs,		"SYS_340"	}, /* 340 */
+	{ 5,	0,	printargs,		"SYS_341"	}, /* 341 */
+	{ 5,	0,	printargs,		"SYS_342"	}, /* 342 */
+	{ 5,	0,	printargs,		"SYS_343"	}, /* 343 */
+	{ 5,	0,	printargs,		"SYS_344"	}, /* 344 */
+	{ 5,	0,	printargs,		"SYS_345"	}, /* 345 */
+	{ 5,	0,	printargs,		"SYS_346"	}, /* 346 */
+	{ 5,	0,	printargs,		"SYS_347"	}, /* 347 */
+	{ 5,	0,	printargs,		"SYS_348"	}, /* 348 */
+	{ 5,	0,	printargs,		"SYS_349"	}, /* 349 */
+	{ 5,	0,	printargs,		"SYS_350"	}, /* 350 */
+	{ 5,	0,	printargs,		"SYS_351"	}, /* 351 */
+	{ 5,	0,	printargs,		"SYS_352"	}, /* 352 */
+	{ 5,	0,	printargs,		"SYS_353"	}, /* 353 */
+	{ 5,	0,	printargs,		"SYS_354"	}, /* 354 */
+	{ 5,	0,	printargs,		"SYS_355"	}, /* 355 */
+	{ 5,	0,	printargs,		"SYS_356"	}, /* 356 */
+	{ 5,	0,	printargs,		"SYS_357"	}, /* 357 */
+	{ 5,	0,	printargs,		"SYS_358"	}, /* 358 */
+	{ 5,	0,	printargs,		"SYS_359"	}, /* 359 */
+	{ 5,	0,	printargs,		"SYS_360"	}, /* 360 */
+	{ 5,	0,	printargs,		"SYS_361"	}, /* 361 */
+	{ 5,	0,	printargs,		"SYS_362"	}, /* 362 */
+	{ 5,	0,	printargs,		"SYS_363"	}, /* 363 */
+	{ 5,	0,	printargs,		"SYS_364"	}, /* 364 */
+	{ 5,	0,	printargs,		"SYS_365"	}, /* 365 */
+	{ 5,	0,	printargs,		"SYS_366"	}, /* 366 */
+	{ 5,	0,	printargs,		"SYS_367"	}, /* 367 */
+	{ 5,	0,	printargs,		"SYS_368"	}, /* 368 */
+	{ 5,	0,	printargs,		"SYS_369"	}, /* 369 */
+	{ 5,	0,	printargs,		"SYS_370"	}, /* 370 */
+	{ 5,	0,	printargs,		"SYS_371"	}, /* 371 */
+	{ 5,	0,	printargs,		"SYS_372"	}, /* 372 */
+	{ 5,	0,	printargs,		"SYS_373"	}, /* 373 */
+	{ 5,	0,	printargs,		"SYS_374"	}, /* 374 */
+	{ 5,	0,	printargs,		"SYS_375"	}, /* 375 */
+	{ 5,	0,	printargs,		"SYS_376"	}, /* 376 */
+	{ 5,	0,	printargs,		"SYS_377"	}, /* 377 */
+	{ 5,	0,	printargs,		"SYS_378"	}, /* 378 */
+	{ 5,	0,	printargs,		"SYS_379"	}, /* 379 */
+	{ 5,	0,	printargs,		"SYS_380"	}, /* 380 */
+	{ 5,	0,	printargs,		"SYS_381"	}, /* 381 */
+	{ 5,	0,	printargs,		"SYS_382"	}, /* 382 */
+	{ 5,	0,	printargs,		"SYS_383"	}, /* 383 */
+	{ 5,	0,	printargs,		"SYS_384"	}, /* 384 */
+	{ 5,	0,	printargs,		"SYS_385"	}, /* 385 */
+	{ 5,	0,	printargs,		"SYS_386"	}, /* 386 */
+	{ 5,	0,	printargs,		"SYS_387"	}, /* 387 */
+	{ 5,	0,	printargs,		"SYS_388"	}, /* 388 */
+	{ 5,	0,	printargs,		"SYS_389"	}, /* 389 */
+	{ 5,	0,	printargs,		"SYS_390"	}, /* 390 */
+	{ 5,	0,	printargs,		"SYS_391"	}, /* 391 */
+	{ 5,	0,	printargs,		"SYS_392"	}, /* 392 */
+	{ 5,	0,	printargs,		"SYS_393"	}, /* 393 */
+	{ 5,	0,	printargs,		"SYS_394"	}, /* 394 */
+	{ 5,	0,	printargs,		"SYS_395"	}, /* 395 */
+	{ 5,	0,	printargs,		"SYS_396"	}, /* 396 */
+	{ 5,	0,	printargs,		"SYS_397"	}, /* 397 */
+	{ 5,	0,	printargs,		"SYS_398"	}, /* 398 */
+	{ 5,	0,	printargs,		"SYS_399"	}, /* 399 */
+
+#if SYS_socket_subcall != 400
+ #error fix me
+#endif
+	{ 8,	0,	printargs,		"socket_subcall"}, /* 400 */
+	{ 3,	TN,	sys_socket,		"socket"	}, /* 401 */
+	{ 3,	TN,	sys_bind,		"bind"		}, /* 402 */
+	{ 3,	TN,	sys_connect,		"connect"	}, /* 403 */
+	{ 2,	TN,	sys_listen,		"listen"	}, /* 404 */
+	{ 3,	TN,	sys_accept,		"accept"	}, /* 405 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	}, /* 406 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	}, /* 407 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"	}, /* 408 */
+	{ 4,	TN,	sys_send,		"send"		}, /* 409 */
+	{ 4,	TN,	sys_recv,		"recv"		}, /* 410 */
+	{ 6,	TN,	sys_sendto,		"sendto"	}, /* 411 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom"	}, /* 412 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	}, /* 413 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	}, /* 414 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 415 */
+	{ 5,	TN,	sys_sendmsg,		"sendmsg"	}, /* 416 */
+	{ 5,	TN,	sys_recvmsg,		"recvmsg"	}, /* 417 */
+	{ 4,	TN,	sys_accept4,		"accept4"	}, /* 418 */
+	{ 5,	TN,	sys_recvmmsg,		"recvmmsg"	}, /* 419 */
+
+#if SYS_ipc_subcall != 420
+ #error fix me
+#endif
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 420 */
+	{ 4,	TI,	sys_semop,		"semop"		}, /* 421 */
+	{ 4,	TI,	sys_semget,		"semget"	}, /* 422 */
+	{ 4,	TI,	sys_semctl,		"semctl"	}, /* 423 */
+	{ 5,	TI,	sys_semtimedop,		"semtimedop"	}, /* 424 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 425 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 426 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 427 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 428 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 429 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 430 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd"	}, /* 431 */
+	{ 4,	TI,	sys_msgrcv,		"msgrcv"	}, /* 432 */
+	{ 4,	TI,	sys_msgget,		"msgget"	}, /* 433 */
+	{ 4,	TI,	sys_msgctl,		"msgctl"	}, /* 434 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 435 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 436 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 437 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 438 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 439 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 440 */
+	{ 4,	TI,	sys_shmat,		"shmat"		}, /* 441 */
+	{ 4,	TI,	sys_shmdt,		"shmdt"		}, /* 442 */
+	{ 4,	TI,	sys_shmget,		"shmget"	}, /* 443 */
+	{ 4,	TI,	sys_shmctl,		"shmctl"	}, /* 444 */
diff --git a/strace-4.5.20/linux/sh/ioctlent.h b/strace-4.5.20/linux/sh/ioctlent.h
new file mode 100644
index 0000000..ef8bc7b
--- /dev/null
+++ b/strace-4.5.20/linux/sh/ioctlent.h
@@ -0,0 +1,836 @@
+	{"linux/fs.h",	"FIBMAP",	0x1},
+	{"linux/fs.h",	"FIGETBSZ",	0x2},
+	{"linux/fd.h",	"FDGETPRM",	0x204},
+	{"linux/fd.h",	"FDGETMAXERRS",	0x20e},
+	{"linux/fd.h",	"FDGETDRVTYP",	0x20f},
+	{"linux/fd.h",	"FDGETDRVPRM",	0x211},
+	{"linux/fd.h",	"FDGETDRVSTAT",	0x212},
+	{"linux/fd.h",	"FDPOLLDRVSTAT",	0x213},
+	{"linux/fd.h",	"FDGETFDCSTAT",	0x215},
+	{"linux/fd.h",	"FDWERRORGET",	0x217},
+	{"linux/fd.h",	"FDCLRPRM",	0x241},
+	{"linux/fd.h",	"FDSETPRM",	0x242},
+	{"linux/fd.h",	"FDDEFPRM",	0x243},
+	{"linux/fd.h",	"FDMSGON",	0x245},
+	{"linux/fd.h",	"FDMSGOFF",	0x246},
+	{"linux/fd.h",	"FDFMTBEG",	0x247},
+	{"linux/fd.h",	"FDFMTTRK",	0x248},
+	{"linux/fd.h",	"FDFMTEND",	0x249},
+	{"linux/fd.h",	"FDSETEMSGTRESH",	0x24a},
+	{"linux/fd.h",	"FDFLUSH",	0x24b},
+	{"linux/fd.h",	"FDSETMAXERRS",	0x24c},
+	{"linux/fd.h",	"FDRESET",	0x254},
+	{"linux/fd.h",	"FDWERRORCLR",	0x256},
+	{"linux/fd.h",	"FDRAWCMD",	0x258},
+	{"linux/fd.h",	"FDTWADDLE",	0x259},
+	{"linux/fd.h",	"FDEJECT",	0x25a},
+	{"linux/fd.h",	"FDSETDRVPRM",	0x290},
+	{"linux/umsdos_fs.h",	"UMSDOS_READDIR_DOS",	0x4d2},
+	{"linux/umsdos_fs.h",	"UMSDOS_UNLINK_DOS",	0x4d3},
+	{"linux/umsdos_fs.h",	"UMSDOS_RMDIR_DOS",	0x4d4},
+	{"linux/umsdos_fs.h",	"UMSDOS_STAT_DOS",	0x4d5},
+	{"linux/umsdos_fs.h",	"UMSDOS_CREAT_EMD",	0x4d6},
+	{"linux/umsdos_fs.h",	"UMSDOS_UNLINK_EMD",	0x4d7},
+	{"linux/umsdos_fs.h",	"UMSDOS_READDIR_EMD",	0x4d8},
+	{"linux/umsdos_fs.h",	"UMSDOS_GETVERSION",	0x4d9},
+	{"linux/umsdos_fs.h",	"UMSDOS_INIT_EMD",	0x4da},
+	{"linux/umsdos_fs.h",	"UMSDOS_DOS_SETUP",	0x4db},
+	{"linux/umsdos_fs.h",	"UMSDOS_RENAME_DOS",	0x4dc},
+	{"linux/fs.h",	"BLKROSET",	0x125d},
+	{"linux/fs.h",	"BLKROGET",	0x125e},
+	{"linux/fs.h",	"BLKRRPART",	0x125f},
+	{"linux/fs.h",	"BLKGETSIZE",	0x1260},
+	{"linux/fs.h",	"BLKFLSBUF",	0x1261},
+	{"linux/fs.h",	"BLKRASET",	0x1262},
+	{"linux/fs.h",	"BLKRAGET",	0x1263},
+	{"linux/fs.h",	"BLKFRASET",	0x1264},
+	{"linux/fs.h",	"BLKFRAGET",	0x1265},
+	{"linux/fs.h",	"BLKSECTSET",	0x1266},
+	{"linux/fs.h",	"BLKSECTGET",	0x1267},
+	{"linux/fs.h",	"BLKSSZGET",	0x1268},
+	{"linux/blkpg.h",	"BLKPG",	0x1269},
+	{"linux/fs.h",	"BLKPG",	0x1269},
+	{"linux/elevator.h",	"BLKELVGET",	0x126a},
+	{"linux/fs.h",	"BLKELVGET",	0x126a},
+	{"linux/elevator.h",	"BLKELVSET",	0x126b},
+	{"linux/fs.h",	"BLKELVSET",	0x126b},
+	{"linux/fs.h",	"BLKBSZGET",	0x1270},
+	{"linux/fs.h",	"BLKBSZSET",	0x1271},
+	{"linux/fs.h",	"BLKGETSIZE64",	0x1272},
+	{"linux/agpgart.h",	"AGPIOC_INFO",	0x4100},
+	{"linux/agpgart.h",	"AGPIOC_ACQUIRE",	0x4101},
+	{"linux/apm_bios.h",	"APM_IOC_STANDBY",	0x4101},
+	{"linux/agpgart.h",	"AGPIOC_RELEASE",	0x4102},
+	{"linux/apm_bios.h",	"APM_IOC_SUSPEND",	0x4102},
+	{"linux/agpgart.h",	"AGPIOC_SETUP",	0x4103},
+	{"linux/agpgart.h",	"AGPIOC_RESERVE",	0x4104},
+	{"linux/agpgart.h",	"AGPIOC_PROTECT",	0x4105},
+	{"linux/agpgart.h",	"AGPIOC_ALLOCATE",	0x4106},
+	{"linux/agpgart.h",	"AGPIOC_DEALLOCATE",	0x4107},
+	{"linux/agpgart.h",	"AGPIOC_BIND",	0x4108},
+	{"linux/agpgart.h",	"AGPIOC_UNBIND",	0x4109},
+	{"linux/pmu.h",	"PMU_IOC_SLEEP",	0x4200},
+	{"linux/cciss_ioctl.h",	"CCISS_GETPCIINFO",	0x4201},
+	{"linux/pmu.h",	"PMU_IOC_GET_BACKLIGHT",	0x4201},
+	{"linux/cciss_ioctl.h",	"CCISS_GETINTINFO",	0x4202},
+	{"linux/pmu.h",	"PMU_IOC_SET_BACKLIGHT",	0x4202},
+	{"linux/cciss_ioctl.h",	"CCISS_SETINTINFO",	0x4203},
+	{"linux/pmu.h",	"PMU_IOC_GET_MODEL",	0x4203},
+	{"linux/cciss_ioctl.h",	"CCISS_GETNODENAME",	0x4204},
+	{"linux/pmu.h",	"PMU_IOC_HAS_ADB",	0x4204},
+	{"linux/cciss_ioctl.h",	"CCISS_SETNODENAME",	0x4205},
+	{"linux/pmu.h",	"PMU_IOC_CAN_SLEEP",	0x4205},
+	{"linux/cciss_ioctl.h",	"CCISS_GETHEARTBEAT",	0x4206},
+	{"linux/cciss_ioctl.h",	"CCISS_GETBUSTYPES",	0x4207},
+	{"linux/cciss_ioctl.h",	"CCISS_GETFIRMVER",	0x4208},
+	{"linux/cciss_ioctl.h",	"CCISS_GETDRIVVER",	0x4209},
+	{"linux/cciss_ioctl.h",	"CCISS_REVALIDVOLS",	0x420a},
+	{"linux/cciss_ioctl.h",	"CCISS_PASSTHRU",	0x420b},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RESET",	0x4300},
+	{"linux/capi.h",	"CAPI_REGISTER",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_LOAD",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RDATA",	0x4302},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCODE",	0x4303},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WDATA",	0x4304},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WCODE",	0x4305},
+	{"linux/capi.h",	"CAPI_GET_MANUFACTURER",	0x4306},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RUN",	0x4306},
+	{"linux/capi.h",	"CAPI_GET_VERSION",	0x4307},
+	{"linux/soundcard.h",	"SNDCTL_COPR_HALT",	0x4307},
+	{"linux/capi.h",	"CAPI_GET_SERIAL",	0x4308},
+	{"linux/soundcard.h",	"SNDCTL_COPR_SENDMSG",	0x4308},
+	{"linux/capi.h",	"CAPI_GET_PROFILE",	0x4309},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCVMSG",	0x4309},
+	{"linux/capi.h",	"CAPI_MANUFACTURER_CMD",	0x4320},
+	{"linux/capi.h",	"CAPI_GET_ERRCODE",	0x4321},
+	{"linux/capi.h",	"CAPI_INSTALLED",	0x4322},
+	{"linux/capi.h",	"CAPI_GET_FLAGS",	0x4323},
+	{"linux/capi.h",	"CAPI_SET_FLAGS",	0x4324},
+	{"linux/capi.h",	"CAPI_CLR_FLAGS",	0x4325},
+	{"linux/capi.h",	"CAPI_NCCI_OPENCOUNT",	0x4326},
+	{"linux/capi.h",	"CAPI_NCCI_GETUNIT",	0x4327},
+	{"linux/input.h",	"EVIOCGVERSION",	0x4501},
+	{"linux/input.h",	"EVIOCGID",	0x4502},
+	{"linux/input.h",	"EVIOCGREP",	0x4503},
+	{"linux/input.h",	"EVIOCSREP",	0x4503},
+	{"linux/input.h",	"EVIOCGKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCSKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCGKEY",	0x4505},
+	{"linux/input.h",	"EVIOCGBUS",	0x4507},
+	{"linux/input.h",	"EVIOCRMFF",	0x4581},
+	{"linux/input.h",	"EVIOCSGAIN",	0x4582},
+	{"linux/input.h",	"EVIOCSAUTOCENTER",	0x4583},
+	{"linux/input.h",	"EVIOCGEFFECTS",	0x4584},
+	{"linux/fb.h",	"FBIOGET_VBLANK",	0x4612},
+	{"linux/hiddev.h",	"HIDIOCGVERSION",	0x4801},
+	{"linux/hiddev.h",	"HIDIOCAPPLICATION",	0x4802},
+	{"linux/hiddev.h",	"HIDIOCGDEVINFO",	0x4803},
+	{"linux/hiddev.h",	"HIDIOCGSTRING",	0x4804},
+	{"linux/hiddev.h",	"HIDIOCINITREPORT",	0x4805},
+	{"linux/hiddev.h",	"HIDIOCGREPORT",	0x4807},
+	{"linux/hiddev.h",	"HIDIOCSREPORT",	0x4808},
+	{"linux/hiddev.h",	"HIDIOCGREPORTINFO",	0x4809},
+	{"linux/hiddev.h",	"HIDIOCGFIELDINFO",	0x480a},
+	{"linux/hiddev.h",	"HIDIOCGUSAGE",	0x480b},
+	{"linux/hiddev.h",	"HIDIOCSUSAGE",	0x480c},
+	{"linux/hiddev.h",	"HIDIOCGUCODE",	0x480d},
+	{"linux/isdn.h",	"IIOCNETAIF",	0x4901},
+	{"linux/isdn.h",	"IIOCNETDIF",	0x4902},
+	{"linux/isdn.h",	"IIOCNETSCF",	0x4903},
+	{"linux/isdn.h",	"IIOCNETGCF",	0x4904},
+	{"linux/isdn.h",	"IIOCNETANM",	0x4905},
+	{"linux/isdn.h",	"IIOCNETDNM",	0x4906},
+	{"linux/isdn.h",	"IIOCNETGNM",	0x4907},
+	{"linux/isdn.h",	"IIOCGETSET",	0x4908},
+	{"linux/isdn.h",	"IIOCSETSET",	0x4909},
+	{"linux/isdn.h",	"IIOCSETVER",	0x490a},
+	{"linux/isdn.h",	"IIOCNETHUP",	0x490b},
+	{"linux/isdn.h",	"IIOCSETGST",	0x490c},
+	{"linux/isdn.h",	"IIOCSETBRJ",	0x490d},
+	{"linux/isdn.h",	"IIOCSIGPRF",	0x490e},
+	{"linux/isdn.h",	"IIOCGETPRF",	0x490f},
+	{"linux/isdn.h",	"IIOCSETPRF",	0x4910},
+	{"linux/isdn.h",	"IIOCGETMAP",	0x4911},
+	{"linux/isdn.h",	"IIOCSETMAP",	0x4912},
+	{"linux/isdn.h",	"IIOCNETASL",	0x4913},
+	{"linux/isdn.h",	"IIOCNETDIL",	0x4914},
+	{"linux/isdn.h",	"IIOCGETCPS",	0x4915},
+	{"linux/isdn.h",	"IIOCGETDVR",	0x4916},
+	{"linux/isdn.h",	"IIOCNETLCR",	0x4917},
+	{"linux/isdn.h",	"IIOCNETDWRSET",	0x4918},
+	{"linux/isdn.h",	"IIOCNETALN",	0x4920},
+	{"linux/isdn.h",	"IIOCNETDLN",	0x4921},
+	{"linux/isdn.h",	"IIOCNETGPN",	0x4922},
+	{"linux/isdn.h",	"IIOCDBGVAR",	0x497f},
+	{"linux/isdn.h",	"IIOCDRVCTL",	0x4980},
+	{"linux/soundcard.h",	"SOUND_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_OLD_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_MIXER_ACCESS",	0x4d66},
+	{"linux/soundcard.h",	"SOUND_MIXER_AGC",	0x4d67},
+	{"linux/soundcard.h",	"SOUND_MIXER_3DSE",	0x4d68},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE1",	0x4d6f},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE2",	0x4d70},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE3",	0x4d71},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE4",	0x4d72},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE5",	0x4d73},
+	{"linux/soundcard.h",	"SOUND_MIXER_GETLEVELS",	0x4d74},
+	{"linux/soundcard.h",	"SOUND_MIXER_SETLEVELS",	0x4d75},
+	{"linux/soundcard.h",	"OSS_GETVERSION",	0x4d76},
+	{"linux/soundcard.h",	"SNDCTL_DSP_RESET",	0x5000},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SYNC",	0x5001},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SPEED",	0x5002},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_RATE",	0x5002},
+	{"linux/soundcard.h",	"SNDCTL_DSP_STEREO",	0x5003},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETBLKSIZE",	0x5004},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFMT",	0x5005},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_BITS",	0x5005},
+	{"linux/soundcard.h",	"SNDCTL_DSP_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_WRITE_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SNDCTL_DSP_POST",	0x5008},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SUBDIVIDE",	0x5009},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFRAGMENT",	0x500a},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETFMTS",	0x500b},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOSPACE",	0x500c},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETISPACE",	0x500d},
+	{"linux/soundcard.h",	"SNDCTL_DSP_NONBLOCK",	0x500e},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCAPS",	0x500f},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETIPTR",	0x5011},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOPTR",	0x5012},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPINBUF",	0x5013},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPOUTBUF",	0x5014},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSYNCRO",	0x5015},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETDUPLEX",	0x5016},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETODELAY",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_PROFILE",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCHANNELMASK",	0x5040},
+	{"linux/soundcard.h",	"SNDCTL_DSP_BIND_CHANNEL",	0x5041},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSPDIF",	0x5042},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETSPDIF",	0x5043},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESET",	0x5100},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_SYNC",	0x5101},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_INFO",	0x5102},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_CTRLRATE",	0x5103},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETOUTCOUNT",	0x5104},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETINCOUNT",	0x5105},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PERCMODE",	0x5106},
+	{"linux/soundcard.h",	"SNDCTL_FM_LOAD_INSTR",	0x5107},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_TESTMIDI",	0x5108},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESETSAMPLES",	0x5109},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRSYNTHS",	0x510a},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRMIDIS",	0x510b},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_INFO",	0x510c},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_THRESHOLD",	0x510d},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_MEMAVL",	0x510e},
+	{"linux/soundcard.h",	"SNDCTL_FM_4OP_ENABLE",	0x510f},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PANIC",	0x5111},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_OUTOFBAND",	0x5112},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETTIME",	0x5113},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_ID",	0x5114},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_CONTROL",	0x5115},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_REMOVESAMPLE",	0x5116},
+	{"linux/random.h",	"RNDGETENTCNT",	0x5200},
+	{"linux/random.h",	"RNDADDTOENTCNT",	0x5201},
+	{"linux/random.h",	"RNDGETPOOL",	0x5202},
+	{"linux/random.h",	"RNDADDENTROPY",	0x5203},
+	{"linux/random.h",	"RNDZAPENTCNT",	0x5204},
+	{"linux/random.h",	"RNDCLEARPOOL",	0x5206},
+	{"asm/ioctls.h",	"TCGETS",	0x5401},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TIMEBASE",	0x5401},
+	{"asm/ioctls.h",	"TCSETS",	0x5402},
+	{"linux/soundcard.h",	"SNDCTL_TMR_START",	0x5402},
+	{"asm/ioctls.h",	"TCSETSW",	0x5403},
+	{"linux/soundcard.h",	"SNDCTL_TMR_STOP",	0x5403},
+	{"asm/ioctls.h",	"TCSETSF",	0x5404},
+	{"linux/soundcard.h",	"SNDCTL_TMR_CONTINUE",	0x5404},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TEMPO",	0x5405},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SOURCE",	0x5406},
+	{"linux/soundcard.h",	"SNDCTL_TMR_METRONOME",	0x5407},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SELECT",	0x5408},
+	{"asm/ioctls.h",	"TIOCEXCL",	0x540c},
+	{"asm/ioctls.h",	"TIOCNXCL",	0x540d},
+	{"asm/ioctls.h",	"TIOCSCTTY",	0x540e},
+	{"asm/ioctls.h",	"TIOCSTI",	0x5412},
+	{"asm/ioctls.h",	"TIOCMGET",	0x5415},
+	{"asm/ioctls.h",	"TIOCMBIS",	0x5416},
+	{"asm/ioctls.h",	"TIOCMBIC",	0x5417},
+	{"asm/ioctls.h",	"TIOCMSET",	0x5418},
+	{"asm/ioctls.h",	"TIOCGSOFTCAR",	0x5419},
+	{"asm/ioctls.h",	"TIOCSSOFTCAR",	0x541a},
+	{"asm/ioctls.h",	"TIOCLINUX",	0x541c},
+	{"asm/ioctls.h",	"TIOCCONS",	0x541d},
+	{"asm/ioctls.h",	"TIOCGSERIAL",	0x541e},
+	{"asm/ioctls.h",	"TIOCSSERIAL",	0x541f},
+	{"asm/ioctls.h",	"TIOCPKT",	0x5420},
+	{"asm/ioctls.h",	"TIOCNOTTY",	0x5422},
+	{"asm/ioctls.h",	"TIOCSETD",	0x5423},
+	{"asm/ioctls.h",	"TIOCGETD",	0x5424},
+	{"asm/ioctls.h",	"TCSBRKP",	0x5425},
+	{"asm/ioctls.h",	"TIOCTTYGSTRUCT",	0x5426},
+	{"asm/ioctls.h",	"TIOCSBRK",	0x5427},
+	{"asm/ioctls.h",	"TIOCCBRK",	0x5428},
+	{"asm/ioctls.h",	"TIOCGSID",	0x5429},
+	{"asm/ioctls.h",	"TIOCGPTN",	0x5430},
+	{"asm/ioctls.h",	"TIOCSPTLCK",	0x5431},
+	{"asm/ioctls.h",	"TIOCSERCONFIG",	0x5453},
+	{"asm/ioctls.h",	"TIOCSERGWILD",	0x5454},
+	{"asm/ioctls.h",	"TIOCSERSWILD",	0x5455},
+	{"asm/ioctls.h",	"TIOCGLCKTRMIOS",	0x5456},
+	{"asm/ioctls.h",	"TIOCSLCKTRMIOS",	0x5457},
+	{"asm/ioctls.h",	"TIOCSERGSTRUCT",	0x5458},
+	{"asm/ioctls.h",	"TIOCSERGETLSR",	0x5459},
+	{"asm/ioctls.h",	"TIOCSERGETMULTI",	0x545a},
+	{"asm/ioctls.h",	"TIOCSERSETMULTI",	0x545b},
+	{"asm/ioctls.h",	"TIOCMIWAIT",	0x545c},
+	{"asm/ioctls.h",	"TIOCGICOUNT",	0x545d},
+	{"linux/if_tun.h",	"TUNSETNOCSUM",	0x54c8},
+	{"linux/if_tun.h",	"TUNSETDEBUG",	0x54c9},
+	{"linux/if_tun.h",	"TUNSETIFF",	0x54ca},
+	{"linux/if_tun.h",	"TUNSETPERSIST",	0x54cb},
+	{"linux/if_tun.h",	"TUNSETOWNER",	0x54cc},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONTROL",	0x5500},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_BULK",	0x5502},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESETEP",	0x5503},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETINTERFACE",	0x5504},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETCONFIGURATION",	0x5505},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_GETDRIVER",	0x5508},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SUBMITURB",	0x550a},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCARDURB",	0x550b},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURB",	0x550c},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURBNDELAY",	0x550d},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCSIGNAL",	0x550e},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLAIMINTERFACE",	0x550f},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RELEASEINTERFACE",	0x5510},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONNECTINFO",	0x5511},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_IOCTL",	0x5512},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_HUB_PORTINFO",	0x5513},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESET",	0x5514},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLEAR_HALT",	0x5515},
+	{"linux/watchdog.h",	"WDIOC_GETSUPPORT",	0x5700},
+	{"linux/watchdog.h",	"WDIOC_GETSTATUS",	0x5701},
+	{"linux/watchdog.h",	"WDIOC_GETBOOTSTATUS",	0x5702},
+	{"linux/watchdog.h",	"WDIOC_GETTEMP",	0x5703},
+	{"linux/watchdog.h",	"WDIOC_SETOPTIONS",	0x5704},
+	{"linux/watchdog.h",	"WDIOC_KEEPALIVE",	0x5705},
+	{"linux/watchdog.h",	"WDIOC_SETTIMEOUT",	0x5706},
+	{"linux/ite_gpio.h",	"ITE_GPIO_IN",	0x5a00},
+	{"linux/ite_gpio.h",	"ITE_GPIO_OUT",	0x5a01},
+	{"linux/ite_gpio.h",	"ITE_GPIO_INT_CTRL",	0x5a02},
+	{"linux/ite_gpio.h",	"ITE_GPIO_IN_STATUS",	0x5a03},
+	{"linux/ite_gpio.h",	"ITE_GPIO_OUT_STATUS",	0x5a04},
+	{"linux/ite_gpio.h",	"ITE_GPIO_GEN_CTRL",	0x5a05},
+	{"linux/ite_gpio.h",	"ITE_GPIO_INT_WAIT",	0x5a06},
+	{"linux/sonet.h",	"SONET_GETSTAT",	0x6110},
+	{"linux/sonet.h",	"SONET_GETSTATZ",	0x6111},
+	{"linux/sonet.h",	"SONET_SETDIAG",	0x6112},
+	{"linux/sonet.h",	"SONET_CLRDIAG",	0x6113},
+	{"linux/sonet.h",	"SONET_GETDIAG",	0x6114},
+	{"linux/sonet.h",	"SONET_SETFRAMING",	0x6115},
+	{"linux/sonet.h",	"SONET_GETFRAMING",	0x6116},
+	{"linux/sonet.h",	"SONET_GETFRSENSE",	0x6117},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTAT",	0x6132},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTATZ",	0x6133},
+	{"linux/atmdev.h",	"ATM_GETSTAT",	0x6150},
+	{"linux/atmdev.h",	"ATM_GETSTATZ",	0x6151},
+	{"linux/atmdev.h",	"ATM_GETLOOP",	0x6152},
+	{"linux/atmdev.h",	"ATM_SETLOOP",	0x6153},
+	{"linux/atmdev.h",	"ATM_QUERYLOOP",	0x6154},
+	{"linux/atm_eni.h",	"ENI_MEMDUMP",	0x6160},
+	{"linux/atm_nicstar.h",	"NS_GETPSTAT",	0x6161},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOL",	0x6161},
+	{"linux/atm_nicstar.h",	"NS_SETBUFLEV",	0x6162},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOLZ",	0x6162},
+	{"linux/atm_nicstar.h",	"NS_ADJBUFLEV",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_SETPOOL",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_GETTHIST",	0x6164},
+	{"linux/atm_eni.h",	"ENI_SETMULT",	0x6167},
+	{"linux/atm_tcp.h",	"SIOCSIFATMTCP",	0x6180},
+	{"linux/atmdev.h",	"ATM_GETLINKRATE",	0x6181},
+	{"linux/atmdev.h",	"ATM_GETNAMES",	0x6183},
+	{"linux/atmdev.h",	"ATM_GETTYPE",	0x6184},
+	{"linux/atmdev.h",	"ATM_GETESI",	0x6185},
+	{"linux/atmdev.h",	"ATM_GETADDR",	0x6186},
+	{"linux/atmdev.h",	"ATM_RSTADDR",	0x6187},
+	{"linux/atmdev.h",	"ATM_ADDADDR",	0x6188},
+	{"linux/atmdev.h",	"ATM_DELADDR",	0x6189},
+	{"linux/atmdev.h",	"ATM_GETCIRANGE",	0x618a},
+	{"linux/atmdev.h",	"ATM_SETCIRANGE",	0x618b},
+	{"linux/atmdev.h",	"ATM_SETESI",	0x618c},
+	{"linux/atmdev.h",	"ATM_SETESIF",	0x618d},
+	{"linux/atm_tcp.h",	"ATMTCP_CREATE",	0x618e},
+	{"linux/atm_tcp.h",	"ATMTCP_REMOVE",	0x618f},
+	{"linux/atmlec.h",	"ATMLEC_CTRL",	0x61d0},
+	{"linux/atmlec.h",	"ATMLEC_DATA",	0x61d1},
+	{"linux/atmlec.h",	"ATMLEC_MCAST",	0x61d2},
+	{"linux/atmmpc.h",	"ATMMPC_CTRL",	0x61d8},
+	{"linux/atmmpc.h",	"ATMMPC_DATA",	0x61d9},
+	{"linux/atmclip.h",	"SIOCMKCLIP",	0x61e0},
+	{"linux/atmarp.h",	"ATMARPD_CTRL",	0x61e1},
+	{"linux/atmarp.h",	"ATMARP_MKIP",	0x61e2},
+	{"linux/atmarp.h",	"ATMARP_SETENTRY",	0x61e3},
+	{"linux/atmarp.h",	"ATMARP_ENCAP",	0x61e5},
+	{"linux/atmsvc.h",	"ATMSIGD_CTRL",	0x61f0},
+	{"linux/atmdev.h",	"ATM_SETSC",	0x61f1},
+	{"linux/atmdev.h",	"ATM_SETBACKEND",	0x61f2},
+	{"linux/coda.h",	"CIOC_KERNEL_VERSION",	0x630a},
+	{"linux/comstats.h",	"COM_GETPORTSTATS",	0x631e},
+	{"linux/comstats.h",	"COM_CLRPORTSTATS",	0x631f},
+	{"linux/comstats.h",	"COM_GETBRDSTATS",	0x6320},
+	{"linux/comstats.h",	"COM_READPORT",	0x6328},
+	{"linux/comstats.h",	"COM_READBOARD",	0x6329},
+	{"linux/comstats.h",	"COM_READPANEL",	0x632a},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_GET_PROTO_REV",	0x6400},
+	{"linux/video_decoder.h",	"DECODER_GET_CAPABILITIES",	0x6401},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_SET_EVENT_MASK",	0x6402},
+	{"linux/video_decoder.h",	"DECODER_GET_STATUS",	0x6402},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_RELEASE_EVENT_QUEUE",	0x6403},
+	{"linux/video_decoder.h",	"DECODER_SET_NORM",	0x6403},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_SET_DEBUG_MASK",	0x6404},
+	{"linux/video_decoder.h",	"DECODER_SET_INPUT",	0x6404},
+	{"linux/video_decoder.h",	"DECODER_SET_OUTPUT",	0x6405},
+	{"linux/video_decoder.h",	"DECODER_ENABLE_OUTPUT",	0x6406},
+	{"linux/video_decoder.h",	"DECODER_SET_PICTURE",	0x6407},
+	{"linux/video_decoder.h",	"DECODER_DUMP",	0x64c0},
+	{"linux/video_encoder.h",	"ENCODER_GET_CAPABILITIES",	0x6501},
+	{"linux/video_encoder.h",	"ENCODER_SET_NORM",	0x6502},
+	{"linux/video_encoder.h",	"ENCODER_SET_INPUT",	0x6503},
+	{"linux/video_encoder.h",	"ENCODER_SET_OUTPUT",	0x6504},
+	{"linux/video_encoder.h",	"ENCODER_ENABLE_OUTPUT",	0x6505},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETFLAGS",	0x6601},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETFLAGS",	0x6601},
+	{"asm/ioctls.h",	"FIOCLEX",	0x6601},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETFLAGS",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETFLAGS",	0x6602},
+	{"asm/ioctls.h",	"FIONCLEX",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION",	0x6603},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION",	0x6604},
+	{"linux/ext3_fs.h",	"EXT3_IOC_WAIT_FOR_READONLY",	0x6663},
+	{"asm/sockios.h",	"FIOGETOWN",	0x667b},
+	{"asm/sockios.h",	"FIOSETOWN",	0x667c},
+	{"asm/ioctls.h",	"FIOASYNC",	0x667d},
+	{"asm/ioctls.h",	"FIONBIO",	0x667e},
+	{"asm/ioctls.h",	"FIONREAD",	0x667f},
+	{"linux/i2o-dev.h",	"I2OGETIOPS",	0x6900},
+	{"linux/i2o-dev.h",	"I2OHRTGET",	0x6901},
+	{"linux/i2o-dev.h",	"I2OLCTGET",	0x6902},
+	{"linux/i2o-dev.h",	"I2OPARMSET",	0x6903},
+	{"linux/i2o-dev.h",	"I2OPARMGET",	0x6904},
+	{"linux/i2o-dev.h",	"I2OSWDL",	0x6905},
+	{"linux/i2o-dev.h",	"I2OSWUL",	0x6906},
+	{"linux/i2o-dev.h",	"I2OSWDEL",	0x6907},
+	{"linux/i2o-dev.h",	"I2OVALIDATE",	0x6908},
+	{"linux/i2o-dev.h",	"I2OHTML",	0x6909},
+	{"linux/i2o-dev.h",	"I2OEVTREG",	0x690a},
+	{"linux/i2o-dev.h",	"I2OEVTGET",	0x690b},
+	{"linux/i8k.h",	"I8K_BIOS_VERSION",	0x6980},
+	{"linux/i8k.h",	"I8K_MACHINE_ID",	0x6981},
+	{"linux/i8k.h",	"I8K_POWER_STATUS",	0x6982},
+	{"linux/i8k.h",	"I8K_FN_STATUS",	0x6983},
+	{"linux/i8k.h",	"I8K_GET_TEMP",	0x6984},
+	{"linux/i8k.h",	"I8K_GET_SPEED",	0x6985},
+	{"linux/i8k.h",	"I8K_GET_FAN",	0x6986},
+	{"linux/i8k.h",	"I8K_SET_FAN",	0x6987},
+	{"linux/joystick.h",	"JSIOCGVERSION",	0x6a01},
+	{"linux/joystick.h",	"JSIOCGAXES",	0x6a11},
+	{"linux/joystick.h",	"JSIOCGBUTTONS",	0x6a12},
+	{"linux/joystick.h",	"JSIOCSCORR",	0x6a21},
+	{"linux/joystick.h",	"JSIOCGCORR",	0x6a22},
+	{"linux/joystick.h",	"JSIOCSAXMAP",	0x6a31},
+	{"linux/joystick.h",	"JSIOCGAXMAP",	0x6a32},
+	{"linux/joystick.h",	"JSIOCSBTNMAP",	0x6a33},
+	{"linux/joystick.h",	"JSIOCGBTNMAP",	0x6a34},
+	{"linux/udf_fs_i.h",	"UDF_GETEASIZE",	0x6c40},
+	{"linux/udf_fs_i.h",	"UDF_GETEABLOCK",	0x6c41},
+	{"linux/udf_fs_i.h",	"UDF_GETVOLIDENT",	0x6c42},
+	{"linux/udf_fs_i.h",	"UDF_RELOCATE_BLOCKS",	0x6c43},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_PRETIME",	0x6d00},
+	{"linux/synclink.h",	"MGSL_IOCSPARAMS",	0x6d00},
+	{"linux/mtio.h",	"MTIOCTOP",	0x6d01},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUMODE",	0x6d01},
+	{"linux/synclink.h",	"MGSL_IOCGPARAMS",	0x6d01},
+	{"linux/mtio.h",	"MTIOCGET",	0x6d02},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUCMD",	0x6d02},
+	{"linux/synclink.h",	"MGSL_IOCSTXIDLE",	0x6d02},
+	{"linux/mtio.h",	"MTIOCPOS",	0x6d03},
+	{"linux/synclink.h",	"MGSL_IOCGTXIDLE",	0x6d03},
+	{"linux/mtio.h",	"MTIOCGETCONFIG",	0x6d04},
+	{"linux/synclink.h",	"MGSL_IOCTXENABLE",	0x6d04},
+	{"linux/mtio.h",	"MTIOCSETCONFIG",	0x6d05},
+	{"linux/synclink.h",	"MGSL_IOCRXENABLE",	0x6d05},
+	{"linux/mtio.h",	"MTIOCRDFTSEG",	0x6d06},
+	{"linux/synclink.h",	"MGSL_IOCTXABORT",	0x6d06},
+	{"linux/mtio.h",	"MTIOCWRFTSEG",	0x6d07},
+	{"linux/synclink.h",	"MGSL_IOCGSTATS",	0x6d07},
+	{"linux/mtio.h",	"MTIOCVOLINFO",	0x6d08},
+	{"linux/synclink.h",	"MGSL_IOCWAITEVENT",	0x6d08},
+	{"linux/mtio.h",	"MTIOCGETSIZE",	0x6d09},
+	{"linux/synclink.h",	"MGSL_IOCLOOPTXDONE",	0x6d09},
+	{"linux/mtio.h",	"MTIOCFTFORMAT",	0x6d0a},
+	{"linux/mtio.h",	"MTIOCFTCMD",	0x6d0b},
+	{"linux/synclink.h",	"MGSL_IOCCLRMODCOUNT",	0x6d0f},
+	{"linux/zftape.h",	"MTIOC_ZFTAPE_GETBLKSZ",	0x6d68},
+	{"linux/ncp_fs.h",	"NCP_IOC_NCPREQUEST",	0x6e01},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID2",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_CONN_LOGGED_IN",	0x6e03},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO_V2",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_INIT",	0x6e05},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_SET_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_LOCKUNLOCK",	0x6e07},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETDENTRYTTL",	0x6e0c},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETDENTRYTTL",	0x6e0c},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_GET_AVAILABLE_OUTPUTS",	0x6ef9},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_GET_ALL_OUTPUTS",	0x6efb},
+	{"linux/rtc.h",	"RTC_AIE_ON",	0x7001},
+	{"linux/rtc.h",	"RTC_AIE_OFF",	0x7002},
+	{"linux/intermezzo_fs.h",	"PRESTO_GETMOUNT",	0x7003},
+	{"linux/rtc.h",	"RTC_UIE_ON",	0x7003},
+	{"linux/intermezzo_fs.h",	"PRESTO_SETPID",	0x7004},
+	{"linux/rtc.h",	"RTC_UIE_OFF",	0x7004},
+	{"linux/rtc.h",	"RTC_PIE_ON",	0x7005},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLOSE_JOURNALF",	0x7006},
+	{"linux/rtc.h",	"RTC_PIE_OFF",	0x7006},
+	{"linux/intermezzo_fs.h",	"PRESTO_SET_FSETROOT",	0x7007},
+	{"linux/rtc.h",	"RTC_ALM_SET",	0x7007},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLEAR_FSETROOT",	0x7008},
+	{"linux/rtc.h",	"RTC_ALM_READ",	0x7008},
+	{"linux/intermezzo_fs.h",	"PRESTO_SETOPT",	0x7009},
+	{"linux/rtc.h",	"RTC_RD_TIME",	0x7009},
+	{"linux/intermezzo_fs.h",	"PRESTO_GETOPT",	0x700a},
+	{"linux/rtc.h",	"RTC_SET_TIME",	0x700a},
+	{"linux/intermezzo_fs.h",	"PRESTO_GET_KMLSIZE",	0x700b},
+	{"linux/rtc.h",	"RTC_IRQP_READ",	0x700b},
+	{"linux/intermezzo_fs.h",	"PRESTO_GET_RECNO",	0x700c},
+	{"linux/rtc.h",	"RTC_IRQP_SET",	0x700c},
+	{"linux/rtc.h",	"RTC_EPOCH_READ",	0x700d},
+	{"linux/rtc.h",	"RTC_EPOCH_SET",	0x700e},
+	{"linux/rtc.h",	"RTC_WIE_ON",	0x700f},
+	{"linux/rtc.h",	"RTC_WKALM_SET",	0x700f},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SETATTR",	0x7010},
+	{"linux/rtc.h",	"RTC_WIE_OFF",	0x7010},
+	{"linux/rtc.h",	"RTC_WKALM_RD",	0x7010},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_CREATE",	0x7011},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_LINK",	0x7012},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_UNLINK",	0x7013},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SYMLINK",	0x7014},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_MKDIR",	0x7015},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_RMDIR",	0x7016},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_MKNOD",	0x7017},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_RENAME",	0x7018},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_CLOSE",	0x701a},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_IOPEN",	0x701b},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SETEXTATTR",	0x701c},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_DELEXTATTR",	0x701d},
+	{"linux/intermezzo_fs.h",	"PRESTO_MARK",	0x7020},
+	{"linux/intermezzo_fs.h",	"PRESTO_RELEASE_PERMIT",	0x7021},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLEAR_ALL_FSETROOTS",	0x7022},
+	{"linux/intermezzo_fs.h",	"PRESTO_BACKFETCH_LML",	0x7023},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT",	0x7024},
+	{"linux/intermezzo_fs.h",	"PRESTO_CANCEL_LML",	0x7025},
+	{"linux/intermezzo_fs.h",	"PRESTO_RESET_FSET",	0x7026},
+	{"linux/intermezzo_fs.h",	"PRESTO_COMPLETE_CLOSES",	0x7027},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT_BEGIN",	0x7030},
+	{"linux/intermezzo_fs.h",	"PRESTO_DO_REINT",	0x7031},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT_END",	0x7032},
+	{"linux/nvram.h",	"NVRAM_INIT",	0x7040},
+	{"linux/nvram.h",	"NVRAM_SETCKS",	0x7041},
+	{"linux/ppdev.h",	"PPSETMODE",	0x7080},
+	{"linux/ppdev.h",	"PPRSTATUS",	0x7081},
+	{"linux/ppdev.h",	"PPRCONTROL",	0x7083},
+	{"linux/ppdev.h",	"PPWCONTROL",	0x7084},
+	{"linux/ppdev.h",	"PPRDATA",	0x7085},
+	{"linux/ppdev.h",	"PPWDATA",	0x7086},
+	{"linux/ppdev.h",	"PPCLAIM",	0x708b},
+	{"linux/ppdev.h",	"PPRELEASE",	0x708c},
+	{"linux/ppdev.h",	"PPYIELD",	0x708d},
+	{"linux/ppdev.h",	"PPFCONTROL",	0x708e},
+	{"linux/ppdev.h",	"PPEXCL",	0x708f},
+	{"linux/ppdev.h",	"PPDATADIR",	0x7090},
+	{"linux/ppdev.h",	"PPNEGOT",	0x7091},
+	{"linux/ppdev.h",	"PPWCTLONIRQ",	0x7092},
+	{"linux/ppdev.h",	"PPCLRIRQ",	0x7093},
+	{"linux/ppdev.h",	"PPSETPHASE",	0x7094},
+	{"linux/ppdev.h",	"PPGETTIME",	0x7095},
+	{"linux/ppdev.h",	"PPSETTIME",	0x7096},
+	{"linux/ppdev.h",	"PPGETMODES",	0x7097},
+	{"linux/ppdev.h",	"PPGETMODE",	0x7098},
+	{"linux/ppdev.h",	"PPGETPHASE",	0x7099},
+	{"linux/ppdev.h",	"PPGETFLAGS",	0x709a},
+	{"linux/ppdev.h",	"PPSETFLAGS",	0x709b},
+	{"linux/serio.h",	"SPIOCSTYPE",	0x7101},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES",	0x7180},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_LIST",	0x7181},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_CHECK",	0x7182},
+	{"linux/telephony.h",	"PHONE_RING",	0x7183},
+	{"linux/telephony.h",	"PHONE_HOOKSTATE",	0x7184},
+	{"linux/telephony.h",	"PHONE_MAXRINGS",	0x7185},
+	{"linux/telephony.h",	"PHONE_RING_CADENCE",	0x7186},
+	{"linux/telephony.h",	"OLD_PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_STOP",	0x7188},
+	{"linux/telephony.h",	"PHONE_REC_CODEC",	0x7189},
+	{"linux/telephony.h",	"PHONE_REC_START",	0x718a},
+	{"linux/telephony.h",	"PHONE_REC_STOP",	0x718b},
+	{"linux/telephony.h",	"PHONE_REC_DEPTH",	0x718c},
+	{"linux/telephony.h",	"PHONE_FRAME",	0x718d},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME",	0x718e},
+	{"linux/telephony.h",	"PHONE_REC_LEVEL",	0x718f},
+	{"linux/telephony.h",	"PHONE_PLAY_CODEC",	0x7190},
+	{"linux/telephony.h",	"PHONE_PLAY_START",	0x7191},
+	{"linux/telephony.h",	"PHONE_PLAY_STOP",	0x7192},
+	{"linux/telephony.h",	"PHONE_PLAY_DEPTH",	0x7193},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME",	0x7194},
+	{"linux/telephony.h",	"PHONE_PLAY_LEVEL",	0x7195},
+	{"linux/telephony.h",	"PHONE_DTMF_READY",	0x7196},
+	{"linux/telephony.h",	"PHONE_GET_DTMF",	0x7197},
+	{"linux/telephony.h",	"PHONE_GET_DTMF_ASCII",	0x7198},
+	{"linux/telephony.h",	"PHONE_DTMF_OOB",	0x7199},
+	{"linux/telephony.h",	"PHONE_EXCEPTION",	0x719a},
+	{"linux/telephony.h",	"PHONE_PLAY_TONE",	0x719b},
+	{"linux/telephony.h",	"PHONE_SET_TONE_ON_TIME",	0x719c},
+	{"linux/telephony.h",	"PHONE_SET_TONE_OFF_TIME",	0x719d},
+	{"linux/telephony.h",	"PHONE_GET_TONE_ON_TIME",	0x719e},
+	{"linux/telephony.h",	"PHONE_GET_TONE_OFF_TIME",	0x719f},
+	{"linux/telephony.h",	"PHONE_GET_TONE_STATE",	0x71a0},
+	{"linux/telephony.h",	"PHONE_BUSY",	0x71a1},
+	{"linux/telephony.h",	"PHONE_RINGBACK",	0x71a2},
+	{"linux/telephony.h",	"PHONE_DIALTONE",	0x71a3},
+	{"linux/telephony.h",	"PHONE_CPT_STOP",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_SET_STATE",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_GET_STATE",	0x71a5},
+	{"linux/telephony.h",	"PHONE_WINK_DURATION",	0x71a6},
+	{"linux/telephony.h",	"PHONE_QUERY_CODEC",	0x71a7},
+	{"linux/telephony.h",	"PHONE_PSTN_LINETEST",	0x71a8},
+	{"linux/telephony.h",	"PHONE_VAD",	0x71a9},
+	{"linux/telephony.h",	"PHONE_WINK",	0x71aa},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_RESET",	0x71c0},
+	{"linux/ixjuser.h",	"IXJCTL_CARDTYPE",	0x71c1},
+	{"linux/ixjuser.h",	"IXJCTL_SERIAL",	0x71c2},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_TYPE",	0x71c3},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_VERSION",	0x71c4},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_IDLE",	0x71c5},
+	{"linux/ixjuser.h",	"IXJCTL_TESTRAM",	0x71c6},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER",	0x71c7},
+	{"linux/ixjuser.h",	"IXJCTL_GET_FILTER_HIST",	0x71c8},
+	{"linux/ixjuser.h",	"IXJCTL_INIT_TONE",	0x71c9},
+	{"linux/ixjuser.h",	"IXJCTL_TONE_CADENCE",	0x71ca},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_START",	0x71cb},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_STOP",	0x71cc},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_GET_LEVEL",	0x71cd},
+	{"linux/ixjuser.h",	"IXJCTL_SET_LED",	0x71ce},
+	{"linux/ixjuser.h",	"IXJCTL_MIXER",	0x71cf},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_COEFF_SET",	0x71d0},
+	{"linux/ixjuser.h",	"IXJCTL_PORT",	0x71d1},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_AGAIN",	0x71d2},
+	{"linux/ixjuser.h",	"IXJCTL_PSTN_LINETEST",	0x71d3},
+	{"linux/ixjuser.h",	"IXJCTL_CID",	0x71d4},
+	{"linux/ixjuser.h",	"IXJCTL_POTS_PSTN",	0x71d5},
+	{"linux/ixjuser.h",	"IXJCTL_FILTER_CADENCE",	0x71d6},
+	{"linux/ixjuser.h",	"IXJCTL_PLAY_CID",	0x71d7},
+	{"linux/ixjuser.h",	"IXJCTL_VMWI",	0x71d8},
+	{"linux/ixjuser.h",	"IXJCTL_CIDCW",	0x71d9},
+	{"linux/ixjuser.h",	"IXJCTL_VERSION",	0x71da},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME_LINEAR",	0x71db},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME_LINEAR",	0x71dc},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER_RAW",	0x71dd},
+	{"linux/ixjuser.h",	"IXJCTL_HZ",	0x71e0},
+	{"linux/ixjuser.h",	"IXJCTL_RATE",	0x71e1},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_READ",	0x71e2},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_WRITTEN",	0x71e3},
+	{"linux/ixjuser.h",	"IXJCTL_READ_WAIT",	0x71e4},
+	{"linux/ixjuser.h",	"IXJCTL_WRITE_WAIT",	0x71e5},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_READ",	0x71e6},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_CLEAR",	0x71e7},
+	{"linux/ixjuser.h",	"IXJCTL_DTMF_PRESCALE",	0x71e8},
+	{"linux/ixjuser.h",	"IXJCTL_SIGCTL",	0x71e9},
+	{"linux/ixjuser.h",	"IXJCTL_SC_RXG",	0x71ea},
+	{"linux/ixjuser.h",	"IXJCTL_SC_TXG",	0x71eb},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_START",	0x71fd},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_STOP",	0x71fe},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_BOTH",	0x7201},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_SHORT",	0x7202},
+	{"asm/sockios.h",	"SIOCATMARK",	0x7307},
+	{"asm/sockios.h",	"SIOCSPGRP",	0x7308},
+	{"asm/sockios.h",	"SIOCGPGRP",	0x7309},
+	{"linux/cdk.h",	"STL_BINTR",	0x7314},
+	{"linux/cdk.h",	"STL_BSTART",	0x7315},
+	{"linux/cdk.h",	"STL_BSTOP",	0x7316},
+	{"linux/cdk.h",	"STL_BRESET",	0x7317},
+	{"linux/cdk.h",	"STL_GETPFLAG",	0x7350},
+	{"linux/cdk.h",	"STL_SETPFLAG",	0x7351},
+	{"asm/sockios.h",	"SIOCGSTAMP",	0x7364},
+	{"asm/ioctls.h",	"TCGETA",	0x7417},
+	{"asm/ioctls.h",	"TCSETA",	0x7418},
+	{"asm/ioctls.h",	"TCSETAW",	0x7419},
+	{"asm/ioctls.h",	"TCSETAF",	0x741c},
+	{"asm/ioctls.h",	"TCSBRK",	0x741d},
+	{"asm/ioctls.h",	"TCXONC",	0x741e},
+	{"asm/ioctls.h",	"TCFLSH",	0x741f},
+	{"linux/if_ppp.h",	"PPPIOCGCHAN",	0x7437},
+	{"linux/if_ppp.h",	"PPPIOCATTCHAN",	0x7438},
+	{"linux/if_ppp.h",	"PPPIOCDISCONN",	0x7439},
+	{"linux/if_ppp.h",	"PPPIOCCONNECT",	0x743a},
+	{"linux/if_ppp.h",	"PPPIOCSMRRU",	0x743b},
+	{"linux/if_ppp.h",	"PPPIOCDETACH",	0x743c},
+	{"linux/if_ppp.h",	"PPPIOCATTACH",	0x743d},
+	{"linux/if_ppp.h",	"PPPIOCNEWUNIT",	0x743e},
+	{"linux/if_ppp.h",	"PPPIOCGIDLE",	0x743f},
+	{"linux/if_ppp.h",	"PPPIOCSDEBUG",	0x7440},
+	{"linux/if_ppp.h",	"PPPIOCGDEBUG",	0x7441},
+	{"linux/if_ppp.h",	"PPPIOCSACTIVE",	0x7446},
+	{"linux/if_ppp.h",	"PPPIOCSPASS",	0x7447},
+	{"linux/if_ppp.h",	"PPPIOCSNPMODE",	0x744b},
+	{"linux/if_ppp.h",	"PPPIOCGNPMODE",	0x744c},
+	{"linux/if_ppp.h",	"PPPIOCSCOMPRESS",	0x744d},
+	{"linux/if_ppp.h",	"PPPIOCXFERUNIT",	0x744e},
+	{"linux/if_ppp.h",	"PPPIOCSXASYNCMAP",	0x744f},
+	{"linux/if_ppp.h",	"PPPIOCGXASYNCMAP",	0x7450},
+	{"linux/if_ppp.h",	"PPPIOCSMAXCID",	0x7451},
+	{"linux/if_ppp.h",	"PPPIOCSMRU",	0x7452},
+	{"linux/if_ppp.h",	"PPPIOCGMRU",	0x7453},
+	{"linux/if_ppp.h",	"PPPIOCSRASYNCMAP",	0x7454},
+	{"linux/if_ppp.h",	"PPPIOCGRASYNCMAP",	0x7455},
+	{"linux/if_ppp.h",	"PPPIOCGUNIT",	0x7456},
+	{"linux/if_ppp.h",	"PPPIOCSASYNCMAP",	0x7457},
+	{"linux/if_ppp.h",	"PPPIOCGASYNCMAP",	0x7458},
+	{"linux/if_ppp.h",	"PPPIOCSFLAGS",	0x7459},
+	{"linux/if_ppp.h",	"PPPIOCGFLAGS",	0x745a},
+	{"linux/jffs.h",	"JFFS_PRINT_HASH",	0x745a},
+	{"linux/jffs.h",	"JFFS_PRINT_TREE",	0x745b},
+	{"linux/jffs.h",	"JFFS_GET_STATUS",	0x745c},
+	{"asm/ioctls.h",	"TIOCSWINSZ",	0x7467},
+	{"asm/ioctls.h",	"TIOCGWINSZ",	0x7468},
+	{"asm/ioctls.h",	"TIOCSTART",	0x746e},
+	{"asm/ioctls.h",	"TIOCSTOP",	0x746f},
+	{"asm/ioctls.h",	"TIOCOUTQ",	0x7473},
+	{"asm/ioctls.h",	"TIOCSPGRP",	0x7476},
+	{"asm/ioctls.h",	"TIOCGPGRP",	0x7477},
+	{"linux/isdn_ppp.h",	"PPPIOCGCALLINFO",	0x7480},
+	{"linux/isdn_ppp.h",	"PPPIOCBUNDLE",	0x7481},
+	{"linux/isdn_ppp.h",	"PPPIOCGMPFLAGS",	0x7482},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPFLAGS",	0x7483},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMTU",	0x7484},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMRU",	0x7485},
+	{"linux/isdn_ppp.h",	"PPPIOCGCOMPRESSORS",	0x7486},
+	{"linux/isdn_ppp.h",	"PPPIOCSCOMPRESSOR",	0x7487},
+	{"linux/isdn_ppp.h",	"PPPIOCGIFNAME",	0x7488},
+	{"linux/toshiba.h",	"TOSH_SMM",	0x7490},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID",	0x7501},
+	{"linux/smb_fs.h",	"SMB_IOC_NEWCONN",	0x7502},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID32",	0x7503},
+	{"linux/sonypi.h",	"SONYPI_IOCGBRT",	0x7600},
+	{"linux/sonypi.h",	"SONYPI_IOCSBRT",	0x7600},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETVERSION",	0x7601},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION_OLD",	0x7601},
+	{"linux/videodev.h",	"VIDIOCGCAP",	0x7601},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETVERSION",	0x7602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION_OLD",	0x7602},
+	{"linux/videodev.h",	"VIDIOCGCHAN",	0x7602},
+	{"linux/videodev.h",	"VIDIOCSCHAN",	0x7603},
+	{"linux/videodev.h",	"VIDIOCGTUNER",	0x7604},
+	{"linux/videodev.h",	"VIDIOCSTUNER",	0x7605},
+	{"linux/videodev.h",	"VIDIOCGPICT",	0x7606},
+	{"linux/videodev.h",	"VIDIOCSPICT",	0x7607},
+	{"linux/videodev.h",	"VIDIOCCAPTURE",	0x7608},
+	{"linux/videodev.h",	"VIDIOCGWIN",	0x7609},
+	{"linux/videodev.h",	"VIDIOCSWIN",	0x760a},
+	{"linux/videodev.h",	"VIDIOCGFBUF",	0x760b},
+	{"linux/videodev.h",	"VIDIOCSFBUF",	0x760c},
+	{"linux/videodev.h",	"VIDIOCKEY",	0x760d},
+	{"linux/videodev.h",	"VIDIOCGFREQ",	0x760e},
+	{"linux/videodev.h",	"VIDIOCSFREQ",	0x760f},
+	{"linux/videodev.h",	"VIDIOCGAUDIO",	0x7610},
+	{"linux/videodev.h",	"VIDIOCSAUDIO",	0x7611},
+	{"linux/videodev.h",	"VIDIOCSYNC",	0x7612},
+	{"linux/videodev.h",	"VIDIOCMCAPTURE",	0x7613},
+	{"linux/videodev.h",	"VIDIOCGMBUF",	0x7614},
+	{"linux/videodev.h",	"VIDIOCGUNIT",	0x7615},
+	{"linux/videodev.h",	"VIDIOCGCAPTURE",	0x7616},
+	{"linux/videodev.h",	"VIDIOCSCAPTURE",	0x7617},
+	{"linux/videodev.h",	"VIDIOCSPLAYMODE",	0x7618},
+	{"linux/videodev.h",	"VIDIOCSWRITEMODE",	0x7619},
+	{"linux/videodev.h",	"VIDIOCGPLAYINFO",	0x761a},
+	{"linux/videodev.h",	"VIDIOCSMICROCODE",	0x761b},
+	{"linux/videodev.h",	"VIDIOCGVBIFMT",	0x761c},
+	{"linux/videodev.h",	"VIDIOCSVBIFMT",	0x761d},
+	{"linux/meye.h",	"MEYEIOC_G_PARAMS",	0x76c0},
+	{"linux/meye.h",	"MEYEIOC_S_PARAMS",	0x76c1},
+	{"linux/meye.h",	"MEYEIOC_QBUF_CAPT",	0x76c2},
+	{"linux/meye.h",	"MEYEIOC_SYNC",	0x76c3},
+	{"linux/meye.h",	"MEYEIOC_STILLCAPT",	0x76c4},
+	{"linux/meye.h",	"MEYEIOC_STILLJCAPT",	0x76c5},
+	{"linux/dn.h",	"SIOCSNETADDR",	0x89e0},
+	{"linux/dn.h",	"OSIOCSNETADDR",	0x89e0},
+	{"linux/dn.h",	"SIOCGNETADDR",	0x89e1},
+	{"linux/dn.h",	"OSIOCGNETADDR",	0x89e1},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_READY",	0x9360},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_FAIL",	0x9361},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_CATATONIC",	0x9362},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_PROTOVER",	0x9363},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_SETTIMEOUT",	0x9364},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_EXPIRE",	0x9365},
+	{"linux/auto_fs4.h",	"AUTOFS_IOC_EXPIRE_MULTI",	0x9366},
+	{"linux/nbd.h",	"NBD_SET_SOCK",	0xab00},
+	{"linux/nbd.h",	"NBD_SET_BLKSIZE",	0xab01},
+	{"linux/nbd.h",	"NBD_SET_SIZE",	0xab02},
+	{"linux/nbd.h",	"NBD_DO_IT",	0xab03},
+	{"linux/nbd.h",	"NBD_CLEAR_SOCK",	0xab04},
+	{"linux/nbd.h",	"NBD_CLEAR_QUE",	0xab05},
+	{"linux/nbd.h",	"NBD_PRINT_DEBUG",	0xab06},
+	{"linux/nbd.h",	"NBD_SET_SIZE_BLOCKS",	0xab07},
+	{"linux/nbd.h",	"NBD_DISCONNECT",	0xab08},
+	{"linux/raw.h",	"RAW_SETBIND",	0xac00},
+	{"linux/raw.h",	"RAW_GETBIND",	0xac01},
+	{"linux/if_pppox.h",	"PPPOEIOCSFWD",	0xb100},
+	{"linux/if_pppox.h",	"PPPOEIOCDFWD",	0xb101},
+	{"linux/reiserfs_fs.h",	"REISERFS_IOC_UNPACK",	0xcd01},
+	{"linux/lvm.h",	"VG_CREATE_OLD",	0xfe00},
+	{"linux/lvm.h",	"VG_REMOVE",	0xfe01},
+	{"linux/lvm.h",	"VG_EXTEND",	0xfe03},
+	{"linux/lvm.h",	"VG_REDUCE",	0xfe04},
+	{"linux/lvm.h",	"VG_STATUS",	0xfe05},
+	{"linux/lvm.h",	"VG_STATUS_GET_COUNT",	0xfe06},
+	{"linux/lvm.h",	"VG_STATUS_GET_NAMELIST",	0xfe07},
+	{"linux/lvm.h",	"VG_SET_EXTENDABLE",	0xfe08},
+	{"linux/lvm.h",	"VG_RENAME",	0xfe09},
+	{"linux/lvm.h",	"VG_CREATE",	0xfe0a},
+	{"linux/lvm.h",	"LV_CREATE",	0xfe20},
+	{"linux/lvm.h",	"LV_REMOVE",	0xfe21},
+	{"linux/lvm.h",	"LV_ACTIVATE",	0xfe22},
+	{"linux/lvm.h",	"LV_DEACTIVATE",	0xfe23},
+	{"linux/lvm.h",	"LV_EXTEND",	0xfe24},
+	{"linux/lvm.h",	"LV_REDUCE",	0xfe25},
+	{"linux/lvm.h",	"LV_STATUS_BYNAME",	0xfe26},
+	{"linux/lvm.h",	"LV_STATUS_BYINDEX",	0xfe27},
+	{"linux/lvm.h",	"LV_SET_ACCESS",	0xfe28},
+	{"linux/lvm.h",	"LV_SET_ALLOCATION",	0xfe29},
+	{"linux/lvm.h",	"LV_SET_STATUS",	0xfe2a},
+	{"linux/lvm.h",	"LE_REMAP",	0xfe2b},
+	{"linux/lvm.h",	"LV_SNAPSHOT_USE_RATE",	0xfe2c},
+	{"linux/lvm.h",	"LV_STATUS_BYDEV",	0xfe2e},
+	{"linux/lvm.h",	"LV_RENAME",	0xfe2f},
+	{"linux/lvm.h",	"LV_BMAP",	0xfe30},
+	{"linux/lvm.h",	"PV_STATUS",	0xfe40},
+	{"linux/lvm.h",	"PV_CHANGE",	0xfe41},
+	{"linux/lvm.h",	"PV_FLUSH",	0xfe42},
+	{"linux/lvm.h",	"PE_LOCK_UNLOCK",	0xfe50},
+	{"linux/lvm.h",	"LVM_GET_IOP_VERSION",	0xfe98},
+	{"linux/lvm.h",	"LVM_RESET",	0xfe99},
+	{"linux/lvm.h",	"LVM_LOCK_LVM",	0xff00},
diff --git a/strace-4.5.20/linux/sh/syscallent.h b/strace-4.5.20/linux/sh/syscallent.h
new file mode 100644
index 0000000..2291131
--- /dev/null
+++ b/strace-4.5.20/linux/sh/syscallent.h
@@ -0,0 +1,488 @@
+/*
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 2000 PocketPenguins Inc.  Linux for Hitachi SuperH
+ *                    port by Greg Banks <gbanks@pocketpenguins.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+	{ 0,	0,	sys_restart_syscall,	"restart_syscall"}, /* 0 */
+	{ 1,	TP,	sys_exit,		"_exit"		}, /* 1 */
+	{ 0,	TP,	sys_fork,		"fork"		}, /* 2 */
+	{ 3,	TD,	sys_read,		"read"		}, /* 3 */
+	{ 3,	TD,	sys_write,		"write"		}, /* 4 */
+	{ 3,	TD|TF,	sys_open,		"open"		}, /* 5 */
+	{ 1,	TD,	sys_close,		"close"		}, /* 6 */
+	{ 3,	TP,	sys_waitpid,		"waitpid"	}, /* 7 */
+	{ 2,	TD|TF,	sys_creat,		"creat"		}, /* 8 */
+	{ 2,	TF,	sys_link,		"link"		}, /* 9 */
+	{ 1,	TF,	sys_unlink,		"unlink"	}, /* 10 */
+	{ 3,	TF|TP,	sys_execve,		"execve"	}, /* 11 */
+	{ 1,	TF,	sys_chdir,		"chdir"		}, /* 12 */
+	{ 1,	0,	sys_time,		"time"		}, /* 13 */
+	{ 3,	TF,	sys_mknod,		"mknod"		}, /* 14 */
+	{ 2,	TF,	sys_chmod,		"chmod"		}, /* 15 */
+	{ 3,	TF,	sys_chown,		"lchown"		}, /* 16 */
+	{ 0,	0,	sys_break,		"break"		}, /* 17 */
+	{ 2,	TF,	sys_oldstat,		"oldstat"	}, /* 18 */
+	{ 3,	TD,	sys_lseek,		"lseek"		}, /* 19 */
+	{ 0,	0,	sys_getpid,		"getpid"	}, /* 20 */
+	{ 5,	TF,	sys_mount,		"mount"		}, /* 21 */
+	{ 1,	TF,	sys_umount,		"oldumount"	}, /* 22 */
+	{ 1,	0,	sys_setuid,		"setuid"	}, /* 23 */
+	{ 0,	0,	sys_getuid,		"getuid"	}, /* 24 */
+	{ 1,	0,	sys_stime,		"stime"		}, /* 25 */
+	{ 4,	0,	sys_ptrace,		"ptrace"	}, /* 26 */
+	{ 1,	0,	sys_alarm,		"alarm"		}, /* 27 */
+	{ 2,	TD,	sys_oldfstat,		"oldfstat"	}, /* 28 */
+	{ 0,	TS,	sys_pause,		"pause"		}, /* 29 */
+	{ 2,	TF,	sys_utime,		"utime"		}, /* 30 */
+	{ 2,	0,	sys_stty,		"stty"		}, /* 31 */
+	{ 2,	0,	sys_gtty,		"gtty"		}, /* 32 */
+	{ 2,	TF,	sys_access,		"access"	}, /* 33 */
+	{ 1,	0,	sys_nice,		"nice"		}, /* 34 */
+	{ 0,	0,	sys_ftime,		"ftime"		}, /* 35 */
+	{ 0,	0,	sys_sync,		"sync"		}, /* 36 */
+	{ 2,	TS,	sys_kill,		"kill"		}, /* 37 */
+	{ 2,	TF,	sys_rename,		"rename"	}, /* 38 */
+	{ 2,	TF,	sys_mkdir,		"mkdir"		}, /* 39 */
+	{ 1,	TF,	sys_rmdir,		"rmdir"		}, /* 40 */
+	{ 1,	TD,	sys_dup,		"dup"		}, /* 41 */
+	{ 1,	TD,	sys_pipe,		"pipe"		}, /* 42 */
+	{ 1,	0,	sys_times,		"times"		}, /* 43 */
+	{ 0,	0,	sys_prof,		"prof"		}, /* 44 */
+	{ 1,	0,	sys_brk,		"brk"		}, /* 45 */
+	{ 1,	0,	sys_setgid,		"setgid"	}, /* 46 */
+	{ 0,	0,	sys_getgid,		"getgid"	}, /* 47 */
+	{ 3,	TS,	sys_signal,		"signal"	}, /* 48 */
+	{ 0,	0,	sys_geteuid,		"geteuid"	}, /* 49 */
+	{ 0,	0,	sys_getegid,		"getegid"	}, /* 50 */
+	{ 1,	TF,	sys_acct,		"acct"		}, /* 51 */
+	{ 2,	TF,	sys_umount2,		"umount"	}, /* 52 */
+	{ 0,	0,	sys_lock,		"lock"		}, /* 53 */
+	{ 3,	TD,	sys_ioctl,		"ioctl"		}, /* 54 */
+	{ 3,	TD,	sys_fcntl,		"fcntl"		}, /* 55 */
+	{ 0,	0,	sys_mpx,		"mpx"		}, /* 56 */
+	{ 2,	0,	sys_setpgid,		"setpgid"	}, /* 57 */
+	{ 2,	0,	sys_ulimit,		"ulimit"	}, /* 58 */
+	{ 1,	0,	sys_oldolduname,	"oldolduname"	}, /* 59 */
+	{ 1,	0,	sys_umask,		"umask"		}, /* 60 */
+	{ 1,	TF,	sys_chroot,		"chroot"	}, /* 61 */
+	{ 2,	0,	sys_ustat,		"ustat"		}, /* 62 */
+	{ 2,	TD,	sys_dup2,		"dup2"		}, /* 63 */
+	{ 0,	0,	sys_getppid,		"getppid"	}, /* 64 */
+	{ 0,	0,	sys_getpgrp,		"getpgrp"	}, /* 65 */
+	{ 0,	0,	sys_setsid,		"setsid"	}, /* 66 */
+	{ 3,	TS,	sys_sigaction,		"sigaction"	}, /* 67 */
+	{ 0,	TS,	sys_siggetmask,		"siggetmask"	}, /* 68 */
+	{ 1,	TS,	sys_sigsetmask,		"sigsetmask"	}, /* 69 */
+	{ 2,	0,	sys_setreuid,		"setreuid"	}, /* 70 */
+	{ 2,	0,	sys_setregid,		"setregid"	}, /* 71 */
+	{ 3,	TS,	sys_sigsuspend,		"sigsuspend"	}, /* 72 */
+	{ 1,	TS,	sys_sigpending,		"sigpending"	}, /* 73 */
+	{ 2,	0,	sys_sethostname,	"sethostname"	}, /* 74 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit"	}, /* 75 */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"	}, /* 76 */
+	{ 2,	0,	sys_getrusage,		"getrusage"	}, /* 77 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday"	}, /* 78 */
+	{ 2,	0,	sys_settimeofday,	"settimeofday"	}, /* 79 */
+	{ 2,	0,	sys_getgroups,		"getgroups"	}, /* 80 */
+	{ 2,	0,	sys_setgroups,		"setgroups"	}, /* 81 */
+	{ 1,	TD,	sys_oldselect,		"oldselect"	}, /* 82 */
+	{ 2,	TF,	sys_symlink,		"symlink"	}, /* 83 */
+	{ 2,	TF,	sys_oldlstat,		"oldlstat"	}, /* 84 */
+	{ 3,	TF,	sys_readlink,		"readlink"	}, /* 85 */
+	{ 1,	TF,	sys_uselib,		"uselib"	}, /* 86 */
+	{ 1,	TF,	sys_swapon,		"swapon"	}, /* 87 */
+	{ 3,	0,	sys_reboot,		"reboot"	}, /* 88 */
+	{ 3,	TD,	sys_readdir,		"readdir"	}, /* 89 */
+	{ 6,	TD,	sys_old_mmap,		"old_mmap"   	}, /* 90 */
+	{ 2,	0,	sys_munmap,		"munmap"	}, /* 91 */
+	{ 2,	TF,	sys_truncate,		"truncate"	}, /* 92 */
+	{ 2,	TD,	sys_ftruncate,		"ftruncate"	}, /* 93 */
+	{ 2,	TD,	sys_fchmod,		"fchmod"	}, /* 94 */
+	{ 3,	TD,	sys_fchown,		"fchown"	}, /* 95 */
+	{ 2,	0,	sys_getpriority,	"getpriority"	}, /* 96 */
+	{ 3,	0,	sys_setpriority,	"setpriority"	}, /* 97 */
+	{ 4,	0,	sys_profil,		"profil"	}, /* 98 */
+	{ 2,	TF,	sys_statfs,		"statfs"	}, /* 99 */
+	{ 2,	TD,	sys_fstatfs,		"fstatfs"	}, /* 100 */
+	{ 3,	0,	sys_ioperm,		"ioperm"	}, /* 101 */
+	{ 2,	TD,	sys_socketcall,		"socketcall"	}, /* 102 */
+	{ 3,	0,	sys_syslog,		"syslog"	}, /* 103 */
+	{ 3,	0,	sys_setitimer,		"setitimer"	}, /* 104 */
+	{ 2,	0,	sys_getitimer,		"getitimer"	}, /* 105 */
+	{ 2,	TF,	sys_stat,		"stat"		}, /* 106 */
+	{ 2,	TF,	sys_lstat,		"lstat"		}, /* 107 */
+	{ 2,	TD,	sys_fstat,		"fstat"		}, /* 108 */
+	{ 1,	0,	sys_olduname,		"olduname"	}, /* 109 */
+	{ 1,	0,	sys_iopl,		"iopl"		}, /* 110 */
+	{ 0,	0,	sys_vhangup,		"vhangup"	}, /* 111 */
+	{ 0,	0,	sys_idle,		"idle"		}, /* 112 */
+	{ 1,	0,	sys_vm86old,		"vm86old"	}, /* 113 */
+	{ 4,	TP,	sys_wait4,		"wait4"		}, /* 114 */
+	{ 1,	0,	sys_swapoff,		"swapoff"	}, /* 115 */
+	{ 1,	0,	sys_sysinfo,		"sysinfo"	}, /* 116 */
+	{ 5,	0,	sys_ipc,		"ipc"		}, /* 117 */
+	{ 1,	TD,	sys_fsync,		"fsync"		}, /* 118 */
+	{ 1,	TS,	sys_sigreturn,		"sigreturn"	}, /* 119 */
+	{ 5,	TP,	sys_clone,		"clone"		}, /* 120 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname"	}, /* 121 */
+	{ 1,	0,	sys_uname,		"uname"		}, /* 122 */
+	{ 3,	0,	printargs,		"cacheflush"	}, /* 123 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex"	}, /* 124 */
+	{ 3,	0,	sys_mprotect,		"mprotect"	}, /* 125 */
+	{ 3,	TS,	sys_sigprocmask,	"sigprocmask"	}, /* 126 */
+	{ 2,	0,	sys_create_module,	"create_module"	}, /* 127 */
+	{ 3,	0,	sys_init_module,	"init_module"	}, /* 128 */
+	{ 2,	0,	sys_delete_module,	"delete_module"	}, /* 129 */
+	{ 1,	0,	sys_get_kernel_syms,	"get_kernel_syms"}, /* 130 */
+	{ 4,	0,	sys_quotactl,		"quotactl"	}, /* 131 */
+	{ 1,	0,	sys_getpgid,		"getpgid"	}, /* 132 */
+	{ 1,	TD,	sys_fchdir,		"fchdir"	}, /* 133 */
+	{ 0,	0,	sys_bdflush,		"bdflush"	}, /* 134 */
+	{ 3,	0,	sys_sysfs,		"sysfs"		}, /* 135 */
+	{ 1,	0,	sys_personality,	"personality"	}, /* 136 */
+	{ 5,	0,	sys_afs_syscall,	"afs_syscall"	}, /* 137 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid"	}, /* 138 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid"	}, /* 139 */
+	{ 5,	TD,	sys_llseek,		"_llseek"	}, /* 140 */
+	{ 3,	TD,	sys_getdents,		"getdents"	}, /* 141 */
+	{ 5,	TD,	sys_select,		"select"	}, /* 142 */
+	{ 2,	TD,	sys_flock,		"flock"		}, /* 143 */
+	{ 3,	0,	sys_msync,		"msync"		}, /* 144 */
+	{ 3,	TD,	sys_readv,		"readv"		}, /* 145 */
+	{ 3,	TD,	sys_writev,		"writev"	}, /* 146 */
+	{ 1,	0,	sys_getsid,		"getsid"	}, /* 147 */
+	{ 1,	TD,	sys_fdatasync,		"fdatasync"	}, /* 148 */
+	{ 1,	0,	sys_sysctl,		"_sysctl"	}, /* 149 */
+	{ 1,	0,	sys_mlock,		"mlock"		}, /* 150 */
+	{ 2,	0,	sys_munlock,		"munlock"	}, /* 151 */
+	{ 2,	0,	sys_mlockall,		"mlockall"	}, /* 152 */
+	{ 1,	0,	sys_munlockall,		"munlockall"	}, /* 153 */
+	{ 0,	0,	sys_sched_setparam,	"sched_setparam"}, /* 154 */
+	{ 2,	0,	sys_sched_getparam,	"sched_getparam"}, /* 155 */
+	{ 3,	0,	sys_sched_setscheduler,	"sched_setscheduler"}, /* 156 */
+	{ 1,	0,	sys_sched_getscheduler,	"sched_getscheduler"}, /* 157 */
+	{ 0,	0,	sys_sched_yield,	"sched_yield"}, /* 158 */
+	{ 1,	0,	sys_sched_get_priority_max,"sched_get_priority_max"}, /* 159 */
+	{ 1,	0,	sys_sched_get_priority_min,"sched_get_priority_min"}, /* 160 */
+	{ 2,	0,	sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 161 */
+	{ 2,	0,	sys_nanosleep,		"nanosleep"	}, /* 162 */
+	{ 5,	0,	sys_mremap,		"mremap"	}, /* 163 */
+	{ 3,	0,	sys_setresuid,		"setresuid"	}, /* 164 */
+	{ 3,	0,	sys_getresuid,		"getresuid"	}, /* 165 */
+	{ 5,	0,	printargs,		"vm86"		}, /* 166 */
+	{ 5,	0,	sys_query_module,	"query_module"	}, /* 167 */
+	{ 3,	TD,	sys_poll,		"poll"		}, /* 168 */
+	{ 3,	0,	printargs,		"nfsservctl"	}, /* 169 */
+	{ 3,	0,	sys_setresgid,		"setresgid"	}, /* 170 */
+	{ 3,	0,	sys_getresgid,		"getresgid"	}, /* 171 */
+	{ 5,	0,	sys_prctl,		"prctl"		}, /* 172 */
+	{ 1,	TS,	printargs,		"rt_sigreturn"	}, /* 173 */
+	{ 4,	TS,	sys_rt_sigaction,	"rt_sigaction"  }, /* 174 */
+	{ 4,	TS,	sys_rt_sigprocmask,	"rt_sigprocmask"}, /* 175 */
+	{ 2,	TS,	sys_rt_sigpending,	"rt_sigpending"	}, /* 176 */
+	{ 4,	TS,	sys_rt_sigtimedwait,	"rt_sigtimedwait"}, /* 177 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,    "rt_sigqueueinfo"}, /* 178 */
+	{ 2,	TS,	sys_rt_sigsuspend,	"rt_sigsuspend"	}, /* 179 */
+
+	{ 6,	TD,	sys_pread,		"pread"		}, /* 180 */
+	{ 6,	TD,	sys_pwrite,		"pwrite"	}, /* 181 */
+	{ 3,	TF,	sys_chown,		"chown"		}, /* 182 */
+	{ 2,	0,	sys_getcwd,		"getcwd"	}, /* 183 */
+	{ 2,	0,	sys_capget,		"capget"	}, /* 184 */
+	{ 2,	0,	sys_capset,		"capset"	}, /* 185 */
+	{ 2,	TS,	sys_sigaltstack,	"sigaltstack"	}, /* 186 */
+	{ 4,	TD|TN,	sys_sendfile,		"sendfile"	}, /* 187 */
+	{ 5,	0,	printargs,		"SYS_188"	}, /* 188 */
+	{ 5,	0,	printargs,		"SYS_189"	}, /* 189 */
+	{ 0,	TP,	sys_vfork,		"vfork"		}, /* 190 */
+	{ 5,	0,	printargs,		"getrlimit"	}, /* 191 */
+	{ 6,	0,	sys_mmap,		"mmap2"		}, /* 192 */
+	{ 5,	0,	sys_truncate64,		"truncate64"	}, /* 193 */
+	{ 5,	TD,	sys_ftruncate64,	"ftruncate64"	}, /* 194 */
+	{ 2,	TF,	sys_stat64,		"stat64"	}, /* 195 */
+	{ 2,	TF,	sys_lstat64,		"lstat64"	}, /* 196 */
+	{ 2,	TD,	sys_fstat64,		"fstat64"	}, /* 197 */
+/*TODO*/{ 3,	TF,	printargs,		"lchown32"	}, /* 198 */
+/*TODO*/{ 0,	0,	printargs,		"getuid32"	}, /* 199 */
+
+	{ 0,	0,	printargs,		"getgid32"	}, /* 200 */
+	{ 0,	0,	printargs,		"geteuid32"	}, /* 201 */
+	{ 0,	0,	printargs,		"getegid32"	}, /* 202 */
+	{ 2,	0,	printargs,		"setreuid32"	}, /* 203 */
+	{ 2,	0,	printargs,		"setregid32"	}, /* 204 */
+	{ 2,	0,	sys_getgroups32,	"getgroups32"	}, /* 205 */
+	{ 2,	0,	sys_setgroups32,	"setgroups32"	}, /* 206 */
+	{ 3,	0,	printargs,		"fchown32"	}, /* 207 */
+	{ 3,	0,	printargs,		"setresuid32"	}, /* 208 */
+	{ 3,	0,	printargs,		"getresuid32"	}, /* 209 */
+	{ 3,	0,	printargs,		"setresgid32"	}, /* 210 */
+	{ 3,	0,	printargs,		"getsetgid32"	}, /* 211 */
+	{ 3,	TF,	printargs,		"chown32"	}, /* 212 */
+	{ 1,	0,	printargs,		"setuid32"	}, /* 213 */
+	{ 1,	0,	printargs,		"setgid32"	}, /* 214 */
+	{ 1,	0,	printargs,		"setfsuid32"	}, /* 215 */
+	{ 1,	0,	printargs,		"setfsgid32"	}, /* 216 */
+	{ 2,	TF,	sys_pivotroot,		"pivot_root"	}, /* 217 */
+	{ 3,	0,	printargs,		"mincore"	}, /* 218 */
+	{ 3,	0,	sys_madvise,		"madvise"	}, /* 219 */
+	{ 3,	TD,	sys_getdents64,		"getdents64"	}, /* 220 */
+	{ 3,	TD,	sys_fcntl,		"fcntl64"	}, /* 221 */
+	{ 4,	0,	printargs,		"SYS_222"	}, /* 222 */
+	{ 4,	0,	printargs,		"SYS_223"	}, /* 223 */
+	{ 4,	0,	printargs,		"gettid"	}, /* 224 */
+	{ 5,	TD,	sys_readahead,		"readahead"	}, /* 225 */
+	{ 5,	TF,	sys_setxattr,		"setxattr"	}, /* 226 */
+	{ 5,	TF,	sys_setxattr,		"lsetxattr"	}, /* 227 */
+	{ 5,	TD,	sys_fsetxattr,		"fsetxattr"	}, /* 228 */
+	{ 4,	TF,	sys_getxattr,		"getxattr"	}, /* 229 */
+	{ 4,	TF,	sys_getxattr,		"lgetxattr"	}, /* 230 */
+	{ 4,	0,	sys_fgetxattr,		"fgetxattr"	}, /* 231 */
+	{ 3,	TF,	sys_listxattr,		"listxattr"	}, /* 232 */
+	{ 3,	TF,	sys_listxattr,		"llistxattr"	}, /* 233 */
+	{ 3,	0,	sys_flistxattr,		"flistxattr"	}, /* 234 */
+	{ 2,	TF,	sys_removexattr,	"removexattr"	}, /* 235 */
+	{ 2,	TF,	sys_removexattr,	"lremovexattr"	}, /* 236 */
+	{ 2,	TD,	sys_fremovexattr,	"fremovexattr"	}, /* 237 */
+	{ 2,	TD,	sys_kill,		"tkill"		}, /* 238 */
+	{ 5,	TD|TN,	sys_sendfile64,		"sendfile64"	}, /* 239 */
+	{ 6,	0,	sys_futex,		"futex"		}, /* 240 */
+	{ 3,	0,	sys_sched_setaffinity,	"sched_setaffinity"}, /* 241 */
+	{ 3,	0,	sys_sched_getaffinity,	"sched_getaffinity"}, /* 242 */
+	{ 0,	0,	printargs,		"SYS_243"	}, /* 243 */
+	{ 0,	0,	printargs,		"SYS_244"	}, /* 244 */
+	{ 2,	0,	sys_io_setup,		"io_setup"	}, /* 245 */
+	{ 1,	0,	sys_io_destroy,		"io_destroy"	}, /* 246 */
+	{ 5,	0,	sys_io_getevents,	"io_getevents"	}, /* 247 */
+	{ 3,	0,	sys_io_submit,		"io_submit"	}, /* 248 */
+	{ 3,	0,	sys_io_cancel,		"io_cancel"	}, /* 249 */
+	{ 5,	0,	sys_fadvise64,		"fadvise64"	}, /* 250 */
+	{ 0,	0,	printargs,		"SYS_251"	}, /* 251 */
+	{ 1,	TP,	sys_exit,		"exit_group"	}, /* 252 */
+	{ 4,	0,	printargs,		"lookup_dcookie"}, /* 253 */
+	{ 1,	0,	sys_epoll_create,	"epoll_create"	}, /* 254 */
+	{ 4,	TD,	sys_epoll_ctl,		"epoll_ctl"	}, /* 255 */
+	{ 3,	TD,	sys_epoll_wait,		"epoll_wait"	}, /* 256 */
+	{ 5,	0,	sys_remap_file_pages,	"remap_file_pages"}, /* 257 */
+	{ 1,	0,	printargs,		"set_tid_address"}, /* 258 */
+	{ 3,	0,	sys_timer_create,	"timer_create"	}, /* 259 */
+	{ 4,	0,	sys_timer_settime,	"timer_settime"	}, /* 260 */
+	{ 2,	0,	sys_timer_gettime,	"timer_gettime"	}, /* 261 */
+	{ 1,	0,	sys_timer_getoverrun,	"timer_getoverrun"}, /* 262 */
+	{ 1,	0,	sys_timer_delete,	"timer_delete"	}, /* 263 */
+	{ 2,	0,	sys_clock_settime,	"clock_settime"	}, /* 264 */
+	{ 2,	0,	sys_clock_gettime,	"clock_gettime"	}, /* 265 */
+	{ 2,	0,	sys_clock_getres,	"clock_getres"	}, /* 266 */
+	{ 4,	0,	sys_clock_nanosleep,	"clock_nanosleep"}, /* 267 */
+	{ 3,	TF,	sys_statfs64,		"statfs64"	}, /* 268 */
+	{ 2,	TD,	sys_fstatfs64,		"fstatfs64"	}, /* 269 */
+	{ 3,	TS,	sys_tgkill,		"tgkill"	}, /* 270 */
+	{ 2,	TF,	sys_utimes,		"utimes"	}, /* 271 */
+	{ 6,	0,	sys_fadvise64_64,	"fadvise64_64"	}, /* 272 */
+	{ 0,	0,	printargs,		"SYS_273"	}, /* 273 */
+	{ 4,	0,	sys_mbind,		"mbind"		}, /* 274 */
+	{ 5,	0,	sys_get_mempolicy,	"get_mempolicy"	}, /* 275 */
+	{ 3,	0,	sys_set_mempolicy,	"set_mempolicy"	}, /* 276 */
+	{ 4,	0,	sys_mq_open,		"mq_open"	}, /* 277 */
+	{ 1,	0,	sys_mq_unlink,		"mq_unlink"	}, /* 278 */
+	{ 5,	0,	sys_mq_timedsend,	"mq_timedsend"	}, /* 279 */
+	{ 5,	0,	sys_mq_timedreceive,	"mq_timedreceive"}, /* 280 */
+	{ 2,	0,	sys_mq_notify,		"mq_notify"	}, /* 281 */
+	{ 3,	0,	sys_mq_getsetattr,	"mq_getsetattr"	}, /* 282 */
+	{ 5,	0,	printargs,		"kexec_load"	}, /* 283 */
+	{ 5,	TP,	sys_waitid,		"waitid"	}, /* 284 */
+	{ 5,	0,	printargs,		"add_key"	}, /* 285 */
+	{ 4,	0,	printargs,		"request_key"	}, /* 286 */
+	{ 5,	0,	printargs,		"keyctl"	}, /* 287 */
+	{ 3,	0,	printargs,		"ioprio_set"	}, /* 288 */
+	{ 2,	0,	printargs,		"ioprio_get"	}, /* 289 */
+	{ 0,	TD,	printargs,		"inotify_init"	}, /* 290 */
+	{ 3,	TD,	sys_inotify_add_watch,	"inotify_add_watch"}, /* 291 */
+	{ 2,	TD,	sys_inotify_rm_watch,	"inotify_rm_watch"}, /* 292 */
+	{ 5,	0,	printargs,		"SYS_293"	}, /* 293 */
+	{ 4,	0,	printargs,		"migrate_pages"	}, /* 294 */
+	{ 4,	TD|TF,	sys_openat,		"openat"	}, /* 295 */
+	{ 3,	TD|TF,	sys_mkdirat,		"mkdirat"	}, /* 296 */
+	{ 4,	TD|TF,	sys_mknodat,		"mknodat"	}, /* 297 */
+	{ 5,	TD|TF,	sys_fchownat,		"fchownat"	}, /* 298 */
+	{ 3,	TD|TF,	sys_futimesat,		"futimesat"	}, /* 299 */
+	{ 4,	TD|TD,	sys_newfstatat,		"newfstatat"	}, /* 300 */
+	{ 3,	TD|TF,	sys_unlinkat,		"unlinkat"	}, /* 301 */
+	{ 4,	TD|TF,	sys_renameat,		"renameat"	}, /* 302 */
+	{ 5,	TD|TF,	sys_linkat,		"linkat"	}, /* 303 */
+	{ 3,	TD|TF,	sys_symlinkat,		"symlinkat"	}, /* 304 */
+	{ 4,	TD|TF,	sys_readlinkat,		"readlinkat"	}, /* 305 */
+	{ 3,	TD|TF,	sys_fchmodat,		"fchmodat"	}, /* 306 */
+	{ 3,	TD|TF,	sys_faccessat,		"faccessat"	}, /* 307 */
+	{ 6,	TD,	sys_pselect6,		"pselect6"	}, /* 308 */
+	{ 5,	TD,	sys_ppoll,		"ppoll"		}, /* 309 */
+	{ 1,	TP,	sys_unshare,		"unshare"	}, /* 310 */
+	{ 2,	0,	printargs,		"set_robust_list"}, /* 311 */
+	{ 3,	0,	printargs,		"get_robust_list"}, /* 312 */
+	{ 6,	TD,	printargs,		"splice"	}, /* 313 */
+	{ 4,	TD,	printargs,		"sync_file_range"}, /* 314 */
+	{ 4,	TD,	printargs,		"tee"		}, /* 315 */
+	{ 5,	TD,	printargs,		"vmsplice"	}, /* 316 */
+	{ 6,	0,	sys_move_pages,		"move_pages"	}, /* 317 */
+	{ 3,	0,	sys_getcpu,		"getcpu"	}, /* 318 */
+	{ 5,	TD,	sys_epoll_pwait,	"epoll_pwait"	}, /* 319 */
+	{ 4,	TD|TF,	sys_utimensat,		"utimensat"	}, /* 320 */
+	{ 3,	TD|TS,	sys_signalfd,		"signalfd"	}, /* 321 */
+	{ 4,	TD,	sys_timerfd,		"timerfd"	}, /* 322 */
+	{ 1,	TD,	sys_eventfd,		"eventfd"	}, /* 323 */
+	{ 6,	TF,	sys_fallocate,		"fallocate"	}, /* 324 */
+	{ 4,	TD,	sys_timerfd_settime,	"timerfd_settime"}, /* 325 */
+	{ 2,	TD,	sys_timerfd_gettime,	"timerfd_gettime"}, /* 326 */
+	{ 4,	TD|TS,	sys_signalfd4,		"signalfd4"	}, /* 327 */
+	{ 2,	TD,	sys_eventfd2,		"eventfd2"	}, /* 328 */
+	{ 1,	0,	sys_epoll_create1,	"epoll_create1"	}, /* 329 */
+	{ 3,	TD,	sys_dup3,		"dup3"		}, /* 330 */
+	{ 2,	TD,	sys_pipe2,		"pipe2"		}, /* 331 */
+	{ 1,	TD,	sys_inotify_init1,	"inotify_init1"	}, /* 332 */
+	{ 5,	TD,	printargs,		"preadv"	}, /* 333 */
+	{ 5,	TD,	printargs,		"pwritev"	}, /* 334 */
+	{ 4,	TP|TS,	printargs,		"rt_tgsigqueueinfo"}, /* 335 */
+	{ 5,	TD,	printargs,		"perf_event_open"}, /* 336 */
+	{ 5,	0,	printargs,		"SYS_337"	}, /* 337 */
+	{ 5,	0,	printargs,		"SYS_338"	}, /* 338 */
+	{ 5,	0,	printargs,		"SYS_339"	}, /* 339 */
+	{ 5,	0,	printargs,		"SYS_340"	}, /* 340 */
+	{ 5,	0,	printargs,		"SYS_341"	}, /* 341 */
+	{ 5,	0,	printargs,		"SYS_342"	}, /* 342 */
+	{ 5,	0,	printargs,		"SYS_343"	}, /* 343 */
+	{ 5,	0,	printargs,		"SYS_344"	}, /* 344 */
+	{ 5,	0,	printargs,		"SYS_345"	}, /* 345 */
+	{ 5,	0,	printargs,		"SYS_346"	}, /* 346 */
+	{ 5,	0,	printargs,		"SYS_347"	}, /* 347 */
+	{ 5,	0,	printargs,		"SYS_348"	}, /* 348 */
+	{ 5,	0,	printargs,		"SYS_349"	}, /* 349 */
+	{ 5,	0,	printargs,		"SYS_350"	}, /* 350 */
+	{ 5,	0,	printargs,		"SYS_351"	}, /* 351 */
+	{ 5,	0,	printargs,		"SYS_352"	}, /* 352 */
+	{ 5,	0,	printargs,		"SYS_353"	}, /* 353 */
+	{ 5,	0,	printargs,		"SYS_354"	}, /* 354 */
+	{ 5,	0,	printargs,		"SYS_355"	}, /* 355 */
+	{ 5,	0,	printargs,		"SYS_356"	}, /* 356 */
+	{ 5,	0,	printargs,		"SYS_357"	}, /* 357 */
+	{ 5,	0,	printargs,		"SYS_358"	}, /* 358 */
+	{ 5,	0,	printargs,		"SYS_359"	}, /* 359 */
+	{ 5,	0,	printargs,		"SYS_360"	}, /* 360 */
+	{ 5,	0,	printargs,		"SYS_361"	}, /* 361 */
+	{ 5,	0,	printargs,		"SYS_362"	}, /* 362 */
+	{ 5,	0,	printargs,		"SYS_363"	}, /* 363 */
+	{ 5,	0,	printargs,		"SYS_364"	}, /* 364 */
+	{ 5,	0,	printargs,		"SYS_365"	}, /* 365 */
+	{ 5,	0,	printargs,		"SYS_366"	}, /* 366 */
+	{ 5,	0,	printargs,		"SYS_367"	}, /* 367 */
+	{ 5,	0,	printargs,		"SYS_368"	}, /* 368 */
+	{ 5,	0,	printargs,		"SYS_369"	}, /* 369 */
+	{ 5,	0,	printargs,		"SYS_370"	}, /* 370 */
+	{ 5,	0,	printargs,		"SYS_371"	}, /* 371 */
+	{ 5,	0,	printargs,		"SYS_372"	}, /* 372 */
+	{ 5,	0,	printargs,		"SYS_373"	}, /* 373 */
+	{ 5,	0,	printargs,		"SYS_374"	}, /* 374 */
+	{ 5,	0,	printargs,		"SYS_375"	}, /* 375 */
+	{ 5,	0,	printargs,		"SYS_376"	}, /* 376 */
+	{ 5,	0,	printargs,		"SYS_377"	}, /* 377 */
+	{ 5,	0,	printargs,		"SYS_378"	}, /* 378 */
+	{ 5,	0,	printargs,		"SYS_379"	}, /* 379 */
+	{ 5,	0,	printargs,		"SYS_380"	}, /* 380 */
+	{ 5,	0,	printargs,		"SYS_381"	}, /* 381 */
+	{ 5,	0,	printargs,		"SYS_382"	}, /* 382 */
+	{ 5,	0,	printargs,		"SYS_383"	}, /* 383 */
+	{ 5,	0,	printargs,		"SYS_384"	}, /* 384 */
+	{ 5,	0,	printargs,		"SYS_385"	}, /* 385 */
+	{ 5,	0,	printargs,		"SYS_386"	}, /* 386 */
+	{ 5,	0,	printargs,		"SYS_387"	}, /* 387 */
+	{ 5,	0,	printargs,		"SYS_388"	}, /* 388 */
+	{ 5,	0,	printargs,		"SYS_389"	}, /* 389 */
+	{ 5,	0,	printargs,		"SYS_390"	}, /* 390 */
+	{ 5,	0,	printargs,		"SYS_391"	}, /* 391 */
+	{ 5,	0,	printargs,		"SYS_392"	}, /* 392 */
+	{ 5,	0,	printargs,		"SYS_393"	}, /* 393 */
+	{ 5,	0,	printargs,		"SYS_394"	}, /* 394 */
+	{ 5,	0,	printargs,		"SYS_395"	}, /* 395 */
+	{ 5,	0,	printargs,		"SYS_396"	}, /* 396 */
+	{ 5,	0,	printargs,		"SYS_397"	}, /* 397 */
+	{ 5,	0,	printargs,		"SYS_398"	}, /* 398 */
+	{ 5,	0,	printargs,		"SYS_399"	}, /* 399 */
+
+#if SYS_socket_subcall != 400
+ #error fix me
+#endif
+	{ 8,	0,	printargs,		"socket_subcall"}, /* 400 */
+	{ 3,	TN,	sys_socket,		"socket"	}, /* 401 */
+	{ 3,	TN,	sys_bind,		"bind"		}, /* 402 */
+	{ 3,	TN,	sys_connect,		"connect"	}, /* 403 */
+	{ 2,	TN,	sys_listen,		"listen"	}, /* 404 */
+	{ 3,	TN,	sys_accept,		"accept"	}, /* 405 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	}, /* 406 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	}, /* 407 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"	}, /* 408 */
+	{ 4,	TN,	sys_send,		"send"		}, /* 409 */
+	{ 4,	TN,	sys_recv,		"recv"		}, /* 410 */
+	{ 6,	TN,	sys_sendto,		"sendto"	}, /* 411 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom"	}, /* 412 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	}, /* 413 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	}, /* 414 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 415 */
+	{ 5,	TN,	sys_sendmsg,		"sendmsg"	}, /* 416 */
+	{ 5,	TN,	sys_recvmsg,		"recvmsg"	}, /* 417 */
+	{ 4,	TN,	sys_accept4,		"accept4"	}, /* 418 */
+	{ 5,	TN,	sys_recvmmsg,		"recvmmsg"	}, /* 419 */
+
+#if SYS_ipc_subcall != 420
+ #error fix me
+#endif
+
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 420 */
+	{ 4,	TI,	sys_semop,		"semop"		}, /* 421 */
+	{ 4,	TI,	sys_semget,		"semget"	}, /* 422 */
+	{ 4,	TI,	sys_semctl,		"semctl"	}, /* 423 */
+	{ 5,	TI,	sys_semtimedop,		"semtimedop"	}, /* 424 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 425 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 426 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 427 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 428 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 429 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 430 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd"	}, /* 431 */
+	{ 4,	TI,	sys_msgrcv,		"msgrcv"	}, /* 432 */
+	{ 4,	TI,	sys_msgget,		"msgget"	}, /* 433 */
+	{ 4,	TI,	sys_msgctl,		"msgctl"	}, /* 434 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 435 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 436 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 437 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 438 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 439 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 440 */
+	{ 4,	TI,	sys_shmat,		"shmat"		}, /* 441 */
+	{ 4,	TI,	sys_shmdt,		"shmdt"		}, /* 442 */
+	{ 4,	TI,	sys_shmget,		"shmget"	}, /* 443 */
+	{ 4,	TI,	sys_shmctl,		"shmctl"	}, /* 444 */
diff --git a/strace-4.5.20/linux/sh64/syscallent.h b/strace-4.5.20/linux/sh64/syscallent.h
new file mode 100644
index 0000000..7b72852
--- /dev/null
+++ b/strace-4.5.20/linux/sh64/syscallent.h
@@ -0,0 +1,459 @@
+/*
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+	{ 0,	0,	sys_setup,		"setup"		}, /* 0 */
+	{ 1,	TP,	sys_exit,		"_exit"		}, /* 1 */
+	{ 0,	TP,	sys_fork,		"fork"		}, /* 2 */
+	{ 3,	TD,	sys_read,		"read"		}, /* 3 */
+	{ 3,	TD,	sys_write,		"write"		}, /* 4 */
+	{ 3,	TD|TF,	sys_open,		"open"		}, /* 5 */
+	{ 1,	TD,	sys_close,		"close"		}, /* 6 */
+	{ 3,	TP,	sys_waitpid,		"waitpid"	}, /* 7 */
+	{ 2,	TD|TF,	sys_creat,		"creat"		}, /* 8 */
+	{ 2,	TF,	sys_link,		"link"		}, /* 9 */
+	{ 1,	TF,	sys_unlink,		"unlink"	}, /* 10 */
+	{ 3,	TF|TP,	sys_execve,		"execve"	}, /* 11 */
+	{ 1,	TF,	sys_chdir,		"chdir"		}, /* 12 */
+	{ 1,	0,	sys_time,		"time"		}, /* 13 */
+	{ 3,	TF,	sys_mknod,		"mknod"		}, /* 14 */
+	{ 2,	TF,	sys_chmod,		"chmod"		}, /* 15 */
+	{ 3,	TF,	sys_chown,		"lchown"	}, /* 16 */
+	{ 0,	0,	sys_break,		"break"		}, /* 17 */
+	{ 2,	TF,	sys_oldstat,		"oldstat"	}, /* 18 */
+	{ 3,	TD,	sys_lseek,		"lseek"		}, /* 19 */
+	{ 0,	0,	sys_getpid,		"getpid"	}, /* 20 */
+	{ 5,	TF,	sys_mount,		"mount"		}, /* 21 */
+	{ 1,	TF,	sys_umount,		"oldumount"	}, /* 22 */
+	{ 1,	0,	sys_setuid,		"setuid"	}, /* 23 */
+	{ 0,	0,	sys_getuid,		"getuid"	}, /* 24 */
+	{ 1,	0,	sys_stime,		"stime"		}, /* 25 */
+	{ 4,	0,	sys_ptrace,		"ptrace"	}, /* 26 */
+	{ 1,	0,	sys_alarm,		"alarm"		}, /* 27 */
+	{ 2,	TD,	sys_oldfstat,		"oldfstat"	}, /* 28 */
+	{ 0,	TS,	sys_pause,		"pause"		}, /* 29 */
+	{ 2,	TF,	sys_utime,		"utime"		}, /* 30 */
+	{ 2,	0,	sys_stty,		"stty"		}, /* 31 */
+	{ 2,	0,	sys_gtty,		"gtty"		}, /* 32 */
+	{ 2,	TF,	sys_access,		"access"	}, /* 33 */
+	{ 1,	0,	sys_nice,		"nice"		}, /* 34 */
+	{ 0,	0,	sys_ftime,		"ftime"		}, /* 35 */
+	{ 0,	0,	sys_sync,		"sync"		}, /* 36 */
+	{ 2,	TS,	sys_kill,		"kill"		}, /* 37 */
+	{ 2,	TF,	sys_rename,		"rename"	}, /* 38 */
+	{ 2,	TF,	sys_mkdir,		"mkdir"		}, /* 39 */
+	{ 1,	TF,	sys_rmdir,		"rmdir"		}, /* 40 */
+	{ 1,	TD,	sys_dup,		"dup"		}, /* 41 */
+	{ 1,	TD,	sys_pipe,		"pipe"		}, /* 42 */
+	{ 1,	0,	sys_times,		"times"		}, /* 43 */
+	{ 0,	0,	sys_prof,		"prof"		}, /* 44 */
+	{ 1,	0,	sys_brk,		"brk"		}, /* 45 */
+	{ 1,	0,	sys_setgid,		"setgid"	}, /* 46 */
+	{ 0,	0,	sys_getgid,		"getgid"	}, /* 47 */
+	{ 3,	TS,	sys_signal,		"signal"	}, /* 48 */
+	{ 0,	0,	sys_geteuid,		"geteuid"	}, /* 49 */
+	{ 0,	0,	sys_getegid,		"getegid"	}, /* 50 */
+	{ 1,	TF,	sys_acct,		"acct"		}, /* 51 */
+	{ 2,	TF,	sys_umount2,		"umount"	}, /* 52 */
+	{ 0,	0,	sys_lock,		"lock"		}, /* 53 */
+	{ 3,	TD,	sys_ioctl,		"ioctl"		}, /* 54 */
+	{ 3,	TD,	sys_fcntl,		"fcntl"		}, /* 55 */
+	{ 0,	0,	sys_mpx,		"mpx"		}, /* 56 */
+	{ 2,	0,	sys_setpgid,		"setpgid"	}, /* 57 */
+	{ 2,	0,	sys_ulimit,		"ulimit"	}, /* 58 */
+	{ 1,	0,	sys_oldolduname,	"oldolduname"	}, /* 59 */
+	{ 1,	0,	sys_umask,		"umask"		}, /* 60 */
+	{ 1,	TF,	sys_chroot,		"chroot"	}, /* 61 */
+	{ 2,	0,	sys_ustat,		"ustat"		}, /* 62 */
+	{ 2,	TD,	sys_dup2,		"dup2"		}, /* 63 */
+	{ 0,	0,	sys_getppid,		"getppid"	}, /* 64 */
+	{ 0,	0,	sys_getpgrp,		"getpgrp"	}, /* 65 */
+	{ 0,	0,	sys_setsid,		"setsid"	}, /* 66 */
+	{ 3,	TS,	sys_sigaction,		"sigaction"	}, /* 67 */
+	{ 0,	TS,	sys_siggetmask,		"siggetmask"	}, /* 68 */
+	{ 1,	TS,	sys_sigsetmask,		"sigsetmask"	}, /* 69 */
+	{ 2,	0,	sys_setreuid,		"setreuid"	}, /* 70 */
+	{ 2,	0,	sys_setregid,		"setregid"	}, /* 71 */
+	{ 3,	TS,	sys_sigsuspend,		"sigsuspend"	}, /* 72 */
+	{ 1,	TS,	sys_sigpending,		"sigpending"	}, /* 73 */
+	{ 2,	0,	sys_sethostname,	"sethostname"	}, /* 74 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit"	}, /* 75 */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"	}, /* 76 */
+	{ 2,	0,	sys_getrusage,		"getrusage"	}, /* 77 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday"	}, /* 78 */
+	{ 2,	0,	sys_settimeofday,	"settimeofday"	}, /* 79 */
+	{ 2,	0,	sys_getgroups,		"getgroups"	}, /* 80 */
+	{ 2,	0,	sys_setgroups,		"setgroups"	}, /* 81 */
+	{ 1,	TD,	sys_oldselect,		"oldselect"	}, /* 82 */
+	{ 2,	TF,	sys_symlink,		"symlink"	}, /* 83 */
+	{ 2,	TF,	sys_oldlstat,		"oldlstat"	}, /* 84 */
+	{ 3,	TF,	sys_readlink,		"readlink"	}, /* 85 */
+	{ 1,	TF,	sys_uselib,		"uselib"	}, /* 86 */
+	{ 1,	TF,	sys_swapon,		"swapon"	}, /* 87 */
+	{ 3,	0,	sys_reboot,		"reboot"	}, /* 88 */
+	{ 3,	TD,	sys_readdir,		"readdir"	}, /* 89 */
+	{ 6,	TD,	sys_old_mmap,		"old_mmap"	}, /* 90 */
+	{ 2,	0,	sys_munmap,		"munmap"	}, /* 91 */
+	{ 2,	TF,	sys_truncate,		"truncate"	}, /* 92 */
+	{ 2,	TD,	sys_ftruncate,		"ftruncate"	}, /* 93 */
+	{ 2,	TD,	sys_fchmod,		"fchmod"	}, /* 94 */
+	{ 3,	TD,	sys_fchown,		"fchown"	}, /* 95 */
+	{ 2,	0,	sys_getpriority,	"getpriority"	}, /* 96 */
+	{ 3,	0,	sys_setpriority,	"setpriority"	}, /* 97 */
+	{ 4,	0,	sys_profil,		"profil"	}, /* 98 */
+	{ 2,	TF,	sys_statfs,		"statfs"	}, /* 99 */
+	{ 2,	TD,	sys_fstatfs,		"fstatfs"	}, /* 100 */
+	{ 3,	0,	sys_ioperm,		"ioperm"	}, /* 101 */
+	{ 2,	TD,	sys_socketcall,		"socketcall"	}, /* 102 */
+	{ 3,	0,	sys_syslog,		"syslog"	}, /* 103 */
+	{ 3,	0,	sys_setitimer,		"setitimer"	}, /* 104 */
+	{ 2,	0,	sys_getitimer,		"getitimer"	}, /* 105 */
+	{ 2,	TF,	sys_stat,		"stat"		}, /* 106 */
+	{ 2,	TF,	sys_lstat,		"lstat"		}, /* 107 */
+	{ 2,	TD,	sys_fstat,		"fstat"		}, /* 108 */
+	{ 1,	0,	sys_olduname,		"olduname"	}, /* 109 */
+	{ 1,	0,	sys_iopl,		"iopl"		}, /* 110 */
+	{ 0,	0,	sys_vhangup,		"vhangup"	}, /* 111 */
+	{ 0,	0,	sys_idle,		"idle"		}, /* 112 */
+	{ 1,	0,	printargs,		"SYS_113"	}, /* 113 */
+	{ 4,	TP,	sys_wait4,		"wait4"		}, /* 114 */
+	{ 1,	0,	sys_swapoff,		"swapoff"	}, /* 115 */
+	{ 1,	0,	sys_sysinfo,		"sysinfo"	}, /* 116 */
+	{ 5,	0,	sys_ipc,		"ipc"		}, /* 117 */
+	{ 1,	TD,	sys_fsync,		"fsync"		}, /* 118 */
+	{ 1,	TS,	sys_sigreturn,		"sigreturn"	}, /* 119 */
+	{ 5,	TP,	sys_clone,		"clone"		}, /* 120 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname"	}, /* 121 */
+	{ 1,	0,	sys_uname,		"uname"		}, /* 122 */
+	{ 3,	0,	printargs,		"cacheflush"	}, /* 123 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex"	}, /* 124 */
+	{ 3,	0,	sys_mprotect,		"mprotect"	}, /* 125 */
+	{ 3,	TS,	sys_sigprocmask,	"sigprocmask"	}, /* 126 */
+	{ 2,	0,	sys_create_module,	"create_module"	}, /* 127 */
+	{ 3,	0,	sys_init_module,	"init_module"	}, /* 128 */
+	{ 2,	0,	sys_delete_module,	"delete_module"	}, /* 129 */
+	{ 1,	0,	sys_get_kernel_syms,	"get_kernel_syms"}, /* 130 */
+	{ 4,	0,	sys_quotactl,		"quotactl"	}, /* 131 */
+	{ 1,	0,	sys_getpgid,		"getpgid"	}, /* 132 */
+	{ 1,	TD,	sys_fchdir,		"fchdir"	}, /* 133 */
+	{ 0,	0,	sys_bdflush,		"bdflush"	}, /* 134 */
+	{ 3,	0,	sys_sysfs,		"sysfs"		}, /* 135 */
+	{ 1,	0,	sys_personality,	"personality"	}, /* 136 */
+	{ 5,	0,	sys_afs_syscall,	"afs_syscall"	}, /* 137 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid"	}, /* 138 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid"	}, /* 139 */
+	{ 5,	TD,	sys_llseek,		"_llseek"	}, /* 140 */
+	{ 3,	TD,	sys_getdents,		"getdents"	}, /* 141 */
+	{ 5,	TD,	sys_select,		"select"	}, /* 142 */
+	{ 2,	TD,	sys_flock,		"flock"		}, /* 143 */
+	{ 3,	0,	sys_msync,		"msync"		}, /* 144 */
+	{ 3,	TD,	sys_readv,		"readv"		}, /* 145 */
+	{ 3,	TD,	sys_writev,		"writev"	}, /* 146 */
+	{ 1,	0,	sys_getsid,		"getsid"	}, /* 147 */
+	{ 1,	TD,	sys_fdatasync,		"fdatasync"	}, /* 148 */
+	{ 1,	0,	sys_sysctl,		"_sysctl"	}, /* 149 */
+	{ 1,	0,	sys_mlock,		"mlock"		}, /* 150 */
+	{ 2,	0,	sys_munlock,		"munlock"	}, /* 151 */
+	{ 2,	0,	sys_mlockall,		"mlockall"	}, /* 152 */
+	{ 0,	0,	sys_munlockall,		"munlockall"	}, /* 153 */
+	{ 0,	0,	sys_sched_setparam,	"sched_setparam"}, /* 154 */
+	{ 2,	0,	sys_sched_getparam,	"sched_getparam"}, /* 155 */
+	{ 3,	0,	sys_sched_setscheduler,	"sched_setscheduler"}, /* 156 */
+	{ 1,	0,	sys_sched_getscheduler,	"sched_getscheduler"}, /* 157 */
+	{ 0,	0,	sys_sched_yield,	"sched_yield"}, /* 158 */
+	{ 1,	0,	sys_sched_get_priority_max,"sched_get_priority_max"}, /* 159 */
+	{ 1,	0,	sys_sched_get_priority_min,"sched_get_priority_min"}, /* 160 */
+	{ 2,	0,	sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 161 */
+	{ 2,	0,	sys_nanosleep,		"nanosleep"	}, /* 162 */
+	{ 5,	0,	sys_mremap,		"mremap"	}, /* 163 */
+	{ 3,	0,	sys_setresuid,		"setresuid"	}, /* 164 */
+	{ 3,	0,	sys_getresuid,		"getresuid"	}, /* 165 */
+	{ 5,	0,	printargs,		"SYS_166"	}, /* 166 */
+	{ 5,	0,	sys_query_module,	"query_module"	}, /* 167 */
+	{ 3,	TD,	sys_poll,		"poll"		}, /* 168 */
+	{ 3,	0,	printargs,		"nfsservctl"	}, /* 169 */
+	{ 3,	0,	sys_setresgid,		"setresgid"	}, /* 170 */
+	{ 3,	0,	sys_getresgid,		"getresgid"	}, /* 171 */
+	{ 5,	0,	sys_prctl,		"prctl"		}, /* 172 */
+	{ 1,	TS,	printargs,		"rt_sigreturn"	}, /* 173 */
+	{ 4,	TS,	sys_rt_sigaction,	"rt_sigaction"  }, /* 174 */
+	{ 4,	TS,	sys_rt_sigprocmask,	"rt_sigprocmask"}, /* 175 */
+	{ 2,	TS,	sys_rt_sigpending,	"rt_sigpending"	}, /* 176 */
+	{ 4,	TS,	sys_rt_sigtimedwait,	"rt_sigtimedwait"}, /* 177 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,    "rt_sigqueueinfo"}, /* 178 */
+	{ 2,	TS,	sys_rt_sigsuspend,	"rt_sigsuspend"	}, /* 179 */
+	{ 5,	TD,	sys_pread,		"pread"		}, /* 180 */
+	{ 5,	TD,	sys_pwrite,		"pwrite"	}, /* 181 */
+	{ 3,	TF,	sys_chown,		"chown"		}, /* 182 */
+	{ 2,	TF,	sys_getcwd,		"getcwd"	}, /* 183 */
+	{ 2,	0,	sys_capget,		"capget"	}, /* 184 */
+	{ 2,	0,	sys_capset,		"capset"	}, /* 185 */
+	{ 2,	TS,	sys_sigaltstack,	"sigaltstack"	}, /* 186 */
+	{ 4,	TD|TN,	sys_sendfile,		"sendfile"	}, /* 187 */
+	{ 5,	0,	printargs,		"SYS_188"	}, /* 188 */
+	{ 5,	0,	printargs,		"SYS_189"	}, /* 189 */
+	{ 0,	TP,	sys_vfork,		"vfork"		}, /* 190 */
+	{ 2,	0,	printargs,		"getrlimit"	}, /* 191 */
+	{ 6,	0,	sys_mmap,		"mmap2"		}, /* 192 */
+	{ 2,	TF,	sys_truncate64,		"truncate64"	}, /* 193 */
+	{ 2,	TD,	sys_ftruncate64,	"ftruncate64"	}, /* 194 */
+	{ 2,	TF,	sys_stat64,		"stat64"	}, /* 195 */
+	{ 2,	TF,	sys_lstat64,		"lstat64"	}, /* 196 */
+	{ 2,	TD,	sys_fstat64,		"fstat64"	}, /* 197 */
+	{ 3,	TF,	sys_chown,		"lchown32"	}, /* 198 */
+	{ 0,	0,	sys_getuid,		"getuid32"	}, /* 199 */
+	{ 0,	0,	printargs,		"getgid32"	}, /* 200 */
+	{ 0,	0,	printargs,		"geteuid32"	}, /* 201 */
+	{ 0,	0,	printargs,		"getegid32"	}, /* 202 */
+	{ 2,	0,	printargs,		"setreuid32"	}, /* 203 */
+	{ 2,	0,	printargs,		"setregid32"	}, /* 204 */
+	{ 2,	0,	sys_getgroups32,	"getgroups32"	}, /* 205 */
+	{ 2,	0,	sys_setgroups32,	"setgroups32"	}, /* 206 */
+	{ 3,	0,	printargs,		"fchown32"	}, /* 207 */
+	{ 3,	0,	printargs,		"setresuid32"	}, /* 208 */
+	{ 3,	0,	printargs,		"getresuid32"	}, /* 209 */
+	{ 3,	0,	printargs,		"setresgid32"	}, /* 210 */
+	{ 3,	0,	printargs,		"getresgid32"	}, /* 211 */
+	{ 3,	TF,	printargs,		"chown32"	}, /* 212 */
+	{ 1,	0,	printargs,		"setuid32"	}, /* 213 */
+	{ 1,	0,	printargs,		"setgid32"	}, /* 214 */
+	{ 1,	0,	printargs,		"setfsuid32"	}, /* 215 */
+	{ 1,	0,	printargs,		"setfsgid32"	}, /* 216 */
+	{ 2,	TF,	sys_pivotroot,		"pivot_root"	}, /* 217 */
+	{ 3,	0,	printargs,		"mincore"	}, /* 218 */
+	{ 3,	0,	sys_madvise,		"madvise"	}, /* 219 */
+	{ 3,	TN,	sys_socket,		"socket"	}, /* 220 */
+	{ 3,	TN,	sys_bind,		"bind"		}, /* 221 */
+	{ 3,	TN,	sys_connect,		"connect"	}, /* 222 */
+	{ 2,	TN,	sys_listen,		"listen"	}, /* 223 */
+	{ 3,	TN,	sys_accept,		"accept"	}, /* 224 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	}, /* 225 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	}, /* 226 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"	}, /* 227 */
+	{ 4,	TN,	sys_send,		"send"		}, /* 228 */
+	{ 6,	TN,	sys_sendto,		"sendto"	}, /* 229 */
+	{ 4,	TN,	sys_recv,		"recv"		}, /* 230 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom"	}, /* 231 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	}, /* 232 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	}, /* 233 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 234 */
+	{ 5,	TN,	sys_sendmsg,		"sendmsg"	}, /* 235 */
+	{ 5,	TN,	sys_recvmsg,		"recvmsg"	}, /* 236 */
+	{ 4,	TI,	sys_semop,		"semop"		}, /* 237 */
+	{ 4,	TI,	sys_semget,		"semget"	}, /* 238 */
+	{ 4,	TI,	sys_semctl,		"semctl"	}, /* 239 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd"	}, /* 240 */
+	{ 4,	TI,	sys_msgrcv,		"msgrcv"	}, /* 241 */
+	{ 4,	TI,	sys_msgget,		"msgget"	}, /* 242 */
+	{ 4,	TI,	sys_msgctl,		"msgctl"	}, /* 243 */
+	{ 4,	TI,	sys_shmat,		"shmat"		}, /* 244 */
+	{ 4,	TI,	sys_shmdt,		"shmdt"		}, /* 245 */
+	{ 4,	TI,	sys_shmget,		"shmget"	}, /* 246 */
+	{ 4,	TI,	sys_shmctl,		"shmctl"	}, /* 247 */
+	{ 3,	TD,	sys_getdents64,		"getdents64"	}, /* 248 */
+	{ 3,	TD,	sys_fcntl,		"fcntl64"	}, /* 249 */
+	{ 4,	0,	printargs,		"SYS_250"	}, /* 250 */
+	{ 4,	0,	printargs,		"SYS_251"	}, /* 251 */
+	{ 4,	0,	printargs,		"gettid"	}, /* 252 */
+	{ 5,	TD,	sys_readahead,		"readahead"	}, /* 253 */
+	{ 5,	TF,	sys_setxattr,		"setxattr"	}, /* 254 */
+	{ 5,	TF,	sys_setxattr,		"lsetxattr"	}, /* 255 */
+	{ 5,	TD,	sys_fsetxattr,		"fsetxattr"	}, /* 256 */
+	{ 4,	TF,	sys_getxattr,		"getxattr"	}, /* 257 */
+	{ 4,	TF,	sys_getxattr,		"lgetxattr"	}, /* 258 */
+	{ 4,	0,	sys_fgetxattr,		"fgetxattr"	}, /* 259 */
+	{ 3,	TF,	sys_listxattr,		"listxattr"	}, /* 260 */
+	{ 3,	TF,	sys_listxattr,		"llistxattr"	}, /* 261 */
+	{ 3,	0,	sys_flistxattr,		"flistxattr"	}, /* 262 */
+	{ 2,	TF,	sys_removexattr,	"removexattr"	}, /* 263 */
+	{ 2,	TF,	sys_removexattr,	"lremovexattr"	}, /* 264 */
+	{ 2,	TD,	sys_fremovexattr,	"fremovexattr"	}, /* 265 */
+	{ 2,	TD,	sys_kill,		"tkill"		}, /* 266 */
+	{ 5,	TD|TN,	sys_sendfile64,		"sendfile64"	}, /* 267 */
+	{ 6,	0,	sys_futex,		"futex"		}, /* 268 */
+	{ 3,	0,	sys_sched_setaffinity,	"sched_setaffinity"}, /* 269 */
+	{ 3,	0,	sys_sched_getaffinity,	"sched_getaffinity"}, /* 270 */
+	{ 5,	0,	printargs,		"SYS_271"	}, /* 271 */
+	{ 5,	0,	printargs,		"SYS_272"	}, /* 272 */
+	{ 2,	0,	sys_io_setup,		"io_setup"	}, /* 273 */
+	{ 1,	0,	sys_io_destroy,		"io_destroy"	}, /* 274 */
+	{ 5,	0,	sys_io_getevents,	"io_getevents"	}, /* 275 */
+	{ 3,	0,	sys_io_submit,		"io_submit"	}, /* 276 */
+	{ 3,	0,	sys_io_cancel,		"io_cancel"	}, /* 277 */
+	{ 5,	0,	sys_fadvise64,		"fadvise64"	}, /* 278 */
+	{ 5,	0,	printargs,		"SYS_279"	}, /* 279 */
+	{ 1,	TP,	sys_exit,		"exit_group"	}, /* 280 */
+	{ 4,	0,	printargs,		"lookup_dcookie"}, /* 281 */
+	{ 1,	0,	sys_epoll_create,	"epoll_create"	}, /* 282 */
+	{ 4,	TD,	sys_epoll_ctl,		"epoll_ctl"	}, /* 283 */
+	{ 3,	TD,	sys_epoll_wait,		"epoll_wait"	}, /* 284 */
+	{ 5,	0,	sys_remap_file_pages,	"remap_file_pages"}, /* 285 */
+	{ 1,	0,	printargs,		"set_tid_address"}, /* 286 */
+	{ 3,	0,	sys_timer_create,	"timer_create"	}, /* 287 */
+	{ 4,	0,	sys_timer_settime,	"timer_settime"	}, /* 288 */
+	{ 2,	0,	sys_timer_gettime,	"timer_gettime"	}, /* 289 */
+	{ 1,	0,	sys_timer_getoverrun,	"timer_getoverrun"}, /* 290 */
+	{ 1,	0,	sys_timer_delete,	"timer_delete"	}, /* 291 */
+	{ 2,	0,	sys_clock_settime,	"clock_settime"	}, /* 292 */
+	{ 2,	0,	sys_clock_gettime,	"clock_gettime"	}, /* 293 */
+	{ 2,	0,	sys_clock_getres,	"clock_getres"	}, /* 294 */
+	{ 4,	0,	sys_clock_nanosleep,	"clock_nanosleep"}, /* 295 */
+	{ 3,	TF,	sys_statfs64,		"statfs64"	}, /* 296 */
+	{ 2,	TD,	sys_fstatfs64,		"fstatfs64"	}, /* 297 */
+	{ 3,	TS,	sys_tgkill,		"tgkill"	}, /* 298 */
+	{ 2,	TF,	sys_utimes,		"utimes"	}, /* 299 */
+	{ 6,	0,	sys_fadvise64_64,	"fadvise64_64"	}, /* 300 */
+	{ 0,	0,	printargs,		"SYS_301"	}, /* 301 */
+	{ 4,	0,	sys_mbind,		"mbind"		}, /* 302 */
+	{ 5,	0,	sys_get_mempolicy,	"get_mempolicy"	}, /* 303 */
+	{ 3,	0,	sys_set_mempolicy,	"set_mempolicy"	}, /* 304 */
+	{ 4,	0,	sys_mq_open,		"mq_open"	}, /* 305 */
+	{ 1,	0,	sys_mq_unlink,		"mq_unlink"	}, /* 306 */
+	{ 5,	0,	sys_mq_timedsend,	"mq_timedsend"	}, /* 307 */
+	{ 5,	0,	sys_mq_timedreceive,	"mq_timedreceive"}, /* 308 */
+	{ 2,	0,	sys_mq_notify,		"mq_notify"	}, /* 309 */
+	{ 3,	0,	sys_mq_getsetattr,	"mq_getsetattr"	}, /* 310 */
+	{ 5,	0,	printargs,		"kexec_load"	}, /* 311 */
+	{ 5,	TP,	sys_waitid,		"waitid"	}, /* 312 */
+	{ 5,	0,	printargs,		"add_key"	}, /* 313 */
+	{ 4,	0,	printargs,		"request_key"	}, /* 314 */
+	{ 5,	0,	printargs,		"keyctl"	}, /* 315 */
+	{ 3,	0,	printargs,		"ioprio_set"	}, /* 316 */
+	{ 2,	0,	printargs,		"ioprio_get"	}, /* 317 */
+	{ 0,	TD,	printargs,		"inotify_init"	}, /* 318 */
+	{ 3,	TD,	printargs,		"inotify_add_watch"}, /* 319 */
+	{ 2,	TD,	printargs,		"inotify_rm_watch"}, /* 320 */
+	{ 5,	0,	printargs,		"SYS_321"	}, /* 321 */
+	{ 4,	0,	printargs,		"migrate_pages"	}, /* 322 */
+	{ 4,	TD|TF,	sys_openat,		"openat"	}, /* 323 */
+	{ 3,	TD|TF,	sys_mkdirat,		"mkdirat"	}, /* 324 */
+	{ 4,	TD|TF,	sys_mknodat,		"mknodat"	}, /* 325 */
+	{ 5,	TD|TF,	sys_fchownat,		"fchownat"	}, /* 326 */
+	{ 3,	TD|TF,	sys_futimesat,		"futimesat"	}, /* 327 */
+	{ 4,	TD|TF,	sys_newfstatat,		"newfstatat"	}, /* 328 */
+	{ 3,	TD|TF,	sys_unlinkat,		"unlinkat"	}, /* 329 */
+	{ 4,	TD|TF,	sys_renameat,		"renameat"	}, /* 330 */
+	{ 5,	TD|TF,	sys_linkat,		"linkat"	}, /* 331 */
+	{ 3,	TD|TF,	sys_symlinkat,		"symlinkat"	}, /* 332 */
+	{ 4,	TD|TF,	sys_readlinkat,		"readlinkat"	}, /* 333 */
+	{ 3,	TD|TF,	sys_fchmodat,		"fchmodat"	}, /* 334 */
+	{ 3,	TD|TF,	sys_faccessat,		"faccessat"	}, /* 335 */
+	{ 6,	TD,	sys_pselect6,		"pselect6"	}, /* 336 */
+	{ 5,	TD,	sys_ppoll,		"ppoll"		}, /* 337 */
+	{ 1,	TP,	sys_unshare,		"unshare"	}, /* 338 */
+	{ 2,	0,	printargs,		"set_robust_list"}, /* 339 */
+	{ 3,	0,	printargs,		"get_robust_list"}, /* 340 */
+	{ 6,	TD,	printargs,		"splice"	}, /* 341 */
+	{ 4,	TD,	printargs,		"sync_file_range"}, /* 342 */
+	{ 4,	TD,	printargs,		"tee"		}, /* 343 */
+	{ 5,	TD,	printargs,		"vmsplice"	}, /* 344 */
+	{ 6,	0,	sys_move_pages,		"move_pages"	}, /* 345 */
+	{ 3,	0,	sys_getcpu,		"getcpu"	}, /* 346 */
+	{ 5,	TD,	sys_epoll_pwait,	"epoll_pwait"	}, /* 347 */
+	{ 4,	TD|TF,	sys_utimensat,		"utimensat"	}, /* 348 */
+	{ 3,	TD|TS,	sys_signalfd,		"signalfd"	}, /* 349 */
+	{ 4,	TD,	sys_timerfd,		"timerfd"	}, /* 350 */
+	{ 1,	TD,	sys_eventfd,		"eventfd"	}, /* 351 */
+	{ 6,	TF,	sys_fallocate,		"fallocate"	}, /* 352 */
+	{ 4,	TD,	sys_timerfd_settime,	"timerfd_settime"}, /* 353 */
+	{ 2,	TD,	sys_timerfd_gettime,	"timerfd_gettime"}, /* 354 */
+	{ 4,	TD|TS,	sys_signalfd4,		"signalfd4"	}, /* 355 */
+	{ 2,	TD,	sys_eventfd2,		"eventfd2"	}, /* 356 */
+	{ 1,	0,	sys_epoll_create1,	"epoll_create1"	}, /* 357 */
+	{ 3,	TD,	sys_dup3,		"dup3"		}, /* 358 */
+	{ 2,	TD,	sys_pipe2,		"pipe2"		}, /* 359 */
+	{ 1,	TD,	sys_inotify_init1,	"inotify_init1"	}, /* 360 */
+	{ 5,	TD,	printargs,		"preadv"	}, /* 361 */
+	{ 5,	TD,	printargs,		"pwritev"	}, /* 362 */
+	{ 4,	TP|TS,	printargs,		"rt_tgsigqueueinfo"}, /* 363 */
+	{ 5,	TD,	printargs,		"perf_event_open"}, /* 364 */
+	{ 5,	TN,	sys_recvmmsg,		"recvmmsg"	}, /* 365 */
+	{ 4,	TN,	sys_accept4,		"accept4"	}, /* 366 */
+	{ 5,	0,	printargs,		"SYS_367"	}, /* 367 */
+	{ 5,	0,	printargs,		"SYS_368"	}, /* 368 */
+	{ 5,	0,	printargs,		"SYS_369"	}, /* 369 */
+	{ 5,	0,	printargs,		"SYS_370"	}, /* 370 */
+	{ 5,	0,	printargs,		"SYS_371"	}, /* 371 */
+	{ 5,	0,	printargs,		"SYS_372"	}, /* 372 */
+	{ 5,	0,	printargs,		"SYS_373"	}, /* 373 */
+	{ 5,	0,	printargs,		"SYS_374"	}, /* 374 */
+	{ 5,	0,	printargs,		"SYS_375"	}, /* 375 */
+	{ 5,	0,	printargs,		"SYS_376"	}, /* 376 */
+	{ 5,	0,	printargs,		"SYS_377"	}, /* 377 */
+	{ 5,	0,	printargs,		"SYS_378"	}, /* 378 */
+	{ 5,	0,	printargs,		"SYS_379"	}, /* 379 */
+	{ 5,	0,	printargs,		"SYS_380"	}, /* 380 */
+	{ 5,	0,	printargs,		"SYS_381"	}, /* 381 */
+	{ 5,	0,	printargs,		"SYS_382"	}, /* 382 */
+	{ 5,	0,	printargs,		"SYS_383"	}, /* 383 */
+	{ 5,	0,	printargs,		"SYS_384"	}, /* 384 */
+	{ 5,	0,	printargs,		"SYS_385"	}, /* 385 */
+	{ 5,	0,	printargs,		"SYS_386"	}, /* 386 */
+	{ 5,	0,	printargs,		"SYS_387"	}, /* 387 */
+	{ 5,	0,	printargs,		"SYS_388"	}, /* 388 */
+	{ 5,	0,	printargs,		"SYS_389"	}, /* 389 */
+	{ 5,	0,	printargs,		"SYS_390"	}, /* 390 */
+	{ 5,	0,	printargs,		"SYS_391"	}, /* 391 */
+	{ 5,	0,	printargs,		"SYS_392"	}, /* 392 */
+	{ 5,	0,	printargs,		"SYS_393"	}, /* 393 */
+	{ 5,	0,	printargs,		"SYS_394"	}, /* 394 */
+	{ 5,	0,	printargs,		"SYS_395"	}, /* 395 */
+	{ 5,	0,	printargs,		"SYS_396"	}, /* 396 */
+	{ 5,	0,	printargs,		"SYS_397"	}, /* 397 */
+	{ 5,	0,	printargs,		"SYS_398"	}, /* 398 */
+	{ 5,	0,	printargs,		"SYS_399"	}, /* 399 */
+
+#if SYS_socket_subcall != 400
+ #error fix me
+#endif
+	{ 8,	0,	printargs,		"socket_subcall"}, /* 400 */
+	{ 3,	TN,	sys_socket,		"socket"	}, /* 401 */
+	{ 3,	TN,	sys_bind,		"bind"		}, /* 402 */
+	{ 3,	TN,	sys_connect,		"connect"	}, /* 403 */
+	{ 2,	TN,	sys_listen,		"listen"	}, /* 404 */
+	{ 3,	TN,	sys_accept,		"accept"	}, /* 405 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	}, /* 406 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	}, /* 407 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"	}, /* 408 */
+	{ 4,	TN,	sys_send,		"send"		}, /* 409 */
+	{ 4,	TN,	sys_recv,		"recv"		}, /* 410 */
+	{ 6,	TN,	sys_sendto,		"sendto"	}, /* 411 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom"	}, /* 412 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	}, /* 413 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	}, /* 414 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 415 */
+	{ 5,	TN,	sys_sendmsg,		"sendmsg"	}, /* 416 */
+	{ 5,	TN,	sys_recvmsg,		"recvmsg"	}, /* 417 */
+	{ 4,	TN,	sys_accept4,		"accept4"	}, /* 418 */
+	{ 5,	TN,	sys_recvmmsg,		"recvmmsg"	}, /* 419 */
+
+#if SYS_ipc_subcall != 420
+ #error fix me
+#endif
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 420 */
diff --git a/strace-4.5.20/linux/signalent.h b/strace-4.5.20/linux/signalent.h
new file mode 100644
index 0000000..112f746
--- /dev/null
+++ b/strace-4.5.20/linux/signalent.h
@@ -0,0 +1,33 @@
+	"SIG_0",	/* 0 */
+	"SIGHUP",	/* 1 */
+	"SIGINT",	/* 2 */
+	"SIGQUIT",	/* 3 */
+	"SIGILL",	/* 4 */
+	"SIGTRAP",	/* 5 */
+	"SIGABRT",	/* 6 */
+	"SIGBUS",	/* 7 */
+	"SIGFPE",	/* 8 */
+	"SIGKILL",	/* 9 */
+	"SIGUSR1",	/* 10 */
+	"SIGSEGV",	/* 11 */
+	"SIGUSR2",	/* 12 */
+	"SIGPIPE",	/* 13 */
+	"SIGALRM",	/* 14 */
+	"SIGTERM",	/* 15 */
+	"SIGSTKFLT",	/* 16 */
+	"SIGCHLD",	/* 17 */
+	"SIGCONT",	/* 18 */
+	"SIGSTOP",	/* 19 */
+	"SIGTSTP",	/* 20 */
+	"SIGTTIN",	/* 21 */
+	"SIGTTOU",	/* 22 */
+	"SIGURG",	/* 23 */
+	"SIGXCPU",	/* 24 */
+	"SIGXFSZ",	/* 25 */
+	"SIGVTALRM",	/* 26 */
+	"SIGPROF",	/* 27 */
+	"SIGWINCH",	/* 28 */
+	"SIGIO",	/* 29 */
+	"SIGPWR",	/* 30 */
+	"SIGSYS",	/* 31 */
+	"SIGRTMIN",	/* 32 */
diff --git a/strace-4.5.20/linux/sparc/dummy2.h b/strace-4.5.20/linux/sparc/dummy2.h
new file mode 100644
index 0000000..8ff464b
--- /dev/null
+++ b/strace-4.5.20/linux/sparc/dummy2.h
@@ -0,0 +1,282 @@
+/*
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+/* still unfinished */
+
+#define solaris_sysmp printargs
+#define solaris_sginap printargs
+#define solaris_sgikopt printargs
+#define solaris_sysmips printargs
+#define solaris_sigreturn printargs
+#define solaris_recvmsg printargs
+#define solaris_sendmsg printargs
+#define solaris_nfssvc printargs
+#define solaris_getfh printargs
+#define solaris_async_daemon printargs
+#define solaris_exportfs printargs
+#define solaris_BSD_getime printargs
+#define solaris_sproc printargs
+#define solaris_procblk printargs
+#define solaris_sprocsp printargs
+#define solaris_msync printargs
+#define solaris_madvise printargs
+#define solaris_pagelock printargs
+#define solaris_quotactl printargs
+#define solaris_cacheflush printargs
+#define solaris_cachectl printargs
+#define solaris_nuname printargs
+#define solaris_sigpoll printargs
+#define solaris_swapctl printargs
+#define solaris_sigstack printargs
+#define solaris_sigsendset printargs
+#define solaris_priocntl printargs
+#define solaris_ksigqueue printargs
+#define solaris_lwp_sema_wait printargs
+#define solaris_memcntl printargs
+#define solaris_syscall printargs
+#define solaris_clocal printargs
+#define solaris_syssun printargs
+#define solaris_sysi86 printargs
+#define solaris_sysmachine printargs
+#define solaris_plock printargs
+#define solaris_pathconf printargs
+#define solaris_sigtimedwait printargs
+#define solaris_ulimit printargs
+#define solaris_ptrace printargs
+#define solaris_stty printargs
+#define solaris_lwp_info printargs
+#define solaris_priocntlsys printargs
+#define solaris_hrtsys printargs
+#define solaris_xenix printargs
+#define solaris_statfs printargs
+#define solaris_fstatfs printargs
+#define solaris_statvfs printargs
+#define solaris_fstatvfs printargs
+#define solaris_fork1 printargs
+#define solaris_sigsendsys printargs
+#define solaris_gtty printargs
+#define solaris_vtrace printargs
+#define solaris_fpathconf printargs
+#define solaris_evsys printargs
+#define solaris_acct printargs
+#define solaris_exec printargs
+#define solaris_lwp_sema_post printargs
+#define solaris_nfssys printargs
+#define solaris_sigaltstack printargs
+#define solaris_uadmin printargs
+#define solaris_umount printargs
+#define solaris_modctl printargs
+#define solaris_acancel printargs
+#define solaris_async printargs
+#define solaris_evtrapret printargs
+#define solaris_lwp_create printargs
+#define solaris_lwp_exit printargs
+#define solaris_lwp_suspend printargs
+#define solaris_lwp_continue printargs
+#define solaris_lwp_kill printargs
+#define solaris_lwp_self printargs
+#define solaris_lwp_setprivate printargs
+#define solaris_lwp_getprivate printargs
+#define solaris_lwp_wait printargs
+#define solaris_lwp_mutex_unlock printargs
+#define solaris_lwp_mutex_lock printargs
+#define solaris_lwp_cond_wait printargs
+#define solaris_lwp_cond_signal printargs
+#define solaris_lwp_cond_broadcast printargs
+#define solaris_llseek printargs
+#define solaris_inst_sync printargs
+#define solaris_auditsys printargs
+#define solaris_processor_bind printargs
+#define solaris_processor_info printargs
+#define solaris_p_online printargs
+#define solaris_sigqueue printargs
+#define solaris_clock_gettime printargs
+#define solaris_clock_settime printargs
+#define solaris_clock_getres printargs
+#define solaris_nanosleep printargs
+#define solaris_timer_create printargs
+#define solaris_timer_delete printargs
+#define solaris_timer_settime printargs
+#define solaris_timer_gettime printargs
+#define solaris_timer_getoverrun printargs
+#define solaris_signal printargs
+#define solaris_sigset printargs
+#define solaris_sighold printargs
+#define solaris_sigrelse printargs
+#define solaris_sigignore printargs
+#define solaris_sigpause printargs
+#define solaris_msgctl printargs
+#define solaris_msgget printargs
+#define solaris_msgrcv printargs
+#define solaris_msgsnd printargs
+#define solaris_shmat printargs
+#define solaris_shmctl printargs
+#define solaris_shmdt printargs
+#define solaris_shmget printargs
+#define solaris_semctl printargs
+#define solaris_semget printargs
+#define solaris_semop printargs
+#define solaris_olduname printargs
+#define solaris_ustat printargs
+#define solaris_fusers printargs
+#define solaris_sysfs1 printargs
+#define solaris_sysfs2 printargs
+#define solaris_sysfs3 printargs
+
+/* like another call */
+#define solaris_lchown solaris_chown
+#define solaris_setuid solaris_close
+#define solaris_seteuid solaris_close
+#define solaris_setgid solaris_close
+#define solaris_setegid solaris_close
+#define solaris_vhangup solaris_close
+#define solaris_fdsync solaris_close
+#define solaris_sigfillset solaris_sigpending
+#define solaris_vfork solaris_fork
+#define solaris_ksigaction solaris_sigaction
+#define solaris_BSDgetpgrp solaris_getpgrp
+#define solaris_BSDsetpgrp solaris_setpgrp
+#define solaris_waitsys solaris_waitid
+
+/* printargs does the right thing */
+#define solaris_sync printargs
+#define solaris_profil printargs
+#define solaris_yield printargs
+#define solaris_pause printargs
+#define solaris_sethostid printargs
+
+/* subfunction entry points */
+#define solaris_pgrpsys printargs
+#define solaris_sigcall printargs
+#define solaris_msgsys printargs
+#define solaris_shmsys printargs
+#define solaris_semsys printargs
+#define solaris_utssys printargs
+#define solaris_sysfs printargs
+#define solaris_spcall printargs
+#define solaris_context printargs
+
+/* same as linux */
+#define solaris_exit sys_exit
+#define solaris_fork sys_fork
+#define solaris_read sys_read
+#define solaris_write sys_write
+#define solaris_close sys_close
+#define solaris_creat sys_creat
+#define solaris_link sys_link
+#define solaris_unlink sys_unlink
+#define solaris_chdir sys_chdir
+#define solaris_time sys_time
+#define solaris_chmod sys_chmod
+#define solaris_lseek sys_lseek
+#define solaris_stime sys_stime
+#define solaris_alarm sys_alarm
+#define solaris_utime sys_utime
+#define solaris_access sys_access
+#define solaris_nice sys_nice
+#define solaris_dup sys_dup
+#define solaris_pipe sys_pipe
+#define solaris_times sys_times
+#define solaris_execve sys_execve
+#define solaris_umask sys_umask
+#define solaris_chroot sys_chroot
+#define solaris_rmdir sys_rmdir
+#define solaris_mkdir sys_mkdir
+#define solaris_getdents sys_getdents
+#define solaris_poll sys_poll
+#define solaris_symlink sys_symlink
+#define solaris_readlink sys_readlink
+#define solaris_setgroups sys_setgroups
+#define solaris_getgroups sys_getgroups
+#define solaris_fchmod sys_fchmod
+#define solaris_fchown sys_fchown
+#define solaris_mprotect sys_mprotect
+#define solaris_munmap sys_munmap
+#define solaris_readv sys_readv
+#define solaris_writev sys_writev
+#define solaris_chown sys_chown
+#define solaris_rename sys_rename
+#define solaris_gettimeofday sys_gettimeofday
+#define solaris_getitimer sys_getitimer
+#define solaris_setitimer sys_setitimer
+#define solaris_brk sys_brk
+#define solaris_mmap sys_mmap
+#define solaris_getsid sys_getsid
+#define solaris_setsid sys_setsid
+#define solaris_getpgid sys_getpgid
+#define solaris_setpgid sys_setpgid
+#define solaris_getpgrp sys_getpgrp
+
+/* These are handled according to current_personality */
+#define solaris_xstat sys_xstat
+#define solaris_fxstat sys_fxstat
+#define solaris_lxstat sys_lxstat
+#define solaris_xmknod sys_xmknod
+#define solaris_stat sys_stat
+#define solaris_fstat sys_fstat
+#define solaris_lstat sys_lstat
+#define solaris_pread sys_pread
+#define solaris_pwrite sys_pwrite
+#define solaris_ioctl sys_ioctl
+#define solaris_mknod sys_mknod
+
+/* To be done */
+#define solaris_mount printargs
+#define solaris_sysinfo printargs
+#define solaris_sysconfig printargs
+#define solaris_getpmsg printargs
+#define solaris_putpmsg printargs
+#define solaris_wait printargs
+#define solaris_waitid printargs
+#define solaris_sigsuspend printargs
+#define solaris_setpgrp printargs
+#define solaris_getcontext printargs
+#define solaris_setcontext printargs
+#define solaris_getpid printargs
+#define solaris_getuid printargs
+#define solaris_kill printargs
+#define solaris_getgid printargs
+#define solaris_fcntl printargs
+#define solaris_getmsg printargs
+#define solaris_putmsg printargs
+#define solaris_sigprocmask printargs
+#define solaris_sigaction printargs
+#define solaris_sigpending printargs
+#define solaris_mincore printargs
+#define solaris_fchdir printargs
+#define solaris_setrlimit printargs
+#define solaris_getrlimit printargs
+#define solaris_uname printargs
+#define solaris_adjtime printargs
+#define solaris_fchroot printargs
+#define solaris_utimes printargs
+
+#if DONE
+#define solaris_open printargs
+#endif
diff --git a/strace-4.5.20/linux/sparc/errnoent.h b/strace-4.5.20/linux/sparc/errnoent.h
new file mode 100644
index 0000000..d243699
--- /dev/null
+++ b/strace-4.5.20/linux/sparc/errnoent.h
@@ -0,0 +1,127 @@
+	"ERRNO_0", /* 0 */
+	"EPERM", /* 1 */
+	"ENOENT", /* 2 */
+	"ESRCH", /* 3 */
+	"EINTR", /* 4 */
+	"EIO", /* 5 */
+	"ENXIO", /* 6 */
+	"E2BIG", /* 7 */
+	"ENOEXEC", /* 8 */
+	"EBADF", /* 9 */
+	"ECHILD", /* 10 */
+	"EAGAIN", /* 11 */
+	"ENOMEM", /* 12 */
+	"EACCES", /* 13 */
+	"EFAULT", /* 14 */
+	"ENOTBLK", /* 15 */
+	"EBUSY", /* 16 */
+	"EEXIST", /* 17 */
+	"EXDEV", /* 18 */
+	"ENODEV", /* 19 */
+	"ENOTDIR", /* 20 */
+	"EISDIR", /* 21 */
+	"EINVAL", /* 22 */
+	"ENFILE", /* 23 */
+	"EMFILE", /* 24 */
+	"ENOTTY", /* 25 */
+	"ETXTBSY", /* 26 */
+	"EFBIG", /* 27 */
+	"ENOSPC", /* 28 */
+	"ESPIPE", /* 29 */
+	"EROFS", /* 30 */
+	"EMLINK", /* 31 */
+	"EPIPE", /* 32 */
+	"EDOM", /* 33 */
+	"ERANGE", /* 34 */
+	"EWOULDBLOCK", /* 35 */
+	"EINPROGRESS", /* 36 */
+	"EALREADY", /* 37 */
+	"ENOTSOCK", /* 38 */
+	"EDESTADDRREQ", /* 39 */
+	"EMSGSIZE", /* 40 */
+	"EPROTOTYPE", /* 41 */
+	"ENOPROTOOPT", /* 42 */
+	"EPROTONOSUPPORT", /* 43 */
+	"ESOCKTNOSUPPORT", /* 44 */
+	"EOPNOTSUPP", /* 45 */
+	"EPFNOSUPPORT", /* 46 */
+	"EAFNOSUPPORT", /* 47 */
+	"EADDRINUSE", /* 48 */
+	"EADDRNOTAVAIL", /* 49 */
+	"ENETDOWN", /* 50 */
+	"ENETUNREACH", /* 51 */
+	"ENETRESET", /* 52 */
+	"ECONNABORTED", /* 53 */
+	"ECONNRESET", /* 54 */
+	"ENOBUFS", /* 55 */
+	"EISCONN", /* 56 */
+	"ENOTCONN", /* 57 */
+	"ESHUTDOWN", /* 58 */
+	"ETOOMANYREFS", /* 59 */
+	"ETIMEDOUT", /* 60 */
+	"ECONNREFUSED", /* 61 */
+	"ELOOP", /* 62 */
+	"ENAMETOOLONG", /* 63 */
+	"EHOSTDOWN", /* 64 */
+	"EHOSTUNREACH", /* 65 */
+	"ENOTEMPTY", /* 66 */
+	"EPROCLIM", /* 67 */
+	"EUSERS", /* 68 */
+	"EDQUOT", /* 69 */
+	"ESTALE", /* 70 */
+	"EREMOTE", /* 71 */
+	"ENOSTR", /* 72 */
+	"ETIME", /* 73 */
+	"ENOSR", /* 74 */
+	"ENOMSG", /* 75 */
+	"EBADMSG", /* 76 */
+	"EIDRM", /* 77 */
+	"EDEADLK", /* 78 */
+	"ENOLCK", /* 79 */
+	"ENONET", /* 80 */
+	"ERREMOTE", /* 81 */
+	"ENOLINK", /* 82 */
+	"EADV", /* 83 */
+	"ESRMNT", /* 84 */
+	"ECOMM", /* 85 */
+	"EPROTO", /* 86 */
+	"EMULTIHOP", /* 87 */
+	"EDOTDOT", /* 88 */
+	"EREMCHG", /* 89 */
+	"ENOSYS", /* 90 */
+	"ESTRPIPE", /* 91 */
+	"EOVERFLOW", /* 92 */
+	"EBADFD", /* 93 */
+	"ECHRNG", /* 94 */
+	"EL2NSYNC", /* 95 */
+	"EL3HLT", /* 96 */
+	"EL3RST", /* 97 */
+	"ELNRNG", /* 98 */
+	"EUNATCH", /* 99 */
+	"ENOCSI", /* 100 */
+	"EL2HLT", /* 101 */
+	"EBADE", /* 102 */
+	"EBADR", /* 103 */
+	"EXFULL", /* 104 */
+	"ENOANO", /* 105 */
+	"EBADRQC", /* 106 */
+	"EBADSLT", /* 107 */
+	"EDEADLOCK", /* 108 */
+	"EBFONT", /* 109 */
+	"ELIBEXEC", /* 110 */
+	"ENODATA", /* 111 */
+	"ELIBBAD", /* 112 */
+	"ENOPKG", /* 113 */
+	"ELIBACC", /* 114 */
+	"ENOTUNIQ", /* 115 */
+	"ERESTART", /* 116 */
+	"EUCLEAN", /* 117 */
+	"ENOTNAM", /* 118 */
+	"ENAVAIL", /* 119 */
+	"EISNAM", /* 120 */
+	"EREMOTEIO", /* 121 */
+	"EILSEQ", /* 122 */
+	"ELIBMAX", /* 123 */
+	"ELIBSCN", /* 124 */
+	"ENOMEDIUM", /* 125 */
+	"EMEDIUMTYPE", /* 126 */
diff --git a/strace-4.5.20/linux/sparc/errnoent1.h b/strace-4.5.20/linux/sparc/errnoent1.h
new file mode 100644
index 0000000..4d750bd
--- /dev/null
+++ b/strace-4.5.20/linux/sparc/errnoent1.h
@@ -0,0 +1 @@
+#include "../svr4/errnoent.h"
diff --git a/strace-4.5.20/linux/sparc/gen.pl b/strace-4.5.20/linux/sparc/gen.pl
new file mode 100644
index 0000000..8c2f75b
--- /dev/null
+++ b/strace-4.5.20/linux/sparc/gen.pl
@@ -0,0 +1,37 @@
+open SPARC, "syscallent.h" || die "no puedo abrir el de la sparc";
+open ALPHA, "../alpha/syscallent.h" || die "no puedo abrir el de la alpha";
+open PC, "../i386/syscallent.h" || die "no puedo abrir PC\n";
+
+while (<SPARC>) {
+    chop;
+    ($i1, $i2, $i3, $syscall, $syscall_name) = split;
+    $strn[$index]   = $syscall_name;
+    $name[$index++] = $syscall;
+}
+
+while (<ALPHA>){
+    if (/\{/) {
+	($i1, $n, $pr, $syscall) = split;
+	$par{$syscall} = $n;
+	$prr{$syscall} = $pr;
+    }
+}
+
+while (<PC>){
+    if (/\{/) {
+	($i1, $n, $pr, $syscall) = split;
+	$par{$syscall} = $n;
+	$prr{$syscall} = $pr;
+    }
+}
+
+print "missing \n";
+
+for ($i = 0; $i < $index; $i++){
+    $x = $name[$i];
+    $y = $strn[$i];
+    $n = $par{$x};
+    $p = $prr{$x};
+    $j++;
+    print "\t{ $n\t$p\t$x\t$y },\t /* $j */\n";
+}
diff --git a/strace-4.5.20/linux/sparc/ioctlent.h b/strace-4.5.20/linux/sparc/ioctlent.h
new file mode 100644
index 0000000..c1d6b8a
--- /dev/null
+++ b/strace-4.5.20/linux/sparc/ioctlent.h
@@ -0,0 +1,838 @@
+	{"linux/fs.h",	"FIBMAP",	0x1},
+	{"linux/fs.h",	"FIGETBSZ",	0x2},
+	{"linux/fd.h",	"FDGETPRM",	0x204},
+	{"linux/fd.h",	"FDGETMAXERRS",	0x20e},
+	{"linux/fd.h",	"FDGETDRVTYP",	0x20f},
+	{"linux/fd.h",	"FDGETDRVPRM",	0x211},
+	{"linux/fd.h",	"FDGETDRVSTAT",	0x212},
+	{"linux/fd.h",	"FDPOLLDRVSTAT",	0x213},
+	{"linux/fd.h",	"FDGETFDCSTAT",	0x215},
+	{"linux/fd.h",	"FDWERRORGET",	0x217},
+	{"linux/fd.h",	"FDCLRPRM",	0x241},
+	{"linux/fd.h",	"FDSETPRM",	0x242},
+	{"linux/fd.h",	"FDDEFPRM",	0x243},
+	{"linux/fd.h",	"FDMSGON",	0x245},
+	{"linux/fd.h",	"FDMSGOFF",	0x246},
+	{"linux/fd.h",	"FDFMTBEG",	0x247},
+	{"linux/fd.h",	"FDFMTTRK",	0x248},
+	{"linux/fd.h",	"FDFMTEND",	0x249},
+	{"linux/fd.h",	"FDSETEMSGTRESH",	0x24a},
+	{"linux/fd.h",	"FDFLUSH",	0x24b},
+	{"linux/fd.h",	"FDSETMAXERRS",	0x24c},
+	{"linux/fd.h",	"FDRESET",	0x254},
+	{"linux/fd.h",	"FDWERRORCLR",	0x256},
+	{"linux/fd.h",	"FDRAWCMD",	0x258},
+	{"linux/fd.h",	"FDTWADDLE",	0x259},
+	{"linux/fd.h",	"FDEJECT",	0x25a},
+	{"linux/fd.h",	"FDSETDRVPRM",	0x290},
+	{"linux/umsdos_fs.h",	"UMSDOS_READDIR_DOS",	0x4d2},
+	{"linux/umsdos_fs.h",	"UMSDOS_UNLINK_DOS",	0x4d3},
+	{"linux/umsdos_fs.h",	"UMSDOS_RMDIR_DOS",	0x4d4},
+	{"linux/umsdos_fs.h",	"UMSDOS_STAT_DOS",	0x4d5},
+	{"linux/umsdos_fs.h",	"UMSDOS_CREAT_EMD",	0x4d6},
+	{"linux/umsdos_fs.h",	"UMSDOS_UNLINK_EMD",	0x4d7},
+	{"linux/umsdos_fs.h",	"UMSDOS_READDIR_EMD",	0x4d8},
+	{"linux/umsdos_fs.h",	"UMSDOS_GETVERSION",	0x4d9},
+	{"linux/umsdos_fs.h",	"UMSDOS_INIT_EMD",	0x4da},
+	{"linux/umsdos_fs.h",	"UMSDOS_DOS_SETUP",	0x4db},
+	{"linux/umsdos_fs.h",	"UMSDOS_RENAME_DOS",	0x4dc},
+	{"linux/fs.h",	"BLKROSET",	0x125d},
+	{"linux/fs.h",	"BLKROGET",	0x125e},
+	{"linux/fs.h",	"BLKRRPART",	0x125f},
+	{"linux/fs.h",	"BLKGETSIZE",	0x1260},
+	{"linux/fs.h",	"BLKFLSBUF",	0x1261},
+	{"linux/fs.h",	"BLKRASET",	0x1262},
+	{"linux/fs.h",	"BLKRAGET",	0x1263},
+	{"linux/fs.h",	"BLKFRASET",	0x1264},
+	{"linux/fs.h",	"BLKFRAGET",	0x1265},
+	{"linux/fs.h",	"BLKSECTSET",	0x1266},
+	{"linux/fs.h",	"BLKSECTGET",	0x1267},
+	{"linux/fs.h",	"BLKSSZGET",	0x1268},
+	{"linux/blkpg.h",	"BLKPG",	0x1269},
+	{"linux/fs.h",	"BLKPG",	0x1269},
+	{"linux/elevator.h",	"BLKELVGET",	0x126a},
+	{"linux/fs.h",	"BLKELVGET",	0x126a},
+	{"linux/elevator.h",	"BLKELVSET",	0x126b},
+	{"linux/fs.h",	"BLKELVSET",	0x126b},
+	{"linux/fs.h",	"BLKBSZGET",	0x1270},
+	{"linux/fs.h",	"BLKBSZSET",	0x1271},
+	{"linux/fs.h",	"BLKGETSIZE64",	0x1272},
+	{"linux/agpgart.h",	"AGPIOC_INFO",	0x4100},
+	{"linux/agpgart.h",	"AGPIOC_ACQUIRE",	0x4101},
+	{"linux/apm_bios.h",	"APM_IOC_STANDBY",	0x4101},
+	{"linux/agpgart.h",	"AGPIOC_RELEASE",	0x4102},
+	{"linux/apm_bios.h",	"APM_IOC_SUSPEND",	0x4102},
+	{"linux/agpgart.h",	"AGPIOC_SETUP",	0x4103},
+	{"linux/agpgart.h",	"AGPIOC_RESERVE",	0x4104},
+	{"linux/agpgart.h",	"AGPIOC_PROTECT",	0x4105},
+	{"linux/agpgart.h",	"AGPIOC_ALLOCATE",	0x4106},
+	{"linux/agpgart.h",	"AGPIOC_DEALLOCATE",	0x4107},
+	{"linux/agpgart.h",	"AGPIOC_BIND",	0x4108},
+	{"linux/agpgart.h",	"AGPIOC_UNBIND",	0x4109},
+	{"linux/pmu.h",	"PMU_IOC_SLEEP",	0x4200},
+	{"linux/cciss_ioctl.h",	"CCISS_GETPCIINFO",	0x4201},
+	{"linux/pmu.h",	"PMU_IOC_GET_BACKLIGHT",	0x4201},
+	{"linux/cciss_ioctl.h",	"CCISS_GETINTINFO",	0x4202},
+	{"linux/pmu.h",	"PMU_IOC_SET_BACKLIGHT",	0x4202},
+	{"linux/cciss_ioctl.h",	"CCISS_SETINTINFO",	0x4203},
+	{"linux/pmu.h",	"PMU_IOC_GET_MODEL",	0x4203},
+	{"linux/cciss_ioctl.h",	"CCISS_GETNODENAME",	0x4204},
+	{"linux/pmu.h",	"PMU_IOC_HAS_ADB",	0x4204},
+	{"linux/cciss_ioctl.h",	"CCISS_SETNODENAME",	0x4205},
+	{"linux/pmu.h",	"PMU_IOC_CAN_SLEEP",	0x4205},
+	{"linux/cciss_ioctl.h",	"CCISS_GETHEARTBEAT",	0x4206},
+	{"linux/cciss_ioctl.h",	"CCISS_GETBUSTYPES",	0x4207},
+	{"linux/cciss_ioctl.h",	"CCISS_GETFIRMVER",	0x4208},
+	{"linux/cciss_ioctl.h",	"CCISS_GETDRIVVER",	0x4209},
+	{"linux/cciss_ioctl.h",	"CCISS_REVALIDVOLS",	0x420a},
+	{"linux/cciss_ioctl.h",	"CCISS_PASSTHRU",	0x420b},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RESET",	0x4300},
+	{"linux/capi.h",	"CAPI_REGISTER",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_LOAD",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RDATA",	0x4302},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCODE",	0x4303},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WDATA",	0x4304},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WCODE",	0x4305},
+	{"linux/capi.h",	"CAPI_GET_MANUFACTURER",	0x4306},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RUN",	0x4306},
+	{"linux/capi.h",	"CAPI_GET_VERSION",	0x4307},
+	{"linux/soundcard.h",	"SNDCTL_COPR_HALT",	0x4307},
+	{"linux/capi.h",	"CAPI_GET_SERIAL",	0x4308},
+	{"linux/soundcard.h",	"SNDCTL_COPR_SENDMSG",	0x4308},
+	{"linux/capi.h",	"CAPI_GET_PROFILE",	0x4309},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCVMSG",	0x4309},
+	{"linux/capi.h",	"CAPI_MANUFACTURER_CMD",	0x4320},
+	{"linux/capi.h",	"CAPI_GET_ERRCODE",	0x4321},
+	{"linux/capi.h",	"CAPI_INSTALLED",	0x4322},
+	{"linux/capi.h",	"CAPI_GET_FLAGS",	0x4323},
+	{"linux/capi.h",	"CAPI_SET_FLAGS",	0x4324},
+	{"linux/capi.h",	"CAPI_CLR_FLAGS",	0x4325},
+	{"linux/capi.h",	"CAPI_NCCI_OPENCOUNT",	0x4326},
+	{"linux/capi.h",	"CAPI_NCCI_GETUNIT",	0x4327},
+	{"linux/input.h",	"EVIOCGVERSION",	0x4501},
+	{"linux/input.h",	"EVIOCGID",	0x4502},
+	{"linux/input.h",	"EVIOCGREP",	0x4503},
+	{"linux/input.h",	"EVIOCSREP",	0x4503},
+	{"linux/input.h",	"EVIOCGKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCSKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCGKEY",	0x4505},
+	{"linux/input.h",	"EVIOCGBUS",	0x4507},
+	{"linux/input.h",	"EVIOCRMFF",	0x4581},
+	{"linux/input.h",	"EVIOCSGAIN",	0x4582},
+	{"linux/input.h",	"EVIOCSAUTOCENTER",	0x4583},
+	{"linux/input.h",	"EVIOCGEFFECTS",	0x4584},
+	{"linux/fb.h",	"FBIOGET_VBLANK",	0x4612},
+	{"linux/hiddev.h",	"HIDIOCGVERSION",	0x4801},
+	{"linux/hiddev.h",	"HIDIOCAPPLICATION",	0x4802},
+	{"linux/hiddev.h",	"HIDIOCGDEVINFO",	0x4803},
+	{"linux/hiddev.h",	"HIDIOCGSTRING",	0x4804},
+	{"linux/hiddev.h",	"HIDIOCINITREPORT",	0x4805},
+	{"linux/hiddev.h",	"HIDIOCGREPORT",	0x4807},
+	{"linux/hiddev.h",	"HIDIOCSREPORT",	0x4808},
+	{"linux/hiddev.h",	"HIDIOCGREPORTINFO",	0x4809},
+	{"linux/hiddev.h",	"HIDIOCGFIELDINFO",	0x480a},
+	{"linux/hiddev.h",	"HIDIOCGUSAGE",	0x480b},
+	{"linux/hiddev.h",	"HIDIOCSUSAGE",	0x480c},
+	{"linux/hiddev.h",	"HIDIOCGUCODE",	0x480d},
+	{"linux/isdn.h",	"IIOCNETAIF",	0x4901},
+	{"linux/isdn.h",	"IIOCNETDIF",	0x4902},
+	{"linux/isdn.h",	"IIOCNETSCF",	0x4903},
+	{"linux/isdn.h",	"IIOCNETGCF",	0x4904},
+	{"linux/isdn.h",	"IIOCNETANM",	0x4905},
+	{"linux/isdn.h",	"IIOCNETDNM",	0x4906},
+	{"linux/isdn.h",	"IIOCNETGNM",	0x4907},
+	{"linux/isdn.h",	"IIOCGETSET",	0x4908},
+	{"linux/isdn.h",	"IIOCSETSET",	0x4909},
+	{"linux/isdn.h",	"IIOCSETVER",	0x490a},
+	{"linux/isdn.h",	"IIOCNETHUP",	0x490b},
+	{"linux/isdn.h",	"IIOCSETGST",	0x490c},
+	{"linux/isdn.h",	"IIOCSETBRJ",	0x490d},
+	{"linux/isdn.h",	"IIOCSIGPRF",	0x490e},
+	{"linux/isdn.h",	"IIOCGETPRF",	0x490f},
+	{"linux/isdn.h",	"IIOCSETPRF",	0x4910},
+	{"linux/isdn.h",	"IIOCGETMAP",	0x4911},
+	{"linux/isdn.h",	"IIOCSETMAP",	0x4912},
+	{"linux/isdn.h",	"IIOCNETASL",	0x4913},
+	{"linux/isdn.h",	"IIOCNETDIL",	0x4914},
+	{"linux/isdn.h",	"IIOCGETCPS",	0x4915},
+	{"linux/isdn.h",	"IIOCGETDVR",	0x4916},
+	{"linux/isdn.h",	"IIOCNETLCR",	0x4917},
+	{"linux/isdn.h",	"IIOCNETDWRSET",	0x4918},
+	{"linux/isdn.h",	"IIOCNETALN",	0x4920},
+	{"linux/isdn.h",	"IIOCNETDLN",	0x4921},
+	{"linux/isdn.h",	"IIOCNETGPN",	0x4922},
+	{"linux/isdn.h",	"IIOCDBGVAR",	0x497f},
+	{"linux/isdn.h",	"IIOCDRVCTL",	0x4980},
+	{"linux/soundcard.h",	"SOUND_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_OLD_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_MIXER_ACCESS",	0x4d66},
+	{"linux/soundcard.h",	"SOUND_MIXER_AGC",	0x4d67},
+	{"linux/soundcard.h",	"SOUND_MIXER_3DSE",	0x4d68},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE1",	0x4d6f},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE2",	0x4d70},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE3",	0x4d71},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE4",	0x4d72},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE5",	0x4d73},
+	{"linux/soundcard.h",	"SOUND_MIXER_GETLEVELS",	0x4d74},
+	{"linux/soundcard.h",	"SOUND_MIXER_SETLEVELS",	0x4d75},
+	{"linux/soundcard.h",	"OSS_GETVERSION",	0x4d76},
+	{"linux/soundcard.h",	"SNDCTL_DSP_RESET",	0x5000},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SYNC",	0x5001},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SPEED",	0x5002},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_RATE",	0x5002},
+	{"linux/soundcard.h",	"SNDCTL_DSP_STEREO",	0x5003},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETBLKSIZE",	0x5004},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFMT",	0x5005},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_BITS",	0x5005},
+	{"linux/soundcard.h",	"SNDCTL_DSP_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_WRITE_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SNDCTL_DSP_POST",	0x5008},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SUBDIVIDE",	0x5009},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFRAGMENT",	0x500a},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETFMTS",	0x500b},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOSPACE",	0x500c},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETISPACE",	0x500d},
+	{"linux/soundcard.h",	"SNDCTL_DSP_NONBLOCK",	0x500e},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCAPS",	0x500f},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETIPTR",	0x5011},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOPTR",	0x5012},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPINBUF",	0x5013},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPOUTBUF",	0x5014},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSYNCRO",	0x5015},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETDUPLEX",	0x5016},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETODELAY",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_PROFILE",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCHANNELMASK",	0x5040},
+	{"linux/soundcard.h",	"SNDCTL_DSP_BIND_CHANNEL",	0x5041},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSPDIF",	0x5042},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETSPDIF",	0x5043},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESET",	0x5100},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_SYNC",	0x5101},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_INFO",	0x5102},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_CTRLRATE",	0x5103},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETOUTCOUNT",	0x5104},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETINCOUNT",	0x5105},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PERCMODE",	0x5106},
+	{"linux/soundcard.h",	"SNDCTL_FM_LOAD_INSTR",	0x5107},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_TESTMIDI",	0x5108},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESETSAMPLES",	0x5109},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRSYNTHS",	0x510a},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRMIDIS",	0x510b},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_INFO",	0x510c},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_THRESHOLD",	0x510d},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_MEMAVL",	0x510e},
+	{"linux/soundcard.h",	"SNDCTL_FM_4OP_ENABLE",	0x510f},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PANIC",	0x5111},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_OUTOFBAND",	0x5112},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETTIME",	0x5113},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_ID",	0x5114},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_CONTROL",	0x5115},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_REMOVESAMPLE",	0x5116},
+	{"linux/random.h",	"RNDGETENTCNT",	0x5200},
+	{"linux/random.h",	"RNDADDTOENTCNT",	0x5201},
+	{"linux/random.h",	"RNDGETPOOL",	0x5202},
+	{"linux/random.h",	"RNDADDENTROPY",	0x5203},
+	{"linux/random.h",	"RNDZAPENTCNT",	0x5204},
+	{"linux/random.h",	"RNDCLEARPOOL",	0x5206},
+	{"asm/ioctls.h",	"TCGETS",	0x5401},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TIMEBASE",	0x5401},
+	{"asm/ioctls.h",	"TCSETS",	0x5402},
+	{"linux/soundcard.h",	"SNDCTL_TMR_START",	0x5402},
+	{"asm/ioctls.h",	"TCSETSW",	0x5403},
+	{"linux/soundcard.h",	"SNDCTL_TMR_STOP",	0x5403},
+	{"asm/ioctls.h",	"TCSETSF",	0x5404},
+	{"linux/soundcard.h",	"SNDCTL_TMR_CONTINUE",	0x5404},
+	{"asm/ioctls.h",	"TCGETA",	0x5405},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TEMPO",	0x5405},
+	{"asm/ioctls.h",	"TCSETA",	0x5406},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SOURCE",	0x5406},
+	{"asm/ioctls.h",	"TCSETAW",	0x5407},
+	{"linux/soundcard.h",	"SNDCTL_TMR_METRONOME",	0x5407},
+	{"asm/ioctls.h",	"TCSETAF",	0x5408},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SELECT",	0x5408},
+	{"asm/ioctls.h",	"TCSBRK",	0x5409},
+	{"asm/ioctls.h",	"TCXONC",	0x540a},
+	{"asm/ioctls.h",	"TCFLSH",	0x540b},
+	{"asm/ioctls.h",	"TIOCEXCL",	0x540c},
+	{"asm/ioctls.h",	"TIOCNXCL",	0x540d},
+	{"asm/ioctls.h",	"TIOCSCTTY",	0x540e},
+	{"asm/ioctls.h",	"TIOCGPGRP",	0x540f},
+	{"asm/ioctls.h",	"TIOCSPGRP",	0x5410},
+	{"asm/ioctls.h",	"TIOCOUTQ",	0x5411},
+	{"asm/ioctls.h",	"TIOCSTI",	0x5412},
+	{"asm/ioctls.h",	"TIOCGWINSZ",	0x5413},
+	{"asm/ioctls.h",	"TIOCSWINSZ",	0x5414},
+	{"asm/ioctls.h",	"TIOCMGET",	0x5415},
+	{"asm/ioctls.h",	"TIOCMBIS",	0x5416},
+	{"asm/ioctls.h",	"TIOCMBIC",	0x5417},
+	{"asm/ioctls.h",	"TIOCMSET",	0x5418},
+	{"asm/ioctls.h",	"TIOCGSOFTCAR",	0x5419},
+	{"asm/ioctls.h",	"TIOCSSOFTCAR",	0x541a},
+	{"asm/ioctls.h",	"FIONREAD",	0x541b},
+	{"asm/ioctls.h",	"TIOCLINUX",	0x541c},
+	{"asm/ioctls.h",	"TIOCCONS",	0x541d},
+	{"asm/ioctls.h",	"TIOCGSERIAL",	0x541e},
+	{"asm/ioctls.h",	"TIOCSSERIAL",	0x541f},
+	{"asm/ioctls.h",	"TIOCPKT",	0x5420},
+	{"asm/ioctls.h",	"FIONBIO",	0x5421},
+	{"asm/ioctls.h",	"TIOCNOTTY",	0x5422},
+	{"asm/ioctls.h",	"TIOCSETD",	0x5423},
+	{"asm/ioctls.h",	"TIOCGETD",	0x5424},
+	{"asm/ioctls.h",	"TCSBRKP",	0x5425},
+	{"asm/ioctls.h",	"TIOCTTYGSTRUCT",	0x5426},
+	{"asm/ioctls.h",	"TIOCSBRK",	0x5427},
+	{"asm/ioctls.h",	"TIOCCBRK",	0x5428},
+	{"asm/ioctls.h",	"TIOCGSID",	0x5429},
+	{"asm/ioctls.h",	"TIOCGPTN",	0x5430},
+	{"asm/ioctls.h",	"TIOCSPTLCK",	0x5431},
+	{"asm/ioctls.h",	"FIONCLEX",	0x5450},
+	{"asm/ioctls.h",	"FIOCLEX",	0x5451},
+	{"asm/ioctls.h",	"FIOASYNC",	0x5452},
+	{"asm/ioctls.h",	"TIOCSERCONFIG",	0x5453},
+	{"asm/ioctls.h",	"TIOCSERGWILD",	0x5454},
+	{"asm/ioctls.h",	"TIOCSERSWILD",	0x5455},
+	{"asm/ioctls.h",	"TIOCGLCKTRMIOS",	0x5456},
+	{"asm/ioctls.h",	"TIOCSLCKTRMIOS",	0x5457},
+	{"asm/ioctls.h",	"TIOCSERGSTRUCT",	0x5458},
+	{"asm/ioctls.h",	"TIOCSERGETLSR",	0x5459},
+	{"asm/ioctls.h",	"TIOCSERGETMULTI",	0x545a},
+	{"asm/ioctls.h",	"TIOCSERSETMULTI",	0x545b},
+	{"asm/ioctls.h",	"TIOCMIWAIT",	0x545c},
+	{"asm/ioctls.h",	"TIOCGICOUNT",	0x545d},
+	{"asm/ioctls.h",	"TIOCGHAYESESP",	0x545e},
+	{"asm/ioctls.h",	"TIOCSHAYESESP",	0x545f},
+	{"linux/if_tun.h",	"TUNSETNOCSUM",	0x54c8},
+	{"linux/if_tun.h",	"TUNSETDEBUG",	0x54c9},
+	{"linux/if_tun.h",	"TUNSETIFF",	0x54ca},
+	{"linux/if_tun.h",	"TUNSETPERSIST",	0x54cb},
+	{"linux/if_tun.h",	"TUNSETOWNER",	0x54cc},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONTROL",	0x5500},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_BULK",	0x5502},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESETEP",	0x5503},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETINTERFACE",	0x5504},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETCONFIGURATION",	0x5505},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_GETDRIVER",	0x5508},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SUBMITURB",	0x550a},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCARDURB",	0x550b},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURB",	0x550c},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURBNDELAY",	0x550d},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCSIGNAL",	0x550e},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLAIMINTERFACE",	0x550f},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RELEASEINTERFACE",	0x5510},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONNECTINFO",	0x5511},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_IOCTL",	0x5512},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_HUB_PORTINFO",	0x5513},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESET",	0x5514},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLEAR_HALT",	0x5515},
+	{"linux/watchdog.h",	"WDIOC_GETSUPPORT",	0x5700},
+	{"linux/watchdog.h",	"WDIOC_GETSTATUS",	0x5701},
+	{"linux/watchdog.h",	"WDIOC_GETBOOTSTATUS",	0x5702},
+	{"linux/watchdog.h",	"WDIOC_GETTEMP",	0x5703},
+	{"linux/watchdog.h",	"WDIOC_SETOPTIONS",	0x5704},
+	{"linux/watchdog.h",	"WDIOC_KEEPALIVE",	0x5705},
+	{"linux/watchdog.h",	"WDIOC_SETTIMEOUT",	0x5706},
+	{"linux/watchdog.h",	"WDIOC_GETTIMEOUT",	0x5707},
+	{"linux/ite_gpio.h",	"ITE_GPIO_IN",	0x5a00},
+	{"linux/ite_gpio.h",	"ITE_GPIO_OUT",	0x5a01},
+	{"linux/ite_gpio.h",	"ITE_GPIO_INT_CTRL",	0x5a02},
+	{"linux/ite_gpio.h",	"ITE_GPIO_IN_STATUS",	0x5a03},
+	{"linux/ite_gpio.h",	"ITE_GPIO_OUT_STATUS",	0x5a04},
+	{"linux/ite_gpio.h",	"ITE_GPIO_GEN_CTRL",	0x5a05},
+	{"linux/ite_gpio.h",	"ITE_GPIO_INT_WAIT",	0x5a06},
+	{"linux/sonet.h",	"SONET_GETSTAT",	0x6110},
+	{"linux/sonet.h",	"SONET_GETSTATZ",	0x6111},
+	{"linux/sonet.h",	"SONET_SETDIAG",	0x6112},
+	{"linux/sonet.h",	"SONET_CLRDIAG",	0x6113},
+	{"linux/sonet.h",	"SONET_GETDIAG",	0x6114},
+	{"linux/sonet.h",	"SONET_SETFRAMING",	0x6115},
+	{"linux/sonet.h",	"SONET_GETFRAMING",	0x6116},
+	{"linux/sonet.h",	"SONET_GETFRSENSE",	0x6117},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTAT",	0x6132},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTATZ",	0x6133},
+	{"linux/atmdev.h",	"ATM_GETSTAT",	0x6150},
+	{"linux/atmdev.h",	"ATM_GETSTATZ",	0x6151},
+	{"linux/atmdev.h",	"ATM_GETLOOP",	0x6152},
+	{"linux/atmdev.h",	"ATM_SETLOOP",	0x6153},
+	{"linux/atmdev.h",	"ATM_QUERYLOOP",	0x6154},
+	{"linux/atm_eni.h",	"ENI_MEMDUMP",	0x6160},
+	{"linux/atm_nicstar.h",	"NS_GETPSTAT",	0x6161},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOL",	0x6161},
+	{"linux/atm_nicstar.h",	"NS_SETBUFLEV",	0x6162},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOLZ",	0x6162},
+	{"linux/atm_nicstar.h",	"NS_ADJBUFLEV",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_SETPOOL",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_GETTHIST",	0x6164},
+	{"linux/atm_eni.h",	"ENI_SETMULT",	0x6167},
+	{"linux/atm_tcp.h",	"SIOCSIFATMTCP",	0x6180},
+	{"linux/atmdev.h",	"ATM_GETLINKRATE",	0x6181},
+	{"linux/atmdev.h",	"ATM_GETNAMES",	0x6183},
+	{"linux/atmdev.h",	"ATM_GETTYPE",	0x6184},
+	{"linux/atmdev.h",	"ATM_GETESI",	0x6185},
+	{"linux/atmdev.h",	"ATM_GETADDR",	0x6186},
+	{"linux/atmdev.h",	"ATM_RSTADDR",	0x6187},
+	{"linux/atmdev.h",	"ATM_ADDADDR",	0x6188},
+	{"linux/atmdev.h",	"ATM_DELADDR",	0x6189},
+	{"linux/atmdev.h",	"ATM_GETCIRANGE",	0x618a},
+	{"linux/atmdev.h",	"ATM_SETCIRANGE",	0x618b},
+	{"linux/atmdev.h",	"ATM_SETESI",	0x618c},
+	{"linux/atmdev.h",	"ATM_SETESIF",	0x618d},
+	{"linux/atm_tcp.h",	"ATMTCP_CREATE",	0x618e},
+	{"linux/atm_tcp.h",	"ATMTCP_REMOVE",	0x618f},
+	{"linux/atmlec.h",	"ATMLEC_CTRL",	0x61d0},
+	{"linux/atmlec.h",	"ATMLEC_DATA",	0x61d1},
+	{"linux/atmlec.h",	"ATMLEC_MCAST",	0x61d2},
+	{"linux/atmmpc.h",	"ATMMPC_CTRL",	0x61d8},
+	{"linux/atmmpc.h",	"ATMMPC_DATA",	0x61d9},
+	{"linux/atmclip.h",	"SIOCMKCLIP",	0x61e0},
+	{"linux/atmarp.h",	"ATMARPD_CTRL",	0x61e1},
+	{"linux/atmarp.h",	"ATMARP_MKIP",	0x61e2},
+	{"linux/atmarp.h",	"ATMARP_SETENTRY",	0x61e3},
+	{"linux/atmarp.h",	"ATMARP_ENCAP",	0x61e5},
+	{"linux/atmsvc.h",	"ATMSIGD_CTRL",	0x61f0},
+	{"linux/atmdev.h",	"ATM_SETSC",	0x61f1},
+	{"linux/atmdev.h",	"ATM_SETBACKEND",	0x61f2},
+	{"linux/coda.h",	"CIOC_KERNEL_VERSION",	0x630a},
+	{"linux/comstats.h",	"COM_GETPORTSTATS",	0x631e},
+	{"linux/comstats.h",	"COM_CLRPORTSTATS",	0x631f},
+	{"linux/comstats.h",	"COM_GETBRDSTATS",	0x6320},
+	{"linux/comstats.h",	"COM_READPORT",	0x6328},
+	{"linux/comstats.h",	"COM_READBOARD",	0x6329},
+	{"linux/comstats.h",	"COM_READPANEL",	0x632a},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_GET_PROTO_REV",	0x6400},
+	{"linux/video_decoder.h",	"DECODER_GET_CAPABILITIES",	0x6401},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_SET_EVENT_MASK",	0x6402},
+	{"linux/video_decoder.h",	"DECODER_GET_STATUS",	0x6402},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_RELEASE_EVENT_QUEUE",	0x6403},
+	{"linux/video_decoder.h",	"DECODER_SET_NORM",	0x6403},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_SET_DEBUG_MASK",	0x6404},
+	{"linux/video_decoder.h",	"DECODER_SET_INPUT",	0x6404},
+	{"linux/video_decoder.h",	"DECODER_SET_OUTPUT",	0x6405},
+	{"linux/video_decoder.h",	"DECODER_ENABLE_OUTPUT",	0x6406},
+	{"linux/video_decoder.h",	"DECODER_SET_PICTURE",	0x6407},
+	{"linux/video_decoder.h",	"DECODER_DUMP",	0x64c0},
+	{"linux/video_encoder.h",	"ENCODER_GET_CAPABILITIES",	0x6501},
+	{"linux/video_encoder.h",	"ENCODER_SET_NORM",	0x6502},
+	{"linux/video_encoder.h",	"ENCODER_SET_INPUT",	0x6503},
+	{"linux/video_encoder.h",	"ENCODER_SET_OUTPUT",	0x6504},
+	{"linux/video_encoder.h",	"ENCODER_ENABLE_OUTPUT",	0x6505},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETFLAGS",	0x6601},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETFLAGS",	0x6601},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETFLAGS",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETFLAGS",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION",	0x6603},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION",	0x6604},
+	{"linux/ext3_fs.h",	"EXT3_IOC_WAIT_FOR_READONLY",	0x6663},
+	{"linux/i2o-dev.h",	"I2OGETIOPS",	0x6900},
+	{"linux/i2o-dev.h",	"I2OHRTGET",	0x6901},
+	{"linux/i2o-dev.h",	"I2OLCTGET",	0x6902},
+	{"linux/i2o-dev.h",	"I2OPARMSET",	0x6903},
+	{"linux/i2o-dev.h",	"I2OPARMGET",	0x6904},
+	{"linux/i2o-dev.h",	"I2OSWDL",	0x6905},
+	{"linux/i2o-dev.h",	"I2OSWUL",	0x6906},
+	{"linux/i2o-dev.h",	"I2OSWDEL",	0x6907},
+	{"linux/i2o-dev.h",	"I2OVALIDATE",	0x6908},
+	{"linux/i2o-dev.h",	"I2OHTML",	0x6909},
+	{"linux/i2o-dev.h",	"I2OEVTREG",	0x690a},
+	{"linux/i2o-dev.h",	"I2OEVTGET",	0x690b},
+	{"linux/i8k.h",	"I8K_BIOS_VERSION",	0x6980},
+	{"linux/i8k.h",	"I8K_MACHINE_ID",	0x6981},
+	{"linux/i8k.h",	"I8K_POWER_STATUS",	0x6982},
+	{"linux/i8k.h",	"I8K_FN_STATUS",	0x6983},
+	{"linux/i8k.h",	"I8K_GET_TEMP",	0x6984},
+	{"linux/i8k.h",	"I8K_GET_SPEED",	0x6985},
+	{"linux/i8k.h",	"I8K_GET_FAN",	0x6986},
+	{"linux/i8k.h",	"I8K_SET_FAN",	0x6987},
+	{"linux/joystick.h",	"JSIOCGVERSION",	0x6a01},
+	{"linux/joystick.h",	"JSIOCGAXES",	0x6a11},
+	{"linux/joystick.h",	"JSIOCGBUTTONS",	0x6a12},
+	{"linux/joystick.h",	"JSIOCSCORR",	0x6a21},
+	{"linux/joystick.h",	"JSIOCGCORR",	0x6a22},
+	{"linux/joystick.h",	"JSIOCSAXMAP",	0x6a31},
+	{"linux/joystick.h",	"JSIOCGAXMAP",	0x6a32},
+	{"linux/joystick.h",	"JSIOCSBTNMAP",	0x6a33},
+	{"linux/joystick.h",	"JSIOCGBTNMAP",	0x6a34},
+	{"linux/udf_fs_i.h",	"UDF_GETEASIZE",	0x6c40},
+	{"linux/udf_fs_i.h",	"UDF_GETEABLOCK",	0x6c41},
+	{"linux/udf_fs_i.h",	"UDF_GETVOLIDENT",	0x6c42},
+	{"linux/udf_fs_i.h",	"UDF_RELOCATE_BLOCKS",	0x6c43},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_PRETIME",	0x6d00},
+	{"linux/synclink.h",	"MGSL_IOCSPARAMS",	0x6d00},
+	{"linux/mtio.h",	"MTIOCTOP",	0x6d01},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUMODE",	0x6d01},
+	{"linux/synclink.h",	"MGSL_IOCGPARAMS",	0x6d01},
+	{"linux/mtio.h",	"MTIOCGET",	0x6d02},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUCMD",	0x6d02},
+	{"linux/synclink.h",	"MGSL_IOCSTXIDLE",	0x6d02},
+	{"linux/mtio.h",	"MTIOCPOS",	0x6d03},
+	{"linux/synclink.h",	"MGSL_IOCGTXIDLE",	0x6d03},
+	{"linux/mtio.h",	"MTIOCGETCONFIG",	0x6d04},
+	{"linux/synclink.h",	"MGSL_IOCTXENABLE",	0x6d04},
+	{"linux/mtio.h",	"MTIOCSETCONFIG",	0x6d05},
+	{"linux/synclink.h",	"MGSL_IOCRXENABLE",	0x6d05},
+	{"linux/mtio.h",	"MTIOCRDFTSEG",	0x6d06},
+	{"linux/synclink.h",	"MGSL_IOCTXABORT",	0x6d06},
+	{"linux/mtio.h",	"MTIOCWRFTSEG",	0x6d07},
+	{"linux/synclink.h",	"MGSL_IOCGSTATS",	0x6d07},
+	{"linux/mtio.h",	"MTIOCVOLINFO",	0x6d08},
+	{"linux/synclink.h",	"MGSL_IOCWAITEVENT",	0x6d08},
+	{"linux/mtio.h",	"MTIOCGETSIZE",	0x6d09},
+	{"linux/synclink.h",	"MGSL_IOCLOOPTXDONE",	0x6d09},
+	{"linux/mtio.h",	"MTIOCFTFORMAT",	0x6d0a},
+	{"linux/mtio.h",	"MTIOCFTCMD",	0x6d0b},
+	{"linux/synclink.h",	"MGSL_IOCCLRMODCOUNT",	0x6d0f},
+	{"linux/zftape.h",	"MTIOC_ZFTAPE_GETBLKSZ",	0x6d68},
+	{"linux/ncp_fs.h",	"NCP_IOC_NCPREQUEST",	0x6e01},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID2",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_CONN_LOGGED_IN",	0x6e03},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO_V2",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_INIT",	0x6e05},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_SET_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_LOCKUNLOCK",	0x6e07},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETDENTRYTTL",	0x6e0c},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETDENTRYTTL",	0x6e0c},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_GET_AVAILABLE_OUTPUTS",	0x6ef9},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_GET_ALL_OUTPUTS",	0x6efb},
+	{"linux/rtc.h",	"RTC_AIE_ON",	0x7001},
+	{"linux/rtc.h",	"RTC_AIE_OFF",	0x7002},
+	{"linux/intermezzo_fs.h",	"PRESTO_GETMOUNT",	0x7003},
+	{"linux/rtc.h",	"RTC_UIE_ON",	0x7003},
+	{"linux/intermezzo_fs.h",	"PRESTO_SETPID",	0x7004},
+	{"linux/rtc.h",	"RTC_UIE_OFF",	0x7004},
+	{"linux/rtc.h",	"RTC_PIE_ON",	0x7005},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLOSE_JOURNALF",	0x7006},
+	{"linux/rtc.h",	"RTC_PIE_OFF",	0x7006},
+	{"linux/intermezzo_fs.h",	"PRESTO_SET_FSETROOT",	0x7007},
+	{"linux/rtc.h",	"RTC_ALM_SET",	0x7007},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLEAR_FSETROOT",	0x7008},
+	{"linux/rtc.h",	"RTC_ALM_READ",	0x7008},
+	{"linux/intermezzo_fs.h",	"PRESTO_SETOPT",	0x7009},
+	{"linux/rtc.h",	"RTC_RD_TIME",	0x7009},
+	{"linux/intermezzo_fs.h",	"PRESTO_GETOPT",	0x700a},
+	{"linux/rtc.h",	"RTC_SET_TIME",	0x700a},
+	{"linux/intermezzo_fs.h",	"PRESTO_GET_KMLSIZE",	0x700b},
+	{"linux/rtc.h",	"RTC_IRQP_READ",	0x700b},
+	{"linux/intermezzo_fs.h",	"PRESTO_GET_RECNO",	0x700c},
+	{"linux/rtc.h",	"RTC_IRQP_SET",	0x700c},
+	{"linux/rtc.h",	"RTC_EPOCH_READ",	0x700d},
+	{"linux/rtc.h",	"RTC_EPOCH_SET",	0x700e},
+	{"linux/rtc.h",	"RTC_WIE_ON",	0x700f},
+	{"linux/rtc.h",	"RTC_WKALM_SET",	0x700f},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SETATTR",	0x7010},
+	{"linux/rtc.h",	"RTC_WIE_OFF",	0x7010},
+	{"linux/rtc.h",	"RTC_WKALM_RD",	0x7010},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_CREATE",	0x7011},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_LINK",	0x7012},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_UNLINK",	0x7013},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SYMLINK",	0x7014},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_MKDIR",	0x7015},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_RMDIR",	0x7016},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_MKNOD",	0x7017},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_RENAME",	0x7018},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_CLOSE",	0x701a},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_IOPEN",	0x701b},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SETEXTATTR",	0x701c},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_DELEXTATTR",	0x701d},
+	{"linux/intermezzo_fs.h",	"PRESTO_MARK",	0x7020},
+	{"linux/intermezzo_fs.h",	"PRESTO_RELEASE_PERMIT",	0x7021},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLEAR_ALL_FSETROOTS",	0x7022},
+	{"linux/intermezzo_fs.h",	"PRESTO_BACKFETCH_LML",	0x7023},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT",	0x7024},
+	{"linux/intermezzo_fs.h",	"PRESTO_CANCEL_LML",	0x7025},
+	{"linux/intermezzo_fs.h",	"PRESTO_RESET_FSET",	0x7026},
+	{"linux/intermezzo_fs.h",	"PRESTO_COMPLETE_CLOSES",	0x7027},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT_BEGIN",	0x7030},
+	{"linux/intermezzo_fs.h",	"PRESTO_DO_REINT",	0x7031},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT_END",	0x7032},
+	{"linux/nvram.h",	"NVRAM_INIT",	0x7040},
+	{"linux/nvram.h",	"NVRAM_SETCKS",	0x7041},
+	{"linux/ppdev.h",	"PPSETMODE",	0x7080},
+	{"linux/ppdev.h",	"PPRSTATUS",	0x7081},
+	{"linux/ppdev.h",	"PPRCONTROL",	0x7083},
+	{"linux/ppdev.h",	"PPWCONTROL",	0x7084},
+	{"linux/ppdev.h",	"PPRDATA",	0x7085},
+	{"linux/ppdev.h",	"PPWDATA",	0x7086},
+	{"linux/ppdev.h",	"PPCLAIM",	0x708b},
+	{"linux/ppdev.h",	"PPRELEASE",	0x708c},
+	{"linux/ppdev.h",	"PPYIELD",	0x708d},
+	{"linux/ppdev.h",	"PPFCONTROL",	0x708e},
+	{"linux/ppdev.h",	"PPEXCL",	0x708f},
+	{"linux/ppdev.h",	"PPDATADIR",	0x7090},
+	{"linux/ppdev.h",	"PPNEGOT",	0x7091},
+	{"linux/ppdev.h",	"PPWCTLONIRQ",	0x7092},
+	{"linux/ppdev.h",	"PPCLRIRQ",	0x7093},
+	{"linux/ppdev.h",	"PPSETPHASE",	0x7094},
+	{"linux/ppdev.h",	"PPGETTIME",	0x7095},
+	{"linux/ppdev.h",	"PPSETTIME",	0x7096},
+	{"linux/ppdev.h",	"PPGETMODES",	0x7097},
+	{"linux/ppdev.h",	"PPGETMODE",	0x7098},
+	{"linux/ppdev.h",	"PPGETPHASE",	0x7099},
+	{"linux/ppdev.h",	"PPGETFLAGS",	0x709a},
+	{"linux/ppdev.h",	"PPSETFLAGS",	0x709b},
+	{"linux/serio.h",	"SPIOCSTYPE",	0x7101},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES",	0x7180},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_LIST",	0x7181},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_CHECK",	0x7182},
+	{"linux/telephony.h",	"PHONE_RING",	0x7183},
+	{"linux/telephony.h",	"PHONE_HOOKSTATE",	0x7184},
+	{"linux/telephony.h",	"PHONE_MAXRINGS",	0x7185},
+	{"linux/telephony.h",	"PHONE_RING_CADENCE",	0x7186},
+	{"linux/telephony.h",	"OLD_PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_STOP",	0x7188},
+	{"linux/telephony.h",	"PHONE_REC_CODEC",	0x7189},
+	{"linux/telephony.h",	"PHONE_REC_START",	0x718a},
+	{"linux/telephony.h",	"PHONE_REC_STOP",	0x718b},
+	{"linux/telephony.h",	"PHONE_REC_DEPTH",	0x718c},
+	{"linux/telephony.h",	"PHONE_FRAME",	0x718d},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME",	0x718e},
+	{"linux/telephony.h",	"PHONE_REC_LEVEL",	0x718f},
+	{"linux/telephony.h",	"PHONE_PLAY_CODEC",	0x7190},
+	{"linux/telephony.h",	"PHONE_PLAY_START",	0x7191},
+	{"linux/telephony.h",	"PHONE_PLAY_STOP",	0x7192},
+	{"linux/telephony.h",	"PHONE_PLAY_DEPTH",	0x7193},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME",	0x7194},
+	{"linux/telephony.h",	"PHONE_PLAY_LEVEL",	0x7195},
+	{"linux/telephony.h",	"PHONE_DTMF_READY",	0x7196},
+	{"linux/telephony.h",	"PHONE_GET_DTMF",	0x7197},
+	{"linux/telephony.h",	"PHONE_GET_DTMF_ASCII",	0x7198},
+	{"linux/telephony.h",	"PHONE_DTMF_OOB",	0x7199},
+	{"linux/telephony.h",	"PHONE_EXCEPTION",	0x719a},
+	{"linux/telephony.h",	"PHONE_PLAY_TONE",	0x719b},
+	{"linux/telephony.h",	"PHONE_SET_TONE_ON_TIME",	0x719c},
+	{"linux/telephony.h",	"PHONE_SET_TONE_OFF_TIME",	0x719d},
+	{"linux/telephony.h",	"PHONE_GET_TONE_ON_TIME",	0x719e},
+	{"linux/telephony.h",	"PHONE_GET_TONE_OFF_TIME",	0x719f},
+	{"linux/telephony.h",	"PHONE_GET_TONE_STATE",	0x71a0},
+	{"linux/telephony.h",	"PHONE_BUSY",	0x71a1},
+	{"linux/telephony.h",	"PHONE_RINGBACK",	0x71a2},
+	{"linux/telephony.h",	"PHONE_DIALTONE",	0x71a3},
+	{"linux/telephony.h",	"PHONE_CPT_STOP",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_SET_STATE",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_GET_STATE",	0x71a5},
+	{"linux/telephony.h",	"PHONE_WINK_DURATION",	0x71a6},
+	{"linux/telephony.h",	"PHONE_QUERY_CODEC",	0x71a7},
+	{"linux/telephony.h",	"PHONE_PSTN_LINETEST",	0x71a8},
+	{"linux/telephony.h",	"PHONE_VAD",	0x71a9},
+	{"linux/telephony.h",	"PHONE_WINK",	0x71aa},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_RESET",	0x71c0},
+	{"linux/ixjuser.h",	"IXJCTL_CARDTYPE",	0x71c1},
+	{"linux/ixjuser.h",	"IXJCTL_SERIAL",	0x71c2},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_TYPE",	0x71c3},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_VERSION",	0x71c4},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_IDLE",	0x71c5},
+	{"linux/ixjuser.h",	"IXJCTL_TESTRAM",	0x71c6},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER",	0x71c7},
+	{"linux/ixjuser.h",	"IXJCTL_GET_FILTER_HIST",	0x71c8},
+	{"linux/ixjuser.h",	"IXJCTL_INIT_TONE",	0x71c9},
+	{"linux/ixjuser.h",	"IXJCTL_TONE_CADENCE",	0x71ca},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_START",	0x71cb},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_STOP",	0x71cc},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_GET_LEVEL",	0x71cd},
+	{"linux/ixjuser.h",	"IXJCTL_SET_LED",	0x71ce},
+	{"linux/ixjuser.h",	"IXJCTL_MIXER",	0x71cf},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_COEFF_SET",	0x71d0},
+	{"linux/ixjuser.h",	"IXJCTL_PORT",	0x71d1},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_AGAIN",	0x71d2},
+	{"linux/ixjuser.h",	"IXJCTL_PSTN_LINETEST",	0x71d3},
+	{"linux/ixjuser.h",	"IXJCTL_CID",	0x71d4},
+	{"linux/ixjuser.h",	"IXJCTL_POTS_PSTN",	0x71d5},
+	{"linux/ixjuser.h",	"IXJCTL_FILTER_CADENCE",	0x71d6},
+	{"linux/ixjuser.h",	"IXJCTL_PLAY_CID",	0x71d7},
+	{"linux/ixjuser.h",	"IXJCTL_VMWI",	0x71d8},
+	{"linux/ixjuser.h",	"IXJCTL_CIDCW",	0x71d9},
+	{"linux/ixjuser.h",	"IXJCTL_VERSION",	0x71da},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME_LINEAR",	0x71db},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME_LINEAR",	0x71dc},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER_RAW",	0x71dd},
+	{"linux/ixjuser.h",	"IXJCTL_HZ",	0x71e0},
+	{"linux/ixjuser.h",	"IXJCTL_RATE",	0x71e1},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_READ",	0x71e2},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_WRITTEN",	0x71e3},
+	{"linux/ixjuser.h",	"IXJCTL_READ_WAIT",	0x71e4},
+	{"linux/ixjuser.h",	"IXJCTL_WRITE_WAIT",	0x71e5},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_READ",	0x71e6},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_CLEAR",	0x71e7},
+	{"linux/ixjuser.h",	"IXJCTL_DTMF_PRESCALE",	0x71e8},
+	{"linux/ixjuser.h",	"IXJCTL_SIGCTL",	0x71e9},
+	{"linux/ixjuser.h",	"IXJCTL_SC_RXG",	0x71ea},
+	{"linux/ixjuser.h",	"IXJCTL_SC_TXG",	0x71eb},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_START",	0x71fd},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_STOP",	0x71fe},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_BOTH",	0x7201},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_SHORT",	0x7202},
+	{"linux/cdk.h",	"STL_BINTR",	0x7314},
+	{"linux/cdk.h",	"STL_BSTART",	0x7315},
+	{"linux/cdk.h",	"STL_BSTOP",	0x7316},
+	{"linux/cdk.h",	"STL_BRESET",	0x7317},
+	{"linux/cdk.h",	"STL_GETPFLAG",	0x7350},
+	{"linux/cdk.h",	"STL_SETPFLAG",	0x7351},
+	{"linux/if_ppp.h",	"PPPIOCGCHAN",	0x7437},
+	{"linux/if_ppp.h",	"PPPIOCATTCHAN",	0x7438},
+	{"linux/if_ppp.h",	"PPPIOCDISCONN",	0x7439},
+	{"linux/if_ppp.h",	"PPPIOCCONNECT",	0x743a},
+	{"linux/if_ppp.h",	"PPPIOCSMRRU",	0x743b},
+	{"linux/if_ppp.h",	"PPPIOCDETACH",	0x743c},
+	{"linux/if_ppp.h",	"PPPIOCATTACH",	0x743d},
+	{"linux/if_ppp.h",	"PPPIOCNEWUNIT",	0x743e},
+	{"linux/if_ppp.h",	"PPPIOCGIDLE",	0x743f},
+	{"linux/if_ppp.h",	"PPPIOCSDEBUG",	0x7440},
+	{"linux/if_ppp.h",	"PPPIOCGDEBUG",	0x7441},
+	{"linux/if_ppp.h",	"PPPIOCSACTIVE",	0x7446},
+	{"linux/if_ppp.h",	"PPPIOCSPASS",	0x7447},
+	{"linux/if_ppp.h",	"PPPIOCSNPMODE",	0x744b},
+	{"linux/if_ppp.h",	"PPPIOCGNPMODE",	0x744c},
+	{"linux/if_ppp.h",	"PPPIOCSCOMPRESS",	0x744d},
+	{"linux/if_ppp.h",	"PPPIOCXFERUNIT",	0x744e},
+	{"linux/if_ppp.h",	"PPPIOCSXASYNCMAP",	0x744f},
+	{"linux/if_ppp.h",	"PPPIOCGXASYNCMAP",	0x7450},
+	{"linux/if_ppp.h",	"PPPIOCSMAXCID",	0x7451},
+	{"linux/if_ppp.h",	"PPPIOCSMRU",	0x7452},
+	{"linux/if_ppp.h",	"PPPIOCGMRU",	0x7453},
+	{"linux/if_ppp.h",	"PPPIOCSRASYNCMAP",	0x7454},
+	{"linux/if_ppp.h",	"PPPIOCGRASYNCMAP",	0x7455},
+	{"linux/if_ppp.h",	"PPPIOCGUNIT",	0x7456},
+	{"linux/if_ppp.h",	"PPPIOCSASYNCMAP",	0x7457},
+	{"linux/if_ppp.h",	"PPPIOCGASYNCMAP",	0x7458},
+	{"linux/if_ppp.h",	"PPPIOCSFLAGS",	0x7459},
+	{"linux/if_ppp.h",	"PPPIOCGFLAGS",	0x745a},
+	{"linux/jffs.h",	"JFFS_PRINT_HASH",	0x745a},
+	{"linux/jffs.h",	"JFFS_PRINT_TREE",	0x745b},
+	{"linux/jffs.h",	"JFFS_GET_STATUS",	0x745c},
+	{"linux/isdn_ppp.h",	"PPPIOCGCALLINFO",	0x7480},
+	{"linux/isdn_ppp.h",	"PPPIOCBUNDLE",	0x7481},
+	{"linux/isdn_ppp.h",	"PPPIOCGMPFLAGS",	0x7482},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPFLAGS",	0x7483},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMTU",	0x7484},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMRU",	0x7485},
+	{"linux/isdn_ppp.h",	"PPPIOCGCOMPRESSORS",	0x7486},
+	{"linux/isdn_ppp.h",	"PPPIOCSCOMPRESSOR",	0x7487},
+	{"linux/isdn_ppp.h",	"PPPIOCGIFNAME",	0x7488},
+	{"linux/toshiba.h",	"TOSH_SMM",	0x7490},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID",	0x7501},
+	{"linux/smb_fs.h",	"SMB_IOC_NEWCONN",	0x7502},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID32",	0x7503},
+	{"linux/sonypi.h",	"SONYPI_IOCGBRT",	0x7600},
+	{"linux/sonypi.h",	"SONYPI_IOCSBRT",	0x7600},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETVERSION",	0x7601},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION_OLD",	0x7601},
+	{"linux/videodev.h",	"VIDIOCGCAP",	0x7601},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETVERSION",	0x7602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION_OLD",	0x7602},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT1CAP",	0x7602},
+	{"linux/videodev.h",	"VIDIOCGCHAN",	0x7602},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT1REM",	0x7603},
+	{"linux/videodev.h",	"VIDIOCSCHAN",	0x7603},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT2CAP",	0x7604},
+	{"linux/videodev.h",	"VIDIOCGTUNER",	0x7604},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT2REM",	0x7605},
+	{"linux/videodev.h",	"VIDIOCSTUNER",	0x7605},
+	{"linux/videodev.h",	"VIDIOCGPICT",	0x7606},
+	{"linux/sonypi.h",	"SONYPI_IOCGBATFLAGS",	0x7607},
+	{"linux/videodev.h",	"VIDIOCSPICT",	0x7607},
+	{"linux/sonypi.h",	"SONYPI_IOCGBLUE",	0x7608},
+	{"linux/videodev.h",	"VIDIOCCAPTURE",	0x7608},
+	{"linux/sonypi.h",	"SONYPI_IOCSBLUE",	0x7609},
+	{"linux/videodev.h",	"VIDIOCGWIN",	0x7609},
+	{"linux/videodev.h",	"VIDIOCSWIN",	0x760a},
+	{"linux/videodev.h",	"VIDIOCGFBUF",	0x760b},
+	{"linux/videodev.h",	"VIDIOCSFBUF",	0x760c},
+	{"linux/videodev.h",	"VIDIOCKEY",	0x760d},
+	{"linux/videodev.h",	"VIDIOCGFREQ",	0x760e},
+	{"linux/videodev.h",	"VIDIOCSFREQ",	0x760f},
+	{"linux/videodev.h",	"VIDIOCGAUDIO",	0x7610},
+	{"linux/videodev.h",	"VIDIOCSAUDIO",	0x7611},
+	{"linux/videodev.h",	"VIDIOCSYNC",	0x7612},
+	{"linux/videodev.h",	"VIDIOCMCAPTURE",	0x7613},
+	{"linux/videodev.h",	"VIDIOCGMBUF",	0x7614},
+	{"linux/videodev.h",	"VIDIOCGUNIT",	0x7615},
+	{"linux/videodev.h",	"VIDIOCGCAPTURE",	0x7616},
+	{"linux/videodev.h",	"VIDIOCSCAPTURE",	0x7617},
+	{"linux/videodev.h",	"VIDIOCSPLAYMODE",	0x7618},
+	{"linux/videodev.h",	"VIDIOCSWRITEMODE",	0x7619},
+	{"linux/videodev.h",	"VIDIOCGPLAYINFO",	0x761a},
+	{"linux/videodev.h",	"VIDIOCSMICROCODE",	0x761b},
+	{"linux/videodev.h",	"VIDIOCGVBIFMT",	0x761c},
+	{"linux/videodev.h",	"VIDIOCSVBIFMT",	0x761d},
+	{"linux/meye.h",	"MEYEIOC_G_PARAMS",	0x76c0},
+	{"linux/meye.h",	"MEYEIOC_S_PARAMS",	0x76c1},
+	{"linux/meye.h",	"MEYEIOC_QBUF_CAPT",	0x76c2},
+	{"linux/meye.h",	"MEYEIOC_SYNC",	0x76c3},
+	{"linux/meye.h",	"MEYEIOC_STILLCAPT",	0x76c4},
+	{"linux/meye.h",	"MEYEIOC_STILLJCAPT",	0x76c5},
+	{"linux/dn.h",	"SIOCSNETADDR",	0x89e0},
+	{"linux/dn.h",	"OSIOCSNETADDR",	0x89e0},
+	{"linux/dn.h",	"SIOCGNETADDR",	0x89e1},
+	{"linux/dn.h",	"OSIOCGNETADDR",	0x89e1},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_READY",	0x9360},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_FAIL",	0x9361},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_CATATONIC",	0x9362},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_PROTOVER",	0x9363},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_SETTIMEOUT",	0x9364},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_EXPIRE",	0x9365},
+	{"linux/auto_fs4.h",	"AUTOFS_IOC_EXPIRE_MULTI",	0x9366},
+	{"linux/nbd.h",	"NBD_SET_SOCK",	0xab00},
+	{"linux/nbd.h",	"NBD_SET_BLKSIZE",	0xab01},
+	{"linux/nbd.h",	"NBD_SET_SIZE",	0xab02},
+	{"linux/nbd.h",	"NBD_DO_IT",	0xab03},
+	{"linux/nbd.h",	"NBD_CLEAR_SOCK",	0xab04},
+	{"linux/nbd.h",	"NBD_CLEAR_QUE",	0xab05},
+	{"linux/nbd.h",	"NBD_PRINT_DEBUG",	0xab06},
+	{"linux/nbd.h",	"NBD_SET_SIZE_BLOCKS",	0xab07},
+	{"linux/nbd.h",	"NBD_DISCONNECT",	0xab08},
+	{"linux/raw.h",	"RAW_SETBIND",	0xac00},
+	{"linux/raw.h",	"RAW_GETBIND",	0xac01},
+	{"linux/if_pppox.h",	"PPPOEIOCSFWD",	0xb100},
+	{"linux/if_pppox.h",	"PPPOEIOCDFWD",	0xb101},
+	{"linux/reiserfs_fs.h",	"REISERFS_IOC_UNPACK",	0xcd01},
+	{"linux/lvm.h",	"VG_CREATE_OLD",	0xfe00},
+	{"linux/lvm.h",	"VG_REMOVE",	0xfe01},
+	{"linux/lvm.h",	"VG_EXTEND",	0xfe03},
+	{"linux/lvm.h",	"VG_REDUCE",	0xfe04},
+	{"linux/lvm.h",	"VG_STATUS",	0xfe05},
+	{"linux/lvm.h",	"VG_STATUS_GET_COUNT",	0xfe06},
+	{"linux/lvm.h",	"VG_STATUS_GET_NAMELIST",	0xfe07},
+	{"linux/lvm.h",	"VG_SET_EXTENDABLE",	0xfe08},
+	{"linux/lvm.h",	"VG_RENAME",	0xfe09},
+	{"linux/lvm.h",	"VG_CREATE",	0xfe0a},
+	{"linux/lvm.h",	"LV_CREATE",	0xfe20},
+	{"linux/lvm.h",	"LV_REMOVE",	0xfe21},
+	{"linux/lvm.h",	"LV_ACTIVATE",	0xfe22},
+	{"linux/lvm.h",	"LV_DEACTIVATE",	0xfe23},
+	{"linux/lvm.h",	"LV_EXTEND",	0xfe24},
+	{"linux/lvm.h",	"LV_REDUCE",	0xfe25},
+	{"linux/lvm.h",	"LV_STATUS_BYNAME",	0xfe26},
+	{"linux/lvm.h",	"LV_STATUS_BYINDEX",	0xfe27},
+	{"linux/lvm.h",	"LV_SET_ACCESS",	0xfe28},
+	{"linux/lvm.h",	"LV_SET_ALLOCATION",	0xfe29},
+	{"linux/lvm.h",	"LV_SET_STATUS",	0xfe2a},
+	{"linux/lvm.h",	"LE_REMAP",	0xfe2b},
+	{"linux/lvm.h",	"LV_SNAPSHOT_USE_RATE",	0xfe2c},
+	{"linux/lvm.h",	"LV_STATUS_BYDEV",	0xfe2e},
+	{"linux/lvm.h",	"LV_RENAME",	0xfe2f},
+	{"linux/lvm.h",	"LV_BMAP",	0xfe30},
+	{"linux/lvm.h",	"PV_STATUS",	0xfe40},
+	{"linux/lvm.h",	"PV_CHANGE",	0xfe41},
+	{"linux/lvm.h",	"PV_FLUSH",	0xfe42},
+	{"linux/lvm.h",	"PE_LOCK_UNLOCK",	0xfe50},
+	{"linux/lvm.h",	"LVM_GET_IOP_VERSION",	0xfe98},
+	{"linux/lvm.h",	"LVM_RESET",	0xfe99},
+	{"linux/lvm.h",	"LVM_LOCK_LVM",	0xff00},
diff --git a/strace-4.5.20/linux/sparc/ioctlent1.h b/strace-4.5.20/linux/sparc/ioctlent1.h
new file mode 100644
index 0000000..5d536cf
--- /dev/null
+++ b/strace-4.5.20/linux/sparc/ioctlent1.h
@@ -0,0 +1 @@
+#include "../svr4/ioctlent.h"
diff --git a/strace-4.5.20/linux/sparc/signalent.h b/strace-4.5.20/linux/sparc/signalent.h
new file mode 100644
index 0000000..e059b5d
--- /dev/null
+++ b/strace-4.5.20/linux/sparc/signalent.h
@@ -0,0 +1,32 @@
+	"SIG_0",	/* 0 */
+	"SIGHUP",	/* 1 */
+	"SIGINT",	/* 2 */
+	"SIGQUIT",	/* 3 */
+	"SIGILL",	/* 4 */
+	"SIGTRAP",	/* 5 */
+	"SIGABRT",	/* 6 */
+	"SIGEMT",	/* 7 */
+	"SIGFPE",	/* 8 */
+	"SIGKILL",	/* 9 */
+	"SIGBUS",	/* 10 */
+	"SIGSEGV",	/* 11 */
+	"SIGSYS",	/* 12 */
+	"SIGPIPE",	/* 13 */
+	"SIGALRM",	/* 14 */
+	"SIGTERM",	/* 15 */
+	"SIGURG",	/* 16 */
+	"SIGSTOP",	/* 17 */
+	"SIGTSTP",	/* 18 */
+	"SIGCONT",	/* 19 */
+	"SIGCHLD",	/* 20 */
+	"SIGTTIN",	/* 21 */
+	"SIGTTOU",	/* 22 */
+	"SIGIO",	/* 23 */
+	"SIGXCPU",	/* 24 */
+	"SIGXFSZ",	/* 25 */
+	"SIGVTALRM",	/* 26 */
+	"SIGPROF",	/* 27 */
+	"SIGWINCH",	/* 28 */
+	"SIGLOST",	/* 29 */
+	"SIGUSR1",	/* 30 */
+	"SIGUSR2",	/* 31 */
diff --git a/strace-4.5.20/linux/sparc/signalent1.h b/strace-4.5.20/linux/sparc/signalent1.h
new file mode 100644
index 0000000..6be7a26
--- /dev/null
+++ b/strace-4.5.20/linux/sparc/signalent1.h
@@ -0,0 +1 @@
+#include "../svr4/signalent.h"
diff --git a/strace-4.5.20/linux/sparc/syscall.h b/strace-4.5.20/linux/sparc/syscall.h
new file mode 100644
index 0000000..03e3a71
--- /dev/null
+++ b/strace-4.5.20/linux/sparc/syscall.h
@@ -0,0 +1,257 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+#include "dummy.h"
+
+int	sys_restart_syscall();
+int	sys_nosys();
+int	sys_nullsys();
+int	sys_errsys();
+
+/* 1.1 processes and protection */
+int	sys_gethostid(),sys_sethostname(),sys_gethostname(),sys_getpid();
+int	sys_setdomainname(),sys_getdomainname();
+int	sys_fork(),sys_clone(),sys_exit(),sys_execv(),sys_execve(),sys_wait4(),sys_waitpid();
+int	sys_setuid(),sys_setgid(),sys_getuid(),sys_setreuid(),sys_getgid(),sys_getgroups(),sys_setregid(),sys_setgroups();
+int	sys_getpgrp(),sys_setpgrp();
+int	sys_setsid(), sys_setpgid();
+int	sys_uname(), sys_sysinfo();
+
+/* 1.2 memory management */
+int	sys_brk(),sys_sbrk(),sys_sstk();
+int	sys_getpagesize(),sys_mmap(),sys_mctl(),sys_munmap(),sys_mprotect(),sys_mincore(), sys_mremap();
+int	sys_omsync(),sys_omadvise(), sys_madvise(),sys_mlockall();
+
+/* 1.3 signals */
+int	sys_sigvec(),sys_sigblock(),sys_sigsetmask(),sys_sigpause(),sys_sigstack(),sys_sigcleanup(), sys_sigreturn();
+int	sys_kill(), sys_killpg(), sys_sigpending(), sys_signal(), sys_sigaction(), sys_sigsuspend(), sys_sigprocmask();
+
+/* 1.4 timing and statistics */
+int	sys_gettimeofday(),sys_settimeofday();
+int	sys_adjtime(), sys_adjtimex();
+int	sys_getitimer(),sys_setitimer();
+
+/* 1.5 descriptors */
+int	sys_getdtablesize(),sys_dup(),sys_dup2(),sys_close();
+int	sys_oldselect(),sys_select(),sys_getdopt(),sys_setdopt(),sys_fcntl(),sys_flock();
+int	sys_epoll_create(), sys_epoll_ctl(), sys_epoll_wait();
+
+/* 1.6 resource controls */
+int	sys_getpriority(),sys_setpriority(),sys_getrusage(),sys_getrlimit(),sys_setrlimit();
+int	sys_oldquota(), sys_quotactl();
+int	sys_rtschedule(), sys_personality();
+
+/* 1.7 system operation support */
+int	sys_mount(),sys_unmount(),sys_swapon(),sys_pivotroot();
+int	sys_sync(),sys_reboot();
+int	sys_sysacct();
+int	sys_auditsys();
+
+/* 2.1 generic operations */
+int	sys_read(),sys_write(),sys_readv(),sys_writev(),sys_ioctl();
+
+/* 2.1.1 asynch operations */
+int	sys_aioread(), sys_aiowrite(), sys_aiowait(), sys_aiocancel();
+
+/* 2.2 file system */
+int	sys_chdir(),sys_chroot();
+int	sys_fchdir(),sys_fchroot();
+int	sys_mkdir(),sys_rmdir(),sys_getdirentries();
+int	sys_getdents(), sys_getdents64(), sys_readdir();
+int	sys_creat(),sys_open(),sys_mknod(),sys_unlink(),sys_stat(),sys_fstat(),sys_lstat();
+int	sys_chown(),sys_fchown(),sys_chmod(),sys_fchmod(),sys_utimes();
+int	sys_link(),sys_symlink(),sys_readlink(),sys_rename();
+int	sys_lseek(), sys_llseek();
+int	sys_truncate(),sys_ftruncate(),sys_access(),sys_fsync(),sys_sysctl();
+int	sys_statfs(),sys_fstatfs(),sys_msync();
+int sys_stat64(), sys_lstat64(), sys_fstat64();
+int sys_truncate64(), sys_ftruncate64();
+int sys_semtimedop();
+
+/* 2.3 communications */
+int	sys_socket(),sys_bind(),sys_listen(),sys_accept(),sys_connect();
+int	sys_socketpair(),sys_sendto(),sys_send(),sys_recvfrom(),sys_recv();
+int	sys_sendmsg(),sys_recvmsg(),sys_shutdown(),sys_setsockopt(),sys_getsockopt();
+int	sys_getsockname(),sys_getpeername(),sys_pipe(),sys_accept4();
+int	sys_recvmmsg();
+
+int sys_setresuid(), sys_setresgid(), sys_getresuid(), sys_getresgid(), sys_pread();
+int sys_pwrite(), sys_getcwd();
+int sys_sigaltstack(), sys_rt_sigprocmask(), sys_rt_sigaction();
+int sys_rt_sigpending(), sys_rt_sigsuspend(), sys_rt_sigqueueinfo();
+int sys_rt_sigtimedwait(), sys_prctl(), sys_poll();
+int sys_sendfile(), sys_query_module(), sys_capget(), sys_capset();
+int sys_create_module(), sys_init_module();
+int sys_setgroups32(), sys_getgroups32();
+
+int	sys_umask();		/* XXX */
+
+int sys_sched_setparam(), sys_sched_getparam();
+int sys_sched_setscheduler(), sys_sched_getscheduler(), sys_sched_yield();
+int sys_sched_get_priority_max(), sys_sched_get_priority_min();
+
+/* 2.3.1 SystemV-compatible IPC */
+int	sys_semsys(), sys_semctl(), sys_semget();
+#define SYS_semsys_subcall	200
+#define SYS_semsys_nsubcalls	3
+#define SYS_semctl		(SYS_semsys_subcall + 0)
+#define SYS_semget		(SYS_semsys_subcall + 1)
+#define SYS_semop		(SYS_semsys_subcall + 2)
+int	sys_msgsys(), sys_msgget(), sys_msgctl(), sys_msgrcv(), sys_msgsnd();
+#define SYS_msgsys_subcall	203
+#define SYS_msgsys_nsubcalls	4
+#define SYS_msgget		(SYS_msgsys_subcall + 0)
+#define SYS_msgctl		(SYS_msgsys_subcall + 1)
+#define SYS_msgrcv		(SYS_msgsys_subcall + 2)
+#define SYS_msgsnd		(SYS_msgsys_subcall + 3)
+int	sys_shmsys(), sys_shmat(), sys_shmctl(), sys_shmdt(), sys_shmget();
+#define SYS_shmsys_subcall	207
+#define SYS_shmsys_nsubcalls	4
+#define	SYS_shmat		(SYS_shmsys_subcall + 0)
+#define SYS_shmctl		(SYS_shmsys_subcall + 1)
+#define SYS_shmdt		(SYS_shmsys_subcall + 2)
+#define SYS_shmget		(SYS_shmsys_subcall + 3)
+
+/* 2.4 processes */
+int	sys_ptrace();
+
+/* 2.5 terminals */
+
+/* emulations for backwards compatibility */
+int	sys_otime();		/* now use gettimeofday */
+int	sys_ostime();		/* now use settimeofday */
+int	sys_oalarm();		/* now use setitimer */
+int	sys_outime();		/* now use utimes */
+int	sys_opause();		/* now use sigpause */
+int	sys_onice();		/* now use setpriority,getpriority */
+int	sys_oftime();		/* now use gettimeofday */
+int	sys_osetpgrp();		/* ??? */
+int	sys_otimes();		/* now use getrusage */
+int	sys_ossig();		/* now use sigvec, etc */
+int	sys_ovlimit();		/* now use setrlimit,getrlimit */
+int	sys_ovtimes();		/* now use getrusage */
+int	sys_osetuid();		/* now use setreuid */
+int	sys_osetgid();		/* now use setregid */
+int	sys_ostat();		/* now use stat */
+int	sys_ofstat();		/* now use fstat */
+
+/* BEGIN JUNK */
+int	sys_profil();		/* 'cuz sys calls are interruptible */
+int	sys_vhangup();		/* should just do in sys_exit() */
+int	sys_vfork();		/* XXX - was awaiting fork w/ copy on write */
+int	sys_ovadvise();		/* awaiting new madvise */
+int	sys_indir();		/* indirect system call */
+int	sys_ustat();		/* System V compatibility */
+int	sys_owait();		/* should use wait4 interface */
+int	sys_owait3();		/* should use wait4 interface */
+int	sys_umount();		/* still more Sys V (and 4.2?) compatibility */
+int	sys_umount2();
+int	sys_pathconf();		/* posix */
+int	sys_fpathconf();		/* posix */
+int	sys_sysconf();		/* posix */
+int     sys_delete_module();
+int sys_debug();
+/* END JUNK */
+
+int	sys_vtrace();		/* kernel event tracing */
+
+/* nfs */
+int	sys_async_daemon();		/* client async daemon */
+int	sys_nfs_svc();		/* run nfs server */
+int	sys_nfs_getfh();		/* get file handle */
+int	sys_exportfs();		/* export file systems */
+
+int  	sys_rfssys();		/* RFS-related calls */
+
+int	sys_getmsg();
+int	sys_putmsg();
+int	sys_poll();
+
+int	sys_vpixsys();		/* VP/ix system calls */
+
+int	sys_sendfile64(), sys_futex(), sys_gettid(), sys_sched_setaffinity();
+int	sys_sched_getaffinity(), sys_setxattr(), sys_lsetxattr();
+int	sys_fsetxattr(), sys_getxattr(), sys_lgetxattr(), sys_fgetxattr();
+int	sys_listxattr(), sys_llistxattr(), sys_flistxattr();
+int	sys_removexattr(), sys_lremovexattr(), sys_fremovexattr();
+int	sys_remap_file_pages(), sys_readahead(), sys_tgkill(), sys_statfs64();
+int	sys_fstatfs64(), sys_clock_settime(), sys_clock_gettime();
+int	sys_clock_getres(), sys_clock_nanosleep(), sys_nanosleep();
+int	sys_timer_create(), sys_timer_settime(), sys_timer_gettime();
+
+int	sys_io_setup(), sys_io_destroy(), sys_io_submit(), sys_io_cancel(), sys_io_getevents();
+int	sys_mq_open(), sys_mq_unlink(), sys_mq_timedsend(), sys_mq_timedreceive(), sys_mq_notify(), sys_mq_getsetattr();
+int	sys_waitid();
+int	sys_openat(), sys_mkdirat(), sys_mknodat(), sys_fchownat(), sys_futimesat(), sys_newfstatat(), sys_unlinkat(), sys_renameat(), sys_linkat(), sys_symlinkat(), sys_readlinkat(), sys_fchmodat(),	sys_faccessat();
+int	sys_pselect6(), sys_ppoll();
+int	sys_unshare();
+int	sys_move_pages(), sys_getcpu();
+int	sys_epoll_pwait();
+int	sys_signalfd(), sys_timerfd(), sys_eventfd();
+
+#  define SYS_socket_subcall	353
+#define SYS_sub_socket		(SYS_socket_subcall + 1)
+#define SYS_sub_bind		(SYS_socket_subcall + 2)
+#define SYS_sub_connect		(SYS_socket_subcall + 3)
+#define SYS_sub_listen		(SYS_socket_subcall + 4)
+#define SYS_sub_accept		(SYS_socket_subcall + 5)
+#define SYS_sub_getsockname	(SYS_socket_subcall + 6)
+#define SYS_sub_getpeername	(SYS_socket_subcall + 7)
+#define SYS_sub_socketpair	(SYS_socket_subcall + 8)
+#define SYS_sub_send		(SYS_socket_subcall + 9)
+#define SYS_sub_recv		(SYS_socket_subcall + 10)
+#define SYS_sub_sendto		(SYS_socket_subcall + 11)
+#define SYS_sub_recvfrom	(SYS_socket_subcall + 12)
+#define SYS_sub_shutdown	(SYS_socket_subcall + 13)
+#define SYS_sub_setsockopt	(SYS_socket_subcall + 14)
+#define SYS_sub_getsockopt	(SYS_socket_subcall + 15)
+#define SYS_sub_sendmsg		(SYS_socket_subcall + 16)
+#define SYS_sub_recvmsg		(SYS_socket_subcall + 17)
+#define SYS_sub_accept4		(SYS_socket_subcall + 18)
+#define SYS_sub_recvmmsg	(SYS_socket_subcall + 19)
+
+#define SYS_socket_nsubcalls	20
+
+#define SYS_ipc_subcall		((SYS_socket_subcall)+(SYS_socket_nsubcalls))
+#define SYS_sub_semop		(SYS_ipc_subcall + 1)
+#define SYS_sub_semget		(SYS_ipc_subcall + 2)
+#define SYS_sub_semctl		(SYS_ipc_subcall + 3)
+#define SYS_sub_semtimedop	(SYS_ipc_subcall + 4)
+#define SYS_sub_msgsnd		(SYS_ipc_subcall + 11)
+#define SYS_sub_msgrcv		(SYS_ipc_subcall + 12)
+#define SYS_sub_msgget		(SYS_ipc_subcall + 13)
+#define SYS_sub_msgctl		(SYS_ipc_subcall + 14)
+#define SYS_sub_shmat		(SYS_ipc_subcall + 21)
+#define SYS_sub_shmdt		(SYS_ipc_subcall + 22)
+#define SYS_sub_shmget		(SYS_ipc_subcall + 23)
+#define SYS_sub_shmctl		(SYS_ipc_subcall + 24)
+
+#define SYS_ipc_nsubcalls	25
+
+#include "syscall1.h"
diff --git a/strace-4.5.20/linux/sparc/syscall.h.2 b/strace-4.5.20/linux/sparc/syscall.h.2
new file mode 100644
index 0000000..19d3b4a
--- /dev/null
+++ b/strace-4.5.20/linux/sparc/syscall.h.2
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "dummy.h"
+
+/* primary syscalls */
+
+int sys_setup(), sys_exit(), sys_fork(), sys_read(), sys_write();
+int sys_open(), sys_close(), sys_waitpid(), sys_creat(), sys_link();
+int sys_unlink(), sys_execve(), sys_chdir(), sys_time(), sys_mknod();
+int sys_chmod(), sys_chown(), sys_break(), sys_oldstat();
+int sys_lseek(), sys_getpid(), sys_mount(), sys_umount();
+int sys_setuid(), sys_getuid(), sys_stime(), sys_ptrace();
+int sys_alarm(), sys_oldfstat(), sys_pause(), sys_utime();
+int sys_stty(), sys_gtty(), sys_access(), sys_nice(), sys_ftime();
+int sys_sync(), sys_kill(), sys_rename(), sys_mkdir(), sys_rmdir();
+int sys_dup(), sys_pipe(), sys_times(), sys_prof(), sys_brk();
+int sys_setgid(), sys_getgid(), sys_signal(), sys_geteuid();
+int sys_getegid(), sys_acct(), sys_phys(), sys_lock(), sys_ioctl();
+int sys_fcntl(), sys_mpx(), sys_setpgid(), sys_ulimit();
+int sys_olduname(), sys_umask(), sys_chroot(), sys_ustat();
+int sys_dup2(), sys_getppid(), sys_getpgrp(), sys_setsid();
+int sys_sigaction(), sys_siggetmask(), sys_sigsetmask();
+int sys_setreuid(), sys_setregid(), sys_sigsuspend();
+int sys_sigpending(), sys_sethostname(), sys_setrlimit();
+int sys_getrlimit(), sys_getrusage(), sys_gettimeofday();
+int sys_settimeofday(), sys_getgroups(), sys_setgroups();
+int sys_oldselect(), sys_symlink(), sys_oldlstat(), sys_readlink();
+int sys_uselib(), sys_swapon(), sys_reboot(), sys_readdir();
+int sys_mmap(), sys_munmap(), sys_truncate(), sys_ftruncate();
+int sys_fchmod(), sys_fchown(), sys_getpriority();
+int sys_setpriority(), sys_profil(), sys_statfs(), sys_fstatfs();
+int sys_ioperm(), sys_socketcall(), sys_syslog(), sys_setitimer();
+int sys_getitimer(), sys_stat(), sys_lstat(), sys_fstat();
+int sys_uname(), sys_iopl(), sys_vhangup(), sys_idle(), sys_vm86();
+int sys_wait4(), sys_swapoff(), sys_ipc(), sys_sigreturn();
+int sys_fsync(), sys_clone(), sys_setdomainname(), sys_sysinfo();
+int sys_modify_ldt(), sys_adjtimex(), sys_mprotect();
+int sys_sigprocmask(), sys_create_module(), sys_init_module();
+int sys_delete_module(), sys_get_kernel_syms(), sys_quotactl();
+int sys_getpgid(), sys_fchdir(), sys_bdflush();
+int sys_sysfs(), sys_personality(), sys_afs_syscall();
+int sys_setfsuid(), sys_setfsgid(), sys_llseek();
+int sys_getdents(), sys_flock(), sys_msync();
+int sys_readv(), sys_writev(), sys_select();
+int sys_getsid(), sys_fdatasync(), sys_sysctl();
+int sys_mlock(), sys_munlock(), sys_mlockall(), sys_munlockall();
+int sys_sched_setparam(), sys_sched_getparam();
+int sys_sched_setscheduler(), sys_sched_getscheduler(), sys_sched_yield();
+int sys_sched_get_priority_max(), sys_sched_get_priority_min();
+int sys_sched_rr_get_interval(), sys_nanosleep(), sys_mremap();
+int sys_sendmsg(), sys_recvmsg();
+
+/* sys_socketcall subcalls */
+
+int sys_socket(), sys_bind(), sys_connect(), sys_listen();
+int sys_accept(), sys_getsockname(), sys_getpeername(), sys_socketpair();
+int sys_send(), sys_recv(), sys_sendto(), sys_recvfrom();
+int sys_shutdown(), sys_setsockopt(), sys_getsockopt();
+
+#ifndef ALPHA
+#define SYS_socket_subcall	180
+#define SYS_socket		(SYS_socket_subcall + 1)
+#define SYS_bind		(SYS_socket_subcall + 2)
+#define SYS_connect		(SYS_socket_subcall + 3)
+#define SYS_listen		(SYS_socket_subcall + 4)
+#define SYS_accept		(SYS_socket_subcall + 5)
+#define SYS_getsockname		(SYS_socket_subcall + 6)
+#define SYS_getpeername		(SYS_socket_subcall + 7)
+#define SYS_socketpair		(SYS_socket_subcall + 8)
+#define SYS_send		(SYS_socket_subcall + 9)
+#define SYS_recv		(SYS_socket_subcall + 10)
+#define SYS_sendto		(SYS_socket_subcall + 11)
+#define SYS_recvfrom		(SYS_socket_subcall + 12)
+#define SYS_shutdown		(SYS_socket_subcall + 13)
+#define SYS_setsockopt		(SYS_socket_subcall + 14)
+#define SYS_getsockopt		(SYS_socket_subcall + 15)
+
+#define SYS_socket_nsubcalls	16
+#endif /* !ALPHA */
+
+/* sys_ipc subcalls */
+
+int sys_semget(), sys_semctl();
+int sys_msgsnd(), sys_msgrcv(), sys_msgget(), sys_msgctl();
+int sys_shmat(), sys_shmdt(), sys_shmget(), sys_shmctl();
+
+#ifndef ALPHA
+#define SYS_ipc_subcall		200
+#define SYS_semop		(SYS_ipc_subcall + 1)
+#define SYS_semget		(SYS_ipc_subcall + 2)
+#define SYS_semctl		(SYS_ipc_subcall + 3)
+#define SYS_msgsnd		(SYS_ipc_subcall + 11)
+#define SYS_msgrcv		(SYS_ipc_subcall + 12)
+#define SYS_msgget		(SYS_ipc_subcall + 13)
+#define SYS_msgctl		(SYS_ipc_subcall + 14)
+#define SYS_shmat		(SYS_ipc_subcall + 21)
+#define SYS_shmdt		(SYS_ipc_subcall + 22)
+#define SYS_shmget		(SYS_ipc_subcall + 23)
+#define SYS_shmctl		(SYS_ipc_subcall + 24)
+
+#define SYS_ipc_nsubcalls	25
+#endif /* ALPHA */
+
+#ifdef ALPHA
+int osf_statfs(), osf_fstatfs(), sys_getpagesize(), sys_madvise();
+int sys_setpgrp(), sys_gethostname(), sys_getdtablesize(), sys_utimes();
+#endif
+
+int sys__llseek(), sys__newselect(), sys__sysctl(), sys_klog();
+int sys_prev_fstat(), sys_prev_lstat(), sys_prev_mknod(), sys_prev_stat();
+int sys_prev_ustat(), sys_syscall_flock(), sys_syscall_readv();
+int sys_syscall_writev();
+
+#include "syscall1.h"
diff --git a/strace-4.5.20/linux/sparc/syscall1.h b/strace-4.5.20/linux/sparc/syscall1.h
new file mode 100644
index 0000000..a4d7af3
--- /dev/null
+++ b/strace-4.5.20/linux/sparc/syscall1.h
@@ -0,0 +1,500 @@
+/*
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#define	SOLARIS_syscall	0
+#define	SOLARIS_exit	1
+#define	SOLARIS_fork	2
+#define	SOLARIS_read	3
+#define	SOLARIS_write	4
+#define	SOLARIS_open	5
+#define	SOLARIS_close	6
+#define	SOLARIS_wait	7
+#define	SOLARIS_creat	8
+#define	SOLARIS_link	9
+#define	SOLARIS_unlink	10
+#define	SOLARIS_exec	11
+#define	SOLARIS_chdir	12
+#define	SOLARIS_time	13
+#define	SOLARIS_mknod	14
+#define	SOLARIS_chmod	15
+#define	SOLARIS_chown	16
+#define	SOLARIS_brk		17
+#define	SOLARIS_stat	18
+#define	SOLARIS_lseek	19
+#define	SOLARIS_getpid	20
+#define	SOLARIS_mount	21
+#define	SOLARIS_umount	22
+#define	SOLARIS_setuid	23
+#define	SOLARIS_getuid	24
+#define	SOLARIS_stime	25
+#define	SOLARIS_ptrace	26
+#define	SOLARIS_alarm	27
+#define	SOLARIS_fstat	28
+#define	SOLARIS_pause	29
+#define	SOLARIS_utime	30
+#define	SOLARIS_stty	31
+#define	SOLARIS_gtty	32
+#define	SOLARIS_access	33
+#define	SOLARIS_nice	34
+#define	SOLARIS_statfs	35
+#define	SOLARIS_sync	36
+#define	SOLARIS_kill	37
+#define	SOLARIS_fstatfs	38
+#define	SOLARIS_pgrpsys	39
+#define	SOLARIS_xenix	40
+#define	SOLARIS_dup		41
+#define	SOLARIS_pipe	42
+#define	SOLARIS_times	43
+#define	SOLARIS_profil	44
+#define	SOLARIS_plock	45
+#define	SOLARIS_setgid	46
+#define	SOLARIS_getgid	47
+#define	SOLARIS_signal	48
+#define	SOLARIS_msgsys	49
+#define	SOLARIS_syssun	50
+#define	SOLARIS_acct	51
+#define	SOLARIS_shmsys	52
+#define	SOLARIS_semsys	53
+#define	SOLARIS_ioctl	54
+#define	SOLARIS_uadmin	55
+#define	SOLARIS_utssys	57
+#define	SOLARIS_fdsync	58
+#define	SOLARIS_execve	59
+#define	SOLARIS_umask	60
+#define	SOLARIS_chroot	61
+#define	SOLARIS_fcntl	62
+#define	SOLARIS_ulimit	63
+#define	SOLARIS_rmdir	79
+#define	SOLARIS_mkdir	80
+#define	SOLARIS_getdents	81
+#define	SOLARIS_sysfs	84
+#define	SOLARIS_getmsg	85
+#define	SOLARIS_putmsg	86
+#define	SOLARIS_poll	87
+#define	SOLARIS_lstat	88
+#define	SOLARIS_symlink	89
+#define	SOLARIS_readlink	90
+#define	SOLARIS_setgroups	91
+#define	SOLARIS_getgroups	92
+#define	SOLARIS_fchmod	93
+#define	SOLARIS_fchown	94
+#define	SOLARIS_sigprocmask	95
+#define	SOLARIS_sigsuspend	96
+#define	SOLARIS_sigaltstack	97
+#define	SOLARIS_sigaction	98
+#define	SOLARIS_sigpending	99
+#define	SOLARIS_context	100
+#define	SOLARIS_evsys	101
+#define	SOLARIS_evtrapret	102
+#define	SOLARIS_statvfs	103
+#define	SOLARIS_fstatvfs	104
+#define	SOLARIS_nfssys	106
+#define	SOLARIS_waitsys	107
+#define	SOLARIS_sigsendsys	108
+#define	SOLARIS_hrtsys	109
+#define	SOLARIS_acancel	110
+#define	SOLARIS_async	111
+#define	SOLARIS_priocntlsys	112
+#define	SOLARIS_pathconf	113
+#define	SOLARIS_mincore	114
+#define	SOLARIS_mmap	115
+#define	SOLARIS_mprotect	116
+#define	SOLARIS_munmap	117
+#define	SOLARIS_fpathconf	118
+#define	SOLARIS_vfork	119
+#define	SOLARIS_fchdir	120
+#define	SOLARIS_readv	121
+#define	SOLARIS_writev	122
+#define	SOLARIS_xstat	123
+#define	SOLARIS_lxstat	124
+#define	SOLARIS_fxstat	125
+#define	SOLARIS_xmknod	126
+#define	SOLARIS_clocal	127
+#define	SOLARIS_setrlimit	128
+#define	SOLARIS_getrlimit	129
+#define	SOLARIS_lchown	130
+#define	SOLARIS_memcntl	131
+#define	SOLARIS_getpmsg	132
+#define	SOLARIS_putpmsg	133
+#define	SOLARIS_rename	134
+#define	SOLARIS_uname	135
+#define	SOLARIS_setegid	136
+#define	SOLARIS_sysconfig	137
+#define	SOLARIS_adjtime	138
+#define	SOLARIS_systeminfo	139
+#define	SOLARIS_seteuid	141
+#define	SOLARIS_vtrace	142
+#define	SOLARIS_fork1	143
+#define	SOLARIS_sigtimedwait	144
+#define	SOLARIS_lwp_info	145
+#define	SOLARIS_yield	146
+#define	SOLARIS_lwp_sema_wait	147
+#define	SOLARIS_lwp_sema_post	148
+#define	SOLARIS_modctl	152
+#define	SOLARIS_fchroot	153
+#define	SOLARIS_utimes	154
+#define	SOLARIS_vhangup	155
+#define	SOLARIS_gettimeofday	156
+#define	SOLARIS_getitimer		157
+#define	SOLARIS_setitimer		158
+#define	SOLARIS_lwp_create		159
+#define	SOLARIS_lwp_exit		160
+#define	SOLARIS_lwp_suspend		161
+#define	SOLARIS_lwp_continue	162
+#define	SOLARIS_lwp_kill		163
+#define	SOLARIS_lwp_self		164
+#define	SOLARIS_lwp_setprivate	165
+#define	SOLARIS_lwp_getprivate	166
+#define	SOLARIS_lwp_wait		167
+#define	SOLARIS_lwp_mutex_unlock	168
+#define	SOLARIS_lwp_mutex_lock	169
+#define	SOLARIS_lwp_cond_wait	170
+#define	SOLARIS_lwp_cond_signal	171
+#define	SOLARIS_lwp_cond_broadcast	172
+#define	SOLARIS_pread		173
+#define	SOLARIS_pwrite		174
+#define	SOLARIS_llseek		175
+#define	SOLARIS_inst_sync		176
+#define	SOLARIS_kaio		178
+#define	SOLARIS_tsolsys		184
+#define	SOLARIS_acl			185
+#define	SOLARIS_auditsys		186
+#define	SOLARIS_processor_bind	187
+#define	SOLARIS_processor_info	188
+#define	SOLARIS_p_online		189
+#define	SOLARIS_sigqueue		190
+#define	SOLARIS_clock_gettime	191
+#define	SOLARIS_clock_settime	192
+#define	SOLARIS_clock_getres	193
+#define	SOLARIS_timer_create	194
+#define	SOLARIS_timer_delete	195
+#define	SOLARIS_timer_settime	196
+#define	SOLARIS_timer_gettime	197
+#define	SOLARIS_timer_getoverrun	198
+#define	SOLARIS_nanosleep		199
+#define	SOLARIS_facl		200
+#define	SOLARIS_door		201
+#define	SOLARIS_setreuid		202
+#define	SOLARIS_setregid		203
+#define	SOLARIS_signotifywait	210
+#define	SOLARIS_lwp_sigredirect	211
+#define	SOLARIS_lwp_alarm		212
+
+#include "dummy2.h"
+
+extern int solaris_syscall();
+extern int solaris_exit();
+extern int solaris_fork();
+extern int solaris_read();
+extern int solaris_write();
+extern int solaris_open();
+extern int solaris_close();
+extern int solaris_wait();
+extern int solaris_creat();
+extern int solaris_link();
+extern int solaris_unlink();
+extern int solaris_exec();
+extern int solaris_chdir();
+extern int solaris_time();
+extern int solaris_mknod();
+extern int solaris_chmod();
+extern int solaris_chown();
+extern int solaris_brk();
+extern int solaris_stat();
+extern int solaris_lseek();
+extern int solaris_getpid();
+extern int solaris_mount();
+extern int solaris_umount();
+extern int solaris_setuid();
+extern int solaris_getuid();
+extern int solaris_stime();
+extern int solaris_ptrace();
+extern int solaris_alarm();
+extern int solaris_fstat();
+extern int solaris_pause();
+extern int solaris_utime();
+extern int solaris_stty();
+extern int solaris_gtty();
+extern int solaris_access();
+extern int solaris_nice();
+extern int solaris_statfs();
+extern int solaris_sync();
+extern int solaris_kill();
+extern int solaris_fstatfs();
+extern int solaris_pgrpsys();
+extern int solaris_setpgrp();
+extern int solaris_xenix();
+extern int solaris_syssgi();
+extern int solaris_dup();
+extern int solaris_pipe();
+extern int solaris_times();
+extern int solaris_profil();
+extern int solaris_plock();
+extern int solaris_setgid();
+extern int solaris_getgid();
+extern int solaris_sigcall();
+extern int solaris_msgsys();
+extern int solaris_syssun();
+extern int solaris_sysi86();
+extern int solaris_sysmips();
+extern int solaris_sysmachine();
+extern int solaris_acct();
+extern int solaris_shmsys();
+extern int solaris_semsys();
+extern int solaris_ioctl();
+extern int solaris_uadmin();
+extern int solaris_utssys();
+extern int solaris_fdsync();
+extern int solaris_execve();
+extern int solaris_umask();
+extern int solaris_chroot();
+extern int solaris_fcntl();
+extern int solaris_ulimit();
+extern int solaris_rmdir();
+extern int solaris_mkdir();
+extern int solaris_getdents();
+extern int solaris_sysfs();
+extern int solaris_getmsg();
+extern int solaris_putmsg();
+extern int solaris_poll();
+extern int solaris_lstat();
+extern int solaris_symlink();
+extern int solaris_readlink();
+extern int solaris_setgroups();
+extern int solaris_getgroups();
+extern int solaris_fchmod();
+extern int solaris_fchown();
+extern int solaris_sigprocmask();
+extern int solaris_sigsuspend();
+extern int solaris_sigaltstack();
+extern int solaris_sigaction();
+extern int solaris_spcall();
+extern int solaris_context();
+extern int solaris_evsys();
+extern int solaris_evtrapret();
+extern int solaris_statvfs();
+extern int solaris_fstatvfs();
+extern int solaris_nfssys();
+extern int solaris_waitid();
+extern int solaris_sigsendsys();
+extern int solaris_hrtsys();
+extern int solaris_acancel();
+extern int solaris_async();
+extern int solaris_priocntlsys();
+extern int solaris_pathconf();
+extern int solaris_mincore();
+extern int solaris_mmap();
+extern int solaris_mprotect();
+extern int solaris_munmap();
+extern int solaris_fpathconf();
+extern int solaris_vfork();
+extern int solaris_fchdir();
+extern int solaris_readv();
+extern int solaris_writev();
+extern int solaris_xstat();
+extern int solaris_lxstat();
+extern int solaris_fxstat();
+extern int solaris_xmknod();
+extern int solaris_clocal();
+extern int solaris_setrlimit();
+extern int solaris_getrlimit();
+extern int solaris_lchown();
+extern int solaris_memcntl();
+extern int solaris_getpmsg();
+extern int solaris_putpmsg();
+extern int solaris_rename();
+extern int solaris_uname();
+extern int solaris_setegid();
+extern int solaris_sysconfig();
+extern int solaris_adjtime();
+extern int solaris_sysinfo();
+extern int solaris_seteuid();
+extern int solaris_vtrace();
+extern int solaris_fork1();
+extern int solaris_sigtimedwait();
+extern int solaris_lwp_info();
+extern int solaris_yield();
+extern int solaris_lwp_sema_wait();
+extern int solaris_lwp_sema_post();
+extern int solaris_modctl();
+extern int solaris_fchroot();
+extern int solaris_utimes();
+extern int solaris_vhangup();
+extern int solaris_gettimeofday();
+extern int solaris_getitimer();
+extern int solaris_setitimer();
+extern int solaris_lwp_create();
+extern int solaris_lwp_exit();
+extern int solaris_lwp_suspend();
+extern int solaris_lwp_continue();
+extern int solaris_lwp_kill();
+extern int solaris_lwp_self();
+extern int solaris_lwp_setprivate();
+extern int solaris_lwp_getprivate();
+extern int solaris_lwp_wait();
+extern int solaris_lwp_mutex_unlock();
+extern int solaris_lwp_mutex_lock();
+extern int solaris_lwp_cond_wait();
+extern int solaris_lwp_cond_signal();
+extern int solaris_lwp_cond_broadcast();
+extern int solaris_pread();
+extern int solaris_pwrite();
+extern int solaris_llseek();
+extern int solaris_inst_sync();
+extern int solaris_auditsys();
+extern int solaris_processor_bind();
+extern int solaris_processor_info();
+extern int solaris_p_online();
+extern int solaris_sigqueue();
+extern int solaris_clock_gettime();
+extern int solaris_clock_settime();
+extern int solaris_clock_getres();
+extern int solaris_timer_create();
+extern int solaris_timer_delete();
+extern int solaris_timer_settime();
+extern int solaris_timer_gettime();
+extern int solaris_timer_getoverrun();
+extern int solaris_nanosleep();
+
+/* solaris_pgrpsys subcalls */
+
+extern int solaris_getpgrp(), solaris_setpgrp(), solaris_getsid();
+extern int solaris_setsid(), solaris_getpgid(), solaris_setpgid();
+
+#define SOLARIS_pgrpsys_subcall	300
+#define SOLARIS_getpgrp		(SOLARIS_pgrpsys_subcall + 0)
+#define SOLARIS_setpgrp		(SOLARIS_pgrpsys_subcall + 1)
+#define SOLARIS_getsid		(SOLARIS_pgrpsys_subcall + 2)
+#define SOLARIS_setsid		(SOLARIS_pgrpsys_subcall + 3)
+#define SOLARIS_getpgid		(SOLARIS_pgrpsys_subcall + 4)
+#define SOLARIS_setpgid		(SOLARIS_pgrpsys_subcall + 5)
+
+#define SOLARIS_pgrpsys_nsubcalls	6
+
+/* solaris_sigcall subcalls */
+
+#undef SOLARIS_signal
+#define SOLARIS_sigcall		48
+
+extern int solaris_signal(), solaris_sigset(), solaris_sighold();
+extern int solaris_sigrelse(), solaris_sigignore(), solaris_sigpause();
+
+#define SOLARIS_sigcall_subcall	310
+#define SOLARIS_signal		(SOLARIS_sigcall_subcall + 0)
+#define SOLARIS_sigset		(SOLARIS_sigcall_subcall + 1)
+#define SOLARIS_sighold		(SOLARIS_sigcall_subcall + 2)
+#define SOLARIS_sigrelse		(SOLARIS_sigcall_subcall + 3)
+#define SOLARIS_sigignore		(SOLARIS_sigcall_subcall + 4)
+#define SOLARIS_sigpause		(SOLARIS_sigcall_subcall + 5)
+
+#define SOLARIS_sigcall_nsubcalls	6
+
+/* msgsys subcalls */
+
+extern int solaris_msgget(), solaris_msgctl(), solaris_msgrcv(), solaris_msgsnd();
+
+#define SOLARIS_msgsys_subcall	320
+#define SOLARIS_msgget		(SOLARIS_msgsys_subcall + 0)
+#define SOLARIS_msgctl		(SOLARIS_msgsys_subcall + 1)
+#define SOLARIS_msgrcv		(SOLARIS_msgsys_subcall + 2)
+#define SOLARIS_msgsnd		(SOLARIS_msgsys_subcall + 3)
+
+#define SOLARIS_msgsys_nsubcalls	4
+
+/* shmsys subcalls */
+
+extern int solaris_shmat(), solaris_shmctl(), solaris_shmdt(), solaris_shmget();
+
+#define SOLARIS_shmsys_subcall	330
+#define SOLARIS_shmat		(SOLARIS_shmsys_subcall + 0)
+#define SOLARIS_shmctl		(SOLARIS_shmsys_subcall + 1)
+#define SOLARIS_shmdt		(SOLARIS_shmsys_subcall + 2)
+#define SOLARIS_shmget		(SOLARIS_shmsys_subcall + 3)
+
+#define SOLARIS_shmsys_nsubcalls	4
+
+/* semsys subcalls */
+
+extern int solaris_semctl(), solaris_semget(), solaris_semop();
+
+#define SOLARIS_semsys_subcall	340
+#define SOLARIS_semctl		(SOLARIS_semsys_subcall + 0)
+#define SOLARIS_semget		(SOLARIS_semsys_subcall + 1)
+#define SOLARIS_semop		(SOLARIS_semsys_subcall + 2)
+
+#define SOLARIS_semsys_nsubcalls	3
+
+/* utssys subcalls */
+
+extern int solaris_olduname(), solaris_ustat(), solaris_fusers();
+
+#define SOLARIS_utssys_subcall	350
+
+#define SOLARIS_olduname		(SOLARIS_utssys_subcall + 0)
+				/* 1 is unused */
+#define SOLARIS_ustat		(SOLARIS_utssys_subcall + 2)
+#define SOLARIS_fusers		(SOLARIS_utssys_subcall + 3)
+
+#define SOLARIS_utssys_nsubcalls	4
+
+/* sysfs subcalls */
+
+extern int solaris_sysfs1(), solaris_sysfs2(), solaris_sysfs3();
+
+#define SOLARIS_sysfs_subcall	360
+				/* 0 is unused */
+#define SOLARIS_sysfs1		(SOLARIS_sysfs_subcall + 1)
+#define SOLARIS_sysfs2		(SOLARIS_sysfs_subcall + 2)
+#define SOLARIS_sysfs3		(SOLARIS_sysfs_subcall + 3)
+
+#define SOLARIS_sysfs_nsubcalls	4
+
+/* solaris_spcall subcalls */
+
+#undef SOLARIS_sigpending
+#define SOLARIS_spcall		99
+
+extern int solaris_sigpending(), solaris_sigfillset();
+
+#define SOLARIS_spcall_subcall	370
+				/* 0 is unused */
+#define SOLARIS_sigpending		(SOLARIS_spcall_subcall + 1)
+#define SOLARIS_sigfillset		(SOLARIS_spcall_subcall + 2)
+
+#define SOLARIS_spcall_nsubcalls	3
+
+/* solaris_context subcalls */
+
+extern int solaris_getcontext(), solaris_setcontext();
+
+#define SOLARIS_context_subcall	380
+#define SOLARIS_getcontext		(SOLARIS_context_subcall + 0)
+#define SOLARIS_setcontext		(SOLARIS_context_subcall + 1)
+
+#define SOLARIS_context_nsubcalls	2
diff --git a/strace-4.5.20/linux/sparc/syscallent.h b/strace-4.5.20/linux/sparc/syscallent.h
new file mode 100644
index 0000000..8df80c8
--- /dev/null
+++ b/strace-4.5.20/linux/sparc/syscallent.h
@@ -0,0 +1,408 @@
+	{ 0,	0,	sys_restart_syscall, "restart_syscall" },/* 0 */
+	{ 1,	TP,	sys_exit,	"exit" },		/* 1 */
+	{ 0,	TP,	sys_fork,	"fork" },		/* 2 */
+	{ 3,	TD,	sys_read,	"read" },		/* 3 */
+	{ 3,	TD,	sys_write,	"write" },		/* 4 */
+	{ 3,	TD|TF,	sys_open,	"open" },		/* 5 */
+	{ 1,	TD,	sys_close,	"close" },		/* 6 */
+	{ 4,	TP,	sys_wait4,	"wait4" },		/* 7 */
+	{ 2,	TD|TF,	sys_creat,	"creat" },		/* 8 */
+	{ 2,	TF,	sys_link,	"link" },		/* 9 */
+	{ 1,	TF,	sys_unlink,	"unlink" },		/* 10 */
+	{ 2,    TF|TP,	sys_execv,	"execv" },		/* 11 */
+	{ 1,	TF,	sys_chdir,	"chdir" },		/* 12 */
+	{ 3,    TF,     sys_chown,      "chown"},		/* 13 */
+	{ 3,	TF,	sys_mknod,	"mknod" },		/* 14 */
+	{ 2,	TF,	sys_chmod,	"chmod" },		/* 15 */
+	{ 3,	TF,	sys_chown,	"lchown" },		/* 16 */
+	{ 1,	0,	sys_brk,	"brk" },		/* 17 */
+	{ 4,	0,	printargs,	"perfctr" },		/* 18 */
+	{ 3,	TD,	sys_lseek,	"lseek" },		/* 19 */
+	{ 0,	0,	sys_getpid,	"getpid" },		/* 20 */
+	{ 2,	0,	sys_capget,	"capget" },		/* 21 */
+	{ 2,	0,	sys_capset,	"capset" },		/* 22 */
+	{ 1,	0,	sys_setuid,	"setuid" },		/* 23 */
+	{ 0,	0,	sys_getuid,	"getuid" },		/* 24 */
+	{ 1,	0,	sys_time,	"time" },		/* 25 */
+	{ 5,	0,	sys_ptrace,	"ptrace" },		/* 26 */
+	{ 1,	0,	sys_alarm,	"alarm" },		/* 27 */
+	{ 2,	TS,	sys_sigaltstack,"sigaltstack" },	/* 28 */
+	{ 0,	TS,	sys_pause,	"pause" },		/* 29 */
+	{ 2,	TF,	sys_utime,	"utime" },		/* 30 */
+	{ 3,	TF,	sys_chown,	"lchown32" },		/* 31 */
+	{ 3,	TD,	sys_fchown,	"fchown32" },		/* 32 */
+	{ 2,	TF,	sys_access,	"access" },		/* 33 */
+	{ 1,	0,	sys_nice,	"nice" },		/* 34 */
+	{ 3,	TF,	sys_chown,	"chown32" },		/* 35 */
+	{ 0,	0,	sys_sync,	"sync" },		/* 36 */
+	{ 2,	TS,	sys_kill,	"kill" },		/* 37 */
+	{ 2,	TF,	sys_stat,	"stat" },		/* 38 */
+	{ 4,	TD|TN,	sys_sendfile,	"sendfile" },		/* 39 */
+	{ 2,	TF,	sys_lstat,	"lstat" },		/* 40 */
+	{ 2,	TD,	sys_dup,	"dup" },		/* 41 */
+	{ 0,	TD,	sys_pipe,	"pipe" },		/* 42 */
+	{ 1,	0,	sys_times,	"times" },		/* 43 */
+	{ 0,	0,	sys_getuid,	"getuid32" },		/* 44 */
+	{ 2,	TF,	sys_umount2,	"umount" },		/* 45 */
+	{ 1,	0,	sys_setgid,	"setgid" },		/* 46 */
+	{ 0,	0,	sys_getgid,	"getgid" },		/* 47 */
+	{ 3,	TS,	sys_signal,	"signal" },		/* 48 */
+	{ 0,	0,	sys_geteuid,	"geteuid" },		/* 49 */
+	{ 0,	0,	sys_getegid,	"getegid" },		/* 50 */
+	{ 1,	TF,	sys_acct,	"acct" },		/* 51 */
+	{ 2,	0,	printargs,	"memory_ordering" },	/* 52 */
+	{ 0,	0,	sys_getgid,	"getgid32" },		/* 53 */
+	{ 3,	TD,	sys_ioctl,	"ioctl" },		/* 54 */
+	{ 3,	0,	sys_reboot,	"reboot" },		/* 55 */
+	{ 6,	0,	sys_mmap,	"mmap2" },		/* 56 */
+	{ 2,	TF,	sys_symlink,	"symlink" },		/* 57 */
+	{ 3,	TF,	sys_readlink,	"readlink" },		/* 58 */
+	{ 3,	TF|TP,	sys_execve,	"execve" },		/* 59 */
+	{ 1,	0,	sys_umask,	"umask" },		/* 60 */
+	{ 1,	TF,	sys_chroot,	"chroot" },		/* 61 */
+	{ 2,	TD,	sys_fstat,	"fstat" },		/* 62 */
+	{ 2,	TD,	sys_fstat64,	"fstat64" },		/* 63 */
+	{ 0,	0,	sys_getpagesize,"getpagesize" },	/* 64 */
+	{ 3,	0,	sys_msync,	"msync" },		/* 65 */
+	{ 0,	TP,	sys_vfork,	"vfork" },		/* 66 */
+	{ 5,	TD,	sys_pread,	"pread" },		/* 67 */
+	{ 5,	TD,	sys_pwrite,	"pwrite" },		/* 68 */
+	{ 0,    0,	sys_geteuid,	"geteuid32" },		/* 69 */
+	{ 0,	0,	sys_getegid,	"getegid32" },		/* 70 */
+	{ 6,	0,	sys_mmap,	"mmap" },		/* 71 */
+	{ 2,	0,	sys_setreuid,	"setreuid32" },		/* 72 */
+	{ 2,	0,	sys_munmap,	"munmap" },		/* 73 */
+	{ 3,	0,	sys_mprotect,	"mprotect" },		/* 74 */
+	{ 3,	0,	sys_madvise,	"madvise" },		/* 75 */
+	{ 0,	0,	sys_vhangup,	"vhangup" },		/* 76 */
+	{ 3,	TF,	sys_truncate64,	"truncate64" },		/* 77 */
+	{ 3,	0,	sys_mincore,	"mincore" },		/* 78 */
+	{ 2,	0,	sys_getgroups,	"getgroups" },		/* 79 */
+	{ 2,	0,	sys_setgroups,	"setgroups" },		/* 80 */
+	{ 0,	0,	sys_getpgrp,	"getpgrp" },		/* 81 */
+	{ 2,	0,	sys_setgroups32,"setgroups32" },	/* 82 */
+	{ 3,	0,	sys_setitimer,	"setitimer" },		/* 83 */
+	{ 2,	TD,	sys_ftruncate,	"ftruncate64" },	/* 84 */
+	{ 1,	TF,	sys_swapon,	"swapon" },		/* 85 */
+	{ 2,	0,	sys_getitimer,	"getitimer" },		/* 86 */
+	{ 1,	0,	sys_setuid,	"setuid32" },		/* 87 */
+	{ 2,	0,	sys_sethostname,"sethostname" },	/* 88 */
+	{ 1,	0,	sys_setgid,	"setgid32" },		/* 89 */
+	{ 2,	TD,	sys_dup2,	"dup2" },		/* 90 */
+	{ 1,	0,	sys_setfsuid,	"setfsuid32" },		/* 91 */
+	{ 3,	TD,	sys_fcntl,	"fcntl" },		/* 92 */
+	{ 5,	TD,	sys_select,	"select" },		/* 93 */
+	{ 1,	0,	sys_setfsgid,	"setfsgid32" },		/* 94 */
+	{ 1,	TD,	sys_fsync,	"fsync" },		/* 95 */
+	{ 3,	0,	sys_setpriority,"setpriority" },	/* 96 */
+	{ 3,	TN,	sys_socket,	"socket" },		/* 97 */
+	{ 3,	TN,	sys_connect,	"connect" },		/* 98 */
+	{ 3,	TN,	sys_accept,	"accept" },		/* 99 */
+	{ 2,	0,	sys_getpriority,"getpriority" },	/* 100 */
+	{ 1,	TS,	printargs,	"rt_sigreturn" },	/* 101 */
+	{ 4,	TS,	sys_rt_sigaction,"rt_sigaction" },	/* 102 */
+	{ 4,	TS,	sys_rt_sigprocmask,"rt_sigprocmask" },	/* 103 */
+	{ 2,	TS,	sys_rt_sigpending,"rt_sigpending" },	/* 104 */
+	{ 4,	TS,	sys_rt_sigtimedwait,"rt_sigtimedwait" },/* 105 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,"rt_sigqueueinfo" },/* 106 */
+	{ 2,	TS,	sys_rt_sigsuspend,"rt_sigsuspend" },	/* 107 */
+	{ 3,	TS,	sys_setresuid,	"setresuid" },		/* 108 */
+	{ 3,    TS,	sys_getresuid,	"getresuid" },		/* 109 */
+	{ 3,	TS,	sys_setresgid,	"setresgid" },		/* 110 */
+	{ 3,	TS,	sys_getresgid,	"getresgid" },		/* 111 */
+	{ 2,	TS,	sys_setresgid,	"setresgid32" },	/* 112 */
+	{ 5,	TN,	sys_recvmsg,	"recvmsg" },		/* 113 */
+	{ 5,	TN,	sys_sendmsg,	"sendmsg" },		/* 114 */
+	{ 2,	0,	sys_getgroups32,"getgroups32" },	/* 115 */
+	{ 2,	0,	sys_gettimeofday,"gettimeofday" },	/* 116 */
+	{ 2,	0,	sys_getrusage,	"getrusage" },		/* 117 */
+	{ 5,	TN,	sys_getsockopt,	"getsockopt" },		/* 118 */
+	{ 2,	TF,	sys_getcwd,	"getcwd" },		/* 119 */
+	{ 3,	TD,	sys_readv,	"readv" },		/* 120 */
+	{ 3,	TD,	sys_writev,	"writev" },		/* 121 */
+	{ 2,	0,	sys_settimeofday,"settimeofday" },	/* 122 */
+	{ 3,	TD,	sys_fchown,	"fchown" },		/* 123 */
+	{ 2,	TD,	sys_fchmod,	"fchmod" },		/* 124 */
+	{ 6,	TN,	sys_recvfrom,	"recvfrom" },		/* 125 */
+	{ 2,	0,	sys_setreuid,	"setreuid" },		/* 126 */
+	{ 2,	0,	sys_setregid,	"setregid" },		/* 127 */
+	{ 2,	TF,	sys_rename,	"rename" },		/* 128 */
+	{ 2,	TF,	sys_truncate,	"truncate" },		/* 129 */
+	{ 2,	TD,	sys_ftruncate,	"ftruncate" },		/* 130 */
+	{ 2,	TD,	sys_flock,	"flock" },		/* 131 */
+	{ 2,	TF,	sys_lstat64,	"lstat64" },		/* 132 */
+	{ 6,	TN,	sys_sendto,	"sendto" },		/* 133 */
+	{ 2,	TN,	sys_shutdown,	"shutdown" },		/* 134 */
+	{ 4,	TN,	sys_socketpair,	"socketpair" },		/* 135 */
+	{ 2,	TF,	sys_mkdir,	"mkdir" },		/* 136 */
+	{ 1,	TF,	sys_rmdir,	"rmdir" },		/* 137 */
+	{ 2,	TF,	sys_utimes,	"utimes" },		/* 138 */
+	{ 2,	TF,	sys_stat64,	"stat64" },		/* 139 */
+	{ 4,    TD|TN,	sys_sendfile64,	"sendfile64" },		/* 140 */
+	{ 3,	TN,	sys_getpeername,"getpeername" },	/* 141 */
+	{ 6,    0,	sys_futex,	"futex" },		/* 142 */
+	{ 0,	0,	printargs,	"gettid" },		/* 143 */
+	{ 2,	0,	sys_getrlimit,	"getrlimit" },		/* 144 */
+	{ 2,	0,	sys_setrlimit,	"setrlimit" },		/* 145 */
+	{ 2,	TF,	sys_pivotroot,	"pivot_root" },		/* 146 */
+	{ 5,	0,	sys_prctl,	"prctl" },		/* 147 */
+	{ 5,	0,	printargs,	"pciconfig_read" },	/* 148 */
+	{ 5,	0,	printargs,	"pciconfig_write" },	/* 149 */
+	{ 3,	TN,	sys_getsockname,"getsockname" },	/* 150 */
+	{ 4,	TN,	sys_getmsg,	"getmsg" },		/* 151 */
+	{ 4,	TN,	sys_putmsg,	"putmsg" },		/* 152 */
+	{ 3,	TD,	sys_poll,	"poll" },		/* 153 */
+	{ 3,	TD,	sys_getdents64,	"getdents64" },		/* 154 */
+	{ 3,	TD,	sys_fcntl,	"fcntl64" },		/* 155 */
+	{ 4,	0,	printargs,	"getdirentries" },	/* 156 */
+	{ 2,	TF,	sys_statfs,	"statfs" },		/* 157 */
+	{ 2,	TD,	sys_fstatfs,	"fstatfs" },		/* 158 */
+	{ 1,	TF,	sys_umount,	"oldumount" },		/* 159 */
+	{ 3,	0,	sys_sched_setaffinity,	"sched_setaffinity" },/* 160 */
+	{ 3,	0,	sys_sched_getaffinity,	"sched_getaffinity" },/* 161 */
+	{ 2,	0,	printargs,	"getdomainname" },	/* 162 */
+	{ 2,	0,	sys_setdomainname,"setdomainname" },	/* 163 */
+	{ 5,	0,	printargs,	"utrap_install" },	/* 164 */
+	{ 4,	0,	sys_quotactl,	"quotactl" },		/* 165 */
+	{ 1,	0,	printargs,	"set_tid_address" },	/* 166 */
+	{ 5,	TF,	sys_mount,	"mount" },		/* 167 */
+	{ 2,	0,	sys_ustat,	"ustat" },		/* 168 */
+	{ 5,	TF,	sys_setxattr,	"setxattr" },		/* 169 */
+	{ 5,	TF,	sys_setxattr,	"lsetxattr" },		/* 170 */
+	{ 5,	TD,	sys_fsetxattr,	"fsetxattr" },		/* 171 */
+	{ 4,	TF,	sys_getxattr,	"getxattr" },		/* 172 */
+	{ 4,	TF,	sys_getxattr,	"lgetxattr" },		/* 173 */
+	{ 3,	TD,	sys_getdents,	"getdents" },		/* 174 */
+	{ 0,	0,	sys_setsid,	"setsid" },		/* 175 */
+	{ 1,	TD,	sys_fchdir,	"fchdir" },		/* 176 */
+	{ 4,    0,	sys_fgetxattr,	"fgetxattr" },		/* 177 */
+	{ 3,	TF,	sys_listxattr,	"listxattr" },		/* 178 */
+	{ 3,	TF,	sys_listxattr,	"llistxattr" },		/* 179 */
+	{ 3,	0,	sys_flistxattr,	"flistxattr" },		/* 180 */
+	{ 2,	TF,	sys_removexattr,"removexattr" },	/* 181 */
+	{ 2,	TF,	sys_removexattr,"lremovexattr" },	/* 182 */
+	{ 1,	TS,	sys_sigpending,	"sigpending" },		/* 183 */
+	{ 5,	0,	sys_query_module,"query_module" },	/* 184 */
+	{ 2,	0,	sys_setpgid,	"setpgid" },		/* 185 */
+	{ 2,	TD,	sys_fremovexattr,"fremovexattr" },	/* 186 */
+	{ 2,	TS,	sys_kill,	"tkill" },		/* 187 */
+	{ 1,	TP,	sys_exit,	"exit_group" },		/* 188 */
+	{ 1,	0,	sys_uname,	"uname" },		/* 189 */
+	{ 3,	0,	sys_init_module,"init_module" },	/* 190 */
+	{ 1,	0,	sys_personality,"personality" },	/* 191 */
+	{ 5,	0,	sys_remap_file_pages,"remap_file_pages" },/* 192 */
+	{ 1,	0,	sys_epoll_create,"epoll_create" },	/* 193 */
+	{ 4,	TD,	sys_epoll_ctl,	"epoll_ctl" },		/* 194 */
+	{ 4,	TD,	sys_epoll_wait,	"epoll_wait" },		/* 195 */
+	{ 2,	0,	sys_ulimit,	"ulimit" },		/* 196 */
+	{ 0,	0,	sys_getppid,	"getppid" },		/* 197 */
+	{ 3,	TS,	sys_sigaction,	"sigaction" },		/* 198 */
+	{ 5,	0,	printargs,	"sgetmask" },		/* 199 */
+	{ 5,	0,	printargs,	"ssetmask" },		/* 200 */
+	{ 3,	TS,	sys_sigsuspend,	"sigsuspend" },		/* 201 */
+	{ 2,	TF,	sys_lstat,	"lstat" },		/* 202 */
+	{ 1,	TF,	sys_uselib,	"uselib" },		/* 203 */
+	{ 3,	TD,	sys_readdir,	"readdir" },		/* 204 */
+	{ 4,	TD,	sys_readahead,	"readahead" },		/* 205 */
+	{ 2,	TD,	sys_socketcall,	"socketcall" },		/* 206 */
+	{ 3,	0,	sys_syslog,	"syslog" },		/* 207 */
+	{ 4,	0,	printargs,	"lookup_dcookie" },	/* 208 */
+	{ 6,	0,	printargs,	"fadvise64" },		/* 209 */
+	{ 6,	0,	printargs,	"fadvise64_64" },	/* 210 */
+	{ 3,	TS,	sys_tgkill,	"tgkill" },		/* 211 */
+	{ 3,	TP,	sys_waitpid,	"waitpid" },		/* 212 */
+	{ 1,	0,	sys_swapoff,	"swapoff" },		/* 213 */
+	{ 1,	0,	sys_sysinfo,	"sysinfo" },		/* 214 */
+	{ 5,	0,	sys_ipc,	"ipc" },		/* 215 */
+	{ 1,	TS,	sys_sigreturn,	"sigreturn" },		/* 216 */
+	{ 5,	TP,	sys_clone,	"clone" },		/* 217 */
+	{ 3,	0,	sys_modify_ldt,	"modify_ldt" },		/* 218 */
+	{ 1,	0,	sys_adjtimex,	"adjtimex" },		/* 219 */
+	{ 3,	TS,	sys_sigprocmask,"sigprocmask" },	/* 220 */
+	{ 2,	0,	sys_create_module,"create_module" },	/* 221 */
+	{ 2,	0,	sys_delete_module,"delete_module" },
+	{ 1,	0,	sys_get_kernel_syms,"get_kernel_syms"},	/* 223 */
+	{ 1,	0,	sys_getpgid,	"getpgid" },		/* 224 */
+	{ 0,	0,	sys_bdflush,	"bdflush" },		/* 225 */
+	{ 3,	0,	sys_sysfs,	"sysfs" },		/* 226 */
+	{ 5,	0,	sys_afs_syscall,"afs_syscall" },	/* 227 */
+	{ 1,	0,	sys_setfsuid,	"setfsuid" },		/* 228 */
+	{ 1,	0,	sys_setfsgid,	"setfsgid" },		/* 229 */
+	{ 5,	TD,	sys_select,	"select" },		/* 230 */
+	{ 1,	0,	sys_time,	"time" },		/* 231 */
+	{ 2,	TF,	sys_stat,	"stat" },		/* 232 */
+	{ 1,	0,	sys_stime,	"stime" },		/* 233 */
+	{ 3,	TF,	sys_statfs64,	"statfs64" },		/* 234 */
+	{ 3,	TD,	sys_fstatfs64,	"fstatfs64" },		/* 235 */
+	{ 5,	TD,	sys_llseek,	"_llseek" },		/* 236 */
+	{ 2,	0,	sys_mlock,	"mlock" },		/* 237 */
+	{ 2,	0,	sys_munlock,	"munlock" },		/* 238 */
+	{ 2,	0,	sys_mlockall,	"mlockall" },		/* 239 */
+	{ 0,	0,	sys_munlockall,	"munlockall" },		/* 240 */
+	{ 2,	0,	sys_sched_setparam,"sched_setparam"},	/* 241 */
+	{ 2,	0,	sys_sched_getparam,"sched_getparam"},	/* 242 */
+	{ 3,	0,	sys_sched_setscheduler,"sched_setscheduler"},/* 243 */
+	{ 1,	0,	sys_sched_getscheduler,"sched_getscheduler"},/* 244 */
+	{ 0,	0,	sys_sched_yield,"sched_yield" },	/* 245 */
+	{ 1,0,sys_sched_get_priority_max,"sched_get_priority_max"},/* 246 */
+	{ 1,0,sys_sched_get_priority_min,"sched_get_priority_min"},/* 247 */
+	{ 2,	0,sys_sched_rr_get_interval,"sched_rr_get_interval"},/* 248 */
+	{ 2,	0,	sys_nanosleep,	"nanosleep" },		/* 249 */
+	{ 5,	0,	sys_mremap,	"mremap" },		/* 250 */
+	{ 1,	0,	sys_sysctl,	"_sysctl" },		/* 251 */
+	{ 1,	0,	sys_getsid,	"getsid" },		/* 252 */
+	{ 1,	TD,	sys_fdatasync,	"fdatasync" },		/* 253 */
+	{ 3,	0,	printargs,	"nfsservctl" },		/* 254 */
+	{ 5,	0,	printargs,	"aplib" },		/* 255 */
+	{ 2,	0,	sys_clock_settime,"clock_settime" },	/* 256 */
+	{ 2,	0,	sys_clock_gettime,"clock_gettime" },	/* 257 */
+	{ 2,	0,	sys_clock_getres,"clock_getres" },	/* 258 */
+	{ 4,	0,	sys_clock_nanosleep,"clock_nanosleep" },/* 259 */
+	{ 3,	0,	sys_sched_setaffinity,"sched_setaffinity" },/* 260 */
+	{ 3,	0,	sys_sched_getaffinity,"sched_getaffinity" },/* 261 */
+	{ 4,	0,	sys_timer_settime,"timer_settime" },	/* 262 */
+	{ 2,	0,	sys_timer_gettime,"timer_gettime" },	/* 263 */
+	{ 1,	0,	sys_timer_getoverrun,"timer_getoverrun" },/* 264 */
+	{ 1,	0,	sys_timer_delete,"timer_delete" },	/* 265 */
+	{ 3,	0,	sys_timer_create,"timer_create" },	/* 266 */
+	{ 5,	0,	printargs,	"SYS_267" },		/* 267 */
+	{ 2,	0,	sys_io_setup,		"io_setup"	}, /* 268 */
+	{ 1,	0,	sys_io_destroy,		"io_destroy"	}, /* 269 */
+	{ 3,	0,	sys_io_submit,		"io_submit"	}, /* 270 */
+	{ 3,	0,	sys_io_cancel,		"io_cancel"	}, /* 271 */
+	{ 5,	0,	sys_io_getevents,	"io_getevents"	}, /* 272 */
+	{ 4,	0,	sys_mq_open,		"mq_open"	}, /* 273 */
+	{ 1,	0,	sys_mq_unlink,		"mq_unlink"	}, /* 274 */
+	{ 5,	0,	sys_mq_timedsend,	"mq_timedsend"	}, /* 275 */
+	{ 5,	0,	sys_mq_timedreceive,	"mq_timedreceive" }, /* 276 */
+	{ 2,	0,	sys_mq_notify,		"mq_notify"	}, /* 277 */
+	{ 3,	0,	sys_mq_getsetattr,	"mq_getsetattr"	}, /* 278 */
+	{ 5,	TP,	sys_waitid,		"waitid"	}, /* 279 */
+	{ 4,	TD,	printargs,		"tee"		}, /* 280 */
+	{ 5,	0,	printargs,		"add_key"	}, /* 281 */
+	{ 4,	0,	printargs,		"request_key"	}, /* 282 */
+	{ 5,	0,	printargs,		"keyctl"	}, /* 283 */
+	{ 4,	TD|TF,	sys_openat,		"openat"	}, /* 284 */
+	{ 3,	TD|TF,	sys_mkdirat,		"mkdirat"	}, /* 285 */
+	{ 4,	TD|TF,	sys_mknodat,		"mknodat"	}, /* 286 */
+	{ 5,	TD|TF,	sys_fchownat,		"fchownat"	}, /* 287 */
+	{ 3,	TD|TF,	sys_futimesat,		"futimesat"	}, /* 288 */
+	{ 4,	TD|TD,	sys_newfstatat,		"fstatat64"	}, /* 289 */
+	{ 3,	TD|TF,	sys_unlinkat,		"unlinkat"	}, /* 290 */
+	{ 4,	TD|TF,	sys_renameat,		"renameat"	}, /* 291 */
+	{ 5,	TD|TF,	sys_linkat,		"linkat"	}, /* 292 */
+	{ 3,	TD|TF,	sys_symlinkat,		"symlinkat"	}, /* 293 */
+	{ 4,	TD|TF,	sys_readlinkat,		"readlinkat"	}, /* 294 */
+	{ 3,	TD|TF,	sys_fchmodat,		"fchmodat"	}, /* 295 */
+	{ 3,	TD|TF,	sys_faccessat,		"faccessat"	}, /* 296 */
+	{ 6,	TD,	sys_pselect6,		"pselect6"	}, /* 297 */
+	{ 5,	TD,	sys_ppoll,		"ppoll"		}, /* 298 */
+	{ 1,	TP,	sys_unshare,		"unshare"	}, /* 299 */
+	{ 2,	0,	printargs,		"set_robust_list" }, /* 300 */
+	{ 3,	0,	printargs,		"get_robust_list" }, /* 301 */
+	{ 4,	0,	printargs,		"migrate_pages"	}, /* 302 */
+	{ 6,	0,	sys_mbind,		"mbind"		}, /* 303 */
+	{ 5,	0,	sys_get_mempolicy,	"get_mempolicy"	}, /* 304 */
+	{ 3,	0,	sys_set_mempolicy,	"set_mempolicy"	}, /* 305 */
+	{ 5,	0,	printargs,		"kexec_load"	}, /* 306 */
+	{ 6,	0,	sys_move_pages,		"move_pages"	}, /* 307 */
+	{ 3,	0,	sys_getcpu,		"getcpu"	}, /* 308 */
+	{ 5,	TD,	sys_epoll_pwait,	"epoll_pwait"	}, /* 309 */
+	{ 4,	TD|TF,	sys_utimensat,		"utimensat"	}, /* 310 */
+	{ 3,	TD|TS,	sys_signalfd,		"signalfd"	}, /* 311 */
+	{ 2,	TD,	sys_timerfd_create,	"timerfd_create"}, /* 312 */
+	{ 1,	TD,	sys_eventfd,		"eventfd"	}, /* 313 */
+	{ 6,	TF,	sys_fallocate,		"fallocate"	}, /* 314 */
+	{ 4,	TD,	sys_timerfd_settime,	"timerfd_settime"}, /* 315 */
+	{ 2,	TD,	sys_timerfd_gettime,	"timerfd_gettime"}, /* 316 */
+	{ 4,	TD|TS,	sys_signalfd4,		"signalfd4"	}, /* 317 */
+	{ 2,	TD,	sys_eventfd2,		"eventfd2"	}, /* 318 */
+	{ 1,	0,	sys_epoll_create1,	"epoll_create1"	}, /* 319 */
+	{ 3,	TD,	sys_dup3,		"dup3"		}, /* 320 */
+	{ 2,	TD,	sys_pipe2,		"pipe2"		}, /* 321 */
+	{ 1,	TD,	sys_inotify_init1,	"inotify_init1"	}, /* 322 */
+	{ 4,	TN,	sys_accept4,		"accept4"	}, /* 323 */
+	{ 5,	TD,	printargs,		"preadv"	}, /* 324 */
+	{ 5,	TD,	printargs,		"pwritev"	}, /* 325 */
+	{ 4,	TP|TS,	printargs,		"rt_tgsigqueueinfo"}, /* 326 */
+	{ 5,	TD,	printargs,		"perf_event_open"}, /* 327 */
+	{ 5,	TN,	sys_recvmmsg,		"recvmmsg"	}, /* 328 */
+	{ 5,	0,	printargs,	"SYS_329" },		/* 329 */
+	{ 5,	0,	printargs,	"SYS_330" },		/* 330 */
+	{ 5,	0,	printargs,	"SYS_331" },		/* 331 */
+	{ 5,	0,	printargs,	"SYS_332" },		/* 332 */
+	{ 5,	0,	printargs,	"SYS_333" },		/* 333 */
+	{ 5,	0,	printargs,	"SYS_334" },		/* 334 */
+	{ 5,	0,	printargs,	"SYS_335" },		/* 335 */
+	{ 5,	0,	printargs,	"SYS_336" },		/* 336 */
+	{ 5,	0,	printargs,	"SYS_337" },		/* 337 */
+	{ 5,	0,	printargs,	"SYS_338" },		/* 338 */
+	{ 5,	0,	printargs,	"SYS_339" },		/* 339 */
+	{ 5,	0,	printargs,	"SYS_340" },		/* 340 */
+	{ 5,	0,	printargs,	"SYS_341" },		/* 341 */
+	{ 5,	0,	printargs,	"SYS_342" },		/* 342 */
+	{ 5,	0,	printargs,	"SYS_343" },		/* 343 */
+	{ 5,	0,	printargs,	"SYS_344" },		/* 344 */
+	{ 5,	0,	printargs,	"SYS_345" },		/* 345 */
+	{ 5,	0,	printargs,	"SYS_346" },		/* 346 */
+	{ 5,	0,	printargs,	"SYS_347" },		/* 347 */
+	{ 5,	0,	printargs,	"SYS_348" },		/* 348 */
+	{ 5,	0,	printargs,	"SYS_349" },		/* 349 */
+	{ 5,	0,	printargs,	"SYS_350" },		/* 350 */
+	{ 5,	0,	printargs,	"SYS_351" },		/* 351 */
+	{ 5,	0,	printargs,	"SYS_352" },		/* 352 */
+#if SYS_socket_subcall != 353
+ #error fix me
+#endif
+	{ 8,	0,	printargs,		"socket_subcall"}, /* 353 */
+	{ 3,	TN,	sys_socket,		"socket"	}, /* 354 */
+	{ 3,	TN,	sys_bind,		"bind"		}, /* 355 */
+	{ 3,	TN,	sys_connect,		"connect"	}, /* 356 */
+	{ 2,	TN,	sys_listen,		"listen"	}, /* 357 */
+	{ 3,	TN,	sys_accept,		"accept"	}, /* 358 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	}, /* 359 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	}, /* 360 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"	}, /* 361 */
+	{ 4,	TN,	sys_send,		"send"		}, /* 362 */
+	{ 4,	TN,	sys_recv,		"recv"		}, /* 363 */
+	{ 6,	TN,	sys_sendto,		"sendto"	}, /* 364 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom"	}, /* 365 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	}, /* 366 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	}, /* 367 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 368 */
+	{ 5,	TN,	sys_sendmsg,		"sendmsg"	}, /* 369 */
+	{ 5,	TN,	sys_recvmsg,		"recvmsg"	}, /* 370 */
+	{ 4,	TN,	sys_accept4,		"accept4"	}, /* 371 */
+	{ 5,	TN,	sys_recvmmsg,		"recvmmsg"	}, /* 372 */
+#if SYS_ipc_subcall != 373
+ #error fix me
+#endif
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 373 */
+	{ 4,	TI,	printargs,		"semop"		}, /* 374 */
+	{ 4,	TI,	sys_semget,		"semget"	}, /* 375 */
+	{ 4,	TI,	sys_semctl,		"semctl"	}, /* 376 */
+	{ 5,	TI,	sys_semtimedop,		"semtimedop"	}, /* 377 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 378 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 379 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 380 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 381 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 382 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 383 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd"	}, /* 384 */
+	{ 4,	TI,	sys_msgrcv,		"msgrcv"	}, /* 385 */
+	{ 4,	TI,	sys_msgget,		"msgget"	}, /* 386 */
+	{ 4,	TI,	sys_msgctl,		"msgctl"	}, /* 387 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 388 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 389 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 390 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 391 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 392 */
+	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 393 */
+	{ 4,	TI,	sys_shmat,		"shmat"		}, /* 394 */
+	{ 4,	TI,	sys_shmdt,		"shmdt"		}, /* 395 */
+	{ 4,	TI,	sys_shmget,		"shmget"	}, /* 396 */
+	{ 4,	TI,	sys_shmctl,		"shmctl"	}, /* 397 */
+	{ 5,	0,	printargs,		"SYS_397"	}, /* 398 */
+	{ 5,	0,	printargs,		"SYS_398"	}, /* 399 */
+	{ 5,	0,	printargs,		"SYS_399"	}, /* 400 */
+	{ 5,	0,	printargs,		"SYS_400"	}, /* 401 */
diff --git a/strace-4.5.20/linux/sparc/syscallent1.h b/strace-4.5.20/linux/sparc/syscallent1.h
new file mode 100644
index 0000000..821b3a9
--- /dev/null
+++ b/strace-4.5.20/linux/sparc/syscallent1.h
@@ -0,0 +1,439 @@
+/*
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+	{ 6,	0,	solaris_syscall,	"syscall"	}, /* 0 */
+	{ 6,	TP,	solaris_exit,		"_exit"		}, /* 1 */
+	{ 6,	TP,	solaris_fork,		"fork"		}, /* 2 */
+	{ 6,	0,	solaris_read,		"read"		}, /* 3 */
+	{ 6,	0,	solaris_write,		"write"		}, /* 4 */
+	{ 6,	TF,	solaris_open,		"open"		}, /* 5 */
+	{ 6,	0,	solaris_close,		"close"		}, /* 6 */
+	{ 6,	TP,	solaris_wait,		"wait"		}, /* 7 */
+	{ 6,	TF,	solaris_creat,		"creat"		}, /* 8 */
+	{ 6,	TF,	solaris_link,		"link"		}, /* 9 */
+	{ 6,	TF,	solaris_unlink,		"unlink"	}, /* 10 */
+	{ 6,	TF|TP,	solaris_exec,		"exec"		}, /* 11 */
+	{ 6,	TF,	solaris_chdir,		"chdir"		}, /* 12 */
+	{ 6,	0,	solaris_time,		"time"		}, /* 13 */
+	{ 6,	TF,	solaris_mknod,		"mknod"		}, /* 14 */
+	{ 6,	TF,	solaris_chmod,		"chmod"		}, /* 15 */
+	{ 6,	TF,	solaris_chown,		"chown"		}, /* 16 */
+	{ 6,	0,	solaris_brk,		"brk"		}, /* 17 */
+	{ 6,	TF,	solaris_stat,		"stat"		}, /* 18 */
+	{ 6,	0,	solaris_lseek,		"lseek"		}, /* 19 */
+	{ 6,	0,	solaris_getpid,		"getpid"	}, /* 20 */
+	{ 6,	TF,	solaris_mount,		"mount"		}, /* 21 */
+	{ 6,	TF,	solaris_umount,		"umount"	}, /* 22 */
+	{ 6,	0,	solaris_setuid,		"setuid"	}, /* 23 */
+	{ 6,	0,	solaris_getuid,		"getuid"	}, /* 24 */
+	{ 6,	0,	solaris_stime,		"stime"		}, /* 25 */
+	{ 6,	0,	solaris_ptrace,		"ptrace"	}, /* 26 */
+	{ 6,	0,	solaris_alarm,		"alarm"		}, /* 27 */
+	{ 6,	0,	solaris_fstat,		"fstat"		}, /* 28 */
+	{ 6,	TS,	solaris_pause,		"pause"		}, /* 29 */
+	{ 6,	TF,	solaris_utime,		"utime"		}, /* 30 */
+	{ 6,	0,	solaris_stty,		"stty"		}, /* 31 */
+	{ 6,	0,	solaris_gtty,		"gtty"		}, /* 32 */
+	{ 6,	TF,	solaris_access,		"access"	}, /* 33 */
+	{ 6,	0,	solaris_nice,		"nice"		}, /* 34 */
+	{ 6,	TF,	solaris_statfs,		"statfs"	}, /* 35 */
+	{ 6,	0,	solaris_sync,		"sync"		}, /* 36 */
+	{ 6,	TS,	solaris_kill,		"kill"		}, /* 37 */
+	{ 6,	0,	solaris_fstatfs,	"fstatfs"	}, /* 38 */
+	{ 6,	0,	solaris_pgrpsys,	"pgrpsys"	}, /* 39 */
+	{ 6,	0,	solaris_xenix,		"xenix"		}, /* 40 */
+	{ 6,	0,	solaris_dup,		"dup"		}, /* 41 */
+	{ 6,	0,	solaris_pipe,		"pipe"		}, /* 42 */
+	{ 6,	0,	solaris_times,		"times"		}, /* 43 */
+	{ 6,	0,	solaris_profil,		"profil"	}, /* 44 */
+	{ 6,	0,	solaris_plock,		"plock"		}, /* 45 */
+	{ 6,	0,	solaris_setgid,		"setgid"	}, /* 46 */
+	{ 6,	0,	solaris_getgid,		"getgid"	}, /* 47 */
+	{ 6,	0,	solaris_sigcall,	"sigcall"	}, /* 48 */
+	{ 6,	TI,	solaris_msgsys,		"msgsys"	}, /* 49 */
+	{ 6,	0,	solaris_syssun,		"syssun"	}, /* 50 */
+	{ 6,	TF,	solaris_acct,		"acct"		}, /* 51 */
+	{ 6,	TI,	solaris_shmsys,		"shmsys"	}, /* 52 */
+	{ 6,	TI,	solaris_semsys,		"semsys"	}, /* 53 */
+	{ 6,	0,	solaris_ioctl,		"ioctl"		}, /* 54 */
+	{ 6,	0,	solaris_uadmin,		"uadmin"	}, /* 55 */
+	{ 6,	0,	solaris_sysmp,		"sysmp"		}, /* 56 */
+	{ 6,	0,	solaris_utssys,		"utssys"	}, /* 57 */
+	{ 6,	0,	solaris_fdsync,		"fdsync"	}, /* 58 */
+	{ 6,	TF|TP,	solaris_execve,		"execve"	}, /* 59 */
+	{ 6,	0,	solaris_umask,		"umask"		}, /* 60 */
+	{ 6,	TF,	solaris_chroot,		"chroot"	}, /* 61 */
+	{ 6,	0,	solaris_fcntl,		"fcntl"		}, /* 62 */
+	{ 6,	0,	solaris_ulimit,		"ulimit"	}, /* 63 */
+	{ 6,	0,	printargs,		"SYS_64"	}, /* 64 */
+	{ 6,	0,	printargs,		"SYS_65"	}, /* 65 */
+	{ 6,	0,	printargs,		"SYS_66"	}, /* 66 */
+	{ 6,	0,	printargs,		"SYS_67"	}, /* 67 */
+	{ 6,	0,	printargs,		"SYS_68"	}, /* 68 */
+	{ 6,	0,	printargs,		"SYS_69"	}, /* 69 */
+	{ 6,	0,	printargs,		"SYS_70"	}, /* 70 */
+	{ 6,	0,	printargs,		"SYS_71"	}, /* 71 */
+	{ 6,	0,	printargs,		"SYS_72"	}, /* 72 */
+	{ 6,	0,	printargs,		"SYS_73"	}, /* 73 */
+	{ 6,	0,	printargs,		"SYS_74"	}, /* 74 */
+	{ 6,	0,	printargs,		"SYS_75"	}, /* 75 */
+	{ 6,	0,	printargs,		"SYS_76"	}, /* 76 */
+	{ 6,	0,	printargs,		"SYS_77"	}, /* 77 */
+	{ 6,	0,	printargs,		"SYS_78"	}, /* 78 */
+	{ 6,	TF,	solaris_rmdir,		"rmdir"		}, /* 79 */
+	{ 6,	TF,	solaris_mkdir,		"mkdir"		}, /* 80 */
+	{ 6,	0,	solaris_getdents,	"getdents"	}, /* 81 */
+	{ 6,	0,	solaris_sginap,		"sginap"	}, /* 82 */
+	{ 6,	0,	solaris_sgikopt,	"sgikopt"	}, /* 83 */
+	{ 6,	0,	solaris_sysfs,		"sysfs"		}, /* 84 */
+	{ 6,	TN,	sys_getmsg,		"getmsg"	}, /* 85 */
+	{ 6,	TN,	sys_putmsg,		"putmsg"	}, /* 86 */
+	{ 6,	TN,	solaris_poll,		"poll"		}, /* 87 */
+	{ 6,	TF,	solaris_lstat,		"lstat"		}, /* 88 */
+	{ 6,	TF,	solaris_symlink,	"symlink"	}, /* 89 */
+	{ 6,	TF,	solaris_readlink,	"readlink"	}, /* 90 */
+	{ 6,	0,	solaris_setgroups,	"setgroups"	}, /* 91 */
+	{ 6,	0,	solaris_getgroups,	"getgroups"	}, /* 92 */
+	{ 6,	0,	solaris_fchmod,		"fchmod"	}, /* 93 */
+	{ 6,	0,	solaris_fchown,		"fchown"	}, /* 94 */
+	{ 6,	TS,	solaris_sigprocmask,	"sigprocmask"	}, /* 95 */
+	{ 6,	TS,	solaris_sigsuspend,	"sigsuspend"	}, /* 96 */
+	{ 6,	TS,	solaris_sigaltstack,	"sigaltstack"	}, /* 97 */
+	{ 6,	TS,	solaris_sigaction,	"sigaction"	}, /* 98 */
+	{ 6,	0,	solaris_spcall,		"spcall"	}, /* 99 */
+	{ 6,	0,	solaris_context,	"context"	}, /* 100 */
+	{ 6,	0,	solaris_evsys,		"evsys"		}, /* 101 */
+	{ 6,	0,	solaris_evtrapret,	"evtrapret"	}, /* 102 */
+	{ 6,	TF,	solaris_statvfs,	"statvfs"	}, /* 103 */
+	{ 6,	0,	solaris_fstatvfs,	"fstatvfs"	}, /* 104 */
+	{ 6,	0,	printargs,		"SYS_105"	}, /* 105 */
+	{ 6,	0,	solaris_nfssys,		"nfssys"	}, /* 106 */
+	{ 6,	TP,	solaris_waitid,		"waitid"	}, /* 107 */
+	{ 6,	0,	solaris_sigsendsys,	"sigsendsys"	}, /* 108 */
+	{ 6,	0,	solaris_hrtsys,		"hrtsys"	}, /* 109 */
+	{ 6,	0,	solaris_acancel,	"acancel"	}, /* 110 */
+	{ 6,	0,	solaris_async,		"async"		}, /* 111 */
+	{ 6,	0,	solaris_priocntlsys,	"priocntlsys"	}, /* 112 */
+	{ 6,	TF,	solaris_pathconf,	"pathconf"	}, /* 113 */
+	{ 6,	0,	solaris_mincore,	"mincore"	}, /* 114 */
+	{ 6,	0,	solaris_mmap,		"mmap"		}, /* 115 */
+	{ 6,	0,	solaris_mprotect,	"mprotect"	}, /* 116 */
+	{ 6,	0,	solaris_munmap,		"munmap"	}, /* 117 */
+	{ 6,	0,	solaris_fpathconf,	"fpathconf"	}, /* 118 */
+	{ 6,	TP,	solaris_vfork,		"vfork"		}, /* 119 */
+	{ 6,	0,	solaris_fchdir,		"fchdir"	}, /* 120 */
+	{ 6,	0,	solaris_readv,		"readv"		}, /* 121 */
+	{ 6,	0,	solaris_writev,		"writev"	}, /* 122 */
+	{ 6,	TF,	solaris_xstat,		"xstat"		}, /* 123 */
+	{ 6,	TF,	solaris_lxstat,		"lxstat"	}, /* 124 */
+	{ 6,	0,	solaris_fxstat,		"fxstat"	}, /* 125 */
+	{ 6,	TF,	solaris_xmknod,		"xmknod"	}, /* 126 */
+	{ 6,	0,	solaris_clocal,		"clocal"	}, /* 127 */
+	{ 6,	0,	solaris_setrlimit,	"setrlimit"	}, /* 128 */
+	{ 6,	0,	solaris_getrlimit,	"getrlimit"	}, /* 129 */
+	{ 6,	TF,	solaris_lchown,		"lchown"	}, /* 130 */
+	{ 6,	0,	solaris_memcntl,	"memcntl"	}, /* 131 */
+	{ 6,	TN,	solaris_getpmsg,	"getpmsg"	}, /* 132 */
+	{ 6,	TN,	solaris_putpmsg,	"putpmsg"	}, /* 133 */
+	{ 6,	TF,	solaris_rename,		"rename"	}, /* 134 */
+	{ 6,	0,	solaris_uname,		"uname"		}, /* 135 */
+	{ 6,	0,	solaris_setegid,	"setegid"	}, /* 136 */
+	{ 6,	0,	solaris_sysconfig,	"sysconfig"	}, /* 137 */
+	{ 6,	0,	solaris_adjtime,	"adjtime"	}, /* 138 */
+	{ 6,	0,	solaris_sysinfo,	"sysinfo"	}, /* 139 */
+	{ 6,	0,	printargs,		"SYS_140"	}, /* 140 */
+	{ 6,	0,	solaris_seteuid,	"seteuid"	}, /* 141 */
+	{ 6,	0,	solaris_vtrace,		"vtrace"	}, /* 142 */
+	{ 6,	TP,	solaris_fork1,		"fork1"		}, /* 143 */
+	{ 6,	TS,	solaris_sigtimedwait,	"sigtimedwait"	}, /* 144 */
+	{ 6,	0,	solaris_lwp_info,	"lwp_info"	}, /* 145 */
+	{ 6,	0,	solaris_yield,		"yield"		}, /* 146 */
+	{ 6,	0,	solaris_lwp_sema_wait,	"lwp_sema_wait"	}, /* 147 */
+	{ 6,	0,	solaris_lwp_sema_post,	"lwp_sema_post"	}, /* 148 */
+	{ 6,	0,	printargs,		"SYS_149"	}, /* 149 */
+	{ 6,	0,	printargs,		"SYS_150"	}, /* 150 */
+	{ 6,	0,	printargs,		"SYS_151"	}, /* 151 */
+	{ 6,	0,	solaris_modctl,		"modctl"	}, /* 152 */
+	{ 6,	0,	solaris_fchroot,	"fchroot"	}, /* 153 */
+	{ 6,	TF,	solaris_utimes,		"utimes"	}, /* 154 */
+	{ 6,	0,	solaris_vhangup,	"vhangup"	}, /* 155 */
+	{ 6,	0,	solaris_gettimeofday,	"gettimeofday"	}, /* 156 */
+	{ 6,	0,	solaris_getitimer,	"getitimer"	}, /* 157 */
+	{ 6,	0,	solaris_setitimer,	"setitimer"	}, /* 158 */
+	{ 6,	0,	solaris_lwp_create,	"lwp_create"	}, /* 159 */
+	{ 6,	0,	solaris_lwp_exit,	"lwp_exit"	}, /* 160 */
+	{ 6,	0,	solaris_lwp_suspend,	"lwp_suspend"	}, /* 161 */
+	{ 6,	0,	solaris_lwp_continue,	"lwp_continue"	}, /* 162 */
+	{ 6,	0,	solaris_lwp_kill,	"lwp_kill"	}, /* 163 */
+	{ 6,	0,	solaris_lwp_self,	"lwp_self"	}, /* 164 */
+	{ 6,	0,	solaris_lwp_setprivate,	"lwp_setprivate"}, /* 165 */
+	{ 6,	0,	solaris_lwp_getprivate,	"lwp_getprivate"}, /* 166 */
+	{ 6,	0,	solaris_lwp_wait,	"lwp_wait"	}, /* 167 */
+	{ 6,	0,	solaris_lwp_mutex_unlock,"lwp_mutex_unlock"}, /* 168 */
+	{ 6,	0,	solaris_lwp_mutex_lock,	"lwp_mutex_lock"}, /* 169 */
+	{ 6,	0,	solaris_lwp_cond_wait,	"lwp_cond_wait"}, /* 170 */
+	{ 6,	0,	solaris_lwp_cond_signal,"lwp_cond_signal"}, /* 171 */
+	{ 6,	0,	solaris_lwp_cond_broadcast,"lwp_cond_broadcast"}, /* 172 */
+	{ 6,	0,	solaris_pread,		"pread"		}, /* 173 */
+	{ 6,	0,	solaris_pwrite,		"pwrite"	}, /* 174 */
+	{ 6,	0,	solaris_llseek,		"llseek"	}, /* 175 */
+	{ 6,	0,	solaris_inst_sync,	"inst_sync"	}, /* 176 */
+	{ 6,	0,	printargs,		"SYS_177"	}, /* 177 */
+	{ 6,	0,	printargs,		"SYS_178"	}, /* 178 */
+	{ 6,	0,	printargs,		"SYS_179"	}, /* 179 */
+	{ 6,	0,	printargs,		"SYS_180"	}, /* 180 */
+	{ 6,	0,	printargs,		"SYS_181"	}, /* 181 */
+	{ 6,	0,	printargs,		"SYS_182"	}, /* 182 */
+	{ 6,	0,	printargs,		"SYS_183"	}, /* 183 */
+	{ 6,	0,	printargs,		"SYS_184"	}, /* 184 */
+	{ 6,	0,	printargs,		"SYS_185"	}, /* 185 */
+	{ 6,	0,	solaris_auditsys,	"auditsys"	}, /* 186 */
+	{ 6,	0,	solaris_processor_bind,	"processor_bind"}, /* 187 */
+	{ 6,	0,	solaris_processor_info,	"processor_info"}, /* 188 */
+	{ 6,	0,	solaris_p_online,	"p_online"	}, /* 189 */
+	{ 6,	0,	solaris_sigqueue,	"sigqueue"	}, /* 190 */
+	{ 6,	0,	solaris_clock_gettime,	"clock_gettime"	}, /* 191 */
+	{ 6,	0,	solaris_clock_settime,	"clock_settime"	}, /* 192 */
+	{ 6,	0,	solaris_clock_getres,	"clock_getres"	}, /* 193 */
+	{ 6,	0,	solaris_timer_create,	"timer_create"	}, /* 194 */
+	{ 6,	0,	solaris_timer_delete,	"timer_delete"	}, /* 195 */
+	{ 6,	0,	solaris_timer_settime,	"timer_settime"	}, /* 196 */
+	{ 6,	0,	solaris_timer_gettime,	"timer_gettime"	}, /* 197 */
+	{ 6,	0,	solaris_timer_getoverrun,"timer_getoverrun"}, /* 198 */
+	{ 6,	0,	solaris_nanosleep,	"nanosleep"	}, /* 199 */
+	{ 6,	0,	printargs,		"SYS_200"	}, /* 200 */
+	{ 6,	0,	printargs,		"SYS_201"	}, /* 201 */
+	{ 6,	0,	printargs,		"SYS_202"	}, /* 202 */
+	{ 6,	0,	printargs,		"SYS_203"	}, /* 203 */
+	{ 6,	0,	printargs,		"SYS_204"	}, /* 204 */
+	{ 6,	0,	printargs,		"SYS_205"	}, /* 205 */
+	{ 6,	0,	printargs,		"SYS_206"	}, /* 206 */
+	{ 6,	0,	printargs,		"SYS_207"	}, /* 207 */
+	{ 6,	0,	printargs,		"SYS_208"	}, /* 208 */
+	{ 6,	0,	printargs,		"SYS_209"	}, /* 209 */
+	{ 6,	0,	printargs,		"SYS_210"	}, /* 210 */
+	{ 6,	0,	printargs,		"SYS_211"	}, /* 211 */
+	{ 6,	0,	printargs,		"SYS_212"	}, /* 212 */
+	{ 6,	0,	printargs,		"SYS_213"	}, /* 213 */
+	{ 6,	0,	printargs,		"SYS_214"	}, /* 214 */
+	{ 6,	0,	printargs,		"SYS_215"	}, /* 215 */
+	{ 6,	0,	printargs,		"SYS_216"	}, /* 216 */
+	{ 6,	0,	printargs,		"SYS_217"	}, /* 217 */
+	{ 6,	0,	printargs,		"SYS_218"	}, /* 218 */
+	{ 6,	0,	printargs,		"SYS_219"	}, /* 219 */
+	{ 6,	0,	printargs,		"SYS_220"	}, /* 220 */
+	{ 6,	0,	printargs,		"SYS_221"	}, /* 221 */
+	{ 6,	0,	printargs,		"SYS_222"	}, /* 222 */
+	{ 6,	0,	printargs,		"SYS_223"	}, /* 223 */
+	{ 6,	0,	printargs,		"SYS_224"	}, /* 224 */
+	{ 6,	0,	printargs,		"SYS_225"	}, /* 225 */
+	{ 6,	0,	printargs,		"SYS_226"	}, /* 226 */
+	{ 6,	0,	printargs,		"SYS_227"	}, /* 227 */
+	{ 6,	0,	printargs,		"SYS_228"	}, /* 228 */
+	{ 6,	0,	printargs,		"SYS_229"	}, /* 229 */
+	{ 6,	0,	printargs,		"SYS_230"	}, /* 230 */
+	{ 6,	0,	printargs,		"SYS_231"	}, /* 231 */
+	{ 6,	0,	printargs,		"SYS_232"	}, /* 232 */
+	{ 6,	0,	printargs,		"SYS_233"	}, /* 233 */
+	{ 6,	0,	printargs,		"SYS_234"	}, /* 234 */
+	{ 6,	0,	printargs,		"SYS_235"	}, /* 235 */
+	{ 6,	0,	printargs,		"SYS_236"	}, /* 236 */
+	{ 6,	0,	printargs,		"SYS_237"	}, /* 237 */
+	{ 6,	0,	printargs,		"SYS_238"	}, /* 238 */
+	{ 6,	0,	printargs,		"SYS_239"	}, /* 239 */
+	{ 6,	0,	printargs,		"SYS_240"	}, /* 240 */
+	{ 6,	0,	printargs,		"SYS_241"	}, /* 241 */
+	{ 6,	0,	printargs,		"SYS_242"	}, /* 242 */
+	{ 6,	0,	printargs,		"SYS_243"	}, /* 243 */
+	{ 6,	0,	printargs,		"SYS_244"	}, /* 244 */
+	{ 6,	0,	printargs,		"SYS_245"	}, /* 245 */
+	{ 6,	0,	printargs,		"SYS_246"	}, /* 246 */
+	{ 6,	0,	printargs,		"SYS_247"	}, /* 247 */
+	{ 6,	0,	printargs,		"SYS_248"	}, /* 248 */
+	{ 6,	0,	printargs,		"SYS_249"	}, /* 249 */
+	{ 6,	0,	printargs,		"SYS_250"	}, /* 250 */
+	{ 6,	0,	printargs,		"SYS_251"	}, /* 251 */
+	{ 6,	0,	printargs,		"SYS_252"	}, /* 252 */
+	{ 6,	0,	printargs,		"SYS_253"	}, /* 253 */
+	{ 6,	0,	printargs,		"SYS_254"	}, /* 254 */
+	{ 6,	0,	printargs,		"SYS_255"	}, /* 255 */
+	{ 6,	0,	printargs,		"SYS_256"	}, /* 256 */
+	{ 6,	0,	printargs,		"SYS_257"	}, /* 257 */
+	{ 6,	0,	printargs,		"SYS_258"	}, /* 258 */
+	{ 6,	0,	printargs,		"SYS_259"	}, /* 259 */
+	{ 6,	0,	printargs,		"SYS_260"	}, /* 260 */
+	{ 6,	0,	printargs,		"SYS_261"	}, /* 261 */
+	{ 6,	0,	printargs,		"SYS_262"	}, /* 262 */
+	{ 6,	0,	printargs,		"SYS_263"	}, /* 263 */
+	{ 6,	0,	printargs,		"SYS_264"	}, /* 264 */
+	{ 6,	0,	printargs,		"SYS_265"	}, /* 265 */
+	{ 6,	0,	printargs,		"SYS_266"	}, /* 266 */
+	{ 6,	0,	printargs,		"SYS_267"	}, /* 267 */
+	{ 6,	0,	printargs,		"SYS_268"	}, /* 268 */
+	{ 6,	0,	printargs,		"SYS_269"	}, /* 269 */
+	{ 6,	0,	printargs,		"SYS_270"	}, /* 270 */
+	{ 6,	0,	printargs,		"SYS_271"	}, /* 271 */
+	{ 6,	0,	printargs,		"SYS_272"	}, /* 272 */
+	{ 6,	0,	printargs,		"SYS_273"	}, /* 273 */
+	{ 6,	0,	printargs,		"SYS_274"	}, /* 274 */
+	{ 6,	0,	printargs,		"SYS_275"	}, /* 275 */
+	{ 6,	0,	printargs,		"SYS_276"	}, /* 276 */
+	{ 6,	0,	printargs,		"SYS_277"	}, /* 277 */
+	{ 6,	0,	printargs,		"SYS_278"	}, /* 278 */
+	{ 6,	0,	printargs,		"SYS_279"	}, /* 279 */
+	{ 6,	0,	printargs,		"SYS_280"	}, /* 280 */
+	{ 6,	0,	printargs,		"SYS_281"	}, /* 281 */
+	{ 6,	0,	printargs,		"SYS_282"	}, /* 282 */
+	{ 6,	0,	printargs,		"SYS_283"	}, /* 283 */
+	{ 6,	0,	printargs,		"SYS_284"	}, /* 284 */
+	{ 6,	0,	printargs,		"SYS_285"	}, /* 285 */
+	{ 6,	0,	printargs,		"SYS_286"	}, /* 286 */
+	{ 6,	0,	printargs,		"SYS_287"	}, /* 287 */
+	{ 6,	0,	printargs,		"SYS_288"	}, /* 288 */
+	{ 6,	0,	printargs,		"SYS_289"	}, /* 289 */
+	{ 6,	0,	printargs,		"SYS_290"	}, /* 290 */
+	{ 6,	0,	printargs,		"SYS_291"	}, /* 291 */
+	{ 6,	0,	printargs,		"SYS_292"	}, /* 292 */
+	{ 6,	0,	printargs,		"SYS_293"	}, /* 293 */
+	{ 6,	0,	printargs,		"SYS_294"	}, /* 294 */
+	{ 6,	0,	printargs,		"SYS_295"	}, /* 295 */
+	{ 6,	0,	printargs,		"SYS_296"	}, /* 296 */
+	{ 6,	0,	printargs,		"SYS_297"	}, /* 297 */
+	{ 6,	0,	printargs,		"SYS_298"	}, /* 298 */
+	{ 6,	0,	printargs,		"SYS_299"	}, /* 299 */
+
+	{ 6,	0,	solaris_getpgrp,	"getpgrp"	}, /* 300 */
+	{ 6,	0,	solaris_setpgrp,	"setpgrp"	}, /* 301 */
+	{ 6,	0,	solaris_getsid,		"getsid"	}, /* 302 */
+	{ 6,	0,	solaris_setsid,		"setsid"	}, /* 303 */
+	{ 6,	0,	solaris_getpgid,	"getpgid"	}, /* 304 */
+	{ 6,	0,	solaris_setpgid,	"setpgid"	}, /* 305 */
+	{ 6,	0,	printargs,		"SYS_306"	}, /* 306 */
+	{ 6,	0,	printargs,		"SYS_307"	}, /* 307 */
+	{ 6,	0,	printargs,		"SYS_308"	}, /* 308 */
+	{ 6,	0,	printargs,		"SYS_309"	}, /* 309 */
+
+	{ 6,	TS,	solaris_signal,		"signal"	}, /* 310 */
+	{ 6,	TS,	solaris_sigset,		"sigset"	}, /* 311 */
+	{ 6,	TS,	solaris_sighold,	"sighold"	}, /* 312 */
+	{ 6,	TS,	solaris_sigrelse,	"sigrelse"	}, /* 313 */
+	{ 6,	TS,	solaris_sigignore,	"sigignore"	}, /* 314 */
+	{ 6,	TS,	solaris_sigpause,	"sigpause"	}, /* 315 */
+	{ 6,	0,	printargs,		"SYS_316"	}, /* 316 */
+	{ 6,	0,	printargs,		"SYS_317"	}, /* 317 */
+	{ 6,	0,	printargs,		"SYS_318"	}, /* 318 */
+	{ 6,	0,	printargs,		"SYS_319"	}, /* 319 */
+
+	{ 6,	TI,	solaris_msgget,		"msgget"	}, /* 320 */
+	{ 6,	TI,	solaris_msgctl,		"msgctl"	}, /* 321 */
+	{ 6,	TI,	solaris_msgrcv,		"msgrcv"	}, /* 322 */
+	{ 6,	TI,	solaris_msgsnd,		"msgsnd"	}, /* 323 */
+	{ 6,	0,	printargs,		"SYS_324"	}, /* 324 */
+	{ 6,	0,	printargs,		"SYS_325"	}, /* 325 */
+	{ 6,	0,	printargs,		"SYS_326"	}, /* 326 */
+	{ 6,	0,	printargs,		"SYS_327"	}, /* 327 */
+	{ 6,	0,	printargs,		"SYS_328"	}, /* 328 */
+	{ 6,	0,	printargs,		"SYS_329"	}, /* 329 */
+
+	{ 6,	TI,	solaris_shmat,		"shmat"		}, /* 330 */
+	{ 6,	TI,	solaris_shmctl,		"shmctl"	}, /* 331 */
+	{ 6,	TI,	solaris_shmdt,		"shmdt"		}, /* 332 */
+	{ 6,	TI,	solaris_shmget,		"shmget"	}, /* 333 */
+	{ 6,	0,	printargs,		"SYS_334"	}, /* 334 */
+	{ 6,	0,	printargs,		"SYS_335"	}, /* 335 */
+	{ 6,	0,	printargs,		"SYS_336"	}, /* 336 */
+	{ 6,	0,	printargs,		"SYS_337"	}, /* 337 */
+	{ 6,	0,	printargs,		"SYS_338"	}, /* 338 */
+	{ 6,	0,	printargs,		"SYS_339"	}, /* 339 */
+
+	{ 6,	TI,	solaris_semctl,		"semctl"	}, /* 340 */
+	{ 6,	TI,	solaris_semget,		"semget"	}, /* 341 */
+	{ 6,	TI,	solaris_semop,		"semop"		}, /* 342 */
+	{ 6,	0,	printargs,		"SYS_343"	}, /* 343 */
+	{ 6,	0,	printargs,		"SYS_344"	}, /* 344 */
+	{ 6,	0,	printargs,		"SYS_345"	}, /* 345 */
+	{ 6,	0,	printargs,		"SYS_346"	}, /* 346 */
+	{ 6,	0,	printargs,		"SYS_347"	}, /* 347 */
+	{ 6,	0,	printargs,		"SYS_348"	}, /* 348 */
+	{ 6,	0,	printargs,		"SYS_349"	}, /* 349 */
+
+	{ 6,	0,	solaris_olduname,	"olduname"	}, /* 350 */
+	{ 6,	0,	printargs,		"utssys1"	}, /* 351 */
+	{ 6,	0,	solaris_ustat,		"ustat"		}, /* 352 */
+	{ 6,	0,	solaris_fusers,		"fusers"	}, /* 353 */
+	{ 6,	0,	printargs,		"SYS_354"	}, /* 354 */
+	{ 6,	0,	printargs,		"SYS_355"	}, /* 355 */
+	{ 6,	0,	printargs,		"SYS_356"	}, /* 356 */
+	{ 6,	0,	printargs,		"SYS_357"	}, /* 357 */
+	{ 6,	0,	printargs,		"SYS_358"	}, /* 358 */
+	{ 6,	0,	printargs,		"SYS_359"	}, /* 359 */
+
+	{ 6,	0,	printargs,		"sysfs0"	}, /* 360 */
+	{ 6,	0,	solaris_sysfs1,		"sysfs1"	}, /* 361 */
+	{ 6,	0,	solaris_sysfs2,		"sysfs2"	}, /* 362 */
+	{ 6,	0,	solaris_sysfs3,		"sysfs3"	}, /* 363 */
+	{ 6,	0,	printargs,		"SYS_364"	}, /* 364 */
+	{ 6,	0,	printargs,		"SYS_365"	}, /* 365 */
+	{ 6,	0,	printargs,		"SYS_366"	}, /* 366 */
+	{ 6,	0,	printargs,		"SYS_367"	}, /* 367 */
+	{ 6,	0,	printargs,		"SYS_368"	}, /* 368 */
+	{ 6,	0,	printargs,		"SYS_369"	}, /* 369 */
+
+	{ 6,	0,	printargs,		"spcall0"	}, /* 370 */
+	{ 6,	TS,	solaris_sigpending,	"sigpending"	}, /* 371 */
+	{ 6,	TS,	solaris_sigfillset,	"sigfillset"	}, /* 372 */
+	{ 6,	0,	printargs,		"SYS_373"	}, /* 373 */
+	{ 6,	0,	printargs,		"SYS_374"	}, /* 374 */
+	{ 6,	0,	printargs,		"SYS_375"	}, /* 375 */
+	{ 6,	0,	printargs,		"SYS_376"	}, /* 376 */
+	{ 6,	0,	printargs,		"SYS_377"	}, /* 377 */
+	{ 6,	0,	printargs,		"SYS_378"	}, /* 378 */
+	{ 6,	0,	printargs,		"SYS_379"	}, /* 379 */
+
+	{ 6,	0,	solaris_getcontext,	"getcontext"	}, /* 380 */
+	{ 6,	0,	solaris_setcontext,	"setcontext"	}, /* 381 */
+	{ 6,	0,	printargs,		"SYS_382"	}, /* 382 */
+	{ 6,	0,	printargs,		"SYS_383"	}, /* 383 */
+	{ 6,	0,	printargs,		"SYS_384"	}, /* 384 */
+	{ 6,	0,	printargs,		"SYS_385"	}, /* 385 */
+	{ 6,	0,	printargs,		"SYS_386"	}, /* 386 */
+	{ 6,	0,	printargs,		"SYS_387"	}, /* 387 */
+	{ 6,	0,	printargs,		"SYS_388"	}, /* 388 */
+	{ 6,	0,	printargs,		"SYS_389"	}, /* 389 */
+
+	{ 6,	0,	printargs,		"SYS_390"	}, /* 390 */
+	{ 6,	0,	printargs,		"SYS_391"	}, /* 391 */
+	{ 6,	0,	printargs,		"SYS_392"	}, /* 392 */
+	{ 6,	0,	printargs,		"SYS_393"	}, /* 393 */
+	{ 6,	0,	printargs,		"SYS_394"	}, /* 394 */
+	{ 6,	0,	printargs,		"SYS_395"	}, /* 395 */
+	{ 6,	0,	printargs,		"SYS_396"	}, /* 396 */
+	{ 6,	0,	printargs,		"SYS_397"	}, /* 397 */
+	{ 6,	0,	printargs,		"SYS_398"	}, /* 398 */
+	{ 6,	0,	printargs,		"SYS_399"	}, /* 399 */
diff --git a/strace-4.5.20/linux/sparc64/dummy2.h b/strace-4.5.20/linux/sparc64/dummy2.h
new file mode 100644
index 0000000..8ff464b
--- /dev/null
+++ b/strace-4.5.20/linux/sparc64/dummy2.h
@@ -0,0 +1,282 @@
+/*
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+/* still unfinished */
+
+#define solaris_sysmp printargs
+#define solaris_sginap printargs
+#define solaris_sgikopt printargs
+#define solaris_sysmips printargs
+#define solaris_sigreturn printargs
+#define solaris_recvmsg printargs
+#define solaris_sendmsg printargs
+#define solaris_nfssvc printargs
+#define solaris_getfh printargs
+#define solaris_async_daemon printargs
+#define solaris_exportfs printargs
+#define solaris_BSD_getime printargs
+#define solaris_sproc printargs
+#define solaris_procblk printargs
+#define solaris_sprocsp printargs
+#define solaris_msync printargs
+#define solaris_madvise printargs
+#define solaris_pagelock printargs
+#define solaris_quotactl printargs
+#define solaris_cacheflush printargs
+#define solaris_cachectl printargs
+#define solaris_nuname printargs
+#define solaris_sigpoll printargs
+#define solaris_swapctl printargs
+#define solaris_sigstack printargs
+#define solaris_sigsendset printargs
+#define solaris_priocntl printargs
+#define solaris_ksigqueue printargs
+#define solaris_lwp_sema_wait printargs
+#define solaris_memcntl printargs
+#define solaris_syscall printargs
+#define solaris_clocal printargs
+#define solaris_syssun printargs
+#define solaris_sysi86 printargs
+#define solaris_sysmachine printargs
+#define solaris_plock printargs
+#define solaris_pathconf printargs
+#define solaris_sigtimedwait printargs
+#define solaris_ulimit printargs
+#define solaris_ptrace printargs
+#define solaris_stty printargs
+#define solaris_lwp_info printargs
+#define solaris_priocntlsys printargs
+#define solaris_hrtsys printargs
+#define solaris_xenix printargs
+#define solaris_statfs printargs
+#define solaris_fstatfs printargs
+#define solaris_statvfs printargs
+#define solaris_fstatvfs printargs
+#define solaris_fork1 printargs
+#define solaris_sigsendsys printargs
+#define solaris_gtty printargs
+#define solaris_vtrace printargs
+#define solaris_fpathconf printargs
+#define solaris_evsys printargs
+#define solaris_acct printargs
+#define solaris_exec printargs
+#define solaris_lwp_sema_post printargs
+#define solaris_nfssys printargs
+#define solaris_sigaltstack printargs
+#define solaris_uadmin printargs
+#define solaris_umount printargs
+#define solaris_modctl printargs
+#define solaris_acancel printargs
+#define solaris_async printargs
+#define solaris_evtrapret printargs
+#define solaris_lwp_create printargs
+#define solaris_lwp_exit printargs
+#define solaris_lwp_suspend printargs
+#define solaris_lwp_continue printargs
+#define solaris_lwp_kill printargs
+#define solaris_lwp_self printargs
+#define solaris_lwp_setprivate printargs
+#define solaris_lwp_getprivate printargs
+#define solaris_lwp_wait printargs
+#define solaris_lwp_mutex_unlock printargs
+#define solaris_lwp_mutex_lock printargs
+#define solaris_lwp_cond_wait printargs
+#define solaris_lwp_cond_signal printargs
+#define solaris_lwp_cond_broadcast printargs
+#define solaris_llseek printargs
+#define solaris_inst_sync printargs
+#define solaris_auditsys printargs
+#define solaris_processor_bind printargs
+#define solaris_processor_info printargs
+#define solaris_p_online printargs
+#define solaris_sigqueue printargs
+#define solaris_clock_gettime printargs
+#define solaris_clock_settime printargs
+#define solaris_clock_getres printargs
+#define solaris_nanosleep printargs
+#define solaris_timer_create printargs
+#define solaris_timer_delete printargs
+#define solaris_timer_settime printargs
+#define solaris_timer_gettime printargs
+#define solaris_timer_getoverrun printargs
+#define solaris_signal printargs
+#define solaris_sigset printargs
+#define solaris_sighold printargs
+#define solaris_sigrelse printargs
+#define solaris_sigignore printargs
+#define solaris_sigpause printargs
+#define solaris_msgctl printargs
+#define solaris_msgget printargs
+#define solaris_msgrcv printargs
+#define solaris_msgsnd printargs
+#define solaris_shmat printargs
+#define solaris_shmctl printargs
+#define solaris_shmdt printargs
+#define solaris_shmget printargs
+#define solaris_semctl printargs
+#define solaris_semget printargs
+#define solaris_semop printargs
+#define solaris_olduname printargs
+#define solaris_ustat printargs
+#define solaris_fusers printargs
+#define solaris_sysfs1 printargs
+#define solaris_sysfs2 printargs
+#define solaris_sysfs3 printargs
+
+/* like another call */
+#define solaris_lchown solaris_chown
+#define solaris_setuid solaris_close
+#define solaris_seteuid solaris_close
+#define solaris_setgid solaris_close
+#define solaris_setegid solaris_close
+#define solaris_vhangup solaris_close
+#define solaris_fdsync solaris_close
+#define solaris_sigfillset solaris_sigpending
+#define solaris_vfork solaris_fork
+#define solaris_ksigaction solaris_sigaction
+#define solaris_BSDgetpgrp solaris_getpgrp
+#define solaris_BSDsetpgrp solaris_setpgrp
+#define solaris_waitsys solaris_waitid
+
+/* printargs does the right thing */
+#define solaris_sync printargs
+#define solaris_profil printargs
+#define solaris_yield printargs
+#define solaris_pause printargs
+#define solaris_sethostid printargs
+
+/* subfunction entry points */
+#define solaris_pgrpsys printargs
+#define solaris_sigcall printargs
+#define solaris_msgsys printargs
+#define solaris_shmsys printargs
+#define solaris_semsys printargs
+#define solaris_utssys printargs
+#define solaris_sysfs printargs
+#define solaris_spcall printargs
+#define solaris_context printargs
+
+/* same as linux */
+#define solaris_exit sys_exit
+#define solaris_fork sys_fork
+#define solaris_read sys_read
+#define solaris_write sys_write
+#define solaris_close sys_close
+#define solaris_creat sys_creat
+#define solaris_link sys_link
+#define solaris_unlink sys_unlink
+#define solaris_chdir sys_chdir
+#define solaris_time sys_time
+#define solaris_chmod sys_chmod
+#define solaris_lseek sys_lseek
+#define solaris_stime sys_stime
+#define solaris_alarm sys_alarm
+#define solaris_utime sys_utime
+#define solaris_access sys_access
+#define solaris_nice sys_nice
+#define solaris_dup sys_dup
+#define solaris_pipe sys_pipe
+#define solaris_times sys_times
+#define solaris_execve sys_execve
+#define solaris_umask sys_umask
+#define solaris_chroot sys_chroot
+#define solaris_rmdir sys_rmdir
+#define solaris_mkdir sys_mkdir
+#define solaris_getdents sys_getdents
+#define solaris_poll sys_poll
+#define solaris_symlink sys_symlink
+#define solaris_readlink sys_readlink
+#define solaris_setgroups sys_setgroups
+#define solaris_getgroups sys_getgroups
+#define solaris_fchmod sys_fchmod
+#define solaris_fchown sys_fchown
+#define solaris_mprotect sys_mprotect
+#define solaris_munmap sys_munmap
+#define solaris_readv sys_readv
+#define solaris_writev sys_writev
+#define solaris_chown sys_chown
+#define solaris_rename sys_rename
+#define solaris_gettimeofday sys_gettimeofday
+#define solaris_getitimer sys_getitimer
+#define solaris_setitimer sys_setitimer
+#define solaris_brk sys_brk
+#define solaris_mmap sys_mmap
+#define solaris_getsid sys_getsid
+#define solaris_setsid sys_setsid
+#define solaris_getpgid sys_getpgid
+#define solaris_setpgid sys_setpgid
+#define solaris_getpgrp sys_getpgrp
+
+/* These are handled according to current_personality */
+#define solaris_xstat sys_xstat
+#define solaris_fxstat sys_fxstat
+#define solaris_lxstat sys_lxstat
+#define solaris_xmknod sys_xmknod
+#define solaris_stat sys_stat
+#define solaris_fstat sys_fstat
+#define solaris_lstat sys_lstat
+#define solaris_pread sys_pread
+#define solaris_pwrite sys_pwrite
+#define solaris_ioctl sys_ioctl
+#define solaris_mknod sys_mknod
+
+/* To be done */
+#define solaris_mount printargs
+#define solaris_sysinfo printargs
+#define solaris_sysconfig printargs
+#define solaris_getpmsg printargs
+#define solaris_putpmsg printargs
+#define solaris_wait printargs
+#define solaris_waitid printargs
+#define solaris_sigsuspend printargs
+#define solaris_setpgrp printargs
+#define solaris_getcontext printargs
+#define solaris_setcontext printargs
+#define solaris_getpid printargs
+#define solaris_getuid printargs
+#define solaris_kill printargs
+#define solaris_getgid printargs
+#define solaris_fcntl printargs
+#define solaris_getmsg printargs
+#define solaris_putmsg printargs
+#define solaris_sigprocmask printargs
+#define solaris_sigaction printargs
+#define solaris_sigpending printargs
+#define solaris_mincore printargs
+#define solaris_fchdir printargs
+#define solaris_setrlimit printargs
+#define solaris_getrlimit printargs
+#define solaris_uname printargs
+#define solaris_adjtime printargs
+#define solaris_fchroot printargs
+#define solaris_utimes printargs
+
+#if DONE
+#define solaris_open printargs
+#endif
diff --git a/strace-4.5.20/linux/sparc64/errnoent.h b/strace-4.5.20/linux/sparc64/errnoent.h
new file mode 100644
index 0000000..d243699
--- /dev/null
+++ b/strace-4.5.20/linux/sparc64/errnoent.h
@@ -0,0 +1,127 @@
+	"ERRNO_0", /* 0 */
+	"EPERM", /* 1 */
+	"ENOENT", /* 2 */
+	"ESRCH", /* 3 */
+	"EINTR", /* 4 */
+	"EIO", /* 5 */
+	"ENXIO", /* 6 */
+	"E2BIG", /* 7 */
+	"ENOEXEC", /* 8 */
+	"EBADF", /* 9 */
+	"ECHILD", /* 10 */
+	"EAGAIN", /* 11 */
+	"ENOMEM", /* 12 */
+	"EACCES", /* 13 */
+	"EFAULT", /* 14 */
+	"ENOTBLK", /* 15 */
+	"EBUSY", /* 16 */
+	"EEXIST", /* 17 */
+	"EXDEV", /* 18 */
+	"ENODEV", /* 19 */
+	"ENOTDIR", /* 20 */
+	"EISDIR", /* 21 */
+	"EINVAL", /* 22 */
+	"ENFILE", /* 23 */
+	"EMFILE", /* 24 */
+	"ENOTTY", /* 25 */
+	"ETXTBSY", /* 26 */
+	"EFBIG", /* 27 */
+	"ENOSPC", /* 28 */
+	"ESPIPE", /* 29 */
+	"EROFS", /* 30 */
+	"EMLINK", /* 31 */
+	"EPIPE", /* 32 */
+	"EDOM", /* 33 */
+	"ERANGE", /* 34 */
+	"EWOULDBLOCK", /* 35 */
+	"EINPROGRESS", /* 36 */
+	"EALREADY", /* 37 */
+	"ENOTSOCK", /* 38 */
+	"EDESTADDRREQ", /* 39 */
+	"EMSGSIZE", /* 40 */
+	"EPROTOTYPE", /* 41 */
+	"ENOPROTOOPT", /* 42 */
+	"EPROTONOSUPPORT", /* 43 */
+	"ESOCKTNOSUPPORT", /* 44 */
+	"EOPNOTSUPP", /* 45 */
+	"EPFNOSUPPORT", /* 46 */
+	"EAFNOSUPPORT", /* 47 */
+	"EADDRINUSE", /* 48 */
+	"EADDRNOTAVAIL", /* 49 */
+	"ENETDOWN", /* 50 */
+	"ENETUNREACH", /* 51 */
+	"ENETRESET", /* 52 */
+	"ECONNABORTED", /* 53 */
+	"ECONNRESET", /* 54 */
+	"ENOBUFS", /* 55 */
+	"EISCONN", /* 56 */
+	"ENOTCONN", /* 57 */
+	"ESHUTDOWN", /* 58 */
+	"ETOOMANYREFS", /* 59 */
+	"ETIMEDOUT", /* 60 */
+	"ECONNREFUSED", /* 61 */
+	"ELOOP", /* 62 */
+	"ENAMETOOLONG", /* 63 */
+	"EHOSTDOWN", /* 64 */
+	"EHOSTUNREACH", /* 65 */
+	"ENOTEMPTY", /* 66 */
+	"EPROCLIM", /* 67 */
+	"EUSERS", /* 68 */
+	"EDQUOT", /* 69 */
+	"ESTALE", /* 70 */
+	"EREMOTE", /* 71 */
+	"ENOSTR", /* 72 */
+	"ETIME", /* 73 */
+	"ENOSR", /* 74 */
+	"ENOMSG", /* 75 */
+	"EBADMSG", /* 76 */
+	"EIDRM", /* 77 */
+	"EDEADLK", /* 78 */
+	"ENOLCK", /* 79 */
+	"ENONET", /* 80 */
+	"ERREMOTE", /* 81 */
+	"ENOLINK", /* 82 */
+	"EADV", /* 83 */
+	"ESRMNT", /* 84 */
+	"ECOMM", /* 85 */
+	"EPROTO", /* 86 */
+	"EMULTIHOP", /* 87 */
+	"EDOTDOT", /* 88 */
+	"EREMCHG", /* 89 */
+	"ENOSYS", /* 90 */
+	"ESTRPIPE", /* 91 */
+	"EOVERFLOW", /* 92 */
+	"EBADFD", /* 93 */
+	"ECHRNG", /* 94 */
+	"EL2NSYNC", /* 95 */
+	"EL3HLT", /* 96 */
+	"EL3RST", /* 97 */
+	"ELNRNG", /* 98 */
+	"EUNATCH", /* 99 */
+	"ENOCSI", /* 100 */
+	"EL2HLT", /* 101 */
+	"EBADE", /* 102 */
+	"EBADR", /* 103 */
+	"EXFULL", /* 104 */
+	"ENOANO", /* 105 */
+	"EBADRQC", /* 106 */
+	"EBADSLT", /* 107 */
+	"EDEADLOCK", /* 108 */
+	"EBFONT", /* 109 */
+	"ELIBEXEC", /* 110 */
+	"ENODATA", /* 111 */
+	"ELIBBAD", /* 112 */
+	"ENOPKG", /* 113 */
+	"ELIBACC", /* 114 */
+	"ENOTUNIQ", /* 115 */
+	"ERESTART", /* 116 */
+	"EUCLEAN", /* 117 */
+	"ENOTNAM", /* 118 */
+	"ENAVAIL", /* 119 */
+	"EISNAM", /* 120 */
+	"EREMOTEIO", /* 121 */
+	"EILSEQ", /* 122 */
+	"ELIBMAX", /* 123 */
+	"ELIBSCN", /* 124 */
+	"ENOMEDIUM", /* 125 */
+	"EMEDIUMTYPE", /* 126 */
diff --git a/strace-4.5.20/linux/sparc64/errnoent1.h b/strace-4.5.20/linux/sparc64/errnoent1.h
new file mode 100644
index 0000000..4d750bd
--- /dev/null
+++ b/strace-4.5.20/linux/sparc64/errnoent1.h
@@ -0,0 +1 @@
+#include "../svr4/errnoent.h"
diff --git a/strace-4.5.20/linux/sparc64/errnoent2.h b/strace-4.5.20/linux/sparc64/errnoent2.h
new file mode 100644
index 0000000..d243699
--- /dev/null
+++ b/strace-4.5.20/linux/sparc64/errnoent2.h
@@ -0,0 +1,127 @@
+	"ERRNO_0", /* 0 */
+	"EPERM", /* 1 */
+	"ENOENT", /* 2 */
+	"ESRCH", /* 3 */
+	"EINTR", /* 4 */
+	"EIO", /* 5 */
+	"ENXIO", /* 6 */
+	"E2BIG", /* 7 */
+	"ENOEXEC", /* 8 */
+	"EBADF", /* 9 */
+	"ECHILD", /* 10 */
+	"EAGAIN", /* 11 */
+	"ENOMEM", /* 12 */
+	"EACCES", /* 13 */
+	"EFAULT", /* 14 */
+	"ENOTBLK", /* 15 */
+	"EBUSY", /* 16 */
+	"EEXIST", /* 17 */
+	"EXDEV", /* 18 */
+	"ENODEV", /* 19 */
+	"ENOTDIR", /* 20 */
+	"EISDIR", /* 21 */
+	"EINVAL", /* 22 */
+	"ENFILE", /* 23 */
+	"EMFILE", /* 24 */
+	"ENOTTY", /* 25 */
+	"ETXTBSY", /* 26 */
+	"EFBIG", /* 27 */
+	"ENOSPC", /* 28 */
+	"ESPIPE", /* 29 */
+	"EROFS", /* 30 */
+	"EMLINK", /* 31 */
+	"EPIPE", /* 32 */
+	"EDOM", /* 33 */
+	"ERANGE", /* 34 */
+	"EWOULDBLOCK", /* 35 */
+	"EINPROGRESS", /* 36 */
+	"EALREADY", /* 37 */
+	"ENOTSOCK", /* 38 */
+	"EDESTADDRREQ", /* 39 */
+	"EMSGSIZE", /* 40 */
+	"EPROTOTYPE", /* 41 */
+	"ENOPROTOOPT", /* 42 */
+	"EPROTONOSUPPORT", /* 43 */
+	"ESOCKTNOSUPPORT", /* 44 */
+	"EOPNOTSUPP", /* 45 */
+	"EPFNOSUPPORT", /* 46 */
+	"EAFNOSUPPORT", /* 47 */
+	"EADDRINUSE", /* 48 */
+	"EADDRNOTAVAIL", /* 49 */
+	"ENETDOWN", /* 50 */
+	"ENETUNREACH", /* 51 */
+	"ENETRESET", /* 52 */
+	"ECONNABORTED", /* 53 */
+	"ECONNRESET", /* 54 */
+	"ENOBUFS", /* 55 */
+	"EISCONN", /* 56 */
+	"ENOTCONN", /* 57 */
+	"ESHUTDOWN", /* 58 */
+	"ETOOMANYREFS", /* 59 */
+	"ETIMEDOUT", /* 60 */
+	"ECONNREFUSED", /* 61 */
+	"ELOOP", /* 62 */
+	"ENAMETOOLONG", /* 63 */
+	"EHOSTDOWN", /* 64 */
+	"EHOSTUNREACH", /* 65 */
+	"ENOTEMPTY", /* 66 */
+	"EPROCLIM", /* 67 */
+	"EUSERS", /* 68 */
+	"EDQUOT", /* 69 */
+	"ESTALE", /* 70 */
+	"EREMOTE", /* 71 */
+	"ENOSTR", /* 72 */
+	"ETIME", /* 73 */
+	"ENOSR", /* 74 */
+	"ENOMSG", /* 75 */
+	"EBADMSG", /* 76 */
+	"EIDRM", /* 77 */
+	"EDEADLK", /* 78 */
+	"ENOLCK", /* 79 */
+	"ENONET", /* 80 */
+	"ERREMOTE", /* 81 */
+	"ENOLINK", /* 82 */
+	"EADV", /* 83 */
+	"ESRMNT", /* 84 */
+	"ECOMM", /* 85 */
+	"EPROTO", /* 86 */
+	"EMULTIHOP", /* 87 */
+	"EDOTDOT", /* 88 */
+	"EREMCHG", /* 89 */
+	"ENOSYS", /* 90 */
+	"ESTRPIPE", /* 91 */
+	"EOVERFLOW", /* 92 */
+	"EBADFD", /* 93 */
+	"ECHRNG", /* 94 */
+	"EL2NSYNC", /* 95 */
+	"EL3HLT", /* 96 */
+	"EL3RST", /* 97 */
+	"ELNRNG", /* 98 */
+	"EUNATCH", /* 99 */
+	"ENOCSI", /* 100 */
+	"EL2HLT", /* 101 */
+	"EBADE", /* 102 */
+	"EBADR", /* 103 */
+	"EXFULL", /* 104 */
+	"ENOANO", /* 105 */
+	"EBADRQC", /* 106 */
+	"EBADSLT", /* 107 */
+	"EDEADLOCK", /* 108 */
+	"EBFONT", /* 109 */
+	"ELIBEXEC", /* 110 */
+	"ENODATA", /* 111 */
+	"ELIBBAD", /* 112 */
+	"ENOPKG", /* 113 */
+	"ELIBACC", /* 114 */
+	"ENOTUNIQ", /* 115 */
+	"ERESTART", /* 116 */
+	"EUCLEAN", /* 117 */
+	"ENOTNAM", /* 118 */
+	"ENAVAIL", /* 119 */
+	"EISNAM", /* 120 */
+	"EREMOTEIO", /* 121 */
+	"EILSEQ", /* 122 */
+	"ELIBMAX", /* 123 */
+	"ELIBSCN", /* 124 */
+	"ENOMEDIUM", /* 125 */
+	"EMEDIUMTYPE", /* 126 */
diff --git a/strace-4.5.20/linux/sparc64/ioctlent.h b/strace-4.5.20/linux/sparc64/ioctlent.h
new file mode 100644
index 0000000..c1d6b8a
--- /dev/null
+++ b/strace-4.5.20/linux/sparc64/ioctlent.h
@@ -0,0 +1,838 @@
+	{"linux/fs.h",	"FIBMAP",	0x1},
+	{"linux/fs.h",	"FIGETBSZ",	0x2},
+	{"linux/fd.h",	"FDGETPRM",	0x204},
+	{"linux/fd.h",	"FDGETMAXERRS",	0x20e},
+	{"linux/fd.h",	"FDGETDRVTYP",	0x20f},
+	{"linux/fd.h",	"FDGETDRVPRM",	0x211},
+	{"linux/fd.h",	"FDGETDRVSTAT",	0x212},
+	{"linux/fd.h",	"FDPOLLDRVSTAT",	0x213},
+	{"linux/fd.h",	"FDGETFDCSTAT",	0x215},
+	{"linux/fd.h",	"FDWERRORGET",	0x217},
+	{"linux/fd.h",	"FDCLRPRM",	0x241},
+	{"linux/fd.h",	"FDSETPRM",	0x242},
+	{"linux/fd.h",	"FDDEFPRM",	0x243},
+	{"linux/fd.h",	"FDMSGON",	0x245},
+	{"linux/fd.h",	"FDMSGOFF",	0x246},
+	{"linux/fd.h",	"FDFMTBEG",	0x247},
+	{"linux/fd.h",	"FDFMTTRK",	0x248},
+	{"linux/fd.h",	"FDFMTEND",	0x249},
+	{"linux/fd.h",	"FDSETEMSGTRESH",	0x24a},
+	{"linux/fd.h",	"FDFLUSH",	0x24b},
+	{"linux/fd.h",	"FDSETMAXERRS",	0x24c},
+	{"linux/fd.h",	"FDRESET",	0x254},
+	{"linux/fd.h",	"FDWERRORCLR",	0x256},
+	{"linux/fd.h",	"FDRAWCMD",	0x258},
+	{"linux/fd.h",	"FDTWADDLE",	0x259},
+	{"linux/fd.h",	"FDEJECT",	0x25a},
+	{"linux/fd.h",	"FDSETDRVPRM",	0x290},
+	{"linux/umsdos_fs.h",	"UMSDOS_READDIR_DOS",	0x4d2},
+	{"linux/umsdos_fs.h",	"UMSDOS_UNLINK_DOS",	0x4d3},
+	{"linux/umsdos_fs.h",	"UMSDOS_RMDIR_DOS",	0x4d4},
+	{"linux/umsdos_fs.h",	"UMSDOS_STAT_DOS",	0x4d5},
+	{"linux/umsdos_fs.h",	"UMSDOS_CREAT_EMD",	0x4d6},
+	{"linux/umsdos_fs.h",	"UMSDOS_UNLINK_EMD",	0x4d7},
+	{"linux/umsdos_fs.h",	"UMSDOS_READDIR_EMD",	0x4d8},
+	{"linux/umsdos_fs.h",	"UMSDOS_GETVERSION",	0x4d9},
+	{"linux/umsdos_fs.h",	"UMSDOS_INIT_EMD",	0x4da},
+	{"linux/umsdos_fs.h",	"UMSDOS_DOS_SETUP",	0x4db},
+	{"linux/umsdos_fs.h",	"UMSDOS_RENAME_DOS",	0x4dc},
+	{"linux/fs.h",	"BLKROSET",	0x125d},
+	{"linux/fs.h",	"BLKROGET",	0x125e},
+	{"linux/fs.h",	"BLKRRPART",	0x125f},
+	{"linux/fs.h",	"BLKGETSIZE",	0x1260},
+	{"linux/fs.h",	"BLKFLSBUF",	0x1261},
+	{"linux/fs.h",	"BLKRASET",	0x1262},
+	{"linux/fs.h",	"BLKRAGET",	0x1263},
+	{"linux/fs.h",	"BLKFRASET",	0x1264},
+	{"linux/fs.h",	"BLKFRAGET",	0x1265},
+	{"linux/fs.h",	"BLKSECTSET",	0x1266},
+	{"linux/fs.h",	"BLKSECTGET",	0x1267},
+	{"linux/fs.h",	"BLKSSZGET",	0x1268},
+	{"linux/blkpg.h",	"BLKPG",	0x1269},
+	{"linux/fs.h",	"BLKPG",	0x1269},
+	{"linux/elevator.h",	"BLKELVGET",	0x126a},
+	{"linux/fs.h",	"BLKELVGET",	0x126a},
+	{"linux/elevator.h",	"BLKELVSET",	0x126b},
+	{"linux/fs.h",	"BLKELVSET",	0x126b},
+	{"linux/fs.h",	"BLKBSZGET",	0x1270},
+	{"linux/fs.h",	"BLKBSZSET",	0x1271},
+	{"linux/fs.h",	"BLKGETSIZE64",	0x1272},
+	{"linux/agpgart.h",	"AGPIOC_INFO",	0x4100},
+	{"linux/agpgart.h",	"AGPIOC_ACQUIRE",	0x4101},
+	{"linux/apm_bios.h",	"APM_IOC_STANDBY",	0x4101},
+	{"linux/agpgart.h",	"AGPIOC_RELEASE",	0x4102},
+	{"linux/apm_bios.h",	"APM_IOC_SUSPEND",	0x4102},
+	{"linux/agpgart.h",	"AGPIOC_SETUP",	0x4103},
+	{"linux/agpgart.h",	"AGPIOC_RESERVE",	0x4104},
+	{"linux/agpgart.h",	"AGPIOC_PROTECT",	0x4105},
+	{"linux/agpgart.h",	"AGPIOC_ALLOCATE",	0x4106},
+	{"linux/agpgart.h",	"AGPIOC_DEALLOCATE",	0x4107},
+	{"linux/agpgart.h",	"AGPIOC_BIND",	0x4108},
+	{"linux/agpgart.h",	"AGPIOC_UNBIND",	0x4109},
+	{"linux/pmu.h",	"PMU_IOC_SLEEP",	0x4200},
+	{"linux/cciss_ioctl.h",	"CCISS_GETPCIINFO",	0x4201},
+	{"linux/pmu.h",	"PMU_IOC_GET_BACKLIGHT",	0x4201},
+	{"linux/cciss_ioctl.h",	"CCISS_GETINTINFO",	0x4202},
+	{"linux/pmu.h",	"PMU_IOC_SET_BACKLIGHT",	0x4202},
+	{"linux/cciss_ioctl.h",	"CCISS_SETINTINFO",	0x4203},
+	{"linux/pmu.h",	"PMU_IOC_GET_MODEL",	0x4203},
+	{"linux/cciss_ioctl.h",	"CCISS_GETNODENAME",	0x4204},
+	{"linux/pmu.h",	"PMU_IOC_HAS_ADB",	0x4204},
+	{"linux/cciss_ioctl.h",	"CCISS_SETNODENAME",	0x4205},
+	{"linux/pmu.h",	"PMU_IOC_CAN_SLEEP",	0x4205},
+	{"linux/cciss_ioctl.h",	"CCISS_GETHEARTBEAT",	0x4206},
+	{"linux/cciss_ioctl.h",	"CCISS_GETBUSTYPES",	0x4207},
+	{"linux/cciss_ioctl.h",	"CCISS_GETFIRMVER",	0x4208},
+	{"linux/cciss_ioctl.h",	"CCISS_GETDRIVVER",	0x4209},
+	{"linux/cciss_ioctl.h",	"CCISS_REVALIDVOLS",	0x420a},
+	{"linux/cciss_ioctl.h",	"CCISS_PASSTHRU",	0x420b},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RESET",	0x4300},
+	{"linux/capi.h",	"CAPI_REGISTER",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_LOAD",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RDATA",	0x4302},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCODE",	0x4303},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WDATA",	0x4304},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WCODE",	0x4305},
+	{"linux/capi.h",	"CAPI_GET_MANUFACTURER",	0x4306},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RUN",	0x4306},
+	{"linux/capi.h",	"CAPI_GET_VERSION",	0x4307},
+	{"linux/soundcard.h",	"SNDCTL_COPR_HALT",	0x4307},
+	{"linux/capi.h",	"CAPI_GET_SERIAL",	0x4308},
+	{"linux/soundcard.h",	"SNDCTL_COPR_SENDMSG",	0x4308},
+	{"linux/capi.h",	"CAPI_GET_PROFILE",	0x4309},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCVMSG",	0x4309},
+	{"linux/capi.h",	"CAPI_MANUFACTURER_CMD",	0x4320},
+	{"linux/capi.h",	"CAPI_GET_ERRCODE",	0x4321},
+	{"linux/capi.h",	"CAPI_INSTALLED",	0x4322},
+	{"linux/capi.h",	"CAPI_GET_FLAGS",	0x4323},
+	{"linux/capi.h",	"CAPI_SET_FLAGS",	0x4324},
+	{"linux/capi.h",	"CAPI_CLR_FLAGS",	0x4325},
+	{"linux/capi.h",	"CAPI_NCCI_OPENCOUNT",	0x4326},
+	{"linux/capi.h",	"CAPI_NCCI_GETUNIT",	0x4327},
+	{"linux/input.h",	"EVIOCGVERSION",	0x4501},
+	{"linux/input.h",	"EVIOCGID",	0x4502},
+	{"linux/input.h",	"EVIOCGREP",	0x4503},
+	{"linux/input.h",	"EVIOCSREP",	0x4503},
+	{"linux/input.h",	"EVIOCGKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCSKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCGKEY",	0x4505},
+	{"linux/input.h",	"EVIOCGBUS",	0x4507},
+	{"linux/input.h",	"EVIOCRMFF",	0x4581},
+	{"linux/input.h",	"EVIOCSGAIN",	0x4582},
+	{"linux/input.h",	"EVIOCSAUTOCENTER",	0x4583},
+	{"linux/input.h",	"EVIOCGEFFECTS",	0x4584},
+	{"linux/fb.h",	"FBIOGET_VBLANK",	0x4612},
+	{"linux/hiddev.h",	"HIDIOCGVERSION",	0x4801},
+	{"linux/hiddev.h",	"HIDIOCAPPLICATION",	0x4802},
+	{"linux/hiddev.h",	"HIDIOCGDEVINFO",	0x4803},
+	{"linux/hiddev.h",	"HIDIOCGSTRING",	0x4804},
+	{"linux/hiddev.h",	"HIDIOCINITREPORT",	0x4805},
+	{"linux/hiddev.h",	"HIDIOCGREPORT",	0x4807},
+	{"linux/hiddev.h",	"HIDIOCSREPORT",	0x4808},
+	{"linux/hiddev.h",	"HIDIOCGREPORTINFO",	0x4809},
+	{"linux/hiddev.h",	"HIDIOCGFIELDINFO",	0x480a},
+	{"linux/hiddev.h",	"HIDIOCGUSAGE",	0x480b},
+	{"linux/hiddev.h",	"HIDIOCSUSAGE",	0x480c},
+	{"linux/hiddev.h",	"HIDIOCGUCODE",	0x480d},
+	{"linux/isdn.h",	"IIOCNETAIF",	0x4901},
+	{"linux/isdn.h",	"IIOCNETDIF",	0x4902},
+	{"linux/isdn.h",	"IIOCNETSCF",	0x4903},
+	{"linux/isdn.h",	"IIOCNETGCF",	0x4904},
+	{"linux/isdn.h",	"IIOCNETANM",	0x4905},
+	{"linux/isdn.h",	"IIOCNETDNM",	0x4906},
+	{"linux/isdn.h",	"IIOCNETGNM",	0x4907},
+	{"linux/isdn.h",	"IIOCGETSET",	0x4908},
+	{"linux/isdn.h",	"IIOCSETSET",	0x4909},
+	{"linux/isdn.h",	"IIOCSETVER",	0x490a},
+	{"linux/isdn.h",	"IIOCNETHUP",	0x490b},
+	{"linux/isdn.h",	"IIOCSETGST",	0x490c},
+	{"linux/isdn.h",	"IIOCSETBRJ",	0x490d},
+	{"linux/isdn.h",	"IIOCSIGPRF",	0x490e},
+	{"linux/isdn.h",	"IIOCGETPRF",	0x490f},
+	{"linux/isdn.h",	"IIOCSETPRF",	0x4910},
+	{"linux/isdn.h",	"IIOCGETMAP",	0x4911},
+	{"linux/isdn.h",	"IIOCSETMAP",	0x4912},
+	{"linux/isdn.h",	"IIOCNETASL",	0x4913},
+	{"linux/isdn.h",	"IIOCNETDIL",	0x4914},
+	{"linux/isdn.h",	"IIOCGETCPS",	0x4915},
+	{"linux/isdn.h",	"IIOCGETDVR",	0x4916},
+	{"linux/isdn.h",	"IIOCNETLCR",	0x4917},
+	{"linux/isdn.h",	"IIOCNETDWRSET",	0x4918},
+	{"linux/isdn.h",	"IIOCNETALN",	0x4920},
+	{"linux/isdn.h",	"IIOCNETDLN",	0x4921},
+	{"linux/isdn.h",	"IIOCNETGPN",	0x4922},
+	{"linux/isdn.h",	"IIOCDBGVAR",	0x497f},
+	{"linux/isdn.h",	"IIOCDRVCTL",	0x4980},
+	{"linux/soundcard.h",	"SOUND_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_OLD_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_MIXER_ACCESS",	0x4d66},
+	{"linux/soundcard.h",	"SOUND_MIXER_AGC",	0x4d67},
+	{"linux/soundcard.h",	"SOUND_MIXER_3DSE",	0x4d68},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE1",	0x4d6f},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE2",	0x4d70},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE3",	0x4d71},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE4",	0x4d72},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE5",	0x4d73},
+	{"linux/soundcard.h",	"SOUND_MIXER_GETLEVELS",	0x4d74},
+	{"linux/soundcard.h",	"SOUND_MIXER_SETLEVELS",	0x4d75},
+	{"linux/soundcard.h",	"OSS_GETVERSION",	0x4d76},
+	{"linux/soundcard.h",	"SNDCTL_DSP_RESET",	0x5000},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SYNC",	0x5001},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SPEED",	0x5002},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_RATE",	0x5002},
+	{"linux/soundcard.h",	"SNDCTL_DSP_STEREO",	0x5003},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETBLKSIZE",	0x5004},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFMT",	0x5005},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_BITS",	0x5005},
+	{"linux/soundcard.h",	"SNDCTL_DSP_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_WRITE_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SNDCTL_DSP_POST",	0x5008},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SUBDIVIDE",	0x5009},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFRAGMENT",	0x500a},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETFMTS",	0x500b},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOSPACE",	0x500c},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETISPACE",	0x500d},
+	{"linux/soundcard.h",	"SNDCTL_DSP_NONBLOCK",	0x500e},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCAPS",	0x500f},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETIPTR",	0x5011},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOPTR",	0x5012},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPINBUF",	0x5013},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPOUTBUF",	0x5014},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSYNCRO",	0x5015},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETDUPLEX",	0x5016},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETODELAY",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_PROFILE",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCHANNELMASK",	0x5040},
+	{"linux/soundcard.h",	"SNDCTL_DSP_BIND_CHANNEL",	0x5041},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSPDIF",	0x5042},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETSPDIF",	0x5043},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESET",	0x5100},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_SYNC",	0x5101},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_INFO",	0x5102},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_CTRLRATE",	0x5103},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETOUTCOUNT",	0x5104},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETINCOUNT",	0x5105},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PERCMODE",	0x5106},
+	{"linux/soundcard.h",	"SNDCTL_FM_LOAD_INSTR",	0x5107},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_TESTMIDI",	0x5108},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESETSAMPLES",	0x5109},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRSYNTHS",	0x510a},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRMIDIS",	0x510b},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_INFO",	0x510c},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_THRESHOLD",	0x510d},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_MEMAVL",	0x510e},
+	{"linux/soundcard.h",	"SNDCTL_FM_4OP_ENABLE",	0x510f},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PANIC",	0x5111},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_OUTOFBAND",	0x5112},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETTIME",	0x5113},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_ID",	0x5114},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_CONTROL",	0x5115},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_REMOVESAMPLE",	0x5116},
+	{"linux/random.h",	"RNDGETENTCNT",	0x5200},
+	{"linux/random.h",	"RNDADDTOENTCNT",	0x5201},
+	{"linux/random.h",	"RNDGETPOOL",	0x5202},
+	{"linux/random.h",	"RNDADDENTROPY",	0x5203},
+	{"linux/random.h",	"RNDZAPENTCNT",	0x5204},
+	{"linux/random.h",	"RNDCLEARPOOL",	0x5206},
+	{"asm/ioctls.h",	"TCGETS",	0x5401},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TIMEBASE",	0x5401},
+	{"asm/ioctls.h",	"TCSETS",	0x5402},
+	{"linux/soundcard.h",	"SNDCTL_TMR_START",	0x5402},
+	{"asm/ioctls.h",	"TCSETSW",	0x5403},
+	{"linux/soundcard.h",	"SNDCTL_TMR_STOP",	0x5403},
+	{"asm/ioctls.h",	"TCSETSF",	0x5404},
+	{"linux/soundcard.h",	"SNDCTL_TMR_CONTINUE",	0x5404},
+	{"asm/ioctls.h",	"TCGETA",	0x5405},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TEMPO",	0x5405},
+	{"asm/ioctls.h",	"TCSETA",	0x5406},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SOURCE",	0x5406},
+	{"asm/ioctls.h",	"TCSETAW",	0x5407},
+	{"linux/soundcard.h",	"SNDCTL_TMR_METRONOME",	0x5407},
+	{"asm/ioctls.h",	"TCSETAF",	0x5408},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SELECT",	0x5408},
+	{"asm/ioctls.h",	"TCSBRK",	0x5409},
+	{"asm/ioctls.h",	"TCXONC",	0x540a},
+	{"asm/ioctls.h",	"TCFLSH",	0x540b},
+	{"asm/ioctls.h",	"TIOCEXCL",	0x540c},
+	{"asm/ioctls.h",	"TIOCNXCL",	0x540d},
+	{"asm/ioctls.h",	"TIOCSCTTY",	0x540e},
+	{"asm/ioctls.h",	"TIOCGPGRP",	0x540f},
+	{"asm/ioctls.h",	"TIOCSPGRP",	0x5410},
+	{"asm/ioctls.h",	"TIOCOUTQ",	0x5411},
+	{"asm/ioctls.h",	"TIOCSTI",	0x5412},
+	{"asm/ioctls.h",	"TIOCGWINSZ",	0x5413},
+	{"asm/ioctls.h",	"TIOCSWINSZ",	0x5414},
+	{"asm/ioctls.h",	"TIOCMGET",	0x5415},
+	{"asm/ioctls.h",	"TIOCMBIS",	0x5416},
+	{"asm/ioctls.h",	"TIOCMBIC",	0x5417},
+	{"asm/ioctls.h",	"TIOCMSET",	0x5418},
+	{"asm/ioctls.h",	"TIOCGSOFTCAR",	0x5419},
+	{"asm/ioctls.h",	"TIOCSSOFTCAR",	0x541a},
+	{"asm/ioctls.h",	"FIONREAD",	0x541b},
+	{"asm/ioctls.h",	"TIOCLINUX",	0x541c},
+	{"asm/ioctls.h",	"TIOCCONS",	0x541d},
+	{"asm/ioctls.h",	"TIOCGSERIAL",	0x541e},
+	{"asm/ioctls.h",	"TIOCSSERIAL",	0x541f},
+	{"asm/ioctls.h",	"TIOCPKT",	0x5420},
+	{"asm/ioctls.h",	"FIONBIO",	0x5421},
+	{"asm/ioctls.h",	"TIOCNOTTY",	0x5422},
+	{"asm/ioctls.h",	"TIOCSETD",	0x5423},
+	{"asm/ioctls.h",	"TIOCGETD",	0x5424},
+	{"asm/ioctls.h",	"TCSBRKP",	0x5425},
+	{"asm/ioctls.h",	"TIOCTTYGSTRUCT",	0x5426},
+	{"asm/ioctls.h",	"TIOCSBRK",	0x5427},
+	{"asm/ioctls.h",	"TIOCCBRK",	0x5428},
+	{"asm/ioctls.h",	"TIOCGSID",	0x5429},
+	{"asm/ioctls.h",	"TIOCGPTN",	0x5430},
+	{"asm/ioctls.h",	"TIOCSPTLCK",	0x5431},
+	{"asm/ioctls.h",	"FIONCLEX",	0x5450},
+	{"asm/ioctls.h",	"FIOCLEX",	0x5451},
+	{"asm/ioctls.h",	"FIOASYNC",	0x5452},
+	{"asm/ioctls.h",	"TIOCSERCONFIG",	0x5453},
+	{"asm/ioctls.h",	"TIOCSERGWILD",	0x5454},
+	{"asm/ioctls.h",	"TIOCSERSWILD",	0x5455},
+	{"asm/ioctls.h",	"TIOCGLCKTRMIOS",	0x5456},
+	{"asm/ioctls.h",	"TIOCSLCKTRMIOS",	0x5457},
+	{"asm/ioctls.h",	"TIOCSERGSTRUCT",	0x5458},
+	{"asm/ioctls.h",	"TIOCSERGETLSR",	0x5459},
+	{"asm/ioctls.h",	"TIOCSERGETMULTI",	0x545a},
+	{"asm/ioctls.h",	"TIOCSERSETMULTI",	0x545b},
+	{"asm/ioctls.h",	"TIOCMIWAIT",	0x545c},
+	{"asm/ioctls.h",	"TIOCGICOUNT",	0x545d},
+	{"asm/ioctls.h",	"TIOCGHAYESESP",	0x545e},
+	{"asm/ioctls.h",	"TIOCSHAYESESP",	0x545f},
+	{"linux/if_tun.h",	"TUNSETNOCSUM",	0x54c8},
+	{"linux/if_tun.h",	"TUNSETDEBUG",	0x54c9},
+	{"linux/if_tun.h",	"TUNSETIFF",	0x54ca},
+	{"linux/if_tun.h",	"TUNSETPERSIST",	0x54cb},
+	{"linux/if_tun.h",	"TUNSETOWNER",	0x54cc},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONTROL",	0x5500},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_BULK",	0x5502},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESETEP",	0x5503},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETINTERFACE",	0x5504},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETCONFIGURATION",	0x5505},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_GETDRIVER",	0x5508},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SUBMITURB",	0x550a},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCARDURB",	0x550b},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURB",	0x550c},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURBNDELAY",	0x550d},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCSIGNAL",	0x550e},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLAIMINTERFACE",	0x550f},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RELEASEINTERFACE",	0x5510},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONNECTINFO",	0x5511},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_IOCTL",	0x5512},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_HUB_PORTINFO",	0x5513},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESET",	0x5514},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLEAR_HALT",	0x5515},
+	{"linux/watchdog.h",	"WDIOC_GETSUPPORT",	0x5700},
+	{"linux/watchdog.h",	"WDIOC_GETSTATUS",	0x5701},
+	{"linux/watchdog.h",	"WDIOC_GETBOOTSTATUS",	0x5702},
+	{"linux/watchdog.h",	"WDIOC_GETTEMP",	0x5703},
+	{"linux/watchdog.h",	"WDIOC_SETOPTIONS",	0x5704},
+	{"linux/watchdog.h",	"WDIOC_KEEPALIVE",	0x5705},
+	{"linux/watchdog.h",	"WDIOC_SETTIMEOUT",	0x5706},
+	{"linux/watchdog.h",	"WDIOC_GETTIMEOUT",	0x5707},
+	{"linux/ite_gpio.h",	"ITE_GPIO_IN",	0x5a00},
+	{"linux/ite_gpio.h",	"ITE_GPIO_OUT",	0x5a01},
+	{"linux/ite_gpio.h",	"ITE_GPIO_INT_CTRL",	0x5a02},
+	{"linux/ite_gpio.h",	"ITE_GPIO_IN_STATUS",	0x5a03},
+	{"linux/ite_gpio.h",	"ITE_GPIO_OUT_STATUS",	0x5a04},
+	{"linux/ite_gpio.h",	"ITE_GPIO_GEN_CTRL",	0x5a05},
+	{"linux/ite_gpio.h",	"ITE_GPIO_INT_WAIT",	0x5a06},
+	{"linux/sonet.h",	"SONET_GETSTAT",	0x6110},
+	{"linux/sonet.h",	"SONET_GETSTATZ",	0x6111},
+	{"linux/sonet.h",	"SONET_SETDIAG",	0x6112},
+	{"linux/sonet.h",	"SONET_CLRDIAG",	0x6113},
+	{"linux/sonet.h",	"SONET_GETDIAG",	0x6114},
+	{"linux/sonet.h",	"SONET_SETFRAMING",	0x6115},
+	{"linux/sonet.h",	"SONET_GETFRAMING",	0x6116},
+	{"linux/sonet.h",	"SONET_GETFRSENSE",	0x6117},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTAT",	0x6132},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTATZ",	0x6133},
+	{"linux/atmdev.h",	"ATM_GETSTAT",	0x6150},
+	{"linux/atmdev.h",	"ATM_GETSTATZ",	0x6151},
+	{"linux/atmdev.h",	"ATM_GETLOOP",	0x6152},
+	{"linux/atmdev.h",	"ATM_SETLOOP",	0x6153},
+	{"linux/atmdev.h",	"ATM_QUERYLOOP",	0x6154},
+	{"linux/atm_eni.h",	"ENI_MEMDUMP",	0x6160},
+	{"linux/atm_nicstar.h",	"NS_GETPSTAT",	0x6161},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOL",	0x6161},
+	{"linux/atm_nicstar.h",	"NS_SETBUFLEV",	0x6162},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOLZ",	0x6162},
+	{"linux/atm_nicstar.h",	"NS_ADJBUFLEV",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_SETPOOL",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_GETTHIST",	0x6164},
+	{"linux/atm_eni.h",	"ENI_SETMULT",	0x6167},
+	{"linux/atm_tcp.h",	"SIOCSIFATMTCP",	0x6180},
+	{"linux/atmdev.h",	"ATM_GETLINKRATE",	0x6181},
+	{"linux/atmdev.h",	"ATM_GETNAMES",	0x6183},
+	{"linux/atmdev.h",	"ATM_GETTYPE",	0x6184},
+	{"linux/atmdev.h",	"ATM_GETESI",	0x6185},
+	{"linux/atmdev.h",	"ATM_GETADDR",	0x6186},
+	{"linux/atmdev.h",	"ATM_RSTADDR",	0x6187},
+	{"linux/atmdev.h",	"ATM_ADDADDR",	0x6188},
+	{"linux/atmdev.h",	"ATM_DELADDR",	0x6189},
+	{"linux/atmdev.h",	"ATM_GETCIRANGE",	0x618a},
+	{"linux/atmdev.h",	"ATM_SETCIRANGE",	0x618b},
+	{"linux/atmdev.h",	"ATM_SETESI",	0x618c},
+	{"linux/atmdev.h",	"ATM_SETESIF",	0x618d},
+	{"linux/atm_tcp.h",	"ATMTCP_CREATE",	0x618e},
+	{"linux/atm_tcp.h",	"ATMTCP_REMOVE",	0x618f},
+	{"linux/atmlec.h",	"ATMLEC_CTRL",	0x61d0},
+	{"linux/atmlec.h",	"ATMLEC_DATA",	0x61d1},
+	{"linux/atmlec.h",	"ATMLEC_MCAST",	0x61d2},
+	{"linux/atmmpc.h",	"ATMMPC_CTRL",	0x61d8},
+	{"linux/atmmpc.h",	"ATMMPC_DATA",	0x61d9},
+	{"linux/atmclip.h",	"SIOCMKCLIP",	0x61e0},
+	{"linux/atmarp.h",	"ATMARPD_CTRL",	0x61e1},
+	{"linux/atmarp.h",	"ATMARP_MKIP",	0x61e2},
+	{"linux/atmarp.h",	"ATMARP_SETENTRY",	0x61e3},
+	{"linux/atmarp.h",	"ATMARP_ENCAP",	0x61e5},
+	{"linux/atmsvc.h",	"ATMSIGD_CTRL",	0x61f0},
+	{"linux/atmdev.h",	"ATM_SETSC",	0x61f1},
+	{"linux/atmdev.h",	"ATM_SETBACKEND",	0x61f2},
+	{"linux/coda.h",	"CIOC_KERNEL_VERSION",	0x630a},
+	{"linux/comstats.h",	"COM_GETPORTSTATS",	0x631e},
+	{"linux/comstats.h",	"COM_CLRPORTSTATS",	0x631f},
+	{"linux/comstats.h",	"COM_GETBRDSTATS",	0x6320},
+	{"linux/comstats.h",	"COM_READPORT",	0x6328},
+	{"linux/comstats.h",	"COM_READBOARD",	0x6329},
+	{"linux/comstats.h",	"COM_READPANEL",	0x632a},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_GET_PROTO_REV",	0x6400},
+	{"linux/video_decoder.h",	"DECODER_GET_CAPABILITIES",	0x6401},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_SET_EVENT_MASK",	0x6402},
+	{"linux/video_decoder.h",	"DECODER_GET_STATUS",	0x6402},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_RELEASE_EVENT_QUEUE",	0x6403},
+	{"linux/video_decoder.h",	"DECODER_SET_NORM",	0x6403},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_SET_DEBUG_MASK",	0x6404},
+	{"linux/video_decoder.h",	"DECODER_SET_INPUT",	0x6404},
+	{"linux/video_decoder.h",	"DECODER_SET_OUTPUT",	0x6405},
+	{"linux/video_decoder.h",	"DECODER_ENABLE_OUTPUT",	0x6406},
+	{"linux/video_decoder.h",	"DECODER_SET_PICTURE",	0x6407},
+	{"linux/video_decoder.h",	"DECODER_DUMP",	0x64c0},
+	{"linux/video_encoder.h",	"ENCODER_GET_CAPABILITIES",	0x6501},
+	{"linux/video_encoder.h",	"ENCODER_SET_NORM",	0x6502},
+	{"linux/video_encoder.h",	"ENCODER_SET_INPUT",	0x6503},
+	{"linux/video_encoder.h",	"ENCODER_SET_OUTPUT",	0x6504},
+	{"linux/video_encoder.h",	"ENCODER_ENABLE_OUTPUT",	0x6505},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETFLAGS",	0x6601},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETFLAGS",	0x6601},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETFLAGS",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETFLAGS",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION",	0x6603},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION",	0x6604},
+	{"linux/ext3_fs.h",	"EXT3_IOC_WAIT_FOR_READONLY",	0x6663},
+	{"linux/i2o-dev.h",	"I2OGETIOPS",	0x6900},
+	{"linux/i2o-dev.h",	"I2OHRTGET",	0x6901},
+	{"linux/i2o-dev.h",	"I2OLCTGET",	0x6902},
+	{"linux/i2o-dev.h",	"I2OPARMSET",	0x6903},
+	{"linux/i2o-dev.h",	"I2OPARMGET",	0x6904},
+	{"linux/i2o-dev.h",	"I2OSWDL",	0x6905},
+	{"linux/i2o-dev.h",	"I2OSWUL",	0x6906},
+	{"linux/i2o-dev.h",	"I2OSWDEL",	0x6907},
+	{"linux/i2o-dev.h",	"I2OVALIDATE",	0x6908},
+	{"linux/i2o-dev.h",	"I2OHTML",	0x6909},
+	{"linux/i2o-dev.h",	"I2OEVTREG",	0x690a},
+	{"linux/i2o-dev.h",	"I2OEVTGET",	0x690b},
+	{"linux/i8k.h",	"I8K_BIOS_VERSION",	0x6980},
+	{"linux/i8k.h",	"I8K_MACHINE_ID",	0x6981},
+	{"linux/i8k.h",	"I8K_POWER_STATUS",	0x6982},
+	{"linux/i8k.h",	"I8K_FN_STATUS",	0x6983},
+	{"linux/i8k.h",	"I8K_GET_TEMP",	0x6984},
+	{"linux/i8k.h",	"I8K_GET_SPEED",	0x6985},
+	{"linux/i8k.h",	"I8K_GET_FAN",	0x6986},
+	{"linux/i8k.h",	"I8K_SET_FAN",	0x6987},
+	{"linux/joystick.h",	"JSIOCGVERSION",	0x6a01},
+	{"linux/joystick.h",	"JSIOCGAXES",	0x6a11},
+	{"linux/joystick.h",	"JSIOCGBUTTONS",	0x6a12},
+	{"linux/joystick.h",	"JSIOCSCORR",	0x6a21},
+	{"linux/joystick.h",	"JSIOCGCORR",	0x6a22},
+	{"linux/joystick.h",	"JSIOCSAXMAP",	0x6a31},
+	{"linux/joystick.h",	"JSIOCGAXMAP",	0x6a32},
+	{"linux/joystick.h",	"JSIOCSBTNMAP",	0x6a33},
+	{"linux/joystick.h",	"JSIOCGBTNMAP",	0x6a34},
+	{"linux/udf_fs_i.h",	"UDF_GETEASIZE",	0x6c40},
+	{"linux/udf_fs_i.h",	"UDF_GETEABLOCK",	0x6c41},
+	{"linux/udf_fs_i.h",	"UDF_GETVOLIDENT",	0x6c42},
+	{"linux/udf_fs_i.h",	"UDF_RELOCATE_BLOCKS",	0x6c43},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_PRETIME",	0x6d00},
+	{"linux/synclink.h",	"MGSL_IOCSPARAMS",	0x6d00},
+	{"linux/mtio.h",	"MTIOCTOP",	0x6d01},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUMODE",	0x6d01},
+	{"linux/synclink.h",	"MGSL_IOCGPARAMS",	0x6d01},
+	{"linux/mtio.h",	"MTIOCGET",	0x6d02},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUCMD",	0x6d02},
+	{"linux/synclink.h",	"MGSL_IOCSTXIDLE",	0x6d02},
+	{"linux/mtio.h",	"MTIOCPOS",	0x6d03},
+	{"linux/synclink.h",	"MGSL_IOCGTXIDLE",	0x6d03},
+	{"linux/mtio.h",	"MTIOCGETCONFIG",	0x6d04},
+	{"linux/synclink.h",	"MGSL_IOCTXENABLE",	0x6d04},
+	{"linux/mtio.h",	"MTIOCSETCONFIG",	0x6d05},
+	{"linux/synclink.h",	"MGSL_IOCRXENABLE",	0x6d05},
+	{"linux/mtio.h",	"MTIOCRDFTSEG",	0x6d06},
+	{"linux/synclink.h",	"MGSL_IOCTXABORT",	0x6d06},
+	{"linux/mtio.h",	"MTIOCWRFTSEG",	0x6d07},
+	{"linux/synclink.h",	"MGSL_IOCGSTATS",	0x6d07},
+	{"linux/mtio.h",	"MTIOCVOLINFO",	0x6d08},
+	{"linux/synclink.h",	"MGSL_IOCWAITEVENT",	0x6d08},
+	{"linux/mtio.h",	"MTIOCGETSIZE",	0x6d09},
+	{"linux/synclink.h",	"MGSL_IOCLOOPTXDONE",	0x6d09},
+	{"linux/mtio.h",	"MTIOCFTFORMAT",	0x6d0a},
+	{"linux/mtio.h",	"MTIOCFTCMD",	0x6d0b},
+	{"linux/synclink.h",	"MGSL_IOCCLRMODCOUNT",	0x6d0f},
+	{"linux/zftape.h",	"MTIOC_ZFTAPE_GETBLKSZ",	0x6d68},
+	{"linux/ncp_fs.h",	"NCP_IOC_NCPREQUEST",	0x6e01},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID2",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_CONN_LOGGED_IN",	0x6e03},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO_V2",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_INIT",	0x6e05},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_SET_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_LOCKUNLOCK",	0x6e07},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETDENTRYTTL",	0x6e0c},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETDENTRYTTL",	0x6e0c},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_GET_AVAILABLE_OUTPUTS",	0x6ef9},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_GET_ALL_OUTPUTS",	0x6efb},
+	{"linux/rtc.h",	"RTC_AIE_ON",	0x7001},
+	{"linux/rtc.h",	"RTC_AIE_OFF",	0x7002},
+	{"linux/intermezzo_fs.h",	"PRESTO_GETMOUNT",	0x7003},
+	{"linux/rtc.h",	"RTC_UIE_ON",	0x7003},
+	{"linux/intermezzo_fs.h",	"PRESTO_SETPID",	0x7004},
+	{"linux/rtc.h",	"RTC_UIE_OFF",	0x7004},
+	{"linux/rtc.h",	"RTC_PIE_ON",	0x7005},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLOSE_JOURNALF",	0x7006},
+	{"linux/rtc.h",	"RTC_PIE_OFF",	0x7006},
+	{"linux/intermezzo_fs.h",	"PRESTO_SET_FSETROOT",	0x7007},
+	{"linux/rtc.h",	"RTC_ALM_SET",	0x7007},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLEAR_FSETROOT",	0x7008},
+	{"linux/rtc.h",	"RTC_ALM_READ",	0x7008},
+	{"linux/intermezzo_fs.h",	"PRESTO_SETOPT",	0x7009},
+	{"linux/rtc.h",	"RTC_RD_TIME",	0x7009},
+	{"linux/intermezzo_fs.h",	"PRESTO_GETOPT",	0x700a},
+	{"linux/rtc.h",	"RTC_SET_TIME",	0x700a},
+	{"linux/intermezzo_fs.h",	"PRESTO_GET_KMLSIZE",	0x700b},
+	{"linux/rtc.h",	"RTC_IRQP_READ",	0x700b},
+	{"linux/intermezzo_fs.h",	"PRESTO_GET_RECNO",	0x700c},
+	{"linux/rtc.h",	"RTC_IRQP_SET",	0x700c},
+	{"linux/rtc.h",	"RTC_EPOCH_READ",	0x700d},
+	{"linux/rtc.h",	"RTC_EPOCH_SET",	0x700e},
+	{"linux/rtc.h",	"RTC_WIE_ON",	0x700f},
+	{"linux/rtc.h",	"RTC_WKALM_SET",	0x700f},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SETATTR",	0x7010},
+	{"linux/rtc.h",	"RTC_WIE_OFF",	0x7010},
+	{"linux/rtc.h",	"RTC_WKALM_RD",	0x7010},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_CREATE",	0x7011},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_LINK",	0x7012},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_UNLINK",	0x7013},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SYMLINK",	0x7014},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_MKDIR",	0x7015},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_RMDIR",	0x7016},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_MKNOD",	0x7017},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_RENAME",	0x7018},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_CLOSE",	0x701a},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_IOPEN",	0x701b},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SETEXTATTR",	0x701c},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_DELEXTATTR",	0x701d},
+	{"linux/intermezzo_fs.h",	"PRESTO_MARK",	0x7020},
+	{"linux/intermezzo_fs.h",	"PRESTO_RELEASE_PERMIT",	0x7021},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLEAR_ALL_FSETROOTS",	0x7022},
+	{"linux/intermezzo_fs.h",	"PRESTO_BACKFETCH_LML",	0x7023},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT",	0x7024},
+	{"linux/intermezzo_fs.h",	"PRESTO_CANCEL_LML",	0x7025},
+	{"linux/intermezzo_fs.h",	"PRESTO_RESET_FSET",	0x7026},
+	{"linux/intermezzo_fs.h",	"PRESTO_COMPLETE_CLOSES",	0x7027},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT_BEGIN",	0x7030},
+	{"linux/intermezzo_fs.h",	"PRESTO_DO_REINT",	0x7031},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT_END",	0x7032},
+	{"linux/nvram.h",	"NVRAM_INIT",	0x7040},
+	{"linux/nvram.h",	"NVRAM_SETCKS",	0x7041},
+	{"linux/ppdev.h",	"PPSETMODE",	0x7080},
+	{"linux/ppdev.h",	"PPRSTATUS",	0x7081},
+	{"linux/ppdev.h",	"PPRCONTROL",	0x7083},
+	{"linux/ppdev.h",	"PPWCONTROL",	0x7084},
+	{"linux/ppdev.h",	"PPRDATA",	0x7085},
+	{"linux/ppdev.h",	"PPWDATA",	0x7086},
+	{"linux/ppdev.h",	"PPCLAIM",	0x708b},
+	{"linux/ppdev.h",	"PPRELEASE",	0x708c},
+	{"linux/ppdev.h",	"PPYIELD",	0x708d},
+	{"linux/ppdev.h",	"PPFCONTROL",	0x708e},
+	{"linux/ppdev.h",	"PPEXCL",	0x708f},
+	{"linux/ppdev.h",	"PPDATADIR",	0x7090},
+	{"linux/ppdev.h",	"PPNEGOT",	0x7091},
+	{"linux/ppdev.h",	"PPWCTLONIRQ",	0x7092},
+	{"linux/ppdev.h",	"PPCLRIRQ",	0x7093},
+	{"linux/ppdev.h",	"PPSETPHASE",	0x7094},
+	{"linux/ppdev.h",	"PPGETTIME",	0x7095},
+	{"linux/ppdev.h",	"PPSETTIME",	0x7096},
+	{"linux/ppdev.h",	"PPGETMODES",	0x7097},
+	{"linux/ppdev.h",	"PPGETMODE",	0x7098},
+	{"linux/ppdev.h",	"PPGETPHASE",	0x7099},
+	{"linux/ppdev.h",	"PPGETFLAGS",	0x709a},
+	{"linux/ppdev.h",	"PPSETFLAGS",	0x709b},
+	{"linux/serio.h",	"SPIOCSTYPE",	0x7101},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES",	0x7180},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_LIST",	0x7181},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_CHECK",	0x7182},
+	{"linux/telephony.h",	"PHONE_RING",	0x7183},
+	{"linux/telephony.h",	"PHONE_HOOKSTATE",	0x7184},
+	{"linux/telephony.h",	"PHONE_MAXRINGS",	0x7185},
+	{"linux/telephony.h",	"PHONE_RING_CADENCE",	0x7186},
+	{"linux/telephony.h",	"OLD_PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_STOP",	0x7188},
+	{"linux/telephony.h",	"PHONE_REC_CODEC",	0x7189},
+	{"linux/telephony.h",	"PHONE_REC_START",	0x718a},
+	{"linux/telephony.h",	"PHONE_REC_STOP",	0x718b},
+	{"linux/telephony.h",	"PHONE_REC_DEPTH",	0x718c},
+	{"linux/telephony.h",	"PHONE_FRAME",	0x718d},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME",	0x718e},
+	{"linux/telephony.h",	"PHONE_REC_LEVEL",	0x718f},
+	{"linux/telephony.h",	"PHONE_PLAY_CODEC",	0x7190},
+	{"linux/telephony.h",	"PHONE_PLAY_START",	0x7191},
+	{"linux/telephony.h",	"PHONE_PLAY_STOP",	0x7192},
+	{"linux/telephony.h",	"PHONE_PLAY_DEPTH",	0x7193},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME",	0x7194},
+	{"linux/telephony.h",	"PHONE_PLAY_LEVEL",	0x7195},
+	{"linux/telephony.h",	"PHONE_DTMF_READY",	0x7196},
+	{"linux/telephony.h",	"PHONE_GET_DTMF",	0x7197},
+	{"linux/telephony.h",	"PHONE_GET_DTMF_ASCII",	0x7198},
+	{"linux/telephony.h",	"PHONE_DTMF_OOB",	0x7199},
+	{"linux/telephony.h",	"PHONE_EXCEPTION",	0x719a},
+	{"linux/telephony.h",	"PHONE_PLAY_TONE",	0x719b},
+	{"linux/telephony.h",	"PHONE_SET_TONE_ON_TIME",	0x719c},
+	{"linux/telephony.h",	"PHONE_SET_TONE_OFF_TIME",	0x719d},
+	{"linux/telephony.h",	"PHONE_GET_TONE_ON_TIME",	0x719e},
+	{"linux/telephony.h",	"PHONE_GET_TONE_OFF_TIME",	0x719f},
+	{"linux/telephony.h",	"PHONE_GET_TONE_STATE",	0x71a0},
+	{"linux/telephony.h",	"PHONE_BUSY",	0x71a1},
+	{"linux/telephony.h",	"PHONE_RINGBACK",	0x71a2},
+	{"linux/telephony.h",	"PHONE_DIALTONE",	0x71a3},
+	{"linux/telephony.h",	"PHONE_CPT_STOP",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_SET_STATE",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_GET_STATE",	0x71a5},
+	{"linux/telephony.h",	"PHONE_WINK_DURATION",	0x71a6},
+	{"linux/telephony.h",	"PHONE_QUERY_CODEC",	0x71a7},
+	{"linux/telephony.h",	"PHONE_PSTN_LINETEST",	0x71a8},
+	{"linux/telephony.h",	"PHONE_VAD",	0x71a9},
+	{"linux/telephony.h",	"PHONE_WINK",	0x71aa},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_RESET",	0x71c0},
+	{"linux/ixjuser.h",	"IXJCTL_CARDTYPE",	0x71c1},
+	{"linux/ixjuser.h",	"IXJCTL_SERIAL",	0x71c2},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_TYPE",	0x71c3},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_VERSION",	0x71c4},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_IDLE",	0x71c5},
+	{"linux/ixjuser.h",	"IXJCTL_TESTRAM",	0x71c6},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER",	0x71c7},
+	{"linux/ixjuser.h",	"IXJCTL_GET_FILTER_HIST",	0x71c8},
+	{"linux/ixjuser.h",	"IXJCTL_INIT_TONE",	0x71c9},
+	{"linux/ixjuser.h",	"IXJCTL_TONE_CADENCE",	0x71ca},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_START",	0x71cb},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_STOP",	0x71cc},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_GET_LEVEL",	0x71cd},
+	{"linux/ixjuser.h",	"IXJCTL_SET_LED",	0x71ce},
+	{"linux/ixjuser.h",	"IXJCTL_MIXER",	0x71cf},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_COEFF_SET",	0x71d0},
+	{"linux/ixjuser.h",	"IXJCTL_PORT",	0x71d1},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_AGAIN",	0x71d2},
+	{"linux/ixjuser.h",	"IXJCTL_PSTN_LINETEST",	0x71d3},
+	{"linux/ixjuser.h",	"IXJCTL_CID",	0x71d4},
+	{"linux/ixjuser.h",	"IXJCTL_POTS_PSTN",	0x71d5},
+	{"linux/ixjuser.h",	"IXJCTL_FILTER_CADENCE",	0x71d6},
+	{"linux/ixjuser.h",	"IXJCTL_PLAY_CID",	0x71d7},
+	{"linux/ixjuser.h",	"IXJCTL_VMWI",	0x71d8},
+	{"linux/ixjuser.h",	"IXJCTL_CIDCW",	0x71d9},
+	{"linux/ixjuser.h",	"IXJCTL_VERSION",	0x71da},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME_LINEAR",	0x71db},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME_LINEAR",	0x71dc},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER_RAW",	0x71dd},
+	{"linux/ixjuser.h",	"IXJCTL_HZ",	0x71e0},
+	{"linux/ixjuser.h",	"IXJCTL_RATE",	0x71e1},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_READ",	0x71e2},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_WRITTEN",	0x71e3},
+	{"linux/ixjuser.h",	"IXJCTL_READ_WAIT",	0x71e4},
+	{"linux/ixjuser.h",	"IXJCTL_WRITE_WAIT",	0x71e5},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_READ",	0x71e6},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_CLEAR",	0x71e7},
+	{"linux/ixjuser.h",	"IXJCTL_DTMF_PRESCALE",	0x71e8},
+	{"linux/ixjuser.h",	"IXJCTL_SIGCTL",	0x71e9},
+	{"linux/ixjuser.h",	"IXJCTL_SC_RXG",	0x71ea},
+	{"linux/ixjuser.h",	"IXJCTL_SC_TXG",	0x71eb},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_START",	0x71fd},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_STOP",	0x71fe},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_BOTH",	0x7201},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_SHORT",	0x7202},
+	{"linux/cdk.h",	"STL_BINTR",	0x7314},
+	{"linux/cdk.h",	"STL_BSTART",	0x7315},
+	{"linux/cdk.h",	"STL_BSTOP",	0x7316},
+	{"linux/cdk.h",	"STL_BRESET",	0x7317},
+	{"linux/cdk.h",	"STL_GETPFLAG",	0x7350},
+	{"linux/cdk.h",	"STL_SETPFLAG",	0x7351},
+	{"linux/if_ppp.h",	"PPPIOCGCHAN",	0x7437},
+	{"linux/if_ppp.h",	"PPPIOCATTCHAN",	0x7438},
+	{"linux/if_ppp.h",	"PPPIOCDISCONN",	0x7439},
+	{"linux/if_ppp.h",	"PPPIOCCONNECT",	0x743a},
+	{"linux/if_ppp.h",	"PPPIOCSMRRU",	0x743b},
+	{"linux/if_ppp.h",	"PPPIOCDETACH",	0x743c},
+	{"linux/if_ppp.h",	"PPPIOCATTACH",	0x743d},
+	{"linux/if_ppp.h",	"PPPIOCNEWUNIT",	0x743e},
+	{"linux/if_ppp.h",	"PPPIOCGIDLE",	0x743f},
+	{"linux/if_ppp.h",	"PPPIOCSDEBUG",	0x7440},
+	{"linux/if_ppp.h",	"PPPIOCGDEBUG",	0x7441},
+	{"linux/if_ppp.h",	"PPPIOCSACTIVE",	0x7446},
+	{"linux/if_ppp.h",	"PPPIOCSPASS",	0x7447},
+	{"linux/if_ppp.h",	"PPPIOCSNPMODE",	0x744b},
+	{"linux/if_ppp.h",	"PPPIOCGNPMODE",	0x744c},
+	{"linux/if_ppp.h",	"PPPIOCSCOMPRESS",	0x744d},
+	{"linux/if_ppp.h",	"PPPIOCXFERUNIT",	0x744e},
+	{"linux/if_ppp.h",	"PPPIOCSXASYNCMAP",	0x744f},
+	{"linux/if_ppp.h",	"PPPIOCGXASYNCMAP",	0x7450},
+	{"linux/if_ppp.h",	"PPPIOCSMAXCID",	0x7451},
+	{"linux/if_ppp.h",	"PPPIOCSMRU",	0x7452},
+	{"linux/if_ppp.h",	"PPPIOCGMRU",	0x7453},
+	{"linux/if_ppp.h",	"PPPIOCSRASYNCMAP",	0x7454},
+	{"linux/if_ppp.h",	"PPPIOCGRASYNCMAP",	0x7455},
+	{"linux/if_ppp.h",	"PPPIOCGUNIT",	0x7456},
+	{"linux/if_ppp.h",	"PPPIOCSASYNCMAP",	0x7457},
+	{"linux/if_ppp.h",	"PPPIOCGASYNCMAP",	0x7458},
+	{"linux/if_ppp.h",	"PPPIOCSFLAGS",	0x7459},
+	{"linux/if_ppp.h",	"PPPIOCGFLAGS",	0x745a},
+	{"linux/jffs.h",	"JFFS_PRINT_HASH",	0x745a},
+	{"linux/jffs.h",	"JFFS_PRINT_TREE",	0x745b},
+	{"linux/jffs.h",	"JFFS_GET_STATUS",	0x745c},
+	{"linux/isdn_ppp.h",	"PPPIOCGCALLINFO",	0x7480},
+	{"linux/isdn_ppp.h",	"PPPIOCBUNDLE",	0x7481},
+	{"linux/isdn_ppp.h",	"PPPIOCGMPFLAGS",	0x7482},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPFLAGS",	0x7483},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMTU",	0x7484},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMRU",	0x7485},
+	{"linux/isdn_ppp.h",	"PPPIOCGCOMPRESSORS",	0x7486},
+	{"linux/isdn_ppp.h",	"PPPIOCSCOMPRESSOR",	0x7487},
+	{"linux/isdn_ppp.h",	"PPPIOCGIFNAME",	0x7488},
+	{"linux/toshiba.h",	"TOSH_SMM",	0x7490},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID",	0x7501},
+	{"linux/smb_fs.h",	"SMB_IOC_NEWCONN",	0x7502},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID32",	0x7503},
+	{"linux/sonypi.h",	"SONYPI_IOCGBRT",	0x7600},
+	{"linux/sonypi.h",	"SONYPI_IOCSBRT",	0x7600},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETVERSION",	0x7601},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION_OLD",	0x7601},
+	{"linux/videodev.h",	"VIDIOCGCAP",	0x7601},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETVERSION",	0x7602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION_OLD",	0x7602},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT1CAP",	0x7602},
+	{"linux/videodev.h",	"VIDIOCGCHAN",	0x7602},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT1REM",	0x7603},
+	{"linux/videodev.h",	"VIDIOCSCHAN",	0x7603},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT2CAP",	0x7604},
+	{"linux/videodev.h",	"VIDIOCGTUNER",	0x7604},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT2REM",	0x7605},
+	{"linux/videodev.h",	"VIDIOCSTUNER",	0x7605},
+	{"linux/videodev.h",	"VIDIOCGPICT",	0x7606},
+	{"linux/sonypi.h",	"SONYPI_IOCGBATFLAGS",	0x7607},
+	{"linux/videodev.h",	"VIDIOCSPICT",	0x7607},
+	{"linux/sonypi.h",	"SONYPI_IOCGBLUE",	0x7608},
+	{"linux/videodev.h",	"VIDIOCCAPTURE",	0x7608},
+	{"linux/sonypi.h",	"SONYPI_IOCSBLUE",	0x7609},
+	{"linux/videodev.h",	"VIDIOCGWIN",	0x7609},
+	{"linux/videodev.h",	"VIDIOCSWIN",	0x760a},
+	{"linux/videodev.h",	"VIDIOCGFBUF",	0x760b},
+	{"linux/videodev.h",	"VIDIOCSFBUF",	0x760c},
+	{"linux/videodev.h",	"VIDIOCKEY",	0x760d},
+	{"linux/videodev.h",	"VIDIOCGFREQ",	0x760e},
+	{"linux/videodev.h",	"VIDIOCSFREQ",	0x760f},
+	{"linux/videodev.h",	"VIDIOCGAUDIO",	0x7610},
+	{"linux/videodev.h",	"VIDIOCSAUDIO",	0x7611},
+	{"linux/videodev.h",	"VIDIOCSYNC",	0x7612},
+	{"linux/videodev.h",	"VIDIOCMCAPTURE",	0x7613},
+	{"linux/videodev.h",	"VIDIOCGMBUF",	0x7614},
+	{"linux/videodev.h",	"VIDIOCGUNIT",	0x7615},
+	{"linux/videodev.h",	"VIDIOCGCAPTURE",	0x7616},
+	{"linux/videodev.h",	"VIDIOCSCAPTURE",	0x7617},
+	{"linux/videodev.h",	"VIDIOCSPLAYMODE",	0x7618},
+	{"linux/videodev.h",	"VIDIOCSWRITEMODE",	0x7619},
+	{"linux/videodev.h",	"VIDIOCGPLAYINFO",	0x761a},
+	{"linux/videodev.h",	"VIDIOCSMICROCODE",	0x761b},
+	{"linux/videodev.h",	"VIDIOCGVBIFMT",	0x761c},
+	{"linux/videodev.h",	"VIDIOCSVBIFMT",	0x761d},
+	{"linux/meye.h",	"MEYEIOC_G_PARAMS",	0x76c0},
+	{"linux/meye.h",	"MEYEIOC_S_PARAMS",	0x76c1},
+	{"linux/meye.h",	"MEYEIOC_QBUF_CAPT",	0x76c2},
+	{"linux/meye.h",	"MEYEIOC_SYNC",	0x76c3},
+	{"linux/meye.h",	"MEYEIOC_STILLCAPT",	0x76c4},
+	{"linux/meye.h",	"MEYEIOC_STILLJCAPT",	0x76c5},
+	{"linux/dn.h",	"SIOCSNETADDR",	0x89e0},
+	{"linux/dn.h",	"OSIOCSNETADDR",	0x89e0},
+	{"linux/dn.h",	"SIOCGNETADDR",	0x89e1},
+	{"linux/dn.h",	"OSIOCGNETADDR",	0x89e1},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_READY",	0x9360},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_FAIL",	0x9361},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_CATATONIC",	0x9362},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_PROTOVER",	0x9363},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_SETTIMEOUT",	0x9364},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_EXPIRE",	0x9365},
+	{"linux/auto_fs4.h",	"AUTOFS_IOC_EXPIRE_MULTI",	0x9366},
+	{"linux/nbd.h",	"NBD_SET_SOCK",	0xab00},
+	{"linux/nbd.h",	"NBD_SET_BLKSIZE",	0xab01},
+	{"linux/nbd.h",	"NBD_SET_SIZE",	0xab02},
+	{"linux/nbd.h",	"NBD_DO_IT",	0xab03},
+	{"linux/nbd.h",	"NBD_CLEAR_SOCK",	0xab04},
+	{"linux/nbd.h",	"NBD_CLEAR_QUE",	0xab05},
+	{"linux/nbd.h",	"NBD_PRINT_DEBUG",	0xab06},
+	{"linux/nbd.h",	"NBD_SET_SIZE_BLOCKS",	0xab07},
+	{"linux/nbd.h",	"NBD_DISCONNECT",	0xab08},
+	{"linux/raw.h",	"RAW_SETBIND",	0xac00},
+	{"linux/raw.h",	"RAW_GETBIND",	0xac01},
+	{"linux/if_pppox.h",	"PPPOEIOCSFWD",	0xb100},
+	{"linux/if_pppox.h",	"PPPOEIOCDFWD",	0xb101},
+	{"linux/reiserfs_fs.h",	"REISERFS_IOC_UNPACK",	0xcd01},
+	{"linux/lvm.h",	"VG_CREATE_OLD",	0xfe00},
+	{"linux/lvm.h",	"VG_REMOVE",	0xfe01},
+	{"linux/lvm.h",	"VG_EXTEND",	0xfe03},
+	{"linux/lvm.h",	"VG_REDUCE",	0xfe04},
+	{"linux/lvm.h",	"VG_STATUS",	0xfe05},
+	{"linux/lvm.h",	"VG_STATUS_GET_COUNT",	0xfe06},
+	{"linux/lvm.h",	"VG_STATUS_GET_NAMELIST",	0xfe07},
+	{"linux/lvm.h",	"VG_SET_EXTENDABLE",	0xfe08},
+	{"linux/lvm.h",	"VG_RENAME",	0xfe09},
+	{"linux/lvm.h",	"VG_CREATE",	0xfe0a},
+	{"linux/lvm.h",	"LV_CREATE",	0xfe20},
+	{"linux/lvm.h",	"LV_REMOVE",	0xfe21},
+	{"linux/lvm.h",	"LV_ACTIVATE",	0xfe22},
+	{"linux/lvm.h",	"LV_DEACTIVATE",	0xfe23},
+	{"linux/lvm.h",	"LV_EXTEND",	0xfe24},
+	{"linux/lvm.h",	"LV_REDUCE",	0xfe25},
+	{"linux/lvm.h",	"LV_STATUS_BYNAME",	0xfe26},
+	{"linux/lvm.h",	"LV_STATUS_BYINDEX",	0xfe27},
+	{"linux/lvm.h",	"LV_SET_ACCESS",	0xfe28},
+	{"linux/lvm.h",	"LV_SET_ALLOCATION",	0xfe29},
+	{"linux/lvm.h",	"LV_SET_STATUS",	0xfe2a},
+	{"linux/lvm.h",	"LE_REMAP",	0xfe2b},
+	{"linux/lvm.h",	"LV_SNAPSHOT_USE_RATE",	0xfe2c},
+	{"linux/lvm.h",	"LV_STATUS_BYDEV",	0xfe2e},
+	{"linux/lvm.h",	"LV_RENAME",	0xfe2f},
+	{"linux/lvm.h",	"LV_BMAP",	0xfe30},
+	{"linux/lvm.h",	"PV_STATUS",	0xfe40},
+	{"linux/lvm.h",	"PV_CHANGE",	0xfe41},
+	{"linux/lvm.h",	"PV_FLUSH",	0xfe42},
+	{"linux/lvm.h",	"PE_LOCK_UNLOCK",	0xfe50},
+	{"linux/lvm.h",	"LVM_GET_IOP_VERSION",	0xfe98},
+	{"linux/lvm.h",	"LVM_RESET",	0xfe99},
+	{"linux/lvm.h",	"LVM_LOCK_LVM",	0xff00},
diff --git a/strace-4.5.20/linux/sparc64/ioctlent1.h b/strace-4.5.20/linux/sparc64/ioctlent1.h
new file mode 100644
index 0000000..5d536cf
--- /dev/null
+++ b/strace-4.5.20/linux/sparc64/ioctlent1.h
@@ -0,0 +1 @@
+#include "../svr4/ioctlent.h"
diff --git a/strace-4.5.20/linux/sparc64/ioctlent2.h b/strace-4.5.20/linux/sparc64/ioctlent2.h
new file mode 100644
index 0000000..c1d6b8a
--- /dev/null
+++ b/strace-4.5.20/linux/sparc64/ioctlent2.h
@@ -0,0 +1,838 @@
+	{"linux/fs.h",	"FIBMAP",	0x1},
+	{"linux/fs.h",	"FIGETBSZ",	0x2},
+	{"linux/fd.h",	"FDGETPRM",	0x204},
+	{"linux/fd.h",	"FDGETMAXERRS",	0x20e},
+	{"linux/fd.h",	"FDGETDRVTYP",	0x20f},
+	{"linux/fd.h",	"FDGETDRVPRM",	0x211},
+	{"linux/fd.h",	"FDGETDRVSTAT",	0x212},
+	{"linux/fd.h",	"FDPOLLDRVSTAT",	0x213},
+	{"linux/fd.h",	"FDGETFDCSTAT",	0x215},
+	{"linux/fd.h",	"FDWERRORGET",	0x217},
+	{"linux/fd.h",	"FDCLRPRM",	0x241},
+	{"linux/fd.h",	"FDSETPRM",	0x242},
+	{"linux/fd.h",	"FDDEFPRM",	0x243},
+	{"linux/fd.h",	"FDMSGON",	0x245},
+	{"linux/fd.h",	"FDMSGOFF",	0x246},
+	{"linux/fd.h",	"FDFMTBEG",	0x247},
+	{"linux/fd.h",	"FDFMTTRK",	0x248},
+	{"linux/fd.h",	"FDFMTEND",	0x249},
+	{"linux/fd.h",	"FDSETEMSGTRESH",	0x24a},
+	{"linux/fd.h",	"FDFLUSH",	0x24b},
+	{"linux/fd.h",	"FDSETMAXERRS",	0x24c},
+	{"linux/fd.h",	"FDRESET",	0x254},
+	{"linux/fd.h",	"FDWERRORCLR",	0x256},
+	{"linux/fd.h",	"FDRAWCMD",	0x258},
+	{"linux/fd.h",	"FDTWADDLE",	0x259},
+	{"linux/fd.h",	"FDEJECT",	0x25a},
+	{"linux/fd.h",	"FDSETDRVPRM",	0x290},
+	{"linux/umsdos_fs.h",	"UMSDOS_READDIR_DOS",	0x4d2},
+	{"linux/umsdos_fs.h",	"UMSDOS_UNLINK_DOS",	0x4d3},
+	{"linux/umsdos_fs.h",	"UMSDOS_RMDIR_DOS",	0x4d4},
+	{"linux/umsdos_fs.h",	"UMSDOS_STAT_DOS",	0x4d5},
+	{"linux/umsdos_fs.h",	"UMSDOS_CREAT_EMD",	0x4d6},
+	{"linux/umsdos_fs.h",	"UMSDOS_UNLINK_EMD",	0x4d7},
+	{"linux/umsdos_fs.h",	"UMSDOS_READDIR_EMD",	0x4d8},
+	{"linux/umsdos_fs.h",	"UMSDOS_GETVERSION",	0x4d9},
+	{"linux/umsdos_fs.h",	"UMSDOS_INIT_EMD",	0x4da},
+	{"linux/umsdos_fs.h",	"UMSDOS_DOS_SETUP",	0x4db},
+	{"linux/umsdos_fs.h",	"UMSDOS_RENAME_DOS",	0x4dc},
+	{"linux/fs.h",	"BLKROSET",	0x125d},
+	{"linux/fs.h",	"BLKROGET",	0x125e},
+	{"linux/fs.h",	"BLKRRPART",	0x125f},
+	{"linux/fs.h",	"BLKGETSIZE",	0x1260},
+	{"linux/fs.h",	"BLKFLSBUF",	0x1261},
+	{"linux/fs.h",	"BLKRASET",	0x1262},
+	{"linux/fs.h",	"BLKRAGET",	0x1263},
+	{"linux/fs.h",	"BLKFRASET",	0x1264},
+	{"linux/fs.h",	"BLKFRAGET",	0x1265},
+	{"linux/fs.h",	"BLKSECTSET",	0x1266},
+	{"linux/fs.h",	"BLKSECTGET",	0x1267},
+	{"linux/fs.h",	"BLKSSZGET",	0x1268},
+	{"linux/blkpg.h",	"BLKPG",	0x1269},
+	{"linux/fs.h",	"BLKPG",	0x1269},
+	{"linux/elevator.h",	"BLKELVGET",	0x126a},
+	{"linux/fs.h",	"BLKELVGET",	0x126a},
+	{"linux/elevator.h",	"BLKELVSET",	0x126b},
+	{"linux/fs.h",	"BLKELVSET",	0x126b},
+	{"linux/fs.h",	"BLKBSZGET",	0x1270},
+	{"linux/fs.h",	"BLKBSZSET",	0x1271},
+	{"linux/fs.h",	"BLKGETSIZE64",	0x1272},
+	{"linux/agpgart.h",	"AGPIOC_INFO",	0x4100},
+	{"linux/agpgart.h",	"AGPIOC_ACQUIRE",	0x4101},
+	{"linux/apm_bios.h",	"APM_IOC_STANDBY",	0x4101},
+	{"linux/agpgart.h",	"AGPIOC_RELEASE",	0x4102},
+	{"linux/apm_bios.h",	"APM_IOC_SUSPEND",	0x4102},
+	{"linux/agpgart.h",	"AGPIOC_SETUP",	0x4103},
+	{"linux/agpgart.h",	"AGPIOC_RESERVE",	0x4104},
+	{"linux/agpgart.h",	"AGPIOC_PROTECT",	0x4105},
+	{"linux/agpgart.h",	"AGPIOC_ALLOCATE",	0x4106},
+	{"linux/agpgart.h",	"AGPIOC_DEALLOCATE",	0x4107},
+	{"linux/agpgart.h",	"AGPIOC_BIND",	0x4108},
+	{"linux/agpgart.h",	"AGPIOC_UNBIND",	0x4109},
+	{"linux/pmu.h",	"PMU_IOC_SLEEP",	0x4200},
+	{"linux/cciss_ioctl.h",	"CCISS_GETPCIINFO",	0x4201},
+	{"linux/pmu.h",	"PMU_IOC_GET_BACKLIGHT",	0x4201},
+	{"linux/cciss_ioctl.h",	"CCISS_GETINTINFO",	0x4202},
+	{"linux/pmu.h",	"PMU_IOC_SET_BACKLIGHT",	0x4202},
+	{"linux/cciss_ioctl.h",	"CCISS_SETINTINFO",	0x4203},
+	{"linux/pmu.h",	"PMU_IOC_GET_MODEL",	0x4203},
+	{"linux/cciss_ioctl.h",	"CCISS_GETNODENAME",	0x4204},
+	{"linux/pmu.h",	"PMU_IOC_HAS_ADB",	0x4204},
+	{"linux/cciss_ioctl.h",	"CCISS_SETNODENAME",	0x4205},
+	{"linux/pmu.h",	"PMU_IOC_CAN_SLEEP",	0x4205},
+	{"linux/cciss_ioctl.h",	"CCISS_GETHEARTBEAT",	0x4206},
+	{"linux/cciss_ioctl.h",	"CCISS_GETBUSTYPES",	0x4207},
+	{"linux/cciss_ioctl.h",	"CCISS_GETFIRMVER",	0x4208},
+	{"linux/cciss_ioctl.h",	"CCISS_GETDRIVVER",	0x4209},
+	{"linux/cciss_ioctl.h",	"CCISS_REVALIDVOLS",	0x420a},
+	{"linux/cciss_ioctl.h",	"CCISS_PASSTHRU",	0x420b},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RESET",	0x4300},
+	{"linux/capi.h",	"CAPI_REGISTER",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_LOAD",	0x4301},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RDATA",	0x4302},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCODE",	0x4303},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WDATA",	0x4304},
+	{"linux/soundcard.h",	"SNDCTL_COPR_WCODE",	0x4305},
+	{"linux/capi.h",	"CAPI_GET_MANUFACTURER",	0x4306},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RUN",	0x4306},
+	{"linux/capi.h",	"CAPI_GET_VERSION",	0x4307},
+	{"linux/soundcard.h",	"SNDCTL_COPR_HALT",	0x4307},
+	{"linux/capi.h",	"CAPI_GET_SERIAL",	0x4308},
+	{"linux/soundcard.h",	"SNDCTL_COPR_SENDMSG",	0x4308},
+	{"linux/capi.h",	"CAPI_GET_PROFILE",	0x4309},
+	{"linux/soundcard.h",	"SNDCTL_COPR_RCVMSG",	0x4309},
+	{"linux/capi.h",	"CAPI_MANUFACTURER_CMD",	0x4320},
+	{"linux/capi.h",	"CAPI_GET_ERRCODE",	0x4321},
+	{"linux/capi.h",	"CAPI_INSTALLED",	0x4322},
+	{"linux/capi.h",	"CAPI_GET_FLAGS",	0x4323},
+	{"linux/capi.h",	"CAPI_SET_FLAGS",	0x4324},
+	{"linux/capi.h",	"CAPI_CLR_FLAGS",	0x4325},
+	{"linux/capi.h",	"CAPI_NCCI_OPENCOUNT",	0x4326},
+	{"linux/capi.h",	"CAPI_NCCI_GETUNIT",	0x4327},
+	{"linux/input.h",	"EVIOCGVERSION",	0x4501},
+	{"linux/input.h",	"EVIOCGID",	0x4502},
+	{"linux/input.h",	"EVIOCGREP",	0x4503},
+	{"linux/input.h",	"EVIOCSREP",	0x4503},
+	{"linux/input.h",	"EVIOCGKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCSKEYCODE",	0x4504},
+	{"linux/input.h",	"EVIOCGKEY",	0x4505},
+	{"linux/input.h",	"EVIOCGBUS",	0x4507},
+	{"linux/input.h",	"EVIOCRMFF",	0x4581},
+	{"linux/input.h",	"EVIOCSGAIN",	0x4582},
+	{"linux/input.h",	"EVIOCSAUTOCENTER",	0x4583},
+	{"linux/input.h",	"EVIOCGEFFECTS",	0x4584},
+	{"linux/fb.h",	"FBIOGET_VBLANK",	0x4612},
+	{"linux/hiddev.h",	"HIDIOCGVERSION",	0x4801},
+	{"linux/hiddev.h",	"HIDIOCAPPLICATION",	0x4802},
+	{"linux/hiddev.h",	"HIDIOCGDEVINFO",	0x4803},
+	{"linux/hiddev.h",	"HIDIOCGSTRING",	0x4804},
+	{"linux/hiddev.h",	"HIDIOCINITREPORT",	0x4805},
+	{"linux/hiddev.h",	"HIDIOCGREPORT",	0x4807},
+	{"linux/hiddev.h",	"HIDIOCSREPORT",	0x4808},
+	{"linux/hiddev.h",	"HIDIOCGREPORTINFO",	0x4809},
+	{"linux/hiddev.h",	"HIDIOCGFIELDINFO",	0x480a},
+	{"linux/hiddev.h",	"HIDIOCGUSAGE",	0x480b},
+	{"linux/hiddev.h",	"HIDIOCSUSAGE",	0x480c},
+	{"linux/hiddev.h",	"HIDIOCGUCODE",	0x480d},
+	{"linux/isdn.h",	"IIOCNETAIF",	0x4901},
+	{"linux/isdn.h",	"IIOCNETDIF",	0x4902},
+	{"linux/isdn.h",	"IIOCNETSCF",	0x4903},
+	{"linux/isdn.h",	"IIOCNETGCF",	0x4904},
+	{"linux/isdn.h",	"IIOCNETANM",	0x4905},
+	{"linux/isdn.h",	"IIOCNETDNM",	0x4906},
+	{"linux/isdn.h",	"IIOCNETGNM",	0x4907},
+	{"linux/isdn.h",	"IIOCGETSET",	0x4908},
+	{"linux/isdn.h",	"IIOCSETSET",	0x4909},
+	{"linux/isdn.h",	"IIOCSETVER",	0x490a},
+	{"linux/isdn.h",	"IIOCNETHUP",	0x490b},
+	{"linux/isdn.h",	"IIOCSETGST",	0x490c},
+	{"linux/isdn.h",	"IIOCSETBRJ",	0x490d},
+	{"linux/isdn.h",	"IIOCSIGPRF",	0x490e},
+	{"linux/isdn.h",	"IIOCGETPRF",	0x490f},
+	{"linux/isdn.h",	"IIOCSETPRF",	0x4910},
+	{"linux/isdn.h",	"IIOCGETMAP",	0x4911},
+	{"linux/isdn.h",	"IIOCSETMAP",	0x4912},
+	{"linux/isdn.h",	"IIOCNETASL",	0x4913},
+	{"linux/isdn.h",	"IIOCNETDIL",	0x4914},
+	{"linux/isdn.h",	"IIOCGETCPS",	0x4915},
+	{"linux/isdn.h",	"IIOCGETDVR",	0x4916},
+	{"linux/isdn.h",	"IIOCNETLCR",	0x4917},
+	{"linux/isdn.h",	"IIOCNETDWRSET",	0x4918},
+	{"linux/isdn.h",	"IIOCNETALN",	0x4920},
+	{"linux/isdn.h",	"IIOCNETDLN",	0x4921},
+	{"linux/isdn.h",	"IIOCNETGPN",	0x4922},
+	{"linux/isdn.h",	"IIOCDBGVAR",	0x497f},
+	{"linux/isdn.h",	"IIOCDRVCTL",	0x4980},
+	{"linux/soundcard.h",	"SOUND_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_OLD_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_MIXER_ACCESS",	0x4d66},
+	{"linux/soundcard.h",	"SOUND_MIXER_AGC",	0x4d67},
+	{"linux/soundcard.h",	"SOUND_MIXER_3DSE",	0x4d68},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE1",	0x4d6f},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE2",	0x4d70},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE3",	0x4d71},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE4",	0x4d72},
+	{"linux/soundcard.h",	"SOUND_MIXER_PRIVATE5",	0x4d73},
+	{"linux/soundcard.h",	"SOUND_MIXER_GETLEVELS",	0x4d74},
+	{"linux/soundcard.h",	"SOUND_MIXER_SETLEVELS",	0x4d75},
+	{"linux/soundcard.h",	"OSS_GETVERSION",	0x4d76},
+	{"linux/soundcard.h",	"SNDCTL_DSP_RESET",	0x5000},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SYNC",	0x5001},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SPEED",	0x5002},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_RATE",	0x5002},
+	{"linux/soundcard.h",	"SNDCTL_DSP_STEREO",	0x5003},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETBLKSIZE",	0x5004},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFMT",	0x5005},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_BITS",	0x5005},
+	{"linux/soundcard.h",	"SNDCTL_DSP_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_CHANNELS",	0x5006},
+	{"linux/soundcard.h",	"SOUND_PCM_WRITE_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SOUND_PCM_READ_FILTER",	0x5007},
+	{"linux/soundcard.h",	"SNDCTL_DSP_POST",	0x5008},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SUBDIVIDE",	0x5009},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETFRAGMENT",	0x500a},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETFMTS",	0x500b},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOSPACE",	0x500c},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETISPACE",	0x500d},
+	{"linux/soundcard.h",	"SNDCTL_DSP_NONBLOCK",	0x500e},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCAPS",	0x500f},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETTRIGGER",	0x5010},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETIPTR",	0x5011},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETOPTR",	0x5012},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPINBUF",	0x5013},
+	{"linux/soundcard.h",	"SNDCTL_DSP_MAPOUTBUF",	0x5014},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSYNCRO",	0x5015},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETDUPLEX",	0x5016},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETODELAY",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_PROFILE",	0x5017},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETCHANNELMASK",	0x5040},
+	{"linux/soundcard.h",	"SNDCTL_DSP_BIND_CHANNEL",	0x5041},
+	{"linux/soundcard.h",	"SNDCTL_DSP_SETSPDIF",	0x5042},
+	{"linux/soundcard.h",	"SNDCTL_DSP_GETSPDIF",	0x5043},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESET",	0x5100},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_SYNC",	0x5101},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_INFO",	0x5102},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_CTRLRATE",	0x5103},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETOUTCOUNT",	0x5104},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETINCOUNT",	0x5105},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PERCMODE",	0x5106},
+	{"linux/soundcard.h",	"SNDCTL_FM_LOAD_INSTR",	0x5107},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_TESTMIDI",	0x5108},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_RESETSAMPLES",	0x5109},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRSYNTHS",	0x510a},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_NRMIDIS",	0x510b},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_INFO",	0x510c},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_THRESHOLD",	0x510d},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_MEMAVL",	0x510e},
+	{"linux/soundcard.h",	"SNDCTL_FM_4OP_ENABLE",	0x510f},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_PANIC",	0x5111},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_OUTOFBAND",	0x5112},
+	{"linux/soundcard.h",	"SNDCTL_SEQ_GETTIME",	0x5113},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_ID",	0x5114},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_CONTROL",	0x5115},
+	{"linux/soundcard.h",	"SNDCTL_SYNTH_REMOVESAMPLE",	0x5116},
+	{"linux/random.h",	"RNDGETENTCNT",	0x5200},
+	{"linux/random.h",	"RNDADDTOENTCNT",	0x5201},
+	{"linux/random.h",	"RNDGETPOOL",	0x5202},
+	{"linux/random.h",	"RNDADDENTROPY",	0x5203},
+	{"linux/random.h",	"RNDZAPENTCNT",	0x5204},
+	{"linux/random.h",	"RNDCLEARPOOL",	0x5206},
+	{"asm/ioctls.h",	"TCGETS",	0x5401},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TIMEBASE",	0x5401},
+	{"asm/ioctls.h",	"TCSETS",	0x5402},
+	{"linux/soundcard.h",	"SNDCTL_TMR_START",	0x5402},
+	{"asm/ioctls.h",	"TCSETSW",	0x5403},
+	{"linux/soundcard.h",	"SNDCTL_TMR_STOP",	0x5403},
+	{"asm/ioctls.h",	"TCSETSF",	0x5404},
+	{"linux/soundcard.h",	"SNDCTL_TMR_CONTINUE",	0x5404},
+	{"asm/ioctls.h",	"TCGETA",	0x5405},
+	{"linux/soundcard.h",	"SNDCTL_TMR_TEMPO",	0x5405},
+	{"asm/ioctls.h",	"TCSETA",	0x5406},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SOURCE",	0x5406},
+	{"asm/ioctls.h",	"TCSETAW",	0x5407},
+	{"linux/soundcard.h",	"SNDCTL_TMR_METRONOME",	0x5407},
+	{"asm/ioctls.h",	"TCSETAF",	0x5408},
+	{"linux/soundcard.h",	"SNDCTL_TMR_SELECT",	0x5408},
+	{"asm/ioctls.h",	"TCSBRK",	0x5409},
+	{"asm/ioctls.h",	"TCXONC",	0x540a},
+	{"asm/ioctls.h",	"TCFLSH",	0x540b},
+	{"asm/ioctls.h",	"TIOCEXCL",	0x540c},
+	{"asm/ioctls.h",	"TIOCNXCL",	0x540d},
+	{"asm/ioctls.h",	"TIOCSCTTY",	0x540e},
+	{"asm/ioctls.h",	"TIOCGPGRP",	0x540f},
+	{"asm/ioctls.h",	"TIOCSPGRP",	0x5410},
+	{"asm/ioctls.h",	"TIOCOUTQ",	0x5411},
+	{"asm/ioctls.h",	"TIOCSTI",	0x5412},
+	{"asm/ioctls.h",	"TIOCGWINSZ",	0x5413},
+	{"asm/ioctls.h",	"TIOCSWINSZ",	0x5414},
+	{"asm/ioctls.h",	"TIOCMGET",	0x5415},
+	{"asm/ioctls.h",	"TIOCMBIS",	0x5416},
+	{"asm/ioctls.h",	"TIOCMBIC",	0x5417},
+	{"asm/ioctls.h",	"TIOCMSET",	0x5418},
+	{"asm/ioctls.h",	"TIOCGSOFTCAR",	0x5419},
+	{"asm/ioctls.h",	"TIOCSSOFTCAR",	0x541a},
+	{"asm/ioctls.h",	"FIONREAD",	0x541b},
+	{"asm/ioctls.h",	"TIOCLINUX",	0x541c},
+	{"asm/ioctls.h",	"TIOCCONS",	0x541d},
+	{"asm/ioctls.h",	"TIOCGSERIAL",	0x541e},
+	{"asm/ioctls.h",	"TIOCSSERIAL",	0x541f},
+	{"asm/ioctls.h",	"TIOCPKT",	0x5420},
+	{"asm/ioctls.h",	"FIONBIO",	0x5421},
+	{"asm/ioctls.h",	"TIOCNOTTY",	0x5422},
+	{"asm/ioctls.h",	"TIOCSETD",	0x5423},
+	{"asm/ioctls.h",	"TIOCGETD",	0x5424},
+	{"asm/ioctls.h",	"TCSBRKP",	0x5425},
+	{"asm/ioctls.h",	"TIOCTTYGSTRUCT",	0x5426},
+	{"asm/ioctls.h",	"TIOCSBRK",	0x5427},
+	{"asm/ioctls.h",	"TIOCCBRK",	0x5428},
+	{"asm/ioctls.h",	"TIOCGSID",	0x5429},
+	{"asm/ioctls.h",	"TIOCGPTN",	0x5430},
+	{"asm/ioctls.h",	"TIOCSPTLCK",	0x5431},
+	{"asm/ioctls.h",	"FIONCLEX",	0x5450},
+	{"asm/ioctls.h",	"FIOCLEX",	0x5451},
+	{"asm/ioctls.h",	"FIOASYNC",	0x5452},
+	{"asm/ioctls.h",	"TIOCSERCONFIG",	0x5453},
+	{"asm/ioctls.h",	"TIOCSERGWILD",	0x5454},
+	{"asm/ioctls.h",	"TIOCSERSWILD",	0x5455},
+	{"asm/ioctls.h",	"TIOCGLCKTRMIOS",	0x5456},
+	{"asm/ioctls.h",	"TIOCSLCKTRMIOS",	0x5457},
+	{"asm/ioctls.h",	"TIOCSERGSTRUCT",	0x5458},
+	{"asm/ioctls.h",	"TIOCSERGETLSR",	0x5459},
+	{"asm/ioctls.h",	"TIOCSERGETMULTI",	0x545a},
+	{"asm/ioctls.h",	"TIOCSERSETMULTI",	0x545b},
+	{"asm/ioctls.h",	"TIOCMIWAIT",	0x545c},
+	{"asm/ioctls.h",	"TIOCGICOUNT",	0x545d},
+	{"asm/ioctls.h",	"TIOCGHAYESESP",	0x545e},
+	{"asm/ioctls.h",	"TIOCSHAYESESP",	0x545f},
+	{"linux/if_tun.h",	"TUNSETNOCSUM",	0x54c8},
+	{"linux/if_tun.h",	"TUNSETDEBUG",	0x54c9},
+	{"linux/if_tun.h",	"TUNSETIFF",	0x54ca},
+	{"linux/if_tun.h",	"TUNSETPERSIST",	0x54cb},
+	{"linux/if_tun.h",	"TUNSETOWNER",	0x54cc},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONTROL",	0x5500},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_BULK",	0x5502},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESETEP",	0x5503},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETINTERFACE",	0x5504},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SETCONFIGURATION",	0x5505},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_GETDRIVER",	0x5508},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_SUBMITURB",	0x550a},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCARDURB",	0x550b},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURB",	0x550c},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_REAPURBNDELAY",	0x550d},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_DISCSIGNAL",	0x550e},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLAIMINTERFACE",	0x550f},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RELEASEINTERFACE",	0x5510},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CONNECTINFO",	0x5511},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_IOCTL",	0x5512},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_HUB_PORTINFO",	0x5513},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_RESET",	0x5514},
+	{"linux/usbdevice_fs.h",	"USBDEVFS_CLEAR_HALT",	0x5515},
+	{"linux/watchdog.h",	"WDIOC_GETSUPPORT",	0x5700},
+	{"linux/watchdog.h",	"WDIOC_GETSTATUS",	0x5701},
+	{"linux/watchdog.h",	"WDIOC_GETBOOTSTATUS",	0x5702},
+	{"linux/watchdog.h",	"WDIOC_GETTEMP",	0x5703},
+	{"linux/watchdog.h",	"WDIOC_SETOPTIONS",	0x5704},
+	{"linux/watchdog.h",	"WDIOC_KEEPALIVE",	0x5705},
+	{"linux/watchdog.h",	"WDIOC_SETTIMEOUT",	0x5706},
+	{"linux/watchdog.h",	"WDIOC_GETTIMEOUT",	0x5707},
+	{"linux/ite_gpio.h",	"ITE_GPIO_IN",	0x5a00},
+	{"linux/ite_gpio.h",	"ITE_GPIO_OUT",	0x5a01},
+	{"linux/ite_gpio.h",	"ITE_GPIO_INT_CTRL",	0x5a02},
+	{"linux/ite_gpio.h",	"ITE_GPIO_IN_STATUS",	0x5a03},
+	{"linux/ite_gpio.h",	"ITE_GPIO_OUT_STATUS",	0x5a04},
+	{"linux/ite_gpio.h",	"ITE_GPIO_GEN_CTRL",	0x5a05},
+	{"linux/ite_gpio.h",	"ITE_GPIO_INT_WAIT",	0x5a06},
+	{"linux/sonet.h",	"SONET_GETSTAT",	0x6110},
+	{"linux/sonet.h",	"SONET_GETSTATZ",	0x6111},
+	{"linux/sonet.h",	"SONET_SETDIAG",	0x6112},
+	{"linux/sonet.h",	"SONET_CLRDIAG",	0x6113},
+	{"linux/sonet.h",	"SONET_GETDIAG",	0x6114},
+	{"linux/sonet.h",	"SONET_SETFRAMING",	0x6115},
+	{"linux/sonet.h",	"SONET_GETFRAMING",	0x6116},
+	{"linux/sonet.h",	"SONET_GETFRSENSE",	0x6117},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTAT",	0x6132},
+	{"linux/atm_idt77105.h",	"IDT77105_GETSTATZ",	0x6133},
+	{"linux/atmdev.h",	"ATM_GETSTAT",	0x6150},
+	{"linux/atmdev.h",	"ATM_GETSTATZ",	0x6151},
+	{"linux/atmdev.h",	"ATM_GETLOOP",	0x6152},
+	{"linux/atmdev.h",	"ATM_SETLOOP",	0x6153},
+	{"linux/atmdev.h",	"ATM_QUERYLOOP",	0x6154},
+	{"linux/atm_eni.h",	"ENI_MEMDUMP",	0x6160},
+	{"linux/atm_nicstar.h",	"NS_GETPSTAT",	0x6161},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOL",	0x6161},
+	{"linux/atm_nicstar.h",	"NS_SETBUFLEV",	0x6162},
+	{"linux/atm_zatm.h",	"ZATM_GETPOOLZ",	0x6162},
+	{"linux/atm_nicstar.h",	"NS_ADJBUFLEV",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_SETPOOL",	0x6163},
+	{"linux/atm_zatm.h",	"ZATM_GETTHIST",	0x6164},
+	{"linux/atm_eni.h",	"ENI_SETMULT",	0x6167},
+	{"linux/atm_tcp.h",	"SIOCSIFATMTCP",	0x6180},
+	{"linux/atmdev.h",	"ATM_GETLINKRATE",	0x6181},
+	{"linux/atmdev.h",	"ATM_GETNAMES",	0x6183},
+	{"linux/atmdev.h",	"ATM_GETTYPE",	0x6184},
+	{"linux/atmdev.h",	"ATM_GETESI",	0x6185},
+	{"linux/atmdev.h",	"ATM_GETADDR",	0x6186},
+	{"linux/atmdev.h",	"ATM_RSTADDR",	0x6187},
+	{"linux/atmdev.h",	"ATM_ADDADDR",	0x6188},
+	{"linux/atmdev.h",	"ATM_DELADDR",	0x6189},
+	{"linux/atmdev.h",	"ATM_GETCIRANGE",	0x618a},
+	{"linux/atmdev.h",	"ATM_SETCIRANGE",	0x618b},
+	{"linux/atmdev.h",	"ATM_SETESI",	0x618c},
+	{"linux/atmdev.h",	"ATM_SETESIF",	0x618d},
+	{"linux/atm_tcp.h",	"ATMTCP_CREATE",	0x618e},
+	{"linux/atm_tcp.h",	"ATMTCP_REMOVE",	0x618f},
+	{"linux/atmlec.h",	"ATMLEC_CTRL",	0x61d0},
+	{"linux/atmlec.h",	"ATMLEC_DATA",	0x61d1},
+	{"linux/atmlec.h",	"ATMLEC_MCAST",	0x61d2},
+	{"linux/atmmpc.h",	"ATMMPC_CTRL",	0x61d8},
+	{"linux/atmmpc.h",	"ATMMPC_DATA",	0x61d9},
+	{"linux/atmclip.h",	"SIOCMKCLIP",	0x61e0},
+	{"linux/atmarp.h",	"ATMARPD_CTRL",	0x61e1},
+	{"linux/atmarp.h",	"ATMARP_MKIP",	0x61e2},
+	{"linux/atmarp.h",	"ATMARP_SETENTRY",	0x61e3},
+	{"linux/atmarp.h",	"ATMARP_ENCAP",	0x61e5},
+	{"linux/atmsvc.h",	"ATMSIGD_CTRL",	0x61f0},
+	{"linux/atmdev.h",	"ATM_SETSC",	0x61f1},
+	{"linux/atmdev.h",	"ATM_SETBACKEND",	0x61f2},
+	{"linux/coda.h",	"CIOC_KERNEL_VERSION",	0x630a},
+	{"linux/comstats.h",	"COM_GETPORTSTATS",	0x631e},
+	{"linux/comstats.h",	"COM_CLRPORTSTATS",	0x631f},
+	{"linux/comstats.h",	"COM_GETBRDSTATS",	0x6320},
+	{"linux/comstats.h",	"COM_READPORT",	0x6328},
+	{"linux/comstats.h",	"COM_READBOARD",	0x6329},
+	{"linux/comstats.h",	"COM_READPANEL",	0x632a},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_GET_PROTO_REV",	0x6400},
+	{"linux/video_decoder.h",	"DECODER_GET_CAPABILITIES",	0x6401},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_SET_EVENT_MASK",	0x6402},
+	{"linux/video_decoder.h",	"DECODER_GET_STATUS",	0x6402},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_RELEASE_EVENT_QUEUE",	0x6403},
+	{"linux/video_decoder.h",	"DECODER_SET_NORM",	0x6403},
+	{"linux/devfs_fs.h",	"DEVFSDIOC_SET_DEBUG_MASK",	0x6404},
+	{"linux/video_decoder.h",	"DECODER_SET_INPUT",	0x6404},
+	{"linux/video_decoder.h",	"DECODER_SET_OUTPUT",	0x6405},
+	{"linux/video_decoder.h",	"DECODER_ENABLE_OUTPUT",	0x6406},
+	{"linux/video_decoder.h",	"DECODER_SET_PICTURE",	0x6407},
+	{"linux/video_decoder.h",	"DECODER_DUMP",	0x64c0},
+	{"linux/video_encoder.h",	"ENCODER_GET_CAPABILITIES",	0x6501},
+	{"linux/video_encoder.h",	"ENCODER_SET_NORM",	0x6502},
+	{"linux/video_encoder.h",	"ENCODER_SET_INPUT",	0x6503},
+	{"linux/video_encoder.h",	"ENCODER_SET_OUTPUT",	0x6504},
+	{"linux/video_encoder.h",	"ENCODER_ENABLE_OUTPUT",	0x6505},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETFLAGS",	0x6601},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETFLAGS",	0x6601},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETFLAGS",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETFLAGS",	0x6602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION",	0x6603},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION",	0x6604},
+	{"linux/ext3_fs.h",	"EXT3_IOC_WAIT_FOR_READONLY",	0x6663},
+	{"linux/i2o-dev.h",	"I2OGETIOPS",	0x6900},
+	{"linux/i2o-dev.h",	"I2OHRTGET",	0x6901},
+	{"linux/i2o-dev.h",	"I2OLCTGET",	0x6902},
+	{"linux/i2o-dev.h",	"I2OPARMSET",	0x6903},
+	{"linux/i2o-dev.h",	"I2OPARMGET",	0x6904},
+	{"linux/i2o-dev.h",	"I2OSWDL",	0x6905},
+	{"linux/i2o-dev.h",	"I2OSWUL",	0x6906},
+	{"linux/i2o-dev.h",	"I2OSWDEL",	0x6907},
+	{"linux/i2o-dev.h",	"I2OVALIDATE",	0x6908},
+	{"linux/i2o-dev.h",	"I2OHTML",	0x6909},
+	{"linux/i2o-dev.h",	"I2OEVTREG",	0x690a},
+	{"linux/i2o-dev.h",	"I2OEVTGET",	0x690b},
+	{"linux/i8k.h",	"I8K_BIOS_VERSION",	0x6980},
+	{"linux/i8k.h",	"I8K_MACHINE_ID",	0x6981},
+	{"linux/i8k.h",	"I8K_POWER_STATUS",	0x6982},
+	{"linux/i8k.h",	"I8K_FN_STATUS",	0x6983},
+	{"linux/i8k.h",	"I8K_GET_TEMP",	0x6984},
+	{"linux/i8k.h",	"I8K_GET_SPEED",	0x6985},
+	{"linux/i8k.h",	"I8K_GET_FAN",	0x6986},
+	{"linux/i8k.h",	"I8K_SET_FAN",	0x6987},
+	{"linux/joystick.h",	"JSIOCGVERSION",	0x6a01},
+	{"linux/joystick.h",	"JSIOCGAXES",	0x6a11},
+	{"linux/joystick.h",	"JSIOCGBUTTONS",	0x6a12},
+	{"linux/joystick.h",	"JSIOCSCORR",	0x6a21},
+	{"linux/joystick.h",	"JSIOCGCORR",	0x6a22},
+	{"linux/joystick.h",	"JSIOCSAXMAP",	0x6a31},
+	{"linux/joystick.h",	"JSIOCGAXMAP",	0x6a32},
+	{"linux/joystick.h",	"JSIOCSBTNMAP",	0x6a33},
+	{"linux/joystick.h",	"JSIOCGBTNMAP",	0x6a34},
+	{"linux/udf_fs_i.h",	"UDF_GETEASIZE",	0x6c40},
+	{"linux/udf_fs_i.h",	"UDF_GETEABLOCK",	0x6c41},
+	{"linux/udf_fs_i.h",	"UDF_GETVOLIDENT",	0x6c42},
+	{"linux/udf_fs_i.h",	"UDF_RELOCATE_BLOCKS",	0x6c43},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_PRETIME",	0x6d00},
+	{"linux/synclink.h",	"MGSL_IOCSPARAMS",	0x6d00},
+	{"linux/mtio.h",	"MTIOCTOP",	0x6d01},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUMODE",	0x6d01},
+	{"linux/synclink.h",	"MGSL_IOCGPARAMS",	0x6d01},
+	{"linux/mtio.h",	"MTIOCGET",	0x6d02},
+	{"linux/soundcard.h",	"SNDCTL_MIDI_MPUCMD",	0x6d02},
+	{"linux/synclink.h",	"MGSL_IOCSTXIDLE",	0x6d02},
+	{"linux/mtio.h",	"MTIOCPOS",	0x6d03},
+	{"linux/synclink.h",	"MGSL_IOCGTXIDLE",	0x6d03},
+	{"linux/mtio.h",	"MTIOCGETCONFIG",	0x6d04},
+	{"linux/synclink.h",	"MGSL_IOCTXENABLE",	0x6d04},
+	{"linux/mtio.h",	"MTIOCSETCONFIG",	0x6d05},
+	{"linux/synclink.h",	"MGSL_IOCRXENABLE",	0x6d05},
+	{"linux/mtio.h",	"MTIOCRDFTSEG",	0x6d06},
+	{"linux/synclink.h",	"MGSL_IOCTXABORT",	0x6d06},
+	{"linux/mtio.h",	"MTIOCWRFTSEG",	0x6d07},
+	{"linux/synclink.h",	"MGSL_IOCGSTATS",	0x6d07},
+	{"linux/mtio.h",	"MTIOCVOLINFO",	0x6d08},
+	{"linux/synclink.h",	"MGSL_IOCWAITEVENT",	0x6d08},
+	{"linux/mtio.h",	"MTIOCGETSIZE",	0x6d09},
+	{"linux/synclink.h",	"MGSL_IOCLOOPTXDONE",	0x6d09},
+	{"linux/mtio.h",	"MTIOCFTFORMAT",	0x6d0a},
+	{"linux/mtio.h",	"MTIOCFTCMD",	0x6d0b},
+	{"linux/synclink.h",	"MGSL_IOCCLRMODCOUNT",	0x6d0f},
+	{"linux/zftape.h",	"MTIOC_ZFTAPE_GETBLKSZ",	0x6d68},
+	{"linux/ncp_fs.h",	"NCP_IOC_NCPREQUEST",	0x6e01},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETMOUNTUID2",	0x6e02},
+	{"linux/ncp_fs.h",	"NCP_IOC_CONN_LOGGED_IN",	0x6e03},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_GET_FS_INFO_V2",	0x6e04},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_INIT",	0x6e05},
+	{"linux/ncp_fs.h",	"NCP_IOC_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_SET_SIGN_WANTED",	0x6e06},
+	{"linux/ncp_fs.h",	"NCP_IOC_LOCKUNLOCK",	0x6e07},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETROOT",	0x6e08},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETOBJECTNAME",	0x6e09},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETPRIVATEDATA",	0x6e0a},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETCHARSETS",	0x6e0b},
+	{"linux/ncp_fs.h",	"NCP_IOC_GETDENTRYTTL",	0x6e0c},
+	{"linux/ncp_fs.h",	"NCP_IOC_SETDENTRYTTL",	0x6e0c},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_CONNECTION",	0x6ef8},
+	{"linux/matroxfb.h",	"MATROXFB_GET_AVAILABLE_OUTPUTS",	0x6ef9},
+	{"linux/matroxfb.h",	"MATROXFB_SET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_GET_OUTPUT_MODE",	0x6efa},
+	{"linux/matroxfb.h",	"MATROXFB_GET_ALL_OUTPUTS",	0x6efb},
+	{"linux/rtc.h",	"RTC_AIE_ON",	0x7001},
+	{"linux/rtc.h",	"RTC_AIE_OFF",	0x7002},
+	{"linux/intermezzo_fs.h",	"PRESTO_GETMOUNT",	0x7003},
+	{"linux/rtc.h",	"RTC_UIE_ON",	0x7003},
+	{"linux/intermezzo_fs.h",	"PRESTO_SETPID",	0x7004},
+	{"linux/rtc.h",	"RTC_UIE_OFF",	0x7004},
+	{"linux/rtc.h",	"RTC_PIE_ON",	0x7005},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLOSE_JOURNALF",	0x7006},
+	{"linux/rtc.h",	"RTC_PIE_OFF",	0x7006},
+	{"linux/intermezzo_fs.h",	"PRESTO_SET_FSETROOT",	0x7007},
+	{"linux/rtc.h",	"RTC_ALM_SET",	0x7007},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLEAR_FSETROOT",	0x7008},
+	{"linux/rtc.h",	"RTC_ALM_READ",	0x7008},
+	{"linux/intermezzo_fs.h",	"PRESTO_SETOPT",	0x7009},
+	{"linux/rtc.h",	"RTC_RD_TIME",	0x7009},
+	{"linux/intermezzo_fs.h",	"PRESTO_GETOPT",	0x700a},
+	{"linux/rtc.h",	"RTC_SET_TIME",	0x700a},
+	{"linux/intermezzo_fs.h",	"PRESTO_GET_KMLSIZE",	0x700b},
+	{"linux/rtc.h",	"RTC_IRQP_READ",	0x700b},
+	{"linux/intermezzo_fs.h",	"PRESTO_GET_RECNO",	0x700c},
+	{"linux/rtc.h",	"RTC_IRQP_SET",	0x700c},
+	{"linux/rtc.h",	"RTC_EPOCH_READ",	0x700d},
+	{"linux/rtc.h",	"RTC_EPOCH_SET",	0x700e},
+	{"linux/rtc.h",	"RTC_WIE_ON",	0x700f},
+	{"linux/rtc.h",	"RTC_WKALM_SET",	0x700f},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SETATTR",	0x7010},
+	{"linux/rtc.h",	"RTC_WIE_OFF",	0x7010},
+	{"linux/rtc.h",	"RTC_WKALM_RD",	0x7010},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_CREATE",	0x7011},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_LINK",	0x7012},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_UNLINK",	0x7013},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SYMLINK",	0x7014},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_MKDIR",	0x7015},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_RMDIR",	0x7016},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_MKNOD",	0x7017},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_RENAME",	0x7018},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_CLOSE",	0x701a},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_IOPEN",	0x701b},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_SETEXTATTR",	0x701c},
+	{"linux/intermezzo_fs.h",	"PRESTO_VFS_DELEXTATTR",	0x701d},
+	{"linux/intermezzo_fs.h",	"PRESTO_MARK",	0x7020},
+	{"linux/intermezzo_fs.h",	"PRESTO_RELEASE_PERMIT",	0x7021},
+	{"linux/intermezzo_fs.h",	"PRESTO_CLEAR_ALL_FSETROOTS",	0x7022},
+	{"linux/intermezzo_fs.h",	"PRESTO_BACKFETCH_LML",	0x7023},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT",	0x7024},
+	{"linux/intermezzo_fs.h",	"PRESTO_CANCEL_LML",	0x7025},
+	{"linux/intermezzo_fs.h",	"PRESTO_RESET_FSET",	0x7026},
+	{"linux/intermezzo_fs.h",	"PRESTO_COMPLETE_CLOSES",	0x7027},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT_BEGIN",	0x7030},
+	{"linux/intermezzo_fs.h",	"PRESTO_DO_REINT",	0x7031},
+	{"linux/intermezzo_fs.h",	"PRESTO_REINT_END",	0x7032},
+	{"linux/nvram.h",	"NVRAM_INIT",	0x7040},
+	{"linux/nvram.h",	"NVRAM_SETCKS",	0x7041},
+	{"linux/ppdev.h",	"PPSETMODE",	0x7080},
+	{"linux/ppdev.h",	"PPRSTATUS",	0x7081},
+	{"linux/ppdev.h",	"PPRCONTROL",	0x7083},
+	{"linux/ppdev.h",	"PPWCONTROL",	0x7084},
+	{"linux/ppdev.h",	"PPRDATA",	0x7085},
+	{"linux/ppdev.h",	"PPWDATA",	0x7086},
+	{"linux/ppdev.h",	"PPCLAIM",	0x708b},
+	{"linux/ppdev.h",	"PPRELEASE",	0x708c},
+	{"linux/ppdev.h",	"PPYIELD",	0x708d},
+	{"linux/ppdev.h",	"PPFCONTROL",	0x708e},
+	{"linux/ppdev.h",	"PPEXCL",	0x708f},
+	{"linux/ppdev.h",	"PPDATADIR",	0x7090},
+	{"linux/ppdev.h",	"PPNEGOT",	0x7091},
+	{"linux/ppdev.h",	"PPWCTLONIRQ",	0x7092},
+	{"linux/ppdev.h",	"PPCLRIRQ",	0x7093},
+	{"linux/ppdev.h",	"PPSETPHASE",	0x7094},
+	{"linux/ppdev.h",	"PPGETTIME",	0x7095},
+	{"linux/ppdev.h",	"PPSETTIME",	0x7096},
+	{"linux/ppdev.h",	"PPGETMODES",	0x7097},
+	{"linux/ppdev.h",	"PPGETMODE",	0x7098},
+	{"linux/ppdev.h",	"PPGETPHASE",	0x7099},
+	{"linux/ppdev.h",	"PPGETFLAGS",	0x709a},
+	{"linux/ppdev.h",	"PPSETFLAGS",	0x709b},
+	{"linux/serio.h",	"SPIOCSTYPE",	0x7101},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES",	0x7180},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_LIST",	0x7181},
+	{"linux/telephony.h",	"PHONE_CAPABILITIES_CHECK",	0x7182},
+	{"linux/telephony.h",	"PHONE_RING",	0x7183},
+	{"linux/telephony.h",	"PHONE_HOOKSTATE",	0x7184},
+	{"linux/telephony.h",	"PHONE_MAXRINGS",	0x7185},
+	{"linux/telephony.h",	"PHONE_RING_CADENCE",	0x7186},
+	{"linux/telephony.h",	"OLD_PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_START",	0x7187},
+	{"linux/telephony.h",	"PHONE_RING_STOP",	0x7188},
+	{"linux/telephony.h",	"PHONE_REC_CODEC",	0x7189},
+	{"linux/telephony.h",	"PHONE_REC_START",	0x718a},
+	{"linux/telephony.h",	"PHONE_REC_STOP",	0x718b},
+	{"linux/telephony.h",	"PHONE_REC_DEPTH",	0x718c},
+	{"linux/telephony.h",	"PHONE_FRAME",	0x718d},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME",	0x718e},
+	{"linux/telephony.h",	"PHONE_REC_LEVEL",	0x718f},
+	{"linux/telephony.h",	"PHONE_PLAY_CODEC",	0x7190},
+	{"linux/telephony.h",	"PHONE_PLAY_START",	0x7191},
+	{"linux/telephony.h",	"PHONE_PLAY_STOP",	0x7192},
+	{"linux/telephony.h",	"PHONE_PLAY_DEPTH",	0x7193},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME",	0x7194},
+	{"linux/telephony.h",	"PHONE_PLAY_LEVEL",	0x7195},
+	{"linux/telephony.h",	"PHONE_DTMF_READY",	0x7196},
+	{"linux/telephony.h",	"PHONE_GET_DTMF",	0x7197},
+	{"linux/telephony.h",	"PHONE_GET_DTMF_ASCII",	0x7198},
+	{"linux/telephony.h",	"PHONE_DTMF_OOB",	0x7199},
+	{"linux/telephony.h",	"PHONE_EXCEPTION",	0x719a},
+	{"linux/telephony.h",	"PHONE_PLAY_TONE",	0x719b},
+	{"linux/telephony.h",	"PHONE_SET_TONE_ON_TIME",	0x719c},
+	{"linux/telephony.h",	"PHONE_SET_TONE_OFF_TIME",	0x719d},
+	{"linux/telephony.h",	"PHONE_GET_TONE_ON_TIME",	0x719e},
+	{"linux/telephony.h",	"PHONE_GET_TONE_OFF_TIME",	0x719f},
+	{"linux/telephony.h",	"PHONE_GET_TONE_STATE",	0x71a0},
+	{"linux/telephony.h",	"PHONE_BUSY",	0x71a1},
+	{"linux/telephony.h",	"PHONE_RINGBACK",	0x71a2},
+	{"linux/telephony.h",	"PHONE_DIALTONE",	0x71a3},
+	{"linux/telephony.h",	"PHONE_CPT_STOP",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_SET_STATE",	0x71a4},
+	{"linux/telephony.h",	"PHONE_PSTN_GET_STATE",	0x71a5},
+	{"linux/telephony.h",	"PHONE_WINK_DURATION",	0x71a6},
+	{"linux/telephony.h",	"PHONE_QUERY_CODEC",	0x71a7},
+	{"linux/telephony.h",	"PHONE_PSTN_LINETEST",	0x71a8},
+	{"linux/telephony.h",	"PHONE_VAD",	0x71a9},
+	{"linux/telephony.h",	"PHONE_WINK",	0x71aa},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_RESET",	0x71c0},
+	{"linux/ixjuser.h",	"IXJCTL_CARDTYPE",	0x71c1},
+	{"linux/ixjuser.h",	"IXJCTL_SERIAL",	0x71c2},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_TYPE",	0x71c3},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_VERSION",	0x71c4},
+	{"linux/ixjuser.h",	"IXJCTL_DSP_IDLE",	0x71c5},
+	{"linux/ixjuser.h",	"IXJCTL_TESTRAM",	0x71c6},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER",	0x71c7},
+	{"linux/ixjuser.h",	"IXJCTL_GET_FILTER_HIST",	0x71c8},
+	{"linux/ixjuser.h",	"IXJCTL_INIT_TONE",	0x71c9},
+	{"linux/ixjuser.h",	"IXJCTL_TONE_CADENCE",	0x71ca},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_START",	0x71cb},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_STOP",	0x71cc},
+	{"linux/ixjuser.h",	"IXJCTL_AEC_GET_LEVEL",	0x71cd},
+	{"linux/ixjuser.h",	"IXJCTL_SET_LED",	0x71ce},
+	{"linux/ixjuser.h",	"IXJCTL_MIXER",	0x71cf},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_COEFF_SET",	0x71d0},
+	{"linux/ixjuser.h",	"IXJCTL_PORT",	0x71d1},
+	{"linux/ixjuser.h",	"IXJCTL_DAA_AGAIN",	0x71d2},
+	{"linux/ixjuser.h",	"IXJCTL_PSTN_LINETEST",	0x71d3},
+	{"linux/ixjuser.h",	"IXJCTL_CID",	0x71d4},
+	{"linux/ixjuser.h",	"IXJCTL_POTS_PSTN",	0x71d5},
+	{"linux/ixjuser.h",	"IXJCTL_FILTER_CADENCE",	0x71d6},
+	{"linux/ixjuser.h",	"IXJCTL_PLAY_CID",	0x71d7},
+	{"linux/ixjuser.h",	"IXJCTL_VMWI",	0x71d8},
+	{"linux/ixjuser.h",	"IXJCTL_CIDCW",	0x71d9},
+	{"linux/ixjuser.h",	"IXJCTL_VERSION",	0x71da},
+	{"linux/telephony.h",	"PHONE_REC_VOLUME_LINEAR",	0x71db},
+	{"linux/telephony.h",	"PHONE_PLAY_VOLUME_LINEAR",	0x71dc},
+	{"linux/ixjuser.h",	"IXJCTL_SET_FILTER_RAW",	0x71dd},
+	{"linux/ixjuser.h",	"IXJCTL_HZ",	0x71e0},
+	{"linux/ixjuser.h",	"IXJCTL_RATE",	0x71e1},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_READ",	0x71e2},
+	{"linux/ixjuser.h",	"IXJCTL_FRAMES_WRITTEN",	0x71e3},
+	{"linux/ixjuser.h",	"IXJCTL_READ_WAIT",	0x71e4},
+	{"linux/ixjuser.h",	"IXJCTL_WRITE_WAIT",	0x71e5},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_READ",	0x71e6},
+	{"linux/ixjuser.h",	"IXJCTL_DRYBUFFER_CLEAR",	0x71e7},
+	{"linux/ixjuser.h",	"IXJCTL_DTMF_PRESCALE",	0x71e8},
+	{"linux/ixjuser.h",	"IXJCTL_SIGCTL",	0x71e9},
+	{"linux/ixjuser.h",	"IXJCTL_SC_RXG",	0x71ea},
+	{"linux/ixjuser.h",	"IXJCTL_SC_TXG",	0x71eb},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_START",	0x71fd},
+	{"linux/ixjuser.h",	"IXJCTL_INTERCOM_STOP",	0x71fe},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_BOTH",	0x7201},
+	{"linux/msdos_fs.h",	"VFAT_IOCTL_READDIR_SHORT",	0x7202},
+	{"linux/cdk.h",	"STL_BINTR",	0x7314},
+	{"linux/cdk.h",	"STL_BSTART",	0x7315},
+	{"linux/cdk.h",	"STL_BSTOP",	0x7316},
+	{"linux/cdk.h",	"STL_BRESET",	0x7317},
+	{"linux/cdk.h",	"STL_GETPFLAG",	0x7350},
+	{"linux/cdk.h",	"STL_SETPFLAG",	0x7351},
+	{"linux/if_ppp.h",	"PPPIOCGCHAN",	0x7437},
+	{"linux/if_ppp.h",	"PPPIOCATTCHAN",	0x7438},
+	{"linux/if_ppp.h",	"PPPIOCDISCONN",	0x7439},
+	{"linux/if_ppp.h",	"PPPIOCCONNECT",	0x743a},
+	{"linux/if_ppp.h",	"PPPIOCSMRRU",	0x743b},
+	{"linux/if_ppp.h",	"PPPIOCDETACH",	0x743c},
+	{"linux/if_ppp.h",	"PPPIOCATTACH",	0x743d},
+	{"linux/if_ppp.h",	"PPPIOCNEWUNIT",	0x743e},
+	{"linux/if_ppp.h",	"PPPIOCGIDLE",	0x743f},
+	{"linux/if_ppp.h",	"PPPIOCSDEBUG",	0x7440},
+	{"linux/if_ppp.h",	"PPPIOCGDEBUG",	0x7441},
+	{"linux/if_ppp.h",	"PPPIOCSACTIVE",	0x7446},
+	{"linux/if_ppp.h",	"PPPIOCSPASS",	0x7447},
+	{"linux/if_ppp.h",	"PPPIOCSNPMODE",	0x744b},
+	{"linux/if_ppp.h",	"PPPIOCGNPMODE",	0x744c},
+	{"linux/if_ppp.h",	"PPPIOCSCOMPRESS",	0x744d},
+	{"linux/if_ppp.h",	"PPPIOCXFERUNIT",	0x744e},
+	{"linux/if_ppp.h",	"PPPIOCSXASYNCMAP",	0x744f},
+	{"linux/if_ppp.h",	"PPPIOCGXASYNCMAP",	0x7450},
+	{"linux/if_ppp.h",	"PPPIOCSMAXCID",	0x7451},
+	{"linux/if_ppp.h",	"PPPIOCSMRU",	0x7452},
+	{"linux/if_ppp.h",	"PPPIOCGMRU",	0x7453},
+	{"linux/if_ppp.h",	"PPPIOCSRASYNCMAP",	0x7454},
+	{"linux/if_ppp.h",	"PPPIOCGRASYNCMAP",	0x7455},
+	{"linux/if_ppp.h",	"PPPIOCGUNIT",	0x7456},
+	{"linux/if_ppp.h",	"PPPIOCSASYNCMAP",	0x7457},
+	{"linux/if_ppp.h",	"PPPIOCGASYNCMAP",	0x7458},
+	{"linux/if_ppp.h",	"PPPIOCSFLAGS",	0x7459},
+	{"linux/if_ppp.h",	"PPPIOCGFLAGS",	0x745a},
+	{"linux/jffs.h",	"JFFS_PRINT_HASH",	0x745a},
+	{"linux/jffs.h",	"JFFS_PRINT_TREE",	0x745b},
+	{"linux/jffs.h",	"JFFS_GET_STATUS",	0x745c},
+	{"linux/isdn_ppp.h",	"PPPIOCGCALLINFO",	0x7480},
+	{"linux/isdn_ppp.h",	"PPPIOCBUNDLE",	0x7481},
+	{"linux/isdn_ppp.h",	"PPPIOCGMPFLAGS",	0x7482},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPFLAGS",	0x7483},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMTU",	0x7484},
+	{"linux/isdn_ppp.h",	"PPPIOCSMPMRU",	0x7485},
+	{"linux/isdn_ppp.h",	"PPPIOCGCOMPRESSORS",	0x7486},
+	{"linux/isdn_ppp.h",	"PPPIOCSCOMPRESSOR",	0x7487},
+	{"linux/isdn_ppp.h",	"PPPIOCGIFNAME",	0x7488},
+	{"linux/toshiba.h",	"TOSH_SMM",	0x7490},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID",	0x7501},
+	{"linux/smb_fs.h",	"SMB_IOC_NEWCONN",	0x7502},
+	{"linux/smb_fs.h",	"SMB_IOC_GETMOUNTUID32",	0x7503},
+	{"linux/sonypi.h",	"SONYPI_IOCGBRT",	0x7600},
+	{"linux/sonypi.h",	"SONYPI_IOCSBRT",	0x7600},
+	{"linux/ext2_fs.h",	"EXT2_IOC_GETVERSION",	0x7601},
+	{"linux/ext3_fs.h",	"EXT3_IOC_GETVERSION_OLD",	0x7601},
+	{"linux/videodev.h",	"VIDIOCGCAP",	0x7601},
+	{"linux/ext2_fs.h",	"EXT2_IOC_SETVERSION",	0x7602},
+	{"linux/ext3_fs.h",	"EXT3_IOC_SETVERSION_OLD",	0x7602},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT1CAP",	0x7602},
+	{"linux/videodev.h",	"VIDIOCGCHAN",	0x7602},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT1REM",	0x7603},
+	{"linux/videodev.h",	"VIDIOCSCHAN",	0x7603},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT2CAP",	0x7604},
+	{"linux/videodev.h",	"VIDIOCGTUNER",	0x7604},
+	{"linux/sonypi.h",	"SONYPI_IOCGBAT2REM",	0x7605},
+	{"linux/videodev.h",	"VIDIOCSTUNER",	0x7605},
+	{"linux/videodev.h",	"VIDIOCGPICT",	0x7606},
+	{"linux/sonypi.h",	"SONYPI_IOCGBATFLAGS",	0x7607},
+	{"linux/videodev.h",	"VIDIOCSPICT",	0x7607},
+	{"linux/sonypi.h",	"SONYPI_IOCGBLUE",	0x7608},
+	{"linux/videodev.h",	"VIDIOCCAPTURE",	0x7608},
+	{"linux/sonypi.h",	"SONYPI_IOCSBLUE",	0x7609},
+	{"linux/videodev.h",	"VIDIOCGWIN",	0x7609},
+	{"linux/videodev.h",	"VIDIOCSWIN",	0x760a},
+	{"linux/videodev.h",	"VIDIOCGFBUF",	0x760b},
+	{"linux/videodev.h",	"VIDIOCSFBUF",	0x760c},
+	{"linux/videodev.h",	"VIDIOCKEY",	0x760d},
+	{"linux/videodev.h",	"VIDIOCGFREQ",	0x760e},
+	{"linux/videodev.h",	"VIDIOCSFREQ",	0x760f},
+	{"linux/videodev.h",	"VIDIOCGAUDIO",	0x7610},
+	{"linux/videodev.h",	"VIDIOCSAUDIO",	0x7611},
+	{"linux/videodev.h",	"VIDIOCSYNC",	0x7612},
+	{"linux/videodev.h",	"VIDIOCMCAPTURE",	0x7613},
+	{"linux/videodev.h",	"VIDIOCGMBUF",	0x7614},
+	{"linux/videodev.h",	"VIDIOCGUNIT",	0x7615},
+	{"linux/videodev.h",	"VIDIOCGCAPTURE",	0x7616},
+	{"linux/videodev.h",	"VIDIOCSCAPTURE",	0x7617},
+	{"linux/videodev.h",	"VIDIOCSPLAYMODE",	0x7618},
+	{"linux/videodev.h",	"VIDIOCSWRITEMODE",	0x7619},
+	{"linux/videodev.h",	"VIDIOCGPLAYINFO",	0x761a},
+	{"linux/videodev.h",	"VIDIOCSMICROCODE",	0x761b},
+	{"linux/videodev.h",	"VIDIOCGVBIFMT",	0x761c},
+	{"linux/videodev.h",	"VIDIOCSVBIFMT",	0x761d},
+	{"linux/meye.h",	"MEYEIOC_G_PARAMS",	0x76c0},
+	{"linux/meye.h",	"MEYEIOC_S_PARAMS",	0x76c1},
+	{"linux/meye.h",	"MEYEIOC_QBUF_CAPT",	0x76c2},
+	{"linux/meye.h",	"MEYEIOC_SYNC",	0x76c3},
+	{"linux/meye.h",	"MEYEIOC_STILLCAPT",	0x76c4},
+	{"linux/meye.h",	"MEYEIOC_STILLJCAPT",	0x76c5},
+	{"linux/dn.h",	"SIOCSNETADDR",	0x89e0},
+	{"linux/dn.h",	"OSIOCSNETADDR",	0x89e0},
+	{"linux/dn.h",	"SIOCGNETADDR",	0x89e1},
+	{"linux/dn.h",	"OSIOCGNETADDR",	0x89e1},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_READY",	0x9360},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_FAIL",	0x9361},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_CATATONIC",	0x9362},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_PROTOVER",	0x9363},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_SETTIMEOUT",	0x9364},
+	{"linux/auto_fs.h",	"AUTOFS_IOC_EXPIRE",	0x9365},
+	{"linux/auto_fs4.h",	"AUTOFS_IOC_EXPIRE_MULTI",	0x9366},
+	{"linux/nbd.h",	"NBD_SET_SOCK",	0xab00},
+	{"linux/nbd.h",	"NBD_SET_BLKSIZE",	0xab01},
+	{"linux/nbd.h",	"NBD_SET_SIZE",	0xab02},
+	{"linux/nbd.h",	"NBD_DO_IT",	0xab03},
+	{"linux/nbd.h",	"NBD_CLEAR_SOCK",	0xab04},
+	{"linux/nbd.h",	"NBD_CLEAR_QUE",	0xab05},
+	{"linux/nbd.h",	"NBD_PRINT_DEBUG",	0xab06},
+	{"linux/nbd.h",	"NBD_SET_SIZE_BLOCKS",	0xab07},
+	{"linux/nbd.h",	"NBD_DISCONNECT",	0xab08},
+	{"linux/raw.h",	"RAW_SETBIND",	0xac00},
+	{"linux/raw.h",	"RAW_GETBIND",	0xac01},
+	{"linux/if_pppox.h",	"PPPOEIOCSFWD",	0xb100},
+	{"linux/if_pppox.h",	"PPPOEIOCDFWD",	0xb101},
+	{"linux/reiserfs_fs.h",	"REISERFS_IOC_UNPACK",	0xcd01},
+	{"linux/lvm.h",	"VG_CREATE_OLD",	0xfe00},
+	{"linux/lvm.h",	"VG_REMOVE",	0xfe01},
+	{"linux/lvm.h",	"VG_EXTEND",	0xfe03},
+	{"linux/lvm.h",	"VG_REDUCE",	0xfe04},
+	{"linux/lvm.h",	"VG_STATUS",	0xfe05},
+	{"linux/lvm.h",	"VG_STATUS_GET_COUNT",	0xfe06},
+	{"linux/lvm.h",	"VG_STATUS_GET_NAMELIST",	0xfe07},
+	{"linux/lvm.h",	"VG_SET_EXTENDABLE",	0xfe08},
+	{"linux/lvm.h",	"VG_RENAME",	0xfe09},
+	{"linux/lvm.h",	"VG_CREATE",	0xfe0a},
+	{"linux/lvm.h",	"LV_CREATE",	0xfe20},
+	{"linux/lvm.h",	"LV_REMOVE",	0xfe21},
+	{"linux/lvm.h",	"LV_ACTIVATE",	0xfe22},
+	{"linux/lvm.h",	"LV_DEACTIVATE",	0xfe23},
+	{"linux/lvm.h",	"LV_EXTEND",	0xfe24},
+	{"linux/lvm.h",	"LV_REDUCE",	0xfe25},
+	{"linux/lvm.h",	"LV_STATUS_BYNAME",	0xfe26},
+	{"linux/lvm.h",	"LV_STATUS_BYINDEX",	0xfe27},
+	{"linux/lvm.h",	"LV_SET_ACCESS",	0xfe28},
+	{"linux/lvm.h",	"LV_SET_ALLOCATION",	0xfe29},
+	{"linux/lvm.h",	"LV_SET_STATUS",	0xfe2a},
+	{"linux/lvm.h",	"LE_REMAP",	0xfe2b},
+	{"linux/lvm.h",	"LV_SNAPSHOT_USE_RATE",	0xfe2c},
+	{"linux/lvm.h",	"LV_STATUS_BYDEV",	0xfe2e},
+	{"linux/lvm.h",	"LV_RENAME",	0xfe2f},
+	{"linux/lvm.h",	"LV_BMAP",	0xfe30},
+	{"linux/lvm.h",	"PV_STATUS",	0xfe40},
+	{"linux/lvm.h",	"PV_CHANGE",	0xfe41},
+	{"linux/lvm.h",	"PV_FLUSH",	0xfe42},
+	{"linux/lvm.h",	"PE_LOCK_UNLOCK",	0xfe50},
+	{"linux/lvm.h",	"LVM_GET_IOP_VERSION",	0xfe98},
+	{"linux/lvm.h",	"LVM_RESET",	0xfe99},
+	{"linux/lvm.h",	"LVM_LOCK_LVM",	0xff00},
diff --git a/strace-4.5.20/linux/sparc64/signalent.h b/strace-4.5.20/linux/sparc64/signalent.h
new file mode 100644
index 0000000..e059b5d
--- /dev/null
+++ b/strace-4.5.20/linux/sparc64/signalent.h
@@ -0,0 +1,32 @@
+	"SIG_0",	/* 0 */
+	"SIGHUP",	/* 1 */
+	"SIGINT",	/* 2 */
+	"SIGQUIT",	/* 3 */
+	"SIGILL",	/* 4 */
+	"SIGTRAP",	/* 5 */
+	"SIGABRT",	/* 6 */
+	"SIGEMT",	/* 7 */
+	"SIGFPE",	/* 8 */
+	"SIGKILL",	/* 9 */
+	"SIGBUS",	/* 10 */
+	"SIGSEGV",	/* 11 */
+	"SIGSYS",	/* 12 */
+	"SIGPIPE",	/* 13 */
+	"SIGALRM",	/* 14 */
+	"SIGTERM",	/* 15 */
+	"SIGURG",	/* 16 */
+	"SIGSTOP",	/* 17 */
+	"SIGTSTP",	/* 18 */
+	"SIGCONT",	/* 19 */
+	"SIGCHLD",	/* 20 */
+	"SIGTTIN",	/* 21 */
+	"SIGTTOU",	/* 22 */
+	"SIGIO",	/* 23 */
+	"SIGXCPU",	/* 24 */
+	"SIGXFSZ",	/* 25 */
+	"SIGVTALRM",	/* 26 */
+	"SIGPROF",	/* 27 */
+	"SIGWINCH",	/* 28 */
+	"SIGLOST",	/* 29 */
+	"SIGUSR1",	/* 30 */
+	"SIGUSR2",	/* 31 */
diff --git a/strace-4.5.20/linux/sparc64/signalent1.h b/strace-4.5.20/linux/sparc64/signalent1.h
new file mode 100644
index 0000000..6be7a26
--- /dev/null
+++ b/strace-4.5.20/linux/sparc64/signalent1.h
@@ -0,0 +1 @@
+#include "../svr4/signalent.h"
diff --git a/strace-4.5.20/linux/sparc64/signalent2.h b/strace-4.5.20/linux/sparc64/signalent2.h
new file mode 100644
index 0000000..e059b5d
--- /dev/null
+++ b/strace-4.5.20/linux/sparc64/signalent2.h
@@ -0,0 +1,32 @@
+	"SIG_0",	/* 0 */
+	"SIGHUP",	/* 1 */
+	"SIGINT",	/* 2 */
+	"SIGQUIT",	/* 3 */
+	"SIGILL",	/* 4 */
+	"SIGTRAP",	/* 5 */
+	"SIGABRT",	/* 6 */
+	"SIGEMT",	/* 7 */
+	"SIGFPE",	/* 8 */
+	"SIGKILL",	/* 9 */
+	"SIGBUS",	/* 10 */
+	"SIGSEGV",	/* 11 */
+	"SIGSYS",	/* 12 */
+	"SIGPIPE",	/* 13 */
+	"SIGALRM",	/* 14 */
+	"SIGTERM",	/* 15 */
+	"SIGURG",	/* 16 */
+	"SIGSTOP",	/* 17 */
+	"SIGTSTP",	/* 18 */
+	"SIGCONT",	/* 19 */
+	"SIGCHLD",	/* 20 */
+	"SIGTTIN",	/* 21 */
+	"SIGTTOU",	/* 22 */
+	"SIGIO",	/* 23 */
+	"SIGXCPU",	/* 24 */
+	"SIGXFSZ",	/* 25 */
+	"SIGVTALRM",	/* 26 */
+	"SIGPROF",	/* 27 */
+	"SIGWINCH",	/* 28 */
+	"SIGLOST",	/* 29 */
+	"SIGUSR1",	/* 30 */
+	"SIGUSR2",	/* 31 */
diff --git a/strace-4.5.20/linux/sparc64/syscall.h b/strace-4.5.20/linux/sparc64/syscall.h
new file mode 100644
index 0000000..b56e08d
--- /dev/null
+++ b/strace-4.5.20/linux/sparc64/syscall.h
@@ -0,0 +1 @@
+#include "../sparc/syscall.h"
diff --git a/strace-4.5.20/linux/sparc64/syscall1.h b/strace-4.5.20/linux/sparc64/syscall1.h
new file mode 100644
index 0000000..a4d7af3
--- /dev/null
+++ b/strace-4.5.20/linux/sparc64/syscall1.h
@@ -0,0 +1,500 @@
+/*
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#define	SOLARIS_syscall	0
+#define	SOLARIS_exit	1
+#define	SOLARIS_fork	2
+#define	SOLARIS_read	3
+#define	SOLARIS_write	4
+#define	SOLARIS_open	5
+#define	SOLARIS_close	6
+#define	SOLARIS_wait	7
+#define	SOLARIS_creat	8
+#define	SOLARIS_link	9
+#define	SOLARIS_unlink	10
+#define	SOLARIS_exec	11
+#define	SOLARIS_chdir	12
+#define	SOLARIS_time	13
+#define	SOLARIS_mknod	14
+#define	SOLARIS_chmod	15
+#define	SOLARIS_chown	16
+#define	SOLARIS_brk		17
+#define	SOLARIS_stat	18
+#define	SOLARIS_lseek	19
+#define	SOLARIS_getpid	20
+#define	SOLARIS_mount	21
+#define	SOLARIS_umount	22
+#define	SOLARIS_setuid	23
+#define	SOLARIS_getuid	24
+#define	SOLARIS_stime	25
+#define	SOLARIS_ptrace	26
+#define	SOLARIS_alarm	27
+#define	SOLARIS_fstat	28
+#define	SOLARIS_pause	29
+#define	SOLARIS_utime	30
+#define	SOLARIS_stty	31
+#define	SOLARIS_gtty	32
+#define	SOLARIS_access	33
+#define	SOLARIS_nice	34
+#define	SOLARIS_statfs	35
+#define	SOLARIS_sync	36
+#define	SOLARIS_kill	37
+#define	SOLARIS_fstatfs	38
+#define	SOLARIS_pgrpsys	39
+#define	SOLARIS_xenix	40
+#define	SOLARIS_dup		41
+#define	SOLARIS_pipe	42
+#define	SOLARIS_times	43
+#define	SOLARIS_profil	44
+#define	SOLARIS_plock	45
+#define	SOLARIS_setgid	46
+#define	SOLARIS_getgid	47
+#define	SOLARIS_signal	48
+#define	SOLARIS_msgsys	49
+#define	SOLARIS_syssun	50
+#define	SOLARIS_acct	51
+#define	SOLARIS_shmsys	52
+#define	SOLARIS_semsys	53
+#define	SOLARIS_ioctl	54
+#define	SOLARIS_uadmin	55
+#define	SOLARIS_utssys	57
+#define	SOLARIS_fdsync	58
+#define	SOLARIS_execve	59
+#define	SOLARIS_umask	60
+#define	SOLARIS_chroot	61
+#define	SOLARIS_fcntl	62
+#define	SOLARIS_ulimit	63
+#define	SOLARIS_rmdir	79
+#define	SOLARIS_mkdir	80
+#define	SOLARIS_getdents	81
+#define	SOLARIS_sysfs	84
+#define	SOLARIS_getmsg	85
+#define	SOLARIS_putmsg	86
+#define	SOLARIS_poll	87
+#define	SOLARIS_lstat	88
+#define	SOLARIS_symlink	89
+#define	SOLARIS_readlink	90
+#define	SOLARIS_setgroups	91
+#define	SOLARIS_getgroups	92
+#define	SOLARIS_fchmod	93
+#define	SOLARIS_fchown	94
+#define	SOLARIS_sigprocmask	95
+#define	SOLARIS_sigsuspend	96
+#define	SOLARIS_sigaltstack	97
+#define	SOLARIS_sigaction	98
+#define	SOLARIS_sigpending	99
+#define	SOLARIS_context	100
+#define	SOLARIS_evsys	101
+#define	SOLARIS_evtrapret	102
+#define	SOLARIS_statvfs	103
+#define	SOLARIS_fstatvfs	104
+#define	SOLARIS_nfssys	106
+#define	SOLARIS_waitsys	107
+#define	SOLARIS_sigsendsys	108
+#define	SOLARIS_hrtsys	109
+#define	SOLARIS_acancel	110
+#define	SOLARIS_async	111
+#define	SOLARIS_priocntlsys	112
+#define	SOLARIS_pathconf	113
+#define	SOLARIS_mincore	114
+#define	SOLARIS_mmap	115
+#define	SOLARIS_mprotect	116
+#define	SOLARIS_munmap	117
+#define	SOLARIS_fpathconf	118
+#define	SOLARIS_vfork	119
+#define	SOLARIS_fchdir	120
+#define	SOLARIS_readv	121
+#define	SOLARIS_writev	122
+#define	SOLARIS_xstat	123
+#define	SOLARIS_lxstat	124
+#define	SOLARIS_fxstat	125
+#define	SOLARIS_xmknod	126
+#define	SOLARIS_clocal	127
+#define	SOLARIS_setrlimit	128
+#define	SOLARIS_getrlimit	129
+#define	SOLARIS_lchown	130
+#define	SOLARIS_memcntl	131
+#define	SOLARIS_getpmsg	132
+#define	SOLARIS_putpmsg	133
+#define	SOLARIS_rename	134
+#define	SOLARIS_uname	135
+#define	SOLARIS_setegid	136
+#define	SOLARIS_sysconfig	137
+#define	SOLARIS_adjtime	138
+#define	SOLARIS_systeminfo	139
+#define	SOLARIS_seteuid	141
+#define	SOLARIS_vtrace	142
+#define	SOLARIS_fork1	143
+#define	SOLARIS_sigtimedwait	144
+#define	SOLARIS_lwp_info	145
+#define	SOLARIS_yield	146
+#define	SOLARIS_lwp_sema_wait	147
+#define	SOLARIS_lwp_sema_post	148
+#define	SOLARIS_modctl	152
+#define	SOLARIS_fchroot	153
+#define	SOLARIS_utimes	154
+#define	SOLARIS_vhangup	155
+#define	SOLARIS_gettimeofday	156
+#define	SOLARIS_getitimer		157
+#define	SOLARIS_setitimer		158
+#define	SOLARIS_lwp_create		159
+#define	SOLARIS_lwp_exit		160
+#define	SOLARIS_lwp_suspend		161
+#define	SOLARIS_lwp_continue	162
+#define	SOLARIS_lwp_kill		163
+#define	SOLARIS_lwp_self		164
+#define	SOLARIS_lwp_setprivate	165
+#define	SOLARIS_lwp_getprivate	166
+#define	SOLARIS_lwp_wait		167
+#define	SOLARIS_lwp_mutex_unlock	168
+#define	SOLARIS_lwp_mutex_lock	169
+#define	SOLARIS_lwp_cond_wait	170
+#define	SOLARIS_lwp_cond_signal	171
+#define	SOLARIS_lwp_cond_broadcast	172
+#define	SOLARIS_pread		173
+#define	SOLARIS_pwrite		174
+#define	SOLARIS_llseek		175
+#define	SOLARIS_inst_sync		176
+#define	SOLARIS_kaio		178
+#define	SOLARIS_tsolsys		184
+#define	SOLARIS_acl			185
+#define	SOLARIS_auditsys		186
+#define	SOLARIS_processor_bind	187
+#define	SOLARIS_processor_info	188
+#define	SOLARIS_p_online		189
+#define	SOLARIS_sigqueue		190
+#define	SOLARIS_clock_gettime	191
+#define	SOLARIS_clock_settime	192
+#define	SOLARIS_clock_getres	193
+#define	SOLARIS_timer_create	194
+#define	SOLARIS_timer_delete	195
+#define	SOLARIS_timer_settime	196
+#define	SOLARIS_timer_gettime	197
+#define	SOLARIS_timer_getoverrun	198
+#define	SOLARIS_nanosleep		199
+#define	SOLARIS_facl		200
+#define	SOLARIS_door		201
+#define	SOLARIS_setreuid		202
+#define	SOLARIS_setregid		203
+#define	SOLARIS_signotifywait	210
+#define	SOLARIS_lwp_sigredirect	211
+#define	SOLARIS_lwp_alarm		212
+
+#include "dummy2.h"
+
+extern int solaris_syscall();
+extern int solaris_exit();
+extern int solaris_fork();
+extern int solaris_read();
+extern int solaris_write();
+extern int solaris_open();
+extern int solaris_close();
+extern int solaris_wait();
+extern int solaris_creat();
+extern int solaris_link();
+extern int solaris_unlink();
+extern int solaris_exec();
+extern int solaris_chdir();
+extern int solaris_time();
+extern int solaris_mknod();
+extern int solaris_chmod();
+extern int solaris_chown();
+extern int solaris_brk();
+extern int solaris_stat();
+extern int solaris_lseek();
+extern int solaris_getpid();
+extern int solaris_mount();
+extern int solaris_umount();
+extern int solaris_setuid();
+extern int solaris_getuid();
+extern int solaris_stime();
+extern int solaris_ptrace();
+extern int solaris_alarm();
+extern int solaris_fstat();
+extern int solaris_pause();
+extern int solaris_utime();
+extern int solaris_stty();
+extern int solaris_gtty();
+extern int solaris_access();
+extern int solaris_nice();
+extern int solaris_statfs();
+extern int solaris_sync();
+extern int solaris_kill();
+extern int solaris_fstatfs();
+extern int solaris_pgrpsys();
+extern int solaris_setpgrp();
+extern int solaris_xenix();
+extern int solaris_syssgi();
+extern int solaris_dup();
+extern int solaris_pipe();
+extern int solaris_times();
+extern int solaris_profil();
+extern int solaris_plock();
+extern int solaris_setgid();
+extern int solaris_getgid();
+extern int solaris_sigcall();
+extern int solaris_msgsys();
+extern int solaris_syssun();
+extern int solaris_sysi86();
+extern int solaris_sysmips();
+extern int solaris_sysmachine();
+extern int solaris_acct();
+extern int solaris_shmsys();
+extern int solaris_semsys();
+extern int solaris_ioctl();
+extern int solaris_uadmin();
+extern int solaris_utssys();
+extern int solaris_fdsync();
+extern int solaris_execve();
+extern int solaris_umask();
+extern int solaris_chroot();
+extern int solaris_fcntl();
+extern int solaris_ulimit();
+extern int solaris_rmdir();
+extern int solaris_mkdir();
+extern int solaris_getdents();
+extern int solaris_sysfs();
+extern int solaris_getmsg();
+extern int solaris_putmsg();
+extern int solaris_poll();
+extern int solaris_lstat();
+extern int solaris_symlink();
+extern int solaris_readlink();
+extern int solaris_setgroups();
+extern int solaris_getgroups();
+extern int solaris_fchmod();
+extern int solaris_fchown();
+extern int solaris_sigprocmask();
+extern int solaris_sigsuspend();
+extern int solaris_sigaltstack();
+extern int solaris_sigaction();
+extern int solaris_spcall();
+extern int solaris_context();
+extern int solaris_evsys();
+extern int solaris_evtrapret();
+extern int solaris_statvfs();
+extern int solaris_fstatvfs();
+extern int solaris_nfssys();
+extern int solaris_waitid();
+extern int solaris_sigsendsys();
+extern int solaris_hrtsys();
+extern int solaris_acancel();
+extern int solaris_async();
+extern int solaris_priocntlsys();
+extern int solaris_pathconf();
+extern int solaris_mincore();
+extern int solaris_mmap();
+extern int solaris_mprotect();
+extern int solaris_munmap();
+extern int solaris_fpathconf();
+extern int solaris_vfork();
+extern int solaris_fchdir();
+extern int solaris_readv();
+extern int solaris_writev();
+extern int solaris_xstat();
+extern int solaris_lxstat();
+extern int solaris_fxstat();
+extern int solaris_xmknod();
+extern int solaris_clocal();
+extern int solaris_setrlimit();
+extern int solaris_getrlimit();
+extern int solaris_lchown();
+extern int solaris_memcntl();
+extern int solaris_getpmsg();
+extern int solaris_putpmsg();
+extern int solaris_rename();
+extern int solaris_uname();
+extern int solaris_setegid();
+extern int solaris_sysconfig();
+extern int solaris_adjtime();
+extern int solaris_sysinfo();
+extern int solaris_seteuid();
+extern int solaris_vtrace();
+extern int solaris_fork1();
+extern int solaris_sigtimedwait();
+extern int solaris_lwp_info();
+extern int solaris_yield();
+extern int solaris_lwp_sema_wait();
+extern int solaris_lwp_sema_post();
+extern int solaris_modctl();
+extern int solaris_fchroot();
+extern int solaris_utimes();
+extern int solaris_vhangup();
+extern int solaris_gettimeofday();
+extern int solaris_getitimer();
+extern int solaris_setitimer();
+extern int solaris_lwp_create();
+extern int solaris_lwp_exit();
+extern int solaris_lwp_suspend();
+extern int solaris_lwp_continue();
+extern int solaris_lwp_kill();
+extern int solaris_lwp_self();
+extern int solaris_lwp_setprivate();
+extern int solaris_lwp_getprivate();
+extern int solaris_lwp_wait();
+extern int solaris_lwp_mutex_unlock();
+extern int solaris_lwp_mutex_lock();
+extern int solaris_lwp_cond_wait();
+extern int solaris_lwp_cond_signal();
+extern int solaris_lwp_cond_broadcast();
+extern int solaris_pread();
+extern int solaris_pwrite();
+extern int solaris_llseek();
+extern int solaris_inst_sync();
+extern int solaris_auditsys();
+extern int solaris_processor_bind();
+extern int solaris_processor_info();
+extern int solaris_p_online();
+extern int solaris_sigqueue();
+extern int solaris_clock_gettime();
+extern int solaris_clock_settime();
+extern int solaris_clock_getres();
+extern int solaris_timer_create();
+extern int solaris_timer_delete();
+extern int solaris_timer_settime();
+extern int solaris_timer_gettime();
+extern int solaris_timer_getoverrun();
+extern int solaris_nanosleep();
+
+/* solaris_pgrpsys subcalls */
+
+extern int solaris_getpgrp(), solaris_setpgrp(), solaris_getsid();
+extern int solaris_setsid(), solaris_getpgid(), solaris_setpgid();
+
+#define SOLARIS_pgrpsys_subcall	300
+#define SOLARIS_getpgrp		(SOLARIS_pgrpsys_subcall + 0)
+#define SOLARIS_setpgrp		(SOLARIS_pgrpsys_subcall + 1)
+#define SOLARIS_getsid		(SOLARIS_pgrpsys_subcall + 2)
+#define SOLARIS_setsid		(SOLARIS_pgrpsys_subcall + 3)
+#define SOLARIS_getpgid		(SOLARIS_pgrpsys_subcall + 4)
+#define SOLARIS_setpgid		(SOLARIS_pgrpsys_subcall + 5)
+
+#define SOLARIS_pgrpsys_nsubcalls	6
+
+/* solaris_sigcall subcalls */
+
+#undef SOLARIS_signal
+#define SOLARIS_sigcall		48
+
+extern int solaris_signal(), solaris_sigset(), solaris_sighold();
+extern int solaris_sigrelse(), solaris_sigignore(), solaris_sigpause();
+
+#define SOLARIS_sigcall_subcall	310
+#define SOLARIS_signal		(SOLARIS_sigcall_subcall + 0)
+#define SOLARIS_sigset		(SOLARIS_sigcall_subcall + 1)
+#define SOLARIS_sighold		(SOLARIS_sigcall_subcall + 2)
+#define SOLARIS_sigrelse		(SOLARIS_sigcall_subcall + 3)
+#define SOLARIS_sigignore		(SOLARIS_sigcall_subcall + 4)
+#define SOLARIS_sigpause		(SOLARIS_sigcall_subcall + 5)
+
+#define SOLARIS_sigcall_nsubcalls	6
+
+/* msgsys subcalls */
+
+extern int solaris_msgget(), solaris_msgctl(), solaris_msgrcv(), solaris_msgsnd();
+
+#define SOLARIS_msgsys_subcall	320
+#define SOLARIS_msgget		(SOLARIS_msgsys_subcall + 0)
+#define SOLARIS_msgctl		(SOLARIS_msgsys_subcall + 1)
+#define SOLARIS_msgrcv		(SOLARIS_msgsys_subcall + 2)
+#define SOLARIS_msgsnd		(SOLARIS_msgsys_subcall + 3)
+
+#define SOLARIS_msgsys_nsubcalls	4
+
+/* shmsys subcalls */
+
+extern int solaris_shmat(), solaris_shmctl(), solaris_shmdt(), solaris_shmget();
+
+#define SOLARIS_shmsys_subcall	330
+#define SOLARIS_shmat		(SOLARIS_shmsys_subcall + 0)
+#define SOLARIS_shmctl		(SOLARIS_shmsys_subcall + 1)
+#define SOLARIS_shmdt		(SOLARIS_shmsys_subcall + 2)
+#define SOLARIS_shmget		(SOLARIS_shmsys_subcall + 3)
+
+#define SOLARIS_shmsys_nsubcalls	4
+
+/* semsys subcalls */
+
+extern int solaris_semctl(), solaris_semget(), solaris_semop();
+
+#define SOLARIS_semsys_subcall	340
+#define SOLARIS_semctl		(SOLARIS_semsys_subcall + 0)
+#define SOLARIS_semget		(SOLARIS_semsys_subcall + 1)
+#define SOLARIS_semop		(SOLARIS_semsys_subcall + 2)
+
+#define SOLARIS_semsys_nsubcalls	3
+
+/* utssys subcalls */
+
+extern int solaris_olduname(), solaris_ustat(), solaris_fusers();
+
+#define SOLARIS_utssys_subcall	350
+
+#define SOLARIS_olduname		(SOLARIS_utssys_subcall + 0)
+				/* 1 is unused */
+#define SOLARIS_ustat		(SOLARIS_utssys_subcall + 2)
+#define SOLARIS_fusers		(SOLARIS_utssys_subcall + 3)
+
+#define SOLARIS_utssys_nsubcalls	4
+
+/* sysfs subcalls */
+
+extern int solaris_sysfs1(), solaris_sysfs2(), solaris_sysfs3();
+
+#define SOLARIS_sysfs_subcall	360
+				/* 0 is unused */
+#define SOLARIS_sysfs1		(SOLARIS_sysfs_subcall + 1)
+#define SOLARIS_sysfs2		(SOLARIS_sysfs_subcall + 2)
+#define SOLARIS_sysfs3		(SOLARIS_sysfs_subcall + 3)
+
+#define SOLARIS_sysfs_nsubcalls	4
+
+/* solaris_spcall subcalls */
+
+#undef SOLARIS_sigpending
+#define SOLARIS_spcall		99
+
+extern int solaris_sigpending(), solaris_sigfillset();
+
+#define SOLARIS_spcall_subcall	370
+				/* 0 is unused */
+#define SOLARIS_sigpending		(SOLARIS_spcall_subcall + 1)
+#define SOLARIS_sigfillset		(SOLARIS_spcall_subcall + 2)
+
+#define SOLARIS_spcall_nsubcalls	3
+
+/* solaris_context subcalls */
+
+extern int solaris_getcontext(), solaris_setcontext();
+
+#define SOLARIS_context_subcall	380
+#define SOLARIS_getcontext		(SOLARIS_context_subcall + 0)
+#define SOLARIS_setcontext		(SOLARIS_context_subcall + 1)
+
+#define SOLARIS_context_nsubcalls	2
diff --git a/strace-4.5.20/linux/sparc64/syscallent.h b/strace-4.5.20/linux/sparc64/syscallent.h
new file mode 100644
index 0000000..776b5f1
--- /dev/null
+++ b/strace-4.5.20/linux/sparc64/syscallent.h
@@ -0,0 +1 @@
+#include "../sparc/syscallent.h"
diff --git a/strace-4.5.20/linux/sparc64/syscallent1.h b/strace-4.5.20/linux/sparc64/syscallent1.h
new file mode 100644
index 0000000..821d77c
--- /dev/null
+++ b/strace-4.5.20/linux/sparc64/syscallent1.h
@@ -0,0 +1 @@
+#include "../sparc/syscallent1.h"
diff --git a/strace-4.5.20/linux/sparc64/syscallent2.h b/strace-4.5.20/linux/sparc64/syscallent2.h
new file mode 100644
index 0000000..776b5f1
--- /dev/null
+++ b/strace-4.5.20/linux/sparc64/syscallent2.h
@@ -0,0 +1 @@
+#include "../sparc/syscallent.h"
diff --git a/strace-4.5.20/linux/syscall.h b/strace-4.5.20/linux/syscall.h
new file mode 100644
index 0000000..6bfed87
--- /dev/null
+++ b/strace-4.5.20/linux/syscall.h
@@ -0,0 +1,337 @@
+/*
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "dummy.h"
+
+/* primary syscalls */
+
+int sys_restart_syscall();
+int sys_setup(), sys_exit(), sys_fork(), sys_read(), sys_write();
+int sys_open(), sys_close(), sys_waitpid(), sys_creat(), sys_link();
+int sys_unlink(), sys_execve(), sys_chdir(), sys_time(), sys_mknod();
+int sys_chmod(), sys_chown(), sys_break(), sys_oldstat();
+int sys_lseek(), sys_getpid(), sys_mount(), sys_umount(), sys_umount2();
+int sys_setuid(), sys_getuid(), sys_stime(), sys_ptrace();
+int sys_alarm(), sys_oldfstat(), sys_pause(), sys_utime();
+int sys_stty(), sys_gtty(), sys_access(), sys_nice(), sys_ftime();
+int sys_sync(), sys_kill(), sys_rename(), sys_mkdir(), sys_rmdir();
+int sys_dup(), sys_pipe(), sys_times(), sys_prof(), sys_brk();
+int sys_setgid(), sys_getgid(), sys_signal(), sys_geteuid();
+int sys_getegid(), sys_acct(), sys_phys(), sys_lock(), sys_ioctl();
+int sys_fcntl(), sys_mpx(), sys_setpgid(), sys_ulimit();
+int sys_olduname(), sys_umask(), sys_chroot(), sys_ustat();
+int sys_dup2(), sys_getppid(), sys_getpgrp(), sys_setsid();
+int sys_sigaction(), sys_siggetmask(), sys_sigsetmask();
+int sys_setreuid(), sys_setregid(), sys_sigsuspend();
+int sys_sigpending(), sys_sethostname(), sys_setrlimit();
+int sys_getrlimit(), sys_getrusage(), sys_gettimeofday();
+int sys_settimeofday(), sys_getgroups(), sys_setgroups();
+int sys_setgroups32(), sys_getgroups32();
+int sys_oldselect(), sys_symlink(), sys_oldlstat(), sys_readlink();
+int sys_uselib(), sys_swapon(), sys_reboot(), sys_readdir();
+int sys_mmap(), sys_munmap(), sys_truncate(), sys_ftruncate();
+int sys_fchmod(), sys_fchown(), sys_getpriority();
+int sys_setpriority(), sys_profil(), sys_statfs(), sys_fstatfs();
+int sys_ioperm(), sys_socketcall(), sys_syslog(), sys_setitimer();
+int sys_getitimer(), sys_stat(), sys_lstat(), sys_fstat();
+int sys_uname(), sys_iopl(), sys_vhangup(), sys_idle(), sys_vm86();
+int sys_wait4(), sys_swapoff(), sys_ipc(), sys_sigreturn();
+int sys_fsync(), sys_clone(), sys_setdomainname(), sys_sysinfo();
+int sys_modify_ldt(), sys_adjtimex(), sys_mprotect();
+int sys_sigprocmask(), sys_create_module(), sys_init_module();
+int sys_delete_module(), sys_get_kernel_syms(), sys_quotactl();
+int sys_getpgid(), sys_fchdir(), sys_bdflush();
+int sys_sysfs(), sys_personality(), sys_afs_syscall();
+int sys_setfsuid(), sys_setfsgid(), sys_llseek();
+int sys_getdents(), sys_flock(), sys_msync();
+int sys_readv(), sys_writev(), sys_select();
+int sys_getsid(), sys_fdatasync(), sys_sysctl();
+int sys_mlock(), sys_munlock(), sys_mlockall(), sys_munlockall(), sys_madvise();
+int sys_sched_setparam(), sys_sched_getparam();
+int sys_sched_setscheduler(), sys_sched_getscheduler(), sys_sched_yield();
+int sys_sched_get_priority_max(), sys_sched_get_priority_min();
+int sys_sched_rr_get_interval(), sys_nanosleep(), sys_mremap();
+int sys_sendmsg(), sys_recvmsg(), sys_setresuid(), sys_setresgid();
+int sys_getresuid(), sys_getresgid(), sys_pread(), sys_pwrite(), sys_getcwd();
+int sys_sigaltstack(), sys_rt_sigprocmask(), sys_rt_sigaction();
+int sys_rt_sigpending(), sys_rt_sigsuspend(), sys_rt_sigqueueinfo();
+int sys_rt_sigtimedwait(), sys_prctl(), sys_poll(), sys_vfork();
+int sys_sendfile(), sys_old_mmap(), sys_stat64(), sys_lstat64(), sys_fstat64();
+int sys_truncate64(), sys_ftruncate64(), sys_pivotroot();
+int sys_getdents64();
+int sys_getpmsg(), sys_putpmsg(), sys_readahead(), sys_sendfile64();
+int sys_setxattr(), sys_fsetxattr(), sys_getxattr(), sys_fgetxattr();
+int sys_listxattr(), sys_flistxattr(), sys_removexattr(), sys_fremovexattr();
+int sys_sched_setaffinity(), sys_sched_getaffinity(), sys_futex();
+int sys_set_thread_area(), sys_get_thread_area(), sys_remap_file_pages();
+int sys_timer_create(), sys_timer_delete(), sys_timer_getoverrun();
+int sys_timer_gettime(), sys_timer_settime(), sys_clock_settime();
+int sys_clock_gettime(), sys_clock_getres(), sys_clock_nanosleep();
+int sys_semtimedop(), sys_statfs64(), sys_fstatfs64(), sys_tgkill();
+int sys_mq_open(), sys_mq_timedsend(), sys_mq_timedreceive();
+int sys_mq_notify(), sys_mq_getsetattr();
+int sys_epoll_create(), sys_epoll_ctl(), sys_epoll_wait();
+int sys_waitid(), sys_fadvise64(), sys_fadvise64_64();
+int sys_mbind(), sys_get_mempolicy(), sys_set_mempolicy(), sys_move_pages();
+int sys_arch_prctl();
+int sys_io_setup(), sys_io_submit(), sys_io_cancel(), sys_io_getevents(), sys_io_destroy();
+int sys_utimensat(), sys_epoll_pwait(), sys_signalfd(), sys_timerfd(), sys_eventfd();
+int sys_getcpu();
+int sys_fallocate(), sys_timerfd_create(), sys_timerfd_settime(), sys_timerfd_gettime();
+int sys_signalfd4(), sys_eventfd2(), sys_epoll_create1(), sys_dup3(), sys_pipe2();
+
+/* sys_socketcall subcalls */
+
+int sys_socket(), sys_bind(), sys_connect(), sys_listen(), sys_accept4();
+int sys_accept(), sys_getsockname(), sys_getpeername(), sys_socketpair();
+int sys_send(), sys_recv(), sys_sendto(), sys_recvfrom();
+int sys_shutdown(), sys_setsockopt(), sys_getsockopt();
+int sys_recvmmsg();
+
+/* *at syscalls */
+int sys_fchmodat();
+int sys_newfstatat();
+int sys_unlinkat();
+int sys_fchownat();
+int sys_openat();
+int sys_renameat();
+int sys_symlinkat();
+int sys_readlinkat();
+int sys_linkat();
+int sys_faccessat();
+int sys_mkdirat();
+int sys_mknodat();
+int sys_futimesat();
+
+/* new ones */
+int sys_query_module();
+int sys_poll();
+int sys_mincore();
+int sys_inotify_add_watch();
+int sys_inotify_rm_watch();
+int sys_inotify_init1();
+int sys_pselect6();
+int sys_ppoll();
+int sys_unshare();
+
+/* architecture-specific calls */
+#ifdef ALPHA
+int sys_osf_select();
+int sys_osf_gettimeofday();
+int sys_osf_settimeofday();
+int sys_osf_getitimer();
+int sys_osf_setitimer();
+int sys_osf_getrusage();
+int sys_osf_wait4();
+int sys_osf_utimes();
+#endif
+
+
+#ifndef SYS_waitid
+# ifdef I386
+#  define SYS_waitid 284
+# elif defined ALPHA
+#  define SYS_waitid 438
+# elif defined ARM
+#  define SYS_waitid (NR_SYSCALL_BASE + 280)
+# elif defined IA64
+#  define SYS_waitid 1270
+# elif defined M68K
+#  define SYS_waitid 277
+# elif defined POWERPC
+#  define SYS_waitid 272
+# elif defined S390 || defined S390X
+#  define SYS_waitid 281
+# elif defined SH64
+#  define SYS_waitid 312
+# elif defined SH64
+#  define SYS_waitid 312
+# elif defined SH
+#  define SYS_waitid 284
+# elif defined SPARC || defined SPARC64
+#  define SYS_waitid 279
+# elif defined X86_64
+#  define SYS_waitid 247
+# endif
+#endif
+
+#if !defined(ALPHA) && !defined(MIPS) && !defined(HPPA) && \
+	!defined(__ARM_EABI__)
+# ifdef	IA64
+/*
+ *  IA64 syscall numbers (the only ones available from standard header
+ *  files) are disjoint from IA32 syscall numbers.  We need to define
+ *  the IA32 socket call number here.
+ */
+#  define SYS_socketcall	102
+
+#  undef SYS_socket
+#  undef SYS_bind
+#  undef SYS_connect
+#  undef SYS_listen
+#  undef SYS_accept
+#  undef SYS_getsockname
+#  undef SYS_getpeername
+#  undef SYS_socketpair
+#  undef SYS_send
+#  undef SYS_recv
+#  undef SYS_sendto
+#  undef SYS_recvfrom
+#  undef SYS_shutdown
+#  undef SYS_setsockopt
+#  undef SYS_getsockopt
+#  undef SYS_sendmsg
+#  undef SYS_recvmsg
+# endif /* IA64 */
+#  define SYS_socket_subcall	400
+#define SYS_sub_socket		(SYS_socket_subcall + 1)
+#define SYS_sub_bind		(SYS_socket_subcall + 2)
+#define SYS_sub_connect		(SYS_socket_subcall + 3)
+#define SYS_sub_listen		(SYS_socket_subcall + 4)
+#define SYS_sub_accept		(SYS_socket_subcall + 5)
+#define SYS_sub_getsockname	(SYS_socket_subcall + 6)
+#define SYS_sub_getpeername	(SYS_socket_subcall + 7)
+#define SYS_sub_socketpair	(SYS_socket_subcall + 8)
+#define SYS_sub_send		(SYS_socket_subcall + 9)
+#define SYS_sub_recv		(SYS_socket_subcall + 10)
+#define SYS_sub_sendto		(SYS_socket_subcall + 11)
+#define SYS_sub_recvfrom	(SYS_socket_subcall + 12)
+#define SYS_sub_shutdown	(SYS_socket_subcall + 13)
+#define SYS_sub_setsockopt	(SYS_socket_subcall + 14)
+#define SYS_sub_getsockopt	(SYS_socket_subcall + 15)
+#define SYS_sub_sendmsg		(SYS_socket_subcall + 16)
+#define SYS_sub_recvmsg		(SYS_socket_subcall + 17)
+#define SYS_sub_accept4		(SYS_socket_subcall + 18)
+#define SYS_sub_recvmmsg	(SYS_socket_subcall + 19)
+
+#define SYS_socket_nsubcalls	20
+#endif /* !(ALPHA || MIPS || HPPA) */
+
+/* sys_ipc subcalls */
+
+int sys_semget(), sys_semctl(), sys_semop();
+int sys_msgsnd(), sys_msgrcv(), sys_msgget(), sys_msgctl();
+int sys_shmat(), sys_shmdt(), sys_shmget(), sys_shmctl();
+
+#if !defined(ALPHA) && !defined(MIPS) && !defined(SPARC) && !defined(HPPA) && \
+	!defined(__ARM_EABI__)
+# ifdef	IA64
+   /*
+    * IA64 syscall numbers (the only ones available from standard
+    * header files) are disjoint from IA32 syscall numbers.  We need
+    * to define the IA32 socket call number here.  Fortunately, this
+    * symbol, `SYS_ipc', is not used by any of the IA64 code so
+    * re-defining this symbol will not cause a problem.
+   */
+#  undef SYS_ipc
+#  define SYS_ipc		117
+#  undef SYS_semop
+#  undef SYS_semget
+#  undef SYS_semctl
+#  undef SYS_semtimedop
+#  undef SYS_msgsnd
+#  undef SYS_msgrcv
+#  undef SYS_msgget
+#  undef SYS_msgctl
+#  undef SYS_shmat
+#  undef SYS_shmdt
+#  undef SYS_shmget
+#  undef SYS_shmctl
+# endif /* IA64 */
+#define SYS_ipc_subcall		((SYS_socket_subcall)+(SYS_socket_nsubcalls))
+#define SYS_sub_semop		(SYS_ipc_subcall + 1)
+#define SYS_sub_semget		(SYS_ipc_subcall + 2)
+#define SYS_sub_semctl		(SYS_ipc_subcall + 3)
+#define SYS_sub_semtimedop	(SYS_ipc_subcall + 4)
+#define SYS_sub_msgsnd		(SYS_ipc_subcall + 11)
+#define SYS_sub_msgrcv		(SYS_ipc_subcall + 12)
+#define SYS_sub_msgget		(SYS_ipc_subcall + 13)
+#define SYS_sub_msgctl		(SYS_ipc_subcall + 14)
+#define SYS_sub_shmat		(SYS_ipc_subcall + 21)
+#define SYS_sub_shmdt		(SYS_ipc_subcall + 22)
+#define SYS_sub_shmget		(SYS_ipc_subcall + 23)
+#define SYS_sub_shmctl		(SYS_ipc_subcall + 24)
+
+#define SYS_ipc_nsubcalls	25
+#endif /* !(ALPHA || MIPS || SPARC || HPPA) */
+
+#if defined SYS_ipc_subcall && !defined SYS_ipc
+# define SYS_ipc SYS_ipc_subcall
+#endif
+#if defined SYS_socket_subcall && !defined SYS_socketcall
+# define SYS_socketcall SYS_socket_subcall
+#endif
+
+#ifdef IA64
+  /*
+   * IA64 syscall numbers (the only ones available from standard header
+   * files) are disjoint from IA32 syscall numbers.  We need to define
+   * some IA32 specific syscalls here.
+   */
+# define SYS_fork	2
+# define SYS_vfork	190
+# define SYS32_exit	1
+# define SYS_waitpid	7
+# define SYS32_wait4	114
+# define SYS32_execve	11
+#endif /* IA64 */
+
+#if defined(ALPHA) || defined(IA64)
+int sys_getpagesize();
+#endif
+
+#ifdef ALPHA
+int osf_statfs(), osf_fstatfs();
+#endif
+
+#ifdef IA64
+int sys_getpmsg(), sys_putpmsg();	/* STREAMS stuff */
+#endif
+
+#ifdef MIPS
+int sys_sysmips();
+#endif
+
+int sys_setpgrp(), sys_gethostname(), sys_getdtablesize(), sys_utimes();
+int sys_capget(), sys_capset();
+
+#ifdef M68K
+int sys_cacheflush();
+#endif
+
+int sys_pread64(), sys_pwrite64();
+
+#ifdef POWERPC
+int sys_subpage_prot();
+#endif
+
+#ifdef BFIN
+int sys_sram_alloc();
+#endif
diff --git a/strace-4.5.20/linux/tile/syscallent.h b/strace-4.5.20/linux/tile/syscallent.h
new file mode 100644
index 0000000..3c5ca69
--- /dev/null
+++ b/strace-4.5.20/linux/tile/syscallent.h
@@ -0,0 +1,302 @@
+	{ 0,	0,	sys_restart_syscall,	"restart_syscall" }, /* 0 */
+	{ 1,	TP,	sys_exit,		"exit" }, /* 1 */
+	{ 0,	TP,	sys_fork,		"fork" }, /* 2 */
+	{ 3,	TD,	sys_read,		"read" }, /* 3 */
+	{ 3,	TD,	sys_write,		"write" }, /* 4 */
+	{ 3,	TD|TF,	sys_open,		"open" }, /* 5 */
+	{ 1,	TD,	sys_close,		"close" }, /* 6 */
+	{ 3,	TP,	sys_waitpid,		"waitpid" }, /* 7 */
+	{ 2,	TD|TF,	sys_creat,		"creat" }, /* 8 */
+	{ 2,	TF,	sys_link,		"link" }, /* 9 */
+	{ 1,	TF,	sys_unlink,		"unlink" }, /* 10 */
+	{ 3,	TF|TP,	sys_execve,		"execve" }, /* 11 */
+	{ 1,	TF,	sys_chdir,		"chdir" }, /* 12 */
+	{ 1,	0,	sys_time,		"time" }, /* 13 */
+	{ 3,	TF,	sys_mknod,		"mknod" }, /* 14 */
+	{ 2,	TF,	sys_chmod,		"chmod" }, /* 15 */
+	{ 3,	TF,	sys_chown,		"lchown" }, /* 16 */
+	{ 2,	TF,	sys_stat,		"stat" }, /* 17 */
+	{ 3,	TD,	sys_lseek,		"lseek" }, /* 18 */
+	{ 0,	0,	sys_getpid,		"getpid" }, /* 19 */
+	{ 5,	TF,	sys_mount,		"mount" }, /* 20 */
+	{ 2,	TF,	sys_umount2,		"umount" }, /* 21 */
+	{ 1,	0,	sys_setuid,		"setuid" }, /* 22 */
+	{ 0,	0,	sys_getuid,		"getuid" }, /* 23 */
+	{ 1,	0,	sys_stime,		"stime" }, /* 24 */
+	{ 4,	0,	sys_ptrace,		"ptrace" }, /* 25 */
+	{ 1,	0,	sys_alarm,		"alarm" }, /* 26 */
+	{ 2,	TD,	sys_fstat,		"fstat" }, /* 27 */
+	{ 0,	TS,	sys_pause,		"pause" }, /* 28 */
+	{ 2,	TF,	sys_utime,		"utime" }, /* 29 */
+	{ 2,	TF,	sys_access,		"access" }, /* 30 */
+	{ 1,	0,	sys_nice,		"nice" }, /* 31 */
+	{ 0,	0,	sys_sync,		"sync" }, /* 32 */
+	{ 2,	TS,	sys_kill,		"kill" }, /* 33 */
+	{ 2,	TF,	sys_rename,		"rename" }, /* 34 */
+	{ 2,	TF,	sys_mkdir,		"mkdir" }, /* 35 */
+	{ 1,	TF,	sys_rmdir,		"rmdir" }, /* 36 */
+	{ 1,	TD,	sys_dup,		"dup" }, /* 37 */
+	{ 1,	TD,	sys_pipe,		"pipe" }, /* 38 */
+	{ 1,	0,	sys_times,		"times" }, /* 39 */
+	{ 1,	0,	sys_brk,		"brk" }, /* 40 */
+	{ 1,	0,	sys_setgid,		"setgid" }, /* 41 */
+	{ 0,	0,	sys_getgid,		"getgid" }, /* 42 */
+	{ 3,	TS,	sys_signal,		"signal" }, /* 43 */
+	{ 0,	0,	sys_geteuid,		"geteuid" }, /* 44 */
+	{ 0,	0,	sys_getegid,		"getegid" }, /* 45 */
+	{ 1,	TF,	sys_acct,		"acct" }, /* 46 */
+	{ 3,	TD,	sys_ioctl,		"ioctl" }, /* 47 */
+	{ 3,	TD,	sys_fcntl,		"fcntl" }, /* 48 */
+	{ 2,	0,	sys_setpgid,		"setpgid" }, /* 49 */
+	{ 1,	0,	sys_umask,		"umask" }, /* 50 */
+	{ 1,	TF,	sys_chroot,		"chroot" }, /* 51 */
+	{ 2,	0,	sys_ustat,		"ustat" }, /* 52 */
+	{ 2,	TD,	sys_dup2,		"dup2" }, /* 53 */
+	{ 0,	0,	sys_getppid,		"getppid" }, /* 54 */
+	{ 0,	0,	sys_getpgrp,		"getpgrp" }, /* 55 */
+	{ 0,	0,	sys_setsid,		"setsid" }, /* 56 */
+	{ 0,	TS, 	printargs,		"sgetmask" }, /* 57 */
+	{ 1,	TS,	printargs,		"ssetmask" }, /* 58 */
+	{ 2,	0,	sys_setreuid,		"setreuid" }, /* 59 */
+	{ 2,	0,	sys_setregid,		"setregid" }, /* 60 */
+	{ 1,	TS,	sys_sigpending,		"sigpending" }, /* 61 */
+	{ 2,	0,	sys_sethostname,	"sethostname" }, /* 62 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit" }, /* 63 */
+	{ 2,	0,	sys_getrlimit,		"ugetrlimit"	}, /* 64 */
+	{ 2,	0,	sys_getrusage,		"getrusage" }, /* 65 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday" }, /* 66 */
+	{ 2,	0,	sys_settimeofday,	"settimeofday" }, /* 67 */
+	{ 2,	0,	sys_getgroups,		"getgroups" }, /* 68 */
+	{ 2,	0,	sys_setgroups,		"setgroups" }, /* 69 */
+	{ 5,	TD,	sys_select,		"select"	}, /* 70 */
+	{ 2,	TF,	sys_symlink,		"symlink" }, /* 71 */
+	{ 2,	TF,	sys_lstat,		"lstat" }, /* 72 */
+	{ 3,	TF,	sys_readlink,		"readlink" }, /* 73 */
+	{ 1,	TF,	sys_uselib,		"uselib" }, /* 74 */
+	{ 1,	TF,	sys_swapon,		"swapon" }, /* 75 */
+	{ 3,	0,	sys_reboot,		"reboot" }, /* 76 */
+	{ 6,	0,	sys_mmap,		"mmap2" }, /* 77 */
+	{ 2,	0,	sys_munmap,		"munmap" }, /* 78 */
+	{ 2,	TF,	sys_truncate,		"truncate" }, /* 79 */
+	{ 2,	TD,	sys_ftruncate,		"ftruncate" }, /* 80 */
+	{ 2,	TD,	sys_fchmod,		"fchmod" }, /* 81 */
+	{ 3,	TD,	sys_fchown,		"fchown" }, /* 82 */
+	{ 2,	0,	sys_getpriority,	"getpriority" }, /* 83 */
+	{ 3,	0,	sys_setpriority,	"setpriority" }, /* 84 */
+	{ 2,	TF,	sys_statfs,		"statfs" }, /* 85 */
+	{ 2,	TD,	sys_fstatfs,		"fstatfs" }, /* 86 */
+	{ 3,	TN,	sys_socket,		"socket" }, /* 87 */
+	{ 3,	TN,	sys_bind,		"bind" }, /* 88 */
+	{ 3,	TN,	sys_connect,		"connect" }, /* 89 */
+	{ 2,	TN,	sys_listen,		"listen" }, /* 90 */
+	{ 3,	TN,	sys_accept,		"accept" }, /* 91 */
+	{ 3,	TN,	sys_getsockname,	"getsockname" }, /* 92 */
+	{ 3,	TN,	sys_getpeername,	"getpeername" }, /* 93 */
+	{ 4,	TN,	sys_socketpair,		"socketpair" }, /* 94 */
+	{ 4,	TN,	sys_send,		"send" }, /* 95 */
+	{ 6,	TN,	sys_sendto,		"sendto" }, /* 96 */
+	{ 4,	TN,	sys_recv,		"recv" }, /* 97 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom" }, /* 98 */
+	{ 2,	TN,	sys_shutdown,		"shutdown" }, /* 99 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt" }, /* 100 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt" }, /* 101 */
+	{ 5,	TN,	sys_sendmsg,		"sendmsg" }, /* 102 */
+	{ 5,	TN,	sys_recvmsg,		"recvmsg" }, /* 103 */
+	{ 3,	0,	sys_syslog,		"syslog" }, /* 104 */
+	{ 3,	0,	sys_setitimer,		"setitimer" }, /* 105 */
+	{ 2,	0,	sys_getitimer,		"getitimer" }, /* 106 */
+	{ 0,	0,	sys_vhangup,		"vhangup" }, /* 107 */
+	{ 4,	TP,	sys_wait4,		"wait4" }, /* 108 */
+	{ 1,	0,	sys_swapoff,		"swapoff" }, /* 109 */
+	{ 1,	0,	sys_sysinfo,		"sysinfo" }, /* 110 */
+	{ 4,	TI,	sys_shmget,		"shmget" }, /* 111 */
+	{ 4,	TI,	sys_shmat,		"shmat" }, /* 112 */
+	{ 4,	TI,	sys_shmctl,		"shmctl" }, /* 113 */
+	{ 4,	TI,	sys_shmdt,		"shmdt" }, /* 114 */
+	{ 4,	TI,	sys_semget,		"semget" }, /* 115 */
+	{ 4,	TI,	sys_semop,		"semop" }, /* 116 */
+	{ 4,	TI,	sys_semctl,		"semctl" }, /* 117 */
+	{ 5,	TI,	sys_semtimedop,		"semtimedop" }, /* 118 */
+	{ 4,	TI,	sys_msgget,		"msgget" }, /* 119 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd" }, /* 120 */
+	{ 4,	TI,	sys_msgrcv,		"msgrcv" }, /* 121 */
+	{ 4,	TI,	sys_msgctl,		"msgctl" }, /* 122 */
+	{ 1,	TD,	sys_fsync,		"fsync" }, /* 123 */
+	{ 1,	TS,	printargs,		"sigreturn" }, /* 124 */
+	{ 5,	TP,	sys_clone,		"clone" }, /* 125 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname" }, /* 126 */
+	{ 1,	0,	sys_uname,		"uname" }, /* 127 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex" }, /* 128 */
+	{ 3,	0,	sys_mprotect,		"mprotect" }, /* 129 */
+	{ 3,	TS,	sys_sigprocmask,	"sigprocmask" }, /* 130 */
+	{ 3,	0,	sys_init_module,	"init_module" }, /* 131 */
+	{ 1,	0,	sys_delete_module,	"delete_module" }, /* 132 */
+	{ 4,	0,	sys_quotactl,		"quotactl" }, /* 133 */
+	{ 1,	0,	sys_getpgid,		"getpgid" }, /* 134 */
+	{ 1,	TD,	sys_fchdir,		"fchdir" }, /* 135 */
+	{ 0,	0,	sys_bdflush,		"bdflush" }, /* 136 */
+	{ 3,	0,	sys_sysfs,		"sysfs" }, /* 137 */
+	{ 1,	0,	sys_personality,	"personality" }, /* 138 */
+	{ 5,	0,	sys_afs_syscall,	"afs_syscall" }, /* 139 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid" }, /* 140 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid" }, /* 141 */
+	{ 5,	TD,	sys_llseek,		"_llseek" }, /* 142 */
+	{ 3,	TD,	sys_getdents,		"getdents" }, /* 143 */
+	{ 2,	TD,	sys_flock,		"flock" }, /* 144 */
+	{ 3,	0,	sys_msync,		"msync" }, /* 145 */
+	{ 3,	TD,	sys_readv,		"readv" }, /* 146 */
+	{ 3,	TD,	sys_writev,		"writev" }, /* 147 */
+	{ 1,	0,	sys_getsid,		"getsid" }, /* 148 */
+	{ 1,	TD,	sys_fdatasync,		"fdatasync" }, /* 149 */
+	{ 1,	0,	sys_sysctl,		"_sysctl" }, /* 150 */
+	{ 2,	0,	sys_mlock,		"mlock" }, /* 151 */
+	{ 2,	0,	sys_munlock,		"munlock" }, /* 152 */
+	{ 2,	0,	sys_mlockall,		"mlockall" }, /* 153 */
+	{ 0,	0,	sys_munlockall,		"munlockall" }, /* 154 */
+	{ 0,	0,	sys_sched_setparam,	"sched_setparam" }, /* 155 */
+	{ 2,	0,	sys_sched_getparam,	"sched_getparam" }, /* 156 */
+	{ 3,	0,	sys_sched_setscheduler,	"sched_setscheduler" }, /* 157 */
+	{ 1,	0,	sys_sched_getscheduler,	"sched_getscheduler" }, /* 158 */
+	{ 0,	0,	sys_sched_yield,	"sched_yield" }, /* 159 */
+	{ 1,	0,	sys_sched_get_priority_max,"sched_get_priority_max" }, /* 160 */
+	{ 1,	0,	sys_sched_get_priority_min,"sched_get_priority_min" }, /* 161 */
+	{ 2,	0,	sys_sched_rr_get_interval,"sched_rr_get_interval" }, /* 162 */
+	{ 2,	0,	sys_nanosleep,		"nanosleep" }, /* 163 */
+	{ 4,	0,	sys_mremap,		"mremap" }, /* 164 */
+	{ 3,	0,	sys_setresuid,		"setresuid" }, /* 165 */
+	{ 3,	0,	sys_getresuid,		"getresuid" }, /* 166 */
+	{ 3,	TD,	sys_poll,		"poll" }, /* 167 */
+	{ 3,	0,	printargs,		"nfsservctl" }, /* 168 */
+	{ 3,	0,	sys_setresgid,		"setresgid" }, /* 169 */
+	{ 3,	0,	sys_getresgid,		"getresgid" }, /* 170 */
+	{ 5,	0,	printargs,		"prctl" }, /* 171 */
+	{ 1,	TS,	printargs,		"rt_sigreturn" }, /* 172 */
+	{ 4,	TS,	sys_rt_sigaction,	"rt_sigaction" }, /* 173 */
+	{ 4,	TS,	sys_rt_sigprocmask,	"rt_sigprocmask" }, /* 174 */
+	{ 2,	TS,	sys_rt_sigpending,	"rt_sigpending" }, /* 175 */
+	{ 4,	TS,	sys_rt_sigtimedwait,	"rt_sigtimedwait" }, /* 176 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,    "rt_sigqueueinfo" }, /* 177 */
+	{ 2,	TS,	sys_rt_sigsuspend,	"rt_sigsuspend" }, /* 178 */
+	{ 5,	TD,	sys_pread,		"pread64" }, /* 179 */
+	{ 5,	TD,	sys_pwrite,		"pwrite64" }, /* 180 */
+	{ 3,	TF,	sys_chown,		"chown" }, /* 181 */
+	{ 2,	TF,	sys_getcwd,		"getcwd" }, /* 182 */
+	{ 2,	0,	sys_capget,		"capget" }, /* 183 */
+	{ 2,	0,	sys_capset,		"capset" }, /* 184 */
+	{ 2,	TS,	sys_sigaltstack,	"sigaltstack" }, /* 185 */
+	{ 4,	TD,	sys_sendfile,		"sendfile" }, /* 186 */
+	{ 5,	0,	sys_getpmsg,		"getpmsg" }, /* 187 */
+	{ 5,	0,	sys_putpmsg,		"putpmsg" }, /* 188 */
+	{ 0,	TP,	sys_vfork,		"vfork" }, /* 189 */
+	{ 3,	TF,	sys_truncate64,		"truncate64" }, /* 190 */
+	{ 3,	TD,	sys_ftruncate64,	"ftruncate64" }, /* 191 */
+	{ 2,	TF,	sys_stat64,		"stat64" }, /* 192 */
+	{ 2,	TF,	sys_lstat64,		"lstat64" }, /* 193 */
+	{ 2,	TD,	sys_fstat64,		"fstat64" }, /* 194 */
+	{ 2,	TF,	sys_pivotroot,		"pivot_root" }, /* 195 */
+	{ 3,	0,	sys_mincore,		"mincore" }, /* 196 */
+	{ 3,	0,	sys_madvise,		"madvise" }, /* 197 */
+	{ 4,	TD,	sys_getdents64,		"getdents64" }, /* 198 */
+	{ 3,	TD,	sys_fcntl,		"fcntl64" }, /* 199 */
+	{ 0,	0,	printargs,		"gettid" }, /* 200 */
+	{ 4,	TD,	sys_readahead,		"readahead" }, /* 201 */
+	{ 5,	TF,	sys_setxattr,		"setxattr" }, /* 202 */
+	{ 5,	TF,	sys_setxattr,		"lsetxattr" }, /* 203 */
+	{ 5,	TD,	sys_fsetxattr,		"fsetxattr" }, /* 204 */
+	{ 4,	TF,	sys_getxattr,		"getxattr" }, /* 205 */
+	{ 4,	TF,	sys_getxattr,		"lgetxattr" }, /* 206 */
+	{ 4,	0,	sys_fgetxattr,		"fgetxattr" }, /* 207 */
+	{ 3,	TF,	sys_listxattr,		"listxattr" }, /* 208 */
+	{ 3,	TF,	sys_listxattr,		"llistxattr" }, /* 209 */
+	{ 3,	0,	sys_flistxattr,		"flistxattr" }, /* 210 */
+	{ 2,	TF,	sys_removexattr,	"removexattr" }, /* 211 */
+	{ 2,	TF,	sys_removexattr,	"lremovexattr" }, /* 212 */
+	{ 2,	TD,	sys_fremovexattr,	"fremovexattr" }, /* 213 */
+	{ 2,	TS,	sys_kill,		"tkill" }, /* 214 */
+	{ 4,	TD,	sys_sendfile64,		"sendfile64" }, /* 215 */
+	{ 5,	0,	sys_futex,		"futex" }, /* 216 */
+	{ 3,	0,	sys_sched_setaffinity,	"sched_setaffinity" }, /* 217 */
+	{ 3,	0,	sys_sched_getaffinity,	"sched_getaffinity" }, /* 218 */
+	{ 2,	0,	sys_io_setup,		"io_setup" }, /* 219 */
+	{ 1,	0,	sys_io_destroy,		"io_destroy" }, /* 220 */
+	{ 5,	0,	sys_io_getevents,	"io_getevents" }, /* 221 */
+	{ 3,	0,	sys_io_submit,		"io_submit" }, /* 222 */
+	{ 3,	0,	sys_io_cancel,		"io_cancel" }, /* 223 */
+	{ 5,	0,	sys_fadvise64,		"fadvise64" }, /* 224 */
+	{ 4,	0,	printargs,		"migrate_pages" }, /* 225 */
+	{ 1,	TP,	sys_exit,		"exit_group" }, /* 226 */
+	{ 4,	0,	printargs,		"lookup_dcookie" }, /* 227 */
+	{ 1,	0,	sys_epoll_create,	"epoll_create" }, /* 228 */
+	{ 4,	TD,	sys_epoll_ctl,		"epoll_ctl" }, /* 229 */
+	{ 4,	TD,	sys_epoll_wait,		"epoll_wait" }, /* 230 */
+	{ 5,	0,	sys_remap_file_pages,	"remap_file_pages" }, /* 231 */
+	{ 1,	0,	printargs,		"set_tid_address" }, /* 232 */
+	{ 3,	0,	sys_timer_create,	"timer_create" }, /* 233 */
+	{ 4,	0,	sys_timer_settime,	"timer_settime"	}, /* 234 */
+	{ 2,	0,	sys_timer_gettime,	"timer_gettime"	}, /* 235 */
+	{ 1,	0,	sys_timer_getoverrun,	"timer_getoverrun"}, /* 236 */
+	{ 1,	0,	sys_timer_delete,	"timer_delete"	}, /* 237 */
+	{ 2,	0,	sys_clock_settime,	"clock_settime"	}, /* 239 */
+	{ 2,	0,	sys_clock_gettime,	"clock_gettime"	}, /* 239 */
+	{ 2,	0,	sys_clock_getres,	"clock_getres"	}, /* 240 */
+	{ 4,	0,	sys_clock_nanosleep,	"clock_nanosleep"}, /* 241 */
+	{ 3,	TF,	sys_statfs64,		"statfs64" }, /* 242 */
+	{ 3,	TD,	sys_fstatfs64,		"fstatfs64" }, /* 243 */
+	{ 3,	TS,	sys_tgkill,		"tgkill" }, /* 244 */
+	{ 2,	TF,	sys_utimes,		"utimes" }, /* 245 */
+	{ 6,	0,	sys_fadvise64_64,	"fadvise64_64" }, /* 246 */
+	{ 6,	0,	sys_mbind,		"mbind" }, /* 247 */
+	{ 5,	0,	sys_get_mempolicy,	"get_mempolicy" }, /* 248 */
+	{ 3,	0,	sys_set_mempolicy,	"set_mempolicy" }, /* 249 */
+	{ 4,	0,	sys_mq_open,		"mq_open" }, /* 250 */
+	{ 1,	0,	sys_mq_unlink,		"mq_unlink"	}, /* 251 */
+	{ 5,	0,	sys_mq_timedsend,	"mq_timedsend"	}, /* 252 */
+	{ 5,	0,	sys_mq_timedreceive,	"mq_timedreceive" }, /* 253 */
+	{ 2,	0,	sys_mq_notify,		"mq_notify"	}, /* 254 */
+	{ 3,	0,	sys_mq_getsetattr,	"mq_getsetattr"	}, /* 255 */
+	{ 4,	0,	printargs,		"kexec_load" }, /* 256 */
+	{ 5,	TP,	sys_waitid,		"waitid" }, /* 257 */
+	{ 5,	0,	printargs,		"add_key" }, /* 258 */
+	{ 4,	0,	printargs,		"request_key" }, /* 259 */
+	{ 5,	0,	printargs,		"keyctl" }, /* 260 */
+	{ 3,	0,	printargs,		"ioprio_set" }, /* 261 */
+	{ 2,	0,	printargs,		"ioprio_get" }, /* 262 */
+	{ 0,	TD,	printargs,		"inotify_init" }, /* 263 */
+	{ 3,	TD,	sys_inotify_add_watch,	"inotify_add_watch" }, /* 264 */
+	{ 2,	TD,	sys_inotify_rm_watch,	"inotify_rm_watch" }, /* 265 */
+	{ 1,	0,	printargs,		"raise_fpe" }, /* 266 */
+	{ 4,	TD|TF,	sys_openat,		"openat" }, /* 267 */
+	{ 3,	TD|TF,	sys_mkdirat,		"mkdirat" }, /* 268 */
+	{ 4,	TD|TF,	sys_mknodat,		"mknodat" }, /* 269 */
+	{ 5,	TD|TF,	sys_fchownat,		"fchownat" }, /* 270 */
+	{ 3,	TD|TF,	sys_futimesat,		"futimesat" }, /* 271 */
+	{ 4,	TD|TD,	sys_newfstatat,		"fstatat64" }, /* 272 */
+	{ 3,	TD|TF,	sys_unlinkat,		"unlinkat" }, /* 273 */
+	{ 4,	TD|TF,	sys_renameat,		"renameat" }, /* 274 */
+	{ 5,	TD|TF,	sys_linkat,		"linkat" }, /* 275 */
+	{ 3,	TD|TF,	sys_symlinkat,		"symlinkat" }, /* 276 */
+	{ 4,	TD|TF,	sys_readlinkat,		"readlinkat" }, /* 277 */
+	{ 3,	TD|TF,	sys_fchmodat,		"fchmodat" }, /* 278 */
+	{ 3,	TD|TF,	sys_faccessat,		"faccessat" }, /* 279 */
+	{ 6,	TD,	sys_pselect6,		"pselect6" }, /* 280 */
+	{ 5,	TD,	sys_ppoll,		"ppoll" }, /* 281 */
+	{ 1,	TP,	sys_unshare,		"unshare" }, /* 282 */
+	{ 2,	0,	printargs,		"set_robust_list" }, /* 283 */
+	{ 3,	0,	printargs,		"get_robust_list" }, /* 284 */
+	{ 6,	TD,	printargs,		"splice" }, /* 285 */
+	{ 4,	TD,	printargs,		"sync_file_range" }, /* 286 */
+	{ 4,	TD,	printargs,		"tee" }, /* 287 */
+	{ 4,	TD,	printargs,		"vmsplice" }, /* 288 */
+	{ 6,	TP, 	sys_move_pages,		"move_pages" }, /* 289 */
+	{ 1,	TP,	printargs,		"unused" }, /* 290 */
+	{ 1,	0,	printargs,		"cmpxchg_badaddr" }, /* 291 */
+	{ 3,	0,	sys_getcpu,		"getcpu" }, /* 292 */
+	{ 5,	TD,	sys_epoll_pwait,	"epoll_pwait"	}, /* 293 */
+	{ 4,	TD|TF,	sys_utimensat,		"utimensat" }, /* 294 */
+	{ 3,	TD|TS,	sys_signalfd,		"signalfd" }, /* 295 */
+	{ 2,	TD,	sys_timerfd_create,	"timerfd_create" }, /* 296 */
+	{ 1,	TD,	sys_eventfd,		"eventfd" }, /* 297 */
+	{ 6,	TF,	sys_fallocate,		"fallocate" }, /* 298 */
+	{ 4,	TD,	sys_timerfd_settime,	"timerfd_settime" }, /* 299 */
+	{ 2,	TD,	sys_timerfd_gettime,	"timerfd_gettime" }, /* 300 */
+	{ 1,	0,	printargs,		"flush_cache" } /* 301 */
diff --git a/strace-4.5.20/linux/x86_64/errnoent1.h b/strace-4.5.20/linux/x86_64/errnoent1.h
new file mode 100644
index 0000000..a894827
--- /dev/null
+++ b/strace-4.5.20/linux/x86_64/errnoent1.h
@@ -0,0 +1,2 @@
+/* Our second set comes from the i386 files.  */
+#include "../errnoent.h"
diff --git a/strace-4.5.20/linux/x86_64/gentab.pl b/strace-4.5.20/linux/x86_64/gentab.pl
new file mode 100644
index 0000000..2858e07
--- /dev/null
+++ b/strace-4.5.20/linux/x86_64/gentab.pl
@@ -0,0 +1,75 @@
+#!/usr/bin/perl -w
+#generate syscall table from a template file (usually the master i386 syscall
+#ent.h) and the x86_64 unistd.h
+%conv =  (
+	"exit" => "_exit",
+);
+
+%known = (
+	"mmap" => "sys_mmap",
+	"sched_yield" => "printargs",
+);
+
+# only used when the template file has no entry
+%args = (
+	"arch_prctl" => 2,
+	"tkill" => 2,
+	"gettid" => 0,
+	"readahead" => 3,
+	# should decode all these:
+	"setxattr" => 5,
+	"lsetxattr" => 5,
+	"fsetxattr" => 5,
+	"getxattr" => 4,
+	"lgetxattr" => 4,
+	"fgetxattr" => 4,
+	"listxattr" => 3,
+	"llistxattr" => 3,
+	"flistxattr" => 3,
+	"removexattr" => 2,
+	"lremovexattr" => 2,
+	"fremovexattr" => 2,
+	"mmap" => 6,
+	"sched_yield" => 0,
+);
+
+open(F,$ARGV[0]) || die "cannot open template file $ARGV[0]\n";
+
+while (<F>) {
+	next unless /{/;
+	s/\/\*.*\*\///;
+	($name) = /"([^"]+)"/;
+	chomp;
+	$call{$name} = $_;
+}
+
+open(SL, ">syscallnum.h") || die "cannot create syscallnum.h\n";
+
+
+
+open(S,$ARGV[1]) || die "cannot open syscall file $ARGV[1]\n";
+while (<S>) {
+	$name = "";
+	next unless  (($name, $num) = /define\s+__NR_(\S+)\s+(\d+)/);
+	next if $name eq "";
+
+	$name = $conv{$name} if defined($conv{$name});
+
+	if (!defined($call{$name})) {
+		unless (defined($args{$name})) {
+			print STDERR "unknown call $name $num\n";
+			$na = 3;
+		} else {
+			$na = $args{$name};
+		}
+		if (defined($known{$name})) {
+			$func = $known{$name};
+		} else {
+			$func = "printargs";
+		}
+		print "\t{ $na,\t0,\t$func,\t\"$name\" }, /* $num */\n";
+	} else {
+		print "$call{$name} /* $num */\n";
+	}
+	print SL "#define SYS_$name $num\n"
+}
diff --git a/strace-4.5.20/linux/x86_64/ioctlent1.h b/strace-4.5.20/linux/x86_64/ioctlent1.h
new file mode 100644
index 0000000..a44b0ae
--- /dev/null
+++ b/strace-4.5.20/linux/x86_64/ioctlent1.h
@@ -0,0 +1,2 @@
+/* Our second set comes from the i386 files.  */
+#include "../ioctlent.h"
diff --git a/strace-4.5.20/linux/x86_64/signalent1.h b/strace-4.5.20/linux/x86_64/signalent1.h
new file mode 100644
index 0000000..5c18d98
--- /dev/null
+++ b/strace-4.5.20/linux/x86_64/signalent1.h
@@ -0,0 +1,2 @@
+/* Our second set comes from the i386 files.  */
+#include "../signalent.h"
diff --git a/strace-4.5.20/linux/x86_64/syscallent.h b/strace-4.5.20/linux/x86_64/syscallent.h
new file mode 100644
index 0000000..b18207a
--- /dev/null
+++ b/strace-4.5.20/linux/x86_64/syscallent.h
@@ -0,0 +1,300 @@
+	{ 3,	TD,	sys_read,		"read"		},  /* 0 */
+	{ 3,	TD,	sys_write,		"write"		},  /* 1 */
+	{ 3,	TD|TF,	sys_open,		"open"		},  /* 2 */
+	{ 1,	TD,	sys_close,		"close"		},  /* 3 */
+	{ 2,	TF,	sys_stat,		"stat"		},  /* 4 */
+	{ 2,	TD,	sys_fstat,		"fstat"		},  /* 5 */
+	{ 2,	TF,	sys_lstat,		"lstat"		},  /* 6 */
+	{ 3,	TD,	sys_poll,		"poll"		},  /* 7 */
+	{ 3,	TD,	sys_lseek,		"lseek"		},  /* 8 */
+	{ 6,	0,	sys_mmap,	"mmap" }, /* 9 */
+	{ 3,	0,	sys_mprotect,		"mprotect"	},  /* 10 */
+	{ 2,	0,	sys_munmap,		"munmap"	},  /* 11 */
+	{ 1,	0,	sys_brk,		"brk"		},  /* 12 */
+	{ 4,	TS,	sys_rt_sigaction,	"rt_sigaction"  },  /* 13 */
+	{ 4,	TS,	sys_rt_sigprocmask,	"rt_sigprocmask"},  /* 14 */
+	{ 1,	TS,	printargs,		"rt_sigreturn"	},  /* 15 */
+	{ 3,	TD,	sys_ioctl,		"ioctl"		},  /* 16 */
+	{ 5,	TD,	sys_pread,		"pread"		},  /* 17 */
+	{ 5,	TD,	sys_pwrite,		"pwrite"	},  /* 18 */
+	{ 3,	TD,	sys_readv,		"readv"		},  /* 19 */
+	{ 3,	TD,	sys_writev,		"writev"	},  /* 20 */
+	{ 2,	TF,	sys_access,		"access"	},  /* 21 */
+	{ 1,	TD,	sys_pipe,		"pipe"		},  /* 22 */
+	{ 5,	TD,	sys_select,		"select"	},  /* 23 */
+	{ 0,	0,	sys_sched_yield,	"sched_yield"},  /* 24 */
+	{ 5,	0,	sys_mremap,		"mremap"	},  /* 25 */
+	{ 3,	0,	sys_msync,		"msync"		},  /* 26 */
+	{ 3,	0,	sys_mincore,		"mincore"	},  /* 27 */
+	{ 3,	0,	sys_madvise,		"madvise"	},  /* 28 */
+	{ 4,	TI,	sys_shmget,		"shmget"	},  /* 29 */
+	{ 4,	TI,	sys_shmat,		"shmat"		},  /* 30 */
+	{ 4,	TI,	sys_shmctl,		"shmctl"	},  /* 31 */
+	{ 1,	TD,	sys_dup,		"dup"		},  /* 32 */
+	{ 2,	TD,	sys_dup2,		"dup2"		},  /* 33 */
+	{ 0,	TS,	sys_pause,		"pause"		},  /* 34 */
+	{ 2,	0,	sys_nanosleep,		"nanosleep"	},  /* 35 */
+	{ 2,	0,	sys_getitimer,		"getitimer"	},  /* 36 */
+	{ 1,	0,	sys_alarm,		"alarm"		},  /* 37 */
+	{ 3,	0,	sys_setitimer,		"setitimer"	},  /* 38 */
+	{ 0,	0,	sys_getpid,		"getpid"	},  /* 39 */
+	{ 4,	TD|TN,	sys_sendfile,		"sendfile"	},  /* 40 */
+	{ 3,	TN,	sys_socket,		"socket"	},  /* 41 */
+	{ 3,	TN,	sys_connect,		"connect"	},  /* 42 */
+	{ 3,	TN,	sys_accept,		"accept"	},  /* 43 */
+	{ 6,	TN,	sys_sendto,		"sendto"	},  /* 44 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom"	},  /* 45 */
+	{ 5,	TN,	sys_sendmsg,		"sendmsg"	},  /* 46 */
+	{ 5,	TN,	sys_recvmsg,		"recvmsg"	},  /* 47 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	},  /* 48 */
+	{ 3,	TN,	sys_bind,		"bind"		},  /* 49 */
+	{ 2,	TN,	sys_listen,		"listen"	},  /* 50 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	},  /* 51 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	},  /* 52 */
+	{ 4,	TN,	sys_socketpair,		"socketpair"	},  /* 53 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	},  /* 54 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	},  /* 55 */
+	{ 5,	TP,	sys_clone,		"clone"		},  /* 56 */
+	{ 0,	TP,	sys_fork,		"fork"		},  /* 57 */
+	{ 0,	TP,	sys_vfork,		"vfork"		},  /* 58 */
+	{ 3,	TF|TP,	sys_execve,		"execve"	},  /* 59 */
+	{ 1,	TP,	sys_exit,		"_exit"		},  /* 60 */
+	{ 4,	TP,	sys_wait4,		"wait4"		},  /* 61 */
+	{ 2,	TS,	sys_kill,		"kill"		},  /* 62 */
+	{ 1,	0,	sys_uname,		"uname"		},  /* 63 */
+	{ 4,	TI,	sys_semget,		"semget"	},  /* 64 */
+	{ 4,	TI,	sys_semop,		"semop"		},  /* 65 */
+	{ 4,	TI,	sys_semctl,		"semctl"	},  /* 66 */
+	{ 4,	TI,	sys_shmdt,		"shmdt"		},  /* 67 */
+	{ 4,	TI,	sys_msgget,		"msgget"	},  /* 68 */
+	{ 4,	TI,	sys_msgsnd,		"msgsnd"	},  /* 69 */
+	{ 5,	TI,	sys_msgrcv,		"msgrcv"	},  /* 70 */
+	{ 3,	TI,	sys_msgctl,		"msgctl"	},  /* 71 */
+	{ 3,	TD,	sys_fcntl,		"fcntl"		},  /* 72 */
+	{ 2,	TD,	sys_flock,		"flock"		},  /* 73 */
+	{ 1,	TD,	sys_fsync,		"fsync"		},  /* 74 */
+	{ 1,	TD,	sys_fdatasync,		"fdatasync"	},  /* 75 */
+	{ 2,	TF,	sys_truncate,		"truncate"	},  /* 76 */
+	{ 2,	TD,	sys_ftruncate,		"ftruncate"	},  /* 77 */
+	{ 3,	TD,	sys_getdents,		"getdents"	},  /* 78 */
+	{ 2,	TF,	sys_getcwd,		"getcwd"	},  /* 79 */
+	{ 1,	TF,	sys_chdir,		"chdir"		},  /* 80 */
+	{ 1,	TD,	sys_fchdir,		"fchdir"	},  /* 81 */
+	{ 2,	TF,	sys_rename,		"rename"	},  /* 82 */
+	{ 2,	TF,	sys_mkdir,		"mkdir"		},  /* 83 */
+	{ 1,	TF,	sys_rmdir,		"rmdir"		},  /* 84 */
+	{ 2,	TD|TF,	sys_creat,		"creat"		},  /* 85 */
+	{ 2,	TF,	sys_link,		"link"		},  /* 86 */
+	{ 1,	TF,	sys_unlink,		"unlink"	},  /* 87 */
+	{ 2,	TF,	sys_symlink,		"symlink"	},  /* 88 */
+	{ 3,	TF,	sys_readlink,		"readlink"	},  /* 89 */
+	{ 2,	TF,	sys_chmod,		"chmod"		},  /* 90 */
+	{ 2,	TD,	sys_fchmod,		"fchmod"	},  /* 91 */
+	{ 3,	TF,	sys_chown,		"chown"		},  /* 92 */
+	{ 3,	TD,	sys_fchown,		"fchown"	},  /* 93 */
+	{ 3,	TF,	sys_chown,		"lchown"	},  /* 94 */
+	{ 1,	0,	sys_umask,		"umask"		},  /* 95 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday"	},  /* 96 */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"	},  /* 97 */
+	{ 2,	0,	sys_getrusage,		"getrusage"	},  /* 98 */
+	{ 1,	0,	sys_sysinfo,		"sysinfo"	},  /* 99 */
+	{ 1,	0,	sys_times,		"times"		},  /* 100 */
+	{ 4,	0,	sys_ptrace,		"ptrace"	},  /* 101 */
+	{ 0,	0,	sys_getuid,		"getuid"	},  /* 102 */
+	{ 3,	0,	sys_syslog,		"syslog"	},  /* 103 */
+	{ 0,	0,	sys_getgid,		"getgid"	},  /* 104 */
+	{ 1,	0,	sys_setuid,		"setuid"	},  /* 105 */
+	{ 1,	0,	sys_setgid,		"setgid"	},  /* 106 */
+	{ 0,	0,	sys_geteuid,		"geteuid"	},  /* 107 */
+	{ 0,	0,	sys_getegid,		"getegid"	},  /* 108 */
+	{ 2,	0,	sys_setpgid,		"setpgid"	},  /* 109 */
+	{ 0,	0,	sys_getppid,		"getppid"	},  /* 110 */
+	{ 0,	0,	sys_getpgrp,		"getpgrp"	},  /* 111 */
+	{ 0,	0,	sys_setsid,		"setsid"	},  /* 112 */
+	{ 2,	0,	sys_setreuid,		"setreuid"	},  /* 113 */
+	{ 2,	0,	sys_setregid,		"setregid"	},  /* 114 */
+	{ 2,	0,	sys_getgroups,		"getgroups"	},  /* 115 */
+	{ 2,	0,	sys_setgroups,		"setgroups"	},  /* 116 */
+	{ 3,	0,	sys_setresuid,		"setresuid"	},  /* 117 */
+	{ 3,	0,	sys_getresuid,		"getresuid"	},  /* 118 */
+	{ 3,	0,	sys_setresgid,		"setresgid"	},  /* 119 */
+	{ 3,	0,	sys_getresgid,		"getresgid"	},  /* 120 */
+	{ 1,	0,	sys_getpgid,		"getpgid"	},  /* 121 */
+	{ 1,	0,	sys_setfsuid,		"setfsuid"	},  /* 122 */
+	{ 1,	0,	sys_setfsgid,		"setfsgid"	},  /* 123 */
+	{ 1,	0,	sys_getsid,		"getsid"	},  /* 124 */
+	{ 2,	0,	sys_capget,		"capget"	},  /* 125 */
+	{ 2,	0,	sys_capset,		"capset"	},  /* 126 */
+	{ 2,	TS,	sys_rt_sigpending,	"rt_sigpending"	},  /* 127 */
+	{ 4,	TS,	sys_rt_sigtimedwait,	"rt_sigtimedwait"	},  /* 128 */
+	{ 3,	TS,	sys_rt_sigqueueinfo,    "rt_sigqueueinfo"	},  /* 129 */
+	{ 2,	TS,	sys_rt_sigsuspend,	"rt_sigsuspend"	},  /* 130 */
+	{ 2,	TS,	sys_sigaltstack,	"sigaltstack"	},  /* 131 */
+	{ 2,	TF,	sys_utime,		"utime"		},  /* 132 */
+	{ 3,	TF,	sys_mknod,		"mknod"		},  /* 133 */
+	{ 1,	TF,	sys_uselib,		"uselib"	},  /* 134 */
+	{ 1,	0,	sys_personality,	"personality"	},  /* 135 */
+	{ 2,	0,	sys_ustat,		"ustat"		},  /* 136 */
+	{ 2,	TF,	sys_statfs,		"statfs"	},  /* 137 */
+	{ 2,	TD,	sys_fstatfs,		"fstatfs"	},  /* 138 */
+	{ 3,	0,	sys_sysfs,		"sysfs"		},  /* 139 */
+	{ 2,	0,	sys_getpriority,	"getpriority"	},  /* 140 */
+	{ 3,	0,	sys_setpriority,	"setpriority"	},  /* 141 */
+	{ 0,	0,	sys_sched_setparam,	"sched_setparam"	},  /* 142 */
+	{ 2,	0,	sys_sched_getparam,	"sched_getparam"	},  /* 143 */
+	{ 3,	0,	sys_sched_setscheduler,	"sched_setscheduler"	},  /* 144 */
+	{ 1,	0,	sys_sched_getscheduler,	"sched_getscheduler"	},  /* 145 */
+	{ 1,	0,	sys_sched_get_priority_max,	"sched_get_priority_max"	},  /* 146 */
+	{ 1,	0,	sys_sched_get_priority_min,	"sched_get_priority_min"	},  /* 147 */
+	{ 2,	0,	sys_sched_rr_get_interval,	"sched_rr_get_interval"	},  /* 148 */
+	{ 2,	0,	sys_mlock,		"mlock"		},  /* 149 */
+	{ 2,	0,	sys_munlock,		"munlock"	},  /* 150 */
+	{ 2,	0,	sys_mlockall,		"mlockall"	},  /* 151 */
+	{ 0,	0,	sys_munlockall,		"munlockall"	},  /* 152 */
+	{ 0,	0,	sys_vhangup,		"vhangup"	},  /* 153 */
+	{ 3,	0,	sys_modify_ldt,		"modify_ldt"	},  /* 154 */
+	{ 2,	TF,	sys_pivotroot,		"pivot_root"	},  /* 155 */
+	{ 1,	0,	sys_sysctl,		"_sysctl"	},  /* 156 */
+	{ 5,	0,	sys_prctl,		"prctl"		},  /* 157 */
+	{ 2,	TP,	sys_arch_prctl,		"arch_prctl"	},  /* 158 */
+	{ 1,	0,	sys_adjtimex,		"adjtimex"	},  /* 159 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit"	},  /* 160 */
+	{ 1,	TF,	sys_chroot,		"chroot"	},  /* 161 */
+	{ 0,	0,	sys_sync,		"sync"		},  /* 162 */
+	{ 1,	TF,	sys_acct,		"acct"		},  /* 163 */
+	{ 2,	0,	sys_settimeofday,	"settimeofday"	},  /* 164 */
+	{ 5,	TF,	sys_mount,		"mount"		},  /* 165 */
+	{ 2,	TF,	sys_umount2,		"umount"	}, /* 166 */
+	{ 1,	TF,	sys_swapon,		"swapon"	},  /* 167 */
+	{ 1,	0,	sys_swapoff,		"swapoff"	},  /* 168 */
+	{ 3,	0,	sys_reboot,		"reboot"	},  /* 169 */
+	{ 2,	0,	sys_sethostname,	"sethostname"	},  /* 170 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname"	},  /* 171 */
+	{ 1,	0,	sys_iopl,		"iopl"		},  /* 172 */
+	{ 3,	0,	sys_ioperm,		"ioperm"	},  /* 173 */
+	{ 2,	0,	sys_create_module,	"create_module"	},  /* 174 */
+	{ 3,	0,	sys_init_module,	"init_module"	},  /* 175 */
+	{ 2,	0,	sys_delete_module,	"delete_module"	},  /* 176 */
+	{ 1,	0,	sys_get_kernel_syms,	"get_kernel_syms"},  /* 177 */
+	{ 5,	0,	sys_query_module,	"query_module"	},  /* 178 */
+	{ 4,	0,	sys_quotactl,		"quotactl"	},  /* 179 */
+	{ 3,	0,	printargs,		"nfsservctl"	},  /* 180 */
+	{ 5,	0,	sys_getpmsg,		"getpmsg"	}, /* 181 */
+	{ 5,	0,	sys_putpmsg,		"putpmsg"	}, /* 182 */
+	{ 5,	0,	sys_afs_syscall,	"afs_syscall"	},  /* 183 */
+	{ 3,	0,	printargs,		"tuxcall"	}, /* 184 */
+	{ 3,	0,	printargs,		"security"	}, /* 185 */
+	{ 0,	0,	printargs,		"gettid"	}, /* 186 */
+	{ 4,	TD,	sys_readahead,		"readahead"	}, /* 187 */
+	{ 5,	TF,	sys_setxattr,		"setxattr"	}, /* 188 */
+	{ 5,	TF,	sys_setxattr,		"lsetxattr"	}, /* 189 */
+	{ 5,	TD,	sys_fsetxattr,		"fsetxattr"	}, /* 190 */
+	{ 4,	TF,	sys_getxattr,		"getxattr"	}, /* 191 */
+	{ 4,	TF,	sys_getxattr,		"lgetxattr"	}, /* 192 */
+	{ 4,	0,	sys_fgetxattr,		"fgetxattr"	}, /* 193 */
+	{ 3,	TF,	sys_listxattr,		"listxattr"	}, /* 194 */
+	{ 3,	TF,	sys_listxattr,		"llistxattr"	}, /* 195 */
+	{ 3,	0,	sys_flistxattr,		"flistxattr"	}, /* 196 */
+	{ 2,	TF,	sys_removexattr,	"removexattr"	}, /* 197 */
+	{ 2,	TF,	sys_removexattr,	"lremovexattr"	}, /* 198 */
+	{ 2,	TD,	sys_fremovexattr,	"fremovexattr"	}, /* 199 */
+	{ 2,	0,	sys_kill,		"tkill"		}, /* 200 */
+	{ 1,	0,	sys_time,		"time"		},  /* 201 */
+	{ 6,	0,	sys_futex,		"futex"		}, /* 202 */
+	{ 3,	0,	sys_sched_setaffinity,	"sched_setaffinity" },/* 203 */
+	{ 3,	0,	sys_sched_getaffinity,	"sched_getaffinity" },/* 204 */
+	{ 1,	0,	sys_set_thread_area,	"set_thread_area" }, /* 205 */
+	{ 2,	0,	sys_io_setup,		"io_setup"	}, /* 206 */
+	{ 1,	0,	sys_io_destroy,		"io_destroy"	}, /* 207 */
+	{ 5,	0,	sys_io_getevents,		"io_getevents"	}, /* 208 */
+	{ 3,	0,	sys_io_submit,		"io_submit"	}, /* 209 */
+	{ 3,	0,	sys_io_cancel,		"io_cancel"	}, /* 210 */
+	{ 1,	0,	sys_get_thread_area,	"get_thread_area" }, /* 211 */
+	{ 4,	0,	printargs,		"lookup_dcookie"}, /* 212 */
+	{ 1,	0,	sys_epoll_create,	"epoll_create"	}, /* 213 */
+	{ 4,	0,	printargs,		"epoll_ctl_old"	}, /* 214 */
+	{ 4,	0,	printargs,		"epoll_wait_old"}, /* 215 */
+	{ 5,	0,	sys_remap_file_pages,	"remap_file_pages"}, /* 216 */
+	{ 3,	TD,	sys_getdents64,		"getdents64"	}, /* 217 */
+	{ 1,	0,	printargs,		"set_tid_address"}, /* 218 */
+	{ 0,	0,	sys_restart_syscall,	"restart_syscall"}, /* 219 */
+	{ 5,	TI,	sys_semtimedop,		"semtimedop"	}, /* 220 */
+	{ 4,	0,	sys_fadvise64_64,	"fadvise64"	}, /* 221 */
+	{ 3,	0,	sys_timer_create,	"timer_create"	}, /* 222 */
+	{ 4,	0,	sys_timer_settime,	"timer_settime"	}, /* 223 */
+	{ 2,	0,	sys_timer_gettime,	"timer_gettime"	}, /* 224 */
+	{ 1,	0,	sys_timer_getoverrun,	"timer_getoverrun"}, /* 225 */
+	{ 1,	0,	sys_timer_delete,	"timer_delete"	}, /* 226 */
+	{ 2,	0,	sys_clock_settime,	"clock_settime"	}, /* 227 */
+	{ 2,	0,	sys_clock_gettime,	"clock_gettime"	}, /* 228 */
+	{ 2,	0,	sys_clock_getres,	"clock_getres"	}, /* 229 */
+	{ 4,	0,	sys_clock_nanosleep,	"clock_nanosleep"}, /* 230 */
+	{ 1,	TP,	sys_exit,		"exit_group"	}, /* 231 */
+	{ 5,	TD,	sys_epoll_wait,		"epoll_wait"	}, /* 232 */
+	{ 5,	TD,	sys_epoll_ctl,		"epoll_ctl"	}, /* 233 */
+	{ 3,	TS,	sys_tgkill,		"tgkill"	}, /* 234 */
+	{ 2,	TF,	sys_utimes,		"utimes"	}, /* 235 */
+	{ 5,	0,	printargs,		"vserver"	}, /* 236 */
+	{ 6,	0,	sys_mbind,		"mbind"		}, /* 237 */
+	{ 3,	0,	sys_set_mempolicy,	"set_mempolicy"	}, /* 238 */
+	{ 5,	0,	sys_get_mempolicy,	"get_mempolicy"	}, /* 239 */
+	{ 4,	0,	sys_mq_open,		"mq_open"	}, /* 240 */
+	{ 1,	0,	sys_mq_unlink,		"mq_unlink"	}, /* 241 */
+	{ 5,	0,	sys_mq_timedsend,	"mq_timedsend"	}, /* 242 */
+	{ 5,	0,	sys_mq_timedreceive,	"mq_timedreceive" }, /* 243 */
+	{ 2,	0,	sys_mq_notify,		"mq_notify"	}, /* 244 */
+	{ 3,	0,	sys_mq_getsetattr,	"mq_getsetattr"	}, /* 245 */
+	{ 5,	0,	printargs,		"kexec_load"	}, /* 246 */
+	{ 5,	TP,	sys_waitid,		"waitid"	}, /* 247 */
+	{ 5,	0,	printargs,		"add_key"	}, /* 248 */
+	{ 4,	0,	printargs,		"request_key"	}, /* 249 */
+	{ 5,	0,	printargs,		"keyctl"	}, /* 250 */
+	{ 3,	0,	printargs,		"ioprio_set"	}, /* 251 */
+	{ 2,	0,	printargs,		"ioprio_get"	}, /* 252 */
+	{ 0,	TD,	printargs,		"inotify_init"	}, /* 253 */
+	{ 3,	TD,	sys_inotify_add_watch,	"inotify_add_watch" }, /* 254 */
+	{ 2,	TD,	sys_inotify_rm_watch,	"inotify_rm_watch" }, /* 255 */
+	{ 4,	0,	printargs,		"migrate_pages"	}, /* 256 */
+	{ 4,	TD|TF,	sys_openat,		"openat"	}, /* 257 */
+	{ 3,	TD|TF,	sys_mkdirat,		"mkdirat"	}, /* 258 */
+	{ 4,	TD|TF,	sys_mknodat,		"mknodat"	}, /* 259 */
+	{ 5,	TD|TF,	sys_fchownat,		"fchownat"	}, /* 260 */
+	{ 3,	TD|TF,	sys_futimesat,		"futimesat"	}, /* 261 */
+	{ 4,	TD|TD,	sys_newfstatat,		"newfstatat"	}, /* 262 */
+	{ 3,	TD|TF,	sys_unlinkat,		"unlinkat"	}, /* 263 */
+	{ 4,	TD|TF,	sys_renameat,		"renameat"	}, /* 264 */
+	{ 5,	TD|TF,	sys_linkat,		"linkat"	}, /* 265 */
+	{ 3,	TD|TF,	sys_symlinkat,		"symlinkat"	}, /* 266 */
+	{ 4,	TD|TF,	sys_readlinkat,		"readlinkat"	}, /* 267 */
+	{ 3,	TD|TF,	sys_fchmodat,		"fchmodat"	}, /* 268 */
+	{ 3,	TD|TF,	sys_faccessat,		"faccessat"	}, /* 269 */
+	{ 6,	TD,	sys_pselect6,		"pselect6"	}, /* 270 */
+	{ 5,	TD,	sys_ppoll,		"ppoll"		}, /* 271 */
+	{ 1,	TP,	sys_unshare,		"unshare"	}, /* 272 */
+	{ 2,	0,	printargs,		"set_robust_list" }, /* 273 */
+	{ 3,	0,	printargs,		"get_robust_list" }, /* 274 */
+	{ 6,	TD,	printargs,		"splice"	}, /* 275 */
+	{ 4,	TD,	printargs,		"tee"		}, /* 276 */
+	{ 4,	TD,	printargs,		"sync_file_range" }, /* 277 */
+	{ 4,	TD,	printargs,		"vmsplice"	}, /* 278 */
+	{ 6,	0,	sys_move_pages,		"move_pages"	}, /* 279 */
+	{ 4,	TD|TF,	sys_utimensat,		"utimensat"	}, /* 280 */
+	{ 5,	TD,	sys_epoll_pwait,	"epoll_pwait"	}, /* 281 */
+	{ 3,	TD|TS,	sys_signalfd,		"signalfd"	}, /* 282 */
+	{ 2,	TD,	sys_timerfd_create,	"timerfd_create"}, /* 283 */
+	{ 1,	TD,	sys_eventfd,		"eventfd"	}, /* 284 */
+	{ 6,	TF,	sys_fallocate,		"fallocate"	}, /* 285 */
+	{ 4,	TD,	sys_timerfd_settime,	"timerfd_settime"}, /* 286 */
+	{ 2,	TD,	sys_timerfd_gettime,	"timerfd_gettime"}, /* 287 */
+	{ 4,	TN,	sys_accept4,		"accept4"	}, /* 288 */
+	{ 4,	TD|TS,	sys_signalfd4,		"signalfd4"	}, /* 289 */
+	{ 2,	TD,	sys_eventfd2,		"eventfd2"	}, /* 290 */
+	{ 1,	0,	sys_epoll_create1,	"epoll_create1"	}, /* 291 */
+	{ 3,	TD,	sys_dup3,		"dup3"		}, /* 292 */
+	{ 2,	TD,	sys_pipe2,		"pipe2"		}, /* 293 */
+	{ 1,	TD,	sys_inotify_init1,	"inotify_init1"	}, /* 294 */
+	{ 5,	TD,	printargs,		"preadv"	}, /* 295 */
+	{ 5,	TD,	printargs,		"pwritev"	}, /* 296 */
+	{ 4,	TP|TS,	printargs,		"rt_tgsigqueueinfo"}, /* 297 */
+	{ 5,	TD,	printargs,		"perf_event_open"}, /* 298 */
+	{ 5,	TN,	sys_recvmmsg,		"recvmmsg"	}, /* 299 */
diff --git a/strace-4.5.20/linux/x86_64/syscallent1.h b/strace-4.5.20/linux/x86_64/syscallent1.h
new file mode 100644
index 0000000..9097785
--- /dev/null
+++ b/strace-4.5.20/linux/x86_64/syscallent1.h
@@ -0,0 +1,7 @@
+/* Our second set comes from the i386 files.
+   Only a couple of calls we cannot support without the i386 headers.  */
+
+#define sys_oldstat printargs
+#define sys_oldfstat printargs
+#define sys_oldlstat printargs
+#include "i386/syscallent.h"
diff --git a/strace-4.5.20/mem.c b/strace-4.5.20/mem.c
new file mode 100644
index 0000000..d55cd69
--- /dev/null
+++ b/strace-4.5.20/mem.c
@@ -0,0 +1,986 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 2000 PocketPenguins Inc.  Linux for Hitachi SuperH
+ *                    port by Greg Banks <gbanks@pocketpenguins.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+#ifdef LINUX
+#include <asm/mman.h>
+#endif
+#include <sys/mman.h>
+
+#if defined(LINUX) && defined(I386)
+#include <asm/ldt.h>
+# ifdef HAVE_STRUCT_USER_DESC
+#  define modify_ldt_ldt_s user_desc
+# endif
+#endif
+#if defined(LINUX) && defined(SH64)
+#include <asm/page.h>	    /* for PAGE_SHIFT */
+#endif
+
+#ifdef HAVE_LONG_LONG_OFF_T
+/*
+ * Ugly hacks for systems that have a long long off_t
+ */
+#define sys_mmap64	sys_mmap
+#endif
+
+int
+sys_brk(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%#lx", tcp->u_arg[0]);
+	}
+#ifdef LINUX
+	return RVAL_HEX;
+#else
+	return 0;
+#endif
+}
+
+#if defined(FREEBSD) || defined(SUNOS4)
+int
+sys_sbrk(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%lu", tcp->u_arg[0]);
+	}
+	return RVAL_HEX;
+}
+#endif /* FREEBSD || SUNOS4 */
+
+static const struct xlat mmap_prot[] = {
+	{ PROT_NONE,	"PROT_NONE",	},
+	{ PROT_READ,	"PROT_READ"	},
+	{ PROT_WRITE,	"PROT_WRITE"	},
+	{ PROT_EXEC,	"PROT_EXEC"	},
+#ifdef PROT_SEM
+	{ PROT_SEM,	"PROT_SEM"	},
+#endif
+#ifdef PROT_GROWSDOWN
+	{ PROT_GROWSDOWN,"PROT_GROWSDOWN"},
+#endif
+#ifdef PROT_GROWSUP
+	{ PROT_GROWSUP, "PROT_GROWSUP"	},
+#endif
+#ifdef PROT_SAO
+	{ PROT_SAO,	"PROT_SAO"	},
+#endif
+	{ 0,		NULL		},
+};
+
+static const struct xlat mmap_flags[] = {
+	{ MAP_SHARED,	"MAP_SHARED"	},
+	{ MAP_PRIVATE,	"MAP_PRIVATE"	},
+	{ MAP_FIXED,	"MAP_FIXED"	},
+#ifdef MAP_ANONYMOUS
+	{ MAP_ANONYMOUS,"MAP_ANONYMOUS"	},
+#endif
+#ifdef MAP_32BIT
+	{ MAP_32BIT,	"MAP_32BIT"	},
+#endif
+#ifdef MAP_RENAME
+	{ MAP_RENAME,	"MAP_RENAME"	},
+#endif
+#ifdef MAP_NORESERVE
+	{ MAP_NORESERVE,"MAP_NORESERVE"	},
+#endif
+#ifdef MAP_POPULATE
+	{ MAP_POPULATE, "MAP_POPULATE" },
+#endif
+#ifdef MAP_NONBLOCK
+	{ MAP_NONBLOCK, "MAP_NONBLOCK" },
+#endif
+	/*
+	 * XXX - this was introduced in SunOS 4.x to distinguish between
+	 * the old pre-4.x "mmap()", which:
+	 *
+	 *	only let you map devices with an "mmap" routine (e.g.,
+	 *	frame buffers) in;
+	 *
+	 *	required you to specify the mapping address;
+	 *
+	 *	returned 0 on success and -1 on failure;
+	 *
+	 * memory and which, and the 4.x "mmap()" which:
+	 *
+	 *	can map plain files;
+	 *
+	 *	can be asked to pick where to map the file;
+	 *
+	 *	returns the address where it mapped the file on success
+	 *	and -1 on failure.
+	 *
+	 * It's not actually used in source code that calls "mmap()"; the
+	 * "mmap()" routine adds it for you.
+	 *
+	 * It'd be nice to come up with some way of eliminating it from
+	 * the flags, e.g. reporting calls *without* it as "old_mmap()"
+	 * and calls with it as "mmap()".
+	 */
+#ifdef _MAP_NEW
+	{ _MAP_NEW,	"_MAP_NEW"	},
+#endif
+#ifdef MAP_GROWSDOWN
+	{ MAP_GROWSDOWN,"MAP_GROWSDOWN"	},
+#endif
+#ifdef MAP_DENYWRITE
+	{ MAP_DENYWRITE,"MAP_DENYWRITE"	},
+#endif
+#ifdef MAP_EXECUTABLE
+	{ MAP_EXECUTABLE,"MAP_EXECUTABLE"},
+#endif
+#ifdef MAP_INHERIT
+	{ MAP_INHERIT,"MAP_INHERIT"	},
+#endif
+#ifdef MAP_FILE
+	{ MAP_FILE,"MAP_FILE"},
+#endif
+#ifdef MAP_LOCKED
+	{ MAP_LOCKED,"MAP_LOCKED"},
+#endif
+	/* FreeBSD ones */
+#ifdef MAP_ANON
+	{ MAP_ANON,		"MAP_ANON"	},
+#endif
+#ifdef MAP_HASSEMAPHORE
+	{ MAP_HASSEMAPHORE,	"MAP_HASSEMAPHORE"	},
+#endif
+#ifdef MAP_STACK
+	{ MAP_STACK,		"MAP_STACK"	},
+#endif
+#ifdef MAP_NOSYNC
+	{ MAP_NOSYNC,		"MAP_NOSYNC"	},
+#endif
+#ifdef MAP_NOCORE
+	{ MAP_NOCORE,		"MAP_NOCORE"	},
+#endif
+#ifdef TILE
+	{ MAP_CACHE_NO_LOCAL, "MAP_CACHE_NO_LOCAL" },
+	{ MAP_CACHE_NO_L2, "MAP_CACHE_NO_L2" },
+	{ MAP_CACHE_NO_L1, "MAP_CACHE_NO_L1" },
+#endif
+	{ 0,		NULL		},
+};
+
+#ifdef TILE
+static
+int
+addtileflags(flags)
+long flags;
+{
+	long home = flags & _MAP_CACHE_MKHOME(_MAP_CACHE_HOME_MASK);
+	flags &= ~_MAP_CACHE_MKHOME(_MAP_CACHE_HOME_MASK);
+
+	if (flags & _MAP_CACHE_INCOHERENT) {
+		flags &= ~_MAP_CACHE_INCOHERENT;
+		if (home == MAP_CACHE_HOME_NONE) {
+			tprintf("|MAP_CACHE_INCOHERENT");
+			return flags;
+		}
+		tprintf("|_MAP_CACHE_INCOHERENT");
+	}
+
+	switch (home) {
+	case 0:	break;
+	case MAP_CACHE_HOME_HERE: tprintf("|MAP_CACHE_HOME_HERE"); break;
+	case MAP_CACHE_HOME_NONE: tprintf("|MAP_CACHE_HOME_NONE"); break;
+	case MAP_CACHE_HOME_SINGLE: tprintf("|MAP_CACHE_HOME_SINGLE"); break;
+	case MAP_CACHE_HOME_TASK: tprintf("|MAP_CACHE_HOME_TASK"); break;
+	case MAP_CACHE_HOME_HASH: tprintf("|MAP_CACHE_HOME_HASH"); break;
+	default:
+		tprintf("|MAP_CACHE_HOME(%d)",
+			(home >> _MAP_CACHE_HOME_SHIFT) );
+		break;
+	}
+
+	return flags;
+}
+#endif
+
+#if !HAVE_LONG_LONG_OFF_T
+static
+int
+print_mmap(tcp,u_arg, offset)
+struct tcb *tcp;
+long *u_arg;
+long long offset;
+{
+	if (entering(tcp)) {
+		/* addr */
+		if (!u_arg[0])
+			tprintf("NULL, ");
+		else
+			tprintf("%#lx, ", u_arg[0]);
+		/* len */
+		tprintf("%lu, ", u_arg[1]);
+		/* prot */
+		printflags(mmap_prot, u_arg[2], "PROT_???");
+		tprintf(", ");
+		/* flags */
+#ifdef MAP_TYPE
+		printxval(mmap_flags, u_arg[3] & MAP_TYPE, "MAP_???");
+#ifdef TILE
+		addflags(mmap_flags, addtileflags(u_arg[3] & ~MAP_TYPE));
+#else
+		addflags(mmap_flags, u_arg[3] & ~MAP_TYPE);
+#endif
+#else
+		printflags(mmap_flags, u_arg[3], "MAP_???");
+#endif
+		/* fd (is always int, not long) */
+		tprintf(", %d, ", (int)u_arg[4]);
+		/* offset */
+		tprintf("%#llx", offset);
+	}
+	return RVAL_HEX;
+}
+
+#ifdef LINUX
+int sys_old_mmap(tcp)
+struct tcb *tcp;
+{
+	long u_arg[6];
+
+#if	defined(IA64)
+	int i, v;
+	/*
+	 *  IA64 processes never call this routine, they only use the
+	 *  new `sys_mmap' interface.  This code converts the integer
+	 *  arguments that the IA32 process pushed onto the stack into
+	 *  longs.
+	 *
+	 *  Note that addresses with bit 31 set will be sign extended.
+	 *  Fortunately, those addresses are not currently being generated
+	 *  for IA32 processes so it's not a problem.
+	 */
+	for (i = 0; i < 6; i++)
+		if (umove(tcp, tcp->u_arg[0] + (i * sizeof(int)), &v) == -1)
+			return 0;
+		else
+			u_arg[i] = v;
+#elif defined(SH) || defined(SH64)
+	/* SH has always passed the args in registers */
+	int i;
+	for (i=0; i<6; i++)
+		u_arg[i] = tcp->u_arg[i];
+#else
+# if defined(X86_64)
+	if (current_personality == 1) {
+		int i;
+		for (i = 0; i < 6; ++i) {
+			unsigned int val;
+			if (umove(tcp, tcp->u_arg[0] + i * 4, &val) == -1)
+				return 0;
+			u_arg[i] = val;
+		}
+	}
+	else
+# endif
+	if (umoven(tcp, tcp->u_arg[0], sizeof u_arg, (char *) u_arg) == -1)
+		return 0;
+#endif	// defined(IA64)
+	return print_mmap(tcp, u_arg, u_arg[5]);
+}
+#endif
+
+int
+sys_mmap(tcp)
+struct tcb *tcp;
+{
+	long long offset = tcp->u_arg[5];
+
+#if defined(LINUX) && defined(SH64)
+	/*
+	 * Old mmap differs from new mmap in specifying the
+	 * offset in units of bytes rather than pages.  We
+	 * pretend it's in byte units so the user only ever
+	 * sees bytes in the printout.
+	 */
+	offset <<= PAGE_SHIFT;
+#endif
+#if defined(LINUX_MIPSN32)
+	offset = tcp->ext_arg[5];
+#endif
+	return print_mmap(tcp, tcp->u_arg, offset);
+}
+#endif /* !HAVE_LONG_LONG_OFF_T */
+
+#if _LFS64_LARGEFILE || HAVE_LONG_LONG_OFF_T
+int
+sys_mmap64(tcp)
+struct tcb *tcp;
+{
+#ifdef linux
+#ifdef ALPHA
+	long *u_arg = tcp->u_arg;
+#else /* !ALPHA */
+	long u_arg[7];
+#endif /* !ALPHA */
+#else /* !linux */
+	long *u_arg = tcp->u_arg;
+#endif /* !linux */
+
+	if (entering(tcp)) {
+#ifdef linux
+#ifndef ALPHA
+		if (umoven(tcp, tcp->u_arg[0], sizeof u_arg,
+				(char *) u_arg) == -1)
+			return 0;
+#endif /* ALPHA */
+#endif /* linux */
+
+		/* addr */
+		tprintf("%#lx, ", u_arg[0]);
+		/* len */
+		tprintf("%lu, ", u_arg[1]);
+		/* prot */
+		printflags(mmap_prot, u_arg[2], "PROT_???");
+		tprintf(", ");
+		/* flags */
+#ifdef MAP_TYPE
+		printxval(mmap_flags, u_arg[3] & MAP_TYPE, "MAP_???");
+		addflags(mmap_flags, u_arg[3] & ~MAP_TYPE);
+#else
+		printflags(mmap_flags, u_arg[3], "MAP_???");
+#endif
+		/* fd */
+		tprintf(", %ld, ", u_arg[4]);
+		/* offset */
+		printllval(tcp, "%#llx", 5);
+	}
+	return RVAL_HEX;
+}
+#endif
+
+
+int
+sys_munmap(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%#lx, %lu",
+			tcp->u_arg[0], tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+int
+sys_mprotect(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%#lx, %lu, ",
+			tcp->u_arg[0], tcp->u_arg[1]);
+		printflags(mmap_prot, tcp->u_arg[2], "PROT_???");
+	}
+	return 0;
+}
+
+#ifdef LINUX
+
+static const struct xlat mremap_flags[] = {
+	{ MREMAP_MAYMOVE,	"MREMAP_MAYMOVE"	},
+#ifdef MREMAP_FIXED
+	{ MREMAP_FIXED,		"MREMAP_FIXED"		},
+#endif
+	{ 0,			NULL			}
+};
+
+int
+sys_mremap(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%#lx, %lu, %lu, ", tcp->u_arg[0], tcp->u_arg[1],
+			tcp->u_arg[2]);
+		printflags(mremap_flags, tcp->u_arg[3], "MREMAP_???");
+#ifdef MREMAP_FIXED
+		if ((tcp->u_arg[3] & (MREMAP_MAYMOVE | MREMAP_FIXED)) ==
+		    (MREMAP_MAYMOVE | MREMAP_FIXED))
+			tprintf(", %#lx", tcp->u_arg[4]);
+#endif
+	}
+	return RVAL_HEX;
+}
+
+static const struct xlat madvise_cmds[] = {
+#ifdef MADV_NORMAL
+	{ MADV_NORMAL,		"MADV_NORMAL" },
+#endif
+#ifdef MADV_RANDOM
+	{ MADV_RANDOM,		"MADV_RANDOM" },
+#endif
+#ifdef MADV_SEQUENTIAL
+	{ MADV_SEQUENTIAL,	"MADV_SEQUENTIAL" },
+#endif
+#ifdef MADV_WILLNEED
+	{ MADV_WILLNEED,	"MADV_WILLNEED" },
+#endif
+#ifdef MADV_DONTNEED
+	{ MADV_DONTNEED,	"MADV_DONTNEED" },
+#endif
+	{ 0,			NULL },
+};
+
+
+int
+sys_madvise(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%#lx, %lu, ", tcp->u_arg[0], tcp->u_arg[1]);
+		printxval(madvise_cmds, tcp->u_arg[2], "MADV_???");
+	}
+	return 0;
+}
+
+
+static const struct xlat mlockall_flags[] = {
+#ifdef MCL_CURRENT
+	{ MCL_CURRENT,	"MCL_CURRENT" },
+#endif
+#ifdef MCL_FUTURE
+	{ MCL_FUTURE,	"MCL_FUTURE" },
+#endif
+	{ 0,		NULL}
+};
+
+int
+sys_mlockall(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printflags(mlockall_flags, tcp->u_arg[0], "MCL_???");
+	}
+	return 0;
+}
+
+
+#endif /* LINUX */
+
+#ifdef MS_ASYNC
+
+static const struct xlat mctl_sync[] = {
+#ifdef MS_SYNC
+	{ MS_SYNC,	"MS_SYNC"	},
+#endif
+	{ MS_ASYNC,	"MS_ASYNC"	},
+	{ MS_INVALIDATE,"MS_INVALIDATE"	},
+	{ 0,		NULL		},
+};
+
+int
+sys_msync(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		/* addr */
+		tprintf("%#lx", tcp->u_arg[0]);
+		/* len */
+		tprintf(", %lu, ", tcp->u_arg[1]);
+		/* flags */
+		printflags(mctl_sync, tcp->u_arg[2], "MS_???");
+	}
+	return 0;
+}
+
+#endif /* MS_ASYNC */
+
+#ifdef MC_SYNC
+
+static const struct xlat mctl_funcs[] = {
+	{ MC_LOCK,	"MC_LOCK"	},
+	{ MC_LOCKAS,	"MC_LOCKAS"	},
+	{ MC_SYNC,	"MC_SYNC"	},
+	{ MC_UNLOCK,	"MC_UNLOCK"	},
+	{ MC_UNLOCKAS,	"MC_UNLOCKAS"	},
+	{ 0,		NULL		},
+};
+
+static const struct xlat mctl_lockas[] = {
+	{ MCL_CURRENT,	"MCL_CURRENT"	},
+	{ MCL_FUTURE,	"MCL_FUTURE"	},
+	{ 0,		NULL		},
+};
+
+int
+sys_mctl(tcp)
+struct tcb *tcp;
+{
+	int arg, function;
+
+	if (entering(tcp)) {
+		/* addr */
+		tprintf("%#lx", tcp->u_arg[0]);
+		/* len */
+		tprintf(", %lu, ", tcp->u_arg[1]);
+		/* function */
+		function = tcp->u_arg[2];
+		printflags(mctl_funcs, function, "MC_???");
+		/* arg */
+		arg = tcp->u_arg[3];
+		tprintf(", ");
+		switch (function) {
+		case MC_SYNC:
+			printflags(mctl_sync, arg, "MS_???");
+			break;
+		case MC_LOCKAS:
+			printflags(mctl_lockas, arg, "MCL_???");
+			break;
+		default:
+			tprintf("%#x", arg);
+			break;
+		}
+	}
+	return 0;
+}
+
+#endif /* MC_SYNC */
+
+int
+sys_mincore(tcp)
+struct tcb *tcp;
+{
+	unsigned long i, len;
+	char *vec = NULL;
+
+	if (entering(tcp)) {
+		tprintf("%#lx, %lu, ", tcp->u_arg[0], tcp->u_arg[1]);
+	} else {
+		len = tcp->u_arg[1];
+		if (syserror(tcp) || tcp->u_arg[2] == 0 ||
+			(vec = malloc(len)) == NULL ||
+			umoven(tcp, tcp->u_arg[2], len, vec) < 0)
+			tprintf("%#lx", tcp->u_arg[2]);
+		else {
+			tprintf("[");
+			for (i = 0; i < len; i++) {
+				if (abbrev(tcp) && i >= max_strlen) {
+					tprintf("...");
+					break;
+				}
+				tprintf((vec[i] & 1) ? "1" : "0");
+			}
+			tprintf("]");
+		}
+		if (vec)
+			free(vec);
+	}
+	return 0;
+}
+
+#if defined(ALPHA) || defined(FREEBSD) || defined(IA64) || defined(SUNOS4) || defined(SVR4) || defined(SPARC) || defined(SPARC64)
+int
+sys_getpagesize(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp))
+		return RVAL_HEX;
+	return 0;
+}
+#endif /* ALPHA || FREEBSD || IA64 || SUNOS4 || SVR4 */
+
+#if defined(LINUX) && defined(__i386__)
+void
+print_ldt_entry(struct modify_ldt_ldt_s *ldt_entry)
+{
+	tprintf("base_addr:%#08lx, "
+		"limit:%d, "
+		"seg_32bit:%d, "
+		"contents:%d, "
+		"read_exec_only:%d, "
+		"limit_in_pages:%d, "
+		"seg_not_present:%d, "
+		"useable:%d}",
+		(long) ldt_entry->base_addr,
+		ldt_entry->limit,
+		ldt_entry->seg_32bit,
+		ldt_entry->contents,
+		ldt_entry->read_exec_only,
+		ldt_entry->limit_in_pages,
+		ldt_entry->seg_not_present,
+		ldt_entry->useable);
+}
+
+int
+sys_modify_ldt(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		struct modify_ldt_ldt_s copy;
+		tprintf("%ld", tcp->u_arg[0]);
+		if (tcp->u_arg[1] == 0
+				|| tcp->u_arg[2] != sizeof (struct modify_ldt_ldt_s)
+				|| umove(tcp, tcp->u_arg[1], &copy) == -1)
+			tprintf(", %lx", tcp->u_arg[1]);
+		else {
+			tprintf(", {entry_number:%d, ", copy.entry_number);
+			if (!verbose(tcp))
+				tprintf("...}");
+			else {
+				print_ldt_entry(&copy);
+			}
+		}
+		tprintf(", %lu", tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+int
+sys_set_thread_area(tcp)
+struct tcb *tcp;
+{
+	struct modify_ldt_ldt_s copy;
+	if (entering(tcp)) {
+		if (umove(tcp, tcp->u_arg[0], &copy) != -1) {
+			if (copy.entry_number == -1)
+				tprintf("{entry_number:%d -> ",
+					copy.entry_number);
+			else
+				tprintf("{entry_number:");
+		}
+	} else {
+		if (umove(tcp, tcp->u_arg[0], &copy) != -1) {
+			tprintf("%d, ", copy.entry_number);
+			if (!verbose(tcp))
+				tprintf("...}");
+			else {
+				print_ldt_entry(&copy);
+			}
+		} else {
+			tprintf("%lx", tcp->u_arg[0]);
+		}
+	}
+	return 0;
+
+}
+
+int
+sys_get_thread_area(tcp)
+struct tcb *tcp;
+{
+	struct modify_ldt_ldt_s copy;
+	if (exiting(tcp)) {
+		if (umove(tcp, tcp->u_arg[0], &copy) != -1) {
+			tprintf("{entry_number:%d, ", copy.entry_number);
+			if (!verbose(tcp))
+				tprintf("...}");
+			else {
+				print_ldt_entry(&copy);
+			}
+		} else {
+			tprintf("%lx", tcp->u_arg[0]);
+		}
+	}
+	return 0;
+
+}
+#endif /* LINUX && __i386__ */
+
+#if defined(LINUX)
+int
+sys_remap_file_pages(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%#lx, %lu, ", tcp->u_arg[0], tcp->u_arg[1]);
+		printflags(mmap_prot, tcp->u_arg[2], "PROT_???");
+		tprintf(", %lu, ", tcp->u_arg[3]);
+#ifdef MAP_TYPE
+		printxval(mmap_flags, tcp->u_arg[4] & MAP_TYPE, "MAP_???");
+		addflags(mmap_flags, tcp->u_arg[4] & ~MAP_TYPE);
+#else
+		printflags(mmap_flags, tcp->u_arg[4], "MAP_???");
+#endif
+	}
+	return 0;
+}
+
+
+#define MPOL_DEFAULT    0
+#define MPOL_PREFERRED  1
+#define MPOL_BIND       2
+#define MPOL_INTERLEAVE 3
+
+#define MPOL_F_NODE     (1<<0)
+#define MPOL_F_ADDR     (1<<1)
+
+#define MPOL_MF_STRICT  (1<<0)
+#define MPOL_MF_MOVE	(1<<1)
+#define MPOL_MF_MOVE_ALL (1<<2)
+
+
+static const struct xlat policies[] = {
+	{ MPOL_DEFAULT,		"MPOL_DEFAULT"		},
+	{ MPOL_PREFERRED,	"MPOL_PREFERRED"	},
+	{ MPOL_BIND,		"MPOL_BIND"		},
+	{ MPOL_INTERLEAVE,	"MPOL_INTERLEAVE"	},
+	{ 0,			NULL			}
+};
+
+static const struct xlat mbindflags[] = {
+	{ MPOL_MF_STRICT,	"MPOL_MF_STRICT"	},
+	{ MPOL_MF_MOVE,		"MPOL_MF_MOVE"		},
+	{ MPOL_MF_MOVE_ALL,	"MPOL_MF_MOVE_ALL"	},
+	{ 0,			NULL			}
+};
+
+static const struct xlat mempolicyflags[] = {
+	{ MPOL_F_NODE,		"MPOL_F_NODE"		},
+	{ MPOL_F_ADDR,		"MPOL_F_ADDR"		},
+	{ 0,			NULL			}
+};
+
+static const struct xlat move_pages_flags[] = {
+	{ MPOL_MF_MOVE,		"MPOL_MF_MOVE"		},
+	{ MPOL_MF_MOVE_ALL,	"MPOL_MF_MOVE_ALL"	},
+	{ 0,			NULL			}
+};
+
+
+static void
+get_nodes(tcp, ptr, maxnodes, err)
+struct tcb *tcp;
+unsigned long ptr;
+unsigned long maxnodes;
+int err;
+{
+	unsigned long nlongs, size, end;
+
+	nlongs = (maxnodes + 8 * sizeof(long) - 1) / (8 * sizeof(long));
+	size = nlongs * sizeof(long);
+	end = ptr + size;
+	if (nlongs == 0 || ((err || verbose(tcp)) && (size * 8 == maxnodes)
+			    && (end > ptr))) {
+		unsigned long n, cur, abbrev_end;
+		int failed = 0;
+
+		if (abbrev(tcp)) {
+			abbrev_end = ptr + max_strlen * sizeof(long);
+			if (abbrev_end < ptr)
+				abbrev_end = end;
+		} else {
+			abbrev_end = end;
+		}
+		tprintf(", {");
+		for (cur = ptr; cur < end; cur += sizeof(long)) {
+			if (cur > ptr)
+				tprintf(", ");
+			if (cur >= abbrev_end) {
+				tprintf("...");
+				break;
+			}
+			if (umoven(tcp, cur, sizeof(n), (char *) &n) < 0) {
+				tprintf("?");
+				failed = 1;
+				break;
+			}
+			tprintf("%#0*lx", (int) sizeof(long) * 2 + 2, n);
+		}
+		tprintf("}");
+		if (failed)
+			tprintf(" %#lx", ptr);
+	} else
+		tprintf(", %#lx", ptr);
+	tprintf(", %lu", maxnodes);
+}
+
+int
+sys_mbind(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%#lx, %lu, ", tcp->u_arg[0], tcp->u_arg[1]);
+		printxval(policies, tcp->u_arg[2], "MPOL_???");
+		get_nodes(tcp, tcp->u_arg[3], tcp->u_arg[4], 0);
+		tprintf(", ");
+		printflags(mbindflags, tcp->u_arg[5], "MPOL_???");
+	}
+	return 0;
+}
+
+int
+sys_set_mempolicy(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printxval(policies, tcp->u_arg[0], "MPOL_???");
+		get_nodes(tcp, tcp->u_arg[1], tcp->u_arg[2], 0);
+	}
+	return 0;
+}
+
+int
+sys_get_mempolicy(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp)) {
+		int pol;
+		if (tcp->u_arg[0] == 0)
+			tprintf("NULL");
+		else if (syserror(tcp) || umove(tcp, tcp->u_arg[0], &pol) < 0)
+			tprintf("%#lx", tcp->u_arg[0]);
+		else
+			printxval(policies, pol, "MPOL_???");
+		get_nodes(tcp, tcp->u_arg[1], tcp->u_arg[2], syserror(tcp));
+		tprintf(", %#lx, ", tcp->u_arg[3]);
+		printflags(mempolicyflags, tcp->u_arg[4], "MPOL_???");
+	}
+	return 0;
+}
+
+int
+sys_move_pages(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		unsigned long npages = tcp->u_arg[1];
+		tprintf("%ld, %lu, ", tcp->u_arg[0], npages);
+		if (tcp->u_arg[2] == 0)
+			tprintf("NULL, ");
+		else {
+			int i;
+			long puser = tcp->u_arg[2];
+			tprintf("{");
+			for (i = 0; i < npages; ++i) {
+				void *p;
+				if (i > 0)
+					tprintf(", ");
+				if (umove(tcp, puser, &p) < 0) {
+					tprintf("???");
+					break;
+				}
+				tprintf("%p", p);
+				puser += sizeof (void *);
+			}
+			tprintf("}, ");
+		}
+		if (tcp->u_arg[3] == 0)
+			tprintf("NULL, ");
+		else {
+			int i;
+			long nodeuser = tcp->u_arg[3];
+			tprintf("{");
+			for (i = 0; i < npages; ++i) {
+				int node;
+				if (i > 0)
+					tprintf(", ");
+				if (umove(tcp, nodeuser, &node) < 0) {
+					tprintf("???");
+					break;
+				}
+				tprintf("%#x", node);
+				nodeuser += sizeof (int);
+			}
+			tprintf("}, ");
+		}
+	}
+	if (exiting(tcp)) {
+		unsigned long npages = tcp->u_arg[1];
+		if (tcp->u_arg[4] == 0)
+			tprintf("NULL, ");
+		else {
+			int i;
+			long statususer = tcp->u_arg[4];
+			tprintf("{");
+			for (i = 0; i < npages; ++i) {
+				int status;
+				if (i > 0)
+					tprintf(", ");
+				if (umove(tcp, statususer, &status) < 0) {
+					tprintf("???");
+					break;
+				}
+				tprintf("%#x", status);
+				statususer += sizeof (int);
+			}
+			tprintf("}, ");
+		}
+		printflags(move_pages_flags, tcp->u_arg[5], "MPOL_???");
+	}
+	return 0;
+}
+#endif
+
+#if defined(LINUX) && defined(POWERPC)
+int
+sys_subpage_prot(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		unsigned long cur, end, abbrev_end, entries;
+		unsigned int entry;
+
+		tprintf("%#lx, %#lx, ", tcp->u_arg[0], tcp->u_arg[1]);
+		entries = tcp->u_arg[1] >> 16;
+		if (!entries || !tcp->u_arg[2]) {
+			tprintf("{}");
+			return 0;
+		}
+		cur = tcp->u_arg[2];
+		end = cur + (sizeof(int) * entries);
+		if (!verbose(tcp) || end < tcp->u_arg[2]) {
+			tprintf("%#lx", tcp->u_arg[2]);
+			return 0;
+		}
+		if (abbrev(tcp)) {
+			abbrev_end = cur + (sizeof(int) * max_strlen);
+			if (abbrev_end > end)
+				abbrev_end = end;
+		}
+		else
+			abbrev_end = end;
+		tprintf("{");
+		for (; cur < end; cur += sizeof(int)) {
+			if (cur > tcp->u_arg[2])
+				tprintf(", ");
+			if (cur >= abbrev_end) {
+				tprintf("...");
+				break;
+			}
+			if (umove(tcp, cur, &entry) < 0) {
+				tprintf("??? [%#lx]", cur);
+				break;
+			}
+			else
+				tprintf("%#08x", entry);
+		}
+		tprintf("}");
+	}
+
+	return 0;
+}
+#endif
diff --git a/strace-4.5.20/missing b/strace-4.5.20/missing
new file mode 100755
index 0000000..28055d2
--- /dev/null
+++ b/strace-4.5.20/missing
@@ -0,0 +1,376 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
+# 2008, 2009 Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+  configure_ac=configure.ac
+else
+  configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case $1 in
+--run)
+  # Try to run requested program, and just exit if it succeeds.
+  run=
+  shift
+  "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
+  ;;
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+  --run           try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  autom4te     touch the output file, or create a stub one
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  help2man     touch the output file
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  tar          try tar, gnutar, gtar, then tar without non-portable flags
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
+
+Send bug reports to <bug-automake@gnu.org>."
+    exit $?
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+esac
+
+# normalize program name to check for.
+program=`echo "$1" | sed '
+  s/^gnu-//; t
+  s/^gnu//; t
+  s/^g//; t'`
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).  This is about non-GNU programs, so use $1 not
+# $program.
+case $1 in
+  lex*|yacc*)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  tar*)
+    if test -n "$run"; then
+       echo 1>&2 "ERROR: \`tar' requires --run"
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       exit 1
+    fi
+    ;;
+
+  *)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
+    fi
+    ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case $program in
+  aclocal*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`${configure_ac}'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case $f in
+      *:*) touch_files="$touch_files "`echo "$f" |
+				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+	   sed 's/\.am$/.in/' |
+	   while read f; do touch "$f"; done
+    ;;
+
+  autom4te*)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.
+         You can get \`$1' as part of \`Autoconf' from any GNU
+         archive site."
+
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo "#! /bin/sh"
+	echo "# Created by GNU Automake missing as a replacement of"
+	echo "#  $ $@"
+	echo "exit 0"
+	chmod +x $file
+	exit 1
+    fi
+    ;;
+
+  bison*|yacc*)
+    echo 1>&2 "\
+WARNING: \`$1' $msg.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if test $# -ne 1; then
+        eval LASTARG="\${$#}"
+	case $LASTARG in
+	*.y)
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+	    if test -f "$SRCFILE"; then
+	         cp "$SRCFILE" y.tab.c
+	    fi
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+	    if test -f "$SRCFILE"; then
+	         cp "$SRCFILE" y.tab.h
+	    fi
+	  ;;
+	esac
+    fi
+    if test ! -f y.tab.h; then
+	echo >y.tab.h
+    fi
+    if test ! -f y.tab.c; then
+	echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex*|flex*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if test $# -ne 1; then
+        eval LASTARG="\${$#}"
+	case $LASTARG in
+	*.l)
+	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+	    if test -f "$SRCFILE"; then
+	         cp "$SRCFILE" lex.yy.c
+	    fi
+	  ;;
+	esac
+    fi
+    if test ! -f lex.yy.c; then
+	echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  help2man*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+	 you modified a dependency of a manual page.  You may need the
+	 \`Help2man' package in order for those modifications to take
+	 effect.  You can get \`Help2man' from any GNU archive site."
+
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo ".ab help2man is required to generate this page"
+	exit $?
+    fi
+    ;;
+
+  makeinfo*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    # The file to touch is that specified with -o ...
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -z "$file"; then
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '
+	/^@setfilename/{
+	  s/.* \([^ ]*\) *$/\1/
+	  p
+	  q
+	}' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+    fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
+    touch $file
+    ;;
+
+  tar*)
+    shift
+
+    # We have already tried tar in the generic part.
+    # Look for gnutar/gtar before invocation to avoid ugly error
+    # messages.
+    if (gnutar --version > /dev/null 2>&1); then
+       gnutar "$@" && exit 0
+    fi
+    if (gtar --version > /dev/null 2>&1); then
+       gtar "$@" && exit 0
+    fi
+    firstarg="$1"
+    if shift; then
+	case $firstarg in
+	*o*)
+	    firstarg=`echo "$firstarg" | sed s/o//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+	case $firstarg in
+	*h*)
+	    firstarg=`echo "$firstarg" | sed s/h//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+    fi
+
+    echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+         You may want to install GNU tar or Free paxutils, or check the
+         command line arguments."
+    exit 1
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequisites for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/strace-4.5.20/net.c b/strace-4.5.20/net.c
new file mode 100644
index 0000000..f56664e
--- /dev/null
+++ b/strace-4.5.20/net.c
@@ -0,0 +1,2143 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-2000 Wichert Akkerman <wichert@cistron.nl>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+#include <sys/stat.h>
+#include <sys/socket.h>
+#include <sys/un.h>
+
+#if defined(HAVE_SIN6_SCOPE_ID_LINUX)
+#define in6_addr in6_addr_libc
+#define ipv6_mreq ipv6_mreq_libc
+#define sockaddr_in6 sockaddr_in6_libc
+#endif
+
+#include <netinet/in.h>
+#ifdef HAVE_NETINET_TCP_H
+#include <netinet/tcp.h>
+#endif
+#ifdef HAVE_NETINET_UDP_H
+#include <netinet/udp.h>
+#endif
+#include <arpa/inet.h>
+#include <net/if.h>
+#if defined(LINUX)
+#include <asm/types.h>
+#if defined(__GLIBC__) && (__GLIBC__ >= 2) && (__GLIBC__ + __GLIBC_MINOR__ >= 3)
+#  include <netipx/ipx.h>
+#else
+#  include <linux/ipx.h>
+#endif
+#endif /* LINUX */
+
+#if defined (__GLIBC__) && (((__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 1)) || defined(HAVE_SIN6_SCOPE_ID_LINUX))
+#if defined(HAVE_LINUX_IN6_H)
+#if defined(HAVE_SIN6_SCOPE_ID_LINUX)
+#undef in6_addr
+#undef ipv6_mreq
+#undef sockaddr_in6
+#define in6_addr in6_addr_kernel
+#define ipv6_mreq ipv6_mreq_kernel
+#define sockaddr_in6 sockaddr_in6_kernel
+#endif
+#include <linux/in6.h>
+#if defined(HAVE_SIN6_SCOPE_ID_LINUX)
+#undef in6_addr
+#undef ipv6_mreq
+#undef sockaddr_in6
+#define in6_addr in6_addr_libc
+#define ipv6_mreq ipv6_mreq_libc
+#define sockaddr_in6 sockaddr_in6_kernel
+#endif
+#endif
+#endif
+
+#if defined(HAVE_SYS_UIO_H)
+#include <sys/uio.h>
+#endif
+
+#if defined(HAVE_LINUX_NETLINK_H)
+#include <linux/netlink.h>
+#endif
+
+#if defined(HAVE_LINUX_IF_PACKET_H)
+#include <linux/if_packet.h>
+#endif
+
+#if defined(HAVE_LINUX_ICMP_H)
+#include <linux/icmp.h>
+#endif
+
+#ifndef PF_UNSPEC
+#define PF_UNSPEC AF_UNSPEC
+#endif
+
+#if UNIXWARE >= 7
+#define HAVE_SENDMSG		1		/* HACK - *FIXME* */
+#endif
+
+#ifdef LINUX
+/* Under Linux these are enums so we can't test for them with ifdef. */
+#define IPPROTO_EGP IPPROTO_EGP
+#define IPPROTO_PUP IPPROTO_PUP
+#define IPPROTO_IDP IPPROTO_IDP
+#define IPPROTO_IGMP IPPROTO_IGMP
+#define IPPROTO_RAW IPPROTO_RAW
+#define IPPROTO_MAX IPPROTO_MAX
+#endif
+
+static const struct xlat domains[] = {
+#ifdef PF_AAL5
+	{ PF_AAL5,	"PF_AAL5"	},
+#endif
+#ifdef PF_APPLETALK
+	{ PF_APPLETALK,	"PF_APPLETALK"	},
+#endif
+#ifdef PF_ASH
+	{ PF_ASH,	"PF_ASH"	},
+#endif
+#ifdef PF_ATMPVC
+	{ PF_ATMPVC,	"PF_ATMPVC"	},
+#endif
+#ifdef PF_ATMSVC
+	{ PF_ATMSVC,	"PF_ATMSVC"	},
+#endif
+#ifdef PF_AX25
+	{ PF_AX25,	"PF_AX25"	},
+#endif
+#ifdef PF_BLUETOOTH
+	{ PF_BLUETOOTH,	"PF_BLUETOOTH"	},
+#endif
+#ifdef PF_BRIDGE
+	{ PF_BRIDGE,	"PF_BRIDGE"	},
+#endif
+#ifdef PF_DECnet
+	{ PF_DECnet,	"PF_DECnet"	},
+#endif
+#ifdef PF_DECNET
+	{ PF_DECNET,	"PF_DECNET"	},
+#endif
+#ifdef PF_ECONET
+	{ PF_ECONET,	"PF_ECONET"	},
+#endif
+#ifdef PF_FILE
+	{ PF_FILE,	"PF_FILE"	},
+#endif
+#ifdef PF_IMPLINK
+	{ PF_IMPLINK,	"PF_IMPLINK"	},
+#endif
+#ifdef PF_INET
+	{ PF_INET,	"PF_INET"	},
+#endif
+#ifdef PF_INET6
+	{ PF_INET6,	"PF_INET6"	},
+#endif
+#ifdef PF_IPX
+	{ PF_IPX,	"PF_IPX"	},
+#endif
+#ifdef PF_IRDA
+	{ PF_IRDA,	"PF_IRDA"	},
+#endif
+#ifdef PF_ISO
+	{ PF_ISO,	"PF_ISO"	},
+#endif
+#ifdef PF_KEY
+	{ PF_KEY,	"PF_KEY"	},
+#endif
+#ifdef PF_UNIX
+	{ PF_UNIX,	"PF_UNIX"	},
+#endif
+#ifdef PF_LOCAL
+	{ PF_LOCAL,	"PF_LOCAL"	},
+#endif
+#ifdef PF_NETBEUI
+	{ PF_NETBEUI,	"PF_NETBEUI"	},
+#endif
+#ifdef PF_NETLINK
+	{ PF_NETLINK,	"PF_NETLINK"	},
+#endif
+#ifdef PF_NETROM
+	{ PF_NETROM,	"PF_NETROM"	},
+#endif
+#ifdef PF_PACKET
+	{ PF_PACKET,	"PF_PACKET"	},
+#endif
+#ifdef PF_PPPOX
+	{ PF_PPPOX,	"PF_PPPOX"	},
+#endif
+#ifdef PF_ROSE
+	{ PF_ROSE,	"PF_ROSE"	},
+#endif
+#ifdef PF_ROUTE
+	{ PF_ROUTE,	"PF_ROUTE"	},
+#endif
+#ifdef PF_SECURITY
+	{ PF_SECURITY,	"PF_SECURITY"	},
+#endif
+#ifdef PF_SNA
+	{ PF_SNA,	"PF_SNA"	},
+#endif
+#ifdef PF_UNSPEC
+	{ PF_UNSPEC,	"PF_UNSPEC"	},
+#endif
+#ifdef PF_WANPIPE
+	{ PF_WANPIPE,	"PF_WANPIPE"	},
+#endif
+#ifdef PF_X25
+	{ PF_X25,	"PF_X25"	},
+#endif
+	{ 0,		NULL		},
+};
+const struct xlat addrfams[] = {
+#ifdef AF_APPLETALK
+	{ AF_APPLETALK,	"AF_APPLETALK"	},
+#endif
+#ifdef AF_ASH
+	{ AF_ASH,	"AF_ASH"	},
+#endif
+#ifdef AF_ATMPVC
+	{ AF_ATMPVC,	"AF_ATMPVC"	},
+#endif
+#ifdef AF_ATMSVC
+	{ AF_ATMSVC,	"AF_ATMSVC"	},
+#endif
+#ifdef AF_AX25
+	{ AF_AX25,	"AF_AX25"	},
+#endif
+#ifdef AF_BLUETOOTH
+	{ AF_BLUETOOTH,	"AF_BLUETOOTH"	},
+#endif
+#ifdef AF_BRIDGE
+	{ AF_BRIDGE,	"AF_BRIDGE"	},
+#endif
+#ifdef AF_DECnet
+	{ AF_DECnet,	"AF_DECnet"	},
+#endif
+#ifdef AF_ECONET
+	{ AF_ECONET,	"AF_ECONET"	},
+#endif
+#ifdef AF_FILE
+	{ AF_FILE,	"AF_FILE"	},
+#endif
+#ifdef AF_IMPLINK
+	{ AF_IMPLINK,	"AF_IMPLINK"	},
+#endif
+#ifdef AF_INET
+	{ AF_INET,	"AF_INET"	},
+#endif
+#ifdef AF_INET6
+	{ AF_INET6,	"AF_INET6"	},
+#endif
+#ifdef AF_IPX
+	{ AF_IPX,	"AF_IPX"	},
+#endif
+#ifdef AF_IRDA
+	{ AF_IRDA,	"AF_IRDA"	},
+#endif
+#ifdef AF_ISO
+	{ AF_ISO,	"AF_ISO"	},
+#endif
+#ifdef AF_KEY
+	{ AF_KEY,	"AF_KEY"	},
+#endif
+#ifdef AF_UNIX
+	{ AF_UNIX,	"AF_UNIX"	},
+#endif
+#ifdef AF_LOCAL
+	{ AF_LOCAL,	"AF_LOCAL"	},
+#endif
+#ifdef AF_NETBEUI
+	{ AF_NETBEUI,	"AF_NETBEUI"	},
+#endif
+#ifdef AF_NETLINK
+	{ AF_NETLINK,	"AF_NETLINK"	},
+#endif
+#ifdef AF_NETROM
+	{ AF_NETROM,	"AF_NETROM"	},
+#endif
+#ifdef AF_PACKET
+	{ AF_PACKET,	"AF_PACKET"	},
+#endif
+#ifdef AF_PPPOX
+	{ AF_PPPOX,	"AF_PPPOX"	},
+#endif
+#ifdef AF_ROSE
+	{ AF_ROSE,	"AF_ROSE"	},
+#endif
+#ifdef AF_ROUTE
+	{ AF_ROUTE,	"AF_ROUTE"	},
+#endif
+#ifdef AF_SECURITY
+	{ AF_SECURITY,	"AF_SECURITY"	},
+#endif
+#ifdef AF_SNA
+	{ AF_SNA,	"AF_SNA"	},
+#endif
+#ifdef AF_UNSPEC
+	{ AF_UNSPEC,	"AF_UNSPEC"	},
+#endif
+#ifdef AF_WANPIPE
+	{ AF_WANPIPE,	"AF_WANPIPE"	},
+#endif
+#ifdef AF_X25
+	{ AF_X25,	"AF_X25"	},
+#endif
+	{ 0,		NULL		},
+};
+static const struct xlat socktypes[] = {
+	{ SOCK_STREAM,	"SOCK_STREAM"	},
+	{ SOCK_DGRAM,	"SOCK_DGRAM"	},
+#ifdef SOCK_RAW
+	{ SOCK_RAW,	"SOCK_RAW"	},
+#endif
+#ifdef SOCK_RDM
+	{ SOCK_RDM,	"SOCK_RDM"	},
+#endif
+#ifdef SOCK_SEQPACKET
+	{ SOCK_SEQPACKET,"SOCK_SEQPACKET"},
+#endif
+#ifdef SOCK_DCCP
+	{ SOCK_DCCP,	"SOCK_DCCP"	},
+#endif
+#ifdef SOCK_PACKET
+	{ SOCK_PACKET,	"SOCK_PACKET"	},
+#endif
+	{ 0,		NULL		},
+};
+const struct xlat sock_type_flags[] = {
+#ifdef SOCK_CLOEXEC
+	{ SOCK_CLOEXEC,	"SOCK_CLOEXEC"	},
+#endif
+#ifdef SOCK_NONBLOCK
+	{ SOCK_NONBLOCK,"SOCK_NONBLOCK"	},
+#endif
+	{ 0,		NULL		},
+};
+#ifndef SOCK_TYPE_MASK
+# define SOCK_TYPE_MASK 0xf
+#endif
+static const struct xlat socketlayers[] = {
+#if defined(SOL_IP)
+	{ SOL_IP,	"SOL_IP"	},
+#endif
+#if defined(SOL_ICMP)
+	{ SOL_ICMP,	"SOL_ICMP"	},
+#endif
+#if defined(SOL_TCP)
+	{ SOL_TCP,	"SOL_TCP"	},
+#endif
+#if defined(SOL_UDP)
+	{ SOL_UDP,	"SOL_UDP"	},
+#endif
+#if defined(SOL_IPV6)
+	{ SOL_IPV6,	"SOL_IPV6"	},
+#endif
+#if defined(SOL_ICMPV6)
+	{ SOL_ICMPV6,	"SOL_ICMPV6"	},
+#endif
+#if defined(SOL_RAW)
+	{ SOL_RAW,	"SOL_RAW"	},
+#endif
+#if defined(SOL_IPX)
+	{ SOL_IPX,	"SOL_IPX"	},
+#endif
+#if defined(SOL_IPX)
+	{ SOL_IPX,	"SOL_IPX"	},
+#endif
+#if defined(SOL_AX25)
+	{ SOL_AX25,	"SOL_AX25"	},
+#endif
+#if defined(SOL_ATALK)
+	{ SOL_ATALK,	"SOL_ATALK"	},
+#endif
+#if defined(SOL_NETROM)
+	{ SOL_NETROM,	"SOL_NETROM"	},
+#endif
+#if defined(SOL_ROSE)
+	{ SOL_ROSE,	"SOL_ROSE"	},
+#endif
+#if defined(SOL_DECNET)
+	{ SOL_DECNET,	"SOL_DECNET"	},
+#endif
+#if defined(SOL_X25)
+	{ SOL_X25,	"SOL_X25"	},
+#endif
+#if defined(SOL_PACKET)
+	{ SOL_PACKET,	"SOL_PACKET"	},
+#endif
+#if defined(SOL_ATM)
+	{ SOL_ATM,	"SOL_ATM"	},
+#endif
+#if defined(SOL_AAL)
+	{ SOL_AAL,	"SOL_AAL"	},
+#endif
+#if defined(SOL_IRDA)
+	{ SOL_IRDA,	"SOL_IRDA"	},
+#endif
+	{ SOL_SOCKET,	"SOL_SOCKET"	},	/* Never used! */
+};
+/*** WARNING: DANGER WILL ROBINSON: NOTE "socketlayers" array above
+     falls into "protocols" array below!!!!   This is intended!!! ***/
+static const struct xlat protocols[] = {
+	{ IPPROTO_IP,	"IPPROTO_IP"	},
+	{ IPPROTO_ICMP,	"IPPROTO_ICMP"	},
+	{ IPPROTO_TCP,	"IPPROTO_TCP"	},
+	{ IPPROTO_UDP,	"IPPROTO_UDP"	},
+#ifdef IPPROTO_GGP
+	{ IPPROTO_GGP,	"IPPROTO_GGP"	},
+#endif
+#ifdef IPPROTO_EGP
+	{ IPPROTO_EGP,	"IPPROTO_EGP"	},
+#endif
+#ifdef IPPROTO_PUP
+	{ IPPROTO_PUP,	"IPPROTO_PUP"	},
+#endif
+#ifdef IPPROTO_IDP
+	{ IPPROTO_IDP,	"IPPROTO_IDP"	},
+#endif
+#ifdef IPPROTO_IPV6
+	{ IPPROTO_IPV6,	"IPPROTO_IPV6"	},
+#endif
+#ifdef IPPROTO_ICMPV6
+	{ IPPROTO_ICMPV6,"IPPROTO_ICMPV6"},
+#endif
+#ifdef IPPROTO_IGMP
+	{ IPPROTO_IGMP,	"IPPROTO_IGMP"	},
+#endif
+#ifdef IPPROTO_HELLO
+	{ IPPROTO_HELLO,"IPPROTO_HELLO"	},
+#endif
+#ifdef IPPROTO_ND
+	{ IPPROTO_ND,	"IPPROTO_ND"	},
+#endif
+#ifdef IPPROTO_RAW
+	{ IPPROTO_RAW,	"IPPROTO_RAW"	},
+#endif
+#ifdef IPPROTO_MAX
+	{ IPPROTO_MAX,	"IPPROTO_MAX"	},
+#endif
+#ifdef IPPROTO_IPIP
+	{ IPPROTO_IPIP,	"IPPROTO_IPIP"	},
+#endif
+	{ 0,		NULL		},
+};
+static const struct xlat msg_flags[] = {
+	{ MSG_OOB,		"MSG_OOB"		},
+#ifdef MSG_DONTROUTE
+	{ MSG_DONTROUTE,	"MSG_DONTROUTE"		},
+#endif
+#ifdef MSG_PEEK
+	{ MSG_PEEK,		"MSG_PEEK"		},
+#endif
+#ifdef MSG_CTRUNC
+	{ MSG_CTRUNC,		"MSG_CTRUNC"		},
+#endif
+#ifdef MSG_PROXY
+	{ MSG_PROXY,		"MSG_PROXY"		},
+#endif
+#ifdef MSG_EOR
+	{ MSG_EOR,		"MSG_EOR"		},
+#endif
+#ifdef MSG_WAITALL
+	{ MSG_WAITALL,		"MSG_WAITALL"		},
+#endif
+#ifdef MSG_TRUNC
+	{ MSG_TRUNC,		"MSG_TRUNC"		},
+#endif
+#ifdef MSG_CTRUNC
+	{ MSG_CTRUNC,		"MSG_CTRUNC"		},
+#endif
+#ifdef MSG_ERRQUEUE
+	{ MSG_ERRQUEUE,		"MSG_ERRQUEUE"		},
+#endif
+#ifdef MSG_DONTWAIT
+	{ MSG_DONTWAIT,		"MSG_DONTWAIT"		},
+#endif
+#ifdef MSG_CONFIRM
+	{ MSG_CONFIRM,		"MSG_CONFIRM"		},
+#endif
+#ifdef MSG_PROBE
+	{ MSG_PROBE,		"MSG_PROBE"		},
+#endif
+#ifdef MSG_FIN
+	{ MSG_FIN,		"MSG_FIN"		},
+#endif
+#ifdef MSG_SYN
+	{ MSG_SYN,		"MSG_SYN"		},
+#endif
+#ifdef MSG_RST
+	{ MSG_RST,		"MSG_RST"		},
+#endif
+#ifdef MSG_NOSIGNAL
+	{ MSG_NOSIGNAL,		"MSG_NOSIGNAL"		},
+#endif
+#ifdef MSG_MORE
+	{ MSG_MORE,		"MSG_MORE"		},
+#endif
+#ifdef MSG_CMSG_CLOEXEC
+	{ MSG_CMSG_CLOEXEC,	"MSG_CMSG_CLOEXEC"	},
+#endif
+	{ 0,			NULL			},
+};
+
+static const struct xlat sockoptions[] = {
+#ifdef SO_ACCEPTCONN
+	{ SO_ACCEPTCONN,	"SO_ACCEPTCONN"	},
+#endif
+#ifdef SO_ALLRAW
+	{ SO_ALLRAW,	"SO_ALLRAW"	},
+#endif
+#ifdef SO_ATTACH_FILTER
+	{ SO_ATTACH_FILTER,	"SO_ATTACH_FILTER"	},
+#endif
+#ifdef SO_BINDTODEVICE
+	{ SO_BINDTODEVICE,	"SO_BINDTODEVICE"	},
+#endif
+#ifdef SO_BROADCAST
+	{ SO_BROADCAST,	"SO_BROADCAST"	},
+#endif
+#ifdef SO_BSDCOMPAT
+	{ SO_BSDCOMPAT,	"SO_BSDCOMPAT"	},
+#endif
+#ifdef SO_DEBUG
+	{ SO_DEBUG,	"SO_DEBUG"	},
+#endif
+#ifdef SO_DETACH_FILTER
+	{ SO_DETACH_FILTER,	"SO_DETACH_FILTER"	},
+#endif
+#ifdef SO_DONTROUTE
+	{ SO_DONTROUTE,	"SO_DONTROUTE"	},
+#endif
+#ifdef SO_ERROR
+	{ SO_ERROR,	"SO_ERROR"	},
+#endif
+#ifdef SO_ICS
+	{ SO_ICS,	"SO_ICS"	},
+#endif
+#ifdef SO_IMASOCKET
+	{ SO_IMASOCKET,	"SO_IMASOCKET"	},
+#endif
+#ifdef SO_KEEPALIVE
+	{ SO_KEEPALIVE,	"SO_KEEPALIVE"	},
+#endif
+#ifdef SO_LINGER
+	{ SO_LINGER,	"SO_LINGER"	},
+#endif
+#ifdef SO_LISTENING
+	{ SO_LISTENING,	"SO_LISTENING"	},
+#endif
+#ifdef SO_MGMT
+	{ SO_MGMT,	"SO_MGMT"	},
+#endif
+#ifdef SO_NO_CHECK
+	{ SO_NO_CHECK,	"SO_NO_CHECK"	},
+#endif
+#ifdef SO_OOBINLINE
+	{ SO_OOBINLINE,	"SO_OOBINLINE"	},
+#endif
+#ifdef SO_ORDREL
+	{ SO_ORDREL,	"SO_ORDREL"	},
+#endif
+#ifdef SO_PARALLELSVR
+	{ SO_PARALLELSVR,	"SO_PARALLELSVR"	},
+#endif
+#ifdef SO_PASSCRED
+	{ SO_PASSCRED,	"SO_PASSCRED"	},
+#endif
+#ifdef SO_PEERCRED
+	{ SO_PEERCRED,	"SO_PEERCRED"	},
+#endif
+#ifdef SO_PEERNAME
+	{ SO_PEERNAME,	"SO_PEERNAME"	},
+#endif
+#ifdef SO_PEERSEC
+	{ SO_PEERSEC,	"SO_PEERSEC"	},
+#endif
+#ifdef SO_PRIORITY
+	{ SO_PRIORITY,	"SO_PRIORITY"	},
+#endif
+#ifdef SO_PROTOTYPE
+	{ SO_PROTOTYPE,	"SO_PROTOTYPE"	},
+#endif
+#ifdef SO_RCVBUF
+	{ SO_RCVBUF,	"SO_RCVBUF"	},
+#endif
+#ifdef SO_RCVLOWAT
+	{ SO_RCVLOWAT,	"SO_RCVLOWAT"	},
+#endif
+#ifdef SO_RCVTIMEO
+	{ SO_RCVTIMEO,	"SO_RCVTIMEO"	},
+#endif
+#ifdef SO_RDWR
+	{ SO_RDWR,	"SO_RDWR"	},
+#endif
+#ifdef SO_REUSEADDR
+	{ SO_REUSEADDR,	"SO_REUSEADDR"	},
+#endif
+#ifdef SO_REUSEPORT
+	{ SO_REUSEPORT,	"SO_REUSEPORT"	},
+#endif
+#ifdef SO_SECURITY_AUTHENTICATION
+	{ SO_SECURITY_AUTHENTICATION,"SO_SECURITY_AUTHENTICATION"},
+#endif
+#ifdef SO_SECURITY_ENCRYPTION_NETWORK
+	{ SO_SECURITY_ENCRYPTION_NETWORK,"SO_SECURITY_ENCRYPTION_NETWORK"},
+#endif
+#ifdef SO_SECURITY_ENCRYPTION_TRANSPORT
+	{ SO_SECURITY_ENCRYPTION_TRANSPORT,"SO_SECURITY_ENCRYPTION_TRANSPORT"},
+#endif
+#ifdef SO_SEMA
+	{ SO_SEMA,	"SO_SEMA"	},
+#endif
+#ifdef SO_SNDBUF
+	{ SO_SNDBUF,	"SO_SNDBUF"	},
+#endif
+#ifdef SO_SNDLOWAT
+	{ SO_SNDLOWAT,	"SO_SNDLOWAT"	},
+#endif
+#ifdef SO_SNDTIMEO
+	{ SO_SNDTIMEO,	"SO_SNDTIMEO"	},
+#endif
+#ifdef SO_TIMESTAMP
+	{ SO_TIMESTAMP,	"SO_TIMESTAMP"	},
+#endif
+#ifdef SO_TYPE
+	{ SO_TYPE,	"SO_TYPE"	},
+#endif
+#ifdef SO_USELOOPBACK
+	{ SO_USELOOPBACK,	"SO_USELOOPBACK"	},
+#endif
+	{ 0,		NULL		},
+};
+
+#if !defined (SOL_IP) && defined (IPPROTO_IP)
+#define SOL_IP IPPROTO_IP
+#endif
+
+#ifdef SOL_IP
+static const struct xlat sockipoptions[] = {
+#ifdef IP_TOS
+	{ IP_TOS,		"IP_TOS"		},
+#endif
+#ifdef IP_TTL
+	{ IP_TTL,		"IP_TTL"		},
+#endif
+#ifdef IP_HDRINCL
+	{ IP_HDRINCL,		"IP_HDRINCL"		},
+#endif
+#ifdef IP_OPTIONS
+	{ IP_OPTIONS,		"IP_OPTIONS"		},
+#endif
+#ifdef IP_ROUTER_ALERT
+	{ IP_ROUTER_ALERT,	"IP_ROUTER_ALERT"	},
+#endif
+#ifdef IP_RECVOPTIONS
+	{ IP_RECVOPTIONS,	"IP_RECVOPTIONS"	},
+#endif
+#ifdef IP_RECVOPTS
+	{ IP_RECVOPTS,		"IP_RECVOPTS"		},
+#endif
+#ifdef IP_RECVRETOPTS
+	{ IP_RECVRETOPTS,	"IP_RECVRETOPTS"	},
+#endif
+#ifdef IP_RECVDSTADDR
+	{ IP_RECVDSTADDR,	"IP_RECVDSTADDR"	},
+#endif
+#ifdef IP_RETOPTS
+	{ IP_RETOPTS,		"IP_RETOPTS"		},
+#endif
+#ifdef IP_PKTINFO
+	{ IP_PKTINFO,		"IP_PKTINFO"		},
+#endif
+#ifdef IP_PKTOPTIONS
+	{ IP_PKTOPTIONS,	"IP_PKTOPTIONS"		},
+#endif
+#ifdef IP_MTU_DISCOVER
+	{ IP_MTU_DISCOVER,	"IP_MTU_DISCOVER"	},
+#endif
+#ifdef IP_RECVERR
+	{ IP_RECVERR,		"IP_RECVERR"		},
+#endif
+#ifdef IP_RECVTTL
+	{ IP_RECVTTL,		"IP_RECVTTL"		},
+#endif
+#ifdef IP_RECVTOS
+	{ IP_RECVTOS,		"IP_RECVTOS"		},
+#endif
+#ifdef IP_MTU
+	{ IP_MTU,		"IP_MTU"		},
+#endif
+#ifdef IP_MULTICAST_IF
+	{ IP_MULTICAST_IF,	"IP_MULTICAST_IF"	},
+#endif
+#ifdef IP_MULTICAST_TTL
+	{ IP_MULTICAST_TTL,	"IP_MULTICAST_TTL"	},
+#endif
+#ifdef IP_MULTICAST_LOOP
+	{ IP_MULTICAST_LOOP,	"IP_MULTICAST_LOOP"	},
+#endif
+#ifdef IP_ADD_MEMBERSHIP
+	{ IP_ADD_MEMBERSHIP,	"IP_ADD_MEMBERSHIP"	},
+#endif
+#ifdef IP_DROP_MEMBERSHIP
+	{ IP_DROP_MEMBERSHIP,	"IP_DROP_MEMBERSHIP"	},
+#endif
+#ifdef IP_BROADCAST_IF
+	{ IP_BROADCAST_IF,	"IP_BROADCAST_IF"	},
+#endif
+#ifdef IP_RECVIFINDEX
+	{ IP_RECVIFINDEX,	"IP_RECVIFINDEX"	},
+#endif
+#ifdef IP_MSFILTER
+	{ IP_MSFILTER,		"IP_MSFILTER"		},
+#endif
+#ifdef MCAST_MSFILTER
+	{ MCAST_MSFILTER,	"MCAST_MSFILTER"	},
+#endif
+#ifdef IP_FREEBIND
+	{ IP_FREEBIND,		"IP_FREEBIND"		},
+#endif
+	{ 0,			NULL			},
+};
+#endif /* SOL_IP */
+
+#ifdef SOL_IPV6
+static const struct xlat sockipv6options[] = {
+#ifdef IPV6_ADDRFORM
+	{ IPV6_ADDRFORM,	"IPV6_ADDRFORM"		},
+#endif
+#ifdef MCAST_FILTER
+	{ MCAST_FILTER,		"MCAST_FILTER"		},
+#endif
+#ifdef IPV6_PKTOPTIONS
+	{ IPV6_PKTOPTIONS,	"IPV6_PKTOPTIONS"	},
+#endif
+#ifdef IPV6_MTU
+	{ IPV6_MTU,		"IPV6_MTU"		},
+#endif
+#ifdef IPV6_V6ONLY
+	{ IPV6_V6ONLY,		"IPV6_V6ONLY"		},
+#endif
+#ifdef IPV6_PKTINFO
+	{ IPV6_PKTINFO,		"IPV6_PKTINFO"		},
+#endif
+#ifdef IPV6_HOPLIMIT
+	{ IPV6_HOPLIMIT,	"IPV6_HOPLIMIT"		},
+#endif
+#ifdef IPV6_RTHDR
+	{ IPV6_RTHDR,		"IPV6_RTHDR"		},
+#endif
+#ifdef IPV6_HOPOPTS
+	{ IPV6_HOPOPTS,		"IPV6_HOPOPTS"		},
+#endif
+#ifdef IPV6_DSTOPTS
+	{ IPV6_DSTOPTS,		"IPV6_DSTOPTS"		},
+#endif
+#ifdef IPV6_FLOWINFO
+	{ IPV6_FLOWINFO,	"IPV6_FLOWINFO"		},
+#endif
+#ifdef IPV6_UNICAST_HOPS
+	{ IPV6_UNICAST_HOPS,	"IPV6_UNICAST_HOPS"	},
+#endif
+#ifdef IPV6_MULTICAST_HOPS
+	{ IPV6_MULTICAST_HOPS,	"IPV6_MULTICAST_HOPS"	},
+#endif
+#ifdef IPV6_MULTICAST_LOOP
+	{ IPV6_MULTICAST_LOOP,	"IPV6_MULTICAST_LOOP"	},
+#endif
+#ifdef IPV6_MULTICAST_IF
+	{ IPV6_MULTICAST_IF,	"IPV6_MULTICAST_IF"	},
+#endif
+#ifdef IPV6_MTU_DISCOVER
+	{ IPV6_MTU_DISCOVER,	"IPV6_MTU_DISCOVER"	},
+#endif
+#ifdef IPV6_RECVERR
+	{ IPV6_RECVERR,		"IPV6_RECVERR"		},
+#endif
+#ifdef IPV6_FLOWINFO_SEND
+	{ IPV6_FLOWINFO_SEND,	"IPV6_FLOWINFO_SEND"	},
+#endif
+#ifdef IPV6_ADD_MEMBERSHIP
+	{ IPV6_ADD_MEMBERSHIP,	"IPV6_ADD_MEMBERSHIP"	},
+#endif
+#ifdef IPV6_DROP_MEMBERSHIP
+	{ IPV6_DROP_MEMBERSHIP,	"IPV6_DROP_MEMBERSHIP"	},
+#endif
+#ifdef IPV6_ROUTER_ALERT
+	{ IPV6_ROUTER_ALERT,	"IPV6_ROUTER_ALERT"	},
+#endif
+	{ 0,			NULL			},
+};
+#endif /* SOL_IPV6 */
+
+#ifdef SOL_IPX
+static const struct xlat sockipxoptions[] = {
+	{ IPX_TYPE,     "IPX_TYPE"      },
+	{ 0,            NULL            },
+};
+#endif /* SOL_IPX */
+
+#ifdef SOL_RAW
+static const struct xlat sockrawoptions[] = {
+#if defined(ICMP_FILTER)
+	{ ICMP_FILTER,		"ICMP_FILTER"	},
+#endif
+	{ 0,			NULL		},
+};
+#endif /* SOL_RAW */
+
+#ifdef SOL_PACKET
+static const struct xlat sockpacketoptions[] = {
+#ifdef PACKET_ADD_MEMBERSHIP
+	{ PACKET_ADD_MEMBERSHIP,	"PACKET_ADD_MEMBERSHIP"	},
+#endif
+#ifdef PACKET_DROP_MEMBERSHIP
+	{ PACKET_DROP_MEMBERSHIP,	"PACKET_DROP_MEMBERSHIP"},
+#endif
+#if defined(PACKET_RECV_OUTPUT)
+	{ PACKET_RECV_OUTPUT,		"PACKET_RECV_OUTPUT"	},
+#endif
+#if defined(PACKET_RX_RING)
+	{ PACKET_RX_RING,		"PACKET_RX_RING"	},
+#endif
+#if defined(PACKET_STATISTICS)
+	{ PACKET_STATISTICS,		"PACKET_STATISTICS"	},
+#endif
+#if defined(PACKET_COPY_THRESH)
+	{ PACKET_COPY_THRESH,		"PACKET_COPY_THRESH"	},
+#endif
+#if defined(PACKET_AUXDATA)
+	{ PACKET_AUXDATA,		"PACKET_AUXDATA"	},
+#endif
+#if defined(PACKET_ORIGDEV)
+	{ PACKET_ORIGDEV,		"PACKET_ORIGDEV"	},
+#endif
+#if defined(PACKET_VERSION)
+	{ PACKET_VERSION,		"PACKET_VERSION"	},
+#endif
+#if defined(PACKET_HDRLEN)
+	{ PACKET_HDRLEN,		"PACKET_HDRLEN"	},
+#endif
+#if defined(PACKET_RESERVE)
+	{ PACKET_RESERVE,		"PACKET_RESERVE"	},
+#endif
+#if defined(PACKET_TX_RING)
+	{ PACKET_TX_RING,		"PACKET_TX_RING"	},
+#endif
+#if defined(PACKET_LOSS)
+	{ PACKET_LOSS,			"PACKET_LOSS"	},
+#endif
+	{ 0,				NULL			},
+};
+#endif /* SOL_PACKET */
+
+#if  !defined (SOL_TCP) && defined (IPPROTO_TCP)
+#define SOL_TCP IPPROTO_TCP
+#endif
+
+#ifdef SOL_TCP
+static const struct xlat socktcpoptions[] = {
+	{ TCP_NODELAY,		"TCP_NODELAY"	},
+	{ TCP_MAXSEG,		"TCP_MAXSEG"	},
+#if defined(TCP_CORK)
+	{ TCP_CORK,		"TCP_CORK"	},
+#endif
+#if defined(TCP_KEEPIDLE)
+	{ TCP_KEEPIDLE,		"TCP_KEEPIDLE" },
+#endif
+#if defined(TCP_KEEPINTVL)
+	{ TCP_KEEPINTVL,	"TCP_KEEPINTVL" },
+#endif
+#if defined(TCP_KEEPCNT)
+	{ TCP_KEEPCNT,		"TCP_KEEPCNT" },
+#endif
+#if defined(TCP_NKEEP)
+	{ TCP_NKEEP,		"TCP_NKEEP"	},
+#endif
+#if defined(TCP_SYNCNT)
+	{ TCP_SYNCNT,		"TCP_SYNCNT" },
+#endif
+#if defined(TCP_LINGER2)
+	{ TCP_LINGER2,		"TCP_LINGER2" },
+#endif
+#if defined(TCP_DEFER_ACCEPT)
+	{ TCP_DEFER_ACCEPT,	"TCP_DEFER_ACCEPT" },
+#endif
+#if defined(TCP_WINDOW_CLAMP)
+	{ TCP_WINDOW_CLAMP,	"TCP_WINDOW_CLAMP" },
+#endif
+#if defined(TCP_INFO)
+	{ TCP_INFO,		"TCP_INFO" },
+#endif
+#if defined(TCP_QUICKACK)
+	{ TCP_QUICKACK,		"TCP_QUICKACK" },
+#endif
+	{ 0,			NULL		},
+};
+#endif /* SOL_TCP */
+
+#ifdef SOL_RAW
+static const struct xlat icmpfilterflags[] = {
+#if defined(ICMP_ECHOREPLY)
+	{ (1<<ICMP_ECHOREPLY),		"ICMP_ECHOREPLY"	},
+#endif
+#if defined(ICMP_DEST_UNREACH)
+	{ (1<<ICMP_DEST_UNREACH),	"ICMP_DEST_UNREACH"	},
+#endif
+#if defined(ICMP_SOURCE_QUENCH)
+	{ (1<<ICMP_SOURCE_QUENCH),	"ICMP_SOURCE_QUENCH"	},
+#endif
+#if defined(ICMP_REDIRECT)
+	{ (1<<ICMP_REDIRECT),		"ICMP_REDIRECT"		},
+#endif
+#if defined(ICMP_ECHO)
+	{ (1<<ICMP_ECHO),		"ICMP_ECHO"		},
+#endif
+#if defined(ICMP_TIME_EXCEEDED)
+	{ (1<<ICMP_TIME_EXCEEDED),	"ICMP_TIME_EXCEEDED"	},
+#endif
+#if defined(ICMP_PARAMETERPROB)
+	{ (1<<ICMP_PARAMETERPROB),	"ICMP_PARAMETERPROB"	},
+#endif
+#if defined(ICMP_TIMESTAMP)
+	{ (1<<ICMP_TIMESTAMP),		"ICMP_TIMESTAMP"	},
+#endif
+#if defined(ICMP_TIMESTAMPREPLY)
+	{ (1<<ICMP_TIMESTAMPREPLY),	"ICMP_TIMESTAMPREPLY"	},
+#endif
+#if defined(ICMP_INFO_REQUEST)
+	{ (1<<ICMP_INFO_REQUEST),	"ICMP_INFO_REQUEST"	},
+#endif
+#if defined(ICMP_INFO_REPLY)
+	{ (1<<ICMP_INFO_REPLY),		"ICMP_INFO_REPLY"	},
+#endif
+#if defined(ICMP_ADDRESS)
+	{ (1<<ICMP_ADDRESS),		"ICMP_ADDRESS"		},
+#endif
+#if defined(ICMP_ADDRESSREPLY)
+	{ (1<<ICMP_ADDRESSREPLY),	"ICMP_ADDRESSREPLY"	},
+#endif
+	{ 0,				NULL			},
+};
+#endif /* SOL_RAW */
+
+#if defined(AF_PACKET) /* from e.g. linux/if_packet.h */
+static const struct xlat af_packet_types[] = {
+#if defined(PACKET_HOST)
+	{ PACKET_HOST,			"PACKET_HOST"		},
+#endif
+#if defined(PACKET_BROADCAST)
+	{ PACKET_BROADCAST,		"PACKET_BROADCAST"	},
+#endif
+#if defined(PACKET_MULTICAST)
+	{ PACKET_MULTICAST,		"PACKET_MULTICAST"	},
+#endif
+#if defined(PACKET_OTHERHOST)
+	{ PACKET_OTHERHOST,		"PACKET_OTHERHOST"	},
+#endif
+#if defined(PACKET_OUTGOING)
+	{ PACKET_OUTGOING,		"PACKET_OUTGOING"	},
+#endif
+#if defined(PACKET_LOOPBACK)
+	{ PACKET_LOOPBACK,		"PACKET_LOOPBACK"	},
+#endif
+#if defined(PACKET_FASTROUTE)
+	{ PACKET_FASTROUTE,		"PACKET_FASTROUTE"	},
+#endif
+	{ 0,				NULL			},
+};
+#endif /* defined(AF_PACKET) */
+
+
+void
+printsock(struct tcb *tcp, long addr, int addrlen)
+{
+	union {
+		char pad[128];
+		struct sockaddr sa;
+		struct sockaddr_in sin;
+		struct sockaddr_un sau;
+#ifdef HAVE_INET_NTOP
+		struct sockaddr_in6 sa6;
+#endif
+#if defined(LINUX) && defined(AF_IPX)
+		struct sockaddr_ipx sipx;
+#endif
+#ifdef AF_PACKET
+		struct sockaddr_ll ll;
+#endif
+#ifdef AF_NETLINK
+		struct sockaddr_nl nl;
+#endif
+	} addrbuf;
+	char string_addr[100];
+
+	if (addr == 0) {
+		tprintf("NULL");
+		return;
+	}
+	if (!verbose(tcp)) {
+		tprintf("%#lx", addr);
+		return;
+	}
+
+	if (addrlen < 2 || addrlen > sizeof(addrbuf))
+		addrlen = sizeof(addrbuf);
+
+	memset(&addrbuf, 0, sizeof(addrbuf));
+	if (umoven(tcp, addr, addrlen, addrbuf.pad) < 0) {
+		tprintf("{...}");
+		return;
+	}
+	addrbuf.pad[sizeof(addrbuf.pad) - 1] = '\0';
+
+	tprintf("{sa_family=");
+	printxval(addrfams, addrbuf.sa.sa_family, "AF_???");
+	tprintf(", ");
+
+	switch (addrbuf.sa.sa_family) {
+	case AF_UNIX:
+		if (addrlen == 2) {
+			tprintf("NULL");
+		} else if (addrbuf.sau.sun_path[0]) {
+			tprintf("path=");
+			printpathn(tcp, addr + 2, strlen(addrbuf.sau.sun_path));
+		} else {
+			tprintf("path=@");
+			printpathn(tcp, addr + 3, strlen(addrbuf.sau.sun_path + 1));
+		}
+		break;
+	case AF_INET:
+		tprintf("sin_port=htons(%u), sin_addr=inet_addr(\"%s\")",
+			ntohs(addrbuf.sin.sin_port), inet_ntoa(addrbuf.sin.sin_addr));
+		break;
+#ifdef HAVE_INET_NTOP
+	case AF_INET6:
+		inet_ntop(AF_INET6, &addrbuf.sa6.sin6_addr, string_addr, sizeof(string_addr));
+		tprintf("sin6_port=htons(%u), inet_pton(AF_INET6, \"%s\", &sin6_addr), sin6_flowinfo=%u",
+				ntohs(addrbuf.sa6.sin6_port), string_addr,
+				addrbuf.sa6.sin6_flowinfo);
+#ifdef HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID
+		{
+#if defined(HAVE_IF_INDEXTONAME) && defined(IN6_IS_ADDR_LINKLOCAL) && defined(IN6_IS_ADDR_MC_LINKLOCAL)
+		    int numericscope = 0;
+		    if (IN6_IS_ADDR_LINKLOCAL (&addrbuf.sa6.sin6_addr)
+			    || IN6_IS_ADDR_MC_LINKLOCAL (&addrbuf.sa6.sin6_addr)) {
+			char scopebuf[IFNAMSIZ + 1];
+
+			if (if_indextoname (addrbuf.sa6.sin6_scope_id, scopebuf) == NULL)
+			    numericscope++;
+			else
+			    tprintf(", sin6_scope_id=if_nametoindex(\"%s\")", scopebuf);
+		    } else
+			numericscope++;
+
+		    if (numericscope)
+#endif
+			tprintf(", sin6_scope_id=%u", addrbuf.sa6.sin6_scope_id);
+		}
+#endif
+		    break;
+#endif
+#if defined(AF_IPX) && defined(linux)
+	case AF_IPX:
+		{
+			int i;
+			tprintf("sipx_port=htons(%u), ",
+					ntohs(addrbuf.sipx.sipx_port));
+			/* Yes, I know, this does not look too
+			 * strace-ish, but otherwise the IPX
+			 * addresses just look monstrous...
+			 * Anyways, feel free if you don't like
+			 * this way.. :)
+			 */
+			tprintf("%08lx:", (unsigned long)ntohl(addrbuf.sipx.sipx_network));
+			for (i = 0; i<IPX_NODE_LEN; i++)
+				tprintf("%02x", addrbuf.sipx.sipx_node[i]);
+			tprintf("/[%02x]", addrbuf.sipx.sipx_type);
+		}
+		break;
+#endif /* AF_IPX && linux */
+#ifdef AF_PACKET
+	case AF_PACKET:
+		{
+			int i;
+			tprintf("proto=%#04x, if%d, pkttype=",
+					ntohs(addrbuf.ll.sll_protocol),
+					addrbuf.ll.sll_ifindex);
+			printxval(af_packet_types, addrbuf.ll.sll_pkttype, "?");
+			tprintf(", addr(%d)={%d, ",
+					addrbuf.ll.sll_halen,
+					addrbuf.ll.sll_hatype);
+			for (i=0; i<addrbuf.ll.sll_halen; i++)
+				tprintf("%02x", addrbuf.ll.sll_addr[i]);
+		}
+		break;
+
+#endif /* AF_APACKET */
+#ifdef AF_NETLINK
+	case AF_NETLINK:
+		tprintf("pid=%d, groups=%08x", addrbuf.nl.nl_pid, addrbuf.nl.nl_groups);
+		break;
+#endif /* AF_NETLINK */
+	/* AF_AX25 AF_APPLETALK AF_NETROM AF_BRIDGE AF_AAL5
+	AF_X25 AF_ROSE etc. still need to be done */
+
+	default:
+		tprintf("sa_data=");
+		printstr(tcp, (long) &((struct sockaddr *) addr)->sa_data,
+			sizeof addrbuf.sa.sa_data);
+		break;
+	}
+	tprintf("}");
+}
+
+#if HAVE_SENDMSG
+static const struct xlat scmvals[] = {
+#ifdef SCM_RIGHTS
+	{ SCM_RIGHTS,		"SCM_RIGHTS"		},
+#endif
+#ifdef SCM_CREDENTIALS
+	{ SCM_CREDENTIALS,	"SCM_CREDENTIALS"	},
+#endif
+	{ 0,			NULL			}
+};
+
+static void
+printcmsghdr(struct tcb *tcp, unsigned long addr, unsigned long len)
+{
+	struct cmsghdr *cmsg = len < sizeof(struct cmsghdr) ?
+			       NULL : malloc(len);
+	if (cmsg == NULL || umoven(tcp, addr, len, (char *) cmsg) < 0) {
+		tprintf(", msg_control=%#lx", addr);
+		free(cmsg);
+		return;
+	}
+
+	tprintf(", {cmsg_len=%u, cmsg_level=", (unsigned) cmsg->cmsg_len);
+	printxval(socketlayers, cmsg->cmsg_level, "SOL_???");
+	tprintf(", cmsg_type=");
+
+	if (cmsg->cmsg_level == SOL_SOCKET) {
+		unsigned long cmsg_len;
+
+		printxval(scmvals, cmsg->cmsg_type, "SCM_???");
+		cmsg_len = (len < cmsg->cmsg_len) ? len : cmsg->cmsg_len;
+
+		if (cmsg->cmsg_type == SCM_RIGHTS
+		    && CMSG_LEN(sizeof(int)) <= cmsg_len) {
+			int *fds = (int *) CMSG_DATA (cmsg);
+			int first = 1;
+
+			tprintf(", {");
+			while ((char *) fds < ((char *) cmsg + cmsg_len)) {
+				if (!first)
+					tprintf(", ");
+				tprintf("%d", *fds++);
+				first = 0;
+			}
+			tprintf("}}");
+			free(cmsg);
+			return;
+		}
+		if (cmsg->cmsg_type == SCM_CREDENTIALS
+		    && CMSG_LEN(sizeof(struct ucred)) <= cmsg_len) {
+			struct ucred *uc = (struct ucred *) CMSG_DATA (cmsg);
+
+			tprintf("{pid=%ld, uid=%ld, gid=%ld}}",
+				(long)uc->pid, (long)uc->uid, (long)uc->gid);
+			free(cmsg);
+			return;
+		}
+	}
+	free(cmsg);
+	tprintf(", ...}");
+}
+
+static void
+do_msghdr(struct tcb *tcp, struct msghdr *msg)
+{
+	tprintf("{msg_name(%d)=", msg->msg_namelen);
+	printsock(tcp, (long)msg->msg_name, msg->msg_namelen);
+
+	tprintf(", msg_iov(%lu)=", (unsigned long)msg->msg_iovlen);
+	tprint_iov(tcp, (unsigned long)msg->msg_iovlen,
+		   (unsigned long)msg->msg_iov);
+
+#ifdef HAVE_STRUCT_MSGHDR_MSG_CONTROL
+	tprintf(", msg_controllen=%lu", (unsigned long)msg->msg_controllen);
+	if (msg->msg_controllen)
+		printcmsghdr(tcp, (unsigned long) msg->msg_control,
+			     msg->msg_controllen);
+	tprintf(", msg_flags=");
+	printflags(msg_flags, msg->msg_flags, "MSG_???");
+#else /* !HAVE_STRUCT_MSGHDR_MSG_CONTROL */
+	tprintf("msg_accrights=%#lx, msg_accrightslen=%u",
+		(unsigned long) msg->msg_accrights, msg->msg_accrightslen);
+#endif /* !HAVE_STRUCT_MSGHDR_MSG_CONTROL */
+	tprintf("}");
+}
+
+static void
+printmsghdr(tcp, addr)
+struct tcb *tcp;
+long addr;
+{
+	struct msghdr msg;
+
+	if (umove(tcp, addr, &msg) < 0) {
+		tprintf("%#lx", addr);
+		return;
+	}
+	do_msghdr(tcp, &msg);
+}
+
+#ifdef LINUX
+static void
+printmmsghdr(struct tcb *tcp, long addr)
+{
+	struct mmsghdr {
+		struct msghdr msg_hdr;
+		unsigned msg_len;
+	} mmsg;
+
+	if (umove(tcp, addr, &mmsg) < 0) {
+		tprintf("%#lx", addr);
+		return;
+	}
+	tprintf("{");
+	do_msghdr(tcp, &mmsg.msg_hdr);
+	tprintf(", %u}", mmsg.msg_len);
+}
+#endif
+
+#endif /* HAVE_SENDMSG */
+
+/*
+ * low bits of the socket type define real socket type,
+ * other bits are socket type flags.
+ */
+static void
+tprint_sock_type(struct tcb *tcp, int flags)
+{
+	const char *str = xlookup(socktypes, flags & SOCK_TYPE_MASK);
+
+	if (str)
+	{
+		tprintf("%s", str);
+		flags &= ~SOCK_TYPE_MASK;
+		if (!flags)
+			return;
+		tprintf("|");
+	}
+	printflags(sock_type_flags, flags, "SOCK_???");
+}
+
+int
+sys_socket(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printxval(domains, tcp->u_arg[0], "PF_???");
+		tprintf(", ");
+		tprint_sock_type(tcp, tcp->u_arg[1]);
+		tprintf(", ");
+		switch (tcp->u_arg[0]) {
+		case PF_INET:
+#ifdef PF_INET6
+		case PF_INET6:
+#endif
+			printxval(protocols, tcp->u_arg[2], "IPPROTO_???");
+			break;
+#ifdef PF_IPX
+		case PF_IPX:
+			/* BTW: I don't believe this.. */
+			tprintf("[");
+			printxval(domains, tcp->u_arg[2], "PF_???");
+			tprintf("]");
+			break;
+#endif /* PF_IPX */
+		default:
+			tprintf("%lu", tcp->u_arg[2]);
+			break;
+		}
+	}
+	return 0;
+}
+
+#ifdef SVR4
+int
+sys_so_socket(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		/* not sure really what these args are... but this
+		 * is how truss prints it
+		 */
+		tprintf("%ld, %ld, %ld, ",
+		  tcp->u_arg[0], tcp->u_arg[1], tcp->u_arg[2]);
+		printpath(tcp, tcp->u_arg[3]);
+		tprintf(", %ld", tcp->u_arg[4]);
+	}
+	return 0;
+}
+
+int
+sys_so_socketpair(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		/* not sure what this arg is */
+		tprintf("0x%lx", tcp->u_arg[0]);
+	}
+	return 0;
+}
+#endif /* SVR4 */
+
+int
+sys_bind(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printsock(tcp, tcp->u_arg[1], tcp->u_arg[2]);
+		tprintf(", %lu", tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+int
+sys_connect(tcp)
+struct tcb *tcp;
+{
+	return sys_bind(tcp);
+}
+
+int
+sys_listen(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, %lu", tcp->u_arg[0], tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+static int
+do_accept(struct tcb *tcp, int flags_arg)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		return 0;
+	}
+	if (!tcp->u_arg[2])
+		tprintf("%#lx, NULL", tcp->u_arg[1]);
+	else {
+		int len;
+		if (tcp->u_arg[1] == 0 || syserror(tcp)
+		    || umove (tcp, tcp->u_arg[2], &len) < 0) {
+			tprintf("%#lx", tcp->u_arg[1]);
+		} else {
+			printsock(tcp, tcp->u_arg[1], len);
+		}
+		tprintf(", ");
+		printnum_int(tcp, tcp->u_arg[2], "%u");
+	}
+	if (flags_arg >= 0) {
+		tprintf(", ");
+		printflags(sock_type_flags, tcp->u_arg[flags_arg],
+			   "SOCK_???");
+	}
+	return 0;
+}
+
+int
+sys_accept(struct tcb *tcp)
+{
+	return do_accept(tcp, -1);
+}
+
+#ifdef LINUX
+int
+sys_accept4(struct tcb *tcp)
+{
+	return do_accept(tcp, 3);
+}
+#endif
+
+int
+sys_send(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
+		tprintf(", %lu, ", tcp->u_arg[2]);
+		/* flags */
+		printflags(msg_flags, tcp->u_arg[3], "MSG_???");
+	}
+	return 0;
+}
+
+int
+sys_sendto(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
+		tprintf(", %lu, ", tcp->u_arg[2]);
+		/* flags */
+		printflags(msg_flags, tcp->u_arg[3], "MSG_???");
+		/* to address */
+		tprintf(", ");
+		printsock(tcp, tcp->u_arg[4], tcp->u_arg[5]);
+		/* to length */
+		tprintf(", %lu", tcp->u_arg[5]);
+	}
+	return 0;
+}
+
+#ifdef HAVE_SENDMSG
+
+int
+sys_sendmsg(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printmsghdr(tcp, tcp->u_arg[1]);
+		/* flags */
+		tprintf(", ");
+		printflags(msg_flags, tcp->u_arg[2], "MSG_???");
+	}
+	return 0;
+}
+
+#endif /* HAVE_SENDMSG */
+
+int
+sys_recv(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+	} else {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else
+			printstr(tcp, tcp->u_arg[1], tcp->u_rval);
+
+		tprintf(", %lu, ", tcp->u_arg[2]);
+		printflags(msg_flags, tcp->u_arg[3], "MSG_???");
+	}
+	return 0;
+}
+
+int
+sys_recvfrom(tcp)
+struct tcb *tcp;
+{
+	int fromlen;
+
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+	} else {
+		if (syserror(tcp)) {
+			tprintf("%#lx, %lu, %lu, %#lx, %#lx",
+				tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3],
+				tcp->u_arg[4], tcp->u_arg[5]);
+			return 0;
+		}
+		/* buf */
+		printstr(tcp, tcp->u_arg[1], tcp->u_rval);
+		/* len */
+		tprintf(", %lu, ", tcp->u_arg[2]);
+		/* flags */
+		printflags(msg_flags, tcp->u_arg[3], "MSG_???");
+		/* from address, len */
+		if (!tcp->u_arg[4] || !tcp->u_arg[5]) {
+			if (tcp->u_arg[4] == 0)
+				tprintf(", NULL");
+			else
+				tprintf(", %#lx", tcp->u_arg[4]);
+			if (tcp->u_arg[5] == 0)
+				tprintf(", NULL");
+			else
+				tprintf(", %#lx", tcp->u_arg[5]);
+			return 0;
+		}
+		if (umove(tcp, tcp->u_arg[5], &fromlen) < 0) {
+			tprintf(", {...}, [?]");
+			return 0;
+		}
+		tprintf(", ");
+		printsock(tcp, tcp->u_arg[4], tcp->u_arg[5]);
+		/* from length */
+		tprintf(", [%u]", fromlen);
+	}
+	return 0;
+}
+
+#ifdef HAVE_SENDMSG
+
+int
+sys_recvmsg(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+	} else {
+		if (syserror(tcp) || !verbose(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else
+			printmsghdr(tcp, tcp->u_arg[1]);
+		/* flags */
+		tprintf(", ");
+		printflags(msg_flags, tcp->u_arg[2], "MSG_???");
+	}
+	return 0;
+}
+
+#ifdef LINUX
+int
+sys_recvmmsg(struct tcb *tcp)
+{
+	static char str[128];
+	if (entering(tcp)) {
+
+		tprintf("%ld, ", tcp->u_arg[0]);
+		if (verbose(tcp)) {
+			sprint_timespec(str, tcp, tcp->u_arg[4]);
+			tcp->auxstr = strdup(str);
+		} else {
+			tprintf("%#lx, %ld, ", tcp->u_arg[1], tcp->u_arg[2]);
+			printflags(msg_flags, tcp->u_arg[3], "MSG_???");
+			tprintf(", ");
+			print_timespec(tcp, tcp->u_arg[4]);
+		}
+		return 0;
+	} else {
+		if (verbose(tcp)) {
+			if (syserror(tcp))
+				tprintf("%#lx", tcp->u_arg[1]);
+			else
+				printmmsghdr(tcp, tcp->u_arg[1]);
+			tprintf(", %ld, ", tcp->u_arg[2]);
+			/* flags */
+			printflags(msg_flags, tcp->u_arg[3], "MSG_???");
+			/* timeout on entrance */
+			tprintf(", %s", tcp->auxstr ? tcp->auxstr : "{...}");
+			free((void *) tcp->auxstr);
+			tcp->auxstr = NULL;
+		}
+		if (syserror(tcp))
+			return 0;
+		if (tcp->u_rval == 0) {
+			tcp->auxstr = "Timeout";
+			return RVAL_STR;
+		}
+		if (!verbose(tcp))
+			return 0;
+		/* timeout on exit */
+		strcpy(str, "left ");
+		sprint_timespec(str + strlen(str), tcp, tcp->u_arg[4]);
+		tcp->auxstr = str;
+		return RVAL_STR;
+	}
+}
+#endif
+
+#endif /* HAVE_SENDMSG */
+
+int
+sys_shutdown(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, %ld", tcp->u_arg[0], tcp->u_arg[1]);
+		switch (tcp->u_arg[1]) {
+		case 0:
+			tprintf("%s", " /* receive */");
+			break;
+		case 1:
+			tprintf("%s", " /* send */");
+			break;
+		case 2:
+			tprintf("%s", " /* send and receive */");
+			break;
+		}
+	}
+	return 0;
+}
+
+int
+sys_getsockname(tcp)
+struct tcb *tcp;
+{
+	return sys_accept(tcp);
+}
+
+int
+sys_getpeername(tcp)
+struct tcb *tcp;
+{
+	return sys_accept(tcp);
+}
+
+static int
+do_pipe(struct tcb *tcp, int flags_arg)
+{
+	if (exiting(tcp)) {
+		if (syserror(tcp)) {
+			tprintf("%#lx", tcp->u_arg[0]);
+		} else {
+#if defined(LINUX) && !defined(SPARC) && !defined(SPARC64) && !defined(SH) && !defined(IA64)
+			int fds[2];
+
+			if (umoven(tcp, tcp->u_arg[0], sizeof fds, (char *) fds) < 0)
+				tprintf("[...]");
+			else
+				tprintf("[%u, %u]", fds[0], fds[1]);
+#elif defined(SPARC) || defined(SPARC64) || defined(SH) || defined(SVR4) || defined(FREEBSD) || defined(IA64)
+			tprintf("[%lu, %lu]", tcp->u_rval, getrval2(tcp));
+#else
+			tprintf("%#lx", tcp->u_arg[0]);
+#endif
+		}
+		if (flags_arg >= 0) {
+			tprintf(", ");
+			printflags(open_mode_flags, tcp->u_arg[flags_arg], "O_???");
+		}
+	}
+	return 0;
+}
+
+int
+sys_pipe(struct tcb *tcp)
+{
+	return do_pipe(tcp, -1);
+}
+
+#ifdef LINUX
+int
+sys_pipe2(struct tcb *tcp)
+{
+	return do_pipe(tcp, 1);
+}
+#endif
+
+int
+sys_socketpair(struct tcb *tcp)
+{
+#ifdef LINUX
+	int fds[2];
+#endif
+
+	if (entering(tcp)) {
+		printxval(domains, tcp->u_arg[0], "PF_???");
+		tprintf(", ");
+		tprint_sock_type(tcp, tcp->u_arg[1]);
+		tprintf(", ");
+		switch (tcp->u_arg[0]) {
+		case PF_INET:
+			printxval(protocols, tcp->u_arg[2], "IPPROTO_???");
+			break;
+#ifdef PF_IPX
+		case PF_IPX:
+			/* BTW: I don't believe this.. */
+			tprintf("[");
+			printxval(domains, tcp->u_arg[2], "PF_???");
+			tprintf("]");
+			break;
+#endif /* PF_IPX */
+		default:
+			tprintf("%lu", tcp->u_arg[2]);
+			break;
+		}
+	} else {
+		if (syserror(tcp)) {
+			tprintf(", %#lx", tcp->u_arg[3]);
+			return 0;
+		}
+#ifdef LINUX
+		if (umoven(tcp, tcp->u_arg[3], sizeof fds, (char *) fds) < 0)
+			tprintf(", [...]");
+		else
+			tprintf(", [%u, %u]", fds[0], fds[1]);
+#endif /* LINUX */
+#if defined(SUNOS4) || defined(SVR4) || defined(FREEBSD)
+		tprintf(", [%lu, %lu]", tcp->u_rval, getrval2(tcp));
+#endif /* SUNOS4 || SVR4 || FREEBSD */
+	}
+	return 0;
+}
+
+int
+sys_getsockopt(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printxval(socketlayers, tcp->u_arg[1], "SOL_???");
+		tprintf (", ");
+		switch (tcp->u_arg[1]) {
+		case SOL_SOCKET:
+			printxval(sockoptions, tcp->u_arg[2], "SO_???");
+			break;
+#ifdef SOL_IP
+		case SOL_IP:
+			printxval(sockipoptions, tcp->u_arg[2], "IP_???");
+			break;
+#endif
+#ifdef SOL_IPV6
+		case SOL_IPV6:
+			printxval(sockipv6options, tcp->u_arg[2], "IPV6_???");
+			break;
+#endif
+#ifdef SOL_IPX
+		case SOL_IPX:
+			printxval(sockipxoptions, tcp->u_arg[2], "IPX_???");
+			break;
+#endif
+#ifdef SOL_PACKET
+		case SOL_PACKET:
+			printxval(sockpacketoptions, tcp->u_arg[2], "PACKET_???");
+			break;
+#endif
+#ifdef SOL_TCP
+		case SOL_TCP:
+			printxval(socktcpoptions, tcp->u_arg[2], "TCP_???");
+			break;
+#endif
+
+		/* SOL_AX25 SOL_ROSE SOL_ATALK SOL_NETROM SOL_UDP SOL_DECNET SOL_X25
+		 * etc. still need work */
+		default:
+			tprintf("%lu", tcp->u_arg[2]);
+			break;
+		}
+		tprintf (", ");
+	} else {
+		int len;
+		if (syserror(tcp) || umove (tcp, tcp->u_arg[4], &len) < 0) {
+			tprintf("%#lx, %#lx",
+				tcp->u_arg[3], tcp->u_arg[4]);
+			return 0;
+		}
+
+		switch (tcp->u_arg[1]) {
+		case SOL_SOCKET:
+			switch (tcp->u_arg[2]) {
+#ifdef SO_LINGER
+			case SO_LINGER:
+				if (len == sizeof (struct linger)) {
+					struct linger linger;
+					if (umove (tcp,
+						   tcp->u_arg[3],
+						   &linger) < 0)
+						break;
+					tprintf("{onoff=%d, linger=%d}, "
+						"[%d]",
+						linger.l_onoff,
+						linger.l_linger,
+						len);
+					return 0;
+				}
+				break;
+#endif
+			}
+			break;
+		case SOL_PACKET:
+			switch (tcp->u_arg[2]) {
+#ifdef PACKET_STATISTICS
+			case PACKET_STATISTICS:
+				if (len == sizeof(struct tpacket_stats)) {
+					struct tpacket_stats stats;
+					if (umove (tcp,
+						   tcp->u_arg[3],
+						   &stats) < 0)
+						break;
+					tprintf("{packets=%u, drops=%u}, "
+						"[%d]",
+						stats.tp_packets,
+						stats.tp_drops,
+						len);
+					return 0;
+				}
+				break;
+#endif
+			}
+			break;
+		}
+
+		if (len == sizeof (int)) {
+			printnum_int(tcp, tcp->u_arg[3], "%d");
+		}
+		else {
+			printstr (tcp, tcp->u_arg[3], len);
+		}
+		tprintf(", [%d]", len);
+	}
+	return 0;
+}
+
+#if defined(ICMP_FILTER)
+static void printicmpfilter(tcp, addr)
+struct tcb *tcp;
+long addr;
+{
+	struct icmp_filter	filter;
+
+	if (!addr) {
+		tprintf("NULL");
+		return;
+	}
+	if (syserror(tcp) || !verbose(tcp)) {
+		tprintf("%#lx", addr);
+		return;
+	}
+	if (umove(tcp, addr, &filter) < 0) {
+		tprintf("{...}");
+		return;
+	}
+
+	tprintf("~(");
+	printflags(icmpfilterflags, ~filter.data, "ICMP_???");
+	tprintf(")");
+}
+#endif /* ICMP_FILTER */
+
+static int
+printsockopt (tcp, level, name, addr, len)
+struct tcb *tcp;
+int level;
+int name;
+long addr;
+int len;
+{
+	printxval(socketlayers, level, "SOL_??");
+	tprintf (", ");
+	switch (level) {
+	    case SOL_SOCKET:
+		printxval(sockoptions, name, "SO_???");
+		switch (name) {
+#if defined(SO_LINGER)
+		    case SO_LINGER:
+			if (len == sizeof (struct linger)) {
+				struct linger linger;
+				if (umove (tcp, addr, &linger) < 0)
+					break;
+				tprintf(", {onoff=%d, linger=%d}",
+					linger.l_onoff,
+					linger.l_linger);
+				return 0;
+			}
+			break;
+#endif
+		}
+		break;
+#ifdef SOL_IP
+	    case SOL_IP:
+		printxval(sockipoptions, name, "IP_???");
+		break;
+#endif
+#ifdef SOL_IPV6
+	    case SOL_IPV6:
+		printxval(sockipv6options, name, "IPV6_???");
+		break;
+#endif
+#ifdef SOL_IPX
+	    case SOL_IPX:
+		printxval(sockipxoptions, name, "IPX_???");
+		break;
+#endif
+#ifdef SOL_PACKET
+	    case SOL_PACKET:
+		printxval(sockpacketoptions, name, "PACKET_???");
+		/* TODO: decode packate_mreq for PACKET_*_MEMBERSHIP */
+		switch (name) {
+#ifdef PACKET_RX_RING
+		    case PACKET_RX_RING:
+#endif
+#ifdef PACKET_TX_RING
+		    case PACKET_TX_RING:
+#endif
+#if defined(PACKET_RX_RING) || defined(PACKET_TX_RING)
+			if (len == sizeof(struct tpacket_req)) {
+				struct tpacket_req req;
+				if (umove(tcp, addr, &req) < 0)
+					break;
+				tprintf(", {block_size=%u, block_nr=%u, frame_size=%u, frame_nr=%u}",
+					req.tp_block_size,
+					req.tp_block_nr,
+					req.tp_frame_size,
+					req.tp_frame_nr);
+				return 0;
+			}
+			break;
+#endif /* PACKET_RX_RING || PACKET_TX_RING */
+		}
+		break;
+#endif
+#ifdef SOL_TCP
+	    case SOL_TCP:
+		printxval(socktcpoptions, name, "TCP_???");
+		break;
+#endif
+#ifdef SOL_RAW
+	    case SOL_RAW:
+		printxval(sockrawoptions, name, "RAW_???");
+		switch (name) {
+#if defined(ICMP_FILTER)
+		    case ICMP_FILTER:
+			tprintf(", ");
+			printicmpfilter(tcp, addr);
+			return 0;
+#endif
+		}
+		break;
+#endif
+
+		/* SOL_AX25 SOL_ATALK SOL_NETROM SOL_UDP SOL_DECNET SOL_X25
+		 * etc. still need work  */
+
+	    default:
+		tprintf("%u", name);
+	}
+
+	/* default arg printing */
+
+	tprintf (", ");
+
+	if (len == sizeof (int)) {
+		printnum_int (tcp, addr, "%d");
+	}
+	else {
+		printstr (tcp, addr, len);
+	}
+	return 0;
+}
+
+
+#ifdef HAVE_STRUCT_OPTHDR
+
+void
+print_sock_optmgmt (tcp, addr, len)
+struct tcb *tcp;
+long addr;
+int len;
+{
+	int c = 0;
+	struct opthdr hdr;
+
+	while (len >= (int) sizeof hdr) {
+		if (umove(tcp, addr, &hdr) < 0) break;
+		if (c++) {
+			tprintf (", ");
+		}
+		else if (len > hdr.len + sizeof hdr) {
+			tprintf ("[");
+		}
+		tprintf ("{");
+		addr += sizeof hdr;
+		len -= sizeof hdr;
+		printsockopt (tcp, hdr.level, hdr.name, addr, hdr.len);
+		if (hdr.len > 0) {
+			addr += hdr.len;
+			len -= hdr.len;
+		}
+		tprintf ("}");
+	}
+	if (len > 0) {
+		if (c++) tprintf (", ");
+		printstr (tcp, addr, len);
+	}
+	if (c > 1) tprintf ("]");
+}
+
+#endif
+
+int
+sys_setsockopt(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printsockopt (tcp, tcp->u_arg[1], tcp->u_arg[2],
+			      tcp->u_arg[3], tcp->u_arg[4]);
+		tprintf(", %lu", tcp->u_arg[4]);
+	}
+	return 0;
+}
+
+#if UNIXWARE >= 7
+
+static const struct xlat sock_version[] = {
+	{ __NETLIB_UW211_SVR4,	"UW211_SVR4" },
+	{ __NETLIB_UW211_XPG4,	"UW211_XPG4" },
+	{ __NETLIB_GEMINI_SVR4,	"GEMINI_SVR4" },
+	{ __NETLIB_GEMINI_XPG4,	"GEMINI_XPG4" },
+	{ __NETLIB_FP1_SVR4,	"FP1_SVR4" },
+	{ __NETLIB_FP1_XPG4,	"FP1_XPG4" },
+	{ 0,            NULL            },
+};
+
+
+int
+netlib_call(tcp, func)
+struct tcb *tcp;
+int (*func) ();
+{
+	if (entering(tcp)) {
+		int i;
+		printxval (sock_version, tcp->u_arg[0], "__NETLIB_???");
+		tprintf(", ");
+		--tcp->u_nargs;
+		for (i = 0; i < tcp->u_nargs; i++)
+			tcp->u_arg[i] = tcp->u_arg[i + 1];
+		return func (tcp);
+
+	}
+
+	return func (tcp);
+}
+
+int
+sys_xsocket(tcp)
+struct tcb *tcp;
+{
+	return netlib_call (tcp, sys_socket);
+}
+
+int
+sys_xsocketpair(tcp)
+struct tcb *tcp;
+{
+	return netlib_call (tcp, sys_socketpair);
+}
+
+int
+sys_xbind(tcp)
+struct tcb *tcp;
+{
+	return netlib_call (tcp, sys_bind);
+}
+
+int
+sys_xconnect(tcp)
+struct tcb *tcp;
+{
+	return netlib_call (tcp, sys_connect);
+}
+
+int
+sys_xlisten(tcp)
+struct tcb *tcp;
+{
+	return netlib_call (tcp, sys_listen);
+}
+
+int
+sys_xaccept(tcp)
+struct tcb *tcp;
+{
+	return netlib_call (tcp, sys_accept);
+}
+
+int
+sys_xsendmsg(tcp)
+struct tcb *tcp;
+{
+	return netlib_call (tcp, sys_sendmsg);
+}
+
+int
+sys_xrecvmsg(tcp)
+struct tcb *tcp;
+{
+	return netlib_call (tcp, sys_recvmsg);
+}
+
+int
+sys_xgetsockaddr(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printxval (sock_version, tcp->u_arg[0], "__NETLIB_???");
+		tprintf(", ");
+		if (tcp->u_arg[1] == 0) {
+			tprintf ("LOCALNAME, ");
+		}
+		else if (tcp->u_arg[1] == 1) {
+			tprintf ("REMOTENAME, ");
+		}
+		else {
+			tprintf ("%ld, ", tcp->u_arg [1]);
+		}
+		tprintf ("%ld, ", tcp->u_arg [2]);
+	}
+	else {
+		if (tcp->u_arg[3] == 0 || syserror(tcp)) {
+			tprintf("%#lx", tcp->u_arg[3]);
+		} else {
+			printsock(tcp, tcp->u_arg[3], tcp->u_arg[4]);
+		}
+		tprintf(", ");
+		printnum(tcp, tcp->u_arg[4], "%lu");
+	}
+
+	return 0;
+
+}
+
+int
+sys_xgetsockopt(tcp)
+struct tcb *tcp;
+{
+	return netlib_call (tcp, sys_getsockopt);
+}
+
+int
+sys_xsetsockopt(tcp)
+struct tcb *tcp;
+{
+	return netlib_call (tcp, sys_setsockopt);
+}
+
+int
+sys_xshutdown(tcp)
+struct tcb *tcp;
+{
+	return netlib_call (tcp, sys_shutdown);
+}
+
+#endif /* UNIXWARE */
diff --git a/strace-4.5.20/proc.c b/strace-4.5.20/proc.c
new file mode 100644
index 0000000..04ef8fb
--- /dev/null
+++ b/strace-4.5.20/proc.c
@@ -0,0 +1,260 @@
+/*
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+#ifdef SVR4
+#ifndef HAVE_MP_PROCFS
+
+static const struct xlat proc_status_flags[] = {
+	{ PR_STOPPED,	"PR_STOPPED"	},
+	{ PR_ISTOP,	"PR_ISTOP"	},
+	{ PR_DSTOP,	"PR_DSTOP"	},
+	{ PR_ASLEEP,	"PR_ASLEEP"	},
+	{ PR_FORK,	"PR_FORK"	},
+	{ PR_RLC,	"PR_RLC"	},
+	{ PR_PTRACE,	"PR_PTRACE"	},
+	{ PR_PCINVAL,	"PR_PCINVAL"	},
+	{ PR_ISSYS,	"PR_ISSYS"	},
+#ifdef PR_STEP
+	{ PR_STEP,	"PR_STEP"	},
+#endif
+#ifdef PR_KLC
+	{ PR_KLC,	"PR_KLC"	},
+#endif
+#ifdef PR_ASYNC
+	{ PR_ASYNC,	"PR_ASYNC"	},
+#endif
+#ifdef PR_PCOMPAT
+	{ PR_PCOMPAT,	"PR_PCOMPAT"	},
+#endif
+	{ 0,		NULL		},
+};
+
+static const struct xlat proc_status_why[] = {
+	{ PR_REQUESTED,	"PR_REQUESTED"	},
+	{ PR_SIGNALLED,	"PR_SIGNALLED"	},
+	{ PR_SYSENTRY,	"PR_SYSENTRY"	},
+	{ PR_SYSEXIT,	"PR_SYSEXIT"	},
+	{ PR_JOBCONTROL,"PR_JOBCONTROL"	},
+	{ PR_FAULTED,	"PR_FAULTED"	},
+#ifdef PR_SUSPENDED
+	{ PR_SUSPENDED,	"PR_SUSPENDED"	},
+#endif
+#ifdef PR_CHECKPOINT
+	{ PR_CHECKPOINT,"PR_CHECKPOINT"	},
+#endif
+	{ 0,		NULL		},
+};
+
+static const struct xlat proc_run_flags[] = {
+	{ PRCSIG,	"PRCSIG"	},
+	{ PRCFAULT,	"PRCFAULT"	},
+	{ PRSTRACE,	"PRSTRACE"	},
+	{ PRSHOLD,	"PRSHOLD"	},
+	{ PRSFAULT,	"PRSFAULT"	},
+	{ PRSVADDR,	"PRSVADDR"	},
+	{ PRSTEP,	"PRSTEP"	},
+	{ PRSABORT,	"PRSABORT"	},
+	{ PRSTOP,	"PRSTOP"	},
+	{ 0,		NULL		},
+};
+
+int
+proc_ioctl(tcp, code, arg)
+struct tcb *tcp;
+int code, arg;
+{
+	int val;
+	prstatus_t status;
+	prrun_t run;
+
+	if (entering(tcp))
+		return 0;
+
+	switch (code) {
+	case PIOCSTATUS:
+	case PIOCSTOP:
+	case PIOCWSTOP:
+		if (arg == 0)
+			tprintf(", NULL");
+		else if (syserror(tcp))
+			tprintf(", %#x", arg);
+		else if (umove(tcp, arg, &status) < 0)
+			tprintf(", {...}");
+		else {
+			tprintf(", {pr_flags=");
+			printflags(proc_status_flags, status.pr_flags, "PR_???");
+			if (status.pr_why) {
+				tprintf(", pr_why=");
+				printxval(proc_status_why, status.pr_why,
+					  "PR_???");
+			}
+			switch (status.pr_why) {
+			case PR_SIGNALLED:
+			case PR_JOBCONTROL:
+				tprintf(", pr_what=");
+				printsignal(status.pr_what);
+				break;
+			case PR_FAULTED:
+				tprintf(", pr_what=%d", status.pr_what);
+				break;
+			case PR_SYSENTRY:
+			case PR_SYSEXIT:
+				tprintf(", pr_what=SYS_%s",
+					sysent[status.pr_what].sys_name);
+				break;
+			}
+			tprintf(", ...}");
+		}
+		return 1;
+	case PIOCRUN:
+		if (arg == 0)
+			tprintf(", NULL");
+		else if (umove(tcp, arg, &run) < 0)
+			tprintf(", {...}");
+		else {
+			tprintf(", {pr_flags=");
+			printflags(proc_run_flags, run.pr_flags, "PR???");
+			tprintf(", ...}");
+		}
+		return 1;
+#ifdef PIOCSET
+	case PIOCSET:
+	case PIOCRESET:
+		if (umove(tcp, arg, &val) < 0)
+			tprintf(", [?]");
+		else {
+			tprintf(", [");
+			printflags(proc_status_flags, val, "PR_???");
+			tprintf("]");
+		}
+		return 1;
+#endif /* PIOCSET */
+	case PIOCKILL:
+	case PIOCUNKILL:
+		/* takes a pointer to a signal */
+		if (umove(tcp, arg, &val) < 0)
+			tprintf(", [?]");
+		else {
+			tprintf(", [");
+			printsignal(val);
+			tprintf("]");
+		}
+		return 1;
+	case PIOCSFORK:
+	case PIOCRFORK:
+	case PIOCSRLC:
+	case PIOCRRLC:
+		/* doesn't take an arg */
+		return 1;
+	default:
+		/* ad naseum */
+		return 0;
+	}
+}
+
+#endif /* HAVE_MP_PROCFS */
+#endif /* SVR4 */
+
+#ifdef FREEBSD
+#include <sys/pioctl.h>
+
+static const struct xlat proc_status_why[] = {
+	{ S_EXEC,	"S_EXEC"	},
+	{ S_SIG,	"S_SIG"		},
+	{ S_SCE,	"S_SCE"		},
+	{ S_SCX,	"S_SCX"		},
+	{ S_CORE,	"S_CORE"	},
+	{ S_EXIT,	"S_EXIT"	},
+	{ 0,		NULL		}
+};
+
+static const struct xlat proc_status_flags[] = {
+	{ PF_LINGER,	"PF_LINGER"	},
+	{ PF_ISUGID,	"PF_ISUGID"	},
+	{ 0,		NULL		}
+};
+
+int
+proc_ioctl(tcp, code, arg)
+struct tcb *tcp;
+int code, arg;
+{
+	int val;
+	struct procfs_status status;
+
+	if (entering(tcp))
+		return 0;
+
+	switch (code) {
+	case PIOCSTATUS:
+	case PIOCWAIT:
+		if (arg == 0)
+			tprintf(", NULL");
+		else if (syserror(tcp))
+			tprintf(", %x", arg);
+		else if (umove(tcp, arg, &status) < 0)
+			tprintf(", {...}");
+		else {
+			tprintf(", {state=%d, flags=", status.state);
+			printflags(proc_status_flags, status.flags, "PF_???");
+			tprintf(", events=");
+			printflags(proc_status_why, status.events, "S_???");
+			tprintf(", why=");
+			printxval(proc_status_why, status.why, "S_???");
+			tprintf(", val=%lu}", status.val);
+		}
+		return 1;
+	case PIOCBIS:
+		tprintf(", ");
+		printflags(proc_status_why, arg, "S_???");
+		return 1;
+		return 1;
+	case PIOCSFL:
+		tprintf(", ");
+		printflags(proc_status_flags, arg, "PF_???");
+		return 1;
+	case PIOCGFL:
+		if (syserror(tcp))
+			tprintf(", %#x", arg);
+		else if (umove(tcp, arg, &val) < 0)
+			tprintf(", {...}");
+		else {
+			tprintf(", [");
+			printflags(proc_status_flags, val, "PF_???");
+			tprintf("]");
+		}
+		return 1;
+	default:
+		/* ad naseum */
+		return 0;
+	}
+}
+#endif
diff --git a/strace-4.5.20/process.c b/strace-4.5.20/process.c
new file mode 100644
index 0000000..c69e45e
--- /dev/null
+++ b/strace-4.5.20/process.c
@@ -0,0 +1,3645 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
+ *                     Linux for s390 port by D.J. Barrow
+ *                    <barrow_dj@mail.yahoo.com,djbarrow@de.ibm.com>
+ * Copyright (c) 2000 PocketPenguins Inc.  Linux for Hitachi SuperH
+ *                    port by Greg Banks <gbanks@pocketpenguins.com>
+
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/wait.h>
+#include <sys/resource.h>
+#include <sys/utsname.h>
+#include <sys/user.h>
+#include <sys/syscall.h>
+#include <signal.h>
+#ifdef SUNOS4
+#include <machine/reg.h>
+#endif /* SUNOS4 */
+
+#ifdef FREEBSD
+#include <sys/ptrace.h>
+#endif
+
+#ifdef HAVE_SYS_REG_H
+# include <sys/reg.h>
+#ifndef PTRACE_PEEKUSR
+# define PTRACE_PEEKUSR PTRACE_PEEKUSER
+#endif
+#ifndef PTRACE_POKEUSR
+# define PTRACE_POKEUSR PTRACE_POKEUSER
+#endif
+#endif
+
+#ifdef HAVE_LINUX_PTRACE_H
+#undef PTRACE_SYSCALL
+# ifdef HAVE_STRUCT_IA64_FPREG
+#  define ia64_fpreg XXX_ia64_fpreg
+# endif
+# ifdef HAVE_STRUCT_PT_ALL_USER_REGS
+#  define pt_all_user_regs XXX_pt_all_user_regs
+# endif
+#include <linux/ptrace.h>
+# undef ia64_fpreg
+# undef pt_all_user_regs
+#endif
+
+#if defined (LINUX) && defined (SPARC64)
+# define r_pc r_tpc
+# undef PTRACE_GETREGS
+# define PTRACE_GETREGS PTRACE_GETREGS64
+# undef PTRACE_SETREGS
+# define PTRACE_SETREGS PTRACE_SETREGS64
+#endif /* LINUX && SPARC64 */
+
+#ifdef HAVE_LINUX_FUTEX_H
+# include <linux/futex.h>
+#endif
+#ifdef LINUX
+# ifndef FUTEX_WAIT
+#  define FUTEX_WAIT 0
+# endif
+# ifndef FUTEX_WAKE
+#  define FUTEX_WAKE 1
+# endif
+# ifndef FUTEX_FD
+#  define FUTEX_FD 2
+# endif
+# ifndef FUTEX_REQUEUE
+#  define FUTEX_REQUEUE 3
+# endif
+#endif /* LINUX */
+
+#ifdef LINUX
+#include <sched.h>
+#include <asm/posix_types.h>
+#undef GETGROUPS_T
+#define GETGROUPS_T __kernel_gid_t
+#undef GETGROUPS32_T
+#define GETGROUPS32_T __kernel_gid32_t
+#endif /* LINUX */
+
+#if defined(LINUX) && defined(IA64)
+# include <asm/ptrace_offsets.h>
+# include <asm/rse.h>
+#endif
+
+#ifdef HAVE_PRCTL
+# include <sys/prctl.h>
+
+static const struct xlat prctl_options[] = {
+#ifdef PR_MAXPROCS
+	{ PR_MAXPROCS,		"PR_MAXPROCS"		},
+#endif
+#ifdef PR_ISBLOCKED
+	{ PR_ISBLOCKED,		"PR_ISBLOCKED"		},
+#endif
+#ifdef PR_SETSTACKSIZE
+	{ PR_SETSTACKSIZE,	"PR_SETSTACKSIZE"	},
+#endif
+#ifdef PR_GETSTACKSIZE
+	{ PR_GETSTACKSIZE,	"PR_GETSTACKSIZE"	},
+#endif
+#ifdef PR_MAXPPROCS
+	{ PR_MAXPPROCS,		"PR_MAXPPROCS"		},
+#endif
+#ifdef PR_UNBLKONEXEC
+	{ PR_UNBLKONEXEC,	"PR_UNBLKONEXEC"	},
+#endif
+#ifdef PR_ATOMICSIM
+	{ PR_ATOMICSIM,		"PR_ATOMICSIM"		},
+#endif
+#ifdef PR_SETEXITSIG
+	{ PR_SETEXITSIG,	"PR_SETEXITSIG"		},
+#endif
+#ifdef PR_RESIDENT
+	{ PR_RESIDENT,		"PR_RESIDENT"		},
+#endif
+#ifdef PR_ATTACHADDR
+	{ PR_ATTACHADDR,	"PR_ATTACHADDR"		},
+#endif
+#ifdef PR_DETACHADDR
+	{ PR_DETACHADDR,	"PR_DETACHADDR"		},
+#endif
+#ifdef PR_TERMCHILD
+	{ PR_TERMCHILD,		"PR_TERMCHILD"		},
+#endif
+#ifdef PR_GETSHMASK
+	{ PR_GETSHMASK,		"PR_GETSHMASK"		},
+#endif
+#ifdef PR_GETNSHARE
+	{ PR_GETNSHARE,		"PR_GETNSHARE"		},
+#endif
+#ifdef PR_COREPID
+	{ PR_COREPID,		"PR_COREPID"		},
+#endif
+#ifdef PR_ATTACHADDRPERM
+	{ PR_ATTACHADDRPERM,	"PR_ATTACHADDRPERM"	},
+#endif
+#ifdef PR_PTHREADEXIT
+	{ PR_PTHREADEXIT,	"PR_PTHREADEXIT"	},
+#endif
+#ifdef PR_SET_PDEATHSIG
+	{ PR_SET_PDEATHSIG,	"PR_SET_PDEATHSIG"	},
+#endif
+#ifdef PR_GET_PDEATHSIG
+	{ PR_GET_PDEATHSIG,	"PR_GET_PDEATHSIG"	},
+#endif
+#ifdef PR_GET_DUMPABLE
+	{ PR_GET_DUMPABLE,	"PR_GET_DUMPABLE"	},
+#endif
+#ifdef PR_SET_DUMPABLE
+	{ PR_SET_DUMPABLE,	"PR_SET_DUMPABLE"	},
+#endif
+#ifdef PR_GET_UNALIGN
+	{ PR_GET_UNALIGN,	"PR_GET_UNALIGN"	},
+#endif
+#ifdef PR_SET_UNALIGN
+	{ PR_SET_UNALIGN,	"PR_SET_UNALIGN"	},
+#endif
+#ifdef PR_GET_KEEPCAPS
+	{ PR_GET_KEEPCAPS,	"PR_GET_KEEPCAPS"	},
+#endif
+#ifdef PR_SET_KEEPCAPS
+	{ PR_SET_KEEPCAPS,	"PR_SET_KEEPCAPS"	},
+#endif
+#ifdef PR_GET_FPEMU
+	{ PR_GET_FPEMU,		"PR_GET_FPEMU"		},
+#endif
+#ifdef PR_SET_FPEMU
+	{ PR_SET_FPEMU,		"PR_SET_FPEMU"		},
+#endif
+#ifdef PR_GET_FPEXC
+	{ PR_GET_FPEXC,		"PR_GET_FPEXC"		},
+#endif
+#ifdef PR_SET_FPEXC
+	{ PR_SET_FPEXC,		"PR_SET_FPEXC"		},
+#endif
+#ifdef PR_GET_TIMING
+	{ PR_GET_TIMING,	"PR_GET_TIMING"		},
+#endif
+#ifdef PR_SET_TIMING
+	{ PR_SET_TIMING,	"PR_SET_TIMING"		},
+#endif
+#ifdef PR_SET_NAME
+	{ PR_SET_NAME,		"PR_SET_NAME"		},
+#endif
+#ifdef PR_GET_NAME
+	{ PR_GET_NAME,		"PR_GET_NAME"		},
+#endif
+#ifdef PR_GET_ENDIAN
+	{ PR_GET_ENDIAN,	"PR_GET_ENDIAN"		},
+#endif
+#ifdef PR_SET_ENDIAN
+	{ PR_SET_ENDIAN,	"PR_SET_ENDIAN"		},
+#endif
+#ifdef PR_GET_SECCOMP
+	{ PR_GET_SECCOMP,	"PR_GET_SECCOMP"	},
+#endif
+#ifdef PR_SET_SECCOMP
+	{ PR_SET_SECCOMP,	"PR_SET_SECCOMP"	},
+#endif
+#ifdef PR_GET_TSC
+	{ PR_GET_TSC,		"PR_GET_TSC"		},
+#endif
+#ifdef PR_SET_TSC
+	{ PR_SET_TSC,		"PR_SET_TSC"		},
+#endif
+#ifdef PR_GET_SECUREBITS
+	{ PR_GET_SECUREBITS,	"PR_GET_SECUREBITS"	},
+#endif
+#ifdef PR_SET_SECUREBITS
+	{ PR_SET_SECUREBITS,	"PR_SET_SECUREBITS"	},
+#endif
+	{ 0,			NULL			},
+};
+
+
+static const char *
+unalignctl_string (unsigned int ctl)
+{
+	static char buf[16];
+
+	switch (ctl) {
+#ifdef PR_UNALIGN_NOPRINT
+	      case PR_UNALIGN_NOPRINT:
+		return "NOPRINT";
+#endif
+#ifdef PR_UNALIGN_SIGBUS
+	      case PR_UNALIGN_SIGBUS:
+		return "SIGBUS";
+#endif
+	      default:
+		break;
+	}
+	sprintf(buf, "%x", ctl);
+	return buf;
+}
+
+
+int
+sys_prctl(tcp)
+struct tcb *tcp;
+{
+	int i;
+
+	if (entering(tcp)) {
+		printxval(prctl_options, tcp->u_arg[0], "PR_???");
+		switch (tcp->u_arg[0]) {
+#ifdef PR_GETNSHARE
+		case PR_GETNSHARE:
+			break;
+#endif
+#ifdef PR_SET_PDEATHSIG
+		case PR_SET_PDEATHSIG:
+			tprintf(", %lu", tcp->u_arg[1]);
+			break;
+#endif
+#ifdef PR_GET_PDEATHSIG
+		case PR_GET_PDEATHSIG:
+			break;
+#endif
+#ifdef PR_SET_DUMPABLE
+		case PR_SET_DUMPABLE:
+			tprintf(", %lu", tcp->u_arg[1]);
+			break;
+#endif
+#ifdef PR_GET_DUMPABLE
+		case PR_GET_DUMPABLE:
+			break;
+#endif
+#ifdef PR_SET_UNALIGN
+		case PR_SET_UNALIGN:
+			tprintf(", %s", unalignctl_string(tcp->u_arg[1]));
+			break;
+#endif
+#ifdef PR_GET_UNALIGN
+		case PR_GET_UNALIGN:
+			tprintf(", %#lx", tcp->u_arg[1]);
+			break;
+#endif
+#ifdef PR_SET_KEEPCAPS
+		case PR_SET_KEEPCAPS:
+			tprintf(", %lu", tcp->u_arg[1]);
+			break;
+#endif
+#ifdef PR_GET_KEEPCAPS
+		case PR_GET_KEEPCAPS:
+			break;
+#endif
+		default:
+			for (i = 1; i < tcp->u_nargs; i++)
+				tprintf(", %#lx", tcp->u_arg[i]);
+			break;
+		}
+	} else {
+		switch (tcp->u_arg[0]) {
+#ifdef PR_GET_PDEATHSIG
+		case PR_GET_PDEATHSIG:
+			if (umove(tcp, tcp->u_arg[1], &i) < 0)
+				tprintf(", %#lx", tcp->u_arg[1]);
+			else
+				tprintf(", {%u}", i);
+			break;
+#endif
+#ifdef PR_GET_DUMPABLE
+		case PR_GET_DUMPABLE:
+			return RVAL_UDECIMAL;
+#endif
+#ifdef PR_GET_UNALIGN
+		case PR_GET_UNALIGN:
+			if (syserror(tcp) || umove(tcp, tcp->u_arg[1], &i) < 0)
+				break;
+			tcp->auxstr = unalignctl_string(i);
+			return RVAL_STR;
+#endif
+#ifdef PR_GET_KEEPCAPS
+		case PR_GET_KEEPCAPS:
+			return RVAL_UDECIMAL;
+#endif
+		default:
+			break;
+		}
+	}
+	return 0;
+}
+#endif /* HAVE_PRCTL */
+
+#if defined(FREEBSD) || defined(SUNOS4) || defined(SVR4)
+int
+sys_gethostid(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp))
+		return RVAL_HEX;
+	return 0;
+}
+#endif /* FREEBSD || SUNOS4 || SVR4 */
+
+int
+sys_sethostname(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printpathn(tcp, tcp->u_arg[0], tcp->u_arg[1]);
+		tprintf(", %lu", tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+#if defined(ALPHA) || defined(FREEBSD) || defined(SUNOS4) || defined(SVR4)
+int
+sys_gethostname(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp)) {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[0]);
+		else
+			printpath(tcp, tcp->u_arg[0]);
+		tprintf(", %lu", tcp->u_arg[1]);
+	}
+	return 0;
+}
+#endif /* ALPHA || FREEBSD || SUNOS4 || SVR4 */
+
+int
+sys_setdomainname(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printpathn(tcp, tcp->u_arg[0], tcp->u_arg[1]);
+		tprintf(", %lu", tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+#if !defined(LINUX)
+
+int
+sys_getdomainname(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp)) {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[0]);
+		else
+			printpath(tcp, tcp->u_arg[0]);
+		tprintf(", %lu", tcp->u_arg[1]);
+	}
+	return 0;
+}
+#endif /* !LINUX */
+
+int
+sys_exit(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp)) {
+		fprintf(stderr, "_exit returned!\n");
+		return -1;
+	}
+	/* special case: we stop tracing this process, finish line now */
+	tprintf("%ld) ", tcp->u_arg[0]);
+	tabto(acolumn);
+	tprintf("= ?");
+	printtrailer();
+	return 0;
+}
+
+int
+internal_exit(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tcp->flags |= TCB_EXITING;
+#ifdef __NR_exit_group
+# ifdef IA64
+		if (ia32) {
+			if (tcp->scno == 252)
+				tcp->flags |= TCB_GROUP_EXITING;
+		} else
+# endif
+		if (known_scno(tcp) == __NR_exit_group)
+			tcp->flags |= TCB_GROUP_EXITING;
+#endif
+	}
+	return 0;
+}
+
+/* TCP is creating a child we want to follow.
+   If there will be space in tcbtab for it, set TCB_FOLLOWFORK and return 0.
+   If not, clear TCB_FOLLOWFORK, print an error, and return 1.  */
+static void
+fork_tcb(struct tcb *tcp)
+{
+	if (nprocs == tcbtabsize)
+		expand_tcbtab();
+
+	tcp->flags |= TCB_FOLLOWFORK;
+}
+
+#ifdef USE_PROCFS
+
+int
+sys_fork(struct tcb *tcp)
+{
+	if (exiting(tcp) && !syserror(tcp)) {
+		if (getrval2(tcp)) {
+			tcp->auxstr = "child process";
+			return RVAL_UDECIMAL | RVAL_STR;
+		}
+	}
+	return 0;
+}
+
+#if UNIXWARE > 2
+
+int
+sys_rfork(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf ("%ld", tcp->u_arg[0]);
+	}
+	else if (!syserror(tcp)) {
+		if (getrval2(tcp)) {
+			tcp->auxstr = "child process";
+			return RVAL_UDECIMAL | RVAL_STR;
+		}
+	}
+	return 0;
+}
+
+#endif
+
+int
+internal_fork(tcp)
+struct tcb *tcp;
+{
+	struct tcb *tcpchild;
+
+	if (exiting(tcp)) {
+#ifdef SYS_rfork
+		if (known_scno(tcp) == SYS_rfork && !(tcp->u_arg[0]&RFPROC))
+			return 0;
+#endif
+		if (getrval2(tcp))
+			return 0;
+		if (!followfork)
+			return 0;
+		fork_tcb(tcp);
+		if (syserror(tcp))
+			return 0;
+		tcpchild = alloctcb(tcp->u_rval);
+		if (proc_open(tcpchild, 2) < 0)
+			droptcb(tcpchild);
+	}
+	return 0;
+}
+
+#else /* !USE_PROCFS */
+
+#ifdef LINUX
+
+/* defines copied from linux/sched.h since we can't include that
+ * ourselves (it conflicts with *lots* of libc includes)
+ */
+#define CSIGNAL         0x000000ff      /* signal mask to be sent at exit */
+#define CLONE_VM        0x00000100      /* set if VM shared between processes */
+#define CLONE_FS        0x00000200      /* set if fs info shared between processes */
+#define CLONE_FILES     0x00000400      /* set if open files shared between processes */
+#define CLONE_SIGHAND   0x00000800      /* set if signal handlers shared */
+#define CLONE_IDLETASK  0x00001000      /* kernel-only flag */
+#define CLONE_PTRACE    0x00002000      /* set if we want to let tracing continue on the child too */
+#define CLONE_VFORK     0x00004000      /* set if the parent wants the child to wake it up on mm_release */
+#define CLONE_PARENT    0x00008000      /* set if we want to have the same parent as the cloner */
+#define CLONE_THREAD	0x00010000	/* Same thread group? */
+#define CLONE_NEWNS	0x00020000	/* New namespace group? */
+#define CLONE_SYSVSEM	0x00040000	/* share system V SEM_UNDO semantics */
+#define CLONE_SETTLS	0x00080000	/* create a new TLS for the child */
+#define CLONE_PARENT_SETTID	0x00100000	/* set the TID in the parent */
+#define CLONE_CHILD_CLEARTID	0x00200000	/* clear the TID in the child */
+#define CLONE_DETACHED		0x00400000	/* parent wants no child-exit signal */
+#define CLONE_UNTRACED		0x00800000	/* set if the tracing process can't force CLONE_PTRACE on this clone */
+#define CLONE_CHILD_SETTID	0x01000000	/* set the TID in the child */
+
+static const struct xlat clone_flags[] = {
+    { CLONE_VM,		"CLONE_VM"	},
+    { CLONE_FS,		"CLONE_FS"	},
+    { CLONE_FILES,	"CLONE_FILES"	},
+    { CLONE_SIGHAND,	"CLONE_SIGHAND"	},
+    { CLONE_IDLETASK,	"CLONE_IDLETASK"},
+    { CLONE_PTRACE,	"CLONE_PTRACE"	},
+    { CLONE_VFORK,	"CLONE_VFORK"	},
+    { CLONE_PARENT,	"CLONE_PARENT"	},
+    { CLONE_THREAD,	"CLONE_THREAD" },
+    { CLONE_NEWNS,	"CLONE_NEWNS" },
+    { CLONE_SYSVSEM,	"CLONE_SYSVSEM" },
+    { CLONE_SETTLS,	"CLONE_SETTLS" },
+    { CLONE_PARENT_SETTID,"CLONE_PARENT_SETTID" },
+    { CLONE_CHILD_CLEARTID,"CLONE_CHILD_CLEARTID" },
+    { CLONE_DETACHED,	"CLONE_DETACHED" },
+    { CLONE_UNTRACED,	"CLONE_UNTRACED" },
+    { CLONE_CHILD_SETTID,"CLONE_CHILD_SETTID" },
+    { 0,		NULL		},
+};
+
+# ifdef I386
+#  include <asm/ldt.h>
+#   ifdef HAVE_STRUCT_USER_DESC
+#    define modify_ldt_ldt_s user_desc
+#   endif
+extern void print_ldt_entry();
+# endif
+
+# if defined IA64
+#  define ARG_FLAGS	0
+#  define ARG_STACK	1
+#  define ARG_STACKSIZE	(known_scno(tcp) == SYS_clone2 ? 2 : -1)
+#  define ARG_PTID	(known_scno(tcp) == SYS_clone2 ? 3 : 2)
+#  define ARG_CTID	(known_scno(tcp) == SYS_clone2 ? 4 : 3)
+#  define ARG_TLS	(known_scno(tcp) == SYS_clone2 ? 5 : 4)
+# elif defined S390 || defined S390X || defined CRISV10 || defined CRISV32
+#  define ARG_STACK	0
+#  define ARG_FLAGS	1
+#  define ARG_PTID	2
+#  define ARG_CTID	3
+#  define ARG_TLS	4
+# elif defined X86_64 || defined ALPHA
+#  define ARG_FLAGS	0
+#  define ARG_STACK	1
+#  define ARG_PTID	2
+#  define ARG_CTID	3
+#  define ARG_TLS	4
+# else
+#  define ARG_FLAGS	0
+#  define ARG_STACK	1
+#  define ARG_PTID	2
+#  define ARG_TLS	3
+#  define ARG_CTID	4
+# endif
+
+int
+sys_clone(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp)) {
+		unsigned long flags = tcp->u_arg[ARG_FLAGS];
+		tprintf("child_stack=%#lx, ", tcp->u_arg[ARG_STACK]);
+# ifdef ARG_STACKSIZE
+		if (ARG_STACKSIZE != -1)
+			tprintf("stack_size=%#lx, ",
+				tcp->u_arg[ARG_STACKSIZE]);
+# endif
+		tprintf("flags=");
+		printflags(clone_flags, flags &~ CSIGNAL, NULL);
+		if ((flags & CSIGNAL) != 0)
+			tprintf("|%s", signame(flags & CSIGNAL));
+		if ((flags & (CLONE_PARENT_SETTID|CLONE_CHILD_SETTID
+			      |CLONE_CHILD_CLEARTID|CLONE_SETTLS)) == 0)
+			return 0;
+		if (flags & CLONE_PARENT_SETTID)
+			tprintf(", parent_tidptr=%#lx", tcp->u_arg[ARG_PTID]);
+		if (flags & CLONE_SETTLS) {
+# ifdef I386
+			struct modify_ldt_ldt_s copy;
+			if (umove(tcp, tcp->u_arg[ARG_TLS], &copy) != -1) {
+				tprintf(", {entry_number:%d, ",
+					copy.entry_number);
+				if (!verbose(tcp))
+					tprintf("...}");
+				else
+					print_ldt_entry(&copy);
+			}
+			else
+# endif
+				tprintf(", tls=%#lx", tcp->u_arg[ARG_TLS]);
+		}
+		if (flags & (CLONE_CHILD_SETTID|CLONE_CHILD_CLEARTID))
+			tprintf(", child_tidptr=%#lx", tcp->u_arg[ARG_CTID]);
+	}
+	return 0;
+}
+
+int
+sys_unshare(struct tcb *tcp)
+{
+	if (entering(tcp))
+		printflags(clone_flags, tcp->u_arg[0], "CLONE_???");
+	return 0;
+}
+#endif /* LINUX */
+
+int
+sys_fork(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp))
+		return RVAL_UDECIMAL;
+	return 0;
+}
+
+int
+change_syscall(struct tcb *tcp, int new)
+{
+#ifdef LINUX
+#if defined(I386)
+	/* Attempt to make vfork into fork, which we can follow. */
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(ORIG_EAX * 4), new) < 0)
+		return -1;
+	return 0;
+#elif defined(X86_64)
+	/* Attempt to make vfork into fork, which we can follow. */
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(ORIG_RAX * 8), new) < 0)
+		return -1;
+	return 0;
+#elif defined(POWERPC)
+	if (ptrace(PTRACE_POKEUSER, tcp->pid,
+		   (char*)(sizeof(unsigned long)*PT_R0), new) < 0)
+		return -1;
+	return 0;
+#elif defined(S390) || defined(S390X)
+	/* s390 linux after 2.4.7 has a hook in entry.S to allow this */
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(PT_GPR2), new)<0)
+		return -1;
+	return 0;
+#elif defined(M68K)
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(4*PT_ORIG_D0), new)<0)
+		return -1;
+	return 0;
+#elif defined(SPARC) || defined(SPARC64)
+	struct pt_regs regs;
+	if (ptrace(PTRACE_GETREGS, tcp->pid, (char*)&regs, 0)<0)
+		return -1;
+	regs.u_regs[U_REG_G1] = new;
+	if (ptrace(PTRACE_SETREGS, tcp->pid, (char*)&regs, 0)<0)
+		return -1;
+	return 0;
+#elif defined(MIPS)
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(REG_V0), new)<0)
+		return -1;
+	return 0;
+#elif defined(ALPHA)
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(REG_A3), new)<0)
+		return -1;
+	return 0;
+#elif defined(AVR32)
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(REG_R8), new) < 0)
+		return -1;
+	return 0;
+#elif defined(BFIN)
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(REG_P0), new)<0)
+		return -1;
+	return 0;
+#elif defined(IA64)
+	if (ia32) {
+		switch (new) {
+		case 2:
+			break;	/* x86 SYS_fork */
+		case SYS_clone:
+			new = 120;
+			break;
+		default:
+			fprintf(stderr, "%s: unexpected syscall %d\n",
+				__FUNCTION__, new);
+			return -1;
+		}
+		if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(PT_R1), new)<0)
+			return -1;
+	} else if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(PT_R15), new)<0)
+		return -1;
+	return 0;
+#elif defined(HPPA)
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(PT_GR20), new)<0)
+		return -1;
+	return 0;
+#elif defined(SH)
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(4*(REG_REG0+3)), new)<0)
+		return -1;
+	return 0;
+#elif defined(SH64)
+	/* Top half of reg encodes the no. of args n as 0x1n.
+	   Assume 0 args as kernel never actually checks... */
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(REG_SYSCALL),
+				0x100000 | new) < 0)
+		return -1;
+	return 0;
+#elif defined(CRISV10) || defined(CRISV32)
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(4*PT_R9), new) < 0)
+		return -1;
+	return 0;
+#elif defined(ARM)
+	/* Some kernels support this, some (pre-2.6.16 or so) don't.  */
+# ifndef PTRACE_SET_SYSCALL
+#  define PTRACE_SET_SYSCALL 23
+# endif
+
+	if (ptrace (PTRACE_SET_SYSCALL, tcp->pid, 0, new & 0xffff) != 0)
+		return -1;
+
+	return 0;
+#elif defined(TILE)
+	if (ptrace(PTRACE_POKEUSER, tcp->pid,
+		   (char*)PTREGS_OFFSET_REG(0),
+		   new) != 0)
+		return -1;
+	return 0;
+#else
+#warning Do not know how to handle change_syscall for this architecture
+#endif /* architecture */
+#endif /* LINUX */
+	return -1;
+}
+
+#ifdef LINUX
+int
+internal_fork(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		if (!followfork)
+			return 0;
+		fork_tcb(tcp);
+		if (setbpt(tcp) < 0)
+			return 0;
+	} else {
+		struct tcb *tcpchild;
+		int pid;
+		int bpt;
+
+		if (!(tcp->flags & TCB_FOLLOWFORK))
+			return 0;
+
+		bpt = tcp->flags & TCB_BPTSET;
+
+		if (syserror(tcp)) {
+			if (bpt)
+				clearbpt(tcp);
+			return 0;
+		}
+
+		pid = tcp->u_rval;
+
+#ifdef CLONE_PTRACE		/* See new setbpt code.  */
+		tcpchild = pid2tcb(pid);
+		if (tcpchild != NULL) {
+			/* The child already reported its startup trap
+			   before the parent reported its syscall return.  */
+			if ((tcpchild->flags
+			     & (TCB_STARTUP|TCB_ATTACHED|TCB_SUSPENDED))
+			    != (TCB_STARTUP|TCB_ATTACHED|TCB_SUSPENDED))
+				fprintf(stderr, "\
+[preattached child %d of %d in weird state!]\n",
+					pid, tcp->pid);
+		}
+		else
+#endif /* CLONE_PTRACE */
+		{
+			fork_tcb(tcp);
+			tcpchild = alloctcb(pid);
+		}
+
+#ifndef CLONE_PTRACE
+		/* Attach to the new child */
+		if (ptrace(PTRACE_ATTACH, pid, (char *) 1, 0) < 0) {
+			if (bpt)
+				clearbpt(tcp);
+			perror("PTRACE_ATTACH");
+			fprintf(stderr, "Too late?\n");
+			droptcb(tcpchild);
+			return 0;
+		}
+#endif /* !CLONE_PTRACE */
+
+		if (bpt)
+			clearbpt(tcp);
+
+		tcpchild->flags |= TCB_ATTACHED;
+		/* Child has BPT too, must be removed on first occasion.  */
+		if (bpt) {
+			tcpchild->flags |= TCB_BPTSET;
+			tcpchild->baddr = tcp->baddr;
+			memcpy(tcpchild->inst, tcp->inst,
+				sizeof tcpchild->inst);
+		}
+		tcpchild->parent = tcp;
+		tcp->nchildren++;
+		if (tcpchild->flags & TCB_SUSPENDED) {
+			/* The child was born suspended, due to our having
+			   forced CLONE_PTRACE.  */
+			if (bpt)
+				clearbpt(tcpchild);
+
+			tcpchild->flags &= ~(TCB_SUSPENDED|TCB_STARTUP);
+			if (ptrace_restart(PTRACE_SYSCALL, tcpchild, 0) < 0)
+				return -1;
+
+			if (!qflag)
+				fprintf(stderr, "\
+Process %u resumed (parent %d ready)\n",
+					pid, tcp->pid);
+		}
+		else {
+			if (!qflag)
+				fprintf(stderr, "Process %d attached\n", pid);
+		}
+
+#ifdef TCB_CLONE_THREAD
+		{
+			/*
+			 * Save the flags used in this call,
+			 * in case we point TCP to our parent below.
+			 */
+			int call_flags = tcp->u_arg[ARG_FLAGS];
+			if ((tcp->flags & TCB_CLONE_THREAD) &&
+			    tcp->parent != NULL) {
+				/* The parent in this clone is itself a
+				   thread belonging to another process.
+				   There is no meaning to the parentage
+				   relationship of the new child with the
+				   thread, only with the process.  We
+				   associate the new thread with our
+				   parent.  Since this is done for every
+				   new thread, there will never be a
+				   TCB_CLONE_THREAD process that has
+				   children.  */
+				--tcp->nchildren;
+				tcp = tcp->parent;
+				tcpchild->parent = tcp;
+				++tcp->nchildren;
+			}
+			if (call_flags & CLONE_THREAD) {
+				tcpchild->flags |= TCB_CLONE_THREAD;
+				++tcp->nclone_threads;
+			}
+			if (call_flags & CLONE_DETACHED) {
+				tcpchild->flags |= TCB_CLONE_DETACHED;
+				++tcp->nclone_detached;
+			}
+		}
+#endif /* TCB_CLONE_THREAD */
+	}
+	return 0;
+}
+
+#else /* !LINUX */
+
+int
+internal_fork(tcp)
+struct tcb *tcp;
+{
+	struct tcb *tcpchild;
+	int pid;
+	int dont_follow = 0;
+
+#ifdef SYS_vfork
+	if (known_scno(tcp) == SYS_vfork) {
+		/* Attempt to make vfork into fork, which we can follow. */
+		if (change_syscall(tcp, SYS_fork) < 0)
+			dont_follow = 1;
+	}
+#endif
+	if (entering(tcp)) {
+		if (!followfork || dont_follow)
+			return 0;
+		fork_tcb(tcp);
+		if (setbpt(tcp) < 0)
+			return 0;
+	}
+	else {
+		int bpt = tcp->flags & TCB_BPTSET;
+
+		if (!(tcp->flags & TCB_FOLLOWFORK))
+			return 0;
+		if (bpt)
+			clearbpt(tcp);
+
+		if (syserror(tcp))
+			return 0;
+
+		pid = tcp->u_rval;
+		fork_tcb(tcp);
+		tcpchild = alloctcb(pid);
+#ifdef SUNOS4
+#ifdef oldway
+		/* The child must have run before it can be attached. */
+		{
+			struct timeval tv;
+			tv.tv_sec = 0;
+			tv.tv_usec = 10000;
+			select(0, NULL, NULL, NULL, &tv);
+		}
+		if (ptrace(PTRACE_ATTACH, pid, (char *)1, 0) < 0) {
+			perror("PTRACE_ATTACH");
+			fprintf(stderr, "Too late?\n");
+			droptcb(tcpchild);
+			return 0;
+		}
+#else /* !oldway */
+		/* Try to catch the new process as soon as possible. */
+		{
+			int i;
+			for (i = 0; i < 1024; i++)
+				if (ptrace(PTRACE_ATTACH, pid, (char *) 1, 0) >= 0)
+					break;
+			if (i == 1024) {
+				perror("PTRACE_ATTACH");
+				fprintf(stderr, "Too late?\n");
+				droptcb(tcpchild);
+				return 0;
+			}
+		}
+#endif /* !oldway */
+#endif /* SUNOS4 */
+		tcpchild->flags |= TCB_ATTACHED;
+		/* Child has BPT too, must be removed on first occasion */
+		if (bpt) {
+			tcpchild->flags |= TCB_BPTSET;
+			tcpchild->baddr = tcp->baddr;
+			memcpy(tcpchild->inst, tcp->inst,
+				sizeof tcpchild->inst);
+		}
+		tcpchild->parent = tcp;
+		tcp->nchildren++;
+		if (!qflag)
+			fprintf(stderr, "Process %d attached\n", pid);
+	}
+	return 0;
+}
+
+#endif /* !LINUX */
+
+#endif /* !USE_PROCFS */
+
+#if defined(SUNOS4) || defined(LINUX) || defined(FREEBSD)
+
+int
+sys_vfork(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp))
+		return RVAL_UDECIMAL;
+	return 0;
+}
+
+#endif /* SUNOS4 || LINUX || FREEBSD */
+
+#ifndef LINUX
+
+static char idstr[16];
+
+int
+sys_getpid(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp)) {
+		sprintf(idstr, "ppid %lu", getrval2(tcp));
+		tcp->auxstr = idstr;
+		return RVAL_STR;
+	}
+	return 0;
+}
+
+int
+sys_getuid(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp)) {
+		sprintf(idstr, "euid %lu", getrval2(tcp));
+		tcp->auxstr = idstr;
+		return RVAL_STR;
+	}
+	return 0;
+}
+
+int
+sys_getgid(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp)) {
+		sprintf(idstr, "egid %lu", getrval2(tcp));
+		tcp->auxstr = idstr;
+		return RVAL_STR;
+	}
+	return 0;
+}
+
+#endif /* !LINUX */
+
+#ifdef LINUX
+
+int
+sys_setuid(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%u", (uid_t) tcp->u_arg[0]);
+	}
+	return 0;
+}
+
+int
+sys_setgid(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%u", (gid_t) tcp->u_arg[0]);
+	}
+	return 0;
+}
+
+int
+sys_getresuid(struct tcb *tcp)
+{
+	if (exiting(tcp)) {
+		__kernel_uid_t uid;
+		if (syserror(tcp))
+			tprintf("%#lx, %#lx, %#lx", tcp->u_arg[0],
+				tcp->u_arg[1], tcp->u_arg[2]);
+		else {
+			if (umove(tcp, tcp->u_arg[0], &uid) < 0)
+				tprintf("%#lx, ", tcp->u_arg[0]);
+			else
+				tprintf("[%lu], ", (unsigned long) uid);
+			if (umove(tcp, tcp->u_arg[1], &uid) < 0)
+				tprintf("%#lx, ", tcp->u_arg[1]);
+			else
+				tprintf("[%lu], ", (unsigned long) uid);
+			if (umove(tcp, tcp->u_arg[2], &uid) < 0)
+				tprintf("%#lx", tcp->u_arg[2]);
+			else
+				tprintf("[%lu]", (unsigned long) uid);
+		}
+	}
+	return 0;
+}
+
+int
+sys_getresgid(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp)) {
+		__kernel_gid_t gid;
+		if (syserror(tcp))
+			tprintf("%#lx, %#lx, %#lx", tcp->u_arg[0],
+				tcp->u_arg[1], tcp->u_arg[2]);
+		else {
+			if (umove(tcp, tcp->u_arg[0], &gid) < 0)
+				tprintf("%#lx, ", tcp->u_arg[0]);
+			else
+				tprintf("[%lu], ", (unsigned long) gid);
+			if (umove(tcp, tcp->u_arg[1], &gid) < 0)
+				tprintf("%#lx, ", tcp->u_arg[1]);
+			else
+				tprintf("[%lu], ", (unsigned long) gid);
+			if (umove(tcp, tcp->u_arg[2], &gid) < 0)
+				tprintf("%#lx", tcp->u_arg[2]);
+			else
+				tprintf("[%lu]", (unsigned long) gid);
+		}
+	}
+	return 0;
+}
+
+#endif /* LINUX */
+
+int
+sys_setreuid(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printuid("", tcp->u_arg[0]);
+		printuid(", ", tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+int
+sys_setregid(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printuid("", tcp->u_arg[0]);
+		printuid(", ", tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+#if defined(LINUX) || defined(FREEBSD)
+int
+sys_setresuid(tcp)
+     struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printuid("", tcp->u_arg[0]);
+		printuid(", ", tcp->u_arg[1]);
+		printuid(", ", tcp->u_arg[2]);
+	}
+	return 0;
+}
+int
+sys_setresgid(tcp)
+     struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printuid("", tcp->u_arg[0]);
+		printuid(", ", tcp->u_arg[1]);
+		printuid(", ", tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+#endif /* LINUX || FREEBSD */
+
+int
+sys_setgroups(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		unsigned long len, size, start, cur, end, abbrev_end;
+		GETGROUPS_T gid;
+		int failed = 0;
+
+		len = tcp->u_arg[0];
+		tprintf("%lu, ", len);
+		if (len == 0) {
+			tprintf("[]");
+			return 0;
+		}
+		start = tcp->u_arg[1];
+		if (start == 0) {
+			tprintf("NULL");
+			return 0;
+		}
+		size = len * sizeof(gid);
+		end = start + size;
+		if (!verbose(tcp) || size / sizeof(gid) != len || end < start) {
+			tprintf("%#lx", start);
+			return 0;
+		}
+		if (abbrev(tcp)) {
+			abbrev_end = start + max_strlen * sizeof(gid);
+			if (abbrev_end < start)
+				abbrev_end = end;
+		} else {
+			abbrev_end = end;
+		}
+		tprintf("[");
+		for (cur = start; cur < end; cur += sizeof(gid)) {
+			if (cur > start)
+				tprintf(", ");
+			if (cur >= abbrev_end) {
+				tprintf("...");
+				break;
+			}
+			if (umoven(tcp, cur, sizeof(gid), (char *) &gid) < 0) {
+				tprintf("?");
+				failed = 1;
+				break;
+			}
+			tprintf("%lu", (unsigned long) gid);
+		}
+		tprintf("]");
+		if (failed)
+			tprintf(" %#lx", tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+int
+sys_getgroups(tcp)
+struct tcb *tcp;
+{
+	unsigned long len;
+
+	if (entering(tcp)) {
+		len = tcp->u_arg[0];
+		tprintf("%lu, ", len);
+	} else {
+		unsigned long size, start, cur, end, abbrev_end;
+		GETGROUPS_T gid;
+		int failed = 0;
+
+		len = tcp->u_rval;
+		if (len == 0) {
+			tprintf("[]");
+			return 0;
+		}
+		start = tcp->u_arg[1];
+		if (start == 0) {
+			tprintf("NULL");
+			return 0;
+		}
+		if (tcp->u_arg[0] == 0) {
+			tprintf("%#lx", start);
+			return 0;
+		}
+		size = len * sizeof(gid);
+		end = start + size;
+		if (!verbose(tcp) || tcp->u_arg[0] == 0 ||
+		    size / sizeof(gid) != len || end < start) {
+			tprintf("%#lx", start);
+			return 0;
+		}
+		if (abbrev(tcp)) {
+			abbrev_end = start + max_strlen * sizeof(gid);
+			if (abbrev_end < start)
+				abbrev_end = end;
+		} else {
+			abbrev_end = end;
+		}
+		tprintf("[");
+		for (cur = start; cur < end; cur += sizeof(gid)) {
+			if (cur > start)
+				tprintf(", ");
+			if (cur >= abbrev_end) {
+				tprintf("...");
+				break;
+			}
+			if (umoven(tcp, cur, sizeof(gid), (char *) &gid) < 0) {
+				tprintf("?");
+				failed = 1;
+				break;
+			}
+			tprintf("%lu", (unsigned long) gid);
+		}
+		tprintf("]");
+		if (failed)
+			tprintf(" %#lx", tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+#ifdef LINUX
+int
+sys_setgroups32(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		unsigned long len, size, start, cur, end, abbrev_end;
+		GETGROUPS32_T gid;
+		int failed = 0;
+
+		len = tcp->u_arg[0];
+		tprintf("%lu, ", len);
+		if (len == 0) {
+			tprintf("[]");
+			return 0;
+		}
+		start = tcp->u_arg[1];
+		if (start == 0) {
+			tprintf("NULL");
+			return 0;
+		}
+		size = len * sizeof(gid);
+		end = start + size;
+		if (!verbose(tcp) || size / sizeof(gid) != len || end < start) {
+			tprintf("%#lx", start);
+			return 0;
+		}
+		if (abbrev(tcp)) {
+			abbrev_end = start + max_strlen * sizeof(gid);
+			if (abbrev_end < start)
+				abbrev_end = end;
+		} else {
+			abbrev_end = end;
+		}
+		tprintf("[");
+		for (cur = start; cur < end; cur += sizeof(gid)) {
+			if (cur > start)
+				tprintf(", ");
+			if (cur >= abbrev_end) {
+				tprintf("...");
+				break;
+			}
+			if (umoven(tcp, cur, sizeof(gid), (char *) &gid) < 0) {
+				tprintf("?");
+				failed = 1;
+				break;
+			}
+			tprintf("%lu", (unsigned long) gid);
+		}
+		tprintf("]");
+		if (failed)
+			tprintf(" %#lx", tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+int
+sys_getgroups32(tcp)
+struct tcb *tcp;
+{
+	unsigned long len;
+
+	if (entering(tcp)) {
+		len = tcp->u_arg[0];
+		tprintf("%lu, ", len);
+	} else {
+		unsigned long size, start, cur, end, abbrev_end;
+		GETGROUPS32_T gid;
+		int failed = 0;
+
+		len = tcp->u_rval;
+		if (len == 0) {
+			tprintf("[]");
+			return 0;
+		}
+		start = tcp->u_arg[1];
+		if (start == 0) {
+			tprintf("NULL");
+			return 0;
+		}
+		size = len * sizeof(gid);
+		end = start + size;
+		if (!verbose(tcp) || tcp->u_arg[0] == 0 ||
+		    size / sizeof(gid) != len || end < start) {
+			tprintf("%#lx", start);
+			return 0;
+		}
+		if (abbrev(tcp)) {
+			abbrev_end = start + max_strlen * sizeof(gid);
+			if (abbrev_end < start)
+				abbrev_end = end;
+		} else {
+			abbrev_end = end;
+		}
+		tprintf("[");
+		for (cur = start; cur < end; cur += sizeof(gid)) {
+			if (cur > start)
+				tprintf(", ");
+			if (cur >= abbrev_end) {
+				tprintf("...");
+				break;
+			}
+			if (umoven(tcp, cur, sizeof(gid), (char *) &gid) < 0) {
+				tprintf("?");
+				failed = 1;
+				break;
+			}
+			tprintf("%lu", (unsigned long) gid);
+		}
+		tprintf("]");
+		if (failed)
+			tprintf(" %#lx", tcp->u_arg[1]);
+	}
+	return 0;
+}
+#endif /* LINUX */
+
+#if defined(ALPHA) || defined(SUNOS4) || defined(SVR4)
+int
+sys_setpgrp(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+#ifndef SVR4
+		tprintf("%lu, %lu", tcp->u_arg[0], tcp->u_arg[1]);
+#endif /* !SVR4 */
+	}
+	return 0;
+}
+#endif /* ALPHA || SUNOS4 || SVR4 */
+
+int
+sys_getpgrp(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+#ifndef SVR4
+		tprintf("%lu", tcp->u_arg[0]);
+#endif /* !SVR4 */
+	}
+	return 0;
+}
+
+int
+sys_getsid(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%lu", tcp->u_arg[0]);
+	}
+	return 0;
+}
+
+int
+sys_setsid(tcp)
+struct tcb *tcp;
+{
+	return 0;
+}
+
+int
+sys_getpgid(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%lu", tcp->u_arg[0]);
+	}
+	return 0;
+}
+
+int
+sys_setpgid(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%lu, %lu", tcp->u_arg[0], tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+#if UNIXWARE >= 2
+
+#include <sys/privilege.h>
+
+
+static const struct xlat procpriv_cmds [] = {
+	{ SETPRV,	"SETPRV"	},
+	{ CLRPRV,	"CLRPRV"	},
+	{ PUTPRV,	"PUTPRV"	},
+	{ GETPRV,	"GETPRV"	},
+	{ CNTPRV,	"CNTPRV"	},
+	{ 0,		NULL		},
+};
+
+
+static const struct xlat procpriv_priv [] = {
+	{ P_OWNER,	"P_OWNER"	},
+	{ P_AUDIT,	"P_AUDIT"	},
+	{ P_COMPAT,	"P_COMPAT"	},
+	{ P_DACREAD,	"P_DACREAD"	},
+	{ P_DACWRITE,	"P_DACWRITE"	},
+	{ P_DEV,	"P_DEV"		},
+	{ P_FILESYS,	"P_FILESYS"	},
+	{ P_MACREAD,	"P_MACREAD"	},
+	{ P_MACWRITE,	"P_MACWRITE"	},
+	{ P_MOUNT,	"P_MOUNT"	},
+	{ P_MULTIDIR,	"P_MULTIDIR"	},
+	{ P_SETPLEVEL,	"P_SETPLEVEL"	},
+	{ P_SETSPRIV,	"P_SETSPRIV"	},
+	{ P_SETUID,	"P_SETUID"	},
+	{ P_SYSOPS,	"P_SYSOPS"	},
+	{ P_SETUPRIV,	"P_SETUPRIV"	},
+	{ P_DRIVER,	"P_DRIVER"	},
+	{ P_RTIME,	"P_RTIME"	},
+	{ P_MACUPGRADE,	"P_MACUPGRADE"	},
+	{ P_FSYSRANGE,	"P_FSYSRANGE"	},
+	{ P_SETFLEVEL,	"P_SETFLEVEL"	},
+	{ P_AUDITWR,	"P_AUDITWR"	},
+	{ P_TSHAR,	"P_TSHAR"	},
+	{ P_PLOCK,	"P_PLOCK"	},
+	{ P_CORE,	"P_CORE"	},
+	{ P_LOADMOD,	"P_LOADMOD"	},
+	{ P_BIND,	"P_BIND"	},
+	{ P_ALLPRIVS,	"P_ALLPRIVS"	},
+	{ 0,		NULL		},
+};
+
+
+static const struct xlat procpriv_type [] = {
+	{ PS_FIX,	"PS_FIX"	},
+	{ PS_INH,	"PS_INH"	},
+	{ PS_MAX,	"PS_MAX"	},
+	{ PS_WKG,	"PS_WKG"	},
+	{ 0,		NULL		},
+};
+
+
+static void
+printpriv(struct tcb *tcp, long addr, int len, const struct xlat *opt)
+{
+	priv_t buf [128];
+	int max = verbose (tcp) ? sizeof buf / sizeof buf [0] : 10;
+	int dots = len > max;
+	int i;
+
+	if (len > max) len = max;
+
+	if (len <= 0 ||
+	    umoven (tcp, addr, len * sizeof buf[0], (char *) buf) < 0)
+	{
+		tprintf ("%#lx", addr);
+		return;
+	}
+
+	tprintf ("[");
+
+	for (i = 0; i < len; ++i) {
+		const char *t, *p;
+
+		if (i) tprintf (", ");
+
+		if ((t = xlookup (procpriv_type, buf [i] & PS_TYPE)) &&
+		    (p = xlookup (procpriv_priv, buf [i] & ~PS_TYPE)))
+		{
+			tprintf ("%s|%s", t, p);
+		}
+		else {
+			tprintf ("%#lx", buf [i]);
+		}
+	}
+
+	if (dots) tprintf (" ...");
+
+	tprintf ("]");
+}
+
+
+int
+sys_procpriv(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printxval(procpriv_cmds, tcp->u_arg[0], "???PRV");
+		switch (tcp->u_arg[0]) {
+		    case CNTPRV:
+			tprintf(", %#lx, %ld", tcp->u_arg[1], tcp->u_arg[2]);
+			break;
+
+		    case GETPRV:
+			break;
+
+		    default:
+			tprintf (", ");
+			printpriv (tcp, tcp->u_arg[1], tcp->u_arg[2]);
+			tprintf (", %ld", tcp->u_arg[2]);
+		}
+	}
+	else if (tcp->u_arg[0] == GETPRV) {
+		if (syserror (tcp)) {
+			tprintf(", %#lx, %ld", tcp->u_arg[1], tcp->u_arg[2]);
+		}
+		else {
+			tprintf (", ");
+			printpriv (tcp, tcp->u_arg[1], tcp->u_rval);
+			tprintf (", %ld", tcp->u_arg[2]);
+		}
+	}
+
+	return 0;
+}
+
+#endif /* UNIXWARE */
+
+
+static void
+printargv(tcp, addr)
+struct tcb *tcp;
+long addr;
+{
+	union {
+		unsigned int p32;
+		unsigned long p64;
+		char data[sizeof(long)];
+	} cp;
+	char *sep;
+	int n = 0;
+
+	cp.p64 = 1;
+	for (sep = ""; !abbrev(tcp) || n < max_strlen / 2; sep = ", ", ++n) {
+		if (umoven(tcp, addr, personality_wordsize[current_personality],
+			   cp.data) < 0) {
+			tprintf("%#lx", addr);
+			return;
+		}
+		if (personality_wordsize[current_personality] == 4)
+			cp.p64 = cp.p32;
+		if (cp.p64 == 0)
+			break;
+		tprintf("%s", sep);
+		printstr(tcp, cp.p64, -1);
+		addr += personality_wordsize[current_personality];
+	}
+	if (cp.p64)
+		tprintf("%s...", sep);
+}
+
+static void
+printargc(fmt, tcp, addr)
+char *fmt;
+struct tcb *tcp;
+long addr;
+{
+	int count;
+	char *cp;
+
+	for (count = 0; umove(tcp, addr, &cp) >= 0 && cp != NULL; count++) {
+		addr += sizeof(char *);
+	}
+	tprintf(fmt, count, count == 1 ? "" : "s");
+}
+
+#if defined(SPARC) || defined(SPARC64) || defined(SUNOS4)
+int
+sys_execv(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		if (!verbose(tcp))
+			tprintf(", %#lx", tcp->u_arg[1]);
+		else {
+			tprintf(", [");
+			printargv(tcp, tcp->u_arg[1]);
+			tprintf("]");
+		}
+	}
+	return 0;
+}
+#endif /* SPARC || SPARC64 || SUNOS4 */
+
+int
+sys_execve(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		if (!verbose(tcp))
+			tprintf(", %#lx", tcp->u_arg[1]);
+		else {
+			tprintf(", [");
+			printargv(tcp, tcp->u_arg[1]);
+			tprintf("]");
+		}
+		if (!verbose(tcp))
+			tprintf(", %#lx", tcp->u_arg[2]);
+		else if (abbrev(tcp))
+			printargc(", [/* %d var%s */]", tcp, tcp->u_arg[2]);
+		else {
+			tprintf(", [");
+			printargv(tcp, tcp->u_arg[2]);
+			tprintf("]");
+		}
+	}
+	return 0;
+}
+
+#if UNIXWARE > 2
+
+int sys_rexecve(tcp)
+struct tcb *tcp;
+{
+	if (entering (tcp)) {
+		sys_execve (tcp);
+		tprintf (", %ld", tcp->u_arg[3]);
+	}
+	return 0;
+}
+
+#endif
+
+int
+internal_exec(tcp)
+struct tcb *tcp;
+{
+#ifdef SUNOS4
+	if (exiting(tcp) && !syserror(tcp) && followfork)
+		fixvfork(tcp);
+#endif /* SUNOS4 */
+#if defined LINUX && defined TCB_WAITEXECVE
+	if (exiting(tcp) && syserror(tcp))
+		tcp->flags &= ~TCB_WAITEXECVE;
+	else
+		tcp->flags |= TCB_WAITEXECVE;
+#endif /* LINUX && TCB_WAITEXECVE */
+	return 0;
+}
+
+#ifdef LINUX
+#ifndef __WNOTHREAD
+#define __WNOTHREAD	0x20000000
+#endif
+#ifndef __WALL
+#define __WALL		0x40000000
+#endif
+#ifndef __WCLONE
+#define __WCLONE	0x80000000
+#endif
+#endif /* LINUX */
+
+static const struct xlat wait4_options[] = {
+	{ WNOHANG,	"WNOHANG"	},
+#ifndef WSTOPPED
+	{ WUNTRACED,	"WUNTRACED"	},
+#endif
+#ifdef WEXITED
+	{ WEXITED,	"WEXITED"	},
+#endif
+#ifdef WTRAPPED
+	{ WTRAPPED,	"WTRAPPED"	},
+#endif
+#ifdef WSTOPPED
+	{ WSTOPPED,	"WSTOPPED"	},
+#endif
+#ifdef WCONTINUED
+	{ WCONTINUED,	"WCONTINUED"	},
+#endif
+#ifdef WNOWAIT
+	{ WNOWAIT,	"WNOWAIT"	},
+#endif
+#ifdef __WCLONE
+	{ __WCLONE,	"__WCLONE"	},
+#endif
+#ifdef __WALL
+	{ __WALL,	"__WALL"	},
+#endif
+#ifdef __WNOTHREAD
+	{ __WNOTHREAD,	"__WNOTHREAD"	},
+#endif
+	{ 0,		NULL		},
+};
+
+#if !defined WCOREFLAG && defined WCOREFLG
+# define WCOREFLAG WCOREFLG
+#endif
+#ifndef WCOREFLAG
+# define WCOREFLAG 0x80
+#endif
+#ifndef WCOREDUMP
+# define WCOREDUMP(status) ((status) & 0200)
+#endif
+
+
+#ifndef W_STOPCODE
+#define W_STOPCODE(sig)		((sig) << 8 | 0x7f)
+#endif
+#ifndef W_EXITCODE
+#define W_EXITCODE(ret, sig)	((ret) << 8 | (sig))
+#endif
+
+static int
+printstatus(status)
+int status;
+{
+	int exited = 0;
+
+	/*
+	 * Here is a tricky presentation problem.  This solution
+	 * is still not entirely satisfactory but since there
+	 * are no wait status constructors it will have to do.
+	 */
+	if (WIFSTOPPED(status)) {
+		tprintf("[{WIFSTOPPED(s) && WSTOPSIG(s) == %s}",
+			signame(WSTOPSIG(status)));
+		status &= ~W_STOPCODE(WSTOPSIG(status));
+	}
+	else if (WIFSIGNALED(status)) {
+		tprintf("[{WIFSIGNALED(s) && WTERMSIG(s) == %s%s}",
+			signame(WTERMSIG(status)),
+			WCOREDUMP(status) ? " && WCOREDUMP(s)" : "");
+		status &= ~(W_EXITCODE(0, WTERMSIG(status)) | WCOREFLAG);
+	}
+	else if (WIFEXITED(status)) {
+		tprintf("[{WIFEXITED(s) && WEXITSTATUS(s) == %d}",
+			WEXITSTATUS(status));
+		exited = 1;
+		status &= ~W_EXITCODE(WEXITSTATUS(status), 0);
+	}
+	else {
+		tprintf("[%#x]", status);
+		return 0;
+	}
+
+	if (status == 0)
+		tprintf("]");
+	else
+		tprintf(" | %#x]", status);
+
+	return exited;
+}
+
+static int
+printwaitn(struct tcb *tcp, int n, int bitness)
+{
+	int status;
+	int exited = 0;
+
+	if (entering(tcp)) {
+#ifdef LINUX
+		/* On Linux, kernel-side pid_t is typedef'ed to int
+		 * on all arches. Also, glibc-2.8 truncates wait3 and wait4
+		 * pid argument to int on 64bit arches, producing,
+		 * for example, wait4(4294967295, ...) instead of -1
+		 * in strace. We have to use int here, not long.
+		 */
+		int pid = tcp->u_arg[0];
+		tprintf("%d, ", pid);
+#else
+		/*
+		 * Sign-extend a 32-bit value when that's what it is.
+		 */
+		long pid = tcp->u_arg[0];
+		if (personality_wordsize[current_personality] < sizeof pid)
+			pid = (long) (int) pid;
+		tprintf("%ld, ", pid);
+#endif
+	} else {
+		/* status */
+		if (!tcp->u_arg[1])
+			tprintf("NULL");
+		else if (syserror(tcp) || tcp->u_rval == 0)
+			tprintf("%#lx", tcp->u_arg[1]);
+		else if (umove(tcp, tcp->u_arg[1], &status) < 0)
+			tprintf("[?]");
+		else
+			exited = printstatus(status);
+		/* options */
+		tprintf(", ");
+		printflags(wait4_options, tcp->u_arg[2], "W???");
+		if (n == 4) {
+			tprintf(", ");
+			/* usage */
+			if (!tcp->u_arg[3])
+				tprintf("NULL");
+#ifdef LINUX
+			else if (tcp->u_rval > 0) {
+#ifdef ALPHA
+				if (bitness)
+					printrusage32(tcp, tcp->u_arg[3]);
+				else
+#endif
+					printrusage(tcp, tcp->u_arg[3]);
+			}
+#endif /* LINUX */
+#ifdef SUNOS4
+			else if (tcp->u_rval > 0 && exited)
+				printrusage(tcp, tcp->u_arg[3]);
+#endif /* SUNOS4 */
+			else
+				tprintf("%#lx", tcp->u_arg[3]);
+		}
+	}
+	return 0;
+}
+
+int
+internal_wait(tcp, flagarg)
+struct tcb *tcp;
+int flagarg;
+{
+	int got_kids;
+
+#ifdef TCB_CLONE_THREAD
+	if (tcp->flags & TCB_CLONE_THREAD)
+		/* The children we wait for are our parent's children.  */
+		got_kids = (tcp->parent->nchildren
+			    > tcp->parent->nclone_detached);
+	else
+		got_kids = (tcp->nchildren > tcp->nclone_detached);
+#else
+	got_kids = tcp->nchildren > 0;
+#endif
+
+	if (entering(tcp) && got_kids) {
+		/* There are children that this parent should block for.
+		   But ptrace made us the parent of the traced children
+		   and the real parent will get ECHILD from the wait call.
+
+		   XXX If we attached with strace -f -p PID, then there
+		   may be untraced dead children the parent could be reaping
+		   now, but we make him block.  */
+
+		/* ??? WTA: fix bug with hanging children */
+
+		if (!(tcp->u_arg[flagarg] & WNOHANG)) {
+			/*
+			 * There are traced children.  We'll make the parent
+			 * block to avoid a false ECHILD error due to our
+			 * ptrace having stolen the children.  However,
+			 * we shouldn't block if there are zombies to reap.
+			 * XXX doesn't handle pgrp matches (u_arg[0]==0,<-1)
+			 */
+			struct tcb *child = NULL;
+			if (tcp->nzombies > 0 &&
+			    (tcp->u_arg[0] == -1 ||
+			     (child = pid2tcb(tcp->u_arg[0])) == NULL))
+				return 0;
+			if (tcp->u_arg[0] > 0) {
+				/*
+				 * If the parent waits for a specified child
+				 * PID, then it must get ECHILD right away
+				 * if that PID is not one of its children.
+				 * Make sure that the requested PID matches
+				 * one of the parent's children that we are
+				 * tracing, and don't suspend it otherwise.
+				 */
+				if (child == NULL)
+					child = pid2tcb(tcp->u_arg[0]);
+				if (child == NULL || child->parent != (
+#ifdef TCB_CLONE_THREAD
+					    (tcp->flags & TCB_CLONE_THREAD)
+					    ? tcp->parent :
+#endif
+					    tcp) ||
+				    (child->flags & TCB_EXITING))
+					return 0;
+			}
+			tcp->flags |= TCB_SUSPENDED;
+			tcp->waitpid = tcp->u_arg[0];
+#ifdef TCB_CLONE_THREAD
+			if (tcp->flags & TCB_CLONE_THREAD)
+				tcp->parent->nclone_waiting++;
+#endif
+		}
+	}
+	if (exiting(tcp) && tcp->u_error == ECHILD && got_kids) {
+		if (tcp->u_arg[flagarg] & WNOHANG) {
+			/* We must force a fake result of 0 instead of
+			   the ECHILD error.  */
+			extern int force_result();
+			return force_result(tcp, 0, 0);
+		}
+	}
+	else if (exiting(tcp) && tcp->u_error == 0 && tcp->u_rval > 0 &&
+		 tcp->nzombies > 0 && pid2tcb(tcp->u_rval) == NULL) {
+		/*
+		 * We just reaped a child we don't know about,
+		 * presumably a zombie we already droptcb'd.
+		 */
+		tcp->nzombies--;
+	}
+	return 0;
+}
+
+#ifdef SVR4
+
+int
+sys_wait(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp)) {
+		/* The library wrapper stuffs this into the user variable. */
+		if (!syserror(tcp))
+			printstatus(getrval2(tcp));
+	}
+	return 0;
+}
+
+#endif /* SVR4 */
+
+#ifdef FREEBSD
+int
+sys_wait(tcp)
+struct tcb *tcp;
+{
+	int status;
+
+	if (exiting(tcp)) {
+		if (!syserror(tcp)) {
+			if (umove(tcp, tcp->u_arg[0], &status) < 0)
+				tprintf("%#lx", tcp->u_arg[0]);
+			else
+				printstatus(status);
+		}
+	}
+	return 0;
+}
+#endif
+
+int
+sys_waitpid(tcp)
+struct tcb *tcp;
+{
+	return printwaitn(tcp, 3, 0);
+}
+
+int
+sys_wait4(tcp)
+struct tcb *tcp;
+{
+	return printwaitn(tcp, 4, 0);
+}
+
+#ifdef ALPHA
+int
+sys_osf_wait4(tcp)
+struct tcb *tcp;
+{
+	return printwaitn(tcp, 4, 1);
+}
+#endif
+
+#if defined SVR4 || defined LINUX
+
+static const struct xlat waitid_types[] = {
+	{ P_PID,	"P_PID"		},
+#ifdef P_PPID
+	{ P_PPID,	"P_PPID"	},
+#endif
+	{ P_PGID,	"P_PGID"	},
+#ifdef P_SID
+	{ P_SID,	"P_SID"		},
+#endif
+#ifdef P_CID
+	{ P_CID,	"P_CID"		},
+#endif
+#ifdef P_UID
+	{ P_UID,	"P_UID"		},
+#endif
+#ifdef P_GID
+	{ P_GID,	"P_GID"		},
+#endif
+	{ P_ALL,	"P_ALL"		},
+#ifdef P_LWPID
+	{ P_LWPID,	"P_LWPID"	},
+#endif
+	{ 0,		NULL		},
+};
+
+int
+sys_waitid(tcp)
+struct tcb *tcp;
+{
+	siginfo_t si;
+	int exited;
+
+	if (entering(tcp)) {
+		printxval(waitid_types, tcp->u_arg[0], "P_???");
+		tprintf(", %ld, ", tcp->u_arg[1]);
+	}
+	else {
+		/* siginfo */
+		exited = 0;
+		if (!tcp->u_arg[2])
+			tprintf("NULL");
+		else if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[2]);
+		else if (umove(tcp, tcp->u_arg[2], &si) < 0)
+			tprintf("{???}");
+		else
+			printsiginfo(&si, verbose(tcp));
+		/* options */
+		tprintf(", ");
+		printflags(wait4_options, tcp->u_arg[3], "W???");
+		if (tcp->u_nargs > 4) {
+			/* usage */
+			tprintf(", ");
+			if (!tcp->u_arg[4])
+				tprintf("NULL");
+			else if (tcp->u_error)
+				tprintf("%#lx", tcp->u_arg[4]);
+			else
+				printrusage(tcp, tcp->u_arg[4]);
+		}
+	}
+	return 0;
+}
+
+#endif /* SVR4 or LINUX */
+
+int
+sys_alarm(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp))
+		tprintf("%lu", tcp->u_arg[0]);
+	return 0;
+}
+
+int
+sys_uname(tcp)
+struct tcb *tcp;
+{
+	struct utsname uname;
+
+	if (exiting(tcp)) {
+		if (syserror(tcp) || !verbose(tcp))
+			tprintf("%#lx", tcp->u_arg[0]);
+		else if (umove(tcp, tcp->u_arg[0], &uname) < 0)
+			tprintf("{...}");
+		else if (!abbrev(tcp)) {
+
+			tprintf("{sysname=\"%s\", nodename=\"%s\", ",
+				uname.sysname, uname.nodename);
+			tprintf("release=\"%s\", version=\"%s\", ",
+				uname.release, uname.version);
+			tprintf("machine=\"%s\"", uname.machine);
+#ifdef LINUX
+#ifndef __GLIBC__
+			tprintf(", domainname=\"%s\"", uname.domainname);
+#endif
+#endif
+			tprintf("}");
+		}
+		else
+			tprintf("{sys=\"%s\", node=\"%s\", ...}",
+				uname.sysname, uname.nodename);
+	}
+	return 0;
+}
+
+#ifndef SVR4
+
+static const struct xlat ptrace_cmds[] = {
+# ifndef FREEBSD
+	{ PTRACE_TRACEME,	"PTRACE_TRACEME"	},
+	{ PTRACE_PEEKTEXT,	"PTRACE_PEEKTEXT",	},
+	{ PTRACE_PEEKDATA,	"PTRACE_PEEKDATA",	},
+	{ PTRACE_PEEKUSER,	"PTRACE_PEEKUSER",	},
+	{ PTRACE_POKETEXT,	"PTRACE_POKETEXT",	},
+	{ PTRACE_POKEDATA,	"PTRACE_POKEDATA",	},
+	{ PTRACE_POKEUSER,	"PTRACE_POKEUSER",	},
+	{ PTRACE_CONT,		"PTRACE_CONT"		},
+	{ PTRACE_KILL,		"PTRACE_KILL"		},
+	{ PTRACE_SINGLESTEP,	"PTRACE_SINGLESTEP"	},
+	{ PTRACE_ATTACH,	"PTRACE_ATTACH"		},
+	{ PTRACE_DETACH,	"PTRACE_DETACH"		},
+#  ifdef PTRACE_GETREGS
+	{ PTRACE_GETREGS,	"PTRACE_GETREGS"	},
+#  endif
+#  ifdef PTRACE_SETREGS
+	{ PTRACE_SETREGS,	"PTRACE_SETREGS"	},
+#  endif
+#  ifdef PTRACE_GETFPREGS
+	{ PTRACE_GETFPREGS,	"PTRACE_GETFPREGS",	},
+#  endif
+#  ifdef PTRACE_SETFPREGS
+	{ PTRACE_SETFPREGS,	"PTRACE_SETFPREGS",	},
+#  endif
+#  ifdef PTRACE_GETFPXREGS
+	{ PTRACE_GETFPXREGS,	"PTRACE_GETFPXREGS",	},
+#  endif
+#  ifdef PTRACE_SETFPXREGS
+	{ PTRACE_SETFPXREGS,	"PTRACE_SETFPXREGS",	},
+#  endif
+#  ifdef PTRACE_GETVRREGS
+	{ PTRACE_GETVRREGS,	"PTRACE_GETVRREGS",	},
+#  endif
+#  ifdef PTRACE_SETVRREGS
+	{ PTRACE_SETVRREGS,	"PTRACE_SETVRREGS",	},
+#  endif
+#  ifdef PTRACE_SETOPTIONS
+	{ PTRACE_SETOPTIONS,	"PTRACE_SETOPTIONS",	},
+#  endif
+#  ifdef PTRACE_GETEVENTMSG
+	{ PTRACE_GETEVENTMSG,	"PTRACE_GETEVENTMSG",	},
+#  endif
+#  ifdef PTRACE_GETSIGINFO
+	{ PTRACE_GETSIGINFO,	"PTRACE_GETSIGINFO",	},
+#  endif
+#  ifdef PTRACE_SETSIGINFO
+	{ PTRACE_SETSIGINFO,	"PTRACE_SETSIGINFO",	},
+#  endif
+#  ifdef PTRACE_SET_SYSCALL
+	{ PTRACE_SET_SYSCALL,	"PTRACE_SET_SYSCALL",	},
+#  endif
+#  ifdef SUNOS4
+	{ PTRACE_READDATA,	"PTRACE_READDATA"	},
+	{ PTRACE_WRITEDATA,	"PTRACE_WRITEDATA"	},
+	{ PTRACE_READTEXT,	"PTRACE_READTEXT"	},
+	{ PTRACE_WRITETEXT,	"PTRACE_WRITETEXT"	},
+	{ PTRACE_GETFPAREGS,	"PTRACE_GETFPAREGS"	},
+	{ PTRACE_SETFPAREGS,	"PTRACE_SETFPAREGS"	},
+#   ifdef SPARC
+	{ PTRACE_GETWINDOW,	"PTRACE_GETWINDOW"	},
+	{ PTRACE_SETWINDOW,	"PTRACE_SETWINDOW"	},
+#   else /* !SPARC */
+	{ PTRACE_22,		"PTRACE_22"		},
+	{ PTRACE_23,		"PTRACE_3"		},
+#   endif /* !SPARC */
+#  endif /* SUNOS4 */
+	{ PTRACE_SYSCALL,	"PTRACE_SYSCALL"	},
+#  ifdef SUNOS4
+	{ PTRACE_DUMPCORE,	"PTRACE_DUMPCORE"	},
+#   ifdef I386
+	{ PTRACE_SETWRBKPT,	"PTRACE_SETWRBKPT"	},
+	{ PTRACE_SETACBKPT,	"PTRACE_SETACBKPT"	},
+	{ PTRACE_CLRDR7,	"PTRACE_CLRDR7"		},
+#   else /* !I386 */
+	{ PTRACE_26,		"PTRACE_26"		},
+	{ PTRACE_27,		"PTRACE_27"		},
+	{ PTRACE_28,		"PTRACE_28"		},
+#   endif /* !I386 */
+	{ PTRACE_GETUCODE,	"PTRACE_GETUCODE"	},
+#  endif /* SUNOS4 */
+
+# else /* FREEBSD */
+
+	{ PT_TRACE_ME,		"PT_TRACE_ME"		},
+	{ PT_READ_I,		"PT_READ_I"		},
+	{ PT_READ_D,		"PT_READ_D"		},
+	{ PT_WRITE_I,		"PT_WRITE_I"		},
+	{ PT_WRITE_D,		"PT_WRITE_D"		},
+#  ifdef PT_READ_U
+	{ PT_READ_U,		"PT_READ_U"		},
+#  endif
+	{ PT_CONTINUE,		"PT_CONTINUE"		},
+	{ PT_KILL,		"PT_KILL"		},
+	{ PT_STEP,		"PT_STEP"		},
+	{ PT_ATTACH,		"PT_ATTACH"		},
+	{ PT_DETACH,		"PT_DETACH"		},
+	{ PT_GETREGS,		"PT_GETREGS"		},
+	{ PT_SETREGS,		"PT_SETREGS"		},
+	{ PT_GETFPREGS,		"PT_GETFPREGS"		},
+	{ PT_SETFPREGS,		"PT_SETFPREGS"		},
+	{ PT_GETDBREGS,		"PT_GETDBREGS"		},
+	{ PT_SETDBREGS,		"PT_SETDBREGS"		},
+# endif /* FREEBSD */
+	{ 0,			NULL			},
+};
+
+# ifndef FREEBSD
+#  ifdef PTRACE_SETOPTIONS
+static const struct xlat ptrace_setoptions_flags[] = {
+#   ifdef PTRACE_O_TRACESYSGOOD
+	{ PTRACE_O_TRACESYSGOOD,"PTRACE_O_TRACESYSGOOD"	},
+#   endif
+#   ifdef PTRACE_O_TRACEFORK
+	{ PTRACE_O_TRACEFORK,	"PTRACE_O_TRACEFORK"	},
+#   endif
+#   ifdef PTRACE_O_TRACEVFORK
+	{ PTRACE_O_TRACEVFORK,	"PTRACE_O_TRACEVFORK"	},
+#   endif
+#   ifdef PTRACE_O_TRACECLONE
+	{ PTRACE_O_TRACECLONE,	"PTRACE_O_TRACECLONE"	},
+#   endif
+#   ifdef PTRACE_O_TRACEEXEC
+	{ PTRACE_O_TRACEEXEC,	"PTRACE_O_TRACEEXEC"	},
+#   endif
+#   ifdef PTRACE_O_TRACEVFORKDONE
+	{ PTRACE_O_TRACEVFORKDONE,"PTRACE_O_TRACEVFORKDONE"},
+#   endif
+#   ifdef PTRACE_O_TRACEEXIT
+	{ PTRACE_O_TRACEEXIT,	"PTRACE_O_TRACEEXIT"	},
+#   endif
+	{ 0,			NULL			},
+};
+#  endif /* PTRACE_SETOPTIONS */
+# endif /* !FREEBSD */
+
+# ifndef FREEBSD
+const struct xlat struct_user_offsets[] = {
+#  ifdef LINUX
+#   if defined(S390) || defined(S390X)
+	{ PT_PSWMASK,		"psw_mask"				},
+	{ PT_PSWADDR,		"psw_addr"				},
+	{ PT_GPR0,		"gpr0"					},
+	{ PT_GPR1,		"gpr1"					},
+	{ PT_GPR2,		"gpr2"					},
+	{ PT_GPR3,		"gpr3"					},
+	{ PT_GPR4,		"gpr4"					},
+	{ PT_GPR5,		"gpr5"					},
+	{ PT_GPR6,		"gpr6"					},
+	{ PT_GPR7,		"gpr7"					},
+	{ PT_GPR8,		"gpr8"					},
+	{ PT_GPR9,		"gpr9"					},
+	{ PT_GPR10,		"gpr10"					},
+	{ PT_GPR11,		"gpr11"					},
+	{ PT_GPR12,		"gpr12"					},
+	{ PT_GPR13,		"gpr13"					},
+	{ PT_GPR14,		"gpr14"					},
+	{ PT_GPR15,		"gpr15"					},
+	{ PT_ACR0,		"acr0"					},
+	{ PT_ACR1,		"acr1"					},
+	{ PT_ACR2,		"acr2"					},
+	{ PT_ACR3,		"acr3"					},
+	{ PT_ACR4,		"acr4"					},
+	{ PT_ACR5,		"acr5"					},
+	{ PT_ACR6,		"acr6"					},
+	{ PT_ACR7,		"acr7"					},
+	{ PT_ACR8,		"acr8"					},
+	{ PT_ACR9,		"acr9"					},
+	{ PT_ACR10,		"acr10"					},
+	{ PT_ACR11,		"acr11"					},
+	{ PT_ACR12,		"acr12"					},
+	{ PT_ACR13,		"acr13"					},
+	{ PT_ACR14,		"acr14"					},
+	{ PT_ACR15,		"acr15"					},
+	{ PT_ORIGGPR2,		"orig_gpr2"				},
+	{ PT_FPC,		"fpc"					},
+#    if defined(S390)
+	{ PT_FPR0_HI,		"fpr0.hi"				},
+	{ PT_FPR0_LO,		"fpr0.lo"				},
+	{ PT_FPR1_HI,		"fpr1.hi"				},
+	{ PT_FPR1_LO,		"fpr1.lo"				},
+	{ PT_FPR2_HI,		"fpr2.hi"				},
+	{ PT_FPR2_LO,		"fpr2.lo"				},
+	{ PT_FPR3_HI,		"fpr3.hi"				},
+	{ PT_FPR3_LO,		"fpr3.lo"				},
+	{ PT_FPR4_HI,		"fpr4.hi"				},
+	{ PT_FPR4_LO,		"fpr4.lo"				},
+	{ PT_FPR5_HI,		"fpr5.hi"				},
+	{ PT_FPR5_LO,		"fpr5.lo"				},
+	{ PT_FPR6_HI,		"fpr6.hi"				},
+	{ PT_FPR6_LO,		"fpr6.lo"				},
+	{ PT_FPR7_HI,		"fpr7.hi"				},
+	{ PT_FPR7_LO,		"fpr7.lo"				},
+	{ PT_FPR8_HI,		"fpr8.hi"				},
+	{ PT_FPR8_LO,		"fpr8.lo"				},
+	{ PT_FPR9_HI,		"fpr9.hi"				},
+	{ PT_FPR9_LO,		"fpr9.lo"				},
+	{ PT_FPR10_HI,		"fpr10.hi"				},
+	{ PT_FPR10_LO,		"fpr10.lo"				},
+	{ PT_FPR11_HI,		"fpr11.hi"				},
+	{ PT_FPR11_LO,		"fpr11.lo"				},
+	{ PT_FPR12_HI,		"fpr12.hi"				},
+	{ PT_FPR12_LO,		"fpr12.lo"				},
+	{ PT_FPR13_HI,		"fpr13.hi"				},
+	{ PT_FPR13_LO,		"fpr13.lo"				},
+	{ PT_FPR14_HI,		"fpr14.hi"				},
+	{ PT_FPR14_LO,		"fpr14.lo"				},
+	{ PT_FPR15_HI,		"fpr15.hi"				},
+	{ PT_FPR15_LO,		"fpr15.lo"				},
+#    endif
+#    if defined(S390X)
+	{ PT_FPR0,		"fpr0"					},
+	{ PT_FPR1,		"fpr1"					},
+	{ PT_FPR2,		"fpr2"					},
+	{ PT_FPR3,		"fpr3"					},
+	{ PT_FPR4,		"fpr4"					},
+	{ PT_FPR5,		"fpr5"					},
+	{ PT_FPR6,		"fpr6"					},
+	{ PT_FPR7,		"fpr7"					},
+	{ PT_FPR8,		"fpr8"					},
+	{ PT_FPR9,		"fpr9"					},
+	{ PT_FPR10,		"fpr10"					},
+	{ PT_FPR11,		"fpr11"					},
+	{ PT_FPR12,		"fpr12"					},
+	{ PT_FPR13,		"fpr13"					},
+	{ PT_FPR14,		"fpr14"					},
+	{ PT_FPR15,		"fpr15"					},
+#    endif
+	{ PT_CR_9,		"cr9"					},
+	{ PT_CR_10,		"cr10"					},
+	{ PT_CR_11,		"cr11"					},
+	{ PT_IEEE_IP,           "ieee_exception_ip"                     },
+#   elif defined(SPARC)
+	/* XXX No support for these offsets yet. */
+#   elif defined(HPPA)
+	/* XXX No support for these offsets yet. */
+#   elif defined(POWERPC)
+#    ifndef PT_ORIG_R3
+#     define PT_ORIG_R3 34
+#    endif
+#    define REGSIZE (sizeof(unsigned long))
+	{ REGSIZE*PT_R0,		"r0"				},
+	{ REGSIZE*PT_R1,		"r1"				},
+	{ REGSIZE*PT_R2,		"r2"				},
+	{ REGSIZE*PT_R3,		"r3"				},
+	{ REGSIZE*PT_R4,		"r4"				},
+	{ REGSIZE*PT_R5,		"r5"				},
+	{ REGSIZE*PT_R6,		"r6"				},
+	{ REGSIZE*PT_R7,		"r7"				},
+	{ REGSIZE*PT_R8,		"r8"				},
+	{ REGSIZE*PT_R9,		"r9"				},
+	{ REGSIZE*PT_R10,		"r10"				},
+	{ REGSIZE*PT_R11,		"r11"				},
+	{ REGSIZE*PT_R12,		"r12"				},
+	{ REGSIZE*PT_R13,		"r13"				},
+	{ REGSIZE*PT_R14,		"r14"				},
+	{ REGSIZE*PT_R15,		"r15"				},
+	{ REGSIZE*PT_R16,		"r16"				},
+	{ REGSIZE*PT_R17,		"r17"				},
+	{ REGSIZE*PT_R18,		"r18"				},
+	{ REGSIZE*PT_R19,		"r19"				},
+	{ REGSIZE*PT_R20,		"r20"				},
+	{ REGSIZE*PT_R21,		"r21"				},
+	{ REGSIZE*PT_R22,		"r22"				},
+	{ REGSIZE*PT_R23,		"r23"				},
+	{ REGSIZE*PT_R24,		"r24"				},
+	{ REGSIZE*PT_R25,		"r25"				},
+	{ REGSIZE*PT_R26,		"r26"				},
+	{ REGSIZE*PT_R27,		"r27"				},
+	{ REGSIZE*PT_R28,		"r28"				},
+	{ REGSIZE*PT_R29,		"r29"				},
+	{ REGSIZE*PT_R30,		"r30"				},
+	{ REGSIZE*PT_R31,		"r31"				},
+	{ REGSIZE*PT_NIP,		"NIP"				},
+	{ REGSIZE*PT_MSR,		"MSR"				},
+	{ REGSIZE*PT_ORIG_R3,		"ORIG_R3"			},
+	{ REGSIZE*PT_CTR,		"CTR"				},
+	{ REGSIZE*PT_LNK,		"LNK"				},
+	{ REGSIZE*PT_XER,		"XER"				},
+	{ REGSIZE*PT_CCR,		"CCR"				},
+	{ REGSIZE*PT_FPR0,		"FPR0"				},
+#    undef REGSIZE
+#   elif defined(ALPHA)
+	{ 0,			"r0"					},
+	{ 1,			"r1"					},
+	{ 2,			"r2"					},
+	{ 3,			"r3"					},
+	{ 4,			"r4"					},
+	{ 5,			"r5"					},
+	{ 6,			"r6"					},
+	{ 7,			"r7"					},
+	{ 8,			"r8"					},
+	{ 9,			"r9"					},
+	{ 10,			"r10"					},
+	{ 11,			"r11"					},
+	{ 12,			"r12"					},
+	{ 13,			"r13"					},
+	{ 14,			"r14"					},
+	{ 15,			"r15"					},
+	{ 16,			"r16"					},
+	{ 17,			"r17"					},
+	{ 18,			"r18"					},
+	{ 19,			"r19"					},
+	{ 20,			"r20"					},
+	{ 21,			"r21"					},
+	{ 22,			"r22"					},
+	{ 23,			"r23"					},
+	{ 24,			"r24"					},
+	{ 25,			"r25"					},
+	{ 26,			"r26"					},
+	{ 27,			"r27"					},
+	{ 28,			"r28"					},
+	{ 29,			"gp"					},
+	{ 30,			"fp"					},
+	{ 31,			"zero"					},
+	{ 32,			"fp0"					},
+	{ 33,			"fp"					},
+	{ 34,			"fp2"					},
+	{ 35,			"fp3"					},
+	{ 36,			"fp4"					},
+	{ 37,			"fp5"					},
+	{ 38,			"fp6"					},
+	{ 39,			"fp7"					},
+	{ 40,			"fp8"					},
+	{ 41,			"fp9"					},
+	{ 42,			"fp10"					},
+	{ 43,			"fp11"					},
+	{ 44,			"fp12"					},
+	{ 45,			"fp13"					},
+	{ 46,			"fp14"					},
+	{ 47,			"fp15"					},
+	{ 48,			"fp16"					},
+	{ 49,			"fp17"					},
+	{ 50,			"fp18"					},
+	{ 51,			"fp19"					},
+	{ 52,			"fp20"					},
+	{ 53,			"fp21"					},
+	{ 54,			"fp22"					},
+	{ 55,			"fp23"					},
+	{ 56,			"fp24"					},
+	{ 57,			"fp25"					},
+	{ 58,			"fp26"					},
+	{ 59,			"fp27"					},
+	{ 60,			"fp28"					},
+	{ 61,			"fp29"					},
+	{ 62,			"fp30"					},
+	{ 63,			"fp31"					},
+	{ 64,			"pc"					},
+#   elif defined(IA64)
+	{ PT_F32, "f32" }, { PT_F33, "f33" }, { PT_F34, "f34" },
+	{ PT_F35, "f35" }, { PT_F36, "f36" }, { PT_F37, "f37" },
+	{ PT_F38, "f38" }, { PT_F39, "f39" }, { PT_F40, "f40" },
+	{ PT_F41, "f41" }, { PT_F42, "f42" }, { PT_F43, "f43" },
+	{ PT_F44, "f44" }, { PT_F45, "f45" }, { PT_F46, "f46" },
+	{ PT_F47, "f47" }, { PT_F48, "f48" }, { PT_F49, "f49" },
+	{ PT_F50, "f50" }, { PT_F51, "f51" }, { PT_F52, "f52" },
+	{ PT_F53, "f53" }, { PT_F54, "f54" }, { PT_F55, "f55" },
+	{ PT_F56, "f56" }, { PT_F57, "f57" }, { PT_F58, "f58" },
+	{ PT_F59, "f59" }, { PT_F60, "f60" }, { PT_F61, "f61" },
+	{ PT_F62, "f62" }, { PT_F63, "f63" }, { PT_F64, "f64" },
+	{ PT_F65, "f65" }, { PT_F66, "f66" }, { PT_F67, "f67" },
+	{ PT_F68, "f68" }, { PT_F69, "f69" }, { PT_F70, "f70" },
+	{ PT_F71, "f71" }, { PT_F72, "f72" }, { PT_F73, "f73" },
+	{ PT_F74, "f74" }, { PT_F75, "f75" }, { PT_F76, "f76" },
+	{ PT_F77, "f77" }, { PT_F78, "f78" }, { PT_F79, "f79" },
+	{ PT_F80, "f80" }, { PT_F81, "f81" }, { PT_F82, "f82" },
+	{ PT_F83, "f83" }, { PT_F84, "f84" }, { PT_F85, "f85" },
+	{ PT_F86, "f86" }, { PT_F87, "f87" }, { PT_F88, "f88" },
+	{ PT_F89, "f89" }, { PT_F90, "f90" }, { PT_F91, "f91" },
+	{ PT_F92, "f92" }, { PT_F93, "f93" }, { PT_F94, "f94" },
+	{ PT_F95, "f95" }, { PT_F96, "f96" }, { PT_F97, "f97" },
+	{ PT_F98, "f98" }, { PT_F99, "f99" }, { PT_F100, "f100" },
+	{ PT_F101, "f101" }, { PT_F102, "f102" }, { PT_F103, "f103" },
+	{ PT_F104, "f104" }, { PT_F105, "f105" }, { PT_F106, "f106" },
+	{ PT_F107, "f107" }, { PT_F108, "f108" }, { PT_F109, "f109" },
+	{ PT_F110, "f110" }, { PT_F111, "f111" }, { PT_F112, "f112" },
+	{ PT_F113, "f113" }, { PT_F114, "f114" }, { PT_F115, "f115" },
+	{ PT_F116, "f116" }, { PT_F117, "f117" }, { PT_F118, "f118" },
+	{ PT_F119, "f119" }, { PT_F120, "f120" }, { PT_F121, "f121" },
+	{ PT_F122, "f122" }, { PT_F123, "f123" }, { PT_F124, "f124" },
+	{ PT_F125, "f125" }, { PT_F126, "f126" }, { PT_F127, "f127" },
+	/* switch stack: */
+	{ PT_F2, "f2" }, { PT_F3, "f3" }, { PT_F4, "f4" },
+	{ PT_F5, "f5" }, { PT_F10, "f10" }, { PT_F11, "f11" },
+	{ PT_F12, "f12" }, { PT_F13, "f13" }, { PT_F14, "f14" },
+	{ PT_F15, "f15" }, { PT_F16, "f16" }, { PT_F17, "f17" },
+	{ PT_F18, "f18" }, { PT_F19, "f19" }, { PT_F20, "f20" },
+	{ PT_F21, "f21" }, { PT_F22, "f22" }, { PT_F23, "f23" },
+	{ PT_F24, "f24" }, { PT_F25, "f25" }, { PT_F26, "f26" },
+	{ PT_F27, "f27" }, { PT_F28, "f28" }, { PT_F29, "f29" },
+	{ PT_F30, "f30" }, { PT_F31, "f31" }, { PT_R4, "r4" },
+	{ PT_R5, "r5" }, { PT_R6, "r6" }, { PT_R7, "r7" },
+	{ PT_B1, "b1" }, { PT_B2, "b2" }, { PT_B3, "b3" },
+	{ PT_B4, "b4" }, { PT_B5, "b5" },
+	{ PT_AR_EC, "ar.ec" }, { PT_AR_LC, "ar.lc" },
+	/* pt_regs */
+	{ PT_CR_IPSR, "psr" }, { PT_CR_IIP, "ip" },
+	{ PT_CFM, "cfm" }, { PT_AR_UNAT, "ar.unat" },
+	{ PT_AR_PFS, "ar.pfs" }, { PT_AR_RSC, "ar.rsc" },
+	{ PT_AR_RNAT, "ar.rnat" }, { PT_AR_BSPSTORE, "ar.bspstore" },
+	{ PT_PR, "pr" }, { PT_B6, "b6" }, { PT_AR_BSP, "ar.bsp" },
+	{ PT_R1, "r1" }, { PT_R2, "r2" }, { PT_R3, "r3" },
+	{ PT_R12, "r12" }, { PT_R13, "r13" }, { PT_R14, "r14" },
+	{ PT_R15, "r15" }, { PT_R8, "r8" }, { PT_R9, "r9" },
+	{ PT_R10, "r10" }, { PT_R11, "r11" }, { PT_R16, "r16" },
+	{ PT_R17, "r17" }, { PT_R18, "r18" }, { PT_R19, "r19" },
+	{ PT_R20, "r20" }, { PT_R21, "r21" }, { PT_R22, "r22" },
+	{ PT_R23, "r23" }, { PT_R24, "r24" }, { PT_R25, "r25" },
+	{ PT_R26, "r26" }, { PT_R27, "r27" }, { PT_R28, "r28" },
+	{ PT_R29, "r29" }, { PT_R30, "r30" }, { PT_R31, "r31" },
+	{ PT_AR_CCV, "ar.ccv" }, { PT_AR_FPSR, "ar.fpsr" },
+	{ PT_B0, "b0" }, { PT_B7, "b7" }, { PT_F6, "f6" },
+	{ PT_F7, "f7" }, { PT_F8, "f8" }, { PT_F9, "f9" },
+#    ifdef PT_AR_CSD
+	{ PT_AR_CSD, "ar.csd" },
+#    endif
+#    ifdef PT_AR_SSD
+	{ PT_AR_SSD, "ar.ssd" },
+#    endif
+	{ PT_DBR, "dbr" }, { PT_IBR, "ibr" }, { PT_PMD, "pmd" },
+#   elif defined(I386)
+	{ 4*EBX,		"4*EBX"					},
+	{ 4*ECX,		"4*ECX"					},
+	{ 4*EDX,		"4*EDX"					},
+	{ 4*ESI,		"4*ESI"					},
+	{ 4*EDI,		"4*EDI"					},
+	{ 4*EBP,		"4*EBP"					},
+	{ 4*EAX,		"4*EAX"					},
+	{ 4*DS,			"4*DS"					},
+	{ 4*ES,			"4*ES"					},
+	{ 4*FS,			"4*FS"					},
+	{ 4*GS,			"4*GS"					},
+	{ 4*ORIG_EAX,		"4*ORIG_EAX"				},
+	{ 4*EIP,		"4*EIP"					},
+	{ 4*CS,			"4*CS"					},
+	{ 4*EFL,		"4*EFL"					},
+	{ 4*UESP,		"4*UESP"				},
+	{ 4*SS,			"4*SS"					},
+#   elif defined(X86_64)
+	{ 8*R15, 		"8*R15"					},
+	{ 8*R14, 		"8*R14"					},
+	{ 8*R13, 		"8*R13"					},
+	{ 8*R12, 		"8*R12"					},
+	{ 8*RBP,		"8*RBP"					},
+	{ 8*RBX,		"8*RBX"					},
+	{ 8*R11,		"8*R11"					},
+	{ 8*R10,		"8*R10"					},
+	{ 8*R9,			"8*R9"					},
+	{ 8*R8,			"8*R8"					},
+	{ 8*RAX,		"8*RAX"					},
+	{ 8*RCX,		"8*RCX"					},
+	{ 8*RDX,		"8*RDX"					},
+	{ 8*RSI,		"8*RSI"					},
+	{ 8*RDI,		"8*RDI"					},
+	{ 8*ORIG_RAX,		"8*ORIG_RAX"				},
+	{ 8*RIP,		"8*RIP"					},
+	{ 8*CS,			"8*CS"					},
+	{ 8*EFLAGS,		"8*EFL"					},
+	{ 8*RSP,		"8*RSP"					},
+	{ 8*SS,			"8*SS"					},
+#   elif defined(M68K)
+	{ 4*PT_D1,		"4*PT_D1"				},
+	{ 4*PT_D2,		"4*PT_D2"				},
+	{ 4*PT_D3,		"4*PT_D3"				},
+	{ 4*PT_D4,		"4*PT_D4"				},
+	{ 4*PT_D5,		"4*PT_D5"				},
+	{ 4*PT_D6,		"4*PT_D6"				},
+	{ 4*PT_D7,		"4*PT_D7"				},
+	{ 4*PT_A0,		"4*PT_A0"				},
+	{ 4*PT_A1,		"4*PT_A1"				},
+	{ 4*PT_A2,		"4*PT_A2"				},
+	{ 4*PT_A3,		"4*PT_A3"				},
+	{ 4*PT_A4,		"4*PT_A4"				},
+	{ 4*PT_A5,		"4*PT_A5"				},
+	{ 4*PT_A6,		"4*PT_A6"				},
+	{ 4*PT_D0,		"4*PT_D0"				},
+	{ 4*PT_USP,		"4*PT_USP"				},
+	{ 4*PT_ORIG_D0,		"4*PT_ORIG_D0"				},
+	{ 4*PT_SR,		"4*PT_SR"				},
+	{ 4*PT_PC,		"4*PT_PC"				},
+#   elif defined(SH)
+	{ 4*REG_REG0,           "4*REG_REG0"                            },
+	{ 4*(REG_REG0+1),       "4*REG_REG1"                            },
+	{ 4*(REG_REG0+2),       "4*REG_REG2"                            },
+	{ 4*(REG_REG0+3),       "4*REG_REG3"                            },
+	{ 4*(REG_REG0+4),       "4*REG_REG4"                            },
+	{ 4*(REG_REG0+5),       "4*REG_REG5"                            },
+	{ 4*(REG_REG0+6),       "4*REG_REG6"                            },
+	{ 4*(REG_REG0+7),       "4*REG_REG7"                            },
+	{ 4*(REG_REG0+8),       "4*REG_REG8"                            },
+	{ 4*(REG_REG0+9),       "4*REG_REG9"                            },
+	{ 4*(REG_REG0+10),      "4*REG_REG10"                           },
+	{ 4*(REG_REG0+11),      "4*REG_REG11"                           },
+	{ 4*(REG_REG0+12),      "4*REG_REG12"                           },
+	{ 4*(REG_REG0+13),      "4*REG_REG13"                           },
+	{ 4*(REG_REG0+14),      "4*REG_REG14"                           },
+	{ 4*REG_REG15,          "4*REG_REG15"                           },
+	{ 4*REG_PC,             "4*REG_PC"                              },
+	{ 4*REG_PR,             "4*REG_PR"                              },
+	{ 4*REG_SR,             "4*REG_SR"                              },
+	{ 4*REG_GBR,            "4*REG_GBR"                             },
+	{ 4*REG_MACH,           "4*REG_MACH"                            },
+	{ 4*REG_MACL,           "4*REG_MACL"                            },
+	{ 4*REG_SYSCALL,        "4*REG_SYSCALL"                         },
+	{ 4*REG_FPUL,           "4*REG_FPUL"                            },
+	{ 4*REG_FPREG0,         "4*REG_FPREG0"                          },
+	{ 4*(REG_FPREG0+1),     "4*REG_FPREG1"                          },
+	{ 4*(REG_FPREG0+2),     "4*REG_FPREG2"                          },
+	{ 4*(REG_FPREG0+3),     "4*REG_FPREG3"                          },
+	{ 4*(REG_FPREG0+4),     "4*REG_FPREG4"                          },
+	{ 4*(REG_FPREG0+5),     "4*REG_FPREG5"                          },
+	{ 4*(REG_FPREG0+6),     "4*REG_FPREG6"                          },
+	{ 4*(REG_FPREG0+7),     "4*REG_FPREG7"                          },
+	{ 4*(REG_FPREG0+8),     "4*REG_FPREG8"                          },
+	{ 4*(REG_FPREG0+9),     "4*REG_FPREG9"                          },
+	{ 4*(REG_FPREG0+10),    "4*REG_FPREG10"                         },
+	{ 4*(REG_FPREG0+11),    "4*REG_FPREG11"                         },
+	{ 4*(REG_FPREG0+12),    "4*REG_FPREG12"                         },
+	{ 4*(REG_FPREG0+13),    "4*REG_FPREG13"                         },
+	{ 4*(REG_FPREG0+14),    "4*REG_FPREG14"                         },
+	{ 4*REG_FPREG15,        "4*REG_FPREG15"                         },
+#    ifdef REG_XDREG0
+	{ 4*REG_XDREG0,         "4*REG_XDREG0"                          },
+	{ 4*(REG_XDREG0+2),     "4*REG_XDREG2"                          },
+	{ 4*(REG_XDREG0+4),     "4*REG_XDREG4"                          },
+	{ 4*(REG_XDREG0+6),     "4*REG_XDREG6"                          },
+	{ 4*(REG_XDREG0+8),     "4*REG_XDREG8"                          },
+	{ 4*(REG_XDREG0+10),    "4*REG_XDREG10"                         },
+	{ 4*(REG_XDREG0+12),    "4*REG_XDREG12"                         },
+	{ 4*REG_XDREG14,        "4*REG_XDREG14"                         },
+#    endif
+	{ 4*REG_FPSCR,          "4*REG_FPSCR"                           },
+#   elif defined(SH64)
+	{ 0,		        "PC(L)"				        },
+	{ 4,	                "PC(U)"				        },
+	{ 8, 	                "SR(L)"	  	         		},
+	{ 12,               	"SR(U)"     				},
+	{ 16,            	"syscall no.(L)" 			},
+	{ 20,            	"syscall_no.(U)"			},
+	{ 24,            	"R0(L)"     				},
+	{ 28,            	"R0(U)"     				},
+	{ 32,            	"R1(L)"     				},
+	{ 36,            	"R1(U)"     				},
+	{ 40,            	"R2(L)"     				},
+	{ 44,            	"R2(U)"     				},
+	{ 48,            	"R3(L)"     				},
+	{ 52,            	"R3(U)"     				},
+	{ 56,            	"R4(L)"     				},
+	{ 60,            	"R4(U)"     				},
+	{ 64,            	"R5(L)"     				},
+	{ 68,            	"R5(U)"     				},
+	{ 72,            	"R6(L)"     				},
+	{ 76,            	"R6(U)"     				},
+	{ 80,            	"R7(L)"     				},
+	{ 84,            	"R7(U)"     				},
+	{ 88,            	"R8(L)"     				},
+	{ 92,            	"R8(U)"     				},
+	{ 96,            	"R9(L)"     				},
+	{ 100,           	"R9(U)"     				},
+	{ 104,           	"R10(L)"     				},
+	{ 108,           	"R10(U)"     				},
+	{ 112,           	"R11(L)"     				},
+	{ 116,           	"R11(U)"     				},
+	{ 120,           	"R12(L)"     				},
+	{ 124,           	"R12(U)"     				},
+	{ 128,           	"R13(L)"     				},
+	{ 132,           	"R13(U)"     				},
+	{ 136,           	"R14(L)"     				},
+	{ 140,           	"R14(U)"     				},
+	{ 144,           	"R15(L)"     				},
+	{ 148,           	"R15(U)"     				},
+	{ 152,           	"R16(L)"     				},
+	{ 156,           	"R16(U)"     				},
+	{ 160,           	"R17(L)"     				},
+	{ 164,           	"R17(U)"     				},
+	{ 168,           	"R18(L)"     				},
+	{ 172,           	"R18(U)"     				},
+	{ 176,           	"R19(L)"     				},
+	{ 180,           	"R19(U)"     				},
+	{ 184,           	"R20(L)"     				},
+	{ 188,           	"R20(U)"     				},
+	{ 192,           	"R21(L)"     				},
+	{ 196,           	"R21(U)"     				},
+	{ 200,           	"R22(L)"     				},
+	{ 204,           	"R22(U)"     				},
+	{ 208,           	"R23(L)"     				},
+	{ 212,           	"R23(U)"     				},
+	{ 216,           	"R24(L)"     				},
+	{ 220,           	"R24(U)"     				},
+	{ 224,           	"R25(L)"     				},
+	{ 228,           	"R25(U)"     				},
+	{ 232,           	"R26(L)"     				},
+	{ 236,           	"R26(U)"     				},
+	{ 240,           	"R27(L)"     				},
+	{ 244,           	"R27(U)"     				},
+	{ 248,           	"R28(L)"     				},
+	{ 252,           	"R28(U)"     				},
+	{ 256,           	"R29(L)"     				},
+	{ 260,           	"R29(U)"     				},
+	{ 264,           	"R30(L)"     				},
+	{ 268,           	"R30(U)"     				},
+	{ 272,           	"R31(L)"     				},
+	{ 276,           	"R31(U)"     				},
+	{ 280,           	"R32(L)"     				},
+	{ 284,           	"R32(U)"     				},
+	{ 288,           	"R33(L)"     				},
+	{ 292,           	"R33(U)"     				},
+	{ 296,           	"R34(L)"     				},
+	{ 300,           	"R34(U)"     				},
+	{ 304,           	"R35(L)"     				},
+	{ 308,           	"R35(U)"     				},
+	{ 312,           	"R36(L)"     				},
+	{ 316,           	"R36(U)"     				},
+	{ 320,           	"R37(L)"     				},
+	{ 324,           	"R37(U)"     				},
+	{ 328,           	"R38(L)"     				},
+	{ 332,           	"R38(U)"     				},
+	{ 336,           	"R39(L)"     				},
+	{ 340,           	"R39(U)"     				},
+	{ 344,           	"R40(L)"     				},
+	{ 348,           	"R40(U)"     				},
+	{ 352,           	"R41(L)"     				},
+	{ 356,           	"R41(U)"     				},
+	{ 360,           	"R42(L)"     				},
+	{ 364,           	"R42(U)"     				},
+	{ 368,           	"R43(L)"     				},
+	{ 372,           	"R43(U)"     				},
+	{ 376,           	"R44(L)"     				},
+	{ 380,           	"R44(U)"     				},
+	{ 384,           	"R45(L)"     				},
+	{ 388,           	"R45(U)"     				},
+	{ 392,           	"R46(L)"     				},
+	{ 396,           	"R46(U)"     				},
+	{ 400,           	"R47(L)"     				},
+	{ 404,           	"R47(U)"     				},
+	{ 408,           	"R48(L)"     				},
+	{ 412,           	"R48(U)"     				},
+	{ 416,           	"R49(L)"     				},
+	{ 420,           	"R49(U)"     				},
+	{ 424,           	"R50(L)"     				},
+	{ 428,           	"R50(U)"     				},
+	{ 432,           	"R51(L)"     				},
+	{ 436,           	"R51(U)"     				},
+	{ 440,           	"R52(L)"     				},
+	{ 444,           	"R52(U)"     				},
+	{ 448,           	"R53(L)"     				},
+	{ 452,           	"R53(U)"     				},
+	{ 456,           	"R54(L)"     				},
+	{ 460,           	"R54(U)"     				},
+	{ 464,           	"R55(L)"     				},
+	{ 468,           	"R55(U)"     				},
+	{ 472,           	"R56(L)"     				},
+	{ 476,           	"R56(U)"     				},
+	{ 480,           	"R57(L)"     				},
+	{ 484,           	"R57(U)"     				},
+	{ 488,           	"R58(L)"     				},
+	{ 492,           	"R58(U)"     				},
+	{ 496,           	"R59(L)"     				},
+	{ 500,           	"R59(U)"     				},
+	{ 504,           	"R60(L)"     				},
+	{ 508,           	"R60(U)"     				},
+	{ 512,           	"R61(L)"     				},
+	{ 516,           	"R61(U)"     				},
+	{ 520,           	"R62(L)"     				},
+	{ 524,           	"R62(U)"     				},
+	{ 528,                  "TR0(L)"                                },
+	{ 532,                  "TR0(U)"                                },
+	{ 536,                  "TR1(L)"                                },
+	{ 540,                  "TR1(U)"                                },
+	{ 544,                  "TR2(L)"                                },
+	{ 548,                  "TR2(U)"                                },
+	{ 552,                  "TR3(L)"                                },
+	{ 556,                  "TR3(U)"                                },
+	{ 560,                  "TR4(L)"                                },
+	{ 564,                  "TR4(U)"                                },
+	{ 568,                  "TR5(L)"                                },
+	{ 572,                  "TR5(U)"                                },
+	{ 576,                  "TR6(L)"                                },
+	{ 580,                  "TR6(U)"                                },
+	{ 584,                  "TR7(L)"                                },
+	{ 588,                  "TR7(U)"                                },
+	/* This entry is in case pt_regs contains dregs (depends on
+	   the kernel build options). */
+	{ uoff(regs),	        "offsetof(struct user, regs)"	        },
+	{ uoff(fpu),	        "offsetof(struct user, fpu)"	        },
+#   elif defined(ARM)
+	{ uoff(regs.ARM_r0),	"r0"					},
+	{ uoff(regs.ARM_r1),	"r1"					},
+	{ uoff(regs.ARM_r2),	"r2"					},
+	{ uoff(regs.ARM_r3),	"r3"					},
+	{ uoff(regs.ARM_r4),	"r4"					},
+	{ uoff(regs.ARM_r5),	"r5"					},
+	{ uoff(regs.ARM_r6),	"r6"					},
+	{ uoff(regs.ARM_r7),	"r7"					},
+	{ uoff(regs.ARM_r8),	"r8"					},
+	{ uoff(regs.ARM_r9),	"r9"					},
+	{ uoff(regs.ARM_r10),	"r10"					},
+	{ uoff(regs.ARM_fp),	"fp"					},
+	{ uoff(regs.ARM_ip),	"ip"					},
+	{ uoff(regs.ARM_sp),	"sp"					},
+	{ uoff(regs.ARM_lr),	"lr"					},
+	{ uoff(regs.ARM_pc),	"pc"					},
+	{ uoff(regs.ARM_cpsr),	"cpsr"					},
+#   elif defined(AVR32)
+	{ uoff(regs.sr),	"sr"					},
+	{ uoff(regs.pc),	"pc"					},
+	{ uoff(regs.lr),	"lr"					},
+	{ uoff(regs.sp),	"sp"					},
+	{ uoff(regs.r12),	"r12"					},
+	{ uoff(regs.r11),	"r11"					},
+	{ uoff(regs.r10),	"r10"					},
+	{ uoff(regs.r9),	"r9"					},
+	{ uoff(regs.r8),	"r8"					},
+	{ uoff(regs.r7),	"r7"					},
+	{ uoff(regs.r6),	"r6"					},
+	{ uoff(regs.r5),	"r5"					},
+	{ uoff(regs.r4),	"r4"					},
+	{ uoff(regs.r3),	"r3"					},
+	{ uoff(regs.r2),	"r2"					},
+	{ uoff(regs.r1),	"r1"					},
+	{ uoff(regs.r0),	"r0"					},
+	{ uoff(regs.r12_orig),	"orig_r12"				},
+#   elif defined(MIPS)
+	{ 0,			"r0"					},
+	{ 1,			"r1"					},
+	{ 2,			"r2"					},
+	{ 3,			"r3"					},
+	{ 4,			"r4"					},
+	{ 5,			"r5"					},
+	{ 6,			"r6"					},
+	{ 7,			"r7"					},
+	{ 8,			"r8"					},
+	{ 9,			"r9"					},
+	{ 10,			"r10"					},
+	{ 11,			"r11"					},
+	{ 12,			"r12"					},
+	{ 13,			"r13"					},
+	{ 14,			"r14"					},
+	{ 15,			"r15"					},
+	{ 16,			"r16"					},
+	{ 17,			"r17"					},
+	{ 18,			"r18"					},
+	{ 19,			"r19"					},
+	{ 20,			"r20"					},
+	{ 21,			"r21"					},
+	{ 22,			"r22"					},
+	{ 23,			"r23"					},
+	{ 24,			"r24"					},
+	{ 25,			"r25"					},
+	{ 26,			"r26"					},
+	{ 27,			"r27"					},
+	{ 28,			"r28"					},
+	{ 29,			"r29"					},
+	{ 30,			"r30"					},
+	{ 31,			"r31"					},
+	{ 32,			"f0"					},
+	{ 33,			"f1"					},
+	{ 34,			"f2"					},
+	{ 35,			"f3"					},
+	{ 36,			"f4"					},
+	{ 37,			"f5"					},
+	{ 38,			"f6"					},
+	{ 39,			"f7"					},
+	{ 40,			"f8"					},
+	{ 41,			"f9"					},
+	{ 42,			"f10"					},
+	{ 43,			"f11"					},
+	{ 44,			"f12"					},
+	{ 45,			"f13"					},
+	{ 46,			"f14"					},
+	{ 47,			"f15"					},
+	{ 48,			"f16"					},
+	{ 49,			"f17"					},
+	{ 50,			"f18"					},
+	{ 51,			"f19"					},
+	{ 52,			"f20"					},
+	{ 53,			"f21"					},
+	{ 54,			"f22"					},
+	{ 55,			"f23"					},
+	{ 56,			"f24"					},
+	{ 57,			"f25"					},
+	{ 58,			"f26"					},
+	{ 59,			"f27"					},
+	{ 60,			"f28"					},
+	{ 61,			"f29"					},
+	{ 62,			"f30"					},
+	{ 63,			"f31"					},
+	{ 64,			"pc"					},
+	{ 65,			"cause"					},
+	{ 66,			"badvaddr"				},
+	{ 67,			"mmhi"					},
+	{ 68,			"mmlo"					},
+	{ 69,			"fpcsr"					},
+	{ 70,			"fpeir"					},
+#   elif defined(TILE)
+	{ PTREGS_OFFSET_REG(0),  "r0"  },
+	{ PTREGS_OFFSET_REG(1),  "r1"  },
+	{ PTREGS_OFFSET_REG(2),  "r2"  },
+	{ PTREGS_OFFSET_REG(3),  "r3"  },
+	{ PTREGS_OFFSET_REG(4),  "r4"  },
+	{ PTREGS_OFFSET_REG(5),  "r5"  },
+	{ PTREGS_OFFSET_REG(6),  "r6"  },
+	{ PTREGS_OFFSET_REG(7),  "r7"  },
+	{ PTREGS_OFFSET_REG(8),  "r8"  },
+	{ PTREGS_OFFSET_REG(9),  "r9"  },
+	{ PTREGS_OFFSET_REG(10), "r10" },
+	{ PTREGS_OFFSET_REG(11), "r11" },
+	{ PTREGS_OFFSET_REG(12), "r12" },
+	{ PTREGS_OFFSET_REG(13), "r13" },
+	{ PTREGS_OFFSET_REG(14), "r14" },
+	{ PTREGS_OFFSET_REG(15), "r15" },
+	{ PTREGS_OFFSET_REG(16), "r16" },
+	{ PTREGS_OFFSET_REG(17), "r17" },
+	{ PTREGS_OFFSET_REG(18), "r18" },
+	{ PTREGS_OFFSET_REG(19), "r19" },
+	{ PTREGS_OFFSET_REG(20), "r20" },
+	{ PTREGS_OFFSET_REG(21), "r21" },
+	{ PTREGS_OFFSET_REG(22), "r22" },
+	{ PTREGS_OFFSET_REG(23), "r23" },
+	{ PTREGS_OFFSET_REG(24), "r24" },
+	{ PTREGS_OFFSET_REG(25), "r25" },
+	{ PTREGS_OFFSET_REG(26), "r26" },
+	{ PTREGS_OFFSET_REG(27), "r27" },
+	{ PTREGS_OFFSET_REG(28), "r28" },
+	{ PTREGS_OFFSET_REG(29), "r29" },
+	{ PTREGS_OFFSET_REG(30), "r30" },
+	{ PTREGS_OFFSET_REG(31), "r31" },
+	{ PTREGS_OFFSET_REG(32), "r32" },
+	{ PTREGS_OFFSET_REG(33), "r33" },
+	{ PTREGS_OFFSET_REG(34), "r34" },
+	{ PTREGS_OFFSET_REG(35), "r35" },
+	{ PTREGS_OFFSET_REG(36), "r36" },
+	{ PTREGS_OFFSET_REG(37), "r37" },
+	{ PTREGS_OFFSET_REG(38), "r38" },
+	{ PTREGS_OFFSET_REG(39), "r39" },
+	{ PTREGS_OFFSET_REG(40), "r40" },
+	{ PTREGS_OFFSET_REG(41), "r41" },
+	{ PTREGS_OFFSET_REG(42), "r42" },
+	{ PTREGS_OFFSET_REG(43), "r43" },
+	{ PTREGS_OFFSET_REG(44), "r44" },
+	{ PTREGS_OFFSET_REG(45), "r45" },
+	{ PTREGS_OFFSET_REG(46), "r46" },
+	{ PTREGS_OFFSET_REG(47), "r47" },
+	{ PTREGS_OFFSET_REG(48), "r48" },
+	{ PTREGS_OFFSET_REG(49), "r49" },
+	{ PTREGS_OFFSET_REG(50), "r50" },
+	{ PTREGS_OFFSET_REG(51), "r51" },
+	{ PTREGS_OFFSET_REG(52), "r52" },
+	{ PTREGS_OFFSET_TP, "tp" },
+	{ PTREGS_OFFSET_SP, "sp" },
+	{ PTREGS_OFFSET_LR, "lr" },
+	{ PTREGS_OFFSET_PC, "pc" },
+	{ PTREGS_OFFSET_EX1, "ex1" },
+	{ PTREGS_OFFSET_FAULTNUM, "faultnum" },
+	{ PTREGS_OFFSET_ORIG_R0, "orig_r0" },
+	{ PTREGS_OFFSET_FLAGS, "flags" },
+#   endif
+#   ifdef CRISV10
+	{ 4*PT_FRAMETYPE, "4*PT_FRAMETYPE" },
+	{ 4*PT_ORIG_R10, "4*PT_ORIG_R10" },
+	{ 4*PT_R13, "4*PT_R13" },
+	{ 4*PT_R12, "4*PT_R12" },
+	{ 4*PT_R11, "4*PT_R11" },
+	{ 4*PT_R10, "4*PT_R10" },
+	{ 4*PT_R9, "4*PT_R9" },
+	{ 4*PT_R8, "4*PT_R8" },
+	{ 4*PT_R7, "4*PT_R7" },
+	{ 4*PT_R6, "4*PT_R6" },
+	{ 4*PT_R5, "4*PT_R5" },
+	{ 4*PT_R4, "4*PT_R4" },
+	{ 4*PT_R3, "4*PT_R3" },
+	{ 4*PT_R2, "4*PT_R2" },
+	{ 4*PT_R1, "4*PT_R1" },
+	{ 4*PT_R0, "4*PT_R0" },
+	{ 4*PT_MOF, "4*PT_MOF" },
+	{ 4*PT_DCCR, "4*PT_DCCR" },
+	{ 4*PT_SRP, "4*PT_SRP" },
+	{ 4*PT_IRP, "4*PT_IRP" },
+	{ 4*PT_CSRINSTR, "4*PT_CSRINSTR" },
+	{ 4*PT_CSRADDR, "4*PT_CSRADDR" },
+	{ 4*PT_CSRDATA, "4*PT_CSRDATA" },
+	{ 4*PT_USP, "4*PT_USP" },
+#   endif
+#   ifdef CRISV32
+	{ 4*PT_ORIG_R10, "4*PT_ORIG_R10" },
+	{ 4*PT_R0, "4*PT_R0" },
+	{ 4*PT_R1, "4*PT_R1" },
+	{ 4*PT_R2, "4*PT_R2" },
+	{ 4*PT_R3, "4*PT_R3" },
+	{ 4*PT_R4, "4*PT_R4" },
+	{ 4*PT_R5, "4*PT_R5" },
+	{ 4*PT_R6, "4*PT_R6" },
+	{ 4*PT_R7, "4*PT_R7" },
+	{ 4*PT_R8, "4*PT_R8" },
+	{ 4*PT_R9, "4*PT_R9" },
+	{ 4*PT_R10, "4*PT_R10" },
+	{ 4*PT_R11, "4*PT_R11" },
+	{ 4*PT_R12, "4*PT_R12" },
+	{ 4*PT_R13, "4*PT_R13" },
+	{ 4*PT_ACR, "4*PT_ACR" },
+	{ 4*PT_SRS, "4*PT_SRS" },
+	{ 4*PT_MOF, "4*PT_MOF" },
+	{ 4*PT_SPC, "4*PT_SPC" },
+	{ 4*PT_CCS, "4*PT_CCS" },
+	{ 4*PT_SRP, "4*PT_SRP" },
+	{ 4*PT_ERP, "4*PT_ERP" },
+	{ 4*PT_EXS, "4*PT_EXS" },
+	{ 4*PT_EDA, "4*PT_EDA" },
+	{ 4*PT_USP, "4*PT_USP" },
+	{ 4*PT_PPC, "4*PT_PPC" },
+	{ 4*PT_BP_CTRL, "4*PT_BP_CTRL" },
+	{ 4*PT_BP+4, "4*PT_BP+4" },
+	{ 4*PT_BP+8, "4*PT_BP+8" },
+	{ 4*PT_BP+12, "4*PT_BP+12" },
+	{ 4*PT_BP+16, "4*PT_BP+16" },
+	{ 4*PT_BP+20, "4*PT_BP+20" },
+	{ 4*PT_BP+24, "4*PT_BP+24" },
+	{ 4*PT_BP+28, "4*PT_BP+28" },
+	{ 4*PT_BP+32, "4*PT_BP+32" },
+	{ 4*PT_BP+36, "4*PT_BP+36" },
+	{ 4*PT_BP+40, "4*PT_BP+40" },
+	{ 4*PT_BP+44, "4*PT_BP+44" },
+	{ 4*PT_BP+48, "4*PT_BP+48" },
+	{ 4*PT_BP+52, "4*PT_BP+52" },
+	{ 4*PT_BP+56, "4*PT_BP+56" },
+#   endif
+
+#   if !defined(SPARC) && !defined(HPPA) && !defined(POWERPC) \
+		&& !defined(ALPHA) && !defined(IA64) \
+		&& !defined(CRISV10) && !defined(CRISV32)
+#    if !defined(S390) && !defined(S390X) && !defined(MIPS) && !defined(SPARC64) && !defined(AVR32) && !defined(BFIN) && !defined(TILE)
+	{ uoff(u_fpvalid),	"offsetof(struct user, u_fpvalid)"	},
+#    endif
+#    if defined(I386) || defined(X86_64)
+	{ uoff(i387),		"offsetof(struct user, i387)"		},
+#    endif
+#    if defined(M68K)
+	{ uoff(m68kfp),		"offsetof(struct user, m68kfp)"		},
+#    endif
+	{ uoff(u_tsize),	"offsetof(struct user, u_tsize)"	},
+	{ uoff(u_dsize),	"offsetof(struct user, u_dsize)"	},
+	{ uoff(u_ssize),	"offsetof(struct user, u_ssize)"	},
+#    if !defined(SPARC64)
+	{ uoff(start_code),	"offsetof(struct user, start_code)"	},
+#    endif
+#    if defined(AVR32) || defined(SH64)
+	{ uoff(start_data),	"offsetof(struct user, start_data)"	},
+#    endif
+#    if !defined(SPARC64)
+	{ uoff(start_stack),	"offsetof(struct user, start_stack)"	},
+#    endif
+	{ uoff(signal),		"offsetof(struct user, signal)"		},
+#    if !defined(AVR32) && !defined(S390) && !defined(S390X) && !defined(MIPS) && !defined(SH) && !defined(SH64) && !defined(SPARC64) && !defined(TILE)
+	{ uoff(reserved),	"offsetof(struct user, reserved)"	},
+#    endif
+#    if !defined(SPARC64)
+	{ uoff(u_ar0),		"offsetof(struct user, u_ar0)"		},
+#    endif
+#    if !defined(ARM) && !defined(AVR32) && !defined(MIPS) && !defined(S390) && !defined(S390X) && !defined(SPARC64) && !defined(BFIN) && !defined(TILE)
+	{ uoff(u_fpstate),	"offsetof(struct user, u_fpstate)"	},
+#    endif
+	{ uoff(magic),		"offsetof(struct user, magic)"		},
+	{ uoff(u_comm),		"offsetof(struct user, u_comm)"		},
+#    if defined(I386) || defined(X86_64)
+	{ uoff(u_debugreg),	"offsetof(struct user, u_debugreg)"	},
+#    endif
+#   endif /* !defined(many arches) */
+
+#  endif /* LINUX */
+
+#  ifdef SUNOS4
+	{ uoff(u_pcb),		"offsetof(struct user, u_pcb)"		},
+	{ uoff(u_procp),	"offsetof(struct user, u_procp)"	},
+	{ uoff(u_ar0),		"offsetof(struct user, u_ar0)"		},
+	{ uoff(u_comm[0]),	"offsetof(struct user, u_comm[0])"	},
+	{ uoff(u_arg[0]),	"offsetof(struct user, u_arg[0])"	},
+	{ uoff(u_ap),		"offsetof(struct user, u_ap)"		},
+	{ uoff(u_qsave),	"offsetof(struct user, u_qsave)"	},
+	{ uoff(u_rval1),	"offsetof(struct user, u_rval1)"	},
+	{ uoff(u_rval2),	"offsetof(struct user, u_rval2)"	},
+	{ uoff(u_error),	"offsetof(struct user, u_error)"	},
+	{ uoff(u_eosys),	"offsetof(struct user, u_eosys)"	},
+	{ uoff(u_ssave),	"offsetof(struct user, u_ssave)"	},
+	{ uoff(u_signal[0]),	"offsetof(struct user, u_signal)"	},
+	{ uoff(u_sigmask[0]),	"offsetof(struct user, u_sigmask)"	},
+	{ uoff(u_sigonstack),	"offsetof(struct user, u_sigonstack)"	},
+	{ uoff(u_sigintr),	"offsetof(struct user, u_sigintr)"	},
+	{ uoff(u_sigreset),	"offsetof(struct user, u_sigreset)"	},
+	{ uoff(u_oldmask),	"offsetof(struct user, u_oldmask)"	},
+	{ uoff(u_code),		"offsetof(struct user, u_code)"		},
+	{ uoff(u_addr),		"offsetof(struct user, u_addr)"		},
+	{ uoff(u_sigstack),	"offsetof(struct user, u_sigstack)"	},
+	{ uoff(u_ofile),	"offsetof(struct user, u_ofile)"	},
+	{ uoff(u_pofile),	"offsetof(struct user, u_pofile)"	},
+	{ uoff(u_ofile_arr[0]),	"offsetof(struct user, u_ofile_arr[0])"	},
+	{ uoff(u_pofile_arr[0]),"offsetof(struct user, u_pofile_arr[0])"},
+	{ uoff(u_lastfile),	"offsetof(struct user, u_lastfile)"	},
+	{ uoff(u_cwd),		"offsetof(struct user, u_cwd)"		},
+	{ uoff(u_cdir),		"offsetof(struct user, u_cdir)"		},
+	{ uoff(u_rdir),		"offsetof(struct user, u_rdir)"		},
+	{ uoff(u_cmask),	"offsetof(struct user, u_cmask)"	},
+	{ uoff(u_ru),		"offsetof(struct user, u_ru)"		},
+	{ uoff(u_cru),		"offsetof(struct user, u_cru)"		},
+	{ uoff(u_timer[0]),	"offsetof(struct user, u_timer[0])"	},
+	{ uoff(u_XXX[0]),	"offsetof(struct user, u_XXX[0])"	},
+	{ uoff(u_ioch),		"offsetof(struct user, u_ioch)"		},
+	{ uoff(u_start),	"offsetof(struct user, u_start)"	},
+	{ uoff(u_acflag),	"offsetof(struct user, u_acflag)"	},
+	{ uoff(u_prof.pr_base),	"offsetof(struct user, u_prof.pr_base)"	},
+	{ uoff(u_prof.pr_size),	"offsetof(struct user, u_prof.pr_size)"	},
+	{ uoff(u_prof.pr_off),	"offsetof(struct user, u_prof.pr_off)"	},
+	{ uoff(u_prof.pr_scale),"offsetof(struct user, u_prof.pr_scale)"},
+	{ uoff(u_rlimit[0]),	"offsetof(struct user, u_rlimit)"	},
+	{ uoff(u_exdata.Ux_A),	"offsetof(struct user, u_exdata.Ux_A)"	},
+	{ uoff(u_exdata.ux_shell[0]),"offsetof(struct user, u_exdata.ux_shell[0])"},
+	{ uoff(u_lofault),	"offsetof(struct user, u_lofault)"	},
+#  endif /* SUNOS4 */
+#  ifndef HPPA
+	{ sizeof(struct user),	"sizeof(struct user)"			},
+#  endif
+	{ 0,			NULL					},
+};
+# endif /* !FREEBSD */
+
+int
+sys_ptrace(struct tcb *tcp)
+{
+	const struct xlat *x;
+	long addr;
+
+	if (entering(tcp)) {
+		printxval(ptrace_cmds, tcp->u_arg[0],
+# ifndef FREEBSD
+			  "PTRACE_???"
+# else
+			  "PT_???"
+# endif
+			);
+		tprintf(", %lu, ", tcp->u_arg[1]);
+		addr = tcp->u_arg[2];
+# ifndef FREEBSD
+		if (tcp->u_arg[0] == PTRACE_PEEKUSER
+			|| tcp->u_arg[0] == PTRACE_POKEUSER) {
+			for (x = struct_user_offsets; x->str; x++) {
+				if (x->val >= addr)
+					break;
+			}
+			if (!x->str)
+				tprintf("%#lx, ", addr);
+			else if (x->val > addr && x != struct_user_offsets) {
+				x--;
+				tprintf("%s + %ld, ", x->str, addr - x->val);
+			}
+			else
+				tprintf("%s, ", x->str);
+		}
+		else
+# endif
+			tprintf("%#lx, ", tcp->u_arg[2]);
+# ifdef LINUX
+		switch (tcp->u_arg[0]) {
+#  ifndef IA64
+		case PTRACE_PEEKDATA:
+		case PTRACE_PEEKTEXT:
+		case PTRACE_PEEKUSER:
+			break;
+#  endif
+		case PTRACE_CONT:
+		case PTRACE_SINGLESTEP:
+		case PTRACE_SYSCALL:
+		case PTRACE_DETACH:
+			printsignal(tcp->u_arg[3]);
+			break;
+#  ifdef PTRACE_SETOPTIONS
+		case PTRACE_SETOPTIONS:
+			printflags(ptrace_setoptions_flags, tcp->u_arg[3], "PTRACE_O_???");
+			break;
+#  endif
+#  ifdef PTRACE_SETSIGINFO
+		case PTRACE_SETSIGINFO: {
+			siginfo_t si;
+			if (!tcp->u_arg[3])
+				tprintf("NULL");
+			else if (syserror(tcp))
+				tprintf("%#lx", tcp->u_arg[3]);
+			else if (umove(tcp, tcp->u_arg[3], &si) < 0)
+				tprintf("{???}");
+			else
+				printsiginfo(&si, verbose(tcp));
+			break;
+		}
+#  endif
+#  ifdef PTRACE_GETSIGINFO
+		case PTRACE_GETSIGINFO:
+			/* Don't print anything, do it at syscall return. */
+			break;
+#  endif
+		default:
+			tprintf("%#lx", tcp->u_arg[3]);
+			break;
+		}
+	} else {
+		switch (tcp->u_arg[0]) {
+		case PTRACE_PEEKDATA:
+		case PTRACE_PEEKTEXT:
+		case PTRACE_PEEKUSER:
+#  ifdef IA64
+			return RVAL_HEX;
+#  else
+			printnum(tcp, tcp->u_arg[3], "%#lx");
+			break;
+#  endif
+#  ifdef PTRACE_GETSIGINFO
+		case PTRACE_GETSIGINFO: {
+			siginfo_t si;
+			if (!tcp->u_arg[3])
+				tprintf("NULL");
+			else if (syserror(tcp))
+				tprintf("%#lx", tcp->u_arg[3]);
+			else if (umove(tcp, tcp->u_arg[3], &si) < 0)
+				tprintf("{???}");
+			else
+				printsiginfo(&si, verbose(tcp));
+			break;
+		}
+#  endif
+		}
+	}
+# endif /* LINUX */
+# ifdef SUNOS4
+		if (tcp->u_arg[0] == PTRACE_WRITEDATA ||
+			tcp->u_arg[0] == PTRACE_WRITETEXT) {
+			tprintf("%lu, ", tcp->u_arg[3]);
+			printstr(tcp, tcp->u_arg[4], tcp->u_arg[3]);
+		} else if (tcp->u_arg[0] != PTRACE_READDATA &&
+				tcp->u_arg[0] != PTRACE_READTEXT) {
+			tprintf("%#lx", tcp->u_arg[3]);
+		}
+	} else {
+		if (tcp->u_arg[0] == PTRACE_READDATA ||
+			tcp->u_arg[0] == PTRACE_READTEXT) {
+			tprintf("%lu, ", tcp->u_arg[3]);
+			printstr(tcp, tcp->u_arg[4], tcp->u_arg[3]);
+		}
+	}
+# endif /* SUNOS4 */
+# ifdef FREEBSD
+		tprintf("%lu", tcp->u_arg[3]);
+	}
+# endif /* FREEBSD */
+	return 0;
+}
+
+#endif /* !SVR4 */
+
+#ifdef LINUX
+# ifndef FUTEX_CMP_REQUEUE
+#  define FUTEX_CMP_REQUEUE 4
+# endif
+# ifndef FUTEX_WAKE_OP
+#  define FUTEX_WAKE_OP 5
+# endif
+# ifndef FUTEX_LOCK_PI
+#  define FUTEX_LOCK_PI 6
+#  define FUTEX_UNLOCK_PI 7
+#  define FUTEX_TRYLOCK_PI 8
+# endif
+# ifndef FUTEX_WAIT_BITSET
+#  define FUTEX_WAIT_BITSET 9
+# endif
+# ifndef FUTEX_WAKE_BITSET
+#  define FUTEX_WAKE_BITSET 10
+# endif
+# ifndef FUTEX_WAIT_REQUEUE_PI
+#  define FUTEX_WAIT_REQUEUE_PI 11
+# endif
+# ifndef FUTEX_CMP_REQUEUE_PI
+#  define FUTEX_CMP_REQUEUE_PI 12
+# endif
+# ifndef FUTEX_PRIVATE_FLAG
+#  define FUTEX_PRIVATE_FLAG 128
+# endif
+# ifndef FUTEX_CLOCK_REALTIME
+#  define FUTEX_CLOCK_REALTIME 256
+# endif
+static const struct xlat futexops[] = {
+	{ FUTEX_WAIT,					"FUTEX_WAIT" },
+	{ FUTEX_WAKE,					"FUTEX_WAKE" },
+	{ FUTEX_FD,					"FUTEX_FD" },
+	{ FUTEX_REQUEUE,				"FUTEX_REQUEUE" },
+	{ FUTEX_CMP_REQUEUE,				"FUTEX_CMP_REQUEUE" },
+	{ FUTEX_WAKE_OP,				"FUTEX_WAKE_OP" },
+	{ FUTEX_LOCK_PI,				"FUTEX_LOCK_PI" },
+	{ FUTEX_UNLOCK_PI,				"FUTEX_UNLOCK_PI" },
+	{ FUTEX_TRYLOCK_PI,				"FUTEX_TRYLOCK_PI" },
+	{ FUTEX_WAIT_BITSET,				"FUTEX_WAIT_BITSET" },
+	{ FUTEX_WAKE_BITSET,				"FUTEX_WAKE_BITSET" },
+	{ FUTEX_WAIT_REQUEUE_PI,			"FUTEX_WAIT_REQUEUE_PI" },
+	{ FUTEX_CMP_REQUEUE_PI,				"FUTEX_CMP_REQUEUE_PI" },
+	{ FUTEX_WAIT|FUTEX_PRIVATE_FLAG,		"FUTEX_WAIT_PRIVATE" },
+	{ FUTEX_WAKE|FUTEX_PRIVATE_FLAG,		"FUTEX_WAKE_PRIVATE" },
+	{ FUTEX_FD|FUTEX_PRIVATE_FLAG,			"FUTEX_FD_PRIVATE" },
+	{ FUTEX_REQUEUE|FUTEX_PRIVATE_FLAG,		"FUTEX_REQUEUE_PRIVATE" },
+	{ FUTEX_CMP_REQUEUE|FUTEX_PRIVATE_FLAG,		"FUTEX_CMP_REQUEUE_PRIVATE" },
+	{ FUTEX_WAKE_OP|FUTEX_PRIVATE_FLAG,		"FUTEX_WAKE_OP_PRIVATE" },
+	{ FUTEX_LOCK_PI|FUTEX_PRIVATE_FLAG,		"FUTEX_LOCK_PI_PRIVATE" },
+	{ FUTEX_UNLOCK_PI|FUTEX_PRIVATE_FLAG,		"FUTEX_UNLOCK_PI_PRIVATE" },
+	{ FUTEX_TRYLOCK_PI|FUTEX_PRIVATE_FLAG,		"FUTEX_TRYLOCK_PI_PRIVATE" },
+	{ FUTEX_WAIT_BITSET|FUTEX_PRIVATE_FLAG,		"FUTEX_WAIT_BITSET_PRIVATE" },
+	{ FUTEX_WAKE_BITSET|FUTEX_PRIVATE_FLAG,		"FUTEX_WAKE_BITSET_PRIVATE" },
+	{ FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG,	"FUTEX_WAIT_REQUEUE_PI_PRIVATE" },
+	{ FUTEX_CMP_REQUEUE_PI|FUTEX_PRIVATE_FLAG,	"FUTEX_CMP_REQUEUE_PI_PRIVATE" },
+	{ FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME,	"FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME" },
+	{ FUTEX_WAIT_BITSET|FUTEX_PRIVATE_FLAG|FUTEX_CLOCK_REALTIME,	"FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME" },
+	{ FUTEX_WAIT_REQUEUE_PI|FUTEX_CLOCK_REALTIME,	"FUTEX_WAIT_REQUEUE_PI|FUTEX_CLOCK_REALTIME" },
+	{ FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG|FUTEX_CLOCK_REALTIME,	"FUTEX_WAIT_REQUEUE_PI_PRIVATE|FUTEX_CLOCK_REALTIME" },
+	{ 0,						NULL }
+};
+# ifndef FUTEX_OP_SET
+#  define FUTEX_OP_SET		0
+#  define FUTEX_OP_ADD		1
+#  define FUTEX_OP_OR		2
+#  define FUTEX_OP_ANDN		3
+#  define FUTEX_OP_XOR		4
+#  define FUTEX_OP_CMP_EQ	0
+#  define FUTEX_OP_CMP_NE	1
+#  define FUTEX_OP_CMP_LT	2
+#  define FUTEX_OP_CMP_LE	3
+#  define FUTEX_OP_CMP_GT	4
+#  define FUTEX_OP_CMP_GE	5
+# endif
+static const struct xlat futexwakeops[] = {
+	{ FUTEX_OP_SET,		"FUTEX_OP_SET" },
+	{ FUTEX_OP_ADD,		"FUTEX_OP_ADD" },
+	{ FUTEX_OP_OR,		"FUTEX_OP_OR" },
+	{ FUTEX_OP_ANDN,	"FUTEX_OP_ANDN" },
+	{ FUTEX_OP_XOR,		"FUTEX_OP_XOR" },
+	{ 0,			NULL }
+};
+static const struct xlat futexwakecmps[] = {
+	{ FUTEX_OP_CMP_EQ,	"FUTEX_OP_CMP_EQ" },
+	{ FUTEX_OP_CMP_NE,	"FUTEX_OP_CMP_NE" },
+	{ FUTEX_OP_CMP_LT,	"FUTEX_OP_CMP_LT" },
+	{ FUTEX_OP_CMP_LE,	"FUTEX_OP_CMP_LE" },
+	{ FUTEX_OP_CMP_GT,	"FUTEX_OP_CMP_GT" },
+	{ FUTEX_OP_CMP_GE,	"FUTEX_OP_CMP_GE" },
+	{ 0,			NULL }
+};
+
+int
+sys_futex(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		long int cmd = tcp->u_arg[1] & 127;
+		tprintf("%p, ", (void *) tcp->u_arg[0]);
+		printxval(futexops, tcp->u_arg[1], "FUTEX_???");
+		tprintf(", %ld", tcp->u_arg[2]);
+		if (cmd == FUTEX_WAKE_BITSET)
+			tprintf(", %lx", tcp->u_arg[5]);
+		else if (cmd == FUTEX_WAIT) {
+			tprintf(", ");
+			printtv(tcp, tcp->u_arg[3]);
+		} else if (cmd == FUTEX_WAIT_BITSET) {
+			tprintf(", ");
+			printtv(tcp, tcp->u_arg[3]);
+			tprintf(", %lx", tcp->u_arg[5]);
+		} else if (cmd == FUTEX_REQUEUE)
+			tprintf(", %ld, %p", tcp->u_arg[3], (void *) tcp->u_arg[4]);
+		else if (cmd == FUTEX_CMP_REQUEUE || cmd == FUTEX_CMP_REQUEUE_PI)
+			tprintf(", %ld, %p, %ld", tcp->u_arg[3], (void *) tcp->u_arg[4], tcp->u_arg[5]);
+		else if (cmd == FUTEX_WAKE_OP) {
+			tprintf(", %ld, %p, {", tcp->u_arg[3], (void *) tcp->u_arg[4]);
+			if ((tcp->u_arg[5] >> 28) & 8)
+				tprintf("FUTEX_OP_OPARG_SHIFT|");
+			printxval(futexwakeops, (tcp->u_arg[5] >> 28) & 0x7, "FUTEX_OP_???");
+			tprintf(", %ld, ", (tcp->u_arg[5] >> 12) & 0xfff);
+			if ((tcp->u_arg[5] >> 24) & 8)
+				tprintf("FUTEX_OP_OPARG_SHIFT|");
+			printxval(futexwakecmps, (tcp->u_arg[5] >> 24) & 0x7, "FUTEX_OP_CMP_???");
+			tprintf(", %ld}", tcp->u_arg[5] & 0xfff);
+		} else if (cmd == FUTEX_WAIT_REQUEUE_PI) {
+			tprintf(", ");
+			printtv(tcp, tcp->u_arg[3]);
+			tprintf(", %p", (void *) tcp->u_arg[4]);
+		}
+	}
+	return 0;
+}
+
+static void
+print_affinitylist(struct tcb *tcp, long list, unsigned int len)
+{
+	int first = 1;
+	unsigned long w, min_len;
+
+	if (abbrev(tcp) && len / sizeof(w) > max_strlen)
+		min_len = len - max_strlen * sizeof(w);
+	else
+		min_len = 0;
+	for (; len >= sizeof(w) && len > min_len;
+	     len -= sizeof(w), list += sizeof(w)) {
+		if (umove(tcp, list, &w) < 0)
+			break;
+		if (first)
+			tprintf("{");
+		else
+			tprintf(", ");
+		first = 0;
+		tprintf("%lx", w);
+	}
+	if (len) {
+		if (first)
+			tprintf("%#lx", list);
+		else
+			tprintf(", %s}", (len >= sizeof(w) && len > min_len ?
+				"???" : "..."));
+	} else {
+		tprintf(first ? "{}" : "}");
+	}
+}
+
+int
+sys_sched_setaffinity(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, %lu, ", tcp->u_arg[0], tcp->u_arg[1]);
+		print_affinitylist(tcp, tcp->u_arg[2], tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+int
+sys_sched_getaffinity(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, %lu, ", tcp->u_arg[0], tcp->u_arg[1]);
+	} else {
+		if (tcp->u_rval == -1)
+			tprintf("%#lx", tcp->u_arg[2]);
+		else
+			print_affinitylist(tcp, tcp->u_arg[2], tcp->u_rval);
+	}
+	return 0;
+}
+
+static const struct xlat schedulers[] = {
+	{ SCHED_OTHER,	"SCHED_OTHER" },
+	{ SCHED_RR,	"SCHED_RR" },
+	{ SCHED_FIFO,	"SCHED_FIFO" },
+	{ 0,		NULL }
+};
+
+int
+sys_sched_getscheduler(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%d", (int) tcp->u_arg[0]);
+	} else if (! syserror(tcp)) {
+		tcp->auxstr = xlookup (schedulers, tcp->u_rval);
+		if (tcp->auxstr != NULL)
+			return RVAL_STR;
+	}
+	return 0;
+}
+
+int
+sys_sched_setscheduler(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		struct sched_param p;
+		tprintf("%d, ", (int) tcp->u_arg[0]);
+		printxval(schedulers, tcp->u_arg[1], "SCHED_???");
+		if (umove(tcp, tcp->u_arg[2], &p) < 0)
+			tprintf(", %#lx", tcp->u_arg[2]);
+		else
+			tprintf(", { %d }", p.__sched_priority);
+	}
+	return 0;
+}
+
+int
+sys_sched_getparam(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%d, ", (int) tcp->u_arg[0]);
+	} else {
+		struct sched_param p;
+		if (umove(tcp, tcp->u_arg[1], &p) < 0)
+			tprintf("%#lx", tcp->u_arg[1]);
+		else
+			tprintf("{ %d }", p.__sched_priority);
+	}
+	return 0;
+}
+
+int
+sys_sched_setparam(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		struct sched_param p;
+		if (umove(tcp, tcp->u_arg[1], &p) < 0)
+			tprintf("%d, %#lx", (int) tcp->u_arg[0], tcp->u_arg[1]);
+		else
+			tprintf("%d, { %d }", (int) tcp->u_arg[0], p.__sched_priority);
+	}
+	return 0;
+}
+
+int
+sys_sched_get_priority_min(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printxval(schedulers, tcp->u_arg[0], "SCHED_???");
+	}
+	return 0;
+}
+
+# ifdef X86_64
+# include <asm/prctl.h>
+
+static const struct xlat archvals[] = {
+	{ ARCH_SET_GS,		"ARCH_SET_GS"		},
+	{ ARCH_SET_FS,		"ARCH_SET_FS"		},
+	{ ARCH_GET_FS,		"ARCH_GET_FS"		},
+	{ ARCH_GET_GS,		"ARCH_GET_GS"		},
+	{ 0,			NULL			},
+};
+
+int
+sys_arch_prctl(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printxval(archvals, tcp->u_arg[0], "ARCH_???");
+		if (tcp->u_arg[0] == ARCH_SET_GS
+		 || tcp->u_arg[0] == ARCH_SET_FS
+		) {
+			tprintf(", %#lx", tcp->u_arg[1]);
+		}
+	} else {
+		if (tcp->u_arg[0] == ARCH_GET_GS
+		 || tcp->u_arg[0] == ARCH_GET_FS
+		) {
+			long int v;
+			if (!syserror(tcp) && umove(tcp, tcp->u_arg[1], &v) != -1)
+				tprintf(", [%#lx]", v);
+			else
+				tprintf(", %#lx", tcp->u_arg[1]);
+		}
+	}
+	return 0;
+}
+# endif /* X86_64 */
+
+
+int
+sys_getcpu(struct tcb *tcp)
+{
+	if (exiting(tcp)) {
+		unsigned u;
+		if (tcp->u_arg[0] == 0)
+			tprintf("NULL, ");
+		else if (umove(tcp, tcp->u_arg[0], &u) < 0)
+			tprintf("%#lx, ", tcp->u_arg[0]);
+		else
+			tprintf("[%u], ", u);
+		if (tcp->u_arg[1] == 0)
+			tprintf("NULL, ");
+		else if (umove(tcp, tcp->u_arg[1], &u) < 0)
+			tprintf("%#lx, ", tcp->u_arg[1]);
+		else
+			tprintf("[%u], ", u);
+		tprintf("%#lx", tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+#endif /* LINUX */
diff --git a/strace-4.5.20/quota.c b/strace-4.5.20/quota.c
new file mode 100644
index 0000000..f07d1a1
--- /dev/null
+++ b/strace-4.5.20/quota.c
@@ -0,0 +1,736 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 2005, 2006 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+#ifdef LINUX
+
+#include <inttypes.h>
+
+#define SUBCMDMASK  0x00ff
+#define SUBCMDSHIFT 8
+#define QCMD_CMD(cmd)	((u_int32_t)(cmd) >> SUBCMDSHIFT)
+#define QCMD_TYPE(cmd)	((u_int32_t)(cmd) & SUBCMDMASK)
+
+#define OLD_CMD(cmd)	((u_int32_t)(cmd) << 8)
+#define NEW_CMD(cmd)	((u_int32_t)(cmd) | 0x800000)
+#define XQM_CMD(cmd)	((u_int32_t)(cmd) | ('X'<<8))
+
+#define Q_V1_QUOTAON	OLD_CMD(0x1)
+#define Q_V1_QUOTAOFF	OLD_CMD(0x2)
+#define Q_V1_GETQUOTA	OLD_CMD(0x3)
+#define Q_V1_SETQUOTA	OLD_CMD(0x4)
+#define Q_V1_SETUSE	OLD_CMD(0x5)
+#define Q_V1_SYNC	OLD_CMD(0x6)
+#define Q_SETQLIM	OLD_CMD(0x7)
+#define Q_V1_GETSTATS	OLD_CMD(0x8)
+#define Q_V1_RSQUASH	OLD_CMD(0x10)
+
+#define Q_V2_GETQUOTA	OLD_CMD(0xD)
+#define Q_V2_SETQUOTA	OLD_CMD(0xE)
+#define Q_V2_SETUSE	OLD_CMD(0xF)
+#define Q_V2_GETINFO	OLD_CMD(0x9)
+#define Q_V2_SETINFO	OLD_CMD(0xA)
+#define Q_V2_SETGRACE	OLD_CMD(0xB)
+#define Q_V2_SETFLAGS	OLD_CMD(0xC)
+#define Q_V2_GETSTATS	OLD_CMD(0x11)
+
+#define Q_SYNC		NEW_CMD(0x1)
+#define Q_QUOTAON	NEW_CMD(0x2)
+#define Q_QUOTAOFF	NEW_CMD(0x3)
+#define Q_GETFMT	NEW_CMD(0x4)
+#define Q_GETINFO	NEW_CMD(0x5)
+#define Q_SETINFO	NEW_CMD(0x6)
+#define Q_GETQUOTA	NEW_CMD(0x7)
+#define Q_SETQUOTA	NEW_CMD(0x8)
+
+#define Q_XQUOTAON	XQM_CMD(0x1)
+#define Q_XQUOTAOFF	XQM_CMD(0x2)
+#define Q_XGETQUOTA	XQM_CMD(0x3)
+#define Q_XSETQLIM	XQM_CMD(0x4)
+#define Q_XGETQSTAT	XQM_CMD(0x5)
+#define Q_XQUOTARM	XQM_CMD(0x6)
+#define Q_XQUOTASYNC	XQM_CMD(0x7)
+
+static const struct xlat quotacmds[] = {
+	{Q_V1_QUOTAON, "Q_V1_QUOTAON"},
+	{Q_V1_QUOTAOFF, "Q_V1_QUOTAOFF"},
+	{Q_V1_GETQUOTA, "Q_V1_GETQUOTA"},
+	{Q_V1_SETQUOTA, "Q_V1_SETQUOTA"},
+	{Q_V1_SETUSE, "Q_V1_SETUSE"},
+	{Q_V1_SYNC, "Q_V1_SYNC"},
+	{Q_SETQLIM, "Q_SETQLIM"},
+	{Q_V1_GETSTATS, "Q_V1_GETSTATS"},
+	{Q_V1_RSQUASH, "Q_V1_RSQUASH"},
+
+	{Q_V2_GETQUOTA, "Q_V2_GETQUOTA"},
+	{Q_V2_SETQUOTA, "Q_V2_SETQUOTA"},
+	{Q_V2_SETUSE, "Q_V2_SETUSE"},
+	{Q_V2_GETINFO, "Q_V2_GETINFO"},
+	{Q_V2_SETINFO, "Q_V2_SETINFO"},
+	{Q_V2_SETGRACE, "Q_V2_SETGRACE"},
+	{Q_V2_SETFLAGS, "Q_V2_SETFLAGS"},
+	{Q_V2_GETSTATS, "Q_V2_GETSTATS"},
+
+	{Q_SYNC, "Q_SYNC"},
+	{Q_QUOTAON, "Q_QUOTAON"},
+	{Q_QUOTAOFF, "Q_QUOTAOFF"},
+	{Q_GETFMT, "Q_GETFMT"},
+	{Q_GETINFO, "Q_GETINFO"},
+	{Q_SETINFO, "Q_SETINFO"},
+	{Q_GETQUOTA, "Q_GETQUOTA"},
+	{Q_SETQUOTA, "Q_SETQUOTA"},
+
+	{Q_XQUOTAON, "Q_XQUOTAON"},
+	{Q_XQUOTAOFF, "Q_XQUOTAOFF"},
+	{Q_XGETQUOTA, "Q_XGETQUOTA"},
+	{Q_XSETQLIM, "Q_XSETQLIM"},
+	{Q_XGETQSTAT, "Q_XGETQSTAT"},
+	{Q_XQUOTARM, "Q_XQUOTARM"},
+	{Q_XQUOTASYNC, "Q_XQUOTASYNC"},
+
+	{0, NULL},
+};
+
+#define USRQUOTA 0
+#define GRPQUOTA 1
+
+static const struct xlat quotatypes[] = {
+	{USRQUOTA, "USRQUOTA"},
+	{GRPQUOTA, "GRPQUOTA"},
+	{0, NULL},
+};
+
+/* Quota format identifiers */
+#define QFMT_VFS_OLD 1
+#define QFMT_VFS_V0  2
+
+static const struct xlat quota_formats[] = {
+	{QFMT_VFS_OLD, "QFMT_VFS_OLD"},
+	{QFMT_VFS_V0, "QFMT_VFS_V0"},
+	{0, NULL},
+};
+
+#define XFS_QUOTA_UDQ_ACCT	(1<<0)	/* user quota accounting */
+#define XFS_QUOTA_UDQ_ENFD	(1<<1)	/* user quota limits enforcement */
+#define XFS_QUOTA_GDQ_ACCT	(1<<2)	/* group quota accounting */
+#define XFS_QUOTA_GDQ_ENFD	(1<<3)	/* group quota limits enforcement */
+
+#define XFS_USER_QUOTA		(1<<0)	/* user quota type */
+#define XFS_PROJ_QUOTA		(1<<1)	/* (IRIX) project quota type */
+#define XFS_GROUP_QUOTA		(1<<2)	/* group quota type */
+
+static const struct xlat xfs_quota_flags[] = {
+	{XFS_QUOTA_UDQ_ACCT, "XFS_QUOTA_UDQ_ACCT"},
+	{XFS_QUOTA_UDQ_ENFD, "XFS_QUOTA_UDQ_ENFD"},
+	{XFS_QUOTA_GDQ_ACCT, "XFS_QUOTA_GDQ_ACCT"},
+	{XFS_QUOTA_GDQ_ENFD, "XFS_QUOTA_GDQ_ENFD"},
+	{0, NULL}
+};
+
+static const struct xlat xfs_dqblk_flags[] = {
+	{XFS_USER_QUOTA, "XFS_USER_QUOTA"},
+	{XFS_PROJ_QUOTA, "XFS_PROJ_QUOTA"},
+	{XFS_GROUP_QUOTA, "XFS_GROUP_QUOTA"},
+	{0, NULL}
+};
+
+/*
+ * Following flags are used to specify which fields are valid
+ */
+#define QIF_BLIMITS	1
+#define QIF_SPACE	2
+#define QIF_ILIMITS	4
+#define QIF_INODES	8
+#define QIF_BTIME	16
+#define QIF_ITIME	32
+
+static const struct xlat if_dqblk_valid[] = {
+	{QIF_BLIMITS, "QIF_BLIMITS"},
+	{QIF_SPACE, "QIF_SPACE"},
+	{QIF_ILIMITS, "QIF_ILIMITS"},
+	{QIF_INODES, "QIF_INODES"},
+	{QIF_BTIME, "QIF_BTIME"},
+	{QIF_ITIME, "QIF_ITIME"},
+	{0, NULL}
+};
+
+struct if_dqblk
+{
+	u_int64_t dqb_bhardlimit;
+	u_int64_t dqb_bsoftlimit;
+	u_int64_t dqb_curspace;
+	u_int64_t dqb_ihardlimit;
+	u_int64_t dqb_isoftlimit;
+	u_int64_t dqb_curinodes;
+	u_int64_t dqb_btime;
+	u_int64_t dqb_itime;
+	u_int32_t dqb_valid;
+};
+
+struct v1_dqblk
+{
+	u_int32_t dqb_bhardlimit;	/* absolute limit on disk blks alloc */
+	u_int32_t dqb_bsoftlimit;	/* preferred limit on disk blks */
+	u_int32_t dqb_curblocks;	/* current block count */
+	u_int32_t dqb_ihardlimit;	/* maximum # allocated inodes */
+	u_int32_t dqb_isoftlimit;	/* preferred inode limit */
+	u_int32_t dqb_curinodes;	/* current # allocated inodes */
+	time_t  dqb_btime;	/* time limit for excessive disk use */
+	time_t  dqb_itime;	/* time limit for excessive files */
+};
+
+struct v2_dqblk
+{
+	unsigned int dqb_ihardlimit;
+	unsigned int dqb_isoftlimit;
+	unsigned int dqb_curinodes;
+	unsigned int dqb_bhardlimit;
+	unsigned int dqb_bsoftlimit;
+	u_int64_t dqb_curspace;
+	time_t  dqb_btime;
+	time_t  dqb_itime;
+};
+
+struct xfs_dqblk
+{
+	int8_t  d_version;	/* version of this structure */
+	int8_t  d_flags;	/* XFS_{USER,PROJ,GROUP}_QUOTA */
+	u_int16_t d_fieldmask;	/* field specifier */
+	u_int32_t d_id;		/* user, project, or group ID */
+	u_int64_t d_blk_hardlimit;	/* absolute limit on disk blks */
+	u_int64_t d_blk_softlimit;	/* preferred limit on disk blks */
+	u_int64_t d_ino_hardlimit;	/* maximum # allocated inodes */
+	u_int64_t d_ino_softlimit;	/* preferred inode limit */
+	u_int64_t d_bcount;	/* # disk blocks owned by the user */
+	u_int64_t d_icount;	/* # inodes owned by the user */
+	int32_t d_itimer;	/* zero if within inode limits */
+	int32_t d_btimer;	/* similar to above; for disk blocks */
+	u_int16_t d_iwarns;	/* # warnings issued wrt num inodes */
+	u_int16_t d_bwarns;	/* # warnings issued wrt disk blocks */
+	int32_t d_padding2;	/* padding2 - for future use */
+	u_int64_t d_rtb_hardlimit;	/* absolute limit on realtime blks */
+	u_int64_t d_rtb_softlimit;	/* preferred limit on RT disk blks */
+	u_int64_t d_rtbcount;	/* # realtime blocks owned */
+	int32_t d_rtbtimer;	/* similar to above; for RT disk blks */
+	u_int16_t d_rtbwarns;	/* # warnings issued wrt RT disk blks */
+	int16_t d_padding3;	/* padding3 - for future use */
+	char    d_padding4[8];	/* yet more padding */
+};
+
+/*
+ * Following flags are used to specify which fields are valid
+ */
+#define IIF_BGRACE	1
+#define IIF_IGRACE	2
+#define IIF_FLAGS	4
+
+static const struct xlat if_dqinfo_valid[] = {
+	{IIF_BGRACE, "IIF_BGRACE"},
+	{IIF_IGRACE, "IIF_IGRACE"},
+	{IIF_FLAGS, "IIF_FLAGS"},
+	{0, NULL}
+};
+
+struct if_dqinfo
+{
+	u_int64_t dqi_bgrace;
+	u_int64_t dqi_igrace;
+	u_int32_t dqi_flags;
+	u_int32_t dqi_valid;
+};
+
+struct v2_dqinfo
+{
+	unsigned int dqi_bgrace;
+	unsigned int dqi_igrace;
+	unsigned int dqi_flags;
+	unsigned int dqi_blocks;
+	unsigned int dqi_free_blk;
+	unsigned int dqi_free_entry;
+};
+
+struct v1_dqstats
+{
+	u_int32_t lookups;
+	u_int32_t drops;
+	u_int32_t reads;
+	u_int32_t writes;
+	u_int32_t cache_hits;
+	u_int32_t allocated_dquots;
+	u_int32_t free_dquots;
+	u_int32_t syncs;
+};
+
+struct v2_dqstats
+{
+	u_int32_t lookups;
+	u_int32_t drops;
+	u_int32_t reads;
+	u_int32_t writes;
+	u_int32_t cache_hits;
+	u_int32_t allocated_dquots;
+	u_int32_t free_dquots;
+	u_int32_t syncs;
+	u_int32_t version;
+};
+
+typedef struct fs_qfilestat
+{
+	u_int64_t qfs_ino;	/* inode number */
+	u_int64_t qfs_nblks;	/* number of BBs 512-byte-blks */
+	u_int32_t qfs_nextents;	/* number of extents */
+} fs_qfilestat_t;
+
+struct xfs_dqstats
+{
+	int8_t  qs_version;	/* version number for future changes */
+	u_int16_t qs_flags;	/* XFS_QUOTA_{U,P,G}DQ_{ACCT,ENFD} */
+	int8_t  qs_pad;		/* unused */
+	fs_qfilestat_t qs_uquota;	/* user quota storage information */
+	fs_qfilestat_t qs_gquota;	/* group quota storage information */
+	u_int32_t qs_incoredqs;	/* number of dquots incore */
+	int32_t qs_btimelimit;	/* limit for blks timer */
+	int32_t qs_itimelimit;	/* limit for inodes timer */
+	int32_t qs_rtbtimelimit;	/* limit for rt blks timer */
+	u_int16_t qs_bwarnlimit;	/* limit for num warnings */
+	u_int16_t qs_iwarnlimit;	/* limit for num warnings */
+};
+
+static void
+decode_cmd_data(struct tcb *tcp, u_int32_t cmd, unsigned long data)
+{
+	switch (cmd)
+	{
+		case Q_GETQUOTA:
+		case Q_SETQUOTA:
+		{
+			struct if_dqblk dq;
+
+			if (cmd == Q_GETQUOTA && syserror(tcp))
+			{
+				tprintf("%#lx", data);
+				break;
+			}
+			if (umove(tcp, data, &dq) < 0)
+			{
+				tprintf("{???} %#lx", data);
+				break;
+			}
+			tprintf("{bhardlimit=%" PRIu64 ", ", dq.dqb_bhardlimit);
+			tprintf("bsoftlimit=%" PRIu64 ", ", dq.dqb_bsoftlimit);
+			tprintf("curspace=%" PRIu64 ", ", dq.dqb_curspace);
+			tprintf("ihardlimit=%" PRIu64 ", ", dq.dqb_ihardlimit);
+			tprintf("isoftlimit=%" PRIu64 ", ", dq.dqb_isoftlimit);
+			tprintf("curinodes=%" PRIu64 ", ", dq.dqb_curinodes);
+			if (!abbrev(tcp))
+			{
+				tprintf("btime=%" PRIu64 ", ", dq.dqb_btime);
+				tprintf("itime=%" PRIu64 ", ", dq.dqb_itime);
+				tprintf("valid=");
+				printflags(if_dqblk_valid,
+					   dq.dqb_valid, "QIF_???");
+				tprintf("}");
+			} else
+				tprintf("...}");
+			break;
+		}
+		case Q_V1_GETQUOTA:
+		case Q_V1_SETQUOTA:
+		{
+			struct v1_dqblk dq;
+
+			if (cmd == Q_V1_GETQUOTA && syserror(tcp))
+			{
+				tprintf("%#lx", data);
+				break;
+			}
+			if (umove(tcp, data, &dq) < 0)
+			{
+				tprintf("{???} %#lx", data);
+				break;
+			}
+			tprintf("{bhardlimit=%u, ", dq.dqb_bhardlimit);
+			tprintf("bsoftlimit=%u, ", dq.dqb_bsoftlimit);
+			tprintf("curblocks=%u, ", dq.dqb_curblocks);
+			tprintf("ihardlimit=%u, ", dq.dqb_ihardlimit);
+			tprintf("isoftlimit=%u, ", dq.dqb_isoftlimit);
+			tprintf("curinodes=%u, ", dq.dqb_curinodes);
+			tprintf("btime=%lu, ", dq.dqb_btime);
+			tprintf("itime=%lu}", dq.dqb_itime);
+			break;
+		}
+		case Q_V2_GETQUOTA:
+		case Q_V2_SETQUOTA:
+		{
+			struct v2_dqblk dq;
+
+			if (cmd == Q_V2_GETQUOTA && syserror(tcp))
+			{
+				tprintf("%#lx", data);
+				break;
+			}
+			if (umove(tcp, data, &dq) < 0)
+			{
+				tprintf("{???} %#lx", data);
+				break;
+			}
+			tprintf("{ihardlimit=%u, ", dq.dqb_ihardlimit);
+			tprintf("isoftlimit=%u, ", dq.dqb_isoftlimit);
+			tprintf("curinodes=%u, ", dq.dqb_curinodes);
+			tprintf("bhardlimit=%u, ", dq.dqb_bhardlimit);
+			tprintf("bsoftlimit=%u, ", dq.dqb_bsoftlimit);
+			tprintf("curspace=%" PRIu64 ", ", dq.dqb_curspace);
+			tprintf("btime=%lu, ", dq.dqb_btime);
+			tprintf("itime=%lu}", dq.dqb_itime);
+			break;
+		}
+		case Q_XGETQUOTA:
+		case Q_XSETQLIM:
+		{
+			struct xfs_dqblk dq;
+
+			if (cmd == Q_XGETQUOTA && syserror(tcp))
+			{
+				tprintf("%#lx", data);
+				break;
+			}
+			if (umove(tcp, data, &dq) < 0)
+			{
+				tprintf("{???} %#lx", data);
+				break;
+			}
+			tprintf("{version=%d, ", dq.d_version);
+			tprintf("flags=");
+			printflags(xfs_dqblk_flags,
+				   dq.d_flags, "XFS_???_QUOTA");
+			tprintf(", fieldmask=%#x, ", dq.d_fieldmask);
+			tprintf("id=%u, ", dq.d_id);
+			tprintf("blk_hardlimit=%" PRIu64 ", ", dq.d_blk_hardlimit);
+			tprintf("blk_softlimit=%" PRIu64 ", ", dq.d_blk_softlimit);
+			tprintf("ino_hardlimit=%" PRIu64 ", ", dq.d_ino_hardlimit);
+			tprintf("ino_softlimit=%" PRIu64 ", ", dq.d_ino_softlimit);
+			tprintf("bcount=%" PRIu64 ", ", dq.d_bcount);
+			tprintf("icount=%" PRIu64 ", ", dq.d_icount);
+			if (!abbrev(tcp))
+			{
+				tprintf("itimer=%d, ", dq.d_itimer);
+				tprintf("btimer=%d, ", dq.d_btimer);
+				tprintf("iwarns=%u, ", dq.d_iwarns);
+				tprintf("bwarns=%u, ", dq.d_bwarns);
+				tprintf("rtbcount=%" PRIu64 ", ", dq.d_rtbcount);
+				tprintf("rtbtimer=%d, ", dq.d_rtbtimer);
+				tprintf("rtbwarns=%u}", dq.d_rtbwarns);
+			} else
+				tprintf("...}");
+			break;
+		}
+		case Q_GETFMT:
+		{
+			u_int32_t fmt;
+
+			if (syserror(tcp))
+			{
+				tprintf("%#lx", data);
+				break;
+			}
+			if (umove(tcp, data, &fmt) < 0)
+			{
+				tprintf("{???} %#lx", data);
+				break;
+			}
+			tprintf("{");
+			printxval(quota_formats, fmt, "QFMT_VFS_???");
+			tprintf("}");
+			break;
+		}
+		case Q_GETINFO:
+		case Q_SETINFO:
+		{
+			struct if_dqinfo dq;
+
+			if (cmd == Q_GETINFO && syserror(tcp))
+			{
+				tprintf("%#lx", data);
+				break;
+			}
+			if (umove(tcp, data, &dq) < 0)
+			{
+				tprintf("{???} %#lx", data);
+				break;
+			}
+			tprintf("{bgrace=%" PRIu64 ", ", dq.dqi_bgrace);
+			tprintf("igrace=%" PRIu64 ", ", dq.dqi_igrace);
+			tprintf("flags=%#x, ", dq.dqi_flags);
+			tprintf("valid=");
+			printflags(if_dqinfo_valid, dq.dqi_valid, "IIF_???");
+			tprintf("}");
+			break;
+		}
+		case Q_V2_GETINFO:
+		case Q_V2_SETINFO:
+		{
+			struct v2_dqinfo dq;
+
+			if (cmd == Q_V2_GETINFO && syserror(tcp))
+			{
+				tprintf("%#lx", data);
+				break;
+			}
+			if (umove(tcp, data, &dq) < 0)
+			{
+				tprintf("{???} %#lx", data);
+				break;
+			}
+			tprintf("{bgrace=%u, ", dq.dqi_bgrace);
+			tprintf("igrace=%u, ", dq.dqi_igrace);
+			tprintf("flags=%#x, ", dq.dqi_flags);
+			tprintf("blocks=%u, ", dq.dqi_blocks);
+			tprintf("free_blk=%u, ", dq.dqi_free_blk);
+			tprintf("free_entry=%u}", dq.dqi_free_entry);
+			break;
+		}
+		case Q_V1_GETSTATS:
+		{
+			struct v1_dqstats dq;
+
+			if (syserror(tcp))
+			{
+				tprintf("%#lx", data);
+				break;
+			}
+			if (umove(tcp, data, &dq) < 0)
+			{
+				tprintf("{???} %#lx", data);
+				break;
+			}
+			tprintf("{lookups=%u, ", dq.lookups);
+			tprintf("drops=%u, ", dq.drops);
+			tprintf("reads=%u, ", dq.reads);
+			tprintf("writes=%u, ", dq.writes);
+			tprintf("cache_hits=%u, ", dq.cache_hits);
+			tprintf("allocated_dquots=%u, ", dq.allocated_dquots);
+			tprintf("free_dquots=%u, ", dq.free_dquots);
+			tprintf("syncs=%u}", dq.syncs);
+			break;
+		}
+		case Q_V2_GETSTATS:
+		{
+			struct v2_dqstats dq;
+
+			if (syserror(tcp))
+			{
+				tprintf("%#lx", data);
+				break;
+			}
+			if (umove(tcp, data, &dq) < 0)
+			{
+				tprintf("{???} %#lx", data);
+				break;
+			}
+			tprintf("{lookups=%u, ", dq.lookups);
+			tprintf("drops=%u, ", dq.drops);
+			tprintf("reads=%u, ", dq.reads);
+			tprintf("writes=%u, ", dq.writes);
+			tprintf("cache_hits=%u, ", dq.cache_hits);
+			tprintf("allocated_dquots=%u, ", dq.allocated_dquots);
+			tprintf("free_dquots=%u, ", dq.free_dquots);
+			tprintf("syncs=%u, ", dq.syncs);
+			tprintf("version=%u}", dq.version);
+			break;
+		}
+		case Q_XGETQSTAT:
+		{
+			struct xfs_dqstats dq;
+
+			if (syserror(tcp))
+			{
+				tprintf("%#lx", data);
+				break;
+			}
+			if (umove(tcp, data, &dq) < 0)
+			{
+				tprintf("{???} %#lx", data);
+				break;
+			}
+			tprintf("{version=%d, ", dq.qs_version);
+			if (abbrev(tcp))
+			{
+				tprintf("...}");
+				break;
+			}
+			tprintf("flags=");
+			printflags(xfs_quota_flags,
+				   dq.qs_flags, "XFS_QUOTA_???");
+			tprintf(", incoredqs=%u, ", dq.qs_incoredqs);
+			tprintf("u_ino=%" PRIu64 ", ", dq.qs_uquota.qfs_ino);
+			tprintf("u_nblks=%" PRIu64 ", ", dq.qs_uquota.qfs_nblks);
+			tprintf("u_nextents=%u, ", dq.qs_uquota.qfs_nextents);
+			tprintf("g_ino=%" PRIu64 ", ", dq.qs_gquota.qfs_ino);
+			tprintf("g_nblks=%" PRIu64 ", ", dq.qs_gquota.qfs_nblks);
+			tprintf("g_nextents=%u, ", dq.qs_gquota.qfs_nextents);
+			tprintf("btimelimit=%d, ", dq.qs_btimelimit);
+			tprintf("itimelimit=%d, ", dq.qs_itimelimit);
+			tprintf("rtbtimelimit=%d, ", dq.qs_rtbtimelimit);
+			tprintf("bwarnlimit=%u, ", dq.qs_bwarnlimit);
+			tprintf("iwarnlimit=%u}", dq.qs_iwarnlimit);
+			break;
+		}
+		case Q_XQUOTAON:
+		{
+			u_int32_t flag;
+
+			if (umove(tcp, data, &flag) < 0)
+			{
+				tprintf("{???} %#lx", data);
+				break;
+			}
+			tprintf("{");
+			printflags(xfs_quota_flags, flag, "XFS_QUOTA_???");
+			tprintf("}");
+			break;
+		}
+		default:
+			tprintf("%#lx", data);
+			break;
+	}
+}
+
+int
+sys_quotactl(struct tcb *tcp)
+{
+	/*
+	 * The Linux kernel only looks at the low 32 bits of command and id
+	 * arguments, but on some 64-bit architectures (s390x) this word
+	 * will have been sign-extended when we see it.  The high 1 bits
+	 * don't mean anything, so don't confuse the output with them.
+	 */
+	u_int32_t qcmd = tcp->u_arg[0];
+	u_int32_t cmd = QCMD_CMD(qcmd);
+	u_int32_t type = QCMD_TYPE(qcmd);
+	u_int32_t id = tcp->u_arg[2];
+
+	if (!verbose(tcp))
+		return printargs(tcp);
+
+	if (entering(tcp))
+	{
+		printxval(quotacmds, cmd, "Q_???");
+		tprintf("|");
+		printxval(quotatypes, type, "???QUOTA");
+		tprintf(", ");
+		printstr(tcp, tcp->u_arg[1], -1);
+		tprintf(", ");
+		switch (cmd)
+		{
+			case Q_V1_QUOTAON:
+			case Q_QUOTAON:
+				printxval(quota_formats, id, "QFMT_VFS_???");
+				break;
+			case Q_V1_GETQUOTA:
+			case Q_V2_GETQUOTA:
+			case Q_GETQUOTA:
+			case Q_V1_SETQUOTA:
+			case Q_V2_SETQUOTA:
+			case Q_V1_SETUSE:
+			case Q_V2_SETUSE:
+			case Q_SETQLIM:
+			case Q_SETQUOTA:
+			case Q_XGETQUOTA:
+			case Q_XSETQLIM:
+				tprintf("%u", id);
+				break;
+			default:
+				tprintf("%#lx", tcp->u_arg[2]);
+				break;
+		}
+		tprintf(", ");
+	} else
+	{
+		if (!tcp->u_arg[3])
+			tprintf("NULL");
+		else
+			decode_cmd_data(tcp, cmd, tcp->u_arg[3]);
+	}
+	return 0;
+}
+
+#endif /* Linux */
+
+#if defined(SUNOS4) || defined(FREEBSD)
+
+#ifdef SUNOS4
+#include <ufs/quota.h>
+#endif
+
+#ifdef FREEBSD
+#include <ufs/ufs/quota.h>
+#endif
+
+static const struct xlat quotacmds[] = {
+	{Q_QUOTAON, "Q_QUOTAON"},
+	{Q_QUOTAOFF, "Q_QUOTAOFF"},
+	{Q_GETQUOTA, "Q_GETQUOTA"},
+	{Q_SETQUOTA, "Q_SETQUOTA"},
+#ifdef Q_SETQLIM
+	{Q_SETQLIM, "Q_SETQLIM"},
+#endif
+#ifdef Q_SETUSE
+	{Q_SETUSE, "Q_SETUSE"},
+#endif
+	{Q_SYNC, "Q_SYNC"},
+	{0, NULL},
+};
+
+int
+sys_quotactl(struct tcb *tcp)
+{
+	/* fourth arg (addr) not interpreted here */
+	if (entering(tcp))
+	{
+#ifdef SUNOS4
+		printxval(quotacmds, tcp->u_arg[0], "Q_???");
+		tprintf(", ");
+		printstr(tcp, tcp->u_arg[1], -1);
+#endif
+#ifdef FREEBSD
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+		printxval(quotacmds, tcp->u_arg[1], "Q_???");
+#endif
+		tprintf(", %lu, %#lx", tcp->u_arg[2], tcp->u_arg[3]);
+	}
+	return 0;
+}
+
+#endif /* SUNOS4 || FREEBSD */
diff --git a/strace-4.5.20/resource.c b/strace-4.5.20/resource.c
new file mode 100644
index 0000000..8274f3e
--- /dev/null
+++ b/strace-4.5.20/resource.c
@@ -0,0 +1,446 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+#include <sys/resource.h>
+#ifdef LINUX
+#include <sys/times.h>
+#include <linux/kernel.h>
+#endif /* LINUX */
+#if defined(SVR4) || defined(FREEBSD)
+#include <sys/times.h>
+#include <sys/time.h>
+#endif
+
+#if HAVE_LONG_LONG_RLIM_T
+/*
+ * Hacks for systems that have a long long rlim_t
+ */
+
+#define rlimit64 rlimit			/* Ugly hack */
+#define rlim64_t rlim_t			/* Ugly hack */
+#define RLIM64_INFINITY RLIM_INFINITY	/* You guessed it */
+
+#define sys_getrlimit64	sys_getrlimit
+#define sys_setrlimit64	sys_setrlimit
+#endif
+
+static const struct xlat resources[] = {
+#ifdef RLIMIT_AS
+	{ RLIMIT_AS,	"RLIMIT_AS"	},
+#endif
+#ifdef RLIMIT_CORE
+	{ RLIMIT_CORE,	"RLIMIT_CORE"	},
+#endif
+#ifdef RLIMIT_CPU
+	{ RLIMIT_CPU,	"RLIMIT_CPU"	},
+#endif
+#ifdef RLIMIT_DATA
+	{ RLIMIT_DATA,	"RLIMIT_DATA"	},
+#endif
+#ifdef RLIMIT_FSIZE
+	{ RLIMIT_FSIZE,	"RLIMIT_FSIZE"	},
+#endif
+#ifdef RLIMIT_LOCKS
+	{ RLIMIT_LOCKS,	"RLIMIT_LOCKS"	},
+#endif
+#ifdef RLIMIT_MEMLOCK
+	{ RLIMIT_MEMLOCK,	"RLIMIT_MEMLOCK"	},
+#endif
+#ifdef RLIMIT_MSGQUEUE
+	{ RLIMIT_MSGQUEUE,	"RLIMIT_MSGQUEUE"	},
+#endif
+#ifdef RLIMIT_NICE
+	{ RLIMIT_NICE,	"RLIMIT_NICE"	},
+#endif
+#ifdef RLIMIT_NOFILE
+	{ RLIMIT_NOFILE,	"RLIMIT_NOFILE"	},
+#endif
+#ifdef RLIMIT_NPROC
+	{ RLIMIT_NPROC,	"RLIMIT_NPROC"	},
+#endif
+#ifdef RLIMIT_RSS
+	{ RLIMIT_RSS,	"RLIMIT_RSS"	},
+#endif
+#ifdef RLIMIT_RTPRIO
+	{ RLIMIT_RTPRIO,	"RLIMIT_RTPRIO"	},
+#endif
+#ifdef RLIMIT_SIGPENDING
+	{ RLIMIT_SIGPENDING,	"RLIMIT_SIGPENDING"	},
+#endif
+#ifdef RLIMIT_STACK
+	{ RLIMIT_STACK,	"RLIMIT_STACK"	},
+#endif
+#ifdef RLIMIT_VMEM
+	{ RLIMIT_VMEM,	"RLIMIT_VMEM"	},
+#endif
+	{ 0,		NULL		},
+};
+
+#if !HAVE_LONG_LONG_RLIM_T
+static char *
+sprintrlim(long lim)
+{
+	static char buf[32];
+
+	if (lim == RLIM_INFINITY)
+		sprintf(buf, "RLIM_INFINITY");
+	else if (lim > 1024 && lim%1024 == 0)
+		sprintf(buf, "%ld*1024", lim/1024);
+	else
+		sprintf(buf, "%ld", lim);
+	return buf;
+}
+
+int
+sys_getrlimit(struct tcb *tcp)
+{
+	struct rlimit rlim;
+
+	if (entering(tcp)) {
+		printxval(resources, tcp->u_arg[0], "RLIMIT_???");
+		tprintf(", ");
+	}
+	else {
+		if (syserror(tcp) || !verbose(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else if (umove(tcp, tcp->u_arg[1], &rlim) < 0)
+			tprintf("{...}");
+		else {
+			tprintf("{rlim_cur=%s,", sprintrlim(rlim.rlim_cur));
+			tprintf(" rlim_max=%s}", sprintrlim(rlim.rlim_max));
+		}
+	}
+	return 0;
+}
+
+int
+sys_setrlimit(struct tcb *tcp)
+{
+	struct rlimit rlim;
+
+	if (entering(tcp)) {
+		printxval(resources, tcp->u_arg[0], "RLIMIT_???");
+		tprintf(", ");
+		if (!verbose(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else if (umove(tcp, tcp->u_arg[1], &rlim) < 0)
+			tprintf("{...}");
+		else {
+			tprintf("{rlim_cur=%s,", sprintrlim(rlim.rlim_cur));
+			tprintf(" rlim_max=%s}", sprintrlim(rlim.rlim_max));
+		}
+	}
+	return 0;
+}
+#endif /* !HAVE_LONG_LONG_RLIM_T */
+
+#if _LFS64_LARGEFILE || HAVE_LONG_LONG_RLIM_T
+static char *
+sprintrlim64(rlim64_t lim)
+{
+	static char buf[64];
+
+	if (lim == RLIM64_INFINITY)
+		sprintf(buf, "RLIM64_INFINITY");
+	else if (lim > 1024 && lim%1024 == 0)
+		sprintf(buf, "%lld*1024", (long long) lim/1024);
+	else
+		sprintf(buf, "%lld", (long long) lim);
+	return buf;
+}
+
+int
+sys_getrlimit64(struct tcb *tcp)
+{
+	struct rlimit64 rlim;
+
+	if (entering(tcp)) {
+		printxval(resources, tcp->u_arg[0], "RLIMIT_???");
+		tprintf(", ");
+	}
+	else {
+		if (syserror(tcp) || !verbose(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else if (umove(tcp, tcp->u_arg[1], &rlim) < 0)
+			tprintf("{...}");
+		else {
+			tprintf("{rlim_cur=%s,", sprintrlim64(rlim.rlim_cur));
+			tprintf(" rlim_max=%s}", sprintrlim64(rlim.rlim_max));
+		}
+	}
+	return 0;
+}
+
+int
+sys_setrlimit64(struct tcb *tcp)
+{
+	struct rlimit64 rlim;
+
+	if (entering(tcp)) {
+		printxval(resources, tcp->u_arg[0], "RLIMIT_???");
+		tprintf(", ");
+		if (!verbose(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else if (umove(tcp, tcp->u_arg[1], &rlim) < 0)
+			tprintf("{...}");
+		else {
+			tprintf("{rlim_cur=%s,", sprintrlim64(rlim.rlim_cur));
+			tprintf(" rlim_max=%s}", sprintrlim64(rlim.rlim_max));
+		}
+	}
+	return 0;
+}
+#endif /* _LFS64_LARGEFILES || HAVE_LONG_LONG_RLIM_T */
+
+#ifndef SVR4
+
+static const struct xlat usagewho[] = {
+	{ RUSAGE_SELF,		"RUSAGE_SELF"		},
+	{ RUSAGE_CHILDREN,	"RUSAGE_CHILDREN"	},
+#ifdef RUSAGE_BOTH
+	{ RUSAGE_BOTH,		"RUSAGE_BOTH"		},
+#endif
+	{ 0,			NULL			},
+};
+
+#ifdef ALPHA
+void
+printrusage32(struct tcb *tcp, long addr)
+{
+	struct timeval32 {
+		unsigned tv_sec;
+		unsigned tv_usec;
+	};
+	struct rusage32 {
+		struct timeval32 ru_utime;	/* user time used */
+		struct timeval32 ru_stime;	/* system time used */
+		long	ru_maxrss;		/* maximum resident set size */
+		long	ru_ixrss;		/* integral shared memory size */
+		long	ru_idrss;		/* integral unshared data size */
+		long	ru_isrss;		/* integral unshared stack size */
+		long	ru_minflt;		/* page reclaims */
+		long	ru_majflt;		/* page faults */
+		long	ru_nswap;		/* swaps */
+		long	ru_inblock;		/* block input operations */
+		long	ru_oublock;		/* block output operations */
+		long	ru_msgsnd;		/* messages sent */
+		long	ru_msgrcv;		/* messages received */
+		long	ru_nsignals;		/* signals received */
+		long	ru_nvcsw;		/* voluntary context switches */
+		long	ru_nivcsw;		/* involuntary " */
+	} ru;
+
+	if (!addr)
+		tprintf("NULL");
+	else if (syserror(tcp) || !verbose(tcp))
+		tprintf("%#lx", addr);
+	else if (umove(tcp, addr, &ru) < 0)
+		tprintf("{...}");
+	else if (!abbrev(tcp)) {
+		tprintf("{ru_utime={%lu, %lu}, ru_stime={%lu, %lu}, ",
+			(long) ru.ru_utime.tv_sec, (long) ru.ru_utime.tv_usec,
+			(long) ru.ru_stime.tv_sec, (long) ru.ru_stime.tv_usec);
+		tprintf("ru_maxrss=%lu, ru_ixrss=%lu, ",
+			ru.ru_maxrss, ru.ru_ixrss);
+		tprintf("ru_idrss=%lu, ru_isrss=%lu, ",
+			ru.ru_idrss, ru.ru_isrss);
+		tprintf("ru_minflt=%lu, ru_majflt=%lu, ru_nswap=%lu, ",
+			ru.ru_minflt, ru.ru_majflt, ru.ru_nswap);
+		tprintf("ru_inblock=%lu, ru_oublock=%lu, ",
+			ru.ru_inblock, ru.ru_oublock);
+		tprintf("ru_msgsnd=%lu, ru_msgrcv=%lu, ",
+			ru.ru_msgsnd, ru.ru_msgrcv);
+		tprintf("ru_nsignals=%lu, ru_nvcsw=%lu, ru_nivcsw=%lu}",
+			ru.ru_nsignals, ru.ru_nvcsw, ru.ru_nivcsw);
+	}
+	else {
+		tprintf("{ru_utime={%lu, %lu}, ru_stime={%lu, %lu}, ...}",
+			(long) ru.ru_utime.tv_sec, (long) ru.ru_utime.tv_usec,
+			(long) ru.ru_stime.tv_sec, (long) ru.ru_stime.tv_usec);
+	}
+}
+#endif
+
+void
+printrusage(struct tcb *tcp, long addr)
+{
+	struct rusage ru;
+
+	if (!addr)
+		tprintf("NULL");
+	else if (syserror(tcp) || !verbose(tcp))
+		tprintf("%#lx", addr);
+	else if (umove(tcp, addr, &ru) < 0)
+		tprintf("{...}");
+	else if (!abbrev(tcp)) {
+		tprintf("{ru_utime={%lu, %lu}, ru_stime={%lu, %lu}, ",
+			(long) ru.ru_utime.tv_sec, (long) ru.ru_utime.tv_usec,
+			(long) ru.ru_stime.tv_sec, (long) ru.ru_stime.tv_usec);
+		tprintf("ru_maxrss=%lu, ru_ixrss=%lu, ",
+			ru.ru_maxrss, ru.ru_ixrss);
+		tprintf("ru_idrss=%lu, ru_isrss=%lu, ",
+			ru.ru_idrss, ru.ru_isrss);
+		tprintf("ru_minflt=%lu, ru_majflt=%lu, ru_nswap=%lu, ",
+			ru.ru_minflt, ru.ru_majflt, ru.ru_nswap);
+		tprintf("ru_inblock=%lu, ru_oublock=%lu, ",
+			ru.ru_inblock, ru.ru_oublock);
+		tprintf("ru_msgsnd=%lu, ru_msgrcv=%lu, ",
+			ru.ru_msgsnd, ru.ru_msgrcv);
+		tprintf("ru_nsignals=%lu, ru_nvcsw=%lu, ru_nivcsw=%lu}",
+			ru.ru_nsignals, ru.ru_nvcsw, ru.ru_nivcsw);
+	}
+	else {
+		tprintf("{ru_utime={%lu, %lu}, ru_stime={%lu, %lu}, ...}",
+			(long) ru.ru_utime.tv_sec, (long) ru.ru_utime.tv_usec,
+			(long) ru.ru_stime.tv_sec, (long) ru.ru_stime.tv_usec);
+	}
+}
+
+int
+sys_getrusage(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printxval(usagewho, tcp->u_arg[0], "RUSAGE_???");
+		tprintf(", ");
+	}
+	else
+		printrusage(tcp, tcp->u_arg[1]);
+	return 0;
+}
+
+#ifdef ALPHA
+int
+sys_osf_getrusage(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printxval(usagewho, tcp->u_arg[0], "RUSAGE_???");
+		tprintf(", ");
+	}
+	else
+		printrusage32(tcp, tcp->u_arg[1]);
+	return 0;
+}
+#endif /* ALPHA */
+
+#endif /* !SVR4 */
+
+#ifdef LINUX
+
+int
+sys_sysinfo(struct tcb *tcp)
+{
+	struct sysinfo si;
+
+	if (exiting(tcp)) {
+		if (syserror(tcp) || !verbose(tcp))
+			tprintf("%#lx", tcp->u_arg[0]);
+		else if (umove(tcp, tcp->u_arg[0], &si) < 0)
+			tprintf("{...}");
+		else {
+			tprintf("{uptime=%lu, loads=[%lu, %lu, %lu] ",
+				si.uptime, si.loads[0], si.loads[1],
+				si.loads[2]);
+			tprintf("totalram=%lu, freeram=%lu, ",
+				si.totalram, si.freeram);
+			tprintf("sharedram=%lu, bufferram=%lu} ",
+				si.sharedram, si.bufferram);
+			tprintf("totalswap=%lu, freeswap=%lu, procs=%hu}",
+				si.totalswap, si.freeswap, si.procs);
+		}
+	}
+	return 0;
+}
+
+#endif /* LINUX */
+
+static const struct xlat priorities[] = {
+	{ PRIO_PROCESS,	"PRIO_PROCESS"	},
+	{ PRIO_PGRP,	"PRIO_PGRP"	},
+	{ PRIO_USER,	"PRIO_USER"	},
+	{ 0,		NULL		},
+};
+
+int
+sys_getpriority(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printxval(priorities, tcp->u_arg[0], "PRIO_???");
+		tprintf(", %lu", tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+int
+sys_setpriority(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printxval(priorities, tcp->u_arg[0], "PRIO_???");
+		tprintf(", %lu, %ld", tcp->u_arg[1], tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+int
+sys_nice(struct tcb *tcp)
+{
+	if (entering(tcp))
+		tprintf("%ld", tcp->u_arg[0]);
+	return 0;
+}
+
+#ifndef SUNOS4
+
+int
+sys_times(struct tcb *tcp)
+{
+	struct tms tbuf;
+
+	if (exiting(tcp)) {
+		if (tcp->u_arg[0] == 0)
+			tprintf("NULL");
+		else if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[0]);
+		else if (umove(tcp, tcp->u_arg[0], &tbuf) < 0)
+			tprintf("{...}");
+		else {
+			tprintf("{tms_utime=%lu, tms_stime=%lu, ",
+				tbuf.tms_utime, tbuf.tms_stime);
+			tprintf("tms_cutime=%lu, tms_cstime=%lu}",
+				tbuf.tms_cutime, tbuf.tms_cstime);
+		}
+	}
+	return 0;
+}
+
+#endif /* !SUNOS4 */
diff --git a/strace-4.5.20/scsi.c b/strace-4.5.20/scsi.c
new file mode 100644
index 0000000..cc077a9
--- /dev/null
+++ b/strace-4.5.20/scsi.c
@@ -0,0 +1,114 @@
+#include "defs.h"
+
+#ifdef LINUX
+#include <sys/ioctl.h>
+#include <scsi/sg.h>
+
+static const struct xlat sg_io_dxfer_direction[] = {
+	{SG_DXFER_NONE,        "SG_DXFER_NONE"},
+	{SG_DXFER_TO_DEV,      "SG_DXFER_TO_DEV"},
+	{SG_DXFER_FROM_DEV,    "SG_DXFER_FROM_DEV"},
+	{SG_DXFER_TO_FROM_DEV, "SG_DXFER_TO_FROM_DEV"},
+	{0, NULL}
+};
+
+static void
+print_sg_io_buffer(struct tcb *tcp, unsigned char *addr, int len)
+{
+	unsigned char *buf = NULL;
+	int     allocated, i;
+
+	if (len == 0)
+		return;
+	allocated = (len > max_strlen) ? max_strlen : len;
+	if (len < 0 ||
+	    (buf = malloc(allocated)) == NULL ||
+	    umoven(tcp, (unsigned long) addr, allocated, (char *) buf) < 0) {
+		tprintf("%p", addr);
+		free(buf);
+		return;
+	}
+	tprintf("%02x", buf[0]);
+	for (i = 1; i < allocated; ++i)
+		tprintf(", %02x", buf[i]);
+	free(buf);
+	if (allocated != len)
+		tprintf(", ...");
+}
+
+static void
+print_sg_io_req(struct tcb *tcp, struct sg_io_hdr *sg_io)
+{
+	tprintf("{'%c', ", sg_io->interface_id);
+	printxval(sg_io_dxfer_direction, sg_io->dxfer_direction,
+		  "SG_DXFER_???");
+	tprintf(", cmd[%u]=[", sg_io->cmd_len);
+	print_sg_io_buffer(tcp, sg_io->cmdp, sg_io->cmd_len);
+	tprintf("], mx_sb_len=%d, ", sg_io->mx_sb_len);
+	tprintf("iovec_count=%d, ", sg_io->iovec_count);
+	tprintf("dxfer_len=%u, ", sg_io->dxfer_len);
+	tprintf("timeout=%u, ", sg_io->timeout);
+	tprintf("flags=%#x", sg_io->flags);
+
+	if (sg_io->dxfer_direction == SG_DXFER_TO_DEV ||
+	    sg_io->dxfer_direction == SG_DXFER_TO_FROM_DEV) {
+		tprintf(", data[%u]=[", sg_io->dxfer_len);
+		printstr(tcp, (unsigned long) sg_io->dxferp,
+			 sg_io->dxfer_len);
+		tprintf("]");
+	}
+}
+
+static void
+print_sg_io_res(struct tcb *tcp, struct sg_io_hdr *sg_io)
+{
+	if (sg_io->dxfer_direction == SG_DXFER_FROM_DEV ||
+	    sg_io->dxfer_direction == SG_DXFER_TO_FROM_DEV) {
+		tprintf(", data[%u]=[", sg_io->dxfer_len);
+		printstr(tcp, (unsigned long) sg_io->dxferp,
+			 sg_io->dxfer_len);
+		tprintf("]");
+	}
+	tprintf(", status=%02x, ", sg_io->status);
+	tprintf("masked_status=%02x, ", sg_io->masked_status);
+	tprintf("sb[%u]=[", sg_io->sb_len_wr);
+	print_sg_io_buffer(tcp, sg_io->sbp, sg_io->sb_len_wr);
+	tprintf("], host_status=%#x, ", sg_io->host_status);
+	tprintf("driver_status=%#x, ", sg_io->driver_status);
+	tprintf("resid=%d, ", sg_io->resid);
+	tprintf("duration=%d, ", sg_io->duration);
+	tprintf("info=%#x}", sg_io->info);
+}
+
+int
+scsi_ioctl(struct tcb *tcp, long code, long arg)
+{
+	switch (code) {
+	case SG_IO:
+		if (entering(tcp)) {
+			struct sg_io_hdr sg_io;
+
+			if (umove(tcp, arg, &sg_io) < 0)
+				tprintf(", %#lx", arg);
+			else {
+				tprintf(", ");
+				print_sg_io_req(tcp, &sg_io);
+			}
+		}
+		if (exiting(tcp)) {
+			struct sg_io_hdr sg_io;
+
+			if (!syserror(tcp) && umove(tcp, arg, &sg_io) >= 0)
+				print_sg_io_res(tcp, &sg_io);
+			else
+				tprintf("}");
+		}
+		break;
+	default:
+		if (entering(tcp))
+			tprintf(", %#lx", arg);
+		break;
+	}
+	return 1;
+}
+#endif /* LINUX */
diff --git a/strace-4.5.20/signal.c b/strace-4.5.20/signal.c
new file mode 100644
index 0000000..bf97e90
--- /dev/null
+++ b/strace-4.5.20/signal.c
@@ -0,0 +1,2127 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
+ *                     Linux for s390 port by D.J. Barrow
+ *                    <barrow_dj@mail.yahoo.com,djbarrow@de.ibm.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+#include <stdint.h>
+#include <signal.h>
+#include <sys/user.h>
+#include <fcntl.h>
+
+#ifdef SVR4
+#include <sys/ucontext.h>
+#endif /* SVR4 */
+
+#ifdef HAVE_SYS_REG_H
+# include <sys/reg.h>
+#ifndef PTRACE_PEEKUSR
+# define PTRACE_PEEKUSR PTRACE_PEEKUSER
+#endif
+#ifndef PTRACE_POKEUSR
+# define PTRACE_POKEUSR PTRACE_POKEUSER
+#endif
+#elif defined(HAVE_LINUX_PTRACE_H)
+#undef PTRACE_SYSCALL
+# ifdef HAVE_STRUCT_IA64_FPREG
+#  define ia64_fpreg XXX_ia64_fpreg
+# endif
+# ifdef HAVE_STRUCT_PT_ALL_USER_REGS
+#  define pt_all_user_regs XXX_pt_all_user_regs
+# endif
+#include <linux/ptrace.h>
+# undef ia64_fpreg
+# undef pt_all_user_regs
+#endif
+
+
+#ifdef LINUX
+
+#ifdef IA64
+# include <asm/ptrace_offsets.h>
+#endif /* !IA64 */
+
+#if defined (LINUX) && defined (SPARC64)
+# undef PTRACE_GETREGS
+# define PTRACE_GETREGS PTRACE_GETREGS64
+# undef PTRACE_SETREGS
+# define PTRACE_SETREGS PTRACE_SETREGS64
+#endif /* LINUX && SPARC64 */
+
+#if defined (SPARC) || defined (SPARC64) || defined (MIPS)
+typedef struct {
+	struct pt_regs		si_regs;
+	int			si_mask;
+} m_siginfo_t;
+#elif defined HAVE_ASM_SIGCONTEXT_H
+#if !defined(IA64) && !defined(X86_64)
+#include <asm/sigcontext.h>
+#endif /* !IA64 && !X86_64 */
+#else /* !HAVE_ASM_SIGCONTEXT_H */
+#if defined I386 && !defined HAVE_STRUCT_SIGCONTEXT_STRUCT
+struct sigcontext_struct {
+	unsigned short gs, __gsh;
+	unsigned short fs, __fsh;
+	unsigned short es, __esh;
+	unsigned short ds, __dsh;
+	unsigned long edi;
+	unsigned long esi;
+	unsigned long ebp;
+	unsigned long esp;
+	unsigned long ebx;
+	unsigned long edx;
+	unsigned long ecx;
+	unsigned long eax;
+	unsigned long trapno;
+	unsigned long err;
+	unsigned long eip;
+	unsigned short cs, __csh;
+	unsigned long eflags;
+	unsigned long esp_at_signal;
+	unsigned short ss, __ssh;
+	unsigned long i387;
+	unsigned long oldmask;
+	unsigned long cr2;
+};
+#else /* !I386 */
+#if defined M68K && !defined HAVE_STRUCT_SIGCONTEXT
+struct sigcontext
+{
+	unsigned long sc_mask;
+	unsigned long sc_usp;
+	unsigned long sc_d0;
+	unsigned long sc_d1;
+	unsigned long sc_a0;
+	unsigned long sc_a1;
+	unsigned short sc_sr;
+	unsigned long sc_pc;
+	unsigned short sc_formatvec;
+};
+#endif /* M68K */
+#endif /* !I386 */
+#endif /* !HAVE_ASM_SIGCONTEXT_H */
+#ifndef NSIG
+#define NSIG 32
+#endif
+#ifdef ARM
+#undef NSIG
+#define NSIG 32
+#endif
+#endif /* LINUX */
+
+const char *const signalent0[] = {
+#include "signalent.h"
+};
+const int nsignals0 = sizeof signalent0 / sizeof signalent0[0];
+
+#if SUPPORTED_PERSONALITIES >= 2
+const char *const signalent1[] = {
+#include "signalent1.h"
+};
+const int nsignals1 = sizeof signalent1 / sizeof signalent1[0];
+#endif /* SUPPORTED_PERSONALITIES >= 2 */
+
+#if SUPPORTED_PERSONALITIES >= 3
+const char *const signalent2[] = {
+#include "signalent2.h"
+};
+const int nsignals2 = sizeof signalent2 / sizeof signalent2[0];
+#endif /* SUPPORTED_PERSONALITIES >= 3 */
+
+const char *const *signalent;
+int nsignals;
+
+#if defined(SUNOS4) || defined(FREEBSD)
+
+static const struct xlat sigvec_flags[] = {
+	{ SV_ONSTACK,	"SV_ONSTACK"	},
+	{ SV_INTERRUPT,	"SV_INTERRUPT"	},
+	{ SV_RESETHAND,	"SV_RESETHAND"	},
+	{ SA_NOCLDSTOP,	"SA_NOCLDSTOP"	},
+	{ 0,		NULL		},
+};
+
+#endif /* SUNOS4 || FREEBSD */
+
+#ifdef HAVE_SIGACTION
+
+#if defined LINUX && (defined I386 || defined X86_64)
+/* The libc headers do not define this constant since it should only be
+   used by the implementation.  So wwe define it here.  */
+# ifndef SA_RESTORER
+#  define SA_RESTORER 0x04000000
+# endif
+#endif
+
+static const struct xlat sigact_flags[] = {
+#ifdef SA_RESTORER
+	{ SA_RESTORER,	"SA_RESTORER"	},
+#endif
+#ifdef SA_STACK
+	{ SA_STACK,	"SA_STACK"	},
+#endif
+#ifdef SA_RESTART
+	{ SA_RESTART,	"SA_RESTART"	},
+#endif
+#ifdef SA_INTERRUPT
+	{ SA_INTERRUPT,	"SA_INTERRUPT"	},
+#endif
+#ifdef SA_NODEFER
+	{ SA_NODEFER,	"SA_NODEFER"	},
+#endif
+#if defined SA_NOMASK && SA_NODEFER != SA_NOMASK
+	{ SA_NOMASK,	"SA_NOMASK"	},
+#endif
+#ifdef SA_RESETHAND
+	{ SA_RESETHAND,	"SA_RESETHAND"	},
+#endif
+#if defined SA_ONESHOT && SA_ONESHOT != SA_RESETHAND
+	{ SA_ONESHOT,	"SA_ONESHOT"	},
+#endif
+#ifdef SA_SIGINFO
+	{ SA_SIGINFO,	"SA_SIGINFO"	},
+#endif
+#ifdef SA_RESETHAND
+	{ SA_RESETHAND,	"SA_RESETHAND"	},
+#endif
+#ifdef SA_ONSTACK
+	{ SA_ONSTACK,	"SA_ONSTACK"	},
+#endif
+#ifdef SA_NODEFER
+	{ SA_NODEFER,	"SA_NODEFER"	},
+#endif
+#ifdef SA_NOCLDSTOP
+	{ SA_NOCLDSTOP,	"SA_NOCLDSTOP"	},
+#endif
+#ifdef SA_NOCLDWAIT
+	{ SA_NOCLDWAIT,	"SA_NOCLDWAIT"	},
+#endif
+#ifdef _SA_BSDCALL
+	{ _SA_BSDCALL,	"_SA_BSDCALL"	},
+#endif
+#ifdef SA_NOPTRACE
+	{ SA_NOPTRACE,	"SA_NOPTRACE"	},
+#endif
+	{ 0,		NULL		},
+};
+
+static const struct xlat sigprocmaskcmds[] = {
+	{ SIG_BLOCK,	"SIG_BLOCK"	},
+	{ SIG_UNBLOCK,	"SIG_UNBLOCK"	},
+	{ SIG_SETMASK,	"SIG_SETMASK"	},
+#ifdef SIG_SETMASK32
+	{ SIG_SETMASK32,"SIG_SETMASK32"	},
+#endif
+	{ 0,		NULL		},
+};
+
+#endif /* HAVE_SIGACTION */
+
+/* Anonymous realtime signals. */
+/* Under glibc 2.1, SIGRTMIN et al are functions, but __SIGRTMIN is a
+   constant.  This is what we want.  Otherwise, just use SIGRTMIN. */
+#ifdef SIGRTMIN
+#ifndef __SIGRTMIN
+#define __SIGRTMIN SIGRTMIN
+#define __SIGRTMAX SIGRTMAX /* likewise */
+#endif
+#endif
+
+const char *
+signame(sig)
+int sig;
+{
+	static char buf[30];
+	if (sig >= 0 && sig < nsignals) {
+		return signalent[sig];
+#ifdef SIGRTMIN
+	} else if (sig >= __SIGRTMIN && sig <= __SIGRTMAX) {
+		sprintf(buf, "SIGRT_%ld", (long)(sig - __SIGRTMIN));
+		return buf;
+#endif /* SIGRTMIN */
+	} else {
+		sprintf(buf, "%d", sig);
+		return buf;
+	}
+}
+
+#ifndef UNIXWARE
+static void
+long_to_sigset(l, s)
+long l;
+sigset_t *s;
+{
+	sigemptyset(s);
+	*(long *)s = l;
+}
+#endif
+
+static int
+copy_sigset_len(tcp, addr, s, len)
+struct tcb *tcp;
+long addr;
+sigset_t *s;
+int len;
+{
+	if (len > sizeof(*s))
+		len = sizeof(*s);
+	sigemptyset(s);
+	if (umoven(tcp, addr, len, (char *)s) < 0)
+		return -1;
+	return 0;
+}
+
+#ifdef LINUX
+/* Original sigset is unsigned long */
+#define copy_sigset(tcp, addr, s) copy_sigset_len(tcp, addr, s, sizeof(long))
+#else
+#define copy_sigset(tcp, addr, s) copy_sigset_len(tcp, addr, s, sizeof(sigset_t))
+#endif
+
+static const char *
+sprintsigmask(const char *str, sigset_t *mask, int rt)
+/* set might include realtime sigs */
+{
+	int i, nsigs;
+	int maxsigs;
+	char *format, *s;
+	static char outstr[8 * sizeof(sigset_t) * 8];
+
+	strcpy(outstr, str);
+	s = outstr + strlen(outstr);
+	nsigs = 0;
+	maxsigs = nsignals;
+#ifdef __SIGRTMAX
+	if (rt)
+		maxsigs = __SIGRTMAX; /* instead */
+#endif
+	for (i = 1; i < maxsigs; i++) {
+		if (sigismember(mask, i) == 1)
+			nsigs++;
+	}
+	if (nsigs >= nsignals * 2 / 3) {
+		*s++ = '~';
+		for (i = 1; i < maxsigs; i++) {
+			switch (sigismember(mask, i)) {
+			case 1:
+				sigdelset(mask, i);
+				break;
+			case 0:
+				sigaddset(mask, i);
+				break;
+			}
+		}
+	}
+	format = "%s";
+	*s++ = '[';
+	for (i = 1; i < maxsigs; i++) {
+		if (sigismember(mask, i) == 1) {
+			/* real-time signals on solaris don't have
+			 * signalent entries
+			 */
+			if (i < nsignals) {
+				sprintf(s, format, signalent[i] + 3);
+			}
+#ifdef SIGRTMIN
+			else if (i >= __SIGRTMIN && i <= __SIGRTMAX) {
+				char tsig[40];
+				sprintf(tsig, "RT_%u", i - __SIGRTMIN);
+				sprintf(s, format, tsig);
+			}
+#endif /* SIGRTMIN */
+			else {
+				char tsig[32];
+				sprintf(tsig, "%u", i);
+				sprintf(s, format, tsig);
+			}
+			s += strlen(s);
+			format = " %s";
+		}
+	}
+	*s++ = ']';
+	*s = '\0';
+	return outstr;
+}
+
+static void
+printsigmask(mask, rt)
+sigset_t *mask;
+int rt;
+{
+	tprintf("%s", sprintsigmask("", mask, rt));
+}
+
+void
+printsignal(nr)
+int nr;
+{
+	tprintf("%s", signame(nr));
+}
+
+void
+print_sigset(struct tcb *tcp, long addr, int rt)
+{
+	sigset_t ss;
+
+	if (!addr)
+		tprintf("NULL");
+	else if (copy_sigset(tcp, addr, &ss) < 0)
+		tprintf("%#lx", addr);
+	else
+		printsigmask(&ss, rt);
+}
+
+#ifdef LINUX
+
+#ifndef ILL_ILLOPC
+#define ILL_ILLOPC      1       /* illegal opcode */
+#define ILL_ILLOPN      2       /* illegal operand */
+#define ILL_ILLADR      3       /* illegal addressing mode */
+#define ILL_ILLTRP      4       /* illegal trap */
+#define ILL_PRVOPC      5       /* privileged opcode */
+#define ILL_PRVREG      6       /* privileged register */
+#define ILL_COPROC      7       /* coprocessor error */
+#define ILL_BADSTK      8       /* internal stack error */
+#define FPE_INTDIV      1       /* integer divide by zero */
+#define FPE_INTOVF      2       /* integer overflow */
+#define FPE_FLTDIV      3       /* floating point divide by zero */
+#define FPE_FLTOVF      4       /* floating point overflow */
+#define FPE_FLTUND      5       /* floating point underflow */
+#define FPE_FLTRES      6       /* floating point inexact result */
+#define FPE_FLTINV      7       /* floating point invalid operation */
+#define FPE_FLTSUB      8       /* subscript out of range */
+#define SEGV_MAPERR     1       /* address not mapped to object */
+#define SEGV_ACCERR     2       /* invalid permissions for mapped object */
+#define BUS_ADRALN      1       /* invalid address alignment */
+#define BUS_ADRERR      2       /* non-existant physical address */
+#define BUS_OBJERR      3       /* object specific hardware error */
+#define TRAP_BRKPT      1       /* process breakpoint */
+#define TRAP_TRACE      2       /* process trace trap */
+#define CLD_EXITED      1       /* child has exited */
+#define CLD_KILLED      2       /* child was killed */
+#define CLD_DUMPED      3       /* child terminated abnormally */
+#define CLD_TRAPPED     4       /* traced child has trapped */
+#define CLD_STOPPED     5       /* child has stopped */
+#define CLD_CONTINUED   6       /* stopped child has continued */
+#define POLL_IN         1       /* data input available */
+#define POLL_OUT        2       /* output buffers available */
+#define POLL_MSG        3       /* input message available */
+#define POLL_ERR        4       /* i/o error */
+#define POLL_PRI        5       /* high priority input available */
+#define POLL_HUP        6       /* device disconnected */
+#define SI_USER         0       /* sent by kill, sigsend, raise */
+#define SI_QUEUE        -1      /* sent by sigqueue */
+#define SI_TIMER        -2      /* sent by timer expiration */
+#define SI_MESGQ        -3      /* sent by real time mesq state change */
+#define SI_ASYNCIO      -4      /* sent by AIO completion */
+#define SI_SIGIO	-5	/* Sent by SIGIO */
+#define SI_TKILL	-6	/* Sent by tkill */
+#endif
+
+#if __GLIBC_MINOR__ < 1
+/* Type for data associated with a signal.  */
+typedef union sigval
+{
+	int sival_int;
+	void *sival_ptr;
+} sigval_t;
+
+# define __SI_MAX_SIZE     128
+# define __SI_PAD_SIZE     ((__SI_MAX_SIZE / sizeof (int)) - 3)
+
+typedef struct siginfo
+{
+	int si_signo;               /* Signal number.  */
+	int si_errno;               /* If non-zero, an errno value associated with
+								   this signal, as defined in <errno.h>.  */
+	int si_code;                /* Signal code.  */
+
+	union
+	{
+		int _pad[__SI_PAD_SIZE];
+
+		/* kill().  */
+		struct
+		{
+			__pid_t si_pid;     /* Sending process ID.  */
+			__uid_t si_uid;     /* Real user ID of sending process.  */
+		} _kill;
+
+		/* POSIX.1b timers.  */
+		struct
+		{
+			unsigned int _timer1;
+			unsigned int _timer2;
+		} _timer;
+
+		/* POSIX.1b signals.  */
+		struct
+		{
+			__pid_t si_pid;     /* Sending process ID.  */
+			__uid_t si_uid;     /* Real user ID of sending process.  */
+			sigval_t si_sigval; /* Signal value.  */
+		} _rt;
+
+		/* SIGCHLD.  */
+		struct
+		{
+			__pid_t si_pid;     /* Which child.  */
+			int si_status;      /* Exit value or signal.  */
+			__clock_t si_utime;
+			__clock_t si_stime;
+		} _sigchld;
+
+		/* SIGILL, SIGFPE, SIGSEGV, SIGBUS.  */
+		struct
+		{
+			void *si_addr;      /* Faulting insn/memory ref.  */
+		} _sigfault;
+
+		/* SIGPOLL.  */
+		struct
+		{
+			int si_band;        /* Band event for SIGPOLL.  */
+			int si_fd;
+		} _sigpoll;
+	} _sifields;
+} siginfo_t;
+
+#define si_pid		_sifields._kill.si_pid
+#define si_uid		_sifields._kill.si_uid
+#define si_status	_sifields._sigchld.si_status
+#define si_utime	_sifields._sigchld.si_utime
+#define si_stime	_sifields._sigchld.si_stime
+#define si_value	_sifields._rt.si_sigval
+#define si_int		_sifields._rt.si_sigval.sival_int
+#define si_ptr		_sifields._rt.si_sigval.sival_ptr
+#define si_addr		_sifields._sigfault.si_addr
+#define si_band		_sifields._sigpoll.si_band
+#define si_fd		_sifields._sigpoll.si_fd
+
+#endif
+
+#endif
+
+#if defined (SVR4) || defined (LINUX)
+
+static const struct xlat siginfo_codes[] = {
+#ifdef SI_NOINFO
+	{ SI_NOINFO,	"SI_NOINFO"	},
+#endif
+#ifdef SI_USER
+	{ SI_USER,	"SI_USER"	},
+#endif
+#ifdef SI_LWP
+	{ SI_LWP,	"SI_LWP"	},
+#endif
+#ifdef SI_QUEUE
+	{ SI_QUEUE,	"SI_QUEUE"	},
+#endif
+#ifdef SI_TIMER
+	{ SI_TIMER,	"SI_TIMER"	},
+#endif
+#ifdef SI_ASYNCIO
+	{ SI_ASYNCIO,	"SI_ASYNCIO"	},
+#endif
+#ifdef SI_MESGQ
+	{ SI_MESGQ,	"SI_MESGQ"	},
+#endif
+#ifdef SI_SIGIO
+	{ SI_SIGIO,	"SI_SIGIO"	},
+#endif
+#ifdef SI_TKILL
+	{ SI_TKILL,	"SI_TKILL"	},
+#endif
+	{ 0,		NULL		},
+};
+
+static const struct xlat sigill_codes[] = {
+	{ ILL_ILLOPC,	"ILL_ILLOPC"	},
+	{ ILL_ILLOPN,	"ILL_ILLOPN"	},
+	{ ILL_ILLADR,	"ILL_ILLADR"	},
+	{ ILL_ILLTRP,	"ILL_ILLTRP"	},
+	{ ILL_PRVOPC,	"ILL_PRVOPC"	},
+	{ ILL_PRVREG,	"ILL_PRVREG"	},
+	{ ILL_COPROC,	"ILL_COPROC"	},
+	{ ILL_BADSTK,	"ILL_BADSTK"	},
+	{ 0,		NULL		},
+};
+
+static const struct xlat sigfpe_codes[] = {
+	{ FPE_INTDIV,	"FPE_INTDIV"	},
+	{ FPE_INTOVF,	"FPE_INTOVF"	},
+	{ FPE_FLTDIV,	"FPE_FLTDIV"	},
+	{ FPE_FLTOVF,	"FPE_FLTOVF"	},
+	{ FPE_FLTUND,	"FPE_FLTUND"	},
+	{ FPE_FLTRES,	"FPE_FLTRES"	},
+	{ FPE_FLTINV,	"FPE_FLTINV"	},
+	{ FPE_FLTSUB,	"FPE_FLTSUB"	},
+	{ 0,		NULL		},
+};
+
+static const struct xlat sigtrap_codes[] = {
+	{ TRAP_BRKPT,	"TRAP_BRKPT"	},
+	{ TRAP_TRACE,	"TRAP_TRACE"	},
+	{ 0,		NULL		},
+};
+
+static const struct xlat sigchld_codes[] = {
+	{ CLD_EXITED,	"CLD_EXITED"	},
+	{ CLD_KILLED,	"CLD_KILLED"	},
+	{ CLD_DUMPED,	"CLD_DUMPED"	},
+	{ CLD_TRAPPED,	"CLD_TRAPPED"	},
+	{ CLD_STOPPED,	"CLD_STOPPED"	},
+	{ CLD_CONTINUED,"CLD_CONTINUED"	},
+	{ 0,		NULL		},
+};
+
+static const struct xlat sigpoll_codes[] = {
+	{ POLL_IN,	"POLL_IN"	},
+	{ POLL_OUT,	"POLL_OUT"	},
+	{ POLL_MSG,	"POLL_MSG"	},
+	{ POLL_ERR,	"POLL_ERR"	},
+	{ POLL_PRI,	"POLL_PRI"	},
+	{ POLL_HUP,	"POLL_HUP"	},
+	{ 0,		NULL		},
+};
+
+static const struct xlat sigprof_codes[] = {
+#ifdef PROF_SIG
+	{ PROF_SIG,	"PROF_SIG"	},
+#endif
+	{ 0,		NULL		},
+};
+
+#ifdef SIGEMT
+static const struct xlat sigemt_codes[] = {
+#ifdef EMT_TAGOVF
+	{ EMT_TAGOVF,	"EMT_TAGOVF"	},
+#endif
+	{ 0,		NULL		},
+};
+#endif
+
+static const struct xlat sigsegv_codes[] = {
+	{ SEGV_MAPERR,	"SEGV_MAPERR"	},
+	{ SEGV_ACCERR,	"SEGV_ACCERR"	},
+	{ 0,		NULL		},
+};
+
+static const struct xlat sigbus_codes[] = {
+	{ BUS_ADRALN,	"BUS_ADRALN"	},
+	{ BUS_ADRERR,	"BUS_ADRERR"	},
+	{ BUS_OBJERR,	"BUS_OBJERR"	},
+	{ 0,		NULL		},
+};
+
+void
+printsiginfo(sip, verbose)
+siginfo_t *sip;
+int verbose;
+{
+	const char *code;
+
+	if (sip->si_signo == 0) {
+		tprintf ("{}");
+		return;
+	}
+	tprintf("{si_signo=");
+	printsignal(sip->si_signo);
+	code = xlookup(siginfo_codes, sip->si_code);
+	if (!code) {
+		switch (sip->si_signo) {
+		case SIGTRAP:
+			code = xlookup(sigtrap_codes, sip->si_code);
+			break;
+		case SIGCHLD:
+			code = xlookup(sigchld_codes, sip->si_code);
+			break;
+		case SIGPOLL:
+			code = xlookup(sigpoll_codes, sip->si_code);
+			break;
+		case SIGPROF:
+			code = xlookup(sigprof_codes, sip->si_code);
+			break;
+		case SIGILL:
+			code = xlookup(sigill_codes, sip->si_code);
+			break;
+#ifdef SIGEMT
+		case SIGEMT:
+			code = xlookup(sigemt_codes, sip->si_code);
+			break;
+#endif
+		case SIGFPE:
+			code = xlookup(sigfpe_codes, sip->si_code);
+			break;
+		case SIGSEGV:
+			code = xlookup(sigsegv_codes, sip->si_code);
+			break;
+		case SIGBUS:
+			code = xlookup(sigbus_codes, sip->si_code);
+			break;
+		}
+	}
+	if (code)
+		tprintf(", si_code=%s", code);
+	else
+		tprintf(", si_code=%#x", sip->si_code);
+#ifdef SI_NOINFO
+	if (sip->si_code != SI_NOINFO)
+#endif
+	{
+		if (sip->si_errno) {
+			if (sip->si_errno < 0 || sip->si_errno >= nerrnos)
+				tprintf(", si_errno=%d", sip->si_errno);
+			else
+				tprintf(", si_errno=%s",
+					errnoent[sip->si_errno]);
+		}
+#ifdef SI_FROMUSER
+		if (SI_FROMUSER(sip)) {
+			tprintf(", si_pid=%ld, si_uid=%ld",
+				sip->si_pid, sip->si_uid);
+#ifdef SI_QUEUE
+			switch (sip->si_code) {
+			case SI_QUEUE:
+#ifdef SI_TIMER
+			case SI_TIMER:
+#endif /* SI_QUEUE */
+			case SI_ASYNCIO:
+#ifdef SI_MESGQ
+			case SI_MESGQ:
+#endif /* SI_MESGQ */
+				tprintf(", si_value=%d",
+					sip->si_value.sival_int);
+				break;
+			}
+#endif /* SI_QUEUE */
+		}
+		else
+#endif /* SI_FROMUSER */
+		{
+			switch (sip->si_signo) {
+			case SIGCHLD:
+				tprintf(", si_pid=%ld, si_status=",
+					(long) sip->si_pid);
+				if (sip->si_code == CLD_EXITED)
+					tprintf("%d", sip->si_status);
+				else
+					printsignal(sip->si_status);
+#if LINUX
+				if (!verbose)
+					tprintf(", ...");
+				else
+					tprintf(", si_utime=%lu, si_stime=%lu",
+						sip->si_utime,
+						sip->si_stime);
+#endif
+				break;
+			case SIGILL: case SIGFPE:
+			case SIGSEGV: case SIGBUS:
+				tprintf(", si_addr=%#lx",
+					(unsigned long) sip->si_addr);
+				break;
+			case SIGPOLL:
+				switch (sip->si_code) {
+				case POLL_IN: case POLL_OUT: case POLL_MSG:
+					tprintf(", si_band=%ld",
+						(long) sip->si_band);
+					break;
+				}
+				break;
+#ifdef LINUX
+			default:
+			        tprintf(", si_pid=%lu, si_uid=%lu, ",
+					(unsigned long) sip->si_pid,
+					(unsigned long) sip->si_uid);
+				if (!verbose)
+					tprintf("...");
+				else {
+					tprintf("si_value={int=%u, ptr=%#lx}",
+						sip->si_int,
+						(unsigned long) sip->si_ptr);
+				}
+#endif
+
+			}
+		}
+	}
+	tprintf("}");
+}
+
+#endif /* SVR4 || LINUX */
+
+#ifdef LINUX
+
+static void
+parse_sigset_t (const char *str, sigset_t *set)
+{
+	const char *p;
+	unsigned int digit;
+	int i;
+
+	sigemptyset(set);
+
+	p = strchr(str, '\n');
+	if (p == NULL)
+		p = strchr(str, '\0');
+	for (i = 0; p-- > str; i += 4) {
+		if (*p >= '0' && *p <= '9')
+			digit = *p - '0';
+		else if (*p >= 'a' && *p <= 'f')
+			digit = *p - 'a' + 10;
+		else if (*p >= 'A' && *p <= 'F')
+			digit = *p - 'A' + 10;
+		else
+			break;
+		if (digit & 1)
+			sigaddset(set, i + 1);
+		if (digit & 2)
+			sigaddset(set, i + 2);
+		if (digit & 4)
+			sigaddset(set, i + 3);
+		if (digit & 8)
+			sigaddset(set, i + 4);
+	}
+}
+
+#endif
+
+/*
+ * Check process TCP for the disposition of signal SIG.
+ * Return 1 if the process would somehow manage to  survive signal SIG,
+ * else return 0.  This routine will never be called with SIGKILL.
+ */
+int
+sigishandled(tcp, sig)
+struct tcb *tcp;
+int sig;
+{
+#ifdef LINUX
+	int sfd;
+	char sname[32];
+	char buf[2048];
+	char *s;
+	int i;
+	sigset_t ignored, caught;
+#endif
+#ifdef SVR4
+	/*
+	 * Since procfs doesn't interfere with wait I think it is safe
+	 * to punt on this question.  If not, the information is there.
+	 */
+	return 1;
+#else /* !SVR4 */
+	switch (sig) {
+	case SIGCONT:
+	case SIGSTOP:
+	case SIGTSTP:
+	case SIGTTIN:
+	case SIGTTOU:
+	case SIGCHLD:
+	case SIGIO:
+#if defined(SIGURG) && SIGURG != SIGIO
+	case SIGURG:
+#endif
+	case SIGWINCH:
+		/* Gloria Gaynor says ... */
+		return 1;
+	default:
+		break;
+	}
+#endif /* !SVR4 */
+#ifdef LINUX
+
+	/* This is incredibly costly but it's worth it. */
+	/* NOTE: LinuxThreads internally uses SIGRTMIN, SIGRTMIN + 1 and
+	   SIGRTMIN + 2, so we can't use the obsolete /proc/%d/stat which
+	   doesn't handle real-time signals). */
+	sprintf(sname, "/proc/%d/status", tcp->pid);
+	if ((sfd = open(sname, O_RDONLY)) == -1) {
+		perror(sname);
+		return 1;
+	}
+	i = read(sfd, buf, sizeof(buf));
+	buf[i] = '\0';
+	close(sfd);
+	/*
+	 * Skip the extraneous fields. We need to skip
+	 * command name has any spaces in it.  So be it.
+	 */
+	s = strstr(buf, "SigIgn:\t");
+	if (!s)
+	{
+		fprintf(stderr, "/proc/pid/status format error\n");
+		return 1;
+	}
+	parse_sigset_t(s + 8, &ignored);
+
+	s = strstr(buf, "SigCgt:\t");
+	if (!s)
+	{
+		fprintf(stderr, "/proc/pid/status format error\n");
+		return 1;
+	}
+	parse_sigset_t(s + 8, &caught);
+
+#ifdef DEBUG
+	fprintf(stderr, "sigs: %016qx %016qx (sig=%d)\n",
+		*(long long *) &ignored, *(long long *) &caught, sig);
+#endif
+	if (sigismember(&ignored, sig) || sigismember(&caught, sig))
+		return 1;
+#endif /* LINUX */
+
+#ifdef SUNOS4
+	void (*u_signal)();
+
+	if (upeek(tcp, uoff(u_signal[0]) + sig*sizeof(u_signal),
+	    (long *) &u_signal) < 0) {
+		return 0;
+	}
+	if (u_signal != SIG_DFL)
+		return 1;
+#endif /* SUNOS4 */
+
+	return 0;
+}
+
+#if defined(SUNOS4) || defined(FREEBSD)
+
+int
+sys_sigvec(tcp)
+struct tcb *tcp;
+{
+	struct sigvec sv;
+	long addr;
+
+	if (entering(tcp)) {
+		printsignal(tcp->u_arg[0]);
+		tprintf(", ");
+		addr = tcp->u_arg[1];
+	} else {
+		addr = tcp->u_arg[2];
+	}
+	if (addr == 0)
+		tprintf("NULL");
+	else if (!verbose(tcp))
+		tprintf("%#lx", addr);
+	else if (umove(tcp, addr, &sv) < 0)
+		tprintf("{...}");
+	else {
+		switch ((int) sv.sv_handler) {
+		case (int) SIG_ERR:
+			tprintf("{SIG_ERR}");
+			break;
+		case (int) SIG_DFL:
+			tprintf("{SIG_DFL}");
+			break;
+		case (int) SIG_IGN:
+			if (tcp->u_arg[0] == SIGTRAP) {
+				tcp->flags |= TCB_SIGTRAPPED;
+				kill(tcp->pid, SIGSTOP);
+			}
+			tprintf("{SIG_IGN}");
+			break;
+		case (int) SIG_HOLD:
+			if (tcp->u_arg[0] == SIGTRAP) {
+				tcp->flags |= TCB_SIGTRAPPED;
+				kill(tcp->pid, SIGSTOP);
+			}
+			tprintf("SIG_HOLD");
+			break;
+		default:
+			if (tcp->u_arg[0] == SIGTRAP) {
+				tcp->flags |= TCB_SIGTRAPPED;
+				kill(tcp->pid, SIGSTOP);
+			}
+			tprintf("{%#lx, ", (unsigned long) sv.sv_handler);
+			printsigmask(&sv.sv_mask, 0);
+			tprintf(", ");
+			printflags(sigvec_flags, sv.sv_flags, "SV_???");
+			tprintf("}");
+		}
+	}
+	if (entering(tcp))
+		tprintf(", ");
+	return 0;
+}
+
+int
+sys_sigpause(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {	/* WTA: UD had a bug here: he forgot the braces */
+		sigset_t sigm;
+		long_to_sigset(tcp->u_arg[0], &sigm);
+		printsigmask(&sigm, 0);
+	}
+	return 0;
+}
+
+int
+sys_sigstack(tcp)
+struct tcb *tcp;
+{
+	struct sigstack ss;
+	long addr;
+
+	if (entering(tcp))
+		addr = tcp->u_arg[0];
+	else
+		addr = tcp->u_arg[1];
+	if (addr == 0)
+		tprintf("NULL");
+	else if (umove(tcp, addr, &ss) < 0)
+		tprintf("%#lx", addr);
+	else {
+		tprintf("{ss_sp %#lx ", (unsigned long) ss.ss_sp);
+		tprintf("ss_onstack %s}", ss.ss_onstack ? "YES" : "NO");
+	}
+	if (entering(tcp))
+		tprintf(", ");
+	return 0;
+}
+
+int
+sys_sigcleanup(tcp)
+struct tcb *tcp;
+{
+	return 0;
+}
+
+#endif /* SUNOS4 || FREEBSD */
+
+#ifndef SVR4
+
+int
+sys_sigsetmask(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		sigset_t sigm;
+		long_to_sigset(tcp->u_arg[0], &sigm);
+		printsigmask(&sigm, 0);
+#ifndef USE_PROCFS
+		if ((tcp->u_arg[0] & sigmask(SIGTRAP))) {
+			/* Mark attempt to block SIGTRAP */
+			tcp->flags |= TCB_SIGTRAPPED;
+			/* Send unblockable signal */
+			kill(tcp->pid, SIGSTOP);
+		}
+#endif /* !USE_PROCFS */
+	}
+	else if (!syserror(tcp)) {
+		sigset_t sigm;
+		long_to_sigset(tcp->u_rval, &sigm);
+		tcp->auxstr = sprintsigmask("old mask ", &sigm, 0);
+
+		return RVAL_HEX | RVAL_STR;
+	}
+	return 0;
+}
+
+#if defined(SUNOS4) || defined(FREEBSD)
+int
+sys_sigblock(tcp)
+struct tcb *tcp;
+{
+	return sys_sigsetmask(tcp);
+}
+#endif /* SUNOS4 || FREEBSD */
+
+#endif /* !SVR4 */
+
+#ifdef HAVE_SIGACTION
+
+#ifdef LINUX
+struct old_sigaction {
+	__sighandler_t __sa_handler;
+	unsigned long sa_mask;
+	unsigned long sa_flags;
+	void (*sa_restorer)(void);
+};
+#define SA_HANDLER __sa_handler
+#endif /* LINUX */
+
+#ifndef SA_HANDLER
+#define SA_HANDLER sa_handler
+#endif
+
+int
+sys_sigaction(tcp)
+struct tcb *tcp;
+{
+	long addr;
+#ifdef LINUX
+	sigset_t sigset;
+	struct old_sigaction sa;
+#else
+	struct sigaction sa;
+#endif
+
+
+	if (entering(tcp)) {
+		printsignal(tcp->u_arg[0]);
+		tprintf(", ");
+		addr = tcp->u_arg[1];
+	} else
+		addr = tcp->u_arg[2];
+	if (addr == 0)
+		tprintf("NULL");
+	else if (!verbose(tcp))
+		tprintf("%#lx", addr);
+	else if (umove(tcp, addr, &sa) < 0)
+		tprintf("{...}");
+	else {
+		/* Architectures using function pointers, like
+		 * hppa, may need to manipulate the function pointer
+		 * to compute the result of a comparison. However,
+		 * the SA_HANDLER function pointer exists only in
+		 * the address space of the traced process, and can't
+		 * be manipulated by strace. In order to prevent the
+		 * compiler from generating code to manipulate
+		 * SA_HANDLER we cast the function pointers to long. */
+		if ((long)sa.SA_HANDLER == (long)SIG_ERR)
+			tprintf("{SIG_ERR, ");
+		else if ((long)sa.SA_HANDLER == (long)SIG_DFL)
+			tprintf("{SIG_DFL, ");
+		else if ((long)sa.SA_HANDLER == (long)SIG_IGN) {
+#ifndef USE_PROCFS
+			if (tcp->u_arg[0] == SIGTRAP) {
+				tcp->flags |= TCB_SIGTRAPPED;
+				kill(tcp->pid, SIGSTOP);
+			}
+#endif /* !USE_PROCFS */
+			tprintf("{SIG_IGN, ");
+		}
+		else {
+#ifndef USE_PROCFS
+			if (tcp->u_arg[0] == SIGTRAP) {
+				tcp->flags |= TCB_SIGTRAPPED;
+				kill(tcp->pid, SIGSTOP);
+			}
+#endif /* !USE_PROCFS */
+			tprintf("{%#lx, ", (long) sa.SA_HANDLER);
+#ifndef LINUX
+			printsigmask (&sa.sa_mask, 0);
+#else
+			long_to_sigset(sa.sa_mask, &sigset);
+			printsigmask(&sigset, 0);
+#endif
+			tprintf(", ");
+			printflags(sigact_flags, sa.sa_flags, "SA_???");
+#ifdef SA_RESTORER
+			if (sa.sa_flags & SA_RESTORER)
+				tprintf(", %p", sa.sa_restorer);
+#endif
+			tprintf("}");
+		}
+	}
+	if (entering(tcp))
+		tprintf(", ");
+#ifdef LINUX
+	else
+		tprintf(", %#lx", (unsigned long) sa.sa_restorer);
+#endif
+	return 0;
+}
+
+int
+sys_signal(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printsignal(tcp->u_arg[0]);
+		tprintf(", ");
+		switch (tcp->u_arg[1]) {
+		case (long) SIG_ERR:
+			tprintf("SIG_ERR");
+			break;
+		case (long) SIG_DFL:
+			tprintf("SIG_DFL");
+			break;
+		case (long) SIG_IGN:
+#ifndef USE_PROCFS
+			if (tcp->u_arg[0] == SIGTRAP) {
+				tcp->flags |= TCB_SIGTRAPPED;
+				kill(tcp->pid, SIGSTOP);
+			}
+#endif /* !USE_PROCFS */
+			tprintf("SIG_IGN");
+			break;
+		default:
+#ifndef USE_PROCFS
+			if (tcp->u_arg[0] == SIGTRAP) {
+				tcp->flags |= TCB_SIGTRAPPED;
+				kill(tcp->pid, SIGSTOP);
+			}
+#endif /* !USE_PROCFS */
+			tprintf("%#lx", tcp->u_arg[1]);
+		}
+		return 0;
+	}
+	else if (!syserror(tcp)) {
+		switch (tcp->u_rval) {
+		    case (long) SIG_ERR:
+			tcp->auxstr = "SIG_ERR"; break;
+		    case (long) SIG_DFL:
+			tcp->auxstr = "SIG_DFL"; break;
+		    case (long) SIG_IGN:
+			tcp->auxstr = "SIG_IGN"; break;
+		    default:
+			tcp->auxstr = NULL;
+		}
+		return RVAL_HEX | RVAL_STR;
+	}
+	return 0;
+}
+
+#ifdef SVR4
+int
+sys_sighold(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printsignal(tcp->u_arg[0]);
+	}
+	return 0;
+}
+#endif /* SVR4 */
+
+#endif /* HAVE_SIGACTION */
+
+#ifdef LINUX
+
+int
+sys_sigreturn(struct tcb *tcp)
+{
+#if defined(ARM)
+	struct pt_regs regs;
+	struct sigcontext_struct sc;
+
+	if (entering(tcp)) {
+		tcp->u_arg[0] = 0;
+
+		if (ptrace(PTRACE_GETREGS, tcp->pid, NULL, (void *)&regs) == -1)
+			return 0;
+
+		if (umove(tcp, regs.ARM_sp, &sc) < 0)
+			return 0;
+
+		tcp->u_arg[0] = 1;
+		tcp->u_arg[1] = sc.oldmask;
+	} else {
+		sigset_t sigm;
+		long_to_sigset(tcp->u_arg[1], &sigm);
+		tcp->u_rval = tcp->u_error = 0;
+		if (tcp->u_arg[0] == 0)
+			return 0;
+		tcp->auxstr = sprintsigmask("mask now ", &sigm, 0);
+		return RVAL_NONE | RVAL_STR;
+	}
+	return 0;
+#elif defined(S390) || defined(S390X)
+	long usp;
+	struct sigcontext_struct sc;
+
+	if (entering(tcp)) {
+		tcp->u_arg[0] = 0;
+		if (upeek(tcp,PT_GPR15,&usp)<0)
+			return 0;
+		if (umove(tcp, usp+__SIGNAL_FRAMESIZE, &sc) < 0)
+			return 0;
+		tcp->u_arg[0] = 1;
+		memcpy(&tcp->u_arg[1],&sc.oldmask[0],sizeof(sigset_t));
+	} else {
+		tcp->u_rval = tcp->u_error = 0;
+		if (tcp->u_arg[0] == 0)
+			return 0;
+		tcp->auxstr = sprintsigmask("mask now ",(sigset_t *)&tcp->u_arg[1],0);
+		return RVAL_NONE | RVAL_STR;
+	}
+	return 0;
+#elif defined(I386)
+	long esp;
+	struct sigcontext_struct sc;
+
+	if (entering(tcp)) {
+		tcp->u_arg[0] = 0;
+		if (upeek(tcp, 4*UESP, &esp) < 0)
+			return 0;
+		if (umove(tcp, esp, &sc) < 0)
+			return 0;
+		tcp->u_arg[0] = 1;
+		tcp->u_arg[1] = sc.oldmask;
+	}
+	else {
+		sigset_t sigm;
+		long_to_sigset(tcp->u_arg[1], &sigm);
+		tcp->u_rval = tcp->u_error = 0;
+		if (tcp->u_arg[0] == 0)
+			return 0;
+		tcp->auxstr = sprintsigmask("mask now ", &sigm, 0);
+		return RVAL_NONE | RVAL_STR;
+	}
+	return 0;
+#elif defined(IA64)
+	struct sigcontext sc;
+	long sp;
+
+	if (entering(tcp)) {
+		/* offset of sigcontext in the kernel's sigframe structure: */
+#		define SIGFRAME_SC_OFFSET	0x90
+		tcp->u_arg[0] = 0;
+		if (upeek(tcp, PT_R12, &sp) < 0)
+			return 0;
+		if (umove(tcp, sp + 16 + SIGFRAME_SC_OFFSET, &sc) < 0)
+			return 0;
+		tcp->u_arg[0] = 1;
+		memcpy(tcp->u_arg + 1, &sc.sc_mask, sizeof(sc.sc_mask));
+	}
+	else {
+		sigset_t sigm;
+
+		memcpy(&sigm, tcp->u_arg + 1, sizeof (sigm));
+		tcp->u_rval = tcp->u_error = 0;
+		if (tcp->u_arg[0] == 0)
+			return 0;
+		tcp->auxstr = sprintsigmask("mask now ", &sigm, 0);
+		return RVAL_NONE | RVAL_STR;
+	}
+	return 0;
+#elif defined(POWERPC)
+	long esp;
+	struct sigcontext_struct sc;
+
+	if (entering(tcp)) {
+		tcp->u_arg[0] = 0;
+		if (upeek(tcp, sizeof(unsigned long)*PT_R1, &esp) < 0)
+			return 0;
+		/* Skip dummy stack frame. */
+#ifdef __powerpc64__
+		esp += 128;
+#else
+		esp += 64;
+#endif
+		if (umove(tcp, esp, &sc) < 0)
+			return 0;
+		tcp->u_arg[0] = 1;
+		tcp->u_arg[1] = sc.oldmask;
+	}
+	else {
+		sigset_t sigm;
+		long_to_sigset(tcp->u_arg[1], &sigm);
+		tcp->u_rval = tcp->u_error = 0;
+		if (tcp->u_arg[0] == 0)
+			return 0;
+		tcp->auxstr = sprintsigmask("mask now ", &sigm, 0);
+		return RVAL_NONE | RVAL_STR;
+	}
+	return 0;
+#elif defined(M68K)
+	long usp;
+	struct sigcontext sc;
+
+	if (entering(tcp)) {
+		tcp->u_arg[0] = 0;
+		if (upeek(tcp, 4*PT_USP, &usp) < 0)
+			return 0;
+		if (umove(tcp, usp, &sc) < 0)
+			return 0;
+		tcp->u_arg[0] = 1;
+		tcp->u_arg[1] = sc.sc_mask;
+	}
+	else {
+		sigset_t sigm;
+		long_to_sigset(tcp->u_arg[1], &sigm);
+		tcp->u_rval = tcp->u_error = 0;
+		if (tcp->u_arg[0] == 0)
+			return 0;
+		tcp->auxstr = sprintsigmask("mask now ", &sigm, 0);
+		return RVAL_NONE | RVAL_STR;
+	}
+	return 0;
+#elif defined(ALPHA)
+	long fp;
+	struct sigcontext_struct sc;
+
+	if (entering(tcp)) {
+		tcp->u_arg[0] = 0;
+		if (upeek(tcp, REG_FP, &fp) < 0)
+			return 0;
+		if (umove(tcp, fp, &sc) < 0)
+			return 0;
+		tcp->u_arg[0] = 1;
+		tcp->u_arg[1] = sc.sc_mask;
+	}
+	else {
+		sigset_t sigm;
+		long_to_sigset(tcp->u_arg[1], &sigm);
+		tcp->u_rval = tcp->u_error = 0;
+		if (tcp->u_arg[0] == 0)
+			return 0;
+		tcp->auxstr = sprintsigmask("mask now ", &sigm, 0);
+		return RVAL_NONE | RVAL_STR;
+	}
+	return 0;
+#elif defined (SPARC) || defined (SPARC64)
+	long i1;
+	struct pt_regs regs;
+	m_siginfo_t si;
+
+	if(ptrace(PTRACE_GETREGS, tcp->pid, (char *)&regs, 0) < 0) {
+		perror("sigreturn: PTRACE_GETREGS ");
+		return 0;
+	}
+	if(entering(tcp)) {
+		tcp->u_arg[0] = 0;
+		i1 = regs.u_regs[U_REG_O1];
+		if(umove(tcp, i1, &si) < 0) {
+			perror("sigreturn: umove ");
+			return 0;
+		}
+		tcp->u_arg[0] = 1;
+		tcp->u_arg[1] = si.si_mask;
+	} else {
+		sigset_t sigm;
+		long_to_sigset(tcp->u_arg[1], &sigm);
+		tcp->u_rval = tcp->u_error = 0;
+		if(tcp->u_arg[0] == 0)
+			return 0;
+		tcp->auxstr = sprintsigmask("mask now ", &sigm, 0);
+		return RVAL_NONE | RVAL_STR;
+	}
+	return 0;
+#elif defined (LINUX_MIPSN32) || defined (LINUX_MIPSN64)
+	/* This decodes rt_sigreturn.  The 64-bit ABIs do not have
+	   sigreturn.  */
+	long sp;
+	struct ucontext uc;
+
+	if(entering(tcp)) {
+		tcp->u_arg[0] = 0;
+		if (upeek(tcp, REG_SP, &sp) < 0)
+			return 0;
+		/* There are six words followed by a 128-byte siginfo.  */
+		sp = sp + 6 * 4 + 128;
+		if (umove(tcp, sp, &uc) < 0)
+			return 0;
+		tcp->u_arg[0] = 1;
+		tcp->u_arg[1] = *(long *) &uc.uc_sigmask;
+	} else {
+		sigset_t sigm;
+		long_to_sigset(tcp->u_arg[1], &sigm);
+		tcp->u_rval = tcp->u_error = 0;
+		if(tcp->u_arg[0] == 0)
+			return 0;
+		tcp->auxstr = sprintsigmask("mask now ", &sigm, 0);
+		return RVAL_NONE | RVAL_STR;
+	}
+	return 0;
+#elif defined(MIPS)
+	long sp;
+	struct pt_regs regs;
+	m_siginfo_t si;
+
+	if(ptrace(PTRACE_GETREGS, tcp->pid, (char *)&regs, 0) < 0) {
+		perror("sigreturn: PTRACE_GETREGS ");
+		return 0;
+	}
+	if(entering(tcp)) {
+		tcp->u_arg[0] = 0;
+		sp = regs.regs[29];
+		if (umove(tcp, sp, &si) < 0)
+		tcp->u_arg[0] = 1;
+		tcp->u_arg[1] = si.si_mask;
+	} else {
+		sigset_t sigm;
+		long_to_sigset(tcp->u_arg[1], &sigm);
+		tcp->u_rval = tcp->u_error = 0;
+		if(tcp->u_arg[0] == 0)
+			return 0;
+		tcp->auxstr = sprintsigmask("mask now ", &sigm, 0);
+		return RVAL_NONE | RVAL_STR;
+	}
+	return 0;
+#elif defined(CRISV10) || defined(CRISV32)
+	struct sigcontext sc;
+
+	if (entering(tcp)) {
+		long regs[PT_MAX+1];
+
+		tcp->u_arg[0] = 0;
+
+		if (ptrace(PTRACE_GETREGS, tcp->pid, NULL, (long)regs) < 0) {
+			perror("sigreturn: PTRACE_GETREGS");
+			return 0;
+		}
+		if (umove(tcp, regs[PT_USP], &sc) < 0)
+			return 0;
+		tcp->u_arg[0] = 1;
+		tcp->u_arg[1] = sc.oldmask;
+	} else {
+		sigset_t sigm;
+		long_to_sigset(tcp->u_arg[1], &sigm);
+		tcp->u_rval = tcp->u_error = 0;
+
+		if (tcp->u_arg[0] == 0)
+			return 0;
+		tcp->auxstr = sprintsigmask("mask now ", &sigm, 0);
+		return RVAL_NONE | RVAL_STR;
+	}
+	return 0;
+#elif defined(TILE)
+	struct ucontext uc;
+	long sp;
+
+	/* offset of ucontext in the kernel's sigframe structure */
+#	define SIGFRAME_UC_OFFSET C_ABI_SAVE_AREA_SIZE + sizeof(struct siginfo)
+
+	if (entering(tcp)) {
+		tcp->u_arg[0] = 0;
+		if (upeek(tcp, PTREGS_OFFSET_SP, &sp) < 0)
+			return 0;
+		if (umove(tcp, sp + SIGFRAME_UC_OFFSET, &uc) < 0)
+			return 0;
+		tcp->u_arg[0] = 1;
+		memcpy(tcp->u_arg + 1, &uc.uc_sigmask, sizeof(uc.uc_sigmask));
+	}
+	else {
+		sigset_t sigm;
+
+		memcpy(&sigm, tcp->u_arg + 1, sizeof (sigm));
+		tcp->u_rval = tcp->u_error = 0;
+		if (tcp->u_arg[0] == 0)
+			return 0;
+		tcp->auxstr = sprintsigmask("mask now ", &sigm, 0);
+		return RVAL_NONE | RVAL_STR;
+	}
+	return 0;
+#else
+#warning No sys_sigreturn() for this architecture
+#warning         (no problem, just a reminder :-)
+	return 0;
+#endif
+}
+
+int
+sys_siggetmask(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp)) {
+		sigset_t sigm;
+		long_to_sigset(tcp->u_rval, &sigm);
+		tcp->auxstr = sprintsigmask("mask ", &sigm, 0);
+	}
+	return RVAL_HEX | RVAL_STR;
+}
+
+int
+sys_sigsuspend(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		sigset_t sigm;
+		long_to_sigset(tcp->u_arg[2], &sigm);
+		printsigmask(&sigm, 0);
+	}
+	return 0;
+}
+
+#endif /* LINUX */
+
+#if defined(SVR4) || defined(FREEBSD)
+
+int
+sys_sigsuspend(tcp)
+struct tcb *tcp;
+{
+	sigset_t sigset;
+
+	if (entering(tcp)) {
+		if (umove(tcp, tcp->u_arg[0], &sigset) < 0)
+			tprintf("[?]");
+		else
+			printsigmask(&sigset, 0);
+	}
+	return 0;
+}
+#ifndef FREEBSD
+static const struct xlat ucontext_flags[] = {
+	{ UC_SIGMASK,	"UC_SIGMASK"	},
+	{ UC_STACK,	"UC_STACK"	},
+	{ UC_CPU,	"UC_CPU"	},
+#ifdef UC_FPU
+	{ UC_FPU,	"UC_FPU"	},
+#endif
+#ifdef UC_INTR
+	{ UC_INTR,	"UC_INTR"	},
+#endif
+	{ 0,		NULL		},
+};
+#endif /* !FREEBSD */
+#endif /* SVR4 || FREEBSD */
+
+#if defined SVR4 || defined LINUX || defined FREEBSD
+#if defined LINUX && !defined SS_ONSTACK
+#define SS_ONSTACK      1
+#define SS_DISABLE      2
+#if __GLIBC_MINOR__ == 0
+typedef struct
+{
+	__ptr_t ss_sp;
+	int ss_flags;
+	size_t ss_size;
+} stack_t;
+#endif
+#endif
+#ifdef FREEBSD
+#define stack_t struct sigaltstack
+#endif
+
+static const struct xlat sigaltstack_flags[] = {
+	{ SS_ONSTACK,	"SS_ONSTACK"	},
+	{ SS_DISABLE,	"SS_DISABLE"	},
+	{ 0,		NULL		},
+};
+#endif
+
+#ifdef SVR4
+static void
+printcontext(tcp, ucp)
+struct tcb *tcp;
+ucontext_t *ucp;
+{
+	tprintf("{");
+	if (!abbrev(tcp)) {
+		tprintf("uc_flags=");
+		printflags(ucontext_flags, ucp->uc_flags, "UC_???");
+		tprintf(", uc_link=%#lx, ", (unsigned long) ucp->uc_link);
+	}
+	tprintf("uc_sigmask=");
+	printsigmask(&ucp->uc_sigmask, 0);
+	if (!abbrev(tcp)) {
+		tprintf(", uc_stack={ss_sp=%#lx, ss_size=%d, ss_flags=",
+			(unsigned long) ucp->uc_stack.ss_sp,
+			ucp->uc_stack.ss_size);
+		printflags(sigaltstack_flags, ucp->uc_stack.ss_flags, "SS_???");
+		tprintf("}");
+	}
+	tprintf(", ...}");
+}
+
+int
+sys_getcontext(tcp)
+struct tcb *tcp;
+{
+	ucontext_t uc;
+
+	if (exiting(tcp)) {
+		if (tcp->u_error)
+			tprintf("%#lx", tcp->u_arg[0]);
+		else if (!tcp->u_arg[0])
+			tprintf("NULL");
+		else if (umove(tcp, tcp->u_arg[0], &uc) < 0)
+			tprintf("{...}");
+		else
+			printcontext(tcp, &uc);
+	}
+	return 0;
+}
+
+int
+sys_setcontext(tcp)
+struct tcb *tcp;
+{
+	ucontext_t uc;
+
+	if (entering(tcp)) {
+		if (!tcp->u_arg[0])
+			tprintf("NULL");
+		else if (umove(tcp, tcp->u_arg[0], &uc) < 0)
+			tprintf("{...}");
+		else
+			printcontext(tcp, &uc);
+	}
+	else {
+		tcp->u_rval = tcp->u_error = 0;
+		if (tcp->u_arg[0] == 0)
+			return 0;
+		return RVAL_NONE;
+	}
+	return 0;
+}
+
+#endif /* SVR4 */
+
+#if defined(LINUX) || defined(FREEBSD)
+
+static int
+print_stack_t(tcp, addr)
+struct tcb *tcp;
+unsigned long addr;
+{
+	stack_t ss;
+	if (umove(tcp, addr, &ss) < 0)
+		return -1;
+	tprintf("{ss_sp=%#lx, ss_flags=", (unsigned long) ss.ss_sp);
+	printflags(sigaltstack_flags, ss.ss_flags, "SS_???");
+	tprintf(", ss_size=%lu}", (unsigned long) ss.ss_size);
+	return 0;
+}
+
+int
+sys_sigaltstack(tcp)
+	struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		if (tcp->u_arg[0] == 0)
+			tprintf("NULL");
+		else if (print_stack_t(tcp, tcp->u_arg[0]) < 0)
+			return -1;
+	}
+	else {
+		tprintf(", ");
+		if (tcp->u_arg[1] == 0)
+			tprintf("NULL");
+		else if (print_stack_t(tcp, tcp->u_arg[1]) < 0)
+			return -1;
+	}
+	return 0;
+}
+#endif
+
+#ifdef HAVE_SIGACTION
+
+int
+sys_sigprocmask(tcp)
+struct tcb *tcp;
+{
+#ifdef ALPHA
+	if (entering(tcp)) {
+		printxval(sigprocmaskcmds, tcp->u_arg[0], "SIG_???");
+		tprintf(", ");
+		printsigmask(tcp->u_arg[1], 0);
+	}
+	else if (!syserror(tcp)) {
+		tcp->auxstr = sprintsigmask("old mask ", tcp->u_rval, 0);
+		return RVAL_HEX | RVAL_STR;
+	}
+#else /* !ALPHA */
+	if (entering(tcp)) {
+#ifdef SVR4
+		if (tcp->u_arg[0] == 0)
+			tprintf("0");
+		else
+#endif /* SVR4 */
+		printxval(sigprocmaskcmds, tcp->u_arg[0], "SIG_???");
+		tprintf(", ");
+		print_sigset(tcp, tcp->u_arg[1], 0);
+		tprintf(", ");
+	}
+	else {
+		if (!tcp->u_arg[2])
+			tprintf("NULL");
+		else if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[2]);
+		else
+			print_sigset(tcp, tcp->u_arg[2], 0);
+	}
+#endif /* !ALPHA */
+	return 0;
+}
+
+#endif /* HAVE_SIGACTION */
+
+int
+sys_kill(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		/*
+		 * Sign-extend a 32-bit value when that's what it is.
+		 */
+		long pid = tcp->u_arg[0];
+		if (personality_wordsize[current_personality] < sizeof pid)
+			pid = (long) (int) pid;
+		tprintf("%ld, %s", pid, signame(tcp->u_arg[1]));
+	}
+	return 0;
+}
+
+#if defined(FREEBSD) || defined(SUNOS4)
+int
+sys_killpg(tcp)
+struct tcb *tcp;
+{
+	return sys_kill(tcp);
+}
+#endif /* FREEBSD || SUNOS4 */
+
+#ifdef LINUX
+int
+sys_tgkill(tcp)
+	struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%ld, %ld, %s",
+			tcp->u_arg[0], tcp->u_arg[1], signame(tcp->u_arg[2]));
+	}
+	return 0;
+}
+#endif
+
+int
+sys_sigpending(tcp)
+struct tcb *tcp;
+{
+	sigset_t sigset;
+
+	if (exiting(tcp)) {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[0]);
+		else if (copy_sigset(tcp, tcp->u_arg[0], &sigset) < 0)
+			tprintf("[?]");
+		else
+			printsigmask(&sigset, 0);
+	}
+	return 0;
+}
+
+#ifdef SVR4
+int sys_sigwait(tcp)
+struct tcb *tcp;
+{
+	sigset_t sigset;
+
+	if (entering(tcp)) {
+		if (copy_sigset(tcp, tcp->u_arg[0], &sigset) < 0)
+			tprintf("[?]");
+		else
+			printsigmask(&sigset, 0);
+	}
+	else {
+		if (!syserror(tcp)) {
+			tcp->auxstr = signalent[tcp->u_rval];
+			return RVAL_DECIMAL | RVAL_STR;
+		}
+	}
+	return 0;
+}
+#endif /* SVR4 */
+
+#ifdef LINUX
+
+	int
+sys_rt_sigprocmask(tcp)
+	struct tcb *tcp;
+{
+	sigset_t sigset;
+
+	/* Note: arg[3] is the length of the sigset. */
+	if (entering(tcp)) {
+		printxval(sigprocmaskcmds, tcp->u_arg[0], "SIG_???");
+		tprintf(", ");
+		if (!tcp->u_arg[1])
+			tprintf("NULL, ");
+		else if (copy_sigset_len(tcp, tcp->u_arg[1], &sigset, tcp->u_arg[3]) < 0)
+			tprintf("%#lx, ", tcp->u_arg[1]);
+		else {
+			printsigmask(&sigset, 1);
+			tprintf(", ");
+		}
+	}
+	else {
+		if (!tcp->u_arg[2])
+
+			tprintf("NULL");
+		else if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[2]);
+		else if (copy_sigset_len(tcp, tcp->u_arg[2], &sigset, tcp->u_arg[3]) < 0)
+			tprintf("[?]");
+		else
+			printsigmask(&sigset, 1);
+		tprintf(", %lu", tcp->u_arg[3]);
+	}
+	return 0;
+}
+
+
+/* Structure describing the action to be taken when a signal arrives.  */
+struct new_sigaction
+{
+	__sighandler_t __sa_handler;
+	unsigned long sa_flags;
+	void (*sa_restorer) (void);
+	/* Kernel treats sa_mask as an array of longs. */
+	unsigned long sa_mask[NSIG / sizeof(long) ? NSIG / sizeof(long) : 1];
+};
+/* Same for i386-on-x86_64 and similar cases */
+struct new_sigaction32
+{
+	uint32_t __sa_handler;
+	uint32_t sa_flags;
+	uint32_t sa_restorer;
+	uint32_t sa_mask[2 * (NSIG / sizeof(long) ? NSIG / sizeof(long) : 1)];
+};
+
+
+int
+sys_rt_sigaction(struct tcb *tcp)
+{
+	struct new_sigaction sa;
+	sigset_t sigset;
+	long addr;
+	int r;
+
+	if (entering(tcp)) {
+		printsignal(tcp->u_arg[0]);
+		tprintf(", ");
+		addr = tcp->u_arg[1];
+	} else
+		addr = tcp->u_arg[2];
+
+	if (addr == 0) {
+		tprintf("NULL");
+		goto after_sa;
+	}
+	if (!verbose(tcp)) {
+		tprintf("%#lx", addr);
+		goto after_sa;
+	}
+#if SUPPORTED_PERSONALITIES > 1
+	if (personality_wordsize[current_personality] != sizeof(sa.sa_flags)
+	 && personality_wordsize[current_personality] == 4
+	) {
+		struct new_sigaction32 sa32;
+		r = umove(tcp, addr, &sa32);
+		if (r >= 0) {
+			memset(&sa, 0, sizeof(sa));
+			sa.__sa_handler = (void*)(unsigned long)sa32.__sa_handler;
+			sa.sa_flags     = sa32.sa_flags;
+			sa.sa_restorer  = (void*)(unsigned long)sa32.sa_restorer;
+			/* Kernel treats sa_mask as an array of longs.
+			 * For 32-bit process, "long" is uint32_t, thus, for example,
+			 * 32th bit in sa_mask will end up as bit 0 in sa_mask[1].
+			 * But for (64-bit) kernel, 32th bit in sa_mask is
+			 * 32th bit in 0th (64-bit) long!
+			 * For little-endian, it's the same.
+			 * For big-endian, we swap 32-bit words.
+			 */
+			sa.sa_mask[0] = sa32.sa_mask[0] + ((long)(sa32.sa_mask[1]) << 32);
+		}
+	} else
+#endif
+	{
+		r = umove(tcp, addr, &sa);
+	}
+	if (r < 0) {
+		tprintf("{...}");
+		goto after_sa;
+	}
+	/* Architectures using function pointers, like
+	 * hppa, may need to manipulate the function pointer
+	 * to compute the result of a comparison. However,
+	 * the SA_HANDLER function pointer exists only in
+	 * the address space of the traced process, and can't
+	 * be manipulated by strace. In order to prevent the
+	 * compiler from generating code to manipulate
+	 * SA_HANDLER we cast the function pointers to long. */
+	if ((long)sa.__sa_handler == (long)SIG_ERR)
+		tprintf("{SIG_ERR, ");
+	else if ((long)sa.__sa_handler == (long)SIG_DFL)
+		tprintf("{SIG_DFL, ");
+	else if ((long)sa.__sa_handler == (long)SIG_IGN)
+		tprintf("{SIG_IGN, ");
+	else
+		tprintf("{%#lx, ", (long) sa.__sa_handler);
+	/* Questionable code below.
+	 * Kernel won't handle sys_rt_sigaction
+	 * with wrong sigset size (just returns EINVAL)
+	 * therefore tcp->u_arg[3(4)] _must_ be NSIG / 8 here,
+	 * and we always use smaller memcpy. */
+	sigemptyset(&sigset);
+#ifdef LINUXSPARC
+	if (tcp->u_arg[4] <= sizeof(sigset))
+		memcpy(&sigset, &sa.sa_mask, tcp->u_arg[4]);
+#else
+	if (tcp->u_arg[3] <= sizeof(sigset))
+		memcpy(&sigset, &sa.sa_mask, tcp->u_arg[3]);
+#endif
+	else
+		memcpy(&sigset, &sa.sa_mask, sizeof(sigset));
+	printsigmask(&sigset, 1);
+	tprintf(", ");
+	printflags(sigact_flags, sa.sa_flags, "SA_???");
+#ifdef SA_RESTORER
+	if (sa.sa_flags & SA_RESTORER)
+		tprintf(", %p", sa.sa_restorer);
+#endif
+	tprintf("}");
+
+ after_sa:
+	if (entering(tcp))
+		tprintf(", ");
+	else
+#ifdef LINUXSPARC
+		tprintf(", %#lx, %lu", tcp->u_arg[3], tcp->u_arg[4]);
+#elif defined(ALPHA)
+		tprintf(", %lu, %#lx", tcp->u_arg[3], tcp->u_arg[4]);
+#else
+		tprintf(", %lu", tcp->u_arg[3]);
+#endif
+	return 0;
+}
+
+int
+sys_rt_sigpending(struct tcb *tcp)
+{
+	sigset_t sigset;
+
+	if (exiting(tcp)) {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[0]);
+		else if (copy_sigset_len(tcp, tcp->u_arg[0],
+					 &sigset, tcp->u_arg[1]) < 0)
+			tprintf("[?]");
+		else
+			printsigmask(&sigset, 1);
+	}
+	return 0;
+}
+
+int
+sys_rt_sigsuspend(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		sigset_t sigm;
+		if (copy_sigset_len(tcp, tcp->u_arg[0], &sigm, tcp->u_arg[1]) < 0)
+			tprintf("[?]");
+		else
+			printsigmask(&sigm, 1);
+	}
+	return 0;
+}
+
+int
+sys_rt_sigqueueinfo(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		siginfo_t si;
+		tprintf("%lu, ", tcp->u_arg[0]);
+		printsignal(tcp->u_arg[1]);
+		tprintf(", ");
+		if (umove(tcp, tcp->u_arg[2], &si) < 0)
+			tprintf("%#lx", tcp->u_arg[2]);
+		else
+			printsiginfo(&si, verbose(tcp));
+	}
+	return 0;
+}
+
+int sys_rt_sigtimedwait(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		sigset_t sigset;
+
+		if (copy_sigset_len(tcp, tcp->u_arg[0],
+				    &sigset, tcp->u_arg[3]) < 0)
+			tprintf("[?]");
+		else
+			printsigmask(&sigset, 1);
+		tprintf(", ");
+		/* This is the only "return" parameter, */
+		if (tcp->u_arg[1] != 0)
+			return 0;
+		/* ... if it's NULL, can decode all on entry */
+		tprintf("NULL, ");
+	}
+	else if (tcp->u_arg[1] != 0) {
+		/* syscall exit, and u_arg[1] wasn't NULL */
+		if (syserror(tcp))
+			tprintf("%#lx, ", tcp->u_arg[1]);
+		else {
+			siginfo_t si;
+			if (umove(tcp, tcp->u_arg[1], &si) < 0)
+				tprintf("%#lx, ", tcp->u_arg[1]);
+			else {
+				printsiginfo(&si, verbose(tcp));
+				tprintf(", ");
+			}
+		}
+	}
+	else {
+		/* syscall exit, and u_arg[1] was NULL */
+		return 0;
+	}
+	print_timespec(tcp, tcp->u_arg[2]);
+	tprintf(", %d", (int) tcp->u_arg[3]);
+	return 0;
+};
+
+int
+sys_restart_syscall(struct tcb *tcp)
+{
+	if (entering(tcp))
+		tprintf("<... resuming interrupted call ...>");
+	return 0;
+}
+
+static int
+do_signalfd(struct tcb *tcp, int flags_arg)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		print_sigset(tcp, tcp->u_arg[1], 1);
+		tprintf(", %lu", tcp->u_arg[2]);
+		if (flags_arg >= 0) {
+			tprintf(", ");
+			printflags(open_mode_flags, tcp->u_arg[flags_arg], "O_???");
+		}
+	}
+	return 0;
+}
+
+int
+sys_signalfd(struct tcb *tcp)
+{
+	return do_signalfd(tcp, -1);
+}
+
+int
+sys_signalfd4(struct tcb *tcp)
+{
+	return do_signalfd(tcp, 3);
+}
+#endif /* LINUX */
diff --git a/strace-4.5.20/signalent.sh b/strace-4.5.20/signalent.sh
new file mode 100755
index 0000000..9a346dd
--- /dev/null
+++ b/strace-4.5.20/signalent.sh
@@ -0,0 +1,55 @@
+#!/bin/sh
+# Copyright (c) 1996 Rick Sladkey <jrs@world.std.com>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+#    derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+#	$Id$
+
+cat $* |
+	sed -n -e 's/\/\*.*\*\// /' -e 's/^#[ 	]*define[ 	][ 	]*SIG\([^_ 	]*\)[ 	][ 	]*\([0-9][0-9]*\)[ 	]*$/\1 \2/p' |
+	sort -k2n | uniq |
+	awk '
+	BEGIN {
+		tabs = "\t\t\t\t\t\t\t\t"
+		signal = -1;
+	}
+	$2 <= 256 {
+		if (signal == $2)
+			next
+		while (++signal < $2) {
+			n = "\"SIG_" signal "\""
+			s = "\t" n ","
+			s = s substr(tabs, 1, 16/8 - int((length(n) + 1)/8))
+			s = s "/* " signal " */"
+			print s
+		}
+		if (signal == $2)
+			n = "\"SIG" $1 "\""
+		n = "\"SIG" $1 "\""
+		s = "\t" n ","
+		s = s substr(tabs, 1, 16/8 - int((length(n) + 1)/8))
+		s = s "/* " signal " */"
+		print s
+	}
+	'
diff --git a/strace-4.5.20/sock.c b/strace-4.5.20/sock.c
new file mode 100644
index 0000000..e7c72b5
--- /dev/null
+++ b/strace-4.5.20/sock.c
@@ -0,0 +1,296 @@
+/*
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+#ifdef LINUX
+#include <sys/socket.h>
+#include <linux/sockios.h>
+#else
+#include <sys/socket.h>
+#include <sys/sockio.h>
+#endif
+#include <arpa/inet.h>
+
+#if defined (ALPHA) || defined(SH) || defined(SH64)
+#ifdef HAVE_SYS_IOCTL_H
+#include <sys/ioctl.h>
+#elif defined(HAVE_IOCTLS_H)
+#include <ioctls.h>
+#endif
+#endif
+#include <net/if.h>
+
+static const struct xlat iffflags[] = {
+	{ IFF_UP,		"IFF_UP"		},
+	{ IFF_BROADCAST,	"IFF_BROADCAST"		},
+	{ IFF_DEBUG,		"IFF_DEBUG"		},
+	{ IFF_LOOPBACK,		"IFF_LOOPBACK"		},
+	{ IFF_POINTOPOINT,	"IFF_POINTOPOINT"	},
+	{ IFF_NOTRAILERS,	"IFF_NOTRAILERS"	},
+	{ IFF_RUNNING,		"IFF_RUNNING"		},
+	{ IFF_NOARP,		"IFF_NOARP"		},
+	{ IFF_PROMISC,		"IFF_PROMISC"		},
+	{ IFF_ALLMULTI,		"IFF_ALLMULTI"		},
+	{ IFF_MASTER,		"IFF_MASTER"		},
+	{ IFF_SLAVE,		"IFF_SLAVE"		},
+	{ IFF_MULTICAST,	"IFF_MULTICAST"		},
+	{ IFF_PORTSEL,		"IFF_PORTSEL"		},
+	{ IFF_AUTOMEDIA,	"IFF_AUTOMEDIA"		},
+	{ 0,			NULL			}
+};
+
+
+static void
+print_addr(tcp, addr, ifr)
+struct tcb *tcp;
+long addr;
+struct ifreq *ifr;
+{
+	if (ifr->ifr_addr.sa_family == AF_INET) {
+		struct sockaddr_in *sinp;
+		sinp = (struct sockaddr_in *) &ifr->ifr_addr;
+		tprintf("inet_addr(\"%s\")", inet_ntoa(sinp->sin_addr));
+	} else
+		printstr(tcp, addr, sizeof(ifr->ifr_addr.sa_data));
+}
+
+int
+sock_ioctl(struct tcb *tcp, long code, long arg)
+{
+	struct ifreq ifr;
+	struct ifconf ifc;
+	const char *str = NULL;
+	unsigned char *bytes;
+
+	if (entering(tcp)) {
+		if (code == SIOCGIFCONF) {
+			if (umove(tcp, tcp->u_arg[2], &ifc) >= 0
+			    && ifc.ifc_buf == NULL)
+				tprintf(", {%d -> ", ifc.ifc_len);
+			else
+				tprintf(", {");
+		}
+		return 0;
+	}
+
+	switch (code) {
+#ifdef SIOCSHIWAT
+	case SIOCSHIWAT:
+#endif
+#ifdef SIOCGHIWAT
+	case SIOCGHIWAT:
+#endif
+#ifdef SIOCSLOWAT
+	case SIOCSLOWAT:
+#endif
+#ifdef SIOCGLOWAT
+	case SIOCGLOWAT:
+#endif
+#ifdef FIOSETOWN
+	case FIOSETOWN:
+#endif
+#ifdef FIOGETOWN
+	case FIOGETOWN:
+#endif
+#ifdef SIOCSPGRP
+	case SIOCSPGRP:
+#endif
+#ifdef SIOCGPGRP
+	case SIOCGPGRP:
+#endif
+#ifdef SIOCATMARK
+	case SIOCATMARK:
+#endif
+		printnum(tcp, arg, ", %#d");
+		return 1;
+#ifdef LINUX
+	case SIOCGIFNAME:
+	case SIOCSIFNAME:
+	case SIOCGIFINDEX:
+	case SIOCGIFADDR:
+	case SIOCSIFADDR:
+	case SIOCGIFDSTADDR:
+	case SIOCSIFDSTADDR:
+	case SIOCGIFBRDADDR:
+	case SIOCSIFBRDADDR:
+	case SIOCGIFNETMASK:
+	case SIOCSIFNETMASK:
+	case SIOCGIFFLAGS:
+	case SIOCSIFFLAGS:
+	case SIOCGIFMETRIC:
+	case SIOCSIFMETRIC:
+	case SIOCGIFMTU:
+	case SIOCSIFMTU:
+	case SIOCGIFSLAVE:
+	case SIOCSIFSLAVE:
+	case SIOCGIFHWADDR:
+	case SIOCSIFHWADDR:
+	case SIOCGIFTXQLEN:
+	case SIOCSIFTXQLEN:
+	case SIOCGIFMAP:
+	case SIOCSIFMAP:
+		if (umove(tcp, tcp->u_arg[2], &ifr) < 0)
+			tprintf(", %#lx", tcp->u_arg[2]);
+		else if (syserror(tcp)) {
+			if (code == SIOCGIFNAME || code == SIOCSIFNAME)
+				tprintf(", {ifr_index=%d, ifr_name=???}", ifr.ifr_ifindex);
+			else
+				tprintf(", {ifr_name=\"%s\", ???}", ifr.ifr_name);
+		} else if (code == SIOCGIFNAME || code == SIOCSIFNAME)
+			tprintf(", {ifr_index=%d, ifr_name=\"%s\"}",
+				ifr.ifr_ifindex, ifr.ifr_name);
+		else {
+			tprintf(", {ifr_name=\"%s\", ", ifr.ifr_name);
+			switch (code) {
+			case SIOCGIFINDEX:
+				tprintf("ifr_index=%d", ifr.ifr_ifindex);
+				break;
+			case SIOCGIFADDR:
+			case SIOCSIFADDR:
+				str = "ifr_addr";
+			case SIOCGIFDSTADDR:
+			case SIOCSIFDSTADDR:
+				if (!str)
+					str = "ifr_dstaddr";
+			case SIOCGIFBRDADDR:
+			case SIOCSIFBRDADDR:
+				if (!str)
+					str = "ifr_broadaddr";
+			case SIOCGIFNETMASK:
+			case SIOCSIFNETMASK:
+				if (!str)
+					str = "ifr_netmask";
+				tprintf("%s={", str);
+				printxval(addrfams,
+					  ifr.ifr_addr.sa_family,
+					  "AF_???");
+				tprintf(", ");
+				print_addr(tcp, ((long) tcp->u_arg[2]
+						 + offsetof (struct ifreq,
+							     ifr_addr.sa_data)),
+					   &ifr);
+				tprintf("}");
+				break;
+			case SIOCGIFHWADDR:
+			case SIOCSIFHWADDR:
+				/* XXX Are there other hardware addresses
+				   than 6-byte MACs?  */
+				bytes = (unsigned char *) &ifr.ifr_hwaddr.sa_data;
+				tprintf("ifr_hwaddr=%02x:%02x:%02x:%02x:%02x:%02x",
+					bytes[0], bytes[1], bytes[2],
+					bytes[3], bytes[4], bytes[5]);
+				break;
+			case SIOCGIFFLAGS:
+			case SIOCSIFFLAGS:
+				tprintf("ifr_flags=");
+				printflags(iffflags, ifr.ifr_flags, "IFF_???");
+				break;
+			case SIOCGIFMETRIC:
+			case SIOCSIFMETRIC:
+				tprintf("ifr_metric=%d", ifr.ifr_metric);
+				break;
+			case SIOCGIFMTU:
+			case SIOCSIFMTU:
+				tprintf("ifr_mtu=%d", ifr.ifr_mtu);
+				break;
+			case SIOCGIFSLAVE:
+			case SIOCSIFSLAVE:
+				tprintf("ifr_slave=\"%s\"", ifr.ifr_slave);
+				break;
+			case SIOCGIFTXQLEN:
+			case SIOCSIFTXQLEN:
+				tprintf("ifr_qlen=%d", ifr.ifr_qlen);
+				break;
+			case SIOCGIFMAP:
+			case SIOCSIFMAP:
+				tprintf("ifr_map={mem_start=%#lx, "
+					"mem_end=%#lx, base_addr=%#x, "
+					"irq=%u, dma=%u, port=%u}",
+					ifr.ifr_map.mem_start,
+					ifr.ifr_map.mem_end,
+					(unsigned) ifr.ifr_map.base_addr,
+					(unsigned) ifr.ifr_map.irq,
+					(unsigned) ifr.ifr_map.dma,
+					(unsigned) ifr.ifr_map.port);
+				break;
+			}
+			tprintf("}");
+		}
+		return 1;
+	case SIOCGIFCONF:
+		if (umove(tcp, tcp->u_arg[2], &ifc) < 0) {
+			tprintf("???}");
+			return 1;
+		}
+		tprintf("%d, ", ifc.ifc_len);
+		if (syserror(tcp)) {
+			tprintf("%lx", (unsigned long) ifc.ifc_buf);
+		} else if (ifc.ifc_buf == NULL) {
+			tprintf("NULL");
+		} else {
+			int i;
+			unsigned nifra = ifc.ifc_len / sizeof(struct ifreq);
+			struct ifreq ifra[nifra];
+
+			if (umoven(tcp, (unsigned long) ifc.ifc_buf,
+				sizeof(ifra), (char *) ifra) < 0) {
+				tprintf("%lx}", (unsigned long) ifc.ifc_buf);
+				return 1;
+			}
+			tprintf("{");
+			for (i = 0; i < nifra; ++i ) {
+				if (i > 0)
+					tprintf(", ");
+				tprintf("{\"%s\", {",
+					ifra[i].ifr_name);
+				if (verbose(tcp)) {
+					printxval(addrfams,
+						  ifra[i].ifr_addr.sa_family,
+						  "AF_???");
+					tprintf(", ");
+					print_addr(tcp, ((long) tcp->u_arg[2]
+							 + offsetof (struct ifreq,
+								     ifr_addr.sa_data)
+							 + ((char *) &ifra[i]
+							    - (char *) &ifra[0])),
+						   &ifra[i]);
+				} else
+					tprintf("...");
+				tprintf("}}");
+			}
+			tprintf("}");
+		}
+		tprintf("}");
+		return 1;
+#endif
+	default:
+		return 0;
+	}
+}
diff --git a/strace-4.5.20/strace-graph b/strace-4.5.20/strace-graph
new file mode 100755
index 0000000..6a04ac2
--- /dev/null
+++ b/strace-4.5.20/strace-graph
@@ -0,0 +1,338 @@
+#!/usr/bin/perl
+
+# This script processes strace -f output.  It displays a graph of invoked
+# subprocesses, and is useful for finding out what complex commands do.
+
+# You will probably want to invoke strace with -q as well, and with
+# -s 100 to get complete filenames.
+
+# The script can also handle the output with strace -t, -tt, or -ttt.
+# It will add elapsed time for each process in that case.
+
+# This script is Copyright (C) 1998 by Richard Braakman <dark@xs4all.nl>.
+
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+#    derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+#	$Id$
+
+my %unfinished;
+
+# Scales for strace slowdown.  Make configurable!
+my $scale_factor = 3.5;
+
+while (<>) {
+    my ($pid, $call, $args, $result, $time);
+    chop;
+
+    s/^(\d+)\s+//;
+    $pid = $1;
+
+    if (s/^(\d\d):(\d\d):(\d\d)(?:\.(\d\d\d\d\d\d))? //) {
+	$time = $1 * 3600 + $2 * 60 + $3;
+	if (defined $4) {
+	    $time = $time + $4 / 1000000;
+	    $floatform = 1;
+	}
+    } elsif (s/^(\d+)\.(\d\d\d\d\d\d) //) {
+	$time = $1 + ($2 / 1000000);
+	$floatform = 1;
+    }
+
+    if (s/ <unfinished ...>$//) {
+	$unfinished{$pid} = $_;
+	next;
+    }
+
+    if (s/^<... \S+ resumed> //) {
+	unless (exists $unfinished{$pid}) {
+	    print STDERR "$0: $ARGV: cannot find start of resumed call on line $.";
+	    next;
+	}
+	$_ = $unfinished{$pid} . $_;
+	delete $unfinished{$pid};
+    }
+
+    if (/^--- SIG(\S+) \(.*\) ---$/) {
+	# $pid received signal $1
+	# currently we don't do anything with this
+	next;
+    }
+
+    if (/^\+\+\+ killed by SIG(\S+) \+\+\+$/) {
+	# $pid received signal $1
+	handle_killed($pid, $time);
+	next;
+    }
+
+    ($call, $args, $result) = /(\S+)\((.*)\)\s+= (.*)$/;
+    unless (defined $result) {
+	print STDERR "$0: $ARGV: $.: cannot parse line.\n";
+	next;
+    }
+
+    handle_trace($pid, $call, $args, $result, $time);
+}
+
+display_trace();
+
+exit 0;
+
+sub parse_str {
+    my ($in) = @_;
+    my $result = "";
+
+    while (1) {
+	if ($in =~ s/^\\(.)//) {
+	    $result .= $1;
+	} elsif ($in =~ s/^\"//) {
+	    if ($in =~ s/^\.\.\.//) {
+		return ("$result...", $in);
+	    }
+	    return ($result, $in);
+	} elsif ($in =~ s/([^\\\"]*)//) {
+	    $result .= $1;
+	} else {
+	    return (undef, $in);
+	}
+    }
+}
+
+sub parse_one {
+    my ($in) = @_;
+
+    if ($in =~ s/^\"//) {
+	($tmp, $in) = parse_str($in);
+	if (not defined $tmp) {
+	    print STDERR "$0: $ARGV: $.: cannot parse string.\n";
+	    return (undef, $in);
+	}
+	return ($tmp, $in);
+    } elsif ($in =~ s/^0x(\x+)//) {
+	return (hex $1, $in);
+    } elsif ($in =~ s/^(\d+)//) {
+	return (int $1, $in);
+    } else {
+	print STDERR "$0: $ARGV: $.: unrecognized element.\n";
+	return (undef, $in);
+    }
+}
+
+sub parseargs {
+    my ($in) = @_;
+    my @args = ();
+    my $tmp;
+
+    while (length $in) {
+	if ($in =~ s/^\[//) {
+	    my @subarr = ();
+	    if ($in =~ s,^/\* (\d+) vars \*/\],,) {
+		push @args, $1;
+	    } else {
+		while ($in !~ s/^\]//) {
+		    ($tmp, $in) = parse_one($in);
+		    defined $tmp or return undef;
+		    push @subarr, $tmp;
+		    unless ($in =~ /^\]/ or $in =~ s/^, //) {
+			print STDERR "$0: $ARGV: $.: missing comma in array.\n";
+			return undef;
+		    }
+		    if ($in =~ s/^\.\.\.//) {
+			push @subarr, "...";
+		    }
+		}
+		push @args, \@subarr;
+	    }
+	} elsif ($in =~ s/^\{//) {
+	    my %subhash = ();
+	    while ($in !~ s/^\}//) {
+		my $key;
+		unless ($in =~ s/^(\w+)=//) {
+		    print STDERR "$0: $ARGV: $.: struct field expected.\n";
+		    return undef;
+		}
+		$key = $1;
+		($tmp, $in) = parse_one($in);
+		defined $tmp or return undef;
+		$subhash{$key} = $tmp;
+		unless ($in =~ s/, //) {
+		    print STDERR "$0: $ARGV: $.: missing comma in struct.\n";
+		    return undef;
+		}
+	    }
+	    push @args, \%subhash;
+	} else {
+	    ($tmp, $in) = parse_one($in);
+	    defined $tmp or return undef;
+	    push @args, $tmp;
+	}
+	unless (length($in) == 0 or $in =~ s/^, //) {
+	    print STDERR "$0: $ARGV: $.: missing comma.\n";
+	    return undef;
+	}
+    }
+    return @args;
+}
+
+
+my $depth = "";
+
+# process info, indexed by pid.
+# fields:
+#    parent         pid number
+#    seq            forks and execs for this pid, in sequence  (array)
+
+#  filename and argv (from latest exec)
+#  basename (derived from filename)
+# argv[0] is modified to add the basename if it differs from the 0th argument.
+
+my %pr;
+
+sub handle_trace {
+    my ($pid, $call, $args, $result, $time) = @_;
+    my $p;
+
+    if (defined $time and not defined $pr{$pid}{start}) {
+	$pr{$pid}{start} = $time;
+    }
+
+    if ($call eq 'execve') {
+	return if $result != 0;
+
+	my ($filename, $argv) = parseargs($args);
+	($basename) = $filename =~ m/([^\/]*)$/;
+	if ($basename ne $$argv[0]) {
+	    $$argv[0] = "$basename($$argv[0])";
+        }
+	my $seq = $pr{$pid}{seq};
+	$seq = [] if not defined $seq;
+
+	push @$seq, ['EXEC', $filename, $argv];
+
+	$pr{$pid}{seq} = $seq;
+    } elsif ($call eq 'fork' || $call eq 'clone' || $call eq 'vfork') {
+	return if $result == 0;
+
+	my $seq = $pr{$pid}{seq};
+	$seq = [] if not defined $seq;
+	push @$seq, ['FORK', $result];
+	$pr{$pid}{seq} = $seq;
+	$pr{$result}{parent} = $pid;
+    } elsif ($call eq '_exit') {
+	$pr{$pid}{end} = $time if defined $time;
+    }
+}
+
+sub handle_killed {
+    my ($pid, $time) = @_;
+    $pr{$pid}{end} = $time if defined $time;
+}
+
+sub straight_seq {
+    my ($pid) = @_;
+    my $seq = $pr{$pid}{seq};
+
+    for $elem (@$seq) {
+	if ($$elem[0] eq 'EXEC') {
+	    my $argv = $$elem[2];
+	    print "$$elem[0] $$elem[1] @$argv\n";
+	} elsif ($$elem[0] eq 'FORK') {
+	    print "$$elem[0] $$elem[1]\n";
+	} else {
+	    print "$$elem[0]\n";
+	}
+    }
+}
+
+sub first_exec {
+    my ($pid) = @_;
+    my $seq = $pr{$pid}{seq};
+
+    for $elem (@$seq) {
+	if ($$elem[0] eq 'EXEC') {
+	    return $elem;
+	}
+    }
+    return undef;
+}
+
+sub display_pid_trace {
+    my ($pid, $lead) = @_;
+    my $i = 0;
+    my @seq = @{$pr{$pid}{seq}};
+    my $elapsed;
+
+    if (not defined first_exec($pid)) {
+	unshift @seq, ['EXEC', '', ['(anon)'] ];
+    }
+
+    if (defined $pr{$pid}{start} and defined $pr{$pid}{end}) {
+	$elapsed = $pr{$pid}{end} - $pr{$pid}{start};
+	$elapsed /= $scale_factor;
+	if ($floatform) {
+	    $elapsed = sprintf("%0.02f", $elapsed);
+	} else {
+	    $elapsed = int $elapsed;
+	}
+    }
+
+    for $elem (@seq) {
+	$i++;
+	if ($$elem[0] eq 'EXEC') {
+	    my $argv = $$elem[2];
+	    if (defined $elapsed) {
+		print "$lead [$elapsed] @$argv\n";
+		undef $elapsed;
+	    } else {
+		print "$lead @$argv\n";
+	    }
+	} elsif ($$elem[0] eq 'FORK') {
+	    if ($i == 1) {
+                if ($lead =~ /-$/) {
+		    display_pid_trace($$elem[1], "$lead--+--");
+                } else {
+		    display_pid_trace($$elem[1], "$lead  +--");
+                }
+	    } elsif ($i == @seq) {
+		display_pid_trace($$elem[1], "$lead  `--");
+	    } else {
+		display_pid_trace($$elem[1], "$lead  +--");
+	    }
+	}
+	if ($i == 1) {
+	    $lead =~ s/\`--/   /g;
+	    $lead =~ s/-/ /g;
+	    $lead =~ s/\+/|/g;
+	}
+    }
+}
+
+sub display_trace {
+    my ($startpid) = @_;
+
+    $startpid = (keys %pr)[0];
+    while ($pr{$startpid}{parent}) {
+	$startpid = $pr{$startpid}{parent};
+    }
+
+    display_pid_trace($startpid, "");
+}
diff --git a/strace-4.5.20/strace.1 b/strace-4.5.20/strace.1
new file mode 100644
index 0000000..a98b9f9
--- /dev/null
+++ b/strace-4.5.20/strace.1
@@ -0,0 +1,730 @@
+.\" Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+.\" Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+.\" Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 3. The name of the author may not be used to endorse or promote products
+.\"    derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\"	$Id$
+.\"
+.de CW
+.sp
+.nf
+.ft CW
+..
+.de CE
+.ft R
+.fi
+.sp
+..
+.TH STRACE 1 "2010-03-30"
+.SH NAME
+strace \- trace system calls and signals
+.SH SYNOPSIS
+.B strace
+[
+.B \-CdffhiqrtttTvxx
+]
+[
+.BI \-a column
+]
+[
+.BI \-e expr
+]
+\&...
+[
+.BI \-o file
+]
+[
+.BI \-p pid
+]
+\&...
+[
+.BI \-s strsize
+]
+[
+.BI \-u username
+]
+[
+.BI \-E var=val
+]
+\&...
+[
+.BI \-E var
+]
+\&...
+[
+.I command
+[
+.I arg
+\&...
+]
+]
+.sp
+.B strace
+.B \-c
+[
+.BI \-e expr
+]
+\&...
+[
+.BI \-O overhead
+]
+[
+.BI \-S sortby
+]
+[
+.I command
+[
+.I arg
+\&...
+]
+]
+.SH DESCRIPTION
+.IX "strace command" "" "\fLstrace\fR command"
+.LP
+In the simplest case
+.B strace
+runs the specified
+.I command
+until it exits.
+It intercepts and records the system calls which are called
+by a process and the signals which are received by a process.
+The name of each system call, its arguments and its return value
+are printed on standard error or to the file specified with the
+.B \-o
+option.
+.LP
+.B strace
+is a useful diagnostic, instructional, and debugging tool.
+System administrators, diagnosticians and trouble-shooters will find
+it invaluable for solving problems with
+programs for which the source is not readily available since
+they do not need to be recompiled in order to trace them.
+Students, hackers and the overly-curious will find that
+a great deal can be learned about a system and its system calls by
+tracing even ordinary programs.  And programmers will find that
+since system calls and signals are events that happen at the user/kernel
+interface, a close examination of this boundary is very
+useful for bug isolation, sanity checking and
+attempting to capture race conditions.
+.LP
+Each line in the trace contains the system call name, followed
+by its arguments in parentheses and its return value.
+An example from stracing the command ``cat /dev/null'' is:
+.CW
+open("/dev/null", O_RDONLY) = 3
+.CE
+Errors (typically a return value of \-1) have the errno symbol
+and error string appended.
+.CW
+open("/foo/bar", O_RDONLY) = -1 ENOENT (No such file or directory)
+.CE
+Signals are printed as a signal symbol and a signal string.
+An excerpt from stracing and interrupting the command ``sleep 666'' is:
+.CW
+sigsuspend([] <unfinished ...>
+--- SIGINT (Interrupt) ---
++++ killed by SIGINT +++
+.CE
+If a system call is being executed and meanwhile another one is being called
+from a different thread/process then
+.B strace
+will try to preserve the order of those events and mark the ongoing call as
+being
+.IR unfinished .
+When the call returns it will be marked as
+.IR resumed .
+.CW
+[pid 28772] select(4, [3], NULL, NULL, NULL <unfinished ...>
+[pid 28779] clock_gettime(CLOCK_REALTIME, {1130322148, 939977000}) = 0
+[pid 28772] <... select resumed> )      = 1 (in [3])
+.CE
+Interruption of a (restartable) system call by a signal delivery is processed
+differently as kernel terminates the system call and also arranges its
+immediate reexecution after the signal handler completes.
+.CW
+read(0, 0x7ffff72cf5cf, 1)              = ? ERESTARTSYS (To be restarted)
+--- SIGALRM (Alarm clock) @ 0 (0) ---
+rt_sigreturn(0xe)                       = 0
+read(0, ""..., 1)                       = 0
+.CE
+Arguments are printed in symbolic form with a passion.
+This example shows the shell performing ``>>xyzzy'' output redirection:
+.CW
+open("xyzzy", O_WRONLY|O_APPEND|O_CREAT, 0666) = 3
+.CE
+Here the three argument form of open is decoded by breaking down the
+flag argument into its three bitwise-OR constituents and printing the
+mode value in octal by tradition.  Where traditional or native
+usage differs from ANSI or POSIX, the latter forms are preferred.
+In some cases,
+.B strace
+output has proven to be more readable than the source.
+.LP
+Structure pointers are dereferenced and the members are displayed
+as appropriate.  In all cases arguments are formatted in the most C-like
+fashion possible.
+For example, the essence of the command ``ls \-l /dev/null'' is captured as:
+.CW
+lstat("/dev/null", {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0
+.CE
+Notice how the `struct stat' argument is dereferenced and how each member is
+displayed symbolically.  In particular, observe how the st_mode member
+is carefully decoded into a bitwise-OR of symbolic and numeric values.
+Also notice in this example that the first argument to lstat is an input
+to the system call and the second argument is an output.  Since output
+arguments are not modified if the system call fails, arguments may not
+always be dereferenced.  For example, retrying the ``ls \-l'' example
+with a non-existent file produces the following line:
+.CW
+lstat("/foo/bar", 0xb004) = -1 ENOENT (No such file or directory)
+.CE
+In this case the porch light is on but nobody is home.
+.LP
+Character pointers are dereferenced and printed as C strings.
+Non-printing characters in strings are normally represented by
+ordinary C escape codes.
+Only the first
+.I strsize
+(32 by default) bytes of strings are printed;
+longer strings have an ellipsis appended following the closing quote.
+Here is a line from ``ls \-l'' where the
+.B getpwuid
+library routine is reading the password file:
+.CW
+read(3, "root::0:0:System Administrator:/"..., 1024) = 422
+.CE
+While structures are annotated using curly braces, simple pointers
+and arrays are printed using square brackets with commas separating
+elements.  Here is an example from the command ``id'' on a system with
+supplementary group ids:
+.CW
+getgroups(32, [100, 0]) = 2
+.CE
+On the other hand, bit-sets are also shown using square brackets
+but set elements are separated only by a space.  Here is the shell
+preparing to execute an external command:
+.CW
+sigprocmask(SIG_BLOCK, [CHLD TTOU], []) = 0
+.CE
+Here the second argument is a bit-set of two signals, SIGCHLD and SIGTTOU.
+In some cases the bit-set is so full that printing out the unset
+elements is more valuable.  In that case, the bit-set is prefixed by
+a tilde like this:
+.CW
+sigprocmask(SIG_UNBLOCK, ~[], NULL) = 0
+.CE
+Here the second argument represents the full set of all signals.
+.SH OPTIONS
+.TP 12
+.TP
+.B \-c
+Count time, calls, and errors for each system call and report a summary on
+program exit.  On Linux, this attempts to show system time (CPU time spent
+running in the kernel) independent of wall clock time.  If
+.B \-c
+is used with
+.B \-f
+or
+.B \-F
+(below), only aggregate totals for all traced processes are kept.
+.TP
+.B \-C
+Like
+.B \-c
+but also print regular output while processes are running.
+.TP
+.B \-d
+Show some debugging output of
+.B strace
+itself on the standard error.
+.TP
+.B \-f
+Trace child processes as they are created by currently traced
+processes as a result of the
+.BR fork (2)
+system call.
+.IP
+On non-Linux platforms the new process is
+attached to as soon as its pid is known (through the return value of
+.BR fork (2)
+in the parent process). This means that such children may run
+uncontrolled for a while (especially in the case of a
+.BR vfork (2)),
+until the parent is scheduled again to complete its
+.RB ( v ) fork (2)
+call.  On Linux the child is traced from its first instruction with no delay.
+If the parent process decides to
+.BR wait (2)
+for a child that is currently
+being traced, it is suspended until an appropriate child process either
+terminates or incurs a signal that would cause it to terminate (as
+determined from the child's current signal disposition).
+.IP
+On SunOS 4.x the tracing of
+.BR vfork s
+is accomplished with some dynamic linking trickery.
+.TP
+.B \-ff
+If the
+.B \-o
+.I filename
+option is in effect, each processes trace is written to
+.I filename.pid
+where pid is the numeric process id of each process.
+This is incompatible with
+.BR \-c ,
+since no per-process counts are kept.
+.TP
+.B \-F
+This option is now obsolete and it has the same functionality as
+.BR \-f .
+.TP
+.B \-h
+Print the help summary.
+.TP
+.B \-i
+Print the instruction pointer at the time of the system call.
+.TP
+.B \-q
+Suppress messages about attaching, detaching etc.  This happens
+automatically when output is redirected to a file and the command
+is run directly instead of attaching.
+.TP
+.B \-r
+Print a relative timestamp upon entry to each system call.  This
+records the time difference between the beginning of successive
+system calls.
+.TP
+.B \-t
+Prefix each line of the trace with the time of day.
+.TP
+.B \-tt
+If given twice, the time printed will include the microseconds.
+.TP
+.B \-ttt
+If given thrice, the time printed will include the microseconds
+and the leading portion will be printed as the number
+of seconds since the epoch.
+.TP
+.B \-T
+Show the time spent in system calls. This records the time
+difference between the beginning and the end of each system call.
+.TP
+.B \-v
+Print unabbreviated versions of environment, stat, termios, etc.
+calls.  These structures are very common in calls and so the default
+behavior displays a reasonable subset of structure members.  Use
+this option to get all of the gory details.
+.TP
+.B \-V
+Print the version number of
+.BR strace .
+.TP
+.B \-x
+Print all non-ASCII strings in hexadecimal string format.
+.TP
+.B \-xx
+Print all strings in hexadecimal string format.
+.TP
+.BI "\-a " column
+Align return values in a specific column (default column 40).
+.TP
+.BI "\-e " expr
+A qualifying expression which modifies which events to trace
+or how to trace them.  The format of the expression is:
+.RS 15
+.IP
+[\fIqualifier\fB=\fR][\fB!\fR]\fIvalue1\fR[\fB,\fIvalue2\fR]...
+.RE
+.IP
+where
+.I qualifier
+is one of
+.BR trace ,
+.BR abbrev ,
+.BR verbose ,
+.BR raw ,
+.BR signal ,
+.BR read ,
+or
+.B write
+and
+.I value
+is a qualifier-dependent symbol or number.  The default
+qualifier is
+.BR trace .
+Using an exclamation mark negates the set of values.  For example,
+.BR \-e "\ " open
+means literally
+.BR \-e "\ " trace = open
+which in turn means trace only the
+.B open
+system call.  By contrast,
+.BR \-e "\ " trace "=!" open
+means to trace every system call except
+.BR open .
+In addition, the special values
+.B all
+and
+.B none
+have the obvious meanings.
+.IP
+Note that some shells use the exclamation point for history
+expansion even inside quoted arguments.  If so, you must escape
+the exclamation point with a backslash.
+.TP
+\fB\-e\ trace\fR=\fIset\fR
+Trace only the specified set of system calls.  The
+.B \-c
+option is useful for determining which system calls might be useful
+to trace.  For example,
+.BR trace = open,close,read,write
+means to only
+trace those four system calls.  Be careful when making inferences
+about the user/kernel boundary if only a subset of system calls
+are being monitored.  The default is
+.BR trace = all .
+.TP
+\fB\-e\ trace\fR=\fIfile\fR
+Trace all system calls which take a file name as an argument.  You
+can think of this as an abbreviation for
+.BR "\-e\ trace" = open , stat , chmod , unlink ,...
+which is useful to seeing what files the process is referencing.
+Furthermore, using the abbreviation will ensure that you don't
+accidentally forget to include a call like
+.B lstat
+in the list.  Betchya woulda forgot that one.
+.TP
+\fB\-e\ trace\fR=\fIprocess\fR
+Trace all system calls which involve process management.  This
+is useful for watching the fork, wait, and exec steps of a process.
+.TP
+\fB\-e\ trace\fR=\fInetwork\fR
+Trace all the network related system calls.
+.TP
+\fB\-e\ trace\fR=\fIsignal\fR
+Trace all signal related system calls.
+.TP
+\fB\-e\ trace\fR=\fIipc\fR
+Trace all IPC related system calls.
+.TP
+\fB\-e\ trace\fR=\fIdesc\fR
+Trace all file descriptor related system calls.
+.TP
+\fB\-e\ abbrev\fR=\fIset\fR
+Abbreviate the output from printing each member of large structures.
+The default is
+.BR abbrev = all .
+The
+.B \-v
+option has the effect of
+.BR abbrev = none .
+.TP
+\fB\-e\ verbose\fR=\fIset\fR
+Dereference structures for the specified set of system calls.  The
+default is
+.BR verbose = all .
+.TP
+\fB\-e\ raw\fR=\fIset\fR
+Print raw, undecoded arguments for the specified set of system calls.
+This option has the effect of causing all arguments to be printed
+in hexadecimal.  This is mostly useful if you don't trust the
+decoding or you need to know the actual numeric value of an
+argument.
+.TP
+\fB\-e\ signal\fR=\fIset\fR
+Trace only the specified subset of signals.  The default is
+.BR signal = all .
+For example,
+.B signal "=!" SIGIO
+(or
+.BR signal "=!" io )
+causes SIGIO signals not to be traced.
+.TP
+\fB\-e\ read\fR=\fIset\fR
+Perform a full hexadecimal and ASCII dump of all the data read from
+file descriptors listed in the specified set.  For example, to see
+all input activity on file descriptors
+.I 3
+and
+.I 5
+use
+\fB\-e\ read\fR=\fI3\fR,\fI5\fR.
+Note that this is independent from the normal tracing of the
+.BR read (2)
+system call which is controlled by the option
+.BR -e "\ " trace = read .
+.TP
+\fB\-e\ write\fR=\fIset\fR
+Perform a full hexadecimal and ASCII dump of all the data written to
+file descriptors listed in the specified set.  For example, to see
+all output activity on file descriptors
+.I 3
+and
+.I 5
+use
+\fB\-e\ write\fR=\fI3\fR,\fI5\fR.
+Note that this is independent from the normal tracing of the
+.BR write (2)
+system call which is controlled by the option
+.BR -e "\ " trace = write .
+.TP
+.BI "\-o " filename
+Write the trace output to the file
+.I filename
+rather than to stderr.
+Use
+.I filename.pid
+if
+.B \-ff
+is used.
+If the argument begins with `|' or with `!' then the rest of the
+argument is treated as a command and all output is piped to it.
+This is convenient for piping the debugging output to a program
+without affecting the redirections of executed programs.
+.TP
+.BI "\-O " overhead
+Set the overhead for tracing system calls to
+.I overhead
+microseconds.
+This is useful for overriding the default heuristic for guessing
+how much time is spent in mere measuring when timing system calls using
+the
+.B \-c
+option.  The accuracy of the heuristic can be gauged by timing a given
+program run without tracing (using
+.BR time (1))
+and comparing the accumulated
+system call time to the total produced using
+.BR \-c .
+.TP
+.BI "\-p " pid
+Attach to the process with the process
+.SM ID
+.I pid
+and begin tracing.
+The trace may be terminated
+at any time by a keyboard interrupt signal (\c
+.SM CTRL\s0-C).
+.B strace
+will respond by detaching itself from the traced process(es)
+leaving it (them) to continue running.
+Multiple
+.B \-p
+options can be used to attach to up to 32 processes in addition to
+.I command
+(which is optional if at least one
+.B \-p
+option is given).
+.TP
+.BI "\-s " strsize
+Specify the maximum string size to print (the default is 32).  Note
+that filenames are not considered strings and are always printed in
+full.
+.TP
+.BI "\-S " sortby
+Sort the output of the histogram printed by the
+.B \-c
+option by the specified criterion.  Legal values are
+.BR time ,
+.BR calls ,
+.BR name ,
+and
+.B nothing
+(default is
+.BR time ).
+.TP
+.BI "\-u " username
+Run command with the user \s-1ID\s0, group \s-2ID\s0, and
+supplementary groups of
+.IR username .
+This option is only useful when running as root and enables the
+correct execution of setuid and/or setgid binaries.
+Unless this option is used setuid and setgid programs are executed
+without effective privileges.
+.TP
+\fB\-E\ \fIvar\fR=\fIval\fR
+Run command with
+.IR var = val
+in its list of environment variables.
+.TP
+.BI "\-E " var
+Remove
+.IR var
+from the inherited list of environment variables before passing it on to
+the command.
+.SH DIAGNOSTICS
+When
+.I command
+exits,
+.B strace
+exits with the same exit status.
+If
+.I command
+is terminated by a signal,
+.B strace
+terminates itself with the same signal, so that
+.B strace
+can be used as a wrapper process transparent to the invoking parent process.
+.LP
+When using
+.BR \-p ,
+the exit status of
+.B strace
+is zero unless there was an unexpected error in doing the tracing.
+.SH "SETUID INSTALLATION"
+If
+.B strace
+is installed setuid to root then the invoking user will be able to
+attach to and trace processes owned by any user.
+In addition setuid and setgid programs will be executed and traced
+with the correct effective privileges.
+Since only users trusted with full root privileges should be allowed
+to do these things,
+it only makes sense to install
+.B strace
+as setuid to root when the users who can execute it are restricted
+to those users who have this trust.
+For example, it makes sense to install a special version of
+.B strace
+with mode `rwsr-xr--', user
+.B root
+and group
+.BR trace ,
+where members of the
+.B trace
+group are trusted users.
+If you do use this feature, please remember to install
+a non-setuid version of
+.B strace
+for ordinary lusers to use.
+.SH "SEE ALSO"
+.BR ltrace (1),
+.BR time (1),
+.BR ptrace (2),
+.BR proc (5)
+.SH NOTES
+It is a pity that so much tracing clutter is produced by systems
+employing shared libraries.
+.LP
+It is instructive to think about system call inputs and outputs
+as data-flow across the user/kernel boundary.  Because user-space
+and kernel-space are separate and address-protected, it is
+sometimes possible to make deductive inferences about process
+behavior using inputs and outputs as propositions.
+.LP
+In some cases, a system call will differ from the documented behavior
+or have a different name.  For example, on System V-derived systems
+the true
+.BR time (2)
+system call does not take an argument and the
+.B stat
+function is called
+.B xstat
+and takes an extra leading argument.  These
+discrepancies are normal but idiosyncratic characteristics of the
+system call interface and are accounted for by C library wrapper
+functions.
+.LP
+On some platforms a process that has a system call trace applied
+to it with the
+.B \-p
+option will receive a
+.BR \s-1SIGSTOP\s0 .
+This signal may interrupt a system call that is not restartable.
+This may have an unpredictable effect on the process
+if the process takes no action to restart the system call.
+.SH BUGS
+Programs that use the
+.I setuid
+bit do not have
+effective user
+.SM ID
+privileges while being traced.
+.LP
+A traced process ignores
+.SM SIGSTOP
+except on SVR4 platforms.
+.LP
+A traced process which tries to block SIGTRAP will be sent a SIGSTOP
+in an attempt to force continuation of tracing.
+.LP
+A traced process runs slowly.
+.LP
+Traced processes which are descended from
+.I command
+may be left running after an interrupt signal (\c
+.SM CTRL\s0-C).
+.LP
+On Linux, exciting as it would be, tracing the init process is forbidden.
+.LP
+The
+.B \-i
+option is weakly supported.
+.SH HISTORY
+.B strace
+The original
+.B strace
+was written by Paul Kranenburg
+for SunOS and was inspired by its trace utility.
+The SunOS version of
+.B strace
+was ported to Linux and enhanced
+by Branko Lankester, who also wrote the Linux kernel support.
+Even though Paul released
+.B strace
+2.5 in 1992,
+Branko's work was based on Paul's
+.B strace
+1.5 release from 1991.
+In 1993, Rick Sladkey merged
+.B strace
+2.5 for SunOS and the second release of
+.B strace
+for Linux, added many of the features of
+.BR truss (1)
+from SVR4, and produced an
+.B strace
+that worked on both platforms.  In 1994 Rick ported
+.B strace
+to SVR4 and Solaris and wrote the
+automatic configuration support.  In 1995 he ported
+.B strace
+to Irix
+and tired of writing about himself in the third person.
+.SH BUGS
+The SIGTRAP signal is used internally by the kernel implementation of
+system call tracing.  When a traced process receives a SIGTRAP signal not
+associated with tracing, strace will not report that signal correctly.
+This signal is not normally used by programs, but could be via a hard-coded
+break instruction or via
+.BR kill (2).
+.SH PROBLEMS
+Problems with
+.B strace
+should be reported via the Debian Bug Tracking System,
+or to the
+.B strace
+mailing list at <strace\-devel@lists.sourceforge.net>.
diff --git a/strace-4.5.20/strace.c b/strace-4.5.20/strace.c
new file mode 100644
index 0000000..40f8907
--- /dev/null
+++ b/strace-4.5.20/strace.c
@@ -0,0 +1,2718 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+#include <sys/types.h>
+#include <signal.h>
+#include <errno.h>
+#include <sys/param.h>
+#include <fcntl.h>
+#include <sys/resource.h>
+#include <sys/wait.h>
+#include <sys/stat.h>
+#include <pwd.h>
+#include <grp.h>
+#include <string.h>
+#include <limits.h>
+#include <dirent.h>
+
+#ifdef LINUX
+# include <asm/unistd.h>
+# if defined __NR_tgkill
+#  define my_tgkill(pid, tid, sig) syscall (__NR_tgkill, (pid), (tid), (sig))
+# elif defined __NR_tkill
+#  define my_tgkill(pid, tid, sig) syscall (__NR_tkill, (tid), (sig))
+# else
+   /* kill() may choose arbitrarily the target task of the process group
+      while we later wait on a that specific TID.  PID process waits become
+      TID task specific waits for a process under ptrace(2).  */
+#  warning "Neither tkill(2) nor tgkill(2) available, risk of strace hangs!"
+#  define my_tgkill(pid, tid, sig) kill ((tid), (sig))
+# endif
+#endif
+
+#if defined(IA64) && defined(LINUX)
+# include <asm/ptrace_offsets.h>
+#endif
+
+#ifdef USE_PROCFS
+#include <poll.h>
+#endif
+
+#ifdef SVR4
+#include <sys/stropts.h>
+#ifdef HAVE_MP_PROCFS
+#ifdef HAVE_SYS_UIO_H
+#include <sys/uio.h>
+#endif
+#endif
+#endif
+extern char **environ;
+extern int optind;
+extern char *optarg;
+
+
+int debug = 0, followfork = 0;
+int dtime = 0, xflag = 0, qflag = 0;
+cflag_t cflag = CFLAG_NONE;
+static int iflag = 0, interactive = 0, pflag_seen = 0, rflag = 0, tflag = 0;
+/*
+ * daemonized_tracer supports -D option.
+ * With this option, strace forks twice.
+ * Unlike normal case, with -D *grandparent* process exec's,
+ * becoming a traced process. Child exits (this prevents traced process
+ * from having children it doesn't expect to have), and grandchild
+ * attaches to grandparent similarly to strace -p PID.
+ * This allows for more transparent interaction in cases
+ * when process and its parent are communicating via signals,
+ * wait() etc. Without -D, strace process gets lodged in between,
+ * disrupting parent<->child link.
+ */
+static bool daemonized_tracer = 0;
+
+/* Sometimes we want to print only succeeding syscalls. */
+int not_failing_only = 0;
+
+static int exit_code = 0;
+static int strace_child = 0;
+
+static char *username = NULL;
+uid_t run_uid;
+gid_t run_gid;
+
+int acolumn = DEFAULT_ACOLUMN;
+int max_strlen = DEFAULT_STRLEN;
+static char *outfname = NULL;
+FILE *outf;
+static int curcol;
+struct tcb **tcbtab;
+unsigned int nprocs, tcbtabsize;
+char *progname;
+extern char **environ;
+
+static int detach(struct tcb *tcp, int sig);
+static int trace(void);
+static void cleanup(void);
+static void interrupt(int sig);
+static sigset_t empty_set, blocked_set;
+
+#ifdef HAVE_SIG_ATOMIC_T
+static volatile sig_atomic_t interrupted;
+#else /* !HAVE_SIG_ATOMIC_T */
+static volatile int interrupted;
+#endif /* !HAVE_SIG_ATOMIC_T */
+
+#ifdef USE_PROCFS
+
+static struct tcb *pfd2tcb(int pfd);
+static void reaper(int sig);
+static void rebuild_pollv(void);
+static struct pollfd *pollv;
+
+#ifndef HAVE_POLLABLE_PROCFS
+
+static void proc_poll_open(void);
+static void proc_poller(int pfd);
+
+struct proc_pollfd {
+	int fd;
+	int revents;
+	int pid;
+};
+
+static int poller_pid;
+static int proc_poll_pipe[2] = { -1, -1 };
+
+#endif /* !HAVE_POLLABLE_PROCFS */
+
+#ifdef HAVE_MP_PROCFS
+#define POLLWANT	POLLWRNORM
+#else
+#define POLLWANT	POLLPRI
+#endif
+#endif /* USE_PROCFS */
+
+static void
+usage(ofp, exitval)
+FILE *ofp;
+int exitval;
+{
+	fprintf(ofp, "\
+usage: strace [-dffhiqrtttTvVxx] [-a column] [-e expr] ... [-o file]\n\
+              [-p pid] ... [-s strsize] [-u username] [-E var=val] ...\n\
+              [command [arg ...]]\n\
+   or: strace -c -D [-e expr] ... [-O overhead] [-S sortby] [-E var=val] ...\n\
+              [command [arg ...]]\n\
+-c -- count time, calls, and errors for each syscall and report summary\n\
+-f -- follow forks, -ff -- with output into separate files\n\
+-F -- attempt to follow vforks, -h -- print help message\n\
+-i -- print instruction pointer at time of syscall\n\
+-q -- suppress messages about attaching, detaching, etc.\n\
+-r -- print relative timestamp, -t -- absolute timestamp, -tt -- with usecs\n\
+-T -- print time spent in each syscall, -V -- print version\n\
+-v -- verbose mode: print unabbreviated argv, stat, termio[s], etc. args\n\
+-x -- print non-ascii strings in hex, -xx -- print all strings in hex\n\
+-a column -- alignment COLUMN for printing syscall results (default %d)\n\
+-e expr -- a qualifying expression: option=[!]all or option=[!]val1[,val2]...\n\
+   options: trace, abbrev, verbose, raw, signal, read, or write\n\
+-o file -- send trace output to FILE instead of stderr\n\
+-O overhead -- set overhead for tracing syscalls to OVERHEAD usecs\n\
+-p pid -- trace process with process id PID, may be repeated\n\
+-D -- run tracer process as a detached grandchild, not as parent\n\
+-s strsize -- limit length of print strings to STRSIZE chars (default %d)\n\
+-S sortby -- sort syscall counts by: time, calls, name, nothing (default %s)\n\
+-u username -- run command as username handling setuid and/or setgid\n\
+-E var=val -- put var=val in the environment for command\n\
+-E var -- remove var from the environment for command\n\
+" /* this is broken, so don't document it
+-z -- print only succeeding syscalls\n\
+  */
+, DEFAULT_ACOLUMN, DEFAULT_STRLEN, DEFAULT_SORTBY);
+	exit(exitval);
+}
+
+#ifdef SVR4
+#ifdef MIPS
+void
+foobar()
+{
+}
+#endif /* MIPS */
+#endif /* SVR4 */
+
+/* Glue for systems without a MMU that cannot provide fork() */
+#ifdef HAVE_FORK
+# define strace_vforked 0
+#else
+# define strace_vforked 1
+# define fork()         vfork()
+#endif
+
+static int
+set_cloexec_flag(int fd)
+{
+	int     flags, newflags;
+
+	if ((flags = fcntl(fd, F_GETFD, 0)) < 0)
+	{
+		fprintf(stderr, "%s: fcntl F_GETFD: %s\n",
+			progname, strerror(errno));
+		return -1;
+	}
+
+	newflags = flags | FD_CLOEXEC;
+	if (flags == newflags)
+		return 0;
+
+	if (fcntl(fd, F_SETFD, newflags) < 0)
+	{
+		fprintf(stderr, "%s: fcntl F_SETFD: %s\n",
+			progname, strerror(errno));
+		return -1;
+	}
+
+	return 0;
+}
+
+/*
+ * When strace is setuid executable, we have to swap uids
+ * before and after filesystem and process management operations.
+ */
+static void
+swap_uid(void)
+{
+#ifndef SVR4
+	int euid = geteuid(), uid = getuid();
+
+	if (euid != uid && setreuid(euid, uid) < 0)
+	{
+		fprintf(stderr, "%s: setreuid: %s\n",
+			progname, strerror(errno));
+		exit(1);
+	}
+#endif
+}
+
+#if _LFS64_LARGEFILE
+# define fopen_for_output fopen64
+#else
+# define fopen_for_output fopen
+#endif
+
+static FILE *
+strace_fopen(const char *path, const char *mode)
+{
+	FILE *fp;
+
+	swap_uid();
+	if ((fp = fopen_for_output(path, mode)) == NULL)
+		fprintf(stderr, "%s: can't fopen '%s': %s\n",
+			progname, path, strerror(errno));
+	swap_uid();
+	if (fp && set_cloexec_flag(fileno(fp)) < 0)
+	{
+		fclose(fp);
+		fp = NULL;
+	}
+	return fp;
+}
+
+static int popen_pid = -1;
+
+#ifndef _PATH_BSHELL
+# define _PATH_BSHELL "/bin/sh"
+#endif
+
+/*
+ * We cannot use standard popen(3) here because we have to distinguish
+ * popen child process from other processes we trace, and standard popen(3)
+ * does not export its child's pid.
+ */
+static FILE *
+strace_popen(const char *command)
+{
+	int     fds[2];
+
+	swap_uid();
+	if (pipe(fds) < 0)
+	{
+		fprintf(stderr, "%s: pipe: %s\n",
+			progname, strerror(errno));
+		swap_uid();
+		return NULL;
+	}
+
+	if (set_cloexec_flag(fds[1]) < 0)
+	{
+		close(fds[0]);
+		close(fds[1]);
+		swap_uid();
+		return NULL;
+	}
+
+	if ((popen_pid = fork()) == -1)
+	{
+		fprintf(stderr, "%s: fork: %s\n",
+			progname, strerror(errno));
+		close(fds[0]);
+		close(fds[1]);
+		swap_uid();
+		return NULL;
+	}
+
+	if (popen_pid)
+	{
+		/* parent */
+		close(fds[0]);
+		swap_uid();
+		return fdopen(fds[1], "w");
+	} else
+	{
+		/* child */
+		close(fds[1]);
+		if (fds[0] && (dup2(fds[0], 0) || close(fds[0])))
+		{
+			fprintf(stderr, "%s: dup2: %s\n",
+				progname, strerror(errno));
+			_exit(1);
+		}
+		execl(_PATH_BSHELL, "sh", "-c", command, NULL);
+		fprintf(stderr, "%s: execl: %s: %s\n",
+			progname, _PATH_BSHELL, strerror(errno));
+		_exit(1);
+	}
+}
+
+static int
+newoutf(struct tcb *tcp)
+{
+	if (outfname && followfork > 1) {
+		char name[520 + sizeof(int) * 3];
+		FILE *fp;
+
+		sprintf(name, "%.512s.%u", outfname, tcp->pid);
+		if ((fp = strace_fopen(name, "w")) == NULL)
+			return -1;
+		tcp->outf = fp;
+	}
+	return 0;
+}
+
+static void
+startup_attach(void)
+{
+	int tcbi;
+	struct tcb *tcp;
+
+	/*
+	 * Block user interruptions as we would leave the traced
+	 * process stopped (process state T) if we would terminate in
+	 * between PTRACE_ATTACH and wait4 () on SIGSTOP.
+	 * We rely on cleanup () from this point on.
+	 */
+	if (interactive)
+		sigprocmask(SIG_BLOCK, &blocked_set, NULL);
+
+	if (daemonized_tracer) {
+		pid_t pid = fork();
+		if (pid < 0) {
+			_exit(1);
+		}
+		if (pid) { /* parent */
+			/*
+			 * Wait for child to attach to straced process
+			 * (our parent). Child SIGKILLs us after it attached.
+			 * Parent's wait() is unblocked by our death,
+			 * it proceeds to exec the straced program.
+			 */
+			pause();
+			_exit(0); /* paranoia */
+		}
+	}
+
+	for (tcbi = 0; tcbi < tcbtabsize; tcbi++) {
+		tcp = tcbtab[tcbi];
+		if (!(tcp->flags & TCB_INUSE) || !(tcp->flags & TCB_ATTACHED))
+			continue;
+#ifdef LINUX
+		if (tcp->flags & TCB_CLONE_THREAD)
+			continue;
+#endif
+		/* Reinitialize the output since it may have changed. */
+		tcp->outf = outf;
+		if (newoutf(tcp) < 0)
+			exit(1);
+
+#ifdef USE_PROCFS
+		if (proc_open(tcp, 1) < 0) {
+			fprintf(stderr, "trouble opening proc file\n");
+			droptcb(tcp);
+			continue;
+		}
+#else /* !USE_PROCFS */
+# ifdef LINUX
+		if (followfork && !daemonized_tracer) {
+			char procdir[sizeof("/proc/%d/task") + sizeof(int) * 3];
+			DIR *dir;
+
+			sprintf(procdir, "/proc/%d/task", tcp->pid);
+			dir = opendir(procdir);
+			if (dir != NULL) {
+				unsigned int ntid = 0, nerr = 0;
+				struct dirent *de;
+				int tid;
+				while ((de = readdir(dir)) != NULL) {
+					if (de->d_fileno == 0)
+						continue;
+					tid = atoi(de->d_name);
+					if (tid <= 0)
+						continue;
+					++ntid;
+					if (ptrace(PTRACE_ATTACH, tid, (char *) 1, 0) < 0)
+						++nerr;
+					else if (tid != tcbtab[tcbi]->pid) {
+						tcp = alloctcb(tid);
+						tcp->flags |= TCB_ATTACHED|TCB_CLONE_THREAD|TCB_CLONE_DETACHED|TCB_FOLLOWFORK;
+						tcbtab[tcbi]->nchildren++;
+						tcbtab[tcbi]->nclone_threads++;
+						tcbtab[tcbi]->nclone_detached++;
+						tcp->parent = tcbtab[tcbi];
+					}
+					if (interactive) {
+						sigprocmask(SIG_SETMASK, &empty_set, NULL);
+						if (interrupted)
+							return;
+						sigprocmask(SIG_BLOCK, &blocked_set, NULL);
+					}
+				}
+				closedir(dir);
+				ntid -= nerr;
+				if (ntid == 0) {
+					perror("attach: ptrace(PTRACE_ATTACH, ...)");
+					droptcb(tcp);
+					continue;
+				}
+				if (!qflag) {
+					fprintf(stderr, ntid > 1
+? "Process %u attached with %u threads - interrupt to quit\n"
+: "Process %u attached - interrupt to quit\n",
+						tcbtab[tcbi]->pid, ntid);
+				}
+				continue;
+			} /* if (opendir worked) */
+		} /* if (-f) */
+# endif
+		if (ptrace(PTRACE_ATTACH, tcp->pid, (char *) 1, 0) < 0) {
+			perror("attach: ptrace(PTRACE_ATTACH, ...)");
+			droptcb(tcp);
+			continue;
+		}
+		/* INTERRUPTED is going to be checked at the top of TRACE.  */
+
+		if (daemonized_tracer) {
+			/*
+			 * It is our grandparent we trace, not a -p PID.
+			 * Don't want to just detach on exit, so...
+			 */
+			tcp->flags &= ~TCB_ATTACHED;
+			/*
+			 * Make parent go away.
+			 * Also makes grandparent's wait() unblock.
+			 */
+			kill(getppid(), SIGKILL);
+		}
+
+#endif /* !USE_PROCFS */
+		if (!qflag)
+			fprintf(stderr,
+				"Process %u attached - interrupt to quit\n",
+				tcp->pid);
+	}
+
+	if (interactive)
+		sigprocmask(SIG_SETMASK, &empty_set, NULL);
+}
+
+static void
+startup_child (char **argv)
+{
+	struct stat statbuf;
+	const char *filename;
+	char pathname[MAXPATHLEN];
+	int pid = 0;
+	struct tcb *tcp;
+
+	filename = argv[0];
+	if (strchr(filename, '/')) {
+		if (strlen(filename) > sizeof pathname - 1) {
+			errno = ENAMETOOLONG;
+			perror("strace: exec");
+			exit(1);
+		}
+		strcpy(pathname, filename);
+	}
+#ifdef USE_DEBUGGING_EXEC
+	/*
+	 * Debuggers customarily check the current directory
+	 * first regardless of the path but doing that gives
+	 * security geeks a panic attack.
+	 */
+	else if (stat(filename, &statbuf) == 0)
+		strcpy(pathname, filename);
+#endif /* USE_DEBUGGING_EXEC */
+	else {
+		char *path;
+		int m, n, len;
+
+		for (path = getenv("PATH"); path && *path; path += m) {
+			if (strchr(path, ':')) {
+				n = strchr(path, ':') - path;
+				m = n + 1;
+			}
+			else
+				m = n = strlen(path);
+			if (n == 0) {
+				if (!getcwd(pathname, MAXPATHLEN))
+					continue;
+				len = strlen(pathname);
+			}
+			else if (n > sizeof pathname - 1)
+				continue;
+			else {
+				strncpy(pathname, path, n);
+				len = n;
+			}
+			if (len && pathname[len - 1] != '/')
+				pathname[len++] = '/';
+			strcpy(pathname + len, filename);
+			if (stat(pathname, &statbuf) == 0 &&
+			    /* Accept only regular files
+			       with some execute bits set.
+			       XXX not perfect, might still fail */
+			    S_ISREG(statbuf.st_mode) &&
+			    (statbuf.st_mode & 0111))
+				break;
+		}
+	}
+	if (stat(pathname, &statbuf) < 0) {
+		fprintf(stderr, "%s: %s: command not found\n",
+			progname, filename);
+		exit(1);
+	}
+	strace_child = pid = fork();
+	if (pid < 0) {
+		perror("strace: fork");
+		cleanup();
+		exit(1);
+	}
+	if ((pid != 0 && daemonized_tracer) /* parent: to become a traced process */
+	 || (pid == 0 && !daemonized_tracer) /* child: to become a traced process */
+	) {
+		pid = getpid();
+#ifdef USE_PROCFS
+		if (outf != stderr) close (fileno (outf));
+#ifdef MIPS
+		/* Kludge for SGI, see proc_open for details. */
+		sa.sa_handler = foobar;
+		sa.sa_flags = 0;
+		sigemptyset(&sa.sa_mask);
+		sigaction(SIGINT, &sa, NULL);
+#endif /* MIPS */
+#ifndef FREEBSD
+		pause();
+#else /* FREEBSD */
+		kill(pid, SIGSTOP); /* stop HERE */
+#endif /* FREEBSD */
+#else /* !USE_PROCFS */
+		if (outf!=stderr)
+			close(fileno (outf));
+
+		if (!daemonized_tracer) {
+			if (ptrace(PTRACE_TRACEME, 0, (char *) 1, 0) < 0) {
+				perror("strace: ptrace(PTRACE_TRACEME, ...)");
+				exit(1);
+			}
+			if (debug)
+				kill(pid, SIGSTOP);
+		}
+
+		if (username != NULL || geteuid() == 0) {
+			uid_t run_euid = run_uid;
+			gid_t run_egid = run_gid;
+
+			if (statbuf.st_mode & S_ISUID)
+				run_euid = statbuf.st_uid;
+			if (statbuf.st_mode & S_ISGID)
+				run_egid = statbuf.st_gid;
+
+			/*
+			 * It is important to set groups before we
+			 * lose privileges on setuid.
+			 */
+			if (username != NULL) {
+				if (initgroups(username, run_gid) < 0) {
+					perror("initgroups");
+					exit(1);
+				}
+				if (setregid(run_gid, run_egid) < 0) {
+					perror("setregid");
+					exit(1);
+				}
+				if (setreuid(run_uid, run_euid) < 0) {
+					perror("setreuid");
+					exit(1);
+				}
+			}
+		}
+		else
+			setreuid(run_uid, run_uid);
+
+		if (!daemonized_tracer) {
+			/*
+			 * Induce an immediate stop so that the parent
+			 * will resume us with PTRACE_SYSCALL and display
+			 * this execve call normally.
+			 * Unless of course we're on a no-MMU system where
+			 * we vfork()-ed, so we cannot stop the child.
+			 */
+			if (!strace_vforked)
+				kill(getpid(), SIGSTOP);
+		} else {
+			struct sigaction sv_sigchld;
+			sigaction(SIGCHLD, NULL, &sv_sigchld);
+			/*
+			 * Make sure it is not SIG_IGN, otherwise wait
+			 * will not block.
+			 */
+			signal(SIGCHLD, SIG_DFL);
+			/*
+			 * Wait for grandchild to attach to us.
+			 * It kills child after that, and wait() unblocks.
+			 */
+			alarm(3);
+			wait(NULL);
+			alarm(0);
+			sigaction(SIGCHLD, &sv_sigchld, NULL);
+		}
+#endif /* !USE_PROCFS */
+
+		execv(pathname, argv);
+		perror("strace: exec");
+		_exit(1);
+	}
+
+	/* We are the tracer.  */
+	tcp = alloctcb(daemonized_tracer ? getppid() : pid);
+	if (daemonized_tracer) {
+		/* We want subsequent startup_attach() to attach to it.  */
+		tcp->flags |= TCB_ATTACHED;
+	}
+#ifdef USE_PROCFS
+	if (proc_open(tcp, 0) < 0) {
+		fprintf(stderr, "trouble opening proc file\n");
+		cleanup();
+		exit(1);
+	}
+#endif /* USE_PROCFS */
+}
+
+int
+main(int argc, char *argv[])
+{
+	struct tcb *tcp;
+	int c, pid = 0;
+	int optF = 0;
+	struct sigaction sa;
+
+	static char buf[BUFSIZ];
+
+	progname = argv[0] ? argv[0] : "strace";
+
+	/* Allocate the initial tcbtab.  */
+	tcbtabsize = argc;	/* Surely enough for all -p args.  */
+	if ((tcbtab = calloc(tcbtabsize, sizeof tcbtab[0])) == NULL) {
+		fprintf(stderr, "%s: out of memory\n", progname);
+		exit(1);
+	}
+	if ((tcbtab[0] = calloc(tcbtabsize, sizeof tcbtab[0][0])) == NULL) {
+		fprintf(stderr, "%s: out of memory\n", progname);
+		exit(1);
+	}
+	for (tcp = tcbtab[0]; tcp < &tcbtab[0][tcbtabsize]; ++tcp)
+		tcbtab[tcp - tcbtab[0]] = &tcbtab[0][tcp - tcbtab[0]];
+
+	outf = stderr;
+	interactive = 1;
+	set_sortby(DEFAULT_SORTBY);
+	set_personality(DEFAULT_PERSONALITY);
+	qualify("trace=all");
+	qualify("abbrev=all");
+	qualify("verbose=all");
+	qualify("signal=all");
+	while ((c = getopt(argc, argv,
+		"+cCdfFhiqrtTvVxz"
+#ifndef USE_PROCFS
+		"D"
+#endif
+		"a:e:o:O:p:s:S:u:E:")) != EOF) {
+		switch (c) {
+		case 'c':
+			if (cflag == CFLAG_BOTH) {
+				fprintf(stderr, "%s: -c and -C are mutually exclusive options\n",
+					progname);
+				exit(1);
+			}
+			cflag = CFLAG_ONLY_STATS;
+			break;
+		case 'C':
+			if (cflag == CFLAG_ONLY_STATS) {
+				fprintf(stderr, "%s: -c and -C are mutually exclusive options\n",
+					progname);
+				exit(1);
+			}
+			cflag = CFLAG_BOTH;
+			break;
+		case 'd':
+			debug++;
+			break;
+#ifndef USE_PROCFS
+		/* Experimental, not documented in manpage yet. */
+		case 'D':
+			daemonized_tracer = 1;
+			break;
+#endif
+		case 'F':
+			optF = 1;
+			break;
+		case 'f':
+			followfork++;
+			break;
+		case 'h':
+			usage(stdout, 0);
+			break;
+		case 'i':
+			iflag++;
+			break;
+		case 'q':
+			qflag++;
+			break;
+		case 'r':
+			rflag++;
+			tflag++;
+			break;
+		case 't':
+			tflag++;
+			break;
+		case 'T':
+			dtime++;
+			break;
+		case 'x':
+			xflag++;
+			break;
+		case 'v':
+			qualify("abbrev=none");
+			break;
+		case 'V':
+			printf("%s -- version %s\n", PACKAGE_NAME, VERSION);
+			exit(0);
+			break;
+		case 'z':
+			not_failing_only = 1;
+			break;
+		case 'a':
+			acolumn = atoi(optarg);
+			break;
+		case 'e':
+			qualify(optarg);
+			break;
+		case 'o':
+			outfname = strdup(optarg);
+			break;
+		case 'O':
+			set_overhead(atoi(optarg));
+			break;
+		case 'p':
+			if ((pid = atoi(optarg)) <= 0) {
+				fprintf(stderr, "%s: Invalid process id: %s\n",
+					progname, optarg);
+				break;
+			}
+			if (pid == getpid()) {
+				fprintf(stderr, "%s: I'm sorry, I can't let you do that, Dave.\n", progname);
+				break;
+			}
+			tcp = alloc_tcb(pid, 0);
+			tcp->flags |= TCB_ATTACHED;
+			pflag_seen++;
+			break;
+		case 's':
+			max_strlen = atoi(optarg);
+			if (max_strlen < 0) {
+				fprintf(stderr,
+					"%s: invalid -s argument: %s\n",
+					progname, optarg);
+				exit(1);
+			}
+			break;
+		case 'S':
+			set_sortby(optarg);
+			break;
+		case 'u':
+			username = strdup(optarg);
+			break;
+		case 'E':
+			if (putenv(optarg) < 0) {
+				fprintf(stderr, "%s: out of memory\n",
+					progname);
+				exit(1);
+			}
+			break;
+		default:
+			usage(stderr, 1);
+			break;
+		}
+	}
+
+	if ((optind == argc) == !pflag_seen)
+		usage(stderr, 1);
+
+	if (!followfork)
+		followfork = optF;
+
+	if (followfork > 1 && cflag) {
+		fprintf(stderr,
+			"%s: (-c or -C) and -ff are mutually exclusive options\n",
+			progname);
+		exit(1);
+	}
+
+	/* See if they want to run as another user. */
+	if (username != NULL) {
+		struct passwd *pent;
+
+		if (getuid() != 0 || geteuid() != 0) {
+			fprintf(stderr,
+				"%s: you must be root to use the -u option\n",
+				progname);
+			exit(1);
+		}
+		if ((pent = getpwnam(username)) == NULL) {
+			fprintf(stderr, "%s: cannot find user `%s'\n",
+				progname, username);
+			exit(1);
+		}
+		run_uid = pent->pw_uid;
+		run_gid = pent->pw_gid;
+	}
+	else {
+		run_uid = getuid();
+		run_gid = getgid();
+	}
+
+	/* Check if they want to redirect the output. */
+	if (outfname) {
+		/* See if they want to pipe the output. */
+		if (outfname[0] == '|' || outfname[0] == '!') {
+			/*
+			 * We can't do the <outfname>.PID funny business
+			 * when using popen, so prohibit it.
+			 */
+			if (followfork > 1) {
+				fprintf(stderr, "\
+%s: piping the output and -ff are mutually exclusive options\n",
+					progname);
+				exit(1);
+			}
+
+			if ((outf = strace_popen(outfname + 1)) == NULL)
+				exit(1);
+		}
+		else if (followfork <= 1 &&
+			 (outf = strace_fopen(outfname, "w")) == NULL)
+			exit(1);
+	}
+
+	if (!outfname || outfname[0] == '|' || outfname[0] == '!')
+		setvbuf(outf, buf, _IOLBF, BUFSIZ);
+	if (outfname && optind < argc) {
+		interactive = 0;
+		qflag = 1;
+	}
+	/* Valid states here:
+	   optind < argc	pflag_seen	outfname	interactive
+	   1			0		0		1
+	   0			1		0		1
+	   1			0		1		0
+	   0			1		1		1
+	 */
+
+	/* STARTUP_CHILD must be called before the signal handlers get
+	   installed below as they are inherited into the spawned process.
+	   Also we do not need to be protected by them as during interruption
+	   in the STARTUP_CHILD mode we kill the spawned process anyway.  */
+	if (!pflag_seen)
+		startup_child(&argv[optind]);
+
+	sigemptyset(&empty_set);
+	sigemptyset(&blocked_set);
+	sa.sa_handler = SIG_IGN;
+	sigemptyset(&sa.sa_mask);
+	sa.sa_flags = 0;
+	sigaction(SIGTTOU, &sa, NULL);
+	sigaction(SIGTTIN, &sa, NULL);
+	if (interactive) {
+		sigaddset(&blocked_set, SIGHUP);
+		sigaddset(&blocked_set, SIGINT);
+		sigaddset(&blocked_set, SIGQUIT);
+		sigaddset(&blocked_set, SIGPIPE);
+		sigaddset(&blocked_set, SIGTERM);
+		sa.sa_handler = interrupt;
+#ifdef SUNOS4
+		/* POSIX signals on sunos4.1 are a little broken. */
+		sa.sa_flags = SA_INTERRUPT;
+#endif /* SUNOS4 */
+	}
+	sigaction(SIGHUP, &sa, NULL);
+	sigaction(SIGINT, &sa, NULL);
+	sigaction(SIGQUIT, &sa, NULL);
+	sigaction(SIGPIPE, &sa, NULL);
+	sigaction(SIGTERM, &sa, NULL);
+#ifdef USE_PROCFS
+	sa.sa_handler = reaper;
+	sigaction(SIGCHLD, &sa, NULL);
+#else
+	/* Make sure SIGCHLD has the default action so that waitpid
+	   definitely works without losing track of children.  The user
+	   should not have given us a bogus state to inherit, but he might
+	   have.  Arguably we should detect SIG_IGN here and pass it on
+	   to children, but probably noone really needs that.  */
+	sa.sa_handler = SIG_DFL;
+	sigaction(SIGCHLD, &sa, NULL);
+#endif /* USE_PROCFS */
+
+	if (pflag_seen || daemonized_tracer)
+		startup_attach();
+
+	if (trace() < 0)
+		exit(1);
+	cleanup();
+	fflush(NULL);
+	if (exit_code > 0xff) {
+		/* Child was killed by a signal, mimic that.  */
+		exit_code &= 0xff;
+		signal(exit_code, SIG_DFL);
+		raise(exit_code);
+		/* Paranoia - what if this signal is not fatal?
+		   Exit with 128 + signo then.  */
+		exit_code += 128;
+	}
+	exit(exit_code);
+}
+
+void
+expand_tcbtab(void)
+{
+	/* Allocate some more TCBs and expand the table.
+	   We don't want to relocate the TCBs because our
+	   callers have pointers and it would be a pain.
+	   So tcbtab is a table of pointers.  Since we never
+	   free the TCBs, we allocate a single chunk of many.  */
+	struct tcb **newtab = (struct tcb **)
+		realloc(tcbtab, 2 * tcbtabsize * sizeof tcbtab[0]);
+	struct tcb *newtcbs = (struct tcb *) calloc(tcbtabsize,
+						    sizeof *newtcbs);
+	int i;
+	if (newtab == NULL || newtcbs == NULL) {
+		fprintf(stderr, "%s: expand_tcbtab: out of memory\n",
+			progname);
+		cleanup();
+		exit(1);
+	}
+	for (i = tcbtabsize; i < 2 * tcbtabsize; ++i)
+		newtab[i] = &newtcbs[i - tcbtabsize];
+	tcbtabsize *= 2;
+	tcbtab = newtab;
+}
+
+struct tcb *
+alloc_tcb(int pid, int command_options_parsed)
+{
+	int i;
+	struct tcb *tcp;
+
+	if (nprocs == tcbtabsize)
+		expand_tcbtab();
+
+	for (i = 0; i < tcbtabsize; i++) {
+		tcp = tcbtab[i];
+		if ((tcp->flags & TCB_INUSE) == 0) {
+			tcp->pid = pid;
+			tcp->parent = NULL;
+			tcp->nchildren = 0;
+			tcp->nzombies = 0;
+#ifdef TCB_CLONE_THREAD
+			tcp->nclone_threads = tcp->nclone_detached = 0;
+			tcp->nclone_waiting = 0;
+#endif
+			tcp->flags = TCB_INUSE | TCB_STARTUP;
+			tcp->outf = outf; /* Initialise to current out file */
+			tcp->curcol = 0;
+			tcp->stime.tv_sec = 0;
+			tcp->stime.tv_usec = 0;
+			tcp->pfd = -1;
+			nprocs++;
+			if (command_options_parsed)
+				newoutf(tcp);
+			return tcp;
+		}
+	}
+	fprintf(stderr, "%s: bug in alloc_tcb\n", progname);
+	cleanup();
+	exit(1);
+}
+
+#ifdef USE_PROCFS
+int
+proc_open(struct tcb *tcp, int attaching)
+{
+	char proc[32];
+	long arg;
+#ifdef SVR4
+	int i;
+	sysset_t syscalls;
+	sigset_t signals;
+	fltset_t faults;
+#endif
+#ifndef HAVE_POLLABLE_PROCFS
+	static int last_pfd;
+#endif
+
+#ifdef HAVE_MP_PROCFS
+	/* Open the process pseudo-files in /proc. */
+	sprintf(proc, "/proc/%d/ctl", tcp->pid);
+	if ((tcp->pfd = open(proc, O_WRONLY|O_EXCL)) < 0) {
+		perror("strace: open(\"/proc/...\", ...)");
+		return -1;
+	}
+	if (set_cloexec_flag(tcp->pfd) < 0) {
+		return -1;
+	}
+	sprintf(proc, "/proc/%d/status", tcp->pid);
+	if ((tcp->pfd_stat = open(proc, O_RDONLY|O_EXCL)) < 0) {
+		perror("strace: open(\"/proc/...\", ...)");
+		return -1;
+	}
+	if (set_cloexec_flag(tcp->pfd_stat) < 0) {
+		return -1;
+	}
+	sprintf(proc, "/proc/%d/as", tcp->pid);
+	if ((tcp->pfd_as = open(proc, O_RDONLY|O_EXCL)) < 0) {
+		perror("strace: open(\"/proc/...\", ...)");
+		return -1;
+	}
+	if (set_cloexec_flag(tcp->pfd_as) < 0) {
+		return -1;
+	}
+#else
+	/* Open the process pseudo-file in /proc. */
+#ifndef FREEBSD
+	sprintf(proc, "/proc/%d", tcp->pid);
+	if ((tcp->pfd = open(proc, O_RDWR|O_EXCL)) < 0) {
+#else /* FREEBSD */
+	sprintf(proc, "/proc/%d/mem", tcp->pid);
+	if ((tcp->pfd = open(proc, O_RDWR)) < 0) {
+#endif /* FREEBSD */
+		perror("strace: open(\"/proc/...\", ...)");
+		return -1;
+	}
+	if (set_cloexec_flag(tcp->pfd) < 0) {
+		return -1;
+	}
+#endif
+#ifdef FREEBSD
+	sprintf(proc, "/proc/%d/regs", tcp->pid);
+	if ((tcp->pfd_reg = open(proc, O_RDONLY)) < 0) {
+		perror("strace: open(\"/proc/.../regs\", ...)");
+		return -1;
+	}
+	if (cflag) {
+		sprintf(proc, "/proc/%d/status", tcp->pid);
+		if ((tcp->pfd_status = open(proc, O_RDONLY)) < 0) {
+			perror("strace: open(\"/proc/.../status\", ...)");
+			return -1;
+		}
+	} else
+		tcp->pfd_status = -1;
+#endif /* FREEBSD */
+	rebuild_pollv();
+	if (!attaching) {
+		/*
+		 * Wait for the child to pause.  Because of a race
+		 * condition we have to poll for the event.
+		 */
+		for (;;) {
+			if (IOCTL_STATUS (tcp) < 0) {
+				perror("strace: PIOCSTATUS");
+				return -1;
+			}
+			if (tcp->status.PR_FLAGS & PR_ASLEEP)
+			    break;
+		}
+	}
+#ifndef FREEBSD
+	/* Stop the process so that we own the stop. */
+	if (IOCTL(tcp->pfd, PIOCSTOP, (char *)NULL) < 0) {
+		perror("strace: PIOCSTOP");
+		return -1;
+	}
+#endif
+#ifdef PIOCSET
+	/* Set Run-on-Last-Close. */
+	arg = PR_RLC;
+	if (IOCTL(tcp->pfd, PIOCSET, &arg) < 0) {
+		perror("PIOCSET PR_RLC");
+		return -1;
+	}
+	/* Set or Reset Inherit-on-Fork. */
+	arg = PR_FORK;
+	if (IOCTL(tcp->pfd, followfork ? PIOCSET : PIOCRESET, &arg) < 0) {
+		perror("PIOC{SET,RESET} PR_FORK");
+		return -1;
+	}
+#else  /* !PIOCSET */
+#ifndef FREEBSD
+	if (ioctl(tcp->pfd, PIOCSRLC) < 0) {
+		perror("PIOCSRLC");
+		return -1;
+	}
+	if (ioctl(tcp->pfd, followfork ? PIOCSFORK : PIOCRFORK) < 0) {
+		perror("PIOC{S,R}FORK");
+		return -1;
+	}
+#else /* FREEBSD */
+	/* just unset the PF_LINGER flag for the Run-on-Last-Close. */
+	if (ioctl(tcp->pfd, PIOCGFL, &arg) < 0) {
+	        perror("PIOCGFL");
+		return -1;
+	}
+	arg &= ~PF_LINGER;
+	if (ioctl(tcp->pfd, PIOCSFL, arg) < 0) {
+		perror("PIOCSFL");
+		return -1;
+	}
+#endif /* FREEBSD */
+#endif /* !PIOCSET */
+#ifndef FREEBSD
+	/* Enable all syscall entries we care about. */
+	premptyset(&syscalls);
+	for (i = 1; i < MAX_QUALS; ++i) {
+		if (i > (sizeof syscalls) * CHAR_BIT) break;
+		if (qual_flags [i] & QUAL_TRACE) praddset (&syscalls, i);
+	}
+	praddset (&syscalls, SYS_execve);
+	if (followfork) {
+		praddset (&syscalls, SYS_fork);
+#ifdef SYS_forkall
+		praddset (&syscalls, SYS_forkall);
+#endif
+#ifdef SYS_fork1
+		praddset (&syscalls, SYS_fork1);
+#endif
+#ifdef SYS_rfork1
+		praddset (&syscalls, SYS_rfork1);
+#endif
+#ifdef SYS_rforkall
+		praddset (&syscalls, SYS_rforkall);
+#endif
+	}
+	if (IOCTL(tcp->pfd, PIOCSENTRY, &syscalls) < 0) {
+		perror("PIOCSENTRY");
+		return -1;
+	}
+	/* Enable the syscall exits. */
+	if (IOCTL(tcp->pfd, PIOCSEXIT, &syscalls) < 0) {
+		perror("PIOSEXIT");
+		return -1;
+	}
+	/* Enable signals we care about. */
+	premptyset(&signals);
+	for (i = 1; i < MAX_QUALS; ++i) {
+		if (i > (sizeof signals) * CHAR_BIT) break;
+		if (qual_flags [i] & QUAL_SIGNAL) praddset (&signals, i);
+	}
+	if (IOCTL(tcp->pfd, PIOCSTRACE, &signals) < 0) {
+		perror("PIOCSTRACE");
+		return -1;
+	}
+	/* Enable faults we care about */
+	premptyset(&faults);
+	for (i = 1; i < MAX_QUALS; ++i) {
+		if (i > (sizeof faults) * CHAR_BIT) break;
+		if (qual_flags [i] & QUAL_FAULT) praddset (&faults, i);
+	}
+	if (IOCTL(tcp->pfd, PIOCSFAULT, &faults) < 0) {
+		perror("PIOCSFAULT");
+		return -1;
+	}
+#else /* FREEBSD */
+	/* set events flags. */
+	arg = S_SIG | S_SCE | S_SCX ;
+	if(ioctl(tcp->pfd, PIOCBIS, arg) < 0) {
+		perror("PIOCBIS");
+		return -1;
+	}
+#endif /* FREEBSD */
+	if (!attaching) {
+#ifdef MIPS
+		/*
+		 * The SGI PRSABORT doesn't work for pause() so
+		 * we send it a caught signal to wake it up.
+		 */
+		kill(tcp->pid, SIGINT);
+#else /* !MIPS */
+#ifdef PRSABORT
+		/* The child is in a pause(), abort it. */
+		arg = PRSABORT;
+		if (IOCTL (tcp->pfd, PIOCRUN, &arg) < 0) {
+			perror("PIOCRUN");
+			return -1;
+		}
+#endif
+#endif /* !MIPS*/
+#ifdef FREEBSD
+		/* wake up the child if it received the SIGSTOP */
+		kill(tcp->pid, SIGCONT);
+#endif
+		for (;;) {
+			/* Wait for the child to do something. */
+			if (IOCTL_WSTOP (tcp) < 0) {
+				perror("PIOCWSTOP");
+				return -1;
+			}
+			if (tcp->status.PR_WHY == PR_SYSENTRY) {
+				tcp->flags &= ~TCB_INSYSCALL;
+				get_scno(tcp);
+				if (known_scno(tcp) == SYS_execve)
+					break;
+			}
+			/* Set it running: maybe execve will be next. */
+#ifndef FREEBSD
+			arg = 0;
+			if (IOCTL(tcp->pfd, PIOCRUN, &arg) < 0) {
+#else /* FREEBSD */
+			if (IOCTL(tcp->pfd, PIOCRUN, 0) < 0) {
+#endif /* FREEBSD */
+				perror("PIOCRUN");
+				return -1;
+			}
+#ifdef FREEBSD
+			/* handle the case where we "opened" the child before
+			   it did the kill -STOP */
+			if (tcp->status.PR_WHY == PR_SIGNALLED &&
+			    tcp->status.PR_WHAT == SIGSTOP)
+			        kill(tcp->pid, SIGCONT);
+#endif
+		}
+#ifndef FREEBSD
+	}
+#else /* FREEBSD */
+	} else {
+		if (attaching < 2) {
+			/* We are attaching to an already running process.
+			 * Try to figure out the state of the process in syscalls,
+			 * to handle the first event well.
+			 * This is done by having a look at the "wchan" property of the
+			 * process, which tells where it is stopped (if it is). */
+			FILE * status;
+			char wchan[20]; /* should be enough */
+
+			sprintf(proc, "/proc/%d/status", tcp->pid);
+			status = fopen(proc, "r");
+			if (status &&
+			    (fscanf(status, "%*s %*d %*d %*d %*d %*d,%*d %*s %*d,%*d"
+				    "%*d,%*d %*d,%*d %19s", wchan) == 1) &&
+			    strcmp(wchan, "nochan") && strcmp(wchan, "spread") &&
+			    strcmp(wchan, "stopevent")) {
+				/* The process is asleep in the middle of a syscall.
+				   Fake the syscall entry event */
+				tcp->flags &= ~(TCB_INSYSCALL|TCB_STARTUP);
+				tcp->status.PR_WHY = PR_SYSENTRY;
+				trace_syscall(tcp);
+			}
+			if (status)
+				fclose(status);
+		} /* otherwise it's a fork being followed */
+	}
+#endif /* FREEBSD */
+#ifndef HAVE_POLLABLE_PROCFS
+	if (proc_poll_pipe[0] != -1)
+		proc_poller(tcp->pfd);
+	else if (nprocs > 1) {
+		proc_poll_open();
+		proc_poller(last_pfd);
+		proc_poller(tcp->pfd);
+	}
+	last_pfd = tcp->pfd;
+#endif /* !HAVE_POLLABLE_PROCFS */
+	return 0;
+}
+
+#endif /* USE_PROCFS */
+
+struct tcb *
+pid2tcb(pid)
+int pid;
+{
+	int i;
+	struct tcb *tcp;
+
+	for (i = 0; i < tcbtabsize; i++) {
+		tcp = tcbtab[i];
+		if (pid && tcp->pid != pid)
+			continue;
+		if (tcp->flags & TCB_INUSE)
+			return tcp;
+	}
+	return NULL;
+}
+
+#ifdef USE_PROCFS
+
+static struct tcb *
+pfd2tcb(pfd)
+int pfd;
+{
+	int i;
+
+	for (i = 0; i < tcbtabsize; i++) {
+		struct tcb *tcp = tcbtab[i];
+		if (tcp->pfd != pfd)
+			continue;
+		if (tcp->flags & TCB_INUSE)
+			return tcp;
+	}
+	return NULL;
+}
+
+#endif /* USE_PROCFS */
+
+void
+droptcb(tcp)
+struct tcb *tcp;
+{
+	if (tcp->pid == 0)
+		return;
+#ifdef TCB_CLONE_THREAD
+	if (tcp->nclone_threads > 0) {
+		/* There are other threads left in this process, but this
+		   is the one whose PID represents the whole process.
+		   We need to keep this record around as a zombie until
+		   all the threads die.  */
+		tcp->flags |= TCB_EXITING;
+		return;
+	}
+#endif
+	nprocs--;
+	tcp->pid = 0;
+
+	if (tcp->parent != NULL) {
+		tcp->parent->nchildren--;
+#ifdef TCB_CLONE_THREAD
+		if (tcp->flags & TCB_CLONE_DETACHED)
+			tcp->parent->nclone_detached--;
+		if (tcp->flags & TCB_CLONE_THREAD)
+			tcp->parent->nclone_threads--;
+#endif
+#ifdef TCB_CLONE_DETACHED
+		if (!(tcp->flags & TCB_CLONE_DETACHED))
+#endif
+			tcp->parent->nzombies++;
+#ifdef LINUX
+		/* Update `tcp->parent->parent->nchildren' and the other fields
+		   like NCLONE_DETACHED, only for zombie group leader that has
+		   already reported and been short-circuited at the top of this
+		   function.  The same condition as at the top of DETACH.  */
+		if ((tcp->flags & TCB_CLONE_THREAD) &&
+		    tcp->parent->nclone_threads == 0 &&
+		    (tcp->parent->flags & TCB_EXITING))
+			droptcb(tcp->parent);
+#endif
+		tcp->parent = NULL;
+	}
+
+	tcp->flags = 0;
+	if (tcp->pfd != -1) {
+		close(tcp->pfd);
+		tcp->pfd = -1;
+#ifdef FREEBSD
+		if (tcp->pfd_reg != -1) {
+		        close(tcp->pfd_reg);
+		        tcp->pfd_reg = -1;
+		}
+		if (tcp->pfd_status != -1) {
+			close(tcp->pfd_status);
+			tcp->pfd_status = -1;
+		}
+#endif /* !FREEBSD */
+#ifdef USE_PROCFS
+		rebuild_pollv(); /* Note, flags needs to be cleared by now.  */
+#endif
+	}
+
+	if (outfname && followfork > 1 && tcp->outf)
+		fclose(tcp->outf);
+
+	tcp->outf = 0;
+}
+
+#ifndef USE_PROCFS
+
+static int
+resume(tcp)
+struct tcb *tcp;
+{
+	if (tcp == NULL)
+		return -1;
+
+	if (!(tcp->flags & TCB_SUSPENDED)) {
+		fprintf(stderr, "PANIC: pid %u not suspended\n", tcp->pid);
+		return -1;
+	}
+	tcp->flags &= ~TCB_SUSPENDED;
+#ifdef TCB_CLONE_THREAD
+	if (tcp->flags & TCB_CLONE_THREAD)
+		tcp->parent->nclone_waiting--;
+#endif
+
+	if (ptrace_restart(PTRACE_SYSCALL, tcp, 0) < 0)
+		return -1;
+
+	if (!qflag)
+		fprintf(stderr, "Process %u resumed\n", tcp->pid);
+	return 0;
+}
+
+static int
+resume_from_tcp (struct tcb *tcp)
+{
+	int error = 0;
+	int resumed = 0;
+
+	/* XXX This won't always be quite right (but it never was).
+	   A waiter with argument 0 or < -1 is waiting for any pid in
+	   a particular pgrp, which this child might or might not be
+	   in.  The waiter will only wake up if it's argument is -1
+	   or if it's waiting for tcp->pid's pgrp.  It makes a
+	   difference to wake up a waiter when there might be more
+	   traced children, because it could get a false ECHILD
+	   error.  OTOH, if this was the last child in the pgrp, then
+	   it ought to wake up and get ECHILD.  We would have to
+	   search the system for all pid's in the pgrp to be sure.
+
+	     && (t->waitpid == -1 ||
+		 (t->waitpid == 0 && getpgid (tcp->pid) == getpgid (t->pid))
+		 || (t->waitpid < 0 && t->waitpid == -getpid (t->pid)))
+	*/
+
+	if (tcp->parent &&
+	    (tcp->parent->flags & TCB_SUSPENDED) &&
+	    (tcp->parent->waitpid <= 0 || tcp->parent->waitpid == tcp->pid)) {
+		error = resume(tcp->parent);
+		++resumed;
+	}
+#ifdef TCB_CLONE_THREAD
+	if (tcp->parent && tcp->parent->nclone_waiting > 0) {
+		/* Some other threads of our parent are waiting too.  */
+		unsigned int i;
+
+		/* Resume all the threads that were waiting for this PID.  */
+		for (i = 0; i < tcbtabsize; i++) {
+			struct tcb *t = tcbtab[i];
+			if (t->parent == tcp->parent && t != tcp
+			    && ((t->flags & (TCB_CLONE_THREAD|TCB_SUSPENDED))
+				== (TCB_CLONE_THREAD|TCB_SUSPENDED))
+			    && t->waitpid == tcp->pid) {
+				error |= resume (t);
+				++resumed;
+			}
+		}
+		if (resumed == 0)
+			/* Noone was waiting for this PID in particular,
+			   so now we might need to resume some wildcarders.  */
+			for (i = 0; i < tcbtabsize; i++) {
+				struct tcb *t = tcbtab[i];
+				if (t->parent == tcp->parent && t != tcp
+				    && ((t->flags
+					 & (TCB_CLONE_THREAD|TCB_SUSPENDED))
+					== (TCB_CLONE_THREAD|TCB_SUSPENDED))
+				    && t->waitpid <= 0
+					) {
+					error |= resume (t);
+					break;
+				}
+			}
+	}
+#endif
+
+	return error;
+}
+
+#endif /* !USE_PROCFS */
+
+/* detach traced process; continue with sig
+   Never call DETACH twice on the same process as both unattached and
+   attached-unstopped processes give the same ESRCH.  For unattached process we
+   would SIGSTOP it and wait for its SIGSTOP notification forever.  */
+
+static int
+detach(tcp, sig)
+struct tcb *tcp;
+int sig;
+{
+	int error = 0;
+#ifdef LINUX
+	int status, catch_sigstop;
+	struct tcb *zombie = NULL;
+
+	/* If the group leader is lingering only because of this other
+	   thread now dying, then detach the leader as well.  */
+	if ((tcp->flags & TCB_CLONE_THREAD) &&
+	    tcp->parent->nclone_threads == 1 &&
+	    (tcp->parent->flags & TCB_EXITING))
+		zombie = tcp->parent;
+#endif
+
+	if (tcp->flags & TCB_BPTSET)
+		clearbpt(tcp);
+
+#ifdef LINUX
+	/*
+	 * Linux wrongly insists the child be stopped
+	 * before detaching.  Arghh.  We go through hoops
+	 * to make a clean break of things.
+	 */
+#if defined(SPARC)
+#undef PTRACE_DETACH
+#define PTRACE_DETACH PTRACE_SUNDETACH
+#endif
+	/*
+	 * On TCB_STARTUP we did PTRACE_ATTACH but still did not get the
+	 * expected SIGSTOP.  We must catch exactly one as otherwise the
+	 * detached process would be left stopped (process state T).
+	 */
+	catch_sigstop = (tcp->flags & TCB_STARTUP);
+	if ((error = ptrace(PTRACE_DETACH, tcp->pid, (char *) 1, sig)) == 0) {
+		/* On a clear day, you can see forever. */
+	}
+	else if (errno != ESRCH) {
+		/* Shouldn't happen. */
+		perror("detach: ptrace(PTRACE_DETACH, ...)");
+	}
+	else if (my_tgkill((tcp->flags & TCB_CLONE_THREAD ? tcp->parent->pid
+							  : tcp->pid),
+			   tcp->pid, 0) < 0) {
+		if (errno != ESRCH)
+			perror("detach: checking sanity");
+	}
+	else if (!catch_sigstop && my_tgkill((tcp->flags & TCB_CLONE_THREAD
+					      ? tcp->parent->pid : tcp->pid),
+					     tcp->pid, SIGSTOP) < 0) {
+		if (errno != ESRCH)
+			perror("detach: stopping child");
+	}
+	else
+		catch_sigstop = 1;
+	if (catch_sigstop) {
+		for (;;) {
+#ifdef __WALL
+			if (wait4(tcp->pid, &status, __WALL, NULL) < 0) {
+				if (errno == ECHILD) /* Already gone.  */
+					break;
+				if (errno != EINVAL) {
+					perror("detach: waiting");
+					break;
+				}
+#endif /* __WALL */
+				/* No __WALL here.  */
+				if (waitpid(tcp->pid, &status, 0) < 0) {
+					if (errno != ECHILD) {
+						perror("detach: waiting");
+						break;
+					}
+#ifdef __WCLONE
+					/* If no processes, try clones.  */
+					if (wait4(tcp->pid, &status, __WCLONE,
+						  NULL) < 0) {
+						if (errno != ECHILD)
+							perror("detach: waiting");
+						break;
+					}
+#endif /* __WCLONE */
+				}
+#ifdef __WALL
+			}
+#endif
+			if (!WIFSTOPPED(status)) {
+				/* Au revoir, mon ami. */
+				break;
+			}
+			if (WSTOPSIG(status) == SIGSTOP) {
+				ptrace_restart(PTRACE_DETACH, tcp, sig);
+				break;
+			}
+			error = ptrace_restart(PTRACE_CONT, tcp,
+					WSTOPSIG(status) == SIGTRAP ? 0
+					: WSTOPSIG(status));
+			if (error < 0)
+				break;
+		}
+	}
+#endif /* LINUX */
+
+#if defined(SUNOS4)
+	/* PTRACE_DETACH won't respect `sig' argument, so we post it here. */
+	if (sig && kill(tcp->pid, sig) < 0)
+		perror("detach: kill");
+	sig = 0;
+	error = ptrace_restart(PTRACE_DETACH, tcp, sig);
+#endif /* SUNOS4 */
+
+#ifndef USE_PROCFS
+	error |= resume_from_tcp (tcp);
+#endif
+
+	if (!qflag)
+		fprintf(stderr, "Process %u detached\n", tcp->pid);
+
+	droptcb(tcp);
+
+#ifdef LINUX
+	if (zombie != NULL) {
+		/* TCP no longer exists therefore you must not detach () it.  */
+		droptcb(zombie);
+	}
+#endif
+
+	return error;
+}
+
+#ifdef USE_PROCFS
+
+static void reaper(int sig)
+{
+	int pid;
+	int status;
+
+	while ((pid = waitpid(-1, &status, WNOHANG)) > 0) {
+	}
+}
+
+#endif /* USE_PROCFS */
+
+static void
+cleanup()
+{
+	int i;
+	struct tcb *tcp;
+
+	for (i = 0; i < tcbtabsize; i++) {
+		tcp = tcbtab[i];
+		if (!(tcp->flags & TCB_INUSE))
+			continue;
+		if (debug)
+			fprintf(stderr,
+				"cleanup: looking at pid %u\n", tcp->pid);
+		if (tcp_last &&
+		    (!outfname || followfork < 2 || tcp_last == tcp)) {
+			tprintf(" <unfinished ...>");
+			printtrailer();
+		}
+		if (tcp->flags & TCB_ATTACHED)
+			detach(tcp, 0);
+		else {
+			kill(tcp->pid, SIGCONT);
+			kill(tcp->pid, SIGTERM);
+		}
+	}
+	if (cflag)
+		call_summary(outf);
+}
+
+static void
+interrupt(sig)
+int sig;
+{
+	interrupted = 1;
+}
+
+#ifndef HAVE_STRERROR
+
+#if !HAVE_DECL_SYS_ERRLIST
+extern int sys_nerr;
+extern char *sys_errlist[];
+#endif /* HAVE_DECL_SYS_ERRLIST */
+
+const char *
+strerror(errno)
+int errno;
+{
+	static char buf[64];
+
+	if (errno < 1 || errno >= sys_nerr) {
+		sprintf(buf, "Unknown error %d", errno);
+		return buf;
+	}
+	return sys_errlist[errno];
+}
+
+#endif /* HAVE_STERRROR */
+
+#ifndef HAVE_STRSIGNAL
+
+#if defined HAVE_SYS_SIGLIST && !defined HAVE_DECL_SYS_SIGLIST
+extern char *sys_siglist[];
+#endif
+#if defined HAVE_SYS__SIGLIST && !defined HAVE_DECL__SYS_SIGLIST
+extern char *_sys_siglist[];
+#endif
+
+const char *
+strsignal(sig)
+int sig;
+{
+	static char buf[64];
+
+	if (sig < 1 || sig >= NSIG) {
+		sprintf(buf, "Unknown signal %d", sig);
+		return buf;
+	}
+#ifdef HAVE__SYS_SIGLIST
+	return _sys_siglist[sig];
+#else
+	return sys_siglist[sig];
+#endif
+}
+
+#endif /* HAVE_STRSIGNAL */
+
+#ifdef USE_PROCFS
+
+static void
+rebuild_pollv()
+{
+	int i, j;
+
+	if (pollv != NULL)
+		free (pollv);
+	pollv = (struct pollfd *) malloc(nprocs * sizeof pollv[0]);
+	if (pollv == NULL) {
+		fprintf(stderr, "%s: out of memory\n", progname);
+		exit(1);
+	}
+
+	for (i = j = 0; i < tcbtabsize; i++) {
+		struct tcb *tcp = tcbtab[i];
+		if (!(tcp->flags & TCB_INUSE))
+			continue;
+		pollv[j].fd = tcp->pfd;
+		pollv[j].events = POLLWANT;
+		j++;
+	}
+	if (j != nprocs) {
+		fprintf(stderr, "strace: proc miscount\n");
+		exit(1);
+	}
+}
+
+#ifndef HAVE_POLLABLE_PROCFS
+
+static void
+proc_poll_open()
+{
+	int i;
+
+	if (pipe(proc_poll_pipe) < 0) {
+		perror("pipe");
+		exit(1);
+	}
+	for (i = 0; i < 2; i++) {
+		if (set_cloexec_flag(proc_poll_pipe[i]) < 0) {
+			exit(1);
+		}
+	}
+}
+
+static int
+proc_poll(pollv, nfds, timeout)
+struct pollfd *pollv;
+int nfds;
+int timeout;
+{
+	int i;
+	int n;
+	struct proc_pollfd pollinfo;
+
+	if ((n = read(proc_poll_pipe[0], &pollinfo, sizeof(pollinfo))) < 0)
+		return n;
+	if (n != sizeof(struct proc_pollfd)) {
+		fprintf(stderr, "panic: short read: %d\n", n);
+		exit(1);
+	}
+	for (i = 0; i < nprocs; i++) {
+		if (pollv[i].fd == pollinfo.fd)
+			pollv[i].revents = pollinfo.revents;
+		else
+			pollv[i].revents = 0;
+	}
+	poller_pid = pollinfo.pid;
+	return 1;
+}
+
+static void
+wakeup_handler(sig)
+int sig;
+{
+}
+
+static void
+proc_poller(pfd)
+int pfd;
+{
+	struct proc_pollfd pollinfo;
+	struct sigaction sa;
+	sigset_t blocked_set, empty_set;
+	int i;
+	int n;
+	struct rlimit rl;
+#ifdef FREEBSD
+	struct procfs_status pfs;
+#endif /* FREEBSD */
+
+	switch (fork()) {
+	case -1:
+		perror("fork");
+		_exit(1);
+	case 0:
+		break;
+	default:
+		return;
+	}
+
+	sa.sa_handler = interactive ? SIG_DFL : SIG_IGN;
+	sa.sa_flags = 0;
+	sigemptyset(&sa.sa_mask);
+	sigaction(SIGHUP, &sa, NULL);
+	sigaction(SIGINT, &sa, NULL);
+	sigaction(SIGQUIT, &sa, NULL);
+	sigaction(SIGPIPE, &sa, NULL);
+	sigaction(SIGTERM, &sa, NULL);
+	sa.sa_handler = wakeup_handler;
+	sigaction(SIGUSR1, &sa, NULL);
+	sigemptyset(&blocked_set);
+	sigaddset(&blocked_set, SIGUSR1);
+	sigprocmask(SIG_BLOCK, &blocked_set, NULL);
+	sigemptyset(&empty_set);
+
+	if (getrlimit(RLIMIT_NOFILE, &rl) < 0) {
+		perror("getrlimit(RLIMIT_NOFILE, ...)");
+		_exit(1);
+	}
+	n = rl.rlim_cur;
+	for (i = 0; i < n; i++) {
+		if (i != pfd && i != proc_poll_pipe[1])
+			close(i);
+	}
+
+	pollinfo.fd = pfd;
+	pollinfo.pid = getpid();
+	for (;;) {
+#ifndef FREEBSD
+		if (ioctl(pfd, PIOCWSTOP, NULL) < 0)
+#else
+		if (ioctl(pfd, PIOCWSTOP, &pfs) < 0)
+#endif
+		{
+			switch (errno) {
+			case EINTR:
+				continue;
+			case EBADF:
+				pollinfo.revents = POLLERR;
+				break;
+			case ENOENT:
+				pollinfo.revents = POLLHUP;
+				break;
+			default:
+				perror("proc_poller: PIOCWSTOP");
+			}
+			write(proc_poll_pipe[1], &pollinfo, sizeof(pollinfo));
+			_exit(0);
+		}
+		pollinfo.revents = POLLWANT;
+		write(proc_poll_pipe[1], &pollinfo, sizeof(pollinfo));
+		sigsuspend(&empty_set);
+	}
+}
+
+#endif /* !HAVE_POLLABLE_PROCFS */
+
+static int
+choose_pfd()
+{
+	int i, j;
+	struct tcb *tcp;
+
+	static int last;
+
+	if (followfork < 2 &&
+	    last < nprocs && (pollv[last].revents & POLLWANT)) {
+		/*
+		 * The previous process is ready to run again.  We'll
+		 * let it do so if it is currently in a syscall.  This
+		 * heuristic improves the readability of the trace.
+		 */
+		tcp = pfd2tcb(pollv[last].fd);
+		if (tcp && (tcp->flags & TCB_INSYSCALL))
+			return pollv[last].fd;
+	}
+
+	for (i = 0; i < nprocs; i++) {
+		/* Let competing children run round robin. */
+		j = (i + last + 1) % nprocs;
+		if (pollv[j].revents & (POLLHUP | POLLERR)) {
+			tcp = pfd2tcb(pollv[j].fd);
+			if (!tcp) {
+				fprintf(stderr, "strace: lost proc\n");
+				exit(1);
+			}
+			droptcb(tcp);
+			return -1;
+		}
+		if (pollv[j].revents & POLLWANT) {
+			last = j;
+			return pollv[j].fd;
+		}
+	}
+	fprintf(stderr, "strace: nothing ready\n");
+	exit(1);
+}
+
+static int
+trace()
+{
+#ifdef POLL_HACK
+	struct tcb *in_syscall = NULL;
+#endif
+	struct tcb *tcp;
+	int pfd;
+	int what;
+	int ioctl_result = 0, ioctl_errno = 0;
+	long arg;
+
+	for (;;) {
+		if (interactive)
+			sigprocmask(SIG_SETMASK, &empty_set, NULL);
+
+		if (nprocs == 0)
+			break;
+
+		switch (nprocs) {
+		case 1:
+#ifndef HAVE_POLLABLE_PROCFS
+			if (proc_poll_pipe[0] == -1) {
+#endif
+				tcp = pid2tcb(0);
+				if (!tcp)
+					continue;
+				pfd = tcp->pfd;
+				if (pfd == -1)
+					continue;
+				break;
+#ifndef HAVE_POLLABLE_PROCFS
+			}
+			/* fall through ... */
+#endif /* !HAVE_POLLABLE_PROCFS */
+		default:
+#ifdef HAVE_POLLABLE_PROCFS
+#ifdef POLL_HACK
+		        /* On some systems (e.g. UnixWare) we get too much ugly
+			   "unfinished..." stuff when multiple proceses are in
+			   syscalls.  Here's a nasty hack */
+
+			if (in_syscall) {
+				struct pollfd pv;
+				tcp = in_syscall;
+				in_syscall = NULL;
+				pv.fd = tcp->pfd;
+				pv.events = POLLWANT;
+				if ((what = poll (&pv, 1, 1)) < 0) {
+					if (interrupted)
+						return 0;
+					continue;
+				}
+				else if (what == 1 && pv.revents & POLLWANT) {
+					goto FOUND;
+				}
+			}
+#endif
+
+			if (poll(pollv, nprocs, INFTIM) < 0) {
+				if (interrupted)
+					return 0;
+				continue;
+			}
+#else /* !HAVE_POLLABLE_PROCFS */
+			if (proc_poll(pollv, nprocs, INFTIM) < 0) {
+				if (interrupted)
+					return 0;
+				continue;
+			}
+#endif /* !HAVE_POLLABLE_PROCFS */
+			pfd = choose_pfd();
+			if (pfd == -1)
+				continue;
+			break;
+		}
+
+		/* Look up `pfd' in our table. */
+		if ((tcp = pfd2tcb(pfd)) == NULL) {
+			fprintf(stderr, "unknown pfd: %u\n", pfd);
+			exit(1);
+		}
+#ifdef POLL_HACK
+	FOUND:
+#endif
+		/* Get the status of the process. */
+		if (!interrupted) {
+#ifndef FREEBSD
+			ioctl_result = IOCTL_WSTOP (tcp);
+#else /* FREEBSD */
+			/* Thanks to some scheduling mystery, the first poller
+			   sometimes waits for the already processed end of fork
+			   event. Doing a non blocking poll here solves the problem. */
+			if (proc_poll_pipe[0] != -1)
+				ioctl_result = IOCTL_STATUS (tcp);
+			else
+				ioctl_result = IOCTL_WSTOP (tcp);
+#endif /* FREEBSD */
+			ioctl_errno = errno;
+#ifndef HAVE_POLLABLE_PROCFS
+			if (proc_poll_pipe[0] != -1) {
+				if (ioctl_result < 0)
+					kill(poller_pid, SIGKILL);
+				else
+					kill(poller_pid, SIGUSR1);
+			}
+#endif /* !HAVE_POLLABLE_PROCFS */
+		}
+		if (interrupted)
+			return 0;
+
+		if (interactive)
+			sigprocmask(SIG_BLOCK, &blocked_set, NULL);
+
+		if (ioctl_result < 0) {
+			/* Find out what happened if it failed. */
+			switch (ioctl_errno) {
+			case EINTR:
+			case EBADF:
+				continue;
+#ifdef FREEBSD
+			case ENOTTY:
+#endif
+			case ENOENT:
+				droptcb(tcp);
+				continue;
+			default:
+				perror("PIOCWSTOP");
+				exit(1);
+			}
+		}
+
+#ifdef FREEBSD
+		if ((tcp->flags & TCB_STARTUP) && (tcp->status.PR_WHY == PR_SYSEXIT)) {
+			/* discard first event for a syscall we never entered */
+			IOCTL (tcp->pfd, PIOCRUN, 0);
+			continue;
+		}
+#endif
+
+		/* clear the just started flag */
+		tcp->flags &= ~TCB_STARTUP;
+
+		/* set current output file */
+		outf = tcp->outf;
+		curcol = tcp->curcol;
+
+		if (cflag) {
+			struct timeval stime;
+#ifdef FREEBSD
+			char buf[1024];
+			int len;
+
+			if ((len = pread(tcp->pfd_status, buf, sizeof(buf) - 1, 0)) > 0) {
+				buf[len] = '\0';
+				sscanf(buf,
+				       "%*s %*d %*d %*d %*d %*d,%*d %*s %*d,%*d %*d,%*d %ld,%ld",
+				       &stime.tv_sec, &stime.tv_usec);
+			} else
+				stime.tv_sec = stime.tv_usec = 0;
+#else /* !FREEBSD */
+			stime.tv_sec = tcp->status.pr_stime.tv_sec;
+			stime.tv_usec = tcp->status.pr_stime.tv_nsec/1000;
+#endif /* !FREEBSD */
+			tv_sub(&tcp->dtime, &stime, &tcp->stime);
+			tcp->stime = stime;
+		}
+		what = tcp->status.PR_WHAT;
+		switch (tcp->status.PR_WHY) {
+#ifndef FREEBSD
+		case PR_REQUESTED:
+			if (tcp->status.PR_FLAGS & PR_ASLEEP) {
+				tcp->status.PR_WHY = PR_SYSENTRY;
+				if (trace_syscall(tcp) < 0) {
+					fprintf(stderr, "syscall trouble\n");
+					exit(1);
+				}
+			}
+			break;
+#endif /* !FREEBSD */
+		case PR_SYSENTRY:
+#ifdef POLL_HACK
+		        in_syscall = tcp;
+#endif
+		case PR_SYSEXIT:
+			if (trace_syscall(tcp) < 0) {
+				fprintf(stderr, "syscall trouble\n");
+				exit(1);
+			}
+			break;
+		case PR_SIGNALLED:
+			if (cflag != CFLAG_ONLY_STATS
+			    && (qual_flags[what] & QUAL_SIGNAL)) {
+				printleader(tcp);
+				tprintf("--- %s (%s) ---",
+					signame(what), strsignal(what));
+				printtrailer();
+#ifdef PR_INFO
+				if (tcp->status.PR_INFO.si_signo == what) {
+					printleader(tcp);
+					tprintf("    siginfo=");
+					printsiginfo(&tcp->status.PR_INFO, 1);
+					printtrailer();
+				}
+#endif
+			}
+			break;
+		case PR_FAULTED:
+			if (cflag != CFLAGS_ONLY_STATS
+			    && (qual_flags[what] & QUAL_FAULT)) {
+				printleader(tcp);
+				tprintf("=== FAULT %d ===", what);
+				printtrailer();
+			}
+			break;
+#ifdef FREEBSD
+		case 0: /* handle case we polled for nothing */
+			continue;
+#endif
+		default:
+			fprintf(stderr, "odd stop %d\n", tcp->status.PR_WHY);
+			exit(1);
+			break;
+		}
+		/* Remember current print column before continuing. */
+		tcp->curcol = curcol;
+		arg = 0;
+#ifndef FREEBSD
+		if (IOCTL (tcp->pfd, PIOCRUN, &arg) < 0) {
+#else
+		if (IOCTL (tcp->pfd, PIOCRUN, 0) < 0) {
+#endif
+			perror("PIOCRUN");
+			exit(1);
+		}
+	}
+	return 0;
+}
+
+#else /* !USE_PROCFS */
+
+#ifdef TCB_GROUP_EXITING
+/* Handle an exit detach or death signal that is taking all the
+   related clone threads with it.  This is called in three circumstances:
+   SIG == -1	TCP has already died (TCB_ATTACHED is clear, strace is parent).
+   SIG == 0	Continuing TCP will perform an exit_group syscall.
+   SIG == other	Continuing TCP with SIG will kill the process.
+*/
+static int
+handle_group_exit(struct tcb *tcp, int sig)
+{
+	/* We need to locate our records of all the clone threads
+	   related to TCP, either its children or siblings.  */
+	struct tcb *leader = NULL;
+
+	if (tcp->flags & TCB_CLONE_THREAD)
+		leader = tcp->parent;
+	else if (tcp->nclone_detached > 0)
+		leader = tcp;
+
+	if (sig < 0) {
+		if (leader != NULL && leader != tcp
+		 && !(leader->flags & TCB_GROUP_EXITING)
+		 && !(tcp->flags & TCB_STARTUP)
+		) {
+			fprintf(stderr,
+				"PANIC: handle_group_exit: %d leader %d\n",
+				tcp->pid, leader ? leader->pid : -1);
+		}
+		/* TCP no longer exists therefore you must not detach() it.  */
+#ifndef USE_PROCFS
+		resume_from_tcp(tcp);
+#endif
+		droptcb(tcp);	/* Already died.  */
+	}
+	else {
+		/* Mark that we are taking the process down.  */
+		tcp->flags |= TCB_EXITING | TCB_GROUP_EXITING;
+		if (tcp->flags & TCB_ATTACHED) {
+			detach(tcp, sig);
+			if (leader != NULL && leader != tcp)
+				leader->flags |= TCB_GROUP_EXITING;
+		} else {
+			if (ptrace_restart(PTRACE_CONT, tcp, sig) < 0) {
+				cleanup();
+				return -1;
+			}
+			if (leader != NULL) {
+				leader->flags |= TCB_GROUP_EXITING;
+				if (leader != tcp)
+					droptcb(tcp);
+			}
+			/* The leader will report to us as parent now,
+			   and then we'll get to the SIG==-1 case.  */
+			return 0;
+		}
+	}
+
+	return 0;
+}
+#endif
+
+static int
+trace()
+{
+	int pid;
+	int wait_errno;
+	int status;
+	struct tcb *tcp;
+#ifdef LINUX
+	struct rusage ru;
+#ifdef __WALL
+	static int wait4_options = __WALL;
+#endif
+#endif /* LINUX */
+
+	while (nprocs != 0) {
+		if (interrupted)
+			return 0;
+		if (interactive)
+			sigprocmask(SIG_SETMASK, &empty_set, NULL);
+#ifdef LINUX
+#ifdef __WALL
+		pid = wait4(-1, &status, wait4_options, cflag ? &ru : NULL);
+		if (pid < 0 && (wait4_options & __WALL) && errno == EINVAL) {
+			/* this kernel does not support __WALL */
+			wait4_options &= ~__WALL;
+			errno = 0;
+			pid = wait4(-1, &status, wait4_options,
+					cflag ? &ru : NULL);
+		}
+		if (pid < 0 && !(wait4_options & __WALL) && errno == ECHILD) {
+			/* most likely a "cloned" process */
+			pid = wait4(-1, &status, __WCLONE,
+					cflag ? &ru : NULL);
+			if (pid == -1) {
+				fprintf(stderr, "strace: clone wait4 "
+						"failed: %s\n", strerror(errno));
+			}
+		}
+#else
+		pid = wait4(-1, &status, 0, cflag ? &ru : NULL);
+#endif /* __WALL */
+#endif /* LINUX */
+#ifdef SUNOS4
+		pid = wait(&status);
+#endif /* SUNOS4 */
+		wait_errno = errno;
+		if (interactive)
+			sigprocmask(SIG_BLOCK, &blocked_set, NULL);
+
+		if (pid == -1) {
+			switch (wait_errno) {
+			case EINTR:
+				continue;
+			case ECHILD:
+				/*
+				 * We would like to verify this case
+				 * but sometimes a race in Solbourne's
+				 * version of SunOS sometimes reports
+				 * ECHILD before sending us SIGCHILD.
+				 */
+				return 0;
+			default:
+				errno = wait_errno;
+				perror("strace: wait");
+				return -1;
+			}
+		}
+		if (pid == popen_pid) {
+			if (WIFEXITED(status) || WIFSIGNALED(status))
+				popen_pid = -1;
+			continue;
+		}
+		if (debug)
+			fprintf(stderr, " [wait(%#x) = %u]\n", status, pid);
+
+		/* Look up `pid' in our table. */
+		if ((tcp = pid2tcb(pid)) == NULL) {
+#ifdef LINUX
+			if (followfork) {
+				/* This is needed to go with the CLONE_PTRACE
+				   changes in process.c/util.c: we might see
+				   the child's initial trap before we see the
+				   parent return from the clone syscall.
+				   Leave the child suspended until the parent
+				   returns from its system call.  Only then
+				   will we have the association of parent and
+				   child so that we know how to do clearbpt
+				   in the child.  */
+				tcp = alloctcb(pid);
+				tcp->flags |= TCB_ATTACHED | TCB_SUSPENDED;
+				if (!qflag)
+					fprintf(stderr, "\
+Process %d attached (waiting for parent)\n",
+						pid);
+			}
+			else
+				/* This can happen if a clone call used
+				   CLONE_PTRACE itself.  */
+#endif
+			{
+				fprintf(stderr, "unknown pid: %u\n", pid);
+				if (WIFSTOPPED(status))
+					ptrace(PTRACE_CONT, pid, (char *) 1, 0);
+				exit(1);
+			}
+		}
+		/* set current output file */
+		outf = tcp->outf;
+		curcol = tcp->curcol;
+		if (cflag) {
+#ifdef LINUX
+			tv_sub(&tcp->dtime, &ru.ru_stime, &tcp->stime);
+			tcp->stime = ru.ru_stime;
+#endif /* !LINUX */
+		}
+
+		if (tcp->flags & TCB_SUSPENDED) {
+			/*
+			 * Apparently, doing any ptrace() call on a stopped
+			 * process, provokes the kernel to report the process
+			 * status again on a subsequent wait(), even if the
+			 * process has not been actually restarted.
+			 * Since we have inspected the arguments of suspended
+			 * processes we end up here testing for this case.
+			 */
+			continue;
+		}
+		if (WIFSIGNALED(status)) {
+			if (pid == strace_child)
+				exit_code = 0x100 | WTERMSIG(status);
+			if (cflag != CFLAG_ONLY_STATS
+			    && (qual_flags[WTERMSIG(status)] & QUAL_SIGNAL)) {
+				printleader(tcp);
+				tprintf("+++ killed by %s %s+++",
+					signame(WTERMSIG(status)),
+#ifdef WCOREDUMP
+					WCOREDUMP(status) ? "(core dumped) " :
+#endif
+					"");
+				printtrailer();
+			}
+#ifdef TCB_GROUP_EXITING
+			handle_group_exit(tcp, -1);
+#else
+			droptcb(tcp);
+#endif
+			continue;
+		}
+		if (WIFEXITED(status)) {
+			if (pid == strace_child)
+				exit_code = WEXITSTATUS(status);
+			if (debug)
+				fprintf(stderr, "pid %u exited with %d\n", pid, WEXITSTATUS(status));
+			if ((tcp->flags & (TCB_ATTACHED|TCB_STARTUP)) == TCB_ATTACHED
+#ifdef TCB_GROUP_EXITING
+			    && !(tcp->parent && (tcp->parent->flags & TCB_GROUP_EXITING))
+			    && !(tcp->flags & TCB_GROUP_EXITING)
+#endif
+			) {
+				fprintf(stderr,
+					"PANIC: attached pid %u exited with %d\n",
+					pid, WEXITSTATUS(status));
+			}
+			if (tcp == tcp_last) {
+				if ((tcp->flags & (TCB_INSYSCALL|TCB_REPRINT)) == TCB_INSYSCALL)
+					tprintf(" <unfinished ... exit status %d>\n",
+						WEXITSTATUS(status));
+				tcp_last = NULL;
+			}
+#ifdef TCB_GROUP_EXITING
+			handle_group_exit(tcp, -1);
+#else
+			droptcb(tcp);
+#endif
+			continue;
+		}
+		if (!WIFSTOPPED(status)) {
+			fprintf(stderr, "PANIC: pid %u not stopped\n", pid);
+			droptcb(tcp);
+			continue;
+		}
+		if (debug)
+			fprintf(stderr, "pid %u stopped, [%s]\n",
+				pid, signame(WSTOPSIG(status)));
+
+		/*
+		 * Interestingly, the process may stop
+		 * with STOPSIG equal to some other signal
+		 * than SIGSTOP if we happend to attach
+		 * just before the process takes a signal.
+		 * A no-MMU vforked child won't send up a signal,
+		 * so skip the first (lost) execve notification.
+		 */
+		if ((tcp->flags & TCB_STARTUP) &&
+		    (WSTOPSIG(status) == SIGSTOP || strace_vforked)) {
+			/*
+			 * This flag is there to keep us in sync.
+			 * Next time this process stops it should
+			 * really be entering a system call.
+			 */
+			tcp->flags &= ~TCB_STARTUP;
+			if (tcp->flags & TCB_BPTSET) {
+				/*
+				 * One example is a breakpoint inherited from
+				 * parent through fork ().
+				 */
+				if (clearbpt(tcp) < 0) /* Pretty fatal */ {
+					droptcb(tcp);
+					cleanup();
+					return -1;
+				}
+			}
+			goto tracing;
+		}
+
+		if (WSTOPSIG(status) != SIGTRAP) {
+			if (WSTOPSIG(status) == SIGSTOP &&
+					(tcp->flags & TCB_SIGTRAPPED)) {
+				/*
+				 * Trapped attempt to block SIGTRAP
+				 * Hope we are back in control now.
+				 */
+				tcp->flags &= ~(TCB_INSYSCALL | TCB_SIGTRAPPED);
+				if (ptrace_restart(PTRACE_SYSCALL, tcp, 0) < 0) {
+					cleanup();
+					return -1;
+				}
+				continue;
+			}
+			if (cflag != CFLAG_ONLY_STATS
+			    && (qual_flags[WSTOPSIG(status)] & QUAL_SIGNAL)) {
+				unsigned long addr = 0;
+				long pc = 0;
+#if defined(PT_CR_IPSR) && defined(PT_CR_IIP) && defined(PT_GETSIGINFO)
+#				define PSR_RI	41
+				struct siginfo si;
+				long psr;
+
+				upeek(tcp, PT_CR_IPSR, &psr);
+				upeek(tcp, PT_CR_IIP, &pc);
+
+				pc += (psr >> PSR_RI) & 0x3;
+				ptrace(PT_GETSIGINFO, pid, 0, (long) &si);
+				addr = (unsigned long) si.si_addr;
+#elif defined PTRACE_GETSIGINFO
+				if (WSTOPSIG(status) == SIGSEGV ||
+				    WSTOPSIG(status) == SIGBUS) {
+					siginfo_t si;
+					if (ptrace(PTRACE_GETSIGINFO, pid,
+						   0, &si) == 0)
+						addr = (unsigned long)
+							si.si_addr;
+				}
+#endif
+				printleader(tcp);
+				tprintf("--- %s (%s) @ %lx (%lx) ---",
+					signame(WSTOPSIG(status)),
+					strsignal(WSTOPSIG(status)), pc, addr);
+				printtrailer();
+			}
+			if (((tcp->flags & TCB_ATTACHED) ||
+			     tcp->nclone_threads > 0) &&
+				!sigishandled(tcp, WSTOPSIG(status))) {
+#ifdef TCB_GROUP_EXITING
+				handle_group_exit(tcp, WSTOPSIG(status));
+#else
+				detach(tcp, WSTOPSIG(status));
+#endif
+				continue;
+			}
+			if (ptrace_restart(PTRACE_SYSCALL, tcp, WSTOPSIG(status)) < 0) {
+				cleanup();
+				return -1;
+			}
+			tcp->flags &= ~TCB_SUSPENDED;
+			continue;
+		}
+		/* we handled the STATUS, we are permitted to interrupt now. */
+		if (interrupted)
+			return 0;
+		if (trace_syscall(tcp) < 0 && !tcp->ptrace_errno) {
+			/* ptrace() failed in trace_syscall() with ESRCH.
+			 * Likely a result of process disappearing mid-flight.
+			 * Observed case: exit_group() terminating
+			 * all processes in thread group. In this case, threads
+			 * "disappear" in an unpredictable moment without any
+			 * notification to strace via wait().
+			 */
+			if (tcp->flags & TCB_ATTACHED) {
+				if (tcp_last) {
+					/* Do we have dangling line "syscall(param, param"?
+					 * Finish the line then. We cannot
+					 */
+					tcp_last->flags |= TCB_REPRINT;
+					tprintf(" <unfinished ...>");
+					printtrailer();
+				}
+				detach(tcp, 0);
+			} else {
+				ptrace(PTRACE_KILL,
+					tcp->pid, (char *) 1, SIGTERM);
+				droptcb(tcp);
+			}
+			continue;
+		}
+		if (tcp->flags & TCB_EXITING) {
+#ifdef TCB_GROUP_EXITING
+			if (tcp->flags & TCB_GROUP_EXITING) {
+				if (handle_group_exit(tcp, 0) < 0)
+					return -1;
+				continue;
+			}
+#endif
+			if (tcp->flags & TCB_ATTACHED)
+				detach(tcp, 0);
+			else if (ptrace_restart(PTRACE_CONT, tcp, 0) < 0) {
+				cleanup();
+				return -1;
+			}
+			continue;
+		}
+		if (tcp->flags & TCB_SUSPENDED) {
+			if (!qflag)
+				fprintf(stderr, "Process %u suspended\n", pid);
+			continue;
+		}
+	tracing:
+		/* Remember current print column before continuing. */
+		tcp->curcol = curcol;
+		if (ptrace_restart(PTRACE_SYSCALL, tcp, 0) < 0) {
+			cleanup();
+			return -1;
+		}
+	}
+	return 0;
+}
+
+#endif /* !USE_PROCFS */
+
+#include <stdarg.h>
+
+void
+tprintf(const char *fmt, ...)
+{
+	va_list args;
+
+	va_start(args, fmt);
+	if (outf) {
+		int n = vfprintf(outf, fmt, args);
+		if (n < 0) {
+			if (outf != stderr)
+				perror(outfname == NULL
+				       ? "<writing to pipe>" : outfname);
+		} else
+			curcol += n;
+	}
+	va_end(args);
+	return;
+}
+
+void
+printleader(tcp)
+struct tcb *tcp;
+{
+	if (tcp_last) {
+		if (tcp_last->ptrace_errno) {
+			if (tcp_last->flags & TCB_INSYSCALL) {
+				tprintf(" <unavailable>)");
+				tabto(acolumn);
+			}
+			tprintf("= ? <unavailable>\n");
+			tcp_last->ptrace_errno = 0;
+		} else if (!outfname || followfork < 2 || tcp_last == tcp) {
+			tcp_last->flags |= TCB_REPRINT;
+			tprintf(" <unfinished ...>\n");
+		}
+	}
+	curcol = 0;
+	if ((followfork == 1 || pflag_seen > 1) && outfname)
+		tprintf("%-5d ", tcp->pid);
+	else if (nprocs > 1 && !outfname)
+		tprintf("[pid %5u] ", tcp->pid);
+	if (tflag) {
+		char str[sizeof("HH:MM:SS")];
+		struct timeval tv, dtv;
+		static struct timeval otv;
+
+		gettimeofday(&tv, NULL);
+		if (rflag) {
+			if (otv.tv_sec == 0)
+				otv = tv;
+			tv_sub(&dtv, &tv, &otv);
+			tprintf("%6ld.%06ld ",
+				(long) dtv.tv_sec, (long) dtv.tv_usec);
+			otv = tv;
+		}
+		else if (tflag > 2) {
+			tprintf("%ld.%06ld ",
+				(long) tv.tv_sec, (long) tv.tv_usec);
+		}
+		else {
+			time_t local = tv.tv_sec;
+			strftime(str, sizeof(str), "%T", localtime(&local));
+			if (tflag > 1)
+				tprintf("%s.%06ld ", str, (long) tv.tv_usec);
+			else
+				tprintf("%s ", str);
+		}
+	}
+	if (iflag)
+		printcall(tcp);
+}
+
+void
+tabto(col)
+int col;
+{
+	if (curcol < col)
+		tprintf("%*s", col - curcol, "");
+}
+
+void
+printtrailer(void)
+{
+	tprintf("\n");
+	tcp_last = NULL;
+}
+
+#ifdef HAVE_MP_PROCFS
+
+int
+mp_ioctl(int fd, int cmd, void *arg, int size)
+{
+	struct iovec iov[2];
+	int n = 1;
+
+	iov[0].iov_base = &cmd;
+	iov[0].iov_len = sizeof cmd;
+	if (arg) {
+		++n;
+		iov[1].iov_base = arg;
+		iov[1].iov_len = size;
+	}
+
+	return writev(fd, iov, n);
+}
+
+#endif
diff --git a/strace-4.5.20/strace.spec b/strace-4.5.20/strace.spec
new file mode 100644
index 0000000..ad9562c
--- /dev/null
+++ b/strace-4.5.20/strace.spec
@@ -0,0 +1,460 @@
+Summary: Tracks and displays system calls associated with a running process
+Name: strace
+Version: 4.5.20
+Release: 1%{?dist}
+License: BSD
+Group: Development/Debuggers
+URL: http://sourceforge.net/projects/strace/
+Source0: http://dl.sourceforge.net/strace/%{name}-%{version}.tar.bz2
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+BuildRequires: libaio-devel, libacl-devel
+
+%define strace64_arches ppc64 sparc64
+
+%description
+The strace program intercepts and records the system calls called and
+received by a running process.  Strace can print a record of each
+system call, its arguments and its return value.  Strace is useful for
+diagnosing problems and debugging, as well as for instructional
+purposes.
+
+Install strace if you need a tool to track the system calls made and
+received by a process.
+
+%ifarch %{strace64_arches}
+%package -n strace64
+Summary: Tracks and displays system calls associated with a running process.
+Group: Development/Debuggers
+
+%description -n strace64
+The strace program intercepts and records the system calls called and
+received by a running process.  Strace can print a record of each
+system call, its arguments and its return value.  Strace is useful for
+diagnosing problems and debugging, as well as for instructional
+purposes.
+
+Install strace if you need a tool to track the system calls made and
+received by a process.
+
+This package provides the `strace64' program to trace 64-bit processes.
+The `strace' program in the `strace' package is for 32-bit processes.
+%endif
+
+%prep
+%setup -q
+
+%build
+%configure
+make %{?_smp_mflags}
+
+%install
+rm -rf %{buildroot}
+make DESTDIR=%{buildroot} install
+
+# remove unpackaged files from the buildroot
+rm -f %{buildroot}%{_bindir}/strace-graph
+
+%define copy64 ln
+%if 0%{?rhel}
+%if 0%{?rhel} < 6
+%endif
+%define copy64 cp -p
+%endif
+
+%ifarch %{strace64_arches}
+%{copy64} %{buildroot}%{_bindir}/strace %{buildroot}%{_bindir}/strace64
+%endif
+
+%clean
+rm -rf %{buildroot}
+
+%files
+%defattr(-,root,root)
+%doc CREDITS ChangeLog ChangeLog-CVS COPYRIGHT NEWS PORTING README
+%{_bindir}/strace
+%{_mandir}/man1/*
+
+%ifarch %{strace64_arches}
+%files -n strace64
+%defattr(-,root,root)
+%{_bindir}/strace64
+%endif
+
+%changelog
+* Tue Apr 13 2010 Roland McGrath <roland@redhat.com> - 4.5.20-1
+- New upstream release, work mostly by Andreas Schwab and Dmitry V. Levin.
+  + fixed potential stack buffer overflow in select decoder (#556678);
+  + fixed FTBFS (#539044).
+
+* Wed Oct 21 2009 Roland McGrath <roland@redhat.com> - 4.5.19-1
+- New upstream release, work mostly by Dmitry V. Levin <ldv@altlinux.org>
+  + exit/kill strace with traced process exitcode/signal (#105371);
+  + fixed build on ARM EABI (#507576);
+  + fixed display of 32-bit argv array on 64-bit architectures (#519480);
+  + fixed display of 32-bit fcntl(F_SETLK) on 64-bit architectures (#471169);
+  + fixed several bugs in strings decoder, including potential heap
+    memory corruption (#470529, #478324, #511035).
+
+* Thu Aug 28 2008 Roland McGrath <roland@redhat.com> - 4.5.18-1
+- build fix for newer kernel headers (#457291)
+- fix CLONE_VFORK handling (#455078)
+- Support new Linux/PPC system call subpage_prot and PROT_SAO flag.
+- In sigaction system call, display sa_flags value along with SIG_DFL/SIG_IGN.
+
+* Mon Jul 21 2008 Roland McGrath <roland@redhat.com> - 4.5.17-1
+- handle O_CLOEXEC, MSG_CMSG_CLOEXEC (#365781)
+- fix biarch stat64 decoding (#222275)
+- fix spurious "..." in printing of environment strings (#358241)
+- improve prctl decoding (#364401)
+- fix hang wait on exited child with exited child (#354261)
+- fix biarch fork/vfork (-f) tracing (#447475)
+- fix biarch printing of negative argument kill (#430585)
+- fix biarch decoding of error return values (#447587)
+- fix -f tracing of CLONE_VFORK (#455078)
+- fix ia64 register clobberation in -f tracing (#453438)
+- print SO_NODEFER, SA_RESETHAND instead of SA_NOMASK, SA_ONESHOT (#455821)
+- fix futex argument decoding (#448628, #448629)
+
+* Fri Aug  3 2007 Roland McGrath <roland@redhat.com> - 4.5.16-1
+- fix multithread issues (#240962, #240961, #247907)
+- fix spurious SIGSTOP on early interrupt (#240986)
+- fix utime for biarch (#247185)
+- fix -u error message (#247170)
+- better futex syscall printing (##241467)
+- fix argv/envp printing with small -s settings, and for biarch
+- new syscalls: getcpu, eventfd, timerfd, signalfd, epoll_pwait,
+  move_pages, utimensat
+
+* Tue Jan 16 2007 Roland McGrath <roland@redhat.com> - 4.5.15-1
+- biarch fixes (#179740, #192193, #171626, #173050, #218433, #218043)
+- fix -ff -o behavior (#204950, #218435, #193808, #219423)
+- better quotactl printing (#118696)
+- *at, inotify*, pselect6, ppoll and unshare syscalls (#178633, #191275)
+- glibc-2.5 build fixes (#209856)
+- memory corruption fixes (#200621
+- fix race in child setup under -f (#180293)
+- show ipc key values in hex (#198179, #192182)
+- disallow -c with -ff (#187847)
+- Resolves: RHBZ #179740, RHBZ #192193, RHBZ #204950, RHBZ #218435
+- Resolves: RHBZ #193808, RHBZ #219423, RHBZ #171626, RHBZ #173050
+- Resolves: RHBZ #218433, RHBZ #218043, RHBZ #118696, RHBZ #178633
+- Resolves: RHBZ #191275, RHBZ #209856, RHBZ #200621, RHBZ #180293
+- Resolves: RHBZ #198179, RHBZ #198182, RHBZ #187847
+
+* Mon Nov 20 2006 Jakub Jelinek <jakub@redhat.com> - 4.5.14-4
+- Fix ia64 syscall decoding (#206768)
+- Fix build with glibc-2.4.90-33 and up on all arches but ia64
+- Fix build against 2.6.18+ headers
+
+* Tue Aug 22 2006 Roland McGrath <roland@redhat.com> - 4.5.14-3
+- Fix bogus decoding of syscalls >= 300 (#201462, #202620).
+
+* Fri Jul 14 2006 Jesse Keating <jkeating@redhat.com> - 4.5.14-2
+- rebuild
+
+* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 4.5.14-1.2
+- bump again for long double bug on ppc{,64}
+
+* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 4.5.14-1.1
+- rebuilt for new gcc4.1 snapshot and glibc changes
+
+* Mon Jan 16 2006 Roland McGrath <roland@redhat.com> - 4.5.14-1
+- Fix biarch decoding of socket syscalls (#174354).
+- Fix biarch -e support (#173986).
+- Accept numeric syscalls in -e (#174798).
+- Fix ipc syscall decoding (#164755).
+- Improve msgrcv printing (#164757).
+- Man page updates (#165375).
+- Improve mount syscall printing (#165377).
+- Correct printing of restarting syscalls (#165469).
+
+* Wed Aug  3 2005 Roland McGrath <roland@redhat.com> - 4.5.13-1
+- Fix setsockopt decoding on 64-bit (#162449).
+- Fix typos in socket option name strings (#161578).
+- Display more IPV6 socket options by name (#162450).
+- Don't display inappropriate syscalls for -e trace=file (#159340).
+- New selector type -e trace=desc for file-descriptor using calls (#159400).
+- Fix 32-bit old_mmap syscall decoding on x86-64 (#162467, #164215).
+- Fix errors detaching from multithreaded process on interrupt (#161919).
+- Note 4.5.12 fix for crash handling bad signal numbers (#162739).
+
+* Wed Jun  8 2005 Roland McGrath <roland@redhat.com> - 4.5.12-1
+- Fix known syscall recognition for IA32 processes on x86-64 (#158934).
+- Fix bad output for ptrace on x86-64 (#159787).
+- Fix potential buffer overruns (#151570, #159196).
+- Make some diagnostics more consistent (#159308).
+- Update PowerPC system calls.
+- Better printing for Linux aio system calls.
+- Don't truncate statfs64 fields to 32 bits in output (#158243).
+- Cosmetic code cleanups (#159688).
+
+* Tue Mar 22 2005 Roland McGrath <roland@redhat.com> - 4.5.11-1
+- Build tweaks.
+- Note 4.5.10 select fix (#151570).
+
+* Mon Mar 14 2005 Roland McGrath <roland@redhat.com> - 4.5.10-1
+- Fix select handling on nonstandard fd_set sizes.
+- Don't print errors for null file name pointers.
+- Fix initial execve output with -i (#143365).
+
+* Fri Feb  4 2005 Roland McGrath <roland@redhat.com> - 4.5.9-2
+- update ia64 syscall list (#146245)
+- fix x86_64 syscall argument extraction for 32-bit processes (#146093)
+- fix -e signal=NAME parsing (#143362)
+- fix x86_64 exit_group syscall handling
+- improve socket ioctl printing (#138223)
+- code cleanups (#143369, #143370)
+- improve mount flags printing (#141932)
+- support symbolic printing of x86_64 arch_prctl parameters (#142667)
+- fix potential crash in getxattr printing
+
+* Tue Oct 19 2004 Roland McGrath <roland@redhat.com> - 4.5.8-1
+- fix multithreaded exit handling (#132150, #135254)
+- fix ioctl name matching (#129808)
+- print RTC_* ioctl structure contents (#58606)
+- grok epoll_* syscalls (#134463)
+- grok new RLIMIT_* values (#133594)
+- print struct cmsghdr contents for sendmsg (#131689)
+- fix clock_* and timer_* argument output (#131420)
+
+* Tue Aug 31 2004 Roland McGrath <roland@redhat.com> - 4.5.7-2
+- new upstream version, misc fixes and updates (#128091, #129166, #128391, #129378, #130965, #131177)
+
+* Mon Jul 12 2004 Roland McGrath <roland@redhat.com> 4.5.6-1
+- new upstream version, updates ioctl lists (#127398), fixes quotactl (#127393), more ioctl decoding (#126917)
+
+* Sun Jun 27 2004 Roland McGrath <roland@redhat.com> 4.5.5-1
+- new upstream version, fixes x86-64 biarch support (#126547)
+
+* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com> 4.5.4-2
+- rebuilt
+
+* Thu Jun  3 2004 Roland McGrath <roland@redhat.com> 4.5.4-0.FC1
+- rebuilt for FC1 update
+
+* Thu Jun  3 2004 Roland McGrath <roland@redhat.com> 4.5.4-1
+- new upstream version, more ioctls (#122257), minor fixes
+
+* Fri Apr 16 2004 Roland McGrath <roland@redhat.com> 4.5.3-1
+- new upstream version, mq_* calls (#120701), -p vs NPTL (#120462), more fixes (#118694, #120541, #118685)
+
+* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com> 4.5.2-1.1
+- rebuilt
+
+* Mon Mar  1 2004 Roland McGrath <roland@redhat.com> 4.5.2-1
+- new upstream version, sched_* calls (#116990), show core flag (#112117)
+
+* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Thu Nov 13 2003 Roland McGrath <roland@redhat.com> 4.5.1-1
+- new upstream version, more fixes (#108012, #105366, #105359, #105358)
+
+* Tue Sep 30 2003 Roland McGrath <roland@redhat.com> 4.5-3
+- revert bogus s390 fix
+
+* Thu Sep 25 2003 Roland McGrath <roland@redhat.com> 4.5-1.2.1AS
+- rebuilt for 2.1AS erratum
+
+* Wed Sep 24 2003 Roland McGrath <roland@redhat.com> 4.5-2
+- rebuilt
+
+* Wed Sep 24 2003 Roland McGrath <roland@redhat.com> 4.5-1
+- new upstream version, more fixes (#101499, #104365)
+
+* Thu Jul 17 2003 Roland McGrath <roland@redhat.com> 4.4.99-2
+- rebuilt
+
+* Thu Jul 17 2003 Roland McGrath <roland@redhat.com> 4.4.99-1
+- new upstream version, groks more new system calls, PF_INET6 sockets
+
+* Mon Jun 10 2003 Roland McGrath <roland@redhat.com> 4.4.98-1
+- new upstream version, more fixes (#90754, #91085)
+
+* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Sun Mar 30 2003 Roland McGrath <roland@redhat.com> 4.4.96-1
+- new upstream version, handles yet more 2.5 syscalls, x86_64 & ia64 fixes
+
+* Mon Feb 24 2003 Elliot Lee <sopwith@redhat.com> 4.4.95-2
+- rebuilt
+
+* Mon Feb 24 2003 Roland McGrath <roland@redhat.com> 4.4.95-1
+- new upstream version, fixed getresuid/getresgid (#84959)
+
+* Wed Feb 19 2003 Roland McGrath <roland@redhat.com> 4.4.94-1
+- new upstream version, new option -E to set environment variables (#82392)
+
+* Wed Jan 22 2003 Tim Powers <timp@redhat.com> 4.4.93-2
+- rebuilt
+
+* Tue Jan 21 2003 Roland McGrath <roland@redhat.com> 4.4.93-1
+- new upstream version, fixes ppc and s390 bugs, adds missing ptrace requests
+
+* Fri Jan 10 2003 Roland McGrath <roland@redhat.com> 4.4.91-1
+- new upstream version, fixes -f on x86-64
+
+* Fri Jan 10 2003 Roland McGrath <roland@redhat.com> 4.4.90-1
+- new upstream version, fixes all known bugs modulo ia64 and s390 issues
+
+* Fri Jan 03 2003 Florian La Roche <Florian.LaRoche@redhat.de> 4.4-11
+- add further s390 patch from IBM
+
+* Wed Nov 27 2002 Tim Powers <timp@redhat.com> 4.4-10
+- remove unpackaged files from the buildroot
+
+* Mon Oct 07 2002 Phil Knirsch <pknirsch@redhat.com> 4.4-9.1
+- Added latest s390(x) patch.
+
+* Fri Sep 06 2002 Karsten Hopp <karsten@redhat.de> 4.4-9
+- preliminary x86_64 support with an ugly patch to help
+  debugging. Needs cleanup!
+
+* Mon Sep  2 2002 Jakub Jelinek <jakub@redhat.com> 4.4-8
+- newer version of the clone fixing patch (Roland McGrath)
+- aio syscalls for i386/ia64/ppc (Ben LaHaise)
+
+* Wed Aug 28 2002 Jakub Jelinek <jakub@redhat.com> 4.4-7
+- fix strace -f (Roland McGrath, #68994)
+- handle ?et_thread_area, SA_RESTORER (Ulrich Drepper)
+
+* Fri Jun 21 2002 Jakub Jelinek <jakub@redhat.com> 4.4-6
+- handle futexes, *xattr, sendfile64, etc. (Ulrich Drepper)
+- handle modify_ldt (#66894)
+
+* Thu May 23 2002 Tim Powers <timp@redhat.com>
+- automated rebuild
+
+* Tue Apr 16 2002 Jakub Jelinek <jakub@redhat.com> 4.4-4
+- fix for the last patch by Jeff Law (#62591)
+
+* Mon Mar  4 2002 Preston Brown <pbrown@redhat.com> 4.4-3
+- integrate patch from Jeff Law to eliminate hang tracing threads
+
+* Sat Feb 23 2002 Florian La Roche <Florian.LaRoche@redhat.de>
+- minor update from debian tar-ball
+
+* Wed Jan 02 2002 Florian La Roche <Florian.LaRoche@redhat.de>
+- update to 4.4
+
+* Sun Jul 22 2001 Florian La Roche <Florian.LaRoche@redhat.de>
+- disable s390 patches, they are already included
+
+* Wed Jul 18 2001 Preston Brown <pbrown@redhat.com> 4.3-1
+- new upstream version.  Seems to have integrated most new syscalls
+- tracing threaded programs is now functional.
+
+* Mon Jun 11 2001 Than Ngo <than@redhat.com>
+- port s390 patches from IBM
+
+* Wed May 16 2001 Nalin Dahyabhai <nalin@redhat.com>
+- modify new syscall patch to allocate enough heap space in setgroups32()
+
+* Wed Feb 14 2001 Jakub Jelinek <jakub@redhat.com>
+- #include <time.h> in addition to <sys/time.h>
+
+* Fri Jan 26 2001 Karsten Hopp <karsten@redhat.com>
+- clean up conflicting patches. This happened only
+  when building on S390
+
+* Fri Jan 19 2001 Bill Nottingham <notting@redhat.com>
+- update to CVS, reintegrate ia64 support
+
+* Sat Dec  8 2000 Bernhard Rosenkraenzer <bero@redhat.com>
+- Get S/390 support into the normal package
+
+* Sat Nov 18 2000 Florian La Roche <Florian.LaRoche@redhat.de>
+- added S/390 patch from IBM, adapting it to not conflict with
+  IA64 patch
+
+* Sat Aug 19 2000 Jakub Jelinek <jakub@redhat.com>
+- doh, actually apply the 2.4 syscalls patch
+- make it compile with 2.4.0-test7-pre4+ headers, add
+  getdents64 and fcntl64
+
+* Thu Aug  3 2000 Jakub Jelinek <jakub@redhat.com>
+- add a bunch of new 2.4 syscalls (#14036)
+
+* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
+- automatic rebuild
+- excludearch ia64
+
+* Fri Jun  2 2000 Matt Wilson <msw@redhat.com>
+- use buildinstall for FHS
+
+* Wed May 24 2000 Jakub Jelinek <jakub@redhat.com>
+- make things compile on sparc
+- fix sigreturn on sparc
+
+* Fri Mar 31 2000 Bill Nottingham <notting@redhat.com>
+- fix stat64 misdef (#10485)
+
+* Tue Mar 21 2000 Michael K. Johnson <johnsonm@redhat.com>
+- added ia64 patch
+
+* Thu Feb 03 2000 Cristian Gafton <gafton@redhat.com>
+- man pages are compressed
+- version 4.2 (why are we keeping all these patches around?)
+
+* Sat Nov 27 1999 Jeff Johnson <jbj@redhat.com>
+- update to 4.1 (with sparc socketcall patch).
+
+* Fri Nov 12 1999 Jakub Jelinek <jakub@redhat.com>
+- fix socketcall on sparc.
+
+* Thu Sep 02 1999 Cristian Gafton <gafton@redhat.com>
+- fix KERN_SECURELVL compile problem
+
+* Tue Aug 31 1999 Cristian Gafton <gafton@redhat.com>
+- added alpha patch from HJLu to fix the osf_sigprocmask interpretation
+
+* Sat Jun 12 1999 Jeff Johnson <jbj@redhat.com>
+- update to 3.99.1.
+
+* Wed Jun  2 1999 Jeff Johnson <jbj@redhat.com>
+- add (the other :-) jj's sparc patch.
+
+* Wed May 26 1999 Jeff Johnson <jbj@redhat.com>
+- upgrade to 3.99 in order to
+-    add new 2.2.x open flags (#2955).
+-    add new 2.2.x syscalls (#2866).
+- strace 3.1 patches carried along for now.
+
+* Sun May 16 1999 Jeff Johnson <jbj@redhat.com>
+- don't rely on (broken!) rpm %%patch (#2735)
+
+* Tue Apr 06 1999 Preston Brown <pbrown@redhat.com>
+- strip binary
+
+* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com>
+- auto rebuild in the new build environment (release 16)
+
+* Tue Feb  9 1999 Jeff Johnson <jbj@redhat.com>
+- vfork est arrive!
+
+* Tue Feb  9 1999 Christopher Blizzard <blizzard@redhat.com>
+- Add patch to follow clone() syscalls, too.
+
+* Sun Jan 17 1999 Jeff Johnson <jbj@redhat.com>
+- patch to build alpha/sparc with glibc 2.1.
+
+* Thu Dec 03 1998 Cristian Gafton <gafton@redhat.com>
+- patch to build on ARM
+
+* Wed Sep 30 1998 Jeff Johnson <jbj@redhat.com>
+- fix typo (printf, not tprintf).
+
+* Sat Sep 19 1998 Jeff Johnson <jbj@redhat.com>
+- fix compile problem on sparc.
+
+* Tue Aug 18 1998 Cristian Gafton <gafton@redhat.com>
+- buildroot
+
+* Mon Jul 20 1998 Cristian Gafton <gafton@redhat.com>
+- added the umoven patch from James Youngman <jay@gnu.org>
+- fixed build problems on newer glibc releases
+
+* Mon Jun 08 1998 Prospector System <bugs@redhat.com>
+- translations modified for de, fr, tr
diff --git a/strace-4.5.20/stream.c b/strace-4.5.20/stream.c
new file mode 100644
index 0000000..41fd823
--- /dev/null
+++ b/strace-4.5.20/stream.c
@@ -0,0 +1,1396 @@
+/*
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+#include <sys/syscall.h>
+
+#ifdef HAVE_POLL_H
+#include <poll.h>
+#endif
+#ifdef HAVE_SYS_POLL_H
+#include <sys/poll.h>
+#endif
+#ifdef HAVE_STROPTS_H
+#include <stropts.h>
+#endif
+#ifdef HAVE_SYS_CONF_H
+#include <sys/conf.h>
+#endif
+#ifdef HAVE_SYS_STREAM_H
+#include <sys/stream.h>
+#endif
+#ifdef HAVE_SYS_TIHDR_H
+#include <sys/tihdr.h>
+#endif
+
+#if defined(HAVE_SYS_STREAM_H) || defined(LINUX) || defined(FREEBSD)
+
+#ifndef HAVE_STROPTS_H
+#define RS_HIPRI 1
+struct strbuf {
+	int     maxlen;                 /* no. of bytes in buffer */
+	int     len;                    /* no. of bytes returned */
+	char    *buf;                   /* pointer to data */
+};
+#define MORECTL 1
+#define MOREDATA 2
+#endif /* !HAVE_STROPTS_H */
+
+#ifdef HAVE_SYS_TIUSER_H
+#include <sys/tiuser.h>
+#include <sys/sockmod.h>
+#include <sys/timod.h>
+#endif /* HAVE_SYS_TIUSER_H */
+
+#ifndef FREEBSD
+static const struct xlat msgflags[] = {
+	{ RS_HIPRI,	"RS_HIPRI"	},
+	{ 0,		NULL		},
+};
+
+
+static void
+printstrbuf(tcp, sbp, getting)
+struct tcb *tcp;
+struct strbuf *sbp;
+int getting;
+{
+	if (sbp->maxlen == -1 && getting)
+		tprintf("{maxlen=-1}");
+	else {
+		tprintf("{");
+		if (getting)
+			tprintf("maxlen=%d, ", sbp->maxlen);
+		tprintf("len=%d, buf=", sbp->len);
+		printstr(tcp, (unsigned long) sbp->buf, sbp->len);
+		tprintf("}");
+	}
+}
+
+static void
+printstrbufarg(tcp, arg, getting)
+struct tcb *tcp;
+int arg;
+int getting;
+{
+	struct strbuf buf;
+
+	if (arg == 0)
+		tprintf("NULL");
+	else if (umove(tcp, arg, &buf) < 0)
+		tprintf("{...}");
+	else
+		printstrbuf(tcp, &buf, getting);
+	tprintf(", ");
+}
+
+int
+sys_putmsg(tcp)
+struct tcb *tcp;
+{
+	int i;
+
+	if (entering(tcp)) {
+		/* fd */
+		tprintf("%ld, ", tcp->u_arg[0]);
+		/* control and data */
+		for (i = 1; i < 3; i++)
+			printstrbufarg(tcp, tcp->u_arg[i], 0);
+		/* flags */
+		printflags(msgflags, tcp->u_arg[3], "RS_???");
+	}
+	return 0;
+}
+
+#if defined(SPARC) || defined(SPARC64) || defined(SUNOS4) || defined(SVR4)
+int
+sys_getmsg(tcp)
+struct tcb *tcp;
+{
+	int i, flags;
+
+	if (entering(tcp)) {
+		/* fd */
+		tprintf("%lu, ", tcp->u_arg[0]);
+	} else {
+		if (syserror(tcp)) {
+			tprintf("%#lx, %#lx, %#lx",
+				tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]);
+			return 0;
+		}
+		/* control and data */
+		for (i = 1; i < 3; i++)
+			printstrbufarg(tcp, tcp->u_arg[i], 1);
+		/* pointer to flags */
+		if (tcp->u_arg[3] == 0)
+			tprintf("NULL");
+		else if (umove(tcp, tcp->u_arg[3], &flags) < 0)
+			tprintf("[?]");
+		else {
+			tprintf("[");
+			printflags(msgflags, flags, "RS_???");
+			tprintf("]");
+		}
+		/* decode return value */
+		switch (tcp->u_rval) {
+		case MORECTL:
+			tcp->auxstr = "MORECTL";
+			break;
+		case MORECTL|MOREDATA:
+			tcp->auxstr = "MORECTL|MOREDATA";
+			break;
+		case MOREDATA:
+			tcp->auxstr = "MORECTL";
+			break;
+		default:
+			tcp->auxstr = NULL;
+			break;
+		}
+	}
+	return RVAL_HEX | RVAL_STR;
+}
+#endif /* SPARC || SPARC64 || SUNOS4 || SVR4 */
+
+#if defined SYS_putpmsg || defined SYS_getpmsg
+static const struct xlat pmsgflags[] = {
+#ifdef MSG_HIPRI
+	{ MSG_HIPRI,	"MSG_HIPRI"	},
+#endif
+#ifdef MSG_AND
+	{ MSG_ANY,	"MSG_ANY"	},
+#endif
+#ifdef MSG_BAND
+	{ MSG_BAND,	"MSG_BAND"	},
+#endif
+	{ 0,		NULL		},
+};
+#endif
+
+#ifdef SYS_putpmsg
+int
+sys_putpmsg(tcp)
+struct tcb *tcp;
+{
+	int i;
+
+	if (entering(tcp)) {
+		/* fd */
+		tprintf("%ld, ", tcp->u_arg[0]);
+		/* control and data */
+		for (i = 1; i < 3; i++)
+			printstrbufarg(tcp, tcp->u_arg[i], 0);
+		/* band */
+		tprintf("%ld, ", tcp->u_arg[3]);
+		/* flags */
+		printflags(pmsgflags, tcp->u_arg[4], "MSG_???");
+	}
+	return 0;
+}
+#endif /* SYS_putpmsg */
+
+#ifdef SYS_getpmsg
+int
+sys_getpmsg(tcp)
+struct tcb *tcp;
+{
+	int i, flags;
+
+	if (entering(tcp)) {
+		/* fd */
+		tprintf("%lu, ", tcp->u_arg[0]);
+	} else {
+		if (syserror(tcp)) {
+			tprintf("%#lx, %#lx, %#lx, %#lx", tcp->u_arg[1],
+				tcp->u_arg[2], tcp->u_arg[3], tcp->u_arg[4]);
+			return 0;
+		}
+		/* control and data */
+		for (i = 1; i < 3; i++)
+			printstrbufarg(tcp, tcp->u_arg[i], 1);
+		/* pointer to band */
+		printnum(tcp, tcp->u_arg[3], "%d");
+		tprintf(", ");
+		/* pointer to flags */
+		if (tcp->u_arg[4] == 0)
+			tprintf("NULL");
+		else if (umove(tcp, tcp->u_arg[4], &flags) < 0)
+			tprintf("[?]");
+		else {
+			tprintf("[");
+			printflags(pmsgflags, flags, "MSG_???");
+			tprintf("]");
+		}
+		/* decode return value */
+		switch (tcp->u_rval) {
+		case MORECTL:
+			tcp->auxstr = "MORECTL";
+			break;
+		case MORECTL|MOREDATA:
+			tcp->auxstr = "MORECTL|MOREDATA";
+			break;
+		case MOREDATA:
+			tcp->auxstr = "MORECTL";
+			break;
+		default:
+			tcp->auxstr = NULL;
+			break;
+		}
+	}
+	return RVAL_HEX | RVAL_STR;
+}
+#endif /* SYS_getpmsg */
+
+#endif /* !FREEBSD */
+
+
+#ifdef HAVE_SYS_POLL_H
+
+static const struct xlat pollflags[] = {
+#ifdef POLLIN
+	{ POLLIN,	"POLLIN"	},
+	{ POLLPRI,	"POLLPRI"	},
+	{ POLLOUT,	"POLLOUT"	},
+#ifdef POLLRDNORM
+	{ POLLRDNORM,	"POLLRDNORM"	},
+#endif
+#ifdef POLLWRNORM
+	{ POLLWRNORM,	"POLLWRNORM"	},
+#endif
+#ifdef POLLRDBAND
+	{ POLLRDBAND,	"POLLRDBAND"	},
+#endif
+#ifdef POLLWRBAND
+	{ POLLWRBAND,	"POLLWRBAND"	},
+#endif
+	{ POLLERR,	"POLLERR"	},
+	{ POLLHUP,	"POLLHUP"	},
+	{ POLLNVAL,	"POLLNVAL"	},
+#endif
+	{ 0,		NULL		},
+};
+
+static int
+decode_poll(struct tcb *tcp, long pts)
+{
+	struct pollfd fds;
+	unsigned nfds;
+	unsigned long size, start, cur, end, abbrev_end;
+	int failed = 0;
+
+	if (entering(tcp)) {
+		nfds = tcp->u_arg[1];
+		size = sizeof(fds) * nfds;
+		start = tcp->u_arg[0];
+		end = start + size;
+		if (nfds == 0 || size / sizeof(fds) != nfds || end < start) {
+			tprintf("%#lx, %d, ",
+				tcp->u_arg[0], nfds);
+			return 0;
+		}
+		if (abbrev(tcp)) {
+			abbrev_end = start + max_strlen * sizeof(fds);
+			if (abbrev_end < start)
+				abbrev_end = end;
+		} else {
+			abbrev_end = end;
+		}
+		tprintf("[");
+		for (cur = start; cur < end; cur += sizeof(fds)) {
+			if (cur > start)
+				tprintf(", ");
+			if (cur >= abbrev_end) {
+				tprintf("...");
+				break;
+			}
+			if (umoven(tcp, cur, sizeof fds, (char *) &fds) < 0) {
+				tprintf("?");
+				failed = 1;
+				break;
+			}
+			if (fds.fd < 0) {
+				tprintf("{fd=%d}", fds.fd);
+				continue;
+			}
+			tprintf("{fd=%d, events=", fds.fd);
+			printflags(pollflags, fds.events, "POLL???");
+			tprintf("}");
+		}
+		tprintf("]");
+		if (failed)
+			tprintf(" %#lx", start);
+		tprintf(", %d, ", nfds);
+		return 0;
+	} else {
+		static char outstr[1024];
+		char str[64];
+		const char *flagstr;
+		unsigned int cumlen;
+
+		if (syserror(tcp))
+			return 0;
+		if (tcp->u_rval == 0) {
+			tcp->auxstr = "Timeout";
+			return RVAL_STR;
+		}
+
+		nfds = tcp->u_arg[1];
+		size = sizeof(fds) * nfds;
+		start = tcp->u_arg[0];
+		end = start + size;
+		if (nfds == 0 || size / sizeof(fds) != nfds || end < start)
+			return 0;
+		if (abbrev(tcp)) {
+			abbrev_end = start + max_strlen * sizeof(fds);
+			if (abbrev_end < start)
+				abbrev_end = end;
+		} else {
+			abbrev_end = end;
+		}
+
+		outstr[0] = '\0';
+		cumlen = 0;
+
+		for (cur = start; cur < end; cur += sizeof(fds)) {
+			if (umoven(tcp, cur, sizeof fds, (char *) &fds) < 0) {
+				++cumlen;
+				if (cumlen < sizeof(outstr))
+					strcat(outstr, "?");
+				failed = 1;
+				break;
+			}
+			if (!fds.revents)
+				continue;
+			if (!cumlen) {
+				++cumlen;
+				strcat(outstr, "[");
+			} else {
+				cumlen += 2;
+				if (cumlen < sizeof(outstr))
+					strcat(outstr, ", ");
+			}
+			if (cur >= abbrev_end) {
+				cumlen += 3;
+				if (cumlen < sizeof(outstr))
+					strcat(outstr, "...");
+				break;
+			}
+			sprintf(str, "{fd=%d, revents=", fds.fd);
+			flagstr=sprintflags("", pollflags, fds.revents);
+			cumlen += strlen(str) + strlen(flagstr) + 1;
+			if (cumlen < sizeof(outstr)) {
+				strcat(outstr, str);
+				strcat(outstr, flagstr);
+				strcat(outstr, "}");
+			}
+		}
+		if (failed)
+			return 0;
+
+		if (cumlen && ++cumlen < sizeof(outstr))
+			strcat(outstr, "]");
+
+		if (pts) {
+			char str[128];
+
+			sprintf(str, "%sleft ", cumlen ? ", " : "");
+			sprint_timespec(str + strlen(str), tcp, pts);
+			if ((cumlen += strlen(str)) < sizeof(outstr))
+				strcat(outstr, str);
+		}
+
+		if (!outstr[0])
+			return 0;
+
+		tcp->auxstr = outstr;
+		return RVAL_STR;
+	}
+}
+
+int
+sys_poll(struct tcb *tcp)
+{
+	int rc = decode_poll(tcp, 0);
+	if (entering(tcp)) {
+#ifdef INFTIM
+		if (tcp->u_arg[2] == INFTIM)
+			tprintf("INFTIM");
+		else
+#endif
+			tprintf("%ld", tcp->u_arg[2]);
+	}
+	return rc;
+}
+
+#ifdef LINUX
+int
+sys_ppoll(struct tcb *tcp)
+{
+	int rc = decode_poll(tcp, tcp->u_arg[2]);
+	if (entering(tcp)) {
+		print_timespec(tcp, tcp->u_arg[2]);
+		tprintf(", ");
+		print_sigset(tcp, tcp->u_arg[3], 0);
+		tprintf(", %lu", tcp->u_arg[4]);
+	}
+	return rc;
+}
+#endif
+
+#else /* !HAVE_SYS_POLL_H */
+int
+sys_poll(tcp)
+struct tcb *tcp;
+{
+	return 0;
+}
+#endif
+
+#if !defined(LINUX) && !defined(FREEBSD)
+
+static const struct xlat stream_flush_options[] = {
+	{ FLUSHR,	"FLUSHR"	},
+	{ FLUSHW,	"FLUSHW"	},
+	{ FLUSHRW,	"FLUSHRW"	},
+#ifdef FLUSHBAND
+	{ FLUSHBAND,	"FLUSHBAND"	},
+#endif
+	{ 0,		NULL		},
+};
+
+static const struct xlat stream_setsig_flags[] = {
+	{ S_INPUT,	"S_INPUT"	},
+	{ S_HIPRI,	"S_HIPRI"	},
+	{ S_OUTPUT,	"S_OUTPUT"	},
+	{ S_MSG,	"S_MSG"		},
+#ifdef S_ERROR
+	{ S_ERROR,	"S_ERROR"	},
+#endif
+#ifdef S_HANGUP
+	{ S_HANGUP,	"S_HANGUP"	},
+#endif
+#ifdef S_RDNORM
+	{ S_RDNORM,	"S_RDNORM"	},
+#endif
+#ifdef S_WRNORM
+	{ S_WRNORM,	"S_WRNORM"	},
+#endif
+#ifdef S_RDBAND
+	{ S_RDBAND,	"S_RDBAND"	},
+#endif
+#ifdef S_WRBAND
+	{ S_WRBAND,	"S_WRBAND"	},
+#endif
+#ifdef S_BANDURG
+	{ S_BANDURG,	"S_BANDURG"	},
+#endif
+	{ 0,		NULL		},
+};
+
+static const struct xlat stream_read_options[] = {
+	{ RNORM,	"RNORM"		},
+	{ RMSGD,	"RMSGD"		},
+	{ RMSGN,	"RMSGN"		},
+	{ 0,		NULL		},
+};
+
+static const struct xlat stream_read_flags[] = {
+#ifdef RPROTDAT
+	{ RPROTDAT,	"RPROTDAT"	},
+#endif
+#ifdef RPROTDIS
+	{ RPROTDIS,	"RPROTDIS"	},
+#endif
+#ifdef RPROTNORM
+	{ RPROTNORM,	"RPROTNORM"	},
+#endif
+	{ 0,		NULL		},
+};
+
+#ifndef RMODEMASK
+#define RMODEMASK (~0)
+#endif
+
+#ifdef I_SWROPT
+static const struct xlat stream_write_flags[] = {
+	{ SNDZERO,	"SNDZERO"	},
+	{ SNDPIPE,	"SNDPIPE"	},
+	{ 0,		NULL		},
+};
+#endif /* I_SWROPT */
+
+#ifdef I_ATMARK
+static const struct xlat stream_atmark_options[] = {
+	{ ANYMARK,	"ANYMARK"	},
+	{ LASTMARK,	"LASTMARK"	},
+	{ 0,		NULL		},
+};
+#endif /* I_ATMARK */
+
+#ifdef TI_BIND
+static const struct xlat transport_user_options[] = {
+	{ T_CONN_REQ,	"T_CONN_REQ"	},
+	{ T_CONN_RES,	"T_CONN_RES"	},
+	{ T_DISCON_REQ,	"T_DISCON_REQ"	},
+	{ T_DATA_REQ,	"T_DATA_REQ"	},
+	{ T_EXDATA_REQ,	"T_EXDATA_REQ"	},
+	{ T_INFO_REQ,	"T_INFO_REQ"	},
+	{ T_BIND_REQ,	"T_BIND_REQ"	},
+	{ T_UNBIND_REQ,	"T_UNBIND_REQ"	},
+	{ T_UNITDATA_REQ,"T_UNITDATA_REQ"},
+	{ T_OPTMGMT_REQ,"T_OPTMGMT_REQ"	},
+	{ T_ORDREL_REQ,	"T_ORDREL_REQ"	},
+	{ 0,		NULL		},
+};
+
+static const struct xlat transport_user_flags [] = {
+	{ 0,		"0"		},
+	{ T_MORE,	"T_MORE"	},
+	{ T_EXPEDITED,	"T_EXPEDITED"	},
+	{ T_NEGOTIATE,	"T_NEGOTIATE"	},
+	{ T_CHECK,	"T_CHECK"	},
+	{ T_DEFAULT,	"T_DEFAULT"	},
+	{ T_SUCCESS,	"T_SUCCESS"	},
+	{ T_FAILURE,	"T_FAILURE"	},
+	{ T_CURRENT,	"T_CURRENT"	},
+	{ T_PARTSUCCESS,"T_PARTSUCCESS"	},
+	{ T_READONLY,	"T_READONLY"	},
+	{ T_NOTSUPPORT,	"T_NOTSUPPORT"	},
+	{ 0,		NULL		},
+};
+
+
+#ifdef HAVE_STRUCT_T_OPTHDR
+
+static const struct xlat xti_level [] = {
+	{ XTI_GENERIC,	"XTI_GENERIC"	},
+	{ 0,		NULL		},
+};
+
+static const struct xlat xti_generic [] = {
+	{ XTI_DEBUG,	"XTI_DEBUG"	},
+	{ XTI_LINGER,	"XTI_LINGER"	},
+	{ XTI_RCVBUF,	"XTI_RCVBUF"	},
+	{ XTI_RCVLOWAT,	"XTI_RCVLOWAT"	},
+	{ XTI_SNDBUF,	"XTI_SNDBUF"	},
+	{ XTI_SNDLOWAT,	"XTI_SNDLOWAT"	},
+	{ 0,		NULL		},
+};
+
+
+
+void
+print_xti_optmgmt (tcp, addr, len)
+struct tcb *tcp;
+long addr;
+int len;
+{
+	int c = 0;
+	struct t_opthdr hdr;
+
+	while (len >= (int) sizeof hdr) {
+		if (umove(tcp, addr, &hdr) < 0) break;
+		if (c++) {
+			tprintf (", ");
+		}
+		else if (len > hdr.len + sizeof hdr) {
+			tprintf ("[");
+		}
+		tprintf ("{level=");
+		printxval (xti_level, hdr.level, "???");
+		tprintf (", name=");
+		switch (hdr.level) {
+		    case XTI_GENERIC:
+			printxval (xti_generic, hdr.name, "XTI_???");
+			break;
+		    default:
+			tprintf ("%ld", hdr.name);
+			break;
+		}
+		tprintf (", status=");
+		printxval (transport_user_flags,  hdr.status, "T_???");
+		addr += sizeof hdr;
+		len -= sizeof hdr;
+		if ((hdr.len -= sizeof hdr) > 0) {
+			if (hdr.len > len) break;
+			tprintf (", val=");
+			if (len == sizeof (int))
+				printnum (tcp, addr, "%d");
+			else
+				printstr (tcp, addr, hdr.len);
+			addr += hdr.len;
+			len -= hdr.len;
+		}
+		tprintf ("}");
+	}
+	if (len > 0) {
+		if (c++) tprintf (", ");
+		printstr (tcp, addr, len);
+	}
+	if (c > 1) tprintf ("]");
+}
+
+#endif
+
+
+static void
+print_optmgmt (tcp, addr, len)
+struct tcb *tcp;
+long addr;
+int len;
+{
+	/* We don't know how to tell if TLI (socket) or XTI
+	   optmgmt is being used yet, assume TLI. */
+#if defined (HAVE_STRUCT_OPTHDR)
+	print_sock_optmgmt (tcp, addr, len);
+#elif defined (HAVE_STRUCT_T_OPTHDR)
+	print_xti_optmgmt (tcp, addr, len);
+#else
+	printstr (tcp, addr, len);
+#endif
+}
+
+
+
+
+static const struct xlat service_type [] = {
+	{ T_COTS,	"T_COTS"	},
+	{ T_COTS_ORD,	"T_COTS_ORD"	},
+	{ T_CLTS,	"T_CLTS"	},
+	{ 0,		NULL		},
+};
+
+static const struct xlat ts_state [] = {
+	{ TS_UNBND,	"TS_UNBND"	},
+	{ TS_WACK_BREQ,	"TS_WACK_BREQ"	},
+	{ TS_WACK_UREQ,	"TS_WACK_UREQ"	},
+	{ TS_IDLE,	"TS_IDLE"	},
+	{ TS_WACK_OPTREQ,"TS_WACK_OPTREQ"},
+	{ TS_WACK_CREQ,	"TS_WACK_CREQ"	},
+	{ TS_WCON_CREQ,	"TS_WCON_CREQ"	},
+	{ TS_WRES_CIND,	"TS_WRES_CIND"	},
+	{ TS_WACK_CRES,	"TS_WACK_CRES"	},
+	{ TS_DATA_XFER,	"TS_DATA_XFER"	},
+	{ TS_WIND_ORDREL,"TS_WIND_ORDREL"},
+	{ TS_WREQ_ORDREL,"TS_WREQ_ORDREL"},
+	{ TS_WACK_DREQ6,"TS_WACK_DREQ6"	},
+	{ TS_WACK_DREQ7,"TS_WACK_DREQ7"	},
+	{ TS_WACK_DREQ9,"TS_WACK_DREQ9"	},
+	{ TS_WACK_DREQ10,"TS_WACK_DREQ10"},
+	{ TS_WACK_DREQ11,"TS_WACK_DREQ11"},
+	{ 0,		NULL		},
+};
+
+static const struct xlat provider_flags [] = {
+	{ 0,		"0"		},
+	{ SENDZERO,	"SENDZERO"	},
+	{ EXPINLINE,	"EXPINLINE"	},
+	{ XPG4_1,	"XPG4_1"	},
+	{ 0,		NULL		},
+};
+
+
+static const struct xlat tli_errors [] = {
+	{ TBADADDR,	"TBADADDR"	},
+	{ TBADOPT,	"TBADOPT"	},
+	{ TACCES,	"TACCES"	},
+	{ TBADF,	"TBADF"		},
+	{ TNOADDR,	"TNOADDR"	},
+	{ TOUTSTATE,	"TOUTSTATE"	},
+	{ TBADSEQ,	"TBADSEQ"	},
+	{ TSYSERR,	"TSYSERR"	},
+	{ TLOOK,	"TLOOK"		},
+	{ TBADDATA,	"TBADDATA"	},
+	{ TBUFOVFLW,	"TBUFOVFLW"	},
+	{ TFLOW,	"TFLOW"		},
+	{ TNODATA,	"TNODATA"	},
+	{ TNODIS,	"TNODIS"	},
+	{ TNOUDERR,	"TNOUDERR"	},
+	{ TBADFLAG,	"TBADFLAG"	},
+	{ TNOREL,	"TNOREL"	},
+	{ TNOTSUPPORT,	"TNOTSUPPORT"	},
+	{ TSTATECHNG,	"TSTATECHNG"	},
+	{ TNOSTRUCTYPE,	"TNOSTRUCTYPE"	},
+	{ TBADNAME,	"TBADNAME"	},
+	{ TBADQLEN,	"TBADQLEN"	},
+	{ TADDRBUSY,	"TADDRBUSY"	},
+	{ TINDOUT,	"TINDOUT"	},
+	{ TPROVMISMATCH,"TPROVMISMATCH"	},
+	{ TRESQLEN,	"TRESQLEN"	},
+	{ TRESADDR,	"TRESADDR"	},
+	{ TQFULL,	"TQFULL"	},
+	{ TPROTO,	"TPROTO"	},
+	{ 0,		NULL		},
+};
+
+
+static int
+print_transport_message (tcp, expect, addr, len)
+struct tcb *tcp;
+int expect;
+long addr;
+int len;
+{
+	union T_primitives m;
+	int c = 0;
+
+	if (len < sizeof m.type) goto dump;
+
+	if (umove (tcp, addr, &m.type) < 0) goto dump;
+
+#define GET(type, struct)	\
+	do {							\
+		if (len < sizeof m.struct) goto dump;		\
+		if (umove (tcp, addr, &m.struct) < 0) goto dump;\
+		tprintf ("{");					\
+		if (expect != type) {				\
+			++c;					\
+			tprintf (#type);			\
+		}						\
+	}							\
+	while (0)
+
+#define COMMA() \
+	do { if (c++) tprintf (", "); } while (0)
+
+
+#define STRUCT(struct, elem, print)					\
+	do {								\
+		COMMA ();						\
+		if (m.struct.elem##_length < 0 ||			\
+		    m.struct.elem##_offset < sizeof m.struct ||		\
+		    m.struct.elem##_offset + m.struct.elem##_length > len) \
+		{							\
+			tprintf (#elem "_length=%ld, " #elem "_offset=%ld",\
+				m.struct.elem##_length,			\
+				m.struct.elem##_offset);		\
+		}							\
+		else {							\
+			tprintf (#elem "=");				\
+			print (tcp,					\
+				 addr + m.struct.elem##_offset,		\
+				 m.struct.elem##_length);		\
+		}							\
+	}								\
+	while (0)
+
+#define ADDR(struct, elem) STRUCT (struct, elem, printstr)
+
+	switch (m.type) {
+#ifdef T_CONN_REQ
+	    case T_CONN_REQ:	/* connect request   */
+		GET (T_CONN_REQ, conn_req);
+		ADDR (conn_req, DEST);
+		ADDR (conn_req, OPT);
+		break;
+#endif
+#ifdef T_CONN_RES
+	    case T_CONN_RES:	/* connect response   */
+		GET (T_CONN_RES, conn_res);
+#ifdef HAVE_STRUCT_T_CONN_RES_QUEUE_PTR
+		COMMA ();
+		tprintf ("QUEUE=%p", m.conn_res.QUEUE_ptr);
+#elif defined HAVE_STRUCT_T_CONN_RES_ACCEPTOR_ID
+		COMMA ();
+		tprintf ("ACCEPTOR=%#lx", m.conn_res.ACCEPTOR_id);
+#endif
+		ADDR (conn_res, OPT);
+		COMMA ();
+		tprintf ("SEQ=%ld", m.conn_res.SEQ_number);
+		break;
+#endif
+#ifdef T_DISCON_REQ
+	    case T_DISCON_REQ:	/* disconnect request */
+		GET (T_DISCON_REQ, discon_req);
+		COMMA ();
+		tprintf ("SEQ=%ld", m.discon_req.SEQ_number);
+		break;
+#endif
+#ifdef T_DATA_REQ
+	    case T_DATA_REQ:	/* data request       */
+		GET (T_DATA_REQ, data_req);
+		COMMA ();
+		tprintf ("MORE=%ld", m.data_req.MORE_flag);
+		break;
+#endif
+#ifdef T_EXDATA_REQ
+	    case T_EXDATA_REQ:	/* expedited data req */
+		GET (T_EXDATA_REQ, exdata_req);
+		COMMA ();
+		tprintf ("MORE=%ld", m.exdata_req.MORE_flag);
+		break;
+#endif
+#ifdef T_INFO_REQ
+	    case T_INFO_REQ:	/* information req    */
+		GET (T_INFO_REQ, info_req);
+		break;
+#endif
+#ifdef T_BIND_REQ
+	    case T_BIND_REQ:	/* bind request       */
+#ifdef O_T_BIND_REQ
+	    case O_T_BIND_REQ:	/* Ugly xti/tli hack */
+#endif
+		GET (T_BIND_REQ, bind_req);
+		ADDR (bind_req, ADDR);
+		COMMA ();
+		tprintf ("CONIND=%ld", m.bind_req.CONIND_number);
+		break;
+#endif
+#ifdef T_UNBIND_REQ
+	    case T_UNBIND_REQ:	/* unbind request     */
+		GET (T_UNBIND_REQ, unbind_req);
+		break;
+#endif
+#ifdef T_UNITDATA_REQ
+	    case T_UNITDATA_REQ:	/* unitdata requset   */
+		GET (T_UNITDATA_REQ, unitdata_req);
+		ADDR (unitdata_req, DEST);
+		ADDR (unitdata_req, OPT);
+		break;
+#endif
+#ifdef T_OPTMGMT_REQ
+	    case T_OPTMGMT_REQ:	/* manage opt req     */
+		GET (T_OPTMGMT_REQ, optmgmt_req);
+		COMMA ();
+		tprintf ("MGMT=");
+		printflags (transport_user_flags, m.optmgmt_req.MGMT_flags,
+			    "T_???");
+		STRUCT (optmgmt_req, OPT, print_optmgmt);
+		break;
+#endif
+#ifdef T_ORDREL_REQ
+	    case T_ORDREL_REQ:	/* orderly rel req    */
+		GET (T_ORDREL_REQ, ordrel_req);
+		break;
+#endif
+#ifdef T_CONN_IND
+	    case T_CONN_IND:	/* connect indication */
+		GET (T_CONN_IND, conn_ind);
+		ADDR (conn_ind, SRC);
+		ADDR (conn_ind, OPT);
+		tprintf (", SEQ=%ld", m.conn_ind.SEQ_number);
+		break;
+#endif
+#ifdef T_CONN_CON
+	    case T_CONN_CON:	/* connect corfirm    */
+		GET (T_CONN_CON, conn_con);
+		ADDR (conn_con, RES);
+		ADDR (conn_con, OPT);
+		break;
+#endif
+#ifdef T_DISCON_IND
+	    case T_DISCON_IND:	/* discon indication  */
+		GET (T_DISCON_IND, discon_ind);
+		COMMA ();
+		tprintf ("DISCON=%ld, SEQ=%ld",
+			 m.discon_ind.DISCON_reason, m.discon_ind.SEQ_number);
+		break;
+#endif
+#ifdef T_DATA_IND
+	    case T_DATA_IND:	/* data indication    */
+		GET (T_DATA_IND, data_ind);
+		COMMA ();
+		tprintf ("MORE=%ld", m.data_ind.MORE_flag);
+		break;
+#endif
+#ifdef T_EXDATA_IND
+	    case T_EXDATA_IND:	/* expedited data ind */
+		GET (T_EXDATA_IND, exdata_ind);
+		COMMA ();
+		tprintf ("MORE=%ld", m.exdata_ind.MORE_flag);
+		break;
+#endif
+#ifdef T_INFO_ACK
+	    case T_INFO_ACK:	/* info ack           */
+		GET (T_INFO_ACK, info_ack);
+		COMMA ();
+		tprintf ("TSDU=%ld, ETSDU=%ld, CDATA=%ld, DDATA=%ld, "
+			 "ADDR=%ld, OPT=%ld, TIDU=%ld, SERV=",
+			 m.info_ack.TSDU_size, m.info_ack.ETSDU_size,
+			 m.info_ack.CDATA_size, m.info_ack.DDATA_size,
+			 m.info_ack.ADDR_size, m.info_ack.OPT_size,
+			 m.info_ack.TIDU_size);
+		printxval (service_type, m.info_ack.SERV_type, "T_???");
+		tprintf (", CURRENT=");
+		printxval (ts_state, m.info_ack.CURRENT_state, "TS_???");
+		tprintf (", PROVIDER=");
+		printflags (provider_flags, m.info_ack.PROVIDER_flag, "???");
+		break;
+#endif
+#ifdef T_BIND_ACK
+	    case T_BIND_ACK:	/* bind ack           */
+		GET (T_BIND_ACK, bind_ack);
+		ADDR (bind_ack, ADDR);
+		tprintf (", CONIND=%ld", m.bind_ack.CONIND_number);
+		break;
+#endif
+#ifdef T_ERROR_ACK
+	    case T_ERROR_ACK:	/* error ack          */
+		GET (T_ERROR_ACK, error_ack);
+		COMMA ();
+		tprintf ("ERROR=");
+		printxval (transport_user_options,
+			   m.error_ack.ERROR_prim, "TI_???");
+		tprintf (", TLI=");
+		printxval (tli_errors, m.error_ack.TLI_error, "T???");
+		tprintf ("UNIX=%s", strerror (m.error_ack.UNIX_error));
+		break;
+#endif
+#ifdef T_OK_ACK
+	    case T_OK_ACK:	/* ok ack             */
+		GET (T_OK_ACK, ok_ack);
+		COMMA ();
+		tprintf ("CORRECT=");
+		printxval (transport_user_options,
+			   m.ok_ack.CORRECT_prim, "TI_???");
+		break;
+#endif
+#ifdef T_UNITDATA_IND
+	    case T_UNITDATA_IND:	/* unitdata ind       */
+		GET (T_UNITDATA_IND, unitdata_ind);
+		ADDR (unitdata_ind, SRC);
+		ADDR (unitdata_ind, OPT);
+		break;
+#endif
+#ifdef T_UDERROR_IND
+	    case T_UDERROR_IND:	/* unitdata error ind */
+		GET (T_UDERROR_IND, uderror_ind);
+		ADDR (uderror_ind, DEST);
+		ADDR (uderror_ind, OPT);
+		tprintf (", ERROR=%ld", m.uderror_ind.ERROR_type);
+		break;
+#endif
+#ifdef T_OPTMGMT_ACK
+	    case T_OPTMGMT_ACK:	/* manage opt ack     */
+		GET (T_OPTMGMT_ACK, optmgmt_ack);
+		COMMA ();
+		tprintf ("MGMT=");
+		printflags (transport_user_flags, m.optmgmt_ack.MGMT_flags,
+			    "T_???");
+		STRUCT (optmgmt_ack, OPT, print_optmgmt);
+		break;
+#endif
+#ifdef T_ORDREL_IND
+	case T_ORDREL_IND:	/* orderly rel ind    */
+		GET (T_ORDREL_IND, ordrel_ind);
+		break;
+#endif
+#ifdef T_ADDR_REQ
+	    case T_ADDR_REQ:	/* address req        */
+		GET (T_ADDR_REQ, addr_req);
+		break;
+#endif
+#ifdef T_ADDR_ACK
+	    case T_ADDR_ACK:	/* address response   */
+		GET (T_ADDR_ACK, addr_ack);
+		ADDR (addr_ack, LOCADDR);
+		ADDR (addr_ack, REMADDR);
+		break;
+#endif
+	    default:
+	    dump:
+		c = -1;
+		printstr(tcp, addr, len);
+		break;
+	}
+
+	if (c >= 0) tprintf ("}");
+
+#undef ADDR
+#undef COMMA
+#undef STRUCT
+
+	return 0;
+}
+
+
+#endif /* TI_BIND */
+
+
+static int internal_stream_ioctl(struct tcb *tcp, int arg)
+{
+	struct strioctl si;
+	struct ioctlent *iop;
+	int in_and_out;
+	int timod = 0;
+#ifdef SI_GETUDATA
+	struct si_udata udata;
+#endif /* SI_GETUDATA */
+
+	if (!arg)
+		return 0;
+	if (umove(tcp, arg, &si) < 0) {
+		if (entering(tcp))
+			tprintf(", {...}");
+		return 1;
+	}
+	if (entering(tcp)) {
+		iop = ioctl_lookup(si.ic_cmd);
+		if (iop) {
+			tprintf(", {ic_cmd=%s", iop->symbol);
+			while ((iop = ioctl_next_match(iop)))
+				tprintf(" or %s", iop->symbol);
+		} else
+			tprintf(", {ic_cmd=%#x", si.ic_cmd);
+		if (si.ic_timout == INFTIM)
+			tprintf(", ic_timout=INFTIM, ");
+		else
+			tprintf(" ic_timout=%d, ", si.ic_timout);
+	}
+	in_and_out = 1;
+	switch (si.ic_cmd) {
+#ifdef SI_GETUDATA
+	case SI_GETUDATA:
+		in_and_out = 0;
+		break;
+#endif /* SI_GETUDATA */
+	}
+	if (in_and_out) {
+		if (entering(tcp))
+			tprintf("/* in */ ");
+		else
+			tprintf(", /* out */ ");
+	}
+	if (in_and_out || entering(tcp))
+		tprintf("ic_len=%d, ic_dp=", si.ic_len);
+	switch (si.ic_cmd) {
+#ifdef TI_BIND
+	case TI_BIND:
+		/* in T_BIND_REQ, out T_BIND_ACK */
+		++timod;
+		if (entering(tcp)) {
+			print_transport_message (tcp,
+						 T_BIND_REQ,
+						 si.ic_dp, si.ic_len);
+		}
+		else {
+			print_transport_message (tcp,
+						 T_BIND_ACK,
+						 si.ic_dp, si.ic_len);
+		}
+		break;
+#endif /* TI_BIND */
+#ifdef TI_UNBIND
+	case TI_UNBIND:
+		/* in T_UNBIND_REQ, out T_OK_ACK */
+		++timod;
+		if (entering(tcp)) {
+			print_transport_message (tcp,
+						 T_UNBIND_REQ,
+						 si.ic_dp, si.ic_len);
+		}
+		else {
+			print_transport_message (tcp,
+						 T_OK_ACK,
+						 si.ic_dp, si.ic_len);
+		}
+		break;
+#endif /* TI_UNBIND */
+#ifdef TI_GETINFO
+	case TI_GETINFO:
+		/* in T_INFO_REQ, out T_INFO_ACK */
+		++timod;
+		if (entering(tcp)) {
+			print_transport_message (tcp,
+						 T_INFO_REQ,
+						 si.ic_dp, si.ic_len);
+		}
+		else {
+			print_transport_message (tcp,
+						 T_INFO_ACK,
+						 si.ic_dp, si.ic_len);
+		}
+		break;
+#endif /* TI_GETINFO */
+#ifdef TI_OPTMGMT
+	case TI_OPTMGMT:
+		/* in T_OPTMGMT_REQ, out T_OPTMGMT_ACK */
+		++timod;
+		if (entering(tcp)) {
+			print_transport_message (tcp,
+						 T_OPTMGMT_REQ,
+						 si.ic_dp, si.ic_len);
+		}
+		else {
+			print_transport_message (tcp,
+						 T_OPTMGMT_ACK,
+						 si.ic_dp, si.ic_len);
+		}
+		break;
+#endif /* TI_OPTMGMT */
+#ifdef SI_GETUDATA
+	case SI_GETUDATA:
+		if (entering(tcp))
+			break;
+		if (umove(tcp, (int) si.ic_dp, &udata) < 0)
+			tprintf("{...}");
+		else {
+			tprintf("{tidusize=%d, addrsize=%d, ",
+				udata.tidusize, udata.addrsize);
+			tprintf("optsize=%d, etsdusize=%d, ",
+				udata.optsize, udata.etsdusize);
+			tprintf("servtype=%d, so_state=%d, ",
+				udata.servtype, udata.so_state);
+			tprintf("so_options=%d", udata.so_options);
+			tprintf("}");
+		}
+		break;
+#endif /* SI_GETUDATA */
+	default:
+		printstr(tcp, (long) si.ic_dp, si.ic_len);
+		break;
+	}
+	if (exiting(tcp)) {
+		tprintf("}");
+		if (timod && tcp->u_rval && !syserror(tcp)) {
+			tcp->auxstr = xlookup (tli_errors, tcp->u_rval);
+			return RVAL_STR + 1;
+		}
+	}
+
+	return 1;
+}
+
+int
+stream_ioctl(tcp, code, arg)
+struct tcb *tcp;
+int code, arg;
+{
+#ifdef I_LIST
+	int i;
+#endif
+	int val;
+#ifdef I_FLUSHBAND
+	struct bandinfo bi;
+#endif
+	struct strpeek sp;
+	struct strfdinsert sfi;
+	struct strrecvfd srf;
+#ifdef I_LIST
+	struct str_list sl;
+#endif
+
+	/* I_STR is a special case because the data is read & written. */
+	if (code == I_STR)
+		return internal_stream_ioctl(tcp, arg);
+	if (entering(tcp))
+		return 0;
+
+	switch (code) {
+	case I_PUSH:
+	case I_LOOK:
+	case I_FIND:
+		/* arg is a string */
+		tprintf(", ");
+		printpath(tcp, arg);
+		return 1;
+	case I_POP:
+		/* doesn't take an argument */
+		return 1;
+	case I_FLUSH:
+		/* argument is an option */
+		tprintf(", ");
+		printxval(stream_flush_options, arg, "FLUSH???");
+		return 1;
+#ifdef I_FLUSHBAND
+	case I_FLUSHBAND:
+		/* argument is a pointer to a bandinfo struct */
+		if (umove(tcp, arg, &bi) < 0)
+			tprintf(", {...}");
+		else {
+			tprintf(", {bi_pri=%d, bi_flag=", bi.bi_pri);
+			printflags(stream_flush_options, bi.bi_flag, "FLUSH???");
+			tprintf("}");
+		}
+		return 1;
+#endif /* I_FLUSHBAND */
+	case I_SETSIG:
+		/* argument is a set of flags */
+		tprintf(", ");
+		printflags(stream_setsig_flags, arg, "S_???");
+		return 1;
+	case I_GETSIG:
+		/* argument is a pointer to a set of flags */
+		if (syserror(tcp))
+			return 0;
+		tprintf(", [");
+		if (umove(tcp, arg, &val) < 0)
+			tprintf("?");
+		else
+			printflags(stream_setsig_flags, val, "S_???");
+		tprintf("]");
+		return 1;
+	case I_PEEK:
+		/* argument is a pointer to a strpeek structure */
+		if (syserror(tcp) || !arg)
+			return 0;
+		if (umove(tcp, arg, &sp) < 0) {
+			tprintf(", {...}");
+			return 1;
+		}
+		tprintf(", {ctlbuf=");
+		printstrbuf(tcp, &sp.ctlbuf, 1);
+		tprintf(", databuf=");
+		printstrbuf(tcp, &sp.databuf, 1);
+		tprintf(", flags=");
+		printflags(msgflags, sp.flags, "RS_???");
+		tprintf("}");
+		return 1;
+	case I_SRDOPT:
+		/* argument is an option with flags */
+		tprintf(", ");
+		printxval(stream_read_options, arg & RMODEMASK, "R???");
+		addflags(stream_read_flags, arg & ~RMODEMASK);
+		return 1;
+	case I_GRDOPT:
+		/* argument is an pointer to an option with flags */
+		if (syserror(tcp))
+			return 0;
+		tprintf(", [");
+		if (umove(tcp, arg, &val) < 0)
+			tprintf("?");
+		else {
+			printxval(stream_read_options,
+				  arg & RMODEMASK, "R???");
+			addflags(stream_read_flags, arg & ~RMODEMASK);
+		}
+		tprintf("]");
+		return 1;
+	case I_NREAD:
+#ifdef I_GETBAND
+	case I_GETBAND:
+#endif
+#ifdef I_SETCLTIME
+	case I_SETCLTIME:
+#endif
+#ifdef I_GETCLTIME
+	case I_GETCLTIME:
+#endif
+		/* argument is a pointer to a decimal integer */
+		if (syserror(tcp))
+			return 0;
+		tprintf(", ");
+		printnum(tcp, arg, "%d");
+		return 1;
+	case I_FDINSERT:
+		/* argument is a pointer to a strfdinsert structure */
+		if (syserror(tcp) || !arg)
+			return 0;
+		if (umove(tcp, arg, &sfi) < 0) {
+			tprintf(", {...}");
+			return 1;
+		}
+		tprintf(", {ctlbuf=");
+		printstrbuf(tcp, &sfi.ctlbuf, 1);
+		tprintf(", databuf=");
+		printstrbuf(tcp, &sfi.databuf, 1);
+		tprintf(", flags=");
+		printflags(msgflags, sfi.flags, "RS_???");
+		tprintf(", filedes=%d, offset=%d}", sfi.fildes, sfi.offset);
+		return 1;
+#ifdef I_SWROPT
+	case I_SWROPT:
+		/* argument is a set of flags */
+		tprintf(", ");
+		printflags(stream_write_flags, arg, "SND???");
+		return 1;
+#endif /* I_SWROPT */
+#ifdef I_GWROPT
+	case I_GWROPT:
+		/* argument is an pointer to an option with flags */
+		if (syserror(tcp))
+			return 0;
+		tprintf(", [");
+		if (umove(tcp, arg, &val) < 0)
+			tprintf("?");
+		else
+			printflags(stream_write_flags, arg, "SND???");
+		tprintf("]");
+		return 1;
+#endif /* I_GWROPT */
+	case I_SENDFD:
+#ifdef I_CKBAND
+	case I_CKBAND:
+#endif
+#ifdef I_CANPUT
+	case I_CANPUT:
+#endif
+	case I_LINK:
+	case I_UNLINK:
+	case I_PLINK:
+	case I_PUNLINK:
+		/* argument is a decimal integer */
+		tprintf(", %d", arg);
+		return 1;
+	case I_RECVFD:
+		/* argument is a pointer to a strrecvfd structure */
+		if (syserror(tcp) || !arg)
+			return 0;
+		if (umove(tcp, arg, &srf) < 0) {
+			tprintf(", {...}");
+			return 1;
+		}
+		tprintf(", {fd=%d, uid=%lu, gid=%lu}", srf.fd,
+			(unsigned long) srf.uid, (unsigned long) srf.gid);
+		return 1;
+#ifdef I_LIST
+	case I_LIST:
+		if (syserror(tcp))
+			return 0;
+		if (arg == 0) {
+			tprintf(", NULL");
+			return 1;
+		}
+		if (umove(tcp, arg, &sl) < 0) {
+			tprintf(", {...}");
+			return 1;
+		}
+		tprintf(", {sl_nmods=%d, sl_modlist=[", sl.sl_nmods);
+		for (i = 0; i < tcp->u_rval; i++) {
+			if (i)
+				tprintf(", ");
+			printpath(tcp, (int) sl.sl_modlist[i].l_name);
+		}
+		tprintf("]}");
+		return 1;
+#endif /* I_LIST */
+#ifdef I_ATMARK
+	case I_ATMARK:
+		tprintf(", ");
+		printxval(stream_atmark_options, arg, "???MARK");
+		return 1;
+#endif /* I_ATMARK */
+	default:
+		return 0;
+	}
+}
+
+#endif /* !LINUX && !FREEBSD */
+
+#endif /* HAVE_SYS_STREAM_H || LINUX || FREEBSD */
diff --git a/strace-4.5.20/sunos4/dummy.h b/strace-4.5.20/sunos4/dummy.h
new file mode 100644
index 0000000..9f0259d
--- /dev/null
+++ b/strace-4.5.20/sunos4/dummy.h
@@ -0,0 +1,212 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+/* Obsolete syscalls */
+#define sys_otime	printargs
+#define sys_osetuid	printargs
+#define sys_ostime	printargs
+#define sys_oalarm	printargs
+#define sys_ofstat	printargs
+#define sys_opause	printargs
+#define sys_outime	printargs
+#define sys_onice	printargs
+#define sys_oftime	printargs
+#define sys_osetpgrp	printargs
+#define sys_otimes	printargs
+#define sys_osetgid	printargs
+#define sys_ossig	printargs
+#define sys_owait3	printargs
+#define sys_omsync	printargs
+#define sys_ovadvise	printargs
+#define sys_omadvise	printargs
+#define sys_ovlimit	printargs
+#define sys_owait	printargs
+#define sys_ovtimes	printargs
+#define sys_oldquota	printargs
+#define sys_getdirentries	printargs
+
+/* No interesting parameters or return values */
+#define sys_vhangup	printargs
+#define sys_sys_setsid	printargs
+#define sys_errsys	printargs
+#define sys_nosys	printargs
+
+/* Don't know what to do with these */
+#define sys_sstk	printargs
+#define sys_profil	printargs
+#define sys_vtrace	printargs
+#define sys_async_daemon printargs
+#define sys_nfs_getfh	printargs
+#define sys_rtschedule	printargs
+#define sys_auditsys	printargs
+#define sys_rfssys	printargs
+#define sys_vpixsys	printargs
+#define sys_getdopt	printargs
+#define sys_setdopt	printargs
+#define sys_semsys	printargs
+#define sys_msgsys	printargs
+#define sys_shmsys	printargs
+#define sys_semop	printargs
+
+#if DONE
+#define sys_rexit	printargs
+#define sys_indir	printargs
+#define sys_read	printargs
+#define sys_write	printargs
+#define sys_readv	printargs
+#define sys_writev	printargs
+#define sys_ioctl	printargs
+#define sys_fcntl	printargs
+#define sys_fstat	printargs
+#define sys_stat	printargs
+#define sys_lstat	printargs
+#define sys_open	printargs
+#define sys_creat	printargs
+#define sys_close	printargs
+#define sys_chdir	printargs
+#define sys_fchdir	printargs
+#define sys_mkdir	printargs
+#define sys_rmdir	printargs
+#define sys_chroot	printargs
+#define sys_fchroot	printargs
+#define sys_mknod	printargs
+#define sys_link	printargs
+#define sys_unlink	printargs
+#define sys_chown	printargs
+#define sys_fchown	printargs
+#define sys_chmod	printargs
+#define sys_fchmod	printargs
+#define sys_utimes	printargs
+#define sys_symlink	printargs
+#define sys_readlink	printargs
+#define sys_rename	printargs
+#define sys_getdents	printargs
+#define sys_truncate	printargs
+#define sys_ftruncate	printargs
+#define sys_access	printargs
+#define sys_lseek	printargs
+#define sys_socket	printargs
+#define sys_bind	printargs
+#define sys_connect	printargs
+#define sys_listen	printargs
+#define sys_accept	printargs
+#define sys_shutdown	printargs
+#define sys_send	printargs
+#define sys_sendto	printargs
+#define sys_sendmsg	printargs
+#define sys_recv	printargs
+#define sys_recvfrom	printargs
+#define sys_recvmsg	printargs
+#define sys_pipe	printargs
+#define sys_socketpair	printargs
+#define sys_setsockopt	printargs
+#define sys_getsockopt	printargs
+#define sys_getsockname	printargs
+#define sys_getpeername	printargs
+#define sys_gethostid	printargs
+#define sys_gethostname	printargs
+#define sys_sethostname	printargs
+#define sys_getpid	printargs
+#define sys_getdomainname	printargs
+#define sys_setdomainname	printargs
+#define sys_vfork	printargs
+#define sys_fork	printargs
+#define sys_getuid	printargs
+#define sys_getgid	printargs
+#define sys_setreuid	printargs
+#define sys_setregid	printargs
+#define sys_getgroups	printargs
+#define sys_setgroups	printargs
+#define sys_getpgrp	printargs
+#define sys_setpgrp	printargs
+#define sys_setpgid	printargs
+#define sys_execv	printargs
+#define sys_execve	printargs
+#define sys_wait4	printargs
+#define sys_uname	printargs
+#define sys_ptrace	printargs
+#define sys_brk		printargs
+#define sys_sbrk	printargs
+#define sys_mmap	printargs
+#define sys_munmap	printargs
+#define sys_mprotect	printargs
+#define sys_mctl	printargs
+#define sys_mincore	printargs
+#define sys_sigvec	printargs
+#define sys_sigblock	printargs
+#define sys_sigsetmask	printargs
+#define sys_sigpause	printargs
+#define sys_sigstack	printargs
+#define sys_sigcleanup	printargs
+#define sys_sigpending	printargs
+#define sys_kill	printargs
+#define sys_killpg	printargs
+#define sys_dup		printargs
+#define sys_dup2	printargs
+#define sys_getdtablesize	printargs
+#define sys_select	printargs
+#define sys_flock	printargs
+#define sys_umask	printargs
+#define sys_gettimeofday	printargs
+#define sys_settimeofday	printargs
+#define sys_getitimer	printargs
+#define sys_setitimer	printargs
+#define sys_adjtime	printargs
+#define sys_setpriority	printargs
+#define sys_getpriority	printargs
+#define sys_getrusage	printargs
+#define sys_getrlimit	printargs
+#define sys_setrlimit	printargs
+#define sys_quotactl	printargs
+#define sys_sysacct	printargs
+#define sys_reboot	printargs
+#define sys_sync	printargs
+#define sys_mount	printargs
+#define sys_umount	printargs
+#define sys_unmount	printargs
+#define sys_swapon	printargs
+#define sys_fsync	printargs
+#define sys_exportfs	printargs
+#define sys_nfs_svc	printargs
+#define sys_statfs	printargs
+#define sys_fstatfs	printargs
+#define sys_ustat	printargs
+#define sys_aioread	printargs
+#define sys_aiowrite	printargs
+#define sys_aiowait	printargs
+#define sys_aiocancel	printargs
+#define sys_getpagesize	printargs
+#define sys_pathconf	printargs
+#define sys_fpathconf	printargs
+#define sys_sysconf	printargs
+#define sys_getmsg	printargs
+#define sys_putmsg	printargs
+#define sys_poll	printargs
+#endif
diff --git a/strace-4.5.20/sunos4/errnoent.h b/strace-4.5.20/sunos4/errnoent.h
new file mode 100644
index 0000000..b90eb53
--- /dev/null
+++ b/strace-4.5.20/sunos4/errnoent.h
@@ -0,0 +1,91 @@
+	"ERRNO_0", /* 0 */
+	"EPERM", /* 1 */
+	"ENOENT", /* 2 */
+	"ESRCH", /* 3 */
+	"EINTR", /* 4 */
+	"EIO", /* 5 */
+	"ENXIO", /* 6 */
+	"E2BIG", /* 7 */
+	"ENOEXEC", /* 8 */
+	"EBADF", /* 9 */
+	"ECHILD", /* 10 */
+	"EAGAIN", /* 11 */
+	"ENOMEM", /* 12 */
+	"EACCES", /* 13 */
+	"EFAULT", /* 14 */
+	"ENOTBLK", /* 15 */
+	"EBUSY", /* 16 */
+	"EEXIST", /* 17 */
+	"EXDEV", /* 18 */
+	"ENODEV", /* 19 */
+	"ENOTDIR", /* 20 */
+	"EISDIR", /* 21 */
+	"EINVAL", /* 22 */
+	"ENFILE", /* 23 */
+	"EMFILE", /* 24 */
+	"ENOTTY", /* 25 */
+	"ETXTBSY", /* 26 */
+	"EFBIG", /* 27 */
+	"ENOSPC", /* 28 */
+	"ESPIPE", /* 29 */
+	"EROFS", /* 30 */
+	"EMLINK", /* 31 */
+	"EPIPE", /* 32 */
+	"EDOM", /* 33 */
+	"ERANGE", /* 34 */
+	"EWOULDBLOCK", /* 35 */
+	"EINPROGRESS", /* 36 */
+	"EALREADY", /* 37 */
+	"ENOTSOCK", /* 38 */
+	"EDESTADDRREQ", /* 39 */
+	"EMSGSIZE", /* 40 */
+	"EPROTOTYPE", /* 41 */
+	"ENOPROTOOPT", /* 42 */
+	"EPROTONOSUPPORT", /* 43 */
+	"ESOCKTNOSUPPORT", /* 44 */
+	"EOPNOTSUPP", /* 45 */
+	"EPFNOSUPPORT", /* 46 */
+	"EAFNOSUPPORT", /* 47 */
+	"EADDRINUSE", /* 48 */
+	"EADDRNOTAVAIL", /* 49 */
+	"ENETDOWN", /* 50 */
+	"ENETUNREACH", /* 51 */
+	"ENETRESET", /* 52 */
+	"ECONNABORTED", /* 53 */
+	"ECONNRESET", /* 54 */
+	"ENOBUFS", /* 55 */
+	"EISCONN", /* 56 */
+	"ENOTCONN", /* 57 */
+	"ESHUTDOWN", /* 58 */
+	"ETOOMANYREFS", /* 59 */
+	"ETIMEDOUT", /* 60 */
+	"ECONNREFUSED", /* 61 */
+	"ELOOP", /* 62 */
+	"ENAMETOOLONG", /* 63 */
+	"EHOSTDOWN", /* 64 */
+	"EHOSTUNREACH", /* 65 */
+	"ENOTEMPTY", /* 66 */
+	"EPROCLIM", /* 67 */
+	"EUSERS", /* 68 */
+	"EDQUOT", /* 69 */
+	"ESTALE", /* 70 */
+	"EREMOTE", /* 71 */
+	"ENOSTR", /* 72 */
+	"ETIME", /* 73 */
+	"ENOSR", /* 74 */
+	"ENOMSG", /* 75 */
+	"EBADMSG", /* 76 */
+	"EIDRM", /* 77 */
+	"EDEADLK", /* 78 */
+	"ENOLCK", /* 79 */
+	"ENONET", /* 80 */
+	"ERREMOTE", /* 81 */
+	"ENOLINK", /* 82 */
+	"EADV", /* 83 */
+	"ESRMNT", /* 84 */
+	"ECOMM", /* 85 */
+	"EPROTO", /* 86 */
+	"EMULTIHOP", /* 87 */
+	"EDOTDOT", /* 88 */
+	"EREMCHG", /* 89 */
+	"ENOSYS", /* 90 */
diff --git a/strace-4.5.20/sunos4/ioctlent.h b/strace-4.5.20/sunos4/ioctlent.h
new file mode 100644
index 0000000..6bfc79b
--- /dev/null
+++ b/strace-4.5.20/sunos4/ioctlent.h
@@ -0,0 +1,493 @@
+{"sun/audioio.h", "AUDIO_DRAIN", 0x20004103},
+{"sun/isdnio.h", "ISDN_PH_ACTIVATE_REQ", 0x2000410a},
+{"sun/isdnio.h", "ISDN_MPH_DEACTIVATE_REQ", 0x2000410b},
+{"sun/fbio.h", "FBIO_WID_DBL_SET", 0x20004625},
+{"pixrect/gp1var.h", "GP1IO_SCMAP", 0x20004766},
+{"sun/mem.h", "MM_HRCNT", 0x20004d02},
+{"sundev/openpromio.h", "OPROMGETOPT", 0x20004f01},
+{"sundev/openpromio.h", "OPROMSETOPT", 0x20004f02},
+{"sundev/openpromio.h", "OPROMNXTOPT", 0x20004f03},
+{"sundev/openpromio.h", "OPROMSETOPT2", 0x20004f04},
+{"sundev/openpromio.h", "OPROMNEXT", 0x20004f05},
+{"sundev/openpromio.h", "OPROMCHILD", 0x20004f06},
+{"sundev/openpromio.h", "OPROMGETPROP", 0x20004f07},
+{"sundev/openpromio.h", "OPROMNXTPROP", 0x20004f08},
+{"sundev/openpromio.h", "OPROMU2P", 0x20004f09},
+{"sundev/openpromio.h", "OPROMGETCONS", 0x20004f0a},
+{"stropts.h", "I_POP", 0x20005303},
+{"sys/stropts.h", "I_POP", 0x20005303},
+{"stropts.h", "I_FLUSH", 0x20005305},
+{"sys/stropts.h", "I_FLUSH", 0x20005305},
+{"sys/stropts.h", "I_SRDOPT", 0x20005306},
+{"stropts.h", "I_SRDOPT", 0x20005306},
+{"sys/stropts.h", "I_SETSIG", 0x20005309},
+{"stropts.h", "I_SETSIG", 0x20005309},
+{"sys/stropts.h", "I_LINK", 0x2000530c},
+{"stropts.h", "I_LINK", 0x2000530c},
+{"sys/stropts.h", "I_UNLINK", 0x2000530d},
+{"stropts.h", "I_UNLINK", 0x2000530d},
+{"sys/stropts.h", "I_SENDFD", 0x20005311},
+{"stropts.h", "I_SENDFD", 0x20005311},
+{"sys/stropts.h", "I_PLINK", 0x20005313},
+{"stropts.h", "I_PLINK", 0x20005313},
+{"stropts.h", "I_PUNLINK", 0x20005314},
+{"sys/stropts.h", "I_PUNLINK", 0x20005314},
+{"termio.h", "TCSBRK", 0x20005405},
+{"sys/termio.h", "TCSBRK", 0x20005405},
+{"termios.h", "TCXONC", 0x20005406},
+{"sys/termios.h", "TCXONC", 0x20005406},
+{"sys/termios.h", "TCFLSH", 0x20005407},
+{"termios.h", "TCFLSH", 0x20005407},
+{"sun/tvio.h", "TVIOGRAB", 0x2000581d},
+{"sun/tvio.h", "TVIORELEASE", 0x2000581e},
+{"sun/tvio.h", "TVIOREDIRECT", 0x20005822},
+{"sun/tvio.h", "TVIOSYNC", 0x20005825},
+{"sun/tvio.h", "TVIOVWAIT", 0x2000582d},
+{"sun/tvio.h", "TVIOSLOOPBACKCAL", 0x2000583d},
+{"sbusdev/bpp_io.h", "BPPIOC_TESTIO", 0x20006206},
+{"scsi/targets/srdef.h", "CDROMPAUSE", 0x2000630a},
+{"sundev/srreg.h", "CDROMPAUSE", 0x2000630a},
+{"sundev/srreg.h", "CDROMRESUME", 0x2000630b},
+{"sundev/srreg.h", "CDROMSTOP", 0x20006369},
+{"scsi/targets/srdef.h", "CDROMSTOP", 0x20006369},
+{"scsi/targets/srdef.h", "CDROMSTART", 0x2000636a},
+{"sundev/srreg.h", "CDROMSTART", 0x2000636a},
+{"scsi/targets/srdef.h", "CDROMEJECT", 0x2000636b},
+{"sundev/srreg.h", "CDROMEJECT", 0x2000636b},
+{"sun/dkio.h", "FDKEJECT", 0x20006470},
+{"sys/filio.h", "FIOCLEX", 0x20006601},
+{"sys/filio.h", "FIONCLEX", 0x20006602},
+{"sys/filio.h", "FIOLFS", 0x20006640},
+{"sys/filio.h", "FIOLFSS", 0x20006641},
+{"sys/filio.h", "FIOFFS", 0x20006642},
+{"sys/filio.h", "FIOAI", 0x20006643},
+{"sys/filio.h", "FIODUTIMES", 0x20006644},
+{"sys/filio.h", "FIODIO", 0x20006645},
+{"sys/filio.h", "FIODIOS", 0x20006646},
+{"sunwindow/win_ioctl.h", "WININSERT", 0x20006703},
+{"sunwindow/win_ioctl.h", "WINREMOVE", 0x20006704},
+{"sunwindow/win_ioctl.h", "WINCOMPUTECLIPPING", 0x20006712},
+{"sunwindow/win_ioctl.h", "WINLOCKDATA", 0x20006715},
+{"sunwindow/win_ioctl.h", "WINUNLOCKDATA", 0x20006716},
+{"sunwindow/win_ioctl.h", "WINGRABIO", 0x20006717},
+{"sunwindow/win_ioctl.h", "WINRELEASEIO", 0x20006718},
+{"sunwindow/win_ioctl.h", "WINUNLOCKEVENT", 0x2000671c},
+{"sunwindow/win_ioctl.h", "WINUNLOCKSCREEN", 0x2000671e},
+{"sunwindow/win_ioctl.h", "WINSCREENDESTROY", 0x2000672a},
+{"sunwindow/win_ioctl.h", "WINPRINT", 0x2000672c},
+{"sunwindow/win_ioctl.h", "WINREFUSEKBDFOCUS", 0x2000673a},
+{"sunwindow/win_ioctl.h", "WINDBLACCESS", 0x20006747},
+{"sunwindow/win_ioctl.h", "WINDBLFLIP", 0x20006748},
+{"sunwindow/win_ioctl.h", "WINDBLABSORB", 0x20006749},
+{"sunwindow/win_ioctl.h", "WINDBLRLSE", 0x2000674a},
+{"sunwindow/win_ioctl.h", "WINSHAREQUEUE", 0x20006750},
+{"sunwindow/win_ioctl.h", "WINDISCONNECT", 0x20006798},
+{"sunwindow/win_ioctl.h", "WINRECONNECT", 0x20006799},
+{"sun/ndio.h", "NDIOCSON", 0x20006e00},
+{"sun/ndio.h", "NDIOCSOFF", 0x20006e01},
+{"sun/ndio.h", "NDIOCCLEAR", 0x20006e05},
+{"net/nit_buf.h", "NIOCCTIME", 0x20007008},
+{"sys/ttold.h", "TIOCHPCL", 0x20007402},
+{"sbusdev/gtreg.h", "FB_SETSERVER", 0x20007407},
+{"sys/ttold.h", "TIOCEXCL", 0x2000740d},
+{"sys/ttold.h", "TIOCNXCL", 0x2000740e},
+{"sbusdev/gtreg.h", "FB_DISCONNECT", 0x20007410},
+{"sbusdev/gtreg.h", "FB_UNGRABHW", 0x20007414},
+{"sys/ttycom.h", "TIOCCONS", 0x20007424},
+{"sys/ttold.h", "_O_TIOCCONS", 0x20007468},
+{"sys/ttold.h", "TIOCSTART", 0x2000746e},
+{"sys/ttold.h", "TIOCSTOP", 0x2000746f},
+{"sys/ttycom.h", "TIOCNOTTY", 0x20007471},
+{"sys/ttold.h", "TIOCCDTR", 0x20007478},
+{"sys/ttold.h", "TIOCSDTR", 0x20007479},
+{"sys/ttold.h", "TIOCCBRK", 0x2000747a},
+{"sys/ttold.h", "TIOCSBRK", 0x2000747b},
+{"sys/ttycom.h", "TIOCSCTTY", 0x20007484},
+{"sun/gpio.h", "GP1IO_GET_TRUMINORDEV", 0x40014708},
+{"sundev/kbio.h", "KIOCGLED", 0x40016b0f},
+{"sundev/ppreg.h", "PPIOCGETS", 0x40017000},
+{"sundev/ppreg.h", "PPIOCGETC", 0x40017001},
+{"sun/gpio.h", "GP1IO_GET_REQDEV", 0x40024707},
+{"sun/tvio.h", "TVIOGBIND", 0x4002581f},
+{"sbusdev/bpp_io.h", "BPPIOC_GETOUTPINS", 0x40026204},
+{"sundev/srreg.h", "CDROMREADTOCHDR", 0x40026367},
+{"sbusdev/bpp_io.h", "BPPIOC_GETERR", 0x40036205},
+{"sun/audioio.h", "AUDIO_GETDEV", 0x40044104},
+{"sun/fbio.h", "FBIOGVIDEO", 0x40044608},
+{"sun/fbio.h", "GRABPAGEALLOC", 0x4004460a},
+{"sun/fbio.h", "FBIOGPLNGRP", 0x4004460d},
+{"sun/fbio.h", "FBIOGCMSIZE", 0x4004460e},
+{"sun/fbio.h", "FBIOAVAILPLNGRP", 0x40044611},
+{"sun/fbio.h", "FBIOSWINFD", 0x40044614},
+{"sun/fbio.h", "FBIOSAVWINFD", 0x40044615},
+{"sun/fbio.h", "FBIORESWINFD", 0x40044616},
+{"sun/fbio.h", "FBIOSRWINFD", 0x40044617},
+{"sun/fbio.h", "FBIOGCURMAX", 0x4004461c},
+{"sun/fbio.h", "GRABLOCKINFO", 0x4004461d},
+{"sun/fbio.h", "FBIO_DEVID", 0x40044622},
+{"sun/fbio.h", "FBIO_FULLSCREEN_ELIMINATION_GROUPS", 0x40044624},
+{"sun/fbio.h", "FBIOVRTOFFSET", 0x40044626},
+{"sun/gpio.h", "GP1IO_GET_STATIC_BLOCK", 0x40044701},
+{"sun/gpio.h", "GP1IO_GET_GBUFFER_STATE", 0x40044703},
+{"sun/gpio.h", "GP1IO_GET_RESTART_COUNT", 0x40044705},
+{"sun/gpio.h", "GP1IO_CHK_FOR_GBUFFER", 0x40044709},
+{"stropts.h", "I_NREAD", 0x40045301},
+{"sys/stropts.h", "I_NREAD", 0x40045301},
+{"sys/stropts.h", "I_GRDOPT", 0x40045307},
+{"stropts.h", "I_GRDOPT", 0x40045307},
+{"sys/stropts.h", "I_GETSIG", 0x4004530a},
+{"stropts.h", "I_GETSIG", 0x4004530a},
+{"sun/tvio.h", "TVIOGFORMAT", 0x40045801},
+{"sun/tvio.h", "TVIOGCOMPOUT", 0x40045803},
+{"sun/tvio.h", "TVIOGSYNC", 0x40045805},
+{"pixrect/cg8var.h", "PIPIO_G_PIP_ON_OFF", 0x40045805},
+{"sun/tvio.h", "TVIOGOUT", 0x40045807},
+{"sun/tvio.h", "TVIOGCOMPRESS", 0x40045809},
+{"pixrect/cg8var.h", "PIPIO_G_PIP_ON_OFF_RESUME", 0x40045809},
+{"pixrect/cg8var.h", "PIPIO_G_PIP_ON_OFF_SUSPEND", 0x4004580a},
+{"sun/tvio.h", "TVIOGCHROMAGAIN", 0x4004580b},
+{"sun/tvio.h", "TVIOGREDGAIN", 0x4004580d},
+{"sun/tvio.h", "TVIOGREDBLACK", 0x4004580f},
+{"sun/tvio.h", "TVIOGGREENGAIN", 0x40045811},
+{"sun/tvio.h", "TVIOGGREENBLACK", 0x40045813},
+{"sun/tvio.h", "TVIOGBLUEGAIN", 0x40045815},
+{"sun/tvio.h", "TVIOGBLUEBLACK", 0x40045817},
+{"sun/tvio.h", "TVIOGLUMAGAIN", 0x40045819},
+{"sun/tvio.h", "TVIOGBTYPE", 0x40045821},
+{"sun/tvio.h", "TVIOGLIVE", 0x40045823},
+{"sun/tvio.h", "TVIOGCHROMASEP", 0x40045827},
+{"pixrect/cg8var.h", "PIPIO_G_CURSOR_COLOR_FREEZE", 0x40045828},
+{"sun/tvio.h", "TVIOGCHROMADEMOD", 0x40045829},
+{"pixrect/cg8var.h", "PIPIO_G_TEST", 0x4004582b},
+{"sun/tvio.h", "TVIOGGENLOCK", 0x4004582b},
+{"sun/tvio.h", "TVIOGSYNCABSENT", 0x4004582e},
+{"sun/tvio.h", "TVIOGBURSTABSENT", 0x4004582f},
+{"sun/tvio.h", "TVIOGIBSTATE", 0x40045837},
+{"sun/tvio.h", "TVIOGABSTATE", 0x40045839},
+{"sun/tvio.h", "TVIOGCONTROL", 0x4004583b},
+{"sun/dkio.h", "FDKGETCHANGE", 0x4004646f},
+{"sys/filio.h", "FIOGETOWN", 0x4004667b},
+{"sys/filio.h", "FIONREAD", 0x4004667f},
+{"sunwindow/win_ioctl.h", "WINGETUSERFLAGS", 0x4004670e},
+{"sunwindow/win_ioctl.h", "WINGETOWNER", 0x40046710},
+{"sunwindow/win_ioctl.h", "WINGETBUTTONORDER", 0x40046724},
+{"sunwindow/win_ioctl.h", "WINGETNEXTINPUT", 0x40046739},
+{"sunwindow/win_ioctl.h", "WINGETPLANEGROUP", 0x40046740},
+{"sunwindow/win_ioctl.h", "WINGETNOTIFYALL", 0x40046751},
+{"sundev/kbio.h", "KIOCGTRANS", 0x40046b05},
+{"sundev/kbio.h", "KIOCGTRANSABLE", 0x40046b07},
+{"sundev/kbio.h", "KIOCTYPE", 0x40046b09},
+{"sundev/kbio.h", "KIOCGDIRECT", 0x40046b0b},
+{"sundev/kbio.h", "KIOCGCOMPAT", 0x40046b11},
+{"sundev/kbio.h", "KIOCLAYOUT", 0x40046b14},
+{"sys/sockio.h", "SIOCGHIWAT", 0x40047301},
+{"sys/sockio.h", "SIOCGLOWAT", 0x40047303},
+{"sys/sockio.h", "SIOCATMARK", 0x40047307},
+{"sys/sockio.h", "SIOCGPGRP", 0x40047309},
+{"sys/ttold.h", "TIOCGETD", 0x40047400},
+{"sys/ttold.h", "TIOCMODG", 0x40047403},
+{"sbusdev/gtreg.h", "FB_GETWPART", 0x4004740a},
+{"sbusdev/gtreg.h", "FB_GETMONITOR", 0x4004740c},
+{"sbusdev/gtreg.h", "FB_GRABHW", 0x40047413},
+{"sbusdev/gtreg.h", "FB_GETCLUTPART", 0x40047418},
+{"sys/ttold.h", "TIOCGETX", 0x40047423},
+{"sys/ttycom.h", "TIOCGSOFTCAR", 0x40047464},
+{"sys/ttycom.h", "TIOCMGET", 0x4004746a},
+{"sys/ttycom.h", "TIOCOUTQ", 0x40047473},
+{"sys/ttycom.h", "TIOCGPGRP", 0x40047477},
+{"sys/ttold.h", "TIOCLGET", 0x4004747c},
+{"sys/ttycom.h", "TIOCISPACE", 0x40047480},
+{"sys/ttycom.h", "TIOCISIZE", 0x40047481},
+{"sys/ttycom.h", "TIOCGETPGRP", 0x40047483},
+{"sys/vcmd.h", "VGETSTATE", 0x40047600},
+{"sundev/vuid_event.h", "VUIDGFORMAT", 0x40047602},
+{"sun/dkio.h", "DKIOCGTYPE", 0x4006647c},
+{"sys/ttold.h", "TIOCGETP", 0x40067408},
+{"sys/ttold.h", "TIOCGETC", 0x40067412},
+{"sys/ttold.h", "TIOCGLTC", 0x40067474},
+{"sun/tvio.h", "TVIOGPOS", 0x4008581b},
+{"sun/dkio.h", "DKIOCGPART", 0x40086404},
+{"sun/dkio.h", "FDKGETSEARCH", 0x4008646c},
+{"sunwindow/win_ioctl.h", "WINNEXTFREE", 0x40086705},
+{"sunwindow/win_ioctl.h", "WINGETRECT", 0x4008670a},
+{"sunwindow/win_ioctl.h", "WINGETSAVEDRECT", 0x4008670d},
+{"sunwindow/win_ioctl.h", "WINGETEVENTTIMEOUT", 0x4008673c},
+{"sunwindow/win_ioctl.h", "WINDBLCURRENT", 0x4008674d},
+{"sun/sqz.h", "SQZGET", 0x40087102},
+{"sbusdev/gtreg.h", "FB_GETLIGHTPENPARAM", 0x4008741b},
+{"sbusdev/gtreg.h", "FB_GETGAMMA", 0x40087420},
+{"sys/ttycom.h", "TIOCGSIZE", 0x40087426},
+{"sys/ttold.h", "_O_TIOCGSIZE", 0x40087466},
+{"sys/ttycom.h", "TIOCGWINSZ", 0x40087468},
+{"sun/dkio.h", "DKIOCINFO", 0x400c6408},
+{"sun/dkio.h", "DKIOCGDIAG", 0x400c6474},
+{"sun/dkio.h", "DKIOCGLOG", 0x400c6476},
+{"sunwindow/win_ioctl.h", "WINGETFOCUSEVENT", 0x400c6747},
+{"sunwindow/win_ioctl.h", "WINGETSWALLOWEVENT", 0x400c6749},
+{"pixrect/cg8var.h", "PIPIO_G_EMULATION_MODE", 0x400e5803},
+{"sun/fbio.h", "FBIOGXINFO", 0x40104627},
+{"sys/stropts.h", "I_RECVFD", 0x40105312},
+{"stropts.h", "I_RECVFD", 0x40105312},
+{"sunwindow/win_ioctl.h", "WINGETSCREENPOSITIONS", 0x4010672d},
+{"scsi/targets/stdef.h", "STIOCGET", 0x40106d02},
+{"sundev/streg.h", "STIOCGET", 0x40106d02},
+{"sys/termio.h", "TCGETA", 0x40125401},
+{"termio.h", "TCGETA", 0x40125401},
+{"sunwindow/win_ioctl.h", "WINGETAVAILPLANEGROUPS", 0x40146742},
+{"sun/fbio.h", "FBIOGTYPE", 0x40184600},
+{"sun/fbio.h", "FBIOGINFO", 0x40184602},
+{"sun/fbio.h", "FBIODBLGINFO", 0x40184612},
+{"sys/mtio.h", "MTIOCGET", 0x40186d02},
+{"sun/dkio.h", "FDKIOGCHAR", 0x401c6472},
+{"sun/fbio.h", "FBIOMONINFO", 0x40204628},
+{"sbusdev/bpp_io.h", "BPPIOC_GETPARMS", 0x40206202},
+{"sbusdev/gtreg.h", "FB_GT_GETVERSION", 0x40207429},
+{"sys/termios.h", "TCGETS", 0x40245408},
+{"termios.h", "TCGETS", 0x40245408},
+{"sun/dkio.h", "DKIOCGGEOM", 0x40266402},
+{"sunwindow/win_ioctl.h", "WINGETKBDMASK", 0x40346734},
+{"sunwindow/win_ioctl.h", "WINGETPICKMASK", 0x40346735},
+{"sun/dkio.h", "FDKGETDRIVECHAR", 0x4038646e},
+{"sun/dkio.h", "DKIOCGCONF", 0x403c647e},
+{"sun/tvio.h", "TVIOGVIDEOCAL", 0x40405831},
+{"sun/tvio.h", "TVIONVREAD", 0x40405833},
+{"sun/dkio.h", "DKIOCGAPART", 0x4040647a},
+{"sunwindow/win_ioctl.h", "WINGETSCALING", 0x40406726},
+{"sun/fbio.h", "FBIOGATTR", 0x40584606},
+{"sunwindow/win_ioctl.h", "WINSCREENGET", 0x40646729},
+{"sunwindow/win_ioctl.h", "WINGETINPUTMASK", 0x406c6713},
+{"sun/audioio.h", "AUDIO_GETINFO", 0x40844101},
+{"pixrect/cg8var.h", "PIPIO_G_FB_INFO", 0x40d05801},
+{"sundev/kbio.h", "KIOCSLED", 0x80016b0e},
+{"sundev/ppreg.h", "PPIOCSETC", 0x80017002},
+{"sys/ttycom.h", "TIOCSTI", 0x80017472},
+{"sun/tvio.h", "TVIOSBIND", 0x80025820},
+{"sbusdev/bpp_io.h", "BPPIOC_SETOUTPINS", 0x80026203},
+{"sun/isdnio.h", "ISDN_MESSAGE_SET", 0x8004410c},
+{"sun/fbio.h", "FBIOSVIDEO", 0x80044607},
+{"sun/fbio.h", "FBIOVERTICAL", 0x80044609},
+{"sun/fbio.h", "GRABPAGEFREE", 0x8004460b},
+{"sun/fbio.h", "GRABATTACH", 0x8004460c},
+{"sun/fbio.h", "FBIOSCMSIZE", 0x8004460f},
+{"sun/fbio.h", "FBIOSCMS", 0x80044610},
+{"sun/fbio.h", "FBIOSCURPOS", 0x8004461a},
+{"sun/fbio.h", "FBIOGCURPOS", 0x8004461b},
+{"sun/fbio.h", "FBIO_U_RST", 0x80044623},
+{"sun/gpio.h", "GP1IO_FREE_STATIC_BLOCK", 0x80044702},
+{"sun/gpio.h", "GP1IO_CHK_GP", 0x80044704},
+{"sun/gpio.h", "GP1IO_REDIRECT_DEVFB", 0x80044706},
+{"sun/gpio.h", "GP1IO_SET_USING_GBUFFER", 0x8004470a},
+{"sun/mem.h", "MM_CCRW", 0x80044d03},
+{"sun/mem.h", "MM_PCNT0", 0x80044d04},
+{"sun/mem.h", "MM_PCNT1", 0x80044d05},
+{"sun/vddrv.h", "VDFREEVADDR", 0x80045604},
+{"sun/tvio.h", "TVIOSFORMAT", 0x80045802},
+{"sun/tvio.h", "TVIOSCOMPOUT", 0x80045804},
+{"sun/tvio.h", "TVIOSSYNC", 0x80045806},
+{"pixrect/cg8var.h", "PIPIO_S_PIP_ON_OFF", 0x80045807},
+{"sun/tvio.h", "TVIOSOUT", 0x80045808},
+{"sun/tvio.h", "TVIOSCOMPRESS", 0x8004580a},
+{"sun/tvio.h", "TVIOSCHROMAGAIN", 0x8004580c},
+{"sun/tvio.h", "TVIOSREDGAIN", 0x8004580e},
+{"sun/tvio.h", "TVIOSREDBLACK", 0x80045810},
+{"sun/tvio.h", "TVIOSGREENGAIN", 0x80045812},
+{"sun/tvio.h", "TVIOSGREENBLACK", 0x80045814},
+{"sun/tvio.h", "TVIOSBLUEGAIN", 0x80045816},
+{"sun/tvio.h", "TVIOSBLUEBLACK", 0x80045818},
+{"sun/tvio.h", "TVIOSLUMAGAIN", 0x8004581a},
+{"sun/tvio.h", "TVIOSLIVE", 0x80045824},
+{"sun/tvio.h", "TVIOSCHROMASEP", 0x80045828},
+{"pixrect/cg8var.h", "PIPIO_S_CURSOR_COLOR_FREEZE", 0x80045829},
+{"pixrect/cg8var.h", "PIPIO_S_MAP_SLOT", 0x8004582a},
+{"sun/tvio.h", "TVIOSCHROMADEMOD", 0x8004582a},
+{"pixrect/cg8var.h", "PIPIO_S_TEST", 0x8004582c},
+{"sun/tvio.h", "TVIOSGENLOCK", 0x8004582c},
+{"sun/tvio.h", "TVIOSIBADVANCE", 0x80045835},
+{"sun/tvio.h", "TVIOSABSTATE", 0x80045838},
+{"sun/tvio.h", "TVIOSCONTROL", 0x8004583c},
+{"sundev/srreg.h", "CDROMPLAYTRKIND", 0x8004630d},
+{"scsi/targets/srdef.h", "CDROMPLAYTRKIND", 0x8004630d},
+{"sundev/srreg.h", "CDROMVOLCTRL", 0x8004630e},
+{"sun/dkio.h", "DKIOCGBAD", 0x80046478},
+{"sun/dkio.h", "DKIOCSBAD", 0x80046479},
+{"sys/filio.h", "FIOSETOWN", 0x8004667c},
+{"sys/filio.h", "FIOASYNC", 0x8004667d},
+{"sys/filio.h", "FIONBIO", 0x8004667e},
+{"sunwindow/win_ioctl.h", "WINSETMOUSE", 0x80046706},
+{"sunwindow/win_ioctl.h", "WINSETUSERFLAGS", 0x8004670f},
+{"sunwindow/win_ioctl.h", "WINSETOWNER", 0x80046711},
+{"sunwindow/win_ioctl.h", "WINDONEDAMAGED", 0x80046721},
+{"sunwindow/win_ioctl.h", "WINSETBUTTONORDER", 0x80046725},
+{"sunwindow/win_ioctl.h", "WINSETNEXTINPUT", 0x80046738},
+{"sunwindow/win_ioctl.h", "WINSETKBDFOCUS", 0x8004673d},
+{"sunwindow/win_ioctl.h", "WINSETPLANEGROUP", 0x8004673f},
+{"sunwindow/win_ioctl.h", "WINSETNOTIFYALL", 0x80046752},
+{"sunwindow/win_ioctl.h", "WINSETRECQUE", 0x800467c8},
+{"sunwindow/win_ioctl.h", "WINSETRECORD", 0x800467c9},
+{"sunwindow/win_ioctl.h", "WINSETPLAYBACK", 0x800467cb},
+{"sys/sockio.h", "SIOCSPROMISC", 0x80046930},
+{"sundev/kbio.h", "KIOCTRANS", 0x80046b00},
+{"sundev/kbio.h", "KIOCTRANSABLE", 0x80046b06},
+{"sundev/kbio.h", "KIOCCMD", 0x80046b08},
+{"sundev/kbio.h", "KIOCSDIRECT", 0x80046b0a},
+{"sundev/kbio.h", "KIOCSCOMPAT", 0x80046b10},
+{"sun/ndio.h", "NDIOCSAT", 0x80046e04},
+{"sun/ndio.h", "NDIOCVER", 0x80046e07},
+{"net/nit_if.h", "NIOCSFLAGS", 0x80047004},
+{"net/nit_if.h", "NIOCSSNAP", 0x80047006},
+{"net/nit_buf.h", "NIOCSCHUNK", 0x80047009},
+{"sun/sqz.h", "SQZSET", 0x80047101},
+{"sys/sockio.h", "SIOCSHIWAT", 0x80047300},
+{"sys/sockio.h", "SIOCSLOWAT", 0x80047302},
+{"sys/sockio.h", "SIOCSPGRP", 0x80047308},
+{"sys/ttold.h", "TIOCSETD", 0x80047401},
+{"sys/ttold.h", "TIOCMODS", 0x80047404},
+{"sbusdev/gtreg.h", "FB_FCSFREE", 0x80047406},
+{"sbusdev/gtreg.h", "FB_SETDIAGMODE", 0x80047408},
+{"sbusdev/gtreg.h", "FB_SETWPART", 0x80047409},
+{"sbusdev/gtreg.h", "FB_SETMONITOR", 0x8004740b},
+{"sys/ttold.h", "TIOCFLUSH", 0x80047410},
+{"sbusdev/gtreg.h", "FB_LOADKMCB", 0x80047411},
+{"sbusdev/gtreg.h", "FB_SETCLUTPART", 0x80047417},
+{"sbusdev/gtreg.h", "FB_LIGHTPENENABLE", 0x80047419},
+{"sys/ttycom.h", "TIOCTCNTL", 0x80047420},
+{"sys/ttycom.h", "TIOCSIGNAL", 0x80047421},
+{"sys/ttold.h", "TIOCSETX", 0x80047422},
+{"sys/ttycom.h", "TIOCSSOFTCAR", 0x80047465},
+{"sys/ttycom.h", "TIOCUCNTL", 0x80047466},
+{"sys/ttycom.h", "TIOCREMOTE", 0x80047469},
+{"sys/ttycom.h", "TIOCMBIC", 0x8004746b},
+{"sys/ttycom.h", "TIOCMBIS", 0x8004746c},
+{"sys/ttycom.h", "TIOCMSET", 0x8004746d},
+{"sys/ttycom.h", "TIOCPKT", 0x80047470},
+{"sys/ttycom.h", "TIOCSPGRP", 0x80047476},
+{"sys/ttold.h", "TIOCLSET", 0x8004747d},
+{"sys/ttold.h", "TIOCLBIC", 0x8004747e},
+{"sys/ttold.h", "TIOCLBIS", 0x8004747f},
+{"sys/ttycom.h", "TIOCSETPGRP", 0x80047482},
+{"sundev/vuid_event.h", "VUIDSFORMAT", 0x80047601},
+{"sys/vcmd.h", "VSETSTATE", 0x80047601},
+{"sundev/vuid_event.h", "VUIDSADDR", 0x80047603},
+{"scsi/targets/srdef.h", "CDROMPLAYMSF", 0x8006630c},
+{"sundev/srreg.h", "CDROMPLAYMSF", 0x8006630c},
+{"sun/dkio.h", "DKIOCSTYPE", 0x8006647d},
+{"sys/ttold.h", "TIOCSETP", 0x80067409},
+{"sys/ttold.h", "TIOCSETN", 0x8006740a},
+{"sys/ttold.h", "TIOCSETC", 0x80067411},
+{"sys/ttold.h", "TIOCSLTC", 0x80067475},
+{"sun/isdnio.h", "ISDN_SET_LOOPBACK", 0x8008410e},
+{"sun/isdnio.h", "ISDN_RESET_LOOPBACK", 0x8008410f},
+{"sundev/lightpenreg.h", "LIGHTPEN_CALIBRATE", 0x80084c01},
+{"sun/tvio.h", "TVIOSPOS", 0x8008581c},
+{"sun/dkio.h", "DKIOCSPART", 0x80086405},
+{"sun/dkio.h", "FDKSETSEARCH", 0x8008646b},
+{"sunwindow/win_ioctl.h", "WINSETLINK", 0x80086701},
+{"sunwindow/win_ioctl.h", "WINSETRECT", 0x8008670b},
+{"sunwindow/win_ioctl.h", "WINSETSAVEDRECT", 0x8008670c},
+{"sunwindow/win_ioctl.h", "WINPARTIALREPAIR", 0x8008672b},
+{"sunwindow/win_ioctl.h", "WINSETEVENTTIMEOUT", 0x8008673b},
+{"sunwindow/win_ioctl.h", "WINDBLSET", 0x8008674b},
+{"sunwindow/win_ioctl.h", "WINSETPLAYINTR", 0x800867cc},
+{"sys/mtio.h", "MTIOCTOP", 0x80086d01},
+{"net/nit_buf.h", "NIOCSTIME", 0x80087006},
+{"sbusdev/gtreg.h", "FB_VMBACK", 0x80087415},
+{"sbusdev/gtreg.h", "FB_VMUNBACK", 0x80087416},
+{"sbusdev/gtreg.h", "FB_SETLIGHTPENPARAM", 0x8008741a},
+{"sbusdev/gtreg.h", "FB_SETGAMMA", 0x8008741f},
+{"sys/ttycom.h", "TIOCSSIZE", 0x80087425},
+{"sys/ttold.h", "_O_TIOCSSIZE", 0x80087467},
+{"sys/ttycom.h", "TIOCSWINSZ", 0x80087467},
+{"sun/isdnio.h", "ISDN_SET_PARAM", 0x800c4110},
+{"sun/fbio.h", "FBIO_WID_FREE", 0x800c461f},
+{"sun/fbio.h", "FBIO_WID_PUT", 0x800c4620},
+{"sun/fbio.h", "FBIO_WID_GET", 0x800c4621},
+{"sundev/lightpenreg.h", "LIGHTPEN_FILTER", 0x800c4c02},
+{"sundev/fdreg.h", "V_FORMAT", 0x800c5605},
+{"sundev/srreg.h", "CDROMREADMODE2", 0x800c636e},
+{"sundev/srreg.h", "CDROMREADMODE1", 0x800c636f},
+{"sunwindow/win_ioctl.h", "WINSETCURSOR", 0x800c6707},
+{"sunwindow/win_ioctl.h", "WINSETFOCUSEVENT", 0x800c6746},
+{"sunwindow/win_ioctl.h", "WINSETSWALLOWEVENT", 0x800c6748},
+{"sundev/msio.h", "MSIOSETPARMS", 0x800c6d03},
+{"sbusdev/gtreg.h", "FB_CLUTFREE", 0x800c7402},
+{"sbusdev/gtreg.h", "FB_VMCTL", 0x800c741e},
+{"pixrect/cg8var.h", "PIPIO_S_EMULATION_MODE", 0x800e5804},
+{"sunwindow/win_ioctl.h", "WINSCREENPOSITIONS", 0x8010672b},
+{"sundev/kbio.h", "KIOCSETKEY", 0x80106b01},
+{"sun/ndio.h", "NDIOCETHER", 0x80106e08},
+{"sys/termio.h", "TCSETA", 0x80125402},
+{"termio.h", "TCSETA", 0x80125402},
+{"sys/termio.h", "TCSETAW", 0x80125403},
+{"termio.h", "TCSETAW", 0x80125403},
+{"sys/termio.h", "TCSETAF", 0x80125404},
+{"termio.h", "TCSETAF", 0x80125404},
+{"sun/fbio.h", "FBIOPUTCMAP", 0x80144603},
+{"sun/fbio.h", "FBIOGETCMAP", 0x80144604},
+{"sunwindow/win_ioctl.h", "WINSETAVAILPLANEGROUPS", 0x80146741},
+{"sunwindow/win_ioctl.h", "WINSETSYNCPT", 0x801467cd},
+{"sundev/kbio.h", "KIOCSKEY", 0x80146b0c},
+{"sun/fbio.h", "FBIODBLSINFO", 0x80184613},
+{"sun/gpio.h", "GP1IO_PUT_INFO", 0x80184700},
+{"sun/dkio.h", "DKIOCSCMD", 0x80186477},
+{"sunwindow/win_ioctl.h", "WINSETINPUTDEV", 0x80186732},
+{"sun/ndio.h", "NDIOCUSER", 0x80186e03},
+{"sun/fbio.h", "FBIOPUTCMAPI", 0x801c4629},
+{"sun/fbio.h", "FBIOGETCMAPI", 0x801c462a},
+{"sun/dkio.h", "FDKIOSCHAR", 0x801c6471},
+{"sbusdev/gtreg.h", "FB_CLUTPOST", 0x801c7404},
+{"sbusdev/bpp_io.h", "BPPIOC_SETPARMS", 0x80206201},
+{"sys/sockio.h", "SIOCSIFADDR", 0x8020690c},
+{"sys/sockio.h", "SIOCSIFDSTADDR", 0x8020690e},
+{"sys/sockio.h", "SIOCSIFFLAGS", 0x80206910},
+{"sys/sockio.h", "SIOCSIFMEM", 0x80206912},
+{"sys/sockio.h", "SIOCSIFMTU", 0x80206915},
+{"sys/sockio.h", "SIOCSIFBRDADDR", 0x80206918},
+{"sys/sockio.h", "SIOCSIFNETMASK", 0x8020691a},
+{"sys/sockio.h", "SIOCSIFMETRIC", 0x8020691c},
+{"sys/sockio.h", "SIOCUPPER", 0x80206928},
+{"sys/sockio.h", "SIOCLOWER", 0x80206929},
+{"sys/sockio.h", "SIOCSETSYNC", 0x8020692c},
+{"sys/sockio.h", "SIOCADDMULTI", 0x80206931},
+{"sys/sockio.h", "SIOCDELMULTI", 0x80206932},
+{"sys/sockio.h", "SIOCFDRESET", 0x80206933},
+{"sys/sockio.h", "SIOCFDSLEEP", 0x80206934},
+{"sys/sockio.h", "SIOCLDNSTRTFW", 0x80206936},
+{"sys/sockio.h", "SIOCGETFDSTAT", 0x80206937},
+{"sys/sockio.h", "SIOCFDNMIINT", 0x80206938},
+{"sys/sockio.h", "SIOCFDEXUSER", 0x80206939},
+{"sys/sockio.h", "SIOCFDGNETMAP", 0x8020693a},
+{"sys/sockio.h", "SIOCFDGIOCTL", 0x8020693b},
+{"net/nit_if.h", "NIOCBIND", 0x80207003},
+{"sbusdev/gtreg.h", "FB_GT_SETVERSION", 0x80207428},
+{"sys/stropts.h", "I_FDINSERT", 0x80245310},
+{"stropts.h", "I_FDINSERT", 0x80245310},
+{"termios.h", "TCSETS", 0x80245409},
+{"sys/termios.h", "TCSETS", 0x80245409},
+{"termios.h", "TCSETSW", 0x8024540a},
+{"sys/termios.h", "TCSETSW", 0x8024540a},
+{"termios.h", "TCSETSF", 0x8024540b},
+{"sys/termios.h", "TCSETSF", 0x8024540b},
+{"sys/sockio.h", "SIOCSARP", 0x8024691e},
+{"sys/sockio.h", "SIOCDARP", 0x80246920},
+{"sys/sockio.h", "SIOCSNIT", 0x80247000},
+{"sun/dkio.h", "DKIOCSGEOM", 0x80266403},
+{"sun/fbio.h", "FBIOSATTR", 0x80284605},
+{"sun/fbio.h", "FBIOSCURSOR", 0x802c4618},
+{"sunwindow/win_ioctl.h", "WINSETLOCATOR", 0x80306730},
+{"sunwindow/win_ioctl.h", "WINSETCPCURSOR", 0x80306796},
+{"sbusdev/audio_79C30.h", "AUDIOSETREG", 0x80306902},
+{"sys/sockio.h", "SIOCADDRT", 0x8030720a},
+{"sys/sockio.h", "SIOCDELRT", 0x8030720b},
+{"sunwindow/win_ioctl.h", "WINSETKBDMASK", 0x80346736},
+{"sunwindow/win_ioctl.h", "WINSETPICKMASK", 0x80346737},
+{"sun/dkio.h", "FDKSETDRIVECHAR", 0x8038646d},
+{"sun/tvio.h", "TVIOSVIDEOCAL", 0x80405832},
+{"sun/tvio.h", "TVIONVWRITE", 0x80405834},
+{"sun/dkio.h", "DKIOCSAPART", 0x8040647b},
+{"sunwindow/win_ioctl.h", "WINSETSCALING", 0x80406727},
+{"net/nit_pf.h", "NIOCSETF", 0x80527002},
+{"pixrect/gp1var.h", "GP1IO_SATTR", 0x80584765},
+{"sunwindow/win_ioctl.h", "WINSETINPUTMASK", 0x806c6714},
+{"sunwindow/win_ioctl.h", "WINSCREENNEW", 0x80706728},
+{"sunwindow/win_ioctl.h", "WINSETKBD", 0x8070672e},
+{"sunwindow/win_ioctl.h", "WINSETMS", 0x8070672f},
diff --git a/strace-4.5.20/sunos4/ioctlent.sh b/strace-4.5.20/sunos4/ioctlent.sh
new file mode 100755
index 0000000..6ae0294
--- /dev/null
+++ b/strace-4.5.20/sunos4/ioctlent.sh
@@ -0,0 +1,124 @@
+#!/bin/sh
+# Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+#    derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+#	$Id$
+
+if [ $# -ne 1 ]
+then
+	echo "usage: $0 include-directory" >&2
+	exit 1
+fi
+
+bad_defines='WINGETVALIDVALUES'
+(
+	cd $1
+	find . -name '*.h' -print | sed 's/^\.\///' |
+		xargs egrep '^[	 ]*#[	 ]*define[	 ][ 	]*[A-Z_][A-Za-z0-9_]*[ 	][	 ]*_IO[RW]?\(' /dev/null |
+		sed 's/\(.*\):#[ 	]*define[ 	]*\([A-Z_][A-Za-z0-9_]*\)[ 	]*\(_IO[^)]*)\)[ 	]*\(.*\)/	{ "\1",	"\2",	\2	},	\4/' |
+	sort -u
+) >ioctlent.tmp
+echo "\
+#include <sys/types.h>
+#define KERNEL
+#include <stdio.h>
+#include <strings.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/ioctl.h>
+#include <sys/socket.h>
+#include <sys/des.h>
+#include <sys/mtio.h>
+#include <sys/stropts.h>
+#include <sys/stream.h>
+#include <sys/vcmd.h>
+
+#include <net/if.h>
+#include <net/if_arp.h>
+#include <net/route.h>
+#include <net/nit.h>
+#include <net/nit_if.h>
+#include <net/nit_pf.h>
+#include <net/nit_buf.h>
+#include <net/packetfilt.h>
+#include <netinet/in.h>
+#include <netinet/in_systm.h>
+#include <netinet/in_var.h>
+#include <netinet/ip.h>
+#include <netinet/ip_icmp.h>
+#include <netinet/if_ether.h>
+
+#include <scsi/impl/uscsi.h>
+#define sprintf scsi_sprintf
+#include <scsi/scsi.h>
+#undef sprintf
+#include <scsi/targets/srdef.h>
+#include <scsi/targets/stdef.h>
+#if 0
+#include <scsi/targets/sddef.h>
+#endif
+
+#include <sun/audioio.h>
+#include <sun/fbio.h>
+#include <sun/gpio.h>
+#include <sun/ndio.h>
+#include <sun/tvio.h>
+#include <sun/mem.h>
+#include <sun/sqz.h>
+#include <sun/vddrv.h>
+#include <sun/isdnio.h>
+
+#include <machine/reg.h>
+
+#include <sundev/kbio.h>
+#include <sundev/msio.h>
+#include <sundev/fdreg.h>
+#include <sundev/ppreg.h>
+#include <sundev/openpromio.h>
+#include <sundev/lightpenreg.h>
+
+#include <sunwindow/window_hs.h>
+#include <sunwindow/win_enum.h>
+#include <sunwindow/win_ioctl.h>
+
+#include <sbusdev/audiovar.h>
+#define AMD_CHIP
+#include <sbusdev/audio_79C30.h>
+#include <sbusdev/bpp_io.h>
+#include <sbusdev/gtreg.h>
+
+#include <sys/termio.h>
+"
+echo "struct ioctlent ioctlent[] = {"
+egrep -v "$bad_defines" ioctlent.tmp | awk '
+{
+	print "#ifdef " $4
+	print
+	print "#endif"
+}
+'
+echo "};"
+rm -f ioctlent.tmp
diff --git a/strace-4.5.20/sunos4/signalent.h b/strace-4.5.20/sunos4/signalent.h
new file mode 100644
index 0000000..e059b5d
--- /dev/null
+++ b/strace-4.5.20/sunos4/signalent.h
@@ -0,0 +1,32 @@
+	"SIG_0",	/* 0 */
+	"SIGHUP",	/* 1 */
+	"SIGINT",	/* 2 */
+	"SIGQUIT",	/* 3 */
+	"SIGILL",	/* 4 */
+	"SIGTRAP",	/* 5 */
+	"SIGABRT",	/* 6 */
+	"SIGEMT",	/* 7 */
+	"SIGFPE",	/* 8 */
+	"SIGKILL",	/* 9 */
+	"SIGBUS",	/* 10 */
+	"SIGSEGV",	/* 11 */
+	"SIGSYS",	/* 12 */
+	"SIGPIPE",	/* 13 */
+	"SIGALRM",	/* 14 */
+	"SIGTERM",	/* 15 */
+	"SIGURG",	/* 16 */
+	"SIGSTOP",	/* 17 */
+	"SIGTSTP",	/* 18 */
+	"SIGCONT",	/* 19 */
+	"SIGCHLD",	/* 20 */
+	"SIGTTIN",	/* 21 */
+	"SIGTTOU",	/* 22 */
+	"SIGIO",	/* 23 */
+	"SIGXCPU",	/* 24 */
+	"SIGXFSZ",	/* 25 */
+	"SIGVTALRM",	/* 26 */
+	"SIGPROF",	/* 27 */
+	"SIGWINCH",	/* 28 */
+	"SIGLOST",	/* 29 */
+	"SIGUSR1",	/* 30 */
+	"SIGUSR2",	/* 31 */
diff --git a/strace-4.5.20/sunos4/syscall.h b/strace-4.5.20/sunos4/syscall.h
new file mode 100644
index 0000000..98b7e51
--- /dev/null
+++ b/strace-4.5.20/sunos4/syscall.h
@@ -0,0 +1,174 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+#include "dummy.h"
+
+int	sys_nosys();
+int	sys_nullsys();
+int	sys_errsys();
+
+/* 1.1 processes and protection */
+int	sys_gethostid(),sys_sethostname(),sys_gethostname(),sys_getpid();
+int	sys_setdomainname(),sys_getdomainname();
+int	sys_fork(),sys_exit(),sys_execv(),sys_execve(),sys_wait4();
+int	sys_getuid(),sys_setreuid(),sys_getgid(),sys_getgroups(),sys_setregid(),sys_setgroups();
+int	sys_getpgrp(),sys_setpgrp();
+int	sys_sys_setsid(), sys_setpgid();
+int	sys_uname();
+
+/* 1.2 memory management */
+int	sys_brk(),sys_sbrk(),sys_sstk();
+int	sys_getpagesize(),sys_mmap(),sys_mctl(),sys_munmap(),sys_mprotect(),sys_mincore();
+int	sys_omsync(),sys_omadvise();
+
+/* 1.3 signals */
+int	sys_sigvec(),sys_sigblock(),sys_sigsetmask(),sys_sigpause(),sys_sigstack(),sys_sigcleanup();
+int	sys_kill(), sys_killpg(), sys_sigpending();
+
+/* 1.4 timing and statistics */
+int	sys_gettimeofday(),sys_settimeofday();
+int	sys_adjtime();
+int	sys_getitimer(),sys_setitimer();
+
+/* 1.5 descriptors */
+int	sys_getdtablesize(),sys_dup(),sys_dup2(),sys_close();
+int	sys_select(),sys_getdopt(),sys_setdopt(),sys_fcntl(),sys_flock();
+
+/* 1.6 resource controls */
+int	sys_getpriority(),sys_setpriority(),sys_getrusage(),sys_getrlimit(),sys_setrlimit();
+int	sys_oldquota(), sys_quotactl();
+int	sys_rtschedule();
+
+/* 1.7 system operation support */
+int	sys_mount(),sys_unmount(),sys_swapon();
+int	sys_sync(),sys_reboot();
+int	sys_sysacct();
+int	sys_auditsys();
+
+/* 2.1 generic operations */
+int	sys_read(),sys_write(),sys_readv(),sys_writev(),sys_ioctl();
+
+/* 2.1.1 asynch operations */
+int	sys_aioread(), sys_aiowrite(), sys_aiowait(), sys_aiocancel();
+
+/* 2.2 file system */
+int	sys_chdir(),sys_chroot();
+int	sys_fchdir(),sys_fchroot();
+int	sys_mkdir(),sys_rmdir(),sys_getdirentries(), sys_getdents();
+int	sys_creat(),sys_open(),sys_mknod(),sys_unlink(),sys_stat(),sys_fstat(),sys_lstat();
+int	sys_chown(),sys_fchown(),sys_chmod(),sys_fchmod(),sys_utimes();
+int	sys_link(),sys_symlink(),sys_readlink(),sys_rename();
+int	sys_lseek(),sys_truncate(),sys_ftruncate(),sys_access(),sys_fsync();
+int	sys_statfs(),sys_fstatfs();
+
+/* 2.3 communications */
+int	sys_socket(),sys_bind(),sys_listen(),sys_accept(),sys_connect();
+int	sys_socketpair(),sys_sendto(),sys_send(),sys_recvfrom(),sys_recv();
+int	sys_sendmsg(),sys_recvmsg(),sys_shutdown(),sys_setsockopt(),sys_getsockopt();
+int	sys_getsockname(),sys_getpeername(),sys_pipe();
+
+int	sys_umask();		/* XXX */
+
+/* 2.3.1 SystemV-compatible IPC */
+int	sys_semsys(), sys_semctl(), sys_semget();
+#define SYS_semsys_subcall	200
+#define SYS_semsys_nsubcalls	3
+#define SYS_semctl		(SYS_semsys_subcall + 0)
+#define SYS_semget		(SYS_semsys_subcall + 1)
+#define SYS_semop		(SYS_semsys_subcall + 2)
+int	sys_msgsys(), sys_msgget(), sys_msgctl(), sys_msgrcv(), sys_msgsnd();
+#define SYS_msgsys_subcall	203
+#define SYS_msgsys_nsubcalls	4
+#define SYS_msgget		(SYS_msgsys_subcall + 0)
+#define SYS_msgctl		(SYS_msgsys_subcall + 1)
+#define SYS_msgrcv		(SYS_msgsys_subcall + 2)
+#define SYS_msgsnd		(SYS_msgsys_subcall + 3)
+int	sys_shmsys(), sys_shmat(), sys_shmctl(), sys_shmdt(), sys_shmget();
+#define SYS_shmsys_subcall	207
+#define SYS_shmsys_nsubcalls	4
+#define	SYS_shmat		(SYS_shmsys_subcall + 0)
+#define SYS_shmctl		(SYS_shmsys_subcall + 1)
+#define SYS_shmdt		(SYS_shmsys_subcall + 2)
+#define SYS_shmget		(SYS_shmsys_subcall + 3)
+
+/* 2.4 processes */
+int	sys_ptrace();
+
+/* 2.5 terminals */
+
+/* emulations for backwards compatibility */
+int	sys_otime();		/* now use gettimeofday */
+int	sys_ostime();		/* now use settimeofday */
+int	sys_oalarm();		/* now use setitimer */
+int	sys_outime();		/* now use utimes */
+int	sys_opause();		/* now use sigpause */
+int	sys_onice();		/* now use setpriority,getpriority */
+int	sys_oftime();		/* now use gettimeofday */
+int	sys_osetpgrp();		/* ??? */
+int	sys_otimes();		/* now use getrusage */
+int	sys_ossig();		/* now use sigvec, etc */
+int	sys_ovlimit();		/* now use setrlimit,getrlimit */
+int	sys_ovtimes();		/* now use getrusage */
+int	sys_osetuid();		/* now use setreuid */
+int	sys_osetgid();		/* now use setregid */
+int	sys_ostat();		/* now use stat */
+int	sys_ofstat();		/* now use fstat */
+
+/* BEGIN JUNK */
+int	sys_profil();		/* 'cuz sys calls are interruptible */
+int	sys_vhangup();		/* should just do in sys_exit() */
+int	sys_vfork();		/* XXX - was awaiting fork w/ copy on write */
+int	sys_ovadvise();		/* awaiting new madvise */
+int	sys_indir();		/* indirect system call */
+int	sys_ustat();		/* System V compatibility */
+int	sys_owait();		/* should use wait4 interface */
+int	sys_owait3();		/* should use wait4 interface */
+int	sys_umount();		/* still more Sys V (and 4.2?) compatibility */
+int	sys_pathconf();		/* posix */
+int	sys_fpathconf();		/* posix */
+int	sys_sysconf();		/* posix */
+
+int sys_debug();
+/* END JUNK */
+
+int	sys_vtrace();		/* kernel event tracing */
+
+/* nfs */
+int	sys_async_daemon();		/* client async daemon */
+int	sys_nfs_svc();		/* run nfs server */
+int	sys_nfs_getfh();		/* get file handle */
+int	sys_exportfs();		/* export file systems */
+
+int  	sys_rfssys();		/* RFS-related calls */
+
+int	sys_getmsg();
+int	sys_putmsg();
+int	sys_poll();
+
+int	sys_vpixsys();		/* VP/ix system calls */
diff --git a/strace-4.5.20/sunos4/syscallent.h b/strace-4.5.20/sunos4/syscallent.h
new file mode 100644
index 0000000..66c2048
--- /dev/null
+++ b/strace-4.5.20/sunos4/syscallent.h
@@ -0,0 +1,241 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+	{ 1,	0,	sys_indir,		"indir"		}, /* 0 */
+	{ 1,	TP,	sys_exit,		"_exit"		}, /* 1 */
+	{ 0,	TP,	sys_fork,		"fork"		}, /* 2 */
+	{ 3,	TD,	sys_read,		"read"		}, /* 3 */
+	{ 3,	TD,	sys_write,		"write"		}, /* 4 */
+	{ 3,	TD|TF,	sys_open,		"open"		}, /* 5 */
+	{ 1,	TD,	sys_close,		"close"		}, /* 6 */
+	{ 4,	TP,	sys_wait4,		"wait4"		}, /* 7 */
+	{ 2,	TD|TF,	sys_creat,		"creat"		}, /* 8 */
+	{ 2,	TF,	sys_link,		"link"		}, /* 9 */
+	{ 1,	TF,	sys_unlink,		"unlink"	}, /* 10 */
+	{ 2,	TF|TP,	sys_execv,		"execv"		}, /* 11 */
+	{ 1,	TF,	sys_chdir,		"chdir"		}, /* 12 */
+	{ 0,	0,	sys_otime,		"otime"		}, /* 13 */
+	{ 3,	TF,	sys_mknod,		"mknod"		}, /* 14 */
+	{ 2,	TF,	sys_chmod,		"chmod"		}, /* 15 */
+	{ 3,	TF,	sys_chown,		"chown"		}, /* 16 */
+	{ 1,	0,	sys_brk,		"brk"		}, /* 17 */
+	{ 2,	TF,	sys_stat,		"stat"		}, /* 18 */
+	{ 3,	TD,	sys_lseek,		"lseek"		}, /* 19 */
+	{ 0,	0,	sys_getpid,		"getpid"	}, /* 20 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 21 */
+	{ 1,	TF,	sys_umount,		"umount"	}, /* 22 */
+	{ 1,	0,	sys_osetuid,		"osetuid"	}, /* 23 */
+	{ 0,	0,	sys_getuid,		"getuid"	}, /* 24 */
+	{ 1,	0,	sys_ostime,		"ostime"	}, /* 25 */
+	{ 5,	0,	sys_ptrace,		"ptrace"	}, /* 26 */
+	{ 1,	0,	sys_oalarm,		"oalarm"	}, /* 27 */
+	{ 2,	0,	sys_ofstat,		"ofstat"	}, /* 28 */
+	{ 0,	0,	sys_opause,		"opause"	}, /* 29 */
+	{ 2,	TF,	sys_outime,		"outime"	}, /* 30 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 31 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 32 */
+	{ 2,	TF,	sys_access,		"access"	}, /* 33 */
+	{ 1,	0,	sys_onice,		"onice"		}, /* 34 */
+	{ 1,	0,	sys_oftime,		"oftime"	}, /* 35 */
+	{ 0,	0,	sys_sync,		"sync"		}, /* 36 */
+	{ 2,	TS,	sys_kill,		"kill"		}, /* 37 */
+	{ 2,	TF,	sys_stat,		"stat"		}, /* 38 */
+	{ 2,	0,	sys_osetpgrp,		"osetpgrp"	}, /* 39 */
+	{ 2,	TF,	sys_lstat,		"lstat"		}, /* 40 */
+	{ 2,	TD,	sys_dup,		"dup"		}, /* 41 */
+	{ 0,	TD,	sys_pipe,		"pipe"		}, /* 42 */
+	{ 1,	0,	sys_otimes,		"otimes"	}, /* 43 */
+	{ 4,	0,	sys_profil,		"profil"	}, /* 44 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 45 */
+	{ 1,	0,	sys_osetgid,		"osetgid"	}, /* 46 */
+	{ 0,	0,	sys_getgid,		"getgid"	}, /* 47 */
+	{ 2,	0,	sys_ossig,		"ossig"		}, /* 48 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 49 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 50 */
+	{ 1,	0,	sys_sysacct,		"sysacct"	}, /* 51 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 52 */
+	{ 4,	0,	sys_mctl,		"mctl"		}, /* 53 */
+	{ 3,	TD,	sys_ioctl,		"ioctl"		}, /* 54 */
+	{ 2,	0,	sys_reboot,		"reboot"	}, /* 55 */
+	{ 3,	TP,	sys_owait3,		"owait3"	}, /* 56 */
+	{ 2,	TF,	sys_symlink,		"symlink"	}, /* 57 */
+	{ 3,	TF,	sys_readlink,		"readlink"	}, /* 58 */
+	{ 3,	TF|TP,	sys_execve,		"execve"	}, /* 59 */
+	{ 1,	0,	sys_umask,		"umask"		}, /* 60 */
+	{ 1,	TF,	sys_chroot,		"chroot"	}, /* 61 */
+	{ 2,	TD,	sys_fstat,		"fstat"		}, /* 62 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 63 */
+	{ 1,	0,	sys_getpagesize,	"getpagesize"	}, /* 64 */
+	{ 3,	0,	sys_omsync,		"omsync"	}, /* 65 */
+	{ 0,	TP,	sys_vfork,		"vfork"		}, /* 66 */
+	{ 0,	TD,	sys_read,		"read"		}, /* 67 */
+	{ 0,	TD,	sys_write,		"write"		}, /* 68 */
+	{ 1,	0,	sys_sbrk,		"sbrk"		}, /* 69 */
+	{ 1,	0,	sys_sstk,		"sstk"		}, /* 70 */
+	{ 6,	0,	sys_mmap,		"mmap"		}, /* 71 */
+	{ 1,	0,	sys_ovadvise,		"ovadvise"	}, /* 72 */
+	{ 2,	0,	sys_munmap,		"munmap"	}, /* 73 */
+	{ 3,	0,	sys_mprotect,		"mprotect"	}, /* 74 */
+	{ 3,	0,	sys_omadvise,		"omadvise"	}, /* 75 */
+	{ 1,	0,	sys_vhangup,		"vhangup"	}, /* 76 */
+	{ 2,	0,	sys_ovlimit,		"ovlimit"	}, /* 77 */
+	{ 3,	0,	sys_mincore,		"mincore"	}, /* 78 */
+	{ 2,	0,	sys_getgroups,		"getgroups"	}, /* 79 */
+	{ 2,	0,	sys_setgroups,		"setgroups"	}, /* 80 */
+	{ 1,	0,	sys_getpgrp,		"getpgrp"	}, /* 81 */
+	{ 2,	0,	sys_setpgrp,		"setpgrp"	}, /* 82 */
+	{ 3,	0,	sys_setitimer,		"setitimer"	}, /* 83 */
+	{ 0,	TP,	sys_owait,		"owait"		}, /* 84 */
+	{ 1,	TF,	sys_swapon,		"swapon"	}, /* 85 */
+	{ 2,	0,	sys_getitimer,		"getitimer"	}, /* 86 */
+	{ 2,	0,	sys_gethostname,	"gethostname"	}, /* 87 */
+	{ 2,	0,	sys_sethostname,	"sethostname"	}, /* 88 */
+	{ 0,	0,	sys_getdtablesize,	"getdtablesize"	}, /* 89 */
+	{ 2,	TD,	sys_dup2,		"dup2"		}, /* 90 */
+	{ 2,	0,	sys_getdopt,		"getdopt"	}, /* 91 */
+	{ 3,	TD,	sys_fcntl,		"fcntl"		}, /* 92 */
+	{ 5,	TD,	sys_select,		"select"	}, /* 93 */
+	{ 2,	0,	sys_setdopt,		"setdopt"	}, /* 94 */
+	{ 1,	TD,	sys_fsync,		"fsync"		}, /* 95 */
+	{ 3,	0,	sys_setpriority,	"setpriority"	}, /* 96 */
+	{ 3,	TN,	sys_socket,		"socket"	}, /* 97 */
+	{ 3,	TN,	sys_connect,		"connect"	}, /* 98 */
+	{ 3,	TN,	sys_accept,		"accept"	}, /* 99 */
+	{ 2,	0,	sys_getpriority,	"getpriority"	}, /* 100 */
+	{ 4,	TN,	sys_send,		"send"		}, /* 101 */
+	{ 4,	TN,	sys_recv,		"recv"		}, /* 102 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 103 */
+	{ 3,	TN,	sys_bind,		"bind"		}, /* 104 */
+	{ 5,	TN,	sys_setsockopt,		"setsockopt"	}, /* 105 */
+	{ 2,	TN,	sys_listen,		"listen"	}, /* 106 */
+	{ 2,	0,	sys_ovtimes,		"ovtimes"	}, /* 107 */
+	{ 3,	TS,	sys_sigvec,		"sigvec"	}, /* 108 */
+	{ 1,	TS,	sys_sigblock,		"sigblock"	}, /* 109 */
+	{ 1,	TS,	sys_sigsetmask,		"sigsetmask"	}, /* 110 */
+	{ 1,	TS,	sys_sigpause,		"sigpause"	}, /* 111 */
+	{ 2,	TS,	sys_sigstack,		"sigstack"	}, /* 112 */
+	{ 3,	TN,	sys_recvmsg,		"recvmsg"	}, /* 113 */
+	{ 3,	TN,	sys_sendmsg,		"sendmsg"	}, /* 114 */
+	{ 3,	0,	sys_vtrace,		"vtrace"	}, /* 115 */
+	{ 2,	0,	sys_gettimeofday,	"gettimeofday"	}, /* 116 */
+	{ 2,	0,	sys_getrusage,		"getrusage"	}, /* 117 */
+	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 118 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 119 */
+	{ 3,	TD,	sys_readv,		"readv"		}, /* 120 */
+	{ 3,	TD,	sys_writev,		"writev"	}, /* 121 */
+	{ 2,	0,	sys_settimeofday,	"settimeofday"	}, /* 122 */
+	{ 3,	TD,	sys_fchown,		"fchown"	}, /* 123 */
+	{ 2,	TD,	sys_fchmod,		"fchmod"	}, /* 124 */
+	{ 6,	TN,	sys_recvfrom,		"recvfrom"	}, /* 125 */
+	{ 2,	0,	sys_setreuid,		"setreuid"	}, /* 126 */
+	{ 2,	0,	sys_setregid,		"setregid"	}, /* 127 */
+	{ 2,	TF,	sys_rename,		"rename"	}, /* 128 */
+	{ 2,	TF,	sys_truncate,		"truncate"	}, /* 129 */
+	{ 2,	TD,	sys_ftruncate,		"ftruncate"	}, /* 130 */
+	{ 2,	TD,	sys_flock,		"flock"		}, /* 131 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 132 */
+	{ 6,	TN,	sys_sendto,		"sendto"	}, /* 133 */
+	{ 2,	TN,	sys_shutdown,		"shutdown"	}, /* 134 */
+	{ 5,	TN,	sys_socketpair,		"socketpair"	}, /* 135 */
+	{ 2,	TF,	sys_mkdir,		"mkdir"		}, /* 136 */
+	{ 1,	TF,	sys_rmdir,		"rmdir"		}, /* 137 */
+	{ 2,	TF,	sys_utimes,		"utimes"	}, /* 138 */
+	{ 0,	TS,	sys_sigcleanup,		"sigcleanup"	}, /* 139 */
+	{ 2,	0,	sys_adjtime,		"adjtime"	}, /* 140 */
+	{ 3,	TN,	sys_getpeername,	"getpeername"	}, /* 141 */
+	{ 2,	0,	sys_gethostid,		"gethostid"	}, /* 142 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 143 */
+	{ 2,	0,	sys_getrlimit,		"getrlimit"	}, /* 144 */
+	{ 2,	0,	sys_setrlimit,		"setrlimit"	}, /* 145 */
+	{ 2,	TS,	sys_killpg,		"killpg"	}, /* 146 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 147 */
+	{ 0,	0,	sys_oldquota,		"oldquota"	}, /* 148 */
+	{ 0,	0,	sys_oldquota,		"oldquota"	}, /* 149 */
+	{ 3,	TN,	sys_getsockname,	"getsockname"	}, /* 150 */
+	{ 4,	TN,	sys_getmsg,		"getmsg"	}, /* 151 */
+	{ 4,	TN,	sys_putmsg,		"putmsg"	}, /* 152 */
+	{ 3,	TN,	sys_poll,		"poll"		}, /* 153 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 154 */
+	{ 1,	0,	sys_nfs_svc,		"nfs_svc"	}, /* 155 */
+	{ 4,	0,	sys_getdirentries,	"getdirentries"	}, /* 156 */
+	{ 2,	TF,	sys_statfs,		"statfs"	}, /* 157 */
+	{ 2,	TD,	sys_fstatfs,		"fstatfs"	}, /* 158 */
+	{ 1,	TF,	sys_unmount,		"unmount"	}, /* 159 */
+	{ 0,	0,	sys_async_daemon,	"async_daemon"	}, /* 160 */
+	{ 2,	0,	sys_nfs_getfh,		"nfs_getfh"	}, /* 161 */
+	{ 2,	0,	sys_getdomainname,	"getdomainname"	}, /* 162 */
+	{ 2,	0,	sys_setdomainname,	"setdomainname"	}, /* 163 */
+	{ 5,	0,	sys_rtschedule,		"rtschedule"	}, /* 164 */
+	{ 4,	0,	sys_quotactl,		"quotactl"	}, /* 165 */
+	{ 2,	0,	sys_exportfs,		"exportfs"	}, /* 166 */
+	{ 4,	TF,	sys_mount,		"mount"		}, /* 167 */
+	{ 2,	0,	sys_ustat,		"ustat"		}, /* 168 */
+	{ 5,	TI,	sys_semsys,		"semsys"	}, /* 169 */
+	{ 6,	TI,	sys_msgsys,		"msgsys"	}, /* 170 */
+	{ 4,	TI,	sys_shmsys,		"shmsys"	}, /* 171 */
+	{ 4,	0,	sys_auditsys,		"auditsys"	}, /* 172 */
+	{ 5,	0,	sys_rfssys,		"rfssys"	}, /* 173 */
+	{ 3,	TD,	sys_getdents,		"getdents"	}, /* 174 */
+	{ 1,	0,	sys_sys_setsid,		"sys_setsid"	}, /* 175 */
+	{ 1,	TD,	sys_fchdir,		"fchdir"	}, /* 176 */
+	{ 1,	0,	sys_fchroot,		"fchroot"	}, /* 177 */
+	{ 2,	0,	sys_vpixsys,		"vpixsys"	}, /* 178 */
+	{ 6,	0,	sys_aioread,		"aioread"	}, /* 179 */
+	{ 6,	0,	sys_aiowrite,		"aiowrite"	}, /* 180 */
+	{ 1,	0,	sys_aiowait,		"aiowait"	}, /* 181 */
+	{ 1,	0,	sys_aiocancel,		"aiocancel"	}, /* 182 */
+	{ 1,	TS,	sys_sigpending,		"sigpending"	}, /* 183 */
+	{ 0,	0,	sys_errsys,		"errsys"	}, /* 184 */
+	{ 2,	0,	sys_setpgid,		"setpgid"	}, /* 185 */
+	{ 2,	TF,	sys_pathconf,		"pathconf"	}, /* 186 */
+	{ 2,	0,	sys_fpathconf,		"fpathconf"	}, /* 187 */
+	{ 1,	0,	sys_sysconf,		"sysconf"	}, /* 188 */
+	{ 1,	0,	sys_uname,		"uname"		}, /* 189 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 190 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 191 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 192 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 193 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 194 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 195 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 196 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 197 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 198 */
+	{ 0,	0,	sys_nosys,		"nosys"		}, /* 199 */
+	{ 4,	TI,	sys_semctl,		"semctl"	}, /* 200 */
+	{ 4,	TI,	sys_semget,		"semget"	}, /* 201 */
+	{ 4,	TI,	sys_semop,		"semop" 	}, /* 202 */
+	{ 5,	TI,	sys_msgget,		"msgget"	}, /* 203 */
+	{ 5,	TI,	sys_msgctl,		"msgctl"	}, /* 204 */
+	{ 5,	TI,	sys_msgrcv,		"msgrcv"	}, /* 205 */
+	{ 5,	TI,	sys_msgsnd,		"msgsnd"	}, /* 206 */
+	{ 3,	TI,	sys_shmat,		"shmat" 	}, /* 207 */
+	{ 3,	TI,	sys_shmctl,		"shmctl"	}, /* 208 */
+	{ 3,	TI,	sys_shmdt,		"shmdt" 	}, /* 209 */
+	{ 3,	TI,	sys_shmget,		"shmget"	}, /* 210 */
diff --git a/strace-4.5.20/svr4/dummy.h b/strace-4.5.20/svr4/dummy.h
new file mode 100644
index 0000000..da7166d
--- /dev/null
+++ b/strace-4.5.20/svr4/dummy.h
@@ -0,0 +1,399 @@
+/*
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+/* still unfinished */
+
+#define sys_sysmp printargs
+#define sys_sginap printargs
+#define sys_sgikopt printargs
+#define sys_sysmips printargs
+#define sys_sigreturn printargs
+#define sys_recvmsg printargs
+#define sys_sendmsg printargs
+#define sys_nfssvc printargs
+#define sys_getfh printargs
+#define sys_async_daemon printargs
+#define sys_exportfs printargs
+#define sys_BSD_getime printargs
+#define sys_sproc printargs
+#define sys_procblk printargs
+#define sys_sprocsp printargs
+#define sys_msync printargs
+#define sys_madvise printargs
+#define sys_pagelock printargs
+#define sys_quotactl printargs
+#define sys_cacheflush printargs
+#define sys_cachectl printargs
+#define sys_nuname printargs
+#define sys_sigpoll printargs
+#define sys_swapctl printargs
+#define sys_sigstack printargs
+#define sys_sigsendset printargs
+#define sys_priocntl printargs
+#define sys_ksigqueue printargs
+#define sys_lwp_sema_wait printargs
+#define sys_lwp_sema_trywait printargs
+#define sys_syscall printargs
+#define sys_clocal printargs
+#define sys_syssun printargs
+#define sys_sysi86 printargs
+#define sys_sysmachine printargs
+#define sys_plock printargs
+#define sys_pathconf printargs
+#define sys_sigtimedwait printargs
+#define sys_ulimit printargs
+#define sys_ptrace printargs
+#define sys_stty printargs
+#define sys_lwp_info printargs
+#define sys_priocntlsys printargs
+#define sys_hrtsys printargs
+#define sys_xenix printargs
+#define sys_statfs printargs
+#define sys_fstatfs printargs
+#define sys_statvfs printargs
+#define sys_fstatvfs printargs
+#define sys_sigsendsys printargs
+#define sys_gtty printargs
+#define sys_vtrace printargs
+#define sys_fpathconf printargs
+#define sys_evsys printargs
+#define sys_acct printargs
+#define sys_exec printargs
+#define sys_lwp_sema_post printargs
+#define sys_nfssys printargs
+#define sys_sigaltstack printargs
+#define sys_uadmin printargs
+#define sys_umount printargs
+#define sys_modctl printargs
+#define sys_acancel printargs
+#define sys_async printargs
+#define sys_evtrapret printargs
+#define sys_lwp_create printargs
+#define sys_lwp_exit printargs
+#define sys_lwp_suspend printargs
+#define sys_lwp_continue printargs
+#define sys_lwp_kill printargs
+#define sys_lwp_self printargs
+#define sys_lwp_setprivate printargs
+#define sys_lwp_getprivate printargs
+#define sys_lwp_wait printargs
+#define sys_lwp_mutex_unlock printargs
+#define sys_lwp_mutex_lock printargs
+#define sys_lwp_cond_wait printargs
+#define sys_lwp_cond_signal printargs
+#define sys_lwp_cond_broadcast printargs
+#define sys_inst_sync printargs
+#define sys_auditsys printargs
+#define sys_processor_bind printargs
+#define sys_processor_info printargs
+#define sys_p_online printargs
+#define sys_sigqueue printargs
+#define sys_clock_gettime printargs
+#define sys_clock_settime printargs
+#define sys_clock_getres printargs
+#define sys_nanosleep printargs
+#define sys_timer_create printargs
+#define sys_timer_delete printargs
+#define sys_timer_settime printargs
+#define sys_timer_gettime printargs
+#define sys_timer_getoverrun printargs
+#define sys_msgctl printargs
+#define sys_msgget printargs
+#define sys_msgrcv printargs
+#define sys_msgsnd printargs
+#define sys_shmat printargs
+#define sys_shmctl printargs
+#define sys_shmdt printargs
+#define sys_shmget printargs
+#define sys_semctl printargs
+#define sys_semget printargs
+#define sys_semop printargs
+#define sys_olduname printargs
+#define sys_ustat printargs
+#define sys_fusers printargs
+#define sys_sysfs1 printargs
+#define sys_sysfs2 printargs
+#define sys_sysfs3 printargs
+#define sys_keyctl printargs
+#define sys_secsys printargs
+#define sys_filepriv printargs
+#define sys_devstat printargs
+#define sys_fdevstat printargs
+#define sys_flvlfile printargs
+#define sys_lvlfile printargs
+#define sys_lvlequal printargs
+#define sys_lvlproc printargs
+#define sys_lvlipc printargs
+#define sys_auditevt printargs
+#define sys_auditctl printargs
+#define sys_auditdmp printargs
+#define sys_auditlog printargs
+#define sys_auditbuf printargs
+#define sys_lvldom printargs
+#define sys_lvlvfs printargs
+#define sys_mkmld printargs
+#define sys_mldmode printargs
+#define sys_secadvise printargs
+#define sys_online printargs
+#define sys_lwpinfo printargs
+#define sys_lwpprivate printargs
+#define sys_processor_exbind printargs
+#define sys_prepblock printargs
+#define sys_block printargs
+#define sys_rdblock printargs
+#define sys_unblock printargs
+#define sys_cancelblock printargs
+#define sys_lwpkill printargs
+#define sys_modload printargs
+#define sys_moduload printargs
+#define sys_modpath printargs
+#define sys_modstat printargs
+#define sys_modadm printargs
+#define sys_lwpsuspend printargs
+#define sys_lwpcontinue printargs
+#define sys_priocntllst printargs
+#define sys_lwp_sema_trywait printargs
+#define sys_xsetsockaddr printargs
+#define sys_dshmsys printargs
+#define sys_invlpg printargs
+#define sys_migrate printargs
+#define sys_kill3 printargs
+#define sys_xbindresvport printargs
+#define sys_lwp_sema_trywait printargs
+#define sys_tsolsys printargs
+#ifndef HAVE_SYS_ACL_H
+#define sys_acl printargs
+#define sys_facl printargs
+#define sys_aclipc printargs
+#endif
+#define sys_install_utrap printargs
+#define sys_signotify printargs
+#define sys_schedctl printargs
+#define sys_pset printargs
+#define sys_resolvepath printargs
+#define sys_signotifywait printargs
+#define sys_lwp_sigredirect printargs
+#define sys_lwp_alarm printargs
+#define sys_rpcsys printargs
+#define sys_sockconfig printargs
+#define sys_ntp_gettime printargs
+#define sys_ntp_adjtime printargs
+
+/* like another call */
+#define sys_lchown sys_chown
+#define sys_setuid sys_close
+#define sys_seteuid sys_close
+#define sys_setgid sys_close
+#define sys_setegid sys_close
+#define sys_vhangup sys_close
+#define sys_fdsync sys_close
+#define sys_setreuid sys_dup2
+#define sys_setregid sys_dup2
+#define sys_sigfillset sys_sigpending
+#define sys_vfork sys_fork
+#define sys_ksigaction sys_sigaction
+#define sys_BSDgetpgrp sys_getpgrp
+#define sys_BSDsetpgrp sys_setpgrp
+#define sys_waitsys sys_waitid
+#define sys_sigset sys_signal
+#define sys_sigrelse sys_sighold
+#define sys_sigignore sys_sighold
+#define sys_sigpause sys_sighold
+#define sys_sleep sys_alarm
+#define sys_fork1 sys_fork
+#define sys_forkall sys_fork
+#define sys_memcntl sys_mctl
+#if UNIXWARE > 2
+#define sys_rfork1 sys_rfork
+#define sys_rforkall sys_rfork
+#ifndef HAVE_SYS_NSCSYS_H
+#define sys_ssisys printargs
+#endif
+#endif
+
+/* aio */
+#define sys_aionotify printargs
+#define sys_aioinit printargs
+#define sys_aiostart printargs
+#define sys_aiolio printargs
+#define sys_aiosuspend printargs
+#define sys_aioerror printargs
+#define sys_aioliowait printargs
+#define sys_aioaread printargs
+#define sys_aioawrite printargs
+#define sys_aiolio64 printargs
+#define sys_aiosuspend64 printargs
+#define sys_aioerror64 printargs
+#define sys_aioliowait64 printargs
+#define sys_aioaread64 printargs
+#define sys_aioaread64 printargs
+#define sys_aioawrite64 printargs
+#define sys_aiocancel64 printargs
+#define sys_aiofsync printargs
+
+/* the various 64-bit file stuff */
+#if !_LFS64_LARGEFILE
+/* we've implemented these */
+#define sys_getdents64 printargs
+#define sys_mmap64 printargs
+#define sys_stat64 printargs
+#define sys_lstat64 printargs
+#define sys_fstat64 printargs
+#define sys_setrlimit64 printargs
+#define sys_getrlimit64 printargs
+#define sys_pread64 printargs
+#define sys_pwrite64 printargs
+#define sys_ftruncate64 printargs
+#define sys_truncate64 printargs
+#define sys_lseek64 printargs
+#endif
+
+/* unimplemented 64-bit stuff */
+#define sys_statvfs64 printargs
+#define sys_fstatvfs64 printargs
+
+/* like another call */
+#define sys_creat64 sys_creat
+#define sys_open64 sys_open
+#define sys_llseek sys_lseek64
+
+/* printargs does the right thing */
+#define sys_sync printargs
+#define sys_profil printargs
+#define sys_yield printargs
+#define sys_pause printargs
+#define sys_sethostid printargs
+
+/* subfunction entry points */
+#define sys_pgrpsys printargs
+#define sys_sigcall printargs
+#define sys_msgsys printargs
+#define sys_shmsys printargs
+#define sys_semsys printargs
+#define sys_utssys printargs
+#define sys_sysfs printargs
+#define sys_spcall printargs
+#define sys_context printargs
+#define sys_door printargs
+#define sys_kaio printargs
+
+#if DONE
+#define sys_sigwait printargs
+#define sys_mount printargs
+#define sys_sysinfo printargs
+#define sys_sysconfig printargs
+#define sys_getpmsg printargs
+#define sys_putpmsg printargs
+#define sys_pread printargs
+#define sys_pwrite printargs
+#define sys_readv printargs
+#define sys_writev printargs
+#define sys_wait printargs
+#define sys_waitid printargs
+#define sys_sigsuspend printargs
+#define sys_getpgrp printargs
+#define sys_setpgrp printargs
+#define sys_getsid printargs
+#define sys_setsid printargs
+#define sys_getpgid printargs
+#define sys_setpgid printargs
+#define sys_getcontext printargs
+#define sys_setcontext printargs
+#define sys_stime printargs
+#define sys_time printargs
+#define sys_nice printargs
+#define sys_times printargs
+#define sys_alarm printargs
+#define sys_xstat printargs
+#define sys_fxstat printargs
+#define sys_lxstat printargs
+#define sys_xmknod printargs
+#define sys_exit printargs
+#define sys_fork printargs
+#define sys_read printargs
+#define sys_write printargs
+#define sys_open printargs
+#define sys_close printargs
+#define sys_creat printargs
+#define sys_link printargs
+#define sys_unlink printargs
+#define sys_chdir printargs
+#define sys_mknod printargs
+#define sys_chmod printargs
+#define sys_chown printargs
+#define sys_brk printargs
+#define sys_stat printargs
+#define sys_lseek printargs
+#define sys_getpid printargs
+#define sys_getuid printargs
+#define sys_fstat printargs
+#define sys_utime printargs
+#define sys_access printargs
+#define sys_kill printargs
+#define sys_dup printargs
+#define sys_pipe printargs
+#define sys_getgid printargs
+#define sys_ioctl printargs
+#define sys_umask printargs
+#define sys_chroot printargs
+#define sys_fcntl printargs
+#define sys_rmdir printargs
+#define sys_mkdir printargs
+#define sys_getdents printargs
+#define sys_getmsg printargs
+#define sys_putmsg printargs
+#define sys_poll printargs
+#define sys_lstat printargs
+#define sys_symlink printargs
+#define sys_readlink printargs
+#define sys_setgroups printargs
+#define sys_getgroups printargs
+#define sys_fchmod printargs
+#define sys_fchown printargs
+#define sys_sigprocmask printargs
+#define sys_sigaction printargs
+#define sys_sigpending printargs
+#define sys_mincore printargs
+#define sys_mmap printargs
+#define sys_mprotect printargs
+#define sys_munmap printargs
+#define sys_vfork printargs
+#define sys_fchdir printargs
+#define sys_setrlimit printargs
+#define sys_getrlimit printargs
+#define sys_rename printargs
+#define sys_uname printargs
+#define sys_adjtime printargs
+#define sys_fchroot printargs
+#define sys_utimes printargs
+#define sys_gettimeofday printargs
+#define sys_getitimer printargs
+#define sys_setitimer printargs
+#define sys_settimeofday printargs
+#endif
diff --git a/strace-4.5.20/svr4/errnoent.h b/strace-4.5.20/svr4/errnoent.h
new file mode 100644
index 0000000..418e2db
--- /dev/null
+++ b/strace-4.5.20/svr4/errnoent.h
@@ -0,0 +1,152 @@
+	"ERRNO_0", /* 0 */
+	"EPERM", /* 1 */
+	"ENOENT", /* 2 */
+	"ESRCH", /* 3 */
+	"EINTR", /* 4 */
+	"EIO", /* 5 */
+	"ENXIO", /* 6 */
+	"E2BIG", /* 7 */
+	"ENOEXEC", /* 8 */
+	"EBADF", /* 9 */
+	"ECHILD", /* 10 */
+	"EAGAIN", /* 11 */
+	"ENOMEM", /* 12 */
+	"EACCES", /* 13 */
+	"EFAULT", /* 14 */
+	"ENOTBLK", /* 15 */
+	"EBUSY", /* 16 */
+	"EEXIST", /* 17 */
+	"EXDEV", /* 18 */
+	"ENODEV", /* 19 */
+	"ENOTDIR", /* 20 */
+	"EISDIR", /* 21 */
+	"EINVAL", /* 22 */
+	"ENFILE", /* 23 */
+	"EMFILE", /* 24 */
+	"ENOTTY", /* 25 */
+	"ETXTBSY", /* 26 */
+	"EFBIG", /* 27 */
+	"ENOSPC", /* 28 */
+	"ESPIPE", /* 29 */
+	"EROFS", /* 30 */
+	"EMLINK", /* 31 */
+	"EPIPE", /* 32 */
+	"EDOM", /* 33 */
+	"ERANGE", /* 34 */
+	"ENOMSG", /* 35 */
+	"EIDRM", /* 36 */
+	"ECHRNG", /* 37 */
+	"EL2NSYNC", /* 38 */
+	"EL3HLT", /* 39 */
+	"EL3RST", /* 40 */
+	"ELNRNG", /* 41 */
+	"EUNATCH", /* 42 */
+	"ENOCSI", /* 43 */
+	"EL2HLT", /* 44 */
+	"EDEADLK", /* 45 */
+	"ENOLCK", /* 46 */
+	"ECANCELED", /* 47 */
+	"ENOTSUP", /* 48 */
+	"ERRNO_49", /* 49 */
+	"EBADE", /* 50 */
+	"EBADR", /* 51 */
+	"EXFULL", /* 52 */
+	"ENOANO", /* 53 */
+	"EBADRQC", /* 54 */
+	"EBADSLT", /* 55 */
+	"EDEADLOCK", /* 56 */
+	"EBFONT", /* 57 */
+	"ERRNO_58", /* 58 */
+	"ERRNO_59", /* 59 */
+	"ENOSTR", /* 60 */
+	"ENODATA", /* 61 */
+	"ETIME", /* 62 */
+	"ENOSR", /* 63 */
+	"ENONET", /* 64 */
+	"ENOPKG", /* 65 */
+	"EREMOTE", /* 66 */
+	"ENOLINK", /* 67 */
+	"EADV", /* 68 */
+	"ESRMNT", /* 69 */
+	"ECOMM", /* 70 */
+	"EPROTO", /* 71 */
+	"ERRNO_72", /* 72 */
+	"ERRNO_73", /* 73 */
+	"EMULTIHOP", /* 74 */
+	"ERRNO_75", /* 75 */
+	"ERRNO_76", /* 76 */
+	"EBADMSG", /* 77 */
+	"ENAMETOOLONG", /* 78 */
+	"EOVERFLOW", /* 79 */
+	"ENOTUNIQ", /* 80 */
+	"EBADFD", /* 81 */
+	"EREMCHG", /* 82 */
+	"ELIBACC", /* 83 */
+	"ELIBBAD", /* 84 */
+	"ELIBSCN", /* 85 */
+	"ELIBMAX", /* 86 */
+	"ELIBEXEC", /* 87 */
+	"EILSEQ", /* 88 */
+	"ENOSYS", /* 89 */
+	"ELOOP", /* 90 */
+	"ERESTART", /* 91 */
+	"ESTRPIPE", /* 92 */
+	"ENOTEMPTY", /* 93 */
+	"EUSERS", /* 94 */
+	"ENOTSOCK", /* 95 */
+	"EDESTADDRREQ", /* 96 */
+	"EMSGSIZE", /* 97 */
+	"EPROTOTYPE", /* 98 */
+	"ENOPROTOOPT", /* 99 */
+	"ERRNO_100", /* 100 */
+	"ERRNO_101", /* 101 */
+	"ERRNO_102", /* 102 */
+	"ERRNO_103", /* 103 */
+	"ERRNO_104", /* 104 */
+	"ERRNO_105", /* 105 */
+	"ERRNO_106", /* 106 */
+	"ERRNO_107", /* 107 */
+	"ERRNO_108", /* 108 */
+	"ERRNO_109", /* 109 */
+	"ERRNO_110", /* 110 */
+	"ERRNO_111", /* 111 */
+	"ERRNO_112", /* 112 */
+	"ERRNO_113", /* 113 */
+	"ERRNO_114", /* 114 */
+	"ERRNO_115", /* 115 */
+	"ERRNO_116", /* 116 */
+	"ERRNO_117", /* 117 */
+	"ERRNO_118", /* 118 */
+	"ERRNO_119", /* 119 */
+	"EPROTONOSUPPORT", /* 120 */
+	"ESOCKTNOSUPPORT", /* 121 */
+	"EOPNOTSUPP", /* 122 */
+	"EPFNOSUPPORT", /* 123 */
+	"EAFNOSUPPORT", /* 124 */
+	"EADDRINUSE", /* 125 */
+	"EADDRNOTAVAIL", /* 126 */
+	"ENETDOWN", /* 127 */
+	"ENETUNREACH", /* 128 */
+	"ENETRESET", /* 129 */
+	"ECONNABORTED", /* 130 */
+	"ECONNRESET", /* 131 */
+	"ENOBUFS", /* 132 */
+	"EISCONN", /* 133 */
+	"ENOTCONN", /* 134 */
+	"ERRNO_135", /* 135 */
+	"ERRNO_136", /* 136 */
+	"ERRNO_137", /* 137 */
+	"ERRNO_138", /* 138 */
+	"ERRNO_139", /* 139 */
+	"ERRNO_140", /* 140 */
+	"ERRNO_141", /* 141 */
+	"ERRNO_142", /* 142 */
+	"ESHUTDOWN", /* 143 */
+	"ETOOMANYREFS", /* 144 */
+	"ETIMEDOUT", /* 145 */
+	"ECONNREFUSED", /* 146 */
+	"EHOSTDOWN", /* 147 */
+	"EHOSTUNREACH", /* 148 */
+	"EALREADY", /* 149 */
+	"EINPROGRESS", /* 150 */
+	"ESTALE", /* 151 */
diff --git a/strace-4.5.20/svr4/ioctlent.h b/strace-4.5.20/svr4/ioctlent.h
new file mode 100644
index 0000000..7119c87
--- /dev/null
+++ b/strace-4.5.20/svr4/ioctlent.h
@@ -0,0 +1,429 @@
+{"sys/dkio.h", "DKIOCGGEOM", 0x401},
+{"sys/dkio.h", "DKIOCSGEOM", 0x402},
+{"sys/dkio.h", "DKIOCINFO", 0x403},
+{"sys/dkio.h", "DKIOCSAPART", 0x404},
+{"sys/dkio.h", "DKIOCGAPART", 0x405},
+{"sys/dkio.h", "DKIOCEJECT", 0x406},
+{"sys/dkio.h", "DKIOCLOCK", 0x407},
+{"sys/dkio.h", "DKIOCUNLOCK", 0x408},
+{"sys/dkio.h", "DKIOCGVTOC", 0x40b},
+{"sys/dkio.h", "DKIOCSVTOC", 0x40c},
+{"sys/dkio.h", "DKIOCSTATE", 0x40d},
+{"sys/fdio.h", "FDIOGCHAR", 0x433},
+{"sys/fdio.h", "FDIOSCHAR", 0x434},
+{"sys/fdio.h", "FDEJECT", 0x435},
+{"sys/fdio.h", "FDGETCHANGE", 0x436},
+{"sys/fdio.h", "FDGETDRIVECHAR", 0x437},
+{"sys/fdio.h", "FDSETDRIVECHAR", 0x438},
+{"sys/fdio.h", "FDGETSEARCH", 0x439},
+{"sys/fdio.h", "FDSETSEARCH", 0x43a},
+{"sys/fdio.h", "FDIOCMD", 0x43b},
+{"sys/fdio.h", "FDRAW", 0x446},
+{"sys/fdio.h", "FDDEFGEOCHAR", 0x456},
+{"sys/hdio.h", "HDKIOCSTYPE", 0x465},
+{"sys/hdio.h", "HDKIOCGTYPE", 0x466},
+{"sys/hdio.h", "HDKIOCSBAD", 0x467},
+{"sys/hdio.h", "HDKIOCGBAD", 0x468},
+{"sys/hdio.h", "HDKIOCSCMD", 0x469},
+{"sys/hdio.h", "HDKIOCGDIAG", 0x46a},
+{"sys/cdio.h", "CDROMPAUSE", 0x497},
+{"sys/cdio.h", "CDROMRESUME", 0x498},
+{"sys/cdio.h", "CDROMPLAYMSF", 0x499},
+{"sys/cdio.h", "CDROMPLAYTRKIND", 0x49a},
+{"sys/cdio.h", "CDROMREADTOCHDR", 0x49b},
+{"sys/cdio.h", "CDROMREADTOCENTRY", 0x49c},
+{"sys/cdio.h", "CDROMSTOP", 0x49d},
+{"sys/cdio.h", "CDROMSTART", 0x49e},
+{"sys/cdio.h", "CDROMEJECT", 0x49f},
+{"sys/cdio.h", "CDROMVOLCTRL", 0x4a0},
+{"sys/cdio.h", "CDROMSUBCHNL", 0x4a1},
+{"sys/cdio.h", "CDROMREADMODE2", 0x4a2},
+{"sys/cdio.h", "CDROMREADMODE1", 0x4a3},
+{"sys/cdio.h", "CDROMREADOFFSET", 0x4a4},
+{"sys/cdio.h", "CDROMGBLKMODE", 0x4a5},
+{"sys/cdio.h", "CDROMSBLKMODE", 0x4a6},
+{"sys/cdio.h", "CDROMCDDA", 0x4a7},
+{"sys/cdio.h", "CDROMCDXA", 0x4a8},
+{"sys/cdio.h", "CDROMSUBCODE", 0x4a9},
+{"sys/cdio.h", "CDROMGDRVSPEED", 0x4aa},
+{"sys/cdio.h", "CDROMSDRVSPEED", 0x4ab},
+{"sys/scsi/impl/uscsi.h", "USCSICMD", 0x4c9},
+{"sys/bufmod.h", "SBIOCSTIME", 0x4201},
+{"sys/bufmod.h", "SBIOCGTIME", 0x4202},
+{"sys/bufmod.h", "SBIOCCTIME", 0x4203},
+{"sys/bufmod.h", "SBIOCSCHUNK", 0x4204},
+{"sys/bufmod.h", "SBIOCGCHUNK", 0x4205},
+{"sys/bufmod.h", "SBIOCSSNAP", 0x4206},
+{"sys/bufmod.h", "SBIOCGSNAP", 0x4207},
+{"sys/bufmod.h", "SBIOCSFLAGS", 0x4208},
+{"sys/bufmod.h", "SBIOCGFLAGS", 0x4209},
+{"sys/termios.h", "LDOPEN", 0x4400},
+{"sys/termios.h", "LDCLOSE", 0x4401},
+{"sys/dlpi.h", "DLIOCRAW", 0x4401},
+{"sys/sad.h", "SAD_SAP", 0x4401},
+{"sys/termios.h", "LDCHG", 0x4402},
+{"sys/sad.h", "SAD_GAP", 0x4402},
+{"sys/sad.h", "SAD_VML", 0x4403},
+{"sys/termios.h", "LDGETT", 0x4408},
+{"sys/termios.h", "LDSETT", 0x4409},
+{"sys/dlpi.h", "DL_IOC_HDR_INFO", 0x440a},
+{"sys/termios.h", "LDSMAP", 0x446e},
+{"sys/termios.h", "LDGMAP", 0x446f},
+{"sys/termios.h", "LDNMAP", 0x4470},
+{"sys/termios.h", "LDEMAP", 0x4471},
+{"sys/termios.h", "LDDMAP", 0x4472},
+{"sys/fbio.h", "FBIOGTYPE", 0x4600},
+{"sys/fbio.h", "FBIOGINFO", 0x4602},
+{"sys/fbio.h", "FBIOPUTCMAP", 0x4603},
+{"sys/fbio.h", "FBIOGETCMAP", 0x4604},
+{"sys/fbio.h", "FBIOSATTR", 0x4605},
+{"sys/fbio.h", "FBIOGATTR", 0x4606},
+{"sys/fbio.h", "FBIOSVIDEO", 0x4607},
+{"sys/fbio.h", "FBIOGVIDEO", 0x4608},
+{"sys/fbio.h", "FBIOVERTICAL", 0x4609},
+{"sys/fbio.h", "GRABPAGEALLOC", 0x460a},
+{"sys/fbio.h", "GRABPAGEFREE", 0x460b},
+{"sys/fbio.h", "GRABATTACH", 0x460c},
+{"sys/fbio.h", "FBIOGPLNGRP", 0x460d},
+{"sys/fbio.h", "FBIOGCMSIZE", 0x460e},
+{"sys/fbio.h", "FBIOSCMSIZE", 0x460f},
+{"sys/fbio.h", "FBIOSCMS", 0x4610},
+{"sys/fbio.h", "FBIOAVAILPLNGRP", 0x4611},
+{"sys/fbio.h", "FBIODBLGINFO", 0x4612},
+{"sys/fbio.h", "FBIODBLSINFO", 0x4613},
+{"sys/fbio.h", "FBIOSWINFD", 0x4614},
+{"sys/fbio.h", "FBIOSAVWINFD", 0x4615},
+{"sys/fbio.h", "FBIORESWINFD", 0x4616},
+{"sys/fbio.h", "FBIOSRWINFD", 0x4617},
+{"sys/visual_io.h", "VIS_SETCURSOR", 0x4618},
+{"sys/fbio.h", "FBIOSCURSOR", 0x4618},
+{"sys/fbio.h", "FBIOGCURSOR", 0x4619},
+{"sys/visual_io.h", "VIS_GETCURSOR", 0x4619},
+{"sys/fbio.h", "FBIOSCURPOS", 0x461a},
+{"sys/visual_io.h", "VIS_MOVECURSOR", 0x461a},
+{"sys/fbio.h", "FBIOGCURPOS", 0x461b},
+{"sys/visual_io.h", "VIS_GETCURSORPOS", 0x461b},
+{"sys/fbio.h", "FBIOGCURMAX", 0x461c},
+{"sys/fbio.h", "GRABLOCKINFO", 0x461d},
+{"sys/fbio.h", "FBIO_WID_ALLOC", 0x461e},
+{"sys/fbio.h", "FBIO_WID_FREE", 0x461f},
+{"sys/fbio.h", "FBIO_WID_PUT", 0x4620},
+{"sys/fbio.h", "FBIO_WID_GET", 0x4621},
+{"sys/fbio.h", "FBIO_DEVID", 0x4622},
+{"sys/fbio.h", "FBIO_U_RST", 0x4623},
+{"sys/fbio.h", "FBIO_FULLSCREEN_ELIMINATION_GROUPS", 0x4624},
+{"sys/fbio.h", "FBIO_WID_DBL_SET", 0x4625},
+{"sys/fbio.h", "FBIOVRTOFFSET", 0x4626},
+{"sys/fbio.h", "FBIOGXINFO", 0x4627},
+{"sys/fbio.h", "FBIOMONINFO", 0x4628},
+{"sys/fbio.h", "FBIOPUTCMAPI", 0x4629},
+{"sys/fbio.h", "FBIOGETCMAPI", 0x462a},
+{"sys/fbio.h", "FBIO_ASSIGNWID", 0x462b},
+{"sys/fbio.h", "FBIO_STEREO", 0x462c},
+{"sys/gpio.h", "GP1IO_PUT_INFO", 0x4700},
+{"sys/gpio.h", "GP1IO_GET_STATIC_BLOCK", 0x4701},
+{"sys/gpio.h", "GP1IO_FREE_STATIC_BLOCK", 0x4702},
+{"sys/gpio.h", "GP1IO_GET_GBUFFER_STATE", 0x4703},
+{"sys/gpio.h", "GP1IO_CHK_GP", 0x4704},
+{"sys/gpio.h", "GP1IO_GET_RESTART_COUNT", 0x4705},
+{"sys/gpio.h", "GP1IO_REDIRECT_DEVFB", 0x4706},
+{"sys/gpio.h", "GP1IO_GET_REQDEV", 0x4707},
+{"sys/gpio.h", "GP1IO_GET_TRUMINORDEV", 0x4708},
+{"sys/gpio.h", "GP1IO_CHK_FOR_GBUFFER", 0x4709},
+{"sys/gpio.h", "GP1IO_SET_USING_GBUFFER", 0x470a},
+{"sys/gpio.h", "GP1IO_INFO_STATIC_BLOCK", 0x470b},
+{"sys/sockmod.h", "O_SI_GETUDATA", 0x4965},
+{"sys/sockmod.h", "SI_SHUTDOWN", 0x4966},
+{"sys/sockmod.h", "SI_LISTEN", 0x4967},
+{"sys/sockmod.h", "SI_SETMYNAME", 0x4968},
+{"sys/sockmod.h", "SI_SETPEERNAME", 0x4969},
+{"sys/sockmod.h", "SI_GETINTRANSIT", 0x496a},
+{"sys/sockmod.h", "SI_SOCKPARAMS", 0x496d},
+{"sys/sockmod.h", "SI_GETUDATA", 0x496e},
+{"sys/strlog.h", "I_TRCLOG", 0x4c01},
+{"sys/strlog.h", "I_ERRLOG", 0x4c02},
+{"sys/strlog.h", "I_CONSLOG", 0x4c03},
+{"sys/cg14io.h", "MDI_RESET", 0x4d01},
+{"sys/cg14io.h", "MDI_GET_CFGINFO", 0x4d02},
+{"sys/cg14io.h", "MDI_SET_PIXELMODE", 0x4d03},
+{"sys/cg14io.h", "MDI_SET_COUNTERS", 0x4d04},
+{"sys/cg14io.h", "MDI_SET_PPR", 0x4d05},
+{"sys/cg14io.h", "MDI_VRT_CNTL", 0x4d06},
+{"sys/cg14io.h", "MDI_SET_CLUT", 0x4d07},
+{"sys/cg14io.h", "MDI_GET_CLUT", 0x4d08},
+{"sys/cg14io.h", "MDI_SET_XLUT", 0x4d09},
+{"sys/cg14io.h", "MDI_GET_XLUT", 0x4d0a},
+{"sys/cg14io.h", "MDI_GAMMA_CORRECT", 0x4d0b},
+{"sys/cg14io.h", "MDI_SET_GAMMALUT", 0x4d0c},
+{"sys/cg14io.h", "MDI_GET_GAMMALUT", 0x4d0d},
+{"sys/cg14io.h", "MDI_SET_DEGAMMALUT", 0x4d0e},
+{"sys/cg14io.h", "MDI_GET_DEGAMMALUT", 0x4d0f},
+{"sys/cg14io.h", "MDI_GET_BUFFER_INFO", 0x4d10},
+{"sys/cg14io.h", "MDI_SET_CURSOR", 0x4d11},
+{"sys/cg14io.h", "MDI_GET_DIAGINFO", 0x4d12},
+{"sys/cg14io.h", "MDI_SET_RESOLUTION", 0x4d13},
+{"sys/cg14io.h", "SET_MONITOR_POWER", 0x4d14},
+{"sys/openpromio.h", "OPROMGETBOOTARGS", 0x4f0c},
+{"sys/pfmod.h", "PFIOCSETF", 0x5001},
+{"sys/stropts.h", "I_NREAD", 0x5301},
+{"sys/stropts.h", "I_PUSH", 0x5302},
+{"sys/stropts.h", "I_POP", 0x5303},
+{"sys/stropts.h", "I_LOOK", 0x5304},
+{"sys/stropts.h", "I_FLUSH", 0x5305},
+{"sys/stropts.h", "I_SRDOPT", 0x5306},
+{"sys/stropts.h", "I_GRDOPT", 0x5307},
+{"sys/stropts.h", "I_STR", 0x5308},
+{"sys/stropts.h", "I_SETSIG", 0x5309},
+{"sys/stropts.h", "I_GETSIG", 0x530a},
+{"sys/stropts.h", "I_FIND", 0x530b},
+{"sys/stropts.h", "I_LINK", 0x530c},
+{"sys/stropts.h", "I_UNLINK", 0x530d},
+{"sys/stropts.h", "I_RECVFD", 0x530e},
+{"sys/stropts.h", "I_PEEK", 0x530f},
+{"sys/stropts.h", "I_FDINSERT", 0x5310},
+{"sys/stropts.h", "I_SENDFD", 0x5311},
+{"sys/stropts.h", "I_SWROPT", 0x5313},
+{"sys/stropts.h", "I_GWROPT", 0x5314},
+{"sys/stropts.h", "I_LIST", 0x5315},
+{"sys/stropts.h", "I_PLINK", 0x5316},
+{"sys/stropts.h", "I_PUNLINK", 0x5317},
+{"sys/stropts.h", "I_SETEV", 0x5318},
+{"sys/stropts.h", "I_GETEV", 0x5319},
+{"sys/stropts.h", "I_STREV", 0x531a},
+{"sys/stropts.h", "I_UNSTREV", 0x531b},
+{"sys/stropts.h", "I_FLUSHBAND", 0x531c},
+{"sys/stropts.h", "I_CKBAND", 0x531d},
+{"sys/stropts.h", "I_GETBAND", 0x531e},
+{"sys/stropts.h", "I_ATMARK", 0x531f},
+{"sys/stropts.h", "I_SETCLTIME", 0x5320},
+{"sys/stropts.h", "I_GETCLTIME", 0x5321},
+{"sys/stropts.h", "I_CANPUT", 0x5322},
+{"sys/termios.h", "TCGETA", 0x5401},
+{"sys/termios.h", "TCSETA", 0x5402},
+{"sys/termios.h", "TCSETAW", 0x5403},
+{"sys/termios.h", "TCSETAF", 0x5404},
+{"sys/termios.h", "TCSBRK", 0x5405},
+{"sys/termios.h", "TCXONC", 0x5406},
+{"sys/termios.h", "TCFLSH", 0x5407},
+{"sys/termios.h", "TIOCKBON", 0x5408},
+{"sys/termios.h", "TIOCKBOF", 0x5409},
+{"sys/termios.h", "KBENABLED", 0x540a},
+{"sys/termios.h", "TCGETS", 0x540d},
+{"sys/termios.h", "TCSETS", 0x540e},
+{"sys/termios.h", "TCSANOW", 0x540e},
+{"sys/termios.h", "TCSADRAIN", 0x540f},
+{"sys/termios.h", "TCSETSW", 0x540f},
+{"sys/termios.h", "TCSAFLUSH", 0x5410},
+{"sys/termios.h", "TCSETSF", 0x5410},
+{"sys/termio.h", "TCDSET", 0x5420},
+{"sys/termios.h", "TCDSET", 0x5420},
+{"sys/termios.h", "RTS_TOG", 0x5421},
+{"sys/ttold.h", "TIOCSWINSZ", 0x5467},
+{"sys/termios.h", "TIOCSWINSZ", 0x5467},
+{"sys/ttold.h", "TIOCGWINSZ", 0x5468},
+{"sys/termios.h", "TIOCGWINSZ", 0x5468},
+{"sys/termios.h", "TIOCGSOFTCAR", 0x5469},
+{"sys/termios.h", "TIOCSSOFTCAR", 0x546a},
+{"sys/timod.h", "TI_GETINFO", 0x548c},
+{"sys/timod.h", "TI_OPTMGMT", 0x548d},
+{"sys/timod.h", "TI_BIND", 0x548e},
+{"sys/timod.h", "TI_UNBIND", 0x548f},
+{"sys/timod.h", "TI_GETMYNAME", 0x5490},
+{"sys/timod.h", "TI_GETPEERNAME", 0x5491},
+{"sys/timod.h", "TI_SETMYNAME", 0x5492},
+{"sys/timod.h", "TI_SETPEERNAME", 0x5493},
+{"sys/termiox.h", "TCGETX", 0x5801},
+{"sys/termiox.h", "TCSETX", 0x5802},
+{"sys/termiox.h", "TCSETXW", 0x5803},
+{"sys/termiox.h", "TCSETXF", 0x5804},
+{"sys/ioctl.h", "DIOCGETC", 0x6401},
+{"sys/ioctl.h", "DIOCGETB", 0x6402},
+{"sys/ioctl.h", "DIOCSETE", 0x6403},
+{"sys/termios.h", "DIOCGETP", 0x6408},
+{"sys/termios.h", "DIOCSETP", 0x6409},
+{"sys/jioctl.h", "JBOOT", 0x6a01},
+{"sys/jioctl.h", "JTERM", 0x6a02},
+{"sys/jioctl.h", "JMPX", 0x6a03},
+{"sys/jioctl.h", "JWINSIZE", 0x6a05},
+{"sys/jioctl.h", "JZOMBOOT", 0x6a07},
+{"sys/jioctl.h", "JAGENT", 0x6a09},
+{"sys/jioctl.h", "JTRUN", 0x6a0a},
+{"sys/jioctl.h", "JXTPROTO", 0x6a0b},
+{"sys/kbio.h", "KIOCTRANS", 0x6b00},
+{"sys/kbio.h", "KIOCSETKEY", 0x6b01},
+{"sys/kbio.h", "KIOCGETKEY", 0x6b02},
+{"sys/kbio.h", "KIOCGTRANS", 0x6b05},
+{"sys/kbio.h", "KIOCTRANSABLE", 0x6b06},
+{"sys/kbio.h", "KIOCGTRANSABLE", 0x6b07},
+{"sys/kbio.h", "KIOCCMD", 0x6b08},
+{"sys/kbio.h", "KIOCTYPE", 0x6b09},
+{"sys/kbio.h", "KIOCSDIRECT", 0x6b0a},
+{"sys/kbio.h", "KIOCGDIRECT", 0x6b0b},
+{"sys/kbio.h", "KIOCSKEY", 0x6b0c},
+{"sys/kbio.h", "KIOCGKEY", 0x6b0d},
+{"sys/kbio.h", "KIOCSLED", 0x6b0e},
+{"sys/kbio.h", "KIOCGLED", 0x6b0f},
+{"sys/kbio.h", "KIOCSCOMPAT", 0x6b10},
+{"sys/kbio.h", "KIOCGCOMPAT", 0x6b11},
+{"sys/kbio.h", "KIOCLAYOUT", 0x6b14},
+{"sys/ioctl.h", "LIOCGETP", 0x6c01},
+{"sys/ioctl.h", "LIOCSETP", 0x6c02},
+{"sys/ioctl.h", "LIOCGETS", 0x6c05},
+{"sys/ioctl.h", "LIOCSETS", 0x6c06},
+{"sys/mtio.h", "MTIOCTOP", 0x6d01},
+{"sys/msio.h", "MSIOGETPARMS", 0x6d01},
+{"sys/msio.h", "MSIOSETPARMS", 0x6d02},
+{"sys/mtio.h", "MTIOCGET", 0x6d02},
+{"sys/mtio.h", "MTIOCGETDRIVETYPE", 0x6d03},
+{"sys/procfs.h", "PIOCSTATUS", 0x7101},
+{"sys/procfs.h", "PIOCSTOP", 0x7102},
+{"sys/procfs.h", "PIOCWSTOP", 0x7103},
+{"sys/procfs.h", "PIOCRUN", 0x7104},
+{"sys/procfs.h", "PIOCGTRACE", 0x7105},
+{"sys/procfs.h", "PIOCSTRACE", 0x7106},
+{"sys/procfs.h", "PIOCSSIG", 0x7107},
+{"sys/procfs.h", "PIOCKILL", 0x7108},
+{"sys/procfs.h", "PIOCUNKILL", 0x7109},
+{"sys/procfs.h", "PIOCGHOLD", 0x710a},
+{"sys/procfs.h", "PIOCSHOLD", 0x710b},
+{"sys/procfs.h", "PIOCMAXSIG", 0x710c},
+{"sys/procfs.h", "PIOCACTION", 0x710d},
+{"sys/procfs.h", "PIOCGFAULT", 0x710e},
+{"sys/procfs.h", "PIOCSFAULT", 0x710f},
+{"sys/procfs.h", "PIOCCFAULT", 0x7110},
+{"sys/procfs.h", "PIOCGENTRY", 0x7111},
+{"sys/procfs.h", "PIOCSENTRY", 0x7112},
+{"sys/procfs.h", "PIOCGEXIT", 0x7113},
+{"sys/procfs.h", "PIOCSEXIT", 0x7114},
+{"sys/procfs.h", "PIOCSFORK", 0x7115},
+{"sys/procfs.h", "PIOCRFORK", 0x7116},
+{"sys/procfs.h", "PIOCSRLC", 0x7117},
+{"sys/procfs.h", "PIOCRRLC", 0x7118},
+{"sys/procfs.h", "PIOCGREG", 0x7119},
+{"sys/procfs.h", "PIOCSREG", 0x711a},
+{"sys/procfs.h", "PIOCGFPREG", 0x711b},
+{"sys/procfs.h", "PIOCSFPREG", 0x711c},
+{"sys/procfs.h", "PIOCNICE", 0x711d},
+{"sys/procfs.h", "PIOCPSINFO", 0x711e},
+{"sys/procfs.h", "PIOCNMAP", 0x711f},
+{"sys/procfs.h", "PIOCMAP", 0x7120},
+{"sys/procfs.h", "PIOCOPENM", 0x7121},
+{"sys/procfs.h", "PIOCCRED", 0x7122},
+{"sys/procfs.h", "PIOCGROUPS", 0x7123},
+{"sys/procfs.h", "PIOCGETPR", 0x7124},
+{"sys/procfs.h", "PIOCGETU", 0x7125},
+{"sys/procfs.h", "PIOCSET", 0x7126},
+{"sys/procfs.h", "PIOCRESET", 0x7127},
+{"sys/procfs.h", "PIOCNWATCH", 0x7128},
+{"sys/procfs.h", "PIOCGWATCH", 0x7129},
+{"sys/procfs.h", "PIOCSWATCH", 0x712a},
+{"sys/procfs.h", "PIOCUSAGE", 0x712b},
+{"sys/procfs.h", "PIOCOPENPD", 0x712c},
+{"sys/procfs.h", "PIOCLWPIDS", 0x712d},
+{"sys/procfs.h", "PIOCOPENLWP", 0x712e},
+{"sys/procfs.h", "PIOCLSTATUS", 0x712f},
+{"sys/procfs.h", "PIOCLUSAGE", 0x7130},
+{"sys/procfs.h", "PIOCNAUXV", 0x7131},
+{"sys/procfs.h", "PIOCAUXV", 0x7132},
+{"sys/procfs.h", "PIOCGWIN", 0x7165},
+{"sys/ttold.h", "TIOCGETD", 0x7400},
+{"sys/termios.h", "TIOCGETD", 0x7400},
+{"sys/termios.h", "TIOCSETD", 0x7401},
+{"sys/ttold.h", "TIOCSETD", 0x7401},
+{"sys/termios.h", "TIOCHPCL", 0x7402},
+{"sys/ttold.h", "TIOCHPCL", 0x7402},
+{"sys/ttold.h", "TIOCGETP", 0x7408},
+{"sys/termios.h", "TIOCGETP", 0x7408},
+{"sys/termios.h", "TIOCSETP", 0x7409},
+{"sys/ttold.h", "TIOCSETP", 0x7409},
+{"sys/ttold.h", "TIOCSETN", 0x740a},
+{"sys/termios.h", "TIOCSETN", 0x740a},
+{"sys/ttold.h", "TIOCEXCL", 0x740d},
+{"sys/termios.h", "TIOCEXCL", 0x740d},
+{"sys/ttold.h", "TIOCNXCL", 0x740e},
+{"sys/termios.h", "TIOCNXCL", 0x740e},
+{"sys/termios.h", "TIOCFLUSH", 0x7410},
+{"sys/ttold.h", "TIOCFLUSH", 0x7410},
+{"sys/termios.h", "TIOCSETC", 0x7411},
+{"sys/ttold.h", "TIOCSETC", 0x7411},
+{"sys/termios.h", "TIOCGETC", 0x7412},
+{"sys/ttold.h", "TIOCGETC", 0x7412},
+{"sys/termios.h", "TIOCGPGRP", 0x7414},
+{"sys/termios.h", "TIOCSPGRP", 0x7415},
+{"sys/termios.h", "TIOCGSID", 0x7416},
+{"sys/termios.h", "TIOCSTI", 0x7417},
+{"sys/termios.h", "TIOCSSID", 0x7418},
+{"sys/termios.h", "TIOCMSET", 0x741a},
+{"sys/termios.h", "TIOCMBIS", 0x741b},
+{"sys/termios.h", "TIOCMBIC", 0x741c},
+{"sys/termios.h", "TIOCMGET", 0x741d},
+{"sys/termios.h", "TIOCREMOTE", 0x741e},
+{"sys/ttold.h", "TIOCREMOTE", 0x741e},
+{"sys/termios.h", "TIOCSIGNAL", 0x741f},
+{"sys/termios.h", "TIOCSTART", 0x746e},
+{"sys/ttold.h", "TIOCSTART", 0x746e},
+{"sys/termios.h", "TIOCSTOP", 0x746f},
+{"sys/ttold.h", "TIOCSTOP", 0x746f},
+{"sys/ttold.h", "TIOCNOTTY", 0x7471},
+{"sys/termios.h", "TIOCNOTTY", 0x7471},
+{"sys/termios.h", "TIOCOUTQ", 0x7473},
+{"sys/ttold.h", "TIOCOUTQ", 0x7473},
+{"sys/termios.h", "TIOCGLTC", 0x7474},
+{"sys/ttold.h", "TIOCGLTC", 0x7474},
+{"sys/termios.h", "TIOCSLTC", 0x7475},
+{"sys/ttold.h", "TIOCSLTC", 0x7475},
+{"sys/termios.h", "TIOCCDTR", 0x7478},
+{"sys/ttold.h", "TIOCCDTR", 0x7478},
+{"sys/ttold.h", "TIOCSDTR", 0x7479},
+{"sys/termios.h", "TIOCSDTR", 0x7479},
+{"sys/termios.h", "TIOCCBRK", 0x747a},
+{"sys/ttold.h", "TIOCCBRK", 0x747a},
+{"sys/termios.h", "TIOCSBRK", 0x747b},
+{"sys/ttold.h", "TIOCSBRK", 0x747b},
+{"sys/termios.h", "TIOCLGET", 0x747c},
+{"sys/ttold.h", "TIOCLGET", 0x747c},
+{"sys/termios.h", "TIOCLSET", 0x747d},
+{"sys/ttold.h", "TIOCLSET", 0x747d},
+{"sys/ttold.h", "TIOCLBIC", 0x747e},
+{"sys/termios.h", "TIOCLBIC", 0x747e},
+{"sys/ttold.h", "TIOCLBIS", 0x747f},
+{"sys/termios.h", "TIOCLBIS", 0x747f},
+{"sys/vol.h", "VOLIOCMAP", 0x7601},
+{"sys/vuid_event.h", "VUIDSFORMAT", 0x7601},
+{"sys/vuid_event.h", "VUIDSFORMAT", 0x7601},
+{"sys/vuid_event.h", "VUIDGFORMAT", 0x7602},
+{"sys/vuid_event.h", "VUIDGFORMAT", 0x7602},
+{"sys/vol.h", "VOLIOCUNMAP", 0x7602},
+{"sys/vol.h", "VOLIOCEVENT", 0x7603},
+{"sys/vuid_event.h", "VUIDSADDR", 0x7603},
+{"sys/vuid_event.h", "VUIDSADDR", 0x7603},
+{"sys/vuid_event.h", "VUIDGADDR", 0x7604},
+{"sys/vuid_event.h", "VUIDGADDR", 0x7604},
+{"sys/vol.h", "VOLIOCEJECT", 0x7604},
+{"sys/vol.h", "VOLIOCCHECK", 0x7605},
+{"sys/vol.h", "VOLIOCINUSE", 0x7606},
+{"sys/vol.h", "VOLIOCDGATTR", 0x7607},
+{"sys/vol.h", "VOLIOCDSATTR", 0x7608},
+{"sys/vol.h", "VOLIOCDCHECK", 0x7609},
+{"sys/vol.h", "VOLIOCCANCEL", 0x760a},
+{"sys/vol.h", "VOLIOCINFO", 0x760b},
+{"sys/vol.h", "VOLIOCSATTR", 0x760c},
+{"sys/vol.h", "VOLIOCGATTR", 0x760d},
+{"sys/vol.h", "VOLIOCDINUSE", 0x760e},
+{"sys/vol.h", "VOLIOCDAEMON", 0x760f},
+{"sys/vol.h", "VOLIOCFLAGS", 0x7610},
+{"sys/vol.h", "VOLIOCEXTRA4", 0x7611},
+{"sys/vol.h", "VOLIOCEXTRA5", 0x7612},
+{"sys/vol.h", "VOLIOCEXTRA6", 0x7613},
+{"sys/vol.h", "VOLIOCEXTRA7", 0x7614},
+{"sys/ser_sync.h", "S_IOCGETMODE", 0x7a01},
+{"sys/ser_sync.h", "S_IOCSETMODE", 0x7a02},
+{"sys/ser_sync.h", "S_IOCGETSTATS", 0x7a03},
+{"sys/ser_sync.h", "S_IOCCLRSTATS", 0x7a04},
+{"sys/ser_sync.h", "S_IOCGETSPEED", 0x7a05},
+{"sys/ser_sync.h", "S_IOCGETMRU", 0x7a06},
+{"sys/ser_sync.h", "S_IOCSETMRU", 0x7a07},
+{"sys/ser_sync.h", "S_IOCGETMTU", 0x7a08},
+{"sys/ser_sync.h", "S_IOCSETMTU", 0x7a09},
+{"sys/ser_sync.h", "S_IOCGETMCTL", 0x7a0a},
+{"sys/tl.h", "TL_IOC_CREDOPT", 0x544c01},
diff --git a/strace-4.5.20/svr4/ioctlent.sh b/strace-4.5.20/svr4/ioctlent.sh
new file mode 100755
index 0000000..ae9e36e
--- /dev/null
+++ b/strace-4.5.20/svr4/ioctlent.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+# Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+#    derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+#	$Id$
+
+if [ $# -ne 1 ]
+then
+	echo "usage: $0 include-directory" >&2
+	exit 1
+fi
+
+bad_includes='cg[48]var\.h|sys/spad\.h'
+bad_defines='cg[48]var\.h|READSLICE|I_E_RECVFD|FBIOGPIXRECT|JTIMO|TTYTYPE|TIOCCONS|TCL_LINK|TCL_UNLINK'
+
+(
+	cd $1 || exit
+	find sys -name '*.h' -print |
+		xargs grep '^[	 ]*#[	 ]*define[	 ][ 	]*[A-Z_][A-Za-z0-9_]*[ 	][	 ]*( *[A-Za-z_][A-Za-z0-9_]* *| *[0-9][0-9]* *)' /dev/null |
+		sed 's/\(.*\):#[ 	]*define[ 	]*\([A-Z_][A-Za-z0-9_]*\)[ 	]*\(([^)]*)\)[ 	]*\(.*\)/	{ "\1",	"\2",	\2	},	\4 \/**\//'
+) >ioctlent.tmp
+cat ioctlent.tmp |
+	awk '{ print "#include <" substr($2, 2, length($2) - 3) ">" }' |
+	sort -u |
+	egrep -v "$bad_includes"
+echo xyzzy
+echo "struct ioctlent ioctlent[] = {"
+egrep -v "$bad_defines" ioctlent.tmp |
+awk '{ print "#ifdef " $4; print $0; print "#endif" }'
+echo "};"
+rm -f ioctlent.tmp
diff --git a/strace-4.5.20/svr4/signalent.h b/strace-4.5.20/svr4/signalent.h
new file mode 100644
index 0000000..58869a5
--- /dev/null
+++ b/strace-4.5.20/svr4/signalent.h
@@ -0,0 +1,36 @@
+	"SIG_0",	/* 0 */
+	"SIGHUP",	/* 1 */
+	"SIGINT",	/* 2 */
+	"SIGQUIT",	/* 3 */
+	"SIGILL",	/* 4 */
+	"SIGTRAP",	/* 5 */
+	"SIGABRT",	/* 6 */
+	"SIGEMT",	/* 7 */
+	"SIGFPE",	/* 8 */
+	"SIGKILL",	/* 9 */
+	"SIGBUS",	/* 10 */
+	"SIGSEGV",	/* 11 */
+	"SIGSYS",	/* 12 */
+	"SIGPIPE",	/* 13 */
+	"SIGALRM",	/* 14 */
+	"SIGTERM",	/* 15 */
+	"SIGUSR1",	/* 16 */
+	"SIGUSR2",	/* 17 */
+	"SIGCHLD",	/* 18 */
+	"SIGPWR",	/* 19 */
+	"SIGWINCH",	/* 20 */
+	"SIGURG",	/* 21 */
+	"SIGPOLL",	/* 22 */
+	"SIGSTOP",	/* 23 */
+	"SIGTSTP",	/* 24 */
+	"SIGCONT",	/* 25 */
+	"SIGTTIN",	/* 26 */
+	"SIGTTOU",	/* 27 */
+	"SIGVTALRM",	/* 28 */
+	"SIGPROF",	/* 29 */
+	"SIGXCPU",	/* 30 */
+	"SIGXFSZ",	/* 31 */
+	"SIGWAITING",	/* 32 */
+	"SIGLWP",	/* 33 */
+	"SIGFREEZE",	/* 34 */
+	"SIGTHAW",	/* 35 */
diff --git a/strace-4.5.20/svr4/syscall.h b/strace-4.5.20/svr4/syscall.h
new file mode 100644
index 0000000..e0fba08
--- /dev/null
+++ b/strace-4.5.20/svr4/syscall.h
@@ -0,0 +1,540 @@
+/*
+ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "dummy.h"
+
+extern int sys_syscall();
+extern int sys_exit();
+extern int sys_fork();
+extern int sys_read();
+extern int sys_write();
+extern int sys_open();
+extern int sys_close();
+extern int sys_wait();
+extern int sys_creat();
+extern int sys_link();
+extern int sys_unlink();
+extern int sys_exec();
+extern int sys_chdir();
+extern int sys_time();
+extern int sys_settimeofday();
+extern int sys_mknod();
+extern int sys_chmod();
+extern int sys_chown();
+extern int sys_brk();
+extern int sys_stat();
+extern int sys_lseek();
+extern int sys_getpid();
+extern int sys_mount();
+extern int sys_umount();
+extern int sys_setuid();
+extern int sys_getuid();
+extern int sys_stime();
+extern int sys_ptrace();
+extern int sys_alarm();
+extern int sys_fstat();
+extern int sys_pause();
+extern int sys_utime();
+extern int sys_stty();
+extern int sys_gtty();
+extern int sys_access();
+extern int sys_nice();
+extern int sys_statfs();
+extern int sys_sync();
+extern int sys_kill();
+extern int sys_fstatfs();
+extern int sys_pgrpsys();
+extern int sys_setpgrp();
+extern int sys_xenix();
+extern int sys_syssgi();
+extern int sys_dup();
+extern int sys_pipe();
+extern int sys_times();
+extern int sys_profil();
+extern int sys_plock();
+extern int sys_setgid();
+extern int sys_getgid();
+extern int sys_sigcall();
+extern int sys_msgsys();
+extern int sys_syssun();
+extern int sys_sysi86();
+extern int sys_sysmips();
+extern int sys_sysmachine();
+extern int sys_acct();
+extern int sys_shmsys();
+extern int sys_semsys();
+extern int sys_ioctl();
+extern int sys_uadmin();
+extern int sys_utssys();
+extern int sys_fdsync();
+extern int sys_execve();
+extern int sys_umask();
+extern int sys_chroot();
+extern int sys_fcntl();
+extern int sys_ulimit();
+extern int sys_rmdir();
+extern int sys_mkdir();
+extern int sys_getdents();
+extern int sys_sysfs();
+extern int sys_getmsg();
+extern int sys_putmsg();
+extern int sys_poll();
+extern int sys_dup2();
+extern int sys_bind();
+extern int sys_listen();
+extern int sys_accept();
+extern int sys_connect();
+extern int sys_shutdown();
+extern int sys_recv();
+extern int sys_recvfrom();
+extern int sys_send();
+extern int sys_sendto();
+extern int sys_getpeername();
+extern int sys_getsockname();
+extern int sys_getsockopt();
+extern int sys_setsockopt();
+#ifdef MIPS
+extern int sys_sigreturn();
+extern int sys_gethostid();
+extern int sys_recvmsg();
+extern int sys_select();
+extern int sys_sendmsg();
+extern int sys_sethostid();
+extern int sys_socket();
+extern int sys_listen();
+extern int sys_gethostname();
+extern int sys_sethostname();
+extern int sys_getdomainname();
+extern int sys_setdomainname();
+extern int sys_truncate();
+extern int sys_ftruncate();
+extern int sys_rename();
+extern int sys_symlink();
+extern int sys_readlink();
+extern int sys_nfssvc();
+extern int sys_getfh();
+extern int sys_async_daemon();
+extern int sys_exportfs();
+extern int sys_setregid();
+extern int sys_setreuid();
+extern int sys_getitimer();
+extern int sys_setitimer();
+extern int sys_adjtime();
+extern int sys_BSD_getime();
+extern int sys_sproc();
+extern int sys_prctl();
+extern int sys_procblk();
+extern int sys_sprocsp();
+extern int sys_mmap();
+extern int sys_munmap();
+extern int sys_mprotect();
+extern int sys_msync();
+extern int sys_madvise();
+extern int sys_pagelock();
+extern int sys_getpagesize();
+extern int sys_quotactl();
+extern int sys_BSDgetpgrp();
+extern int sys_BSDsetpgrp();
+extern int sys_vhangup();
+extern int sys_fsync();
+extern int sys_fchdir();
+extern int sys_getrlimit();
+extern int sys_setrlimit();
+extern int sys_cacheflush();
+extern int sys_cachectl();
+extern int sys_fchown();
+extern int sys_fchmod();
+extern int sys_socketpair();
+extern int sys_sysinfo();
+extern int sys_nuname();
+extern int sys_xstat();
+extern int sys_lxstat();
+extern int sys_fxstat();
+extern int sys_xmknod();
+extern int sys_ksigaction();
+extern int sys_sigpending();
+extern int sys_sigprocmask();
+extern int sys_sigsuspend();
+extern int sys_sigpoll();
+extern int sys_swapctl();
+extern int sys_getcontext();
+extern int sys_setcontext();
+extern int sys_waitsys();
+extern int sys_sigstack();
+extern int sys_sigaltstack();
+extern int sys_sigsendset();
+extern int sys_statvfs();
+extern int sys_fstatvfs();
+extern int sys_getpmsg();
+extern int sys_putpmsg();
+extern int sys_lchown();
+extern int sys_priocntl();
+extern int sys_ksigqueue();
+#else /* !MIPS */
+extern int sys_lstat();
+extern int sys_symlink();
+extern int sys_readlink();
+extern int sys_setgroups();
+extern int sys_getgroups();
+extern int sys_fchmod();
+extern int sys_fchown();
+extern int sys_sigprocmask();
+extern int sys_sigsuspend();
+extern int sys_sigaltstack();
+extern int sys_sigaction();
+extern int sys_spcall();
+extern int sys_context();
+extern int sys_evsys();
+extern int sys_evtrapret();
+extern int sys_statvfs();
+extern int sys_fstatvfs();
+extern int sys_nfssys();
+extern int sys_waitid();
+extern int sys_sigsendsys();
+extern int sys_hrtsys();
+extern int sys_acancel();
+extern int sys_async();
+extern int sys_priocntlsys();
+extern int sys_pathconf();
+extern int sys_mincore();
+extern int sys_mmap();
+extern int sys_mprotect();
+extern int sys_munmap();
+extern int sys_fpathconf();
+extern int sys_vfork();
+extern int sys_fchdir();
+extern int sys_readv();
+extern int sys_writev();
+extern int sys_xstat();
+extern int sys_lxstat();
+extern int sys_fxstat();
+extern int sys_xmknod();
+extern int sys_clocal();
+extern int sys_setrlimit();
+extern int sys_getrlimit();
+extern int sys_lchown();
+extern int sys_memcntl();
+extern int sys_getpmsg();
+extern int sys_putpmsg();
+extern int sys_rename();
+extern int sys_uname();
+extern int sys_setegid();
+extern int sys_sysconfig();
+extern int sys_adjtime();
+extern int sys_sysinfo();
+extern int sys_seteuid();
+extern int sys_vtrace();
+extern int sys_fork1();
+extern int sys_sigtimedwait();
+extern int sys_lwp_info();
+extern int sys_yield();
+extern int sys_lwp_sema_wait();
+extern int sys_lwp_sema_post();
+extern int sys_modctl();
+extern int sys_fchroot();
+extern int sys_utimes();
+extern int sys_vhangup();
+extern int sys_gettimeofday();
+extern int sys_getitimer();
+extern int sys_setitimer();
+extern int sys_lwp_create();
+extern int sys_lwp_exit();
+extern int sys_lwp_suspend();
+extern int sys_lwp_continue();
+extern int sys_lwp_kill();
+extern int sys_lwp_self();
+extern int sys_lwp_setprivate();
+extern int sys_lwp_getprivate();
+extern int sys_lwp_wait();
+extern int sys_lwp_mutex_unlock();
+extern int sys_lwp_mutex_lock();
+extern int sys_lwp_cond_wait();
+extern int sys_lwp_cond_signal();
+extern int sys_lwp_cond_broadcast();
+extern int sys_pread();
+extern int sys_pwrite();
+extern int sys_inst_sync();
+extern int sys_auditsys();
+extern int sys_processor_bind();
+extern int sys_processor_info();
+extern int sys_p_online();
+extern int sys_sigqueue();
+extern int sys_clock_gettime();
+extern int sys_clock_settime();
+extern int sys_clock_getres();
+extern int sys_timer_create();
+extern int sys_timer_delete();
+extern int sys_timer_settime();
+extern int sys_timer_gettime();
+extern int sys_timer_getoverrun();
+extern int sys_nanosleep();
+extern int sys_setreuid();
+extern int sys_setregid();
+#ifdef HAVE_SYS_ACL_H
+extern int sys_acl();
+extern int sys_facl();
+extern int sys_aclipc();
+#endif
+#ifdef HAVE_SYS_DOOR_H
+extern int sys_door();
+#endif
+#if UNIXWARE >= 2
+extern int sys_sigwait();
+extern int sys_truncate();
+extern int sys_ftruncate();
+extern int sys_getksym ();
+extern int sys_procpriv();
+#endif
+#if UNIXWARE >= 7
+extern int sys_lseek64 ();
+extern int sys_truncate64 ();
+extern int sys_ftruncate64 ();
+extern int sys_xsocket ();
+extern int sys_xsocketpair ();
+extern int sys_xbind ();
+extern int sys_xconnect ();
+extern int sys_xlisten ();
+extern int sys_xaccept ();
+extern int sys_xrecvmsg ();
+extern int sys_xsendmsg ();
+extern int sys_xgetsockaddr ();
+extern int sys_xsetsockaddr ();
+extern int sys_xgetsockopt ();
+extern int sys_xsetsockopt ();
+extern int sys_xshutdown ();
+extern int sys_rfork ();
+extern int sys_ssisys ();
+extern int sys_rexecve ();
+#endif
+#endif /* !MIPS */
+
+#ifdef MIPS
+#define SGI_KLUDGE 1
+#else
+#define SGI_KLUDGE 0
+#endif
+
+/* sys_pgrpsys subcalls */
+
+extern int sys_getpgrp(), sys_setpgrp(), sys_getsid();
+extern int sys_setsid(), sys_getpgid(), sys_setpgid();
+
+#ifndef MIPS
+
+#define SYS_pgrpsys_subcall	300 + SGI_KLUDGE
+#define SYS_getpgrp		(SYS_pgrpsys_subcall + 0)
+#define SYS_setpgrp		(SYS_pgrpsys_subcall + 1)
+#define SYS_getsid		(SYS_pgrpsys_subcall + 2)
+#define SYS_setsid		(SYS_pgrpsys_subcall + 3)
+#define SYS_getpgid		(SYS_pgrpsys_subcall + 4)
+#define SYS_setpgid		(SYS_pgrpsys_subcall + 5)
+
+#define SYS_pgrpsys_nsubcalls	6
+
+#endif /* !MIPS */
+
+/* sys_sigcall subcalls */
+
+#undef SYS_signal
+#define SYS_sigcall		48
+
+extern int sys_signal(), sys_sigset(), sys_sighold();
+extern int sys_sigrelse(), sys_sigignore(), sys_sigpause();
+
+#ifndef MIPS
+
+#define SYS_sigcall_subcall	310 + SGI_KLUDGE
+#define SYS_signal		(SYS_sigcall_subcall + 0)
+#define SYS_sigset		(SYS_sigcall_subcall + 1)
+#define SYS_sighold		(SYS_sigcall_subcall + 2)
+#define SYS_sigrelse		(SYS_sigcall_subcall + 3)
+#define SYS_sigignore		(SYS_sigcall_subcall + 4)
+#define SYS_sigpause		(SYS_sigcall_subcall + 5)
+
+#define SYS_sigcall_nsubcalls	6
+
+#endif /* !MIPS */
+
+/* msgsys subcalls */
+
+extern int sys_msgget(), sys_msgctl(), sys_msgrcv(), sys_msgsnd();
+
+#define SYS_msgsys_subcall	320 + SGI_KLUDGE
+#define SYS_msgget		(SYS_msgsys_subcall + 0)
+#define SYS_msgctl		(SYS_msgsys_subcall + 1)
+#define SYS_msgrcv		(SYS_msgsys_subcall + 2)
+#define SYS_msgsnd		(SYS_msgsys_subcall + 3)
+
+#define SYS_msgsys_nsubcalls	4
+
+/* shmsys subcalls */
+
+extern int sys_shmat(), sys_shmctl(), sys_shmdt(), sys_shmget();
+
+#define SYS_shmsys_subcall	330 + SGI_KLUDGE
+#define SYS_shmat		(SYS_shmsys_subcall + 0)
+#define SYS_shmctl		(SYS_shmsys_subcall + 1)
+#define SYS_shmdt		(SYS_shmsys_subcall + 2)
+#define SYS_shmget		(SYS_shmsys_subcall + 3)
+
+#define SYS_shmsys_nsubcalls	4
+
+/* semsys subcalls */
+
+extern int sys_semctl(), sys_semget(), sys_semop();
+
+#define SYS_semsys_subcall	340 + SGI_KLUDGE
+#define SYS_semctl		(SYS_semsys_subcall + 0)
+#define SYS_semget		(SYS_semsys_subcall + 1)
+#define SYS_semop		(SYS_semsys_subcall + 2)
+
+#define SYS_semsys_nsubcalls	3
+
+/* utssys subcalls */
+
+extern int sys_olduname(), sys_ustat(), sys_fusers();
+
+#define SYS_utssys_subcall	350 + SGI_KLUDGE
+
+#define SYS_olduname		(SYS_utssys_subcall + 0)
+				/* 1 is unused */
+#define SYS_ustat		(SYS_utssys_subcall + 2)
+#define SYS_fusers		(SYS_utssys_subcall + 3)
+
+#define SYS_utssys_nsubcalls	4
+
+/* sysfs subcalls */
+
+extern int sys_sysfs1(), sys_sysfs2(), sys_sysfs3();
+
+#define SYS_sysfs_subcall	360 + SGI_KLUDGE
+				/* 0 is unused */
+#define SYS_sysfs1		(SYS_sysfs_subcall + 1)
+#define SYS_sysfs2		(SYS_sysfs_subcall + 2)
+#define SYS_sysfs3		(SYS_sysfs_subcall + 3)
+
+#define SYS_sysfs_nsubcalls	4
+
+/* sys_spcall subcalls */
+
+#undef SYS_sigpending
+#define SYS_spcall		99
+
+extern int sys_sigpending(), sys_sigfillset();
+
+#define SYS_spcall_subcall	370 + SGI_KLUDGE
+				/* 0 is unused */
+#define SYS_sigpending		(SYS_spcall_subcall + 1)
+#define SYS_sigfillset		(SYS_spcall_subcall + 2)
+
+#define SYS_spcall_nsubcalls	3
+
+/* sys_context subcalls */
+
+extern int sys_getcontext(), sys_setcontext();
+
+#ifndef MIPS
+
+#define SYS_context_subcall	380 + SGI_KLUDGE
+#define SYS_getcontext		(SYS_context_subcall + 0)
+#define SYS_setcontext		(SYS_context_subcall + 1)
+
+#define SYS_context_nsubcalls	2
+
+#endif /* !MIPS */
+
+
+#ifdef HAVE_SYS_AIO_H
+extern int sys_aioread();
+extern int sys_aiowrite();
+extern int sys_aiowait();
+extern int sys_aiocancel();
+#endif /* HAVE_SYS_AIO_H */
+
+/* 64-bit file stuff */
+
+#if _LFS64_LARGEFILE
+extern int sys_getdents64();
+extern int sys_mmap64();
+extern int sys_stat64();
+extern int sys_lstat64();
+extern int sys_fstat64();
+extern int sys_setrlimit64();
+extern int sys_getrlimit64();
+extern int sys_pread64();
+extern int sys_pwrite64();
+extern int sys_lseek64();
+#endif
+
+/* solaris 2.6 stuff */
+extern int sys_so_socket();
+extern int sys_so_socketpair();
+
+#ifdef HAVE_SYS_DOOR_H
+
+#define SYS_door_subcall	390 + SGI_KLUDGE
+#define SYS_door_create		(SYS_door_subcall + 0)
+#define SYS_door_revoke		(SYS_door_subcall + 1)
+#define SYS_door_info		(SYS_door_subcall + 2)
+#define SYS_door_call		(SYS_door_subcall + 3)
+#define SYS_door_return		(SYS_door_subcall + 4)
+#define SYS_door_cred		(SYS_door_subcall + 5)
+
+#define SYS_door_nsubcalls	6
+
+#endif /* HAVE_SYS_DOOR_H */
+
+#ifdef HAVE_SYS_AIO_H
+
+#define SYS_kaio_subcall	400 + SGI_KLUDGE
+#define SYS_aioread		(SYS_kaio_subcall + 0)
+#define SYS_aiowrite		(SYS_kaio_subcall + 1)
+#define SYS_aiowait		(SYS_kaio_subcall + 2)
+#define SYS_aiocancel		(SYS_kaio_subcall + 3)
+#define SYS_aionotify		(SYS_kaio_subcall + 4)
+#define SYS_aioinit		(SYS_kaio_subcall + 5)
+#define SYS_aiostart		(SYS_kaio_subcall + 6)
+#define SYS_aiolio		(SYS_kaio_subcall + 7)
+#define SYS_aiosuspend		(SYS_kaio_subcall + 8)
+#define SYS_aioerror		(SYS_kaio_subcall + 9)
+#define SYS_aioliowait		(SYS_kaio_subcall + 10)
+#define SYS_aioaread		(SYS_kaio_subcall + 11)
+#define SYS_aioawrite		(SYS_kaio_subcall + 12)
+#define SYS_aiolio64		(SYS_kaio_subcall + 13)
+#define SYS_aiosuspend64	(SYS_kaio_subcall + 14)
+#define SYS_aioerror64		(SYS_kaio_subcall + 15)
+#define SYS_aioliowait64	(SYS_kaio_subcall + 16)
+#define SYS_aioaread64		(SYS_kaio_subcall + 17)
+#define SYS_aioawrite64		(SYS_kaio_subcall + 18)
+#define SYS_aiocancel64		(SYS_kaio_subcall + 19)
+#define SYS_aiofsync		(SYS_kaio_subcall + 20)
+
+#define SYS_kaio_nsubcalls	21
+
+#endif /* HAVE_SYS_AIO_H */
diff --git a/strace-4.5.20/svr4/syscallent.h b/strace-4.5.20/svr4/syscallent.h
new file mode 100644
index 0000000..d8e5a12
--- /dev/null
+++ b/strace-4.5.20/svr4/syscallent.h
@@ -0,0 +1,827 @@
+/*
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#ifdef MIPS
+	{ -1,	0,	printargs,		"SYS_-1"	}, /* -1 */
+#endif /* MIPS */
+	{ -1,	0,	sys_syscall,		"syscall"	}, /* 0 */
+	{ -1,	TP,	sys_exit,		"_exit"		}, /* 1 */
+	{ -1,	TP,	sys_fork,		"fork"		}, /* 2 */
+	{ -1,	TD,	sys_read,		"read"		}, /* 3 */
+	{ -1,	TD,	sys_write,		"write"		}, /* 4 */
+	{ -1,	TD|TF,	sys_open,		"open"		}, /* 5 */
+	{ -1,	TD,	sys_close,		"close"		}, /* 6 */
+	{ -1,	TP,	sys_wait,		"wait"		}, /* 7 */
+	{ -1,	TD|TF,	sys_creat,		"creat"		}, /* 8 */
+	{ -1,	TF,	sys_link,		"link"		}, /* 9 */
+	{ -1,	TF,	sys_unlink,		"unlink"	}, /* 10 */
+	{ -1,	TF|TP,	sys_exec,		"exec"		}, /* 11 */
+	{ -1,	TF,	sys_chdir,		"chdir"		}, /* 12 */
+	{ -1,	0,	sys_time,		"time"		}, /* 13 */
+	{ -1,	TF,	sys_mknod,		"mknod"		}, /* 14 */
+	{ -1,	TF,	sys_chmod,		"chmod"		}, /* 15 */
+	{ -1,	TF,	sys_chown,		"chown"		}, /* 16 */
+	{ -1,	0,	sys_brk,		"brk"		}, /* 17 */
+	{ -1,	TF,	sys_stat,		"stat"		}, /* 18 */
+	{ -1,	TD,	sys_lseek,		"lseek"		}, /* 19 */
+	{ -1,	0,	sys_getpid,		"getpid"	}, /* 20 */
+	{ -1,	TF,	sys_mount,		"mount"		}, /* 21 */
+	{ -1,	TF,	sys_umount,		"umount"	}, /* 22 */
+	{ -1,	0,	sys_setuid,		"setuid"	}, /* 23 */
+	{ -1,	0,	sys_getuid,		"getuid"	}, /* 24 */
+	{ -1,	0,	sys_stime,		"stime"		}, /* 25 */
+	{ -1,	0,	sys_ptrace,		"ptrace"	}, /* 26 */
+	{ -1,	0,	sys_alarm,		"alarm"		}, /* 27 */
+	{ -1,	TD,	sys_fstat,		"fstat"		}, /* 28 */
+	{ -1,	TS,	sys_pause,		"pause"		}, /* 29 */
+	{ -1,	TF,	sys_utime,		"utime"		}, /* 30 */
+	{ -1,	0,	sys_stty,		"stty"		}, /* 31 */
+	{ -1,	0,	sys_gtty,		"gtty"		}, /* 32 */
+	{ -1,	TF,	sys_access,		"access"	}, /* 33 */
+	{ -1,	0,	sys_nice,		"nice"		}, /* 34 */
+	{ -1,	TF,	sys_statfs,		"statfs"	}, /* 35 */
+	{ -1,	0,	sys_sync,		"sync"		}, /* 36 */
+	{ -1,	TS,	sys_kill,		"kill"		}, /* 37 */
+	{ -1,	TD,	sys_fstatfs,		"fstatfs"	}, /* 38 */
+#ifdef MIPS
+	{ -1,	0,	sys_setpgrp,		"setpgrp"	}, /* 39 */
+#else /* !MIPS */
+	{ -1,	0,	sys_pgrpsys,		"pgrpsys"	}, /* 39 */
+#endif /* !MIPS */
+#ifdef MIPS
+	{ -1,	0,	sys_syssgi,		"syssgi"	}, /* 40 */
+#else /* !MIPS */
+	{ -1,	0,	sys_xenix,		"xenix"		}, /* 40 */
+#endif /* !MIPS */
+	{ -1,	TD,	sys_dup,		"dup"		}, /* 41 */
+	{ -1,	TD,	sys_pipe,		"pipe"		}, /* 42 */
+	{ -1,	0,	sys_times,		"times"		}, /* 43 */
+	{ -1,	0,	sys_profil,		"profil"	}, /* 44 */
+	{ -1,	0,	sys_plock,		"plock"		}, /* 45 */
+	{ -1,	0,	sys_setgid,		"setgid"	}, /* 46 */
+	{ -1,	0,	sys_getgid,		"getgid"	}, /* 47 */
+	{ -1,	0,	sys_sigcall,		"sigcall"	}, /* 48 */
+	{ -1,	TI,	sys_msgsys,		"msgsys"	}, /* 49 */
+#ifdef SPARC
+	{ -1,	0,	sys_syssun,		"syssun"	}, /* 50 */
+#else /* !SPARC */
+#ifdef I386
+	{ -1,	0,	sys_sysi86,		"sysi86"	}, /* 50 */
+#else /* !I386 */
+#ifdef MIPS
+	{ -1,	0,	sys_sysmips,		"sysmips"	}, /* 50 */
+#else /* !MIPS */
+	{ -1,	0,	sys_sysmachine,		"sysmachine"	}, /* 50 */
+#endif /* !MIPS */
+#endif /* !I386 */
+#endif /* !SPARC */
+	{ -1,	TF,	sys_acct,		"acct"		}, /* 51 */
+	{ -1,	TI,	sys_shmsys,		"shmsys"	}, /* 52 */
+	{ -1,	TI,	sys_semsys,		"semsys"	}, /* 53 */
+	{ -1,	TD,	sys_ioctl,		"ioctl"		}, /* 54 */
+	{ -1,	0,	sys_uadmin,		"uadmin"	}, /* 55 */
+	{ -1,	0,	sys_sysmp,		"sysmp"		}, /* 56 */
+	{ -1,	0,	sys_utssys,		"utssys"	}, /* 57 */
+	{ -1,	0,	sys_fdsync,		"fdsync"	}, /* 58 */
+	{ -1,	TF|TP,	sys_execve,		"execve"	}, /* 59 */
+	{ -1,	0,	sys_umask,		"umask"		}, /* 60 */
+	{ -1,	TF,	sys_chroot,		"chroot"	}, /* 61 */
+	{ -1,	TD,	sys_fcntl,		"fcntl"		}, /* 62 */
+	{ -1,	0,	sys_ulimit,		"ulimit"	}, /* 63 */
+	{ -1,	0,	printargs,		"SYS_64"	}, /* 64 */
+	{ -1,	0,	printargs,		"SYS_65"	}, /* 65 */
+	{ -1,	0,	printargs,		"SYS_66"	}, /* 66 */
+	{ -1,	0,	printargs,		"SYS_67"	}, /* 67 */
+	{ -1,	0,	printargs,		"SYS_68"	}, /* 68 */
+	{ -1,	0,	printargs,		"SYS_69"	}, /* 69 */
+	{ -1,	0,	printargs,		"SYS_70"	}, /* 70 */
+	{ -1,	0,	printargs,		"SYS_71"	}, /* 71 */
+	{ -1,	0,	printargs,		"SYS_72"	}, /* 72 */
+	{ -1,	0,	printargs,		"SYS_73"	}, /* 73 */
+	{ -1,	0,	printargs,		"SYS_74"	}, /* 74 */
+	{ -1,	0,	printargs,		"SYS_75"	}, /* 75 */
+	{ -1,	0,	printargs,		"SYS_76"	}, /* 76 */
+	{ -1,	0,	printargs,		"SYS_77"	}, /* 77 */
+	{ -1,	0,	printargs,		"SYS_78"	}, /* 78 */
+	{ -1,	TF,	sys_rmdir,		"rmdir"		}, /* 79 */
+	{ -1,	TF,	sys_mkdir,		"mkdir"		}, /* 80 */
+	{ -1,	TD,	sys_getdents,		"getdents"	}, /* 81 */
+	{ -1,	0,	sys_sginap,		"sginap"	}, /* 82 */
+	{ -1,	0,	sys_sgikopt,		"sgikopt"	}, /* 83 */
+	{ -1,	0,	sys_sysfs,		"sysfs"		}, /* 84 */
+	{ -1,	TN,	sys_getmsg,		"getmsg"	}, /* 85 */
+	{ -1,	TN,	sys_putmsg,		"putmsg"	}, /* 86 */
+	{ -1,	TN,	sys_poll,		"poll"		}, /* 87 */
+#ifdef MIPS
+	{ -1,	TS,	sys_sigreturn,		"sigreturn"	}, /* 88 */
+	{ -1,	TN,	sys_accept,		"accept"	}, /* 89 */
+	{ -1,	TN,	sys_bind,		"bind"		}, /* 90 */
+	{ -1,	TN,	sys_connect,		"connect"	}, /* 91 */
+	{ -1,	0,	sys_gethostid,		"gethostid"	}, /* 92 */
+	{ -1,	TN,	sys_getpeername,	"getpeername"	}, /* 93 */
+	{ -1,	TN,	sys_getsockname,	"getsockname"	}, /* 94 */
+	{ -1,	TN,	sys_getsockopt,		"getsockopt"	}, /* 95 */
+	{ -1,	TN,	sys_listen,		"listen"	}, /* 96 */
+	{ -1,	TN,	sys_recv,		"recv"		}, /* 97 */
+	{ -1,	TN,	sys_recvfrom,		"recvfrom"	}, /* 98 */
+	{ -1,	TN,	sys_recvmsg,		"recvmsg"	}, /* 99 */
+	{ -1,	TD,	sys_select,		"select"	}, /* 100 */
+	{ -1,	TN,	sys_send,		"send"		}, /* 101 */
+	{ -1,	TN,	sys_sendmsg,		"sendmsg"	}, /* 102 */
+	{ -1,	TN,	sys_sendto,		"sendto"	}, /* 103 */
+	{ -1,	0,	sys_sethostid,		"sethostid"	}, /* 104 */
+	{ -1,	TN,	sys_setsockopt,		"setsockopt"	}, /* 105 */
+	{ -1,	TN,	sys_shutdown,		"shutdown"	}, /* 106 */
+	{ -1,	TN,	sys_socket,		"socket"	}, /* 107 */
+	{ -1,	0,	sys_gethostname,	"gethostname"	}, /* 108 */
+	{ -1,	0,	sys_sethostname,	"sethostname"	}, /* 109 */
+	{ -1,	0,	sys_getdomainname,	"getdomainname"	}, /* 110 */
+	{ -1,	0,	sys_setdomainname,	"setdomainname"	}, /* 111 */
+	{ -1,	TF,	sys_truncate,		"truncate"	}, /* 112 */
+	{ -1,	TD,	sys_ftruncate,		"ftruncate"	}, /* 113 */
+	{ -1,	TF,	sys_rename,		"rename"	}, /* 114 */
+	{ -1,	TF,	sys_symlink,		"symlink"	}, /* 115 */
+	{ -1,	TF,	sys_readlink,		"readlink"	}, /* 116 */
+	{ -1,	0,	printargs,		"SYS_117"	}, /* 117 */
+	{ -1,	0,	printargs,		"SYS_118"	}, /* 118 */
+	{ -1,	0,	sys_nfssvc,		"nfssvc"	}, /* 119 */
+	{ -1,	0,	sys_getfh,		"getfh"		}, /* 120 */
+	{ -1,	0,	sys_async_daemon,	"async_daemon"	}, /* 121 */
+	{ -1,	0,	sys_exportfs,		"exportfs"	}, /* 122 */
+	{ -1,	0,	sys_setregid,		"setregid"	}, /* 123 */
+	{ -1,	0,	sys_setreuid,		"setreuid"	}, /* 124 */
+	{ -1,	0,	sys_getitimer,		"getitimer"	}, /* 125 */
+	{ -1,	0,	sys_setitimer,		"setitimer"	}, /* 126 */
+	{ -1,	0,	sys_adjtime,		"adjtime"	}, /* 127 */
+	{ -1,	0,	sys_BSD_getime,		"BSD_getime"	}, /* 128 */
+	{ -1,	0,	sys_sproc,		"sproc"		}, /* 129 */
+	{ -1,	0,	sys_prctl,		"prctl"		}, /* 130 */
+	{ -1,	0,	sys_procblk,		"procblk"	}, /* 131 */
+	{ -1,	0,	sys_sprocsp,		"sprocsp"	}, /* 132 */
+	{ -1,	0,	printargs,		"SYS_133"	}, /* 133 */
+	{ -1,	0,	sys_mmap,		"mmap"		}, /* 134 */
+	{ -1,	0,	sys_munmap,		"munmap"	}, /* 135 */
+	{ -1,	0,	sys_mprotect,		"mprotect"	}, /* 136 */
+	{ -1,	0,	sys_msync,		"msync"		}, /* 137 */
+	{ -1,	0,	sys_madvise,		"madvise"	}, /* 138 */
+	{ -1,	0,	sys_pagelock,		"pagelock"	}, /* 139 */
+	{ -1,	0,	sys_getpagesize,	"getpagesize"	}, /* 140 */
+	{ -1,	0,	sys_quotactl,		"quotactl"	}, /* 141 */
+	{ -1,	0,	printargs,		"SYS_142"	}, /* 142 */
+	{ -1,	0,	sys_BSDgetpgrp,		"BSDgetpgrp"	}, /* 143 */
+	{ -1,	0,	sys_BSDsetpgrp,		"BSDsetpgrp"	}, /* 144 */
+	{ -1,	0,	sys_vhangup,		"vhangup"	}, /* 145 */
+	{ -1,	TD,	sys_fsync,		"fsync"		}, /* 146 */
+	{ -1,	TD,	sys_fchdir,		"fchdir"	}, /* 147 */
+	{ -1,	0,	sys_getrlimit,		"getrlimit"	}, /* 148 */
+	{ -1,	0,	sys_setrlimit,		"setrlimit"	}, /* 149 */
+	{ -1,	0,	sys_cacheflush,		"cacheflush"	}, /* 150 */
+	{ -1,	0,	sys_cachectl,		"cachectl"	}, /* 151 */
+	{ -1,	TD,	sys_fchown,		"fchown"	}, /* 152 */
+	{ -1,	TD,	sys_fchmod,		"fchmod"	}, /* 153 */
+	{ -1,	0,	printargs,		"SYS_154"	}, /* 154 */
+	{ -1,	TN,	sys_socketpair,		"socketpair"	}, /* 155 */
+	{ -1,	0,	sys_sysinfo,		"sysinfo"	}, /* 156 */
+	{ -1,	0,	sys_nuname,		"nuname"	}, /* 157 */
+	{ -1,	TF,	sys_xstat,		"xstat"		}, /* 158 */
+	{ -1,	TF,	sys_lxstat,		"lxstat"	}, /* 159 */
+	{ -1,	0,	sys_fxstat,		"fxstat"	}, /* 160 */
+	{ -1,	TF,	sys_xmknod,		"xmknod"	}, /* 161 */
+	{ -1,	TS,	sys_ksigaction,		"sigaction"	}, /* 162 */
+	{ -1,	TS,	sys_sigpending,		"sigpending"	}, /* 163 */
+	{ -1,	TS,	sys_sigprocmask,	"sigprocmask"	}, /* 164 */
+	{ -1,	TS,	sys_sigsuspend,		"sigsuspend"	}, /* 165 */
+	{ -1,	TS,	sys_sigpoll,		"sigpoll"	}, /* 166 */
+	{ -1,	0,	sys_swapctl,		"swapctl"	}, /* 167 */
+	{ -1,	0,	sys_getcontext,		"getcontext"	}, /* 168 */
+	{ -1,	0,	sys_setcontext,		"setcontext"	}, /* 169 */
+	{ -1,	TP,	sys_waitid,		"waitid"	}, /* 170 */
+	{ -1,	TS,	sys_sigstack,		"sigstack"	}, /* 171 */
+	{ -1,	TS,	sys_sigaltstack,	"sigaltstack"	}, /* 172 */
+	{ -1,	TS,	sys_sigsendset,		"sigsendset"	}, /* 173 */
+	{ -1,	TF,	sys_statvfs,		"statvfs"	}, /* 174 */
+	{ -1,	0,	sys_fstatvfs,		"fstatvfs"	}, /* 175 */
+	{ -1,	TN,	sys_getpmsg,		"getpmsg"	}, /* 176 */
+	{ -1,	TN,	sys_putpmsg,		"putpmsg"	}, /* 177 */
+	{ -1,	TF,	sys_lchown,		"lchown"	}, /* 178 */
+	{ -1,	0,	sys_priocntl,		"priocntl"	}, /* 179 */
+	{ -1,	TS,	sys_ksigqueue,		"ksigqueue"	}, /* 180 */
+	{ -1,	0,	printargs,		"SYS_181"	}, /* 181 */
+	{ -1,	0,	printargs,		"SYS_182"	}, /* 182 */
+	{ -1,	0,	printargs,		"SYS_183"	}, /* 183 */
+	{ -1,	0,	printargs,		"SYS_184"	}, /* 184 */
+	{ -1,	0,	printargs,		"SYS_185"	}, /* 185 */
+	{ -1,	0,	printargs,		"SYS_186"	}, /* 186 */
+	{ -1,	0,	printargs,		"SYS_187"	}, /* 187 */
+	{ -1,	0,	printargs,		"SYS_188"	}, /* 188 */
+	{ -1,	0,	printargs,		"SYS_189"	}, /* 189 */
+	{ -1,	0,	printargs,		"SYS_190"	}, /* 190 */
+	{ -1,	0,	printargs,		"SYS_191"	}, /* 191 */
+	{ -1,	0,	printargs,		"SYS_192"	}, /* 192 */
+	{ -1,	0,	printargs,		"SYS_193"	}, /* 193 */
+	{ -1,	0,	printargs,		"SYS_194"	}, /* 194 */
+	{ -1,	0,	printargs,		"SYS_195"	}, /* 195 */
+	{ -1,	0,	printargs,		"SYS_196"	}, /* 196 */
+	{ -1,	0,	printargs,		"SYS_197"	}, /* 197 */
+	{ -1,	0,	printargs,		"SYS_198"	}, /* 198 */
+	{ -1,	0,	printargs,		"SYS_199"	}, /* 199 */
+	{ -1,	0,	printargs,		"SYS_200"	}, /* 200 */
+	{ -1,	0,	printargs,		"SYS_201"	}, /* 201 */
+	{ -1,	0,	printargs,		"SYS_202"	}, /* 202 */
+	{ -1,	0,	printargs,		"SYS_203"	}, /* 203 */
+	{ -1,	0,	printargs,		"SYS_204"	}, /* 204 */
+	{ -1,	0,	printargs,		"SYS_205"	}, /* 205 */
+	{ -1,	0,	printargs,		"SYS_206"	}, /* 206 */
+	{ -1,	0,	printargs,		"SYS_207"	}, /* 207 */
+	{ -1,	0,	printargs,		"SYS_208"	}, /* 208 */
+	{ -1,	0,	printargs,		"SYS_209"	}, /* 209 */
+	{ -1,	0,	printargs,		"SYS_210"	}, /* 210 */
+	{ -1,	0,	printargs,		"SYS_211"	}, /* 211 */
+	{ -1,	0,	printargs,		"SYS_212"	}, /* 212 */
+	{ -1,	0,	printargs,		"SYS_213"	}, /* 213 */
+	{ -1,	0,	printargs,		"SYS_214"	}, /* 214 */
+	{ -1,	0,	printargs,		"SYS_215"	}, /* 215 */
+	{ -1,	0,	printargs,		"SYS_216"	}, /* 216 */
+	{ -1,	0,	printargs,		"SYS_217"	}, /* 217 */
+	{ -1,	0,	printargs,		"SYS_218"	}, /* 218 */
+	{ -1,	0,	printargs,		"SYS_219"	}, /* 219 */
+	{ -1,	0,	printargs,		"SYS_220"	}, /* 220 */
+	{ -1,	0,	printargs,		"SYS_221"	}, /* 221 */
+	{ -1,	0,	printargs,		"SYS_222"	}, /* 222 */
+	{ -1,	0,	printargs,		"SYS_223"	}, /* 223 */
+	{ -1,	0,	printargs,		"SYS_224"	}, /* 224 */
+	{ -1,	0,	printargs,		"SYS_225"	}, /* 225 */
+	{ -1,	0,	printargs,		"SYS_226"	}, /* 226 */
+	{ -1,	0,	printargs,		"SYS_227"	}, /* 227 */
+	{ -1,	0,	printargs,		"SYS_228"	}, /* 228 */
+	{ -1,	0,	printargs,		"SYS_229"	}, /* 229 */
+	{ -1,	0,	printargs,		"SYS_230"	}, /* 230 */
+	{ -1,	0,	printargs,		"SYS_231"	}, /* 231 */
+	{ -1,	0,	printargs,		"SYS_232"	}, /* 232 */
+	{ -1,	0,	printargs,		"SYS_233"	}, /* 233 */
+	{ -1,	0,	printargs,		"SYS_234"	}, /* 234 */
+	{ -1,	0,	printargs,		"SYS_235"	}, /* 235 */
+	{ -1,	0,	printargs,		"SYS_236"	}, /* 236 */
+	{ -1,	0,	printargs,		"SYS_237"	}, /* 237 */
+	{ -1,	0,	printargs,		"SYS_238"	}, /* 238 */
+	{ -1,	0,	printargs,		"SYS_239"	}, /* 239 */
+	{ -1,	0,	printargs,		"SYS_240"	}, /* 240 */
+	{ -1,	0,	printargs,		"SYS_241"	}, /* 241 */
+	{ -1,	0,	printargs,		"SYS_242"	}, /* 242 */
+	{ -1,	0,	printargs,		"SYS_243"	}, /* 243 */
+	{ -1,	0,	printargs,		"SYS_244"	}, /* 244 */
+	{ -1,	0,	printargs,		"SYS_245"	}, /* 245 */
+	{ -1,	0,	printargs,		"SYS_246"	}, /* 246 */
+	{ -1,	0,	printargs,		"SYS_247"	}, /* 247 */
+	{ -1,	0,	printargs,		"SYS_248"	}, /* 248 */
+	{ -1,	0,	printargs,		"SYS_249"	}, /* 249 */
+	{ -1,	0,	printargs,		"SYS_250"	}, /* 250 */
+	{ -1,	0,	printargs,		"SYS_251"	}, /* 251 */
+	{ -1,	0,	printargs,		"SYS_252"	}, /* 252 */
+	{ -1,	0,	printargs,		"SYS_253"	}, /* 253 */
+	{ -1,	0,	printargs,		"SYS_254"	}, /* 254 */
+	{ -1,	0,	printargs,		"SYS_255"	}, /* 255 */
+#else /* !MIPS */
+	{ -1,	TF,	sys_lstat,		"lstat"		}, /* 88 */
+	{ -1,	TF,	sys_symlink,		"symlink"	}, /* 89 */
+	{ -1,	TF,	sys_readlink,		"readlink"	}, /* 90 */
+	{ -1,	0,	sys_setgroups,		"setgroups"	}, /* 91 */
+	{ -1,	0,	sys_getgroups,		"getgroups"	}, /* 92 */
+	{ -1,	TD,	sys_fchmod,		"fchmod"	}, /* 93 */
+	{ -1,	TD,	sys_fchown,		"fchown"	}, /* 94 */
+	{ -1,	TS,	sys_sigprocmask,	"sigprocmask"	}, /* 95 */
+	{ -1,	TS,	sys_sigsuspend,		"sigsuspend"	}, /* 96 */
+	{ -1,	TS,	sys_sigaltstack,	"sigaltstack"	}, /* 97 */
+	{ -1,	TS,	sys_sigaction,		"sigaction"	}, /* 98 */
+	{ -1,	0,	sys_spcall,		"spcall"	}, /* 99 */
+	{ -1,	0,	sys_context,		"context"	}, /* 100 */
+	{ -1,	0,	sys_evsys,		"evsys"		}, /* 101 */
+	{ -1,	0,	sys_evtrapret,		"evtrapret"	}, /* 102 */
+	{ -1,	TF,	sys_statvfs,		"statvfs"	}, /* 103 */
+	{ -1,	0,	sys_fstatvfs,		"fstatvfs"	}, /* 104 */
+	{ -1,	0,	printargs,		"SYS_105"	}, /* 105 */
+	{ -1,	0,	sys_nfssys,		"nfssys"	}, /* 106 */
+#if UNIXWARE
+	{ -1,	TP,	sys_waitsys,		"waitsys"	}, /* 107 */
+#else
+	{ -1,	TP,	sys_waitid,		"waitid"	}, /* 107 */
+#endif
+	{ -1,	0,	sys_sigsendsys,		"sigsendsys"	}, /* 108 */
+	{ -1,	0,	sys_hrtsys,		"hrtsys"	}, /* 109 */
+	{ -1,	0,	sys_acancel,		"acancel"	}, /* 110 */
+	{ -1,	0,	sys_async,		"async"		}, /* 111 */
+	{ -1,	0,	sys_priocntlsys,	"priocntlsys"	}, /* 112 */
+	{ -1,	TF,	sys_pathconf,		"pathconf"	}, /* 113 */
+	{ -1,	0,	sys_mincore,		"mincore"	}, /* 114 */
+	{ -1,	0,	sys_mmap,		"mmap"		}, /* 115 */
+	{ -1,	0,	sys_mprotect,		"mprotect"	}, /* 116 */
+	{ -1,	0,	sys_munmap,		"munmap"	}, /* 117 */
+	{ -1,	0,	sys_fpathconf,		"fpathconf"	}, /* 118 */
+	{ -1,	TP,	sys_vfork,		"vfork"		}, /* 119 */
+	{ -1,	TD,	sys_fchdir,		"fchdir"	}, /* 120 */
+	{ -1,	TD,	sys_readv,		"readv"		}, /* 121 */
+	{ -1,	TD,	sys_writev,		"writev"	}, /* 122 */
+	{ -1,	TF,	sys_xstat,		"xstat"		}, /* 123 */
+	{ -1,	TF,	sys_lxstat,		"lxstat"	}, /* 124 */
+	{ -1,	0,	sys_fxstat,		"fxstat"	}, /* 125 */
+	{ -1,	TF,	sys_xmknod,		"xmknod"	}, /* 126 */
+	{ -1,	0,	sys_clocal,		"clocal"	}, /* 127 */
+	{ -1,	0,	sys_setrlimit,		"setrlimit"	}, /* 128 */
+	{ -1,	0,	sys_getrlimit,		"getrlimit"	}, /* 129 */
+	{ -1,	TF,	sys_lchown,		"lchown"	}, /* 130 */
+	{ -1,	0,	sys_memcntl,		"memcntl"	}, /* 131 */
+	{ -1,	TN,	sys_getpmsg,		"getpmsg"	}, /* 132 */
+	{ -1,	TN,	sys_putpmsg,		"putpmsg"	}, /* 133 */
+	{ -1,	TF,	sys_rename,		"rename"	}, /* 134 */
+	{ -1,	0,	sys_uname,		"uname"		}, /* 135 */
+	{ -1,	0,	sys_setegid,		"setegid"	}, /* 136 */
+	{ -1,	0,	sys_sysconfig,		"sysconfig"	}, /* 137 */
+	{ -1,	0,	sys_adjtime,		"adjtime"	}, /* 138 */
+	{ -1,	0,	sys_sysinfo,		"sysinfo"	}, /* 139 */
+	{ -1,	0,	printargs,		"SYS_140"	}, /* 140 */
+#if UNIXWARE >= 2
+	{ -1,	0,	sys_seteuid,		"seteuid"	}, /* 141 */
+	{ -1,	0, 	printargs,		"SYS_142"	}, /* 142 */
+	{ -1,	0,	sys_keyctl,		"keyctl"	}, /* 143 */
+	{ -1,	0,	sys_secsys,		"secsys"	}, /* 144 */
+	{ -1,	0,	sys_filepriv,		"filepriv"	}, /* 145 */
+	{ -1,	0,	sys_procpriv,		"procpriv"	}, /* 146 */
+	{ -1,	0,	sys_devstat,		"devstat"	}, /* 147 */
+	{ -1,	0,	sys_aclipc,		"aclipc"	}, /* 148 */
+	{ -1,	0,	sys_fdevstat,		"fdevstat"	}, /* 149 */
+	{ -1,	0,	sys_flvlfile,		"flvlfile"	}, /* 150 */
+	{ -1,	0,	sys_lvlfile,		"lvlfile"	}, /* 151 */
+	{ -1,	0, 	printargs,		"SYS_152"	}, /* 152 */
+	{ -1,	0,	sys_lvlequal,		"lvlequal"	}, /* 153 */
+	{ -1,	0,	sys_lvlproc,		"lvlproc"	}, /* 154 */
+	{ -1,	0, 	printargs,		"SYS_155"	}, /* 155 */
+	{ -1,	0,	sys_lvlipc,		"lvlipc"	}, /* 156 */
+	{ -1,	0,	sys_acl,		"acl"		}, /* 157 */
+	{ -1,	0,	sys_auditevt,		"auditevt"	}, /* 158 */
+	{ -1,	0,	sys_auditctl,		"auditctl"	}, /* 159 */
+	{ -1,	0,	sys_auditdmp,		"auditdmp"	}, /* 160 */
+	{ -1,	0,	sys_auditlog,		"auditlog"	}, /* 161 */
+	{ -1,	0,	sys_auditbuf,		"auditbuf"	}, /* 162 */
+	{ -1,	0,	sys_lvldom,		"lvldom"	}, /* 163 */
+	{ -1,	0,	sys_lvlvfs,		"lvlvfs"	}, /* 164 */
+	{ -1,	0,	sys_mkmld,		"mkmld"		}, /* 165 */
+	{ -1,	0,	sys_mldmode,		"mldmode"	}, /* 166 */
+	{ -1,	0,	sys_secadvise,		"secadvise"	}, /* 167 */
+	{ -1,	0,	sys_online,		"online"	}, /* 168 */
+	{ -1,	0,	sys_setitimer,		"setitimer"	}, /* 169 */
+	{ -1,	0,	sys_getitimer,		"getitimer"	}, /* 170 */
+	{ -1,	0,	sys_gettimeofday,	"gettimeofday"	}, /* 171 */
+	{ -1,	0,	sys_settimeofday,	"settimeofday"	}, /* 172 */
+	{ -1,	0,	sys_lwp_create,		"lwpcreate"	}, /* 173 */
+	{ -1,	0,	sys_lwp_exit,		"lwpexit"	}, /* 174 */
+	{ -1,	0,	sys_lwp_wait,		"lwpwait"	}, /* 175 */
+	{ -1,	0,	sys_lwp_self,		"lwpself"	}, /* 176 */
+	{ -1,	0,	sys_lwpinfo,		"lwpinfo"	}, /* 177 */
+	{ -1,	0,	sys_lwpprivate,		"lwpprivate"	}, /* 178 */
+	{ -1,	0,	sys_processor_bind,	"processor_bind"}, /* 179 */
+	{ -1,	0,	sys_processor_exbind,	"processor_exbind"}, /* 180 */
+	{ -1,	0, 	printargs,		"SYS_181"	}, /* 181 */
+	{ -1,	0, 	printargs,		"SYS_182"	}, /* 182 */
+	{ -1,	0,	sys_prepblock,		"prepblock"	}, /* 183 */
+	{ -1,	0,	sys_block,		"block"		}, /* 184 */
+	{ -1,	0,	sys_rdblock,		"rdblock"	}, /* 185 */
+	{ -1,	0,	sys_unblock,		"unblock"	}, /* 186 */
+	{ -1,	0,	sys_cancelblock,	"cancelblock"	}, /* 187 */
+	{ -1,	0, 	printargs,		"SYS_188"	}, /* 188 */
+	{ -1,	TD,	sys_pread,		"pread"		}, /* 189 */
+	{ -1,	TD,	sys_pwrite,		"pwrite"	}, /* 190 */
+	{ -1,	TF,	sys_truncate,		"truncate"	}, /* 191 */
+	{ -1,	TD,	sys_ftruncate,		"ftruncate"	}, /* 192 */
+	{ -1,	0,	sys_lwpkill,		"lwpkill"	}, /* 193 */
+	{ -1,	0,	sys_sigwait,		"sigwait"	}, /* 194 */
+	{ -1,	0,	sys_fork1,		"fork1"		}, /* 195 */
+	{ -1,	0,	sys_forkall,		"forkall"	}, /* 196 */
+	{ -1,	0,	sys_modload,		"modload"	}, /* 197 */
+	{ -1,	0,	sys_moduload,		"moduload"	}, /* 198 */
+	{ -1,	0,	sys_modpath,		"modpath"	}, /* 199 */
+	{ -1,	0,	sys_modstat,		"modstat"	}, /* 200 */
+	{ -1,	0,	sys_modadm,		"modadm"	}, /* 201 */
+	{ -1,	0,	sys_getksym,		"getksym"	}, /* 202 */
+	{ -1,	0,	sys_lwpsuspend,		"lwpsuspend"	}, /* 203 */
+	{ -1,	0,	sys_lwpcontinue,	"lwpcontinue"	}, /* 204 */
+	{ -1,	0,	sys_priocntllst,	"priocntllst"	}, /* 205 */
+	{ -1,	0,	sys_sleep,		"sleep"		}, /* 206 */
+	{ -1,	0,	sys_lwp_sema_wait,	"lwp_sema_wait"	}, /* 207 */
+	{ -1,	0,	sys_lwp_sema_post,	"lwp_sema_post"	}, /* 208 */
+	{ -1,	0,	sys_lwp_sema_trywait,	"lwp_sema_trywait"}, /* 209 */
+	{ -1,	0,	printargs,		"SYS_210"	}, /* 210 */
+	{ -1,	0,	printargs,		"SYS_211"	}, /* 211 */
+	{ -1,	0,	printargs,		"SYS_212"	}, /* 212 */
+	{ -1,	0,	printargs,		"SYS_213"	}, /* 213 */
+	{ -1,	0,	printargs,		"SYS_214"	}, /* 214 */
+	{ -1,	0,	printargs,		"SYS_215"	}, /* 215 */
+#if UNIXWARE >= 7
+	{ -1,	0,	sys_fstatvfs64,		"fstatvfs64"	}, /* 216 */
+	{ -1,	TF,	sys_statvfs64,		"statvfs64"	}, /* 217 */
+	{ -1,	TD,	sys_ftruncate64,	"ftruncate64"	}, /* 218 */
+	{ -1,	TF,	sys_truncate64,		"truncate64"	}, /* 219 */
+	{ -1,	0,	sys_getrlimit64,	"getrlimit64"	}, /* 220 */
+	{ -1,	0,	sys_setrlimit64,	"setrlimit64"	}, /* 221 */
+	{ -1,	TF,	sys_lseek64,		"lseek64"	}, /* 222 */
+	{ -1,	TF,	sys_mmap64,		"mmap64"	}, /* 223 */
+	{ -1,	TF,	sys_pread64,		"pread64"	}, /* 224 */
+	{ -1,	TF,	sys_pwrite64,		"pwrite64"	}, /* 225 */
+	{ -1,	TD|TF,	sys_creat64,		"creat64"	}, /* 226 */
+	{ -1,	0,	sys_dshmsys,		"dshmsys"	}, /* 227 */
+	{ -1,	0,	sys_invlpg,		"invlpg"	}, /* 228 */
+	{ -1,	0,	sys_rfork1,		"rfork1"	}, /* 229 */
+	{ -1,	0,	sys_rforkall,		"rforkall"	}, /* 230 */
+	{ -1,	0,	sys_rexecve,		"rexecve"	}, /* 231 */
+	{ -1,	0,	sys_migrate,		"migrate"	}, /* 232 */
+	{ -1,	0,	sys_kill3,		"kill3"		}, /* 233 */
+	{ -1,	0,	sys_ssisys,		"ssisys"	}, /* 234 */
+	{ -1,	TN,	sys_xaccept,		"xaccept"	}, /* 235 */
+	{ -1,	TN,	sys_xbind,		"xbind"		}, /* 236 */
+	{ -1,	TN,	sys_xbindresvport,	"xbindresvport"	}, /* 237 */
+	{ -1,	TN,	sys_xconnect,		"xconnect"	}, /* 238 */
+	{ -1,	TN,	sys_xgetsockaddr,	"xgetsockaddr"	}, /* 239 */
+	{ -1,	TN,	sys_xgetsockopt,	"xgetsockopt"	}, /* 240 */
+	{ -1,	TN,	sys_xlisten,		"xlisten"	}, /* 241 */
+	{ -1,	TN,	sys_xrecvmsg,		"xrecvmsg"	}, /* 242 */
+	{ -1,	TN,	sys_xsendmsg,		"xsendmsg"	}, /* 243 */
+	{ -1,	TN,	sys_xsetsockaddr,	"xsetsockaddr"	}, /* 244 */
+	{ -1,	TN,	sys_xsetsockopt,	"xsetsockopt"	}, /* 245 */
+	{ -1,	TN,	sys_xshutdown,		"xshutdown"	}, /* 246 */
+	{ -1,	TN,	sys_xsocket,		"xsocket"	}, /* 247 */
+	{ -1,	TN,	sys_xsocketpair,	"xsocketpair"	}, /* 248 */
+#else	/* UNIXWARE 2 */
+	{ -1,	0,	printargs,		"SYS_216"	}, /* 216 */
+	{ -1,	0,	printargs,		"SYS_217"	}, /* 217 */
+	{ -1,	0,	printargs,		"SYS_218"	}, /* 218 */
+	{ -1,	0,	printargs,		"SYS_219"	}, /* 219 */
+	{ -1,	0,	printargs,		"SYS_220"	}, /* 220 */
+	{ -1,	0,	printargs,		"SYS_221"	}, /* 221 */
+	{ -1,	0,	printargs,		"SYS_222"	}, /* 222 */
+	{ -1,	0,	printargs,		"SYS_223"	}, /* 223 */
+	{ -1,	0,	printargs,		"SYS_224"	}, /* 224 */
+	{ -1,	0,	printargs,		"SYS_225"	}, /* 225 */
+	{ -1,	0,	printargs,		"SYS_226"	}, /* 226 */
+	{ -1,	0,	printargs,		"SYS_227"	}, /* 227 */
+	{ -1,	0,	printargs,		"SYS_228"	}, /* 228 */
+	{ -1,	0,	printargs,		"SYS_229"	}, /* 229 */
+	{ -1,	0,	printargs,		"SYS_230"	}, /* 230 */
+	{ -1,	0,	printargs,		"SYS_231"	}, /* 231 */
+	{ -1,	0,	printargs,		"SYS_232"	}, /* 232 */
+	{ -1,	0,	printargs,		"SYS_233"	}, /* 233 */
+	{ -1,	0,	printargs,		"SYS_234"	}, /* 234 */
+	{ -1,	0,	printargs,		"SYS_235"	}, /* 235 */
+	{ -1,	0,	printargs,		"SYS_236"	}, /* 236 */
+	{ -1,	0,	printargs,		"SYS_237"	}, /* 237 */
+	{ -1,	0,	printargs,		"SYS_238"	}, /* 238 */
+	{ -1,	0,	printargs,		"SYS_239"	}, /* 239 */
+	{ -1,	0,	printargs,		"SYS_240"	}, /* 240 */
+	{ -1,	0,	printargs,		"SYS_241"	}, /* 241 */
+	{ -1,	0,	printargs,		"SYS_242"	}, /* 242 */
+	{ -1,	0,	printargs,		"SYS_243"	}, /* 243 */
+	{ -1,	0,	printargs,		"SYS_244"	}, /* 244 */
+	{ -1,	0,	printargs,		"SYS_245"	}, /* 245 */
+	{ -1,	0,	printargs,		"SYS_246"	}, /* 246 */
+	{ -1,	0,	printargs,		"SYS_247"	}, /* 247 */
+	{ -1,	0,	printargs,		"SYS_248"	}, /* 248 */
+#endif	/* UNIXWARE 2 */
+	{ -1,	0,	printargs,		"SYS_249"	}, /* 249 */
+	{ -1,	0,	printargs,		"SYS_250"	}, /* 250 */
+	{ -1,	0,	printargs,		"SYS_251"	}, /* 251 */
+	{ -1,	0,	printargs,		"SYS_252"	}, /* 252 */
+	{ -1,	0,	printargs,		"SYS_253"	}, /* 253 */
+	{ -1,	0,	printargs,		"SYS_254"	}, /* 254 */
+	{ -1,	0,	printargs,		"SYS_255"	}, /* 255 */
+#else   /* !UNIXWARE */
+	{ -1,	0,	sys_seteuid,		"seteuid"	}, /* 141 */
+	{ -1,	0,	sys_vtrace,		"vtrace"	}, /* 142 */
+	{ -1,	TP,	sys_fork1,		"fork1"		}, /* 143 */
+	{ -1,	TS,	sys_sigtimedwait,	"sigtimedwait"	}, /* 144 */
+	{ -1,	0,	sys_lwp_info,		"lwp_info"	}, /* 145 */
+	{ -1,	0,	sys_yield,		"yield"		}, /* 146 */
+	{ -1,	0,	sys_lwp_sema_wait,	"lwp_sema_wait"	}, /* 147 */
+	{ -1,	0,	sys_lwp_sema_post,	"lwp_sema_post"	}, /* 148 */
+	{ -1,	0,	sys_lwp_sema_trywait,"lwp_sema_trywait"	}, /* 149 */
+	{ -1,	0,	printargs,		"SYS_150"	}, /* 150 */
+	{ -1,	0,	printargs,		"SYS_151"	}, /* 151 */
+	{ -1,	0,	sys_modctl,		"modctl"	}, /* 152 */
+	{ -1,	0,	sys_fchroot,		"fchroot"	}, /* 153 */
+	{ -1,	TF,	sys_utimes,		"utimes"	}, /* 154 */
+	{ -1,	0,	sys_vhangup,		"vhangup"	}, /* 155 */
+	{ -1,	0,	sys_gettimeofday,	"gettimeofday"	}, /* 156 */
+	{ -1,	0,	sys_getitimer,		"getitimer"	}, /* 157 */
+	{ -1,	0,	sys_setitimer,		"setitimer"	}, /* 158 */
+	{ -1,	0,	sys_lwp_create,		"lwp_create"	}, /* 159 */
+	{ -1,	0,	sys_lwp_exit,		"lwp_exit"	}, /* 160 */
+	{ -1,	0,	sys_lwp_suspend,	"lwp_suspend"	}, /* 161 */
+	{ -1,	0,	sys_lwp_continue,	"lwp_continue"	}, /* 162 */
+	{ -1,	0,	sys_lwp_kill,		"lwp_kill"	}, /* 163 */
+	{ -1,	0,	sys_lwp_self,		"lwp_self"	}, /* 164 */
+	{ -1,	0,	sys_lwp_setprivate,	"lwp_setprivate"}, /* 165 */
+	{ -1,	0,	sys_lwp_getprivate,	"lwp_getprivate"}, /* 166 */
+	{ -1,	0,	sys_lwp_wait,		"lwp_wait"	}, /* 167 */
+	{ -1,	0,	sys_lwp_mutex_unlock,	"lwp_mutex_unlock"}, /* 168 */
+	{ -1,	0,	sys_lwp_mutex_lock,	"lwp_mutex_lock"}, /* 169 */
+	{ -1,	0,	sys_lwp_cond_wait,	"lwp_cond_wait"}, /* 170 */
+	{ -1,	0,	sys_lwp_cond_signal,	"lwp_cond_signal"}, /* 171 */
+	{ -1,	0,	sys_lwp_cond_broadcast,	"lwp_cond_broadcast"}, /* 172 */
+	{ -1,	TD,	sys_pread,		"pread"		}, /* 173 */
+	{ -1,	TD,	sys_pwrite,		"pwrite"	}, /* 174 */
+	{ -1,	TD,	sys_llseek,		"llseek"	}, /* 175 */
+	{ -1,	0,	sys_inst_sync,		"inst_sync"	}, /* 176 */
+	{ -1,	0,	printargs,		"srmlimitsys"	}, /* 177 */
+	{ -1,	0,	sys_kaio,		"kaio"		}, /* 178 */
+	{ -1,	0,	printargs,		"cpc"		}, /* 179 */
+	{ -1,	0,	printargs,		"SYS_180"	}, /* 180 */
+	{ -1,	0,	printargs,		"SYS_181"	}, /* 181 */
+	{ -1,	0,	printargs,		"SYS_182"	}, /* 182 */
+	{ -1,	0,	printargs,		"SYS_183"	}, /* 183 */
+	{ -1,	0,	sys_tsolsys,		"tsolsys"	}, /* 184 */
+#ifdef HAVE_SYS_ACL_H
+	{ -1,	TF,	sys_acl,		"acl"		}, /* 185 */
+#else
+	{ -1,	0,	printargs,		"SYS_185"	}, /* 185 */
+#endif
+	{ -1,	0,	sys_auditsys,		"auditsys"	}, /* 186 */
+	{ -1,	0,	sys_processor_bind,	"processor_bind"}, /* 187 */
+	{ -1,	0,	sys_processor_info,	"processor_info"}, /* 188 */
+	{ -1,	0,	sys_p_online,		"p_online"	}, /* 189 */
+	{ -1,	0,	sys_sigqueue,		"sigqueue"	}, /* 190 */
+	{ -1,	0,	sys_clock_gettime,	"clock_gettime"	}, /* 191 */
+	{ -1,	0,	sys_clock_settime,	"clock_settime"	}, /* 192 */
+	{ -1,	0,	sys_clock_getres,	"clock_getres"	}, /* 193 */
+	{ -1,	0,	sys_timer_create,	"timer_create"	}, /* 194 */
+	{ -1,	0,	sys_timer_delete,	"timer_delete"	}, /* 195 */
+	{ -1,	0,	sys_timer_settime,	"timer_settime"	}, /* 196 */
+	{ -1,	0,	sys_timer_gettime,	"timer_gettime"	}, /* 197 */
+	{ -1,	0,	sys_timer_getoverrun,	"timer_getoverrun"}, /* 198 */
+	{ -1,	0,	sys_nanosleep,		"nanosleep"	}, /* 199 */
+#ifdef HAVE_SYS_ACL_H
+	{ -1,	0,	sys_facl,		"facl"		}, /* 200 */
+#else
+	{ -1,	0,	printargs,		"SYS_200"	}, /* 200 */
+#endif
+#ifdef HAVE_SYS_DOOR_H
+	{ -1,	0,	sys_door,		"door"		}, /* 201 */
+#else
+	{ -1,	0,	printargs,		"SYS_201"	}, /* 201 */
+#endif
+	{ -1,	0,	sys_setreuid,		"setreuid"	}, /* 202 */
+	{ -1,	0,	sys_setregid,		"setregid"	}, /* 203 */
+	{ -1,	0,	sys_install_utrap,	"install_utrap"	}, /* 204 */
+	{ -1,	0,	sys_signotify,		"signotify"	}, /* 205 */
+	{ -1,	0,	sys_schedctl,		"schedctl"	}, /* 206 */
+	{ -1,	0,	sys_pset,		"pset"	}, /* 207 */
+	{ -1,	0,	printargs,		"__sparc_utrap_install"	}, /* 208 */
+	{ -1,	0,	sys_resolvepath,	"resolvepath"	}, /* 209 */
+	{ -1,	0,	sys_signotifywait,	"signotifywait"	}, /* 210 */
+	{ -1,	0,	sys_lwp_sigredirect,	"lwp_sigredirect"	}, /* 211 */
+	{ -1,	0,	sys_lwp_alarm,		"lwp_alarm"	}, /* 212 */
+	{ -1,	TD,	sys_getdents64,		"getdents64"	}, /* 213 */
+	{ -1,	0,	sys_mmap64,		"mmap64"	}, /* 214 */
+	{ -1,	0,	sys_stat64,		"stat64"	}, /* 215 */
+	{ -1,	0,	sys_lstat64,		"lstat64"	}, /* 216 */
+	{ -1,	TD,	sys_fstat64,		"fstat64"	}, /* 217 */
+	{ -1,	0,	sys_statvfs64,		"statvfs64"	}, /* 218 */
+	{ -1,	0,	sys_fstatvfs64,		"fstatvfs64"	}, /* 219 */
+	{ -1,	0,	sys_setrlimit64,	"setrlimit64"	}, /* 220 */
+	{ -1,	0,	sys_getrlimit64,	"getrlimit64"	}, /* 221 */
+	{ -1,	TD,	sys_pread64,		"pread64"	}, /* 222 */
+	{ -1,	TD,	sys_pwrite64,		"pwrite64"	}, /* 223 */
+	{ -1,	0,	sys_creat64,		"creat64"	}, /* 224 */
+	{ -1,	0,	sys_open64,		"open64"	}, /* 225 */
+	{ -1,	0,	sys_rpcsys,		"rpcsys"	}, /* 226 */
+	{ -1,	0,	printargs,		"SYS_227"	}, /* 227 */
+	{ -1,	0,	printargs,		"SYS_228"	}, /* 228 */
+	{ -1,	0,	printargs,		"SYS_229"	}, /* 229 */
+	{ -1,	TN,	sys_so_socket,		"so_socket"	}, /* 230 */
+	{ -1,	TN,	sys_so_socketpair,	"so_socketpair"	}, /* 231 */
+	{ -1,	TN,	sys_bind,		"bind"		}, /* 232 */
+	{ -1,	TN,	sys_listen,		"listen"	}, /* 233 */
+	{ -1,	TN,	sys_accept,		"accept"	}, /* 234 */
+	{ -1,	TN,	sys_connect,		"connect"	}, /* 235 */
+	{ -1,	TN,	sys_shutdown,		"shutdown"	}, /* 236 */
+	{ -1,	TN,	sys_recv,		"recv"		}, /* 237 */
+	{ -1,	TN,	sys_recvfrom,		"recvfrom"	}, /* 238 */
+	{ -1,	TN,	sys_recvmsg,		"recvmsg"	}, /* 239 */
+	{ -1,	TN,	sys_send,		"send"		}, /* 240 */
+	{ -1,	TN,	sys_sendmsg,		"sendmsg"	}, /* 241 */
+	{ -1,	TN,	sys_sendto,		"sendto"	}, /* 242 */
+	{ -1,	TN,	sys_getpeername,	"getpeername"	}, /* 243 */
+	{ -1,	TN,	sys_getsockname,	"getsockname"	}, /* 244 */
+	{ -1,	TN,	sys_getsockopt,		"getsockopt"	}, /* 245 */
+	{ -1,	TN,	sys_setsockopt,		"setsockopt"	}, /* 246 */
+	{ -1,	TN,	sys_sockconfig,		"sockconfig"	}, /* 247 */
+	{ -1,	0,	sys_ntp_gettime,	"ntp_gettime"	}, /* 248 */
+	{ -1,	0,	sys_ntp_adjtime,	"ntp_adjtime"	}, /* 249 */
+	{ -1,	0,	printargs,		"lwp_mutex_unlock"	}, /* 250 */
+	{ -1,	0,	printargs,		"lwp_mutex_trylock"	}, /* 251 */
+	{ -1,	0,	printargs,		"lwp_mutex_init"	}, /* 252 */
+	{ -1,	0,	printargs,		"cladm"		}, /* 253 */
+	{ -1,	0,	printargs,		"lwp_sig_timedwait"	}, /* 254 */
+	{ -1,	0,	printargs,		"umount2"	}, /* 255 */
+#endif /* !UNIXWARE */
+#endif /* !MIPS */
+	{ -1,	0,	printargs,		"SYS_256"	}, /* 256 */
+	{ -1,	0,	printargs,		"SYS_257"	}, /* 257 */
+	{ -1,	0,	printargs,		"SYS_258"	}, /* 258 */
+	{ -1,	0,	printargs,		"SYS_259"	}, /* 259 */
+	{ -1,	0,	printargs,		"SYS_260"	}, /* 260 */
+	{ -1,	0,	printargs,		"SYS_261"	}, /* 261 */
+	{ -1,	0,	printargs,		"SYS_262"	}, /* 262 */
+	{ -1,	0,	printargs,		"SYS_263"	}, /* 263 */
+	{ -1,	0,	printargs,		"SYS_264"	}, /* 264 */
+	{ -1,	0,	printargs,		"SYS_265"	}, /* 265 */
+	{ -1,	0,	printargs,		"SYS_266"	}, /* 266 */
+	{ -1,	0,	printargs,		"SYS_267"	}, /* 267 */
+	{ -1,	0,	printargs,		"SYS_268"	}, /* 268 */
+	{ -1,	0,	printargs,		"SYS_269"	}, /* 269 */
+	{ -1,	0,	printargs,		"SYS_270"	}, /* 270 */
+	{ -1,	0,	printargs,		"SYS_271"	}, /* 271 */
+	{ -1,	0,	printargs,		"SYS_272"	}, /* 272 */
+	{ -1,	0,	printargs,		"SYS_273"	}, /* 273 */
+	{ -1,	0,	printargs,		"SYS_274"	}, /* 274 */
+	{ -1,	0,	printargs,		"SYS_275"	}, /* 275 */
+	{ -1,	0,	printargs,		"SYS_276"	}, /* 276 */
+	{ -1,	0,	printargs,		"SYS_277"	}, /* 277 */
+	{ -1,	0,	printargs,		"SYS_278"	}, /* 278 */
+	{ -1,	0,	printargs,		"SYS_279"	}, /* 279 */
+	{ -1,	0,	printargs,		"SYS_280"	}, /* 280 */
+	{ -1,	0,	printargs,		"SYS_281"	}, /* 281 */
+	{ -1,	0,	printargs,		"SYS_282"	}, /* 282 */
+	{ -1,	0,	printargs,		"SYS_283"	}, /* 283 */
+	{ -1,	0,	printargs,		"SYS_284"	}, /* 284 */
+	{ -1,	0,	printargs,		"SYS_285"	}, /* 285 */
+	{ -1,	0,	printargs,		"SYS_286"	}, /* 286 */
+	{ -1,	0,	printargs,		"SYS_287"	}, /* 287 */
+	{ -1,	0,	printargs,		"SYS_288"	}, /* 288 */
+	{ -1,	0,	printargs,		"SYS_289"	}, /* 289 */
+	{ -1,	0,	printargs,		"SYS_290"	}, /* 290 */
+	{ -1,	0,	printargs,		"SYS_291"	}, /* 291 */
+	{ -1,	0,	printargs,		"SYS_292"	}, /* 292 */
+	{ -1,	0,	printargs,		"SYS_293"	}, /* 293 */
+	{ -1,	0,	printargs,		"SYS_294"	}, /* 294 */
+	{ -1,	0,	printargs,		"SYS_295"	}, /* 295 */
+	{ -1,	0,	printargs,		"SYS_296"	}, /* 296 */
+	{ -1,	0,	printargs,		"SYS_297"	}, /* 297 */
+	{ -1,	0,	printargs,		"SYS_298"	}, /* 298 */
+	{ -1,	0,	printargs,		"SYS_299"	}, /* 299 */
+
+	{ -1,	0,	sys_getpgrp,		"getpgrp"	}, /* 300 */
+	{ -1,	0,	sys_setpgrp,		"setpgrp"	}, /* 301 */
+	{ -1,	0,	sys_getsid,		"getsid"	}, /* 302 */
+	{ -1,	0,	sys_setsid,		"setsid"	}, /* 303 */
+	{ -1,	0,	sys_getpgid,		"getpgid"	}, /* 304 */
+	{ -1,	0,	sys_setpgid,		"setpgid"	}, /* 305 */
+	{ -1,	0,	printargs,		"SYS_306"	}, /* 306 */
+	{ -1,	0,	printargs,		"SYS_307"	}, /* 307 */
+	{ -1,	0,	printargs,		"SYS_308"	}, /* 308 */
+	{ -1,	0,	printargs,		"SYS_309"	}, /* 309 */
+
+	{ -1,	TS,	sys_signal,		"signal"	}, /* 310 */
+	{ -1,	TS,	sys_sigset,		"sigset"	}, /* 311 */
+	{ -1,	TS,	sys_sighold,		"sighold"	}, /* 312 */
+	{ -1,	TS,	sys_sigrelse,		"sigrelse"	}, /* 313 */
+	{ -1,	TS,	sys_sigignore,		"sigignore"	}, /* 314 */
+	{ -1,	TS,	sys_sigpause,		"sigpause"	}, /* 315 */
+	{ -1,	0,	printargs,		"SYS_316"	}, /* 316 */
+	{ -1,	0,	printargs,		"SYS_317"	}, /* 317 */
+	{ -1,	0,	printargs,		"SYS_318"	}, /* 318 */
+	{ -1,	0,	printargs,		"SYS_319"	}, /* 319 */
+
+	{ -1,	TI,	sys_msgget,		"msgget"	}, /* 320 */
+	{ -1,	TI,	sys_msgctl,		"msgctl"	}, /* 321 */
+	{ -1,	TI,	sys_msgrcv,		"msgrcv"	}, /* 322 */
+	{ -1,	TI,	sys_msgsnd,		"msgsnd"	}, /* 323 */
+	{ -1,	0,	printargs,		"SYS_324"	}, /* 324 */
+	{ -1,	0,	printargs,		"SYS_325"	}, /* 325 */
+	{ -1,	0,	printargs,		"SYS_326"	}, /* 326 */
+	{ -1,	0,	printargs,		"SYS_327"	}, /* 327 */
+	{ -1,	0,	printargs,		"SYS_328"	}, /* 328 */
+	{ -1,	0,	printargs,		"SYS_329"	}, /* 329 */
+
+	{ -1,	TI,	sys_shmat,		"shmat"		}, /* 330 */
+	{ -1,	TI,	sys_shmctl,		"shmctl"	}, /* 331 */
+	{ -1,	TI,	sys_shmdt,		"shmdt"		}, /* 332 */
+	{ -1,	TI,	sys_shmget,		"shmget"	}, /* 333 */
+	{ -1,	0,	printargs,		"SYS_334"	}, /* 334 */
+	{ -1,	0,	printargs,		"SYS_335"	}, /* 335 */
+	{ -1,	0,	printargs,		"SYS_336"	}, /* 336 */
+	{ -1,	0,	printargs,		"SYS_337"	}, /* 337 */
+	{ -1,	0,	printargs,		"SYS_338"	}, /* 338 */
+	{ -1,	0,	printargs,		"SYS_339"	}, /* 339 */
+
+	{ -1,	TI,	sys_semctl,		"semctl"	}, /* 340 */
+	{ -1,	TI,	sys_semget,		"semget"	}, /* 341 */
+	{ -1,	TI,	sys_semop,		"semop"		}, /* 342 */
+	{ -1,	0,	printargs,		"SYS_343"	}, /* 343 */
+	{ -1,	0,	printargs,		"SYS_344"	}, /* 344 */
+	{ -1,	0,	printargs,		"SYS_345"	}, /* 345 */
+	{ -1,	0,	printargs,		"SYS_346"	}, /* 346 */
+	{ -1,	0,	printargs,		"SYS_347"	}, /* 347 */
+	{ -1,	0,	printargs,		"SYS_348"	}, /* 348 */
+	{ -1,	0,	printargs,		"SYS_349"	}, /* 349 */
+
+	{ -1,	0,	sys_olduname,		"olduname"	}, /* 350 */
+	{ -1,	0,	printargs,		"utssys1"	}, /* 351 */
+	{ -1,	0,	sys_ustat,		"ustat"		}, /* 352 */
+	{ -1,	0,	sys_fusers,		"fusers"	}, /* 353 */
+	{ -1,	0,	printargs,		"SYS_354"	}, /* 354 */
+	{ -1,	0,	printargs,		"SYS_355"	}, /* 355 */
+	{ -1,	0,	printargs,		"SYS_356"	}, /* 356 */
+	{ -1,	0,	printargs,		"SYS_357"	}, /* 357 */
+	{ -1,	0,	printargs,		"SYS_358"	}, /* 358 */
+	{ -1,	0,	printargs,		"SYS_359"	}, /* 359 */
+
+	{ -1,	0,	printargs,		"sysfs0"	}, /* 360 */
+	{ -1,	0,	sys_sysfs1,		"sysfs1"	}, /* 361 */
+	{ -1,	0,	sys_sysfs2,		"sysfs2"	}, /* 362 */
+	{ -1,	0,	sys_sysfs3,		"sysfs3"	}, /* 363 */
+	{ -1,	0,	printargs,		"SYS_364"	}, /* 364 */
+	{ -1,	0,	printargs,		"SYS_365"	}, /* 365 */
+	{ -1,	0,	printargs,		"SYS_366"	}, /* 366 */
+	{ -1,	0,	printargs,		"SYS_367"	}, /* 367 */
+	{ -1,	0,	printargs,		"SYS_368"	}, /* 368 */
+	{ -1,	0,	printargs,		"SYS_369"	}, /* 369 */
+
+	{ -1,	0,	printargs,		"spcall0"	}, /* 370 */
+	{ -1,	TS,	sys_sigpending,		"sigpending"	}, /* 371 */
+	{ -1,	TS,	sys_sigfillset,		"sigfillset"	}, /* 372 */
+	{ -1,	0,	printargs,		"SYS_373"	}, /* 373 */
+	{ -1,	0,	printargs,		"SYS_374"	}, /* 374 */
+	{ -1,	0,	printargs,		"SYS_375"	}, /* 375 */
+	{ -1,	0,	printargs,		"SYS_376"	}, /* 376 */
+	{ -1,	0,	printargs,		"SYS_377"	}, /* 377 */
+	{ -1,	0,	printargs,		"SYS_378"	}, /* 378 */
+	{ -1,	0,	printargs,		"SYS_379"	}, /* 379 */
+
+	{ -1,	0,	sys_getcontext,		"getcontext"	}, /* 380 */
+	{ -1,	0,	sys_setcontext,		"setcontext"	}, /* 381 */
+	{ -1,	0,	printargs,		"SYS_382"	}, /* 382 */
+	{ -1,	0,	printargs,		"SYS_383"	}, /* 383 */
+	{ -1,	0,	printargs,		"SYS_384"	}, /* 384 */
+	{ -1,	0,	printargs,		"SYS_385"	}, /* 385 */
+	{ -1,	0,	printargs,		"SYS_386"	}, /* 386 */
+	{ -1,	0,	printargs,		"SYS_387"	}, /* 387 */
+	{ -1,	0,	printargs,		"SYS_388"	}, /* 388 */
+	{ -1,	0,	printargs,		"SYS_389"	}, /* 389 */
+
+	{ -1,	0,	printargs,		"door_create"	}, /* 390 */
+	{ -1,	0,	printargs,		"door_revoke"	}, /* 391 */
+	{ -1,	0,	printargs,		"door_info"	}, /* 392 */
+	{ -1,	0,	printargs,		"door_call"	}, /* 393 */
+	{ -1,	0,	printargs,		"door_return"	}, /* 394 */
+	{ -1,	0,	printargs,		"door_cred"	}, /* 395 */
+	{ -1,	0,	printargs,		"SYS_396"	}, /* 396 */
+	{ -1,	0,	printargs,		"SYS_397"	}, /* 397 */
+	{ -1,	0,	printargs,		"SYS_398"	}, /* 398 */
+	{ -1,	0,	printargs,		"SYS_399"	}, /* 399 */
+
+#ifdef HAVE_SYS_AIO_H
+	{ -1,	TF,	sys_aioread,		"aioread"	}, /* 400 */
+	{ -1,	TF,	sys_aiowrite,		"aiowrite"	}, /* 401 */
+	{ -1,	TF,	sys_aiowait,		"aiowait"	}, /* 402 */
+	{ -1,	TF,	sys_aiocancel,		"aiocancel"	}, /* 403 */
+	{ -1,	TF,	sys_aionotify,		"aionotify"	}, /* 404 */
+	{ -1,	TF,	sys_aioinit,		"aioinit"	}, /* 405 */
+	{ -1,	TF,	sys_aiostart,		"aiostart"	}, /* 406 */
+	{ -1,	TF,	sys_aiolio,		"aiolio"	}, /* 407 */
+	{ -1,	TF,	sys_aiosuspend,		"aiosuspend"	}, /* 408 */
+	{ -1,	TF,	sys_aioerror,		"aioerror"	}, /* 409 */
+	{ -1,	TF,	sys_aioliowait,		"aioliowait"	}, /* 410 */
+	{ -1,	TF,	sys_aioaread,		"aioaread"	}, /* 411 */
+	{ -1,	TF,	sys_aioawrite,		"aioawrite"	}, /* 412 */
+	{ -1,	TF,	sys_aiolio64,		"aiolio64"	}, /* 413 */
+	{ -1,	TF,	sys_aiosuspend64,	"aiosuspend64"	}, /* 414 */
+	{ -1,	TF,	sys_aioerror64,		"aioerror64"	}, /* 415 */
+	{ -1,	TF,	sys_aioliowait64,	"aioliowait64"	}, /* 416 */
+	{ -1,	TF,	sys_aioaread64,		"aioaread64"	}, /* 417 */
+	{ -1,	TF,	sys_aioawrite64,	"aioawrite64"	}, /* 418 */
+	{ -1,	TF,	sys_aiocancel64,	"aiocancel64"	}, /* 419 */
+	{ -1,	TF,	sys_aiofsync,		"aiofsync"	}, /* 420 */
+#endif
diff --git a/strace-4.5.20/syscall.c b/strace-4.5.20/syscall.c
new file mode 100644
index 0000000..b7bb733
--- /dev/null
+++ b/strace-4.5.20/syscall.c
@@ -0,0 +1,2799 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
+ *                     Linux for s390 port by D.J. Barrow
+ *                    <barrow_dj@mail.yahoo.com,djbarrow@de.ibm.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+#include <signal.h>
+#include <time.h>
+#include <errno.h>
+#include <sys/user.h>
+#include <sys/syscall.h>
+#include <sys/param.h>
+
+#ifdef HAVE_SYS_REG_H
+#include <sys/reg.h>
+#ifndef PTRACE_PEEKUSR
+# define PTRACE_PEEKUSR PTRACE_PEEKUSER
+#endif
+#elif defined(HAVE_LINUX_PTRACE_H)
+#undef PTRACE_SYSCALL
+# ifdef HAVE_STRUCT_IA64_FPREG
+#  define ia64_fpreg XXX_ia64_fpreg
+# endif
+# ifdef HAVE_STRUCT_PT_ALL_USER_REGS
+#  define pt_all_user_regs XXX_pt_all_user_regs
+# endif
+#include <linux/ptrace.h>
+# undef ia64_fpreg
+# undef pt_all_user_regs
+#endif
+
+#if defined (LINUX) && defined (SPARC64)
+# undef PTRACE_GETREGS
+# define PTRACE_GETREGS PTRACE_GETREGS64
+# undef PTRACE_SETREGS
+# define PTRACE_SETREGS PTRACE_SETREGS64
+#endif /* LINUX && SPARC64 */
+
+#if defined(LINUX) && defined(IA64)
+# include <asm/ptrace_offsets.h>
+# include <asm/rse.h>
+#endif
+
+#define NR_SYSCALL_BASE 0
+#ifdef LINUX
+#ifndef ERESTARTSYS
+#define ERESTARTSYS	512
+#endif
+#ifndef ERESTARTNOINTR
+#define ERESTARTNOINTR	513
+#endif
+#ifndef ERESTARTNOHAND
+#define ERESTARTNOHAND	514	/* restart if no handler.. */
+#endif
+#ifndef ENOIOCTLCMD
+#define ENOIOCTLCMD	515	/* No ioctl command */
+#endif
+#ifndef ERESTART_RESTARTBLOCK
+#define ERESTART_RESTARTBLOCK 516	/* restart by calling sys_restart_syscall */
+#endif
+#ifndef NSIG
+#define NSIG 32
+#endif
+#ifdef ARM
+#undef NSIG
+#define NSIG 32
+#undef NR_SYSCALL_BASE
+#define NR_SYSCALL_BASE __NR_SYSCALL_BASE
+#endif
+#endif /* LINUX */
+
+#include "syscall.h"
+
+/* Define these shorthand notations to simplify the syscallent files. */
+#define TD TRACE_DESC
+#define TF TRACE_FILE
+#define TI TRACE_IPC
+#define TN TRACE_NETWORK
+#define TP TRACE_PROCESS
+#define TS TRACE_SIGNAL
+
+static const struct sysent sysent0[] = {
+#include "syscallent.h"
+};
+static const int nsyscalls0 = sizeof sysent0 / sizeof sysent0[0];
+int qual_flags0[MAX_QUALS];
+
+#if SUPPORTED_PERSONALITIES >= 2
+static const struct sysent sysent1[] = {
+#include "syscallent1.h"
+};
+static const int nsyscalls1 = sizeof sysent1 / sizeof sysent1[0];
+int qual_flags1[MAX_QUALS];
+#endif /* SUPPORTED_PERSONALITIES >= 2 */
+
+#if SUPPORTED_PERSONALITIES >= 3
+static const struct sysent sysent2[] = {
+#include "syscallent2.h"
+};
+static const int nsyscalls2 = sizeof sysent2 / sizeof sysent2[0];
+int qual_flags2[MAX_QUALS];
+#endif /* SUPPORTED_PERSONALITIES >= 3 */
+
+const struct sysent *sysent;
+int *qual_flags;
+int nsyscalls;
+
+/* Now undef them since short defines cause wicked namespace pollution. */
+#undef TD
+#undef TF
+#undef TI
+#undef TN
+#undef TP
+#undef TS
+
+static const char *const errnoent0[] = {
+#include "errnoent.h"
+};
+static const int nerrnos0 = sizeof errnoent0 / sizeof errnoent0[0];
+
+#if SUPPORTED_PERSONALITIES >= 2
+static const char *const errnoent1[] = {
+#include "errnoent1.h"
+};
+static const int nerrnos1 = sizeof errnoent1 / sizeof errnoent1[0];
+#endif /* SUPPORTED_PERSONALITIES >= 2 */
+
+#if SUPPORTED_PERSONALITIES >= 3
+static const char *const errnoent2[] = {
+#include "errnoent2.h"
+};
+static const int nerrnos2 = sizeof errnoent2 / sizeof errnoent2[0];
+#endif /* SUPPORTED_PERSONALITIES >= 3 */
+
+const char *const *errnoent;
+int nerrnos;
+
+int current_personality;
+
+#ifndef PERSONALITY0_WORDSIZE
+# define PERSONALITY0_WORDSIZE sizeof(long)
+#endif
+const int personality_wordsize[SUPPORTED_PERSONALITIES] = {
+	PERSONALITY0_WORDSIZE,
+#if SUPPORTED_PERSONALITIES > 1
+	PERSONALITY1_WORDSIZE,
+#endif
+#if SUPPORTED_PERSONALITIES > 2
+	PERSONALITY2_WORDSIZE,
+#endif
+};;
+
+int
+set_personality(int personality)
+{
+	switch (personality) {
+	case 0:
+		errnoent = errnoent0;
+		nerrnos = nerrnos0;
+		sysent = sysent0;
+		nsyscalls = nsyscalls0;
+		ioctlent = ioctlent0;
+		nioctlents = nioctlents0;
+		signalent = signalent0;
+		nsignals = nsignals0;
+		qual_flags = qual_flags0;
+		break;
+
+#if SUPPORTED_PERSONALITIES >= 2
+	case 1:
+		errnoent = errnoent1;
+		nerrnos = nerrnos1;
+		sysent = sysent1;
+		nsyscalls = nsyscalls1;
+		ioctlent = ioctlent1;
+		nioctlents = nioctlents1;
+		signalent = signalent1;
+		nsignals = nsignals1;
+		qual_flags = qual_flags1;
+		break;
+#endif /* SUPPORTED_PERSONALITIES >= 2 */
+
+#if SUPPORTED_PERSONALITIES >= 3
+	case 2:
+		errnoent = errnoent2;
+		nerrnos = nerrnos2;
+		sysent = sysent2;
+		nsyscalls = nsyscalls2;
+		ioctlent = ioctlent2;
+		nioctlents = nioctlents2;
+		signalent = signalent2;
+		nsignals = nsignals2;
+		qual_flags = qual_flags2;
+		break;
+#endif /* SUPPORTED_PERSONALITIES >= 3 */
+
+	default:
+		return -1;
+	}
+
+	current_personality = personality;
+	return 0;
+}
+
+
+static int qual_syscall(), qual_signal(), qual_fault(), qual_desc();
+
+static const struct qual_options {
+	int bitflag;
+	char *option_name;
+	int (*qualify)();
+	char *argument_name;
+} qual_options[] = {
+	{ QUAL_TRACE,	"trace",	qual_syscall,	"system call"	},
+	{ QUAL_TRACE,	"t",		qual_syscall,	"system call"	},
+	{ QUAL_ABBREV,	"abbrev",	qual_syscall,	"system call"	},
+	{ QUAL_ABBREV,	"a",		qual_syscall,	"system call"	},
+	{ QUAL_VERBOSE,	"verbose",	qual_syscall,	"system call"	},
+	{ QUAL_VERBOSE,	"v",		qual_syscall,	"system call"	},
+	{ QUAL_RAW,	"raw",		qual_syscall,	"system call"	},
+	{ QUAL_RAW,	"x",		qual_syscall,	"system call"	},
+	{ QUAL_SIGNAL,	"signal",	qual_signal,	"signal"	},
+	{ QUAL_SIGNAL,	"signals",	qual_signal,	"signal"	},
+	{ QUAL_SIGNAL,	"s",		qual_signal,	"signal"	},
+	{ QUAL_FAULT,	"fault",	qual_fault,	"fault"		},
+	{ QUAL_FAULT,	"faults",	qual_fault,	"fault"		},
+	{ QUAL_FAULT,	"m",		qual_fault,	"fault"		},
+	{ QUAL_READ,	"read",		qual_desc,	"descriptor"	},
+	{ QUAL_READ,	"reads",	qual_desc,	"descriptor"	},
+	{ QUAL_READ,	"r",		qual_desc,	"descriptor"	},
+	{ QUAL_WRITE,	"write",	qual_desc,	"descriptor"	},
+	{ QUAL_WRITE,	"writes",	qual_desc,	"descriptor"	},
+	{ QUAL_WRITE,	"w",		qual_desc,	"descriptor"	},
+	{ 0,		NULL,		NULL,		NULL		},
+};
+
+static void
+qualify_one(n, opt, not, pers)
+	int n;
+	const struct qual_options *opt;
+	int not;
+	int pers;
+{
+	if (pers == 0 || pers < 0) {
+		if (not)
+			qual_flags0[n] &= ~opt->bitflag;
+		else
+			qual_flags0[n] |= opt->bitflag;
+	}
+
+#if SUPPORTED_PERSONALITIES >= 2
+	if (pers == 1 || pers < 0) {
+		if (not)
+			qual_flags1[n] &= ~opt->bitflag;
+		else
+			qual_flags1[n] |= opt->bitflag;
+	}
+#endif /* SUPPORTED_PERSONALITIES >= 2 */
+
+#if SUPPORTED_PERSONALITIES >= 3
+	if (pers == 2 || pers < 0) {
+		if (not)
+			qual_flags2[n] &= ~opt->bitflag;
+		else
+			qual_flags2[n] |= opt->bitflag;
+	}
+#endif /* SUPPORTED_PERSONALITIES >= 3 */
+}
+
+static int
+qual_syscall(s, opt, not)
+	char *s;
+	const struct qual_options *opt;
+	int not;
+{
+	int i;
+	int rc = -1;
+
+	if (isdigit((unsigned char)*s)) {
+		int i = atoi(s);
+		if (i < 0 || i >= MAX_QUALS)
+			return -1;
+		qualify_one(i, opt, not, -1);
+		return 0;
+	}
+	for (i = 0; i < nsyscalls0; i++)
+		if (strcmp(s, sysent0[i].sys_name) == 0) {
+			qualify_one(i, opt, not, 0);
+			rc = 0;
+		}
+
+#if SUPPORTED_PERSONALITIES >= 2
+	for (i = 0; i < nsyscalls1; i++)
+		if (strcmp(s, sysent1[i].sys_name) == 0) {
+			qualify_one(i, opt, not, 1);
+			rc = 0;
+		}
+#endif /* SUPPORTED_PERSONALITIES >= 2 */
+
+#if SUPPORTED_PERSONALITIES >= 3
+	for (i = 0; i < nsyscalls2; i++)
+		if (strcmp(s, sysent2[i].sys_name) == 0) {
+			qualify_one(i, opt, not, 2);
+			rc = 0;
+		}
+#endif /* SUPPORTED_PERSONALITIES >= 3 */
+
+	return rc;
+}
+
+static int
+qual_signal(s, opt, not)
+	char *s;
+	const struct qual_options *opt;
+	int not;
+{
+	int i;
+	char buf[32];
+
+	if (isdigit((unsigned char)*s)) {
+		int signo = atoi(s);
+		if (signo < 0 || signo >= MAX_QUALS)
+			return -1;
+		qualify_one(signo, opt, not, -1);
+		return 0;
+	}
+	if (strlen(s) >= sizeof buf)
+		return -1;
+	strcpy(buf, s);
+	s = buf;
+	for (i = 0; s[i]; i++)
+		s[i] = toupper((unsigned char)(s[i]));
+	if (strncmp(s, "SIG", 3) == 0)
+		s += 3;
+	for (i = 0; i <= NSIG; i++)
+		if (strcmp(s, signame(i) + 3) == 0) {
+			qualify_one(i, opt, not, -1);
+			return 0;
+		}
+	return -1;
+}
+
+static int
+qual_fault(s, opt, not)
+	char *s;
+	const struct qual_options *opt;
+	int not;
+{
+	return -1;
+}
+
+static int
+qual_desc(s, opt, not)
+	char *s;
+	const struct qual_options *opt;
+	int not;
+{
+	if (isdigit((unsigned char)*s)) {
+		int desc = atoi(s);
+		if (desc < 0 || desc >= MAX_QUALS)
+			return -1;
+		qualify_one(desc, opt, not, -1);
+		return 0;
+	}
+	return -1;
+}
+
+static int
+lookup_class(s)
+	char *s;
+{
+	if (strcmp(s, "file") == 0)
+		return TRACE_FILE;
+	if (strcmp(s, "ipc") == 0)
+		return TRACE_IPC;
+	if (strcmp(s, "network") == 0)
+		return TRACE_NETWORK;
+	if (strcmp(s, "process") == 0)
+		return TRACE_PROCESS;
+	if (strcmp(s, "signal") == 0)
+		return TRACE_SIGNAL;
+	if (strcmp(s, "desc") == 0)
+		return TRACE_DESC;
+	return -1;
+}
+
+void
+qualify(s)
+char *s;
+{
+	const struct qual_options *opt;
+	int not;
+	char *p;
+	int i, n;
+
+	opt = &qual_options[0];
+	for (i = 0; (p = qual_options[i].option_name); i++) {
+		n = strlen(p);
+		if (strncmp(s, p, n) == 0 && s[n] == '=') {
+			opt = &qual_options[i];
+			s += n + 1;
+			break;
+		}
+	}
+	not = 0;
+	if (*s == '!') {
+		not = 1;
+		s++;
+	}
+	if (strcmp(s, "none") == 0) {
+		not = 1 - not;
+		s = "all";
+	}
+	if (strcmp(s, "all") == 0) {
+		for (i = 0; i < MAX_QUALS; i++) {
+			qualify_one(i, opt, not, -1);
+		}
+		return;
+	}
+	for (i = 0; i < MAX_QUALS; i++) {
+		qualify_one(i, opt, !not, -1);
+	}
+	for (p = strtok(s, ","); p; p = strtok(NULL, ",")) {
+		if (opt->bitflag == QUAL_TRACE && (n = lookup_class(p)) > 0) {
+			for (i = 0; i < nsyscalls0; i++)
+				if (sysent0[i].sys_flags & n)
+					qualify_one(i, opt, not, 0);
+
+#if SUPPORTED_PERSONALITIES >= 2
+			for (i = 0; i < nsyscalls1; i++)
+				if (sysent1[i].sys_flags & n)
+					qualify_one(i, opt, not, 1);
+#endif /* SUPPORTED_PERSONALITIES >= 2 */
+
+#if SUPPORTED_PERSONALITIES >= 3
+			for (i = 0; i < nsyscalls2; i++)
+				if (sysent2[i].sys_flags & n)
+					qualify_one(i, opt, not, 2);
+#endif /* SUPPORTED_PERSONALITIES >= 3 */
+
+			continue;
+		}
+		if (opt->qualify(p, opt, not)) {
+			fprintf(stderr, "strace: invalid %s `%s'\n",
+				opt->argument_name, p);
+			exit(1);
+		}
+	}
+	return;
+}
+
+static void
+dumpio(tcp)
+struct tcb *tcp;
+{
+	if (syserror(tcp))
+		return;
+	if (tcp->u_arg[0] < 0 || tcp->u_arg[0] >= MAX_QUALS)
+		return;
+	switch (known_scno(tcp)) {
+	case SYS_read:
+#ifdef SYS_pread64
+	case SYS_pread64:
+#endif
+#if defined SYS_pread && SYS_pread64 != SYS_pread
+	case SYS_pread:
+#endif
+#ifdef SYS_recv
+	case SYS_recv:
+#elif defined SYS_sub_recv
+	case SYS_sub_recv:
+#endif
+#ifdef SYS_recvfrom
+	case SYS_recvfrom:
+#elif defined SYS_sub_recvfrom
+	case SYS_sub_recvfrom:
+#endif
+		if (qual_flags[tcp->u_arg[0]] & QUAL_READ)
+			dumpstr(tcp, tcp->u_arg[1], tcp->u_rval);
+		break;
+	case SYS_write:
+#ifdef SYS_pwrite64
+	case SYS_pwrite64:
+#endif
+#if defined SYS_pwrite && SYS_pwrite64 != SYS_pwrite
+	case SYS_pwrite:
+#endif
+#ifdef SYS_send
+	case SYS_send:
+#elif defined SYS_sub_send
+	case SYS_sub_send:
+#endif
+#ifdef SYS_sendto
+	case SYS_sendto:
+#elif defined SYS_sub_sendto
+	case SYS_sub_sendto:
+#endif
+		if (qual_flags[tcp->u_arg[0]] & QUAL_WRITE)
+			dumpstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
+		break;
+#ifdef SYS_readv
+	case SYS_readv:
+		if (qual_flags[tcp->u_arg[0]] & QUAL_READ)
+			dumpiov(tcp, tcp->u_arg[2], tcp->u_arg[1]);
+		break;
+#endif
+#ifdef SYS_writev
+	case SYS_writev:
+		if (qual_flags[tcp->u_arg[0]] & QUAL_WRITE)
+			dumpiov(tcp, tcp->u_arg[2], tcp->u_arg[1]);
+		break;
+#endif
+	}
+}
+
+#ifndef FREEBSD
+enum subcall_style { shift_style, deref_style, mask_style, door_style };
+#else /* FREEBSD */
+enum subcall_style { shift_style, deref_style, mask_style, door_style, table_style };
+
+struct subcall {
+  int call;
+  int nsubcalls;
+  int subcalls[5];
+};
+
+static const struct subcall subcalls_table[] = {
+  { SYS_shmsys, 5, { SYS_shmat, SYS_shmctl, SYS_shmdt, SYS_shmget, SYS_shmctl } },
+#ifdef SYS_semconfig
+  { SYS_semsys, 4, { SYS___semctl, SYS_semget, SYS_semop, SYS_semconfig } },
+#else
+  { SYS_semsys, 3, { SYS___semctl, SYS_semget, SYS_semop } },
+#endif
+  { SYS_msgsys, 4, { SYS_msgctl, SYS_msgget, SYS_msgsnd, SYS_msgrcv } },
+};
+#endif /* FREEBSD */
+
+#if !(defined(LINUX) && ( defined(ALPHA) || defined(MIPS) || defined(__ARM_EABI__) ))
+
+static void
+decode_subcall(tcp, subcall, nsubcalls, style)
+struct tcb *tcp;
+int subcall;
+int nsubcalls;
+enum subcall_style style;
+{
+	unsigned long addr, mask;
+	int i;
+	int size = personality_wordsize[current_personality];
+
+	switch (style) {
+	case shift_style:
+		if (tcp->u_arg[0] < 0 || tcp->u_arg[0] >= nsubcalls)
+			return;
+		tcp->scno = subcall + tcp->u_arg[0];
+		if (sysent[tcp->scno].nargs != -1)
+			tcp->u_nargs = sysent[tcp->scno].nargs;
+		else
+			tcp->u_nargs--;
+		for (i = 0; i < tcp->u_nargs; i++)
+			tcp->u_arg[i] = tcp->u_arg[i + 1];
+		break;
+	case deref_style:
+		if (tcp->u_arg[0] < 0 || tcp->u_arg[0] >= nsubcalls)
+			return;
+		tcp->scno = subcall + tcp->u_arg[0];
+		addr = tcp->u_arg[1];
+		for (i = 0; i < sysent[tcp->scno].nargs; i++) {
+			if (size == sizeof(int)) {
+				unsigned int arg;
+				if (umove(tcp, addr, &arg) < 0)
+					arg = 0;
+				tcp->u_arg[i] = arg;
+			}
+			else if (size == sizeof(long)) {
+				unsigned long arg;
+				if (umove(tcp, addr, &arg) < 0)
+					arg = 0;
+				tcp->u_arg[i] = arg;
+			}
+			else
+				abort();
+			addr += size;
+		}
+		tcp->u_nargs = sysent[tcp->scno].nargs;
+		break;
+	case mask_style:
+		mask = (tcp->u_arg[0] >> 8) & 0xff;
+		for (i = 0; mask; i++)
+			mask >>= 1;
+		if (i >= nsubcalls)
+			return;
+		tcp->u_arg[0] &= 0xff;
+		tcp->scno = subcall + i;
+		if (sysent[tcp->scno].nargs != -1)
+			tcp->u_nargs = sysent[tcp->scno].nargs;
+		break;
+	case door_style:
+		/*
+		 * Oh, yuck.  The call code is the *sixth* argument.
+		 * (don't you mean the *last* argument? - JH)
+		 */
+		if (tcp->u_arg[5] < 0 || tcp->u_arg[5] >= nsubcalls)
+			return;
+		tcp->scno = subcall + tcp->u_arg[5];
+		if (sysent[tcp->scno].nargs != -1)
+			tcp->u_nargs = sysent[tcp->scno].nargs;
+		else
+			tcp->u_nargs--;
+		break;
+#ifdef FREEBSD
+	case table_style:
+		for (i = 0; i < sizeof(subcalls_table) / sizeof(struct subcall); i++)
+			if (subcalls_table[i].call == tcp->scno) break;
+		if (i < sizeof(subcalls_table) / sizeof(struct subcall) &&
+		    tcp->u_arg[0] >= 0 && tcp->u_arg[0] < subcalls_table[i].nsubcalls) {
+			tcp->scno = subcalls_table[i].subcalls[tcp->u_arg[0]];
+			for (i = 0; i < tcp->u_nargs; i++)
+				tcp->u_arg[i] = tcp->u_arg[i + 1];
+		}
+		break;
+#endif /* FREEBSD */
+	}
+}
+#endif
+
+struct tcb *tcp_last = NULL;
+
+static int
+internal_syscall(struct tcb *tcp)
+{
+	/*
+	 * We must always trace a few critical system calls in order to
+	 * correctly support following forks in the presence of tracing
+	 * qualifiers.
+	 */
+	int	(*func)();
+
+	if (tcp->scno < 0 || tcp->scno >= nsyscalls)
+		return 0;
+
+	func = sysent[tcp->scno].sys_func;
+
+	if (sys_exit == func)
+		return internal_exit(tcp);
+
+	if (   sys_fork == func
+#if defined(FREEBSD) || defined(LINUX) || defined(SUNOS4)
+	    || sys_vfork == func
+#endif
+#ifdef LINUX
+	    || sys_clone == func
+#endif
+#if UNIXWARE > 2
+	    || sys_rfork == func
+#endif
+	   )
+		return internal_fork(tcp);
+
+	if (   sys_execve == func
+#if defined(SPARC) || defined(SPARC64) || defined(SUNOS4)
+	    || sys_execv == func
+#endif
+#if UNIXWARE > 2
+	    || sys_rexecve == func
+#endif
+	   )
+		return internal_exec(tcp);
+
+	if (   sys_waitpid == func
+	    || sys_wait4 == func
+#if defined(SVR4) || defined(FREEBSD) || defined(SUNOS4)
+	    || sys_wait == func
+#endif
+#ifdef ALPHA
+	    || sys_osf_wait4 == func
+#endif
+	   )
+		return internal_wait(tcp, 2);
+
+#if defined(LINUX) || defined(SVR4)
+	if (sys_waitid == func)
+		return internal_wait(tcp, 3);
+#endif
+
+	return 0;
+}
+
+
+#ifdef LINUX
+#if defined (I386)
+	static long eax;
+#elif defined (IA64)
+	long r8, r10, psr;
+	long ia32 = 0;
+#elif defined (POWERPC)
+	static long result,flags;
+#elif defined (M68K)
+	static int d0;
+#elif defined(BFIN)
+	static long r0;
+#elif defined (ARM)
+	static struct pt_regs regs;
+#elif defined (ALPHA)
+	static long r0;
+	static long a3;
+#elif defined(AVR32)
+	static struct pt_regs regs;
+#elif defined (SPARC) || defined (SPARC64)
+	static struct pt_regs regs;
+	static unsigned long trap;
+#elif defined(LINUX_MIPSN32)
+	static long long a3;
+	static long long r2;
+#elif defined(MIPS)
+	static long a3;
+	static long r2;
+#elif defined(S390) || defined(S390X)
+	static long gpr2;
+	static long pc;
+	static long syscall_mode;
+#elif defined(HPPA)
+	static long r28;
+#elif defined(SH)
+	static long r0;
+#elif defined(SH64)
+	static long r9;
+#elif defined(X86_64)
+	static long rax;
+#elif defined(CRISV10) || defined(CRISV32)
+	static long r10;
+#endif
+#endif /* LINUX */
+#ifdef FREEBSD
+	struct reg regs;
+#endif /* FREEBSD */
+
+int
+get_scno(struct tcb *tcp)
+{
+	long scno = 0;
+
+#ifdef LINUX
+# if defined(S390) || defined(S390X)
+	if (tcp->flags & TCB_WAITEXECVE) {
+		/*
+		 * When the execve system call completes successfully, the
+		 * new process still has -ENOSYS (old style) or __NR_execve
+		 * (new style) in gpr2.  We cannot recover the scno again
+		 * by disassembly, because the image that executed the
+		 * syscall is gone now.  Fortunately, we don't want it.  We
+		 * leave the flag set so that syscall_fixup can fake the
+		 * result.
+		 */
+		if (tcp->flags & TCB_INSYSCALL)
+			return 1;
+		/*
+		 * This is the SIGTRAP after execve.  We cannot try to read
+		 * the system call here either.
+		 */
+		tcp->flags &= ~TCB_WAITEXECVE;
+		return 0;
+	}
+
+	if (upeek(tcp, PT_GPR2, &syscall_mode) < 0)
+			return -1;
+
+	if (syscall_mode != -ENOSYS) {
+		/*
+		 * Since kernel version 2.5.44 the scno gets passed in gpr2.
+		 */
+		scno = syscall_mode;
+	} else {
+		/*
+		 * Old style of "passing" the scno via the SVC instruction.
+		 */
+
+		long opcode, offset_reg, tmp;
+		void * svc_addr;
+		int gpr_offset[16] = {PT_GPR0,  PT_GPR1,  PT_ORIGGPR2, PT_GPR3,
+				      PT_GPR4,  PT_GPR5,  PT_GPR6,     PT_GPR7,
+				      PT_GPR8,  PT_GPR9,  PT_GPR10,    PT_GPR11,
+				      PT_GPR12, PT_GPR13, PT_GPR14,    PT_GPR15};
+
+		if (upeek(tcp, PT_PSWADDR, &pc) < 0)
+			return -1;
+		errno = 0;
+		opcode = ptrace(PTRACE_PEEKTEXT, tcp->pid, (char *)(pc-sizeof(long)), 0);
+		if (errno) {
+			perror("peektext(pc-oneword)");
+			return -1;
+		}
+
+		/*
+		 *  We have to check if the SVC got executed directly or via an
+		 *  EXECUTE instruction. In case of EXECUTE it is necessary to do
+		 *  instruction decoding to derive the system call number.
+		 *  Unfortunately the opcode sizes of EXECUTE and SVC are differently,
+		 *  so that this doesn't work if a SVC opcode is part of an EXECUTE
+		 *  opcode. Since there is no way to find out the opcode size this
+		 *  is the best we can do...
+		 */
+
+		if ((opcode & 0xff00) == 0x0a00) {
+			/* SVC opcode */
+			scno = opcode & 0xff;
+		}
+		else {
+			/* SVC got executed by EXECUTE instruction */
+
+			/*
+			 *  Do instruction decoding of EXECUTE. If you really want to
+			 *  understand this, read the Principles of Operations.
+			 */
+			svc_addr = (void *) (opcode & 0xfff);
+
+			tmp = 0;
+			offset_reg = (opcode & 0x000f0000) >> 16;
+			if (offset_reg && (upeek(tcp, gpr_offset[offset_reg], &tmp) < 0))
+				return -1;
+			svc_addr += tmp;
+
+			tmp = 0;
+			offset_reg = (opcode & 0x0000f000) >> 12;
+			if (offset_reg && (upeek(tcp, gpr_offset[offset_reg], &tmp) < 0))
+				return -1;
+			svc_addr += tmp;
+
+			scno = ptrace(PTRACE_PEEKTEXT, tcp->pid, svc_addr, 0);
+			if (errno)
+				return -1;
+#  if defined(S390X)
+			scno >>= 48;
+#  else
+			scno >>= 16;
+#  endif
+			tmp = 0;
+			offset_reg = (opcode & 0x00f00000) >> 20;
+			if (offset_reg && (upeek(tcp, gpr_offset[offset_reg], &tmp) < 0))
+				return -1;
+
+			scno = (scno | tmp) & 0xff;
+		}
+	}
+# elif defined (POWERPC)
+	if (upeek(tcp, sizeof(unsigned long)*PT_R0, &scno) < 0)
+		return -1;
+	if (!(tcp->flags & TCB_INSYSCALL)) {
+		/* Check if we return from execve. */
+		if (scno == 0 && (tcp->flags & TCB_WAITEXECVE)) {
+			tcp->flags &= ~TCB_WAITEXECVE;
+			return 0;
+		}
+	}
+# elif defined(AVR32)
+	/*
+	 * Read complete register set in one go.
+	 */
+	if (ptrace(PTRACE_GETREGS, tcp->pid, NULL, &regs) < 0)
+		return -1;
+
+	/*
+	 * We only need to grab the syscall number on syscall entry.
+	 */
+	if (!(tcp->flags & TCB_INSYSCALL)) {
+		scno = regs.r8;
+
+		/* Check if we return from execve. */
+		if (tcp->flags & TCB_WAITEXECVE) {
+			tcp->flags &= ~TCB_WAITEXECVE;
+			return 0;
+		}
+	}
+# elif defined(BFIN)
+	if (upeek(tcp, PT_ORIG_P0, &scno))
+		return -1;
+# elif defined (I386)
+	if (upeek(tcp, 4*ORIG_EAX, &scno) < 0)
+		return -1;
+# elif defined (X86_64)
+	if (upeek(tcp, 8*ORIG_RAX, &scno) < 0)
+		return -1;
+
+	if (!(tcp->flags & TCB_INSYSCALL)) {
+		static int currpers = -1;
+		long val;
+		int pid = tcp->pid;
+
+		/* Check CS register value. On x86-64 linux it is:
+		 * 	0x33	for long mode (64 bit)
+		 * 	0x23	for compatibility mode (32 bit)
+		 * It takes only one ptrace and thus doesn't need
+		 * to be cached.
+		 */
+		if (upeek(tcp, 8*CS, &val) < 0)
+			return -1;
+		switch (val) {
+			case 0x23: currpers = 1; break;
+			case 0x33: currpers = 0; break;
+			default:
+				fprintf(stderr, "Unknown value CS=0x%02X while "
+					 "detecting personality of process "
+					 "PID=%d\n", (int)val, pid);
+				currpers = current_personality;
+				break;
+		}
+#  if 0
+		/* This version analyzes the opcode of a syscall instruction.
+		 * (int 0x80 on i386 vs. syscall on x86-64)
+		 * It works, but is too complicated.
+		 */
+		unsigned long val, rip, i;
+
+		if (upeek(tcp, 8*RIP, &rip) < 0)
+			perror("upeek(RIP)");
+
+		/* sizeof(syscall) == sizeof(int 0x80) == 2 */
+		rip -= 2;
+		errno = 0;
+
+		call = ptrace(PTRACE_PEEKTEXT, pid, (char *)rip, (char *)0);
+		if (errno)
+			printf("ptrace_peektext failed: %s\n",
+					strerror(errno));
+		switch (call & 0xffff) {
+			/* x86-64: syscall = 0x0f 0x05 */
+			case 0x050f: currpers = 0; break;
+			/* i386: int 0x80 = 0xcd 0x80 */
+			case 0x80cd: currpers = 1; break;
+			default:
+				currpers = current_personality;
+				fprintf(stderr,
+					"Unknown syscall opcode (0x%04X) while "
+					"detecting personality of process "
+					"PID=%d\n", (int)call, pid);
+				break;
+		}
+#  endif
+		if (currpers != current_personality) {
+			static const char *const names[] = {"64 bit", "32 bit"};
+			set_personality(currpers);
+			printf("[ Process PID=%d runs in %s mode. ]\n",
+					pid, names[current_personality]);
+		}
+	}
+# elif defined(IA64)
+#	define IA64_PSR_IS	((long)1 << 34)
+	if (upeek (tcp, PT_CR_IPSR, &psr) >= 0)
+		ia32 = (psr & IA64_PSR_IS) != 0;
+	if (!(tcp->flags & TCB_INSYSCALL)) {
+		if (ia32) {
+			if (upeek(tcp, PT_R1, &scno) < 0)	/* orig eax */
+				return -1;
+		} else {
+			if (upeek (tcp, PT_R15, &scno) < 0)
+				return -1;
+		}
+		/* Check if we return from execve. */
+		if (tcp->flags & TCB_WAITEXECVE) {
+			tcp->flags &= ~TCB_WAITEXECVE;
+			return 0;
+		}
+	} else {
+		/* syscall in progress */
+		if (upeek (tcp, PT_R8, &r8) < 0)
+			return -1;
+		if (upeek (tcp, PT_R10, &r10) < 0)
+			return -1;
+	}
+# elif defined (ARM)
+	/*
+	 * Read complete register set in one go.
+	 */
+	if (ptrace(PTRACE_GETREGS, tcp->pid, NULL, (void *)&regs) == -1)
+		return -1;
+
+	/*
+	 * We only need to grab the syscall number on syscall entry.
+	 */
+	if (regs.ARM_ip == 0) {
+		if (!(tcp->flags & TCB_INSYSCALL)) {
+			/* Check if we return from execve. */
+			if (tcp->flags & TCB_WAITEXECVE) {
+				tcp->flags &= ~TCB_WAITEXECVE;
+				return 0;
+			}
+		}
+
+		/*
+		 * Note: we only deal with only 32-bit CPUs here.
+		 */
+		if (regs.ARM_cpsr & 0x20) {
+			/*
+			 * Get the Thumb-mode system call number
+			 */
+			scno = regs.ARM_r7;
+		} else {
+			/*
+			 * Get the ARM-mode system call number
+			 */
+			errno = 0;
+			scno = ptrace(PTRACE_PEEKTEXT, tcp->pid, (void *)(regs.ARM_pc - 4), NULL);
+			if (errno)
+				return -1;
+
+			if (scno == 0 && (tcp->flags & TCB_WAITEXECVE)) {
+				tcp->flags &= ~TCB_WAITEXECVE;
+				return 0;
+			}
+
+			/* Handle the EABI syscall convention.  We do not
+			   bother converting structures between the two
+			   ABIs, but basic functionality should work even
+			   if strace and the traced program have different
+			   ABIs.  */
+			if (scno == 0xef000000) {
+				scno = regs.ARM_r7;
+			} else {
+				if ((scno & 0x0ff00000) != 0x0f900000) {
+					fprintf(stderr, "syscall: unknown syscall trap 0x%08lx\n",
+						scno);
+					return -1;
+				}
+
+				/*
+				 * Fixup the syscall number
+				 */
+				scno &= 0x000fffff;
+			}
+		}
+		if (scno & 0x0f0000) {
+			/*
+			 * Handle ARM specific syscall
+			 */
+			set_personality(1);
+			scno &= 0x0000ffff;
+		} else
+			set_personality(0);
+
+		if (tcp->flags & TCB_INSYSCALL) {
+			fprintf(stderr, "pid %d stray syscall entry\n", tcp->pid);
+			tcp->flags &= ~TCB_INSYSCALL;
+		}
+	} else {
+		if (!(tcp->flags & TCB_INSYSCALL)) {
+			fprintf(stderr, "pid %d stray syscall exit\n", tcp->pid);
+			tcp->flags |= TCB_INSYSCALL;
+		}
+	}
+# elif defined (M68K)
+	if (upeek(tcp, 4*PT_ORIG_D0, &scno) < 0)
+		return -1;
+# elif defined (LINUX_MIPSN32)
+	unsigned long long regs[38];
+
+	if (ptrace (PTRACE_GETREGS, tcp->pid, NULL, (long) &regs) < 0)
+		return -1;
+	a3 = regs[REG_A3];
+	r2 = regs[REG_V0];
+
+	if(!(tcp->flags & TCB_INSYSCALL)) {
+		scno = r2;
+
+		/* Check if we return from execve. */
+		if (scno == 0 && tcp->flags & TCB_WAITEXECVE) {
+			tcp->flags &= ~TCB_WAITEXECVE;
+			return 0;
+		}
+
+		if (scno < 0 || scno > nsyscalls) {
+			if(a3 == 0 || a3 == -1) {
+				if(debug)
+					fprintf (stderr, "stray syscall exit: v0 = %ld\n", scno);
+				return 0;
+			}
+		}
+	}
+# elif defined (MIPS)
+	if (upeek(tcp, REG_A3, &a3) < 0)
+		return -1;
+	if(!(tcp->flags & TCB_INSYSCALL)) {
+		if (upeek(tcp, REG_V0, &scno) < 0)
+			return -1;
+
+		/* Check if we return from execve. */
+		if (scno == 0 && tcp->flags & TCB_WAITEXECVE) {
+			tcp->flags &= ~TCB_WAITEXECVE;
+			return 0;
+		}
+
+		if (scno < 0 || scno > nsyscalls) {
+			if(a3 == 0 || a3 == -1) {
+				if(debug)
+					fprintf (stderr, "stray syscall exit: v0 = %ld\n", scno);
+				return 0;
+			}
+		}
+	} else {
+		if (upeek(tcp, REG_V0, &r2) < 0)
+			return -1;
+	}
+# elif defined (ALPHA)
+	if (upeek(tcp, REG_A3, &a3) < 0)
+		return -1;
+
+	if (!(tcp->flags & TCB_INSYSCALL)) {
+		if (upeek(tcp, REG_R0, &scno) < 0)
+			return -1;
+
+		/* Check if we return from execve. */
+		if (scno == 0 && tcp->flags & TCB_WAITEXECVE) {
+			tcp->flags &= ~TCB_WAITEXECVE;
+			return 0;
+		}
+
+		/*
+		 * Do some sanity checks to figure out if it's
+		 * really a syscall entry
+		 */
+		if (scno < 0 || scno > nsyscalls) {
+			if (a3 == 0 || a3 == -1) {
+				if (debug)
+					fprintf (stderr, "stray syscall exit: r0 = %ld\n", scno);
+				return 0;
+			}
+		}
+	}
+	else {
+		if (upeek(tcp, REG_R0, &r0) < 0)
+			return -1;
+	}
+# elif defined (SPARC) || defined (SPARC64)
+	/* Everything we need is in the current register set. */
+	if (ptrace(PTRACE_GETREGS, tcp->pid, (char *)&regs, 0) < 0)
+		return -1;
+
+	/* If we are entering, then disassemble the syscall trap. */
+	if (!(tcp->flags & TCB_INSYSCALL)) {
+		/* Retrieve the syscall trap instruction. */
+		errno = 0;
+#  if defined(SPARC64)
+		trap = ptrace(PTRACE_PEEKTEXT, tcp->pid, (char *)regs.tpc, 0);
+		trap >>= 32;
+#  else
+		trap = ptrace(PTRACE_PEEKTEXT, tcp->pid, (char *)regs.pc, 0);
+#  endif
+		if (errno)
+			return -1;
+
+		/* Disassemble the trap to see what personality to use. */
+		switch (trap) {
+		case 0x91d02010:
+			/* Linux/SPARC syscall trap. */
+			set_personality(0);
+			break;
+		case 0x91d0206d:
+			/* Linux/SPARC64 syscall trap. */
+			set_personality(2);
+			break;
+		case 0x91d02000:
+			/* SunOS syscall trap. (pers 1) */
+			fprintf(stderr,"syscall: SunOS no support\n");
+			return -1;
+		case 0x91d02008:
+			/* Solaris 2.x syscall trap. (per 2) */
+			set_personality(1);
+			break;
+		case 0x91d02009:
+			/* NetBSD/FreeBSD syscall trap. */
+			fprintf(stderr,"syscall: NetBSD/FreeBSD not supported\n");
+			return -1;
+		case 0x91d02027:
+			/* Solaris 2.x gettimeofday */
+			set_personality(1);
+			break;
+		default:
+			/* Unknown syscall trap. */
+			if(tcp->flags & TCB_WAITEXECVE) {
+				tcp->flags &= ~TCB_WAITEXECVE;
+				return 0;
+			}
+#  if defined (SPARC64)
+			fprintf(stderr,"syscall: unknown syscall trap %08lx %016lx\n", trap, regs.tpc);
+#  else
+			fprintf(stderr,"syscall: unknown syscall trap %08lx %08lx\n", trap, regs.pc);
+#  endif
+			return -1;
+		}
+
+		/* Extract the system call number from the registers. */
+		if (trap == 0x91d02027)
+			scno = 156;
+		else
+			scno = regs.u_regs[U_REG_G1];
+		if (scno == 0) {
+			scno = regs.u_regs[U_REG_O0];
+			memmove (&regs.u_regs[U_REG_O0], &regs.u_regs[U_REG_O1], 7*sizeof(regs.u_regs[0]));
+		}
+	}
+# elif defined(HPPA)
+	if (upeek(tcp, PT_GR20, &scno) < 0)
+		return -1;
+	if (!(tcp->flags & TCB_INSYSCALL)) {
+		/* Check if we return from execve. */
+		if ((tcp->flags & TCB_WAITEXECVE)) {
+			tcp->flags &= ~TCB_WAITEXECVE;
+			return 0;
+		}
+	}
+# elif defined(SH)
+	/*
+	 * In the new syscall ABI, the system call number is in R3.
+	 */
+	if (upeek(tcp, 4*(REG_REG0+3), &scno) < 0)
+		return -1;
+
+	if (scno < 0) {
+		/* Odd as it may seem, a glibc bug has been known to cause
+		   glibc to issue bogus negative syscall numbers.  So for
+		   our purposes, make strace print what it *should* have been */
+		long correct_scno = (scno & 0xff);
+		if (debug)
+			fprintf(stderr,
+				"Detected glibc bug: bogus system call"
+				" number = %ld, correcting to %ld\n",
+				scno,
+				correct_scno);
+		scno = correct_scno;
+	}
+
+	if (!(tcp->flags & TCB_INSYSCALL)) {
+		/* Check if we return from execve. */
+		if (scno == 0 && tcp->flags & TCB_WAITEXECVE) {
+			tcp->flags &= ~TCB_WAITEXECVE;
+			return 0;
+		}
+	}
+# elif defined(SH64)
+	if (upeek(tcp, REG_SYSCALL, &scno) < 0)
+		return -1;
+	scno &= 0xFFFF;
+
+	if (!(tcp->flags & TCB_INSYSCALL)) {
+		/* Check if we return from execve. */
+		if (tcp->flags & TCB_WAITEXECVE) {
+			tcp->flags &= ~TCB_WAITEXECVE;
+			return 0;
+		}
+	}
+# elif defined(CRISV10) || defined(CRISV32)
+	if (upeek(tcp, 4*PT_R9, &scno) < 0)
+		return -1;
+# elif defined(TILE)
+	if (upeek(tcp, PTREGS_OFFSET_REG(10), &scno) < 0)
+		return -1;
+
+	if (!(tcp->flags & TCB_INSYSCALL)) {
+		/* Check if we return from execve. */
+		if (tcp->flags & TCB_WAITEXECVE) {
+			tcp->flags &= ~TCB_WAITEXECVE;
+			return 0;
+		}
+	}
+# endif
+#endif /* LINUX */
+
+#ifdef SUNOS4
+	if (upeek(tcp, uoff(u_arg[7]), &scno) < 0)
+		return -1;
+#elif defined(SH)
+	/* new syscall ABI returns result in R0 */
+	if (upeek(tcp, 4*REG_REG0, (long *)&r0) < 0)
+		return -1;
+#elif defined(SH64)
+	/* ABI defines result returned in r9 */
+	if (upeek(tcp, REG_GENERAL(9), (long *)&r9) < 0)
+		return -1;
+#endif
+
+#ifdef USE_PROCFS
+# ifdef HAVE_PR_SYSCALL
+	scno = tcp->status.PR_SYSCALL;
+# else
+#  ifndef FREEBSD
+	scno = tcp->status.PR_WHAT;
+#  else
+	if (pread(tcp->pfd_reg, &regs, sizeof(regs), 0) < 0) {
+		perror("pread");
+		return -1;
+	}
+	switch (regs.r_eax) {
+	case SYS_syscall:
+	case SYS___syscall:
+		pread(tcp->pfd, &scno, sizeof(scno), regs.r_esp + sizeof(int));
+		break;
+	default:
+		scno = regs.r_eax;
+		break;
+	}
+#  endif /* FREEBSD */
+# endif /* !HAVE_PR_SYSCALL */
+#endif /* USE_PROCFS */
+
+	if (!(tcp->flags & TCB_INSYSCALL))
+		tcp->scno = scno;
+	return 1;
+}
+
+
+long
+known_scno(tcp)
+struct tcb *tcp;
+{
+	long scno = tcp->scno;
+	if (scno >= 0 && scno < nsyscalls && sysent[scno].native_scno != 0)
+		scno = sysent[scno].native_scno;
+	else
+		scno += NR_SYSCALL_BASE;
+	return scno;
+}
+
+/* Called in trace_syscall() at each syscall entry and exit.
+ * Returns:
+ * 0: "ignore this syscall", bail out of trace_syscall() silently.
+ * 1: ok, continue in trace_syscall().
+ * other: error, trace_syscall() should print error indicator
+ *    ("????" etc) and bail out.
+ */
+static int
+syscall_fixup(struct tcb *tcp)
+{
+#ifdef USE_PROCFS
+	int scno = known_scno(tcp);
+
+	if (!(tcp->flags & TCB_INSYSCALL)) {
+		if (tcp->status.PR_WHY != PR_SYSENTRY) {
+			if (
+			    scno == SYS_fork
+#ifdef SYS_vfork
+			    || scno == SYS_vfork
+#endif /* SYS_vfork */
+#ifdef SYS_fork1
+			    || scno == SYS_fork1
+#endif /* SYS_fork1 */
+#ifdef SYS_forkall
+			    || scno == SYS_forkall
+#endif /* SYS_forkall */
+#ifdef SYS_rfork1
+			    || scno == SYS_rfork1
+#endif /* SYS_fork1 */
+#ifdef SYS_rforkall
+			    || scno == SYS_rforkall
+#endif /* SYS_rforkall */
+			    ) {
+				/* We are returning in the child, fake it. */
+				tcp->status.PR_WHY = PR_SYSENTRY;
+				trace_syscall(tcp);
+				tcp->status.PR_WHY = PR_SYSEXIT;
+			}
+			else {
+				fprintf(stderr, "syscall: missing entry\n");
+				tcp->flags |= TCB_INSYSCALL;
+			}
+		}
+	}
+	else {
+		if (tcp->status.PR_WHY != PR_SYSEXIT) {
+			fprintf(stderr, "syscall: missing exit\n");
+			tcp->flags &= ~TCB_INSYSCALL;
+		}
+	}
+#endif /* USE_PROCFS */
+#ifdef SUNOS4
+	if (!(tcp->flags & TCB_INSYSCALL)) {
+		if (scno == 0) {
+			fprintf(stderr, "syscall: missing entry\n");
+			tcp->flags |= TCB_INSYSCALL;
+		}
+	}
+	else {
+		if (scno != 0) {
+			if (debug) {
+				/*
+				 * This happens when a signal handler
+				 * for a signal which interrupted a
+				 * a system call makes another system call.
+				 */
+				fprintf(stderr, "syscall: missing exit\n");
+			}
+			tcp->flags &= ~TCB_INSYSCALL;
+		}
+	}
+#endif /* SUNOS4 */
+#ifdef LINUX
+#if defined (I386)
+	if (upeek(tcp, 4*EAX, &eax) < 0)
+		return -1;
+	if (eax != -ENOSYS && !(tcp->flags & TCB_INSYSCALL)) {
+		if (debug)
+			fprintf(stderr, "stray syscall exit: eax = %ld\n", eax);
+		return 0;
+	}
+#elif defined (X86_64)
+	if (upeek(tcp, 8*RAX, &rax) < 0)
+		return -1;
+	if (current_personality == 1)
+		rax = (long int)(int)rax; /* sign extend from 32 bits */
+	if (rax != -ENOSYS && !(tcp->flags & TCB_INSYSCALL)) {
+		if (debug)
+			fprintf(stderr, "stray syscall exit: rax = %ld\n", rax);
+		return 0;
+	}
+#elif defined (S390) || defined (S390X)
+	if (upeek(tcp, PT_GPR2, &gpr2) < 0)
+		return -1;
+	if (syscall_mode != -ENOSYS)
+		syscall_mode = tcp->scno;
+	if (gpr2 != syscall_mode && !(tcp->flags & TCB_INSYSCALL)) {
+		if (debug)
+			fprintf(stderr, "stray syscall exit: gpr2 = %ld\n", gpr2);
+		return 0;
+	}
+	else if (((tcp->flags & (TCB_INSYSCALL|TCB_WAITEXECVE))
+		  == (TCB_INSYSCALL|TCB_WAITEXECVE))
+		 && (gpr2 == -ENOSYS || gpr2 == tcp->scno)) {
+		/*
+		 * Fake a return value of zero.  We leave the TCB_WAITEXECVE
+		 * flag set for the post-execve SIGTRAP to see and reset.
+		 */
+		gpr2 = 0;
+	}
+#elif defined (POWERPC)
+# define SO_MASK 0x10000000
+	if (upeek(tcp, sizeof(unsigned long)*PT_CCR, &flags) < 0)
+		return -1;
+	if (upeek(tcp, sizeof(unsigned long)*PT_R3, &result) < 0)
+		return -1;
+	if (flags & SO_MASK)
+		result = -result;
+#elif defined (M68K)
+	if (upeek(tcp, 4*PT_D0, &d0) < 0)
+		return -1;
+	if (d0 != -ENOSYS && !(tcp->flags & TCB_INSYSCALL)) {
+		if (debug)
+			fprintf(stderr, "stray syscall exit: d0 = %ld\n", d0);
+		return 0;
+	}
+#elif defined (ARM)
+	/*
+	 * Nothing required
+	 */
+#elif defined(BFIN)
+	if (upeek(tcp, PT_R0, &r0) < 0)
+		return -1;
+#elif defined (HPPA)
+	if (upeek(tcp, PT_GR28, &r28) < 0)
+		return -1;
+#elif defined(IA64)
+	if (upeek(tcp, PT_R10, &r10) < 0)
+		return -1;
+	if (upeek(tcp, PT_R8, &r8) < 0)
+		return -1;
+	if (ia32 && r8 != -ENOSYS && !(tcp->flags & TCB_INSYSCALL)) {
+		if (debug)
+			fprintf(stderr, "stray syscall exit: r8 = %ld\n", r8);
+		return 0;
+	}
+#elif defined(CRISV10) || defined(CRISV32)
+	if (upeek(tcp, 4*PT_R10, &r10) < 0)
+		return -1;
+	if (r10 != -ENOSYS && !(tcp->flags & TCB_INSYSCALL)) {
+		if (debug)
+			fprintf(stderr, "stray syscall exit: r10 = %ld\n", r10);
+		return 0;
+	}
+#endif
+#endif /* LINUX */
+	return 1;
+}
+
+#ifdef LINUX
+/*
+ * Check the syscall return value register value for whether it is
+ * a negated errno code indicating an error, or a success return value.
+ */
+static inline int
+is_negated_errno(unsigned long int val)
+{
+	unsigned long int max = -(long int) nerrnos;
+	if (personality_wordsize[current_personality] < sizeof(val)) {
+		val = (unsigned int) val;
+		max = (unsigned int) max;
+	}
+	return val > max;
+}
+#endif
+
+static int
+get_error(struct tcb *tcp)
+{
+	int u_error = 0;
+#ifdef LINUX
+# if defined(S390) || defined(S390X)
+	if (is_negated_errno(gpr2)) {
+		tcp->u_rval = -1;
+		u_error = -gpr2;
+	}
+	else {
+		tcp->u_rval = gpr2;
+		u_error = 0;
+	}
+# elif defined(I386)
+	if (is_negated_errno(eax)) {
+		tcp->u_rval = -1;
+		u_error = -eax;
+	}
+	else {
+		tcp->u_rval = eax;
+		u_error = 0;
+	}
+# elif defined(X86_64)
+	if (is_negated_errno(rax)) {
+		tcp->u_rval = -1;
+		u_error = -rax;
+	}
+	else {
+		tcp->u_rval = rax;
+		u_error = 0;
+	}
+# elif defined(IA64)
+	if (ia32) {
+		int err;
+
+		err = (int)r8;
+		if (is_negated_errno(err)) {
+			tcp->u_rval = -1;
+			u_error = -err;
+		}
+		else {
+			tcp->u_rval = err;
+			u_error = 0;
+		}
+	} else {
+		if (r10) {
+			tcp->u_rval = -1;
+			u_error = r8;
+		} else {
+			tcp->u_rval = r8;
+			u_error = 0;
+		}
+	}
+# elif defined(MIPS)
+		if (a3) {
+			tcp->u_rval = -1;
+			u_error = r2;
+		} else {
+			tcp->u_rval = r2;
+			u_error = 0;
+		}
+# elif defined(POWERPC)
+		if (is_negated_errno(result)) {
+			tcp->u_rval = -1;
+			u_error = -result;
+		}
+		else {
+			tcp->u_rval = result;
+			u_error = 0;
+		}
+# elif defined(M68K)
+		if (is_negated_errno(d0)) {
+			tcp->u_rval = -1;
+			u_error = -d0;
+		}
+		else {
+			tcp->u_rval = d0;
+			u_error = 0;
+		}
+# elif defined(ARM)
+		if (is_negated_errno(regs.ARM_r0)) {
+			tcp->u_rval = -1;
+			u_error = -regs.ARM_r0;
+		}
+		else {
+			tcp->u_rval = regs.ARM_r0;
+			u_error = 0;
+		}
+# elif defined(AVR32)
+		if (regs.r12 && (unsigned) -regs.r12 < nerrnos) {
+			tcp->u_rval = -1;
+			u_error = -regs.r12;
+		}
+		else {
+			tcp->u_rval = regs.r12;
+			u_error = 0;
+		}
+# elif defined(BFIN)
+		if (is_negated_errno(r0)) {
+			tcp->u_rval = -1;
+			u_error = -r0;
+		} else {
+			tcp->u_rval = r0;
+			u_error = 0;
+		}
+# elif defined(ALPHA)
+		if (a3) {
+			tcp->u_rval = -1;
+			u_error = r0;
+		}
+		else {
+			tcp->u_rval = r0;
+			u_error = 0;
+		}
+# elif defined(SPARC)
+		if (regs.psr & PSR_C) {
+			tcp->u_rval = -1;
+			u_error = regs.u_regs[U_REG_O0];
+		}
+		else {
+			tcp->u_rval = regs.u_regs[U_REG_O0];
+			u_error = 0;
+		}
+# elif defined(SPARC64)
+		if (regs.tstate & 0x1100000000UL) {
+			tcp->u_rval = -1;
+			u_error = regs.u_regs[U_REG_O0];
+		}
+		else {
+			tcp->u_rval = regs.u_regs[U_REG_O0];
+			u_error = 0;
+		}
+# elif defined(HPPA)
+		if (is_negated_errno(r28)) {
+			tcp->u_rval = -1;
+			u_error = -r28;
+		}
+		else {
+			tcp->u_rval = r28;
+			u_error = 0;
+		}
+# elif defined(SH)
+		/* interpret R0 as return value or error number */
+		if (is_negated_errno(r0)) {
+			tcp->u_rval = -1;
+			u_error = -r0;
+		}
+		else {
+			tcp->u_rval = r0;
+			u_error = 0;
+		}
+# elif defined(SH64)
+		/* interpret result as return value or error number */
+		if (is_negated_errno(r9)) {
+			tcp->u_rval = -1;
+			u_error = -r9;
+		}
+		else {
+			tcp->u_rval = r9;
+			u_error = 0;
+		}
+# elif defined(CRISV10) || defined(CRISV32)
+		if (r10 && (unsigned) -r10 < nerrnos) {
+			tcp->u_rval = -1;
+			u_error = -r10;
+		}
+		else {
+			tcp->u_rval = r10;
+			u_error = 0;
+		}
+# elif defined(TILE)
+		long rval;
+		/* interpret result as return value or error number */
+		if (upeek(tcp, PTREGS_OFFSET_REG(0), &rval) < 0)
+			return -1;
+		if (rval < 0 && rval > -nerrnos) {
+			tcp->u_rval = -1;
+			u_error = -rval;
+		}
+		else {
+			tcp->u_rval = rval;
+			u_error = 0;
+		}
+# endif
+#endif /* LINUX */
+#ifdef SUNOS4
+		/* get error code from user struct */
+		if (upeek(tcp, uoff(u_error), &u_error) < 0)
+			return -1;
+		u_error >>= 24; /* u_error is a char */
+
+		/* get system call return value */
+		if (upeek(tcp, uoff(u_rval1), &tcp->u_rval) < 0)
+			return -1;
+#endif /* SUNOS4 */
+#ifdef SVR4
+#ifdef SPARC
+		/* Judicious guessing goes a long way. */
+		if (tcp->status.pr_reg[R_PSR] & 0x100000) {
+			tcp->u_rval = -1;
+			u_error = tcp->status.pr_reg[R_O0];
+		}
+		else {
+			tcp->u_rval = tcp->status.pr_reg[R_O0];
+			u_error = 0;
+		}
+#endif /* SPARC */
+#ifdef I386
+		/* Wanna know how to kill an hour single-stepping? */
+		if (tcp->status.PR_REG[EFL] & 0x1) {
+			tcp->u_rval = -1;
+			u_error = tcp->status.PR_REG[EAX];
+		}
+		else {
+			tcp->u_rval = tcp->status.PR_REG[EAX];
+#ifdef HAVE_LONG_LONG
+			tcp->u_lrval =
+				((unsigned long long) tcp->status.PR_REG[EDX] << 32) +
+				tcp->status.PR_REG[EAX];
+#endif
+			u_error = 0;
+		}
+#endif /* I386 */
+#ifdef X86_64
+		/* Wanna know how to kill an hour single-stepping? */
+		if (tcp->status.PR_REG[EFLAGS] & 0x1) {
+			tcp->u_rval = -1;
+			u_error = tcp->status.PR_REG[RAX];
+		}
+		else {
+			tcp->u_rval = tcp->status.PR_REG[RAX];
+			u_error = 0;
+		}
+#endif /* X86_64 */
+#ifdef MIPS
+		if (tcp->status.pr_reg[CTX_A3]) {
+			tcp->u_rval = -1;
+			u_error = tcp->status.pr_reg[CTX_V0];
+		}
+		else {
+			tcp->u_rval = tcp->status.pr_reg[CTX_V0];
+			u_error = 0;
+		}
+#endif /* MIPS */
+#endif /* SVR4 */
+#ifdef FREEBSD
+		if (regs.r_eflags & PSL_C) {
+			tcp->u_rval = -1;
+		        u_error = regs.r_eax;
+		} else {
+			tcp->u_rval = regs.r_eax;
+			tcp->u_lrval =
+			  ((unsigned long long) regs.r_edx << 32) +  regs.r_eax;
+		        u_error = 0;
+		}
+#endif /* FREEBSD */
+	tcp->u_error = u_error;
+	return 1;
+}
+
+int
+force_result(tcp, error, rval)
+	struct tcb *tcp;
+	int error;
+	long rval;
+{
+#ifdef LINUX
+# if defined(S390) || defined(S390X)
+	gpr2 = error ? -error : rval;
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)PT_GPR2, gpr2) < 0)
+		return -1;
+# elif defined(I386)
+	eax = error ? -error : rval;
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(EAX * 4), eax) < 0)
+		return -1;
+# elif defined(X86_64)
+	rax = error ? -error : rval;
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(RAX * 8), rax) < 0)
+		return -1;
+# elif defined(IA64)
+	if (ia32) {
+		r8 = error ? -error : rval;
+		if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(PT_R8), r8) < 0)
+			return -1;
+	}
+	else {
+		if (error) {
+			r8 = error;
+			r10 = -1;
+		}
+		else {
+			r8 = rval;
+			r10 = 0;
+		}
+		if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(PT_R8), r8) < 0 ||
+		    ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(PT_R10), r10) < 0)
+			return -1;
+	}
+# elif defined(BFIN)
+	r0 = error ? -error : rval;
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)PT_R0, r0) < 0)
+		return -1;
+# elif defined(MIPS)
+	if (error) {
+		r2 = error;
+		a3 = -1;
+	}
+	else {
+		r2 = rval;
+		a3 = 0;
+	}
+	/* PTRACE_POKEUSER is OK even for n32 since rval is only a long.  */
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(REG_A3), a3) < 0 ||
+	    ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(REG_V0), r2) < 0)
+		return -1;
+# elif defined(POWERPC)
+	if (upeek(tcp, sizeof(unsigned long)*PT_CCR, &flags) < 0)
+		return -1;
+	if (error) {
+		flags |= SO_MASK;
+		result = error;
+	}
+	else {
+		flags &= ~SO_MASK;
+		result = rval;
+	}
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(sizeof(unsigned long)*PT_CCR), flags) < 0 ||
+	    ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(sizeof(unsigned long)*PT_R3), result) < 0)
+		return -1;
+# elif defined(M68K)
+	d0 = error ? -error : rval;
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(4*PT_D0), d0) < 0)
+		return -1;
+# elif defined(ARM)
+	regs.ARM_r0 = error ? -error : rval;
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(4*0), regs.ARM_r0) < 0)
+		return -1;
+# elif defined(AVR32)
+	regs.r12 = error ? -error : rval;
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)REG_R12, regs.r12) < 0)
+		return -1;
+# elif defined(ALPHA)
+	if (error) {
+		a3 = -1;
+		r0 = error;
+	}
+	else {
+		a3 = 0;
+		r0 = rval;
+	}
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(REG_A3), a3) < 0 ||
+	    ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(REG_R0), r0) < 0)
+		return -1;
+# elif defined(SPARC)
+	if (ptrace(PTRACE_GETREGS, tcp->pid, (char *)&regs, 0) < 0)
+		return -1;
+	if (error) {
+		regs.psr |= PSR_C;
+		regs.u_regs[U_REG_O0] = error;
+	}
+	else {
+		regs.psr &= ~PSR_C;
+		regs.u_regs[U_REG_O0] = rval;
+	}
+	if (ptrace(PTRACE_SETREGS, tcp->pid, (char *)&regs, 0) < 0)
+		return -1;
+# elif defined(SPARC64)
+	if (ptrace(PTRACE_GETREGS, tcp->pid, (char *)&regs, 0) < 0)
+		return -1;
+	if (error) {
+		regs.tstate |= 0x1100000000UL;
+		regs.u_regs[U_REG_O0] = error;
+	}
+	else {
+		regs.tstate &= ~0x1100000000UL;
+		regs.u_regs[U_REG_O0] = rval;
+	}
+	if (ptrace(PTRACE_SETREGS, tcp->pid, (char *)&regs, 0) < 0)
+		return -1;
+# elif defined(HPPA)
+	r28 = error ? -error : rval;
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(PT_GR28), r28) < 0)
+		return -1;
+# elif defined(SH)
+	r0 = error ? -error : rval;
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(4*REG_REG0), r0) < 0)
+		return -1;
+# elif defined(SH64)
+	r9 = error ? -error : rval;
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)REG_GENERAL(9), r9) < 0)
+		return -1;
+# endif
+#endif /* LINUX */
+
+#ifdef SUNOS4
+	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)uoff(u_error),
+		   error << 24) < 0 ||
+	    ptrace(PTRACE_POKEUSER, tcp->pid, (char*)uoff(u_rval1), rval) < 0)
+		return -1;
+#endif /* SUNOS4 */
+
+#ifdef SVR4
+	/* XXX no clue */
+	return -1;
+#endif /* SVR4 */
+
+#ifdef FREEBSD
+	if (pread(tcp->pfd_reg, &regs, sizeof(regs), 0) < 0) {
+		perror("pread");
+		return -1;
+	}
+	if (error) {
+		regs.r_eflags |= PSL_C;
+		regs.r_eax = error;
+	}
+	else {
+		regs.r_eflags &= ~PSL_C;
+		regs.r_eax = rval;
+	}
+	if (pwrite(tcp->pfd_reg, &regs, sizeof(regs), 0) < 0) {
+		perror("pwrite");
+		return -1;
+	}
+#endif /* FREEBSD */
+
+	/* All branches reach here on success (only).  */
+	tcp->u_error = error;
+	tcp->u_rval = rval;
+	return 0;
+}
+
+static int
+syscall_enter(struct tcb *tcp)
+{
+#ifdef LINUX
+#if defined(S390) || defined(S390X)
+	{
+		int i;
+		if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
+			tcp->u_nargs = sysent[tcp->scno].nargs;
+		else
+			tcp->u_nargs = MAX_ARGS;
+		for (i = 0; i < tcp->u_nargs; i++) {
+			if (upeek(tcp,i==0 ? PT_ORIGGPR2:PT_GPR2+i*sizeof(long), &tcp->u_arg[i]) < 0)
+				return -1;
+		}
+	}
+#elif defined (ALPHA)
+	{
+		int i;
+		if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
+			tcp->u_nargs = sysent[tcp->scno].nargs;
+		else
+			tcp->u_nargs = MAX_ARGS;
+		for (i = 0; i < tcp->u_nargs; i++) {
+			/* WTA: if scno is out-of-bounds this will bomb. Add range-check
+			 * for scno somewhere above here!
+			 */
+			if (upeek(tcp, REG_A0+i, &tcp->u_arg[i]) < 0)
+				return -1;
+		}
+	}
+#elif defined (IA64)
+	{
+		if (!ia32) {
+			unsigned long *out0, cfm, sof, sol, i;
+			long rbs_end;
+			/* be backwards compatible with kernel < 2.4.4... */
+#			ifndef PT_RBS_END
+#			  define PT_RBS_END	PT_AR_BSP
+#			endif
+
+			if (upeek(tcp, PT_RBS_END, &rbs_end) < 0)
+				return -1;
+			if (upeek(tcp, PT_CFM, (long *) &cfm) < 0)
+				return -1;
+
+			sof = (cfm >> 0) & 0x7f;
+			sol = (cfm >> 7) & 0x7f;
+			out0 = ia64_rse_skip_regs((unsigned long *) rbs_end, -sof + sol);
+
+			if (tcp->scno >= 0 && tcp->scno < nsyscalls
+			    && sysent[tcp->scno].nargs != -1)
+				tcp->u_nargs = sysent[tcp->scno].nargs;
+			else
+				tcp->u_nargs = MAX_ARGS;
+			for (i = 0; i < tcp->u_nargs; ++i) {
+				if (umoven(tcp, (unsigned long) ia64_rse_skip_regs(out0, i),
+					   sizeof(long), (char *) &tcp->u_arg[i]) < 0)
+					return -1;
+			}
+		} else {
+			int i;
+
+			if (/* EBX = out0 */
+			    upeek(tcp, PT_R11, (long *) &tcp->u_arg[0]) < 0
+			    /* ECX = out1 */
+			    || upeek(tcp, PT_R9,  (long *) &tcp->u_arg[1]) < 0
+			    /* EDX = out2 */
+			    || upeek(tcp, PT_R10, (long *) &tcp->u_arg[2]) < 0
+			    /* ESI = out3 */
+			    || upeek(tcp, PT_R14, (long *) &tcp->u_arg[3]) < 0
+			    /* EDI = out4 */
+			    || upeek(tcp, PT_R15, (long *) &tcp->u_arg[4]) < 0
+			    /* EBP = out5 */
+			    || upeek(tcp, PT_R13, (long *) &tcp->u_arg[5]) < 0)
+				return -1;
+
+			for (i = 0; i < 6; ++i)
+				/* truncate away IVE sign-extension */
+				tcp->u_arg[i] &= 0xffffffff;
+
+			if (tcp->scno >= 0 && tcp->scno < nsyscalls
+			    && sysent[tcp->scno].nargs != -1)
+				tcp->u_nargs = sysent[tcp->scno].nargs;
+			else
+				tcp->u_nargs = 5;
+		}
+	}
+#elif defined (LINUX_MIPSN32) || defined (LINUX_MIPSN64)
+	/* N32 and N64 both use up to six registers.  */
+	{
+		unsigned long long regs[38];
+		int i, nargs;
+
+		if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
+			nargs = tcp->u_nargs = sysent[tcp->scno].nargs;
+		else
+			nargs = tcp->u_nargs = MAX_ARGS;
+
+		if (ptrace (PTRACE_GETREGS, tcp->pid, NULL, (long) &regs) < 0)
+			return -1;
+
+		for(i = 0; i < nargs; i++) {
+			tcp->u_arg[i] = regs[REG_A0 + i];
+# if defined (LINUX_MIPSN32)
+			tcp->ext_arg[i] = regs[REG_A0 + i];
+# endif
+		}
+	}
+#elif defined (MIPS)
+	{
+		long sp;
+		int i, nargs;
+
+		if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
+			nargs = tcp->u_nargs = sysent[tcp->scno].nargs;
+		else
+			nargs = tcp->u_nargs = MAX_ARGS;
+		if(nargs > 4) {
+			if(upeek(tcp, REG_SP, &sp) < 0)
+				return -1;
+			for(i = 0; i < 4; i++) {
+				if (upeek(tcp, REG_A0 + i, &tcp->u_arg[i])<0)
+					return -1;
+			}
+			umoven(tcp, sp+16, (nargs-4) * sizeof(tcp->u_arg[0]),
+			       (char *)(tcp->u_arg + 4));
+		} else {
+			for(i = 0; i < nargs; i++) {
+				if (upeek(tcp, REG_A0 + i, &tcp->u_arg[i]) < 0)
+					return -1;
+			}
+		}
+	}
+#elif defined (POWERPC)
+# ifndef PT_ORIG_R3
+#  define PT_ORIG_R3 34
+# endif
+	{
+		int i;
+		if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
+			tcp->u_nargs = sysent[tcp->scno].nargs;
+		else
+			tcp->u_nargs = MAX_ARGS;
+		for (i = 0; i < tcp->u_nargs; i++) {
+			if (upeek(tcp, (i==0) ?
+				(sizeof(unsigned long)*PT_ORIG_R3) :
+				((i+PT_R3)*sizeof(unsigned long)),
+					&tcp->u_arg[i]) < 0)
+				return -1;
+		}
+	}
+#elif defined (SPARC) || defined (SPARC64)
+	{
+		int i;
+
+		if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
+			tcp->u_nargs = sysent[tcp->scno].nargs;
+		else
+			tcp->u_nargs = MAX_ARGS;
+		for (i = 0; i < tcp->u_nargs; i++)
+			tcp->u_arg[i] = regs.u_regs[U_REG_O0 + i];
+	}
+#elif defined (HPPA)
+	{
+		int i;
+
+		if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
+			tcp->u_nargs = sysent[tcp->scno].nargs;
+		else
+			tcp->u_nargs = MAX_ARGS;
+		for (i = 0; i < tcp->u_nargs; i++) {
+			if (upeek(tcp, PT_GR26-4*i, &tcp->u_arg[i]) < 0)
+				return -1;
+		}
+	}
+#elif defined(ARM)
+	{
+		int i;
+
+		if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
+			tcp->u_nargs = sysent[tcp->scno].nargs;
+		else
+			tcp->u_nargs = MAX_ARGS;
+		for (i = 0; i < tcp->u_nargs; i++)
+			tcp->u_arg[i] = regs.uregs[i];
+	}
+#elif defined(AVR32)
+	tcp->u_nargs = sysent[tcp->scno].nargs;
+	tcp->u_arg[0] = regs.r12;
+	tcp->u_arg[1] = regs.r11;
+	tcp->u_arg[2] = regs.r10;
+	tcp->u_arg[3] = regs.r9;
+	tcp->u_arg[4] = regs.r5;
+	tcp->u_arg[5] = regs.r3;
+#elif defined(BFIN)
+	{
+		int i;
+		int argreg[] = {PT_R0, PT_R1, PT_R2, PT_R3, PT_R4, PT_R5};
+
+		if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
+			tcp->u_nargs = sysent[tcp->scno].nargs;
+		else
+			tcp->u_nargs = sizeof(argreg) / sizeof(argreg[0]);
+
+		for (i = 0; i < tcp->u_nargs; ++i)
+			if (upeek(tcp, argreg[i], &tcp->u_arg[i]) < 0)
+				return -1;
+	}
+#elif defined(SH)
+	{
+		int i;
+		static int syscall_regs[] = {
+			REG_REG0+4, REG_REG0+5, REG_REG0+6, REG_REG0+7,
+			REG_REG0, REG_REG0+1, REG_REG0+2
+		};
+
+		tcp->u_nargs = sysent[tcp->scno].nargs;
+		for (i = 0; i < tcp->u_nargs; i++) {
+			if (upeek(tcp, 4*syscall_regs[i], &tcp->u_arg[i]) < 0)
+				return -1;
+		}
+	}
+#elif defined(SH64)
+	{
+		int i;
+		/* Registers used by SH5 Linux system calls for parameters */
+		static int syscall_regs[] = { 2, 3, 4, 5, 6, 7 };
+
+		/*
+		 * TODO: should also check that the number of arguments encoded
+		 *       in the trap number matches the number strace expects.
+		 */
+		/*
+		assert(sysent[tcp->scno].nargs <
+		       sizeof(syscall_regs)/sizeof(syscall_regs[0]));
+		 */
+
+		tcp->u_nargs = sysent[tcp->scno].nargs;
+		for (i = 0; i < tcp->u_nargs; i++) {
+			if (upeek(tcp, REG_GENERAL(syscall_regs[i]), &tcp->u_arg[i]) < 0)
+				return -1;
+		}
+	}
+
+#elif defined(X86_64)
+	{
+		int i;
+		static int argreg[SUPPORTED_PERSONALITIES][MAX_ARGS] = {
+			{RDI,RSI,RDX,R10,R8,R9},	/* x86-64 ABI */
+			{RBX,RCX,RDX,RSI,RDI,RBP}	/* i386 ABI */
+		};
+
+		if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
+			tcp->u_nargs = sysent[tcp->scno].nargs;
+		else
+			tcp->u_nargs = MAX_ARGS;
+		for (i = 0; i < tcp->u_nargs; i++) {
+			if (upeek(tcp, argreg[current_personality][i]*8, &tcp->u_arg[i]) < 0)
+				return -1;
+		}
+	}
+#elif defined(CRISV10) || defined(CRISV32)
+	{
+		int i;
+		static const int crisregs[] = {
+			4*PT_ORIG_R10, 4*PT_R11, 4*PT_R12,
+			4*PT_R13, 4*PT_MOF, 4*PT_SRP
+		};
+
+		if (tcp->scno >= 0 && tcp->scno < nsyscalls)
+			tcp->u_nargs = sysent[tcp->scno].nargs;
+		else
+			tcp->u_nargs = 0;
+		for (i = 0; i < tcp->u_nargs; i++) {
+			if (upeek(tcp, crisregs[i], &tcp->u_arg[i]) < 0)
+				return -1;
+		}
+	}
+#elif defined(TILE)
+	{
+		int i;
+		if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
+			tcp->u_nargs = sysent[tcp->scno].nargs;
+		else
+			tcp->u_nargs = MAX_ARGS;
+		for (i = 0; i < tcp->u_nargs; ++i) {
+			if (upeek(tcp, PTREGS_OFFSET_REG(i), &tcp->u_arg[i]) < 0)
+				return -1;
+		}
+	}
+#else /* Other architecture (like i386) (32bits specific) */
+	{
+		int i;
+		if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
+			tcp->u_nargs = sysent[tcp->scno].nargs;
+		else
+			tcp->u_nargs = MAX_ARGS;
+		for (i = 0; i < tcp->u_nargs; i++) {
+			if (upeek(tcp, i*4, &tcp->u_arg[i]) < 0)
+				return -1;
+		}
+	}
+#endif
+#endif /* LINUX */
+#ifdef SUNOS4
+	{
+		int i;
+		if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
+			tcp->u_nargs = sysent[tcp->scno].nargs;
+		else
+			tcp->u_nargs = MAX_ARGS;
+		for (i = 0; i < tcp->u_nargs; i++) {
+			struct user *u;
+
+			if (upeek(tcp, uoff(u_arg[0]) +
+			    (i*sizeof(u->u_arg[0])), &tcp->u_arg[i]) < 0)
+				return -1;
+		}
+	}
+#endif /* SUNOS4 */
+#ifdef SVR4
+#ifdef MIPS
+	/*
+	 * SGI is broken: even though it has pr_sysarg, it doesn't
+	 * set them on system call entry.  Get a clue.
+	 */
+	if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
+		tcp->u_nargs = sysent[tcp->scno].nargs;
+	else
+		tcp->u_nargs = tcp->status.pr_nsysarg;
+	if (tcp->u_nargs > 4) {
+		memcpy(tcp->u_arg, &tcp->status.pr_reg[CTX_A0],
+			4*sizeof(tcp->u_arg[0]));
+		umoven(tcp, tcp->status.pr_reg[CTX_SP] + 16,
+			(tcp->u_nargs - 4)*sizeof(tcp->u_arg[0]), (char *) (tcp->u_arg + 4));
+	}
+	else {
+		memcpy(tcp->u_arg, &tcp->status.pr_reg[CTX_A0],
+			tcp->u_nargs*sizeof(tcp->u_arg[0]));
+	}
+#elif UNIXWARE >= 2
+	/*
+	 * Like SGI, UnixWare doesn't set pr_sysarg until system call exit
+	 */
+	if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
+		tcp->u_nargs = sysent[tcp->scno].nargs;
+	else
+		tcp->u_nargs = tcp->status.pr_lwp.pr_nsysarg;
+	umoven(tcp, tcp->status.PR_REG[UESP] + 4,
+		tcp->u_nargs*sizeof(tcp->u_arg[0]), (char *) tcp->u_arg);
+#elif defined (HAVE_PR_SYSCALL)
+	if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
+		tcp->u_nargs = sysent[tcp->scno].nargs;
+	else
+		tcp->u_nargs = tcp->status.pr_nsysarg;
+	{
+		int i;
+		for (i = 0; i < tcp->u_nargs; i++)
+			tcp->u_arg[i] = tcp->status.pr_sysarg[i];
+	}
+#elif defined (I386)
+	if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
+		tcp->u_nargs = sysent[tcp->scno].nargs;
+	else
+		tcp->u_nargs = 5;
+	umoven(tcp, tcp->status.PR_REG[UESP] + 4,
+		tcp->u_nargs*sizeof(tcp->u_arg[0]), (char *) tcp->u_arg);
+#else
+	I DONT KNOW WHAT TO DO
+#endif /* !HAVE_PR_SYSCALL */
+#endif /* SVR4 */
+#ifdef FREEBSD
+	if (tcp->scno >= 0 && tcp->scno < nsyscalls &&
+	    sysent[tcp->scno].nargs > tcp->status.val)
+		tcp->u_nargs = sysent[tcp->scno].nargs;
+	else
+		tcp->u_nargs = tcp->status.val;
+	if (tcp->u_nargs < 0)
+		tcp->u_nargs = 0;
+	if (tcp->u_nargs > MAX_ARGS)
+		tcp->u_nargs = MAX_ARGS;
+	switch(regs.r_eax) {
+	case SYS___syscall:
+		pread(tcp->pfd, &tcp->u_arg, tcp->u_nargs * sizeof(unsigned long),
+		      regs.r_esp + sizeof(int) + sizeof(quad_t));
+		break;
+	case SYS_syscall:
+		pread(tcp->pfd, &tcp->u_arg, tcp->u_nargs * sizeof(unsigned long),
+		      regs.r_esp + 2 * sizeof(int));
+		break;
+	default:
+		pread(tcp->pfd, &tcp->u_arg, tcp->u_nargs * sizeof(unsigned long),
+		      regs.r_esp + sizeof(int));
+		break;
+	}
+#endif /* FREEBSD */
+	return 1;
+}
+
+static int
+trace_syscall_exiting(struct tcb *tcp)
+{
+	int sys_res;
+	struct timeval tv;
+	int res, scno_good;
+	long u_error;
+
+	/* Measure the exit time as early as possible to avoid errors. */
+	if (dtime || cflag)
+		gettimeofday(&tv, NULL);
+
+	/* BTW, why we don't just memorize syscall no. on entry
+	 * in tcp->something?
+	 */
+	scno_good = res = get_scno(tcp);
+	if (res == 0)
+		return res;
+	if (res == 1)
+		res = syscall_fixup(tcp);
+	if (res == 0)
+		return res;
+	if (res == 1)
+		res = get_error(tcp);
+	if (res == 0)
+		return res;
+	if (res == 1)
+		internal_syscall(tcp);
+
+	if (res == 1 && tcp->scno >= 0 && tcp->scno < nsyscalls &&
+	    !(qual_flags[tcp->scno] & QUAL_TRACE)) {
+		tcp->flags &= ~TCB_INSYSCALL;
+		return 0;
+	}
+
+	if (tcp->flags & TCB_REPRINT) {
+		printleader(tcp);
+		tprintf("<... ");
+		if (scno_good != 1)
+			tprintf("????");
+		else if (tcp->scno >= nsyscalls || tcp->scno < 0)
+			tprintf("syscall_%lu", tcp->scno);
+		else
+			tprintf("%s", sysent[tcp->scno].sys_name);
+		tprintf(" resumed> ");
+	}
+
+	if (cflag) {
+		struct timeval t = tv;
+		int rc = count_syscall(tcp, &t);
+		if (cflag == CFLAG_ONLY_STATS)
+		{
+			tcp->flags &= ~TCB_INSYSCALL;
+			return rc;
+		}
+	}
+
+	if (res != 1) {
+		tprintf(") ");
+		tabto(acolumn);
+		tprintf("= ? <unavailable>");
+		printtrailer();
+		tcp->flags &= ~TCB_INSYSCALL;
+		return res;
+	}
+
+	if (tcp->scno >= nsyscalls || tcp->scno < 0
+	    || (qual_flags[tcp->scno] & QUAL_RAW))
+		sys_res = printargs(tcp);
+	else {
+		if (not_failing_only && tcp->u_error)
+			return 0;	/* ignore failed syscalls */
+		sys_res = (*sysent[tcp->scno].sys_func)(tcp);
+	}
+
+	u_error = tcp->u_error;
+	tprintf(") ");
+	tabto(acolumn);
+	if (tcp->scno >= nsyscalls || tcp->scno < 0 ||
+	    qual_flags[tcp->scno] & QUAL_RAW) {
+		if (u_error)
+			tprintf("= -1 (errno %ld)", u_error);
+		else
+			tprintf("= %#lx", tcp->u_rval);
+	}
+	else if (!(sys_res & RVAL_NONE) && u_error) {
+		switch (u_error) {
+#ifdef LINUX
+		case ERESTARTSYS:
+			tprintf("= ? ERESTARTSYS (To be restarted)");
+			break;
+		case ERESTARTNOINTR:
+			tprintf("= ? ERESTARTNOINTR (To be restarted)");
+			break;
+		case ERESTARTNOHAND:
+			tprintf("= ? ERESTARTNOHAND (To be restarted)");
+			break;
+		case ERESTART_RESTARTBLOCK:
+			tprintf("= ? ERESTART_RESTARTBLOCK (To be restarted)");
+			break;
+#endif /* LINUX */
+		default:
+			tprintf("= -1 ");
+			if (u_error < 0)
+				tprintf("E??? (errno %ld)", u_error);
+			else if (u_error < nerrnos)
+				tprintf("%s (%s)", errnoent[u_error],
+					strerror(u_error));
+			else
+				tprintf("ERRNO_%ld (%s)", u_error,
+					strerror(u_error));
+			break;
+		}
+		if ((sys_res & RVAL_STR) && tcp->auxstr)
+			tprintf(" (%s)", tcp->auxstr);
+	}
+	else {
+		if (sys_res & RVAL_NONE)
+			tprintf("= ?");
+		else {
+			switch (sys_res & RVAL_MASK) {
+			case RVAL_HEX:
+				tprintf("= %#lx", tcp->u_rval);
+				break;
+			case RVAL_OCTAL:
+				tprintf("= %#lo", tcp->u_rval);
+				break;
+			case RVAL_UDECIMAL:
+				tprintf("= %lu", tcp->u_rval);
+				break;
+			case RVAL_DECIMAL:
+				tprintf("= %ld", tcp->u_rval);
+				break;
+#ifdef HAVE_LONG_LONG
+			case RVAL_LHEX:
+				tprintf("= %#llx", tcp->u_lrval);
+				break;
+			case RVAL_LOCTAL:
+				tprintf("= %#llo", tcp->u_lrval);
+				break;
+			case RVAL_LUDECIMAL:
+				tprintf("= %llu", tcp->u_lrval);
+				break;
+			case RVAL_LDECIMAL:
+				tprintf("= %lld", tcp->u_lrval);
+				break;
+#endif
+			default:
+				fprintf(stderr,
+					"invalid rval format\n");
+				break;
+			}
+		}
+		if ((sys_res & RVAL_STR) && tcp->auxstr)
+			tprintf(" (%s)", tcp->auxstr);
+	}
+	if (dtime) {
+		tv_sub(&tv, &tv, &tcp->etime);
+		tprintf(" <%ld.%06ld>",
+			(long) tv.tv_sec, (long) tv.tv_usec);
+	}
+	printtrailer();
+
+	dumpio(tcp);
+	if (fflush(tcp->outf) == EOF)
+		return -1;
+	tcp->flags &= ~TCB_INSYSCALL;
+	return 0;
+}
+
+static int
+trace_syscall_entering(struct tcb *tcp)
+{
+	int sys_res;
+	int res, scno_good;
+
+	scno_good = res = get_scno(tcp);
+	if (res == 0)
+		return res;
+	if (res == 1)
+		res = syscall_fixup(tcp);
+	if (res == 0)
+		return res;
+	if (res == 1)
+		res = syscall_enter(tcp);
+	if (res == 0)
+		return res;
+
+	if (res != 1) {
+		printleader(tcp);
+		tcp->flags &= ~TCB_REPRINT;
+		tcp_last = tcp;
+		if (scno_good != 1)
+			tprintf("????" /* anti-trigraph gap */ "(");
+		else if (tcp->scno >= nsyscalls || tcp->scno < 0)
+			tprintf("syscall_%lu(", tcp->scno);
+		else
+			tprintf("%s(", sysent[tcp->scno].sys_name);
+		/*
+		 * " <unavailable>" will be added later by the code which
+		 * detects ptrace errors.
+		 */
+		tcp->flags |= TCB_INSYSCALL;
+		return res;
+	}
+
+	switch (known_scno(tcp)) {
+#ifdef SYS_socket_subcall
+	case SYS_socketcall:
+		decode_subcall(tcp, SYS_socket_subcall,
+			SYS_socket_nsubcalls, deref_style);
+		break;
+#endif
+#ifdef SYS_ipc_subcall
+	case SYS_ipc:
+		decode_subcall(tcp, SYS_ipc_subcall,
+			SYS_ipc_nsubcalls, shift_style);
+		break;
+#endif
+#ifdef SVR4
+#ifdef SYS_pgrpsys_subcall
+	case SYS_pgrpsys:
+		decode_subcall(tcp, SYS_pgrpsys_subcall,
+			SYS_pgrpsys_nsubcalls, shift_style);
+		break;
+#endif /* SYS_pgrpsys_subcall */
+#ifdef SYS_sigcall_subcall
+	case SYS_sigcall:
+		decode_subcall(tcp, SYS_sigcall_subcall,
+			SYS_sigcall_nsubcalls, mask_style);
+		break;
+#endif /* SYS_sigcall_subcall */
+	case SYS_msgsys:
+		decode_subcall(tcp, SYS_msgsys_subcall,
+			SYS_msgsys_nsubcalls, shift_style);
+		break;
+	case SYS_shmsys:
+		decode_subcall(tcp, SYS_shmsys_subcall,
+			SYS_shmsys_nsubcalls, shift_style);
+		break;
+	case SYS_semsys:
+		decode_subcall(tcp, SYS_semsys_subcall,
+			SYS_semsys_nsubcalls, shift_style);
+		break;
+	case SYS_sysfs:
+		decode_subcall(tcp, SYS_sysfs_subcall,
+			SYS_sysfs_nsubcalls, shift_style);
+		break;
+	case SYS_spcall:
+		decode_subcall(tcp, SYS_spcall_subcall,
+			SYS_spcall_nsubcalls, shift_style);
+		break;
+#ifdef SYS_context_subcall
+	case SYS_context:
+		decode_subcall(tcp, SYS_context_subcall,
+			SYS_context_nsubcalls, shift_style);
+		break;
+#endif /* SYS_context_subcall */
+#ifdef SYS_door_subcall
+	case SYS_door:
+		decode_subcall(tcp, SYS_door_subcall,
+			SYS_door_nsubcalls, door_style);
+		break;
+#endif /* SYS_door_subcall */
+#ifdef SYS_kaio_subcall
+	case SYS_kaio:
+		decode_subcall(tcp, SYS_kaio_subcall,
+			SYS_kaio_nsubcalls, shift_style);
+		break;
+#endif
+#endif /* SVR4 */
+#ifdef FREEBSD
+	case SYS_msgsys:
+	case SYS_shmsys:
+	case SYS_semsys:
+		decode_subcall(tcp, 0, 0, table_style);
+		break;
+#endif
+#ifdef SUNOS4
+	case SYS_semsys:
+		decode_subcall(tcp, SYS_semsys_subcall,
+			SYS_semsys_nsubcalls, shift_style);
+		break;
+	case SYS_msgsys:
+		decode_subcall(tcp, SYS_msgsys_subcall,
+			SYS_msgsys_nsubcalls, shift_style);
+		break;
+	case SYS_shmsys:
+		decode_subcall(tcp, SYS_shmsys_subcall,
+			SYS_shmsys_nsubcalls, shift_style);
+		break;
+#endif
+	}
+
+	internal_syscall(tcp);
+	if (tcp->scno >=0 && tcp->scno < nsyscalls && !(qual_flags[tcp->scno] & QUAL_TRACE)) {
+		tcp->flags |= TCB_INSYSCALL;
+		return 0;
+	}
+
+	if (cflag == CFLAG_ONLY_STATS) {
+		tcp->flags |= TCB_INSYSCALL;
+		gettimeofday(&tcp->etime, NULL);
+		return 0;
+	}
+
+	printleader(tcp);
+	tcp->flags &= ~TCB_REPRINT;
+	tcp_last = tcp;
+	if (tcp->scno >= nsyscalls || tcp->scno < 0)
+		tprintf("syscall_%lu(", tcp->scno);
+	else
+		tprintf("%s(", sysent[tcp->scno].sys_name);
+	if (tcp->scno >= nsyscalls || tcp->scno < 0 ||
+	    ((qual_flags[tcp->scno] & QUAL_RAW) && tcp->scno != SYS_exit))
+		sys_res = printargs(tcp);
+	else
+		sys_res = (*sysent[tcp->scno].sys_func)(tcp);
+	if (fflush(tcp->outf) == EOF)
+		return -1;
+	tcp->flags |= TCB_INSYSCALL;
+	/* Measure the entrance time as late as possible to avoid errors. */
+	if (dtime || cflag)
+		gettimeofday(&tcp->etime, NULL);
+	return sys_res;
+}
+
+int
+trace_syscall(struct tcb *tcp)
+{
+	return exiting(tcp) ?
+		trace_syscall_exiting(tcp) : trace_syscall_entering(tcp);
+}
+
+int
+printargs(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		int i;
+
+		for (i = 0; i < tcp->u_nargs; i++)
+			tprintf("%s%#lx", i ? ", " : "", tcp->u_arg[i]);
+	}
+	return 0;
+}
+
+long
+getrval2(tcp)
+struct tcb *tcp;
+{
+	long val = -1;
+
+#ifdef LINUX
+#if defined (SPARC) || defined (SPARC64)
+	struct pt_regs regs;
+	if (ptrace(PTRACE_GETREGS,tcp->pid,(char *)&regs,0) < 0)
+		return -1;
+	val = regs.u_regs[U_REG_O1];
+#elif defined(SH)
+	if (upeek(tcp, 4*(REG_REG0+1), &val) < 0)
+		return -1;
+#elif defined(IA64)
+	if (upeek(tcp, PT_R9, &val) < 0)
+		return -1;
+#endif
+#endif /* LINUX */
+
+#ifdef SUNOS4
+	if (upeek(tcp, uoff(u_rval2), &val) < 0)
+		return -1;
+#endif /* SUNOS4 */
+
+#ifdef SVR4
+#ifdef SPARC
+	val = tcp->status.PR_REG[R_O1];
+#endif /* SPARC */
+#ifdef I386
+	val = tcp->status.PR_REG[EDX];
+#endif /* I386 */
+#ifdef X86_64
+	val = tcp->status.PR_REG[RDX];
+#endif /* X86_64 */
+#ifdef MIPS
+	val = tcp->status.PR_REG[CTX_V1];
+#endif /* MIPS */
+#endif /* SVR4 */
+
+#ifdef FREEBSD
+	struct reg regs;
+	pread(tcp->pfd_reg, &regs, sizeof(regs), 0);
+	val = regs.r_edx;
+#endif
+	return val;
+}
+
+#ifdef SUNOS4
+/*
+ * Apparently, indirect system calls have already be converted by ptrace(2),
+ * so if you see "indir" this program has gone astray.
+ */
+int
+sys_indir(tcp)
+struct tcb *tcp;
+{
+	int i, scno, nargs;
+
+	if (entering(tcp)) {
+		if ((scno = tcp->u_arg[0]) > nsyscalls) {
+			fprintf(stderr, "Bogus syscall: %u\n", scno);
+			return 0;
+		}
+		nargs = sysent[scno].nargs;
+		tprintf("%s", sysent[scno].sys_name);
+		for (i = 0; i < nargs; i++)
+			tprintf(", %#lx", tcp->u_arg[i+1]);
+	}
+	return 0;
+}
+#endif /* SUNOS4 */
+
+int
+is_restart_error(struct tcb *tcp)
+{
+#ifdef LINUX
+	if (!syserror(tcp))
+		return 0;
+	switch (tcp->u_error) {
+		case ERESTARTSYS:
+		case ERESTARTNOINTR:
+		case ERESTARTNOHAND:
+		case ERESTART_RESTARTBLOCK:
+			return 1;
+		default:
+			break;
+	}
+#endif /* LINUX */
+	return 0;
+}
diff --git a/strace-4.5.20/syscallent.sh b/strace-4.5.20/syscallent.sh
new file mode 100755
index 0000000..636cede
--- /dev/null
+++ b/strace-4.5.20/syscallent.sh
@@ -0,0 +1,75 @@
+#!/bin/sh
+# Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+#    derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+#	$Id$
+
+cat ${1+"$@"} |
+	sed -n 's/^#[ 	]*define[ 	][ 	]*SYS_\([^ 	]*\)[ 	]*[^0-9]*\([0-9]*\).*$/\1 \2/p
+s/^#[ 	]*define[ 	][ 	]*__NR_\([^ 	]*\)[ 	]*[^0-9]*\([0-9]*\).*$/\1 \2/p
+s/^#[ ]*define[ ][ ]*__NR_\([^ ]*\)[ ]*[^0-9()]*(__NR_Linux + \([0-9]*\))$/\1 \2/p' |
+	sort -k2n | uniq |
+	awk '
+	BEGIN {
+		tabs = "\t\t\t\t\t\t\t\t"
+		call = -1;
+	}
+	{
+		while (++call < $2) {
+			f = "printargs"
+			n = "SYS_" call
+			s = "\t{ -1,\t0,\t"
+			s = s f ","
+			s = s substr(tabs, 1, 24/8 - int((length(f) + 1)/8))
+			s = s "\"" n "\""
+			s = s substr(tabs, 1, 16/8 - int((length(n) + 2)/8))
+			s = s "}, /* " call " */"
+			print s
+		}
+		f = "sys_" $1
+		n = $1
+		s = "\t{ -1,\t0,\t"
+		s = s f ","
+		s = s substr(tabs, 1, 24/8 - int((length(f) + 1)/8))
+		s = s "\"" n "\""
+		s = s substr(tabs, 1, 16/8 - int((length(n) + 2)/8))
+		s = s "}, /* " call " */"
+		print s
+	}
+	END {
+		limit = call + 100
+		while (++call < limit) {
+			f = "printargs"
+			n = "SYS_" call
+			s = "\t{ -1,\t0,\t"
+			s = s f ","
+			s = s substr(tabs, 1, 24/8 - int((length(f) + 1)/8))
+			s = s "\"" n "\""
+			s = s substr(tabs, 1, 16/8 - int((length(n) + 2)/8))
+			s = s "}, /* " call " */"
+			print s
+		}
+	}
+	'
diff --git a/strace-4.5.20/system.c b/strace-4.5.20/system.c
new file mode 100644
index 0000000..63a64b8
--- /dev/null
+++ b/strace-4.5.20/system.c
@@ -0,0 +1,2319 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+#ifdef LINUX
+#define _LINUX_SOCKET_H
+#define _LINUX_FS_H
+
+#define MS_RDONLY	 1	/* Mount read-only */
+#define MS_NOSUID	 2	/* Ignore suid and sgid bits */
+#define MS_NODEV	 4	/* Disallow access to device special files */
+#define MS_NOEXEC	 8	/* Disallow program execution */
+#define MS_SYNCHRONOUS	16	/* Writes are synced at once */
+#define MS_REMOUNT	32	/* Alter flags of a mounted FS */
+#define MS_MANDLOCK	64	/* Allow mandatory locks on an FS */
+#define MS_DIRSYNC	128	/* Directory modifications are synchronous */
+#define MS_NOATIME	1024	/* Do not update access times. */
+#define MS_NODIRATIME	2048	/* Do not update directory access times */
+#define MS_BIND		4096
+#define MS_MOVE		8192
+#define MS_REC		16384
+#define MS_SILENT	32768
+#define MS_POSIXACL	(1<<16)	/* VFS does not apply the umask */
+#define MS_UNBINDABLE	(1<<17)	/* change to unbindable */
+#define MS_PRIVATE	(1<<18)	/* change to private */
+#define MS_SLAVE	(1<<19)	/* change to slave */
+#define MS_SHARED	(1<<20)	/* change to shared */
+#define MS_ACTIVE	(1<<30)
+#define MS_NOUSER	(1<<31)
+#define MS_MGC_VAL	0xc0ed0000	/* Magic flag number */
+#define MS_MGC_MSK	0xffff0000	/* Magic flag mask */
+
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#include <sys/syscall.h>
+
+#ifdef HAVE_LINUX_CAPABILITY_H
+#include <linux/capability.h>
+#endif
+
+#ifdef HAVE_ASM_CACHECTL_H
+#include <asm/cachectl.h>
+#endif
+
+#ifdef HAVE_LINUX_USTNAME_H
+#include <linux/utsname.h>
+#endif
+
+#ifdef HAVE_ASM_SYSMIPS_H
+#include <asm/sysmips.h>
+#endif
+
+#include <linux/sysctl.h>
+
+static const struct xlat mount_flags[] = {
+	{ MS_MGC_VAL,	"MS_MGC_VAL"	},
+	{ MS_RDONLY,	"MS_RDONLY"	},
+	{ MS_NOSUID,	"MS_NOSUID"	},
+	{ MS_NODEV,	"MS_NODEV"	},
+	{ MS_NOEXEC,	"MS_NOEXEC"	},
+	{ MS_SYNCHRONOUS,"MS_SYNCHRONOUS"},
+	{ MS_REMOUNT,	"MS_REMOUNT"	},
+	{ MS_MANDLOCK,	"MS_MANDLOCK"	},
+	{ MS_NOATIME,	"MS_NOATIME"	},
+	{ MS_NODIRATIME,"MS_NODIRATIME"	},
+	{ MS_BIND,	"MS_BIND"	},
+	{ MS_MOVE,	"MS_MOVE"	},
+	{ MS_REC,	"MS_REC"	},
+	{ MS_SILENT,	"MS_SILENT"	},
+	{ MS_POSIXACL,	"MS_POSIXACL"	},
+	{ MS_UNBINDABLE,"MS_UNBINDABLE"	},
+	{ MS_PRIVATE,	"MS_PRIVATE"	},
+	{ MS_SLAVE,	"MS_SLAVE"	},
+	{ MS_SHARED,	"MS_SHARED"	},
+	{ MS_ACTIVE,	"MS_ACTIVE"	},
+	{ MS_NOUSER,	"MS_NOUSER"	},
+	{ 0,		NULL		},
+};
+
+int
+sys_mount(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		int ignore_type = 0, ignore_data = 0;
+		unsigned long flags = tcp->u_arg[3];
+
+		/* Discard magic */
+		if ((flags & MS_MGC_MSK) == MS_MGC_VAL)
+			flags &= ~MS_MGC_MSK;
+
+		if (flags & MS_REMOUNT)
+			ignore_type = 1;
+		else if (flags & (MS_BIND | MS_MOVE))
+			ignore_type = ignore_data = 1;
+
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+
+		printpath(tcp, tcp->u_arg[1]);
+		tprintf(", ");
+
+		if (ignore_type && tcp->u_arg[2])
+			tprintf("%#lx", tcp->u_arg[2]);
+		else
+			printstr(tcp, tcp->u_arg[2], -1);
+		tprintf(", ");
+
+		printflags(mount_flags, tcp->u_arg[3], "MS_???");
+		tprintf(", ");
+
+		if (ignore_data && tcp->u_arg[4])
+			tprintf("%#lx", tcp->u_arg[4]);
+		else
+			printstr(tcp, tcp->u_arg[4], -1);
+	}
+	return 0;
+}
+
+#define MNT_FORCE	0x00000001	/* Attempt to forcibily umount */
+#define MNT_DETACH	0x00000002	/* Just detach from the tree */
+#define MNT_EXPIRE	0x00000004	/* Mark for expiry */
+
+static const struct xlat umount_flags[] = {
+	{ MNT_FORCE,	"MNT_FORCE"	},
+	{ MNT_DETACH,	"MNT_DETACH"	},
+	{ MNT_EXPIRE,	"MNT_EXPIRE"	},
+	{ 0,		NULL		},
+};
+
+int
+sys_umount2(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printstr(tcp, tcp->u_arg[0], -1);
+		tprintf(", ");
+		printflags(umount_flags, tcp->u_arg[1], "MNT_???");
+	}
+	return 0;
+}
+
+/* These are not macros, but enums.  We just copy the values by hand
+   from Linux 2.6.9 here.  */
+static const struct xlat personality_options[] = {
+	{ 0,		"PER_LINUX"	},
+	{ 0x00800000,	"PER_LINUX_32BIT"},
+	{ 0x04100001,	"PER_SVR4"	},
+	{ 0x05000002,	"PER_SVR3"	},
+	{ 0x07000003,	"PER_SCOSVR3"	},
+	{ 0x06000003,	"PER_OSR5"	},
+	{ 0x05000004,	"PER_WYSEV386"	},
+	{ 0x04000005,	"PER_ISCR4"	},
+	{ 0x00000006,	"PER_BSD"	},
+	{ 0x04000006,	"PER_SUNOS"	},
+	{ 0x05000007,	"PER_XENIX"	},
+	{ 0x00000008,	"PER_LINUX32"	},
+	{ 0x08000008,	"PER_LINUX32_3GB"},
+	{ 0x04000009,	"PER_IRIX32"	},
+	{ 0x0400000a,	"PER_IRIXN32"	},
+	{ 0x0400000b,	"PER_IRIX64"	},
+	{ 0x0000000c,	"PER_RISCOS"	},
+	{ 0x0400000d,	"PER_SOLARIS"	},
+	{ 0x0410000e,	"PER_UW7"	},
+	{ 0x0000000f,	"PER_OSF4"	},
+	{ 0x00000010,	"PER_HPUX"	},
+	{ 0,		NULL		},
+};
+
+int
+sys_personality(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp))
+		printxval(personality_options, tcp->u_arg[0], "PER_???");
+	return 0;
+}
+
+#include <linux/reboot.h>
+static const struct xlat bootflags1[] = {
+	{ LINUX_REBOOT_MAGIC1,	"LINUX_REBOOT_MAGIC1"	},
+	{ 0,			NULL			},
+};
+
+static const struct xlat bootflags2[] = {
+	{ LINUX_REBOOT_MAGIC2,	"LINUX_REBOOT_MAGIC2"	},
+	{ LINUX_REBOOT_MAGIC2A,	"LINUX_REBOOT_MAGIC2A"	},
+	{ LINUX_REBOOT_MAGIC2B,	"LINUX_REBOOT_MAGIC2B"	},
+	{ 0,			NULL			},
+};
+
+static const struct xlat bootflags3[] = {
+	{ LINUX_REBOOT_CMD_CAD_OFF,	"LINUX_REBOOT_CMD_CAD_OFF"	},
+	{ LINUX_REBOOT_CMD_RESTART,	"LINUX_REBOOT_CMD_RESTART"	},
+	{ LINUX_REBOOT_CMD_HALT,	"LINUX_REBOOT_CMD_HALT"		},
+	{ LINUX_REBOOT_CMD_CAD_ON,	"LINUX_REBOOT_CMD_CAD_ON"	},
+	{ LINUX_REBOOT_CMD_POWER_OFF,	"LINUX_REBOOT_CMD_POWER_OFF"	},
+	{ LINUX_REBOOT_CMD_RESTART2,	"LINUX_REBOOT_CMD_RESTART2"	},
+	{ 0,				NULL				},
+};
+
+int
+sys_reboot(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printflags(bootflags1, tcp->u_arg[0], "LINUX_REBOOT_MAGIC_???");
+		tprintf(", ");
+		printflags(bootflags2, tcp->u_arg[1], "LINUX_REBOOT_MAGIC_???");
+		tprintf(", ");
+		printflags(bootflags3, tcp->u_arg[2], "LINUX_REBOOT_CMD_???");
+		if (tcp->u_arg[2] == LINUX_REBOOT_CMD_RESTART2) {
+			tprintf(", ");
+			printstr(tcp, tcp->u_arg[3], -1);
+		}
+	}
+	return 0;
+}
+
+#ifdef M68K
+static const struct xlat cacheflush_scope[] = {
+#ifdef FLUSH_SCOPE_LINE
+	{ FLUSH_SCOPE_LINE,	"FLUSH_SCOPE_LINE" },
+#endif
+#ifdef FLUSH_SCOPE_PAGE
+	{ FLUSH_SCOPE_PAGE,	"FLUSH_SCOPE_PAGE" },
+#endif
+#ifdef FLUSH_SCOPE_ALL
+	{ FLUSH_SCOPE_ALL,	"FLUSH_SCOPE_ALL" },
+#endif
+	{ 0,			NULL },
+};
+
+static const struct xlat cacheflush_flags[] = {
+#ifdef FLUSH_CACHE_BOTH
+	{ FLUSH_CACHE_BOTH,	"FLUSH_CACHE_BOTH" },
+#endif
+#ifdef FLUSH_CACHE_DATA
+	{ FLUSH_CACHE_DATA,	"FLUSH_CACHE_DATA" },
+#endif
+#ifdef FLUSH_CACHE_INSN
+	{ FLUSH_CACHE_INSN,	"FLUSH_CACHE_INSN" },
+#endif
+	{ 0,			NULL },
+};
+
+int
+sys_cacheflush(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		/* addr */
+		tprintf("%#lx, ", tcp->u_arg[0]);
+		/* scope */
+		printxval(cacheflush_scope, tcp->u_arg[1], "FLUSH_SCOPE_???");
+		tprintf(", ");
+		/* flags */
+		printflags(cacheflush_flags, tcp->u_arg[2], "FLUSH_CACHE_???");
+		/* len */
+		tprintf(", %lu", tcp->u_arg[3]);
+	}
+	return 0;
+}
+#endif /* M68K */
+
+#ifdef BFIN
+
+#include <bfin_sram.h>
+
+static const struct xlat sram_alloc_flags[] = {
+	{ L1_INST_SRAM,		"L1_INST_SRAM" },
+	{ L1_DATA_A_SRAM,	"L1_DATA_A_SRAM" },
+	{ L1_DATA_B_SRAM,	"L1_DATA_B_SRAM" },
+	{ L1_DATA_SRAM,		"L1_DATA_SRAM" },
+	{ L2_SRAM,		"L2_SRAM" },
+	{ 0,			NULL },
+};
+
+int
+sys_sram_alloc(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		/* size */
+		tprintf("%lu, ", tcp->u_arg[0]);
+		/* flags */
+		printxval(sram_alloc_flags, tcp->u_arg[1], "???_SRAM");
+	}
+	return 1;
+}
+
+#endif
+
+#endif /* LINUX */
+
+#ifdef SUNOS4
+
+#include <sys/reboot.h>
+#define NFSCLIENT
+#define LOFS
+#define RFS
+#define PCFS
+#include <sys/mount.h>
+#include <sys/socket.h>
+#include <nfs/export.h>
+#include <rpc/types.h>
+#include <rpc/auth.h>
+
+/*ARGSUSED*/
+int
+sys_sync(tcp)
+struct tcb *tcp;
+{
+	return 0;
+}
+
+static const struct xlat bootflags[] = {
+	{ RB_AUTOBOOT,	"RB_AUTOBOOT"	},	/* for system auto-booting itself */
+	{ RB_ASKNAME,	"RB_ASKNAME"	},	/* ask for file name to reboot from */
+	{ RB_SINGLE,	"RB_SINGLE"	},	/* reboot to single user only */
+	{ RB_NOSYNC,	"RB_NOSYNC"	},	/* dont sync before reboot */
+	{ RB_HALT,	"RB_HALT"	},	/* don't reboot, just halt */
+	{ RB_INITNAME,	"RB_INITNAME"	},	/* name given for /etc/init */
+	{ RB_NOBOOTRC,	"RB_NOBOOTRC"	},	/* don't run /etc/rc.boot */
+	{ RB_DEBUG,	"RB_DEBUG"	},	/* being run under debugger */
+	{ RB_DUMP,	"RB_DUMP"	},	/* dump system core */
+	{ RB_WRITABLE,	"RB_WRITABLE"	},	/* mount root read/write */
+	{ RB_STRING,	"RB_STRING"	},	/* pass boot args to prom monitor */
+	{ 0,		NULL		},
+};
+
+int
+sys_reboot(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printflags(bootflags, tcp->u_arg[0], "RB_???");
+		if (tcp->u_arg[0] & RB_STRING) {
+			printstr(tcp, tcp->u_arg[1], -1);
+		}
+	}
+	return 0;
+}
+
+int
+sys_sysacct(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printstr(tcp, tcp->u_arg[0], -1);
+	}
+	return 0;
+}
+
+int
+sys_swapon(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printstr(tcp, tcp->u_arg[0], -1);
+	}
+	return 0;
+}
+
+int
+sys_nfs_svc(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printsock(tcp, tcp->u_arg[0]);
+	}
+	return 0;
+}
+
+static const struct xlat mountflags[] = {
+	{ M_RDONLY,	"M_RDONLY"	},
+	{ M_NOSUID,	"M_NOSUID"	},
+	{ M_NEWTYPE,	"M_NEWTYPE"	},
+	{ M_GRPID,	"M_GRPID"	},
+#ifdef	M_REMOUNT
+	{ M_REMOUNT,	"M_REMOUNT"	},
+#endif
+#ifdef	M_NOSUB
+	{ M_NOSUB,	"M_NOSUB"	},
+#endif
+#ifdef	M_MULTI
+	{ M_MULTI,	"M_MULTI"	},
+#endif
+#ifdef	M_SYS5
+	{ M_SYS5,	"M_SYS5"	},
+#endif
+	{ 0,		NULL		},
+};
+
+static const struct xlat nfsflags[] = {
+	{ NFSMNT_SOFT,		"NFSMNT_SOFT"		},
+	{ NFSMNT_WSIZE,		"NFSMNT_WSIZE"		},
+	{ NFSMNT_RSIZE,		"NFSMNT_RSIZE"		},
+	{ NFSMNT_TIMEO,		"NFSMNT_TIMEO"		},
+	{ NFSMNT_RETRANS,	"NFSMNT_RETRANS"	},
+	{ NFSMNT_HOSTNAME,	"NFSMNT_HOSTNAME"	},
+	{ NFSMNT_INT,		"NFSMNT_INT"		},
+	{ NFSMNT_NOAC,		"NFSMNT_NOAC"		},
+	{ NFSMNT_ACREGMIN,	"NFSMNT_ACREGMIN"	},
+	{ NFSMNT_ACREGMAX,	"NFSMNT_ACREGMAX"	},
+	{ NFSMNT_ACDIRMIN,	"NFSMNT_ACDIRMIN"	},
+	{ NFSMNT_ACDIRMAX,	"NFSMNT_ACDIRMAX"	},
+#ifdef	NFSMNT_SECURE
+	{ NFSMNT_SECURE,	"NFSMNT_SECURE"		},
+#endif
+#ifdef	NFSMNT_NOCTO
+	{ NFSMNT_NOCTO,		"NFSMNT_NOCTO"		},
+#endif
+#ifdef	NFSMNT_POSIX
+	{ NFSMNT_POSIX,		"NFSMNT_POSIX"		},
+#endif
+	{ 0,			NULL			},
+};
+
+int
+sys_mount(tcp)
+struct tcb *tcp;
+{
+	char type[4];
+
+	if (entering(tcp)) {
+		if (!(tcp->u_arg[2] & M_NEWTYPE) || umovestr(tcp,
+				tcp->u_arg[0],  sizeof type, type) < 0) {
+			tprintf("OLDTYPE:#%lx", tcp->u_arg[0]);
+		} else {
+			tprintf("\"%s\", ", type);
+		}
+		printstr(tcp, tcp->u_arg[1], -1);
+		tprintf(", ");
+		printflags(mountflags, tcp->u_arg[2] & ~M_NEWTYPE, "M_???");
+		tprintf(", ");
+
+		if (strcmp(type, "4.2") == 0) {
+			struct ufs_args a;
+			if (umove(tcp, tcp->u_arg[3], &a) < 0)
+				return 0;
+			printstr(tcp, (int)a.fspec, -1);
+		} else if (strcmp(type, "lo") == 0) {
+			struct lo_args a;
+			if (umove(tcp, tcp->u_arg[3], &a) < 0)
+				return 0;
+			printstr(tcp, (int)a.fsdir, -1);
+		} else if (strcmp(type, "nfs") == 0) {
+			struct nfs_args a;
+			if (umove(tcp, tcp->u_arg[3], &a) < 0)
+				return 0;
+			tprintf("[");
+			printsock(tcp, (int) a.addr);
+			tprintf(", ");
+			printflags(nfsflags, a.flags, "NFSMNT_???");
+			tprintf(", ws:%u,rs:%u,to:%u,re:%u,",
+				a.wsize, a.rsize, a.timeo, a.retrans);
+			if (a.flags & NFSMNT_HOSTNAME && a.hostname)
+				printstr(tcp, (int)a.hostname, -1);
+			else
+				tprintf("%#lx", (unsigned long) a.hostname);
+			tprintf(",reg-min:%u,max:%u,dir-min:%u,max:%u,",
+				a.acregmin, a.acregmax, a.acdirmin, a.acdirmax);
+			if ((a.flags & NFSMNT_SECURE) && a.netname)
+				printstr(tcp, (int) a.netname, -1);
+			else
+				tprintf("%#lx", (unsigned long) a.netname);
+			tprintf("]");
+		} else if (strcmp(type, "rfs") == 0) {
+			struct rfs_args a;
+			struct token t;
+			if (umove(tcp, tcp->u_arg[3], &a) < 0)
+				return 0;
+			tprintf("[");
+			printstr(tcp, (int)a.rmtfs, -1);
+			if (umove(tcp, (int)a.token, &t) < 0)
+				return 0;
+			tprintf(", %u, %s]", t.t_id, t.t_uname);
+		} else if (strcmp(type, "pcfs") == 0) {
+			struct pc_args a;
+			if (umove(tcp, tcp->u_arg[3], &a) < 0)
+				return 0;
+			printstr(tcp, (int)a.fspec, -1);
+		}
+	}
+	return 0;
+}
+
+int
+sys_unmount(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printstr(tcp, tcp->u_arg[0], -1);
+	}
+	return 0;
+}
+
+int
+sys_umount(tcp)
+struct tcb *tcp;
+{
+	return sys_unmount(tcp);
+}
+
+int
+sys_auditsys(tcp)
+struct tcb *tcp;
+{
+	/* XXX - no information available */
+	return printargs(tcp);
+}
+
+static const struct xlat ex_auth_flags[] = {
+	{ AUTH_UNIX,	"AUTH_UNIX"	},
+	{ AUTH_DES,	"AUTH_DES"	},
+	{ 0,		NULL		},
+};
+
+int
+sys_exportfs(tcp)
+struct tcb *tcp;
+{
+	struct export e;
+	int i;
+
+	if (entering(tcp)) {
+		printstr(tcp, tcp->u_arg[0], -1);
+		if (umove(tcp, tcp->u_arg[1], &e) < 0) {
+			tprintf("%#lx", tcp->u_arg[1]);
+			return 0;
+		}
+		tprintf("{fl:%u, anon:%u, ", e.ex_flags, e.ex_anon);
+		printxval(ex_auth_flags, e.ex_auth, "AUTH_???");
+		tprintf(", roots:[");
+		if (e.ex_auth == AUTH_UNIX) {
+			for (i=0; i<e.ex_u.exunix.rootaddrs.naddrs; i++) {
+				printsock(tcp,
+					(int)&e.ex_u.exunix.rootaddrs.addrvec[i]);
+			}
+			tprintf("], writers:[");
+			for (i=0; i<e.ex_writeaddrs.naddrs; i++) {
+				printsock(tcp,
+					(int)&e.ex_writeaddrs.addrvec[i]);
+			}
+			tprintf("]");
+		} else {
+			for (i=0; i<e.ex_u.exdes.nnames; i++) {
+				printsock(tcp,
+					(int)&e.ex_u.exdes.rootnames[i]);
+				tprintf(", ");
+			}
+			tprintf("], window:%u", e.ex_u.exdes.window);
+		}
+		tprintf("}");
+	}
+	return 0;
+}
+
+static const struct xlat sysconflimits[] = {
+#ifdef	_SC_ARG_MAX
+	{ _SC_ARG_MAX,	"_SC_ARG_MAX"	},	/* space for argv & envp */
+#endif
+#ifdef	_SC_CHILD_MAX
+	{ _SC_CHILD_MAX,	"_SC_CHILD_MAX"	},	/* maximum children per process??? */
+#endif
+#ifdef	_SC_CLK_TCK
+	{ _SC_CLK_TCK,	"_SC_CLK_TCK"	},	/* clock ticks/sec */
+#endif
+#ifdef	_SC_NGROUPS_MAX
+	{ _SC_NGROUPS_MAX,	"_SC_NGROUPS_MAX"	},	/* number of groups if multple supp. */
+#endif
+#ifdef	_SC_OPEN_MAX
+	{ _SC_OPEN_MAX,	"_SC_OPEN_MAX"	},	/* max open files per process */
+#endif
+#ifdef	_SC_JOB_CONTROL
+	{ _SC_JOB_CONTROL,	"_SC_JOB_CONTROL"	},	/* do we have job control */
+#endif
+#ifdef	_SC_SAVED_IDS
+	{ _SC_SAVED_IDS,	"_SC_SAVED_IDS"	},	/* do we have saved uid/gids */
+#endif
+#ifdef	_SC_VERSION
+	{ _SC_VERSION,	"_SC_VERSION"	},	/* POSIX version supported */
+#endif
+	{ 0,		NULL		},
+};
+
+int
+sys_sysconf(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printxval(sysconflimits, tcp->u_arg[0], "_SC_???");
+	}
+	return 0;
+}
+
+#endif /* SUNOS4 */
+
+#if defined(SUNOS4) || defined(FREEBSD)
+static const struct xlat pathconflimits[] = {
+#ifdef	_PC_LINK_MAX
+	{ _PC_LINK_MAX,	"_PC_LINK_MAX"	},	/* max links to file/dir */
+#endif
+#ifdef	_PC_MAX_CANON
+	{ _PC_MAX_CANON,	"_PC_MAX_CANON"	},	/* max line length */
+#endif
+#ifdef	_PC_MAX_INPUT
+	{ _PC_MAX_INPUT,	"_PC_MAX_INPUT"	},	/* max "packet" to a tty device */
+#endif
+#ifdef	_PC_NAME_MAX
+	{ _PC_NAME_MAX,	"_PC_NAME_MAX"	},	/* max pathname component length */
+#endif
+#ifdef	_PC_PATH_MAX
+	{ _PC_PATH_MAX,	"_PC_PATH_MAX"	},	/* max pathname length */
+#endif
+#ifdef	_PC_PIPE_BUF
+	{ _PC_PIPE_BUF,	"_PC_PIPE_BUF"	},	/* size of a pipe */
+#endif
+#ifdef	_PC_CHOWN_RESTRICTED
+	{ _PC_CHOWN_RESTRICTED,	"_PC_CHOWN_RESTRICTED"	},	/* can we give away files */
+#endif
+#ifdef	_PC_NO_TRUNC
+	{ _PC_NO_TRUNC,	"_PC_NO_TRUNC"	},	/* trunc or error on >NAME_MAX */
+#endif
+#ifdef	_PC_VDISABLE
+	{ _PC_VDISABLE,	"_PC_VDISABLE"	},	/* best char to shut off tty c_cc */
+#endif
+	{ 0,		NULL		},
+};
+
+
+int
+sys_pathconf(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printstr(tcp, tcp->u_arg[0], -1);
+		tprintf(", ");
+		printxval(pathconflimits, tcp->u_arg[1], "_PC_???");
+	}
+	return 0;
+}
+
+int
+sys_fpathconf(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%lu, ", tcp->u_arg[0]);
+		printxval(pathconflimits, tcp->u_arg[1], "_PC_???");
+	}
+	return 0;
+}
+
+#endif /* SUNOS4 || FREEBSD */
+
+#ifdef SVR4
+
+#ifdef HAVE_SYS_SYSCONFIG_H
+#include <sys/sysconfig.h>
+#endif /* HAVE_SYS_SYSCONFIG_H */
+
+#include <sys/mount.h>
+#include <sys/systeminfo.h>
+#include <sys/utsname.h>
+
+static const struct xlat sysconfig_options[] = {
+#ifdef _CONFIG_NGROUPS
+	{ _CONFIG_NGROUPS,		"_CONFIG_NGROUPS"		},
+#endif
+#ifdef _CONFIG_CHILD_MAX
+	{ _CONFIG_CHILD_MAX,		"_CONFIG_CHILD_MAX"		},
+#endif
+#ifdef _CONFIG_OPEN_FILES
+	{ _CONFIG_OPEN_FILES,		"_CONFIG_OPEN_FILES"		},
+#endif
+#ifdef _CONFIG_POSIX_VER
+	{ _CONFIG_POSIX_VER,		"_CONFIG_POSIX_VER"		},
+#endif
+#ifdef _CONFIG_PAGESIZE
+	{ _CONFIG_PAGESIZE,		"_CONFIG_PAGESIZE"		},
+#endif
+#ifdef _CONFIG_CLK_TCK
+	{ _CONFIG_CLK_TCK,		"_CONFIG_CLK_TCK"		},
+#endif
+#ifdef _CONFIG_XOPEN_VER
+	{ _CONFIG_XOPEN_VER,		"_CONFIG_XOPEN_VER"		},
+#endif
+#ifdef _CONFIG_PROF_TCK
+	{ _CONFIG_PROF_TCK,		"_CONFIG_PROF_TCK"		},
+#endif
+#ifdef _CONFIG_NPROC_CONF
+	{ _CONFIG_NPROC_CONF,		"_CONFIG_NPROC_CONF"		},
+#endif
+#ifdef _CONFIG_NPROC_ONLN
+	{ _CONFIG_NPROC_ONLN,		"_CONFIG_NPROC_ONLN"		},
+#endif
+#ifdef _CONFIG_AIO_LISTIO_MAX
+	{ _CONFIG_AIO_LISTIO_MAX,	"_CONFIG_AIO_LISTIO_MAX"	},
+#endif
+#ifdef _CONFIG_AIO_MAX
+	{ _CONFIG_AIO_MAX,		"_CONFIG_AIO_MAX"		},
+#endif
+#ifdef _CONFIG_AIO_PRIO_DELTA_MAX
+	{ _CONFIG_AIO_PRIO_DELTA_MAX,	"_CONFIG_AIO_PRIO_DELTA_MAX"	},
+#endif
+#ifdef _CONFIG_CONFIG_DELAYTIMER_MAX
+	{ _CONFIG_DELAYTIMER_MAX,	"_CONFIG_DELAYTIMER_MAX"	},
+#endif
+#ifdef _CONFIG_MQ_OPEN_MAX
+	{ _CONFIG_MQ_OPEN_MAX,		"_CONFIG_MQ_OPEN_MAX"		},
+#endif
+#ifdef _CONFIG_MQ_PRIO_MAX
+	{ _CONFIG_MQ_PRIO_MAX,		"_CONFIG_MQ_PRIO_MAX"		},
+#endif
+#ifdef _CONFIG_RTSIG_MAX
+	{ _CONFIG_RTSIG_MAX,		"_CONFIG_RTSIG_MAX"		},
+#endif
+#ifdef _CONFIG_SEM_NSEMS_MAX
+	{ _CONFIG_SEM_NSEMS_MAX,	"_CONFIG_SEM_NSEMS_MAX"		},
+#endif
+#ifdef _CONFIG_SEM_VALUE_MAX
+	{ _CONFIG_SEM_VALUE_MAX,	"_CONFIG_SEM_VALUE_MAX"		},
+#endif
+#ifdef _CONFIG_SIGQUEUE_MAX
+	{ _CONFIG_SIGQUEUE_MAX,		"_CONFIG_SIGQUEUE_MAX"		},
+#endif
+#ifdef _CONFIG_SIGRT_MIN
+	{ _CONFIG_SIGRT_MIN,		"_CONFIG_SIGRT_MIN"		},
+#endif
+#ifdef _CONFIG_SIGRT_MAX
+	{ _CONFIG_SIGRT_MAX,		"_CONFIG_SIGRT_MAX"		},
+#endif
+#ifdef _CONFIG_TIMER_MAX
+	{ _CONFIG_TIMER_MAX,		"_CONFIG_TIMER_MAX"		},
+#endif
+#ifdef _CONFIG_CONFIG_PHYS_PAGES
+	{ _CONFIG_PHYS_PAGES,		"_CONFIG_PHYS_PAGES"		},
+#endif
+#ifdef _CONFIG_AVPHYS_PAGES
+	{ _CONFIG_AVPHYS_PAGES,		"_CONFIG_AVPHYS_PAGES"		},
+#endif
+	{ 0,				NULL				},
+};
+
+int
+sys_sysconfig(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp))
+		printxval(sysconfig_options, tcp->u_arg[0], "_CONFIG_???");
+	return 0;
+}
+
+static const struct xlat sysinfo_options[] = {
+	{ SI_SYSNAME,		"SI_SYSNAME"		},
+	{ SI_HOSTNAME,		"SI_HOSTNAME"		},
+	{ SI_RELEASE,		"SI_RELEASE"		},
+	{ SI_VERSION,		"SI_VERSION"		},
+	{ SI_MACHINE,		"SI_MACHINE"		},
+	{ SI_ARCHITECTURE,	"SI_ARCHITECTURE"	},
+	{ SI_HW_SERIAL,		"SI_HW_SERIAL"		},
+	{ SI_HW_PROVIDER,	"SI_HW_PROVIDER"	},
+	{ SI_SRPC_DOMAIN,	"SI_SRPC_DOMAIN"	},
+#ifdef SI_SET_HOSTNAME
+	{ SI_SET_HOSTNAME,	"SI_SET_HOSTNAME"	},
+#endif
+#ifdef SI_SET_SRPC_DOMAIN
+	{ SI_SET_SRPC_DOMAIN,	"SI_SET_SRPC_DOMAIN"	},
+#endif
+#ifdef SI_SET_KERB_REALM
+	{ SI_SET_KERB_REALM,	"SI_SET_KERB_REALM"	},
+#endif
+#ifdef 	SI_KERB_REALM
+	{ SI_KERB_REALM,	"SI_KERB_REALM"		},
+#endif
+	{ 0,			NULL			},
+};
+
+int
+sys_sysinfo(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printxval(sysinfo_options, tcp->u_arg[0], "SI_???");
+		tprintf(", ");
+	}
+	else {
+		/* Technically some calls write values.  So what. */
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else
+			printpath(tcp, tcp->u_arg[1]);
+		tprintf(", %lu", tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+#ifdef MIPS
+
+#include <sys/syssgi.h>
+
+static const struct xlat syssgi_options[] = {
+	{ SGI_SYSID,		"SGI_SYSID"		},
+#ifdef SGI_RDUBLK
+	{ SGI_RDUBLK,		"SGI_RDUBLK"		},
+#endif
+	{ SGI_TUNE,		"SGI_TUNE"		},
+	{ SGI_IDBG,		"SGI_IDBG"		},
+	{ SGI_INVENT,		"SGI_INVENT"		},
+	{ SGI_RDNAME,		"SGI_RDNAME"		},
+	{ SGI_SETLED,		"SGI_SETLED"		},
+	{ SGI_SETNVRAM,		"SGI_SETNVRAM"		},
+	{ SGI_GETNVRAM,		"SGI_GETNVRAM"		},
+	{ SGI_QUERY_FTIMER,	"SGI_QUERY_FTIMER"	},
+	{ SGI_QUERY_CYCLECNTR,	"SGI_QUERY_CYCLECNTR"	},
+	{ SGI_PROCSZ,		"SGI_PROCSZ"		},
+	{ SGI_SIGACTION,	"SGI_SIGACTION"		},
+	{ SGI_SIGPENDING,	"SGI_SIGPENDING"	},
+	{ SGI_SIGPROCMASK,	"SGI_SIGPROCMASK"	},
+	{ SGI_SIGSUSPEND,	"SGI_SIGSUSPEND"	},
+	{ SGI_SETSID,		"SGI_SETSID"		},
+	{ SGI_SETPGID,		"SGI_SETPGID"		},
+	{ SGI_SYSCONF,		"SGI_SYSCONF"		},
+	{ SGI_WAIT4,		"SGI_WAIT4"		},
+	{ SGI_PATHCONF,		"SGI_PATHCONF"		},
+	{ SGI_READB,		"SGI_READB"		},
+	{ SGI_WRITEB,		"SGI_WRITEB"		},
+	{ SGI_SETGROUPS,	"SGI_SETGROUPS"		},
+	{ SGI_GETGROUPS,	"SGI_GETGROUPS"		},
+	{ SGI_SETTIMEOFDAY,	"SGI_SETTIMEOFDAY"	},
+	{ SGI_SETTIMETRIM,	"SGI_SETTIMETRIM"	},
+	{ SGI_GETTIMETRIM,	"SGI_GETTIMETRIM"	},
+	{ SGI_SPROFIL,		"SGI_SPROFIL"		},
+	{ SGI_RUSAGE,		"SGI_RUSAGE"		},
+	{ SGI_SIGSTACK,		"SGI_SIGSTACK"		},
+	{ SGI_SIGSTATUS,	"SGI_SIGSTATUS"		},
+	{ SGI_NETPROC,		"SGI_NETPROC"		},
+	{ SGI_SIGALTSTACK,	"SGI_SIGALTSTACK"	},
+	{ SGI_BDFLUSHCNT,	"SGI_BDFLUSHCNT"	},
+	{ SGI_SSYNC,		"SGI_SSYNC"		},
+	{ SGI_NFSCNVT,		"SGI_NFSCNVT"		},
+	{ SGI_GETPGID,		"SGI_GETPGID"		},
+	{ SGI_GETSID,		"SGI_GETSID"		},
+	{ SGI_IOPROBE,		"SGI_IOPROBE"		},
+	{ SGI_CONFIG,		"SGI_CONFIG"		},
+	{ SGI_ELFMAP,		"SGI_ELFMAP"		},
+	{ SGI_MCONFIG,		"SGI_MCONFIG"		},
+	{ SGI_GETPLABEL,	"SGI_GETPLABEL"		},
+	{ SGI_SETPLABEL,	"SGI_SETPLABEL"		},
+	{ SGI_GETLABEL,		"SGI_GETLABEL"		},
+	{ SGI_SETLABEL,		"SGI_SETLABEL"		},
+	{ SGI_SATREAD,		"SGI_SATREAD"		},
+	{ SGI_SATWRITE,		"SGI_SATWRITE"		},
+	{ SGI_SATCTL,		"SGI_SATCTL"		},
+	{ SGI_LOADATTR,		"SGI_LOADATTR"		},
+	{ SGI_UNLOADATTR,	"SGI_UNLOADATTR"	},
+#ifdef SGI_RECVLMSG
+	{ SGI_RECVLMSG,		"SGI_RECVLMSG"		},
+#endif
+	{ SGI_PLANGMOUNT,	"SGI_PLANGMOUNT"	},
+	{ SGI_GETPSOACL,	"SGI_GETPSOACL"		},
+	{ SGI_SETPSOACL,	"SGI_SETPSOACL"		},
+#ifdef SGI_EAG_GET_ATTR
+	{ SGI_EAG_GET_ATTR,	"SGI_EAG_GET_ATTR"	},
+#endif
+#ifdef SGI_EAG_SET_ATTR
+	{ SGI_EAG_SET_ATTR,	"SGI_EAG_SET_ATTR"	},
+#endif
+#ifdef SGI_EAG_GET_PROCATTR
+	{ SGI_EAG_GET_PROCATTR,	"SGI_EAG_GET_PROCATTR"	},
+#endif
+#ifdef SGI_EAG_SET_PROCATTR
+	{ SGI_EAG_SET_PROCATTR,	"SGI_EAG_SET_PROCATTR"	},
+#endif
+#ifdef SGI_FREVOKE
+	{ SGI_FREVOKE,		"SGI_FREVOKE"		},
+#endif
+#ifdef SGI_SBE_GET_INFO
+	{ SGI_SBE_GET_INFO,	"SGI_SBE_GET_INFO"	},
+#endif
+#ifdef SGI_SBE_CLR_INFO
+	{ SGI_SBE_CLR_INFO,	"SGI_SBE_CLR_INFO"	},
+#endif
+	{ SGI_RMI_FIXECC,	"SGI_RMI_FIXECC"	},
+	{ SGI_R4K_CERRS,	"SGI_R4K_CERRS"		},
+	{ SGI_GET_EVCONF,	"SGI_GET_EVCONF"	},
+	{ SGI_MPCWAROFF,	"SGI_MPCWAROFF"		},
+	{ SGI_SET_AUTOPWRON,	"SGI_SET_AUTOPWRON"	},
+	{ SGI_SPIPE,		"SGI_SPIPE"		},
+	{ SGI_SYMTAB,		"SGI_SYMTAB"		},
+#ifdef SGI_SET_FPDEBUG
+	{ SGI_SET_FPDEBUG,	"SGI_SET_FPDEBUG"	},
+#endif
+#ifdef SGI_SET_FP_PRECISE
+	{ SGI_SET_FP_PRECISE,	"SGI_SET_FP_PRECISE"	},
+#endif
+	{ SGI_TOSSTSAVE,	"SGI_TOSSTSAVE"		},
+	{ SGI_FDHI,		"SGI_FDHI"		},
+#ifdef SGI_SET_CONFIG_SMM
+	{ SGI_SET_CONFIG_SMM,	"SGI_SET_CONFIG_SMM"	},
+#endif
+#ifdef SGI_SET_FP_PRESERVE
+	{ SGI_SET_FP_PRESERVE,	"SGI_SET_FP_PRESERVE"	},
+#endif
+	{ SGI_MINRSS,		"SGI_MINRSS"		},
+#ifdef SGI_GRIO
+	{ SGI_GRIO,		"SGI_GRIO"		},
+#endif
+#ifdef SGI_XLV_SET_TAB
+	{ SGI_XLV_SET_TAB,	"SGI_XLV_SET_TAB"	},
+#endif
+#ifdef SGI_XLV_GET_TAB
+	{ SGI_XLV_GET_TAB,	"SGI_XLV_GET_TAB"	},
+#endif
+#ifdef SGI_GET_FP_PRECISE
+	{ SGI_GET_FP_PRECISE,	"SGI_GET_FP_PRECISE"	},
+#endif
+#ifdef SGI_GET_CONFIG_SMM
+	{ SGI_GET_CONFIG_SMM,	"SGI_GET_CONFIG_SMM"	},
+#endif
+#ifdef SGI_FP_IMPRECISE_SUPP
+	{ SGI_FP_IMPRECISE_SUPP,"SGI_FP_IMPRECISE_SUPP"	},
+#endif
+#ifdef SGI_CONFIG_NSMM_SUPP
+	{ SGI_CONFIG_NSMM_SUPP,	"SGI_CONFIG_NSMM_SUPP"	},
+#endif
+#ifdef SGI_RT_TSTAMP_CREATE
+	{ SGI_RT_TSTAMP_CREATE,	"SGI_RT_TSTAMP_CREATE"	},
+#endif
+#ifdef SGI_RT_TSTAMP_DELETE
+	{ SGI_RT_TSTAMP_DELETE,	"SGI_RT_TSTAMP_DELETE"	},
+#endif
+#ifdef SGI_RT_TSTAMP_START
+	{ SGI_RT_TSTAMP_START,	"SGI_RT_TSTAMP_START"	},
+#endif
+#ifdef SGI_RT_TSTAMP_STOP
+	{ SGI_RT_TSTAMP_STOP,	"SGI_RT_TSTAMP_STOP"	},
+#endif
+#ifdef SGI_RT_TSTAMP_ADDR
+	{ SGI_RT_TSTAMP_ADDR,	"SGI_RT_TSTAMP_ADDR"	},
+#endif
+#ifdef SGI_RT_TSTAMP_MASK
+	{ SGI_RT_TSTAMP_MASK,	"SGI_RT_TSTAMP_MASK"	},
+#endif
+#ifdef SGI_RT_TSTAMP_EOB_MODE
+	{ SGI_RT_TSTAMP_EOB_MODE,"SGI_RT_TSTAMP_EOB_MODE"},
+#endif
+#ifdef SGI_USE_FP_BCOPY
+	{ SGI_USE_FP_BCOPY,	"SGI_USE_FP_BCOPY"	},
+#endif
+#ifdef SGI_GET_UST
+	{ SGI_GET_UST,		"SGI_GET_UST"		},
+#endif
+#ifdef SGI_SPECULATIVE_EXEC
+	{ SGI_SPECULATIVE_EXEC,	"SGI_SPECULATIVE_EXEC"	},
+#endif
+#ifdef SGI_XLV_NEXT_RQST
+	{ SGI_XLV_NEXT_RQST,	"SGI_XLV_NEXT_RQST"	},
+#endif
+#ifdef SGI_XLV_ATTR_CURSOR
+	{ SGI_XLV_ATTR_CURSOR,	"SGI_XLV_ATTR_CURSOR"	},
+#endif
+#ifdef SGI_XLV_ATTR_GET
+	{ SGI_XLV_ATTR_GET,	"SGI_XLV_ATTR_GET"	},
+#endif
+#ifdef SGI_XLV_ATTR_SET
+	{ SGI_XLV_ATTR_SET,	"SGI_XLV_ATTR_SET"	},
+#endif
+#ifdef SGI_BTOOLSIZE
+	{ SGI_BTOOLSIZE,	"SGI_BTOOLSIZE"		},
+#endif
+#ifdef SGI_BTOOLGET
+	{ SGI_BTOOLGET,		"SGI_BTOOLGET"		},
+#endif
+#ifdef SGI_BTOOLREINIT
+	{ SGI_BTOOLREINIT,	"SGI_BTOOLREINIT"	},
+#endif
+#ifdef SGI_CREATE_UUID
+	{ SGI_CREATE_UUID,	"SGI_CREATE_UUID"	},
+#endif
+#ifdef SGI_NOFPE
+	{ SGI_NOFPE,		"SGI_NOFPE"		},
+#endif
+#ifdef SGI_OLD_SOFTFP
+	{ SGI_OLD_SOFTFP,	"SGI_OLD_SOFTFP"	},
+#endif
+#ifdef SGI_FS_INUMBERS
+	{ SGI_FS_INUMBERS,	"SGI_FS_INUMBERS"	},
+#endif
+#ifdef SGI_FS_BULKSTAT
+	{ SGI_FS_BULKSTAT,	"SGI_FS_BULKSTAT"	},
+#endif
+#ifdef SGI_RT_TSTAMP_WAIT
+	{ SGI_RT_TSTAMP_WAIT,	"SGI_RT_TSTAMP_WAIT"	},
+#endif
+#ifdef SGI_RT_TSTAMP_UPDATE
+	{ SGI_RT_TSTAMP_UPDATE,	"SGI_RT_TSTAMP_UPDATE"	},
+#endif
+#ifdef SGI_PATH_TO_HANDLE
+	{ SGI_PATH_TO_HANDLE,	"SGI_PATH_TO_HANDLE"	},
+#endif
+#ifdef SGI_PATH_TO_FSHANDLE
+	{ SGI_PATH_TO_FSHANDLE,	"SGI_PATH_TO_FSHANDLE"	},
+#endif
+#ifdef SGI_FD_TO_HANDLE
+	{ SGI_FD_TO_HANDLE,	"SGI_FD_TO_HANDLE"	},
+#endif
+#ifdef SGI_OPEN_BY_HANDLE
+	{ SGI_OPEN_BY_HANDLE,	"SGI_OPEN_BY_HANDLE"	},
+#endif
+#ifdef SGI_READLINK_BY_HANDLE
+	{ SGI_READLINK_BY_HANDLE,"SGI_READLINK_BY_HANDLE"},
+#endif
+#ifdef SGI_READ_DANGID
+	{ SGI_READ_DANGID,	"SGI_READ_DANGID"	},
+#endif
+#ifdef SGI_CONST
+	{ SGI_CONST,		"SGI_CONST"		},
+#endif
+#ifdef SGI_XFS_FSOPERATIONS
+	{ SGI_XFS_FSOPERATIONS,	"SGI_XFS_FSOPERATIONS"	},
+#endif
+#ifdef SGI_SETASH
+	{ SGI_SETASH,		"SGI_SETASH"		},
+#endif
+#ifdef SGI_GETASH
+	{ SGI_GETASH,		"SGI_GETASH"		},
+#endif
+#ifdef SGI_SETPRID
+	{ SGI_SETPRID,		"SGI_SETPRID"		},
+#endif
+#ifdef SGI_GETPRID
+	{ SGI_GETPRID,		"SGI_GETPRID"		},
+#endif
+#ifdef SGI_SETSPINFO
+	{ SGI_SETSPINFO,	"SGI_SETSPINFO"		},
+#endif
+#ifdef SGI_GETSPINFO
+	{ SGI_GETSPINFO,	"SGI_GETSPINFO"		},
+#endif
+#ifdef SGI_SHAREII
+	{ SGI_SHAREII,		"SGI_SHAREII"		},
+#endif
+#ifdef SGI_NEWARRAYSESS
+	{ SGI_NEWARRAYSESS,	"SGI_NEWARRAYSESS"	},
+#endif
+#ifdef SGI_GETDFLTPRID
+	{ SGI_GETDFLTPRID,	"SGI_GETDFLTPRID"	},
+#endif
+#ifdef SGI_SET_DISMISSED_EXC_CNT
+	{ SGI_SET_DISMISSED_EXC_CNT,"SGI_SET_DISMISSED_EXC_CNT"	},
+#endif
+#ifdef SGI_GET_DISMISSED_EXC_CNT
+	{ SGI_GET_DISMISSED_EXC_CNT,"SGI_GET_DISMISSED_EXC_CNT"	},
+#endif
+#ifdef SGI_CYCLECNTR_SIZE
+	{ SGI_CYCLECNTR_SIZE,	"SGI_CYCLECNTR_SIZE"	},
+#endif
+#ifdef SGI_QUERY_FASTTIMER
+	{ SGI_QUERY_FASTTIMER,	"SGI_QUERY_FASTTIMER"	},
+#endif
+#ifdef SGI_PIDSINASH
+	{ SGI_PIDSINASH,	"SGI_PIDSINASH"		},
+#endif
+#ifdef SGI_ULI
+	{ SGI_ULI,		"SGI_ULI"		},
+#endif
+#ifdef SGI_LPG_SHMGET
+	{ SGI_LPG_SHMGET,	"SGI_LPG_SHMGET"	},
+#endif
+#ifdef SGI_LPG_MAP
+	{ SGI_LPG_MAP,		"SGI_LPG_MAP"		},
+#endif
+#ifdef SGI_CACHEFS_SYS
+	{ SGI_CACHEFS_SYS,	"SGI_CACHEFS_SYS"	},
+#endif
+#ifdef SGI_NFSNOTIFY
+	{ SGI_NFSNOTIFY,	"SGI_NFSNOTIFY"		},
+#endif
+#ifdef SGI_LOCKDSYS
+	{ SGI_LOCKDSYS,		"SGI_LOCKDSYS"		},
+#endif
+#ifdef SGI_EVENTCTR
+	{ SGI_EVENTCTR,		"SGI_EVENTCTR"		},
+#endif
+#ifdef SGI_GETPRUSAGE
+	{ SGI_GETPRUSAGE,	"SGI_GETPRUSAGE"	},
+#endif
+#ifdef SGI_PROCMASK_LOCATION
+	{ SGI_PROCMASK_LOCATION,"SGI_PROCMASK_LOCATION"	},
+#endif
+#ifdef SGI_UNUSED
+	{ SGI_UNUSED,		"SGI_UNUSED"		},
+#endif
+#ifdef SGI_CKPT_SYS
+	{ SGI_CKPT_SYS,		"SGI_CKPT_SYS"		},
+#endif
+#ifdef SGI_CKPT_SYS
+	{ SGI_CKPT_SYS,		"SGI_CKPT_SYS"		},
+#endif
+#ifdef SGI_GETGRPPID
+	{ SGI_GETGRPPID,	"SGI_GETGRPPID"		},
+#endif
+#ifdef SGI_GETSESPID
+	{ SGI_GETSESPID,	"SGI_GETSESPID"		},
+#endif
+#ifdef SGI_ENUMASHS
+	{ SGI_ENUMASHS,		"SGI_ENUMASHS"		},
+#endif
+#ifdef SGI_SETASMACHID
+	{ SGI_SETASMACHID,	"SGI_SETASMACHID"	},
+#endif
+#ifdef SGI_GETASMACHID
+	{ SGI_GETASMACHID,	"SGI_GETASMACHID"	},
+#endif
+#ifdef SGI_GETARSESS
+	{ SGI_GETARSESS,	"SGI_GETARSESS"		},
+#endif
+#ifdef SGI_JOINARRAYSESS
+	{ SGI_JOINARRAYSESS,	"SGI_JOINARRAYSESS"	},
+#endif
+#ifdef SGI_SPROC_KILL
+	{ SGI_SPROC_KILL,	"SGI_SPROC_KILL"	},
+#endif
+#ifdef SGI_DBA_CONFIG
+	{ SGI_DBA_CONFIG,	"SGI_DBA_CONFIG"	},
+#endif
+#ifdef SGI_RELEASE_NAME
+	{ SGI_RELEASE_NAME,	"SGI_RELEASE_NAME"	},
+#endif
+#ifdef SGI_SYNCH_CACHE_HANDLER
+	{ SGI_SYNCH_CACHE_HANDLER,"SGI_SYNCH_CACHE_HANDLER"},
+#endif
+#ifdef SGI_SWASH_INIT
+	{ SGI_SWASH_INIT,	"SGI_SWASH_INIT"	},
+#endif
+#ifdef SGI_NUMA_MIGR_PAGE
+	{ SGI_NUMA_MIGR_PAGE,	"SGI_NUMA_MIGR_PAGE"	},
+#endif
+#ifdef SGI_NUMA_MIGR_PAGE_ALT
+	{ SGI_NUMA_MIGR_PAGE_ALT,"SGI_NUMA_MIGR_PAGE_ALT"},
+#endif
+#ifdef SGI_KAIO_USERINIT
+	{ SGI_KAIO_USERINIT,	"SGI_KAIO_USERINIT"	},
+#endif
+#ifdef SGI_KAIO_READ
+	{ SGI_KAIO_READ,	"SGI_KAIO_READ"		},
+#endif
+#ifdef SGI_KAIO_WRITE
+	{ SGI_KAIO_WRITE,	"SGI_KAIO_WRITE"	},
+#endif
+#ifdef SGI_KAIO_SUSPEND
+	{ SGI_KAIO_SUSPEND,	"SGI_KAIO_SUSPEND"	},
+#endif
+#ifdef SGI_KAIO_STATS
+	{ SGI_KAIO_STATS,	"SGI_KAIO_STATS"	},
+#endif
+#ifdef SGI_INITIAL_PT_SPROC
+	{ SGI_INITIAL_PT_SPROC,	"SGI_INITIAL_PT_SPROC"	},
+#endif
+	{ 0,			NULL			},
+};
+
+int
+sys_syssgi(tcp)
+struct tcb *tcp;
+{
+	int i;
+
+	if (entering(tcp)) {
+		printxval(syssgi_options, tcp->u_arg[0], "SGI_???");
+		switch (tcp->u_arg[0]) {
+		default:
+			for (i = 1; i < tcp->u_nargs; i++)
+				tprintf(", %#lx", tcp->u_arg[i]);
+			break;
+		}
+	}
+	return 0;
+}
+
+#include <sys/types.h>
+#include <rpc/rpc.h>
+struct cred;
+struct uio;
+#include <sys/fsid.h>
+#include <sys/vnode.h>
+#include <sys/fs/nfs.h>
+#include <sys/fs/nfs_clnt.h>
+
+static const struct xlat mount_flags[] = {
+	{ MS_RDONLY,	"MS_RDONLY"	},
+	{ MS_FSS,	"MS_FSS"	},
+	{ MS_DATA,	"MS_DATA"	},
+	{ MS_NOSUID,	"MS_NOSUID"	},
+	{ MS_REMOUNT,	"MS_REMOUNT"	},
+	{ MS_NOTRUNC,	"MS_NOTRUNC"	},
+	{ MS_GRPID,	"MS_GRPID"	},
+	{ MS_NODEV,	"MS_NODEV"	},
+	{ MS_BEFORE,	"MS_BEFORE"	},
+	{ MS_AFTER,	"MS_AFTER"	},
+	{ 0,		NULL		},
+};
+
+static const struct xlat nfs_flags[] = {
+	{ NFSMNT_SOFT,		"NFSMNT_SOFT"		},
+	{ NFSMNT_WSIZE,		"NFSMNT_WSIZE"		},
+	{ NFSMNT_RSIZE,		"NFSMNT_RSIZE"		},
+	{ NFSMNT_TIMEO,		"NFSMNT_TIMEO"		},
+	{ NFSMNT_RETRANS,	"NFSMNT_RETRANS"	},
+	{ NFSMNT_HOSTNAME,	"NFSMNT_HOSTNAME"	},
+#ifdef NFSMNT_NOINT	/* IRIX 6 */
+	{ NFSMNT_NOINT,		"NFSMNT_NOINT"		},
+#endif
+#ifdef NFSMNT_INT	/* IRIX 5 */
+	{ NFSMNT_INT,		"NFSMNT_INT"		},
+#endif
+	{ NFSMNT_NOAC,		"NFSMNT_NOAC"		},
+	{ NFSMNT_ACREGMIN,	"NFSMNT_ACREGMIN"	},
+	{ NFSMNT_ACREGMAX,	"NFSMNT_ACREGMAX"	},
+	{ NFSMNT_ACDIRMIN,	"NFSMNT_ACDIRMIN"	},
+	{ NFSMNT_ACDIRMAX,	"NFSMNT_ACDIRMAX"	},
+	{ NFSMNT_PRIVATE,	"NFSMNT_PRIVATE"	},
+	{ NFSMNT_SYMTTL,	"NFSMNT_SYMTTL"		},
+	{ NFSMNT_LOOPBACK,	"NFSMNT_LOOPBACK"	},
+	{ NFSMNT_BASETYPE,	"NFSMNT_BASETYPE"	},
+	{ NFSMNT_NAMEMAX,	"NFSMNT_NAMEMAX"	},
+#ifdef NFSMNT_SHORTUID	/* IRIX 6 */
+	{ NFSMNT_SHORTUID,	"NFSMNT_SHORTUID"	},
+#endif
+#ifdef NFSMNT_ASYNCNLM	/* IRIX 6 */
+	{ NFSMNT_ASYNCNLM,	"NFSMNT_ASYNCNLM"	},
+#endif
+	{ 0,			NULL			},
+};
+
+int
+sys_mount(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+		printpath(tcp, tcp->u_arg[1]);
+		tprintf(", ");
+		printflags(mount_flags, tcp->u_arg[2], "MS_???");
+		if (tcp->u_arg[2] & (MS_FSS | MS_DATA)) {
+			tprintf(", ");
+			tprintf("%ld", tcp->u_arg[3]);
+		}
+		if (tcp->u_arg[2] & MS_DATA) {
+			int nfs_type = sysfs(GETFSIND, FSID_NFS);
+
+			tprintf(", ");
+			if (tcp->u_arg[3] == nfs_type) {
+				struct nfs_args args;
+				if (umove(tcp, tcp->u_arg[4], &args) < 0)
+					tprintf("%#lx", tcp->u_arg[4]);
+				else {
+					tprintf("addr=");
+					printsock(tcp, (int) args.addr);
+					tprintf(", flags=");
+					printflags(nfs_flags, args.flags, "NFSMNT_???");
+					tprintf(", hostname=");
+					printstr(tcp, (int) args.hostname, -1);
+					tprintf(", ...}");
+				}
+			}
+			else
+				tprintf("%#lx", tcp->u_arg[4]);
+			tprintf(", %ld", tcp->u_arg[5]);
+		}
+	}
+	return 0;
+}
+
+#else /* !MIPS */
+
+#if UNIXWARE
+
+#include <sys/types.h>
+#include <sys/fstyp.h>
+#include <sys/mount.h>
+#include <sys/xti.h>
+
+#define NFSCLIENT	1
+#include <nfs/mount.h>
+
+#include <sys/fs/vx_ioctl.h>
+
+static const struct xlat mount_flags[] = {
+	{ MS_RDONLY,	"MS_RDONLY"	},
+	{ MS_FSS,	"MS_FSS"	},
+	{ MS_DATA,	"MS_DATA"	},
+	{ MS_HADBAD,	"MS_HADBAD"	},
+	{ MS_NOSUID,	"MS_NOSUID"	},
+	{ MS_REMOUNT,	"MS_REMOUNT"	},
+	{ MS_NOTRUNC,	"MS_NOTRUNC"	},
+	{ MS_SOFTMNT,	"MS_SOFTMNT"	},
+	{ MS_SYSSPACE,	"MS_SYSSPACE"	},
+	{ 0,		NULL		},
+};
+
+#ifdef VX_MS_MASK
+static const struct xlat vxfs_flags[] = {
+	{ VX_MS_NOLOG,		"VX_MS_NOLOG"		},
+	{ VX_MS_BLKCLEAR,	"VX_MS_BLKCLEAR"	},
+	{ VX_MS_SNAPSHOT,	"VX_MS_SNAPSHOT"	},
+	{ VX_MS_NODATAINLOG,	"VX_MS_NODATAINLOG"	},
+	{ VX_MS_DELAYLOG,	"VX_MS_DELAYLOG"	},
+	{ VX_MS_TMPLOG,		"VX_MS_TMPLOG"		},
+	{ VX_MS_FILESET,	"VX_MS_FILESET"		},
+
+	{ VX_MS_CACHE_DIRECT,	"VX_MS_CACHE_DIRECT"	},
+	{ VX_MS_CACHE_DSYNC,	"VX_MS_CACHE_DSYNC"	},
+	{ VX_MS_CACHE_CLOSESYNC,"VX_MS_CACHE_CLOSESYNC"	},
+	{ VX_MS_CACHE_TMPCACHE,	"VX_MS_CACHE_TMPCACHE"	},
+
+	{ VX_MS_OSYNC_DIRECT,	"VX_MS_OSYNC_DIRECT"	},
+	{ VX_MS_OSYNC_DSYNC,	"VX_MS_OSYNC_DSYNC"	},
+	{ VX_MS_OSYNC_CLOSESYNC,"VX_MS_OSYNC_CLOSESYNC"	},
+	{ VX_MS_OSYNC_DELAY,	"VX_MS_OSYNC_DELAY"	},
+	{ 0,			NULL,			},
+};
+#endif
+
+static const struct xlat nfs_flags[] = {
+	{ NFSMNT_SOFT,		"NFSMNT_SOFT"		},
+	{ NFSMNT_WSIZE,		"NFSMNT_WSIZE"		},
+	{ NFSMNT_RSIZE,		"NFSMNT_RSIZE"		},
+	{ NFSMNT_TIMEO,		"NFSMNT_TIMEO"		},
+	{ NFSMNT_RETRANS,	"NFSMNT_RETRANS"	},
+	{ NFSMNT_HOSTNAME,	"NFSMNT_HOSTNAME"	},
+	{ NFSMNT_INT,		"NFSMNT_INT"		},
+	{ NFSMNT_NOAC,		"NFSMNT_NOAC"		},
+	{ NFSMNT_ACREGMIN,	"NFSMNT_ACREGMIN"	},
+	{ NFSMNT_ACREGMAX,	"NFSMNT_ACREGMAX"	},
+	{ NFSMNT_ACDIRMIN,	"NFSMNT_ACDIRMIN"	},
+	{ NFSMNT_ACDIRMAX,	"NFSMNT_ACDIRMAX"	},
+	{ NFSMNT_SECURE,	"NFSMNT_SECURE"		},
+	{ NFSMNT_NOCTO,		"NFSMNT_NOCTO"		},
+	{ NFSMNT_GRPID,		"NFSMNT_GRPID"		},
+	{ NFSMNT_RPCTIMESYNC,	"NFSMNT_RPCTIMESYNC"	},
+	{ NFSMNT_LWPSMAX,	"NFSMNT_LWPSMAX"	},
+	{ 0,			NULL			},
+};
+
+int
+sys_mount(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		char fstyp [FSTYPSZ];
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+		printpath(tcp, tcp->u_arg[1]);
+		tprintf(", ");
+		printflags(mount_flags, tcp->u_arg[2], "MS_???");
+		/* The doc sez that the file system type is given as a
+		   fsindex, and we should use sysfs to work out the name.
+		   This appears to be untrue for UW.  Maybe it's untrue
+		   for all SVR4's? */
+		if (tcp->u_arg[2] & (MS_FSS | MS_DATA)) {
+			if (umovestr(tcp, tcp->u_arg[3], FSTYPSZ, fstyp) < 0) {
+				*fstyp = 0;
+				tprintf(", %ld", tcp->u_arg[3]);
+			}
+			else
+				tprintf(", \"%s\"", fstyp);
+		}
+		if (tcp->u_arg[2] & MS_DATA) {
+			tprintf(", ");
+#ifdef VX_MS_MASK
+			/* On UW7 they don't give us the defines and structs
+			   we need to see what is going on.  Bummer. */
+			if (strcmp (fstyp, "vxfs") == 0) {
+				struct vx_mountargs5 args;
+				if (umove(tcp, tcp->u_arg[4], &args) < 0)
+					tprintf("%#lx", tcp->u_arg[4]);
+				else {
+					tprintf("{ flags=");
+					printflags(vxfs_flags, args.mflags, "VX_MS_???");
+					if (args.mflags & VX_MS_SNAPSHOT) {
+						tprintf (", snapof=");
+						printstr (tcp,
+							  (long) args.primaryspec,
+							  -1);
+						if (args.snapsize > 0)
+							tprintf (", snapsize=%ld", args.snapsize);
+					}
+					tprintf(" }");
+				}
+			}
+			else
+#endif
+			if (strcmp (fstyp, "specfs") == 0) {
+				tprintf ("dev=");
+				printstr (tcp, tcp->u_arg[4], -1);
+			}
+			else
+			if (strcmp (fstyp, "nfs") == 0) {
+				struct nfs_args args;
+				if (umove(tcp, tcp->u_arg[4], &args) < 0)
+					tprintf("%#lx", tcp->u_arg[4]);
+				else {
+					struct netbuf addr;
+					tprintf("{ addr=");
+					if (umove (tcp, (int) args.addr, &addr) < 0) {
+						tprintf ("%#lx", (long) args.addr);
+					}
+					else {
+						printsock(tcp, (int) addr.buf, addr.len);
+					}
+					tprintf(", flags=");
+					printflags(nfs_flags, args.flags, "NFSMNT_???");
+					tprintf(", hostname=");
+					printstr(tcp, (int) args.hostname, -1);
+					tprintf(", ...}");
+				}
+			}
+			else
+				tprintf("%#lx", tcp->u_arg[4]);
+			tprintf(", %ld", tcp->u_arg[5]);
+		}
+	}
+	return 0;
+}
+
+#else /* !UNIXWARE */
+
+int
+sys_mount(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printpath(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+		printpath(tcp, tcp->u_arg[1]);
+		tprintf(", ...");
+	}
+	return 0;
+}
+#endif /* !UNIXWARE */
+
+#endif /* !MIPS */
+
+#endif /* SVR4 */
+
+#ifdef SYS_capget
+
+static const struct xlat capabilities[] = {
+	{ 1<<CAP_CHOWN,		"CAP_CHOWN"	},
+	{ 1<<CAP_DAC_OVERRIDE,	"CAP_DAC_OVERRIDE"},
+	{ 1<<CAP_DAC_READ_SEARCH,"CAP_DAC_READ_SEARCH"},
+	{ 1<<CAP_FOWNER,	"CAP_FOWNER"	},
+	{ 1<<CAP_FSETID,	"CAP_FSETID"	},
+	{ 1<<CAP_KILL,		"CAP_KILL"	},
+	{ 1<<CAP_SETGID,	"CAP_SETGID"	},
+	{ 1<<CAP_SETUID,	"CAP_SETUID"	},
+	{ 1<<CAP_SETPCAP,	"CAP_SETPCAP"	},
+	{ 1<<CAP_LINUX_IMMUTABLE,"CAP_LINUX_IMMUTABLE"},
+	{ 1<<CAP_NET_BIND_SERVICE,"CAP_NET_BIND_SERVICE"},
+	{ 1<<CAP_NET_BROADCAST,	"CAP_NET_BROADCAST"},
+	{ 1<<CAP_NET_ADMIN,	"CAP_NET_ADMIN"	},
+	{ 1<<CAP_NET_RAW,	"CAP_NET_RAW"	},
+	{ 1<<CAP_IPC_LOCK,	"CAP_IPC_LOCK"	},
+	{ 1<<CAP_IPC_OWNER,	"CAP_IPC_OWNER"	},
+	{ 1<<CAP_SYS_MODULE,	"CAP_SYS_MODULE"},
+	{ 1<<CAP_SYS_RAWIO,	"CAP_SYS_RAWIO"	},
+	{ 1<<CAP_SYS_CHROOT,	"CAP_SYS_CHROOT"},
+	{ 1<<CAP_SYS_PTRACE,	"CAP_SYS_PTRACE"},
+	{ 1<<CAP_SYS_PACCT,	"CAP_SYS_PACCT"	},
+	{ 1<<CAP_SYS_ADMIN,	"CAP_SYS_ADMIN"	},
+	{ 1<<CAP_SYS_BOOT,	"CAP_SYS_BOOT"	},
+	{ 1<<CAP_SYS_NICE,	"CAP_SYS_NICE"	},
+	{ 1<<CAP_SYS_RESOURCE,	"CAP_SYS_RESOURCE"},
+	{ 1<<CAP_SYS_TIME,	"CAP_SYS_TIME"	},
+	{ 1<<CAP_SYS_TTY_CONFIG,"CAP_SYS_TTY_CONFIG"},
+#ifdef CAP_MKNOD
+	{ 1<<CAP_MKNOD,		"CAP_MKNOD"	},
+#endif
+#ifdef CAP_LEASE
+	{ 1<<CAP_LEASE,		"CAP_LEASE"	},
+#endif
+#ifdef CAP_AUDIT_WRITE
+	{ 1<<CAP_AUDIT_WRITE,	"CAP_AUDIT_WRITE"},
+#endif
+#ifdef CAP_AUDIT_CONTROL
+	{ 1<<CAP_AUDIT_CONTROL,	"CAP_AUDIT_CONTROL"},
+#endif
+#ifdef CAP_SETFCAP
+	{ 1<<CAP_SETFCAP,	"CAP_SETFCAP"	},
+#endif
+	{ 0,                    NULL            },
+};
+
+
+int
+sys_capget(tcp)
+struct tcb *tcp;
+{
+	static cap_user_header_t       arg0 = NULL;
+	static cap_user_data_t         arg1 = NULL;
+
+	if(!entering(tcp)) {
+		if (!arg0) {
+			if ((arg0 = malloc(sizeof(*arg0))) == NULL) {
+				fprintf(stderr, "out of memory\n");
+				tprintf("%#lx, %#lx", tcp->u_arg[0], tcp->u_arg[1]);
+				return -1;
+			}
+		}
+		if (!arg1) {
+			if ((arg1 = malloc(sizeof(*arg1))) == NULL) {
+				fprintf(stderr, "out of memory\n");
+				tprintf("%#lx, %#lx", tcp->u_arg[0], tcp->u_arg[1]);
+				return -1;
+			}
+		}
+
+		if (!tcp->u_arg[0])
+			tprintf("NULL");
+		else if (!verbose(tcp))
+			tprintf("%#lx", tcp->u_arg[0]);
+		else if (umoven(tcp, tcp->u_arg[0], sizeof(*arg0), (char *) arg0) < 0)
+			tprintf("???");
+		else {
+			tprintf("%#x, %d", arg0->version, arg0->pid);
+		}
+		tprintf(", ");
+		if (!tcp->u_arg[1])
+			tprintf("NULL");
+		else if (!verbose(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else if (umoven(tcp, tcp->u_arg[1], sizeof(*arg1), (char *) arg1) < 0)
+			tprintf("???");
+		else {
+			tprintf("{");
+			printflags(capabilities, arg1->effective, "CAP_???");
+			tprintf(", ");
+			printflags(capabilities, arg1->permitted, "CAP_???");
+			tprintf(", ");
+			printflags(capabilities, arg1->inheritable, "CAP_???");
+			tprintf("}");
+		}
+	}
+	return 0;
+}
+
+int
+sys_capset(tcp)
+struct tcb *tcp;
+{
+	static cap_user_header_t       arg0 = NULL;
+	static cap_user_data_t         arg1 = NULL;
+
+	if(entering(tcp)) {
+		if (!arg0) {
+			if ((arg0 = malloc(sizeof(*arg0))) == NULL) {
+				fprintf(stderr, "out of memory\n");
+				tprintf("%#lx, %#lx", tcp->u_arg[0], tcp->u_arg[1]);
+				return -1;
+			}
+		}
+		if (!arg1) {
+			if ((arg1 = malloc(sizeof(*arg1))) == NULL) {
+				fprintf(stderr, "out of memory\n");
+				tprintf("%#lx, %#lx", tcp->u_arg[0], tcp->u_arg[1]);
+				return -1;
+			}
+		}
+
+		if (!tcp->u_arg[0])
+			tprintf("NULL");
+		else if (!verbose(tcp))
+			tprintf("%#lx", tcp->u_arg[0]);
+		else if (umoven(tcp, tcp->u_arg[0], sizeof(*arg0), (char *) arg0) < 0)
+			tprintf("???");
+		else {
+			tprintf("%#x, %d", arg0->version, arg0->pid);
+		}
+		tprintf(", ");
+		if (!tcp->u_arg[1])
+			tprintf("NULL");
+		else if (!verbose(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else if (umoven(tcp, tcp->u_arg[1], sizeof(*arg1), (char *) arg1) < 0)
+			tprintf("???");
+		else {
+			tprintf("{");
+			printflags(capabilities, arg1->effective, "CAP_???");
+			tprintf(", ");
+			printflags(capabilities, arg1->permitted, "CAP_???");
+			tprintf(", ");
+			printflags(capabilities, arg1->inheritable, "CAP_???");
+			tprintf("}");
+		}
+	}
+	return 0;
+}
+
+#else
+
+int sys_capget(tcp)
+struct tcb *tcp;
+{
+	return printargs(tcp);
+}
+
+int sys_capset(tcp)
+struct tcb *tcp;
+{
+	return printargs(tcp);
+}
+
+#endif
+
+#ifdef LINUX
+/* Linux 2.6.18+ headers removed CTL_PROC enum.  */
+# define CTL_PROC 4
+# define CTL_CPU 10		/* older headers lack */
+static const struct xlat sysctl_root[] = {
+	{ CTL_KERN, "CTL_KERN" },
+	{ CTL_VM, "CTL_VM" },
+	{ CTL_NET, "CTL_NET" },
+	{ CTL_PROC, "CTL_PROC" },
+	{ CTL_FS, "CTL_FS" },
+	{ CTL_DEBUG, "CTL_DEBUG" },
+	{ CTL_DEV, "CTL_DEV" },
+	{ CTL_BUS, "CTL_BUS" },
+	{ CTL_ABI, "CTL_ABI" },
+	{ CTL_CPU, "CTL_CPU" },
+	{ 0, NULL }
+};
+
+static const struct xlat sysctl_kern[] = {
+	{ KERN_OSTYPE, "KERN_OSTYPE" },
+	{ KERN_OSRELEASE, "KERN_OSRELEASE" },
+	{ KERN_OSREV, "KERN_OSREV" },
+	{ KERN_VERSION, "KERN_VERSION" },
+	{ KERN_SECUREMASK, "KERN_SECUREMASK" },
+	{ KERN_PROF, "KERN_PROF" },
+	{ KERN_NODENAME, "KERN_NODENAME" },
+	{ KERN_DOMAINNAME, "KERN_DOMAINNAME" },
+#ifdef KERN_SECURELVL
+	{ KERN_SECURELVL, "KERN_SECURELVL" },
+#endif
+	{ KERN_PANIC, "KERN_PANIC" },
+#ifdef KERN_REALROOTDEV
+	{ KERN_REALROOTDEV, "KERN_REALROOTDEV" },
+#endif
+#ifdef KERN_JAVA_INTERPRETER
+	{ KERN_JAVA_INTERPRETER, "KERN_JAVA_INTERPRETER" },
+#endif
+#ifdef KERN_JAVA_APPLETVIEWER
+	{ KERN_JAVA_APPLETVIEWER, "KERN_JAVA_APPLETVIEWER" },
+#endif
+	{ KERN_SPARC_REBOOT, "KERN_SPARC_REBOOT" },
+	{ KERN_CTLALTDEL, "KERN_CTLALTDEL" },
+	{ KERN_PRINTK, "KERN_PRINTK" },
+	{ KERN_NAMETRANS, "KERN_NAMETRANS" },
+	{ KERN_PPC_HTABRECLAIM, "KERN_PPC_HTABRECLAIM" },
+	{ KERN_PPC_ZEROPAGED, "KERN_PPC_ZEROPAGED" },
+	{ KERN_PPC_POWERSAVE_NAP, "KERN_PPC_POWERSAVE_NAP" },
+	{ KERN_MODPROBE, "KERN_MODPROBE" },
+	{ KERN_SG_BIG_BUFF, "KERN_SG_BIG_BUFF" },
+	{ KERN_ACCT, "KERN_ACCT" },
+	{ KERN_PPC_L2CR, "KERN_PPC_L2CR" },
+	{ KERN_RTSIGNR, "KERN_RTSIGNR" },
+	{ KERN_RTSIGMAX, "KERN_RTSIGMAX" },
+	{ KERN_SHMMAX, "KERN_SHMMAX" },
+	{ KERN_MSGMAX, "KERN_MSGMAX" },
+	{ KERN_MSGMNB, "KERN_MSGMNB" },
+	{ KERN_MSGPOOL, "KERN_MSGPOOL" },
+	{ 0, NULL }
+};
+
+static const struct xlat sysctl_vm[] = {
+#ifdef VM_SWAPCTL
+	{ VM_SWAPCTL, "VM_SWAPCTL" },
+#endif
+#ifdef VM_UNUSED1
+	{ VM_UNUSED1, "VM_UNUSED1" },
+#endif
+#ifdef VM_SWAPOUT
+	{ VM_SWAPOUT, "VM_SWAPOUT" },
+#endif
+#ifdef VM_UNUSED2
+	{ VM_UNUSED2, "VM_UNUSED2" },
+#endif
+#ifdef VM_FREEPG
+	{ VM_FREEPG, "VM_FREEPG" },
+#endif
+#ifdef VM_UNUSED3
+	{ VM_UNUSED3, "VM_UNUSED3" },
+#endif
+#ifdef VM_BDFLUSH
+	{ VM_BDFLUSH, "VM_BDFLUSH" },
+#endif
+#ifdef VM_UNUSED4
+	{ VM_UNUSED4, "VM_UNUSED4" },
+#endif
+	{ VM_OVERCOMMIT_MEMORY, "VM_OVERCOMMIT_MEMORY" },
+#ifdef VM_BUFFERMEM
+	{ VM_BUFFERMEM, "VM_BUFFERMEM" },
+#endif
+#ifdef VM_UNUSED5
+	{ VM_UNUSED5, "VM_UNUSED5" },
+#endif
+#ifdef VM_PAGECACHE
+	{ VM_PAGECACHE, "VM_PAGECACHE" },
+#endif
+#ifdef VM_UNUSED7
+	{ VM_UNUSED7, "VM_UNUSED7" },
+#endif
+#ifdef VM_PAGERDAEMON
+	{ VM_PAGERDAEMON, "VM_PAGERDAEMON" },
+#endif
+#ifdef VM_UNUSED8
+	{ VM_UNUSED8, "VM_UNUSED8" },
+#endif
+#ifdef VM_PGT_CACHE
+	{ VM_PGT_CACHE, "VM_PGT_CACHE" },
+#endif
+#ifdef VM_UNUSED9
+	{ VM_UNUSED9, "VM_UNUSED9" },
+#endif
+	{ VM_PAGE_CLUSTER, "VM_PAGE_CLUSTER" },
+	{ 0, NULL },
+};
+
+static const struct xlat sysctl_net[] = {
+	{ NET_CORE, "NET_CORE" },
+	{ NET_ETHER, "NET_ETHER" },
+	{ NET_802, "NET_802" },
+	{ NET_UNIX, "NET_UNIX" },
+	{ NET_IPV4, "NET_IPV4" },
+	{ NET_IPX, "NET_IPX" },
+	{ NET_ATALK, "NET_ATALK" },
+	{ NET_NETROM, "NET_NETROM" },
+	{ NET_AX25, "NET_AX25" },
+	{ NET_BRIDGE, "NET_BRIDGE" },
+	{ NET_ROSE, "NET_ROSE" },
+	{ NET_IPV6, "NET_IPV6" },
+	{ NET_X25, "NET_X25" },
+	{ NET_TR, "NET_TR" },
+	{ NET_DECNET, "NET_DECNET" },
+	{ 0, NULL }
+};
+
+static const struct xlat sysctl_net_core[] = {
+	{ NET_CORE_WMEM_MAX, "NET_CORE_WMEM_MAX" },
+	{ NET_CORE_RMEM_MAX, "NET_CORE_RMEM_MAX" },
+	{ NET_CORE_WMEM_DEFAULT, "NET_CORE_WMEM_DEFAULT" },
+	{ NET_CORE_RMEM_DEFAULT, "NET_CORE_RMEM_DEFAULT" },
+	{ NET_CORE_MAX_BACKLOG, "NET_CORE_MAX_BACKLOG" },
+	{ NET_CORE_FASTROUTE, "NET_CORE_FASTROUTE" },
+	{ NET_CORE_MSG_COST, "NET_CORE_MSG_COST" },
+	{ NET_CORE_MSG_BURST, "NET_CORE_MSG_BURST" },
+	{ NET_CORE_OPTMEM_MAX, "NET_CORE_OPTMEM_MAX" },
+	{ 0, NULL }
+};
+
+static const struct xlat sysctl_net_unix[] = {
+	{ NET_UNIX_DESTROY_DELAY, "NET_UNIX_DESTROY_DELAY" },
+	{ NET_UNIX_DELETE_DELAY, "NET_UNIX_DELETE_DELAY" },
+	{ 0, NULL }
+};
+
+static const struct xlat sysctl_net_ipv4[] = {
+	{ NET_IPV4_FORWARD, "NET_IPV4_FORWARD" },
+	{ NET_IPV4_DYNADDR, "NET_IPV4_DYNADDR" },
+	{ NET_IPV4_CONF, "NET_IPV4_CONF" },
+	{ NET_IPV4_NEIGH, "NET_IPV4_NEIGH" },
+	{ NET_IPV4_ROUTE, "NET_IPV4_ROUTE" },
+	{ NET_IPV4_FIB_HASH, "NET_IPV4_FIB_HASH" },
+	{ NET_IPV4_TCP_TIMESTAMPS, "NET_IPV4_TCP_TIMESTAMPS" },
+	{ NET_IPV4_TCP_WINDOW_SCALING, "NET_IPV4_TCP_WINDOW_SCALING" },
+	{ NET_IPV4_TCP_SACK, "NET_IPV4_TCP_SACK" },
+	{ NET_IPV4_TCP_RETRANS_COLLAPSE, "NET_IPV4_TCP_RETRANS_COLLAPSE" },
+	{ NET_IPV4_DEFAULT_TTL, "NET_IPV4_DEFAULT_TTL" },
+	{ NET_IPV4_AUTOCONFIG, "NET_IPV4_AUTOCONFIG" },
+	{ NET_IPV4_NO_PMTU_DISC, "NET_IPV4_NO_PMTU_DISC" },
+	{ NET_IPV4_TCP_SYN_RETRIES, "NET_IPV4_TCP_SYN_RETRIES" },
+	{ NET_IPV4_IPFRAG_HIGH_THRESH, "NET_IPV4_IPFRAG_HIGH_THRESH" },
+	{ NET_IPV4_IPFRAG_LOW_THRESH, "NET_IPV4_IPFRAG_LOW_THRESH" },
+	{ NET_IPV4_IPFRAG_TIME, "NET_IPV4_IPFRAG_TIME" },
+	{ NET_IPV4_TCP_MAX_KA_PROBES, "NET_IPV4_TCP_MAX_KA_PROBES" },
+	{ NET_IPV4_TCP_KEEPALIVE_TIME, "NET_IPV4_TCP_KEEPALIVE_TIME" },
+	{ NET_IPV4_TCP_KEEPALIVE_PROBES, "NET_IPV4_TCP_KEEPALIVE_PROBES" },
+	{ NET_IPV4_TCP_RETRIES1, "NET_IPV4_TCP_RETRIES1" },
+	{ NET_IPV4_TCP_RETRIES2, "NET_IPV4_TCP_RETRIES2" },
+	{ NET_IPV4_TCP_FIN_TIMEOUT, "NET_IPV4_TCP_FIN_TIMEOUT" },
+	{ NET_IPV4_IP_MASQ_DEBUG, "NET_IPV4_IP_MASQ_DEBUG" },
+	{ NET_TCP_SYNCOOKIES, "NET_TCP_SYNCOOKIES" },
+	{ NET_TCP_STDURG, "NET_TCP_STDURG" },
+	{ NET_TCP_RFC1337, "NET_TCP_RFC1337" },
+	{ NET_TCP_SYN_TAILDROP, "NET_TCP_SYN_TAILDROP" },
+	{ NET_TCP_MAX_SYN_BACKLOG, "NET_TCP_MAX_SYN_BACKLOG" },
+	{ NET_IPV4_LOCAL_PORT_RANGE, "NET_IPV4_LOCAL_PORT_RANGE" },
+	{ NET_IPV4_ICMP_ECHO_IGNORE_ALL, "NET_IPV4_ICMP_ECHO_IGNORE_ALL" },
+	{ NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS, "NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS" },
+	{ NET_IPV4_ICMP_SOURCEQUENCH_RATE, "NET_IPV4_ICMP_SOURCEQUENCH_RATE" },
+	{ NET_IPV4_ICMP_DESTUNREACH_RATE, "NET_IPV4_ICMP_DESTUNREACH_RATE" },
+	{ NET_IPV4_ICMP_TIMEEXCEED_RATE, "NET_IPV4_ICMP_TIMEEXCEED_RATE" },
+	{ NET_IPV4_ICMP_PARAMPROB_RATE, "NET_IPV4_ICMP_PARAMPROB_RATE" },
+	{ NET_IPV4_ICMP_ECHOREPLY_RATE, "NET_IPV4_ICMP_ECHOREPLY_RATE" },
+	{ NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES, "NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES" },
+	{ NET_IPV4_IGMP_MAX_MEMBERSHIPS, "NET_IPV4_IGMP_MAX_MEMBERSHIPS" },
+	{  0, NULL }
+};
+
+static const struct xlat sysctl_net_ipv4_route[] = {
+	{ NET_IPV4_ROUTE_FLUSH, "NET_IPV4_ROUTE_FLUSH" },
+	{ NET_IPV4_ROUTE_MIN_DELAY, "NET_IPV4_ROUTE_MIN_DELAY" },
+	{ NET_IPV4_ROUTE_MAX_DELAY, "NET_IPV4_ROUTE_MAX_DELAY" },
+	{ NET_IPV4_ROUTE_GC_THRESH, "NET_IPV4_ROUTE_GC_THRESH" },
+	{ NET_IPV4_ROUTE_MAX_SIZE, "NET_IPV4_ROUTE_MAX_SIZE" },
+	{ NET_IPV4_ROUTE_GC_MIN_INTERVAL, "NET_IPV4_ROUTE_GC_MIN_INTERVAL" },
+	{ NET_IPV4_ROUTE_GC_TIMEOUT, "NET_IPV4_ROUTE_GC_TIMEOUT" },
+	{ NET_IPV4_ROUTE_GC_INTERVAL, "NET_IPV4_ROUTE_GC_INTERVAL" },
+	{ NET_IPV4_ROUTE_REDIRECT_LOAD, "NET_IPV4_ROUTE_REDIRECT_LOAD" },
+	{ NET_IPV4_ROUTE_REDIRECT_NUMBER, "NET_IPV4_ROUTE_REDIRECT_NUMBER" },
+	{ NET_IPV4_ROUTE_REDIRECT_SILENCE, "NET_IPV4_ROUTE_REDIRECT_SILENCE" },
+	{ NET_IPV4_ROUTE_ERROR_COST, "NET_IPV4_ROUTE_ERROR_COST" },
+	{ NET_IPV4_ROUTE_ERROR_BURST, "NET_IPV4_ROUTE_ERROR_BURST" },
+	{ NET_IPV4_ROUTE_GC_ELASTICITY, "NET_IPV4_ROUTE_GC_ELASTICITY" },
+	{ 0, NULL }
+};
+
+static const struct xlat sysctl_net_ipv4_conf[] = {
+	{ NET_IPV4_CONF_FORWARDING, "NET_IPV4_CONF_FORWARDING" },
+	{ NET_IPV4_CONF_MC_FORWARDING, "NET_IPV4_CONF_MC_FORWARDING" },
+	{ NET_IPV4_CONF_PROXY_ARP, "NET_IPV4_CONF_PROXY_ARP" },
+	{ NET_IPV4_CONF_ACCEPT_REDIRECTS, "NET_IPV4_CONF_ACCEPT_REDIRECTS" },
+	{ NET_IPV4_CONF_SECURE_REDIRECTS, "NET_IPV4_CONF_SECURE_REDIRECTS" },
+	{ NET_IPV4_CONF_SEND_REDIRECTS, "NET_IPV4_CONF_SEND_REDIRECTS" },
+	{ NET_IPV4_CONF_SHARED_MEDIA, "NET_IPV4_CONF_SHARED_MEDIA" },
+	{ NET_IPV4_CONF_RP_FILTER, "NET_IPV4_CONF_RP_FILTER" },
+	{ NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE, "NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE" },
+	{ NET_IPV4_CONF_BOOTP_RELAY, "NET_IPV4_CONF_BOOTP_RELAY" },
+	{ NET_IPV4_CONF_LOG_MARTIANS, "NET_IPV4_CONF_LOG_MARTIANS" },
+	{ 0, NULL }
+};
+
+static const struct xlat sysctl_net_ipv6[] = {
+	{ NET_IPV6_CONF, "NET_IPV6_CONF" },
+	{ NET_IPV6_NEIGH, "NET_IPV6_NEIGH" },
+	{ NET_IPV6_ROUTE, "NET_IPV6_ROUTE" },
+	{ 0, NULL }
+};
+
+static const struct xlat sysctl_net_ipv6_route[] = {
+	{ NET_IPV6_ROUTE_FLUSH, "NET_IPV6_ROUTE_FLUSH" },
+	{ NET_IPV6_ROUTE_GC_THRESH, "NET_IPV6_ROUTE_GC_THRESH" },
+	{ NET_IPV6_ROUTE_MAX_SIZE, "NET_IPV6_ROUTE_MAX_SIZE" },
+	{ NET_IPV6_ROUTE_GC_MIN_INTERVAL, "NET_IPV6_ROUTE_GC_MIN_INTERVAL" },
+	{ NET_IPV6_ROUTE_GC_TIMEOUT, "NET_IPV6_ROUTE_GC_TIMEOUT" },
+	{ NET_IPV6_ROUTE_GC_INTERVAL, "NET_IPV6_ROUTE_GC_INTERVAL" },
+	{ NET_IPV6_ROUTE_GC_ELASTICITY, "NET_IPV6_ROUTE_GC_ELASTICITY" },
+	{ 0, NULL }
+};
+
+int
+sys_sysctl(tcp)
+struct tcb *tcp;
+{
+	struct __sysctl_args info;
+	int *name;
+	unsigned long size;
+
+	if (umove (tcp, tcp->u_arg[0], &info) < 0)
+		return printargs(tcp);
+
+	size = sizeof (int) * (unsigned long) info.nlen;
+	name = (size / sizeof (int) != info.nlen) ? NULL : malloc (size);
+	if (name == NULL ||
+	    umoven(tcp, (unsigned long) info.name, size, (char *) name) < 0) {
+		free(name);
+		if (entering(tcp))
+			tprintf("{%p, %d, %p, %p, %p, %Zu}",
+				info.name, info.nlen, info.oldval,
+				info.oldlenp, info.newval, info.newlen);
+		return 0;
+	}
+
+	if (entering(tcp)) {
+		int cnt = 0, max_cnt;
+
+		tprintf("{{");
+
+		if (info.nlen == 0)
+			goto out;
+		printxval(sysctl_root, name[0], "CTL_???");
+		++cnt;
+
+		if (info.nlen == 1)
+			goto out;
+		switch (name[0]) {
+		case CTL_KERN:
+			tprintf(", ");
+			printxval(sysctl_kern, name[1], "KERN_???");
+			++cnt;
+			break;
+		case CTL_VM:
+			tprintf(", ");
+			printxval(sysctl_vm, name[1], "VM_???");
+			++cnt;
+			break;
+		case CTL_NET:
+			tprintf(", ");
+			printxval(sysctl_net, name[1], "NET_???");
+			++cnt;
+
+			if (info.nlen == 2)
+				goto out;
+			switch (name[1]) {
+			case NET_CORE:
+				tprintf(", ");
+				printxval(sysctl_net_core, name[2],
+					  "NET_CORE_???");
+				break;
+			case NET_UNIX:
+				tprintf(", ");
+				printxval(sysctl_net_unix, name[2],
+					  "NET_UNIX_???");
+				break;
+			case NET_IPV4:
+				tprintf(", ");
+				printxval(sysctl_net_ipv4, name[2],
+					  "NET_IPV4_???");
+
+				if (info.nlen == 3)
+					goto out;
+				switch (name[2]) {
+				case NET_IPV4_ROUTE:
+					tprintf(", ");
+					printxval(sysctl_net_ipv4_route,
+						  name[3],
+						  "NET_IPV4_ROUTE_???");
+					break;
+				case NET_IPV4_CONF:
+					tprintf(", ");
+					printxval(sysctl_net_ipv4_conf,
+						  name[3],
+						  "NET_IPV4_CONF_???");
+					break;
+				default:
+					goto out;
+				}
+				break;
+			case NET_IPV6:
+				tprintf(", ");
+				printxval(sysctl_net_ipv6, name[2],
+					  "NET_IPV6_???");
+
+				if (info.nlen == 3)
+					goto out;
+				switch (name[2]) {
+				case NET_IPV6_ROUTE:
+					tprintf(", ");
+					printxval(sysctl_net_ipv6_route,
+						  name[3],
+						  "NET_IPV6_ROUTE_???");
+					break;
+				default:
+					goto out;
+				}
+				break;
+			default:
+				goto out;
+			}
+			break;
+		default:
+			goto out;
+		}
+	out:
+		max_cnt = info.nlen;
+		if (abbrev(tcp) && max_cnt > max_strlen)
+			max_cnt = max_strlen;
+		while (cnt < max_cnt)
+			tprintf(", %x", name[cnt++]);
+		if (cnt < info.nlen)
+			tprintf(", ...");
+		tprintf("}, %d, ", info.nlen);
+	} else {
+		size_t oldlen;
+		if (umove(tcp, (size_t)info.oldlenp, &oldlen) >= 0
+		    && info.nlen >= 2
+		    && ((name[0] == CTL_KERN
+			 && (name[1] == KERN_OSRELEASE
+			     || name[1] == KERN_OSTYPE
+#ifdef KERN_JAVA_INTERPRETER
+			     || name[1] == KERN_JAVA_INTERPRETER
+#endif
+#ifdef KERN_JAVA_APPLETVIEWER
+			     || name[1] == KERN_JAVA_APPLETVIEWER
+#endif
+				 )))) {
+			printpath(tcp, (size_t)info.oldval);
+			tprintf(", %Zu, ", oldlen);
+			if (info.newval == 0)
+				tprintf("NULL");
+			else if (syserror(tcp))
+				tprintf("%p", info.newval);
+			else
+				printpath(tcp, (size_t)info.newval);
+			tprintf(", %Zd", info.newlen);
+		} else {
+			tprintf("%p, %Zd, %p, %Zd", info.oldval, oldlen,
+				info.newval, info.newlen);
+		}
+		tprintf("}");
+	}
+
+	free(name);
+	return 0;
+}
+#else
+int sys_sysctl(tcp)
+struct tcb *tcp;
+{
+	return printargs(tcp);
+}
+#endif
+
+#ifdef FREEBSD
+#include <sys/sysctl.h>
+
+int sys___sysctl(tcp)
+struct tcb *tcp;
+{
+	int qoid[CTL_MAXNAME+2];
+	char ctl[1024];
+	size_t len;
+	int i, numeric;
+
+	if (entering(tcp)) {
+		if (tcp->u_arg[1] < 0 || tcp->u_arg[1] > CTL_MAXNAME ||
+		    (umoven(tcp, tcp->u_arg[0], tcp->u_arg[1] * sizeof(int),
+			    (char *) (qoid + 2)) < 0))
+			tprintf("[...], ");
+		else {
+			/* Use sysctl to ask the name of the current MIB
+			   This uses the undocumented "Staff-functions" used
+			   by the sysctl program. See kern_sysctl.c for
+			   details. */
+			qoid[0] = 0; /* sysctl */
+			qoid[1] = 1; /* name */
+			i = sizeof(ctl);
+			tprintf("[");
+			if (sysctl(qoid, tcp->u_arg[1] + 2, ctl, &i, 0, 0) >= 0) {
+				numeric = !abbrev(tcp);
+				tprintf("%s%s", ctl, numeric ? ", " : "");
+			} else
+				numeric = 1;
+			if (numeric) {
+				for (i = 0; i < tcp->u_arg[1]; i++)
+					tprintf("%s%d", i ? "." : "", qoid[i + 2]);
+			}
+			tprintf("], ");
+			tprintf("%lu, ", tcp->u_arg[1]);
+		}
+	} else {
+		if (!syserror(tcp) && (umove(tcp, tcp->u_arg[3], &len) >= 0)) {
+			printstr(tcp, tcp->u_arg[2], len);
+			tprintf(", [%u], ", len);
+		} else
+			tprintf("%#lx, %#lx, ", tcp->u_arg[2], tcp->u_arg[3]);
+		printstr(tcp, tcp->u_arg[4], tcp->u_arg[5]);
+		tprintf(", %lu", tcp->u_arg[5]);
+	}
+	return 0;
+}
+#endif
+
+#if UNIXWARE >= 2
+
+#include <sys/ksym.h>
+#include <sys/elf.h>
+
+static const struct xlat ksym_flags[] = {
+	{ STT_NOTYPE,	"STT_NOTYPE"	},
+	{ STT_FUNC,	"STT_FUNC"	},
+	{ STT_OBJECT,	"STT_OBJECT"	},
+	{ 0,		NULL		},
+};
+
+int
+sys_getksym(tcp)
+struct tcb *tcp;
+{
+	if (entering (tcp)) {
+		printstr(tcp, tcp->u_arg[0], -1);
+		tprintf(", ");
+	}
+	else {
+		if (syserror(tcp)) {
+			tprintf("%#lx, %#lx",
+				tcp->u_arg[1], tcp->u_arg[2]);
+		}
+		else {
+			int val;
+			printnum (tcp, tcp->u_arg[1], "%#lx");
+			tprintf(", ");
+			if (umove(tcp, tcp->u_arg[2], &val) < 0) {
+				tprintf("%#lx", tcp->u_arg[2]);
+			}
+			else {
+				tprintf("[");
+				printxval (ksym_flags, val, "STT_???");
+				tprintf("]");
+			}
+		}
+	}
+
+	return 0;
+}
+
+#ifdef HAVE_SYS_NSCSYS_H
+
+struct cred;
+#include <sys/nscsys.h>
+
+static const struct xlat ssi_cmd [] = {
+	{ SSISYS_BADOP,	"SSISYS_BADOP"	},
+	{ SSISYS_LDLVL_INIT,"SSISYS_LDLVL_INIT"},
+	{ SSISYS_LDLVL_GETVEC,"SSISYS_LDLVL_GETVEC"},
+	{ SSISYS_LDLVL_PUTVEC,"SSISYS_LDLVL_PUTVEC"},
+	{ SSISYS_LDLVL_PUTRCMDS,"SSISYS_LDLVL_PUTRCMDS"},
+	{ SSISYS_LDLVL_SETREXEC,"SSISYS_LDLVL_SETREXEC"},
+	{ SSISYS_CMS_CLUSTERID,"SSISYS_CMS_CLUSTERID"},
+	{ SSISYS_CFS_STATVFS,"SSISYS_CFS_STATVFS"},
+	{ SSISYS_NODE_GETNUM,"SSISYS_NODE_GETNUM"},
+	{ SSISYS_NODE_TABLE,"SSISYS_NODE_TABLE"},
+	{ SSISYS_NODE_DOWN,"SSISYS_NODE_DOWN"},
+	{ SSISYS_RECLAIM_CHILD,"SSISYS_RECLAIM_CHILD"},
+	{ SSISYS_IPC_GETINFO,"SSISYS_IPC_GETINFO"},
+	{ SSISYS_ICS_TEST,"SSISYS_ICS_TEST"},
+	{ SSISYS_NODE_PID,"SSISYS_NODE_PID"},
+	{ SSISYS_ISLOCAL,"SSISYS_ISLOCAL"},
+	{ SSISYS_CFS_ISSTACKED,"SSISYS_CFS_ISSTACKED"},
+	{ SSISYS_DNET_SYNC,"SSISYS_DNET_SYNC"},
+	{ SSISYS_CFS_WAIT_MODE,"SSISYS_CFS_WAIT_MODE"},
+	{ SSISYS_CFS_UMOUNT,"SSISYS_CFS_UMOUNT"},
+	{ SSISYS_LLSTAT,"SSISYS_LLSTAT"	},
+	{ SSISYS_LTS_PERFTEST,"SSISYS_LTS_PERFTEST"},
+	{ SSISYS_LTS_CONFIG,"SSISYS_LTS_CONFIG"},
+	{ SSISYS_SNET_PERFTEST,"SSISYS_SNET_PERFTEST"},
+	{ SSISYS_IGNORE_HALFUP,"SSISYS_IGNORE_HALFUP"},
+	{ SSISYS_NODE_ROOTDEV,"SSISYS_NODE_ROOTDEV"},
+	{ SSISYS_GET_PRIMARY,"SSISYS_GET_PRIMARY"},
+	{ SSISYS_GET_SECONDARY,"SSISYS_GET_SECONDARY"},
+	{ SSISYS_GET_ROOTDISK,"SSISYS_GET_ROOTDISK"},
+	{ SSISYS_CLUSTERNODE_NUM,"SSISYS_CLUSTERNODE_NUM"},
+	{ SSISYS_CLUSTER_MEMBERSHIP,"SSISYS_CLUSTER_MEMBERSHIP"},
+	{ SSISYS_CLUSTER_DETAILEDTRANS,"SSISYS_CLUSTER_DETAILEDTRANS"},
+	{ SSISYS_CLUSTERNODE_INFO,"SSISYS_CLUSTERNODE_INFO"},
+	{ SSISYS_CLUSTERNODE_SETINFO,"SSISYS_CLUSTERNODE_SETINFO"},
+	{ SSISYS_CLUSTERNODE_AVAIL,"SSISYS_CLUSTERNODE_AVAIL"},
+	{ SSISYS_CLUSTER_MAXNODES,"SSISYS_CLUSTER_MAXNODES"},
+	{ SSISYS_SET_MEMPRIO,"SSISYS_SET_MEMPRIO"},
+	{ SSISYS_GET_USERS,"SSISYS_GET_USERS"},
+	{ SSISYS_FORCE_ROOT_NODE,"SSISYS_FORCE_ROOT_NODE"},
+	{ SSISYS_CVIP_SET,"SSISYS_CVIP_SET"},
+	{ SSISYS_CVIP_GET,"SSISYS_CVIP_GET"},
+	{ SSISYS_GET_NODE_COUNTS,"SSISYS_GET_NODE_COUNTS"},
+	{ SSISYS_GET_TRANSPORT,"SSISYS_GET_TRANSPORT"},
+	{ 0,		NULL		},
+};
+
+int sys_ssisys (tcp)
+struct tcb *tcp;
+{
+	struct ssisys_iovec iov;
+	cls_nodeinfo_args_t cni;
+	clusternode_info_t info;
+
+	if (entering (tcp)) {
+		ts_reclaim_child_inargs_t trc;
+		if (tcp->u_arg[1] != sizeof iov ||
+		    umove (tcp, tcp->u_arg[0], &iov) < 0)
+		{
+			tprintf ("%#lx, %ld", tcp->u_arg[0], tcp->u_arg[1]);
+			return 0;
+		}
+		tprintf ("{id=");
+		printxval(ssi_cmd, iov.tio_id.id_cmd, "SSISYS_???");
+		tprintf (":%d", iov.tio_id.id_ver);
+		switch (iov.tio_id.id_cmd) {
+		    case SSISYS_RECLAIM_CHILD:
+			if (iov.tio_udatainlen != sizeof trc ||
+			    umove (tcp, (long) iov.tio_udatain, &trc) < 0)
+				goto bad;
+			tprintf (", in={pid=%ld, start=%ld}",
+				 trc.trc_pid, trc.trc_start);
+			break;
+		    case SSISYS_CLUSTERNODE_INFO:
+			if (iov.tio_udatainlen != sizeof cni ||
+			    umove (tcp, (long) iov.tio_udatain, &cni) < 0)
+				goto bad;
+			tprintf (", in={node=%ld, len=%d}",
+				 cni.nodenum, cni.info_len);
+			break;
+		    default:
+		    bad:
+			if (iov.tio_udatainlen) {
+				tprintf (", in=[/* %d bytes */]",
+					 iov.tio_udatainlen);
+			}
+		}
+	}
+	else {
+		if (tcp->u_arg[1] != sizeof iov ||
+		    umove (tcp, tcp->u_arg[0], &iov) < 0)
+		    goto done;
+		switch (iov.tio_id.id_cmd) {
+		    case SSISYS_CLUSTERNODE_INFO:
+			if (iov.tio_udatainlen != sizeof cni ||
+			    umove (tcp, (long) iov.tio_udatain, &cni) < 0)
+				goto bad_out;
+			if (cni.info_len != sizeof info ||
+			    iov.tio_udataoutlen != sizeof &info ||
+			    umove (tcp, (long) iov.tio_udataout, &info) < 0)
+				goto bad_out;
+			tprintf (", out={node=%ld, cpus=%d, online=%d}",
+				 info.node_num, info.node_totalcpus,
+				 info.node_onlinecpus);
+			break;
+
+		    default:
+		    bad_out:
+			if (iov.tio_udataoutlen) {
+				tprintf (", out=[/* %d bytes */]",
+					 iov.tio_udataoutlen);
+			}
+		}
+	    done:
+		tprintf ("}, %ld", tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+#endif
+
+#endif /* UNIXWARE > 2 */
+
+#ifdef MIPS
+
+#ifndef __NEW_UTS_LEN
+#define __NEW_UTS_LEN 64
+#endif
+
+static const struct xlat sysmips_operations[] = {
+	{ SETNAME,		"SETNAME"	},
+	{ FLUSH_CACHE,		"FLUSH_CACHE"	},
+	{ MIPS_FIXADE,		"MIPS_FIXADE"	},
+	{ MIPS_RDNVRAM,		"MIPS_RDNVRAM"	},
+	{ MIPS_ATOMIC_SET,	"MIPS_ATOMIC_SET"	},
+	{ 0, NULL }
+};
+
+int sys_sysmips(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printxval(sysmips_operations, tcp->u_arg[0], "???");
+		if (!verbose(tcp)) {
+			tprintf("%ld, %ld, %ld", tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]);
+		} else if (tcp->u_arg[0]==SETNAME) {
+			char nodename[__NEW_UTS_LEN + 1];
+			if (umovestr(tcp, tcp->u_arg[1], (__NEW_UTS_LEN + 1), nodename) < 0)
+				tprintf(", %#lx", tcp->u_arg[1]);
+			else
+				tprintf(", \"%s\"", nodename);
+		} else if (tcp->u_arg[0] == MIPS_ATOMIC_SET) {
+			tprintf(", %#lx, 0x%lx", tcp->u_arg[1], tcp->u_arg[2]);
+		} else if (tcp->u_arg[0] == MIPS_FIXADE) {
+			tprintf(", 0x%lx", tcp->u_arg[1]);
+		} else {
+			tprintf("%ld, %ld, %ld", tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]);
+		}
+	}
+
+	return 0;
+}
+
+#endif /* MIPS */
diff --git a/strace-4.5.20/term.c b/strace-4.5.20/term.c
new file mode 100644
index 0000000..23d2317
--- /dev/null
+++ b/strace-4.5.20/term.c
@@ -0,0 +1,450 @@
+/*
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+#ifdef LINUX
+/*
+ * The C library's definition of struct termios might differ from
+ * the kernel one, and we need to use the kernel layout.
+ */
+#include <linux/termios.h>
+#else
+
+#ifdef HAVE_TERMIO_H
+#include <termio.h>
+#endif /* HAVE_TERMIO_H */
+
+#include <termios.h>
+#endif
+
+#ifdef HAVE_SYS_FILIO_H
+#include <sys/filio.h>
+#endif
+
+static const struct xlat tcxonc_options[] = {
+	{ TCOOFF,	"TCOOFF"	},
+	{ TCOON,	"TCOON"		},
+	{ TCIOFF,	"TCIOFF"	},
+	{ TCION,	"TCION"		},
+	{ 0,		NULL		},
+};
+
+#ifdef TCLFLSH
+static const struct xlat tcflsh_options[] = {
+	{ TCIFLUSH,	"TCIFLUSH"	},
+	{ TCOFLUSH,	"TCOFLUSH"	},
+	{ TCIOFLUSH,	"TCIOFLUSH"	},
+	{ 0,		NULL		},
+};
+#endif
+
+static const struct xlat baud_options[] = {
+	{ B0,		"B0"		},
+	{ B50,		"B50"		},
+	{ B75,		"B75"		},
+	{ B110,		"B110"		},
+	{ B134,		"B134"		},
+	{ B150,		"B150"		},
+	{ B200,		"B200"		},
+	{ B300,		"B300"		},
+	{ B600,		"B600"		},
+	{ B1200,	"B1200"		},
+	{ B1800,	"B1800"		},
+	{ B2400,	"B2400"		},
+	{ B4800,	"B4800"		},
+	{ B9600,	"B9600"		},
+#ifdef B19200
+	{ B19200,	"B19200"	},
+#endif
+#ifdef B38400
+	{ B38400,	"B38400"	},
+#endif
+#ifdef B57600
+	{ B57600,	"B57600"	},
+#endif
+#ifdef B115200
+	{ B115200,	"B115200"	},
+#endif
+#ifdef B230400
+	{ B230400,	"B230400"	},
+#endif
+#ifdef B460800
+	{ B460800,	"B460800"	},
+#endif
+#ifdef B500000
+	{ B500000,	"B500000"	},
+#endif
+#ifdef B576000
+	{ B576000,	"B576000"	},
+#endif
+#ifdef B921600
+	{ B921600,	"B921600"	},
+#endif
+#ifdef B1000000
+	{ B1000000,	"B1000000"	},
+#endif
+#ifdef B1152000
+	{ B1152000,	"B1152000"	},
+#endif
+#ifdef B1500000
+	{ B1500000,	"B1500000"	},
+#endif
+#ifdef B2000000
+	{ B2000000,	"B2000000"	},
+#endif
+#ifdef B2500000
+	{ B2500000,	"B2500000"	},
+#endif
+#ifdef B3000000
+	{ B3000000,	"B3000000"	},
+#endif
+#ifdef B3500000
+	{ B3500000,	"B3500000"	},
+#endif
+#ifdef B4000000
+	{ B4000000,	"B4000000"	},
+#endif
+#ifdef EXTA
+	{ EXTA,		"EXTA"		},
+#endif
+#ifdef EXTB
+	{ EXTB,		"EXTB"		},
+#endif
+	{ 0,		NULL		},
+};
+
+static const struct xlat modem_flags[] = {
+#ifdef TIOCM_LE
+	{ TIOCM_LE,	"TIOCM_LE",	},
+#endif
+#ifdef TIOCM_DTR
+	{ TIOCM_DTR,	"TIOCM_DTR",	},
+#endif
+#ifdef TIOCM_RTS
+	{ TIOCM_RTS,	"TIOCM_RTS",	},
+#endif
+#ifdef TIOCM_ST
+	{ TIOCM_ST,	"TIOCM_ST",	},
+#endif
+#ifdef TIOCM_SR
+	{ TIOCM_SR,	"TIOCM_SR",	},
+#endif
+#ifdef TIOCM_CTS
+	{ TIOCM_CTS,	"TIOCM_CTS",	},
+#endif
+#ifdef TIOCM_CAR
+	{ TIOCM_CAR,	"TIOCM_CAR",	},
+#endif
+#ifdef TIOCM_CD
+	{ TIOCM_CD,	"TIOCM_CD",	},
+#endif
+#ifdef TIOCM_RNG
+	{ TIOCM_RNG,	"TIOCM_RNG",	},
+#endif
+#ifdef TIOCM_RI
+	{ TIOCM_RI,	"TIOCM_RI",	},
+#endif
+#ifdef TIOCM_DSR
+	{ TIOCM_DSR,	"TIOCM_DSR",	},
+#endif
+	{ 0,		NULL,		},
+};
+
+
+int term_ioctl(struct tcb *tcp, long code, long arg)
+{
+	struct termios tios;
+#ifndef FREEBSD
+	struct termio tio;
+#else
+	#define TCGETS	TIOCGETA
+	#define TCSETS	TIOCSETA
+	#define TCSETSW	TIOCSETAW
+	#define TCSETSF	TIOCSETAF
+#endif
+	struct winsize ws;
+#ifdef TIOCGSIZE
+	struct  ttysize ts;
+#endif
+	int i;
+
+	if (entering(tcp))
+		return 0;
+
+	switch (code) {
+
+	/* ioctls with termios or termio args */
+
+#ifdef TCGETS
+	case TCGETS:
+		if (syserror(tcp))
+			return 0;
+	case TCSETS:
+	case TCSETSW:
+	case TCSETSF:
+		if (!verbose(tcp) || umove(tcp, arg, &tios) < 0)
+			return 0;
+		if (abbrev(tcp)) {
+			tprintf(", {");
+#ifndef FREEBSD
+			printxval(baud_options, tios.c_cflag & CBAUD, "B???");
+#else
+			printxval(baud_options, tios.c_ispeed, "B???");
+			if (tios.c_ispeed != tios.c_ospeed) {
+				tprintf(" (in)");
+				printxval(baud_options, tios.c_ospeed, "B???");
+				tprintf(" (out)");
+			}
+#endif
+			tprintf(" %sopost %sisig %sicanon %secho ...}",
+				(tios.c_oflag & OPOST) ? "" : "-",
+				(tios.c_lflag & ISIG) ? "" : "-",
+				(tios.c_lflag & ICANON) ? "" : "-",
+				(tios.c_lflag & ECHO) ? "" : "-");
+			return 1;
+		}
+		tprintf(", {c_iflags=%#lx, c_oflags=%#lx, ",
+			(long) tios.c_iflag, (long) tios.c_oflag);
+		tprintf("c_cflags=%#lx, c_lflags=%#lx, ",
+			(long) tios.c_cflag, (long) tios.c_lflag);
+#if !defined(SVR4) && !defined(FREEBSD)
+		tprintf("c_line=%u, ", tios.c_line);
+#endif
+		if (!(tios.c_lflag & ICANON))
+			tprintf("c_cc[VMIN]=%d, c_cc[VTIME]=%d, ",
+				tios.c_cc[VMIN], tios.c_cc[VTIME]);
+		tprintf("c_cc=\"");
+		for (i = 0; i < NCCS; i++)
+			tprintf("\\x%02x", tios.c_cc[i]);
+		tprintf("\"}");
+		return 1;
+#endif /* TCGETS */
+
+#ifdef TCGETA
+	case TCGETA:
+		if (syserror(tcp))
+			return 0;
+	case TCSETA:
+	case TCSETAW:
+	case TCSETAF:
+		if (!verbose(tcp) || umove(tcp, arg, &tio) < 0)
+			return 0;
+		if (abbrev(tcp)) {
+			tprintf(", {");
+			printxval(baud_options, tio.c_cflag & CBAUD, "B???");
+			tprintf(" %sopost %sisig %sicanon %secho ...}",
+				(tio.c_oflag & OPOST) ? "" : "-",
+				(tio.c_lflag & ISIG) ? "" : "-",
+				(tio.c_lflag & ICANON) ? "" : "-",
+				(tio.c_lflag & ECHO) ? "" : "-");
+			return 1;
+		}
+		tprintf(", {c_iflags=%#lx, c_oflags=%#lx, ",
+			(long) tio.c_iflag, (long) tio.c_oflag);
+		tprintf("c_cflags=%#lx, c_lflags=%#lx, ",
+			(long) tio.c_cflag, (long) tio.c_lflag);
+		tprintf("c_line=%u, ", tio.c_line);
+#ifdef _VMIN
+		if (!(tio.c_lflag & ICANON))
+			tprintf("c_cc[_VMIN]=%d, c_cc[_VTIME]=%d, ",
+				tio.c_cc[_VMIN], tio.c_cc[_VTIME]);
+#else /* !_VMIN */
+		if (!(tio.c_lflag & ICANON))
+			tprintf("c_cc[VMIN]=%d, c_cc[VTIME]=%d, ",
+				tio.c_cc[VMIN], tio.c_cc[VTIME]);
+#endif /* !_VMIN */
+		tprintf("c_cc=\"");
+		for (i = 0; i < NCC; i++)
+			tprintf("\\x%02x", tio.c_cc[i]);
+		tprintf("\"}");
+		return 1;
+#endif /* TCGETA */
+
+	/* ioctls with winsize or ttysize args */
+
+#ifdef TIOCGWINSZ
+	case TIOCGWINSZ:
+		if (syserror(tcp))
+			return 0;
+	case TIOCSWINSZ:
+		if (!verbose(tcp) || umove(tcp, arg, &ws) < 0)
+			return 0;
+		tprintf(", {ws_row=%d, ws_col=%d, ws_xpixel=%d, ws_ypixel=%d}",
+			ws.ws_row, ws.ws_col, ws.ws_xpixel, ws.ws_ypixel);
+		return 1;
+#endif /* TIOCGWINSZ */
+
+#ifdef TIOCGSIZE
+	case TIOCGSIZE:
+		if (syserror(tcp))
+			return 0;
+	case TIOCSSIZE:
+		if (!verbose(tcp) || umove(tcp, arg, &ts) < 0)
+			return 0;
+		tprintf(", {ts_lines=%d, ts_cols=%d}",
+			ts.ts_lines, ts.ts_cols);
+		return 1;
+#endif
+
+	/* ioctls with a direct decodable arg */
+#ifdef TCXONC
+	case TCXONC:
+		tprintf(", ");
+		printxval(tcxonc_options, arg, "TC???");
+		return 1;
+#endif
+#ifdef TCLFLSH
+	case TCFLSH:
+		tprintf(", ");
+		printxval(tcflsh_options, arg, "TC???");
+		return 1;
+#endif
+
+	/* ioctls with an indirect parameter displayed as modem flags */
+
+#ifdef TIOCMGET
+	case TIOCMGET:
+	case TIOCMBIS:
+	case TIOCMBIC:
+	case TIOCMSET:
+		if (umove(tcp, arg, &i) < 0)
+			return 0;
+		tprintf(", [");
+		printflags(modem_flags, i, "TIOCM_???");
+		tprintf("]");
+		return 1;
+#endif /* TIOCMGET */
+
+	/* ioctls with an indirect parameter displayed in decimal */
+
+	case TIOCSPGRP:
+	case TIOCGPGRP:
+#ifdef TIOCGETPGRP
+	case TIOCGETPGRP:
+#endif
+#ifdef TIOCSETPGRP
+	case TIOCSETPGRP:
+#endif
+#ifdef FIONREAD
+	case FIONREAD:
+#endif
+	case TIOCOUTQ:
+#ifdef FIONBIO
+	case FIONBIO:
+#endif
+#ifdef FIOASYNC
+	case FIOASYNC:
+#endif
+#ifdef FIOGETOWN
+	case FIOGETOWN:
+#endif
+#ifdef FIOSETOWN
+	case FIOSETOWN:
+#endif
+#ifdef TIOCGETD
+	case TIOCGETD:
+#endif
+#ifdef TIOCSETD
+	case TIOCSETD:
+#endif
+#ifdef TIOCPKT
+	case TIOCPKT:
+#endif
+#ifdef TIOCREMOTE
+	case TIOCREMOTE:
+#endif
+#ifdef TIOCUCNTL
+	case TIOCUCNTL:
+#endif
+#ifdef TIOCTCNTL
+	case TIOCTCNTL:
+#endif
+#ifdef TIOCSIGNAL
+	case TIOCSIGNAL:
+#endif
+#ifdef TIOCSSOFTCAR
+	case TIOCSSOFTCAR:
+#endif
+#ifdef TIOCGSOFTCAR
+	case TIOCGSOFTCAR:
+#endif
+#ifdef TIOCISPACE
+	case TIOCISPACE:
+#endif
+#ifdef TIOCISIZE
+	case TIOCISIZE:
+#endif
+#ifdef TIOCSINTR
+	case TIOCSINTR:
+#endif
+#ifdef TIOCSPTLCK
+	case TIOCSPTLCK:
+#endif
+#ifdef TIOCGPTN
+	case TIOCGPTN:
+#endif
+		tprintf(", ");
+		printnum_int(tcp, arg, "%d");
+		return 1;
+
+	/* ioctls with an indirect parameter displayed as a char */
+
+#ifdef TIOCSTI
+	case TIOCSTI:
+#endif
+		tprintf(", ");
+		printstr(tcp, arg, 1);
+		return 1;
+
+	/* ioctls with no parameters */
+
+#ifdef TIOCSCTTY
+	case TIOCSCTTY:
+#endif
+#ifdef TIOCNOTTY
+	case TIOCNOTTY:
+#endif
+#ifdef FIOCLEX
+	case FIOCLEX:
+#endif
+#ifdef FIONCLEX
+	case FIONCLEX:
+#endif
+#ifdef TIOCCONS
+	case TIOCCONS:
+#endif
+		return 1;
+
+	/* ioctls which are unknown */
+
+	default:
+		return 0;
+	}
+}
diff --git a/strace-4.5.20/time.c b/strace-4.5.20/time.c
new file mode 100644
index 0000000..01241d2
--- /dev/null
+++ b/strace-4.5.20/time.c
@@ -0,0 +1,1022 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+#ifdef LINUX
+#include <linux/version.h>
+#include <sys/timex.h>
+#include <linux/ioctl.h>
+#include <linux/rtc.h>
+
+#ifndef UTIME_NOW
+#define UTIME_NOW ((1l << 30) - 1l)
+#endif
+#ifndef UTIME_OMIT
+#define UTIME_OMIT ((1l << 30) - 2l)
+#endif
+#endif /* LINUX */
+
+struct timeval32
+{
+	u_int32_t tv_sec, tv_usec;
+};
+
+static void
+tprint_timeval32(struct tcb *tcp, const struct timeval32 *tv)
+{
+	tprintf("{%u, %u}", tv->tv_sec, tv->tv_usec);
+}
+
+static void
+tprint_timeval(struct tcb *tcp, const struct timeval *tv)
+{
+	tprintf("{%lu, %lu}",
+		(unsigned long) tv->tv_sec, (unsigned long) tv->tv_usec);
+}
+
+void
+printtv_bitness(struct tcb *tcp, long addr, enum bitness_t bitness, int special)
+{
+	if (addr == 0)
+		tprintf("NULL");
+	else if (!verbose(tcp))
+		tprintf("%#lx", addr);
+	else {
+		int rc;
+
+		if (bitness == BITNESS_32
+#if defined(LINUX) && SUPPORTED_PERSONALITIES > 1
+		    || personality_wordsize[current_personality] == 4
+#endif
+			)
+		{
+			struct timeval32 tv;
+
+			if ((rc = umove(tcp, addr, &tv)) >= 0) {
+				if (special && tv.tv_sec == 0 &&
+				    tv.tv_usec == UTIME_NOW)
+					tprintf("UTIME_NOW");
+				else if (special && tv.tv_sec == 0 &&
+					 tv.tv_usec == UTIME_OMIT)
+					tprintf("UTIME_OMIT");
+				else
+					tprint_timeval32(tcp, &tv);
+			}
+		} else {
+			struct timeval tv;
+
+			if ((rc = umove(tcp, addr, &tv)) >= 0) {
+				if (special && tv.tv_sec == 0 &&
+				    tv.tv_usec == UTIME_NOW)
+					tprintf("UTIME_NOW");
+				else if (special && tv.tv_sec == 0 &&
+					 tv.tv_usec == UTIME_OMIT)
+					tprintf("UTIME_OMIT");
+				else
+					tprint_timeval(tcp, &tv);
+			}
+		}
+		if (rc < 0)
+			tprintf("{...}");
+	}
+}
+
+void
+sprinttv(struct tcb *tcp, long addr, enum bitness_t bitness, char *buf)
+{
+	if (addr == 0)
+		strcpy(buf, "NULL");
+	else if (!verbose(tcp))
+		sprintf(buf, "%#lx", addr);
+	else {
+		int rc;
+
+		if (bitness == BITNESS_32
+#if defined(LINUX) && SUPPORTED_PERSONALITIES > 1
+		    || personality_wordsize[current_personality] == 4
+#endif
+			)
+		{
+			struct timeval32 tv;
+
+			if ((rc = umove(tcp, addr, &tv)) >= 0)
+				sprintf(buf, "{%u, %u}",
+					tv.tv_sec, tv.tv_usec);
+		} else {
+			struct timeval tv;
+
+			if ((rc = umove(tcp, addr, &tv)) >= 0)
+				sprintf(buf, "{%lu, %lu}",
+					(unsigned long) tv.tv_sec,
+					(unsigned long) tv.tv_usec);
+		}
+		if (rc < 0)
+			strcpy(buf, "{...}");
+	}
+}
+
+void print_timespec(struct tcb *tcp, long addr)
+{
+	if (addr == 0)
+		tprintf("NULL");
+	else if (!verbose(tcp))
+		tprintf("%#lx", addr);
+	else {
+		int rc;
+
+#if defined(LINUX) && SUPPORTED_PERSONALITIES > 1
+		if (personality_wordsize[current_personality] == 4) {
+			struct timeval32 tv;
+
+			if ((rc = umove(tcp, addr, &tv)) >= 0)
+				tprintf("{%u, %u}",
+					tv.tv_sec, tv.tv_usec);
+		} else
+#endif
+		{
+			struct timespec ts;
+
+			if ((rc = umove(tcp, addr, &ts)) >= 0)
+				tprintf("{%lu, %lu}",
+					(unsigned long) ts.tv_sec,
+					(unsigned long) ts.tv_nsec);
+		}
+		if (rc < 0)
+			tprintf("{...}");
+	}
+}
+
+void sprint_timespec(char *buf, struct tcb *tcp, long addr)
+{
+	if (addr == 0)
+		strcpy(buf, "NULL");
+	else if (!verbose(tcp))
+		sprintf(buf, "%#lx", addr);
+	else {
+		int rc;
+
+#if defined(LINUX) && SUPPORTED_PERSONALITIES > 1
+		if (personality_wordsize[current_personality] == 4) {
+			struct timeval32 tv;
+
+			if ((rc = umove(tcp, addr, &tv)) >= 0)
+				sprintf(buf, "{%u, %u}",
+					tv.tv_sec, tv.tv_usec);
+		} else
+#endif
+		{
+			struct timespec ts;
+
+			if ((rc = umove(tcp, addr, &ts)) >= 0)
+				sprintf(buf, "{%lu, %lu}",
+					(unsigned long) ts.tv_sec,
+					(unsigned long) ts.tv_nsec);
+		}
+		if (rc < 0)
+			strcpy(buf, "{...}");
+	}
+}
+
+int
+sys_time(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp)) {
+#ifndef SVR4
+		printnum(tcp, tcp->u_arg[0], "%ld");
+#endif /* SVR4 */
+	}
+	return 0;
+}
+
+int
+sys_stime(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp)) {
+		printnum(tcp, tcp->u_arg[0], "%ld");
+	}
+	return 0;
+}
+
+int
+sys_gettimeofday(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp)) {
+		if (syserror(tcp)) {
+			tprintf("%#lx, %#lx",
+				tcp->u_arg[0], tcp->u_arg[1]);
+			return 0;
+		}
+		printtv(tcp, tcp->u_arg[0]);
+#ifndef SVR4
+		tprintf(", ");
+		printtv(tcp, tcp->u_arg[1]);
+#endif /* !SVR4 */
+	}
+	return 0;
+}
+
+
+#ifdef ALPHA
+int
+sys_osf_gettimeofday(tcp)
+struct tcb *tcp;
+{
+	if (exiting(tcp)) {
+		if (syserror(tcp)) {
+			tprintf("%#lx, %#lx", tcp->u_arg[0], tcp->u_arg[1]);
+			return 0;
+		}
+		printtv_bitness(tcp, tcp->u_arg[0], BITNESS_32, 0);
+#ifndef SVR4
+		tprintf(", ");
+		printtv_bitness(tcp, tcp->u_arg[1], BITNESS_32, 0);
+#endif /* !SVR4 */
+	}
+	return 0;
+}
+#endif
+
+int
+sys_settimeofday(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printtv(tcp, tcp->u_arg[0]);
+#ifndef SVR4
+		tprintf(", ");
+		printtv(tcp, tcp->u_arg[1]);
+#endif /* !SVR4 */
+	}
+	return 0;
+}
+
+#ifdef ALPHA
+int
+sys_osf_settimeofday(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printtv_bitness(tcp, tcp->u_arg[0], BITNESS_32, 0);
+#ifndef SVR4
+		tprintf(", ");
+		printtv_bitness(tcp, tcp->u_arg[1], BITNESS_32, 0);
+#endif /* !SVR4 */
+	}
+	return 0;
+}
+#endif
+
+int
+sys_adjtime(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printtv(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+	} else {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else
+			printtv(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+int
+sys_nanosleep(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		print_timespec(tcp, tcp->u_arg[0]);
+		tprintf(", ");
+	} else {
+		if (!tcp->u_arg[1] || is_restart_error(tcp))
+			print_timespec(tcp, tcp->u_arg[1]);
+		else
+			tprintf("%#lx", tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+static const struct xlat which[] = {
+	{ ITIMER_REAL,	"ITIMER_REAL"	},
+	{ ITIMER_VIRTUAL,"ITIMER_VIRTUAL"},
+	{ ITIMER_PROF,	"ITIMER_PROF"	},
+	{ 0,		NULL		},
+};
+
+static void
+printitv_bitness(struct tcb *tcp, long addr, enum bitness_t bitness)
+{
+	if (addr == 0)
+		tprintf("NULL");
+	else if (!verbose(tcp))
+		tprintf("%#lx", addr);
+	else {
+		int rc;
+
+		if (bitness == BITNESS_32
+#if defined(LINUX) && SUPPORTED_PERSONALITIES > 1
+		    || personality_wordsize[current_personality] == 4
+#endif
+			)
+		{
+			struct {
+				struct timeval32 it_interval, it_value;
+			} itv;
+
+			if ((rc = umove(tcp, addr, &itv)) >= 0) {
+				tprintf("{it_interval=");
+				tprint_timeval32(tcp, &itv.it_interval);
+				tprintf(", it_value=");
+				tprint_timeval32(tcp, &itv.it_value);
+				tprintf("}");
+			}
+		} else {
+			struct itimerval itv;
+
+			if ((rc = umove(tcp, addr, &itv)) >= 0)	{
+				tprintf("{it_interval=");
+				tprint_timeval(tcp, &itv.it_interval);
+				tprintf(", it_value=");
+				tprint_timeval(tcp, &itv.it_value);
+				tprintf("}");
+			}
+		}
+		if (rc < 0)
+			tprintf("{...}");
+	}
+}
+
+#define printitv(tcp, addr)	\
+	printitv_bitness((tcp), (addr), BITNESS_CURRENT)
+
+int
+sys_getitimer(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printxval(which, tcp->u_arg[0], "ITIMER_???");
+		tprintf(", ");
+	} else {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else
+			printitv(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+
+#ifdef ALPHA
+int
+sys_osf_getitimer(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printxval(which, tcp->u_arg[0], "ITIMER_???");
+		tprintf(", ");
+	} else {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else
+			printitv_bitness(tcp, tcp->u_arg[1], BITNESS_32);
+	}
+	return 0;
+}
+#endif
+
+int
+sys_setitimer(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printxval(which, tcp->u_arg[0], "ITIMER_???");
+		tprintf(", ");
+		printitv(tcp, tcp->u_arg[1]);
+		tprintf(", ");
+	} else {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[2]);
+		else
+			printitv(tcp, tcp->u_arg[2]);
+	}
+	return 0;
+}
+
+#ifdef ALPHA
+int
+sys_osf_setitimer(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printxval(which, tcp->u_arg[0], "ITIMER_???");
+		tprintf(", ");
+		printitv_bitness(tcp, tcp->u_arg[1], BITNESS_32);
+		tprintf(", ");
+	} else {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[2]);
+		else
+			printitv_bitness(tcp, tcp->u_arg[2], BITNESS_32);
+	}
+	return 0;
+}
+#endif
+
+#ifdef LINUX
+
+static const struct xlat adjtimex_modes[] = {
+  { 0, "0" },
+#ifdef ADJ_OFFSET
+  { ADJ_OFFSET, "ADJ_OFFSET" },
+#endif
+#ifdef ADJ_FREQUENCY
+  { ADJ_FREQUENCY, "ADJ_FREQUENCY" },
+#endif
+#ifdef ADJ_MAXERROR
+  { ADJ_MAXERROR, "ADJ_MAXERROR" },
+#endif
+#ifdef ADJ_ESTERROR
+  { ADJ_ESTERROR, "ADJ_ESTERROR" },
+#endif
+#ifdef ADJ_STATUS
+  { ADJ_STATUS, "ADJ_STATUS" },
+#endif
+#ifdef ADJ_TIMECONST
+  { ADJ_TIMECONST, "ADJ_TIMECONST" },
+#endif
+#ifdef ADJ_TICK
+  { ADJ_TICK, "ADJ_TICK" },
+#endif
+#ifdef ADJ_OFFSET_SINGLESHOT
+  { ADJ_OFFSET_SINGLESHOT, "ADJ_OFFSET_SINGLESHOT" },
+#endif
+  { 0,             NULL }
+};
+
+static const struct xlat adjtimex_status[] = {
+#ifdef STA_PLL
+  { STA_PLL, "STA_PLL" },
+#endif
+#ifdef STA_PPSFREQ
+  { STA_PPSFREQ, "STA_PPSFREQ" },
+#endif
+#ifdef STA_PPSTIME
+  { STA_PPSTIME, "STA_PPSTIME" },
+#endif
+#ifdef STA_FLL
+  { STA_FLL, "STA_FLL" },
+#endif
+#ifdef STA_INS
+  { STA_INS, "STA_INS" },
+#endif
+#ifdef STA_DEL
+  { STA_DEL, "STA_DEL" },
+#endif
+#ifdef STA_UNSYNC
+  { STA_UNSYNC, "STA_UNSYNC" },
+#endif
+#ifdef STA_FREQHOLD
+  { STA_FREQHOLD, "STA_FREQHOLD" },
+#endif
+#ifdef STA_PPSSIGNAL
+  { STA_PPSSIGNAL, "STA_PPSSIGNAL" },
+#endif
+#ifdef STA_PPSJITTER
+  { STA_PPSJITTER, "STA_PPSJITTER" },
+#endif
+#ifdef STA_PPSWANDER
+  { STA_PPSWANDER, "STA_PPSWANDER" },
+#endif
+#ifdef STA_PPSERROR
+  { STA_PPSERROR, "STA_PPSERROR" },
+#endif
+#ifdef STA_CLOCKERR
+  { STA_CLOCKERR, "STA_CLOCKERR" },
+#endif
+  { 0,             NULL }
+};
+
+static const struct xlat adjtimex_state[] = {
+#ifdef TIME_OK
+  { TIME_OK, "TIME_OK" },
+#endif
+#ifdef TIME_INS
+  { TIME_INS, "TIME_INS" },
+#endif
+#ifdef TIME_DEL
+  { TIME_DEL, "TIME_DEL" },
+#endif
+#ifdef TIME_OOP
+  { TIME_OOP, "TIME_OOP" },
+#endif
+#ifdef TIME_WAIT
+  { TIME_WAIT, "TIME_WAIT" },
+#endif
+#ifdef TIME_ERROR
+  { TIME_ERROR, "TIME_ERROR" },
+#endif
+  { 0,             NULL }
+};
+
+#if SUPPORTED_PERSONALITIES > 1
+static int
+tprint_timex32(struct tcb *tcp, long addr)
+{
+	struct {
+		unsigned int modes;
+		int     offset;
+		int     freq;
+		int     maxerror;
+		int     esterror;
+		int     status;
+		int     constant;
+		int     precision;
+		int     tolerance;
+		struct timeval32 time;
+		int     tick;
+		int     ppsfreq;
+		int     jitter;
+		int     shift;
+		int     stabil;
+		int     jitcnt;
+		int     calcnt;
+		int     errcnt;
+		int     stbcnt;
+	} tx;
+
+	if (umove(tcp, addr, &tx) < 0)
+		return -1;
+
+	tprintf("{modes=");
+	printflags(adjtimex_modes, tx.modes, "ADJ_???");
+	tprintf(", offset=%d, freq=%d, maxerror=%d, ",
+		tx.offset, tx.freq, tx.maxerror);
+	tprintf("esterror=%u, status=", tx.esterror);
+	printflags(adjtimex_status, tx.status, "STA_???");
+	tprintf(", constant=%d, precision=%u, ",
+		tx.constant, tx.precision);
+	tprintf("tolerance=%d, time=", tx.tolerance);
+	tprint_timeval32(tcp, &tx.time);
+	tprintf(", tick=%d, ppsfreq=%d, jitter=%d",
+		tx.tick, tx.ppsfreq, tx.jitter);
+	tprintf(", shift=%d, stabil=%d, jitcnt=%d",
+		tx.shift, tx.stabil, tx.jitcnt);
+	tprintf(", calcnt=%d, errcnt=%d, stbcnt=%d",
+		tx.calcnt, tx.errcnt, tx.stbcnt);
+	tprintf("}");
+	return 0;
+}
+#endif /* SUPPORTED_PERSONALITIES > 1 */
+
+static int
+tprint_timex(struct tcb *tcp, long addr)
+{
+	struct timex tx;
+
+#if SUPPORTED_PERSONALITIES > 1
+	if (personality_wordsize[current_personality] == 4)
+		return tprint_timex32(tcp, addr);
+#endif
+	if (umove(tcp, addr, &tx) < 0)
+		return -1;
+
+#if LINUX_VERSION_CODE < 66332
+	tprintf("{mode=%d, offset=%ld, frequency=%ld, ",
+		tx.mode, tx.offset, tx.frequency);
+	tprintf("maxerror=%ld, esterror=%lu, status=%u, ",
+		tx.maxerror, tx.esterror, tx.status);
+	tprintf("time_constant=%ld, precision=%lu, ",
+		tx.time_constant, tx.precision);
+	tprintf("tolerance=%ld, time=", tx.tolerance);
+	tprint_timeval(tcp, &tx.time);
+#else
+	tprintf("{modes=");
+	printflags(adjtimex_modes, tx.modes, "ADJ_???");
+	tprintf(", offset=%ld, freq=%ld, maxerror=%ld, ",
+		tx.offset, tx.freq, tx.maxerror);
+	tprintf("esterror=%lu, status=", tx.esterror);
+	printflags(adjtimex_status, tx.status, "STA_???");
+	tprintf(", constant=%ld, precision=%lu, ",
+		tx.constant, tx.precision);
+	tprintf("tolerance=%ld, time=", tx.tolerance);
+	tprint_timeval(tcp, &tx.time);
+	tprintf(", tick=%ld, ppsfreq=%ld, jitter=%ld",
+		tx.tick, tx.ppsfreq, tx.jitter);
+	tprintf(", shift=%d, stabil=%ld, jitcnt=%ld",
+		tx.shift, tx.stabil, tx.jitcnt);
+	tprintf(", calcnt=%ld, errcnt=%ld, stbcnt=%ld",
+		tx.calcnt, tx.errcnt, tx.stbcnt);
+#endif
+	tprintf("}");
+	return 0;
+}
+
+int
+sys_adjtimex(struct tcb *tcp)
+{
+	if (exiting(tcp)) {
+		if (tcp->u_arg[0] == 0)
+			tprintf("NULL");
+		else if (syserror(tcp) || !verbose(tcp))
+			tprintf("%#lx", tcp->u_arg[0]);
+		else if (tprint_timex(tcp, tcp->u_arg[0]) < 0)
+			tprintf("{...}");
+		if (syserror(tcp))
+			return 0;
+		tcp->auxstr = xlookup(adjtimex_state, tcp->u_rval);
+		if (tcp->auxstr)
+			return RVAL_STR;
+	}
+	return 0;
+}
+
+static const struct xlat clockflags[] = {
+  { TIMER_ABSTIME, "TIMER_ABSTIME" },
+  { 0,             NULL }
+};
+
+static const struct xlat clocknames[] = {
+#ifdef CLOCK_REALTIME
+  { CLOCK_REALTIME, "CLOCK_REALTIME" },
+#endif
+#ifdef CLOCK_MONOTONIC
+  { CLOCK_MONOTONIC, "CLOCK_MONOTONIC" },
+#endif
+  { 0,             NULL }
+};
+
+int
+sys_clock_settime(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printxval(clocknames, tcp->u_arg[0], "CLOCK_???");
+		tprintf(", ");
+		printtv(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+int
+sys_clock_gettime(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printxval(clocknames, tcp->u_arg[0], "CLOCK_???");
+		tprintf(", ");
+	} else {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else
+			printtv(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+int
+sys_clock_nanosleep(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printxval(clocknames, tcp->u_arg[0], "CLOCK_???");
+		tprintf(", ");
+		printflags(clockflags, tcp->u_arg[1], "TIMER_???");
+		tprintf(", ");
+		printtv(tcp, tcp->u_arg[2]);
+		tprintf(", ");
+	} else {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[3]);
+		else
+			printtv(tcp, tcp->u_arg[3]);
+	}
+	return 0;
+}
+
+#ifndef SIGEV_THREAD_ID
+# define SIGEV_THREAD_ID 4
+#endif
+static const struct xlat sigev_value[] = {
+	{ SIGEV_SIGNAL+1, "SIGEV_SIGNAL" },
+	{ SIGEV_NONE+1, "SIGEV_NONE" },
+	{ SIGEV_THREAD+1, "SIGEV_THREAD" },
+	{ SIGEV_THREAD_ID+1, "SIGEV_THREAD_ID" },
+	{ 0, NULL }
+};
+
+#if SUPPORTED_PERSONALITIES > 1
+static void
+printsigevent32(struct tcb *tcp, long arg)
+{
+	struct {
+		int     sigev_value;
+		int     sigev_signo;
+		int     sigev_notify;
+
+		union {
+			int     tid;
+			struct {
+				int     function, attribute;
+			} thread;
+		} un;
+	} sev;
+
+	if (umove(tcp, arg, &sev) < 0)
+		tprintf("{...}");
+	else {
+		tprintf("{%#x, ", sev.sigev_value);
+		if (sev.sigev_notify == SIGEV_SIGNAL)
+			tprintf("%s, ", signame(sev.sigev_signo));
+		else
+			tprintf("%u, ", sev.sigev_signo);
+		printxval(sigev_value, sev.sigev_notify + 1, "SIGEV_???");
+		tprintf(", ");
+		if (sev.sigev_notify == SIGEV_THREAD_ID)
+			tprintf("{%d}", sev.un.tid);
+		else if (sev.sigev_notify == SIGEV_THREAD)
+			tprintf("{%#x, %#x}",
+				sev.un.thread.function,
+				sev.un.thread.attribute);
+		else
+			tprintf("{...}");
+		tprintf("}");
+	}
+}
+#endif
+
+void
+printsigevent(struct tcb *tcp, long arg)
+{
+	struct sigevent sev;
+
+#if SUPPORTED_PERSONALITIES > 1
+	if (personality_wordsize[current_personality] == 4)
+	{
+		printsigevent32(tcp, arg);
+		return;
+	}
+#endif
+	if (umove (tcp, arg, &sev) < 0)
+		tprintf("{...}");
+	else {
+		tprintf("{%p, ", sev.sigev_value.sival_ptr);
+		if (sev.sigev_notify == SIGEV_SIGNAL)
+			tprintf("%s, ", signame(sev.sigev_signo));
+		else
+			tprintf("%u, ", sev.sigev_signo);
+		printxval(sigev_value, sev.sigev_notify+1, "SIGEV_???");
+		tprintf(", ");
+		if (sev.sigev_notify == SIGEV_THREAD_ID)
+			/* _pad[0] is the _tid field which might not be
+			   present in the userlevel definition of the
+			   struct.  */
+			tprintf("{%d}", sev._sigev_un._pad[0]);
+		else if (sev.sigev_notify == SIGEV_THREAD)
+			tprintf("{%p, %p}", sev.sigev_notify_function,
+				sev.sigev_notify_attributes);
+		else
+			tprintf("{...}");
+		tprintf("}");
+	}
+}
+
+int
+sys_timer_create(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		printxval(clocknames, tcp->u_arg[0], "CLOCK_???");
+		tprintf(", ");
+		printsigevent(tcp, tcp->u_arg[1]);
+		tprintf(", ");
+	} else {
+		void *p;
+
+		if (syserror(tcp) || umove(tcp, tcp->u_arg[2], &p) < 0)
+			tprintf("%#lx", tcp->u_arg[2]);
+		else
+			tprintf("{%p}", p);
+	}
+	return 0;
+}
+
+int
+sys_timer_settime(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%#lx, ", tcp->u_arg[0]);
+		printflags(clockflags, tcp->u_arg[1], "TIMER_???");
+		tprintf(", ");
+		printitv(tcp, tcp->u_arg[2]);
+		tprintf(", ");
+	} else {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[3]);
+		else
+			printitv(tcp, tcp->u_arg[3]);
+	}
+	return 0;
+}
+
+int
+sys_timer_gettime(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%#lx, ", tcp->u_arg[0]);
+	} else {
+		if (syserror(tcp))
+			tprintf("%#lx", tcp->u_arg[1]);
+		else
+			printitv(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+static void
+print_rtc(tcp, rt)
+struct tcb *tcp;
+const struct rtc_time *rt;
+{
+	tprintf("{tm_sec=%d, tm_min=%d, tm_hour=%d, "
+		"tm_mday=%d, tm_mon=%d, tm_year=%d, ",
+		rt->tm_sec, rt->tm_min, rt->tm_hour,
+		rt->tm_mday, rt->tm_mon, rt->tm_year);
+	if (!abbrev(tcp))
+		tprintf("tm_wday=%d, tm_yday=%d, tm_isdst=%d}",
+			rt->tm_wday, rt->tm_yday, rt->tm_isdst);
+	else
+		tprintf("...}");
+}
+
+int
+rtc_ioctl(tcp, code, arg)
+struct tcb *tcp;
+long code;
+long arg;
+{
+	switch (code) {
+	case RTC_ALM_SET:
+	case RTC_SET_TIME:
+		if (entering(tcp)) {
+			struct rtc_time rt;
+			if (umove(tcp, arg, &rt) < 0)
+				tprintf(", %#lx", arg);
+			else {
+				tprintf(", ");
+				print_rtc(tcp, &rt);
+			}
+		}
+		break;
+	case RTC_ALM_READ:
+	case RTC_RD_TIME:
+		if (exiting(tcp)) {
+			struct rtc_time rt;
+			if (syserror(tcp) || umove(tcp, arg, &rt) < 0)
+				tprintf(", %#lx", arg);
+			else {
+				tprintf(", ");
+				print_rtc(tcp, &rt);
+			}
+		}
+		break;
+	case RTC_IRQP_SET:
+	case RTC_EPOCH_SET:
+		if (entering(tcp))
+			tprintf(", %lu", arg);
+		break;
+	case RTC_IRQP_READ:
+	case RTC_EPOCH_READ:
+		if (exiting(tcp))
+			tprintf(", %lu", arg);
+		break;
+	case RTC_WKALM_SET:
+		if (entering(tcp)) {
+			struct rtc_wkalrm wk;
+			if (umove(tcp, arg, &wk) < 0)
+				tprintf(", %#lx", arg);
+			else {
+				tprintf(", {enabled=%d, pending=%d, ",
+					wk.enabled, wk.pending);
+				print_rtc(tcp, &wk.time);
+				tprintf("}");
+			}
+		}
+		break;
+	case RTC_WKALM_RD:
+		if (exiting(tcp)) {
+			struct rtc_wkalrm wk;
+			if (syserror(tcp) || umove(tcp, arg, &wk) < 0)
+				tprintf(", %#lx", arg);
+			else {
+				tprintf(", {enabled=%d, pending=%d, ",
+					wk.enabled, wk.pending);
+				print_rtc(tcp, &wk.time);
+				tprintf("}");
+			}
+		}
+		break;
+	default:
+		if (entering(tcp))
+			tprintf(", %#lx", arg);
+		break;
+	}
+	return 1;
+}
+
+#ifndef TFD_TIMER_ABSTIME
+#define TFD_TIMER_ABSTIME (1 << 0)
+#endif
+
+static const struct xlat timerfdflags[] = {
+	{ TFD_TIMER_ABSTIME,	"TFD_TIMER_ABSTIME"	},
+	{ 0,			NULL			}
+};
+
+int
+sys_timerfd(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		/* It does not matter that the kernel uses itimerspec.  */
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printxval(clocknames, tcp->u_arg[1], "CLOCK_???");
+		tprintf(", ");
+		printflags(timerfdflags, tcp->u_arg[2], "TFD_???");
+		tprintf(", ");
+		printitv(tcp, tcp->u_arg[3]);
+	}
+	return 0;
+}
+
+int
+sys_timerfd_create(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printxval(clocknames, tcp->u_arg[0], "CLOCK_???");
+		tprintf(", ");
+		printflags(timerfdflags, tcp->u_arg[1], "TFD_???");
+	}
+	return 0;
+}
+
+int
+sys_timerfd_settime(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		printflags(timerfdflags, tcp->u_arg[1], "TFD_???");
+		tprintf(", ");
+		printitv(tcp, tcp->u_arg[2]);
+		tprintf(", ");
+		printitv(tcp, tcp->u_arg[3]);
+	}
+	return 0;
+}
+
+int
+sys_timerfd_gettime(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		tprintf("%ld, ", tcp->u_arg[0]);
+		tprintf(", ");
+		printitv(tcp, tcp->u_arg[1]);
+	}
+	return 0;
+}
+
+#endif /* LINUX */
diff --git a/strace-4.5.20/util.c b/strace-4.5.20/util.c
new file mode 100644
index 0000000..bd12c0f
--- /dev/null
+++ b/strace-4.5.20/util.c
@@ -0,0 +1,1773 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
+ *                     Linux for s390 port by D.J. Barrow
+ *                    <barrow_dj@mail.yahoo.com,djbarrow@de.ibm.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *	$Id$
+ */
+
+#include "defs.h"
+
+#include <signal.h>
+#include <sys/syscall.h>
+#include <sys/user.h>
+#include <sys/param.h>
+#include <fcntl.h>
+#if HAVE_SYS_UIO_H
+#include <sys/uio.h>
+#endif
+#ifdef SUNOS4
+#include <machine/reg.h>
+#include <a.out.h>
+#include <link.h>
+#endif /* SUNOS4 */
+
+#if defined(linux) && (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 1))
+#include <linux/ptrace.h>
+#endif
+
+#if defined(LINUX) && defined(IA64)
+# include <asm/ptrace_offsets.h>
+# include <asm/rse.h>
+#endif
+
+#ifdef HAVE_SYS_REG_H
+#include <sys/reg.h>
+# define PTRACE_PEEKUSR PTRACE_PEEKUSER
+#elif defined(HAVE_LINUX_PTRACE_H)
+#undef PTRACE_SYSCALL
+# ifdef HAVE_STRUCT_IA64_FPREG
+#  define ia64_fpreg XXX_ia64_fpreg
+# endif
+# ifdef HAVE_STRUCT_PT_ALL_USER_REGS
+#  define pt_all_user_regs XXX_pt_all_user_regs
+# endif
+#include <linux/ptrace.h>
+# undef ia64_fpreg
+# undef pt_all_user_regs
+#endif
+
+#ifdef SUNOS4_KERNEL_ARCH_KLUDGE
+#include <sys/utsname.h>
+#endif /* SUNOS4_KERNEL_ARCH_KLUDGE */
+
+#if defined(LINUXSPARC) && defined (SPARC64)
+# undef PTRACE_GETREGS
+# define PTRACE_GETREGS PTRACE_GETREGS64
+# undef PTRACE_SETREGS
+# define PTRACE_SETREGS PTRACE_SETREGS64
+#endif
+
+/* macros */
+#ifndef MAX
+#define MAX(a,b)		(((a) > (b)) ? (a) : (b))
+#endif
+#ifndef MIN
+#define MIN(a,b)		(((a) < (b)) ? (a) : (b))
+#endif
+
+int
+tv_nz(a)
+struct timeval *a;
+{
+	return a->tv_sec || a->tv_usec;
+}
+
+int
+tv_cmp(a, b)
+struct timeval *a, *b;
+{
+	if (a->tv_sec < b->tv_sec
+	    || (a->tv_sec == b->tv_sec && a->tv_usec < b->tv_usec))
+		return -1;
+	if (a->tv_sec > b->tv_sec
+	    || (a->tv_sec == b->tv_sec && a->tv_usec > b->tv_usec))
+		return 1;
+	return 0;
+}
+
+double
+tv_float(tv)
+struct timeval *tv;
+{
+	return tv->tv_sec + tv->tv_usec/1000000.0;
+}
+
+void
+tv_add(tv, a, b)
+struct timeval *tv, *a, *b;
+{
+	tv->tv_sec = a->tv_sec + b->tv_sec;
+	tv->tv_usec = a->tv_usec + b->tv_usec;
+	if (tv->tv_usec >= 1000000) {
+		tv->tv_sec++;
+		tv->tv_usec -= 1000000;
+	}
+}
+
+void
+tv_sub(tv, a, b)
+struct timeval *tv, *a, *b;
+{
+	tv->tv_sec = a->tv_sec - b->tv_sec;
+	tv->tv_usec = a->tv_usec - b->tv_usec;
+	if (((long) tv->tv_usec) < 0) {
+		tv->tv_sec--;
+		tv->tv_usec += 1000000;
+	}
+}
+
+void
+tv_div(tv, a, n)
+struct timeval *tv, *a;
+int n;
+{
+	tv->tv_usec = (a->tv_sec % n * 1000000 + a->tv_usec + n / 2) / n;
+	tv->tv_sec = a->tv_sec / n + tv->tv_usec / 1000000;
+	tv->tv_usec %= 1000000;
+}
+
+void
+tv_mul(tv, a, n)
+struct timeval *tv, *a;
+int n;
+{
+	tv->tv_usec = a->tv_usec * n;
+	tv->tv_sec = a->tv_sec * n + tv->tv_usec / 1000000;
+	tv->tv_usec %= 1000000;
+}
+
+const char *
+xlookup(const struct xlat *xlat, int val)
+{
+	for (; xlat->str != NULL; xlat++)
+		if (xlat->val == val)
+			return xlat->str;
+	return NULL;
+}
+
+/*
+ * Generic ptrace wrapper which tracks ESRCH errors
+ * by setting tcp->ptrace_errno to ESRCH.
+ *
+ * We assume that ESRCH indicates likely process death (SIGKILL?),
+ * modulo bugs where process somehow ended up not stopped.
+ * Unfortunately kernel uses ESRCH for that case too. Oh well.
+ *
+ * Currently used by upeek() only.
+ * TODO: use this in all other ptrace() calls while decoding.
+ */
+long
+do_ptrace(int request, struct tcb *tcp, void *addr, void *data)
+{
+	long l;
+
+	errno = 0;
+	l = ptrace(request, tcp->pid, addr, (long) data);
+	/* Non-ESRCH errors might be our invalid reg/mem accesses,
+	 * we do not record them. */
+	if (errno == ESRCH)
+		tcp->ptrace_errno = ESRCH;
+	return l;
+}
+
+/*
+ * Used when we want to unblock stopped traced process.
+ * Should be only used with PTRACE_CONT, PTRACE_DETACH and PTRACE_SYSCALL.
+ * Returns 0 on success or if error was ESRCH
+ * (presumably process was killed while we talk to it).
+ * Otherwise prints error message and returns -1.
+ */
+int
+ptrace_restart(int op, struct tcb *tcp, int sig)
+{
+	int err;
+	const char *msg;
+
+	errno = 0;
+	ptrace(op, tcp->pid, (void *) 1, (long) sig);
+	err = errno;
+	if (!err || err == ESRCH)
+		return 0;
+
+	tcp->ptrace_errno = err;
+	msg = "SYSCALL";
+	if (op == PTRACE_CONT)
+		msg = "CONT";
+	if (op == PTRACE_DETACH)
+		msg = "DETACH";
+	fprintf(stderr, "strace: ptrace(PTRACE_%s,1,%d): %s\n",
+			msg, sig, strerror(err));
+	return -1;
+}
+
+/*
+ * Print entry in struct xlat table, if there.
+ */
+void
+printxval(const struct xlat *xlat, int val, const char *dflt)
+{
+	const char *str = xlookup(xlat, val);
+
+	if (str)
+		tprintf("%s", str);
+	else
+		tprintf("%#x /* %s */", val, dflt);
+}
+
+#if HAVE_LONG_LONG
+/*
+ * Print 64bit argument at position llarg and return the index of the next
+ * argument.
+ */
+int
+printllval(struct tcb *tcp, const char *format, int llarg)
+{
+# if defined(FREEBSD) \
+     || (defined(LINUX) && defined(POWERPC) && !defined(__powerpc64__)) \
+     || defined (LINUX_MIPSO32)
+	/* Align 64bit argument to 64bit boundary.  */
+	if (llarg % 2) llarg++;
+# endif
+# if defined LINUX && defined X86_64
+	if (current_personality == 0) {
+		tprintf(format, tcp->u_arg[llarg]);
+		llarg++;
+	} else {
+		tprintf(format, LONG_LONG(tcp->u_arg[llarg], tcp->u_arg[llarg + 1]));
+		llarg += 2;
+	}
+# elif defined IA64 || defined ALPHA || (defined POWERPC && defined __powerpc64__)
+	tprintf(format, tcp->u_arg[llarg]);
+	llarg++;
+# elif defined LINUX_MIPSN32
+	tprintf(format, tcp->ext_arg[llarg]);
+	llarg++;
+# else
+	tprintf(format, LONG_LONG(tcp->u_arg[llarg], tcp->u_arg[llarg + 1]));
+	llarg += 2;
+# endif
+	return llarg;
+}
+#endif
+
+/*
+ * Interpret `xlat' as an array of flags
+ * print the entries whose bits are on in `flags'
+ * return # of flags printed.
+ */
+int
+addflags(xlat, flags)
+const struct xlat *xlat;
+int flags;
+{
+	int n;
+
+	for (n = 0; xlat->str; xlat++) {
+		if (xlat->val && (flags & xlat->val) == xlat->val) {
+			tprintf("|%s", xlat->str);
+			flags &= ~xlat->val;
+			n++;
+		}
+	}
+	if (flags) {
+		tprintf("|%#x", flags);
+		n++;
+	}
+	return n;
+}
+
+/*
+ * Interpret `xlat' as an array of flags/
+ * Print to static string the entries whose bits are on in `flags'
+ * Return static string.
+ */
+const char *
+sprintflags(const char *prefix, const struct xlat *xlat, int flags)
+{
+	static char outstr[1024];
+	int found = 0;
+
+	strcpy(outstr, prefix);
+
+	for (; xlat->str; xlat++) {
+		if ((flags & xlat->val) == xlat->val) {
+			if (found)
+				strcat(outstr, "|");
+			strcat(outstr, xlat->str);
+			flags &= ~xlat->val;
+			found = 1;
+		}
+	}
+	if (flags) {
+		if (found)
+			strcat(outstr, "|");
+		sprintf(outstr + strlen(outstr), "%#x", flags);
+	}
+
+	return outstr;
+}
+
+int
+printflags(xlat, flags, dflt)
+const struct xlat *xlat;
+int flags;
+const char *dflt;
+{
+	int n;
+	char *sep;
+
+	if (flags == 0 && xlat->val == 0) {
+		tprintf("%s", xlat->str);
+		return 1;
+	}
+
+	sep = "";
+	for (n = 0; xlat->str; xlat++) {
+		if (xlat->val && (flags & xlat->val) == xlat->val) {
+			tprintf("%s%s", sep, xlat->str);
+			flags &= ~xlat->val;
+			sep = "|";
+			n++;
+		}
+	}
+
+	if (n) {
+		if (flags) {
+			tprintf("%s%#x", sep, flags);
+			n++;
+		}
+	} else {
+		if (flags) {
+			tprintf("%#x", flags);
+			if (dflt)
+				tprintf(" /* %s */", dflt);
+		} else {
+			if (dflt)
+				tprintf("0");
+		}
+	}
+
+	return n;
+}
+
+void
+printnum(tcp, addr, fmt)
+struct tcb *tcp;
+long addr;
+char *fmt;
+{
+	long num;
+
+	if (!addr) {
+		tprintf("NULL");
+		return;
+	}
+	if (umove(tcp, addr, &num) < 0) {
+		tprintf("%#lx", addr);
+		return;
+	}
+	tprintf("[");
+	tprintf(fmt, num);
+	tprintf("]");
+}
+
+void
+printnum_int(tcp, addr, fmt)
+struct tcb *tcp;
+long addr;
+char *fmt;
+{
+	int num;
+
+	if (!addr) {
+		tprintf("NULL");
+		return;
+	}
+	if (umove(tcp, addr, &num) < 0) {
+		tprintf("%#lx", addr);
+		return;
+	}
+	tprintf("[");
+	tprintf(fmt, num);
+	tprintf("]");
+}
+
+void
+printuid(text, uid)
+const char *text;
+unsigned long uid;
+{
+	tprintf("%s", text);
+	tprintf((uid == -1) ? "%ld" : "%lu", uid);
+}
+
+static char path[MAXPATHLEN + 1];
+
+/*
+ * Quote string `instr' of length `size'
+ * Write up to (3 + `size' * 4) bytes to `outstr' buffer.
+ * If `len' < 0, treat `instr' as a NUL-terminated string
+ * and quote at most (`size' - 1) bytes.
+ */
+static int
+string_quote(const char *instr, char *outstr, int len, int size)
+{
+	const unsigned char *ustr = (const unsigned char *) instr;
+	char *s = outstr;
+	int usehex = 0, c, i;
+
+	if (xflag > 1)
+		usehex = 1;
+	else if (xflag) {
+		/* Check for presence of symbol which require
+		   to hex-quote the whole string. */
+		for (i = 0; i < size; ++i) {
+			c = ustr[i];
+			/* Check for NUL-terminated string. */
+			if (len < 0) {
+				if (c == '\0')
+					break;
+				/* Quote at most size - 1 bytes. */
+				if (i == size - 1)
+					continue;
+			}
+			if (!isprint(c) && !isspace(c)) {
+				usehex = 1;
+				break;
+			}
+		}
+	}
+
+	*s++ = '\"';
+
+	if (usehex) {
+		/* Hex-quote the whole string. */
+		for (i = 0; i < size; ++i) {
+			c = ustr[i];
+			/* Check for NUL-terminated string. */
+			if (len < 0) {
+				if (c == '\0')
+					break;
+				/* Quote at most size - 1 bytes. */
+				if (i == size - 1)
+					continue;
+			}
+			sprintf(s, "\\x%02x", c);
+			s += 4;
+		}
+	} else {
+		for (i = 0; i < size; ++i) {
+			c = ustr[i];
+			/* Check for NUL-terminated string. */
+			if (len < 0) {
+				if (c == '\0')
+					break;
+				/* Quote at most size - 1 bytes. */
+				if (i == size - 1)
+					continue;
+			}
+			switch (c) {
+				case '\"': case '\\':
+					*s++ = '\\';
+					*s++ = c;
+					break;
+				case '\f':
+					*s++ = '\\';
+					*s++ = 'f';
+					break;
+				case '\n':
+					*s++ = '\\';
+					*s++ = 'n';
+					break;
+				case '\r':
+					*s++ = '\\';
+					*s++ = 'r';
+					break;
+				case '\t':
+					*s++ = '\\';
+					*s++ = 't';
+					break;
+				case '\v':
+					*s++ = '\\';
+					*s++ = 'v';
+					break;
+				default:
+					if (isprint(c))
+						*s++ = c;
+					else if (i + 1 < size
+						 && isdigit(ustr[i + 1])) {
+						sprintf(s, "\\%03o", c);
+						s += 4;
+					} else {
+						sprintf(s, "\\%o", c);
+						s += strlen(s);
+					}
+					break;
+			}
+		}
+	}
+
+	*s++ = '\"';
+	*s = '\0';
+
+	/* Return nonzero if the string was unterminated.  */
+	return i == size;
+}
+
+/*
+ * Print path string specified by address `addr' and length `n'.
+ * If path length exceeds `n', append `...' to the output.
+ */
+void
+printpathn(struct tcb *tcp, long addr, int n)
+{
+	if (!addr) {
+		tprintf("NULL");
+		return;
+	}
+
+	/* Cap path length to the path buffer size,
+	   and NUL-terminate the buffer. */
+	if (n > sizeof path - 1)
+		n = sizeof path - 1;
+	path[n] = '\0';
+
+	/* Fetch one byte more to find out whether path length > n. */
+	if (umovestr(tcp, addr, n + 1, path) < 0)
+		tprintf("%#lx", addr);
+	else {
+		static char outstr[4*(sizeof path - 1) + sizeof "\"...\""];
+		int trunc = (path[n] != '\0');
+
+		if (trunc)
+			path[n] = '\0';
+		(void) string_quote(path, outstr, -1, n + 1);
+		if (trunc)
+			strcat(outstr, "...");
+		tprintf("%s", outstr);
+	}
+}
+
+void
+printpath(struct tcb *tcp, long addr)
+{
+	printpathn(tcp, addr, sizeof path - 1);
+}
+
+/*
+ * Print string specified by address `addr' and length `len'.
+ * If `len' < 0, treat the string as a NUL-terminated string.
+ * If string length exceeds `max_strlen', append `...' to the output.
+ */
+void
+printstr(struct tcb *tcp, long addr, int len)
+{
+	static char *str = NULL;
+	static char *outstr;
+	int size;
+
+	if (!addr) {
+		tprintf("NULL");
+		return;
+	}
+	/* Allocate static buffers if they are not allocated yet. */
+	if (!str)
+		str = malloc(max_strlen + 1);
+	if (!outstr)
+		outstr = malloc(4 * max_strlen + sizeof "\"...\"");
+	if (!str || !outstr) {
+		fprintf(stderr, "out of memory\n");
+		tprintf("%#lx", addr);
+		return;
+	}
+
+	if (len < 0) {
+		/*
+		 * Treat as a NUL-terminated string: fetch one byte more
+		 * because string_quote() quotes one byte less.
+		 */
+		size = max_strlen + 1;
+		str[max_strlen] = '\0';
+		if (umovestr(tcp, addr, size, str) < 0) {
+			tprintf("%#lx", addr);
+			return;
+		}
+	}
+	else {
+		size = MIN(len, max_strlen);
+		if (umoven(tcp, addr, size, str) < 0) {
+			tprintf("%#lx", addr);
+			return;
+		}
+	}
+
+	if (string_quote(str, outstr, len, size) &&
+	    (len < 0 || len > max_strlen))
+		strcat(outstr, "...");
+
+	tprintf("%s", outstr);
+}
+
+#if HAVE_SYS_UIO_H
+void
+dumpiov(tcp, len, addr)
+struct tcb * tcp;
+int len;
+long addr;
+{
+#if defined(LINUX) && SUPPORTED_PERSONALITIES > 1
+	union {
+		struct { u_int32_t base; u_int32_t len; } *iov32;
+		struct { u_int64_t base; u_int64_t len; } *iov64;
+	} iovu;
+#define iov iovu.iov64
+#define sizeof_iov \
+  (personality_wordsize[current_personality] == 4 \
+   ? sizeof(*iovu.iov32) : sizeof(*iovu.iov64))
+#define iov_iov_base(i) \
+  (personality_wordsize[current_personality] == 4 \
+   ? (u_int64_t) iovu.iov32[i].base : iovu.iov64[i].base)
+#define iov_iov_len(i) \
+  (personality_wordsize[current_personality] == 4 \
+   ? (u_int64_t) iovu.iov32[i].len : iovu.iov64[i].len)
+#else
+	struct iovec *iov;
+#define sizeof_iov sizeof(*iov)
+#define iov_iov_base(i) iov[i].iov_base
+#define iov_iov_len(i) iov[i].iov_len
+#endif
+	int i;
+	unsigned long size;
+
+	size = sizeof_iov * (unsigned long) len;
+	if (size / sizeof_iov != len
+	    || (iov = malloc(size)) == NULL) {
+		fprintf(stderr, "out of memory\n");
+		return;
+	}
+	if (umoven(tcp, addr, size, (char *) iov) >= 0) {
+		for (i = 0; i < len; i++) {
+			/* include the buffer number to make it easy to
+			 * match up the trace with the source */
+			tprintf(" * %lu bytes in buffer %d\n",
+				(unsigned long)iov_iov_len(i), i);
+			dumpstr(tcp, (long) iov_iov_base(i),
+				iov_iov_len(i));
+		}
+	}
+	free((char *) iov);
+#undef sizeof_iov
+#undef iov_iov_base
+#undef iov_iov_len
+#undef iov
+}
+#endif
+
+void
+dumpstr(tcp, addr, len)
+struct tcb *tcp;
+long addr;
+int len;
+{
+	static int strsize = -1;
+	static unsigned char *str;
+	static char outstr[80];
+	char *s;
+	int i, j;
+
+	if (strsize < len) {
+		if (str)
+			free(str);
+		if ((str = malloc(len)) == NULL) {
+			fprintf(stderr, "out of memory\n");
+			return;
+		}
+		strsize = len;
+	}
+
+	if (umoven(tcp, addr, len, (char *) str) < 0)
+		return;
+
+	for (i = 0; i < len; i += 16) {
+		s = outstr;
+		sprintf(s, " | %05x ", i);
+		s += 9;
+		for (j = 0; j < 16; j++) {
+			if (j == 8)
+				*s++ = ' ';
+			if (i + j < len) {
+				sprintf(s, " %02x", str[i + j]);
+				s += 3;
+			}
+			else {
+				*s++ = ' '; *s++ = ' '; *s++ = ' ';
+			}
+		}
+		*s++ = ' '; *s++ = ' ';
+		for (j = 0; j < 16; j++) {
+			if (j == 8)
+				*s++ = ' ';
+			if (i + j < len) {
+				if (isprint(str[i + j]))
+					*s++ = str[i + j];
+				else
+					*s++ = '.';
+			}
+			else
+				*s++ = ' ';
+		}
+		tprintf("%s |\n", outstr);
+	}
+}
+
+#define PAGMASK	(~(PAGSIZ - 1))
+/*
+ * move `len' bytes of data from process `pid'
+ * at address `addr' to our space at `laddr'
+ */
+int
+umoven(struct tcb *tcp, long addr, int len, char *laddr)
+{
+#ifdef LINUX
+	int pid = tcp->pid;
+	int n, m;
+	int started = 0;
+	union {
+		long val;
+		char x[sizeof(long)];
+	} u;
+
+	if (addr & (sizeof(long) - 1)) {
+		/* addr not a multiple of sizeof(long) */
+		n = addr - (addr & -sizeof(long)); /* residue */
+		addr &= -sizeof(long); /* residue */
+		errno = 0;
+		u.val = ptrace(PTRACE_PEEKDATA, pid, (char *) addr, 0);
+		if (errno) {
+			if (started && (errno==EPERM || errno==EIO)) {
+				/* Ran into 'end of memory' - stupid "printpath" */
+				return 0;
+			}
+			/* But if not started, we had a bogus address. */
+			if (addr != 0 && errno != EIO && errno != ESRCH)
+				perror("ptrace: umoven");
+			return -1;
+		}
+		started = 1;
+		memcpy(laddr, &u.x[n], m = MIN(sizeof(long) - n, len));
+		addr += sizeof(long), laddr += m, len -= m;
+	}
+	while (len) {
+		errno = 0;
+		u.val = ptrace(PTRACE_PEEKDATA, pid, (char *) addr, 0);
+		if (errno) {
+			if (started && (errno==EPERM || errno==EIO)) {
+				/* Ran into 'end of memory' - stupid "printpath" */
+				return 0;
+			}
+			if (addr != 0 && errno != EIO && errno != ESRCH)
+				perror("ptrace: umoven");
+			return -1;
+		}
+		started = 1;
+		memcpy(laddr, u.x, m = MIN(sizeof(long), len));
+		addr += sizeof(long), laddr += m, len -= m;
+	}
+#endif /* LINUX */
+
+#ifdef SUNOS4
+	int pid = tcp->pid;
+	int n;
+
+	while (len) {
+		n = MIN(len, PAGSIZ);
+		n = MIN(n, ((addr + PAGSIZ) & PAGMASK) - addr);
+		if (ptrace(PTRACE_READDATA, pid,
+			   (char *) addr, len, laddr) < 0) {
+			if (errno != ESRCH) {
+				perror("umoven: ptrace(PTRACE_READDATA, ...)");
+				abort();
+			}
+			return -1;
+		}
+		len -= n;
+		addr += n;
+		laddr += n;
+	}
+#endif /* SUNOS4 */
+
+#ifdef USE_PROCFS
+#ifdef HAVE_MP_PROCFS
+	int fd = tcp->pfd_as;
+#else
+	int fd = tcp->pfd;
+#endif
+	lseek(fd, addr, SEEK_SET);
+	if (read(fd, laddr, len) == -1)
+		return -1;
+#endif /* USE_PROCFS */
+
+	return 0;
+}
+
+/*
+ * like `umove' but make the additional effort of looking
+ * for a terminating zero byte.
+ */
+int
+umovestr(struct tcb *tcp, long addr, int len, char *laddr)
+{
+#ifdef USE_PROCFS
+#ifdef HAVE_MP_PROCFS
+	int fd = tcp->pfd_as;
+#else
+	int fd = tcp->pfd;
+#endif
+	/* Some systems (e.g. FreeBSD) can be upset if we read off the
+	   end of valid memory,  avoid this by trying to read up
+	   to page boundaries.  But we don't know what a page is (and
+	   getpagesize(2) (if it exists) doesn't necessarily return
+	   hardware page size).  Assume all pages >= 1024 (a-historical
+	   I know) */
+
+	int page = 1024; 	/* How to find this? */
+	int move = page - (addr & (page - 1));
+	int left = len;
+
+	lseek(fd, addr, SEEK_SET);
+
+	while (left) {
+		if (move > left) move = left;
+		if ((move = read(fd, laddr, move)) <= 0)
+			return left != len ? 0 : -1;
+		if (memchr (laddr, 0, move)) break;
+		left -= move;
+		laddr += move;
+		addr += move;
+		move = page;
+	}
+#else /* !USE_PROCFS */
+	int started = 0;
+	int pid = tcp->pid;
+	int i, n, m;
+	union {
+		long val;
+		char x[sizeof(long)];
+	} u;
+
+	if (addr & (sizeof(long) - 1)) {
+		/* addr not a multiple of sizeof(long) */
+		n = addr - (addr & -sizeof(long)); /* residue */
+		addr &= -sizeof(long); /* residue */
+		errno = 0;
+		u.val = ptrace(PTRACE_PEEKDATA, pid, (char *)addr, 0);
+		if (errno) {
+			if (started && (errno==EPERM || errno==EIO)) {
+				/* Ran into 'end of memory' - stupid "printpath" */
+				return 0;
+			}
+			if (addr != 0 && errno != EIO && errno != ESRCH)
+				perror("umovestr");
+			return -1;
+		}
+		started = 1;
+		memcpy(laddr, &u.x[n], m = MIN(sizeof(long)-n,len));
+		while (n & (sizeof(long) - 1))
+			if (u.x[n++] == '\0')
+				return 0;
+		addr += sizeof(long), laddr += m, len -= m;
+	}
+	while (len) {
+		errno = 0;
+		u.val = ptrace(PTRACE_PEEKDATA, pid, (char *)addr, 0);
+		if (errno) {
+			if (started && (errno==EPERM || errno==EIO)) {
+				/* Ran into 'end of memory' - stupid "printpath" */
+				return 0;
+			}
+			if (addr != 0 && errno != EIO && errno != ESRCH)
+				perror("umovestr");
+			return -1;
+		}
+		started = 1;
+		memcpy(laddr, u.x, m = MIN(sizeof(long), len));
+		for (i = 0; i < sizeof(long); i++)
+			if (u.x[i] == '\0')
+				return 0;
+
+		addr += sizeof(long), laddr += m, len -= m;
+	}
+#endif /* !USE_PROCFS */
+	return 0;
+}
+
+#ifdef LINUX
+# if !defined (SPARC) && !defined(SPARC64)
+#  define PTRACE_WRITETEXT	101
+#  define PTRACE_WRITEDATA	102
+# endif /* !SPARC && !SPARC64 */
+#endif /* LINUX */
+
+#ifdef SUNOS4
+
+static int
+uload(cmd, pid, addr, len, laddr)
+int cmd;
+int pid;
+long addr;
+int len;
+char *laddr;
+{
+	int peek, poke;
+	int n, m;
+	union {
+		long val;
+		char x[sizeof(long)];
+	} u;
+
+	if (cmd == PTRACE_WRITETEXT) {
+		peek = PTRACE_PEEKTEXT;
+		poke = PTRACE_POKETEXT;
+	}
+	else {
+		peek = PTRACE_PEEKDATA;
+		poke = PTRACE_POKEDATA;
+	}
+	if (addr & (sizeof(long) - 1)) {
+		/* addr not a multiple of sizeof(long) */
+		n = addr - (addr & -sizeof(long)); /* residue */
+		addr &= -sizeof(long);
+		errno = 0;
+		u.val = ptrace(peek, pid, (char *) addr, 0);
+		if (errno) {
+			perror("uload: POKE");
+			return -1;
+		}
+		memcpy(&u.x[n], laddr, m = MIN(sizeof(long) - n, len));
+		if (ptrace(poke, pid, (char *)addr, u.val) < 0) {
+			perror("uload: POKE");
+			return -1;
+		}
+		addr += sizeof(long), laddr += m, len -= m;
+	}
+	while (len) {
+		if (len < sizeof(long))
+			u.val = ptrace(peek, pid, (char *) addr, 0);
+		memcpy(u.x, laddr, m = MIN(sizeof(long), len));
+		if (ptrace(poke, pid, (char *) addr, u.val) < 0) {
+			perror("uload: POKE");
+			return -1;
+		}
+		addr += sizeof(long), laddr += m, len -= m;
+	}
+	return 0;
+}
+
+int
+tload(pid, addr, len, laddr)
+int pid;
+int addr, len;
+char *laddr;
+{
+	return uload(PTRACE_WRITETEXT, pid, addr, len, laddr);
+}
+
+int
+dload(pid, addr, len, laddr)
+int pid;
+int addr;
+int len;
+char *laddr;
+{
+	return uload(PTRACE_WRITEDATA, pid, addr, len, laddr);
+}
+
+#endif /* SUNOS4 */
+
+#ifndef USE_PROCFS
+
+int
+upeek(tcp, off, res)
+struct tcb *tcp;
+long off;
+long *res;
+{
+	long val;
+
+# ifdef SUNOS4_KERNEL_ARCH_KLUDGE
+	{
+		static int is_sun4m = -1;
+		struct utsname name;
+
+		/* Round up the usual suspects. */
+		if (is_sun4m == -1) {
+			if (uname(&name) < 0) {
+				perror("upeek: uname?");
+				exit(1);
+			}
+			is_sun4m = strcmp(name.machine, "sun4m") == 0;
+			if (is_sun4m) {
+				const struct xlat *x;
+
+				for (x = struct_user_offsets; x->str; x++)
+					x->val += 1024;
+			}
+		}
+		if (is_sun4m)
+			off += 1024;
+	}
+# endif /* SUNOS4_KERNEL_ARCH_KLUDGE */
+	errno = 0;
+	val = do_ptrace(PTRACE_PEEKUSER, tcp, (char *) off, 0);
+	if (val == -1 && errno) {
+		if (errno != ESRCH) {
+			char buf[60];
+			sprintf(buf,"upeek: ptrace(PTRACE_PEEKUSER,%d,%lu,0)", tcp->pid, off);
+			perror(buf);
+		}
+		return -1;
+	}
+	*res = val;
+	return 0;
+}
+
+#endif /* !USE_PROCFS */
+
+void
+printcall(struct tcb *tcp)
+{
+#define PRINTBADPC tprintf(sizeof(long) == 4 ? "[????????] " : \
+			   sizeof(long) == 8 ? "[????????????????] " : \
+			   NULL /* crash */)
+
+#ifdef LINUX
+# ifdef I386
+	long eip;
+
+	if (upeek(tcp, 4*EIP, &eip) < 0) {
+		PRINTBADPC;
+		return;
+	}
+	tprintf("[%08lx] ", eip);
+
+# elif defined(S390) || defined(S390X)
+	long psw;
+	if(upeek(tcp,PT_PSWADDR,&psw) < 0) {
+		PRINTBADPC;
+		return;
+	}
+#  ifdef S390
+	tprintf("[%08lx] ", psw);
+#  elif S390X
+	tprintf("[%16lx] ", psw);
+#  endif
+
+# elif defined(X86_64)
+	long rip;
+
+	if (upeek(tcp, 8*RIP, &rip) < 0) {
+		PRINTBADPC;
+		return;
+	}
+	tprintf("[%16lx] ", rip);
+# elif defined(IA64)
+	long ip;
+
+	if (upeek(tcp, PT_B0, &ip) < 0) {
+		PRINTBADPC;
+		return;
+	}
+	tprintf("[%08lx] ", ip);
+# elif defined(POWERPC)
+	long pc;
+
+	if (upeek(tcp, sizeof(unsigned long)*PT_NIP, &pc) < 0) {
+		tprintf ("[????????] ");
+		return;
+	}
+	tprintf("[%08lx] ", pc);
+# elif defined(M68K)
+	long pc;
+
+	if (upeek(tcp, 4*PT_PC, &pc) < 0) {
+		tprintf ("[????????] ");
+		return;
+	}
+	tprintf("[%08lx] ", pc);
+# elif defined(ALPHA)
+	long pc;
+
+	if (upeek(tcp, REG_PC, &pc) < 0) {
+		tprintf ("[????????????????] ");
+		return;
+	}
+	tprintf("[%08lx] ", pc);
+# elif defined(SPARC) || defined(SPARC64)
+	struct pt_regs regs;
+	if (ptrace(PTRACE_GETREGS,tcp->pid,(char *)&regs,0) < 0) {
+		PRINTBADPC;
+		return;
+	}
+#  if defined(SPARC64)
+	tprintf("[%08lx] ", regs.tpc);
+#  else
+	tprintf("[%08lx] ", regs.pc);
+#  endif
+# elif defined(HPPA)
+	long pc;
+
+	if(upeek(tcp,PT_IAOQ0,&pc) < 0) {
+		tprintf ("[????????] ");
+		return;
+	}
+	tprintf("[%08lx] ", pc);
+# elif defined(MIPS)
+	long pc;
+
+	if (upeek(tcp, REG_EPC, &pc) < 0) {
+		tprintf ("[????????] ");
+		return;
+	}
+	tprintf("[%08lx] ", pc);
+# elif defined(SH)
+	long pc;
+
+	if (upeek(tcp, 4*REG_PC, &pc) < 0) {
+		tprintf ("[????????] ");
+		return;
+	}
+	tprintf("[%08lx] ", pc);
+# elif defined(SH64)
+	long pc;
+
+	if (upeek(tcp, REG_PC, &pc) < 0) {
+		tprintf ("[????????????????] ");
+		return;
+	}
+	tprintf("[%08lx] ", pc);
+# elif defined(ARM)
+	long pc;
+
+	if (upeek(tcp, 4*15, &pc) < 0) {
+		PRINTBADPC;
+		return;
+	}
+	tprintf("[%08lx] ", pc);
+# elif defined(AVR32)
+	long pc;
+
+	if (upeek(tcp, REG_PC, &pc) < 0) {
+		tprintf("[????????] ");
+		return;
+	}
+	tprintf("[%08lx] ", pc);
+# elif defined(BFIN)
+	long pc;
+
+	if (upeek(tcp, PT_PC, &pc) < 0) {
+		PRINTBADPC;
+		return;
+	}
+	tprintf("[%08lx] ", pc);
+#elif defined(CRISV10)
+	long pc;
+
+	if (upeek(tcp, 4*PT_IRP, &pc) < 0) {
+		PRINTBADPC;
+		return;
+	}
+	tprintf("[%08lx] ", pc);
+#elif defined(CRISV32)
+	long pc;
+
+	if (upeek(tcp, 4*PT_ERP, &pc) < 0) {
+		PRINTBADPC;
+		return;
+	}
+	tprintf("[%08lx] ", pc);
+# endif /* architecture */
+#endif /* LINUX */
+
+#ifdef SUNOS4
+	struct regs regs;
+
+	if (ptrace(PTRACE_GETREGS, tcp->pid, (char *) &regs, 0) < 0) {
+		perror("printcall: ptrace(PTRACE_GETREGS, ...)");
+		PRINTBADPC;
+		return;
+	}
+	tprintf("[%08x] ", regs.r_o7);
+#endif /* SUNOS4 */
+
+#ifdef SVR4
+	/* XXX */
+	PRINTBADPC;
+#endif
+
+#ifdef FREEBSD
+	struct reg regs;
+	pread(tcp->pfd_reg, &regs, sizeof(regs), 0);
+	tprintf("[%08x] ", regs.r_eip);
+#endif /* FREEBSD */
+}
+
+
+/*
+ * These #if's are huge, please indent them correctly.
+ * It's easy to get confused otherwise.
+ */
+#ifndef USE_PROCFS
+
+#ifdef LINUX
+
+#  include "syscall.h"
+
+#  include <sys/syscall.h>
+#  ifndef CLONE_PTRACE
+#   define CLONE_PTRACE    0x00002000
+#  endif
+#  ifndef CLONE_VFORK
+#   define CLONE_VFORK     0x00004000
+#  endif
+#  ifndef CLONE_VM
+#   define CLONE_VM        0x00000100
+#  endif
+#  ifndef CLONE_STOPPED
+#   define CLONE_STOPPED   0x02000000
+#  endif
+
+#  ifdef IA64
+
+/* We don't have fork()/vfork() syscalls on ia64 itself, but the ia32
+   subsystem has them for x86... */
+#   define SYS_fork	2
+#   define SYS_vfork	190
+
+typedef unsigned long *arg_setup_state;
+
+static int
+arg_setup(struct tcb *tcp, arg_setup_state *state)
+{
+	unsigned long cfm, sof, sol;
+	long bsp;
+
+	if (ia32) {
+		/* Satisfy a false GCC warning.  */
+		*state = NULL;
+		return 0;
+	}
+
+	if (upeek(tcp, PT_AR_BSP, &bsp) < 0)
+		return -1;
+	if (upeek(tcp, PT_CFM, (long *) &cfm) < 0)
+		return -1;
+
+	sof = (cfm >> 0) & 0x7f;
+	sol = (cfm >> 7) & 0x7f;
+	bsp = (long) ia64_rse_skip_regs((unsigned long *) bsp, -sof + sol);
+
+	*state = (unsigned long *) bsp;
+	return 0;
+}
+
+#   define arg_finish_change(tcp, state)	0
+
+#   ifdef SYS_fork
+static int
+get_arg0 (struct tcb *tcp, arg_setup_state *state, long *valp)
+{
+	int ret;
+
+	if (ia32)
+		ret = upeek (tcp, PT_R11, valp);
+	else
+		ret = umoven (tcp,
+			      (unsigned long) ia64_rse_skip_regs(*state, 0),
+			      sizeof(long), (void *) valp);
+	return ret;
+}
+
+static int
+get_arg1 (struct tcb *tcp, arg_setup_state *state, long *valp)
+{
+	int ret;
+
+	if (ia32)
+		ret = upeek (tcp, PT_R9, valp);
+	else
+		ret = umoven (tcp,
+			      (unsigned long) ia64_rse_skip_regs(*state, 1),
+			      sizeof(long), (void *) valp);
+	return ret;
+}
+#   endif
+
+static int
+set_arg0 (struct tcb *tcp, arg_setup_state *state, long val)
+{
+	int req = PTRACE_POKEDATA;
+	void *ap;
+
+	if (ia32) {
+		ap = (void *) (intptr_t) PT_R11;	 /* r11 == EBX */
+		req = PTRACE_POKEUSER;
+	} else
+		ap = ia64_rse_skip_regs(*state, 0);
+	errno = 0;
+	ptrace(req, tcp->pid, ap, val);
+	return errno ? -1 : 0;
+}
+
+static int
+set_arg1 (struct tcb *tcp, arg_setup_state *state, long val)
+{
+	int req = PTRACE_POKEDATA;
+	void *ap;
+
+	if (ia32) {
+		ap = (void *) (intptr_t) PT_R9;		/* r9 == ECX */
+		req = PTRACE_POKEUSER;
+	} else
+		ap = ia64_rse_skip_regs(*state, 1);
+	errno = 0;
+	ptrace(req, tcp->pid, ap, val);
+	return errno ? -1 : 0;
+}
+
+/* ia64 does not return the input arguments from functions (and syscalls)
+   according to ia64 RSE (Register Stack Engine) behavior.  */
+
+#   define restore_arg0(tcp, state, val) ((void) (state), 0)
+#   define restore_arg1(tcp, state, val) ((void) (state), 0)
+
+#  elif defined (SPARC) || defined (SPARC64)
+
+typedef struct pt_regs arg_setup_state;
+
+#   define arg_setup(tcp, state) \
+    (ptrace (PTRACE_GETREGS, tcp->pid, (char *) (state), 0))
+#   define arg_finish_change(tcp, state) \
+    (ptrace (PTRACE_SETREGS, tcp->pid, (char *) (state), 0))
+
+#   define get_arg0(tcp, state, valp) (*(valp) = (state)->u_regs[U_REG_O0], 0)
+#   define get_arg1(tcp, state, valp) (*(valp) = (state)->u_regs[U_REG_O1], 0)
+#   define set_arg0(tcp, state, val) ((state)->u_regs[U_REG_O0] = (val), 0)
+#   define set_arg1(tcp, state, val) ((state)->u_regs[U_REG_O1] = (val), 0)
+#   define restore_arg0(tcp, state, val) 0
+
+#  else /* other architectures */
+
+#   if defined S390 || defined S390X
+/* Note: this is only true for the `clone' system call, which handles
+   arguments specially.  We could as well say that its first two arguments
+   are swapped relative to other architectures, but that would just be
+   another #ifdef in the calls.  */
+#    define arg0_offset	PT_GPR3
+#    define arg1_offset	PT_ORIGGPR2
+#    define restore_arg0(tcp, state, val) ((void) (state), 0)
+#    define restore_arg1(tcp, state, val) ((void) (state), 0)
+#    define arg0_index	1
+#    define arg1_index	0
+#   elif defined (ALPHA) || defined (MIPS)
+#    define arg0_offset	REG_A0
+#    define arg1_offset	(REG_A0+1)
+#   elif defined (AVR32)
+#    define arg0_offset	(REG_R12)
+#    define arg1_offset	(REG_R11)
+#   elif defined (POWERPC)
+#    define arg0_offset	(sizeof(unsigned long)*PT_R3)
+#    define arg1_offset	(sizeof(unsigned long)*PT_R4)
+#    define restore_arg0(tcp, state, val) ((void) (state), 0)
+#   elif defined (HPPA)
+#    define arg0_offset	 PT_GR26
+#    define arg1_offset	 (PT_GR26-4)
+#   elif defined (X86_64)
+#    define arg0_offset	((long)(8*(current_personality ? RBX : RDI)))
+#    define arg1_offset	((long)(8*(current_personality ? RCX : RSI)))
+#   elif defined (SH)
+#    define arg0_offset	(4*(REG_REG0+4))
+#    define arg1_offset	(4*(REG_REG0+5))
+#   elif defined (SH64)
+    /* ABI defines arg0 & 1 in r2 & r3 */
+#    define arg0_offset   (REG_OFFSET+16)
+#    define arg1_offset   (REG_OFFSET+24)
+#    define restore_arg0(tcp, state, val) 0
+#   elif defined CRISV10 || defined CRISV32
+#    define arg0_offset   (4*PT_R11)
+#    define arg1_offset   (4*PT_ORIG_R10)
+#    define restore_arg0(tcp, state, val) 0
+#    define restore_arg1(tcp, state, val) 0
+#    define arg0_index   1
+#    define arg1_index   0
+#   else
+#    define arg0_offset	0
+#    define arg1_offset	4
+#    if defined ARM
+#     define restore_arg0(tcp, state, val) 0
+#    endif
+#   endif
+
+typedef int arg_setup_state;
+
+#   define arg_setup(tcp, state) (0)
+#   define arg_finish_change(tcp, state)	0
+#   define get_arg0(tcp, cookie, valp) \
+    (upeek ((tcp), arg0_offset, (valp)))
+#   define get_arg1(tcp, cookie, valp) \
+    (upeek ((tcp), arg1_offset, (valp)))
+
+static int
+set_arg0 (struct tcb *tcp, void *cookie, long val)
+{
+	return ptrace (PTRACE_POKEUSER, tcp->pid, (char*)arg0_offset, val);
+}
+
+static int
+set_arg1 (struct tcb *tcp, void *cookie, long val)
+{
+	return ptrace (PTRACE_POKEUSER, tcp->pid, (char*)arg1_offset, val);
+}
+
+#  endif /* architectures */
+
+#  ifndef restore_arg0
+#   define restore_arg0(tcp, state, val) set_arg0((tcp), (state), (val))
+#  endif
+#  ifndef restore_arg1
+#   define restore_arg1(tcp, state, val) set_arg1((tcp), (state), (val))
+#  endif
+
+#  ifndef arg0_index
+#   define arg0_index 0
+#   define arg1_index 1
+#  endif
+
+int
+setbpt(struct tcb *tcp)
+{
+	static int clone_scno[SUPPORTED_PERSONALITIES] = { SYS_clone };
+	arg_setup_state state;
+
+	if (tcp->flags & TCB_BPTSET) {
+		fprintf(stderr, "PANIC: TCB already set in pid %u\n", tcp->pid);
+		return -1;
+	}
+
+	/*
+	 * It's a silly kludge to initialize this with a search at runtime.
+	 * But it's better than maintaining another magic thing in the
+	 * godforsaken tables.
+	 */
+	if (clone_scno[current_personality] == 0) {
+		int i;
+		for (i = 0; i < nsyscalls; ++i)
+			if (sysent[i].sys_func == sys_clone) {
+				clone_scno[current_personality] = i;
+				break;
+			}
+	}
+
+	switch (known_scno(tcp)) {
+#  ifdef SYS_vfork
+	case SYS_vfork:
+#  endif
+#  ifdef SYS_fork
+	case SYS_fork:
+#  endif
+#  if defined SYS_fork || defined SYS_vfork
+		if (arg_setup (tcp, &state) < 0
+		    || get_arg0 (tcp, &state, &tcp->inst[0]) < 0
+		    || get_arg1 (tcp, &state, &tcp->inst[1]) < 0
+		    || change_syscall(tcp, clone_scno[current_personality]) < 0
+		    || set_arg0 (tcp, &state, CLONE_PTRACE|SIGCHLD) < 0
+		    || set_arg1 (tcp, &state, 0) < 0
+		    || arg_finish_change (tcp, &state) < 0)
+			return -1;
+		tcp->u_arg[arg0_index] = CLONE_PTRACE|SIGCHLD;
+		tcp->u_arg[arg1_index] = 0;
+		tcp->flags |= TCB_BPTSET;
+		return 0;
+#  endif
+
+	case SYS_clone:
+#  ifdef SYS_clone2
+	case SYS_clone2:
+#  endif
+		/* ia64 calls directly `clone (CLONE_VFORK | CLONE_VM)'
+		   contrary to x86 SYS_vfork above.  Even on x86 we turn the
+		   vfork semantics into plain fork - each application must not
+		   depend on the vfork specifics according to POSIX.  We would
+		   hang waiting for the parent resume otherwise.  We need to
+		   clear also CLONE_VM but only in the CLONE_VFORK case as
+		   otherwise we would break pthread_create.  */
+
+		if ((arg_setup (tcp, &state) < 0
+		    || set_arg0 (tcp, &state,
+				 (tcp->u_arg[arg0_index] | CLONE_PTRACE)
+				 & ~(tcp->u_arg[arg0_index] & CLONE_VFORK
+				     ? CLONE_VFORK | CLONE_VM : 0)) < 0
+		    || arg_finish_change (tcp, &state) < 0))
+			return -1;
+		tcp->flags |= TCB_BPTSET;
+		tcp->inst[0] = tcp->u_arg[arg0_index];
+		tcp->inst[1] = tcp->u_arg[arg1_index];
+		return 0;
+
+	default:
+		fprintf(stderr, "PANIC: setbpt for syscall %ld on %u???\n",
+			tcp->scno, tcp->pid);
+		break;
+	}
+
+	return -1;
+}
+
+int
+clearbpt(tcp)
+struct tcb *tcp;
+{
+	arg_setup_state state;
+	if (arg_setup (tcp, &state) < 0
+	    || restore_arg0 (tcp, &state, tcp->inst[0]) < 0
+	    || restore_arg1 (tcp, &state, tcp->inst[1]) < 0
+	    || arg_finish_change (tcp, &state))
+		if (errno != ESRCH) return -1;
+	tcp->flags &= ~TCB_BPTSET;
+	return 0;
+}
+
+# else /* !defined LINUX */
+
+int
+setbpt(tcp)
+struct tcb *tcp;
+{
+#  ifdef SUNOS4
+#   ifdef SPARC	/* This code is slightly sparc specific */
+
+	struct regs regs;
+#    define BPT	0x91d02001	/* ta	1 */
+#    define LOOP	0x10800000	/* ba	0 */
+#    define LOOPA	0x30800000	/* ba,a	0 */
+#    define NOP	0x01000000
+#    if LOOPA
+	static int loopdeloop[1] = {LOOPA};
+#    else
+	static int loopdeloop[2] = {LOOP, NOP};
+#    endif
+
+	if (tcp->flags & TCB_BPTSET) {
+		fprintf(stderr, "PANIC: TCB already set in pid %u\n", tcp->pid);
+		return -1;
+	}
+	if (ptrace(PTRACE_GETREGS, tcp->pid, (char *)&regs, 0) < 0) {
+		perror("setbpt: ptrace(PTRACE_GETREGS, ...)");
+		return -1;
+	}
+	tcp->baddr = regs.r_o7 + 8;
+	if (ptrace(PTRACE_READTEXT, tcp->pid, (char *)tcp->baddr,
+				sizeof tcp->inst, (char *)tcp->inst) < 0) {
+		perror("setbpt: ptrace(PTRACE_READTEXT, ...)");
+		return -1;
+	}
+
+	/*
+	 * XXX - BRUTAL MODE ON
+	 * We cannot set a real BPT in the child, since it will not be
+	 * traced at the moment it will reach the trap and would probably
+	 * die with a core dump.
+	 * Thus, we are force our way in by taking out two instructions
+	 * and insert an eternal loop in stead, in expectance of the SIGSTOP
+	 * generated by out PTRACE_ATTACH.
+	 * Of cause, if we evaporate ourselves in the middle of all this...
+	 */
+	if (ptrace(PTRACE_WRITETEXT, tcp->pid, (char *) tcp->baddr,
+			sizeof loopdeloop, (char *) loopdeloop) < 0) {
+		perror("setbpt: ptrace(PTRACE_WRITETEXT, ...)");
+		return -1;
+	}
+	tcp->flags |= TCB_BPTSET;
+
+#   endif /* SPARC */
+#  endif /* SUNOS4 */
+
+	return 0;
+}
+
+int
+clearbpt(tcp)
+struct tcb *tcp;
+{
+#  ifdef SUNOS4
+#   ifdef SPARC
+
+#    if !LOOPA
+	struct regs regs;
+#    endif
+
+	if (!(tcp->flags & TCB_BPTSET)) {
+		fprintf(stderr, "PANIC: TCB not set in pid %u\n", tcp->pid);
+		return -1;
+	}
+	if (ptrace(PTRACE_WRITETEXT, tcp->pid, (char *) tcp->baddr,
+				sizeof tcp->inst, (char *) tcp->inst) < 0) {
+		perror("clearbtp: ptrace(PTRACE_WRITETEXT, ...)");
+		return -1;
+	}
+	tcp->flags &= ~TCB_BPTSET;
+
+#    if !LOOPA
+	/*
+	 * Since we don't have a single instruction breakpoint, we may have
+	 * to adjust the program counter after removing our `breakpoint'.
+	 */
+	if (ptrace(PTRACE_GETREGS, tcp->pid, (char *)&regs, 0) < 0) {
+		perror("clearbpt: ptrace(PTRACE_GETREGS, ...)");
+		return -1;
+	}
+	if ((regs.r_pc < tcp->baddr) ||
+				(regs.r_pc > tcp->baddr + 4)) {
+		/* The breakpoint has not been reached yet */
+		if (debug)
+			fprintf(stderr,
+				"NOTE: PC not at bpt (pc %#x baddr %#x)\n",
+					regs.r_pc, tcp->baddr);
+		return 0;
+	}
+	if (regs.r_pc != tcp->baddr)
+		if (debug)
+			fprintf(stderr, "NOTE: PC adjusted (%#x -> %#x\n",
+				regs.r_pc, tcp->baddr);
+
+	regs.r_pc = tcp->baddr;
+	if (ptrace(PTRACE_SETREGS, tcp->pid, (char *)&regs, 0) < 0) {
+		perror("clearbpt: ptrace(PTRACE_SETREGS, ...)");
+		return -1;
+	}
+#    endif /* LOOPA */
+#   endif /* SPARC */
+#  endif /* SUNOS4 */
+
+	return 0;
+}
+
+# endif /* !defined LINUX */
+
+#endif /* !USE_PROCFS */
+
+
+#ifdef SUNOS4
+
+static int
+getex(tcp, hdr)
+struct tcb *tcp;
+struct exec *hdr;
+{
+	int n;
+
+	for (n = 0; n < sizeof *hdr; n += 4) {
+		long res;
+		if (upeek(tcp, uoff(u_exdata) + n, &res) < 0)
+			return -1;
+		memcpy(((char *) hdr) + n, &res, 4);
+	}
+	if (debug) {
+		fprintf(stderr, "[struct exec: magic: %o version %u Mach %o\n",
+			hdr->a_magic, hdr->a_toolversion, hdr->a_machtype);
+		fprintf(stderr, "Text %lu Data %lu Bss %lu Syms %lu Entry %#lx]\n",
+			hdr->a_text, hdr->a_data, hdr->a_bss, hdr->a_syms, hdr->a_entry);
+	}
+	return 0;
+}
+
+int
+fixvfork(tcp)
+struct tcb *tcp;
+{
+	int pid = tcp->pid;
+	/*
+	 * Change `vfork' in a freshly exec'ed dynamically linked
+	 * executable's (internal) symbol table to plain old `fork'
+	 */
+
+	struct exec hdr;
+	struct link_dynamic dyn;
+	struct link_dynamic_2 ld;
+	char *strtab, *cp;
+
+	if (getex(tcp, &hdr) < 0)
+		return -1;
+	if (!hdr.a_dynamic)
+		return -1;
+
+	if (umove(tcp, (int) N_DATADDR(hdr), &dyn) < 0) {
+		fprintf(stderr, "Cannot read DYNAMIC\n");
+		return -1;
+	}
+	if (umove(tcp, (int) dyn.ld_un.ld_2, &ld) < 0) {
+		fprintf(stderr, "Cannot read link_dynamic_2\n");
+		return -1;
+	}
+	if ((strtab = malloc((unsigned)ld.ld_symb_size)) == NULL) {
+		fprintf(stderr, "out of memory\n");
+		return -1;
+	}
+	if (umoven(tcp, (int)ld.ld_symbols+(int)N_TXTADDR(hdr),
+					(int)ld.ld_symb_size, strtab) < 0)
+		goto err;
+
+	for (cp = strtab; cp < strtab + ld.ld_symb_size; ) {
+		if (strcmp(cp, "_vfork") == 0) {
+			if (debug)
+				fprintf(stderr, "fixvfork: FOUND _vfork\n");
+			strcpy(cp, "_fork");
+			break;
+		}
+		cp += strlen(cp)+1;
+	}
+	if (cp < strtab + ld.ld_symb_size)
+		/*
+		 * Write entire symbol table back to avoid
+		 * memory alignment bugs in ptrace
+		 */
+		if (tload(pid, (int)ld.ld_symbols+(int)N_TXTADDR(hdr),
+					(int)ld.ld_symb_size, strtab) < 0)
+			goto err;
+
+	free(strtab);
+	return 0;
+
+err:
+	free(strtab);
+	return -1;
+}
+
+#endif /* SUNOS4 */
diff --git a/strace-4.5.20/xlate.el b/strace-4.5.20/xlate.el
new file mode 100644
index 0000000..cd083a1
--- /dev/null
+++ b/strace-4.5.20/xlate.el
@@ -0,0 +1,80 @@
+;; Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+;; All rights reserved.
+;;
+;; Redistribution and use in source and binary forms, with or without
+;; modification, are permitted provided that the following conditions
+;; are met:
+;; 1. Redistributions of source code must retain the above copyright
+;;    notice, this list of conditions and the following disclaimer.
+;; 2. Redistributions in binary form must reproduce the above copyright
+;;    notice, this list of conditions and the following disclaimer in the
+;;    documentation and/or other materials provided with the distribution.
+;; 3. The name of the author may not be used to endorse or promote products
+;;    derived from this software without specific prior written permission.
+;;
+;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+;; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+;; OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+;; IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+;; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+;; NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+;; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+;; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+;; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+;;
+;; $Id$
+
+;; Description: Automate the construction of strace xlat tables.
+
+;; Usage: Put point and mark around a set of definitions in a header
+;; file.  Then grab them with C-c G.  Switch to the strace source file
+;; and build the xlat table with C-c B.  Then type the name of the table.
+
+(global-set-key "\C-cG" 'grab-xlate)
+(global-set-key "\C-cB" 'build-xlate)
+
+(defvar xlate-list nil
+  "See grab-xlate and build-xlate.")
+
+(defun grab-xlate (beg end)
+  "Grab all of the defined names in the region and save them in xlate-list."
+  (interactive "r")
+  (save-excursion
+    (setq xlate-list nil)
+    (goto-char beg)
+    (beginning-of-line)
+    (while (< (point) end)
+      (and (looking-at "^#[ \t]*define[ \t]+\\([A-Za-z0-9_]+\\)[ \t]+")
+	   (setq xlate-list (cons (buffer-substring (match-beginning 1)
+						    (match-end 1))
+				  xlate-list)))
+      (forward-line)))
+  (and (fboundp 'deactivate-mark)
+       (deactivate-mark))
+  (setq xlate-list (nreverse xlate-list)))
+
+(defun build-xlate (&optional list)
+  "Build and insert an strace xlat table based on the last grab."
+  (interactive)
+  (or list
+      (setq list xlate-list))
+  (beginning-of-line)
+  (save-excursion
+    (insert "static struct xlat ?[] = {\n")
+    (while list
+      (insert "\t{ " (car list) ",\n")
+      (backward-char)
+      (move-to-column 24 'force)
+      (end-of-line)
+      (insert "\"" (car list) "\"")
+      (move-to-column 40 'force)
+      (end-of-line)
+      (insert "},")
+      (forward-line)
+      (setq list (cdr list)))
+    (insert "	{ 0,		NULL		},\n")
+    (insert "};\n")
+    (insert "\n"))
+  (search-forward "?")
+  (delete-backward-char 1))
diff --git a/strace.tar.bz2 b/strace.tar.bz2
new file mode 100644
index 0000000..48139dc
--- /dev/null
+++ b/strace.tar.bz2
Binary files differ
diff --git a/strace.url b/strace.url
new file mode 100644
index 0000000..1b8bd73
--- /dev/null
+++ b/strace.url
@@ -0,0 +1 @@
+http://download.sourceforge.net/strace/strace-4.5.20.tar.bz2
diff --git a/strace.version b/strace.version
new file mode 100644
index 0000000..195a8c7
--- /dev/null
+++ b/strace.version
@@ -0,0 +1 @@
+4.5.20