diff --git a/Android.mk b/Android.mk
index 3c4f1c4..d8246e6 100644
--- a/Android.mk
+++ b/Android.mk
@@ -211,7 +211,7 @@
 # We don't build ioctlsort unless really necessary, because we don't check
 # in the temporary files needed to build it. This tool is only necessary
 # when updating strace's list of ioctls.
-ifneq (,$(filter ioctlsort,$(MAKECMDGOALS)))
+ifneq (,$(filter $(TARGET_OUT_EXECUTABLES)/ioctlsort,$(MAKECMDGOALS)))
 include $(CLEAR_VARS)
 LOCAL_SRC_FILES := linux/ioctlsort.c
 LOCAL_CFLAGS += -include asm/types.h -include linux/ashmem.h
diff --git a/xlat/Makemodule.am b/xlat/Makemodule.am
new file mode 100644
index 0000000..6e26672
--- /dev/null
+++ b/xlat/Makemodule.am
@@ -0,0 +1,348 @@
+XLAT_INPUT_FILES = xlat/access_flags.in xlat/aclcmds.in xlat/aclipc.in xlat/addrfams.in xlat/adjtimex_modes.in xlat/adjtimex_state.in xlat/adjtimex_status.in xlat/advise.in xlat/af_packet_types.in xlat/archvals.in xlat/at_flags.in xlat/atomic_ops.in xlat/baud_options.in xlat/blkpg_ops.in xlat/bootflags1.in xlat/bootflags2.in xlat/bootflags3.in xlat/cacheflush_scope.in xlat/capabilities.in xlat/cap_version.in xlat/clockflags.in xlat/clocknames.in xlat/clone_flags.in xlat/cpuclocknames.in xlat/delete_module_flags.in xlat/direnttypes.in xlat/domains.in xlat/epollctls.in xlat/epollevents.in xlat/epollflags.in xlat/fan_classes.in xlat/fan_event_flags.in xlat/fan_init_flags.in xlat/fan_mark_flags.in xlat/fcntlcmds.in xlat/fdflags.in xlat/fileflags.in xlat/flockcmds.in xlat/fsmagic.in xlat/futexops.in xlat/futexwakecmps.in xlat/futexwakeops.in xlat/icmpfilterflags.in xlat/if_dqblk_valid.in xlat/if_dqinfo_valid.in xlat/iffflags.in xlat/inet_protocols.in xlat/inotify_flags.in xlat/inotify_init_flags.in xlat/ioprio_class.in xlat/ioprio_who.in xlat/ipc_msg_flags.in xlat/itimer_which.in xlat/kexec_arch_values.in xlat/kexec_flags.in xlat/keyctl_commands.in xlat/key_perms.in xlat/key_reqkeys.in xlat/key_spec.in xlat/lockfcmds.in xlat/loop_crypt_type_options.in xlat/loop_flags_options.in xlat/madvise_cmds.in xlat/mbindflags.in xlat/mctl_funcs.in xlat/mctl_lockas.in xlat/mctl_sync.in xlat/mempolicyflags.in xlat/mlockall_flags.in xlat/mmap_flags.in xlat/mmap_prot.in xlat/modem_flags.in xlat/modetypes.in xlat/modflags.in xlat/module_init_flags.in xlat/mount_flags.in xlat/move_pages_flags.in xlat/mremap_flags.in xlat/msgctl_flags.in xlat/msg_flags.in xlat/msgflags.in xlat/mtd_flags_options.in xlat/mtd_mode_options.in xlat/mtd_nandecc_options.in xlat/mtd_otp_options.in xlat/mtd_type_options.in xlat/netlink_protocols.in xlat/notifyflags.in xlat/nt_descriptor_types.in xlat/open_access_modes.in xlat/open_mode_flags.in xlat/openmodessol.in xlat/perf_event_open_flags.in xlat/personality_options.in xlat/pmsgflags.in xlat/policies.in xlat/pollflags.in xlat/prctl_options.in xlat/priorities.in xlat/ptp_flags_options.in xlat/ptrace_cmds.in xlat/ptrace_setoptions_flags.in xlat/qm_which.in xlat/quotacmds.in xlat/quota_formats.in xlat/quotatypes.in xlat/resource_flags.in xlat/resources.in xlat/schedulers.in xlat/scmvals.in xlat/semctl_flags.in xlat/semop_flags.in xlat/sg_io_dxfer_direction.in xlat/shmctl_flags.in xlat/shm_flags.in xlat/shm_resource_flags.in xlat/shutdown_modes.in xlat/sigact_flags.in xlat/sigaltstack_flags.in xlat/sigbus_codes.in xlat/sigchld_codes.in xlat/sigemt_codes.in xlat/sigev_value.in xlat/sigfpe_codes.in xlat/sigill_codes.in xlat/siginfo_codes.in xlat/sigpoll_codes.in xlat/sigprocmaskcmds.in xlat/sigprof_codes.in xlat/sigsegv_codes.in xlat/sigsys_codes.in xlat/sigtrap_codes.in xlat/socketlayers.in xlat/sockipoptions.in xlat/sockipv6options.in xlat/sockipxoptions.in xlat/sockoptions.in xlat/sockpacketoptions.in xlat/sockrawoptions.in xlat/socksctpoptions.in xlat/socktcpoptions.in xlat/sock_type_flags.in xlat/socktypes.in xlat/splice_flags.in xlat/sram_alloc_flags.in xlat/swap_flags.in xlat/sync_file_range_flags.in xlat/sysctl_kern.in xlat/sysctl_net_core.in xlat/sysctl_net.in xlat/sysctl_net_ipv4_conf.in xlat/sysctl_net_ipv4.in xlat/sysctl_net_ipv4_route.in xlat/sysctl_net_ipv6.in xlat/sysctl_net_ipv6_route.in xlat/sysctl_net_unix.in xlat/sysctl_root.in xlat/sysctl_vm.in xlat/syslog_action_type.in xlat/sysmips_operations.in xlat/tcflsh_options.in xlat/tcxonc_options.in xlat/timerfdflags.in xlat/ubi_volume_props.in xlat/ubi_volume_types.in xlat/umount_flags.in xlat/usagewho.in xlat/wait4_options.in xlat/waitid_types.in xlat/whence_codes.in xlat/xattrflags.in xlat/xfs_dqblk_flags.in xlat/xfs_quota_flags.in 
+XLAT_HEADER_FILES = xlat/access_flags.h xlat/aclcmds.h xlat/aclipc.h xlat/addrfams.h xlat/adjtimex_modes.h xlat/adjtimex_state.h xlat/adjtimex_status.h xlat/advise.h xlat/af_packet_types.h xlat/archvals.h xlat/at_flags.h xlat/atomic_ops.h xlat/baud_options.h xlat/blkpg_ops.h xlat/bootflags1.h xlat/bootflags2.h xlat/bootflags3.h xlat/cacheflush_scope.h xlat/capabilities.h xlat/cap_version.h xlat/clockflags.h xlat/clocknames.h xlat/clone_flags.h xlat/cpuclocknames.h xlat/delete_module_flags.h xlat/direnttypes.h xlat/domains.h xlat/epollctls.h xlat/epollevents.h xlat/epollflags.h xlat/fan_classes.h xlat/fan_event_flags.h xlat/fan_init_flags.h xlat/fan_mark_flags.h xlat/fcntlcmds.h xlat/fdflags.h xlat/fileflags.h xlat/flockcmds.h xlat/fsmagic.h xlat/futexops.h xlat/futexwakecmps.h xlat/futexwakeops.h xlat/icmpfilterflags.h xlat/if_dqblk_valid.h xlat/if_dqinfo_valid.h xlat/iffflags.h xlat/inet_protocols.h xlat/inotify_flags.h xlat/inotify_init_flags.h xlat/ioprio_class.h xlat/ioprio_who.h xlat/ipc_msg_flags.h xlat/itimer_which.h xlat/kexec_arch_values.h xlat/kexec_flags.h xlat/keyctl_commands.h xlat/key_perms.h xlat/key_reqkeys.h xlat/key_spec.h xlat/lockfcmds.h xlat/loop_crypt_type_options.h xlat/loop_flags_options.h xlat/madvise_cmds.h xlat/mbindflags.h xlat/mctl_funcs.h xlat/mctl_lockas.h xlat/mctl_sync.h xlat/mempolicyflags.h xlat/mlockall_flags.h xlat/mmap_flags.h xlat/mmap_prot.h xlat/modem_flags.h xlat/modetypes.h xlat/modflags.h xlat/module_init_flags.h xlat/mount_flags.h xlat/move_pages_flags.h xlat/mremap_flags.h xlat/msgctl_flags.h xlat/msg_flags.h xlat/msgflags.h xlat/mtd_flags_options.h xlat/mtd_mode_options.h xlat/mtd_nandecc_options.h xlat/mtd_otp_options.h xlat/mtd_type_options.h xlat/netlink_protocols.h xlat/notifyflags.h xlat/nt_descriptor_types.h xlat/open_access_modes.h xlat/open_mode_flags.h xlat/openmodessol.h xlat/perf_event_open_flags.h xlat/personality_options.h xlat/pmsgflags.h xlat/policies.h xlat/pollflags.h xlat/prctl_options.h xlat/priorities.h xlat/ptp_flags_options.h xlat/ptrace_cmds.h xlat/ptrace_setoptions_flags.h xlat/qm_which.h xlat/quotacmds.h xlat/quota_formats.h xlat/quotatypes.h xlat/resource_flags.h xlat/resources.h xlat/schedulers.h xlat/scmvals.h xlat/semctl_flags.h xlat/semop_flags.h xlat/sg_io_dxfer_direction.h xlat/shmctl_flags.h xlat/shm_flags.h xlat/shm_resource_flags.h xlat/shutdown_modes.h xlat/sigact_flags.h xlat/sigaltstack_flags.h xlat/sigbus_codes.h xlat/sigchld_codes.h xlat/sigemt_codes.h xlat/sigev_value.h xlat/sigfpe_codes.h xlat/sigill_codes.h xlat/siginfo_codes.h xlat/sigpoll_codes.h xlat/sigprocmaskcmds.h xlat/sigprof_codes.h xlat/sigsegv_codes.h xlat/sigsys_codes.h xlat/sigtrap_codes.h xlat/socketlayers.h xlat/sockipoptions.h xlat/sockipv6options.h xlat/sockipxoptions.h xlat/sockoptions.h xlat/sockpacketoptions.h xlat/sockrawoptions.h xlat/socksctpoptions.h xlat/socktcpoptions.h xlat/sock_type_flags.h xlat/socktypes.h xlat/splice_flags.h xlat/sram_alloc_flags.h xlat/swap_flags.h xlat/sync_file_range_flags.h xlat/sysctl_kern.h xlat/sysctl_net_core.h xlat/sysctl_net.h xlat/sysctl_net_ipv4_conf.h xlat/sysctl_net_ipv4.h xlat/sysctl_net_ipv4_route.h xlat/sysctl_net_ipv6.h xlat/sysctl_net_ipv6_route.h xlat/sysctl_net_unix.h xlat/sysctl_root.h xlat/sysctl_vm.h xlat/syslog_action_type.h xlat/sysmips_operations.h xlat/tcflsh_options.h xlat/tcxonc_options.h xlat/timerfdflags.h xlat/ubi_volume_props.h xlat/ubi_volume_types.h xlat/umount_flags.h xlat/usagewho.h xlat/wait4_options.h xlat/waitid_types.h xlat/whence_codes.h xlat/xattrflags.h xlat/xfs_dqblk_flags.h xlat/xfs_quota_flags.h 
+$(top_srcdir)/xlat/access_flags.h: $(top_srcdir)/xlat/access_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/aclcmds.h: $(top_srcdir)/xlat/aclcmds.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/aclipc.h: $(top_srcdir)/xlat/aclipc.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/addrfams.h: $(top_srcdir)/xlat/addrfams.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/adjtimex_modes.h: $(top_srcdir)/xlat/adjtimex_modes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/adjtimex_state.h: $(top_srcdir)/xlat/adjtimex_state.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/adjtimex_status.h: $(top_srcdir)/xlat/adjtimex_status.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/advise.h: $(top_srcdir)/xlat/advise.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/af_packet_types.h: $(top_srcdir)/xlat/af_packet_types.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/archvals.h: $(top_srcdir)/xlat/archvals.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/at_flags.h: $(top_srcdir)/xlat/at_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/atomic_ops.h: $(top_srcdir)/xlat/atomic_ops.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/baud_options.h: $(top_srcdir)/xlat/baud_options.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/blkpg_ops.h: $(top_srcdir)/xlat/blkpg_ops.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bootflags1.h: $(top_srcdir)/xlat/bootflags1.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bootflags2.h: $(top_srcdir)/xlat/bootflags2.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bootflags3.h: $(top_srcdir)/xlat/bootflags3.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/cacheflush_scope.h: $(top_srcdir)/xlat/cacheflush_scope.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/capabilities.h: $(top_srcdir)/xlat/capabilities.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/cap_version.h: $(top_srcdir)/xlat/cap_version.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/clockflags.h: $(top_srcdir)/xlat/clockflags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/clocknames.h: $(top_srcdir)/xlat/clocknames.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/clone_flags.h: $(top_srcdir)/xlat/clone_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/cpuclocknames.h: $(top_srcdir)/xlat/cpuclocknames.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/delete_module_flags.h: $(top_srcdir)/xlat/delete_module_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/direnttypes.h: $(top_srcdir)/xlat/direnttypes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/domains.h: $(top_srcdir)/xlat/domains.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/epollctls.h: $(top_srcdir)/xlat/epollctls.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/epollevents.h: $(top_srcdir)/xlat/epollevents.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/epollflags.h: $(top_srcdir)/xlat/epollflags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fan_classes.h: $(top_srcdir)/xlat/fan_classes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fan_event_flags.h: $(top_srcdir)/xlat/fan_event_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fan_init_flags.h: $(top_srcdir)/xlat/fan_init_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fan_mark_flags.h: $(top_srcdir)/xlat/fan_mark_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fcntlcmds.h: $(top_srcdir)/xlat/fcntlcmds.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fdflags.h: $(top_srcdir)/xlat/fdflags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fileflags.h: $(top_srcdir)/xlat/fileflags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/flockcmds.h: $(top_srcdir)/xlat/flockcmds.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fsmagic.h: $(top_srcdir)/xlat/fsmagic.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/futexops.h: $(top_srcdir)/xlat/futexops.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/futexwakecmps.h: $(top_srcdir)/xlat/futexwakecmps.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/futexwakeops.h: $(top_srcdir)/xlat/futexwakeops.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/icmpfilterflags.h: $(top_srcdir)/xlat/icmpfilterflags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/if_dqblk_valid.h: $(top_srcdir)/xlat/if_dqblk_valid.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/if_dqinfo_valid.h: $(top_srcdir)/xlat/if_dqinfo_valid.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/iffflags.h: $(top_srcdir)/xlat/iffflags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/inet_protocols.h: $(top_srcdir)/xlat/inet_protocols.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/inotify_flags.h: $(top_srcdir)/xlat/inotify_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/inotify_init_flags.h: $(top_srcdir)/xlat/inotify_init_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ioprio_class.h: $(top_srcdir)/xlat/ioprio_class.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ioprio_who.h: $(top_srcdir)/xlat/ioprio_who.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ipc_msg_flags.h: $(top_srcdir)/xlat/ipc_msg_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/itimer_which.h: $(top_srcdir)/xlat/itimer_which.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/kexec_arch_values.h: $(top_srcdir)/xlat/kexec_arch_values.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/kexec_flags.h: $(top_srcdir)/xlat/kexec_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/keyctl_commands.h: $(top_srcdir)/xlat/keyctl_commands.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/key_perms.h: $(top_srcdir)/xlat/key_perms.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/key_reqkeys.h: $(top_srcdir)/xlat/key_reqkeys.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/key_spec.h: $(top_srcdir)/xlat/key_spec.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/lockfcmds.h: $(top_srcdir)/xlat/lockfcmds.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/loop_crypt_type_options.h: $(top_srcdir)/xlat/loop_crypt_type_options.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/loop_flags_options.h: $(top_srcdir)/xlat/loop_flags_options.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/madvise_cmds.h: $(top_srcdir)/xlat/madvise_cmds.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mbindflags.h: $(top_srcdir)/xlat/mbindflags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mctl_funcs.h: $(top_srcdir)/xlat/mctl_funcs.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mctl_lockas.h: $(top_srcdir)/xlat/mctl_lockas.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mctl_sync.h: $(top_srcdir)/xlat/mctl_sync.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mempolicyflags.h: $(top_srcdir)/xlat/mempolicyflags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mlockall_flags.h: $(top_srcdir)/xlat/mlockall_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mmap_flags.h: $(top_srcdir)/xlat/mmap_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mmap_prot.h: $(top_srcdir)/xlat/mmap_prot.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/modem_flags.h: $(top_srcdir)/xlat/modem_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/modetypes.h: $(top_srcdir)/xlat/modetypes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/modflags.h: $(top_srcdir)/xlat/modflags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/module_init_flags.h: $(top_srcdir)/xlat/module_init_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mount_flags.h: $(top_srcdir)/xlat/mount_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/move_pages_flags.h: $(top_srcdir)/xlat/move_pages_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mremap_flags.h: $(top_srcdir)/xlat/mremap_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/msgctl_flags.h: $(top_srcdir)/xlat/msgctl_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/msg_flags.h: $(top_srcdir)/xlat/msg_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/msgflags.h: $(top_srcdir)/xlat/msgflags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mtd_flags_options.h: $(top_srcdir)/xlat/mtd_flags_options.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mtd_mode_options.h: $(top_srcdir)/xlat/mtd_mode_options.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mtd_nandecc_options.h: $(top_srcdir)/xlat/mtd_nandecc_options.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mtd_otp_options.h: $(top_srcdir)/xlat/mtd_otp_options.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mtd_type_options.h: $(top_srcdir)/xlat/mtd_type_options.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netlink_protocols.h: $(top_srcdir)/xlat/netlink_protocols.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/notifyflags.h: $(top_srcdir)/xlat/notifyflags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nt_descriptor_types.h: $(top_srcdir)/xlat/nt_descriptor_types.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/open_access_modes.h: $(top_srcdir)/xlat/open_access_modes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/open_mode_flags.h: $(top_srcdir)/xlat/open_mode_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/openmodessol.h: $(top_srcdir)/xlat/openmodessol.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/perf_event_open_flags.h: $(top_srcdir)/xlat/perf_event_open_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/personality_options.h: $(top_srcdir)/xlat/personality_options.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/pmsgflags.h: $(top_srcdir)/xlat/pmsgflags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/policies.h: $(top_srcdir)/xlat/policies.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/pollflags.h: $(top_srcdir)/xlat/pollflags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/prctl_options.h: $(top_srcdir)/xlat/prctl_options.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/priorities.h: $(top_srcdir)/xlat/priorities.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ptp_flags_options.h: $(top_srcdir)/xlat/ptp_flags_options.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ptrace_cmds.h: $(top_srcdir)/xlat/ptrace_cmds.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ptrace_setoptions_flags.h: $(top_srcdir)/xlat/ptrace_setoptions_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/qm_which.h: $(top_srcdir)/xlat/qm_which.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/quotacmds.h: $(top_srcdir)/xlat/quotacmds.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/quota_formats.h: $(top_srcdir)/xlat/quota_formats.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/quotatypes.h: $(top_srcdir)/xlat/quotatypes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/resource_flags.h: $(top_srcdir)/xlat/resource_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/resources.h: $(top_srcdir)/xlat/resources.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/schedulers.h: $(top_srcdir)/xlat/schedulers.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/scmvals.h: $(top_srcdir)/xlat/scmvals.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/semctl_flags.h: $(top_srcdir)/xlat/semctl_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/semop_flags.h: $(top_srcdir)/xlat/semop_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sg_io_dxfer_direction.h: $(top_srcdir)/xlat/sg_io_dxfer_direction.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/shmctl_flags.h: $(top_srcdir)/xlat/shmctl_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/shm_flags.h: $(top_srcdir)/xlat/shm_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/shm_resource_flags.h: $(top_srcdir)/xlat/shm_resource_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/shutdown_modes.h: $(top_srcdir)/xlat/shutdown_modes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigact_flags.h: $(top_srcdir)/xlat/sigact_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigaltstack_flags.h: $(top_srcdir)/xlat/sigaltstack_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigbus_codes.h: $(top_srcdir)/xlat/sigbus_codes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigchld_codes.h: $(top_srcdir)/xlat/sigchld_codes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigemt_codes.h: $(top_srcdir)/xlat/sigemt_codes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigev_value.h: $(top_srcdir)/xlat/sigev_value.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigfpe_codes.h: $(top_srcdir)/xlat/sigfpe_codes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigill_codes.h: $(top_srcdir)/xlat/sigill_codes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/siginfo_codes.h: $(top_srcdir)/xlat/siginfo_codes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigpoll_codes.h: $(top_srcdir)/xlat/sigpoll_codes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigprocmaskcmds.h: $(top_srcdir)/xlat/sigprocmaskcmds.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigprof_codes.h: $(top_srcdir)/xlat/sigprof_codes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigsegv_codes.h: $(top_srcdir)/xlat/sigsegv_codes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigsys_codes.h: $(top_srcdir)/xlat/sigsys_codes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigtrap_codes.h: $(top_srcdir)/xlat/sigtrap_codes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/socketlayers.h: $(top_srcdir)/xlat/socketlayers.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sockipoptions.h: $(top_srcdir)/xlat/sockipoptions.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sockipv6options.h: $(top_srcdir)/xlat/sockipv6options.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sockipxoptions.h: $(top_srcdir)/xlat/sockipxoptions.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sockoptions.h: $(top_srcdir)/xlat/sockoptions.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sockpacketoptions.h: $(top_srcdir)/xlat/sockpacketoptions.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sockrawoptions.h: $(top_srcdir)/xlat/sockrawoptions.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/socksctpoptions.h: $(top_srcdir)/xlat/socksctpoptions.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/socktcpoptions.h: $(top_srcdir)/xlat/socktcpoptions.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sock_type_flags.h: $(top_srcdir)/xlat/sock_type_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/socktypes.h: $(top_srcdir)/xlat/socktypes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/splice_flags.h: $(top_srcdir)/xlat/splice_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sram_alloc_flags.h: $(top_srcdir)/xlat/sram_alloc_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/swap_flags.h: $(top_srcdir)/xlat/swap_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sync_file_range_flags.h: $(top_srcdir)/xlat/sync_file_range_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_kern.h: $(top_srcdir)/xlat/sysctl_kern.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_net_core.h: $(top_srcdir)/xlat/sysctl_net_core.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_net.h: $(top_srcdir)/xlat/sysctl_net.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_net_ipv4_conf.h: $(top_srcdir)/xlat/sysctl_net_ipv4_conf.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_net_ipv4.h: $(top_srcdir)/xlat/sysctl_net_ipv4.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_net_ipv4_route.h: $(top_srcdir)/xlat/sysctl_net_ipv4_route.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_net_ipv6.h: $(top_srcdir)/xlat/sysctl_net_ipv6.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_net_ipv6_route.h: $(top_srcdir)/xlat/sysctl_net_ipv6_route.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_net_unix.h: $(top_srcdir)/xlat/sysctl_net_unix.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_root.h: $(top_srcdir)/xlat/sysctl_root.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_vm.h: $(top_srcdir)/xlat/sysctl_vm.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/syslog_action_type.h: $(top_srcdir)/xlat/syslog_action_type.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysmips_operations.h: $(top_srcdir)/xlat/sysmips_operations.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/tcflsh_options.h: $(top_srcdir)/xlat/tcflsh_options.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/tcxonc_options.h: $(top_srcdir)/xlat/tcxonc_options.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/timerfdflags.h: $(top_srcdir)/xlat/timerfdflags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ubi_volume_props.h: $(top_srcdir)/xlat/ubi_volume_props.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ubi_volume_types.h: $(top_srcdir)/xlat/ubi_volume_types.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/umount_flags.h: $(top_srcdir)/xlat/umount_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/usagewho.h: $(top_srcdir)/xlat/usagewho.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/wait4_options.h: $(top_srcdir)/xlat/wait4_options.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/waitid_types.h: $(top_srcdir)/xlat/waitid_types.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/whence_codes.h: $(top_srcdir)/xlat/whence_codes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/xattrflags.h: $(top_srcdir)/xlat/xattrflags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/xfs_dqblk_flags.h: $(top_srcdir)/xlat/xfs_dqblk_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/xfs_quota_flags.h: $(top_srcdir)/xlat/xfs_quota_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
diff --git a/xlat/access_flags.h b/xlat/access_flags.h
new file mode 100644
index 0000000..afce1ef
--- /dev/null
+++ b/xlat/access_flags.h
@@ -0,0 +1,23 @@
+/* Generated by ./xlat/gen.sh from ./xlat/access_flags.in; do not edit. */
+
+static const struct xlat access_flags[] = {
+#if defined(F_OK) || (defined(HAVE_DECL_F_OK) && HAVE_DECL_F_OK)
+	XLAT(F_OK),
+#endif
+#if defined(R_OK) || (defined(HAVE_DECL_R_OK) && HAVE_DECL_R_OK)
+	XLAT(R_OK),
+#endif
+#if defined(W_OK) || (defined(HAVE_DECL_W_OK) && HAVE_DECL_W_OK)
+	XLAT(W_OK),
+#endif
+#if defined(X_OK) || (defined(HAVE_DECL_X_OK) && HAVE_DECL_X_OK)
+	XLAT(X_OK),
+#endif
+#if defined(EFF_ONLY_OK) || (defined(HAVE_DECL_EFF_ONLY_OK) && HAVE_DECL_EFF_ONLY_OK)
+	XLAT(EFF_ONLY_OK),
+#endif
+#if defined(EX_OK) || (defined(HAVE_DECL_EX_OK) && HAVE_DECL_EX_OK)
+	XLAT(EX_OK),
+#endif
+	XLAT_END
+};
diff --git a/xlat/aclcmds.h b/xlat/aclcmds.h
new file mode 100644
index 0000000..d12302a
--- /dev/null
+++ b/xlat/aclcmds.h
@@ -0,0 +1,23 @@
+/* Generated by ./xlat/gen.sh from ./xlat/aclcmds.in; do not edit. */
+
+static const struct xlat aclcmds[] = {
+#if defined(SETACL) || (defined(HAVE_DECL_SETACL) && HAVE_DECL_SETACL)
+	XLAT(SETACL),
+#endif
+#if defined(GETACL) || (defined(HAVE_DECL_GETACL) && HAVE_DECL_GETACL)
+	XLAT(GETACL),
+#endif
+#if defined(GETACLCNT) || (defined(HAVE_DECL_GETACLCNT) && HAVE_DECL_GETACLCNT)
+	XLAT(GETACLCNT),
+#endif
+#if defined(ACL_GET) || (defined(HAVE_DECL_ACL_GET) && HAVE_DECL_ACL_GET)
+	XLAT(ACL_GET),
+#endif
+#if defined(ACL_SET) || (defined(HAVE_DECL_ACL_SET) && HAVE_DECL_ACL_SET)
+	XLAT(ACL_SET),
+#endif
+#if defined(ACL_CNT) || (defined(HAVE_DECL_ACL_CNT) && HAVE_DECL_ACL_CNT)
+	XLAT(ACL_CNT),
+#endif
+	XLAT_END
+};
diff --git a/xlat/aclipc.h b/xlat/aclipc.h
new file mode 100644
index 0000000..82b7949
--- /dev/null
+++ b/xlat/aclipc.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/aclipc.in; do not edit. */
+
+static const struct xlat aclipc[] = {
+#if defined(IPC_SHM) || (defined(HAVE_DECL_IPC_SHM) && HAVE_DECL_IPC_SHM)
+	XLAT(IPC_SHM),
+#endif
+#if defined(IPC_SEM) || (defined(HAVE_DECL_IPC_SEM) && HAVE_DECL_IPC_SEM)
+	XLAT(IPC_SEM),
+#endif
+#if defined(IPC_MSG) || (defined(HAVE_DECL_IPC_MSG) && HAVE_DECL_IPC_MSG)
+	XLAT(IPC_MSG),
+#endif
+	XLAT_END
+};
diff --git a/xlat/addrfams.h b/xlat/addrfams.h
new file mode 100644
index 0000000..c3489c5
--- /dev/null
+++ b/xlat/addrfams.h
@@ -0,0 +1,128 @@
+/* Generated by ./xlat/gen.sh from ./xlat/addrfams.in; do not edit. */
+
+const struct xlat addrfams[] = {
+#if defined(AF_UNSPEC) || (defined(HAVE_DECL_AF_UNSPEC) && HAVE_DECL_AF_UNSPEC)
+	XLAT(AF_UNSPEC),
+#endif
+#if defined(AF_LOCAL) || (defined(HAVE_DECL_AF_LOCAL) && HAVE_DECL_AF_LOCAL)
+	XLAT(AF_LOCAL),
+#endif
+#if defined(AF_UNIX) || (defined(HAVE_DECL_AF_UNIX) && HAVE_DECL_AF_UNIX)
+	XLAT(AF_UNIX),
+#endif
+#if defined(AF_INET) || (defined(HAVE_DECL_AF_INET) && HAVE_DECL_AF_INET)
+	XLAT(AF_INET),
+#endif
+#if defined(AF_AX25) || (defined(HAVE_DECL_AF_AX25) && HAVE_DECL_AF_AX25)
+	XLAT(AF_AX25),
+#endif
+#if defined(AF_IPX) || (defined(HAVE_DECL_AF_IPX) && HAVE_DECL_AF_IPX)
+	XLAT(AF_IPX),
+#endif
+#if defined(AF_APPLETALK) || (defined(HAVE_DECL_AF_APPLETALK) && HAVE_DECL_AF_APPLETALK)
+	XLAT(AF_APPLETALK),
+#endif
+#if defined(AF_NETROM) || (defined(HAVE_DECL_AF_NETROM) && HAVE_DECL_AF_NETROM)
+	XLAT(AF_NETROM),
+#endif
+#if defined(AF_BRIDGE) || (defined(HAVE_DECL_AF_BRIDGE) && HAVE_DECL_AF_BRIDGE)
+	XLAT(AF_BRIDGE),
+#endif
+#if defined(AF_ATMPVC) || (defined(HAVE_DECL_AF_ATMPVC) && HAVE_DECL_AF_ATMPVC)
+	XLAT(AF_ATMPVC),
+#endif
+#if defined(AF_X25) || (defined(HAVE_DECL_AF_X25) && HAVE_DECL_AF_X25)
+	XLAT(AF_X25),
+#endif
+#if defined(AF_INET6) || (defined(HAVE_DECL_AF_INET6) && HAVE_DECL_AF_INET6)
+	XLAT(AF_INET6),
+#endif
+#if defined(AF_ROSE) || (defined(HAVE_DECL_AF_ROSE) && HAVE_DECL_AF_ROSE)
+	XLAT(AF_ROSE),
+#endif
+#if defined(AF_DECnet) || (defined(HAVE_DECL_AF_DECnet) && HAVE_DECL_AF_DECnet)
+	XLAT(AF_DECnet),
+#endif
+#if defined(AF_NETBEUI) || (defined(HAVE_DECL_AF_NETBEUI) && HAVE_DECL_AF_NETBEUI)
+	XLAT(AF_NETBEUI),
+#endif
+#if defined(AF_SECURITY) || (defined(HAVE_DECL_AF_SECURITY) && HAVE_DECL_AF_SECURITY)
+	XLAT(AF_SECURITY),
+#endif
+#if defined(AF_KEY) || (defined(HAVE_DECL_AF_KEY) && HAVE_DECL_AF_KEY)
+	XLAT(AF_KEY),
+#endif
+#if defined(AF_NETLINK) || (defined(HAVE_DECL_AF_NETLINK) && HAVE_DECL_AF_NETLINK)
+	XLAT(AF_NETLINK),
+#endif
+#if defined(AF_ROUTE) || (defined(HAVE_DECL_AF_ROUTE) && HAVE_DECL_AF_ROUTE)
+	XLAT(AF_ROUTE),
+#endif
+#if defined(AF_PACKET) || (defined(HAVE_DECL_AF_PACKET) && HAVE_DECL_AF_PACKET)
+	XLAT(AF_PACKET),
+#endif
+#if defined(AF_ASH) || (defined(HAVE_DECL_AF_ASH) && HAVE_DECL_AF_ASH)
+	XLAT(AF_ASH),
+#endif
+#if defined(AF_ECONET) || (defined(HAVE_DECL_AF_ECONET) && HAVE_DECL_AF_ECONET)
+	XLAT(AF_ECONET),
+#endif
+#if defined(AF_ATMSVC) || (defined(HAVE_DECL_AF_ATMSVC) && HAVE_DECL_AF_ATMSVC)
+	XLAT(AF_ATMSVC),
+#endif
+#if defined(AF_RDS) || (defined(HAVE_DECL_AF_RDS) && HAVE_DECL_AF_RDS)
+	XLAT(AF_RDS),
+#endif
+#if defined(AF_SNA) || (defined(HAVE_DECL_AF_SNA) && HAVE_DECL_AF_SNA)
+	XLAT(AF_SNA),
+#endif
+#if defined(AF_IRDA) || (defined(HAVE_DECL_AF_IRDA) && HAVE_DECL_AF_IRDA)
+	XLAT(AF_IRDA),
+#endif
+#if defined(AF_PPPOX) || (defined(HAVE_DECL_AF_PPPOX) && HAVE_DECL_AF_PPPOX)
+	XLAT(AF_PPPOX),
+#endif
+#if defined(AF_WANPIPE) || (defined(HAVE_DECL_AF_WANPIPE) && HAVE_DECL_AF_WANPIPE)
+	XLAT(AF_WANPIPE),
+#endif
+#if defined(AF_LLC) || (defined(HAVE_DECL_AF_LLC) && HAVE_DECL_AF_LLC)
+	XLAT(AF_LLC),
+#endif
+#if defined(AF_CAN) || (defined(HAVE_DECL_AF_CAN) && HAVE_DECL_AF_CAN)
+	XLAT(AF_CAN),
+#endif
+#if defined(AF_TIPC) || (defined(HAVE_DECL_AF_TIPC) && HAVE_DECL_AF_TIPC)
+	XLAT(AF_TIPC),
+#endif
+#if defined(AF_BLUETOOTH) || (defined(HAVE_DECL_AF_BLUETOOTH) && HAVE_DECL_AF_BLUETOOTH)
+	XLAT(AF_BLUETOOTH),
+#endif
+#if defined(AF_IUCV) || (defined(HAVE_DECL_AF_IUCV) && HAVE_DECL_AF_IUCV)
+	XLAT(AF_IUCV),
+#endif
+#if defined(AF_RXRPC) || (defined(HAVE_DECL_AF_RXRPC) && HAVE_DECL_AF_RXRPC)
+	XLAT(AF_RXRPC),
+#endif
+#if defined(AF_ISDN) || (defined(HAVE_DECL_AF_ISDN) && HAVE_DECL_AF_ISDN)
+	XLAT(AF_ISDN),
+#endif
+#if defined(AF_PHONET) || (defined(HAVE_DECL_AF_PHONET) && HAVE_DECL_AF_PHONET)
+	XLAT(AF_PHONET),
+#endif
+#if defined(AF_IEEE802154) || (defined(HAVE_DECL_AF_IEEE802154) && HAVE_DECL_AF_IEEE802154)
+	XLAT(AF_IEEE802154),
+#endif
+#if defined(AF_CAIF) || (defined(HAVE_DECL_AF_CAIF) && HAVE_DECL_AF_CAIF)
+	XLAT(AF_CAIF),
+#endif
+#if defined(AF_ALG) || (defined(HAVE_DECL_AF_ALG) && HAVE_DECL_AF_ALG)
+	XLAT(AF_ALG),
+#endif
+#if defined(AF_NFC) || (defined(HAVE_DECL_AF_NFC) && HAVE_DECL_AF_NFC)
+	XLAT(AF_NFC),
+#endif
+#if defined(AF_VSOCK) || (defined(HAVE_DECL_AF_VSOCK) && HAVE_DECL_AF_VSOCK)
+	XLAT(AF_VSOCK),
+#endif
+	XLAT_END
+};
diff --git a/xlat/adjtimex_modes.h b/xlat/adjtimex_modes.h
new file mode 100644
index 0000000..37461f8
--- /dev/null
+++ b/xlat/adjtimex_modes.h
@@ -0,0 +1,45 @@
+/* Generated by ./xlat/gen.sh from ./xlat/adjtimex_modes.in; do not edit. */
+
+static const struct xlat adjtimex_modes[] = {
+	XLAT(0),
+#if defined(ADJ_OFFSET) || (defined(HAVE_DECL_ADJ_OFFSET) && HAVE_DECL_ADJ_OFFSET)
+	XLAT(ADJ_OFFSET),
+#endif
+#if defined(ADJ_FREQUENCY) || (defined(HAVE_DECL_ADJ_FREQUENCY) && HAVE_DECL_ADJ_FREQUENCY)
+	XLAT(ADJ_FREQUENCY),
+#endif
+#if defined(ADJ_MAXERROR) || (defined(HAVE_DECL_ADJ_MAXERROR) && HAVE_DECL_ADJ_MAXERROR)
+	XLAT(ADJ_MAXERROR),
+#endif
+#if defined(ADJ_ESTERROR) || (defined(HAVE_DECL_ADJ_ESTERROR) && HAVE_DECL_ADJ_ESTERROR)
+	XLAT(ADJ_ESTERROR),
+#endif
+#if defined(ADJ_STATUS) || (defined(HAVE_DECL_ADJ_STATUS) && HAVE_DECL_ADJ_STATUS)
+	XLAT(ADJ_STATUS),
+#endif
+#if defined(ADJ_TIMECONST) || (defined(HAVE_DECL_ADJ_TIMECONST) && HAVE_DECL_ADJ_TIMECONST)
+	XLAT(ADJ_TIMECONST),
+#endif
+#if defined(ADJ_TAI) || (defined(HAVE_DECL_ADJ_TAI) && HAVE_DECL_ADJ_TAI)
+	XLAT(ADJ_TAI),
+#endif
+#if defined(ADJ_SETOFFSET) || (defined(HAVE_DECL_ADJ_SETOFFSET) && HAVE_DECL_ADJ_SETOFFSET)
+	XLAT(ADJ_SETOFFSET),
+#endif
+#if defined(ADJ_MICRO) || (defined(HAVE_DECL_ADJ_MICRO) && HAVE_DECL_ADJ_MICRO)
+	XLAT(ADJ_MICRO),
+#endif
+#if defined(ADJ_NANO) || (defined(HAVE_DECL_ADJ_NANO) && HAVE_DECL_ADJ_NANO)
+	XLAT(ADJ_NANO),
+#endif
+#if defined(ADJ_TICK) || (defined(HAVE_DECL_ADJ_TICK) && HAVE_DECL_ADJ_TICK)
+	XLAT(ADJ_TICK),
+#endif
+#if defined(ADJ_OFFSET_SINGLESHOT) || (defined(HAVE_DECL_ADJ_OFFSET_SINGLESHOT) && HAVE_DECL_ADJ_OFFSET_SINGLESHOT)
+	XLAT(ADJ_OFFSET_SINGLESHOT),
+#endif
+#if defined(ADJ_OFFSET_SS_READ) || (defined(HAVE_DECL_ADJ_OFFSET_SS_READ) && HAVE_DECL_ADJ_OFFSET_SS_READ)
+	XLAT(ADJ_OFFSET_SS_READ),
+#endif
+	XLAT_END
+};
diff --git a/xlat/adjtimex_state.h b/xlat/adjtimex_state.h
new file mode 100644
index 0000000..ff31449
--- /dev/null
+++ b/xlat/adjtimex_state.h
@@ -0,0 +1,23 @@
+/* Generated by ./xlat/gen.sh from ./xlat/adjtimex_state.in; do not edit. */
+
+static const struct xlat adjtimex_state[] = {
+#if defined(TIME_OK) || (defined(HAVE_DECL_TIME_OK) && HAVE_DECL_TIME_OK)
+	XLAT(TIME_OK),
+#endif
+#if defined(TIME_INS) || (defined(HAVE_DECL_TIME_INS) && HAVE_DECL_TIME_INS)
+	XLAT(TIME_INS),
+#endif
+#if defined(TIME_DEL) || (defined(HAVE_DECL_TIME_DEL) && HAVE_DECL_TIME_DEL)
+	XLAT(TIME_DEL),
+#endif
+#if defined(TIME_OOP) || (defined(HAVE_DECL_TIME_OOP) && HAVE_DECL_TIME_OOP)
+	XLAT(TIME_OOP),
+#endif
+#if defined(TIME_WAIT) || (defined(HAVE_DECL_TIME_WAIT) && HAVE_DECL_TIME_WAIT)
+	XLAT(TIME_WAIT),
+#endif
+#if defined(TIME_ERROR) || (defined(HAVE_DECL_TIME_ERROR) && HAVE_DECL_TIME_ERROR)
+	XLAT(TIME_ERROR),
+#endif
+	XLAT_END
+};
diff --git a/xlat/adjtimex_status.h b/xlat/adjtimex_status.h
new file mode 100644
index 0000000..f1a7c99
--- /dev/null
+++ b/xlat/adjtimex_status.h
@@ -0,0 +1,53 @@
+/* Generated by ./xlat/gen.sh from ./xlat/adjtimex_status.in; do not edit. */
+
+static const struct xlat adjtimex_status[] = {
+#if defined(STA_PLL) || (defined(HAVE_DECL_STA_PLL) && HAVE_DECL_STA_PLL)
+	XLAT(STA_PLL),
+#endif
+#if defined(STA_PPSFREQ) || (defined(HAVE_DECL_STA_PPSFREQ) && HAVE_DECL_STA_PPSFREQ)
+	XLAT(STA_PPSFREQ),
+#endif
+#if defined(STA_PPSTIME) || (defined(HAVE_DECL_STA_PPSTIME) && HAVE_DECL_STA_PPSTIME)
+	XLAT(STA_PPSTIME),
+#endif
+#if defined(STA_FLL) || (defined(HAVE_DECL_STA_FLL) && HAVE_DECL_STA_FLL)
+	XLAT(STA_FLL),
+#endif
+#if defined(STA_INS) || (defined(HAVE_DECL_STA_INS) && HAVE_DECL_STA_INS)
+	XLAT(STA_INS),
+#endif
+#if defined(STA_DEL) || (defined(HAVE_DECL_STA_DEL) && HAVE_DECL_STA_DEL)
+	XLAT(STA_DEL),
+#endif
+#if defined(STA_UNSYNC) || (defined(HAVE_DECL_STA_UNSYNC) && HAVE_DECL_STA_UNSYNC)
+	XLAT(STA_UNSYNC),
+#endif
+#if defined(STA_FREQHOLD) || (defined(HAVE_DECL_STA_FREQHOLD) && HAVE_DECL_STA_FREQHOLD)
+	XLAT(STA_FREQHOLD),
+#endif
+#if defined(STA_PPSSIGNAL) || (defined(HAVE_DECL_STA_PPSSIGNAL) && HAVE_DECL_STA_PPSSIGNAL)
+	XLAT(STA_PPSSIGNAL),
+#endif
+#if defined(STA_PPSJITTER) || (defined(HAVE_DECL_STA_PPSJITTER) && HAVE_DECL_STA_PPSJITTER)
+	XLAT(STA_PPSJITTER),
+#endif
+#if defined(STA_PPSWANDER) || (defined(HAVE_DECL_STA_PPSWANDER) && HAVE_DECL_STA_PPSWANDER)
+	XLAT(STA_PPSWANDER),
+#endif
+#if defined(STA_PPSERROR) || (defined(HAVE_DECL_STA_PPSERROR) && HAVE_DECL_STA_PPSERROR)
+	XLAT(STA_PPSERROR),
+#endif
+#if defined(STA_CLOCKERR) || (defined(HAVE_DECL_STA_CLOCKERR) && HAVE_DECL_STA_CLOCKERR)
+	XLAT(STA_CLOCKERR),
+#endif
+#if defined(STA_NANO) || (defined(HAVE_DECL_STA_NANO) && HAVE_DECL_STA_NANO)
+	XLAT(STA_NANO),
+#endif
+#if defined(STA_MODE) || (defined(HAVE_DECL_STA_MODE) && HAVE_DECL_STA_MODE)
+	XLAT(STA_MODE),
+#endif
+#if defined(STA_CLK) || (defined(HAVE_DECL_STA_CLK) && HAVE_DECL_STA_CLK)
+	XLAT(STA_CLK),
+#endif
+	XLAT_END
+};
diff --git a/xlat/advise.h b/xlat/advise.h
new file mode 100644
index 0000000..58e9bd8
--- /dev/null
+++ b/xlat/advise.h
@@ -0,0 +1,23 @@
+/* Generated by ./xlat/gen.sh from ./xlat/advise.in; do not edit. */
+
+static const struct xlat advise[] = {
+#if defined(POSIX_FADV_NORMAL) || (defined(HAVE_DECL_POSIX_FADV_NORMAL) && HAVE_DECL_POSIX_FADV_NORMAL)
+	XLAT(POSIX_FADV_NORMAL),
+#endif
+#if defined(POSIX_FADV_RANDOM) || (defined(HAVE_DECL_POSIX_FADV_RANDOM) && HAVE_DECL_POSIX_FADV_RANDOM)
+	XLAT(POSIX_FADV_RANDOM),
+#endif
+#if defined(POSIX_FADV_SEQUENTIAL) || (defined(HAVE_DECL_POSIX_FADV_SEQUENTIAL) && HAVE_DECL_POSIX_FADV_SEQUENTIAL)
+	XLAT(POSIX_FADV_SEQUENTIAL),
+#endif
+#if defined(POSIX_FADV_WILLNEED) || (defined(HAVE_DECL_POSIX_FADV_WILLNEED) && HAVE_DECL_POSIX_FADV_WILLNEED)
+	XLAT(POSIX_FADV_WILLNEED),
+#endif
+#if defined(POSIX_FADV_DONTNEED) || (defined(HAVE_DECL_POSIX_FADV_DONTNEED) && HAVE_DECL_POSIX_FADV_DONTNEED)
+	XLAT(POSIX_FADV_DONTNEED),
+#endif
+#if defined(POSIX_FADV_NOREUSE) || (defined(HAVE_DECL_POSIX_FADV_NOREUSE) && HAVE_DECL_POSIX_FADV_NOREUSE)
+	XLAT(POSIX_FADV_NOREUSE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/af_packet_types.h b/xlat/af_packet_types.h
new file mode 100644
index 0000000..64eeff2
--- /dev/null
+++ b/xlat/af_packet_types.h
@@ -0,0 +1,26 @@
+/* Generated by ./xlat/gen.sh from ./xlat/af_packet_types.in; do not edit. */
+
+static const struct xlat af_packet_types[] = {
+#if defined(PACKET_HOST) || (defined(HAVE_DECL_PACKET_HOST) && HAVE_DECL_PACKET_HOST)
+	XLAT(PACKET_HOST),
+#endif
+#if defined(PACKET_BROADCAST) || (defined(HAVE_DECL_PACKET_BROADCAST) && HAVE_DECL_PACKET_BROADCAST)
+	XLAT(PACKET_BROADCAST),
+#endif
+#if defined(PACKET_MULTICAST) || (defined(HAVE_DECL_PACKET_MULTICAST) && HAVE_DECL_PACKET_MULTICAST)
+	XLAT(PACKET_MULTICAST),
+#endif
+#if defined(PACKET_OTHERHOST) || (defined(HAVE_DECL_PACKET_OTHERHOST) && HAVE_DECL_PACKET_OTHERHOST)
+	XLAT(PACKET_OTHERHOST),
+#endif
+#if defined(PACKET_OUTGOING) || (defined(HAVE_DECL_PACKET_OUTGOING) && HAVE_DECL_PACKET_OUTGOING)
+	XLAT(PACKET_OUTGOING),
+#endif
+#if defined(PACKET_LOOPBACK) || (defined(HAVE_DECL_PACKET_LOOPBACK) && HAVE_DECL_PACKET_LOOPBACK)
+	XLAT(PACKET_LOOPBACK),
+#endif
+#if defined(PACKET_FASTROUTE) || (defined(HAVE_DECL_PACKET_FASTROUTE) && HAVE_DECL_PACKET_FASTROUTE)
+	XLAT(PACKET_FASTROUTE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/archvals.h b/xlat/archvals.h
new file mode 100644
index 0000000..6e17eb8
--- /dev/null
+++ b/xlat/archvals.h
@@ -0,0 +1,17 @@
+/* Generated by ./xlat/gen.sh from ./xlat/archvals.in; do not edit. */
+
+static const struct xlat archvals[] = {
+#if defined(ARCH_SET_GS) || (defined(HAVE_DECL_ARCH_SET_GS) && HAVE_DECL_ARCH_SET_GS)
+	XLAT(ARCH_SET_GS),
+#endif
+#if defined(ARCH_SET_FS) || (defined(HAVE_DECL_ARCH_SET_FS) && HAVE_DECL_ARCH_SET_FS)
+	XLAT(ARCH_SET_FS),
+#endif
+#if defined(ARCH_GET_FS) || (defined(HAVE_DECL_ARCH_GET_FS) && HAVE_DECL_ARCH_GET_FS)
+	XLAT(ARCH_GET_FS),
+#endif
+#if defined(ARCH_GET_GS) || (defined(HAVE_DECL_ARCH_GET_GS) && HAVE_DECL_ARCH_GET_GS)
+	XLAT(ARCH_GET_GS),
+#endif
+	XLAT_END
+};
diff --git a/xlat/at_flags.h b/xlat/at_flags.h
new file mode 100644
index 0000000..cbee3d2
--- /dev/null
+++ b/xlat/at_flags.h
@@ -0,0 +1,20 @@
+/* Generated by ./xlat/gen.sh from ./xlat/at_flags.in; do not edit. */
+
+static const struct xlat at_flags[] = {
+#if defined(AT_SYMLINK_NOFOLLOW) || (defined(HAVE_DECL_AT_SYMLINK_NOFOLLOW) && HAVE_DECL_AT_SYMLINK_NOFOLLOW)
+	XLAT(AT_SYMLINK_NOFOLLOW),
+#endif
+#if defined(AT_REMOVEDIR) || (defined(HAVE_DECL_AT_REMOVEDIR) && HAVE_DECL_AT_REMOVEDIR)
+	XLAT(AT_REMOVEDIR),
+#endif
+#if defined(AT_SYMLINK_FOLLOW) || (defined(HAVE_DECL_AT_SYMLINK_FOLLOW) && HAVE_DECL_AT_SYMLINK_FOLLOW)
+	XLAT(AT_SYMLINK_FOLLOW),
+#endif
+#if defined(AT_NO_AUTOMOUNT) || (defined(HAVE_DECL_AT_NO_AUTOMOUNT) && HAVE_DECL_AT_NO_AUTOMOUNT)
+	XLAT(AT_NO_AUTOMOUNT),
+#endif
+#if defined(AT_EMPTY_PATH) || (defined(HAVE_DECL_AT_EMPTY_PATH) && HAVE_DECL_AT_EMPTY_PATH)
+	XLAT(AT_EMPTY_PATH),
+#endif
+	XLAT_END
+};
diff --git a/xlat/atomic_ops.h b/xlat/atomic_ops.h
new file mode 100644
index 0000000..83c3a60
--- /dev/null
+++ b/xlat/atomic_ops.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/atomic_ops.in; do not edit. */
+
+static const struct xlat atomic_ops[] = {
+{ OR1K_ATOMIC_SWAP,		"SWAP"		},
+{ OR1K_ATOMIC_CMPXCHG,		"CMPXCHG"	},
+{ OR1K_ATOMIC_XCHG,		"XCHG"		},
+{ OR1K_ATOMIC_ADD,		"ADD"		},
+{ OR1K_ATOMIC_DECPOS,		"DECPOS"	},
+{ OR1K_ATOMIC_AND,		"AND"		},
+{ OR1K_ATOMIC_OR,		"OR"		},
+{ OR1K_ATOMIC_UMAX,		"UMAX"		},
+{ OR1K_ATOMIC_UMIN,		"UMIN"		},
+	XLAT_END
+};
diff --git a/xlat/baud_options.h b/xlat/baud_options.h
new file mode 100644
index 0000000..aff9b85
--- /dev/null
+++ b/xlat/baud_options.h
@@ -0,0 +1,104 @@
+/* Generated by ./xlat/gen.sh from ./xlat/baud_options.in; do not edit. */
+
+static const struct xlat baud_options[] = {
+#if defined(B0) || (defined(HAVE_DECL_B0) && HAVE_DECL_B0)
+	XLAT(B0),
+#endif
+#if defined(B50) || (defined(HAVE_DECL_B50) && HAVE_DECL_B50)
+	XLAT(B50),
+#endif
+#if defined(B75) || (defined(HAVE_DECL_B75) && HAVE_DECL_B75)
+	XLAT(B75),
+#endif
+#if defined(B110) || (defined(HAVE_DECL_B110) && HAVE_DECL_B110)
+	XLAT(B110),
+#endif
+#if defined(B134) || (defined(HAVE_DECL_B134) && HAVE_DECL_B134)
+	XLAT(B134),
+#endif
+#if defined(B150) || (defined(HAVE_DECL_B150) && HAVE_DECL_B150)
+	XLAT(B150),
+#endif
+#if defined(B200) || (defined(HAVE_DECL_B200) && HAVE_DECL_B200)
+	XLAT(B200),
+#endif
+#if defined(B300) || (defined(HAVE_DECL_B300) && HAVE_DECL_B300)
+	XLAT(B300),
+#endif
+#if defined(B600) || (defined(HAVE_DECL_B600) && HAVE_DECL_B600)
+	XLAT(B600),
+#endif
+#if defined(B1200) || (defined(HAVE_DECL_B1200) && HAVE_DECL_B1200)
+	XLAT(B1200),
+#endif
+#if defined(B1800) || (defined(HAVE_DECL_B1800) && HAVE_DECL_B1800)
+	XLAT(B1800),
+#endif
+#if defined(B2400) || (defined(HAVE_DECL_B2400) && HAVE_DECL_B2400)
+	XLAT(B2400),
+#endif
+#if defined(B4800) || (defined(HAVE_DECL_B4800) && HAVE_DECL_B4800)
+	XLAT(B4800),
+#endif
+#if defined(B9600) || (defined(HAVE_DECL_B9600) && HAVE_DECL_B9600)
+	XLAT(B9600),
+#endif
+#if defined(B19200) || (defined(HAVE_DECL_B19200) && HAVE_DECL_B19200)
+	XLAT(B19200),
+#endif
+#if defined(B38400) || (defined(HAVE_DECL_B38400) && HAVE_DECL_B38400)
+	XLAT(B38400),
+#endif
+#if defined(B57600) || (defined(HAVE_DECL_B57600) && HAVE_DECL_B57600)
+	XLAT(B57600),
+#endif
+#if defined(B115200) || (defined(HAVE_DECL_B115200) && HAVE_DECL_B115200)
+	XLAT(B115200),
+#endif
+#if defined(B230400) || (defined(HAVE_DECL_B230400) && HAVE_DECL_B230400)
+	XLAT(B230400),
+#endif
+#if defined(B460800) || (defined(HAVE_DECL_B460800) && HAVE_DECL_B460800)
+	XLAT(B460800),
+#endif
+#if defined(B500000) || (defined(HAVE_DECL_B500000) && HAVE_DECL_B500000)
+	XLAT(B500000),
+#endif
+#if defined(B576000) || (defined(HAVE_DECL_B576000) && HAVE_DECL_B576000)
+	XLAT(B576000),
+#endif
+#if defined(B921600) || (defined(HAVE_DECL_B921600) && HAVE_DECL_B921600)
+	XLAT(B921600),
+#endif
+#if defined(B1000000) || (defined(HAVE_DECL_B1000000) && HAVE_DECL_B1000000)
+	XLAT(B1000000),
+#endif
+#if defined(B1152000) || (defined(HAVE_DECL_B1152000) && HAVE_DECL_B1152000)
+	XLAT(B1152000),
+#endif
+#if defined(B1500000) || (defined(HAVE_DECL_B1500000) && HAVE_DECL_B1500000)
+	XLAT(B1500000),
+#endif
+#if defined(B2000000) || (defined(HAVE_DECL_B2000000) && HAVE_DECL_B2000000)
+	XLAT(B2000000),
+#endif
+#if defined(B2500000) || (defined(HAVE_DECL_B2500000) && HAVE_DECL_B2500000)
+	XLAT(B2500000),
+#endif
+#if defined(B3000000) || (defined(HAVE_DECL_B3000000) && HAVE_DECL_B3000000)
+	XLAT(B3000000),
+#endif
+#if defined(B3500000) || (defined(HAVE_DECL_B3500000) && HAVE_DECL_B3500000)
+	XLAT(B3500000),
+#endif
+#if defined(B4000000) || (defined(HAVE_DECL_B4000000) && HAVE_DECL_B4000000)
+	XLAT(B4000000),
+#endif
+#if defined(EXTA) || (defined(HAVE_DECL_EXTA) && HAVE_DECL_EXTA)
+	XLAT(EXTA),
+#endif
+#if defined(EXTB) || (defined(HAVE_DECL_EXTB) && HAVE_DECL_EXTB)
+	XLAT(EXTB),
+#endif
+	XLAT_END
+};
diff --git a/xlat/blkpg_ops.h b/xlat/blkpg_ops.h
new file mode 100644
index 0000000..cde1315
--- /dev/null
+++ b/xlat/blkpg_ops.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/blkpg_ops.in; do not edit. */
+
+static const struct xlat blkpg_ops[] = {
+#if defined(BLKPG_ADD_PARTITION) || (defined(HAVE_DECL_BLKPG_ADD_PARTITION) && HAVE_DECL_BLKPG_ADD_PARTITION)
+	XLAT(BLKPG_ADD_PARTITION),
+#endif
+#if defined(BLKPG_DEL_PARTITION) || (defined(HAVE_DECL_BLKPG_DEL_PARTITION) && HAVE_DECL_BLKPG_DEL_PARTITION)
+	XLAT(BLKPG_DEL_PARTITION),
+#endif
+	XLAT_END
+};
diff --git a/xlat/bootflags1.h b/xlat/bootflags1.h
new file mode 100644
index 0000000..05a01b2
--- /dev/null
+++ b/xlat/bootflags1.h
@@ -0,0 +1,8 @@
+/* Generated by ./xlat/gen.sh from ./xlat/bootflags1.in; do not edit. */
+
+static const struct xlat bootflags1[] = {
+#if defined(LINUX_REBOOT_MAGIC1) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC1) && HAVE_DECL_LINUX_REBOOT_MAGIC1)
+	XLAT(LINUX_REBOOT_MAGIC1),
+#endif
+	XLAT_END
+};
diff --git a/xlat/bootflags2.h b/xlat/bootflags2.h
new file mode 100644
index 0000000..f240510
--- /dev/null
+++ b/xlat/bootflags2.h
@@ -0,0 +1,17 @@
+/* Generated by ./xlat/gen.sh from ./xlat/bootflags2.in; do not edit. */
+
+static const struct xlat bootflags2[] = {
+#if defined(LINUX_REBOOT_MAGIC2) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC2) && HAVE_DECL_LINUX_REBOOT_MAGIC2)
+	XLAT(LINUX_REBOOT_MAGIC2),
+#endif
+#if defined(LINUX_REBOOT_MAGIC2A) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC2A) && HAVE_DECL_LINUX_REBOOT_MAGIC2A)
+	XLAT(LINUX_REBOOT_MAGIC2A),
+#endif
+#if defined(LINUX_REBOOT_MAGIC2B) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC2B) && HAVE_DECL_LINUX_REBOOT_MAGIC2B)
+	XLAT(LINUX_REBOOT_MAGIC2B),
+#endif
+#if defined(LINUX_REBOOT_MAGIC2C) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC2C) && HAVE_DECL_LINUX_REBOOT_MAGIC2C)
+	XLAT(LINUX_REBOOT_MAGIC2C),
+#endif
+	XLAT_END
+};
diff --git a/xlat/bootflags3.h b/xlat/bootflags3.h
new file mode 100644
index 0000000..5f50120
--- /dev/null
+++ b/xlat/bootflags3.h
@@ -0,0 +1,29 @@
+/* Generated by ./xlat/gen.sh from ./xlat/bootflags3.in; do not edit. */
+
+static const struct xlat bootflags3[] = {
+#if defined(LINUX_REBOOT_CMD_RESTART) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_RESTART) && HAVE_DECL_LINUX_REBOOT_CMD_RESTART)
+	XLAT(LINUX_REBOOT_CMD_RESTART),
+#endif
+#if defined(LINUX_REBOOT_CMD_HALT) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_HALT) && HAVE_DECL_LINUX_REBOOT_CMD_HALT)
+	XLAT(LINUX_REBOOT_CMD_HALT),
+#endif
+#if defined(LINUX_REBOOT_CMD_CAD_ON) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_CAD_ON) && HAVE_DECL_LINUX_REBOOT_CMD_CAD_ON)
+	XLAT(LINUX_REBOOT_CMD_CAD_ON),
+#endif
+#if defined(LINUX_REBOOT_CMD_CAD_OFF) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_CAD_OFF) && HAVE_DECL_LINUX_REBOOT_CMD_CAD_OFF)
+	XLAT(LINUX_REBOOT_CMD_CAD_OFF),
+#endif
+#if defined(LINUX_REBOOT_CMD_POWER_OFF) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_POWER_OFF) && HAVE_DECL_LINUX_REBOOT_CMD_POWER_OFF)
+	XLAT(LINUX_REBOOT_CMD_POWER_OFF),
+#endif
+#if defined(LINUX_REBOOT_CMD_RESTART2) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_RESTART2) && HAVE_DECL_LINUX_REBOOT_CMD_RESTART2)
+	XLAT(LINUX_REBOOT_CMD_RESTART2),
+#endif
+#if defined(LINUX_REBOOT_CMD_SW_SUSPEND) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_SW_SUSPEND) && HAVE_DECL_LINUX_REBOOT_CMD_SW_SUSPEND)
+	XLAT(LINUX_REBOOT_CMD_SW_SUSPEND),
+#endif
+#if defined(LINUX_REBOOT_CMD_KEXEC) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_KEXEC) && HAVE_DECL_LINUX_REBOOT_CMD_KEXEC)
+	XLAT(LINUX_REBOOT_CMD_KEXEC),
+#endif
+	XLAT_END
+};
diff --git a/xlat/cacheflush_scope.h b/xlat/cacheflush_scope.h
new file mode 100644
index 0000000..62459f5
--- /dev/null
+++ b/xlat/cacheflush_scope.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/cacheflush_scope.in; do not edit. */
+
+static const struct xlat cacheflush_scope[] = {
+#if defined(FLUSH_SCOPE_LINE) || (defined(HAVE_DECL_FLUSH_SCOPE_LINE) && HAVE_DECL_FLUSH_SCOPE_LINE)
+	XLAT(FLUSH_SCOPE_LINE),
+#endif
+#if defined(FLUSH_SCOPE_PAGE) || (defined(HAVE_DECL_FLUSH_SCOPE_PAGE) && HAVE_DECL_FLUSH_SCOPE_PAGE)
+	XLAT(FLUSH_SCOPE_PAGE),
+#endif
+#if defined(FLUSH_SCOPE_ALL) || (defined(HAVE_DECL_FLUSH_SCOPE_ALL) && HAVE_DECL_FLUSH_SCOPE_ALL)
+	XLAT(FLUSH_SCOPE_ALL),
+#endif
+	XLAT_END
+};
diff --git a/xlat/cap_version.h b/xlat/cap_version.h
new file mode 100644
index 0000000..408e550
--- /dev/null
+++ b/xlat/cap_version.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/cap_version.in; do not edit. */
+
+static const struct xlat cap_version[] = {
+#if defined(_LINUX_CAPABILITY_VERSION_1) || (defined(HAVE_DECL__LINUX_CAPABILITY_VERSION_1) && HAVE_DECL__LINUX_CAPABILITY_VERSION_1)
+	XLAT(_LINUX_CAPABILITY_VERSION_1),
+#endif
+#if defined(_LINUX_CAPABILITY_VERSION_2) || (defined(HAVE_DECL__LINUX_CAPABILITY_VERSION_2) && HAVE_DECL__LINUX_CAPABILITY_VERSION_2)
+	XLAT(_LINUX_CAPABILITY_VERSION_2),
+#endif
+#if defined(_LINUX_CAPABILITY_VERSION_3) || (defined(HAVE_DECL__LINUX_CAPABILITY_VERSION_3) && HAVE_DECL__LINUX_CAPABILITY_VERSION_3)
+	XLAT(_LINUX_CAPABILITY_VERSION_3),
+#endif
+	XLAT_END
+};
diff --git a/xlat/capabilities.h b/xlat/capabilities.h
new file mode 100644
index 0000000..4e4cfad
--- /dev/null
+++ b/xlat/capabilities.h
@@ -0,0 +1,101 @@
+/* Generated by ./xlat/gen.sh from ./xlat/capabilities.in; do not edit. */
+
+static const struct xlat capabilities[] = {
+#if defined(CAP_CHOWN) || (defined(HAVE_DECL_CAP_CHOWN) && HAVE_DECL_CAP_CHOWN)
+	{ 1<<CAP_CHOWN, "CAP_CHOWN" },
+#endif
+#if defined(CAP_DAC_OVERRIDE) || (defined(HAVE_DECL_CAP_DAC_OVERRIDE) && HAVE_DECL_CAP_DAC_OVERRIDE)
+	{ 1<<CAP_DAC_OVERRIDE, "CAP_DAC_OVERRIDE" },
+#endif
+#if defined(CAP_DAC_READ_SEARCH) || (defined(HAVE_DECL_CAP_DAC_READ_SEARCH) && HAVE_DECL_CAP_DAC_READ_SEARCH)
+	{ 1<<CAP_DAC_READ_SEARCH, "CAP_DAC_READ_SEARCH" },
+#endif
+#if defined(CAP_FOWNER) || (defined(HAVE_DECL_CAP_FOWNER) && HAVE_DECL_CAP_FOWNER)
+	{ 1<<CAP_FOWNER, "CAP_FOWNER" },
+#endif
+#if defined(CAP_FSETID) || (defined(HAVE_DECL_CAP_FSETID) && HAVE_DECL_CAP_FSETID)
+	{ 1<<CAP_FSETID, "CAP_FSETID" },
+#endif
+#if defined(CAP_KILL) || (defined(HAVE_DECL_CAP_KILL) && HAVE_DECL_CAP_KILL)
+	{ 1<<CAP_KILL, "CAP_KILL" },
+#endif
+#if defined(CAP_SETGID) || (defined(HAVE_DECL_CAP_SETGID) && HAVE_DECL_CAP_SETGID)
+	{ 1<<CAP_SETGID, "CAP_SETGID" },
+#endif
+#if defined(CAP_SETUID) || (defined(HAVE_DECL_CAP_SETUID) && HAVE_DECL_CAP_SETUID)
+	{ 1<<CAP_SETUID, "CAP_SETUID" },
+#endif
+#if defined(CAP_SETPCAP) || (defined(HAVE_DECL_CAP_SETPCAP) && HAVE_DECL_CAP_SETPCAP)
+	{ 1<<CAP_SETPCAP, "CAP_SETPCAP" },
+#endif
+#if defined(CAP_LINUX_IMMUTABLE) || (defined(HAVE_DECL_CAP_LINUX_IMMUTABLE) && HAVE_DECL_CAP_LINUX_IMMUTABLE)
+	{ 1<<CAP_LINUX_IMMUTABLE, "CAP_LINUX_IMMUTABLE" },
+#endif
+#if defined(CAP_NET_BIND_SERVICE) || (defined(HAVE_DECL_CAP_NET_BIND_SERVICE) && HAVE_DECL_CAP_NET_BIND_SERVICE)
+	{ 1<<CAP_NET_BIND_SERVICE, "CAP_NET_BIND_SERVICE" },
+#endif
+#if defined(CAP_NET_BROADCAST) || (defined(HAVE_DECL_CAP_NET_BROADCAST) && HAVE_DECL_CAP_NET_BROADCAST)
+	{ 1<<CAP_NET_BROADCAST, "CAP_NET_BROADCAST" },
+#endif
+#if defined(CAP_NET_ADMIN) || (defined(HAVE_DECL_CAP_NET_ADMIN) && HAVE_DECL_CAP_NET_ADMIN)
+	{ 1<<CAP_NET_ADMIN, "CAP_NET_ADMIN" },
+#endif
+#if defined(CAP_NET_RAW) || (defined(HAVE_DECL_CAP_NET_RAW) && HAVE_DECL_CAP_NET_RAW)
+	{ 1<<CAP_NET_RAW, "CAP_NET_RAW" },
+#endif
+#if defined(CAP_IPC_LOCK) || (defined(HAVE_DECL_CAP_IPC_LOCK) && HAVE_DECL_CAP_IPC_LOCK)
+	{ 1<<CAP_IPC_LOCK, "CAP_IPC_LOCK" },
+#endif
+#if defined(CAP_IPC_OWNER) || (defined(HAVE_DECL_CAP_IPC_OWNER) && HAVE_DECL_CAP_IPC_OWNER)
+	{ 1<<CAP_IPC_OWNER, "CAP_IPC_OWNER" },
+#endif
+#if defined(CAP_SYS_MODULE) || (defined(HAVE_DECL_CAP_SYS_MODULE) && HAVE_DECL_CAP_SYS_MODULE)
+	{ 1<<CAP_SYS_MODULE, "CAP_SYS_MODULE" },
+#endif
+#if defined(CAP_SYS_RAWIO) || (defined(HAVE_DECL_CAP_SYS_RAWIO) && HAVE_DECL_CAP_SYS_RAWIO)
+	{ 1<<CAP_SYS_RAWIO, "CAP_SYS_RAWIO" },
+#endif
+#if defined(CAP_SYS_CHROOT) || (defined(HAVE_DECL_CAP_SYS_CHROOT) && HAVE_DECL_CAP_SYS_CHROOT)
+	{ 1<<CAP_SYS_CHROOT, "CAP_SYS_CHROOT" },
+#endif
+#if defined(CAP_SYS_PTRACE) || (defined(HAVE_DECL_CAP_SYS_PTRACE) && HAVE_DECL_CAP_SYS_PTRACE)
+	{ 1<<CAP_SYS_PTRACE, "CAP_SYS_PTRACE" },
+#endif
+#if defined(CAP_SYS_PACCT) || (defined(HAVE_DECL_CAP_SYS_PACCT) && HAVE_DECL_CAP_SYS_PACCT)
+	{ 1<<CAP_SYS_PACCT, "CAP_SYS_PACCT" },
+#endif
+#if defined(CAP_SYS_ADMIN) || (defined(HAVE_DECL_CAP_SYS_ADMIN) && HAVE_DECL_CAP_SYS_ADMIN)
+	{ 1<<CAP_SYS_ADMIN, "CAP_SYS_ADMIN" },
+#endif
+#if defined(CAP_SYS_BOOT) || (defined(HAVE_DECL_CAP_SYS_BOOT) && HAVE_DECL_CAP_SYS_BOOT)
+	{ 1<<CAP_SYS_BOOT, "CAP_SYS_BOOT" },
+#endif
+#if defined(CAP_SYS_NICE) || (defined(HAVE_DECL_CAP_SYS_NICE) && HAVE_DECL_CAP_SYS_NICE)
+	{ 1<<CAP_SYS_NICE, "CAP_SYS_NICE" },
+#endif
+#if defined(CAP_SYS_RESOURCE) || (defined(HAVE_DECL_CAP_SYS_RESOURCE) && HAVE_DECL_CAP_SYS_RESOURCE)
+	{ 1<<CAP_SYS_RESOURCE, "CAP_SYS_RESOURCE" },
+#endif
+#if defined(CAP_SYS_TIME) || (defined(HAVE_DECL_CAP_SYS_TIME) && HAVE_DECL_CAP_SYS_TIME)
+	{ 1<<CAP_SYS_TIME, "CAP_SYS_TIME" },
+#endif
+#if defined(CAP_SYS_TTY_CONFIG) || (defined(HAVE_DECL_CAP_SYS_TTY_CONFIG) && HAVE_DECL_CAP_SYS_TTY_CONFIG)
+	{ 1<<CAP_SYS_TTY_CONFIG, "CAP_SYS_TTY_CONFIG" },
+#endif
+#if defined(CAP_MKNOD) || (defined(HAVE_DECL_CAP_MKNOD) && HAVE_DECL_CAP_MKNOD)
+	{ 1<<CAP_MKNOD, "CAP_MKNOD" },
+#endif
+#if defined(CAP_LEASE) || (defined(HAVE_DECL_CAP_LEASE) && HAVE_DECL_CAP_LEASE)
+	{ 1<<CAP_LEASE, "CAP_LEASE" },
+#endif
+#if defined(CAP_AUDIT_WRITE) || (defined(HAVE_DECL_CAP_AUDIT_WRITE) && HAVE_DECL_CAP_AUDIT_WRITE)
+	{ 1<<CAP_AUDIT_WRITE, "CAP_AUDIT_WRITE" },
+#endif
+#if defined(CAP_AUDIT_CONTROL) || (defined(HAVE_DECL_CAP_AUDIT_CONTROL) && HAVE_DECL_CAP_AUDIT_CONTROL)
+	{ 1<<CAP_AUDIT_CONTROL, "CAP_AUDIT_CONTROL" },
+#endif
+#if defined(CAP_SETFCAP) || (defined(HAVE_DECL_CAP_SETFCAP) && HAVE_DECL_CAP_SETFCAP)
+	{ 1<<CAP_SETFCAP, "CAP_SETFCAP" },
+#endif
+	XLAT_END
+};
diff --git a/xlat/clockflags.h b/xlat/clockflags.h
new file mode 100644
index 0000000..91dc44d
--- /dev/null
+++ b/xlat/clockflags.h
@@ -0,0 +1,8 @@
+/* Generated by ./xlat/gen.sh from ./xlat/clockflags.in; do not edit. */
+
+static const struct xlat clockflags[] = {
+#if defined(TIMER_ABSTIME) || (defined(HAVE_DECL_TIMER_ABSTIME) && HAVE_DECL_TIMER_ABSTIME)
+	XLAT(TIMER_ABSTIME),
+#endif
+	XLAT_END
+};
diff --git a/xlat/clocknames.h b/xlat/clocknames.h
new file mode 100644
index 0000000..17ff470
--- /dev/null
+++ b/xlat/clocknames.h
@@ -0,0 +1,41 @@
+/* Generated by ./xlat/gen.sh from ./xlat/clocknames.in; do not edit. */
+
+static const struct xlat clocknames[] = {
+#if defined(CLOCK_REALTIME) || (defined(HAVE_DECL_CLOCK_REALTIME) && HAVE_DECL_CLOCK_REALTIME)
+	XLAT(CLOCK_REALTIME),
+#endif
+#if defined(CLOCK_MONOTONIC) || (defined(HAVE_DECL_CLOCK_MONOTONIC) && HAVE_DECL_CLOCK_MONOTONIC)
+	XLAT(CLOCK_MONOTONIC),
+#endif
+#if defined(CLOCK_PROCESS_CPUTIME_ID) || (defined(HAVE_DECL_CLOCK_PROCESS_CPUTIME_ID) && HAVE_DECL_CLOCK_PROCESS_CPUTIME_ID)
+	XLAT(CLOCK_PROCESS_CPUTIME_ID),
+#endif
+#if defined(CLOCK_THREAD_CPUTIME_ID) || (defined(HAVE_DECL_CLOCK_THREAD_CPUTIME_ID) && HAVE_DECL_CLOCK_THREAD_CPUTIME_ID)
+	XLAT(CLOCK_THREAD_CPUTIME_ID),
+#endif
+#if defined(CLOCK_MONOTONIC_RAW) || (defined(HAVE_DECL_CLOCK_MONOTONIC_RAW) && HAVE_DECL_CLOCK_MONOTONIC_RAW)
+	XLAT(CLOCK_MONOTONIC_RAW),
+#endif
+#if defined(CLOCK_REALTIME_COARSE) || (defined(HAVE_DECL_CLOCK_REALTIME_COARSE) && HAVE_DECL_CLOCK_REALTIME_COARSE)
+	XLAT(CLOCK_REALTIME_COARSE),
+#endif
+#if defined(CLOCK_MONOTONIC_COARSE) || (defined(HAVE_DECL_CLOCK_MONOTONIC_COARSE) && HAVE_DECL_CLOCK_MONOTONIC_COARSE)
+	XLAT(CLOCK_MONOTONIC_COARSE),
+#endif
+#if defined(CLOCK_BOOTTIME) || (defined(HAVE_DECL_CLOCK_BOOTTIME) && HAVE_DECL_CLOCK_BOOTTIME)
+	XLAT(CLOCK_BOOTTIME),
+#endif
+#if defined(CLOCK_REALTIME_ALARM) || (defined(HAVE_DECL_CLOCK_REALTIME_ALARM) && HAVE_DECL_CLOCK_REALTIME_ALARM)
+	XLAT(CLOCK_REALTIME_ALARM),
+#endif
+#if defined(CLOCK_BOOTTIME_ALARM) || (defined(HAVE_DECL_CLOCK_BOOTTIME_ALARM) && HAVE_DECL_CLOCK_BOOTTIME_ALARM)
+	XLAT(CLOCK_BOOTTIME_ALARM),
+#endif
+#if defined(CLOCK_SGI_CYCLE) || (defined(HAVE_DECL_CLOCK_SGI_CYCLE) && HAVE_DECL_CLOCK_SGI_CYCLE)
+	XLAT(CLOCK_SGI_CYCLE),
+#endif
+#if defined(CLOCK_TAI) || (defined(HAVE_DECL_CLOCK_TAI) && HAVE_DECL_CLOCK_TAI)
+	XLAT(CLOCK_TAI),
+#endif
+	XLAT_END
+};
diff --git a/xlat/clone_flags.h b/xlat/clone_flags.h
new file mode 100644
index 0000000..4a1a8b8
--- /dev/null
+++ b/xlat/clone_flags.h
@@ -0,0 +1,74 @@
+/* Generated by ./xlat/gen.sh from ./xlat/clone_flags.in; do not edit. */
+
+static const struct xlat clone_flags[] = {
+#if defined(CLONE_VM) || (defined(HAVE_DECL_CLONE_VM) && HAVE_DECL_CLONE_VM)
+	XLAT(CLONE_VM),
+#endif
+#if defined(CLONE_FS) || (defined(HAVE_DECL_CLONE_FS) && HAVE_DECL_CLONE_FS)
+	XLAT(CLONE_FS),
+#endif
+#if defined(CLONE_FILES) || (defined(HAVE_DECL_CLONE_FILES) && HAVE_DECL_CLONE_FILES)
+	XLAT(CLONE_FILES),
+#endif
+#if defined(CLONE_SIGHAND) || (defined(HAVE_DECL_CLONE_SIGHAND) && HAVE_DECL_CLONE_SIGHAND)
+	XLAT(CLONE_SIGHAND),
+#endif
+#if defined(CLONE_IDLETASK) || (defined(HAVE_DECL_CLONE_IDLETASK) && HAVE_DECL_CLONE_IDLETASK)
+	XLAT(CLONE_IDLETASK),
+#endif
+#if defined(CLONE_PTRACE) || (defined(HAVE_DECL_CLONE_PTRACE) && HAVE_DECL_CLONE_PTRACE)
+	XLAT(CLONE_PTRACE),
+#endif
+#if defined(CLONE_VFORK) || (defined(HAVE_DECL_CLONE_VFORK) && HAVE_DECL_CLONE_VFORK)
+	XLAT(CLONE_VFORK),
+#endif
+#if defined(CLONE_PARENT) || (defined(HAVE_DECL_CLONE_PARENT) && HAVE_DECL_CLONE_PARENT)
+	XLAT(CLONE_PARENT),
+#endif
+#if defined(CLONE_THREAD) || (defined(HAVE_DECL_CLONE_THREAD) && HAVE_DECL_CLONE_THREAD)
+	XLAT(CLONE_THREAD),
+#endif
+#if defined(CLONE_NEWNS) || (defined(HAVE_DECL_CLONE_NEWNS) && HAVE_DECL_CLONE_NEWNS)
+	XLAT(CLONE_NEWNS),
+#endif
+#if defined(CLONE_SYSVSEM) || (defined(HAVE_DECL_CLONE_SYSVSEM) && HAVE_DECL_CLONE_SYSVSEM)
+	XLAT(CLONE_SYSVSEM),
+#endif
+#if defined(CLONE_SETTLS) || (defined(HAVE_DECL_CLONE_SETTLS) && HAVE_DECL_CLONE_SETTLS)
+	XLAT(CLONE_SETTLS),
+#endif
+#if defined(CLONE_PARENT_SETTID) || (defined(HAVE_DECL_CLONE_PARENT_SETTID) && HAVE_DECL_CLONE_PARENT_SETTID)
+	XLAT(CLONE_PARENT_SETTID),
+#endif
+#if defined(CLONE_CHILD_CLEARTID) || (defined(HAVE_DECL_CLONE_CHILD_CLEARTID) && HAVE_DECL_CLONE_CHILD_CLEARTID)
+	XLAT(CLONE_CHILD_CLEARTID),
+#endif
+#if defined(CLONE_UNTRACED) || (defined(HAVE_DECL_CLONE_UNTRACED) && HAVE_DECL_CLONE_UNTRACED)
+	XLAT(CLONE_UNTRACED),
+#endif
+#if defined(CLONE_CHILD_SETTID) || (defined(HAVE_DECL_CLONE_CHILD_SETTID) && HAVE_DECL_CLONE_CHILD_SETTID)
+	XLAT(CLONE_CHILD_SETTID),
+#endif
+#if defined(CLONE_STOPPED) || (defined(HAVE_DECL_CLONE_STOPPED) && HAVE_DECL_CLONE_STOPPED)
+	XLAT(CLONE_STOPPED),
+#endif
+#if defined(CLONE_NEWUTS) || (defined(HAVE_DECL_CLONE_NEWUTS) && HAVE_DECL_CLONE_NEWUTS)
+	XLAT(CLONE_NEWUTS),
+#endif
+#if defined(CLONE_NEWIPC) || (defined(HAVE_DECL_CLONE_NEWIPC) && HAVE_DECL_CLONE_NEWIPC)
+	XLAT(CLONE_NEWIPC),
+#endif
+#if defined(CLONE_NEWUSER) || (defined(HAVE_DECL_CLONE_NEWUSER) && HAVE_DECL_CLONE_NEWUSER)
+	XLAT(CLONE_NEWUSER),
+#endif
+#if defined(CLONE_NEWPID) || (defined(HAVE_DECL_CLONE_NEWPID) && HAVE_DECL_CLONE_NEWPID)
+	XLAT(CLONE_NEWPID),
+#endif
+#if defined(CLONE_NEWNET) || (defined(HAVE_DECL_CLONE_NEWNET) && HAVE_DECL_CLONE_NEWNET)
+	XLAT(CLONE_NEWNET),
+#endif
+#if defined(CLONE_IO) || (defined(HAVE_DECL_CLONE_IO) && HAVE_DECL_CLONE_IO)
+	XLAT(CLONE_IO),
+#endif
+	XLAT_END
+};
diff --git a/xlat/cpuclocknames.h b/xlat/cpuclocknames.h
new file mode 100644
index 0000000..c985758
--- /dev/null
+++ b/xlat/cpuclocknames.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/cpuclocknames.in; do not edit. */
+
+static const struct xlat cpuclocknames[] = {
+#if defined(CPUCLOCK_PROF) || (defined(HAVE_DECL_CPUCLOCK_PROF) && HAVE_DECL_CPUCLOCK_PROF)
+	XLAT(CPUCLOCK_PROF),
+#endif
+#if defined(CPUCLOCK_VIRT) || (defined(HAVE_DECL_CPUCLOCK_VIRT) && HAVE_DECL_CPUCLOCK_VIRT)
+	XLAT(CPUCLOCK_VIRT),
+#endif
+#if defined(CPUCLOCK_SCHED) || (defined(HAVE_DECL_CPUCLOCK_SCHED) && HAVE_DECL_CPUCLOCK_SCHED)
+	XLAT(CPUCLOCK_SCHED),
+#endif
+	XLAT_END
+};
diff --git a/xlat/delete_module_flags.h b/xlat/delete_module_flags.h
new file mode 100644
index 0000000..484cbcf
--- /dev/null
+++ b/xlat/delete_module_flags.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/delete_module_flags.in; do not edit. */
+
+static const struct xlat delete_module_flags[] = {
+#if defined(O_NONBLOCK) || (defined(HAVE_DECL_O_NONBLOCK) && HAVE_DECL_O_NONBLOCK)
+	XLAT(O_NONBLOCK),
+#endif
+#if defined(O_TRUNC) || (defined(HAVE_DECL_O_TRUNC) && HAVE_DECL_O_TRUNC)
+	XLAT(O_TRUNC),
+#endif
+	XLAT_END
+};
diff --git a/xlat/direnttypes.h b/xlat/direnttypes.h
new file mode 100644
index 0000000..1888810
--- /dev/null
+++ b/xlat/direnttypes.h
@@ -0,0 +1,32 @@
+/* Generated by ./xlat/gen.sh from ./xlat/direnttypes.in; do not edit. */
+
+static const struct xlat direnttypes[] = {
+#if defined(DT_UNKNOWN) || (defined(HAVE_DECL_DT_UNKNOWN) && HAVE_DECL_DT_UNKNOWN)
+	XLAT(DT_UNKNOWN),
+#endif
+#if defined(DT_FIFO) || (defined(HAVE_DECL_DT_FIFO) && HAVE_DECL_DT_FIFO)
+	XLAT(DT_FIFO),
+#endif
+#if defined(DT_CHR) || (defined(HAVE_DECL_DT_CHR) && HAVE_DECL_DT_CHR)
+	XLAT(DT_CHR),
+#endif
+#if defined(DT_DIR) || (defined(HAVE_DECL_DT_DIR) && HAVE_DECL_DT_DIR)
+	XLAT(DT_DIR),
+#endif
+#if defined(DT_BLK) || (defined(HAVE_DECL_DT_BLK) && HAVE_DECL_DT_BLK)
+	XLAT(DT_BLK),
+#endif
+#if defined(DT_REG) || (defined(HAVE_DECL_DT_REG) && HAVE_DECL_DT_REG)
+	XLAT(DT_REG),
+#endif
+#if defined(DT_LNK) || (defined(HAVE_DECL_DT_LNK) && HAVE_DECL_DT_LNK)
+	XLAT(DT_LNK),
+#endif
+#if defined(DT_SOCK) || (defined(HAVE_DECL_DT_SOCK) && HAVE_DECL_DT_SOCK)
+	XLAT(DT_SOCK),
+#endif
+#if defined(DT_WHT) || (defined(HAVE_DECL_DT_WHT) && HAVE_DECL_DT_WHT)
+	XLAT(DT_WHT),
+#endif
+	XLAT_END
+};
diff --git a/xlat/domains.h b/xlat/domains.h
new file mode 100644
index 0000000..b0704f6
--- /dev/null
+++ b/xlat/domains.h
@@ -0,0 +1,128 @@
+/* Generated by ./xlat/gen.sh from ./xlat/domains.in; do not edit. */
+
+static const struct xlat domains[] = {
+#if defined(PF_UNSPEC) || (defined(HAVE_DECL_PF_UNSPEC) && HAVE_DECL_PF_UNSPEC)
+	XLAT(PF_UNSPEC),
+#endif
+#if defined(PF_LOCAL) || (defined(HAVE_DECL_PF_LOCAL) && HAVE_DECL_PF_LOCAL)
+	XLAT(PF_LOCAL),
+#endif
+#if defined(PF_UNIX) || (defined(HAVE_DECL_PF_UNIX) && HAVE_DECL_PF_UNIX)
+	XLAT(PF_UNIX),
+#endif
+#if defined(PF_INET) || (defined(HAVE_DECL_PF_INET) && HAVE_DECL_PF_INET)
+	XLAT(PF_INET),
+#endif
+#if defined(PF_AX25) || (defined(HAVE_DECL_PF_AX25) && HAVE_DECL_PF_AX25)
+	XLAT(PF_AX25),
+#endif
+#if defined(PF_IPX) || (defined(HAVE_DECL_PF_IPX) && HAVE_DECL_PF_IPX)
+	XLAT(PF_IPX),
+#endif
+#if defined(PF_APPLETALK) || (defined(HAVE_DECL_PF_APPLETALK) && HAVE_DECL_PF_APPLETALK)
+	XLAT(PF_APPLETALK),
+#endif
+#if defined(PF_NETROM) || (defined(HAVE_DECL_PF_NETROM) && HAVE_DECL_PF_NETROM)
+	XLAT(PF_NETROM),
+#endif
+#if defined(PF_BRIDGE) || (defined(HAVE_DECL_PF_BRIDGE) && HAVE_DECL_PF_BRIDGE)
+	XLAT(PF_BRIDGE),
+#endif
+#if defined(PF_ATMPVC) || (defined(HAVE_DECL_PF_ATMPVC) && HAVE_DECL_PF_ATMPVC)
+	XLAT(PF_ATMPVC),
+#endif
+#if defined(PF_X25) || (defined(HAVE_DECL_PF_X25) && HAVE_DECL_PF_X25)
+	XLAT(PF_X25),
+#endif
+#if defined(PF_INET6) || (defined(HAVE_DECL_PF_INET6) && HAVE_DECL_PF_INET6)
+	XLAT(PF_INET6),
+#endif
+#if defined(PF_ROSE) || (defined(HAVE_DECL_PF_ROSE) && HAVE_DECL_PF_ROSE)
+	XLAT(PF_ROSE),
+#endif
+#if defined(PF_DECnet) || (defined(HAVE_DECL_PF_DECnet) && HAVE_DECL_PF_DECnet)
+	XLAT(PF_DECnet),
+#endif
+#if defined(PF_NETBEUI) || (defined(HAVE_DECL_PF_NETBEUI) && HAVE_DECL_PF_NETBEUI)
+	XLAT(PF_NETBEUI),
+#endif
+#if defined(PF_SECURITY) || (defined(HAVE_DECL_PF_SECURITY) && HAVE_DECL_PF_SECURITY)
+	XLAT(PF_SECURITY),
+#endif
+#if defined(PF_KEY) || (defined(HAVE_DECL_PF_KEY) && HAVE_DECL_PF_KEY)
+	XLAT(PF_KEY),
+#endif
+#if defined(PF_NETLINK) || (defined(HAVE_DECL_PF_NETLINK) && HAVE_DECL_PF_NETLINK)
+	XLAT(PF_NETLINK),
+#endif
+#if defined(PF_ROUTE) || (defined(HAVE_DECL_PF_ROUTE) && HAVE_DECL_PF_ROUTE)
+	XLAT(PF_ROUTE),
+#endif
+#if defined(PF_PACKET) || (defined(HAVE_DECL_PF_PACKET) && HAVE_DECL_PF_PACKET)
+	XLAT(PF_PACKET),
+#endif
+#if defined(PF_ASH) || (defined(HAVE_DECL_PF_ASH) && HAVE_DECL_PF_ASH)
+	XLAT(PF_ASH),
+#endif
+#if defined(PF_ECONET) || (defined(HAVE_DECL_PF_ECONET) && HAVE_DECL_PF_ECONET)
+	XLAT(PF_ECONET),
+#endif
+#if defined(PF_ATMSVC) || (defined(HAVE_DECL_PF_ATMSVC) && HAVE_DECL_PF_ATMSVC)
+	XLAT(PF_ATMSVC),
+#endif
+#if defined(PF_RDS) || (defined(HAVE_DECL_PF_RDS) && HAVE_DECL_PF_RDS)
+	XLAT(PF_RDS),
+#endif
+#if defined(PF_SNA) || (defined(HAVE_DECL_PF_SNA) && HAVE_DECL_PF_SNA)
+	XLAT(PF_SNA),
+#endif
+#if defined(PF_IRDA) || (defined(HAVE_DECL_PF_IRDA) && HAVE_DECL_PF_IRDA)
+	XLAT(PF_IRDA),
+#endif
+#if defined(PF_PPPOX) || (defined(HAVE_DECL_PF_PPPOX) && HAVE_DECL_PF_PPPOX)
+	XLAT(PF_PPPOX),
+#endif
+#if defined(PF_WANPIPE) || (defined(HAVE_DECL_PF_WANPIPE) && HAVE_DECL_PF_WANPIPE)
+	XLAT(PF_WANPIPE),
+#endif
+#if defined(PF_LLC) || (defined(HAVE_DECL_PF_LLC) && HAVE_DECL_PF_LLC)
+	XLAT(PF_LLC),
+#endif
+#if defined(PF_CAN) || (defined(HAVE_DECL_PF_CAN) && HAVE_DECL_PF_CAN)
+	XLAT(PF_CAN),
+#endif
+#if defined(PF_TIPC) || (defined(HAVE_DECL_PF_TIPC) && HAVE_DECL_PF_TIPC)
+	XLAT(PF_TIPC),
+#endif
+#if defined(PF_BLUETOOTH) || (defined(HAVE_DECL_PF_BLUETOOTH) && HAVE_DECL_PF_BLUETOOTH)
+	XLAT(PF_BLUETOOTH),
+#endif
+#if defined(PF_IUCV) || (defined(HAVE_DECL_PF_IUCV) && HAVE_DECL_PF_IUCV)
+	XLAT(PF_IUCV),
+#endif
+#if defined(PF_RXRPC) || (defined(HAVE_DECL_PF_RXRPC) && HAVE_DECL_PF_RXRPC)
+	XLAT(PF_RXRPC),
+#endif
+#if defined(PF_ISDN) || (defined(HAVE_DECL_PF_ISDN) && HAVE_DECL_PF_ISDN)
+	XLAT(PF_ISDN),
+#endif
+#if defined(PF_PHONET) || (defined(HAVE_DECL_PF_PHONET) && HAVE_DECL_PF_PHONET)
+	XLAT(PF_PHONET),
+#endif
+#if defined(PF_IEEE802154) || (defined(HAVE_DECL_PF_IEEE802154) && HAVE_DECL_PF_IEEE802154)
+	XLAT(PF_IEEE802154),
+#endif
+#if defined(PF_CAIF) || (defined(HAVE_DECL_PF_CAIF) && HAVE_DECL_PF_CAIF)
+	XLAT(PF_CAIF),
+#endif
+#if defined(PF_ALG) || (defined(HAVE_DECL_PF_ALG) && HAVE_DECL_PF_ALG)
+	XLAT(PF_ALG),
+#endif
+#if defined(PF_NFC) || (defined(HAVE_DECL_PF_NFC) && HAVE_DECL_PF_NFC)
+	XLAT(PF_NFC),
+#endif
+#if defined(PF_VSOCK) || (defined(HAVE_DECL_PF_VSOCK) && HAVE_DECL_PF_VSOCK)
+	XLAT(PF_VSOCK),
+#endif
+	XLAT_END
+};
diff --git a/xlat/epollctls.h b/xlat/epollctls.h
new file mode 100644
index 0000000..e4ccff7
--- /dev/null
+++ b/xlat/epollctls.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/epollctls.in; do not edit. */
+
+static const struct xlat epollctls[] = {
+#if defined(EPOLL_CTL_ADD) || (defined(HAVE_DECL_EPOLL_CTL_ADD) && HAVE_DECL_EPOLL_CTL_ADD)
+	XLAT(EPOLL_CTL_ADD),
+#endif
+#if defined(EPOLL_CTL_MOD) || (defined(HAVE_DECL_EPOLL_CTL_MOD) && HAVE_DECL_EPOLL_CTL_MOD)
+	XLAT(EPOLL_CTL_MOD),
+#endif
+#if defined(EPOLL_CTL_DEL) || (defined(HAVE_DECL_EPOLL_CTL_DEL) && HAVE_DECL_EPOLL_CTL_DEL)
+	XLAT(EPOLL_CTL_DEL),
+#endif
+	XLAT_END
+};
diff --git a/xlat/epollevents.h b/xlat/epollevents.h
new file mode 100644
index 0000000..899cbd9
--- /dev/null
+++ b/xlat/epollevents.h
@@ -0,0 +1,44 @@
+/* Generated by ./xlat/gen.sh from ./xlat/epollevents.in; do not edit. */
+
+static const struct xlat epollevents[] = {
+#if defined(EPOLLIN) || (defined(HAVE_DECL_EPOLLIN) && HAVE_DECL_EPOLLIN)
+	XLAT(EPOLLIN),
+#endif
+#if defined(EPOLLPRI) || (defined(HAVE_DECL_EPOLLPRI) && HAVE_DECL_EPOLLPRI)
+	XLAT(EPOLLPRI),
+#endif
+#if defined(EPOLLOUT) || (defined(HAVE_DECL_EPOLLOUT) && HAVE_DECL_EPOLLOUT)
+	XLAT(EPOLLOUT),
+#endif
+#if defined(EPOLLRDNORM) || (defined(HAVE_DECL_EPOLLRDNORM) && HAVE_DECL_EPOLLRDNORM)
+	XLAT(EPOLLRDNORM),
+#endif
+#if defined(EPOLLRDBAND) || (defined(HAVE_DECL_EPOLLRDBAND) && HAVE_DECL_EPOLLRDBAND)
+	XLAT(EPOLLRDBAND),
+#endif
+#if defined(EPOLLWRNORM) || (defined(HAVE_DECL_EPOLLWRNORM) && HAVE_DECL_EPOLLWRNORM)
+	XLAT(EPOLLWRNORM),
+#endif
+#if defined(EPOLLWRBAND) || (defined(HAVE_DECL_EPOLLWRBAND) && HAVE_DECL_EPOLLWRBAND)
+	XLAT(EPOLLWRBAND),
+#endif
+#if defined(EPOLLMSG) || (defined(HAVE_DECL_EPOLLMSG) && HAVE_DECL_EPOLLMSG)
+	XLAT(EPOLLMSG),
+#endif
+#if defined(EPOLLERR) || (defined(HAVE_DECL_EPOLLERR) && HAVE_DECL_EPOLLERR)
+	XLAT(EPOLLERR),
+#endif
+#if defined(EPOLLHUP) || (defined(HAVE_DECL_EPOLLHUP) && HAVE_DECL_EPOLLHUP)
+	XLAT(EPOLLHUP),
+#endif
+#if defined(EPOLLRDHUP) || (defined(HAVE_DECL_EPOLLRDHUP) && HAVE_DECL_EPOLLRDHUP)
+	XLAT(EPOLLRDHUP),
+#endif
+#if defined(EPOLLONESHOT) || (defined(HAVE_DECL_EPOLLONESHOT) && HAVE_DECL_EPOLLONESHOT)
+	XLAT(EPOLLONESHOT),
+#endif
+#if defined(EPOLLET) || (defined(HAVE_DECL_EPOLLET) && HAVE_DECL_EPOLLET)
+	XLAT(EPOLLET),
+#endif
+	XLAT_END
+};
diff --git a/xlat/epollflags.h b/xlat/epollflags.h
new file mode 100644
index 0000000..eb20235
--- /dev/null
+++ b/xlat/epollflags.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/epollflags.in; do not edit. */
+
+static const struct xlat epollflags[] = {
+#if defined(EPOLL_CLOEXEC) || (defined(HAVE_DECL_EPOLL_CLOEXEC) && HAVE_DECL_EPOLL_CLOEXEC)
+	XLAT(EPOLL_CLOEXEC),
+#endif
+#if defined(EPOLL_NONBLOCK) || (defined(HAVE_DECL_EPOLL_NONBLOCK) && HAVE_DECL_EPOLL_NONBLOCK)
+	XLAT(EPOLL_NONBLOCK),
+#endif
+	XLAT_END
+};
diff --git a/xlat/fan_classes.h b/xlat/fan_classes.h
new file mode 100644
index 0000000..d1dc17a
--- /dev/null
+++ b/xlat/fan_classes.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/fan_classes.in; do not edit. */
+
+static const struct xlat fan_classes[] = {
+#if defined(FAN_CLASS_NOTIF) || (defined(HAVE_DECL_FAN_CLASS_NOTIF) && HAVE_DECL_FAN_CLASS_NOTIF)
+	XLAT(FAN_CLASS_NOTIF),
+#endif
+#if defined(FAN_CLASS_CONTENT) || (defined(HAVE_DECL_FAN_CLASS_CONTENT) && HAVE_DECL_FAN_CLASS_CONTENT)
+	XLAT(FAN_CLASS_CONTENT),
+#endif
+#if defined(FAN_CLASS_PRE_CONTENT) || (defined(HAVE_DECL_FAN_CLASS_PRE_CONTENT) && HAVE_DECL_FAN_CLASS_PRE_CONTENT)
+	XLAT(FAN_CLASS_PRE_CONTENT),
+#endif
+	XLAT_END
+};
diff --git a/xlat/fan_event_flags.h b/xlat/fan_event_flags.h
new file mode 100644
index 0000000..22a1529
--- /dev/null
+++ b/xlat/fan_event_flags.h
@@ -0,0 +1,38 @@
+/* Generated by ./xlat/gen.sh from ./xlat/fan_event_flags.in; do not edit. */
+
+static const struct xlat fan_event_flags[] = {
+#if defined(FAN_ACCESS) || (defined(HAVE_DECL_FAN_ACCESS) && HAVE_DECL_FAN_ACCESS)
+	XLAT(FAN_ACCESS),
+#endif
+#if defined(FAN_MODIFY) || (defined(HAVE_DECL_FAN_MODIFY) && HAVE_DECL_FAN_MODIFY)
+	XLAT(FAN_MODIFY),
+#endif
+#if defined(FAN_CLOSE) || (defined(HAVE_DECL_FAN_CLOSE) && HAVE_DECL_FAN_CLOSE)
+	XLAT(FAN_CLOSE),
+#endif
+#if defined(FAN_CLOSE_WRITE) || (defined(HAVE_DECL_FAN_CLOSE_WRITE) && HAVE_DECL_FAN_CLOSE_WRITE)
+	XLAT(FAN_CLOSE_WRITE),
+#endif
+#if defined(FAN_CLOSE_NOWRITE) || (defined(HAVE_DECL_FAN_CLOSE_NOWRITE) && HAVE_DECL_FAN_CLOSE_NOWRITE)
+	XLAT(FAN_CLOSE_NOWRITE),
+#endif
+#if defined(FAN_OPEN) || (defined(HAVE_DECL_FAN_OPEN) && HAVE_DECL_FAN_OPEN)
+	XLAT(FAN_OPEN),
+#endif
+#if defined(FAN_Q_OVERFLOW) || (defined(HAVE_DECL_FAN_Q_OVERFLOW) && HAVE_DECL_FAN_Q_OVERFLOW)
+	XLAT(FAN_Q_OVERFLOW),
+#endif
+#if defined(FAN_OPEN_PERM) || (defined(HAVE_DECL_FAN_OPEN_PERM) && HAVE_DECL_FAN_OPEN_PERM)
+	XLAT(FAN_OPEN_PERM),
+#endif
+#if defined(FAN_ACCESS_PERM) || (defined(HAVE_DECL_FAN_ACCESS_PERM) && HAVE_DECL_FAN_ACCESS_PERM)
+	XLAT(FAN_ACCESS_PERM),
+#endif
+#if defined(FAN_ONDIR) || (defined(HAVE_DECL_FAN_ONDIR) && HAVE_DECL_FAN_ONDIR)
+	XLAT(FAN_ONDIR),
+#endif
+#if defined(FAN_EVENT_ON_CHILD) || (defined(HAVE_DECL_FAN_EVENT_ON_CHILD) && HAVE_DECL_FAN_EVENT_ON_CHILD)
+	XLAT(FAN_EVENT_ON_CHILD),
+#endif
+	XLAT_END
+};
diff --git a/xlat/fan_init_flags.h b/xlat/fan_init_flags.h
new file mode 100644
index 0000000..b4873e5
--- /dev/null
+++ b/xlat/fan_init_flags.h
@@ -0,0 +1,17 @@
+/* Generated by ./xlat/gen.sh from ./xlat/fan_init_flags.in; do not edit. */
+
+static const struct xlat fan_init_flags[] = {
+#if defined(FAN_CLOEXEC) || (defined(HAVE_DECL_FAN_CLOEXEC) && HAVE_DECL_FAN_CLOEXEC)
+	XLAT(FAN_CLOEXEC),
+#endif
+#if defined(FAN_NONBLOCK) || (defined(HAVE_DECL_FAN_NONBLOCK) && HAVE_DECL_FAN_NONBLOCK)
+	XLAT(FAN_NONBLOCK),
+#endif
+#if defined(FAN_UNLIMITED_QUEUE) || (defined(HAVE_DECL_FAN_UNLIMITED_QUEUE) && HAVE_DECL_FAN_UNLIMITED_QUEUE)
+	XLAT(FAN_UNLIMITED_QUEUE),
+#endif
+#if defined(FAN_UNLIMITED_MARKS) || (defined(HAVE_DECL_FAN_UNLIMITED_MARKS) && HAVE_DECL_FAN_UNLIMITED_MARKS)
+	XLAT(FAN_UNLIMITED_MARKS),
+#endif
+	XLAT_END
+};
diff --git a/xlat/fan_mark_flags.h b/xlat/fan_mark_flags.h
new file mode 100644
index 0000000..5ab20d8
--- /dev/null
+++ b/xlat/fan_mark_flags.h
@@ -0,0 +1,29 @@
+/* Generated by ./xlat/gen.sh from ./xlat/fan_mark_flags.in; do not edit. */
+
+static const struct xlat fan_mark_flags[] = {
+#if defined(FAN_MARK_ADD) || (defined(HAVE_DECL_FAN_MARK_ADD) && HAVE_DECL_FAN_MARK_ADD)
+	XLAT(FAN_MARK_ADD),
+#endif
+#if defined(FAN_MARK_REMOVE) || (defined(HAVE_DECL_FAN_MARK_REMOVE) && HAVE_DECL_FAN_MARK_REMOVE)
+	XLAT(FAN_MARK_REMOVE),
+#endif
+#if defined(FAN_MARK_DONT_FOLLOW) || (defined(HAVE_DECL_FAN_MARK_DONT_FOLLOW) && HAVE_DECL_FAN_MARK_DONT_FOLLOW)
+	XLAT(FAN_MARK_DONT_FOLLOW),
+#endif
+#if defined(FAN_MARK_ONLYDIR) || (defined(HAVE_DECL_FAN_MARK_ONLYDIR) && HAVE_DECL_FAN_MARK_ONLYDIR)
+	XLAT(FAN_MARK_ONLYDIR),
+#endif
+#if defined(FAN_MARK_MOUNT) || (defined(HAVE_DECL_FAN_MARK_MOUNT) && HAVE_DECL_FAN_MARK_MOUNT)
+	XLAT(FAN_MARK_MOUNT),
+#endif
+#if defined(FAN_MARK_IGNORED_MASK) || (defined(HAVE_DECL_FAN_MARK_IGNORED_MASK) && HAVE_DECL_FAN_MARK_IGNORED_MASK)
+	XLAT(FAN_MARK_IGNORED_MASK),
+#endif
+#if defined(FAN_MARK_IGNORED_SURV_MODIFY) || (defined(HAVE_DECL_FAN_MARK_IGNORED_SURV_MODIFY) && HAVE_DECL_FAN_MARK_IGNORED_SURV_MODIFY)
+	XLAT(FAN_MARK_IGNORED_SURV_MODIFY),
+#endif
+#if defined(FAN_MARK_FLUSH) || (defined(HAVE_DECL_FAN_MARK_FLUSH) && HAVE_DECL_FAN_MARK_FLUSH)
+	XLAT(FAN_MARK_FLUSH),
+#endif
+	XLAT_END
+};
diff --git a/xlat/fcntlcmds.h b/xlat/fcntlcmds.h
new file mode 100644
index 0000000..5a170fd
--- /dev/null
+++ b/xlat/fcntlcmds.h
@@ -0,0 +1,125 @@
+/* Generated by ./xlat/gen.sh from ./xlat/fcntlcmds.in; do not edit. */
+
+static const struct xlat fcntlcmds[] = {
+#if defined(F_DUPFD) || (defined(HAVE_DECL_F_DUPFD) && HAVE_DECL_F_DUPFD)
+	XLAT(F_DUPFD),
+#endif
+#if defined(F_GETFD) || (defined(HAVE_DECL_F_GETFD) && HAVE_DECL_F_GETFD)
+	XLAT(F_GETFD),
+#endif
+#if defined(F_SETFD) || (defined(HAVE_DECL_F_SETFD) && HAVE_DECL_F_SETFD)
+	XLAT(F_SETFD),
+#endif
+#if defined(F_GETFL) || (defined(HAVE_DECL_F_GETFL) && HAVE_DECL_F_GETFL)
+	XLAT(F_GETFL),
+#endif
+#if defined(F_SETFL) || (defined(HAVE_DECL_F_SETFL) && HAVE_DECL_F_SETFL)
+	XLAT(F_SETFL),
+#endif
+#if defined(F_GETLK) || (defined(HAVE_DECL_F_GETLK) && HAVE_DECL_F_GETLK)
+	XLAT(F_GETLK),
+#endif
+#if defined(F_SETLK) || (defined(HAVE_DECL_F_SETLK) && HAVE_DECL_F_SETLK)
+	XLAT(F_SETLK),
+#endif
+#if defined(F_SETLKW) || (defined(HAVE_DECL_F_SETLKW) && HAVE_DECL_F_SETLKW)
+	XLAT(F_SETLKW),
+#endif
+#if defined(F_GETOWN) || (defined(HAVE_DECL_F_GETOWN) && HAVE_DECL_F_GETOWN)
+	XLAT(F_GETOWN),
+#endif
+#if defined(F_SETOWN) || (defined(HAVE_DECL_F_SETOWN) && HAVE_DECL_F_SETOWN)
+	XLAT(F_SETOWN),
+#endif
+#if defined(F_RSETLK) || (defined(HAVE_DECL_F_RSETLK) && HAVE_DECL_F_RSETLK)
+	XLAT(F_RSETLK),
+#endif
+#if defined(F_RSETLKW) || (defined(HAVE_DECL_F_RSETLKW) && HAVE_DECL_F_RSETLKW)
+	XLAT(F_RSETLKW),
+#endif
+#if defined(F_RGETLK) || (defined(HAVE_DECL_F_RGETLK) && HAVE_DECL_F_RGETLK)
+	XLAT(F_RGETLK),
+#endif
+#if defined(F_CNVT) || (defined(HAVE_DECL_F_CNVT) && HAVE_DECL_F_CNVT)
+	XLAT(F_CNVT),
+#endif
+#if defined(F_SETSIG) || (defined(HAVE_DECL_F_SETSIG) && HAVE_DECL_F_SETSIG)
+	XLAT(F_SETSIG),
+#endif
+#if defined(F_GETSIG) || (defined(HAVE_DECL_F_GETSIG) && HAVE_DECL_F_GETSIG)
+	XLAT(F_GETSIG),
+#endif
+#if defined(F_CHKFL) || (defined(HAVE_DECL_F_CHKFL) && HAVE_DECL_F_CHKFL)
+	XLAT(F_CHKFL),
+#endif
+#if defined(F_DUP2FD) || (defined(HAVE_DECL_F_DUP2FD) && HAVE_DECL_F_DUP2FD)
+	XLAT(F_DUP2FD),
+#endif
+#if defined(F_ALLOCSP) || (defined(HAVE_DECL_F_ALLOCSP) && HAVE_DECL_F_ALLOCSP)
+	XLAT(F_ALLOCSP),
+#endif
+#if defined(F_ISSTREAM) || (defined(HAVE_DECL_F_ISSTREAM) && HAVE_DECL_F_ISSTREAM)
+	XLAT(F_ISSTREAM),
+#endif
+#if defined(F_PRIV) || (defined(HAVE_DECL_F_PRIV) && HAVE_DECL_F_PRIV)
+	XLAT(F_PRIV),
+#endif
+#if defined(F_NPRIV) || (defined(HAVE_DECL_F_NPRIV) && HAVE_DECL_F_NPRIV)
+	XLAT(F_NPRIV),
+#endif
+#if defined(F_QUOTACL) || (defined(HAVE_DECL_F_QUOTACL) && HAVE_DECL_F_QUOTACL)
+	XLAT(F_QUOTACL),
+#endif
+#if defined(F_BLOCKS) || (defined(HAVE_DECL_F_BLOCKS) && HAVE_DECL_F_BLOCKS)
+	XLAT(F_BLOCKS),
+#endif
+#if defined(F_BLKSIZE) || (defined(HAVE_DECL_F_BLKSIZE) && HAVE_DECL_F_BLKSIZE)
+	XLAT(F_BLKSIZE),
+#endif
+#if defined(F_GETOWN) || (defined(HAVE_DECL_F_GETOWN) && HAVE_DECL_F_GETOWN)
+	XLAT(F_GETOWN),
+#endif
+#if defined(F_SETOWN) || (defined(HAVE_DECL_F_SETOWN) && HAVE_DECL_F_SETOWN)
+	XLAT(F_SETOWN),
+#endif
+#if defined(F_REVOKE) || (defined(HAVE_DECL_F_REVOKE) && HAVE_DECL_F_REVOKE)
+	XLAT(F_REVOKE),
+#endif
+#if defined(F_SETLK) || (defined(HAVE_DECL_F_SETLK) && HAVE_DECL_F_SETLK)
+	XLAT(F_SETLK),
+#endif
+#if defined(F_SETLKW) || (defined(HAVE_DECL_F_SETLKW) && HAVE_DECL_F_SETLKW)
+	XLAT(F_SETLKW),
+#endif
+#if defined(F_GETLK) || (defined(HAVE_DECL_F_GETLK) && HAVE_DECL_F_GETLK)
+	XLAT(F_GETLK),
+#endif
+#if defined(F_SETLK64) || (defined(HAVE_DECL_F_SETLK64) && HAVE_DECL_F_SETLK64)
+	XLAT(F_SETLK64),
+#endif
+#if defined(F_SETLKW64) || (defined(HAVE_DECL_F_SETLKW64) && HAVE_DECL_F_SETLKW64)
+	XLAT(F_SETLKW64),
+#endif
+#if defined(F_GETLK64) || (defined(HAVE_DECL_F_GETLK64) && HAVE_DECL_F_GETLK64)
+	XLAT(F_GETLK64),
+#endif
+#if defined(F_SHARE) || (defined(HAVE_DECL_F_SHARE) && HAVE_DECL_F_SHARE)
+	XLAT(F_SHARE),
+#endif
+#if defined(F_UNSHARE) || (defined(HAVE_DECL_F_UNSHARE) && HAVE_DECL_F_UNSHARE)
+	XLAT(F_UNSHARE),
+#endif
+#if defined(F_SETLEASE) || (defined(HAVE_DECL_F_SETLEASE) && HAVE_DECL_F_SETLEASE)
+	XLAT(F_SETLEASE),
+#endif
+#if defined(F_GETLEASE) || (defined(HAVE_DECL_F_GETLEASE) && HAVE_DECL_F_GETLEASE)
+	XLAT(F_GETLEASE),
+#endif
+#if defined(F_NOTIFY) || (defined(HAVE_DECL_F_NOTIFY) && HAVE_DECL_F_NOTIFY)
+	XLAT(F_NOTIFY),
+#endif
+#if defined(F_DUPFD_CLOEXEC) || (defined(HAVE_DECL_F_DUPFD_CLOEXEC) && HAVE_DECL_F_DUPFD_CLOEXEC)
+	XLAT(F_DUPFD_CLOEXEC),
+#endif
+	XLAT_END
+};
diff --git a/xlat/fdflags.h b/xlat/fdflags.h
new file mode 100644
index 0000000..085eb7d
--- /dev/null
+++ b/xlat/fdflags.h
@@ -0,0 +1,8 @@
+/* Generated by ./xlat/gen.sh from ./xlat/fdflags.in; do not edit. */
+
+static const struct xlat fdflags[] = {
+#if defined(FD_CLOEXEC) || (defined(HAVE_DECL_FD_CLOEXEC) && HAVE_DECL_FD_CLOEXEC)
+	XLAT(FD_CLOEXEC),
+#endif
+	XLAT_END
+};
diff --git a/xlat/fileflags.h b/xlat/fileflags.h
new file mode 100644
index 0000000..3b47cf0
--- /dev/null
+++ b/xlat/fileflags.h
@@ -0,0 +1,5 @@
+/* Generated by ./xlat/gen.sh from ./xlat/fileflags.in; do not edit. */
+
+static const struct xlat fileflags[] = {
+	XLAT_END
+};
diff --git a/xlat/flockcmds.h b/xlat/flockcmds.h
new file mode 100644
index 0000000..1cdd912
--- /dev/null
+++ b/xlat/flockcmds.h
@@ -0,0 +1,17 @@
+/* Generated by ./xlat/gen.sh from ./xlat/flockcmds.in; do not edit. */
+
+static const struct xlat flockcmds[] = {
+#if defined(LOCK_SH) || (defined(HAVE_DECL_LOCK_SH) && HAVE_DECL_LOCK_SH)
+	XLAT(LOCK_SH),
+#endif
+#if defined(LOCK_EX) || (defined(HAVE_DECL_LOCK_EX) && HAVE_DECL_LOCK_EX)
+	XLAT(LOCK_EX),
+#endif
+#if defined(LOCK_NB) || (defined(HAVE_DECL_LOCK_NB) && HAVE_DECL_LOCK_NB)
+	XLAT(LOCK_NB),
+#endif
+#if defined(LOCK_UN) || (defined(HAVE_DECL_LOCK_UN) && HAVE_DECL_LOCK_UN)
+	XLAT(LOCK_UN),
+#endif
+	XLAT_END
+};
diff --git a/xlat/fsmagic.h b/xlat/fsmagic.h
new file mode 100644
index 0000000..ba7f450
--- /dev/null
+++ b/xlat/fsmagic.h
@@ -0,0 +1,34 @@
+/* Generated by ./xlat/gen.sh from ./xlat/fsmagic.in; do not edit. */
+
+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"		},
+	XLAT_END
+};
diff --git a/xlat/futexops.h b/xlat/futexops.h
new file mode 100644
index 0000000..f130bca
--- /dev/null
+++ b/xlat/futexops.h
@@ -0,0 +1,95 @@
+/* Generated by ./xlat/gen.sh from ./xlat/futexops.in; do not edit. */
+
+static const struct xlat futexops[] = {
+#if defined(FUTEX_WAIT) || (defined(HAVE_DECL_FUTEX_WAIT) && HAVE_DECL_FUTEX_WAIT)
+	XLAT(FUTEX_WAIT),
+#endif
+#if defined(FUTEX_WAKE) || (defined(HAVE_DECL_FUTEX_WAKE) && HAVE_DECL_FUTEX_WAKE)
+	XLAT(FUTEX_WAKE),
+#endif
+#if defined(FUTEX_FD) || (defined(HAVE_DECL_FUTEX_FD) && HAVE_DECL_FUTEX_FD)
+	XLAT(FUTEX_FD),
+#endif
+#if defined(FUTEX_REQUEUE) || (defined(HAVE_DECL_FUTEX_REQUEUE) && HAVE_DECL_FUTEX_REQUEUE)
+	XLAT(FUTEX_REQUEUE),
+#endif
+#if defined(FUTEX_CMP_REQUEUE) || (defined(HAVE_DECL_FUTEX_CMP_REQUEUE) && HAVE_DECL_FUTEX_CMP_REQUEUE)
+	XLAT(FUTEX_CMP_REQUEUE),
+#endif
+#if defined(FUTEX_WAKE_OP) || (defined(HAVE_DECL_FUTEX_WAKE_OP) && HAVE_DECL_FUTEX_WAKE_OP)
+	XLAT(FUTEX_WAKE_OP),
+#endif
+#if defined(FUTEX_LOCK_PI) || (defined(HAVE_DECL_FUTEX_LOCK_PI) && HAVE_DECL_FUTEX_LOCK_PI)
+	XLAT(FUTEX_LOCK_PI),
+#endif
+#if defined(FUTEX_UNLOCK_PI) || (defined(HAVE_DECL_FUTEX_UNLOCK_PI) && HAVE_DECL_FUTEX_UNLOCK_PI)
+	XLAT(FUTEX_UNLOCK_PI),
+#endif
+#if defined(FUTEX_TRYLOCK_PI) || (defined(HAVE_DECL_FUTEX_TRYLOCK_PI) && HAVE_DECL_FUTEX_TRYLOCK_PI)
+	XLAT(FUTEX_TRYLOCK_PI),
+#endif
+#if defined(FUTEX_WAIT_BITSET) || (defined(HAVE_DECL_FUTEX_WAIT_BITSET) && HAVE_DECL_FUTEX_WAIT_BITSET)
+	XLAT(FUTEX_WAIT_BITSET),
+#endif
+#if defined(FUTEX_WAKE_BITSET) || (defined(HAVE_DECL_FUTEX_WAKE_BITSET) && HAVE_DECL_FUTEX_WAKE_BITSET)
+	XLAT(FUTEX_WAKE_BITSET),
+#endif
+#if defined(FUTEX_WAIT_REQUEUE_PI) || (defined(HAVE_DECL_FUTEX_WAIT_REQUEUE_PI) && HAVE_DECL_FUTEX_WAIT_REQUEUE_PI)
+	XLAT(FUTEX_WAIT_REQUEUE_PI),
+#endif
+#if defined(FUTEX_CMP_REQUEUE_PI) || (defined(HAVE_DECL_FUTEX_CMP_REQUEUE_PI) && HAVE_DECL_FUTEX_CMP_REQUEUE_PI)
+	XLAT(FUTEX_CMP_REQUEUE_PI),
+#endif
+#if defined(FUTEX_WAIT_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAIT_PRIVATE) && HAVE_DECL_FUTEX_WAIT_PRIVATE)
+	XLAT(FUTEX_WAIT_PRIVATE),
+#endif
+#if defined(FUTEX_WAKE_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAKE_PRIVATE) && HAVE_DECL_FUTEX_WAKE_PRIVATE)
+	XLAT(FUTEX_WAKE_PRIVATE),
+#endif
+#if defined(FUTEX_FD) || (defined(HAVE_DECL_FUTEX_FD) && HAVE_DECL_FUTEX_FD)
+	XLAT(FUTEX_FD|FUTEX_PRIVATE_FLAG),
+#endif
+#if defined(FUTEX_REQUEUE_PRIVATE) || (defined(HAVE_DECL_FUTEX_REQUEUE_PRIVATE) && HAVE_DECL_FUTEX_REQUEUE_PRIVATE)
+	XLAT(FUTEX_REQUEUE_PRIVATE),
+#endif
+#if defined(FUTEX_CMP_REQUEUE_PRIVATE) || (defined(HAVE_DECL_FUTEX_CMP_REQUEUE_PRIVATE) && HAVE_DECL_FUTEX_CMP_REQUEUE_PRIVATE)
+	XLAT(FUTEX_CMP_REQUEUE_PRIVATE),
+#endif
+#if defined(FUTEX_WAKE_OP_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAKE_OP_PRIVATE) && HAVE_DECL_FUTEX_WAKE_OP_PRIVATE)
+	XLAT(FUTEX_WAKE_OP_PRIVATE),
+#endif
+#if defined(FUTEX_LOCK_PI_PRIVATE) || (defined(HAVE_DECL_FUTEX_LOCK_PI_PRIVATE) && HAVE_DECL_FUTEX_LOCK_PI_PRIVATE)
+	XLAT(FUTEX_LOCK_PI_PRIVATE),
+#endif
+#if defined(FUTEX_UNLOCK_PI_PRIVATE) || (defined(HAVE_DECL_FUTEX_UNLOCK_PI_PRIVATE) && HAVE_DECL_FUTEX_UNLOCK_PI_PRIVATE)
+	XLAT(FUTEX_UNLOCK_PI_PRIVATE),
+#endif
+#if defined(FUTEX_TRYLOCK_PI_PRIVATE) || (defined(HAVE_DECL_FUTEX_TRYLOCK_PI_PRIVATE) && HAVE_DECL_FUTEX_TRYLOCK_PI_PRIVATE)
+	XLAT(FUTEX_TRYLOCK_PI_PRIVATE),
+#endif
+#if defined(FUTEX_WAIT_BITSET_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAIT_BITSET_PRIVATE) && HAVE_DECL_FUTEX_WAIT_BITSET_PRIVATE)
+	XLAT(FUTEX_WAIT_BITSET_PRIVATE),
+#endif
+#if defined(FUTEX_WAKE_BITSET_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAKE_BITSET_PRIVATE) && HAVE_DECL_FUTEX_WAKE_BITSET_PRIVATE)
+	XLAT(FUTEX_WAKE_BITSET_PRIVATE),
+#endif
+#if defined(FUTEX_WAIT_REQUEUE_PI_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAIT_REQUEUE_PI_PRIVATE) && HAVE_DECL_FUTEX_WAIT_REQUEUE_PI_PRIVATE)
+	XLAT(FUTEX_WAIT_REQUEUE_PI_PRIVATE),
+#endif
+#if defined(FUTEX_CMP_REQUEUE_PI_PRIVATE) || (defined(HAVE_DECL_FUTEX_CMP_REQUEUE_PI_PRIVATE) && HAVE_DECL_FUTEX_CMP_REQUEUE_PI_PRIVATE)
+	XLAT(FUTEX_CMP_REQUEUE_PI_PRIVATE),
+#endif
+#if defined(FUTEX_WAIT_BITSET) || (defined(HAVE_DECL_FUTEX_WAIT_BITSET) && HAVE_DECL_FUTEX_WAIT_BITSET)
+	XLAT(FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME),
+#endif
+#if defined(FUTEX_WAIT_BITSET_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAIT_BITSET_PRIVATE) && HAVE_DECL_FUTEX_WAIT_BITSET_PRIVATE)
+	XLAT(FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME),
+#endif
+#if defined(FUTEX_WAIT_REQUEUE_PI) || (defined(HAVE_DECL_FUTEX_WAIT_REQUEUE_PI) && HAVE_DECL_FUTEX_WAIT_REQUEUE_PI)
+	XLAT(FUTEX_WAIT_REQUEUE_PI|FUTEX_CLOCK_REALTIME),
+#endif
+#if defined(FUTEX_WAIT_REQUEUE_PI_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAIT_REQUEUE_PI_PRIVATE) && HAVE_DECL_FUTEX_WAIT_REQUEUE_PI_PRIVATE)
+	XLAT(FUTEX_WAIT_REQUEUE_PI_PRIVATE|FUTEX_CLOCK_REALTIME),
+#endif
+	XLAT_END
+};
diff --git a/xlat/futexwakecmps.h b/xlat/futexwakecmps.h
new file mode 100644
index 0000000..a99a6f5
--- /dev/null
+++ b/xlat/futexwakecmps.h
@@ -0,0 +1,23 @@
+/* Generated by ./xlat/gen.sh from ./xlat/futexwakecmps.in; do not edit. */
+
+static const struct xlat futexwakecmps[] = {
+#if defined(FUTEX_OP_CMP_EQ) || (defined(HAVE_DECL_FUTEX_OP_CMP_EQ) && HAVE_DECL_FUTEX_OP_CMP_EQ)
+	XLAT(FUTEX_OP_CMP_EQ),
+#endif
+#if defined(FUTEX_OP_CMP_NE) || (defined(HAVE_DECL_FUTEX_OP_CMP_NE) && HAVE_DECL_FUTEX_OP_CMP_NE)
+	XLAT(FUTEX_OP_CMP_NE),
+#endif
+#if defined(FUTEX_OP_CMP_LT) || (defined(HAVE_DECL_FUTEX_OP_CMP_LT) && HAVE_DECL_FUTEX_OP_CMP_LT)
+	XLAT(FUTEX_OP_CMP_LT),
+#endif
+#if defined(FUTEX_OP_CMP_LE) || (defined(HAVE_DECL_FUTEX_OP_CMP_LE) && HAVE_DECL_FUTEX_OP_CMP_LE)
+	XLAT(FUTEX_OP_CMP_LE),
+#endif
+#if defined(FUTEX_OP_CMP_GT) || (defined(HAVE_DECL_FUTEX_OP_CMP_GT) && HAVE_DECL_FUTEX_OP_CMP_GT)
+	XLAT(FUTEX_OP_CMP_GT),
+#endif
+#if defined(FUTEX_OP_CMP_GE) || (defined(HAVE_DECL_FUTEX_OP_CMP_GE) && HAVE_DECL_FUTEX_OP_CMP_GE)
+	XLAT(FUTEX_OP_CMP_GE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/futexwakeops.h b/xlat/futexwakeops.h
new file mode 100644
index 0000000..e0a0f40
--- /dev/null
+++ b/xlat/futexwakeops.h
@@ -0,0 +1,20 @@
+/* Generated by ./xlat/gen.sh from ./xlat/futexwakeops.in; do not edit. */
+
+static const struct xlat futexwakeops[] = {
+#if defined(FUTEX_OP_SET) || (defined(HAVE_DECL_FUTEX_OP_SET) && HAVE_DECL_FUTEX_OP_SET)
+	XLAT(FUTEX_OP_SET),
+#endif
+#if defined(FUTEX_OP_ADD) || (defined(HAVE_DECL_FUTEX_OP_ADD) && HAVE_DECL_FUTEX_OP_ADD)
+	XLAT(FUTEX_OP_ADD),
+#endif
+#if defined(FUTEX_OP_OR) || (defined(HAVE_DECL_FUTEX_OP_OR) && HAVE_DECL_FUTEX_OP_OR)
+	XLAT(FUTEX_OP_OR),
+#endif
+#if defined(FUTEX_OP_ANDN) || (defined(HAVE_DECL_FUTEX_OP_ANDN) && HAVE_DECL_FUTEX_OP_ANDN)
+	XLAT(FUTEX_OP_ANDN),
+#endif
+#if defined(FUTEX_OP_XOR) || (defined(HAVE_DECL_FUTEX_OP_XOR) && HAVE_DECL_FUTEX_OP_XOR)
+	XLAT(FUTEX_OP_XOR),
+#endif
+	XLAT_END
+};
diff --git a/xlat/icmpfilterflags.h b/xlat/icmpfilterflags.h
new file mode 100644
index 0000000..872438c
--- /dev/null
+++ b/xlat/icmpfilterflags.h
@@ -0,0 +1,44 @@
+/* Generated by ./xlat/gen.sh from ./xlat/icmpfilterflags.in; do not edit. */
+
+static const struct xlat icmpfilterflags[] = {
+#if defined(ICMP_ECHOREPLY) || (defined(HAVE_DECL_ICMP_ECHOREPLY) && HAVE_DECL_ICMP_ECHOREPLY)
+	{ 1<<ICMP_ECHOREPLY, "ICMP_ECHOREPLY" },
+#endif
+#if defined(ICMP_DEST_UNREACH) || (defined(HAVE_DECL_ICMP_DEST_UNREACH) && HAVE_DECL_ICMP_DEST_UNREACH)
+	{ 1<<ICMP_DEST_UNREACH, "ICMP_DEST_UNREACH" },
+#endif
+#if defined(ICMP_SOURCE_QUENCH) || (defined(HAVE_DECL_ICMP_SOURCE_QUENCH) && HAVE_DECL_ICMP_SOURCE_QUENCH)
+	{ 1<<ICMP_SOURCE_QUENCH, "ICMP_SOURCE_QUENCH" },
+#endif
+#if defined(ICMP_REDIRECT) || (defined(HAVE_DECL_ICMP_REDIRECT) && HAVE_DECL_ICMP_REDIRECT)
+	{ 1<<ICMP_REDIRECT, "ICMP_REDIRECT" },
+#endif
+#if defined(ICMP_ECHO) || (defined(HAVE_DECL_ICMP_ECHO) && HAVE_DECL_ICMP_ECHO)
+	{ 1<<ICMP_ECHO, "ICMP_ECHO" },
+#endif
+#if defined(ICMP_TIME_EXCEEDED) || (defined(HAVE_DECL_ICMP_TIME_EXCEEDED) && HAVE_DECL_ICMP_TIME_EXCEEDED)
+	{ 1<<ICMP_TIME_EXCEEDED, "ICMP_TIME_EXCEEDED" },
+#endif
+#if defined(ICMP_PARAMETERPROB) || (defined(HAVE_DECL_ICMP_PARAMETERPROB) && HAVE_DECL_ICMP_PARAMETERPROB)
+	{ 1<<ICMP_PARAMETERPROB, "ICMP_PARAMETERPROB" },
+#endif
+#if defined(ICMP_TIMESTAMP) || (defined(HAVE_DECL_ICMP_TIMESTAMP) && HAVE_DECL_ICMP_TIMESTAMP)
+	{ 1<<ICMP_TIMESTAMP, "ICMP_TIMESTAMP" },
+#endif
+#if defined(ICMP_TIMESTAMPREPLY) || (defined(HAVE_DECL_ICMP_TIMESTAMPREPLY) && HAVE_DECL_ICMP_TIMESTAMPREPLY)
+	{ 1<<ICMP_TIMESTAMPREPLY, "ICMP_TIMESTAMPREPLY" },
+#endif
+#if defined(ICMP_INFO_REQUEST) || (defined(HAVE_DECL_ICMP_INFO_REQUEST) && HAVE_DECL_ICMP_INFO_REQUEST)
+	{ 1<<ICMP_INFO_REQUEST, "ICMP_INFO_REQUEST" },
+#endif
+#if defined(ICMP_INFO_REPLY) || (defined(HAVE_DECL_ICMP_INFO_REPLY) && HAVE_DECL_ICMP_INFO_REPLY)
+	{ 1<<ICMP_INFO_REPLY, "ICMP_INFO_REPLY" },
+#endif
+#if defined(ICMP_ADDRESS) || (defined(HAVE_DECL_ICMP_ADDRESS) && HAVE_DECL_ICMP_ADDRESS)
+	{ 1<<ICMP_ADDRESS, "ICMP_ADDRESS" },
+#endif
+#if defined(ICMP_ADDRESSREPLY) || (defined(HAVE_DECL_ICMP_ADDRESSREPLY) && HAVE_DECL_ICMP_ADDRESSREPLY)
+	{ 1<<ICMP_ADDRESSREPLY, "ICMP_ADDRESSREPLY" },
+#endif
+	XLAT_END
+};
diff --git a/xlat/if_dqblk_valid.h b/xlat/if_dqblk_valid.h
new file mode 100644
index 0000000..2de9378
--- /dev/null
+++ b/xlat/if_dqblk_valid.h
@@ -0,0 +1,23 @@
+/* Generated by ./xlat/gen.sh from ./xlat/if_dqblk_valid.in; do not edit. */
+
+static const struct xlat if_dqblk_valid[] = {
+#if defined(QIF_BLIMITS) || (defined(HAVE_DECL_QIF_BLIMITS) && HAVE_DECL_QIF_BLIMITS)
+	XLAT(QIF_BLIMITS),
+#endif
+#if defined(QIF_SPACE) || (defined(HAVE_DECL_QIF_SPACE) && HAVE_DECL_QIF_SPACE)
+	XLAT(QIF_SPACE),
+#endif
+#if defined(QIF_ILIMITS) || (defined(HAVE_DECL_QIF_ILIMITS) && HAVE_DECL_QIF_ILIMITS)
+	XLAT(QIF_ILIMITS),
+#endif
+#if defined(QIF_INODES) || (defined(HAVE_DECL_QIF_INODES) && HAVE_DECL_QIF_INODES)
+	XLAT(QIF_INODES),
+#endif
+#if defined(QIF_BTIME) || (defined(HAVE_DECL_QIF_BTIME) && HAVE_DECL_QIF_BTIME)
+	XLAT(QIF_BTIME),
+#endif
+#if defined(QIF_ITIME) || (defined(HAVE_DECL_QIF_ITIME) && HAVE_DECL_QIF_ITIME)
+	XLAT(QIF_ITIME),
+#endif
+	XLAT_END
+};
diff --git a/xlat/if_dqinfo_valid.h b/xlat/if_dqinfo_valid.h
new file mode 100644
index 0000000..d330267
--- /dev/null
+++ b/xlat/if_dqinfo_valid.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/if_dqinfo_valid.in; do not edit. */
+
+static const struct xlat if_dqinfo_valid[] = {
+#if defined(IIF_BGRACE) || (defined(HAVE_DECL_IIF_BGRACE) && HAVE_DECL_IIF_BGRACE)
+	XLAT(IIF_BGRACE),
+#endif
+#if defined(IIF_IGRACE) || (defined(HAVE_DECL_IIF_IGRACE) && HAVE_DECL_IIF_IGRACE)
+	XLAT(IIF_IGRACE),
+#endif
+#if defined(IIF_FLAGS) || (defined(HAVE_DECL_IIF_FLAGS) && HAVE_DECL_IIF_FLAGS)
+	XLAT(IIF_FLAGS),
+#endif
+	XLAT_END
+};
diff --git a/xlat/iffflags.h b/xlat/iffflags.h
new file mode 100644
index 0000000..0b9de3f
--- /dev/null
+++ b/xlat/iffflags.h
@@ -0,0 +1,50 @@
+/* Generated by ./xlat/gen.sh from ./xlat/iffflags.in; do not edit. */
+
+static const struct xlat iffflags[] = {
+#if defined(IFF_UP) || (defined(HAVE_DECL_IFF_UP) && HAVE_DECL_IFF_UP)
+	XLAT(IFF_UP),
+#endif
+#if defined(IFF_BROADCAST) || (defined(HAVE_DECL_IFF_BROADCAST) && HAVE_DECL_IFF_BROADCAST)
+	XLAT(IFF_BROADCAST),
+#endif
+#if defined(IFF_DEBUG) || (defined(HAVE_DECL_IFF_DEBUG) && HAVE_DECL_IFF_DEBUG)
+	XLAT(IFF_DEBUG),
+#endif
+#if defined(IFF_LOOPBACK) || (defined(HAVE_DECL_IFF_LOOPBACK) && HAVE_DECL_IFF_LOOPBACK)
+	XLAT(IFF_LOOPBACK),
+#endif
+#if defined(IFF_POINTOPOINT) || (defined(HAVE_DECL_IFF_POINTOPOINT) && HAVE_DECL_IFF_POINTOPOINT)
+	XLAT(IFF_POINTOPOINT),
+#endif
+#if defined(IFF_NOTRAILERS) || (defined(HAVE_DECL_IFF_NOTRAILERS) && HAVE_DECL_IFF_NOTRAILERS)
+	XLAT(IFF_NOTRAILERS),
+#endif
+#if defined(IFF_RUNNING) || (defined(HAVE_DECL_IFF_RUNNING) && HAVE_DECL_IFF_RUNNING)
+	XLAT(IFF_RUNNING),
+#endif
+#if defined(IFF_NOARP) || (defined(HAVE_DECL_IFF_NOARP) && HAVE_DECL_IFF_NOARP)
+	XLAT(IFF_NOARP),
+#endif
+#if defined(IFF_PROMISC) || (defined(HAVE_DECL_IFF_PROMISC) && HAVE_DECL_IFF_PROMISC)
+	XLAT(IFF_PROMISC),
+#endif
+#if defined(IFF_ALLMULTI) || (defined(HAVE_DECL_IFF_ALLMULTI) && HAVE_DECL_IFF_ALLMULTI)
+	XLAT(IFF_ALLMULTI),
+#endif
+#if defined(IFF_MASTER) || (defined(HAVE_DECL_IFF_MASTER) && HAVE_DECL_IFF_MASTER)
+	XLAT(IFF_MASTER),
+#endif
+#if defined(IFF_SLAVE) || (defined(HAVE_DECL_IFF_SLAVE) && HAVE_DECL_IFF_SLAVE)
+	XLAT(IFF_SLAVE),
+#endif
+#if defined(IFF_MULTICAST) || (defined(HAVE_DECL_IFF_MULTICAST) && HAVE_DECL_IFF_MULTICAST)
+	XLAT(IFF_MULTICAST),
+#endif
+#if defined(IFF_PORTSEL) || (defined(HAVE_DECL_IFF_PORTSEL) && HAVE_DECL_IFF_PORTSEL)
+	XLAT(IFF_PORTSEL),
+#endif
+#if defined(IFF_AUTOMEDIA) || (defined(HAVE_DECL_IFF_AUTOMEDIA) && HAVE_DECL_IFF_AUTOMEDIA)
+	XLAT(IFF_AUTOMEDIA),
+#endif
+	XLAT_END
+};
diff --git a/xlat/inet_protocols.h b/xlat/inet_protocols.h
new file mode 100644
index 0000000..54ed5f7
--- /dev/null
+++ b/xlat/inet_protocols.h
@@ -0,0 +1,101 @@
+/* Generated by ./xlat/gen.sh from ./xlat/inet_protocols.in; do not edit. */
+
+static const struct xlat inet_protocols[] = {
+#if defined(IPPROTO_IP) || (defined(HAVE_DECL_IPPROTO_IP) && HAVE_DECL_IPPROTO_IP)
+	XLAT(IPPROTO_IP),
+#endif
+#if defined(IPPROTO_ICMP) || (defined(HAVE_DECL_IPPROTO_ICMP) && HAVE_DECL_IPPROTO_ICMP)
+	XLAT(IPPROTO_ICMP),
+#endif
+#if defined(IPPROTO_TCP) || (defined(HAVE_DECL_IPPROTO_TCP) && HAVE_DECL_IPPROTO_TCP)
+	XLAT(IPPROTO_TCP),
+#endif
+#if defined(IPPROTO_UDP) || (defined(HAVE_DECL_IPPROTO_UDP) && HAVE_DECL_IPPROTO_UDP)
+	XLAT(IPPROTO_UDP),
+#endif
+#if defined(IPPROTO_IGMP) || (defined(HAVE_DECL_IPPROTO_IGMP) && HAVE_DECL_IPPROTO_IGMP)
+	XLAT(IPPROTO_IGMP),
+#endif
+#if defined(IPPROTO_GGP) || (defined(HAVE_DECL_IPPROTO_GGP) && HAVE_DECL_IPPROTO_GGP)
+	XLAT(IPPROTO_GGP),
+#endif
+#if defined(IPPROTO_IPIP) || (defined(HAVE_DECL_IPPROTO_IPIP) && HAVE_DECL_IPPROTO_IPIP)
+	XLAT(IPPROTO_IPIP),
+#endif
+#if defined(IPPROTO_EGP) || (defined(HAVE_DECL_IPPROTO_EGP) && HAVE_DECL_IPPROTO_EGP)
+	XLAT(IPPROTO_EGP),
+#endif
+#if defined(IPPROTO_PUP) || (defined(HAVE_DECL_IPPROTO_PUP) && HAVE_DECL_IPPROTO_PUP)
+	XLAT(IPPROTO_PUP),
+#endif
+#if defined(IPPROTO_IDP) || (defined(HAVE_DECL_IPPROTO_IDP) && HAVE_DECL_IPPROTO_IDP)
+	XLAT(IPPROTO_IDP),
+#endif
+#if defined(IPPROTO_TP) || (defined(HAVE_DECL_IPPROTO_TP) && HAVE_DECL_IPPROTO_TP)
+	XLAT(IPPROTO_TP),
+#endif
+#if defined(IPPROTO_DCCP) || (defined(HAVE_DECL_IPPROTO_DCCP) && HAVE_DECL_IPPROTO_DCCP)
+	XLAT(IPPROTO_DCCP),
+#endif
+#if defined(IPPROTO_IPV6) || (defined(HAVE_DECL_IPPROTO_IPV6) && HAVE_DECL_IPPROTO_IPV6)
+	XLAT(IPPROTO_IPV6),
+#endif
+#if defined(IPPROTO_ROUTING) || (defined(HAVE_DECL_IPPROTO_ROUTING) && HAVE_DECL_IPPROTO_ROUTING)
+	XLAT(IPPROTO_ROUTING),
+#endif
+#if defined(IPPROTO_FRAGMENT) || (defined(HAVE_DECL_IPPROTO_FRAGMENT) && HAVE_DECL_IPPROTO_FRAGMENT)
+	XLAT(IPPROTO_FRAGMENT),
+#endif
+#if defined(IPPROTO_RSVP) || (defined(HAVE_DECL_IPPROTO_RSVP) && HAVE_DECL_IPPROTO_RSVP)
+	XLAT(IPPROTO_RSVP),
+#endif
+#if defined(IPPROTO_GRE) || (defined(HAVE_DECL_IPPROTO_GRE) && HAVE_DECL_IPPROTO_GRE)
+	XLAT(IPPROTO_GRE),
+#endif
+#if defined(IPPROTO_ESP) || (defined(HAVE_DECL_IPPROTO_ESP) && HAVE_DECL_IPPROTO_ESP)
+	XLAT(IPPROTO_ESP),
+#endif
+#if defined(IPPROTO_AH) || (defined(HAVE_DECL_IPPROTO_AH) && HAVE_DECL_IPPROTO_AH)
+	XLAT(IPPROTO_AH),
+#endif
+#if defined(IPPROTO_ICMPV6) || (defined(HAVE_DECL_IPPROTO_ICMPV6) && HAVE_DECL_IPPROTO_ICMPV6)
+	XLAT(IPPROTO_ICMPV6),
+#endif
+#if defined(IPPROTO_NONE) || (defined(HAVE_DECL_IPPROTO_NONE) && HAVE_DECL_IPPROTO_NONE)
+	XLAT(IPPROTO_NONE),
+#endif
+#if defined(IPPROTO_DSTOPTS) || (defined(HAVE_DECL_IPPROTO_DSTOPTS) && HAVE_DECL_IPPROTO_DSTOPTS)
+	XLAT(IPPROTO_DSTOPTS),
+#endif
+#if defined(IPPROTO_HELLO) || (defined(HAVE_DECL_IPPROTO_HELLO) && HAVE_DECL_IPPROTO_HELLO)
+	XLAT(IPPROTO_HELLO),
+#endif
+#if defined(IPPROTO_ND) || (defined(HAVE_DECL_IPPROTO_ND) && HAVE_DECL_IPPROTO_ND)
+	XLAT(IPPROTO_ND),
+#endif
+#if defined(IPPROTO_MTP) || (defined(HAVE_DECL_IPPROTO_MTP) && HAVE_DECL_IPPROTO_MTP)
+	XLAT(IPPROTO_MTP),
+#endif
+#if defined(IPPROTO_ENCAP) || (defined(HAVE_DECL_IPPROTO_ENCAP) && HAVE_DECL_IPPROTO_ENCAP)
+	XLAT(IPPROTO_ENCAP),
+#endif
+#if defined(IPPROTO_PIM) || (defined(HAVE_DECL_IPPROTO_PIM) && HAVE_DECL_IPPROTO_PIM)
+	XLAT(IPPROTO_PIM),
+#endif
+#if defined(IPPROTO_COMP) || (defined(HAVE_DECL_IPPROTO_COMP) && HAVE_DECL_IPPROTO_COMP)
+	XLAT(IPPROTO_COMP),
+#endif
+#if defined(IPPROTO_SCTP) || (defined(HAVE_DECL_IPPROTO_SCTP) && HAVE_DECL_IPPROTO_SCTP)
+	XLAT(IPPROTO_SCTP),
+#endif
+#if defined(IPPROTO_UDPLITE) || (defined(HAVE_DECL_IPPROTO_UDPLITE) && HAVE_DECL_IPPROTO_UDPLITE)
+	XLAT(IPPROTO_UDPLITE),
+#endif
+#if defined(IPPROTO_RAW) || (defined(HAVE_DECL_IPPROTO_RAW) && HAVE_DECL_IPPROTO_RAW)
+	XLAT(IPPROTO_RAW),
+#endif
+#if defined(IPPROTO_MAX) || (defined(HAVE_DECL_IPPROTO_MAX) && HAVE_DECL_IPPROTO_MAX)
+	XLAT(IPPROTO_MAX),
+#endif
+	XLAT_END
+};
diff --git a/xlat/inotify_flags.h b/xlat/inotify_flags.h
new file mode 100644
index 0000000..847222d
--- /dev/null
+++ b/xlat/inotify_flags.h
@@ -0,0 +1,74 @@
+/* Generated by ./xlat/gen.sh from ./xlat/inotify_flags.in; do not edit. */
+
+static const struct xlat inotify_flags[] = {
+#if defined(IN_ACCESS) || (defined(HAVE_DECL_IN_ACCESS) && HAVE_DECL_IN_ACCESS)
+	XLAT(IN_ACCESS),
+#endif
+#if defined(IN_MODIFY) || (defined(HAVE_DECL_IN_MODIFY) && HAVE_DECL_IN_MODIFY)
+	XLAT(IN_MODIFY),
+#endif
+#if defined(IN_ATTRIB) || (defined(HAVE_DECL_IN_ATTRIB) && HAVE_DECL_IN_ATTRIB)
+	XLAT(IN_ATTRIB),
+#endif
+#if defined(IN_CLOSE) || (defined(HAVE_DECL_IN_CLOSE) && HAVE_DECL_IN_CLOSE)
+	XLAT(IN_CLOSE),
+#endif
+#if defined(IN_CLOSE_WRITE) || (defined(HAVE_DECL_IN_CLOSE_WRITE) && HAVE_DECL_IN_CLOSE_WRITE)
+	XLAT(IN_CLOSE_WRITE),
+#endif
+#if defined(IN_CLOSE_NOWRITE) || (defined(HAVE_DECL_IN_CLOSE_NOWRITE) && HAVE_DECL_IN_CLOSE_NOWRITE)
+	XLAT(IN_CLOSE_NOWRITE),
+#endif
+#if defined(IN_OPEN) || (defined(HAVE_DECL_IN_OPEN) && HAVE_DECL_IN_OPEN)
+	XLAT(IN_OPEN),
+#endif
+#if defined(IN_MOVE) || (defined(HAVE_DECL_IN_MOVE) && HAVE_DECL_IN_MOVE)
+	XLAT(IN_MOVE),
+#endif
+#if defined(IN_MOVED_FROM) || (defined(HAVE_DECL_IN_MOVED_FROM) && HAVE_DECL_IN_MOVED_FROM)
+	XLAT(IN_MOVED_FROM),
+#endif
+#if defined(IN_MOVED_TO) || (defined(HAVE_DECL_IN_MOVED_TO) && HAVE_DECL_IN_MOVED_TO)
+	XLAT(IN_MOVED_TO),
+#endif
+#if defined(IN_CREATE) || (defined(HAVE_DECL_IN_CREATE) && HAVE_DECL_IN_CREATE)
+	XLAT(IN_CREATE),
+#endif
+#if defined(IN_DELETE) || (defined(HAVE_DECL_IN_DELETE) && HAVE_DECL_IN_DELETE)
+	XLAT(IN_DELETE),
+#endif
+#if defined(IN_DELETE_SELF) || (defined(HAVE_DECL_IN_DELETE_SELF) && HAVE_DECL_IN_DELETE_SELF)
+	XLAT(IN_DELETE_SELF),
+#endif
+#if defined(IN_MOVE_SELF) || (defined(HAVE_DECL_IN_MOVE_SELF) && HAVE_DECL_IN_MOVE_SELF)
+	XLAT(IN_MOVE_SELF),
+#endif
+#if defined(IN_UNMOUNT) || (defined(HAVE_DECL_IN_UNMOUNT) && HAVE_DECL_IN_UNMOUNT)
+	XLAT(IN_UNMOUNT),
+#endif
+#if defined(IN_Q_OVERFLOW) || (defined(HAVE_DECL_IN_Q_OVERFLOW) && HAVE_DECL_IN_Q_OVERFLOW)
+	XLAT(IN_Q_OVERFLOW),
+#endif
+#if defined(IN_IGNORED) || (defined(HAVE_DECL_IN_IGNORED) && HAVE_DECL_IN_IGNORED)
+	XLAT(IN_IGNORED),
+#endif
+#if defined(IN_ONLYDIR) || (defined(HAVE_DECL_IN_ONLYDIR) && HAVE_DECL_IN_ONLYDIR)
+	XLAT(IN_ONLYDIR),
+#endif
+#if defined(IN_DONT_FOLLOW) || (defined(HAVE_DECL_IN_DONT_FOLLOW) && HAVE_DECL_IN_DONT_FOLLOW)
+	XLAT(IN_DONT_FOLLOW),
+#endif
+#if defined(IN_EXCL_UNLINK) || (defined(HAVE_DECL_IN_EXCL_UNLINK) && HAVE_DECL_IN_EXCL_UNLINK)
+	XLAT(IN_EXCL_UNLINK),
+#endif
+#if defined(IN_MASK_ADD) || (defined(HAVE_DECL_IN_MASK_ADD) && HAVE_DECL_IN_MASK_ADD)
+	XLAT(IN_MASK_ADD),
+#endif
+#if defined(IN_ISDIR) || (defined(HAVE_DECL_IN_ISDIR) && HAVE_DECL_IN_ISDIR)
+	XLAT(IN_ISDIR),
+#endif
+#if defined(IN_ONESHOT) || (defined(HAVE_DECL_IN_ONESHOT) && HAVE_DECL_IN_ONESHOT)
+	XLAT(IN_ONESHOT),
+#endif
+	XLAT_END
+};
diff --git a/xlat/inotify_init_flags.h b/xlat/inotify_init_flags.h
new file mode 100644
index 0000000..ce0e0af
--- /dev/null
+++ b/xlat/inotify_init_flags.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/inotify_init_flags.in; do not edit. */
+
+static const struct xlat inotify_init_flags[] = {
+#if defined(O_NONBLOCK) || (defined(HAVE_DECL_O_NONBLOCK) && HAVE_DECL_O_NONBLOCK)
+	XLAT(O_NONBLOCK),
+#endif
+#if defined(O_CLOEXEC) || (defined(HAVE_DECL_O_CLOEXEC) && HAVE_DECL_O_CLOEXEC)
+	XLAT(O_CLOEXEC),
+#endif
+	XLAT_END
+};
diff --git a/xlat/ioprio_class.h b/xlat/ioprio_class.h
new file mode 100644
index 0000000..5a4d8cc
--- /dev/null
+++ b/xlat/ioprio_class.h
@@ -0,0 +1,9 @@
+/* Generated by ./xlat/gen.sh from ./xlat/ioprio_class.in; do not edit. */
+
+static const struct xlat ioprio_class[] = {
+	XLAT(IOPRIO_CLASS_NONE),
+	XLAT(IOPRIO_CLASS_RT),
+	XLAT(IOPRIO_CLASS_BE),
+	XLAT(IOPRIO_CLASS_IDLE),
+	XLAT_END
+};
diff --git a/xlat/ioprio_who.h b/xlat/ioprio_who.h
new file mode 100644
index 0000000..c23f591
--- /dev/null
+++ b/xlat/ioprio_who.h
@@ -0,0 +1,8 @@
+/* Generated by ./xlat/gen.sh from ./xlat/ioprio_who.in; do not edit. */
+
+static const struct xlat ioprio_who[] = {
+	XLAT(IOPRIO_WHO_PROCESS),
+	XLAT(IOPRIO_WHO_PGRP),
+	XLAT(IOPRIO_WHO_USER),
+	XLAT_END
+};
diff --git a/xlat/ipc_msg_flags.h b/xlat/ipc_msg_flags.h
new file mode 100644
index 0000000..b01671b
--- /dev/null
+++ b/xlat/ipc_msg_flags.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/ipc_msg_flags.in; do not edit. */
+
+static const struct xlat ipc_msg_flags[] = {
+#if defined(MSG_NOERROR) || (defined(HAVE_DECL_MSG_NOERROR) && HAVE_DECL_MSG_NOERROR)
+	XLAT(MSG_NOERROR),
+#endif
+#if defined(MSG_EXCEPT) || (defined(HAVE_DECL_MSG_EXCEPT) && HAVE_DECL_MSG_EXCEPT)
+	XLAT(MSG_EXCEPT),
+#endif
+#if defined(IPC_NOWAIT) || (defined(HAVE_DECL_IPC_NOWAIT) && HAVE_DECL_IPC_NOWAIT)
+	XLAT(IPC_NOWAIT),
+#endif
+	XLAT_END
+};
diff --git a/xlat/itimer_which.h b/xlat/itimer_which.h
new file mode 100644
index 0000000..8b001eb
--- /dev/null
+++ b/xlat/itimer_which.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/itimer_which.in; do not edit. */
+
+static const struct xlat itimer_which[] = {
+#if defined(ITIMER_REAL) || (defined(HAVE_DECL_ITIMER_REAL) && HAVE_DECL_ITIMER_REAL)
+	XLAT(ITIMER_REAL),
+#endif
+#if defined(ITIMER_VIRTUAL) || (defined(HAVE_DECL_ITIMER_VIRTUAL) && HAVE_DECL_ITIMER_VIRTUAL)
+	XLAT(ITIMER_VIRTUAL),
+#endif
+#if defined(ITIMER_PROF) || (defined(HAVE_DECL_ITIMER_PROF) && HAVE_DECL_ITIMER_PROF)
+	XLAT(ITIMER_PROF),
+#endif
+	XLAT_END
+};
diff --git a/xlat/kexec_arch_values.h b/xlat/kexec_arch_values.h
new file mode 100644
index 0000000..c702768
--- /dev/null
+++ b/xlat/kexec_arch_values.h
@@ -0,0 +1,38 @@
+/* Generated by ./xlat/gen.sh from ./xlat/kexec_arch_values.in; do not edit. */
+
+static const struct xlat kexec_arch_values[] = {
+#if defined(KEXEC_ARCH_DEFAULT) || (defined(HAVE_DECL_KEXEC_ARCH_DEFAULT) && HAVE_DECL_KEXEC_ARCH_DEFAULT)
+	XLAT(KEXEC_ARCH_DEFAULT),
+#endif
+#if defined(KEXEC_ARCH_386) || (defined(HAVE_DECL_KEXEC_ARCH_386) && HAVE_DECL_KEXEC_ARCH_386)
+	XLAT(KEXEC_ARCH_386),
+#endif
+#if defined(KEXEC_ARCH_X86_64) || (defined(HAVE_DECL_KEXEC_ARCH_X86_64) && HAVE_DECL_KEXEC_ARCH_X86_64)
+	XLAT(KEXEC_ARCH_X86_64),
+#endif
+#if defined(KEXEC_ARCH_PPC) || (defined(HAVE_DECL_KEXEC_ARCH_PPC) && HAVE_DECL_KEXEC_ARCH_PPC)
+	XLAT(KEXEC_ARCH_PPC),
+#endif
+#if defined(KEXEC_ARCH_PPC64) || (defined(HAVE_DECL_KEXEC_ARCH_PPC64) && HAVE_DECL_KEXEC_ARCH_PPC64)
+	XLAT(KEXEC_ARCH_PPC64),
+#endif
+#if defined(KEXEC_ARCH_IA_64) || (defined(HAVE_DECL_KEXEC_ARCH_IA_64) && HAVE_DECL_KEXEC_ARCH_IA_64)
+	XLAT(KEXEC_ARCH_IA_64),
+#endif
+#if defined(KEXEC_ARCH_ARM) || (defined(HAVE_DECL_KEXEC_ARCH_ARM) && HAVE_DECL_KEXEC_ARCH_ARM)
+	XLAT(KEXEC_ARCH_ARM),
+#endif
+#if defined(KEXEC_ARCH_S390) || (defined(HAVE_DECL_KEXEC_ARCH_S390) && HAVE_DECL_KEXEC_ARCH_S390)
+	XLAT(KEXEC_ARCH_S390),
+#endif
+#if defined(KEXEC_ARCH_SH) || (defined(HAVE_DECL_KEXEC_ARCH_SH) && HAVE_DECL_KEXEC_ARCH_SH)
+	XLAT(KEXEC_ARCH_SH),
+#endif
+#if defined(KEXEC_ARCH_MIPS_LE) || (defined(HAVE_DECL_KEXEC_ARCH_MIPS_LE) && HAVE_DECL_KEXEC_ARCH_MIPS_LE)
+	XLAT(KEXEC_ARCH_MIPS_LE),
+#endif
+#if defined(KEXEC_ARCH_MIPS) || (defined(HAVE_DECL_KEXEC_ARCH_MIPS) && HAVE_DECL_KEXEC_ARCH_MIPS)
+	XLAT(KEXEC_ARCH_MIPS),
+#endif
+	XLAT_END
+};
diff --git a/xlat/kexec_flags.h b/xlat/kexec_flags.h
new file mode 100644
index 0000000..e43ebff
--- /dev/null
+++ b/xlat/kexec_flags.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/kexec_flags.in; do not edit. */
+
+static const struct xlat kexec_flags[] = {
+#if defined(KEXEC_ON_CRASH) || (defined(HAVE_DECL_KEXEC_ON_CRASH) && HAVE_DECL_KEXEC_ON_CRASH)
+	XLAT(KEXEC_ON_CRASH),
+#endif
+#if defined(KEXEC_PRESERVE_CONTEXT) || (defined(HAVE_DECL_KEXEC_PRESERVE_CONTEXT) && HAVE_DECL_KEXEC_PRESERVE_CONTEXT)
+	XLAT(KEXEC_PRESERVE_CONTEXT),
+#endif
+	XLAT_END
+};
diff --git a/xlat/key_perms.h b/xlat/key_perms.h
new file mode 100644
index 0000000..5cba3a0
--- /dev/null
+++ b/xlat/key_perms.h
@@ -0,0 +1,89 @@
+/* Generated by ./xlat/gen.sh from ./xlat/key_perms.in; do not edit. */
+
+static const struct xlat key_perms[] = {
+#if defined(KEY_POS_VIEW) || (defined(HAVE_DECL_KEY_POS_VIEW) && HAVE_DECL_KEY_POS_VIEW)
+	XLAT(KEY_POS_VIEW),
+#endif
+#if defined(KEY_POS_READ) || (defined(HAVE_DECL_KEY_POS_READ) && HAVE_DECL_KEY_POS_READ)
+	XLAT(KEY_POS_READ),
+#endif
+#if defined(KEY_POS_WRITE) || (defined(HAVE_DECL_KEY_POS_WRITE) && HAVE_DECL_KEY_POS_WRITE)
+	XLAT(KEY_POS_WRITE),
+#endif
+#if defined(KEY_POS_SEARCH) || (defined(HAVE_DECL_KEY_POS_SEARCH) && HAVE_DECL_KEY_POS_SEARCH)
+	XLAT(KEY_POS_SEARCH),
+#endif
+#if defined(KEY_POS_LINK) || (defined(HAVE_DECL_KEY_POS_LINK) && HAVE_DECL_KEY_POS_LINK)
+	XLAT(KEY_POS_LINK),
+#endif
+#if defined(KEY_POS_SETATTR) || (defined(HAVE_DECL_KEY_POS_SETATTR) && HAVE_DECL_KEY_POS_SETATTR)
+	XLAT(KEY_POS_SETATTR),
+#endif
+#if defined(KEY_POS_ALL) || (defined(HAVE_DECL_KEY_POS_ALL) && HAVE_DECL_KEY_POS_ALL)
+	XLAT(KEY_POS_ALL),
+#endif
+#if defined(KEY_USR_VIEW) || (defined(HAVE_DECL_KEY_USR_VIEW) && HAVE_DECL_KEY_USR_VIEW)
+	XLAT(KEY_USR_VIEW),
+#endif
+#if defined(KEY_USR_READ) || (defined(HAVE_DECL_KEY_USR_READ) && HAVE_DECL_KEY_USR_READ)
+	XLAT(KEY_USR_READ),
+#endif
+#if defined(KEY_USR_WRITE) || (defined(HAVE_DECL_KEY_USR_WRITE) && HAVE_DECL_KEY_USR_WRITE)
+	XLAT(KEY_USR_WRITE),
+#endif
+#if defined(KEY_USR_SEARCH) || (defined(HAVE_DECL_KEY_USR_SEARCH) && HAVE_DECL_KEY_USR_SEARCH)
+	XLAT(KEY_USR_SEARCH),
+#endif
+#if defined(KEY_USR_LINK) || (defined(HAVE_DECL_KEY_USR_LINK) && HAVE_DECL_KEY_USR_LINK)
+	XLAT(KEY_USR_LINK),
+#endif
+#if defined(KEY_USR_SETATTR) || (defined(HAVE_DECL_KEY_USR_SETATTR) && HAVE_DECL_KEY_USR_SETATTR)
+	XLAT(KEY_USR_SETATTR),
+#endif
+#if defined(KEY_USR_ALL) || (defined(HAVE_DECL_KEY_USR_ALL) && HAVE_DECL_KEY_USR_ALL)
+	XLAT(KEY_USR_ALL),
+#endif
+#if defined(KEY_GRP_VIEW) || (defined(HAVE_DECL_KEY_GRP_VIEW) && HAVE_DECL_KEY_GRP_VIEW)
+	XLAT(KEY_GRP_VIEW),
+#endif
+#if defined(KEY_GRP_READ) || (defined(HAVE_DECL_KEY_GRP_READ) && HAVE_DECL_KEY_GRP_READ)
+	XLAT(KEY_GRP_READ),
+#endif
+#if defined(KEY_GRP_WRITE) || (defined(HAVE_DECL_KEY_GRP_WRITE) && HAVE_DECL_KEY_GRP_WRITE)
+	XLAT(KEY_GRP_WRITE),
+#endif
+#if defined(KEY_GRP_SEARCH) || (defined(HAVE_DECL_KEY_GRP_SEARCH) && HAVE_DECL_KEY_GRP_SEARCH)
+	XLAT(KEY_GRP_SEARCH),
+#endif
+#if defined(KEY_GRP_LINK) || (defined(HAVE_DECL_KEY_GRP_LINK) && HAVE_DECL_KEY_GRP_LINK)
+	XLAT(KEY_GRP_LINK),
+#endif
+#if defined(KEY_GRP_SETATTR) || (defined(HAVE_DECL_KEY_GRP_SETATTR) && HAVE_DECL_KEY_GRP_SETATTR)
+	XLAT(KEY_GRP_SETATTR),
+#endif
+#if defined(KEY_GRP_ALL) || (defined(HAVE_DECL_KEY_GRP_ALL) && HAVE_DECL_KEY_GRP_ALL)
+	XLAT(KEY_GRP_ALL),
+#endif
+#if defined(KEY_OTH_VIEW) || (defined(HAVE_DECL_KEY_OTH_VIEW) && HAVE_DECL_KEY_OTH_VIEW)
+	XLAT(KEY_OTH_VIEW),
+#endif
+#if defined(KEY_OTH_READ) || (defined(HAVE_DECL_KEY_OTH_READ) && HAVE_DECL_KEY_OTH_READ)
+	XLAT(KEY_OTH_READ),
+#endif
+#if defined(KEY_OTH_WRITE) || (defined(HAVE_DECL_KEY_OTH_WRITE) && HAVE_DECL_KEY_OTH_WRITE)
+	XLAT(KEY_OTH_WRITE),
+#endif
+#if defined(KEY_OTH_SEARCH) || (defined(HAVE_DECL_KEY_OTH_SEARCH) && HAVE_DECL_KEY_OTH_SEARCH)
+	XLAT(KEY_OTH_SEARCH),
+#endif
+#if defined(KEY_OTH_LINK) || (defined(HAVE_DECL_KEY_OTH_LINK) && HAVE_DECL_KEY_OTH_LINK)
+	XLAT(KEY_OTH_LINK),
+#endif
+#if defined(KEY_OTH_SETATTR) || (defined(HAVE_DECL_KEY_OTH_SETATTR) && HAVE_DECL_KEY_OTH_SETATTR)
+	XLAT(KEY_OTH_SETATTR),
+#endif
+#if defined(KEY_OTH_ALL) || (defined(HAVE_DECL_KEY_OTH_ALL) && HAVE_DECL_KEY_OTH_ALL)
+	XLAT(KEY_OTH_ALL),
+#endif
+	XLAT_END
+};
diff --git a/xlat/key_reqkeys.h b/xlat/key_reqkeys.h
new file mode 100644
index 0000000..fd4ac0a
--- /dev/null
+++ b/xlat/key_reqkeys.h
@@ -0,0 +1,32 @@
+/* Generated by ./xlat/gen.sh from ./xlat/key_reqkeys.in; do not edit. */
+
+static const struct xlat key_reqkeys[] = {
+#if defined(KEY_REQKEY_DEFL_NO_CHANGE) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_NO_CHANGE) && HAVE_DECL_KEY_REQKEY_DEFL_NO_CHANGE)
+	XLAT(KEY_REQKEY_DEFL_NO_CHANGE),
+#endif
+#if defined(KEY_REQKEY_DEFL_DEFAULT) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_DEFAULT) && HAVE_DECL_KEY_REQKEY_DEFL_DEFAULT)
+	XLAT(KEY_REQKEY_DEFL_DEFAULT),
+#endif
+#if defined(KEY_REQKEY_DEFL_THREAD_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_THREAD_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_THREAD_KEYRING)
+	XLAT(KEY_REQKEY_DEFL_THREAD_KEYRING),
+#endif
+#if defined(KEY_REQKEY_DEFL_PROCESS_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_PROCESS_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_PROCESS_KEYRING)
+	XLAT(KEY_REQKEY_DEFL_PROCESS_KEYRING),
+#endif
+#if defined(KEY_REQKEY_DEFL_SESSION_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_SESSION_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_SESSION_KEYRING)
+	XLAT(KEY_REQKEY_DEFL_SESSION_KEYRING),
+#endif
+#if defined(KEY_REQKEY_DEFL_USER_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_USER_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_USER_KEYRING)
+	XLAT(KEY_REQKEY_DEFL_USER_KEYRING),
+#endif
+#if defined(KEY_REQKEY_DEFL_USER_SESSION_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_USER_SESSION_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_USER_SESSION_KEYRING)
+	XLAT(KEY_REQKEY_DEFL_USER_SESSION_KEYRING),
+#endif
+#if defined(KEY_REQKEY_DEFL_GROUP_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_GROUP_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_GROUP_KEYRING)
+	XLAT(KEY_REQKEY_DEFL_GROUP_KEYRING),
+#endif
+#if defined(KEY_REQKEY_DEFL_REQUESTOR_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_REQUESTOR_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_REQUESTOR_KEYRING)
+	XLAT(KEY_REQKEY_DEFL_REQUESTOR_KEYRING),
+#endif
+	XLAT_END
+};
diff --git a/xlat/key_spec.h b/xlat/key_spec.h
new file mode 100644
index 0000000..71c6fc1
--- /dev/null
+++ b/xlat/key_spec.h
@@ -0,0 +1,29 @@
+/* Generated by ./xlat/gen.sh from ./xlat/key_spec.in; do not edit. */
+
+static const struct xlat key_spec[] = {
+#if defined(KEY_SPEC_THREAD_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_THREAD_KEYRING) && HAVE_DECL_KEY_SPEC_THREAD_KEYRING)
+	XLAT(KEY_SPEC_THREAD_KEYRING),
+#endif
+#if defined(KEY_SPEC_PROCESS_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_PROCESS_KEYRING) && HAVE_DECL_KEY_SPEC_PROCESS_KEYRING)
+	XLAT(KEY_SPEC_PROCESS_KEYRING),
+#endif
+#if defined(KEY_SPEC_SESSION_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_SESSION_KEYRING) && HAVE_DECL_KEY_SPEC_SESSION_KEYRING)
+	XLAT(KEY_SPEC_SESSION_KEYRING),
+#endif
+#if defined(KEY_SPEC_USER_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_USER_KEYRING) && HAVE_DECL_KEY_SPEC_USER_KEYRING)
+	XLAT(KEY_SPEC_USER_KEYRING),
+#endif
+#if defined(KEY_SPEC_USER_SESSION_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_USER_SESSION_KEYRING) && HAVE_DECL_KEY_SPEC_USER_SESSION_KEYRING)
+	XLAT(KEY_SPEC_USER_SESSION_KEYRING),
+#endif
+#if defined(KEY_SPEC_GROUP_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_GROUP_KEYRING) && HAVE_DECL_KEY_SPEC_GROUP_KEYRING)
+	XLAT(KEY_SPEC_GROUP_KEYRING),
+#endif
+#if defined(KEY_SPEC_REQKEY_AUTH_KEY) || (defined(HAVE_DECL_KEY_SPEC_REQKEY_AUTH_KEY) && HAVE_DECL_KEY_SPEC_REQKEY_AUTH_KEY)
+	XLAT(KEY_SPEC_REQKEY_AUTH_KEY),
+#endif
+#if defined(KEY_SPEC_REQUESTOR_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_REQUESTOR_KEYRING) && HAVE_DECL_KEY_SPEC_REQUESTOR_KEYRING)
+	XLAT(KEY_SPEC_REQUESTOR_KEYRING),
+#endif
+	XLAT_END
+};
diff --git a/xlat/keyctl_commands.h b/xlat/keyctl_commands.h
new file mode 100644
index 0000000..6fc7246
--- /dev/null
+++ b/xlat/keyctl_commands.h
@@ -0,0 +1,74 @@
+/* Generated by ./xlat/gen.sh from ./xlat/keyctl_commands.in; do not edit. */
+
+static const struct xlat keyctl_commands[] = {
+#if defined(KEYCTL_GET_KEYRING_ID) || (defined(HAVE_DECL_KEYCTL_GET_KEYRING_ID) && HAVE_DECL_KEYCTL_GET_KEYRING_ID)
+	XLAT(KEYCTL_GET_KEYRING_ID),
+#endif
+#if defined(KEYCTL_JOIN_SESSION_KEYRING) || (defined(HAVE_DECL_KEYCTL_JOIN_SESSION_KEYRING) && HAVE_DECL_KEYCTL_JOIN_SESSION_KEYRING)
+	XLAT(KEYCTL_JOIN_SESSION_KEYRING),
+#endif
+#if defined(KEYCTL_UPDATE) || (defined(HAVE_DECL_KEYCTL_UPDATE) && HAVE_DECL_KEYCTL_UPDATE)
+	XLAT(KEYCTL_UPDATE),
+#endif
+#if defined(KEYCTL_REVOKE) || (defined(HAVE_DECL_KEYCTL_REVOKE) && HAVE_DECL_KEYCTL_REVOKE)
+	XLAT(KEYCTL_REVOKE),
+#endif
+#if defined(KEYCTL_CHOWN) || (defined(HAVE_DECL_KEYCTL_CHOWN) && HAVE_DECL_KEYCTL_CHOWN)
+	XLAT(KEYCTL_CHOWN),
+#endif
+#if defined(KEYCTL_SETPERM) || (defined(HAVE_DECL_KEYCTL_SETPERM) && HAVE_DECL_KEYCTL_SETPERM)
+	XLAT(KEYCTL_SETPERM),
+#endif
+#if defined(KEYCTL_DESCRIBE) || (defined(HAVE_DECL_KEYCTL_DESCRIBE) && HAVE_DECL_KEYCTL_DESCRIBE)
+	XLAT(KEYCTL_DESCRIBE),
+#endif
+#if defined(KEYCTL_CLEAR) || (defined(HAVE_DECL_KEYCTL_CLEAR) && HAVE_DECL_KEYCTL_CLEAR)
+	XLAT(KEYCTL_CLEAR),
+#endif
+#if defined(KEYCTL_LINK) || (defined(HAVE_DECL_KEYCTL_LINK) && HAVE_DECL_KEYCTL_LINK)
+	XLAT(KEYCTL_LINK),
+#endif
+#if defined(KEYCTL_UNLINK) || (defined(HAVE_DECL_KEYCTL_UNLINK) && HAVE_DECL_KEYCTL_UNLINK)
+	XLAT(KEYCTL_UNLINK),
+#endif
+#if defined(KEYCTL_SEARCH) || (defined(HAVE_DECL_KEYCTL_SEARCH) && HAVE_DECL_KEYCTL_SEARCH)
+	XLAT(KEYCTL_SEARCH),
+#endif
+#if defined(KEYCTL_READ) || (defined(HAVE_DECL_KEYCTL_READ) && HAVE_DECL_KEYCTL_READ)
+	XLAT(KEYCTL_READ),
+#endif
+#if defined(KEYCTL_INSTANTIATE) || (defined(HAVE_DECL_KEYCTL_INSTANTIATE) && HAVE_DECL_KEYCTL_INSTANTIATE)
+	XLAT(KEYCTL_INSTANTIATE),
+#endif
+#if defined(KEYCTL_NEGATE) || (defined(HAVE_DECL_KEYCTL_NEGATE) && HAVE_DECL_KEYCTL_NEGATE)
+	XLAT(KEYCTL_NEGATE),
+#endif
+#if defined(KEYCTL_SET_REQKEY_KEYRING) || (defined(HAVE_DECL_KEYCTL_SET_REQKEY_KEYRING) && HAVE_DECL_KEYCTL_SET_REQKEY_KEYRING)
+	XLAT(KEYCTL_SET_REQKEY_KEYRING),
+#endif
+#if defined(KEYCTL_SET_TIMEOUT) || (defined(HAVE_DECL_KEYCTL_SET_TIMEOUT) && HAVE_DECL_KEYCTL_SET_TIMEOUT)
+	XLAT(KEYCTL_SET_TIMEOUT),
+#endif
+#if defined(KEYCTL_ASSUME_AUTHORITY) || (defined(HAVE_DECL_KEYCTL_ASSUME_AUTHORITY) && HAVE_DECL_KEYCTL_ASSUME_AUTHORITY)
+	XLAT(KEYCTL_ASSUME_AUTHORITY),
+#endif
+#if defined(KEYCTL_GET_SECURITY) || (defined(HAVE_DECL_KEYCTL_GET_SECURITY) && HAVE_DECL_KEYCTL_GET_SECURITY)
+	XLAT(KEYCTL_GET_SECURITY),
+#endif
+#if defined(KEYCTL_SESSION_TO_PARENT) || (defined(HAVE_DECL_KEYCTL_SESSION_TO_PARENT) && HAVE_DECL_KEYCTL_SESSION_TO_PARENT)
+	XLAT(KEYCTL_SESSION_TO_PARENT),
+#endif
+#if defined(KEYCTL_REJECT) || (defined(HAVE_DECL_KEYCTL_REJECT) && HAVE_DECL_KEYCTL_REJECT)
+	XLAT(KEYCTL_REJECT),
+#endif
+#if defined(KEYCTL_INSTANTIATE_IOV) || (defined(HAVE_DECL_KEYCTL_INSTANTIATE_IOV) && HAVE_DECL_KEYCTL_INSTANTIATE_IOV)
+	XLAT(KEYCTL_INSTANTIATE_IOV),
+#endif
+#if defined(KEYCTL_INVALIDATE) || (defined(HAVE_DECL_KEYCTL_INVALIDATE) && HAVE_DECL_KEYCTL_INVALIDATE)
+	XLAT(KEYCTL_INVALIDATE),
+#endif
+#if defined(KEYCTL_GET_PERSISTENT) || (defined(HAVE_DECL_KEYCTL_GET_PERSISTENT) && HAVE_DECL_KEYCTL_GET_PERSISTENT)
+	XLAT(KEYCTL_GET_PERSISTENT),
+#endif
+	XLAT_END
+};
diff --git a/xlat/lockfcmds.h b/xlat/lockfcmds.h
new file mode 100644
index 0000000..ea50d5f
--- /dev/null
+++ b/xlat/lockfcmds.h
@@ -0,0 +1,20 @@
+/* Generated by ./xlat/gen.sh from ./xlat/lockfcmds.in; do not edit. */
+
+static const struct xlat lockfcmds[] = {
+#if defined(F_RDLCK) || (defined(HAVE_DECL_F_RDLCK) && HAVE_DECL_F_RDLCK)
+	XLAT(F_RDLCK),
+#endif
+#if defined(F_WRLCK) || (defined(HAVE_DECL_F_WRLCK) && HAVE_DECL_F_WRLCK)
+	XLAT(F_WRLCK),
+#endif
+#if defined(F_UNLCK) || (defined(HAVE_DECL_F_UNLCK) && HAVE_DECL_F_UNLCK)
+	XLAT(F_UNLCK),
+#endif
+#if defined(F_EXLCK) || (defined(HAVE_DECL_F_EXLCK) && HAVE_DECL_F_EXLCK)
+	XLAT(F_EXLCK),
+#endif
+#if defined(F_SHLCK) || (defined(HAVE_DECL_F_SHLCK) && HAVE_DECL_F_SHLCK)
+	XLAT(F_SHLCK),
+#endif
+	XLAT_END
+};
diff --git a/xlat/loop_crypt_type_options.h b/xlat/loop_crypt_type_options.h
new file mode 100644
index 0000000..3b1c287
--- /dev/null
+++ b/xlat/loop_crypt_type_options.h
@@ -0,0 +1,35 @@
+/* Generated by ./xlat/gen.sh from ./xlat/loop_crypt_type_options.in; do not edit. */
+
+static const struct xlat loop_crypt_type_options[] = {
+#if defined(LO_CRYPT_NONE) || (defined(HAVE_DECL_LO_CRYPT_NONE) && HAVE_DECL_LO_CRYPT_NONE)
+	XLAT(LO_CRYPT_NONE),
+#endif
+#if defined(LO_CRYPT_XOR) || (defined(HAVE_DECL_LO_CRYPT_XOR) && HAVE_DECL_LO_CRYPT_XOR)
+	XLAT(LO_CRYPT_XOR),
+#endif
+#if defined(LO_CRYPT_DES) || (defined(HAVE_DECL_LO_CRYPT_DES) && HAVE_DECL_LO_CRYPT_DES)
+	XLAT(LO_CRYPT_DES),
+#endif
+#if defined(LO_CRYPT_FISH2) || (defined(HAVE_DECL_LO_CRYPT_FISH2) && HAVE_DECL_LO_CRYPT_FISH2)
+	XLAT(LO_CRYPT_FISH2),
+#endif
+#if defined(LO_CRYPT_BLOW) || (defined(HAVE_DECL_LO_CRYPT_BLOW) && HAVE_DECL_LO_CRYPT_BLOW)
+	XLAT(LO_CRYPT_BLOW),
+#endif
+#if defined(LO_CRYPT_CAST128) || (defined(HAVE_DECL_LO_CRYPT_CAST128) && HAVE_DECL_LO_CRYPT_CAST128)
+	XLAT(LO_CRYPT_CAST128),
+#endif
+#if defined(LO_CRYPT_IDEA) || (defined(HAVE_DECL_LO_CRYPT_IDEA) && HAVE_DECL_LO_CRYPT_IDEA)
+	XLAT(LO_CRYPT_IDEA),
+#endif
+#if defined(LO_CRYPT_DUMMY) || (defined(HAVE_DECL_LO_CRYPT_DUMMY) && HAVE_DECL_LO_CRYPT_DUMMY)
+	XLAT(LO_CRYPT_DUMMY),
+#endif
+#if defined(LO_CRYPT_SKIPJACK) || (defined(HAVE_DECL_LO_CRYPT_SKIPJACK) && HAVE_DECL_LO_CRYPT_SKIPJACK)
+	XLAT(LO_CRYPT_SKIPJACK),
+#endif
+#if defined(LO_CRYPT_CRYPTOAPI) || (defined(HAVE_DECL_LO_CRYPT_CRYPTOAPI) && HAVE_DECL_LO_CRYPT_CRYPTOAPI)
+	XLAT(LO_CRYPT_CRYPTOAPI),
+#endif
+	XLAT_END
+};
diff --git a/xlat/loop_flags_options.h b/xlat/loop_flags_options.h
new file mode 100644
index 0000000..1333714
--- /dev/null
+++ b/xlat/loop_flags_options.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/loop_flags_options.in; do not edit. */
+
+static const struct xlat loop_flags_options[] = {
+#if defined(LO_FLAGS_READ_ONLY) || (defined(HAVE_DECL_LO_FLAGS_READ_ONLY) && HAVE_DECL_LO_FLAGS_READ_ONLY)
+	XLAT(LO_FLAGS_READ_ONLY),
+#endif
+#if defined(LO_FLAGS_AUTOCLEAR) || (defined(HAVE_DECL_LO_FLAGS_AUTOCLEAR) && HAVE_DECL_LO_FLAGS_AUTOCLEAR)
+	XLAT(LO_FLAGS_AUTOCLEAR),
+#endif
+#if defined(LO_FLAGS_PARTSCAN) || (defined(HAVE_DECL_LO_FLAGS_PARTSCAN) && HAVE_DECL_LO_FLAGS_PARTSCAN)
+	XLAT(LO_FLAGS_PARTSCAN),
+#endif
+	XLAT_END
+};
diff --git a/xlat/madvise_cmds.h b/xlat/madvise_cmds.h
new file mode 100644
index 0000000..1ff9641
--- /dev/null
+++ b/xlat/madvise_cmds.h
@@ -0,0 +1,53 @@
+/* Generated by ./xlat/gen.sh from ./xlat/madvise_cmds.in; do not edit. */
+
+static const struct xlat madvise_cmds[] = {
+#if defined(MADV_NORMAL) || (defined(HAVE_DECL_MADV_NORMAL) && HAVE_DECL_MADV_NORMAL)
+	XLAT(MADV_NORMAL),
+#endif
+#if defined(MADV_RANDOM) || (defined(HAVE_DECL_MADV_RANDOM) && HAVE_DECL_MADV_RANDOM)
+	XLAT(MADV_RANDOM),
+#endif
+#if defined(MADV_SEQUENTIAL) || (defined(HAVE_DECL_MADV_SEQUENTIAL) && HAVE_DECL_MADV_SEQUENTIAL)
+	XLAT(MADV_SEQUENTIAL),
+#endif
+#if defined(MADV_WILLNEED) || (defined(HAVE_DECL_MADV_WILLNEED) && HAVE_DECL_MADV_WILLNEED)
+	XLAT(MADV_WILLNEED),
+#endif
+#if defined(MADV_DONTNEED) || (defined(HAVE_DECL_MADV_DONTNEED) && HAVE_DECL_MADV_DONTNEED)
+	XLAT(MADV_DONTNEED),
+#endif
+#if defined(MADV_REMOVE) || (defined(HAVE_DECL_MADV_REMOVE) && HAVE_DECL_MADV_REMOVE)
+	XLAT(MADV_REMOVE),
+#endif
+#if defined(MADV_DONTFORK) || (defined(HAVE_DECL_MADV_DONTFORK) && HAVE_DECL_MADV_DONTFORK)
+	XLAT(MADV_DONTFORK),
+#endif
+#if defined(MADV_DOFORK) || (defined(HAVE_DECL_MADV_DOFORK) && HAVE_DECL_MADV_DOFORK)
+	XLAT(MADV_DOFORK),
+#endif
+#if defined(MADV_HWPOISON) || (defined(HAVE_DECL_MADV_HWPOISON) && HAVE_DECL_MADV_HWPOISON)
+	XLAT(MADV_HWPOISON),
+#endif
+#if defined(MADV_SOFT_OFFLINE) || (defined(HAVE_DECL_MADV_SOFT_OFFLINE) && HAVE_DECL_MADV_SOFT_OFFLINE)
+	XLAT(MADV_SOFT_OFFLINE),
+#endif
+#if defined(MADV_MERGEABLE) || (defined(HAVE_DECL_MADV_MERGEABLE) && HAVE_DECL_MADV_MERGEABLE)
+	XLAT(MADV_MERGEABLE),
+#endif
+#if defined(MADV_UNMERGEABLE) || (defined(HAVE_DECL_MADV_UNMERGEABLE) && HAVE_DECL_MADV_UNMERGEABLE)
+	XLAT(MADV_UNMERGEABLE),
+#endif
+#if defined(MADV_HUGEPAGE) || (defined(HAVE_DECL_MADV_HUGEPAGE) && HAVE_DECL_MADV_HUGEPAGE)
+	XLAT(MADV_HUGEPAGE),
+#endif
+#if defined(MADV_NOHUGEPAGE) || (defined(HAVE_DECL_MADV_NOHUGEPAGE) && HAVE_DECL_MADV_NOHUGEPAGE)
+	XLAT(MADV_NOHUGEPAGE),
+#endif
+#if defined(MADV_DONTDUMP) || (defined(HAVE_DECL_MADV_DONTDUMP) && HAVE_DECL_MADV_DONTDUMP)
+	XLAT(MADV_DONTDUMP),
+#endif
+#if defined(MADV_DODUMP) || (defined(HAVE_DECL_MADV_DODUMP) && HAVE_DECL_MADV_DODUMP)
+	XLAT(MADV_DODUMP),
+#endif
+	XLAT_END
+};
diff --git a/xlat/mbindflags.h b/xlat/mbindflags.h
new file mode 100644
index 0000000..b789068
--- /dev/null
+++ b/xlat/mbindflags.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/mbindflags.in; do not edit. */
+
+static const struct xlat mbindflags[] = {
+#if defined(MPOL_MF_STRICT) || (defined(HAVE_DECL_MPOL_MF_STRICT) && HAVE_DECL_MPOL_MF_STRICT)
+	XLAT(MPOL_MF_STRICT),
+#endif
+#if defined(MPOL_MF_MOVE) || (defined(HAVE_DECL_MPOL_MF_MOVE) && HAVE_DECL_MPOL_MF_MOVE)
+	XLAT(MPOL_MF_MOVE),
+#endif
+#if defined(MPOL_MF_MOVE_ALL) || (defined(HAVE_DECL_MPOL_MF_MOVE_ALL) && HAVE_DECL_MPOL_MF_MOVE_ALL)
+	XLAT(MPOL_MF_MOVE_ALL),
+#endif
+	XLAT_END
+};
diff --git a/xlat/mctl_funcs.h b/xlat/mctl_funcs.h
new file mode 100644
index 0000000..a6075cf
--- /dev/null
+++ b/xlat/mctl_funcs.h
@@ -0,0 +1,20 @@
+/* Generated by ./xlat/gen.sh from ./xlat/mctl_funcs.in; do not edit. */
+
+static const struct xlat mctl_funcs[] = {
+#if defined(MC_LOCK) || (defined(HAVE_DECL_MC_LOCK) && HAVE_DECL_MC_LOCK)
+	XLAT(MC_LOCK),
+#endif
+#if defined(MC_LOCKAS) || (defined(HAVE_DECL_MC_LOCKAS) && HAVE_DECL_MC_LOCKAS)
+	XLAT(MC_LOCKAS),
+#endif
+#if defined(MC_SYNC) || (defined(HAVE_DECL_MC_SYNC) && HAVE_DECL_MC_SYNC)
+	XLAT(MC_SYNC),
+#endif
+#if defined(MC_UNLOCK) || (defined(HAVE_DECL_MC_UNLOCK) && HAVE_DECL_MC_UNLOCK)
+	XLAT(MC_UNLOCK),
+#endif
+#if defined(MC_UNLOCKAS) || (defined(HAVE_DECL_MC_UNLOCKAS) && HAVE_DECL_MC_UNLOCKAS)
+	XLAT(MC_UNLOCKAS),
+#endif
+	XLAT_END
+};
diff --git a/xlat/mctl_lockas.h b/xlat/mctl_lockas.h
new file mode 100644
index 0000000..647ee2d
--- /dev/null
+++ b/xlat/mctl_lockas.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/mctl_lockas.in; do not edit. */
+
+static const struct xlat mctl_lockas[] = {
+#if defined(MCL_CURRENT) || (defined(HAVE_DECL_MCL_CURRENT) && HAVE_DECL_MCL_CURRENT)
+	XLAT(MCL_CURRENT),
+#endif
+#if defined(MCL_FUTURE) || (defined(HAVE_DECL_MCL_FUTURE) && HAVE_DECL_MCL_FUTURE)
+	XLAT(MCL_FUTURE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/mctl_sync.h b/xlat/mctl_sync.h
new file mode 100644
index 0000000..bae678e
--- /dev/null
+++ b/xlat/mctl_sync.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/mctl_sync.in; do not edit. */
+
+static const struct xlat mctl_sync[] = {
+#if defined(MS_SYNC) || (defined(HAVE_DECL_MS_SYNC) && HAVE_DECL_MS_SYNC)
+	XLAT(MS_SYNC),
+#endif
+#if defined(MS_ASYNC) || (defined(HAVE_DECL_MS_ASYNC) && HAVE_DECL_MS_ASYNC)
+	XLAT(MS_ASYNC),
+#endif
+#if defined(MS_INVALIDATE) || (defined(HAVE_DECL_MS_INVALIDATE) && HAVE_DECL_MS_INVALIDATE)
+	XLAT(MS_INVALIDATE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/mempolicyflags.h b/xlat/mempolicyflags.h
new file mode 100644
index 0000000..c88f326
--- /dev/null
+++ b/xlat/mempolicyflags.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/mempolicyflags.in; do not edit. */
+
+static const struct xlat mempolicyflags[] = {
+#if defined(MPOL_F_NODE) || (defined(HAVE_DECL_MPOL_F_NODE) && HAVE_DECL_MPOL_F_NODE)
+	XLAT(MPOL_F_NODE),
+#endif
+#if defined(MPOL_F_ADDR) || (defined(HAVE_DECL_MPOL_F_ADDR) && HAVE_DECL_MPOL_F_ADDR)
+	XLAT(MPOL_F_ADDR),
+#endif
+	XLAT_END
+};
diff --git a/xlat/mlockall_flags.h b/xlat/mlockall_flags.h
new file mode 100644
index 0000000..8cf80bb
--- /dev/null
+++ b/xlat/mlockall_flags.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/mlockall_flags.in; do not edit. */
+
+static const struct xlat mlockall_flags[] = {
+#if defined(MCL_CURRENT) || (defined(HAVE_DECL_MCL_CURRENT) && HAVE_DECL_MCL_CURRENT)
+	XLAT(MCL_CURRENT),
+#endif
+#if defined(MCL_FUTURE) || (defined(HAVE_DECL_MCL_FUTURE) && HAVE_DECL_MCL_FUTURE)
+	XLAT(MCL_FUTURE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/mmap_flags.h b/xlat/mmap_flags.h
new file mode 100644
index 0000000..91029f8
--- /dev/null
+++ b/xlat/mmap_flags.h
@@ -0,0 +1,106 @@
+/* Generated by ./xlat/gen.sh from ./xlat/mmap_flags.in; do not edit. */
+
+static const struct xlat mmap_flags[] = {
+#if defined(MAP_SHARED) || (defined(HAVE_DECL_MAP_SHARED) && HAVE_DECL_MAP_SHARED)
+	XLAT(MAP_SHARED),
+#endif
+#if defined(MAP_PRIVATE) || (defined(HAVE_DECL_MAP_PRIVATE) && HAVE_DECL_MAP_PRIVATE)
+	XLAT(MAP_PRIVATE),
+#endif
+#if defined(MAP_FIXED) || (defined(HAVE_DECL_MAP_FIXED) && HAVE_DECL_MAP_FIXED)
+	XLAT(MAP_FIXED),
+#endif
+#if defined(MAP_ANONYMOUS) || (defined(HAVE_DECL_MAP_ANONYMOUS) && HAVE_DECL_MAP_ANONYMOUS)
+	XLAT(MAP_ANONYMOUS),
+#endif
+#if defined(MAP_32BIT) || (defined(HAVE_DECL_MAP_32BIT) && HAVE_DECL_MAP_32BIT)
+	XLAT(MAP_32BIT),
+#endif
+#if defined(MAP_RENAME) || (defined(HAVE_DECL_MAP_RENAME) && HAVE_DECL_MAP_RENAME)
+	XLAT(MAP_RENAME),
+#endif
+#if defined(MAP_NORESERVE) || (defined(HAVE_DECL_MAP_NORESERVE) && HAVE_DECL_MAP_NORESERVE)
+	XLAT(MAP_NORESERVE),
+#endif
+#if defined(MAP_POPULATE) || (defined(HAVE_DECL_MAP_POPULATE) && HAVE_DECL_MAP_POPULATE)
+	XLAT(MAP_POPULATE),
+#endif
+#if defined(MAP_NONBLOCK) || (defined(HAVE_DECL_MAP_NONBLOCK) && HAVE_DECL_MAP_NONBLOCK)
+	XLAT(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()".
+*/
+#if defined(_MAP_NEW) || (defined(HAVE_DECL__MAP_NEW) && HAVE_DECL__MAP_NEW)
+	XLAT(_MAP_NEW),
+#endif
+#if defined(MAP_GROWSDOWN) || (defined(HAVE_DECL_MAP_GROWSDOWN) && HAVE_DECL_MAP_GROWSDOWN)
+	XLAT(MAP_GROWSDOWN),
+#endif
+#if defined(MAP_DENYWRITE) || (defined(HAVE_DECL_MAP_DENYWRITE) && HAVE_DECL_MAP_DENYWRITE)
+	XLAT(MAP_DENYWRITE),
+#endif
+#if defined(MAP_EXECUTABLE) || (defined(HAVE_DECL_MAP_EXECUTABLE) && HAVE_DECL_MAP_EXECUTABLE)
+	XLAT(MAP_EXECUTABLE),
+#endif
+#if defined(MAP_INHERIT) || (defined(HAVE_DECL_MAP_INHERIT) && HAVE_DECL_MAP_INHERIT)
+	XLAT(MAP_INHERIT),
+#endif
+#if defined(MAP_FILE) || (defined(HAVE_DECL_MAP_FILE) && HAVE_DECL_MAP_FILE)
+	XLAT(MAP_FILE),
+#endif
+#if defined(MAP_LOCKED) || (defined(HAVE_DECL_MAP_LOCKED) && HAVE_DECL_MAP_LOCKED)
+	XLAT(MAP_LOCKED),
+#endif
+/* FreeBSD ones */
+#if defined(MAP_ANON) && (!defined(MAP_ANONYMOUS) || MAP_ANON != MAP_ANONYMOUS)
+#if defined(MAP_ANON) || (defined(HAVE_DECL_MAP_ANON) && HAVE_DECL_MAP_ANON)
+	XLAT(MAP_ANON),
+#endif
+#endif
+#if defined(MAP_HASSEMAPHORE) || (defined(HAVE_DECL_MAP_HASSEMAPHORE) && HAVE_DECL_MAP_HASSEMAPHORE)
+	XLAT(MAP_HASSEMAPHORE),
+#endif
+#if defined(MAP_STACK) || (defined(HAVE_DECL_MAP_STACK) && HAVE_DECL_MAP_STACK)
+	XLAT(MAP_STACK),
+#endif
+#if defined(MAP_HUGETLB) || (defined(HAVE_DECL_MAP_HUGETLB) && HAVE_DECL_MAP_HUGETLB)
+	XLAT(MAP_HUGETLB),
+#endif
+#if defined MAP_UNINITIALIZED && MAP_UNINITIALIZED > 0
+#if defined(MAP_UNINITIALIZED) || (defined(HAVE_DECL_MAP_UNINITIALIZED) && HAVE_DECL_MAP_UNINITIALIZED)
+	XLAT(MAP_UNINITIALIZED),
+#endif
+#endif
+#if defined(MAP_NOSYNC) || (defined(HAVE_DECL_MAP_NOSYNC) && HAVE_DECL_MAP_NOSYNC)
+	XLAT(MAP_NOSYNC),
+#endif
+#if defined(MAP_NOCORE) || (defined(HAVE_DECL_MAP_NOCORE) && HAVE_DECL_MAP_NOCORE)
+	XLAT(MAP_NOCORE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/mmap_prot.h b/xlat/mmap_prot.h
new file mode 100644
index 0000000..8b18690
--- /dev/null
+++ b/xlat/mmap_prot.h
@@ -0,0 +1,29 @@
+/* Generated by ./xlat/gen.sh from ./xlat/mmap_prot.in; do not edit. */
+
+static const struct xlat mmap_prot[] = {
+#if defined(PROT_NONE) || (defined(HAVE_DECL_PROT_NONE) && HAVE_DECL_PROT_NONE)
+	XLAT(PROT_NONE),
+#endif
+#if defined(PROT_READ) || (defined(HAVE_DECL_PROT_READ) && HAVE_DECL_PROT_READ)
+	XLAT(PROT_READ),
+#endif
+#if defined(PROT_WRITE) || (defined(HAVE_DECL_PROT_WRITE) && HAVE_DECL_PROT_WRITE)
+	XLAT(PROT_WRITE),
+#endif
+#if defined(PROT_EXEC) || (defined(HAVE_DECL_PROT_EXEC) && HAVE_DECL_PROT_EXEC)
+	XLAT(PROT_EXEC),
+#endif
+#if defined(PROT_SEM) || (defined(HAVE_DECL_PROT_SEM) && HAVE_DECL_PROT_SEM)
+	XLAT(PROT_SEM),
+#endif
+#if defined(PROT_GROWSDOWN) || (defined(HAVE_DECL_PROT_GROWSDOWN) && HAVE_DECL_PROT_GROWSDOWN)
+	XLAT(PROT_GROWSDOWN),
+#endif
+#if defined(PROT_GROWSUP) || (defined(HAVE_DECL_PROT_GROWSUP) && HAVE_DECL_PROT_GROWSUP)
+	XLAT(PROT_GROWSUP),
+#endif
+#if defined(PROT_SAO) || (defined(HAVE_DECL_PROT_SAO) && HAVE_DECL_PROT_SAO)
+	XLAT(PROT_SAO),
+#endif
+	XLAT_END
+};
diff --git a/xlat/modem_flags.h b/xlat/modem_flags.h
new file mode 100644
index 0000000..8678eb9
--- /dev/null
+++ b/xlat/modem_flags.h
@@ -0,0 +1,38 @@
+/* Generated by ./xlat/gen.sh from ./xlat/modem_flags.in; do not edit. */
+
+static const struct xlat modem_flags[] = {
+#if defined(TIOCM_LE) || (defined(HAVE_DECL_TIOCM_LE) && HAVE_DECL_TIOCM_LE)
+	XLAT(TIOCM_LE),
+#endif
+#if defined(TIOCM_DTR) || (defined(HAVE_DECL_TIOCM_DTR) && HAVE_DECL_TIOCM_DTR)
+	XLAT(TIOCM_DTR),
+#endif
+#if defined(TIOCM_RTS) || (defined(HAVE_DECL_TIOCM_RTS) && HAVE_DECL_TIOCM_RTS)
+	XLAT(TIOCM_RTS),
+#endif
+#if defined(TIOCM_ST) || (defined(HAVE_DECL_TIOCM_ST) && HAVE_DECL_TIOCM_ST)
+	XLAT(TIOCM_ST),
+#endif
+#if defined(TIOCM_SR) || (defined(HAVE_DECL_TIOCM_SR) && HAVE_DECL_TIOCM_SR)
+	XLAT(TIOCM_SR),
+#endif
+#if defined(TIOCM_CTS) || (defined(HAVE_DECL_TIOCM_CTS) && HAVE_DECL_TIOCM_CTS)
+	XLAT(TIOCM_CTS),
+#endif
+#if defined(TIOCM_CAR) || (defined(HAVE_DECL_TIOCM_CAR) && HAVE_DECL_TIOCM_CAR)
+	XLAT(TIOCM_CAR),
+#endif
+#if defined(TIOCM_CD) || (defined(HAVE_DECL_TIOCM_CD) && HAVE_DECL_TIOCM_CD)
+	XLAT(TIOCM_CD),
+#endif
+#if defined(TIOCM_RNG) || (defined(HAVE_DECL_TIOCM_RNG) && HAVE_DECL_TIOCM_RNG)
+	XLAT(TIOCM_RNG),
+#endif
+#if defined(TIOCM_RI) || (defined(HAVE_DECL_TIOCM_RI) && HAVE_DECL_TIOCM_RI)
+	XLAT(TIOCM_RI),
+#endif
+#if defined(TIOCM_DSR) || (defined(HAVE_DECL_TIOCM_DSR) && HAVE_DECL_TIOCM_DSR)
+	XLAT(TIOCM_DSR),
+#endif
+	XLAT_END
+};
diff --git a/xlat/modetypes.h b/xlat/modetypes.h
new file mode 100644
index 0000000..1438b02
--- /dev/null
+++ b/xlat/modetypes.h
@@ -0,0 +1,26 @@
+/* Generated by ./xlat/gen.sh from ./xlat/modetypes.in; do not edit. */
+
+static const struct xlat modetypes[] = {
+#if defined(S_IFREG) || (defined(HAVE_DECL_S_IFREG) && HAVE_DECL_S_IFREG)
+	XLAT(S_IFREG),
+#endif
+#if defined(S_IFSOCK) || (defined(HAVE_DECL_S_IFSOCK) && HAVE_DECL_S_IFSOCK)
+	XLAT(S_IFSOCK),
+#endif
+#if defined(S_IFIFO) || (defined(HAVE_DECL_S_IFIFO) && HAVE_DECL_S_IFIFO)
+	XLAT(S_IFIFO),
+#endif
+#if defined(S_IFLNK) || (defined(HAVE_DECL_S_IFLNK) && HAVE_DECL_S_IFLNK)
+	XLAT(S_IFLNK),
+#endif
+#if defined(S_IFDIR) || (defined(HAVE_DECL_S_IFDIR) && HAVE_DECL_S_IFDIR)
+	XLAT(S_IFDIR),
+#endif
+#if defined(S_IFBLK) || (defined(HAVE_DECL_S_IFBLK) && HAVE_DECL_S_IFBLK)
+	XLAT(S_IFBLK),
+#endif
+#if defined(S_IFCHR) || (defined(HAVE_DECL_S_IFCHR) && HAVE_DECL_S_IFCHR)
+	XLAT(S_IFCHR),
+#endif
+	XLAT_END
+};
diff --git a/xlat/modflags.h b/xlat/modflags.h
new file mode 100644
index 0000000..664e9c1
--- /dev/null
+++ b/xlat/modflags.h
@@ -0,0 +1,26 @@
+/* Generated by ./xlat/gen.sh from ./xlat/modflags.in; do not edit. */
+
+static const struct xlat modflags[] = {
+#if defined(MOD_UNINITIALIZED) || (defined(HAVE_DECL_MOD_UNINITIALIZED) && HAVE_DECL_MOD_UNINITIALIZED)
+	XLAT(MOD_UNINITIALIZED),
+#endif
+#if defined(MOD_RUNNING) || (defined(HAVE_DECL_MOD_RUNNING) && HAVE_DECL_MOD_RUNNING)
+	XLAT(MOD_RUNNING),
+#endif
+#if defined(MOD_DELETED) || (defined(HAVE_DECL_MOD_DELETED) && HAVE_DECL_MOD_DELETED)
+	XLAT(MOD_DELETED),
+#endif
+#if defined(MOD_AUTOCLEAN) || (defined(HAVE_DECL_MOD_AUTOCLEAN) && HAVE_DECL_MOD_AUTOCLEAN)
+	XLAT(MOD_AUTOCLEAN),
+#endif
+#if defined(MOD_VISITED) || (defined(HAVE_DECL_MOD_VISITED) && HAVE_DECL_MOD_VISITED)
+	XLAT(MOD_VISITED),
+#endif
+#if defined(MOD_USED_ONCE) || (defined(HAVE_DECL_MOD_USED_ONCE) && HAVE_DECL_MOD_USED_ONCE)
+	XLAT(MOD_USED_ONCE),
+#endif
+#if defined(MOD_JUST_FREED) || (defined(HAVE_DECL_MOD_JUST_FREED) && HAVE_DECL_MOD_JUST_FREED)
+	XLAT(MOD_JUST_FREED),
+#endif
+	XLAT_END
+};
diff --git a/xlat/module_init_flags.h b/xlat/module_init_flags.h
new file mode 100644
index 0000000..00ae3d6
--- /dev/null
+++ b/xlat/module_init_flags.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/module_init_flags.in; do not edit. */
+
+static const struct xlat module_init_flags[] = {
+#if defined(MODULE_INIT_IGNORE_MODVERSIONS) || (defined(HAVE_DECL_MODULE_INIT_IGNORE_MODVERSIONS) && HAVE_DECL_MODULE_INIT_IGNORE_MODVERSIONS)
+	XLAT(MODULE_INIT_IGNORE_MODVERSIONS),
+#endif
+#if defined(MODULE_INIT_IGNORE_VERMAGIC) || (defined(HAVE_DECL_MODULE_INIT_IGNORE_VERMAGIC) && HAVE_DECL_MODULE_INIT_IGNORE_VERMAGIC)
+	XLAT(MODULE_INIT_IGNORE_VERMAGIC),
+#endif
+	XLAT_END
+};
diff --git a/xlat/mount_flags.h b/xlat/mount_flags.h
new file mode 100644
index 0000000..cbd8e76
--- /dev/null
+++ b/xlat/mount_flags.h
@@ -0,0 +1,86 @@
+/* Generated by ./xlat/gen.sh from ./xlat/mount_flags.in; do not edit. */
+
+static const struct xlat mount_flags[] = {
+#if defined(MS_MGC_VAL) || (defined(HAVE_DECL_MS_MGC_VAL) && HAVE_DECL_MS_MGC_VAL)
+	XLAT(MS_MGC_VAL),
+#endif
+#if defined(MS_RDONLY) || (defined(HAVE_DECL_MS_RDONLY) && HAVE_DECL_MS_RDONLY)
+	XLAT(MS_RDONLY),
+#endif
+#if defined(MS_NOSUID) || (defined(HAVE_DECL_MS_NOSUID) && HAVE_DECL_MS_NOSUID)
+	XLAT(MS_NOSUID),
+#endif
+#if defined(MS_NODEV) || (defined(HAVE_DECL_MS_NODEV) && HAVE_DECL_MS_NODEV)
+	XLAT(MS_NODEV),
+#endif
+#if defined(MS_NOEXEC) || (defined(HAVE_DECL_MS_NOEXEC) && HAVE_DECL_MS_NOEXEC)
+	XLAT(MS_NOEXEC),
+#endif
+#if defined(MS_SYNCHRONOUS) || (defined(HAVE_DECL_MS_SYNCHRONOUS) && HAVE_DECL_MS_SYNCHRONOUS)
+	XLAT(MS_SYNCHRONOUS),
+#endif
+#if defined(MS_REMOUNT) || (defined(HAVE_DECL_MS_REMOUNT) && HAVE_DECL_MS_REMOUNT)
+	XLAT(MS_REMOUNT),
+#endif
+#if defined(MS_RELATIME) || (defined(HAVE_DECL_MS_RELATIME) && HAVE_DECL_MS_RELATIME)
+	XLAT(MS_RELATIME),
+#endif
+#if defined(MS_KERNMOUNT) || (defined(HAVE_DECL_MS_KERNMOUNT) && HAVE_DECL_MS_KERNMOUNT)
+	XLAT(MS_KERNMOUNT),
+#endif
+#if defined(MS_I_VERSION) || (defined(HAVE_DECL_MS_I_VERSION) && HAVE_DECL_MS_I_VERSION)
+	XLAT(MS_I_VERSION),
+#endif
+#if defined(MS_STRICTATIME) || (defined(HAVE_DECL_MS_STRICTATIME) && HAVE_DECL_MS_STRICTATIME)
+	XLAT(MS_STRICTATIME),
+#endif
+#if defined(MS_NOSEC) || (defined(HAVE_DECL_MS_NOSEC) && HAVE_DECL_MS_NOSEC)
+	XLAT(MS_NOSEC),
+#endif
+#if defined(MS_BORN) || (defined(HAVE_DECL_MS_BORN) && HAVE_DECL_MS_BORN)
+	XLAT(MS_BORN),
+#endif
+#if defined(MS_MANDLOCK) || (defined(HAVE_DECL_MS_MANDLOCK) && HAVE_DECL_MS_MANDLOCK)
+	XLAT(MS_MANDLOCK),
+#endif
+#if defined(MS_NOATIME) || (defined(HAVE_DECL_MS_NOATIME) && HAVE_DECL_MS_NOATIME)
+	XLAT(MS_NOATIME),
+#endif
+#if defined(MS_NODIRATIME) || (defined(HAVE_DECL_MS_NODIRATIME) && HAVE_DECL_MS_NODIRATIME)
+	XLAT(MS_NODIRATIME),
+#endif
+#if defined(MS_BIND) || (defined(HAVE_DECL_MS_BIND) && HAVE_DECL_MS_BIND)
+	XLAT(MS_BIND),
+#endif
+#if defined(MS_MOVE) || (defined(HAVE_DECL_MS_MOVE) && HAVE_DECL_MS_MOVE)
+	XLAT(MS_MOVE),
+#endif
+#if defined(MS_REC) || (defined(HAVE_DECL_MS_REC) && HAVE_DECL_MS_REC)
+	XLAT(MS_REC),
+#endif
+#if defined(MS_SILENT) || (defined(HAVE_DECL_MS_SILENT) && HAVE_DECL_MS_SILENT)
+	XLAT(MS_SILENT),
+#endif
+#if defined(MS_POSIXACL) || (defined(HAVE_DECL_MS_POSIXACL) && HAVE_DECL_MS_POSIXACL)
+	XLAT(MS_POSIXACL),
+#endif
+#if defined(MS_UNBINDABLE) || (defined(HAVE_DECL_MS_UNBINDABLE) && HAVE_DECL_MS_UNBINDABLE)
+	XLAT(MS_UNBINDABLE),
+#endif
+#if defined(MS_PRIVATE) || (defined(HAVE_DECL_MS_PRIVATE) && HAVE_DECL_MS_PRIVATE)
+	XLAT(MS_PRIVATE),
+#endif
+#if defined(MS_SLAVE) || (defined(HAVE_DECL_MS_SLAVE) && HAVE_DECL_MS_SLAVE)
+	XLAT(MS_SLAVE),
+#endif
+#if defined(MS_SHARED) || (defined(HAVE_DECL_MS_SHARED) && HAVE_DECL_MS_SHARED)
+	XLAT(MS_SHARED),
+#endif
+#if defined(MS_ACTIVE) || (defined(HAVE_DECL_MS_ACTIVE) && HAVE_DECL_MS_ACTIVE)
+	XLAT(MS_ACTIVE),
+#endif
+#if defined(MS_NOUSER) || (defined(HAVE_DECL_MS_NOUSER) && HAVE_DECL_MS_NOUSER)
+	XLAT(MS_NOUSER),
+#endif
+	XLAT_END
+};
diff --git a/xlat/move_pages_flags.h b/xlat/move_pages_flags.h
new file mode 100644
index 0000000..cbdf3bc
--- /dev/null
+++ b/xlat/move_pages_flags.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/move_pages_flags.in; do not edit. */
+
+static const struct xlat move_pages_flags[] = {
+#if defined(MPOL_MF_MOVE) || (defined(HAVE_DECL_MPOL_MF_MOVE) && HAVE_DECL_MPOL_MF_MOVE)
+	XLAT(MPOL_MF_MOVE),
+#endif
+#if defined(MPOL_MF_MOVE_ALL) || (defined(HAVE_DECL_MPOL_MF_MOVE_ALL) && HAVE_DECL_MPOL_MF_MOVE_ALL)
+	XLAT(MPOL_MF_MOVE_ALL),
+#endif
+	XLAT_END
+};
diff --git a/xlat/mremap_flags.h b/xlat/mremap_flags.h
new file mode 100644
index 0000000..3dac3a5
--- /dev/null
+++ b/xlat/mremap_flags.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/mremap_flags.in; do not edit. */
+
+static const struct xlat mremap_flags[] = {
+#if defined(MREMAP_MAYMOVE) || (defined(HAVE_DECL_MREMAP_MAYMOVE) && HAVE_DECL_MREMAP_MAYMOVE)
+	XLAT(MREMAP_MAYMOVE),
+#endif
+#if defined(MREMAP_FIXED) || (defined(HAVE_DECL_MREMAP_FIXED) && HAVE_DECL_MREMAP_FIXED)
+	XLAT(MREMAP_FIXED),
+#endif
+	XLAT_END
+};
diff --git a/xlat/msg_flags.h b/xlat/msg_flags.h
new file mode 100644
index 0000000..e842d2d
--- /dev/null
+++ b/xlat/msg_flags.h
@@ -0,0 +1,65 @@
+/* Generated by ./xlat/gen.sh from ./xlat/msg_flags.in; do not edit. */
+
+static const struct xlat msg_flags[] = {
+#if defined(MSG_OOB) || (defined(HAVE_DECL_MSG_OOB) && HAVE_DECL_MSG_OOB)
+	XLAT(MSG_OOB),
+#endif
+#if defined(MSG_PEEK) || (defined(HAVE_DECL_MSG_PEEK) && HAVE_DECL_MSG_PEEK)
+	XLAT(MSG_PEEK),
+#endif
+#if defined(MSG_DONTROUTE) || (defined(HAVE_DECL_MSG_DONTROUTE) && HAVE_DECL_MSG_DONTROUTE)
+	XLAT(MSG_DONTROUTE),
+#endif
+#if defined(MSG_CTRUNC) || (defined(HAVE_DECL_MSG_CTRUNC) && HAVE_DECL_MSG_CTRUNC)
+	XLAT(MSG_CTRUNC),
+#endif
+#if defined(MSG_PROBE) || (defined(HAVE_DECL_MSG_PROBE) && HAVE_DECL_MSG_PROBE)
+	XLAT(MSG_PROBE),
+#endif
+#if defined(MSG_TRUNC) || (defined(HAVE_DECL_MSG_TRUNC) && HAVE_DECL_MSG_TRUNC)
+	XLAT(MSG_TRUNC),
+#endif
+#if defined(MSG_DONTWAIT) || (defined(HAVE_DECL_MSG_DONTWAIT) && HAVE_DECL_MSG_DONTWAIT)
+	XLAT(MSG_DONTWAIT),
+#endif
+#if defined(MSG_EOR) || (defined(HAVE_DECL_MSG_EOR) && HAVE_DECL_MSG_EOR)
+	XLAT(MSG_EOR),
+#endif
+#if defined(MSG_WAITALL) || (defined(HAVE_DECL_MSG_WAITALL) && HAVE_DECL_MSG_WAITALL)
+	XLAT(MSG_WAITALL),
+#endif
+#if defined(MSG_FIN) || (defined(HAVE_DECL_MSG_FIN) && HAVE_DECL_MSG_FIN)
+	XLAT(MSG_FIN),
+#endif
+#if defined(MSG_SYN) || (defined(HAVE_DECL_MSG_SYN) && HAVE_DECL_MSG_SYN)
+	XLAT(MSG_SYN),
+#endif
+#if defined(MSG_CONFIRM) || (defined(HAVE_DECL_MSG_CONFIRM) && HAVE_DECL_MSG_CONFIRM)
+	XLAT(MSG_CONFIRM),
+#endif
+#if defined(MSG_RST) || (defined(HAVE_DECL_MSG_RST) && HAVE_DECL_MSG_RST)
+	XLAT(MSG_RST),
+#endif
+#if defined(MSG_ERRQUEUE) || (defined(HAVE_DECL_MSG_ERRQUEUE) && HAVE_DECL_MSG_ERRQUEUE)
+	XLAT(MSG_ERRQUEUE),
+#endif
+#if defined(MSG_NOSIGNAL) || (defined(HAVE_DECL_MSG_NOSIGNAL) && HAVE_DECL_MSG_NOSIGNAL)
+	XLAT(MSG_NOSIGNAL),
+#endif
+#if defined(MSG_MORE) || (defined(HAVE_DECL_MSG_MORE) && HAVE_DECL_MSG_MORE)
+	XLAT(MSG_MORE),
+#endif
+#if defined(MSG_WAITFORONE) || (defined(HAVE_DECL_MSG_WAITFORONE) && HAVE_DECL_MSG_WAITFORONE)
+	XLAT(MSG_WAITFORONE),
+#endif
+#if defined(MSG_EOF) || (defined(HAVE_DECL_MSG_EOF) && HAVE_DECL_MSG_EOF)
+	XLAT(MSG_EOF),
+#endif
+#if defined(MSG_FASTOPEN) || (defined(HAVE_DECL_MSG_FASTOPEN) && HAVE_DECL_MSG_FASTOPEN)
+	XLAT(MSG_FASTOPEN),
+#endif
+#if defined(MSG_CMSG_CLOEXEC) || (defined(HAVE_DECL_MSG_CMSG_CLOEXEC) && HAVE_DECL_MSG_CMSG_CLOEXEC)
+	XLAT(MSG_CMSG_CLOEXEC),
+#endif
+	XLAT_END
+};
diff --git a/xlat/msgctl_flags.h b/xlat/msgctl_flags.h
new file mode 100644
index 0000000..72c8f7b
--- /dev/null
+++ b/xlat/msgctl_flags.h
@@ -0,0 +1,23 @@
+/* Generated by ./xlat/gen.sh from ./xlat/msgctl_flags.in; do not edit. */
+
+static const struct xlat msgctl_flags[] = {
+#if defined(IPC_RMID) || (defined(HAVE_DECL_IPC_RMID) && HAVE_DECL_IPC_RMID)
+	XLAT(IPC_RMID),
+#endif
+#if defined(IPC_SET) || (defined(HAVE_DECL_IPC_SET) && HAVE_DECL_IPC_SET)
+	XLAT(IPC_SET),
+#endif
+#if defined(IPC_STAT) || (defined(HAVE_DECL_IPC_STAT) && HAVE_DECL_IPC_STAT)
+	XLAT(IPC_STAT),
+#endif
+#if defined(IPC_INFO) || (defined(HAVE_DECL_IPC_INFO) && HAVE_DECL_IPC_INFO)
+	XLAT(IPC_INFO),
+#endif
+#if defined(MSG_STAT) || (defined(HAVE_DECL_MSG_STAT) && HAVE_DECL_MSG_STAT)
+	XLAT(MSG_STAT),
+#endif
+#if defined(MSG_INFO) || (defined(HAVE_DECL_MSG_INFO) && HAVE_DECL_MSG_INFO)
+	XLAT(MSG_INFO),
+#endif
+	XLAT_END
+};
diff --git a/xlat/msgflags.h b/xlat/msgflags.h
new file mode 100644
index 0000000..c96a35d
--- /dev/null
+++ b/xlat/msgflags.h
@@ -0,0 +1,8 @@
+/* Generated by ./xlat/gen.sh from ./xlat/msgflags.in; do not edit. */
+
+static const struct xlat msgflags[] = {
+#if defined(RS_HIPRI) || (defined(HAVE_DECL_RS_HIPRI) && HAVE_DECL_RS_HIPRI)
+	XLAT(RS_HIPRI),
+#endif
+	XLAT_END
+};
diff --git a/xlat/mtd_flags_options.h b/xlat/mtd_flags_options.h
new file mode 100644
index 0000000..da4c6a7
--- /dev/null
+++ b/xlat/mtd_flags_options.h
@@ -0,0 +1,17 @@
+/* Generated by ./xlat/gen.sh from ./xlat/mtd_flags_options.in; do not edit. */
+
+static const struct xlat mtd_flags_options[] = {
+#if defined(MTD_WRITEABLE) || (defined(HAVE_DECL_MTD_WRITEABLE) && HAVE_DECL_MTD_WRITEABLE)
+	XLAT(MTD_WRITEABLE),
+#endif
+#if defined(MTD_BIT_WRITEABLE) || (defined(HAVE_DECL_MTD_BIT_WRITEABLE) && HAVE_DECL_MTD_BIT_WRITEABLE)
+	XLAT(MTD_BIT_WRITEABLE),
+#endif
+#if defined(MTD_NO_ERASE) || (defined(HAVE_DECL_MTD_NO_ERASE) && HAVE_DECL_MTD_NO_ERASE)
+	XLAT(MTD_NO_ERASE),
+#endif
+#if defined(MTD_POWERUP_LOCK) || (defined(HAVE_DECL_MTD_POWERUP_LOCK) && HAVE_DECL_MTD_POWERUP_LOCK)
+	XLAT(MTD_POWERUP_LOCK),
+#endif
+	XLAT_END
+};
diff --git a/xlat/mtd_mode_options.h b/xlat/mtd_mode_options.h
new file mode 100644
index 0000000..c80f035
--- /dev/null
+++ b/xlat/mtd_mode_options.h
@@ -0,0 +1,8 @@
+/* Generated by ./xlat/gen.sh from ./xlat/mtd_mode_options.in; do not edit. */
+
+static const struct xlat mtd_mode_options[] = {
+	XLAT(MTD_OPS_PLACE_OOB),
+	XLAT(MTD_OPS_AUTO_OOB),
+	XLAT(MTD_OPS_RAW),
+	XLAT_END
+};
diff --git a/xlat/mtd_nandecc_options.h b/xlat/mtd_nandecc_options.h
new file mode 100644
index 0000000..3464701
--- /dev/null
+++ b/xlat/mtd_nandecc_options.h
@@ -0,0 +1,20 @@
+/* Generated by ./xlat/gen.sh from ./xlat/mtd_nandecc_options.in; do not edit. */
+
+static const struct xlat mtd_nandecc_options[] = {
+#if defined(MTD_NANDECC_OFF) || (defined(HAVE_DECL_MTD_NANDECC_OFF) && HAVE_DECL_MTD_NANDECC_OFF)
+	XLAT(MTD_NANDECC_OFF),
+#endif
+#if defined(MTD_NANDECC_PLACE) || (defined(HAVE_DECL_MTD_NANDECC_PLACE) && HAVE_DECL_MTD_NANDECC_PLACE)
+	XLAT(MTD_NANDECC_PLACE),
+#endif
+#if defined(MTD_NANDECC_AUTOPLACE) || (defined(HAVE_DECL_MTD_NANDECC_AUTOPLACE) && HAVE_DECL_MTD_NANDECC_AUTOPLACE)
+	XLAT(MTD_NANDECC_AUTOPLACE),
+#endif
+#if defined(MTD_NANDECC_PLACEONLY) || (defined(HAVE_DECL_MTD_NANDECC_PLACEONLY) && HAVE_DECL_MTD_NANDECC_PLACEONLY)
+	XLAT(MTD_NANDECC_PLACEONLY),
+#endif
+#if defined(MTD_NANDECC_AUTOPL_USR) || (defined(HAVE_DECL_MTD_NANDECC_AUTOPL_USR) && HAVE_DECL_MTD_NANDECC_AUTOPL_USR)
+	XLAT(MTD_NANDECC_AUTOPL_USR),
+#endif
+	XLAT_END
+};
diff --git a/xlat/mtd_otp_options.h b/xlat/mtd_otp_options.h
new file mode 100644
index 0000000..6cbf743
--- /dev/null
+++ b/xlat/mtd_otp_options.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/mtd_otp_options.in; do not edit. */
+
+static const struct xlat mtd_otp_options[] = {
+#if defined(MTD_OTP_OFF) || (defined(HAVE_DECL_MTD_OTP_OFF) && HAVE_DECL_MTD_OTP_OFF)
+	XLAT(MTD_OTP_OFF),
+#endif
+#if defined(MTD_OTP_FACTORY) || (defined(HAVE_DECL_MTD_OTP_FACTORY) && HAVE_DECL_MTD_OTP_FACTORY)
+	XLAT(MTD_OTP_FACTORY),
+#endif
+#if defined(MTD_OTP_USER) || (defined(HAVE_DECL_MTD_OTP_USER) && HAVE_DECL_MTD_OTP_USER)
+	XLAT(MTD_OTP_USER),
+#endif
+	XLAT_END
+};
diff --git a/xlat/mtd_type_options.h b/xlat/mtd_type_options.h
new file mode 100644
index 0000000..404aca8
--- /dev/null
+++ b/xlat/mtd_type_options.h
@@ -0,0 +1,29 @@
+/* Generated by ./xlat/gen.sh from ./xlat/mtd_type_options.in; do not edit. */
+
+static const struct xlat mtd_type_options[] = {
+#if defined(MTD_ABSENT) || (defined(HAVE_DECL_MTD_ABSENT) && HAVE_DECL_MTD_ABSENT)
+	XLAT(MTD_ABSENT),
+#endif
+#if defined(MTD_RAM) || (defined(HAVE_DECL_MTD_RAM) && HAVE_DECL_MTD_RAM)
+	XLAT(MTD_RAM),
+#endif
+#if defined(MTD_ROM) || (defined(HAVE_DECL_MTD_ROM) && HAVE_DECL_MTD_ROM)
+	XLAT(MTD_ROM),
+#endif
+#if defined(MTD_NORFLASH) || (defined(HAVE_DECL_MTD_NORFLASH) && HAVE_DECL_MTD_NORFLASH)
+	XLAT(MTD_NORFLASH),
+#endif
+#if defined(MTD_NANDFLASH) || (defined(HAVE_DECL_MTD_NANDFLASH) && HAVE_DECL_MTD_NANDFLASH)
+	XLAT(MTD_NANDFLASH),
+#endif
+#if defined(MTD_DATAFLASH) || (defined(HAVE_DECL_MTD_DATAFLASH) && HAVE_DECL_MTD_DATAFLASH)
+	XLAT(MTD_DATAFLASH),
+#endif
+#if defined(MTD_UBIVOLUME) || (defined(HAVE_DECL_MTD_UBIVOLUME) && HAVE_DECL_MTD_UBIVOLUME)
+	XLAT(MTD_UBIVOLUME),
+#endif
+#if defined(MTD_MLCNANDFLASH) || (defined(HAVE_DECL_MTD_MLCNANDFLASH) && HAVE_DECL_MTD_MLCNANDFLASH)
+	XLAT(MTD_MLCNANDFLASH),
+#endif
+	XLAT_END
+};
diff --git a/xlat/netlink_protocols.h b/xlat/netlink_protocols.h
new file mode 100644
index 0000000..d5614f9
--- /dev/null
+++ b/xlat/netlink_protocols.h
@@ -0,0 +1,68 @@
+/* Generated by ./xlat/gen.sh from ./xlat/netlink_protocols.in; do not edit. */
+
+static const struct xlat netlink_protocols[] = {
+#if defined(NETLINK_ROUTE) || (defined(HAVE_DECL_NETLINK_ROUTE) && HAVE_DECL_NETLINK_ROUTE)
+	XLAT(NETLINK_ROUTE),
+#endif
+#if defined(NETLINK_UNUSED) || (defined(HAVE_DECL_NETLINK_UNUSED) && HAVE_DECL_NETLINK_UNUSED)
+	XLAT(NETLINK_UNUSED),
+#endif
+#if defined(NETLINK_USERSOCK) || (defined(HAVE_DECL_NETLINK_USERSOCK) && HAVE_DECL_NETLINK_USERSOCK)
+	XLAT(NETLINK_USERSOCK),
+#endif
+#if defined(NETLINK_FIREWALL) || (defined(HAVE_DECL_NETLINK_FIREWALL) && HAVE_DECL_NETLINK_FIREWALL)
+	XLAT(NETLINK_FIREWALL),
+#endif
+#if defined(NETLINK_SOCK_DIAG) || (defined(HAVE_DECL_NETLINK_SOCK_DIAG) && HAVE_DECL_NETLINK_SOCK_DIAG)
+	XLAT(NETLINK_SOCK_DIAG),
+#endif
+#if defined(NETLINK_NFLOG) || (defined(HAVE_DECL_NETLINK_NFLOG) && HAVE_DECL_NETLINK_NFLOG)
+	XLAT(NETLINK_NFLOG),
+#endif
+#if defined(NETLINK_XFRM) || (defined(HAVE_DECL_NETLINK_XFRM) && HAVE_DECL_NETLINK_XFRM)
+	XLAT(NETLINK_XFRM),
+#endif
+#if defined(NETLINK_SELINUX) || (defined(HAVE_DECL_NETLINK_SELINUX) && HAVE_DECL_NETLINK_SELINUX)
+	XLAT(NETLINK_SELINUX),
+#endif
+#if defined(NETLINK_ISCSI) || (defined(HAVE_DECL_NETLINK_ISCSI) && HAVE_DECL_NETLINK_ISCSI)
+	XLAT(NETLINK_ISCSI),
+#endif
+#if defined(NETLINK_AUDIT) || (defined(HAVE_DECL_NETLINK_AUDIT) && HAVE_DECL_NETLINK_AUDIT)
+	XLAT(NETLINK_AUDIT),
+#endif
+#if defined(NETLINK_FIB_LOOKUP) || (defined(HAVE_DECL_NETLINK_FIB_LOOKUP) && HAVE_DECL_NETLINK_FIB_LOOKUP)
+	XLAT(NETLINK_FIB_LOOKUP),
+#endif
+#if defined(NETLINK_CONNECTOR) || (defined(HAVE_DECL_NETLINK_CONNECTOR) && HAVE_DECL_NETLINK_CONNECTOR)
+	XLAT(NETLINK_CONNECTOR),
+#endif
+#if defined(NETLINK_NETFILTER) || (defined(HAVE_DECL_NETLINK_NETFILTER) && HAVE_DECL_NETLINK_NETFILTER)
+	XLAT(NETLINK_NETFILTER),
+#endif
+#if defined(NETLINK_IP6_FW) || (defined(HAVE_DECL_NETLINK_IP6_FW) && HAVE_DECL_NETLINK_IP6_FW)
+	XLAT(NETLINK_IP6_FW),
+#endif
+#if defined(NETLINK_DNRTMSG) || (defined(HAVE_DECL_NETLINK_DNRTMSG) && HAVE_DECL_NETLINK_DNRTMSG)
+	XLAT(NETLINK_DNRTMSG),
+#endif
+#if defined(NETLINK_KOBJECT_UEVENT) || (defined(HAVE_DECL_NETLINK_KOBJECT_UEVENT) && HAVE_DECL_NETLINK_KOBJECT_UEVENT)
+	XLAT(NETLINK_KOBJECT_UEVENT),
+#endif
+#if defined(NETLINK_GENERIC) || (defined(HAVE_DECL_NETLINK_GENERIC) && HAVE_DECL_NETLINK_GENERIC)
+	XLAT(NETLINK_GENERIC),
+#endif
+#if defined(NETLINK_SCSITRANSPORT) || (defined(HAVE_DECL_NETLINK_SCSITRANSPORT) && HAVE_DECL_NETLINK_SCSITRANSPORT)
+	XLAT(NETLINK_SCSITRANSPORT),
+#endif
+#if defined(NETLINK_ECRYPTFS) || (defined(HAVE_DECL_NETLINK_ECRYPTFS) && HAVE_DECL_NETLINK_ECRYPTFS)
+	XLAT(NETLINK_ECRYPTFS),
+#endif
+#if defined(NETLINK_RDMA) || (defined(HAVE_DECL_NETLINK_RDMA) && HAVE_DECL_NETLINK_RDMA)
+	XLAT(NETLINK_RDMA),
+#endif
+#if defined(NETLINK_CRYPTO) || (defined(HAVE_DECL_NETLINK_CRYPTO) && HAVE_DECL_NETLINK_CRYPTO)
+	XLAT(NETLINK_CRYPTO),
+#endif
+	XLAT_END
+};
diff --git a/xlat/notifyflags.h b/xlat/notifyflags.h
new file mode 100644
index 0000000..fe02728
--- /dev/null
+++ b/xlat/notifyflags.h
@@ -0,0 +1,26 @@
+/* Generated by ./xlat/gen.sh from ./xlat/notifyflags.in; do not edit. */
+
+static const struct xlat notifyflags[] = {
+#if defined(DN_ACCESS) || (defined(HAVE_DECL_DN_ACCESS) && HAVE_DECL_DN_ACCESS)
+	XLAT(DN_ACCESS),
+#endif
+#if defined(DN_MODIFY) || (defined(HAVE_DECL_DN_MODIFY) && HAVE_DECL_DN_MODIFY)
+	XLAT(DN_MODIFY),
+#endif
+#if defined(DN_CREATE) || (defined(HAVE_DECL_DN_CREATE) && HAVE_DECL_DN_CREATE)
+	XLAT(DN_CREATE),
+#endif
+#if defined(DN_DELETE) || (defined(HAVE_DECL_DN_DELETE) && HAVE_DECL_DN_DELETE)
+	XLAT(DN_DELETE),
+#endif
+#if defined(DN_RENAME) || (defined(HAVE_DECL_DN_RENAME) && HAVE_DECL_DN_RENAME)
+	XLAT(DN_RENAME),
+#endif
+#if defined(DN_ATTRIB) || (defined(HAVE_DECL_DN_ATTRIB) && HAVE_DECL_DN_ATTRIB)
+	XLAT(DN_ATTRIB),
+#endif
+#if defined(DN_MULTISHOT) || (defined(HAVE_DECL_DN_MULTISHOT) && HAVE_DECL_DN_MULTISHOT)
+	XLAT(DN_MULTISHOT),
+#endif
+	XLAT_END
+};
diff --git a/xlat/nt_descriptor_types.h b/xlat/nt_descriptor_types.h
new file mode 100644
index 0000000..a928b84
--- /dev/null
+++ b/xlat/nt_descriptor_types.h
@@ -0,0 +1,74 @@
+/* Generated by ./xlat/gen.sh from ./xlat/nt_descriptor_types.in; do not edit. */
+
+static const struct xlat nt_descriptor_types[] = {
+#if defined(NT_PRSTATUS) || (defined(HAVE_DECL_NT_PRSTATUS) && HAVE_DECL_NT_PRSTATUS)
+	XLAT(NT_PRSTATUS),
+#endif
+#if defined(NT_FPREGSET) || (defined(HAVE_DECL_NT_FPREGSET) && HAVE_DECL_NT_FPREGSET)
+	XLAT(NT_FPREGSET),
+#endif
+#if defined(NT_PRPSINFO) || (defined(HAVE_DECL_NT_PRPSINFO) && HAVE_DECL_NT_PRPSINFO)
+	XLAT(NT_PRPSINFO),
+#endif
+#if defined(NT_PRXREG) || (defined(HAVE_DECL_NT_PRXREG) && HAVE_DECL_NT_PRXREG)
+	XLAT(NT_PRXREG),
+#endif
+#if defined(NT_TASKSTRUCT) || (defined(HAVE_DECL_NT_TASKSTRUCT) && HAVE_DECL_NT_TASKSTRUCT)
+	XLAT(NT_TASKSTRUCT),
+#endif
+#if defined(NT_PLATFORM) || (defined(HAVE_DECL_NT_PLATFORM) && HAVE_DECL_NT_PLATFORM)
+	XLAT(NT_PLATFORM),
+#endif
+#if defined(NT_AUXV) || (defined(HAVE_DECL_NT_AUXV) && HAVE_DECL_NT_AUXV)
+	XLAT(NT_AUXV),
+#endif
+#if defined(NT_GWINDOWS) || (defined(HAVE_DECL_NT_GWINDOWS) && HAVE_DECL_NT_GWINDOWS)
+	XLAT(NT_GWINDOWS),
+#endif
+#if defined(NT_ASRS) || (defined(HAVE_DECL_NT_ASRS) && HAVE_DECL_NT_ASRS)
+	XLAT(NT_ASRS),
+#endif
+#if defined(NT_PSTATUS) || (defined(HAVE_DECL_NT_PSTATUS) && HAVE_DECL_NT_PSTATUS)
+	XLAT(NT_PSTATUS),
+#endif
+#if defined(NT_PSINFO) || (defined(HAVE_DECL_NT_PSINFO) && HAVE_DECL_NT_PSINFO)
+	XLAT(NT_PSINFO),
+#endif
+#if defined(NT_PRCRED) || (defined(HAVE_DECL_NT_PRCRED) && HAVE_DECL_NT_PRCRED)
+	XLAT(NT_PRCRED),
+#endif
+#if defined(NT_UTSNAME) || (defined(HAVE_DECL_NT_UTSNAME) && HAVE_DECL_NT_UTSNAME)
+	XLAT(NT_UTSNAME),
+#endif
+#if defined(NT_LWPSTATUS) || (defined(HAVE_DECL_NT_LWPSTATUS) && HAVE_DECL_NT_LWPSTATUS)
+	XLAT(NT_LWPSTATUS),
+#endif
+#if defined(NT_LWPSINFO) || (defined(HAVE_DECL_NT_LWPSINFO) && HAVE_DECL_NT_LWPSINFO)
+	XLAT(NT_LWPSINFO),
+#endif
+#if defined(NT_PRFPXREG) || (defined(HAVE_DECL_NT_PRFPXREG) && HAVE_DECL_NT_PRFPXREG)
+	XLAT(NT_PRFPXREG),
+#endif
+#if defined(NT_PRXFPREG) || (defined(HAVE_DECL_NT_PRXFPREG) && HAVE_DECL_NT_PRXFPREG)
+	XLAT(NT_PRXFPREG),
+#endif
+#if defined(NT_PPC_VMX) || (defined(HAVE_DECL_NT_PPC_VMX) && HAVE_DECL_NT_PPC_VMX)
+	XLAT(NT_PPC_VMX),
+#endif
+#if defined(NT_PPC_SPE) || (defined(HAVE_DECL_NT_PPC_SPE) && HAVE_DECL_NT_PPC_SPE)
+	XLAT(NT_PPC_SPE),
+#endif
+#if defined(NT_PPC_VSX) || (defined(HAVE_DECL_NT_PPC_VSX) && HAVE_DECL_NT_PPC_VSX)
+	XLAT(NT_PPC_VSX),
+#endif
+#if defined(NT_386_TLS) || (defined(HAVE_DECL_NT_386_TLS) && HAVE_DECL_NT_386_TLS)
+	XLAT(NT_386_TLS),
+#endif
+#if defined(NT_386_IOPERM) || (defined(HAVE_DECL_NT_386_IOPERM) && HAVE_DECL_NT_386_IOPERM)
+	XLAT(NT_386_IOPERM),
+#endif
+#if defined(NT_X86_XSTATE) || (defined(HAVE_DECL_NT_X86_XSTATE) && HAVE_DECL_NT_X86_XSTATE)
+	XLAT(NT_X86_XSTATE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/open_access_modes.h b/xlat/open_access_modes.h
new file mode 100644
index 0000000..02deb2e
--- /dev/null
+++ b/xlat/open_access_modes.h
@@ -0,0 +1,17 @@
+/* Generated by ./xlat/gen.sh from ./xlat/open_access_modes.in; do not edit. */
+
+const struct xlat open_access_modes[] = {
+#if defined(O_RDONLY) || (defined(HAVE_DECL_O_RDONLY) && HAVE_DECL_O_RDONLY)
+	XLAT(O_RDONLY),
+#endif
+#if defined(O_WRONLY) || (defined(HAVE_DECL_O_WRONLY) && HAVE_DECL_O_WRONLY)
+	XLAT(O_WRONLY),
+#endif
+#if defined(O_RDWR) || (defined(HAVE_DECL_O_RDWR) && HAVE_DECL_O_RDWR)
+	XLAT(O_RDWR),
+#endif
+#if defined(O_ACCMODE) || (defined(HAVE_DECL_O_ACCMODE) && HAVE_DECL_O_ACCMODE)
+	XLAT(O_ACCMODE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/open_mode_flags.h b/xlat/open_mode_flags.h
new file mode 100644
index 0000000..8d82a61
--- /dev/null
+++ b/xlat/open_mode_flags.h
@@ -0,0 +1,109 @@
+/* Generated by ./xlat/gen.sh from ./xlat/open_mode_flags.in; do not edit. */
+
+const struct xlat open_mode_flags[] = {
+#if defined(O_CREAT) || (defined(HAVE_DECL_O_CREAT) && HAVE_DECL_O_CREAT)
+	XLAT(O_CREAT),
+#endif
+#if defined(O_EXCL) || (defined(HAVE_DECL_O_EXCL) && HAVE_DECL_O_EXCL)
+	XLAT(O_EXCL),
+#endif
+#if defined(O_NOCTTY) || (defined(HAVE_DECL_O_NOCTTY) && HAVE_DECL_O_NOCTTY)
+	XLAT(O_NOCTTY),
+#endif
+#if defined(O_TRUNC) || (defined(HAVE_DECL_O_TRUNC) && HAVE_DECL_O_TRUNC)
+	XLAT(O_TRUNC),
+#endif
+#if defined(O_APPEND) || (defined(HAVE_DECL_O_APPEND) && HAVE_DECL_O_APPEND)
+	XLAT(O_APPEND),
+#endif
+#if defined(O_NONBLOCK) || (defined(HAVE_DECL_O_NONBLOCK) && HAVE_DECL_O_NONBLOCK)
+	XLAT(O_NONBLOCK),
+#endif
+#if defined(O_SYNC) || (defined(HAVE_DECL_O_SYNC) && HAVE_DECL_O_SYNC)
+	XLAT(O_SYNC),
+#endif
+#if defined(O_ASYNC) || (defined(HAVE_DECL_O_ASYNC) && HAVE_DECL_O_ASYNC)
+	XLAT(O_ASYNC),
+#endif
+#if defined(O_DSYNC) || (defined(HAVE_DECL_O_DSYNC) && HAVE_DECL_O_DSYNC)
+	XLAT(O_DSYNC),
+#endif
+#if defined(O_RSYNC) || (defined(HAVE_DECL_O_RSYNC) && HAVE_DECL_O_RSYNC)
+	XLAT(O_RSYNC),
+#endif
+#if defined(O_NDELAY) && (O_NDELAY != O_NONBLOCK)
+#if defined(O_NDELAY) || (defined(HAVE_DECL_O_NDELAY) && HAVE_DECL_O_NDELAY)
+	XLAT(O_NDELAY),
+#endif
+#endif
+#if defined(O_PRIV) || (defined(HAVE_DECL_O_PRIV) && HAVE_DECL_O_PRIV)
+	XLAT(O_PRIV),
+#endif
+#if defined(O_DIRECT) || (defined(HAVE_DECL_O_DIRECT) && HAVE_DECL_O_DIRECT)
+	XLAT(O_DIRECT),
+#endif
+#if defined(O_LARGEFILE) || (defined(HAVE_DECL_O_LARGEFILE) && HAVE_DECL_O_LARGEFILE)
+	XLAT(O_LARGEFILE),
+#endif
+#if defined(O_DIRECTORY) || (defined(HAVE_DECL_O_DIRECTORY) && HAVE_DECL_O_DIRECTORY)
+	XLAT(O_DIRECTORY),
+#endif
+#if defined(O_NOFOLLOW) || (defined(HAVE_DECL_O_NOFOLLOW) && HAVE_DECL_O_NOFOLLOW)
+	XLAT(O_NOFOLLOW),
+#endif
+#if defined(O_NOATIME) || (defined(HAVE_DECL_O_NOATIME) && HAVE_DECL_O_NOATIME)
+	XLAT(O_NOATIME),
+#endif
+#if defined(O_CLOEXEC) || (defined(HAVE_DECL_O_CLOEXEC) && HAVE_DECL_O_CLOEXEC)
+	XLAT(O_CLOEXEC),
+#endif
+#if defined(O_PATH) || (defined(HAVE_DECL_O_PATH) && HAVE_DECL_O_PATH)
+	XLAT(O_PATH),
+#endif
+#if defined(FNDELAY) || (defined(HAVE_DECL_FNDELAY) && HAVE_DECL_FNDELAY)
+	XLAT(FNDELAY),
+#endif
+#if defined(FAPPEND) || (defined(HAVE_DECL_FAPPEND) && HAVE_DECL_FAPPEND)
+	XLAT(FAPPEND),
+#endif
+#if defined(FMARK) || (defined(HAVE_DECL_FMARK) && HAVE_DECL_FMARK)
+	XLAT(FMARK),
+#endif
+#if defined(FDEFER) || (defined(HAVE_DECL_FDEFER) && HAVE_DECL_FDEFER)
+	XLAT(FDEFER),
+#endif
+#if defined(FASYNC) || (defined(HAVE_DECL_FASYNC) && HAVE_DECL_FASYNC)
+	XLAT(FASYNC),
+#endif
+#if defined(FSHLOCK) || (defined(HAVE_DECL_FSHLOCK) && HAVE_DECL_FSHLOCK)
+	XLAT(FSHLOCK),
+#endif
+#if defined(FEXLOCK) || (defined(HAVE_DECL_FEXLOCK) && HAVE_DECL_FEXLOCK)
+	XLAT(FEXLOCK),
+#endif
+#if defined(FCREAT) || (defined(HAVE_DECL_FCREAT) && HAVE_DECL_FCREAT)
+	XLAT(FCREAT),
+#endif
+#if defined(FTRUNC) || (defined(HAVE_DECL_FTRUNC) && HAVE_DECL_FTRUNC)
+	XLAT(FTRUNC),
+#endif
+#if defined(FEXCL) || (defined(HAVE_DECL_FEXCL) && HAVE_DECL_FEXCL)
+	XLAT(FEXCL),
+#endif
+#if defined(FNBIO) || (defined(HAVE_DECL_FNBIO) && HAVE_DECL_FNBIO)
+	XLAT(FNBIO),
+#endif
+#if defined(FSYNC) || (defined(HAVE_DECL_FSYNC) && HAVE_DECL_FSYNC)
+	XLAT(FSYNC),
+#endif
+#if defined(FNOCTTY) || (defined(HAVE_DECL_FNOCTTY) && HAVE_DECL_FNOCTTY)
+	XLAT(FNOCTTY),
+#endif
+#if defined(O_SHLOCK) || (defined(HAVE_DECL_O_SHLOCK) && HAVE_DECL_O_SHLOCK)
+	XLAT(O_SHLOCK),
+#endif
+#if defined(O_EXLOCK) || (defined(HAVE_DECL_O_EXLOCK) && HAVE_DECL_O_EXLOCK)
+	XLAT(O_EXLOCK),
+#endif
+	XLAT_END
+};
diff --git a/xlat/openmodessol.h b/xlat/openmodessol.h
new file mode 100644
index 0000000..929c6e1
--- /dev/null
+++ b/xlat/openmodessol.h
@@ -0,0 +1,19 @@
+/* Generated by ./xlat/gen.sh from ./xlat/openmodessol.in; do not edit. */
+
+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"	},
+	XLAT_END
+};
diff --git a/xlat/perf_event_open_flags.h b/xlat/perf_event_open_flags.h
new file mode 100644
index 0000000..ee4114c
--- /dev/null
+++ b/xlat/perf_event_open_flags.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/perf_event_open_flags.in; do not edit. */
+
+static const struct xlat perf_event_open_flags[] = {
+#if defined(PERF_FLAG_FD_NO_GROUP) || (defined(HAVE_DECL_PERF_FLAG_FD_NO_GROUP) && HAVE_DECL_PERF_FLAG_FD_NO_GROUP)
+	XLAT(PERF_FLAG_FD_NO_GROUP),
+#endif
+#if defined(PERF_FLAG_FD_OUTPUT) || (defined(HAVE_DECL_PERF_FLAG_FD_OUTPUT) && HAVE_DECL_PERF_FLAG_FD_OUTPUT)
+	XLAT(PERF_FLAG_FD_OUTPUT),
+#endif
+#if defined(PERF_FLAG_PID_CGROUP) || (defined(HAVE_DECL_PERF_FLAG_PID_CGROUP) && HAVE_DECL_PERF_FLAG_PID_CGROUP)
+	XLAT(PERF_FLAG_PID_CGROUP),
+#endif
+	XLAT_END
+};
diff --git a/xlat/personality_options.h b/xlat/personality_options.h
new file mode 100644
index 0000000..cd5379b
--- /dev/null
+++ b/xlat/personality_options.h
@@ -0,0 +1,27 @@
+/* Generated by ./xlat/gen.sh from ./xlat/personality_options.in; do not edit. */
+
+static const struct xlat personality_options[] = {
+	XLAT(PER_LINUX),
+	XLAT(PER_LINUX_32BIT),
+	XLAT(PER_LINUX_FDPIC),
+	XLAT(PER_SVR4),
+	XLAT(PER_SVR3),
+	XLAT(PER_SCOSVR3),
+	XLAT(PER_OSR5),
+	XLAT(PER_WYSEV386),
+	XLAT(PER_ISCR4),
+	XLAT(PER_BSD),
+	XLAT(PER_SUNOS),
+	XLAT(PER_XENIX),
+	XLAT(PER_LINUX32),
+	XLAT(PER_LINUX32_3GB),
+	XLAT(PER_IRIX32),
+	XLAT(PER_IRIXN32),
+	XLAT(PER_IRIX64),
+	XLAT(PER_RISCOS),
+	XLAT(PER_SOLARIS),
+	XLAT(PER_UW7),
+	XLAT(PER_OSF4),
+	XLAT(PER_HPUX),
+	XLAT_END
+};
diff --git a/xlat/pmsgflags.h b/xlat/pmsgflags.h
new file mode 100644
index 0000000..a10254e
--- /dev/null
+++ b/xlat/pmsgflags.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/pmsgflags.in; do not edit. */
+
+static const struct xlat pmsgflags[] = {
+#if defined(MSG_HIPRI) || (defined(HAVE_DECL_MSG_HIPRI) && HAVE_DECL_MSG_HIPRI)
+	XLAT(MSG_HIPRI),
+#endif
+#if defined(MSG_ANY) || (defined(HAVE_DECL_MSG_ANY) && HAVE_DECL_MSG_ANY)
+	XLAT(MSG_ANY),
+#endif
+#if defined(MSG_BAND) || (defined(HAVE_DECL_MSG_BAND) && HAVE_DECL_MSG_BAND)
+	XLAT(MSG_BAND),
+#endif
+	XLAT_END
+};
diff --git a/xlat/policies.h b/xlat/policies.h
new file mode 100644
index 0000000..d46eafd
--- /dev/null
+++ b/xlat/policies.h
@@ -0,0 +1,17 @@
+/* Generated by ./xlat/gen.sh from ./xlat/policies.in; do not edit. */
+
+static const struct xlat policies[] = {
+#if defined(MPOL_DEFAULT) || (defined(HAVE_DECL_MPOL_DEFAULT) && HAVE_DECL_MPOL_DEFAULT)
+	XLAT(MPOL_DEFAULT),
+#endif
+#if defined(MPOL_PREFERRED) || (defined(HAVE_DECL_MPOL_PREFERRED) && HAVE_DECL_MPOL_PREFERRED)
+	XLAT(MPOL_PREFERRED),
+#endif
+#if defined(MPOL_BIND) || (defined(HAVE_DECL_MPOL_BIND) && HAVE_DECL_MPOL_BIND)
+	XLAT(MPOL_BIND),
+#endif
+#if defined(MPOL_INTERLEAVE) || (defined(HAVE_DECL_MPOL_INTERLEAVE) && HAVE_DECL_MPOL_INTERLEAVE)
+	XLAT(MPOL_INTERLEAVE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/pollflags.h b/xlat/pollflags.h
new file mode 100644
index 0000000..cd1c128
--- /dev/null
+++ b/xlat/pollflags.h
@@ -0,0 +1,35 @@
+/* Generated by ./xlat/gen.sh from ./xlat/pollflags.in; do not edit. */
+
+static const struct xlat pollflags[] = {
+#if defined(POLLIN) || (defined(HAVE_DECL_POLLIN) && HAVE_DECL_POLLIN)
+	XLAT(POLLIN),
+#endif
+#if defined(POLLPRI) || (defined(HAVE_DECL_POLLPRI) && HAVE_DECL_POLLPRI)
+	XLAT(POLLPRI),
+#endif
+#if defined(POLLOUT) || (defined(HAVE_DECL_POLLOUT) && HAVE_DECL_POLLOUT)
+	XLAT(POLLOUT),
+#endif
+#if defined(POLLRDNORM) || (defined(HAVE_DECL_POLLRDNORM) && HAVE_DECL_POLLRDNORM)
+	XLAT(POLLRDNORM),
+#endif
+#if defined(POLLWRNORM) || (defined(HAVE_DECL_POLLWRNORM) && HAVE_DECL_POLLWRNORM)
+	XLAT(POLLWRNORM),
+#endif
+#if defined(POLLRDBAND) || (defined(HAVE_DECL_POLLRDBAND) && HAVE_DECL_POLLRDBAND)
+	XLAT(POLLRDBAND),
+#endif
+#if defined(POLLWRBAND) || (defined(HAVE_DECL_POLLWRBAND) && HAVE_DECL_POLLWRBAND)
+	XLAT(POLLWRBAND),
+#endif
+#if defined(POLLERR) || (defined(HAVE_DECL_POLLERR) && HAVE_DECL_POLLERR)
+	XLAT(POLLERR),
+#endif
+#if defined(POLLHUP) || (defined(HAVE_DECL_POLLHUP) && HAVE_DECL_POLLHUP)
+	XLAT(POLLHUP),
+#endif
+#if defined(POLLNVAL) || (defined(HAVE_DECL_POLLNVAL) && HAVE_DECL_POLLNVAL)
+	XLAT(POLLNVAL),
+#endif
+	XLAT_END
+};
diff --git a/xlat/prctl_options.h b/xlat/prctl_options.h
new file mode 100644
index 0000000..ce5f2d5
--- /dev/null
+++ b/xlat/prctl_options.h
@@ -0,0 +1,173 @@
+/* Generated by ./xlat/gen.sh from ./xlat/prctl_options.in; do not edit. */
+
+static const struct xlat prctl_options[] = {
+#if defined(PR_MAXPROCS) || (defined(HAVE_DECL_PR_MAXPROCS) && HAVE_DECL_PR_MAXPROCS)
+	XLAT(PR_MAXPROCS),
+#endif
+#if defined(PR_ISBLOCKED) || (defined(HAVE_DECL_PR_ISBLOCKED) && HAVE_DECL_PR_ISBLOCKED)
+	XLAT(PR_ISBLOCKED),
+#endif
+#if defined(PR_SETSTACKSIZE) || (defined(HAVE_DECL_PR_SETSTACKSIZE) && HAVE_DECL_PR_SETSTACKSIZE)
+	XLAT(PR_SETSTACKSIZE),
+#endif
+#if defined(PR_GETSTACKSIZE) || (defined(HAVE_DECL_PR_GETSTACKSIZE) && HAVE_DECL_PR_GETSTACKSIZE)
+	XLAT(PR_GETSTACKSIZE),
+#endif
+#if defined(PR_MAXPPROCS) || (defined(HAVE_DECL_PR_MAXPPROCS) && HAVE_DECL_PR_MAXPPROCS)
+	XLAT(PR_MAXPPROCS),
+#endif
+#if defined(PR_UNBLKONEXEC) || (defined(HAVE_DECL_PR_UNBLKONEXEC) && HAVE_DECL_PR_UNBLKONEXEC)
+	XLAT(PR_UNBLKONEXEC),
+#endif
+#if defined(PR_ATOMICSIM) || (defined(HAVE_DECL_PR_ATOMICSIM) && HAVE_DECL_PR_ATOMICSIM)
+	XLAT(PR_ATOMICSIM),
+#endif
+#if defined(PR_SETEXITSIG) || (defined(HAVE_DECL_PR_SETEXITSIG) && HAVE_DECL_PR_SETEXITSIG)
+	XLAT(PR_SETEXITSIG),
+#endif
+#if defined(PR_RESIDENT) || (defined(HAVE_DECL_PR_RESIDENT) && HAVE_DECL_PR_RESIDENT)
+	XLAT(PR_RESIDENT),
+#endif
+#if defined(PR_ATTACHADDR) || (defined(HAVE_DECL_PR_ATTACHADDR) && HAVE_DECL_PR_ATTACHADDR)
+	XLAT(PR_ATTACHADDR),
+#endif
+#if defined(PR_DETACHADDR) || (defined(HAVE_DECL_PR_DETACHADDR) && HAVE_DECL_PR_DETACHADDR)
+	XLAT(PR_DETACHADDR),
+#endif
+#if defined(PR_TERMCHILD) || (defined(HAVE_DECL_PR_TERMCHILD) && HAVE_DECL_PR_TERMCHILD)
+	XLAT(PR_TERMCHILD),
+#endif
+#if defined(PR_GETSHMASK) || (defined(HAVE_DECL_PR_GETSHMASK) && HAVE_DECL_PR_GETSHMASK)
+	XLAT(PR_GETSHMASK),
+#endif
+#if defined(PR_GETNSHARE) || (defined(HAVE_DECL_PR_GETNSHARE) && HAVE_DECL_PR_GETNSHARE)
+	XLAT(PR_GETNSHARE),
+#endif
+#if defined(PR_COREPID) || (defined(HAVE_DECL_PR_COREPID) && HAVE_DECL_PR_COREPID)
+	XLAT(PR_COREPID),
+#endif
+#if defined(PR_ATTACHADDRPERM) || (defined(HAVE_DECL_PR_ATTACHADDRPERM) && HAVE_DECL_PR_ATTACHADDRPERM)
+	XLAT(PR_ATTACHADDRPERM),
+#endif
+#if defined(PR_PTHREADEXIT) || (defined(HAVE_DECL_PR_PTHREADEXIT) && HAVE_DECL_PR_PTHREADEXIT)
+	XLAT(PR_PTHREADEXIT),
+#endif
+#if defined(PR_SET_PDEATHSIG) || (defined(HAVE_DECL_PR_SET_PDEATHSIG) && HAVE_DECL_PR_SET_PDEATHSIG)
+	XLAT(PR_SET_PDEATHSIG),
+#endif
+#if defined(PR_GET_PDEATHSIG) || (defined(HAVE_DECL_PR_GET_PDEATHSIG) && HAVE_DECL_PR_GET_PDEATHSIG)
+	XLAT(PR_GET_PDEATHSIG),
+#endif
+#if defined(PR_GET_DUMPABLE) || (defined(HAVE_DECL_PR_GET_DUMPABLE) && HAVE_DECL_PR_GET_DUMPABLE)
+	XLAT(PR_GET_DUMPABLE),
+#endif
+#if defined(PR_SET_DUMPABLE) || (defined(HAVE_DECL_PR_SET_DUMPABLE) && HAVE_DECL_PR_SET_DUMPABLE)
+	XLAT(PR_SET_DUMPABLE),
+#endif
+#if defined(PR_GET_UNALIGN) || (defined(HAVE_DECL_PR_GET_UNALIGN) && HAVE_DECL_PR_GET_UNALIGN)
+	XLAT(PR_GET_UNALIGN),
+#endif
+#if defined(PR_SET_UNALIGN) || (defined(HAVE_DECL_PR_SET_UNALIGN) && HAVE_DECL_PR_SET_UNALIGN)
+	XLAT(PR_SET_UNALIGN),
+#endif
+#if defined(PR_GET_KEEPCAPS) || (defined(HAVE_DECL_PR_GET_KEEPCAPS) && HAVE_DECL_PR_GET_KEEPCAPS)
+	XLAT(PR_GET_KEEPCAPS),
+#endif
+#if defined(PR_SET_KEEPCAPS) || (defined(HAVE_DECL_PR_SET_KEEPCAPS) && HAVE_DECL_PR_SET_KEEPCAPS)
+	XLAT(PR_SET_KEEPCAPS),
+#endif
+#if defined(PR_GET_FPEMU) || (defined(HAVE_DECL_PR_GET_FPEMU) && HAVE_DECL_PR_GET_FPEMU)
+	XLAT(PR_GET_FPEMU),
+#endif
+#if defined(PR_SET_FPEMU) || (defined(HAVE_DECL_PR_SET_FPEMU) && HAVE_DECL_PR_SET_FPEMU)
+	XLAT(PR_SET_FPEMU),
+#endif
+#if defined(PR_GET_FPEXC) || (defined(HAVE_DECL_PR_GET_FPEXC) && HAVE_DECL_PR_GET_FPEXC)
+	XLAT(PR_GET_FPEXC),
+#endif
+#if defined(PR_SET_FPEXC) || (defined(HAVE_DECL_PR_SET_FPEXC) && HAVE_DECL_PR_SET_FPEXC)
+	XLAT(PR_SET_FPEXC),
+#endif
+#if defined(PR_GET_TIMING) || (defined(HAVE_DECL_PR_GET_TIMING) && HAVE_DECL_PR_GET_TIMING)
+	XLAT(PR_GET_TIMING),
+#endif
+#if defined(PR_SET_TIMING) || (defined(HAVE_DECL_PR_SET_TIMING) && HAVE_DECL_PR_SET_TIMING)
+	XLAT(PR_SET_TIMING),
+#endif
+#if defined(PR_SET_NAME) || (defined(HAVE_DECL_PR_SET_NAME) && HAVE_DECL_PR_SET_NAME)
+	XLAT(PR_SET_NAME),
+#endif
+#if defined(PR_GET_NAME) || (defined(HAVE_DECL_PR_GET_NAME) && HAVE_DECL_PR_GET_NAME)
+	XLAT(PR_GET_NAME),
+#endif
+#if defined(PR_GET_ENDIAN) || (defined(HAVE_DECL_PR_GET_ENDIAN) && HAVE_DECL_PR_GET_ENDIAN)
+	XLAT(PR_GET_ENDIAN),
+#endif
+#if defined(PR_SET_ENDIAN) || (defined(HAVE_DECL_PR_SET_ENDIAN) && HAVE_DECL_PR_SET_ENDIAN)
+	XLAT(PR_SET_ENDIAN),
+#endif
+#if defined(PR_GET_SECCOMP) || (defined(HAVE_DECL_PR_GET_SECCOMP) && HAVE_DECL_PR_GET_SECCOMP)
+	XLAT(PR_GET_SECCOMP),
+#endif
+#if defined(PR_SET_SECCOMP) || (defined(HAVE_DECL_PR_SET_SECCOMP) && HAVE_DECL_PR_SET_SECCOMP)
+	XLAT(PR_SET_SECCOMP),
+#endif
+#if defined(PR_CAPBSET_READ) || (defined(HAVE_DECL_PR_CAPBSET_READ) && HAVE_DECL_PR_CAPBSET_READ)
+	XLAT(PR_CAPBSET_READ),
+#endif
+#if defined(PR_CAPBSET_DROP) || (defined(HAVE_DECL_PR_CAPBSET_DROP) && HAVE_DECL_PR_CAPBSET_DROP)
+	XLAT(PR_CAPBSET_DROP),
+#endif
+#if defined(PR_GET_TSC) || (defined(HAVE_DECL_PR_GET_TSC) && HAVE_DECL_PR_GET_TSC)
+	XLAT(PR_GET_TSC),
+#endif
+#if defined(PR_SET_TSC) || (defined(HAVE_DECL_PR_SET_TSC) && HAVE_DECL_PR_SET_TSC)
+	XLAT(PR_SET_TSC),
+#endif
+#if defined(PR_GET_SECUREBITS) || (defined(HAVE_DECL_PR_GET_SECUREBITS) && HAVE_DECL_PR_GET_SECUREBITS)
+	XLAT(PR_GET_SECUREBITS),
+#endif
+#if defined(PR_SET_SECUREBITS) || (defined(HAVE_DECL_PR_SET_SECUREBITS) && HAVE_DECL_PR_SET_SECUREBITS)
+	XLAT(PR_SET_SECUREBITS),
+#endif
+#if defined(PR_SET_TIMERSLACK) || (defined(HAVE_DECL_PR_SET_TIMERSLACK) && HAVE_DECL_PR_SET_TIMERSLACK)
+	XLAT(PR_SET_TIMERSLACK),
+#endif
+#if defined(PR_GET_TIMERSLACK) || (defined(HAVE_DECL_PR_GET_TIMERSLACK) && HAVE_DECL_PR_GET_TIMERSLACK)
+	XLAT(PR_GET_TIMERSLACK),
+#endif
+#if defined(PR_TASK_PERF_EVENTS_DISABLE) || (defined(HAVE_DECL_PR_TASK_PERF_EVENTS_DISABLE) && HAVE_DECL_PR_TASK_PERF_EVENTS_DISABLE)
+	XLAT(PR_TASK_PERF_EVENTS_DISABLE),
+#endif
+#if defined(PR_TASK_PERF_EVENTS_ENABLE) || (defined(HAVE_DECL_PR_TASK_PERF_EVENTS_ENABLE) && HAVE_DECL_PR_TASK_PERF_EVENTS_ENABLE)
+	XLAT(PR_TASK_PERF_EVENTS_ENABLE),
+#endif
+#if defined(PR_MCE_KILL) || (defined(HAVE_DECL_PR_MCE_KILL) && HAVE_DECL_PR_MCE_KILL)
+	XLAT(PR_MCE_KILL),
+#endif
+#if defined(PR_MCE_KILL_GET) || (defined(HAVE_DECL_PR_MCE_KILL_GET) && HAVE_DECL_PR_MCE_KILL_GET)
+	XLAT(PR_MCE_KILL_GET),
+#endif
+#if defined(PR_SET_MM) || (defined(HAVE_DECL_PR_SET_MM) && HAVE_DECL_PR_SET_MM)
+	XLAT(PR_SET_MM),
+#endif
+#if defined(PR_SET_PTRACER) || (defined(HAVE_DECL_PR_SET_PTRACER) && HAVE_DECL_PR_SET_PTRACER)
+	XLAT(PR_SET_PTRACER),
+#endif
+#if defined(PR_SET_CHILD_SUBREAPER) || (defined(HAVE_DECL_PR_SET_CHILD_SUBREAPER) && HAVE_DECL_PR_SET_CHILD_SUBREAPER)
+	XLAT(PR_SET_CHILD_SUBREAPER),
+#endif
+#if defined(PR_GET_CHILD_SUBREAPER) || (defined(HAVE_DECL_PR_GET_CHILD_SUBREAPER) && HAVE_DECL_PR_GET_CHILD_SUBREAPER)
+	XLAT(PR_GET_CHILD_SUBREAPER),
+#endif
+#if defined(PR_SET_NO_NEW_PRIVS) || (defined(HAVE_DECL_PR_SET_NO_NEW_PRIVS) && HAVE_DECL_PR_SET_NO_NEW_PRIVS)
+	XLAT(PR_SET_NO_NEW_PRIVS),
+#endif
+#if defined(PR_GET_NO_NEW_PRIVS) || (defined(HAVE_DECL_PR_GET_NO_NEW_PRIVS) && HAVE_DECL_PR_GET_NO_NEW_PRIVS)
+	XLAT(PR_GET_NO_NEW_PRIVS),
+#endif
+#if defined(PR_GET_TID_ADDRESS) || (defined(HAVE_DECL_PR_GET_TID_ADDRESS) && HAVE_DECL_PR_GET_TID_ADDRESS)
+	XLAT(PR_GET_TID_ADDRESS),
+#endif
+	XLAT_END
+};
diff --git a/xlat/priorities.h b/xlat/priorities.h
new file mode 100644
index 0000000..6d54326
--- /dev/null
+++ b/xlat/priorities.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/priorities.in; do not edit. */
+
+static const struct xlat priorities[] = {
+#if defined(PRIO_PROCESS) || (defined(HAVE_DECL_PRIO_PROCESS) && HAVE_DECL_PRIO_PROCESS)
+	XLAT(PRIO_PROCESS),
+#endif
+#if defined(PRIO_PGRP) || (defined(HAVE_DECL_PRIO_PGRP) && HAVE_DECL_PRIO_PGRP)
+	XLAT(PRIO_PGRP),
+#endif
+#if defined(PRIO_USER) || (defined(HAVE_DECL_PRIO_USER) && HAVE_DECL_PRIO_USER)
+	XLAT(PRIO_USER),
+#endif
+	XLAT_END
+};
diff --git a/xlat/ptp_flags_options.h b/xlat/ptp_flags_options.h
new file mode 100644
index 0000000..87b3403
--- /dev/null
+++ b/xlat/ptp_flags_options.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/ptp_flags_options.in; do not edit. */
+
+static const struct xlat ptp_flags_options[] = {
+#if defined(PTP_ENABLE_FEATURE) || (defined(HAVE_DECL_PTP_ENABLE_FEATURE) && HAVE_DECL_PTP_ENABLE_FEATURE)
+	XLAT(PTP_ENABLE_FEATURE),
+#endif
+#if defined(PTP_RISING_EDGE) || (defined(HAVE_DECL_PTP_RISING_EDGE) && HAVE_DECL_PTP_RISING_EDGE)
+	XLAT(PTP_RISING_EDGE),
+#endif
+#if defined(PTP_FALLING_EDGE) || (defined(HAVE_DECL_PTP_FALLING_EDGE) && HAVE_DECL_PTP_FALLING_EDGE)
+	XLAT(PTP_FALLING_EDGE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/ptrace_cmds.h b/xlat/ptrace_cmds.h
new file mode 100644
index 0000000..02d6642
--- /dev/null
+++ b/xlat/ptrace_cmds.h
@@ -0,0 +1,98 @@
+/* Generated by ./xlat/gen.sh from ./xlat/ptrace_cmds.in; do not edit. */
+
+static const struct xlat ptrace_cmds[] = {
+#if defined(PTRACE_TRACEME) || (defined(HAVE_DECL_PTRACE_TRACEME) && HAVE_DECL_PTRACE_TRACEME)
+	XLAT(PTRACE_TRACEME),
+#endif
+#if defined(PTRACE_PEEKTEXT) || (defined(HAVE_DECL_PTRACE_PEEKTEXT) && HAVE_DECL_PTRACE_PEEKTEXT)
+	XLAT(PTRACE_PEEKTEXT),
+#endif
+#if defined(PTRACE_PEEKDATA) || (defined(HAVE_DECL_PTRACE_PEEKDATA) && HAVE_DECL_PTRACE_PEEKDATA)
+	XLAT(PTRACE_PEEKDATA),
+#endif
+#if defined(PTRACE_PEEKUSER) || (defined(HAVE_DECL_PTRACE_PEEKUSER) && HAVE_DECL_PTRACE_PEEKUSER)
+	XLAT(PTRACE_PEEKUSER),
+#endif
+#if defined(PTRACE_POKETEXT) || (defined(HAVE_DECL_PTRACE_POKETEXT) && HAVE_DECL_PTRACE_POKETEXT)
+	XLAT(PTRACE_POKETEXT),
+#endif
+#if defined(PTRACE_POKEDATA) || (defined(HAVE_DECL_PTRACE_POKEDATA) && HAVE_DECL_PTRACE_POKEDATA)
+	XLAT(PTRACE_POKEDATA),
+#endif
+#if defined(PTRACE_POKEUSER) || (defined(HAVE_DECL_PTRACE_POKEUSER) && HAVE_DECL_PTRACE_POKEUSER)
+	XLAT(PTRACE_POKEUSER),
+#endif
+#if defined(PTRACE_CONT) || (defined(HAVE_DECL_PTRACE_CONT) && HAVE_DECL_PTRACE_CONT)
+	XLAT(PTRACE_CONT),
+#endif
+#if defined(PTRACE_KILL) || (defined(HAVE_DECL_PTRACE_KILL) && HAVE_DECL_PTRACE_KILL)
+	XLAT(PTRACE_KILL),
+#endif
+#if defined(PTRACE_SINGLESTEP) || (defined(HAVE_DECL_PTRACE_SINGLESTEP) && HAVE_DECL_PTRACE_SINGLESTEP)
+	XLAT(PTRACE_SINGLESTEP),
+#endif
+#if defined(PTRACE_ATTACH) || (defined(HAVE_DECL_PTRACE_ATTACH) && HAVE_DECL_PTRACE_ATTACH)
+	XLAT(PTRACE_ATTACH),
+#endif
+#if defined(PTRACE_DETACH) || (defined(HAVE_DECL_PTRACE_DETACH) && HAVE_DECL_PTRACE_DETACH)
+	XLAT(PTRACE_DETACH),
+#endif
+#if defined(PTRACE_GETREGS) || (defined(HAVE_DECL_PTRACE_GETREGS) && HAVE_DECL_PTRACE_GETREGS)
+	XLAT(PTRACE_GETREGS),
+#endif
+#if defined(PTRACE_SETREGS) || (defined(HAVE_DECL_PTRACE_SETREGS) && HAVE_DECL_PTRACE_SETREGS)
+	XLAT(PTRACE_SETREGS),
+#endif
+#if defined(PTRACE_GETFPREGS) || (defined(HAVE_DECL_PTRACE_GETFPREGS) && HAVE_DECL_PTRACE_GETFPREGS)
+	XLAT(PTRACE_GETFPREGS),
+#endif
+#if defined(PTRACE_SETFPREGS) || (defined(HAVE_DECL_PTRACE_SETFPREGS) && HAVE_DECL_PTRACE_SETFPREGS)
+	XLAT(PTRACE_SETFPREGS),
+#endif
+#if defined(PTRACE_GETFPXREGS) || (defined(HAVE_DECL_PTRACE_GETFPXREGS) && HAVE_DECL_PTRACE_GETFPXREGS)
+	XLAT(PTRACE_GETFPXREGS),
+#endif
+#if defined(PTRACE_SETFPXREGS) || (defined(HAVE_DECL_PTRACE_SETFPXREGS) && HAVE_DECL_PTRACE_SETFPXREGS)
+	XLAT(PTRACE_SETFPXREGS),
+#endif
+#if defined(PTRACE_GETVRREGS) || (defined(HAVE_DECL_PTRACE_GETVRREGS) && HAVE_DECL_PTRACE_GETVRREGS)
+	XLAT(PTRACE_GETVRREGS),
+#endif
+#if defined(PTRACE_SETVRREGS) || (defined(HAVE_DECL_PTRACE_SETVRREGS) && HAVE_DECL_PTRACE_SETVRREGS)
+	XLAT(PTRACE_SETVRREGS),
+#endif
+#if defined(PTRACE_SETOPTIONS) || (defined(HAVE_DECL_PTRACE_SETOPTIONS) && HAVE_DECL_PTRACE_SETOPTIONS)
+	XLAT(PTRACE_SETOPTIONS),
+#endif
+#if defined(PTRACE_GETEVENTMSG) || (defined(HAVE_DECL_PTRACE_GETEVENTMSG) && HAVE_DECL_PTRACE_GETEVENTMSG)
+	XLAT(PTRACE_GETEVENTMSG),
+#endif
+#if defined(PTRACE_GETSIGINFO) || (defined(HAVE_DECL_PTRACE_GETSIGINFO) && HAVE_DECL_PTRACE_GETSIGINFO)
+	XLAT(PTRACE_GETSIGINFO),
+#endif
+#if defined(PTRACE_SETSIGINFO) || (defined(HAVE_DECL_PTRACE_SETSIGINFO) && HAVE_DECL_PTRACE_SETSIGINFO)
+	XLAT(PTRACE_SETSIGINFO),
+#endif
+#if defined(PTRACE_GETREGSET) || (defined(HAVE_DECL_PTRACE_GETREGSET) && HAVE_DECL_PTRACE_GETREGSET)
+	XLAT(PTRACE_GETREGSET),
+#endif
+#if defined(PTRACE_SETREGSET) || (defined(HAVE_DECL_PTRACE_SETREGSET) && HAVE_DECL_PTRACE_SETREGSET)
+	XLAT(PTRACE_SETREGSET),
+#endif
+#if defined(PTRACE_SET_SYSCALL) || (defined(HAVE_DECL_PTRACE_SET_SYSCALL) && HAVE_DECL_PTRACE_SET_SYSCALL)
+	XLAT(PTRACE_SET_SYSCALL),
+#endif
+#if defined(PTRACE_SEIZE) || (defined(HAVE_DECL_PTRACE_SEIZE) && HAVE_DECL_PTRACE_SEIZE)
+	XLAT(PTRACE_SEIZE),
+#endif
+#if defined(PTRACE_INTERRUPT) || (defined(HAVE_DECL_PTRACE_INTERRUPT) && HAVE_DECL_PTRACE_INTERRUPT)
+	XLAT(PTRACE_INTERRUPT),
+#endif
+#if defined(PTRACE_LISTEN) || (defined(HAVE_DECL_PTRACE_LISTEN) && HAVE_DECL_PTRACE_LISTEN)
+	XLAT(PTRACE_LISTEN),
+#endif
+#if defined(PTRACE_SYSCALL) || (defined(HAVE_DECL_PTRACE_SYSCALL) && HAVE_DECL_PTRACE_SYSCALL)
+	XLAT(PTRACE_SYSCALL),
+#endif
+	XLAT_END
+};
diff --git a/xlat/ptrace_setoptions_flags.h b/xlat/ptrace_setoptions_flags.h
new file mode 100644
index 0000000..9ea554e
--- /dev/null
+++ b/xlat/ptrace_setoptions_flags.h
@@ -0,0 +1,32 @@
+/* Generated by ./xlat/gen.sh from ./xlat/ptrace_setoptions_flags.in; do not edit. */
+
+static const struct xlat ptrace_setoptions_flags[] = {
+#if defined(PTRACE_O_TRACESYSGOOD) || (defined(HAVE_DECL_PTRACE_O_TRACESYSGOOD) && HAVE_DECL_PTRACE_O_TRACESYSGOOD)
+	XLAT(PTRACE_O_TRACESYSGOOD),
+#endif
+#if defined(PTRACE_O_TRACEFORK) || (defined(HAVE_DECL_PTRACE_O_TRACEFORK) && HAVE_DECL_PTRACE_O_TRACEFORK)
+	XLAT(PTRACE_O_TRACEFORK),
+#endif
+#if defined(PTRACE_O_TRACEVFORK) || (defined(HAVE_DECL_PTRACE_O_TRACEVFORK) && HAVE_DECL_PTRACE_O_TRACEVFORK)
+	XLAT(PTRACE_O_TRACEVFORK),
+#endif
+#if defined(PTRACE_O_TRACECLONE) || (defined(HAVE_DECL_PTRACE_O_TRACECLONE) && HAVE_DECL_PTRACE_O_TRACECLONE)
+	XLAT(PTRACE_O_TRACECLONE),
+#endif
+#if defined(PTRACE_O_TRACEEXEC) || (defined(HAVE_DECL_PTRACE_O_TRACEEXEC) && HAVE_DECL_PTRACE_O_TRACEEXEC)
+	XLAT(PTRACE_O_TRACEEXEC),
+#endif
+#if defined(PTRACE_O_TRACEVFORKDONE) || (defined(HAVE_DECL_PTRACE_O_TRACEVFORKDONE) && HAVE_DECL_PTRACE_O_TRACEVFORKDONE)
+	XLAT(PTRACE_O_TRACEVFORKDONE),
+#endif
+#if defined(PTRACE_O_TRACEEXIT) || (defined(HAVE_DECL_PTRACE_O_TRACEEXIT) && HAVE_DECL_PTRACE_O_TRACEEXIT)
+	XLAT(PTRACE_O_TRACEEXIT),
+#endif
+#if defined(PTRACE_O_TRACESECCOMP) || (defined(HAVE_DECL_PTRACE_O_TRACESECCOMP) && HAVE_DECL_PTRACE_O_TRACESECCOMP)
+	XLAT(PTRACE_O_TRACESECCOMP),
+#endif
+#if defined(PTRACE_O_EXITKILL) || (defined(HAVE_DECL_PTRACE_O_EXITKILL) && HAVE_DECL_PTRACE_O_EXITKILL)
+	XLAT(PTRACE_O_EXITKILL),
+#endif
+	XLAT_END
+};
diff --git a/xlat/qm_which.h b/xlat/qm_which.h
new file mode 100644
index 0000000..8de83b9
--- /dev/null
+++ b/xlat/qm_which.h
@@ -0,0 +1,21 @@
+/* Generated by ./xlat/gen.sh from ./xlat/qm_which.in; do not edit. */
+
+static const struct xlat qm_which[] = {
+	XLAT(0),
+#if defined(QM_MODULES) || (defined(HAVE_DECL_QM_MODULES) && HAVE_DECL_QM_MODULES)
+	XLAT(QM_MODULES),
+#endif
+#if defined(QM_DEPS) || (defined(HAVE_DECL_QM_DEPS) && HAVE_DECL_QM_DEPS)
+	XLAT(QM_DEPS),
+#endif
+#if defined(QM_REFS) || (defined(HAVE_DECL_QM_REFS) && HAVE_DECL_QM_REFS)
+	XLAT(QM_REFS),
+#endif
+#if defined(QM_SYMBOLS) || (defined(HAVE_DECL_QM_SYMBOLS) && HAVE_DECL_QM_SYMBOLS)
+	XLAT(QM_SYMBOLS),
+#endif
+#if defined(QM_INFO) || (defined(HAVE_DECL_QM_INFO) && HAVE_DECL_QM_INFO)
+	XLAT(QM_INFO),
+#endif
+	XLAT_END
+};
diff --git a/xlat/quota_formats.h b/xlat/quota_formats.h
new file mode 100644
index 0000000..998dffc
--- /dev/null
+++ b/xlat/quota_formats.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/quota_formats.in; do not edit. */
+
+static const struct xlat quota_formats[] = {
+#if defined(QFMT_VFS_OLD) || (defined(HAVE_DECL_QFMT_VFS_OLD) && HAVE_DECL_QFMT_VFS_OLD)
+	XLAT(QFMT_VFS_OLD),
+#endif
+#if defined(QFMT_VFS_V0) || (defined(HAVE_DECL_QFMT_VFS_V0) && HAVE_DECL_QFMT_VFS_V0)
+	XLAT(QFMT_VFS_V0),
+#endif
+	XLAT_END
+};
diff --git a/xlat/quotacmds.h b/xlat/quotacmds.h
new file mode 100644
index 0000000..7511402
--- /dev/null
+++ b/xlat/quotacmds.h
@@ -0,0 +1,101 @@
+/* Generated by ./xlat/gen.sh from ./xlat/quotacmds.in; do not edit. */
+
+static const struct xlat quotacmds[] = {
+#if defined(Q_V1_QUOTAON) || (defined(HAVE_DECL_Q_V1_QUOTAON) && HAVE_DECL_Q_V1_QUOTAON)
+	XLAT(Q_V1_QUOTAON),
+#endif
+#if defined(Q_V1_QUOTAOFF) || (defined(HAVE_DECL_Q_V1_QUOTAOFF) && HAVE_DECL_Q_V1_QUOTAOFF)
+	XLAT(Q_V1_QUOTAOFF),
+#endif
+#if defined(Q_V1_GETQUOTA) || (defined(HAVE_DECL_Q_V1_GETQUOTA) && HAVE_DECL_Q_V1_GETQUOTA)
+	XLAT(Q_V1_GETQUOTA),
+#endif
+#if defined(Q_V1_SETQUOTA) || (defined(HAVE_DECL_Q_V1_SETQUOTA) && HAVE_DECL_Q_V1_SETQUOTA)
+	XLAT(Q_V1_SETQUOTA),
+#endif
+#if defined(Q_V1_SETUSE) || (defined(HAVE_DECL_Q_V1_SETUSE) && HAVE_DECL_Q_V1_SETUSE)
+	XLAT(Q_V1_SETUSE),
+#endif
+#if defined(Q_V1_SYNC) || (defined(HAVE_DECL_Q_V1_SYNC) && HAVE_DECL_Q_V1_SYNC)
+	XLAT(Q_V1_SYNC),
+#endif
+#if defined(Q_SETQLIM) || (defined(HAVE_DECL_Q_SETQLIM) && HAVE_DECL_Q_SETQLIM)
+	XLAT(Q_SETQLIM),
+#endif
+#if defined(Q_V1_GETSTATS) || (defined(HAVE_DECL_Q_V1_GETSTATS) && HAVE_DECL_Q_V1_GETSTATS)
+	XLAT(Q_V1_GETSTATS),
+#endif
+#if defined(Q_V1_RSQUASH) || (defined(HAVE_DECL_Q_V1_RSQUASH) && HAVE_DECL_Q_V1_RSQUASH)
+	XLAT(Q_V1_RSQUASH),
+#endif
+#if defined(Q_V2_GETQUOTA) || (defined(HAVE_DECL_Q_V2_GETQUOTA) && HAVE_DECL_Q_V2_GETQUOTA)
+	XLAT(Q_V2_GETQUOTA),
+#endif
+#if defined(Q_V2_SETQUOTA) || (defined(HAVE_DECL_Q_V2_SETQUOTA) && HAVE_DECL_Q_V2_SETQUOTA)
+	XLAT(Q_V2_SETQUOTA),
+#endif
+#if defined(Q_V2_SETUSE) || (defined(HAVE_DECL_Q_V2_SETUSE) && HAVE_DECL_Q_V2_SETUSE)
+	XLAT(Q_V2_SETUSE),
+#endif
+#if defined(Q_V2_GETINFO) || (defined(HAVE_DECL_Q_V2_GETINFO) && HAVE_DECL_Q_V2_GETINFO)
+	XLAT(Q_V2_GETINFO),
+#endif
+#if defined(Q_V2_SETINFO) || (defined(HAVE_DECL_Q_V2_SETINFO) && HAVE_DECL_Q_V2_SETINFO)
+	XLAT(Q_V2_SETINFO),
+#endif
+#if defined(Q_V2_SETGRACE) || (defined(HAVE_DECL_Q_V2_SETGRACE) && HAVE_DECL_Q_V2_SETGRACE)
+	XLAT(Q_V2_SETGRACE),
+#endif
+#if defined(Q_V2_SETFLAGS) || (defined(HAVE_DECL_Q_V2_SETFLAGS) && HAVE_DECL_Q_V2_SETFLAGS)
+	XLAT(Q_V2_SETFLAGS),
+#endif
+#if defined(Q_V2_GETSTATS) || (defined(HAVE_DECL_Q_V2_GETSTATS) && HAVE_DECL_Q_V2_GETSTATS)
+	XLAT(Q_V2_GETSTATS),
+#endif
+#if defined(Q_SYNC) || (defined(HAVE_DECL_Q_SYNC) && HAVE_DECL_Q_SYNC)
+	XLAT(Q_SYNC),
+#endif
+#if defined(Q_QUOTAON) || (defined(HAVE_DECL_Q_QUOTAON) && HAVE_DECL_Q_QUOTAON)
+	XLAT(Q_QUOTAON),
+#endif
+#if defined(Q_QUOTAOFF) || (defined(HAVE_DECL_Q_QUOTAOFF) && HAVE_DECL_Q_QUOTAOFF)
+	XLAT(Q_QUOTAOFF),
+#endif
+#if defined(Q_GETFMT) || (defined(HAVE_DECL_Q_GETFMT) && HAVE_DECL_Q_GETFMT)
+	XLAT(Q_GETFMT),
+#endif
+#if defined(Q_GETINFO) || (defined(HAVE_DECL_Q_GETINFO) && HAVE_DECL_Q_GETINFO)
+	XLAT(Q_GETINFO),
+#endif
+#if defined(Q_SETINFO) || (defined(HAVE_DECL_Q_SETINFO) && HAVE_DECL_Q_SETINFO)
+	XLAT(Q_SETINFO),
+#endif
+#if defined(Q_GETQUOTA) || (defined(HAVE_DECL_Q_GETQUOTA) && HAVE_DECL_Q_GETQUOTA)
+	XLAT(Q_GETQUOTA),
+#endif
+#if defined(Q_SETQUOTA) || (defined(HAVE_DECL_Q_SETQUOTA) && HAVE_DECL_Q_SETQUOTA)
+	XLAT(Q_SETQUOTA),
+#endif
+#if defined(Q_XQUOTAON) || (defined(HAVE_DECL_Q_XQUOTAON) && HAVE_DECL_Q_XQUOTAON)
+	XLAT(Q_XQUOTAON),
+#endif
+#if defined(Q_XQUOTAOFF) || (defined(HAVE_DECL_Q_XQUOTAOFF) && HAVE_DECL_Q_XQUOTAOFF)
+	XLAT(Q_XQUOTAOFF),
+#endif
+#if defined(Q_XGETQUOTA) || (defined(HAVE_DECL_Q_XGETQUOTA) && HAVE_DECL_Q_XGETQUOTA)
+	XLAT(Q_XGETQUOTA),
+#endif
+#if defined(Q_XSETQLIM) || (defined(HAVE_DECL_Q_XSETQLIM) && HAVE_DECL_Q_XSETQLIM)
+	XLAT(Q_XSETQLIM),
+#endif
+#if defined(Q_XGETQSTAT) || (defined(HAVE_DECL_Q_XGETQSTAT) && HAVE_DECL_Q_XGETQSTAT)
+	XLAT(Q_XGETQSTAT),
+#endif
+#if defined(Q_XQUOTARM) || (defined(HAVE_DECL_Q_XQUOTARM) && HAVE_DECL_Q_XQUOTARM)
+	XLAT(Q_XQUOTARM),
+#endif
+#if defined(Q_XQUOTASYNC) || (defined(HAVE_DECL_Q_XQUOTASYNC) && HAVE_DECL_Q_XQUOTASYNC)
+	XLAT(Q_XQUOTASYNC),
+#endif
+	XLAT_END
+};
diff --git a/xlat/quotatypes.h b/xlat/quotatypes.h
new file mode 100644
index 0000000..be93ed6
--- /dev/null
+++ b/xlat/quotatypes.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/quotatypes.in; do not edit. */
+
+static const struct xlat quotatypes[] = {
+#if defined(USRQUOTA) || (defined(HAVE_DECL_USRQUOTA) && HAVE_DECL_USRQUOTA)
+	XLAT(USRQUOTA),
+#endif
+#if defined(GRPQUOTA) || (defined(HAVE_DECL_GRPQUOTA) && HAVE_DECL_GRPQUOTA)
+	XLAT(GRPQUOTA),
+#endif
+	XLAT_END
+};
diff --git a/xlat/resource_flags.h b/xlat/resource_flags.h
new file mode 100644
index 0000000..1df440d
--- /dev/null
+++ b/xlat/resource_flags.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/resource_flags.in; do not edit. */
+
+static const struct xlat resource_flags[] = {
+#if defined(IPC_CREAT) || (defined(HAVE_DECL_IPC_CREAT) && HAVE_DECL_IPC_CREAT)
+	XLAT(IPC_CREAT),
+#endif
+#if defined(IPC_EXCL) || (defined(HAVE_DECL_IPC_EXCL) && HAVE_DECL_IPC_EXCL)
+	XLAT(IPC_EXCL),
+#endif
+#if defined(IPC_NOWAIT) || (defined(HAVE_DECL_IPC_NOWAIT) && HAVE_DECL_IPC_NOWAIT)
+	XLAT(IPC_NOWAIT),
+#endif
+	XLAT_END
+};
diff --git a/xlat/resources.h b/xlat/resources.h
new file mode 100644
index 0000000..95a5fdb
--- /dev/null
+++ b/xlat/resources.h
@@ -0,0 +1,56 @@
+/* Generated by ./xlat/gen.sh from ./xlat/resources.in; do not edit. */
+
+static const struct xlat resources[] = {
+#if defined(RLIMIT_AS) || (defined(HAVE_DECL_RLIMIT_AS) && HAVE_DECL_RLIMIT_AS)
+	XLAT(RLIMIT_AS),
+#endif
+#if defined(RLIMIT_CORE) || (defined(HAVE_DECL_RLIMIT_CORE) && HAVE_DECL_RLIMIT_CORE)
+	XLAT(RLIMIT_CORE),
+#endif
+#if defined(RLIMIT_CPU) || (defined(HAVE_DECL_RLIMIT_CPU) && HAVE_DECL_RLIMIT_CPU)
+	XLAT(RLIMIT_CPU),
+#endif
+#if defined(RLIMIT_DATA) || (defined(HAVE_DECL_RLIMIT_DATA) && HAVE_DECL_RLIMIT_DATA)
+	XLAT(RLIMIT_DATA),
+#endif
+#if defined(RLIMIT_FSIZE) || (defined(HAVE_DECL_RLIMIT_FSIZE) && HAVE_DECL_RLIMIT_FSIZE)
+	XLAT(RLIMIT_FSIZE),
+#endif
+#if defined(RLIMIT_LOCKS) || (defined(HAVE_DECL_RLIMIT_LOCKS) && HAVE_DECL_RLIMIT_LOCKS)
+	XLAT(RLIMIT_LOCKS),
+#endif
+#if defined(RLIMIT_MEMLOCK) || (defined(HAVE_DECL_RLIMIT_MEMLOCK) && HAVE_DECL_RLIMIT_MEMLOCK)
+	XLAT(RLIMIT_MEMLOCK),
+#endif
+#if defined(RLIMIT_MSGQUEUE) || (defined(HAVE_DECL_RLIMIT_MSGQUEUE) && HAVE_DECL_RLIMIT_MSGQUEUE)
+	XLAT(RLIMIT_MSGQUEUE),
+#endif
+#if defined(RLIMIT_NICE) || (defined(HAVE_DECL_RLIMIT_NICE) && HAVE_DECL_RLIMIT_NICE)
+	XLAT(RLIMIT_NICE),
+#endif
+#if defined(RLIMIT_NOFILE) || (defined(HAVE_DECL_RLIMIT_NOFILE) && HAVE_DECL_RLIMIT_NOFILE)
+	XLAT(RLIMIT_NOFILE),
+#endif
+#if defined(RLIMIT_NPROC) || (defined(HAVE_DECL_RLIMIT_NPROC) && HAVE_DECL_RLIMIT_NPROC)
+	XLAT(RLIMIT_NPROC),
+#endif
+#if defined(RLIMIT_RSS) || (defined(HAVE_DECL_RLIMIT_RSS) && HAVE_DECL_RLIMIT_RSS)
+	XLAT(RLIMIT_RSS),
+#endif
+#if defined(RLIMIT_RTPRIO) || (defined(HAVE_DECL_RLIMIT_RTPRIO) && HAVE_DECL_RLIMIT_RTPRIO)
+	XLAT(RLIMIT_RTPRIO),
+#endif
+#if defined(RLIMIT_RTTIME) || (defined(HAVE_DECL_RLIMIT_RTTIME) && HAVE_DECL_RLIMIT_RTTIME)
+	XLAT(RLIMIT_RTTIME),
+#endif
+#if defined(RLIMIT_SIGPENDING) || (defined(HAVE_DECL_RLIMIT_SIGPENDING) && HAVE_DECL_RLIMIT_SIGPENDING)
+	XLAT(RLIMIT_SIGPENDING),
+#endif
+#if defined(RLIMIT_STACK) || (defined(HAVE_DECL_RLIMIT_STACK) && HAVE_DECL_RLIMIT_STACK)
+	XLAT(RLIMIT_STACK),
+#endif
+#if defined(RLIMIT_VMEM) || (defined(HAVE_DECL_RLIMIT_VMEM) && HAVE_DECL_RLIMIT_VMEM)
+	XLAT(RLIMIT_VMEM),
+#endif
+	XLAT_END
+};
diff --git a/xlat/schedulers.h b/xlat/schedulers.h
new file mode 100644
index 0000000..20871a4
--- /dev/null
+++ b/xlat/schedulers.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/schedulers.in; do not edit. */
+
+static const struct xlat schedulers[] = {
+#if defined(SCHED_OTHER) || (defined(HAVE_DECL_SCHED_OTHER) && HAVE_DECL_SCHED_OTHER)
+	XLAT(SCHED_OTHER),
+#endif
+#if defined(SCHED_RR) || (defined(HAVE_DECL_SCHED_RR) && HAVE_DECL_SCHED_RR)
+	XLAT(SCHED_RR),
+#endif
+#if defined(SCHED_FIFO) || (defined(HAVE_DECL_SCHED_FIFO) && HAVE_DECL_SCHED_FIFO)
+	XLAT(SCHED_FIFO),
+#endif
+	XLAT_END
+};
diff --git a/xlat/scmvals.h b/xlat/scmvals.h
new file mode 100644
index 0000000..ba4629a
--- /dev/null
+++ b/xlat/scmvals.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/scmvals.in; do not edit. */
+
+static const struct xlat scmvals[] = {
+#if defined(SCM_RIGHTS) || (defined(HAVE_DECL_SCM_RIGHTS) && HAVE_DECL_SCM_RIGHTS)
+	XLAT(SCM_RIGHTS),
+#endif
+#if defined(SCM_CREDENTIALS) || (defined(HAVE_DECL_SCM_CREDENTIALS) && HAVE_DECL_SCM_CREDENTIALS)
+	XLAT(SCM_CREDENTIALS),
+#endif
+	XLAT_END
+};
diff --git a/xlat/semctl_flags.h b/xlat/semctl_flags.h
new file mode 100644
index 0000000..e902008
--- /dev/null
+++ b/xlat/semctl_flags.h
@@ -0,0 +1,44 @@
+/* Generated by ./xlat/gen.sh from ./xlat/semctl_flags.in; do not edit. */
+
+static const struct xlat semctl_flags[] = {
+#if defined(IPC_RMID) || (defined(HAVE_DECL_IPC_RMID) && HAVE_DECL_IPC_RMID)
+	XLAT(IPC_RMID),
+#endif
+#if defined(IPC_SET) || (defined(HAVE_DECL_IPC_SET) && HAVE_DECL_IPC_SET)
+	XLAT(IPC_SET),
+#endif
+#if defined(IPC_STAT) || (defined(HAVE_DECL_IPC_STAT) && HAVE_DECL_IPC_STAT)
+	XLAT(IPC_STAT),
+#endif
+#if defined(IPC_INFO) || (defined(HAVE_DECL_IPC_INFO) && HAVE_DECL_IPC_INFO)
+	XLAT(IPC_INFO),
+#endif
+#if defined(SEM_STAT) || (defined(HAVE_DECL_SEM_STAT) && HAVE_DECL_SEM_STAT)
+	XLAT(SEM_STAT),
+#endif
+#if defined(SEM_INFO) || (defined(HAVE_DECL_SEM_INFO) && HAVE_DECL_SEM_INFO)
+	XLAT(SEM_INFO),
+#endif
+#if defined(GETPID) || (defined(HAVE_DECL_GETPID) && HAVE_DECL_GETPID)
+	XLAT(GETPID),
+#endif
+#if defined(GETVAL) || (defined(HAVE_DECL_GETVAL) && HAVE_DECL_GETVAL)
+	XLAT(GETVAL),
+#endif
+#if defined(GETALL) || (defined(HAVE_DECL_GETALL) && HAVE_DECL_GETALL)
+	XLAT(GETALL),
+#endif
+#if defined(GETNCNT) || (defined(HAVE_DECL_GETNCNT) && HAVE_DECL_GETNCNT)
+	XLAT(GETNCNT),
+#endif
+#if defined(GETZCNT) || (defined(HAVE_DECL_GETZCNT) && HAVE_DECL_GETZCNT)
+	XLAT(GETZCNT),
+#endif
+#if defined(SETVAL) || (defined(HAVE_DECL_SETVAL) && HAVE_DECL_SETVAL)
+	XLAT(SETVAL),
+#endif
+#if defined(SETALL) || (defined(HAVE_DECL_SETALL) && HAVE_DECL_SETALL)
+	XLAT(SETALL),
+#endif
+	XLAT_END
+};
diff --git a/xlat/semop_flags.h b/xlat/semop_flags.h
new file mode 100644
index 0000000..d861340
--- /dev/null
+++ b/xlat/semop_flags.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/semop_flags.in; do not edit. */
+
+static const struct xlat semop_flags[] = {
+#if defined(SEM_UNDO) || (defined(HAVE_DECL_SEM_UNDO) && HAVE_DECL_SEM_UNDO)
+	XLAT(SEM_UNDO),
+#endif
+#if defined(IPC_NOWAIT) || (defined(HAVE_DECL_IPC_NOWAIT) && HAVE_DECL_IPC_NOWAIT)
+	XLAT(IPC_NOWAIT),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sg_io_dxfer_direction.h b/xlat/sg_io_dxfer_direction.h
new file mode 100644
index 0000000..eae2eac
--- /dev/null
+++ b/xlat/sg_io_dxfer_direction.h
@@ -0,0 +1,17 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sg_io_dxfer_direction.in; do not edit. */
+
+static const struct xlat sg_io_dxfer_direction[] = {
+#if defined(SG_DXFER_NONE) || (defined(HAVE_DECL_SG_DXFER_NONE) && HAVE_DECL_SG_DXFER_NONE)
+	XLAT(SG_DXFER_NONE),
+#endif
+#if defined(SG_DXFER_TO_DEV) || (defined(HAVE_DECL_SG_DXFER_TO_DEV) && HAVE_DECL_SG_DXFER_TO_DEV)
+	XLAT(SG_DXFER_TO_DEV),
+#endif
+#if defined(SG_DXFER_FROM_DEV) || (defined(HAVE_DECL_SG_DXFER_FROM_DEV) && HAVE_DECL_SG_DXFER_FROM_DEV)
+	XLAT(SG_DXFER_FROM_DEV),
+#endif
+#if defined(SG_DXFER_TO_FROM_DEV) || (defined(HAVE_DECL_SG_DXFER_TO_FROM_DEV) && HAVE_DECL_SG_DXFER_TO_FROM_DEV)
+	XLAT(SG_DXFER_TO_FROM_DEV),
+#endif
+	XLAT_END
+};
diff --git a/xlat/shm_flags.h b/xlat/shm_flags.h
new file mode 100644
index 0000000..e484576
--- /dev/null
+++ b/xlat/shm_flags.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/shm_flags.in; do not edit. */
+
+static const struct xlat shm_flags[] = {
+#if defined(SHM_REMAP) || (defined(HAVE_DECL_SHM_REMAP) && HAVE_DECL_SHM_REMAP)
+	XLAT(SHM_REMAP),
+#endif
+#if defined(SHM_RDONLY) || (defined(HAVE_DECL_SHM_RDONLY) && HAVE_DECL_SHM_RDONLY)
+	XLAT(SHM_RDONLY),
+#endif
+#if defined(SHM_RND) || (defined(HAVE_DECL_SHM_RND) && HAVE_DECL_SHM_RND)
+	XLAT(SHM_RND),
+#endif
+	XLAT_END
+};
diff --git a/xlat/shm_resource_flags.h b/xlat/shm_resource_flags.h
new file mode 100644
index 0000000..6229774
--- /dev/null
+++ b/xlat/shm_resource_flags.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/shm_resource_flags.in; do not edit. */
+
+static const struct xlat shm_resource_flags[] = {
+#if defined(IPC_CREAT) || (defined(HAVE_DECL_IPC_CREAT) && HAVE_DECL_IPC_CREAT)
+	XLAT(IPC_CREAT),
+#endif
+#if defined(IPC_EXCL) || (defined(HAVE_DECL_IPC_EXCL) && HAVE_DECL_IPC_EXCL)
+	XLAT(IPC_EXCL),
+#endif
+#if defined(SHM_HUGETLB) || (defined(HAVE_DECL_SHM_HUGETLB) && HAVE_DECL_SHM_HUGETLB)
+	XLAT(SHM_HUGETLB),
+#endif
+	XLAT_END
+};
diff --git a/xlat/shmctl_flags.h b/xlat/shmctl_flags.h
new file mode 100644
index 0000000..a67c015
--- /dev/null
+++ b/xlat/shmctl_flags.h
@@ -0,0 +1,29 @@
+/* Generated by ./xlat/gen.sh from ./xlat/shmctl_flags.in; do not edit. */
+
+static const struct xlat shmctl_flags[] = {
+#if defined(IPC_RMID) || (defined(HAVE_DECL_IPC_RMID) && HAVE_DECL_IPC_RMID)
+	XLAT(IPC_RMID),
+#endif
+#if defined(IPC_SET) || (defined(HAVE_DECL_IPC_SET) && HAVE_DECL_IPC_SET)
+	XLAT(IPC_SET),
+#endif
+#if defined(IPC_STAT) || (defined(HAVE_DECL_IPC_STAT) && HAVE_DECL_IPC_STAT)
+	XLAT(IPC_STAT),
+#endif
+#if defined(IPC_INFO) || (defined(HAVE_DECL_IPC_INFO) && HAVE_DECL_IPC_INFO)
+	XLAT(IPC_INFO),
+#endif
+#if defined(SHM_STAT) || (defined(HAVE_DECL_SHM_STAT) && HAVE_DECL_SHM_STAT)
+	XLAT(SHM_STAT),
+#endif
+#if defined(SHM_INFO) || (defined(HAVE_DECL_SHM_INFO) && HAVE_DECL_SHM_INFO)
+	XLAT(SHM_INFO),
+#endif
+#if defined(SHM_LOCK) || (defined(HAVE_DECL_SHM_LOCK) && HAVE_DECL_SHM_LOCK)
+	XLAT(SHM_LOCK),
+#endif
+#if defined(SHM_UNLOCK) || (defined(HAVE_DECL_SHM_UNLOCK) && HAVE_DECL_SHM_UNLOCK)
+	XLAT(SHM_UNLOCK),
+#endif
+	XLAT_END
+};
diff --git a/xlat/shutdown_modes.h b/xlat/shutdown_modes.h
new file mode 100644
index 0000000..6e3ab81
--- /dev/null
+++ b/xlat/shutdown_modes.h
@@ -0,0 +1,8 @@
+/* Generated by ./xlat/gen.sh from ./xlat/shutdown_modes.in; do not edit. */
+
+static const struct xlat shutdown_modes[] = {
+{ 0,	"SHUT_RD"	},
+{ 1,	"SHUT_WR"	},
+{ 2,	"SHUT_RDWR"	},
+	XLAT_END
+};
diff --git a/xlat/sigact_flags.h b/xlat/sigact_flags.h
new file mode 100644
index 0000000..0ee2f2b
--- /dev/null
+++ b/xlat/sigact_flags.h
@@ -0,0 +1,57 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sigact_flags.in; do not edit. */
+
+static const struct xlat sigact_flags[] = {
+#if defined(SA_RESTORER) || (defined(HAVE_DECL_SA_RESTORER) && HAVE_DECL_SA_RESTORER)
+	XLAT(SA_RESTORER),
+#endif
+#if defined(SA_STACK) || (defined(HAVE_DECL_SA_STACK) && HAVE_DECL_SA_STACK)
+	XLAT(SA_STACK),
+#endif
+#if defined(SA_RESTART) || (defined(HAVE_DECL_SA_RESTART) && HAVE_DECL_SA_RESTART)
+	XLAT(SA_RESTART),
+#endif
+#if defined(SA_INTERRUPT) || (defined(HAVE_DECL_SA_INTERRUPT) && HAVE_DECL_SA_INTERRUPT)
+	XLAT(SA_INTERRUPT),
+#endif
+#if defined(SA_NODEFER) || (defined(HAVE_DECL_SA_NODEFER) && HAVE_DECL_SA_NODEFER)
+	XLAT(SA_NODEFER),
+#endif
+#if defined SA_NOMASK && SA_NODEFER != SA_NOMASK
+#if defined(SA_NOMASK) || (defined(HAVE_DECL_SA_NOMASK) && HAVE_DECL_SA_NOMASK)
+	XLAT(SA_NOMASK),
+#endif
+#endif
+#if defined(SA_RESETHAND) || (defined(HAVE_DECL_SA_RESETHAND) && HAVE_DECL_SA_RESETHAND)
+	XLAT(SA_RESETHAND),
+#endif
+#if defined SA_ONESHOT && SA_ONESHOT != SA_RESETHAND
+#if defined(SA_ONESHOT) || (defined(HAVE_DECL_SA_ONESHOT) && HAVE_DECL_SA_ONESHOT)
+	XLAT(SA_ONESHOT),
+#endif
+#endif
+#if defined(SA_SIGINFO) || (defined(HAVE_DECL_SA_SIGINFO) && HAVE_DECL_SA_SIGINFO)
+	XLAT(SA_SIGINFO),
+#endif
+#if defined(SA_RESETHAND) || (defined(HAVE_DECL_SA_RESETHAND) && HAVE_DECL_SA_RESETHAND)
+	XLAT(SA_RESETHAND),
+#endif
+#if defined(SA_ONSTACK) || (defined(HAVE_DECL_SA_ONSTACK) && HAVE_DECL_SA_ONSTACK)
+	XLAT(SA_ONSTACK),
+#endif
+#if defined(SA_NODEFER) || (defined(HAVE_DECL_SA_NODEFER) && HAVE_DECL_SA_NODEFER)
+	XLAT(SA_NODEFER),
+#endif
+#if defined(SA_NOCLDSTOP) || (defined(HAVE_DECL_SA_NOCLDSTOP) && HAVE_DECL_SA_NOCLDSTOP)
+	XLAT(SA_NOCLDSTOP),
+#endif
+#if defined(SA_NOCLDWAIT) || (defined(HAVE_DECL_SA_NOCLDWAIT) && HAVE_DECL_SA_NOCLDWAIT)
+	XLAT(SA_NOCLDWAIT),
+#endif
+#if defined(_SA_BSDCALL) || (defined(HAVE_DECL__SA_BSDCALL) && HAVE_DECL__SA_BSDCALL)
+	XLAT(_SA_BSDCALL),
+#endif
+#if defined(SA_NOPTRACE) || (defined(HAVE_DECL_SA_NOPTRACE) && HAVE_DECL_SA_NOPTRACE)
+	XLAT(SA_NOPTRACE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sigaltstack_flags.h b/xlat/sigaltstack_flags.h
new file mode 100644
index 0000000..8d719ed
--- /dev/null
+++ b/xlat/sigaltstack_flags.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sigaltstack_flags.in; do not edit. */
+
+static const struct xlat sigaltstack_flags[] = {
+#if defined(SS_ONSTACK) || (defined(HAVE_DECL_SS_ONSTACK) && HAVE_DECL_SS_ONSTACK)
+	XLAT(SS_ONSTACK),
+#endif
+#if defined(SS_DISABLE) || (defined(HAVE_DECL_SS_DISABLE) && HAVE_DECL_SS_DISABLE)
+	XLAT(SS_DISABLE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sigbus_codes.h b/xlat/sigbus_codes.h
new file mode 100644
index 0000000..8ec67c0
--- /dev/null
+++ b/xlat/sigbus_codes.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sigbus_codes.in; do not edit. */
+
+static const struct xlat sigbus_codes[] = {
+#if defined(BUS_ADRALN) || (defined(HAVE_DECL_BUS_ADRALN) && HAVE_DECL_BUS_ADRALN)
+	XLAT(BUS_ADRALN),
+#endif
+#if defined(BUS_ADRERR) || (defined(HAVE_DECL_BUS_ADRERR) && HAVE_DECL_BUS_ADRERR)
+	XLAT(BUS_ADRERR),
+#endif
+#if defined(BUS_OBJERR) || (defined(HAVE_DECL_BUS_OBJERR) && HAVE_DECL_BUS_OBJERR)
+	XLAT(BUS_OBJERR),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sigchld_codes.h b/xlat/sigchld_codes.h
new file mode 100644
index 0000000..6604db3
--- /dev/null
+++ b/xlat/sigchld_codes.h
@@ -0,0 +1,23 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sigchld_codes.in; do not edit. */
+
+static const struct xlat sigchld_codes[] = {
+#if defined(CLD_EXITED) || (defined(HAVE_DECL_CLD_EXITED) && HAVE_DECL_CLD_EXITED)
+	XLAT(CLD_EXITED),
+#endif
+#if defined(CLD_KILLED) || (defined(HAVE_DECL_CLD_KILLED) && HAVE_DECL_CLD_KILLED)
+	XLAT(CLD_KILLED),
+#endif
+#if defined(CLD_DUMPED) || (defined(HAVE_DECL_CLD_DUMPED) && HAVE_DECL_CLD_DUMPED)
+	XLAT(CLD_DUMPED),
+#endif
+#if defined(CLD_TRAPPED) || (defined(HAVE_DECL_CLD_TRAPPED) && HAVE_DECL_CLD_TRAPPED)
+	XLAT(CLD_TRAPPED),
+#endif
+#if defined(CLD_STOPPED) || (defined(HAVE_DECL_CLD_STOPPED) && HAVE_DECL_CLD_STOPPED)
+	XLAT(CLD_STOPPED),
+#endif
+#if defined(CLD_CONTINUED) || (defined(HAVE_DECL_CLD_CONTINUED) && HAVE_DECL_CLD_CONTINUED)
+	XLAT(CLD_CONTINUED),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sigemt_codes.h b/xlat/sigemt_codes.h
new file mode 100644
index 0000000..ab87c40
--- /dev/null
+++ b/xlat/sigemt_codes.h
@@ -0,0 +1,8 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sigemt_codes.in; do not edit. */
+
+static const struct xlat sigemt_codes[] = {
+#if defined(EMT_TAGOVF) || (defined(HAVE_DECL_EMT_TAGOVF) && HAVE_DECL_EMT_TAGOVF)
+	XLAT(EMT_TAGOVF),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sigev_value.h b/xlat/sigev_value.h
new file mode 100644
index 0000000..da73c05
--- /dev/null
+++ b/xlat/sigev_value.h
@@ -0,0 +1,17 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sigev_value.in; do not edit. */
+
+static const struct xlat sigev_value[] = {
+#if defined(SIGEV_SIGNAL) || (defined(HAVE_DECL_SIGEV_SIGNAL) && HAVE_DECL_SIGEV_SIGNAL)
+	XLAT(SIGEV_SIGNAL),
+#endif
+#if defined(SIGEV_NONE) || (defined(HAVE_DECL_SIGEV_NONE) && HAVE_DECL_SIGEV_NONE)
+	XLAT(SIGEV_NONE),
+#endif
+#if defined(SIGEV_THREAD) || (defined(HAVE_DECL_SIGEV_THREAD) && HAVE_DECL_SIGEV_THREAD)
+	XLAT(SIGEV_THREAD),
+#endif
+#if defined(SIGEV_THREAD_ID) || (defined(HAVE_DECL_SIGEV_THREAD_ID) && HAVE_DECL_SIGEV_THREAD_ID)
+	XLAT(SIGEV_THREAD_ID),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sigfpe_codes.h b/xlat/sigfpe_codes.h
new file mode 100644
index 0000000..d69a26c
--- /dev/null
+++ b/xlat/sigfpe_codes.h
@@ -0,0 +1,29 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sigfpe_codes.in; do not edit. */
+
+static const struct xlat sigfpe_codes[] = {
+#if defined(FPE_INTDIV) || (defined(HAVE_DECL_FPE_INTDIV) && HAVE_DECL_FPE_INTDIV)
+	XLAT(FPE_INTDIV),
+#endif
+#if defined(FPE_INTOVF) || (defined(HAVE_DECL_FPE_INTOVF) && HAVE_DECL_FPE_INTOVF)
+	XLAT(FPE_INTOVF),
+#endif
+#if defined(FPE_FLTDIV) || (defined(HAVE_DECL_FPE_FLTDIV) && HAVE_DECL_FPE_FLTDIV)
+	XLAT(FPE_FLTDIV),
+#endif
+#if defined(FPE_FLTOVF) || (defined(HAVE_DECL_FPE_FLTOVF) && HAVE_DECL_FPE_FLTOVF)
+	XLAT(FPE_FLTOVF),
+#endif
+#if defined(FPE_FLTUND) || (defined(HAVE_DECL_FPE_FLTUND) && HAVE_DECL_FPE_FLTUND)
+	XLAT(FPE_FLTUND),
+#endif
+#if defined(FPE_FLTRES) || (defined(HAVE_DECL_FPE_FLTRES) && HAVE_DECL_FPE_FLTRES)
+	XLAT(FPE_FLTRES),
+#endif
+#if defined(FPE_FLTINV) || (defined(HAVE_DECL_FPE_FLTINV) && HAVE_DECL_FPE_FLTINV)
+	XLAT(FPE_FLTINV),
+#endif
+#if defined(FPE_FLTSUB) || (defined(HAVE_DECL_FPE_FLTSUB) && HAVE_DECL_FPE_FLTSUB)
+	XLAT(FPE_FLTSUB),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sigill_codes.h b/xlat/sigill_codes.h
new file mode 100644
index 0000000..ac6445a
--- /dev/null
+++ b/xlat/sigill_codes.h
@@ -0,0 +1,29 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sigill_codes.in; do not edit. */
+
+static const struct xlat sigill_codes[] = {
+#if defined(ILL_ILLOPC) || (defined(HAVE_DECL_ILL_ILLOPC) && HAVE_DECL_ILL_ILLOPC)
+	XLAT(ILL_ILLOPC),
+#endif
+#if defined(ILL_ILLOPN) || (defined(HAVE_DECL_ILL_ILLOPN) && HAVE_DECL_ILL_ILLOPN)
+	XLAT(ILL_ILLOPN),
+#endif
+#if defined(ILL_ILLADR) || (defined(HAVE_DECL_ILL_ILLADR) && HAVE_DECL_ILL_ILLADR)
+	XLAT(ILL_ILLADR),
+#endif
+#if defined(ILL_ILLTRP) || (defined(HAVE_DECL_ILL_ILLTRP) && HAVE_DECL_ILL_ILLTRP)
+	XLAT(ILL_ILLTRP),
+#endif
+#if defined(ILL_PRVOPC) || (defined(HAVE_DECL_ILL_PRVOPC) && HAVE_DECL_ILL_PRVOPC)
+	XLAT(ILL_PRVOPC),
+#endif
+#if defined(ILL_PRVREG) || (defined(HAVE_DECL_ILL_PRVREG) && HAVE_DECL_ILL_PRVREG)
+	XLAT(ILL_PRVREG),
+#endif
+#if defined(ILL_COPROC) || (defined(HAVE_DECL_ILL_COPROC) && HAVE_DECL_ILL_COPROC)
+	XLAT(ILL_COPROC),
+#endif
+#if defined(ILL_BADSTK) || (defined(HAVE_DECL_ILL_BADSTK) && HAVE_DECL_ILL_BADSTK)
+	XLAT(ILL_BADSTK),
+#endif
+	XLAT_END
+};
diff --git a/xlat/siginfo_codes.h b/xlat/siginfo_codes.h
new file mode 100644
index 0000000..e9b4174
--- /dev/null
+++ b/xlat/siginfo_codes.h
@@ -0,0 +1,41 @@
+/* Generated by ./xlat/gen.sh from ./xlat/siginfo_codes.in; do not edit. */
+
+static const struct xlat siginfo_codes[] = {
+#if defined(SI_KERNEL) || (defined(HAVE_DECL_SI_KERNEL) && HAVE_DECL_SI_KERNEL)
+	XLAT(SI_KERNEL),
+#endif
+#if defined(SI_USER) || (defined(HAVE_DECL_SI_USER) && HAVE_DECL_SI_USER)
+	XLAT(SI_USER),
+#endif
+#if defined(SI_QUEUE) || (defined(HAVE_DECL_SI_QUEUE) && HAVE_DECL_SI_QUEUE)
+	XLAT(SI_QUEUE),
+#endif
+#if defined(SI_TIMER) || (defined(HAVE_DECL_SI_TIMER) && HAVE_DECL_SI_TIMER)
+	XLAT(SI_TIMER),
+#endif
+#if defined(SI_MESGQ) || (defined(HAVE_DECL_SI_MESGQ) && HAVE_DECL_SI_MESGQ)
+	XLAT(SI_MESGQ),
+#endif
+#if defined(SI_ASYNCIO) || (defined(HAVE_DECL_SI_ASYNCIO) && HAVE_DECL_SI_ASYNCIO)
+	XLAT(SI_ASYNCIO),
+#endif
+#if defined(SI_SIGIO) || (defined(HAVE_DECL_SI_SIGIO) && HAVE_DECL_SI_SIGIO)
+	XLAT(SI_SIGIO),
+#endif
+#if defined(SI_TKILL) || (defined(HAVE_DECL_SI_TKILL) && HAVE_DECL_SI_TKILL)
+	XLAT(SI_TKILL),
+#endif
+#if defined(SI_DETHREAD) || (defined(HAVE_DECL_SI_DETHREAD) && HAVE_DECL_SI_DETHREAD)
+	XLAT(SI_DETHREAD),
+#endif
+#if defined(SI_ASYNCNL) || (defined(HAVE_DECL_SI_ASYNCNL) && HAVE_DECL_SI_ASYNCNL)
+	XLAT(SI_ASYNCNL),
+#endif
+#if defined(SI_NOINFO) || (defined(HAVE_DECL_SI_NOINFO) && HAVE_DECL_SI_NOINFO)
+	XLAT(SI_NOINFO),
+#endif
+#if defined(SI_LWP) || (defined(HAVE_DECL_SI_LWP) && HAVE_DECL_SI_LWP)
+	XLAT(SI_LWP),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sigpoll_codes.h b/xlat/sigpoll_codes.h
new file mode 100644
index 0000000..c50a515
--- /dev/null
+++ b/xlat/sigpoll_codes.h
@@ -0,0 +1,23 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sigpoll_codes.in; do not edit. */
+
+static const struct xlat sigpoll_codes[] = {
+#if defined(POLL_IN) || (defined(HAVE_DECL_POLL_IN) && HAVE_DECL_POLL_IN)
+	XLAT(POLL_IN),
+#endif
+#if defined(POLL_OUT) || (defined(HAVE_DECL_POLL_OUT) && HAVE_DECL_POLL_OUT)
+	XLAT(POLL_OUT),
+#endif
+#if defined(POLL_MSG) || (defined(HAVE_DECL_POLL_MSG) && HAVE_DECL_POLL_MSG)
+	XLAT(POLL_MSG),
+#endif
+#if defined(POLL_ERR) || (defined(HAVE_DECL_POLL_ERR) && HAVE_DECL_POLL_ERR)
+	XLAT(POLL_ERR),
+#endif
+#if defined(POLL_PRI) || (defined(HAVE_DECL_POLL_PRI) && HAVE_DECL_POLL_PRI)
+	XLAT(POLL_PRI),
+#endif
+#if defined(POLL_HUP) || (defined(HAVE_DECL_POLL_HUP) && HAVE_DECL_POLL_HUP)
+	XLAT(POLL_HUP),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sigprocmaskcmds.h b/xlat/sigprocmaskcmds.h
new file mode 100644
index 0000000..18fc2f6
--- /dev/null
+++ b/xlat/sigprocmaskcmds.h
@@ -0,0 +1,17 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sigprocmaskcmds.in; do not edit. */
+
+static const struct xlat sigprocmaskcmds[] = {
+#if defined(SIG_BLOCK) || (defined(HAVE_DECL_SIG_BLOCK) && HAVE_DECL_SIG_BLOCK)
+	XLAT(SIG_BLOCK),
+#endif
+#if defined(SIG_UNBLOCK) || (defined(HAVE_DECL_SIG_UNBLOCK) && HAVE_DECL_SIG_UNBLOCK)
+	XLAT(SIG_UNBLOCK),
+#endif
+#if defined(SIG_SETMASK) || (defined(HAVE_DECL_SIG_SETMASK) && HAVE_DECL_SIG_SETMASK)
+	XLAT(SIG_SETMASK),
+#endif
+#if defined(SIG_SETMASK32) || (defined(HAVE_DECL_SIG_SETMASK32) && HAVE_DECL_SIG_SETMASK32)
+	XLAT(SIG_SETMASK32),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sigprof_codes.h b/xlat/sigprof_codes.h
new file mode 100644
index 0000000..02e98e7
--- /dev/null
+++ b/xlat/sigprof_codes.h
@@ -0,0 +1,8 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sigprof_codes.in; do not edit. */
+
+static const struct xlat sigprof_codes[] = {
+#if defined(PROF_SIG) || (defined(HAVE_DECL_PROF_SIG) && HAVE_DECL_PROF_SIG)
+	XLAT(PROF_SIG),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sigsegv_codes.h b/xlat/sigsegv_codes.h
new file mode 100644
index 0000000..3de5370
--- /dev/null
+++ b/xlat/sigsegv_codes.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sigsegv_codes.in; do not edit. */
+
+static const struct xlat sigsegv_codes[] = {
+#if defined(SEGV_MAPERR) || (defined(HAVE_DECL_SEGV_MAPERR) && HAVE_DECL_SEGV_MAPERR)
+	XLAT(SEGV_MAPERR),
+#endif
+#if defined(SEGV_ACCERR) || (defined(HAVE_DECL_SEGV_ACCERR) && HAVE_DECL_SEGV_ACCERR)
+	XLAT(SEGV_ACCERR),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sigsys_codes.h b/xlat/sigsys_codes.h
new file mode 100644
index 0000000..a7ef5e2
--- /dev/null
+++ b/xlat/sigsys_codes.h
@@ -0,0 +1,8 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sigsys_codes.in; do not edit. */
+
+static const struct xlat sigsys_codes[] = {
+#if defined(SYS_SECCOMP) || (defined(HAVE_DECL_SYS_SECCOMP) && HAVE_DECL_SYS_SECCOMP)
+	XLAT(SYS_SECCOMP),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sigtrap_codes.h b/xlat/sigtrap_codes.h
new file mode 100644
index 0000000..c9101a2
--- /dev/null
+++ b/xlat/sigtrap_codes.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sigtrap_codes.in; do not edit. */
+
+static const struct xlat sigtrap_codes[] = {
+#if defined(TRAP_BRKPT) || (defined(HAVE_DECL_TRAP_BRKPT) && HAVE_DECL_TRAP_BRKPT)
+	XLAT(TRAP_BRKPT),
+#endif
+#if defined(TRAP_TRACE) || (defined(HAVE_DECL_TRAP_TRACE) && HAVE_DECL_TRAP_TRACE)
+	XLAT(TRAP_TRACE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sock_type_flags.h b/xlat/sock_type_flags.h
new file mode 100644
index 0000000..45f193a
--- /dev/null
+++ b/xlat/sock_type_flags.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sock_type_flags.in; do not edit. */
+
+static const struct xlat sock_type_flags[] = {
+#if defined(SOCK_CLOEXEC) || (defined(HAVE_DECL_SOCK_CLOEXEC) && HAVE_DECL_SOCK_CLOEXEC)
+	XLAT(SOCK_CLOEXEC),
+#endif
+#if defined(SOCK_NONBLOCK) || (defined(HAVE_DECL_SOCK_NONBLOCK) && HAVE_DECL_SOCK_NONBLOCK)
+	XLAT(SOCK_NONBLOCK),
+#endif
+	XLAT_END
+};
diff --git a/xlat/socketlayers.h b/xlat/socketlayers.h
new file mode 100644
index 0000000..6abbb92
--- /dev/null
+++ b/xlat/socketlayers.h
@@ -0,0 +1,104 @@
+/* Generated by ./xlat/gen.sh from ./xlat/socketlayers.in; do not edit. */
+
+static const struct xlat socketlayers[] = {
+#if defined(SOL_IP) || (defined(HAVE_DECL_SOL_IP) && HAVE_DECL_SOL_IP)
+	XLAT(SOL_IP),
+#endif
+#if defined(SOL_ICMP) || (defined(HAVE_DECL_SOL_ICMP) && HAVE_DECL_SOL_ICMP)
+	XLAT(SOL_ICMP),
+#endif
+#if defined(SOL_TCP) || (defined(HAVE_DECL_SOL_TCP) && HAVE_DECL_SOL_TCP)
+	XLAT(SOL_TCP),
+#endif
+#if defined(SOL_UDP) || (defined(HAVE_DECL_SOL_UDP) && HAVE_DECL_SOL_UDP)
+	XLAT(SOL_UDP),
+#endif
+#if defined(SOL_IPV6) || (defined(HAVE_DECL_SOL_IPV6) && HAVE_DECL_SOL_IPV6)
+	XLAT(SOL_IPV6),
+#endif
+#if defined(SOL_ICMPV6) || (defined(HAVE_DECL_SOL_ICMPV6) && HAVE_DECL_SOL_ICMPV6)
+	XLAT(SOL_ICMPV6),
+#endif
+#if defined(SOL_SCTP) || (defined(HAVE_DECL_SOL_SCTP) && HAVE_DECL_SOL_SCTP)
+	XLAT(SOL_SCTP),
+#endif
+#if defined(SOL_UDPLITE) || (defined(HAVE_DECL_SOL_UDPLITE) && HAVE_DECL_SOL_UDPLITE)
+	XLAT(SOL_UDPLITE),
+#endif
+#if defined(SOL_RAW) || (defined(HAVE_DECL_SOL_RAW) && HAVE_DECL_SOL_RAW)
+	XLAT(SOL_RAW),
+#endif
+#if defined(SOL_IPX) || (defined(HAVE_DECL_SOL_IPX) && HAVE_DECL_SOL_IPX)
+	XLAT(SOL_IPX),
+#endif
+#if defined(SOL_AX25) || (defined(HAVE_DECL_SOL_AX25) && HAVE_DECL_SOL_AX25)
+	XLAT(SOL_AX25),
+#endif
+#if defined(SOL_ATALK) || (defined(HAVE_DECL_SOL_ATALK) && HAVE_DECL_SOL_ATALK)
+	XLAT(SOL_ATALK),
+#endif
+#if defined(SOL_NETROM) || (defined(HAVE_DECL_SOL_NETROM) && HAVE_DECL_SOL_NETROM)
+	XLAT(SOL_NETROM),
+#endif
+#if defined(SOL_ROSE) || (defined(HAVE_DECL_SOL_ROSE) && HAVE_DECL_SOL_ROSE)
+	XLAT(SOL_ROSE),
+#endif
+#if defined(SOL_DECNET) || (defined(HAVE_DECL_SOL_DECNET) && HAVE_DECL_SOL_DECNET)
+	XLAT(SOL_DECNET),
+#endif
+#if defined(SOL_X25) || (defined(HAVE_DECL_SOL_X25) && HAVE_DECL_SOL_X25)
+	XLAT(SOL_X25),
+#endif
+#if defined(SOL_PACKET) || (defined(HAVE_DECL_SOL_PACKET) && HAVE_DECL_SOL_PACKET)
+	XLAT(SOL_PACKET),
+#endif
+#if defined(SOL_ATM) || (defined(HAVE_DECL_SOL_ATM) && HAVE_DECL_SOL_ATM)
+	XLAT(SOL_ATM),
+#endif
+#if defined(SOL_AAL) || (defined(HAVE_DECL_SOL_AAL) && HAVE_DECL_SOL_AAL)
+	XLAT(SOL_AAL),
+#endif
+#if defined(SOL_IRDA) || (defined(HAVE_DECL_SOL_IRDA) && HAVE_DECL_SOL_IRDA)
+	XLAT(SOL_IRDA),
+#endif
+#if defined(SOL_NETBEUI) || (defined(HAVE_DECL_SOL_NETBEUI) && HAVE_DECL_SOL_NETBEUI)
+	XLAT(SOL_NETBEUI),
+#endif
+#if defined(SOL_LLC) || (defined(HAVE_DECL_SOL_LLC) && HAVE_DECL_SOL_LLC)
+	XLAT(SOL_LLC),
+#endif
+#if defined(SOL_DCCP) || (defined(HAVE_DECL_SOL_DCCP) && HAVE_DECL_SOL_DCCP)
+	XLAT(SOL_DCCP),
+#endif
+#if defined(SOL_NETLINK) || (defined(HAVE_DECL_SOL_NETLINK) && HAVE_DECL_SOL_NETLINK)
+	XLAT(SOL_NETLINK),
+#endif
+#if defined(SOL_TIPC) || (defined(HAVE_DECL_SOL_TIPC) && HAVE_DECL_SOL_TIPC)
+	XLAT(SOL_TIPC),
+#endif
+#if defined(SOL_RXRPC) || (defined(HAVE_DECL_SOL_RXRPC) && HAVE_DECL_SOL_RXRPC)
+	XLAT(SOL_RXRPC),
+#endif
+#if defined(SOL_PPPOL2TP) || (defined(HAVE_DECL_SOL_PPPOL2TP) && HAVE_DECL_SOL_PPPOL2TP)
+	XLAT(SOL_PPPOL2TP),
+#endif
+#if defined(SOL_BLUETOOTH) || (defined(HAVE_DECL_SOL_BLUETOOTH) && HAVE_DECL_SOL_BLUETOOTH)
+	XLAT(SOL_BLUETOOTH),
+#endif
+#if defined(SOL_PNPIPE) || (defined(HAVE_DECL_SOL_PNPIPE) && HAVE_DECL_SOL_PNPIPE)
+	XLAT(SOL_PNPIPE),
+#endif
+#if defined(SOL_RDS) || (defined(HAVE_DECL_SOL_RDS) && HAVE_DECL_SOL_RDS)
+	XLAT(SOL_RDS),
+#endif
+#if defined(SOL_IUCV) || (defined(HAVE_DECL_SOL_IUCV) && HAVE_DECL_SOL_IUCV)
+	XLAT(SOL_IUCV),
+#endif
+#if defined(SOL_CAIF) || (defined(HAVE_DECL_SOL_CAIF) && HAVE_DECL_SOL_CAIF)
+	XLAT(SOL_CAIF),
+#endif
+#if defined(SOL_SOCKET) || (defined(HAVE_DECL_SOL_SOCKET) && HAVE_DECL_SOL_SOCKET)
+	XLAT(SOL_SOCKET),
+#endif
+  /* this array should remain not NULL-terminated */
+};
diff --git a/xlat/sockipoptions.h b/xlat/sockipoptions.h
new file mode 100644
index 0000000..ca044e0
--- /dev/null
+++ b/xlat/sockipoptions.h
@@ -0,0 +1,146 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sockipoptions.in; do not edit. */
+
+static const struct xlat sockipoptions[] = {
+#if defined(IP_TOS) || (defined(HAVE_DECL_IP_TOS) && HAVE_DECL_IP_TOS)
+	XLAT(IP_TOS),
+#endif
+#if defined(IP_TTL) || (defined(HAVE_DECL_IP_TTL) && HAVE_DECL_IP_TTL)
+	XLAT(IP_TTL),
+#endif
+#if defined(IP_HDRINCL) || (defined(HAVE_DECL_IP_HDRINCL) && HAVE_DECL_IP_HDRINCL)
+	XLAT(IP_HDRINCL),
+#endif
+#if defined(IP_OPTIONS) || (defined(HAVE_DECL_IP_OPTIONS) && HAVE_DECL_IP_OPTIONS)
+	XLAT(IP_OPTIONS),
+#endif
+#if defined(IP_ROUTER_ALERT) || (defined(HAVE_DECL_IP_ROUTER_ALERT) && HAVE_DECL_IP_ROUTER_ALERT)
+	XLAT(IP_ROUTER_ALERT),
+#endif
+#if defined(IP_RECVOPTIONS) || (defined(HAVE_DECL_IP_RECVOPTIONS) && HAVE_DECL_IP_RECVOPTIONS)
+	XLAT(IP_RECVOPTIONS),
+#endif
+#if defined(IP_RECVOPTS) || (defined(HAVE_DECL_IP_RECVOPTS) && HAVE_DECL_IP_RECVOPTS)
+	XLAT(IP_RECVOPTS),
+#endif
+#if defined(IP_RECVRETOPTS) || (defined(HAVE_DECL_IP_RECVRETOPTS) && HAVE_DECL_IP_RECVRETOPTS)
+	XLAT(IP_RECVRETOPTS),
+#endif
+#if defined(IP_RECVDSTADDR) || (defined(HAVE_DECL_IP_RECVDSTADDR) && HAVE_DECL_IP_RECVDSTADDR)
+	XLAT(IP_RECVDSTADDR),
+#endif
+#if defined(IP_RETOPTS) || (defined(HAVE_DECL_IP_RETOPTS) && HAVE_DECL_IP_RETOPTS)
+	XLAT(IP_RETOPTS),
+#endif
+#if defined(IP_PKTINFO) || (defined(HAVE_DECL_IP_PKTINFO) && HAVE_DECL_IP_PKTINFO)
+	XLAT(IP_PKTINFO),
+#endif
+#if defined(IP_PKTOPTIONS) || (defined(HAVE_DECL_IP_PKTOPTIONS) && HAVE_DECL_IP_PKTOPTIONS)
+	XLAT(IP_PKTOPTIONS),
+#endif
+#if defined(IP_MTU_DISCOVER) || (defined(HAVE_DECL_IP_MTU_DISCOVER) && HAVE_DECL_IP_MTU_DISCOVER)
+	XLAT(IP_MTU_DISCOVER),
+#endif
+#if defined(IP_RECVERR) || (defined(HAVE_DECL_IP_RECVERR) && HAVE_DECL_IP_RECVERR)
+	XLAT(IP_RECVERR),
+#endif
+#if defined(IP_RECVTTL) || (defined(HAVE_DECL_IP_RECVTTL) && HAVE_DECL_IP_RECVTTL)
+	XLAT(IP_RECVTTL),
+#endif
+#if defined(IP_RECVTOS) || (defined(HAVE_DECL_IP_RECVTOS) && HAVE_DECL_IP_RECVTOS)
+	XLAT(IP_RECVTOS),
+#endif
+#if defined(IP_MTU) || (defined(HAVE_DECL_IP_MTU) && HAVE_DECL_IP_MTU)
+	XLAT(IP_MTU),
+#endif
+#if defined(IP_MULTICAST_IF) || (defined(HAVE_DECL_IP_MULTICAST_IF) && HAVE_DECL_IP_MULTICAST_IF)
+	XLAT(IP_MULTICAST_IF),
+#endif
+#if defined(IP_MULTICAST_TTL) || (defined(HAVE_DECL_IP_MULTICAST_TTL) && HAVE_DECL_IP_MULTICAST_TTL)
+	XLAT(IP_MULTICAST_TTL),
+#endif
+#if defined(IP_MULTICAST_LOOP) || (defined(HAVE_DECL_IP_MULTICAST_LOOP) && HAVE_DECL_IP_MULTICAST_LOOP)
+	XLAT(IP_MULTICAST_LOOP),
+#endif
+#if defined(IP_ADD_MEMBERSHIP) || (defined(HAVE_DECL_IP_ADD_MEMBERSHIP) && HAVE_DECL_IP_ADD_MEMBERSHIP)
+	XLAT(IP_ADD_MEMBERSHIP),
+#endif
+#if defined(IP_DROP_MEMBERSHIP) || (defined(HAVE_DECL_IP_DROP_MEMBERSHIP) && HAVE_DECL_IP_DROP_MEMBERSHIP)
+	XLAT(IP_DROP_MEMBERSHIP),
+#endif
+#if defined(IP_BROADCAST_IF) || (defined(HAVE_DECL_IP_BROADCAST_IF) && HAVE_DECL_IP_BROADCAST_IF)
+	XLAT(IP_BROADCAST_IF),
+#endif
+#if defined(IP_RECVIFINDEX) || (defined(HAVE_DECL_IP_RECVIFINDEX) && HAVE_DECL_IP_RECVIFINDEX)
+	XLAT(IP_RECVIFINDEX),
+#endif
+#if defined(IP_MSFILTER) || (defined(HAVE_DECL_IP_MSFILTER) && HAVE_DECL_IP_MSFILTER)
+	XLAT(IP_MSFILTER),
+#endif
+#if defined(MCAST_MSFILTER) || (defined(HAVE_DECL_MCAST_MSFILTER) && HAVE_DECL_MCAST_MSFILTER)
+	XLAT(MCAST_MSFILTER),
+#endif
+#if defined(IP_FREEBIND) || (defined(HAVE_DECL_IP_FREEBIND) && HAVE_DECL_IP_FREEBIND)
+	XLAT(IP_FREEBIND),
+#endif
+#if defined(IP_IPSEC_POLICY) || (defined(HAVE_DECL_IP_IPSEC_POLICY) && HAVE_DECL_IP_IPSEC_POLICY)
+	XLAT(IP_IPSEC_POLICY),
+#endif
+#if defined(IP_XFRM_POLICY) || (defined(HAVE_DECL_IP_XFRM_POLICY) && HAVE_DECL_IP_XFRM_POLICY)
+	XLAT(IP_XFRM_POLICY),
+#endif
+#if defined(IP_PASSSEC) || (defined(HAVE_DECL_IP_PASSSEC) && HAVE_DECL_IP_PASSSEC)
+	XLAT(IP_PASSSEC),
+#endif
+#if defined(IP_TRANSPARENT) || (defined(HAVE_DECL_IP_TRANSPARENT) && HAVE_DECL_IP_TRANSPARENT)
+	XLAT(IP_TRANSPARENT),
+#endif
+#if defined(IP_ORIGDSTADDR) || (defined(HAVE_DECL_IP_ORIGDSTADDR) && HAVE_DECL_IP_ORIGDSTADDR)
+	XLAT(IP_ORIGDSTADDR),
+#endif
+#if defined(IP_RECVORIGDSTADDR) || (defined(HAVE_DECL_IP_RECVORIGDSTADDR) && HAVE_DECL_IP_RECVORIGDSTADDR)
+	XLAT(IP_RECVORIGDSTADDR),
+#endif
+#if defined(IP_MINTTL) || (defined(HAVE_DECL_IP_MINTTL) && HAVE_DECL_IP_MINTTL)
+	XLAT(IP_MINTTL),
+#endif
+#if defined(IP_NODEFRAG) || (defined(HAVE_DECL_IP_NODEFRAG) && HAVE_DECL_IP_NODEFRAG)
+	XLAT(IP_NODEFRAG),
+#endif
+#if defined(IP_UNBLOCK_SOURCE) || (defined(HAVE_DECL_IP_UNBLOCK_SOURCE) && HAVE_DECL_IP_UNBLOCK_SOURCE)
+	XLAT(IP_UNBLOCK_SOURCE),
+#endif
+#if defined(IP_BLOCK_SOURCE) || (defined(HAVE_DECL_IP_BLOCK_SOURCE) && HAVE_DECL_IP_BLOCK_SOURCE)
+	XLAT(IP_BLOCK_SOURCE),
+#endif
+#if defined(IP_ADD_SOURCE_MEMBERSHIP) || (defined(HAVE_DECL_IP_ADD_SOURCE_MEMBERSHIP) && HAVE_DECL_IP_ADD_SOURCE_MEMBERSHIP)
+	XLAT(IP_ADD_SOURCE_MEMBERSHIP),
+#endif
+#if defined(IP_DROP_SOURCE_MEMBERSHIP) || (defined(HAVE_DECL_IP_DROP_SOURCE_MEMBERSHIP) && HAVE_DECL_IP_DROP_SOURCE_MEMBERSHIP)
+	XLAT(IP_DROP_SOURCE_MEMBERSHIP),
+#endif
+#if defined(MCAST_JOIN_GROUP) || (defined(HAVE_DECL_MCAST_JOIN_GROUP) && HAVE_DECL_MCAST_JOIN_GROUP)
+	XLAT(MCAST_JOIN_GROUP),
+#endif
+#if defined(MCAST_BLOCK_SOURCE) || (defined(HAVE_DECL_MCAST_BLOCK_SOURCE) && HAVE_DECL_MCAST_BLOCK_SOURCE)
+	XLAT(MCAST_BLOCK_SOURCE),
+#endif
+#if defined(MCAST_UNBLOCK_SOURCE) || (defined(HAVE_DECL_MCAST_UNBLOCK_SOURCE) && HAVE_DECL_MCAST_UNBLOCK_SOURCE)
+	XLAT(MCAST_UNBLOCK_SOURCE),
+#endif
+#if defined(MCAST_LEAVE_GROUP) || (defined(HAVE_DECL_MCAST_LEAVE_GROUP) && HAVE_DECL_MCAST_LEAVE_GROUP)
+	XLAT(MCAST_LEAVE_GROUP),
+#endif
+#if defined(MCAST_JOIN_SOURCE_GROUP) || (defined(HAVE_DECL_MCAST_JOIN_SOURCE_GROUP) && HAVE_DECL_MCAST_JOIN_SOURCE_GROUP)
+	XLAT(MCAST_JOIN_SOURCE_GROUP),
+#endif
+#if defined(MCAST_LEAVE_SOURCE_GROUP) || (defined(HAVE_DECL_MCAST_LEAVE_SOURCE_GROUP) && HAVE_DECL_MCAST_LEAVE_SOURCE_GROUP)
+	XLAT(MCAST_LEAVE_SOURCE_GROUP),
+#endif
+#if defined(IP_MULTICAST_ALL) || (defined(HAVE_DECL_IP_MULTICAST_ALL) && HAVE_DECL_IP_MULTICAST_ALL)
+	XLAT(IP_MULTICAST_ALL),
+#endif
+#if defined(IP_UNICAST_IF) || (defined(HAVE_DECL_IP_UNICAST_IF) && HAVE_DECL_IP_UNICAST_IF)
+	XLAT(IP_UNICAST_IF),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sockipv6options.h b/xlat/sockipv6options.h
new file mode 100644
index 0000000..40af8a9
--- /dev/null
+++ b/xlat/sockipv6options.h
@@ -0,0 +1,68 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sockipv6options.in; do not edit. */
+
+static const struct xlat sockipv6options[] = {
+#if defined(IPV6_ADDRFORM) || (defined(HAVE_DECL_IPV6_ADDRFORM) && HAVE_DECL_IPV6_ADDRFORM)
+	XLAT(IPV6_ADDRFORM),
+#endif
+#if defined(MCAST_FILTER) || (defined(HAVE_DECL_MCAST_FILTER) && HAVE_DECL_MCAST_FILTER)
+	XLAT(MCAST_FILTER),
+#endif
+#if defined(IPV6_PKTOPTIONS) || (defined(HAVE_DECL_IPV6_PKTOPTIONS) && HAVE_DECL_IPV6_PKTOPTIONS)
+	XLAT(IPV6_PKTOPTIONS),
+#endif
+#if defined(IPV6_MTU) || (defined(HAVE_DECL_IPV6_MTU) && HAVE_DECL_IPV6_MTU)
+	XLAT(IPV6_MTU),
+#endif
+#if defined(IPV6_V6ONLY) || (defined(HAVE_DECL_IPV6_V6ONLY) && HAVE_DECL_IPV6_V6ONLY)
+	XLAT(IPV6_V6ONLY),
+#endif
+#if defined(IPV6_PKTINFO) || (defined(HAVE_DECL_IPV6_PKTINFO) && HAVE_DECL_IPV6_PKTINFO)
+	XLAT(IPV6_PKTINFO),
+#endif
+#if defined(IPV6_HOPLIMIT) || (defined(HAVE_DECL_IPV6_HOPLIMIT) && HAVE_DECL_IPV6_HOPLIMIT)
+	XLAT(IPV6_HOPLIMIT),
+#endif
+#if defined(IPV6_RTHDR) || (defined(HAVE_DECL_IPV6_RTHDR) && HAVE_DECL_IPV6_RTHDR)
+	XLAT(IPV6_RTHDR),
+#endif
+#if defined(IPV6_HOPOPTS) || (defined(HAVE_DECL_IPV6_HOPOPTS) && HAVE_DECL_IPV6_HOPOPTS)
+	XLAT(IPV6_HOPOPTS),
+#endif
+#if defined(IPV6_DSTOPTS) || (defined(HAVE_DECL_IPV6_DSTOPTS) && HAVE_DECL_IPV6_DSTOPTS)
+	XLAT(IPV6_DSTOPTS),
+#endif
+#if defined(IPV6_FLOWINFO) || (defined(HAVE_DECL_IPV6_FLOWINFO) && HAVE_DECL_IPV6_FLOWINFO)
+	XLAT(IPV6_FLOWINFO),
+#endif
+#if defined(IPV6_UNICAST_HOPS) || (defined(HAVE_DECL_IPV6_UNICAST_HOPS) && HAVE_DECL_IPV6_UNICAST_HOPS)
+	XLAT(IPV6_UNICAST_HOPS),
+#endif
+#if defined(IPV6_MULTICAST_HOPS) || (defined(HAVE_DECL_IPV6_MULTICAST_HOPS) && HAVE_DECL_IPV6_MULTICAST_HOPS)
+	XLAT(IPV6_MULTICAST_HOPS),
+#endif
+#if defined(IPV6_MULTICAST_LOOP) || (defined(HAVE_DECL_IPV6_MULTICAST_LOOP) && HAVE_DECL_IPV6_MULTICAST_LOOP)
+	XLAT(IPV6_MULTICAST_LOOP),
+#endif
+#if defined(IPV6_MULTICAST_IF) || (defined(HAVE_DECL_IPV6_MULTICAST_IF) && HAVE_DECL_IPV6_MULTICAST_IF)
+	XLAT(IPV6_MULTICAST_IF),
+#endif
+#if defined(IPV6_MTU_DISCOVER) || (defined(HAVE_DECL_IPV6_MTU_DISCOVER) && HAVE_DECL_IPV6_MTU_DISCOVER)
+	XLAT(IPV6_MTU_DISCOVER),
+#endif
+#if defined(IPV6_RECVERR) || (defined(HAVE_DECL_IPV6_RECVERR) && HAVE_DECL_IPV6_RECVERR)
+	XLAT(IPV6_RECVERR),
+#endif
+#if defined(IPV6_FLOWINFO_SEND) || (defined(HAVE_DECL_IPV6_FLOWINFO_SEND) && HAVE_DECL_IPV6_FLOWINFO_SEND)
+	XLAT(IPV6_FLOWINFO_SEND),
+#endif
+#if defined(IPV6_ADD_MEMBERSHIP) || (defined(HAVE_DECL_IPV6_ADD_MEMBERSHIP) && HAVE_DECL_IPV6_ADD_MEMBERSHIP)
+	XLAT(IPV6_ADD_MEMBERSHIP),
+#endif
+#if defined(IPV6_DROP_MEMBERSHIP) || (defined(HAVE_DECL_IPV6_DROP_MEMBERSHIP) && HAVE_DECL_IPV6_DROP_MEMBERSHIP)
+	XLAT(IPV6_DROP_MEMBERSHIP),
+#endif
+#if defined(IPV6_ROUTER_ALERT) || (defined(HAVE_DECL_IPV6_ROUTER_ALERT) && HAVE_DECL_IPV6_ROUTER_ALERT)
+	XLAT(IPV6_ROUTER_ALERT),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sockipxoptions.h b/xlat/sockipxoptions.h
new file mode 100644
index 0000000..6c47170
--- /dev/null
+++ b/xlat/sockipxoptions.h
@@ -0,0 +1,8 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sockipxoptions.in; do not edit. */
+
+static const struct xlat sockipxoptions[] = {
+#if defined(IPX_TYPE) || (defined(HAVE_DECL_IPX_TYPE) && HAVE_DECL_IPX_TYPE)
+	XLAT(IPX_TYPE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sockoptions.h b/xlat/sockoptions.h
new file mode 100644
index 0000000..2ac9d71
--- /dev/null
+++ b/xlat/sockoptions.h
@@ -0,0 +1,131 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sockoptions.in; do not edit. */
+
+static const struct xlat sockoptions[] = {
+#if defined(SO_ACCEPTCONN) || (defined(HAVE_DECL_SO_ACCEPTCONN) && HAVE_DECL_SO_ACCEPTCONN)
+	XLAT(SO_ACCEPTCONN),
+#endif
+#if defined(SO_ALLRAW) || (defined(HAVE_DECL_SO_ALLRAW) && HAVE_DECL_SO_ALLRAW)
+	XLAT(SO_ALLRAW),
+#endif
+#if defined(SO_ATTACH_FILTER) || (defined(HAVE_DECL_SO_ATTACH_FILTER) && HAVE_DECL_SO_ATTACH_FILTER)
+	XLAT(SO_ATTACH_FILTER),
+#endif
+#if defined(SO_BINDTODEVICE) || (defined(HAVE_DECL_SO_BINDTODEVICE) && HAVE_DECL_SO_BINDTODEVICE)
+	XLAT(SO_BINDTODEVICE),
+#endif
+#if defined(SO_BROADCAST) || (defined(HAVE_DECL_SO_BROADCAST) && HAVE_DECL_SO_BROADCAST)
+	XLAT(SO_BROADCAST),
+#endif
+#if defined(SO_BSDCOMPAT) || (defined(HAVE_DECL_SO_BSDCOMPAT) && HAVE_DECL_SO_BSDCOMPAT)
+	XLAT(SO_BSDCOMPAT),
+#endif
+#if defined(SO_DEBUG) || (defined(HAVE_DECL_SO_DEBUG) && HAVE_DECL_SO_DEBUG)
+	XLAT(SO_DEBUG),
+#endif
+#if defined(SO_DETACH_FILTER) || (defined(HAVE_DECL_SO_DETACH_FILTER) && HAVE_DECL_SO_DETACH_FILTER)
+	XLAT(SO_DETACH_FILTER),
+#endif
+#if defined(SO_DONTROUTE) || (defined(HAVE_DECL_SO_DONTROUTE) && HAVE_DECL_SO_DONTROUTE)
+	XLAT(SO_DONTROUTE),
+#endif
+#if defined(SO_ERROR) || (defined(HAVE_DECL_SO_ERROR) && HAVE_DECL_SO_ERROR)
+	XLAT(SO_ERROR),
+#endif
+#if defined(SO_ICS) || (defined(HAVE_DECL_SO_ICS) && HAVE_DECL_SO_ICS)
+	XLAT(SO_ICS),
+#endif
+#if defined(SO_IMASOCKET) || (defined(HAVE_DECL_SO_IMASOCKET) && HAVE_DECL_SO_IMASOCKET)
+	XLAT(SO_IMASOCKET),
+#endif
+#if defined(SO_KEEPALIVE) || (defined(HAVE_DECL_SO_KEEPALIVE) && HAVE_DECL_SO_KEEPALIVE)
+	XLAT(SO_KEEPALIVE),
+#endif
+#if defined(SO_LINGER) || (defined(HAVE_DECL_SO_LINGER) && HAVE_DECL_SO_LINGER)
+	XLAT(SO_LINGER),
+#endif
+#if defined(SO_LISTENING) || (defined(HAVE_DECL_SO_LISTENING) && HAVE_DECL_SO_LISTENING)
+	XLAT(SO_LISTENING),
+#endif
+#if defined(SO_MGMT) || (defined(HAVE_DECL_SO_MGMT) && HAVE_DECL_SO_MGMT)
+	XLAT(SO_MGMT),
+#endif
+#if defined(SO_NO_CHECK) || (defined(HAVE_DECL_SO_NO_CHECK) && HAVE_DECL_SO_NO_CHECK)
+	XLAT(SO_NO_CHECK),
+#endif
+#if defined(SO_OOBINLINE) || (defined(HAVE_DECL_SO_OOBINLINE) && HAVE_DECL_SO_OOBINLINE)
+	XLAT(SO_OOBINLINE),
+#endif
+#if defined(SO_ORDREL) || (defined(HAVE_DECL_SO_ORDREL) && HAVE_DECL_SO_ORDREL)
+	XLAT(SO_ORDREL),
+#endif
+#if defined(SO_PARALLELSVR) || (defined(HAVE_DECL_SO_PARALLELSVR) && HAVE_DECL_SO_PARALLELSVR)
+	XLAT(SO_PARALLELSVR),
+#endif
+#if defined(SO_PASSCRED) || (defined(HAVE_DECL_SO_PASSCRED) && HAVE_DECL_SO_PASSCRED)
+	XLAT(SO_PASSCRED),
+#endif
+#if defined(SO_PEERCRED) || (defined(HAVE_DECL_SO_PEERCRED) && HAVE_DECL_SO_PEERCRED)
+	XLAT(SO_PEERCRED),
+#endif
+#if defined(SO_PEERNAME) || (defined(HAVE_DECL_SO_PEERNAME) && HAVE_DECL_SO_PEERNAME)
+	XLAT(SO_PEERNAME),
+#endif
+#if defined(SO_PEERSEC) || (defined(HAVE_DECL_SO_PEERSEC) && HAVE_DECL_SO_PEERSEC)
+	XLAT(SO_PEERSEC),
+#endif
+#if defined(SO_PRIORITY) || (defined(HAVE_DECL_SO_PRIORITY) && HAVE_DECL_SO_PRIORITY)
+	XLAT(SO_PRIORITY),
+#endif
+#if defined(SO_PROTOTYPE) || (defined(HAVE_DECL_SO_PROTOTYPE) && HAVE_DECL_SO_PROTOTYPE)
+	XLAT(SO_PROTOTYPE),
+#endif
+#if defined(SO_RCVBUF) || (defined(HAVE_DECL_SO_RCVBUF) && HAVE_DECL_SO_RCVBUF)
+	XLAT(SO_RCVBUF),
+#endif
+#if defined(SO_RCVLOWAT) || (defined(HAVE_DECL_SO_RCVLOWAT) && HAVE_DECL_SO_RCVLOWAT)
+	XLAT(SO_RCVLOWAT),
+#endif
+#if defined(SO_RCVTIMEO) || (defined(HAVE_DECL_SO_RCVTIMEO) && HAVE_DECL_SO_RCVTIMEO)
+	XLAT(SO_RCVTIMEO),
+#endif
+#if defined(SO_RDWR) || (defined(HAVE_DECL_SO_RDWR) && HAVE_DECL_SO_RDWR)
+	XLAT(SO_RDWR),
+#endif
+#if defined(SO_REUSEADDR) || (defined(HAVE_DECL_SO_REUSEADDR) && HAVE_DECL_SO_REUSEADDR)
+	XLAT(SO_REUSEADDR),
+#endif
+#if defined(SO_REUSEPORT) || (defined(HAVE_DECL_SO_REUSEPORT) && HAVE_DECL_SO_REUSEPORT)
+	XLAT(SO_REUSEPORT),
+#endif
+#if defined(SO_SECURITY_AUTHENTICATION) || (defined(HAVE_DECL_SO_SECURITY_AUTHENTICATION) && HAVE_DECL_SO_SECURITY_AUTHENTICATION)
+	XLAT(SO_SECURITY_AUTHENTICATION),
+#endif
+#if defined(SO_SECURITY_ENCRYPTION_NETWORK) || (defined(HAVE_DECL_SO_SECURITY_ENCRYPTION_NETWORK) && HAVE_DECL_SO_SECURITY_ENCRYPTION_NETWORK)
+	XLAT(SO_SECURITY_ENCRYPTION_NETWORK),
+#endif
+#if defined(SO_SECURITY_ENCRYPTION_TRANSPORT) || (defined(HAVE_DECL_SO_SECURITY_ENCRYPTION_TRANSPORT) && HAVE_DECL_SO_SECURITY_ENCRYPTION_TRANSPORT)
+	XLAT(SO_SECURITY_ENCRYPTION_TRANSPORT),
+#endif
+#if defined(SO_SEMA) || (defined(HAVE_DECL_SO_SEMA) && HAVE_DECL_SO_SEMA)
+	XLAT(SO_SEMA),
+#endif
+#if defined(SO_SNDBUF) || (defined(HAVE_DECL_SO_SNDBUF) && HAVE_DECL_SO_SNDBUF)
+	XLAT(SO_SNDBUF),
+#endif
+#if defined(SO_SNDLOWAT) || (defined(HAVE_DECL_SO_SNDLOWAT) && HAVE_DECL_SO_SNDLOWAT)
+	XLAT(SO_SNDLOWAT),
+#endif
+#if defined(SO_SNDTIMEO) || (defined(HAVE_DECL_SO_SNDTIMEO) && HAVE_DECL_SO_SNDTIMEO)
+	XLAT(SO_SNDTIMEO),
+#endif
+#if defined(SO_TIMESTAMP) || (defined(HAVE_DECL_SO_TIMESTAMP) && HAVE_DECL_SO_TIMESTAMP)
+	XLAT(SO_TIMESTAMP),
+#endif
+#if defined(SO_TYPE) || (defined(HAVE_DECL_SO_TYPE) && HAVE_DECL_SO_TYPE)
+	XLAT(SO_TYPE),
+#endif
+#if defined(SO_USELOOPBACK) || (defined(HAVE_DECL_SO_USELOOPBACK) && HAVE_DECL_SO_USELOOPBACK)
+	XLAT(SO_USELOOPBACK),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sockpacketoptions.h b/xlat/sockpacketoptions.h
new file mode 100644
index 0000000..e7025eb
--- /dev/null
+++ b/xlat/sockpacketoptions.h
@@ -0,0 +1,44 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sockpacketoptions.in; do not edit. */
+
+static const struct xlat sockpacketoptions[] = {
+#if defined(PACKET_ADD_MEMBERSHIP) || (defined(HAVE_DECL_PACKET_ADD_MEMBERSHIP) && HAVE_DECL_PACKET_ADD_MEMBERSHIP)
+	XLAT(PACKET_ADD_MEMBERSHIP),
+#endif
+#if defined(PACKET_DROP_MEMBERSHIP) || (defined(HAVE_DECL_PACKET_DROP_MEMBERSHIP) && HAVE_DECL_PACKET_DROP_MEMBERSHIP)
+	XLAT(PACKET_DROP_MEMBERSHIP),
+#endif
+#if defined(PACKET_RECV_OUTPUT) || (defined(HAVE_DECL_PACKET_RECV_OUTPUT) && HAVE_DECL_PACKET_RECV_OUTPUT)
+	XLAT(PACKET_RECV_OUTPUT),
+#endif
+#if defined(PACKET_RX_RING) || (defined(HAVE_DECL_PACKET_RX_RING) && HAVE_DECL_PACKET_RX_RING)
+	XLAT(PACKET_RX_RING),
+#endif
+#if defined(PACKET_STATISTICS) || (defined(HAVE_DECL_PACKET_STATISTICS) && HAVE_DECL_PACKET_STATISTICS)
+	XLAT(PACKET_STATISTICS),
+#endif
+#if defined(PACKET_COPY_THRESH) || (defined(HAVE_DECL_PACKET_COPY_THRESH) && HAVE_DECL_PACKET_COPY_THRESH)
+	XLAT(PACKET_COPY_THRESH),
+#endif
+#if defined(PACKET_AUXDATA) || (defined(HAVE_DECL_PACKET_AUXDATA) && HAVE_DECL_PACKET_AUXDATA)
+	XLAT(PACKET_AUXDATA),
+#endif
+#if defined(PACKET_ORIGDEV) || (defined(HAVE_DECL_PACKET_ORIGDEV) && HAVE_DECL_PACKET_ORIGDEV)
+	XLAT(PACKET_ORIGDEV),
+#endif
+#if defined(PACKET_VERSION) || (defined(HAVE_DECL_PACKET_VERSION) && HAVE_DECL_PACKET_VERSION)
+	XLAT(PACKET_VERSION),
+#endif
+#if defined(PACKET_HDRLEN) || (defined(HAVE_DECL_PACKET_HDRLEN) && HAVE_DECL_PACKET_HDRLEN)
+	XLAT(PACKET_HDRLEN),
+#endif
+#if defined(PACKET_RESERVE) || (defined(HAVE_DECL_PACKET_RESERVE) && HAVE_DECL_PACKET_RESERVE)
+	XLAT(PACKET_RESERVE),
+#endif
+#if defined(PACKET_TX_RING) || (defined(HAVE_DECL_PACKET_TX_RING) && HAVE_DECL_PACKET_TX_RING)
+	XLAT(PACKET_TX_RING),
+#endif
+#if defined(PACKET_LOSS) || (defined(HAVE_DECL_PACKET_LOSS) && HAVE_DECL_PACKET_LOSS)
+	XLAT(PACKET_LOSS),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sockrawoptions.h b/xlat/sockrawoptions.h
new file mode 100644
index 0000000..96ebded
--- /dev/null
+++ b/xlat/sockrawoptions.h
@@ -0,0 +1,8 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sockrawoptions.in; do not edit. */
+
+static const struct xlat sockrawoptions[] = {
+#if defined(ICMP_FILTER) || (defined(HAVE_DECL_ICMP_FILTER) && HAVE_DECL_ICMP_FILTER)
+	XLAT(ICMP_FILTER),
+#endif
+	XLAT_END
+};
diff --git a/xlat/socksctpoptions.h b/xlat/socksctpoptions.h
new file mode 100644
index 0000000..0b54030
--- /dev/null
+++ b/xlat/socksctpoptions.h
@@ -0,0 +1,123 @@
+/* Generated by ./xlat/gen.sh from ./xlat/socksctpoptions.in; do not edit. */
+
+static const struct xlat socksctpoptions[] = {
+#if defined(SCTP_RTOINFO) || (defined(HAVE_DECL_SCTP_RTOINFO) && HAVE_DECL_SCTP_RTOINFO)
+	XLAT(SCTP_RTOINFO),
+#endif
+#if defined(SCTP_ASSOCINFO) || (defined(HAVE_DECL_SCTP_ASSOCINFO) && HAVE_DECL_SCTP_ASSOCINFO)
+	XLAT(SCTP_ASSOCINFO),
+#endif
+#if defined(SCTP_INITMSG) || (defined(HAVE_DECL_SCTP_INITMSG) && HAVE_DECL_SCTP_INITMSG)
+	XLAT(SCTP_INITMSG),
+#endif
+#if defined(SCTP_NODELAY) || (defined(HAVE_DECL_SCTP_NODELAY) && HAVE_DECL_SCTP_NODELAY)
+	XLAT(SCTP_NODELAY),
+#endif
+#if defined(SCTP_AUTOCLOSE) || (defined(HAVE_DECL_SCTP_AUTOCLOSE) && HAVE_DECL_SCTP_AUTOCLOSE)
+	XLAT(SCTP_AUTOCLOSE),
+#endif
+#if defined(SCTP_SET_PEER_PRIMARY_ADDR) || (defined(HAVE_DECL_SCTP_SET_PEER_PRIMARY_ADDR) && HAVE_DECL_SCTP_SET_PEER_PRIMARY_ADDR)
+	XLAT(SCTP_SET_PEER_PRIMARY_ADDR),
+#endif
+#if defined(SCTP_PRIMARY_ADDR) || (defined(HAVE_DECL_SCTP_PRIMARY_ADDR) && HAVE_DECL_SCTP_PRIMARY_ADDR)
+	XLAT(SCTP_PRIMARY_ADDR),
+#endif
+#if defined(SCTP_ADAPTATION_LAYER) || (defined(HAVE_DECL_SCTP_ADAPTATION_LAYER) && HAVE_DECL_SCTP_ADAPTATION_LAYER)
+	XLAT(SCTP_ADAPTATION_LAYER),
+#endif
+#if defined(SCTP_DISABLE_FRAGMENTS) || (defined(HAVE_DECL_SCTP_DISABLE_FRAGMENTS) && HAVE_DECL_SCTP_DISABLE_FRAGMENTS)
+	XLAT(SCTP_DISABLE_FRAGMENTS),
+#endif
+#if defined(SCTP_PEER_ADDR_PARAMS) || (defined(HAVE_DECL_SCTP_PEER_ADDR_PARAMS) && HAVE_DECL_SCTP_PEER_ADDR_PARAMS)
+	XLAT(SCTP_PEER_ADDR_PARAMS),
+#endif
+#if defined(SCTP_DEFAULT_SEND_PARAM) || (defined(HAVE_DECL_SCTP_DEFAULT_SEND_PARAM) && HAVE_DECL_SCTP_DEFAULT_SEND_PARAM)
+	XLAT(SCTP_DEFAULT_SEND_PARAM),
+#endif
+#if defined(SCTP_EVENTS) || (defined(HAVE_DECL_SCTP_EVENTS) && HAVE_DECL_SCTP_EVENTS)
+	XLAT(SCTP_EVENTS),
+#endif
+#if defined(SCTP_I_WANT_MAPPED_V4_ADDR) || (defined(HAVE_DECL_SCTP_I_WANT_MAPPED_V4_ADDR) && HAVE_DECL_SCTP_I_WANT_MAPPED_V4_ADDR)
+	XLAT(SCTP_I_WANT_MAPPED_V4_ADDR),
+#endif
+#if defined(SCTP_MAXSEG) || (defined(HAVE_DECL_SCTP_MAXSEG) && HAVE_DECL_SCTP_MAXSEG)
+	XLAT(SCTP_MAXSEG),
+#endif
+#if defined(SCTP_STATUS) || (defined(HAVE_DECL_SCTP_STATUS) && HAVE_DECL_SCTP_STATUS)
+	XLAT(SCTP_STATUS),
+#endif
+#if defined(SCTP_GET_PEER_ADDR_INFO) || (defined(HAVE_DECL_SCTP_GET_PEER_ADDR_INFO) && HAVE_DECL_SCTP_GET_PEER_ADDR_INFO)
+	XLAT(SCTP_GET_PEER_ADDR_INFO),
+#endif
+#if defined(SCTP_DELAYED_ACK) || (defined(HAVE_DECL_SCTP_DELAYED_ACK) && HAVE_DECL_SCTP_DELAYED_ACK)
+	XLAT(SCTP_DELAYED_ACK),
+#endif
+#if defined(SCTP_CONTEXT) || (defined(HAVE_DECL_SCTP_CONTEXT) && HAVE_DECL_SCTP_CONTEXT)
+	XLAT(SCTP_CONTEXT),
+#endif
+#if defined(SCTP_FRAGMENT_INTERLEAVE) || (defined(HAVE_DECL_SCTP_FRAGMENT_INTERLEAVE) && HAVE_DECL_SCTP_FRAGMENT_INTERLEAVE)
+	XLAT(SCTP_FRAGMENT_INTERLEAVE),
+#endif
+#if defined(SCTP_PARTIAL_DELIVERY_POINT) || (defined(HAVE_DECL_SCTP_PARTIAL_DELIVERY_POINT) && HAVE_DECL_SCTP_PARTIAL_DELIVERY_POINT)
+	XLAT(SCTP_PARTIAL_DELIVERY_POINT),
+#endif
+#if defined(SCTP_MAX_BURST) || (defined(HAVE_DECL_SCTP_MAX_BURST) && HAVE_DECL_SCTP_MAX_BURST)
+	XLAT(SCTP_MAX_BURST),
+#endif
+#if defined(SCTP_AUTH_CHUNK) || (defined(HAVE_DECL_SCTP_AUTH_CHUNK) && HAVE_DECL_SCTP_AUTH_CHUNK)
+	XLAT(SCTP_AUTH_CHUNK),
+#endif
+#if defined(SCTP_HMAC_IDENT) || (defined(HAVE_DECL_SCTP_HMAC_IDENT) && HAVE_DECL_SCTP_HMAC_IDENT)
+	XLAT(SCTP_HMAC_IDENT),
+#endif
+#if defined(SCTP_AUTH_KEY) || (defined(HAVE_DECL_SCTP_AUTH_KEY) && HAVE_DECL_SCTP_AUTH_KEY)
+	XLAT(SCTP_AUTH_KEY),
+#endif
+#if defined(SCTP_AUTH_ACTIVE_KEY) || (defined(HAVE_DECL_SCTP_AUTH_ACTIVE_KEY) && HAVE_DECL_SCTP_AUTH_ACTIVE_KEY)
+	XLAT(SCTP_AUTH_ACTIVE_KEY),
+#endif
+#if defined(SCTP_AUTH_DELETE_KEY) || (defined(HAVE_DECL_SCTP_AUTH_DELETE_KEY) && HAVE_DECL_SCTP_AUTH_DELETE_KEY)
+	XLAT(SCTP_AUTH_DELETE_KEY),
+#endif
+#if defined(SCTP_PEER_AUTH_CHUNKS) || (defined(HAVE_DECL_SCTP_PEER_AUTH_CHUNKS) && HAVE_DECL_SCTP_PEER_AUTH_CHUNKS)
+	XLAT(SCTP_PEER_AUTH_CHUNKS),
+#endif
+#if defined(SCTP_LOCAL_AUTH_CHUNKS) || (defined(HAVE_DECL_SCTP_LOCAL_AUTH_CHUNKS) && HAVE_DECL_SCTP_LOCAL_AUTH_CHUNKS)
+	XLAT(SCTP_LOCAL_AUTH_CHUNKS),
+#endif
+#if defined(SCTP_GET_ASSOC_NUMBER) || (defined(HAVE_DECL_SCTP_GET_ASSOC_NUMBER) && HAVE_DECL_SCTP_GET_ASSOC_NUMBER)
+	XLAT(SCTP_GET_ASSOC_NUMBER),
+#endif
+/* linux specific things */
+#if defined(SCTP_SOCKOPT_BINDX_ADD) || (defined(HAVE_DECL_SCTP_SOCKOPT_BINDX_ADD) && HAVE_DECL_SCTP_SOCKOPT_BINDX_ADD)
+	XLAT(SCTP_SOCKOPT_BINDX_ADD),
+#endif
+#if defined(SCTP_SOCKOPT_BINDX_REM) || (defined(HAVE_DECL_SCTP_SOCKOPT_BINDX_REM) && HAVE_DECL_SCTP_SOCKOPT_BINDX_REM)
+	XLAT(SCTP_SOCKOPT_BINDX_REM),
+#endif
+#if defined(SCTP_SOCKOPT_PEELOFF) || (defined(HAVE_DECL_SCTP_SOCKOPT_PEELOFF) && HAVE_DECL_SCTP_SOCKOPT_PEELOFF)
+	XLAT(SCTP_SOCKOPT_PEELOFF),
+#endif
+#if defined(SCTP_GET_PEER_ADDRS_NUM_OLD) || (defined(HAVE_DECL_SCTP_GET_PEER_ADDRS_NUM_OLD) && HAVE_DECL_SCTP_GET_PEER_ADDRS_NUM_OLD)
+	XLAT(SCTP_GET_PEER_ADDRS_NUM_OLD),
+#endif
+#if defined(SCTP_GET_PEER_ADDRS_OLD) || (defined(HAVE_DECL_SCTP_GET_PEER_ADDRS_OLD) && HAVE_DECL_SCTP_GET_PEER_ADDRS_OLD)
+	XLAT(SCTP_GET_PEER_ADDRS_OLD),
+#endif
+#if defined(SCTP_GET_LOCAL_ADDRS_NUM_OLD) || (defined(HAVE_DECL_SCTP_GET_LOCAL_ADDRS_NUM_OLD) && HAVE_DECL_SCTP_GET_LOCAL_ADDRS_NUM_OLD)
+	XLAT(SCTP_GET_LOCAL_ADDRS_NUM_OLD),
+#endif
+#if defined(SCTP_GET_LOCAL_ADDRS_OLD) || (defined(HAVE_DECL_SCTP_GET_LOCAL_ADDRS_OLD) && HAVE_DECL_SCTP_GET_LOCAL_ADDRS_OLD)
+	XLAT(SCTP_GET_LOCAL_ADDRS_OLD),
+#endif
+#if defined(SCTP_SOCKOPT_CONNECTX_OLD) || (defined(HAVE_DECL_SCTP_SOCKOPT_CONNECTX_OLD) && HAVE_DECL_SCTP_SOCKOPT_CONNECTX_OLD)
+	XLAT(SCTP_SOCKOPT_CONNECTX_OLD),
+#endif
+#if defined(SCTP_GET_PEER_ADDRS) || (defined(HAVE_DECL_SCTP_GET_PEER_ADDRS) && HAVE_DECL_SCTP_GET_PEER_ADDRS)
+	XLAT(SCTP_GET_PEER_ADDRS),
+#endif
+#if defined(SCTP_GET_LOCAL_ADDRS) || (defined(HAVE_DECL_SCTP_GET_LOCAL_ADDRS) && HAVE_DECL_SCTP_GET_LOCAL_ADDRS)
+	XLAT(SCTP_GET_LOCAL_ADDRS),
+#endif
+	XLAT_END
+};
diff --git a/xlat/socktcpoptions.h b/xlat/socktcpoptions.h
new file mode 100644
index 0000000..e6a3a28
--- /dev/null
+++ b/xlat/socktcpoptions.h
@@ -0,0 +1,77 @@
+/* Generated by ./xlat/gen.sh from ./xlat/socktcpoptions.in; do not edit. */
+
+static const struct xlat socktcpoptions[] = {
+#if defined(TCP_NODELAY) || (defined(HAVE_DECL_TCP_NODELAY) && HAVE_DECL_TCP_NODELAY)
+	XLAT(TCP_NODELAY),
+#endif
+#if defined(TCP_MAXSEG) || (defined(HAVE_DECL_TCP_MAXSEG) && HAVE_DECL_TCP_MAXSEG)
+	XLAT(TCP_MAXSEG),
+#endif
+#if defined(TCP_CORK) || (defined(HAVE_DECL_TCP_CORK) && HAVE_DECL_TCP_CORK)
+	XLAT(TCP_CORK),
+#endif
+#if defined(TCP_KEEPIDLE) || (defined(HAVE_DECL_TCP_KEEPIDLE) && HAVE_DECL_TCP_KEEPIDLE)
+	XLAT(TCP_KEEPIDLE),
+#endif
+#if defined(TCP_KEEPINTVL) || (defined(HAVE_DECL_TCP_KEEPINTVL) && HAVE_DECL_TCP_KEEPINTVL)
+	XLAT(TCP_KEEPINTVL),
+#endif
+#if defined(TCP_KEEPCNT) || (defined(HAVE_DECL_TCP_KEEPCNT) && HAVE_DECL_TCP_KEEPCNT)
+	XLAT(TCP_KEEPCNT),
+#endif
+#if defined(TCP_SYNCNT) || (defined(HAVE_DECL_TCP_SYNCNT) && HAVE_DECL_TCP_SYNCNT)
+	XLAT(TCP_SYNCNT),
+#endif
+#if defined(TCP_LINGER2) || (defined(HAVE_DECL_TCP_LINGER2) && HAVE_DECL_TCP_LINGER2)
+	XLAT(TCP_LINGER2),
+#endif
+#if defined(TCP_DEFER_ACCEPT) || (defined(HAVE_DECL_TCP_DEFER_ACCEPT) && HAVE_DECL_TCP_DEFER_ACCEPT)
+	XLAT(TCP_DEFER_ACCEPT),
+#endif
+#if defined(TCP_WINDOW_CLAMP) || (defined(HAVE_DECL_TCP_WINDOW_CLAMP) && HAVE_DECL_TCP_WINDOW_CLAMP)
+	XLAT(TCP_WINDOW_CLAMP),
+#endif
+#if defined(TCP_INFO) || (defined(HAVE_DECL_TCP_INFO) && HAVE_DECL_TCP_INFO)
+	XLAT(TCP_INFO),
+#endif
+#if defined(TCP_QUICKACK) || (defined(HAVE_DECL_TCP_QUICKACK) && HAVE_DECL_TCP_QUICKACK)
+	XLAT(TCP_QUICKACK),
+#endif
+#if defined(TCP_CONGESTION) || (defined(HAVE_DECL_TCP_CONGESTION) && HAVE_DECL_TCP_CONGESTION)
+	XLAT(TCP_CONGESTION),
+#endif
+#if defined(TCP_MD5SIG) || (defined(HAVE_DECL_TCP_MD5SIG) && HAVE_DECL_TCP_MD5SIG)
+	XLAT(TCP_MD5SIG),
+#endif
+#if defined(TCP_COOKIE_TRANSACTIONS) || (defined(HAVE_DECL_TCP_COOKIE_TRANSACTIONS) && HAVE_DECL_TCP_COOKIE_TRANSACTIONS)
+	XLAT(TCP_COOKIE_TRANSACTIONS),
+#endif
+#if defined(TCP_THIN_LINEAR_TIMEOUTS) || (defined(HAVE_DECL_TCP_THIN_LINEAR_TIMEOUTS) && HAVE_DECL_TCP_THIN_LINEAR_TIMEOUTS)
+	XLAT(TCP_THIN_LINEAR_TIMEOUTS),
+#endif
+#if defined(TCP_THIN_DUPACK) || (defined(HAVE_DECL_TCP_THIN_DUPACK) && HAVE_DECL_TCP_THIN_DUPACK)
+	XLAT(TCP_THIN_DUPACK),
+#endif
+#if defined(TCP_USER_TIMEOUT) || (defined(HAVE_DECL_TCP_USER_TIMEOUT) && HAVE_DECL_TCP_USER_TIMEOUT)
+	XLAT(TCP_USER_TIMEOUT),
+#endif
+#if defined(TCP_REPAIR) || (defined(HAVE_DECL_TCP_REPAIR) && HAVE_DECL_TCP_REPAIR)
+	XLAT(TCP_REPAIR),
+#endif
+#if defined(TCP_REPAIR_QUEUE) || (defined(HAVE_DECL_TCP_REPAIR_QUEUE) && HAVE_DECL_TCP_REPAIR_QUEUE)
+	XLAT(TCP_REPAIR_QUEUE),
+#endif
+#if defined(TCP_QUEUE_SEQ) || (defined(HAVE_DECL_TCP_QUEUE_SEQ) && HAVE_DECL_TCP_QUEUE_SEQ)
+	XLAT(TCP_QUEUE_SEQ),
+#endif
+#if defined(TCP_REPAIR_OPTIONS) || (defined(HAVE_DECL_TCP_REPAIR_OPTIONS) && HAVE_DECL_TCP_REPAIR_OPTIONS)
+	XLAT(TCP_REPAIR_OPTIONS),
+#endif
+#if defined(TCP_FASTOPEN) || (defined(HAVE_DECL_TCP_FASTOPEN) && HAVE_DECL_TCP_FASTOPEN)
+	XLAT(TCP_FASTOPEN),
+#endif
+#if defined(TCP_TIMESTAMP) || (defined(HAVE_DECL_TCP_TIMESTAMP) && HAVE_DECL_TCP_TIMESTAMP)
+	XLAT(TCP_TIMESTAMP),
+#endif
+	XLAT_END
+};
diff --git a/xlat/socktypes.h b/xlat/socktypes.h
new file mode 100644
index 0000000..6434759
--- /dev/null
+++ b/xlat/socktypes.h
@@ -0,0 +1,26 @@
+/* Generated by ./xlat/gen.sh from ./xlat/socktypes.in; do not edit. */
+
+static const struct xlat socktypes[] = {
+#if defined(SOCK_STREAM) || (defined(HAVE_DECL_SOCK_STREAM) && HAVE_DECL_SOCK_STREAM)
+	XLAT(SOCK_STREAM),
+#endif
+#if defined(SOCK_DGRAM) || (defined(HAVE_DECL_SOCK_DGRAM) && HAVE_DECL_SOCK_DGRAM)
+	XLAT(SOCK_DGRAM),
+#endif
+#if defined(SOCK_RAW) || (defined(HAVE_DECL_SOCK_RAW) && HAVE_DECL_SOCK_RAW)
+	XLAT(SOCK_RAW),
+#endif
+#if defined(SOCK_RDM) || (defined(HAVE_DECL_SOCK_RDM) && HAVE_DECL_SOCK_RDM)
+	XLAT(SOCK_RDM),
+#endif
+#if defined(SOCK_SEQPACKET) || (defined(HAVE_DECL_SOCK_SEQPACKET) && HAVE_DECL_SOCK_SEQPACKET)
+	XLAT(SOCK_SEQPACKET),
+#endif
+#if defined(SOCK_DCCP) || (defined(HAVE_DECL_SOCK_DCCP) && HAVE_DECL_SOCK_DCCP)
+	XLAT(SOCK_DCCP),
+#endif
+#if defined(SOCK_PACKET) || (defined(HAVE_DECL_SOCK_PACKET) && HAVE_DECL_SOCK_PACKET)
+	XLAT(SOCK_PACKET),
+#endif
+	XLAT_END
+};
diff --git a/xlat/splice_flags.h b/xlat/splice_flags.h
new file mode 100644
index 0000000..7ae6c84
--- /dev/null
+++ b/xlat/splice_flags.h
@@ -0,0 +1,17 @@
+/* Generated by ./xlat/gen.sh from ./xlat/splice_flags.in; do not edit. */
+
+static const struct xlat splice_flags[] = {
+#if defined(SPLICE_F_MOVE) || (defined(HAVE_DECL_SPLICE_F_MOVE) && HAVE_DECL_SPLICE_F_MOVE)
+	XLAT(SPLICE_F_MOVE),
+#endif
+#if defined(SPLICE_F_NONBLOCK) || (defined(HAVE_DECL_SPLICE_F_NONBLOCK) && HAVE_DECL_SPLICE_F_NONBLOCK)
+	XLAT(SPLICE_F_NONBLOCK),
+#endif
+#if defined(SPLICE_F_MORE) || (defined(HAVE_DECL_SPLICE_F_MORE) && HAVE_DECL_SPLICE_F_MORE)
+	XLAT(SPLICE_F_MORE),
+#endif
+#if defined(SPLICE_F_GIFT) || (defined(HAVE_DECL_SPLICE_F_GIFT) && HAVE_DECL_SPLICE_F_GIFT)
+	XLAT(SPLICE_F_GIFT),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sram_alloc_flags.h b/xlat/sram_alloc_flags.h
new file mode 100644
index 0000000..48dd0f1
--- /dev/null
+++ b/xlat/sram_alloc_flags.h
@@ -0,0 +1,20 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sram_alloc_flags.in; do not edit. */
+
+static const struct xlat sram_alloc_flags[] = {
+#if defined(L1_INST_SRAM) || (defined(HAVE_DECL_L1_INST_SRAM) && HAVE_DECL_L1_INST_SRAM)
+	XLAT(L1_INST_SRAM),
+#endif
+#if defined(L1_DATA_A_SRAM) || (defined(HAVE_DECL_L1_DATA_A_SRAM) && HAVE_DECL_L1_DATA_A_SRAM)
+	XLAT(L1_DATA_A_SRAM),
+#endif
+#if defined(L1_DATA_B_SRAM) || (defined(HAVE_DECL_L1_DATA_B_SRAM) && HAVE_DECL_L1_DATA_B_SRAM)
+	XLAT(L1_DATA_B_SRAM),
+#endif
+#if defined(L1_DATA_SRAM) || (defined(HAVE_DECL_L1_DATA_SRAM) && HAVE_DECL_L1_DATA_SRAM)
+	XLAT(L1_DATA_SRAM),
+#endif
+#if defined(L2_SRAM) || (defined(HAVE_DECL_L2_SRAM) && HAVE_DECL_L2_SRAM)
+	XLAT(L2_SRAM),
+#endif
+	XLAT_END
+};
diff --git a/xlat/swap_flags.h b/xlat/swap_flags.h
new file mode 100644
index 0000000..0ffc832
--- /dev/null
+++ b/xlat/swap_flags.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/swap_flags.in; do not edit. */
+
+static const struct xlat swap_flags[] = {
+#if defined(SWAP_FLAG_PREFER) || (defined(HAVE_DECL_SWAP_FLAG_PREFER) && HAVE_DECL_SWAP_FLAG_PREFER)
+	XLAT(SWAP_FLAG_PREFER),
+#endif
+#if defined(SWAP_FLAG_DISCARD) || (defined(HAVE_DECL_SWAP_FLAG_DISCARD) && HAVE_DECL_SWAP_FLAG_DISCARD)
+	XLAT(SWAP_FLAG_DISCARD),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sync_file_range_flags.h b/xlat/sync_file_range_flags.h
new file mode 100644
index 0000000..53ee15c
--- /dev/null
+++ b/xlat/sync_file_range_flags.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sync_file_range_flags.in; do not edit. */
+
+static const struct xlat sync_file_range_flags[] = {
+#if defined(SYNC_FILE_RANGE_WAIT_BEFORE) || (defined(HAVE_DECL_SYNC_FILE_RANGE_WAIT_BEFORE) && HAVE_DECL_SYNC_FILE_RANGE_WAIT_BEFORE)
+	XLAT(SYNC_FILE_RANGE_WAIT_BEFORE),
+#endif
+#if defined(SYNC_FILE_RANGE_WRITE) || (defined(HAVE_DECL_SYNC_FILE_RANGE_WRITE) && HAVE_DECL_SYNC_FILE_RANGE_WRITE)
+	XLAT(SYNC_FILE_RANGE_WRITE),
+#endif
+#if defined(SYNC_FILE_RANGE_WAIT_AFTER) || (defined(HAVE_DECL_SYNC_FILE_RANGE_WAIT_AFTER) && HAVE_DECL_SYNC_FILE_RANGE_WAIT_AFTER)
+	XLAT(SYNC_FILE_RANGE_WAIT_AFTER),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sysctl_kern.h b/xlat/sysctl_kern.h
new file mode 100644
index 0000000..562f3f0
--- /dev/null
+++ b/xlat/sysctl_kern.h
@@ -0,0 +1,203 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sysctl_kern.in; do not edit. */
+
+static const struct xlat sysctl_kern[] = {
+#if defined(KERN_OSTYPE) || (defined(HAVE_DECL_KERN_OSTYPE) && HAVE_DECL_KERN_OSTYPE)
+	XLAT(KERN_OSTYPE),
+#endif
+#if defined(KERN_OSRELEASE) || (defined(HAVE_DECL_KERN_OSRELEASE) && HAVE_DECL_KERN_OSRELEASE)
+	XLAT(KERN_OSRELEASE),
+#endif
+#if defined(KERN_OSREV) || (defined(HAVE_DECL_KERN_OSREV) && HAVE_DECL_KERN_OSREV)
+	XLAT(KERN_OSREV),
+#endif
+#if defined(KERN_VERSION) || (defined(HAVE_DECL_KERN_VERSION) && HAVE_DECL_KERN_VERSION)
+	XLAT(KERN_VERSION),
+#endif
+#if defined(KERN_SECUREMASK) || (defined(HAVE_DECL_KERN_SECUREMASK) && HAVE_DECL_KERN_SECUREMASK)
+	XLAT(KERN_SECUREMASK),
+#endif
+#if defined(KERN_PROF) || (defined(HAVE_DECL_KERN_PROF) && HAVE_DECL_KERN_PROF)
+	XLAT(KERN_PROF),
+#endif
+#if defined(KERN_NODENAME) || (defined(HAVE_DECL_KERN_NODENAME) && HAVE_DECL_KERN_NODENAME)
+	XLAT(KERN_NODENAME),
+#endif
+#if defined(KERN_DOMAINNAME) || (defined(HAVE_DECL_KERN_DOMAINNAME) && HAVE_DECL_KERN_DOMAINNAME)
+	XLAT(KERN_DOMAINNAME),
+#endif
+#if defined(KERN_PANIC) || (defined(HAVE_DECL_KERN_PANIC) && HAVE_DECL_KERN_PANIC)
+	XLAT(KERN_PANIC),
+#endif
+#if defined(KERN_REALROOTDEV) || (defined(HAVE_DECL_KERN_REALROOTDEV) && HAVE_DECL_KERN_REALROOTDEV)
+	XLAT(KERN_REALROOTDEV),
+#endif
+#if defined(KERN_SPARC_REBOOT) || (defined(HAVE_DECL_KERN_SPARC_REBOOT) && HAVE_DECL_KERN_SPARC_REBOOT)
+	XLAT(KERN_SPARC_REBOOT),
+#endif
+#if defined(KERN_CTLALTDEL) || (defined(HAVE_DECL_KERN_CTLALTDEL) && HAVE_DECL_KERN_CTLALTDEL)
+	XLAT(KERN_CTLALTDEL),
+#endif
+#if defined(KERN_PRINTK) || (defined(HAVE_DECL_KERN_PRINTK) && HAVE_DECL_KERN_PRINTK)
+	XLAT(KERN_PRINTK),
+#endif
+#if defined(KERN_NAMETRANS) || (defined(HAVE_DECL_KERN_NAMETRANS) && HAVE_DECL_KERN_NAMETRANS)
+	XLAT(KERN_NAMETRANS),
+#endif
+#if defined(KERN_PPC_HTABRECLAIM) || (defined(HAVE_DECL_KERN_PPC_HTABRECLAIM) && HAVE_DECL_KERN_PPC_HTABRECLAIM)
+	XLAT(KERN_PPC_HTABRECLAIM),
+#endif
+#if defined(KERN_PPC_ZEROPAGED) || (defined(HAVE_DECL_KERN_PPC_ZEROPAGED) && HAVE_DECL_KERN_PPC_ZEROPAGED)
+	XLAT(KERN_PPC_ZEROPAGED),
+#endif
+#if defined(KERN_PPC_POWERSAVE_NAP) || (defined(HAVE_DECL_KERN_PPC_POWERSAVE_NAP) && HAVE_DECL_KERN_PPC_POWERSAVE_NAP)
+	XLAT(KERN_PPC_POWERSAVE_NAP),
+#endif
+#if defined(KERN_MODPROBE) || (defined(HAVE_DECL_KERN_MODPROBE) && HAVE_DECL_KERN_MODPROBE)
+	XLAT(KERN_MODPROBE),
+#endif
+#if defined(KERN_SG_BIG_BUFF) || (defined(HAVE_DECL_KERN_SG_BIG_BUFF) && HAVE_DECL_KERN_SG_BIG_BUFF)
+	XLAT(KERN_SG_BIG_BUFF),
+#endif
+#if defined(KERN_ACCT) || (defined(HAVE_DECL_KERN_ACCT) && HAVE_DECL_KERN_ACCT)
+	XLAT(KERN_ACCT),
+#endif
+#if defined(KERN_PPC_L2CR) || (defined(HAVE_DECL_KERN_PPC_L2CR) && HAVE_DECL_KERN_PPC_L2CR)
+	XLAT(KERN_PPC_L2CR),
+#endif
+#if defined(KERN_RTSIGNR) || (defined(HAVE_DECL_KERN_RTSIGNR) && HAVE_DECL_KERN_RTSIGNR)
+	XLAT(KERN_RTSIGNR),
+#endif
+#if defined(KERN_RTSIGMAX) || (defined(HAVE_DECL_KERN_RTSIGMAX) && HAVE_DECL_KERN_RTSIGMAX)
+	XLAT(KERN_RTSIGMAX),
+#endif
+#if defined(KERN_SHMMAX) || (defined(HAVE_DECL_KERN_SHMMAX) && HAVE_DECL_KERN_SHMMAX)
+	XLAT(KERN_SHMMAX),
+#endif
+#if defined(KERN_MSGMAX) || (defined(HAVE_DECL_KERN_MSGMAX) && HAVE_DECL_KERN_MSGMAX)
+	XLAT(KERN_MSGMAX),
+#endif
+#if defined(KERN_MSGMNB) || (defined(HAVE_DECL_KERN_MSGMNB) && HAVE_DECL_KERN_MSGMNB)
+	XLAT(KERN_MSGMNB),
+#endif
+#if defined(KERN_MSGPOOL) || (defined(HAVE_DECL_KERN_MSGPOOL) && HAVE_DECL_KERN_MSGPOOL)
+	XLAT(KERN_MSGPOOL),
+#endif
+#if defined(KERN_SYSRQ) || (defined(HAVE_DECL_KERN_SYSRQ) && HAVE_DECL_KERN_SYSRQ)
+	XLAT(KERN_SYSRQ),
+#endif
+#if defined(KERN_MAX_THREADS) || (defined(HAVE_DECL_KERN_MAX_THREADS) && HAVE_DECL_KERN_MAX_THREADS)
+	XLAT(KERN_MAX_THREADS),
+#endif
+#if defined(KERN_RANDOM) || (defined(HAVE_DECL_KERN_RANDOM) && HAVE_DECL_KERN_RANDOM)
+	XLAT(KERN_RANDOM),
+#endif
+#if defined(KERN_SHMALL) || (defined(HAVE_DECL_KERN_SHMALL) && HAVE_DECL_KERN_SHMALL)
+	XLAT(KERN_SHMALL),
+#endif
+#if defined(KERN_MSGMNI) || (defined(HAVE_DECL_KERN_MSGMNI) && HAVE_DECL_KERN_MSGMNI)
+	XLAT(KERN_MSGMNI),
+#endif
+#if defined(KERN_SEM) || (defined(HAVE_DECL_KERN_SEM) && HAVE_DECL_KERN_SEM)
+	XLAT(KERN_SEM),
+#endif
+#if defined(KERN_SPARC_STOP_A) || (defined(HAVE_DECL_KERN_SPARC_STOP_A) && HAVE_DECL_KERN_SPARC_STOP_A)
+	XLAT(KERN_SPARC_STOP_A),
+#endif
+#if defined(KERN_SHMMNI) || (defined(HAVE_DECL_KERN_SHMMNI) && HAVE_DECL_KERN_SHMMNI)
+	XLAT(KERN_SHMMNI),
+#endif
+#if defined(KERN_OVERFLOWUID) || (defined(HAVE_DECL_KERN_OVERFLOWUID) && HAVE_DECL_KERN_OVERFLOWUID)
+	XLAT(KERN_OVERFLOWUID),
+#endif
+#if defined(KERN_OVERFLOWGID) || (defined(HAVE_DECL_KERN_OVERFLOWGID) && HAVE_DECL_KERN_OVERFLOWGID)
+	XLAT(KERN_OVERFLOWGID),
+#endif
+#if defined(KERN_SHMPATH) || (defined(HAVE_DECL_KERN_SHMPATH) && HAVE_DECL_KERN_SHMPATH)
+	XLAT(KERN_SHMPATH),
+#endif
+#if defined(KERN_HOTPLUG) || (defined(HAVE_DECL_KERN_HOTPLUG) && HAVE_DECL_KERN_HOTPLUG)
+	XLAT(KERN_HOTPLUG),
+#endif
+#if defined(KERN_IEEE_EMULATION_WARNINGS) || (defined(HAVE_DECL_KERN_IEEE_EMULATION_WARNINGS) && HAVE_DECL_KERN_IEEE_EMULATION_WARNINGS)
+	XLAT(KERN_IEEE_EMULATION_WARNINGS),
+#endif
+#if defined(KERN_S390_USER_DEBUG_LOGGING) || (defined(HAVE_DECL_KERN_S390_USER_DEBUG_LOGGING) && HAVE_DECL_KERN_S390_USER_DEBUG_LOGGING)
+	XLAT(KERN_S390_USER_DEBUG_LOGGING),
+#endif
+#if defined(KERN_CORE_USES_PID) || (defined(HAVE_DECL_KERN_CORE_USES_PID) && HAVE_DECL_KERN_CORE_USES_PID)
+	XLAT(KERN_CORE_USES_PID),
+#endif
+#if defined(KERN_TAINTED) || (defined(HAVE_DECL_KERN_TAINTED) && HAVE_DECL_KERN_TAINTED)
+	XLAT(KERN_TAINTED),
+#endif
+#if defined(KERN_CADPID) || (defined(HAVE_DECL_KERN_CADPID) && HAVE_DECL_KERN_CADPID)
+	XLAT(KERN_CADPID),
+#endif
+#if defined(KERN_PIDMAX) || (defined(HAVE_DECL_KERN_PIDMAX) && HAVE_DECL_KERN_PIDMAX)
+	XLAT(KERN_PIDMAX),
+#endif
+#if defined(KERN_CORE_PATTERN) || (defined(HAVE_DECL_KERN_CORE_PATTERN) && HAVE_DECL_KERN_CORE_PATTERN)
+	XLAT(KERN_CORE_PATTERN),
+#endif
+#if defined(KERN_PANIC_ON_OOPS) || (defined(HAVE_DECL_KERN_PANIC_ON_OOPS) && HAVE_DECL_KERN_PANIC_ON_OOPS)
+	XLAT(KERN_PANIC_ON_OOPS),
+#endif
+#if defined(KERN_HPPA_PWRSW) || (defined(HAVE_DECL_KERN_HPPA_PWRSW) && HAVE_DECL_KERN_HPPA_PWRSW)
+	XLAT(KERN_HPPA_PWRSW),
+#endif
+#if defined(KERN_HPPA_UNALIGNED) || (defined(HAVE_DECL_KERN_HPPA_UNALIGNED) && HAVE_DECL_KERN_HPPA_UNALIGNED)
+	XLAT(KERN_HPPA_UNALIGNED),
+#endif
+#if defined(KERN_PRINTK_RATELIMIT) || (defined(HAVE_DECL_KERN_PRINTK_RATELIMIT) && HAVE_DECL_KERN_PRINTK_RATELIMIT)
+	XLAT(KERN_PRINTK_RATELIMIT),
+#endif
+#if defined(KERN_PRINTK_RATELIMIT_BURST) || (defined(HAVE_DECL_KERN_PRINTK_RATELIMIT_BURST) && HAVE_DECL_KERN_PRINTK_RATELIMIT_BURST)
+	XLAT(KERN_PRINTK_RATELIMIT_BURST),
+#endif
+#if defined(KERN_PTY) || (defined(HAVE_DECL_KERN_PTY) && HAVE_DECL_KERN_PTY)
+	XLAT(KERN_PTY),
+#endif
+#if defined(KERN_NGROUPS_MAX) || (defined(HAVE_DECL_KERN_NGROUPS_MAX) && HAVE_DECL_KERN_NGROUPS_MAX)
+	XLAT(KERN_NGROUPS_MAX),
+#endif
+#if defined(KERN_SPARC_SCONS_PWROFF) || (defined(HAVE_DECL_KERN_SPARC_SCONS_PWROFF) && HAVE_DECL_KERN_SPARC_SCONS_PWROFF)
+	XLAT(KERN_SPARC_SCONS_PWROFF),
+#endif
+#if defined(KERN_HZ_TIMER) || (defined(HAVE_DECL_KERN_HZ_TIMER) && HAVE_DECL_KERN_HZ_TIMER)
+	XLAT(KERN_HZ_TIMER),
+#endif
+#if defined(KERN_UNKNOWN_NMI_PANIC) || (defined(HAVE_DECL_KERN_UNKNOWN_NMI_PANIC) && HAVE_DECL_KERN_UNKNOWN_NMI_PANIC)
+	XLAT(KERN_UNKNOWN_NMI_PANIC),
+#endif
+#if defined(KERN_BOOTLOADER_TYPE) || (defined(HAVE_DECL_KERN_BOOTLOADER_TYPE) && HAVE_DECL_KERN_BOOTLOADER_TYPE)
+	XLAT(KERN_BOOTLOADER_TYPE),
+#endif
+#if defined(KERN_RANDOMIZE) || (defined(HAVE_DECL_KERN_RANDOMIZE) && HAVE_DECL_KERN_RANDOMIZE)
+	XLAT(KERN_RANDOMIZE),
+#endif
+#if defined(KERN_SETUID_DUMPABLE) || (defined(HAVE_DECL_KERN_SETUID_DUMPABLE) && HAVE_DECL_KERN_SETUID_DUMPABLE)
+	XLAT(KERN_SETUID_DUMPABLE),
+#endif
+#if defined(KERN_SPIN_RETRY) || (defined(HAVE_DECL_KERN_SPIN_RETRY) && HAVE_DECL_KERN_SPIN_RETRY)
+	XLAT(KERN_SPIN_RETRY),
+#endif
+#if defined(KERN_ACPI_VIDEO_FLAGS) || (defined(HAVE_DECL_KERN_ACPI_VIDEO_FLAGS) && HAVE_DECL_KERN_ACPI_VIDEO_FLAGS)
+	XLAT(KERN_ACPI_VIDEO_FLAGS),
+#endif
+#if defined(KERN_IA64_UNALIGNED) || (defined(HAVE_DECL_KERN_IA64_UNALIGNED) && HAVE_DECL_KERN_IA64_UNALIGNED)
+	XLAT(KERN_IA64_UNALIGNED),
+#endif
+#if defined(KERN_COMPAT_LOG) || (defined(HAVE_DECL_KERN_COMPAT_LOG) && HAVE_DECL_KERN_COMPAT_LOG)
+	XLAT(KERN_COMPAT_LOG),
+#endif
+#if defined(KERN_MAX_LOCK_DEPTH) || (defined(HAVE_DECL_KERN_MAX_LOCK_DEPTH) && HAVE_DECL_KERN_MAX_LOCK_DEPTH)
+	XLAT(KERN_MAX_LOCK_DEPTH),
+#endif
+#if defined(KERN_NMI_WATCHDOG) || (defined(HAVE_DECL_KERN_NMI_WATCHDOG) && HAVE_DECL_KERN_NMI_WATCHDOG)
+	XLAT(KERN_NMI_WATCHDOG),
+#endif
+#if defined(KERN_PANIC_ON_NMI) || (defined(HAVE_DECL_KERN_PANIC_ON_NMI) && HAVE_DECL_KERN_PANIC_ON_NMI)
+	XLAT(KERN_PANIC_ON_NMI),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sysctl_net.h b/xlat/sysctl_net.h
new file mode 100644
index 0000000..675c4bd
--- /dev/null
+++ b/xlat/sysctl_net.h
@@ -0,0 +1,68 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sysctl_net.in; do not edit. */
+
+static const struct xlat sysctl_net[] = {
+#if defined(NET_CORE) || (defined(HAVE_DECL_NET_CORE) && HAVE_DECL_NET_CORE)
+	XLAT(NET_CORE),
+#endif
+#if defined(NET_ETHER) || (defined(HAVE_DECL_NET_ETHER) && HAVE_DECL_NET_ETHER)
+	XLAT(NET_ETHER),
+#endif
+#if defined(NET_802) || (defined(HAVE_DECL_NET_802) && HAVE_DECL_NET_802)
+	XLAT(NET_802),
+#endif
+#if defined(NET_UNIX) || (defined(HAVE_DECL_NET_UNIX) && HAVE_DECL_NET_UNIX)
+	XLAT(NET_UNIX),
+#endif
+#if defined(NET_IPV4) || (defined(HAVE_DECL_NET_IPV4) && HAVE_DECL_NET_IPV4)
+	XLAT(NET_IPV4),
+#endif
+#if defined(NET_IPX) || (defined(HAVE_DECL_NET_IPX) && HAVE_DECL_NET_IPX)
+	XLAT(NET_IPX),
+#endif
+#if defined(NET_ATALK) || (defined(HAVE_DECL_NET_ATALK) && HAVE_DECL_NET_ATALK)
+	XLAT(NET_ATALK),
+#endif
+#if defined(NET_NETROM) || (defined(HAVE_DECL_NET_NETROM) && HAVE_DECL_NET_NETROM)
+	XLAT(NET_NETROM),
+#endif
+#if defined(NET_AX25) || (defined(HAVE_DECL_NET_AX25) && HAVE_DECL_NET_AX25)
+	XLAT(NET_AX25),
+#endif
+#if defined(NET_BRIDGE) || (defined(HAVE_DECL_NET_BRIDGE) && HAVE_DECL_NET_BRIDGE)
+	XLAT(NET_BRIDGE),
+#endif
+#if defined(NET_ROSE) || (defined(HAVE_DECL_NET_ROSE) && HAVE_DECL_NET_ROSE)
+	XLAT(NET_ROSE),
+#endif
+#if defined(NET_IPV6) || (defined(HAVE_DECL_NET_IPV6) && HAVE_DECL_NET_IPV6)
+	XLAT(NET_IPV6),
+#endif
+#if defined(NET_X25) || (defined(HAVE_DECL_NET_X25) && HAVE_DECL_NET_X25)
+	XLAT(NET_X25),
+#endif
+#if defined(NET_TR) || (defined(HAVE_DECL_NET_TR) && HAVE_DECL_NET_TR)
+	XLAT(NET_TR),
+#endif
+#if defined(NET_DECNET) || (defined(HAVE_DECL_NET_DECNET) && HAVE_DECL_NET_DECNET)
+	XLAT(NET_DECNET),
+#endif
+#if defined(NET_ECONET) || (defined(HAVE_DECL_NET_ECONET) && HAVE_DECL_NET_ECONET)
+	XLAT(NET_ECONET),
+#endif
+#if defined(NET_SCTP) || (defined(HAVE_DECL_NET_SCTP) && HAVE_DECL_NET_SCTP)
+	XLAT(NET_SCTP),
+#endif
+#if defined(NET_LLC) || (defined(HAVE_DECL_NET_LLC) && HAVE_DECL_NET_LLC)
+	XLAT(NET_LLC),
+#endif
+#if defined(NET_NETFILTER) || (defined(HAVE_DECL_NET_NETFILTER) && HAVE_DECL_NET_NETFILTER)
+	XLAT(NET_NETFILTER),
+#endif
+#if defined(NET_DCCP) || (defined(HAVE_DECL_NET_DCCP) && HAVE_DECL_NET_DCCP)
+	XLAT(NET_DCCP),
+#endif
+#if defined(NET_IRDA) || (defined(HAVE_DECL_NET_IRDA) && HAVE_DECL_NET_IRDA)
+	XLAT(NET_IRDA),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sysctl_net_core.h b/xlat/sysctl_net_core.h
new file mode 100644
index 0000000..5a5d627
--- /dev/null
+++ b/xlat/sysctl_net_core.h
@@ -0,0 +1,71 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sysctl_net_core.in; do not edit. */
+
+static const struct xlat sysctl_net_core[] = {
+#if defined(NET_CORE_WMEM_MAX) || (defined(HAVE_DECL_NET_CORE_WMEM_MAX) && HAVE_DECL_NET_CORE_WMEM_MAX)
+	XLAT(NET_CORE_WMEM_MAX),
+#endif
+#if defined(NET_CORE_RMEM_MAX) || (defined(HAVE_DECL_NET_CORE_RMEM_MAX) && HAVE_DECL_NET_CORE_RMEM_MAX)
+	XLAT(NET_CORE_RMEM_MAX),
+#endif
+#if defined(NET_CORE_WMEM_DEFAULT) || (defined(HAVE_DECL_NET_CORE_WMEM_DEFAULT) && HAVE_DECL_NET_CORE_WMEM_DEFAULT)
+	XLAT(NET_CORE_WMEM_DEFAULT),
+#endif
+#if defined(NET_CORE_RMEM_DEFAULT) || (defined(HAVE_DECL_NET_CORE_RMEM_DEFAULT) && HAVE_DECL_NET_CORE_RMEM_DEFAULT)
+	XLAT(NET_CORE_RMEM_DEFAULT),
+#endif
+#if defined(NET_CORE_DESTROY_DELAY) || (defined(HAVE_DECL_NET_CORE_DESTROY_DELAY) && HAVE_DECL_NET_CORE_DESTROY_DELAY)
+	XLAT(NET_CORE_DESTROY_DELAY),
+#endif
+#if defined(NET_CORE_MAX_BACKLOG) || (defined(HAVE_DECL_NET_CORE_MAX_BACKLOG) && HAVE_DECL_NET_CORE_MAX_BACKLOG)
+	XLAT(NET_CORE_MAX_BACKLOG),
+#endif
+#if defined(NET_CORE_FASTROUTE) || (defined(HAVE_DECL_NET_CORE_FASTROUTE) && HAVE_DECL_NET_CORE_FASTROUTE)
+	XLAT(NET_CORE_FASTROUTE),
+#endif
+#if defined(NET_CORE_MSG_COST) || (defined(HAVE_DECL_NET_CORE_MSG_COST) && HAVE_DECL_NET_CORE_MSG_COST)
+	XLAT(NET_CORE_MSG_COST),
+#endif
+#if defined(NET_CORE_MSG_BURST) || (defined(HAVE_DECL_NET_CORE_MSG_BURST) && HAVE_DECL_NET_CORE_MSG_BURST)
+	XLAT(NET_CORE_MSG_BURST),
+#endif
+#if defined(NET_CORE_OPTMEM_MAX) || (defined(HAVE_DECL_NET_CORE_OPTMEM_MAX) && HAVE_DECL_NET_CORE_OPTMEM_MAX)
+	XLAT(NET_CORE_OPTMEM_MAX),
+#endif
+#if defined(NET_CORE_HOT_LIST_LENGTH) || (defined(HAVE_DECL_NET_CORE_HOT_LIST_LENGTH) && HAVE_DECL_NET_CORE_HOT_LIST_LENGTH)
+	XLAT(NET_CORE_HOT_LIST_LENGTH),
+#endif
+#if defined(NET_CORE_DIVERT_VERSION) || (defined(HAVE_DECL_NET_CORE_DIVERT_VERSION) && HAVE_DECL_NET_CORE_DIVERT_VERSION)
+	XLAT(NET_CORE_DIVERT_VERSION),
+#endif
+#if defined(NET_CORE_NO_CONG_THRESH) || (defined(HAVE_DECL_NET_CORE_NO_CONG_THRESH) && HAVE_DECL_NET_CORE_NO_CONG_THRESH)
+	XLAT(NET_CORE_NO_CONG_THRESH),
+#endif
+#if defined(NET_CORE_NO_CONG) || (defined(HAVE_DECL_NET_CORE_NO_CONG) && HAVE_DECL_NET_CORE_NO_CONG)
+	XLAT(NET_CORE_NO_CONG),
+#endif
+#if defined(NET_CORE_LO_CONG) || (defined(HAVE_DECL_NET_CORE_LO_CONG) && HAVE_DECL_NET_CORE_LO_CONG)
+	XLAT(NET_CORE_LO_CONG),
+#endif
+#if defined(NET_CORE_MOD_CONG) || (defined(HAVE_DECL_NET_CORE_MOD_CONG) && HAVE_DECL_NET_CORE_MOD_CONG)
+	XLAT(NET_CORE_MOD_CONG),
+#endif
+#if defined(NET_CORE_DEV_WEIGHT) || (defined(HAVE_DECL_NET_CORE_DEV_WEIGHT) && HAVE_DECL_NET_CORE_DEV_WEIGHT)
+	XLAT(NET_CORE_DEV_WEIGHT),
+#endif
+#if defined(NET_CORE_SOMAXCONN) || (defined(HAVE_DECL_NET_CORE_SOMAXCONN) && HAVE_DECL_NET_CORE_SOMAXCONN)
+	XLAT(NET_CORE_SOMAXCONN),
+#endif
+#if defined(NET_CORE_BUDGET) || (defined(HAVE_DECL_NET_CORE_BUDGET) && HAVE_DECL_NET_CORE_BUDGET)
+	XLAT(NET_CORE_BUDGET),
+#endif
+#if defined(NET_CORE_AEVENT_ETIME) || (defined(HAVE_DECL_NET_CORE_AEVENT_ETIME) && HAVE_DECL_NET_CORE_AEVENT_ETIME)
+	XLAT(NET_CORE_AEVENT_ETIME),
+#endif
+#if defined(NET_CORE_AEVENT_RSEQTH) || (defined(HAVE_DECL_NET_CORE_AEVENT_RSEQTH) && HAVE_DECL_NET_CORE_AEVENT_RSEQTH)
+	XLAT(NET_CORE_AEVENT_RSEQTH),
+#endif
+#if defined(NET_CORE_WARNINGS) || (defined(HAVE_DECL_NET_CORE_WARNINGS) && HAVE_DECL_NET_CORE_WARNINGS)
+	XLAT(NET_CORE_WARNINGS),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sysctl_net_ipv4.h b/xlat/sysctl_net_ipv4.h
new file mode 100644
index 0000000..addd87b
--- /dev/null
+++ b/xlat/sysctl_net_ipv4.h
@@ -0,0 +1,281 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sysctl_net_ipv4.in; do not edit. */
+
+static const struct xlat sysctl_net_ipv4[] = {
+#if defined(NET_IPV4_FORWARD) || (defined(HAVE_DECL_NET_IPV4_FORWARD) && HAVE_DECL_NET_IPV4_FORWARD)
+	XLAT(NET_IPV4_FORWARD),
+#endif
+#if defined(NET_IPV4_DYNADDR) || (defined(HAVE_DECL_NET_IPV4_DYNADDR) && HAVE_DECL_NET_IPV4_DYNADDR)
+	XLAT(NET_IPV4_DYNADDR),
+#endif
+#if defined(NET_IPV4_CONF) || (defined(HAVE_DECL_NET_IPV4_CONF) && HAVE_DECL_NET_IPV4_CONF)
+	XLAT(NET_IPV4_CONF),
+#endif
+#if defined(NET_IPV4_NEIGH) || (defined(HAVE_DECL_NET_IPV4_NEIGH) && HAVE_DECL_NET_IPV4_NEIGH)
+	XLAT(NET_IPV4_NEIGH),
+#endif
+#if defined(NET_IPV4_ROUTE) || (defined(HAVE_DECL_NET_IPV4_ROUTE) && HAVE_DECL_NET_IPV4_ROUTE)
+	XLAT(NET_IPV4_ROUTE),
+#endif
+#if defined(NET_IPV4_FIB_HASH) || (defined(HAVE_DECL_NET_IPV4_FIB_HASH) && HAVE_DECL_NET_IPV4_FIB_HASH)
+	XLAT(NET_IPV4_FIB_HASH),
+#endif
+#if defined(NET_IPV4_NETFILTER) || (defined(HAVE_DECL_NET_IPV4_NETFILTER) && HAVE_DECL_NET_IPV4_NETFILTER)
+	XLAT(NET_IPV4_NETFILTER),
+#endif
+#if defined(NET_IPV4_TCP_TIMESTAMPS) || (defined(HAVE_DECL_NET_IPV4_TCP_TIMESTAMPS) && HAVE_DECL_NET_IPV4_TCP_TIMESTAMPS)
+	XLAT(NET_IPV4_TCP_TIMESTAMPS),
+#endif
+#if defined(NET_IPV4_TCP_WINDOW_SCALING) || (defined(HAVE_DECL_NET_IPV4_TCP_WINDOW_SCALING) && HAVE_DECL_NET_IPV4_TCP_WINDOW_SCALING)
+	XLAT(NET_IPV4_TCP_WINDOW_SCALING),
+#endif
+#if defined(NET_IPV4_TCP_SACK) || (defined(HAVE_DECL_NET_IPV4_TCP_SACK) && HAVE_DECL_NET_IPV4_TCP_SACK)
+	XLAT(NET_IPV4_TCP_SACK),
+#endif
+#if defined(NET_IPV4_TCP_RETRANS_COLLAPSE) || (defined(HAVE_DECL_NET_IPV4_TCP_RETRANS_COLLAPSE) && HAVE_DECL_NET_IPV4_TCP_RETRANS_COLLAPSE)
+	XLAT(NET_IPV4_TCP_RETRANS_COLLAPSE),
+#endif
+#if defined(NET_IPV4_DEFAULT_TTL) || (defined(HAVE_DECL_NET_IPV4_DEFAULT_TTL) && HAVE_DECL_NET_IPV4_DEFAULT_TTL)
+	XLAT(NET_IPV4_DEFAULT_TTL),
+#endif
+#if defined(NET_IPV4_AUTOCONFIG) || (defined(HAVE_DECL_NET_IPV4_AUTOCONFIG) && HAVE_DECL_NET_IPV4_AUTOCONFIG)
+	XLAT(NET_IPV4_AUTOCONFIG),
+#endif
+#if defined(NET_IPV4_NO_PMTU_DISC) || (defined(HAVE_DECL_NET_IPV4_NO_PMTU_DISC) && HAVE_DECL_NET_IPV4_NO_PMTU_DISC)
+	XLAT(NET_IPV4_NO_PMTU_DISC),
+#endif
+#if defined(NET_IPV4_TCP_SYN_RETRIES) || (defined(HAVE_DECL_NET_IPV4_TCP_SYN_RETRIES) && HAVE_DECL_NET_IPV4_TCP_SYN_RETRIES)
+	XLAT(NET_IPV4_TCP_SYN_RETRIES),
+#endif
+#if defined(NET_IPV4_IPFRAG_HIGH_THRESH) || (defined(HAVE_DECL_NET_IPV4_IPFRAG_HIGH_THRESH) && HAVE_DECL_NET_IPV4_IPFRAG_HIGH_THRESH)
+	XLAT(NET_IPV4_IPFRAG_HIGH_THRESH),
+#endif
+#if defined(NET_IPV4_IPFRAG_LOW_THRESH) || (defined(HAVE_DECL_NET_IPV4_IPFRAG_LOW_THRESH) && HAVE_DECL_NET_IPV4_IPFRAG_LOW_THRESH)
+	XLAT(NET_IPV4_IPFRAG_LOW_THRESH),
+#endif
+#if defined(NET_IPV4_IPFRAG_TIME) || (defined(HAVE_DECL_NET_IPV4_IPFRAG_TIME) && HAVE_DECL_NET_IPV4_IPFRAG_TIME)
+	XLAT(NET_IPV4_IPFRAG_TIME),
+#endif
+#if defined(NET_IPV4_TCP_MAX_KA_PROBES) || (defined(HAVE_DECL_NET_IPV4_TCP_MAX_KA_PROBES) && HAVE_DECL_NET_IPV4_TCP_MAX_KA_PROBES)
+	XLAT(NET_IPV4_TCP_MAX_KA_PROBES),
+#endif
+#if defined(NET_IPV4_TCP_KEEPALIVE_TIME) || (defined(HAVE_DECL_NET_IPV4_TCP_KEEPALIVE_TIME) && HAVE_DECL_NET_IPV4_TCP_KEEPALIVE_TIME)
+	XLAT(NET_IPV4_TCP_KEEPALIVE_TIME),
+#endif
+#if defined(NET_IPV4_TCP_KEEPALIVE_PROBES) || (defined(HAVE_DECL_NET_IPV4_TCP_KEEPALIVE_PROBES) && HAVE_DECL_NET_IPV4_TCP_KEEPALIVE_PROBES)
+	XLAT(NET_IPV4_TCP_KEEPALIVE_PROBES),
+#endif
+#if defined(NET_IPV4_TCP_RETRIES1) || (defined(HAVE_DECL_NET_IPV4_TCP_RETRIES1) && HAVE_DECL_NET_IPV4_TCP_RETRIES1)
+	XLAT(NET_IPV4_TCP_RETRIES1),
+#endif
+#if defined(NET_IPV4_TCP_RETRIES2) || (defined(HAVE_DECL_NET_IPV4_TCP_RETRIES2) && HAVE_DECL_NET_IPV4_TCP_RETRIES2)
+	XLAT(NET_IPV4_TCP_RETRIES2),
+#endif
+#if defined(NET_IPV4_TCP_FIN_TIMEOUT) || (defined(HAVE_DECL_NET_IPV4_TCP_FIN_TIMEOUT) && HAVE_DECL_NET_IPV4_TCP_FIN_TIMEOUT)
+	XLAT(NET_IPV4_TCP_FIN_TIMEOUT),
+#endif
+#if defined(NET_IPV4_IP_MASQ_DEBUG) || (defined(HAVE_DECL_NET_IPV4_IP_MASQ_DEBUG) && HAVE_DECL_NET_IPV4_IP_MASQ_DEBUG)
+	XLAT(NET_IPV4_IP_MASQ_DEBUG),
+#endif
+#if defined(NET_TCP_SYNCOOKIES) || (defined(HAVE_DECL_NET_TCP_SYNCOOKIES) && HAVE_DECL_NET_TCP_SYNCOOKIES)
+	XLAT(NET_TCP_SYNCOOKIES),
+#endif
+#if defined(NET_TCP_STDURG) || (defined(HAVE_DECL_NET_TCP_STDURG) && HAVE_DECL_NET_TCP_STDURG)
+	XLAT(NET_TCP_STDURG),
+#endif
+#if defined(NET_TCP_RFC1337) || (defined(HAVE_DECL_NET_TCP_RFC1337) && HAVE_DECL_NET_TCP_RFC1337)
+	XLAT(NET_TCP_RFC1337),
+#endif
+#if defined(NET_TCP_SYN_TAILDROP) || (defined(HAVE_DECL_NET_TCP_SYN_TAILDROP) && HAVE_DECL_NET_TCP_SYN_TAILDROP)
+	XLAT(NET_TCP_SYN_TAILDROP),
+#endif
+#if defined(NET_TCP_MAX_SYN_BACKLOG) || (defined(HAVE_DECL_NET_TCP_MAX_SYN_BACKLOG) && HAVE_DECL_NET_TCP_MAX_SYN_BACKLOG)
+	XLAT(NET_TCP_MAX_SYN_BACKLOG),
+#endif
+#if defined(NET_IPV4_LOCAL_PORT_RANGE) || (defined(HAVE_DECL_NET_IPV4_LOCAL_PORT_RANGE) && HAVE_DECL_NET_IPV4_LOCAL_PORT_RANGE)
+	XLAT(NET_IPV4_LOCAL_PORT_RANGE),
+#endif
+#if defined(NET_IPV4_ICMP_ECHO_IGNORE_ALL) || (defined(HAVE_DECL_NET_IPV4_ICMP_ECHO_IGNORE_ALL) && HAVE_DECL_NET_IPV4_ICMP_ECHO_IGNORE_ALL)
+	XLAT(NET_IPV4_ICMP_ECHO_IGNORE_ALL),
+#endif
+#if defined(NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS) || (defined(HAVE_DECL_NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS) && HAVE_DECL_NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS)
+	XLAT(NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS),
+#endif
+#if defined(NET_IPV4_ICMP_SOURCEQUENCH_RATE) || (defined(HAVE_DECL_NET_IPV4_ICMP_SOURCEQUENCH_RATE) && HAVE_DECL_NET_IPV4_ICMP_SOURCEQUENCH_RATE)
+	XLAT(NET_IPV4_ICMP_SOURCEQUENCH_RATE),
+#endif
+#if defined(NET_IPV4_ICMP_DESTUNREACH_RATE) || (defined(HAVE_DECL_NET_IPV4_ICMP_DESTUNREACH_RATE) && HAVE_DECL_NET_IPV4_ICMP_DESTUNREACH_RATE)
+	XLAT(NET_IPV4_ICMP_DESTUNREACH_RATE),
+#endif
+#if defined(NET_IPV4_ICMP_TIMEEXCEED_RATE) || (defined(HAVE_DECL_NET_IPV4_ICMP_TIMEEXCEED_RATE) && HAVE_DECL_NET_IPV4_ICMP_TIMEEXCEED_RATE)
+	XLAT(NET_IPV4_ICMP_TIMEEXCEED_RATE),
+#endif
+#if defined(NET_IPV4_ICMP_PARAMPROB_RATE) || (defined(HAVE_DECL_NET_IPV4_ICMP_PARAMPROB_RATE) && HAVE_DECL_NET_IPV4_ICMP_PARAMPROB_RATE)
+	XLAT(NET_IPV4_ICMP_PARAMPROB_RATE),
+#endif
+#if defined(NET_IPV4_ICMP_ECHOREPLY_RATE) || (defined(HAVE_DECL_NET_IPV4_ICMP_ECHOREPLY_RATE) && HAVE_DECL_NET_IPV4_ICMP_ECHOREPLY_RATE)
+	XLAT(NET_IPV4_ICMP_ECHOREPLY_RATE),
+#endif
+#if defined(NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES) || (defined(HAVE_DECL_NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES) && HAVE_DECL_NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES)
+	XLAT(NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES),
+#endif
+#if defined(NET_IPV4_IGMP_MAX_MEMBERSHIPS) || (defined(HAVE_DECL_NET_IPV4_IGMP_MAX_MEMBERSHIPS) && HAVE_DECL_NET_IPV4_IGMP_MAX_MEMBERSHIPS)
+	XLAT(NET_IPV4_IGMP_MAX_MEMBERSHIPS),
+#endif
+#if defined(NET_TCP_TW_RECYCLE) || (defined(HAVE_DECL_NET_TCP_TW_RECYCLE) && HAVE_DECL_NET_TCP_TW_RECYCLE)
+	XLAT(NET_TCP_TW_RECYCLE),
+#endif
+#if defined(NET_IPV4_ALWAYS_DEFRAG) || (defined(HAVE_DECL_NET_IPV4_ALWAYS_DEFRAG) && HAVE_DECL_NET_IPV4_ALWAYS_DEFRAG)
+	XLAT(NET_IPV4_ALWAYS_DEFRAG),
+#endif
+#if defined(NET_IPV4_TCP_KEEPALIVE_INTVL) || (defined(HAVE_DECL_NET_IPV4_TCP_KEEPALIVE_INTVL) && HAVE_DECL_NET_IPV4_TCP_KEEPALIVE_INTVL)
+	XLAT(NET_IPV4_TCP_KEEPALIVE_INTVL),
+#endif
+#if defined(NET_IPV4_INET_PEER_THRESHOLD) || (defined(HAVE_DECL_NET_IPV4_INET_PEER_THRESHOLD) && HAVE_DECL_NET_IPV4_INET_PEER_THRESHOLD)
+	XLAT(NET_IPV4_INET_PEER_THRESHOLD),
+#endif
+#if defined(NET_IPV4_INET_PEER_MINTTL) || (defined(HAVE_DECL_NET_IPV4_INET_PEER_MINTTL) && HAVE_DECL_NET_IPV4_INET_PEER_MINTTL)
+	XLAT(NET_IPV4_INET_PEER_MINTTL),
+#endif
+#if defined(NET_IPV4_INET_PEER_MAXTTL) || (defined(HAVE_DECL_NET_IPV4_INET_PEER_MAXTTL) && HAVE_DECL_NET_IPV4_INET_PEER_MAXTTL)
+	XLAT(NET_IPV4_INET_PEER_MAXTTL),
+#endif
+#if defined(NET_IPV4_INET_PEER_GC_MINTIME) || (defined(HAVE_DECL_NET_IPV4_INET_PEER_GC_MINTIME) && HAVE_DECL_NET_IPV4_INET_PEER_GC_MINTIME)
+	XLAT(NET_IPV4_INET_PEER_GC_MINTIME),
+#endif
+#if defined(NET_IPV4_INET_PEER_GC_MAXTIME) || (defined(HAVE_DECL_NET_IPV4_INET_PEER_GC_MAXTIME) && HAVE_DECL_NET_IPV4_INET_PEER_GC_MAXTIME)
+	XLAT(NET_IPV4_INET_PEER_GC_MAXTIME),
+#endif
+#if defined(NET_TCP_ORPHAN_RETRIES) || (defined(HAVE_DECL_NET_TCP_ORPHAN_RETRIES) && HAVE_DECL_NET_TCP_ORPHAN_RETRIES)
+	XLAT(NET_TCP_ORPHAN_RETRIES),
+#endif
+#if defined(NET_TCP_ABORT_ON_OVERFLOW) || (defined(HAVE_DECL_NET_TCP_ABORT_ON_OVERFLOW) && HAVE_DECL_NET_TCP_ABORT_ON_OVERFLOW)
+	XLAT(NET_TCP_ABORT_ON_OVERFLOW),
+#endif
+#if defined(NET_TCP_SYNACK_RETRIES) || (defined(HAVE_DECL_NET_TCP_SYNACK_RETRIES) && HAVE_DECL_NET_TCP_SYNACK_RETRIES)
+	XLAT(NET_TCP_SYNACK_RETRIES),
+#endif
+#if defined(NET_TCP_MAX_ORPHANS) || (defined(HAVE_DECL_NET_TCP_MAX_ORPHANS) && HAVE_DECL_NET_TCP_MAX_ORPHANS)
+	XLAT(NET_TCP_MAX_ORPHANS),
+#endif
+#if defined(NET_TCP_MAX_TW_BUCKETS) || (defined(HAVE_DECL_NET_TCP_MAX_TW_BUCKETS) && HAVE_DECL_NET_TCP_MAX_TW_BUCKETS)
+	XLAT(NET_TCP_MAX_TW_BUCKETS),
+#endif
+#if defined(NET_TCP_FACK) || (defined(HAVE_DECL_NET_TCP_FACK) && HAVE_DECL_NET_TCP_FACK)
+	XLAT(NET_TCP_FACK),
+#endif
+#if defined(NET_TCP_REORDERING) || (defined(HAVE_DECL_NET_TCP_REORDERING) && HAVE_DECL_NET_TCP_REORDERING)
+	XLAT(NET_TCP_REORDERING),
+#endif
+#if defined(NET_TCP_ECN) || (defined(HAVE_DECL_NET_TCP_ECN) && HAVE_DECL_NET_TCP_ECN)
+	XLAT(NET_TCP_ECN),
+#endif
+#if defined(NET_TCP_DSACK) || (defined(HAVE_DECL_NET_TCP_DSACK) && HAVE_DECL_NET_TCP_DSACK)
+	XLAT(NET_TCP_DSACK),
+#endif
+#if defined(NET_TCP_MEM) || (defined(HAVE_DECL_NET_TCP_MEM) && HAVE_DECL_NET_TCP_MEM)
+	XLAT(NET_TCP_MEM),
+#endif
+#if defined(NET_TCP_WMEM) || (defined(HAVE_DECL_NET_TCP_WMEM) && HAVE_DECL_NET_TCP_WMEM)
+	XLAT(NET_TCP_WMEM),
+#endif
+#if defined(NET_TCP_RMEM) || (defined(HAVE_DECL_NET_TCP_RMEM) && HAVE_DECL_NET_TCP_RMEM)
+	XLAT(NET_TCP_RMEM),
+#endif
+#if defined(NET_TCP_APP_WIN) || (defined(HAVE_DECL_NET_TCP_APP_WIN) && HAVE_DECL_NET_TCP_APP_WIN)
+	XLAT(NET_TCP_APP_WIN),
+#endif
+#if defined(NET_TCP_ADV_WIN_SCALE) || (defined(HAVE_DECL_NET_TCP_ADV_WIN_SCALE) && HAVE_DECL_NET_TCP_ADV_WIN_SCALE)
+	XLAT(NET_TCP_ADV_WIN_SCALE),
+#endif
+#if defined(NET_IPV4_NONLOCAL_BIND) || (defined(HAVE_DECL_NET_IPV4_NONLOCAL_BIND) && HAVE_DECL_NET_IPV4_NONLOCAL_BIND)
+	XLAT(NET_IPV4_NONLOCAL_BIND),
+#endif
+#if defined(NET_IPV4_ICMP_RATELIMIT) || (defined(HAVE_DECL_NET_IPV4_ICMP_RATELIMIT) && HAVE_DECL_NET_IPV4_ICMP_RATELIMIT)
+	XLAT(NET_IPV4_ICMP_RATELIMIT),
+#endif
+#if defined(NET_IPV4_ICMP_RATEMASK) || (defined(HAVE_DECL_NET_IPV4_ICMP_RATEMASK) && HAVE_DECL_NET_IPV4_ICMP_RATEMASK)
+	XLAT(NET_IPV4_ICMP_RATEMASK),
+#endif
+#if defined(NET_TCP_TW_REUSE) || (defined(HAVE_DECL_NET_TCP_TW_REUSE) && HAVE_DECL_NET_TCP_TW_REUSE)
+	XLAT(NET_TCP_TW_REUSE),
+#endif
+#if defined(NET_TCP_FRTO) || (defined(HAVE_DECL_NET_TCP_FRTO) && HAVE_DECL_NET_TCP_FRTO)
+	XLAT(NET_TCP_FRTO),
+#endif
+#if defined(NET_TCP_LOW_LATENCY) || (defined(HAVE_DECL_NET_TCP_LOW_LATENCY) && HAVE_DECL_NET_TCP_LOW_LATENCY)
+	XLAT(NET_TCP_LOW_LATENCY),
+#endif
+#if defined(NET_IPV4_IPFRAG_SECRET_INTERVAL) || (defined(HAVE_DECL_NET_IPV4_IPFRAG_SECRET_INTERVAL) && HAVE_DECL_NET_IPV4_IPFRAG_SECRET_INTERVAL)
+	XLAT(NET_IPV4_IPFRAG_SECRET_INTERVAL),
+#endif
+#if defined(NET_IPV4_IGMP_MAX_MSF) || (defined(HAVE_DECL_NET_IPV4_IGMP_MAX_MSF) && HAVE_DECL_NET_IPV4_IGMP_MAX_MSF)
+	XLAT(NET_IPV4_IGMP_MAX_MSF),
+#endif
+#if defined(NET_TCP_NO_METRICS_SAVE) || (defined(HAVE_DECL_NET_TCP_NO_METRICS_SAVE) && HAVE_DECL_NET_TCP_NO_METRICS_SAVE)
+	XLAT(NET_TCP_NO_METRICS_SAVE),
+#endif
+#if defined(NET_TCP_DEFAULT_WIN_SCALE) || (defined(HAVE_DECL_NET_TCP_DEFAULT_WIN_SCALE) && HAVE_DECL_NET_TCP_DEFAULT_WIN_SCALE)
+	XLAT(NET_TCP_DEFAULT_WIN_SCALE),
+#endif
+#if defined(NET_TCP_MODERATE_RCVBUF) || (defined(HAVE_DECL_NET_TCP_MODERATE_RCVBUF) && HAVE_DECL_NET_TCP_MODERATE_RCVBUF)
+	XLAT(NET_TCP_MODERATE_RCVBUF),
+#endif
+#if defined(NET_TCP_TSO_WIN_DIVISOR) || (defined(HAVE_DECL_NET_TCP_TSO_WIN_DIVISOR) && HAVE_DECL_NET_TCP_TSO_WIN_DIVISOR)
+	XLAT(NET_TCP_TSO_WIN_DIVISOR),
+#endif
+#if defined(NET_TCP_BIC_BETA) || (defined(HAVE_DECL_NET_TCP_BIC_BETA) && HAVE_DECL_NET_TCP_BIC_BETA)
+	XLAT(NET_TCP_BIC_BETA),
+#endif
+#if defined(NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR) || (defined(HAVE_DECL_NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR) && HAVE_DECL_NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR)
+	XLAT(NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR),
+#endif
+#if defined(NET_TCP_CONG_CONTROL) || (defined(HAVE_DECL_NET_TCP_CONG_CONTROL) && HAVE_DECL_NET_TCP_CONG_CONTROL)
+	XLAT(NET_TCP_CONG_CONTROL),
+#endif
+#if defined(NET_TCP_ABC) || (defined(HAVE_DECL_NET_TCP_ABC) && HAVE_DECL_NET_TCP_ABC)
+	XLAT(NET_TCP_ABC),
+#endif
+#if defined(NET_IPV4_IPFRAG_MAX_DIST) || (defined(HAVE_DECL_NET_IPV4_IPFRAG_MAX_DIST) && HAVE_DECL_NET_IPV4_IPFRAG_MAX_DIST)
+	XLAT(NET_IPV4_IPFRAG_MAX_DIST),
+#endif
+#if defined(NET_TCP_MTU_PROBING) || (defined(HAVE_DECL_NET_TCP_MTU_PROBING) && HAVE_DECL_NET_TCP_MTU_PROBING)
+	XLAT(NET_TCP_MTU_PROBING),
+#endif
+#if defined(NET_TCP_BASE_MSS) || (defined(HAVE_DECL_NET_TCP_BASE_MSS) && HAVE_DECL_NET_TCP_BASE_MSS)
+	XLAT(NET_TCP_BASE_MSS),
+#endif
+#if defined(NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS) || (defined(HAVE_DECL_NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS) && HAVE_DECL_NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS)
+	XLAT(NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS),
+#endif
+#if defined(NET_TCP_DMA_COPYBREAK) || (defined(HAVE_DECL_NET_TCP_DMA_COPYBREAK) && HAVE_DECL_NET_TCP_DMA_COPYBREAK)
+	XLAT(NET_TCP_DMA_COPYBREAK),
+#endif
+#if defined(NET_TCP_SLOW_START_AFTER_IDLE) || (defined(HAVE_DECL_NET_TCP_SLOW_START_AFTER_IDLE) && HAVE_DECL_NET_TCP_SLOW_START_AFTER_IDLE)
+	XLAT(NET_TCP_SLOW_START_AFTER_IDLE),
+#endif
+#if defined(NET_CIPSOV4_CACHE_ENABLE) || (defined(HAVE_DECL_NET_CIPSOV4_CACHE_ENABLE) && HAVE_DECL_NET_CIPSOV4_CACHE_ENABLE)
+	XLAT(NET_CIPSOV4_CACHE_ENABLE),
+#endif
+#if defined(NET_CIPSOV4_CACHE_BUCKET_SIZE) || (defined(HAVE_DECL_NET_CIPSOV4_CACHE_BUCKET_SIZE) && HAVE_DECL_NET_CIPSOV4_CACHE_BUCKET_SIZE)
+	XLAT(NET_CIPSOV4_CACHE_BUCKET_SIZE),
+#endif
+#if defined(NET_CIPSOV4_RBM_OPTFMT) || (defined(HAVE_DECL_NET_CIPSOV4_RBM_OPTFMT) && HAVE_DECL_NET_CIPSOV4_RBM_OPTFMT)
+	XLAT(NET_CIPSOV4_RBM_OPTFMT),
+#endif
+#if defined(NET_CIPSOV4_RBM_STRICTVALID) || (defined(HAVE_DECL_NET_CIPSOV4_RBM_STRICTVALID) && HAVE_DECL_NET_CIPSOV4_RBM_STRICTVALID)
+	XLAT(NET_CIPSOV4_RBM_STRICTVALID),
+#endif
+#if defined(NET_TCP_AVAIL_CONG_CONTROL) || (defined(HAVE_DECL_NET_TCP_AVAIL_CONG_CONTROL) && HAVE_DECL_NET_TCP_AVAIL_CONG_CONTROL)
+	XLAT(NET_TCP_AVAIL_CONG_CONTROL),
+#endif
+#if defined(NET_TCP_ALLOWED_CONG_CONTROL) || (defined(HAVE_DECL_NET_TCP_ALLOWED_CONG_CONTROL) && HAVE_DECL_NET_TCP_ALLOWED_CONG_CONTROL)
+	XLAT(NET_TCP_ALLOWED_CONG_CONTROL),
+#endif
+#if defined(NET_TCP_MAX_SSTHRESH) || (defined(HAVE_DECL_NET_TCP_MAX_SSTHRESH) && HAVE_DECL_NET_TCP_MAX_SSTHRESH)
+	XLAT(NET_TCP_MAX_SSTHRESH),
+#endif
+#if defined(NET_TCP_FRTO_RESPONSE) || (defined(HAVE_DECL_NET_TCP_FRTO_RESPONSE) && HAVE_DECL_NET_TCP_FRTO_RESPONSE)
+	XLAT(NET_TCP_FRTO_RESPONSE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sysctl_net_ipv4_conf.h b/xlat/sysctl_net_ipv4_conf.h
new file mode 100644
index 0000000..dde6230
--- /dev/null
+++ b/xlat/sysctl_net_ipv4_conf.h
@@ -0,0 +1,71 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sysctl_net_ipv4_conf.in; do not edit. */
+
+static const struct xlat sysctl_net_ipv4_conf[] = {
+#if defined(NET_IPV4_CONF_FORWARDING) || (defined(HAVE_DECL_NET_IPV4_CONF_FORWARDING) && HAVE_DECL_NET_IPV4_CONF_FORWARDING)
+	XLAT(NET_IPV4_CONF_FORWARDING),
+#endif
+#if defined(NET_IPV4_CONF_MC_FORWARDING) || (defined(HAVE_DECL_NET_IPV4_CONF_MC_FORWARDING) && HAVE_DECL_NET_IPV4_CONF_MC_FORWARDING)
+	XLAT(NET_IPV4_CONF_MC_FORWARDING),
+#endif
+#if defined(NET_IPV4_CONF_PROXY_ARP) || (defined(HAVE_DECL_NET_IPV4_CONF_PROXY_ARP) && HAVE_DECL_NET_IPV4_CONF_PROXY_ARP)
+	XLAT(NET_IPV4_CONF_PROXY_ARP),
+#endif
+#if defined(NET_IPV4_CONF_ACCEPT_REDIRECTS) || (defined(HAVE_DECL_NET_IPV4_CONF_ACCEPT_REDIRECTS) && HAVE_DECL_NET_IPV4_CONF_ACCEPT_REDIRECTS)
+	XLAT(NET_IPV4_CONF_ACCEPT_REDIRECTS),
+#endif
+#if defined(NET_IPV4_CONF_SECURE_REDIRECTS) || (defined(HAVE_DECL_NET_IPV4_CONF_SECURE_REDIRECTS) && HAVE_DECL_NET_IPV4_CONF_SECURE_REDIRECTS)
+	XLAT(NET_IPV4_CONF_SECURE_REDIRECTS),
+#endif
+#if defined(NET_IPV4_CONF_SEND_REDIRECTS) || (defined(HAVE_DECL_NET_IPV4_CONF_SEND_REDIRECTS) && HAVE_DECL_NET_IPV4_CONF_SEND_REDIRECTS)
+	XLAT(NET_IPV4_CONF_SEND_REDIRECTS),
+#endif
+#if defined(NET_IPV4_CONF_SHARED_MEDIA) || (defined(HAVE_DECL_NET_IPV4_CONF_SHARED_MEDIA) && HAVE_DECL_NET_IPV4_CONF_SHARED_MEDIA)
+	XLAT(NET_IPV4_CONF_SHARED_MEDIA),
+#endif
+#if defined(NET_IPV4_CONF_RP_FILTER) || (defined(HAVE_DECL_NET_IPV4_CONF_RP_FILTER) && HAVE_DECL_NET_IPV4_CONF_RP_FILTER)
+	XLAT(NET_IPV4_CONF_RP_FILTER),
+#endif
+#if defined(NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE) || (defined(HAVE_DECL_NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE) && HAVE_DECL_NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE)
+	XLAT(NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE),
+#endif
+#if defined(NET_IPV4_CONF_BOOTP_RELAY) || (defined(HAVE_DECL_NET_IPV4_CONF_BOOTP_RELAY) && HAVE_DECL_NET_IPV4_CONF_BOOTP_RELAY)
+	XLAT(NET_IPV4_CONF_BOOTP_RELAY),
+#endif
+#if defined(NET_IPV4_CONF_LOG_MARTIANS) || (defined(HAVE_DECL_NET_IPV4_CONF_LOG_MARTIANS) && HAVE_DECL_NET_IPV4_CONF_LOG_MARTIANS)
+	XLAT(NET_IPV4_CONF_LOG_MARTIANS),
+#endif
+#if defined(NET_IPV4_CONF_TAG) || (defined(HAVE_DECL_NET_IPV4_CONF_TAG) && HAVE_DECL_NET_IPV4_CONF_TAG)
+	XLAT(NET_IPV4_CONF_TAG),
+#endif
+#if defined(NET_IPV4_CONF_ARPFILTER) || (defined(HAVE_DECL_NET_IPV4_CONF_ARPFILTER) && HAVE_DECL_NET_IPV4_CONF_ARPFILTER)
+	XLAT(NET_IPV4_CONF_ARPFILTER),
+#endif
+#if defined(NET_IPV4_CONF_MEDIUM_ID) || (defined(HAVE_DECL_NET_IPV4_CONF_MEDIUM_ID) && HAVE_DECL_NET_IPV4_CONF_MEDIUM_ID)
+	XLAT(NET_IPV4_CONF_MEDIUM_ID),
+#endif
+#if defined(NET_IPV4_CONF_NOXFRM) || (defined(HAVE_DECL_NET_IPV4_CONF_NOXFRM) && HAVE_DECL_NET_IPV4_CONF_NOXFRM)
+	XLAT(NET_IPV4_CONF_NOXFRM),
+#endif
+#if defined(NET_IPV4_CONF_NOPOLICY) || (defined(HAVE_DECL_NET_IPV4_CONF_NOPOLICY) && HAVE_DECL_NET_IPV4_CONF_NOPOLICY)
+	XLAT(NET_IPV4_CONF_NOPOLICY),
+#endif
+#if defined(NET_IPV4_CONF_FORCE_IGMP_VERSION) || (defined(HAVE_DECL_NET_IPV4_CONF_FORCE_IGMP_VERSION) && HAVE_DECL_NET_IPV4_CONF_FORCE_IGMP_VERSION)
+	XLAT(NET_IPV4_CONF_FORCE_IGMP_VERSION),
+#endif
+#if defined(NET_IPV4_CONF_ARP_ANNOUNCE) || (defined(HAVE_DECL_NET_IPV4_CONF_ARP_ANNOUNCE) && HAVE_DECL_NET_IPV4_CONF_ARP_ANNOUNCE)
+	XLAT(NET_IPV4_CONF_ARP_ANNOUNCE),
+#endif
+#if defined(NET_IPV4_CONF_ARP_IGNORE) || (defined(HAVE_DECL_NET_IPV4_CONF_ARP_IGNORE) && HAVE_DECL_NET_IPV4_CONF_ARP_IGNORE)
+	XLAT(NET_IPV4_CONF_ARP_IGNORE),
+#endif
+#if defined(NET_IPV4_CONF_PROMOTE_SECONDARIES) || (defined(HAVE_DECL_NET_IPV4_CONF_PROMOTE_SECONDARIES) && HAVE_DECL_NET_IPV4_CONF_PROMOTE_SECONDARIES)
+	XLAT(NET_IPV4_CONF_PROMOTE_SECONDARIES),
+#endif
+#if defined(NET_IPV4_CONF_ARP_ACCEPT) || (defined(HAVE_DECL_NET_IPV4_CONF_ARP_ACCEPT) && HAVE_DECL_NET_IPV4_CONF_ARP_ACCEPT)
+	XLAT(NET_IPV4_CONF_ARP_ACCEPT),
+#endif
+#if defined(NET_IPV4_CONF_ARP_NOTIFY) || (defined(HAVE_DECL_NET_IPV4_CONF_ARP_NOTIFY) && HAVE_DECL_NET_IPV4_CONF_ARP_NOTIFY)
+	XLAT(NET_IPV4_CONF_ARP_NOTIFY),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sysctl_net_ipv4_route.h b/xlat/sysctl_net_ipv4_route.h
new file mode 100644
index 0000000..63820d6
--- /dev/null
+++ b/xlat/sysctl_net_ipv4_route.h
@@ -0,0 +1,62 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sysctl_net_ipv4_route.in; do not edit. */
+
+static const struct xlat sysctl_net_ipv4_route[] = {
+#if defined(NET_IPV4_ROUTE_FLUSH) || (defined(HAVE_DECL_NET_IPV4_ROUTE_FLUSH) && HAVE_DECL_NET_IPV4_ROUTE_FLUSH)
+	XLAT(NET_IPV4_ROUTE_FLUSH),
+#endif
+#if defined(NET_IPV4_ROUTE_MIN_DELAY) || (defined(HAVE_DECL_NET_IPV4_ROUTE_MIN_DELAY) && HAVE_DECL_NET_IPV4_ROUTE_MIN_DELAY)
+	XLAT(NET_IPV4_ROUTE_MIN_DELAY),
+#endif
+#if defined(NET_IPV4_ROUTE_MAX_DELAY) || (defined(HAVE_DECL_NET_IPV4_ROUTE_MAX_DELAY) && HAVE_DECL_NET_IPV4_ROUTE_MAX_DELAY)
+	XLAT(NET_IPV4_ROUTE_MAX_DELAY),
+#endif
+#if defined(NET_IPV4_ROUTE_GC_THRESH) || (defined(HAVE_DECL_NET_IPV4_ROUTE_GC_THRESH) && HAVE_DECL_NET_IPV4_ROUTE_GC_THRESH)
+	XLAT(NET_IPV4_ROUTE_GC_THRESH),
+#endif
+#if defined(NET_IPV4_ROUTE_MAX_SIZE) || (defined(HAVE_DECL_NET_IPV4_ROUTE_MAX_SIZE) && HAVE_DECL_NET_IPV4_ROUTE_MAX_SIZE)
+	XLAT(NET_IPV4_ROUTE_MAX_SIZE),
+#endif
+#if defined(NET_IPV4_ROUTE_GC_MIN_INTERVAL) || (defined(HAVE_DECL_NET_IPV4_ROUTE_GC_MIN_INTERVAL) && HAVE_DECL_NET_IPV4_ROUTE_GC_MIN_INTERVAL)
+	XLAT(NET_IPV4_ROUTE_GC_MIN_INTERVAL),
+#endif
+#if defined(NET_IPV4_ROUTE_GC_TIMEOUT) || (defined(HAVE_DECL_NET_IPV4_ROUTE_GC_TIMEOUT) && HAVE_DECL_NET_IPV4_ROUTE_GC_TIMEOUT)
+	XLAT(NET_IPV4_ROUTE_GC_TIMEOUT),
+#endif
+#if defined(NET_IPV4_ROUTE_GC_INTERVAL) || (defined(HAVE_DECL_NET_IPV4_ROUTE_GC_INTERVAL) && HAVE_DECL_NET_IPV4_ROUTE_GC_INTERVAL)
+	XLAT(NET_IPV4_ROUTE_GC_INTERVAL),
+#endif
+#if defined(NET_IPV4_ROUTE_REDIRECT_LOAD) || (defined(HAVE_DECL_NET_IPV4_ROUTE_REDIRECT_LOAD) && HAVE_DECL_NET_IPV4_ROUTE_REDIRECT_LOAD)
+	XLAT(NET_IPV4_ROUTE_REDIRECT_LOAD),
+#endif
+#if defined(NET_IPV4_ROUTE_REDIRECT_NUMBER) || (defined(HAVE_DECL_NET_IPV4_ROUTE_REDIRECT_NUMBER) && HAVE_DECL_NET_IPV4_ROUTE_REDIRECT_NUMBER)
+	XLAT(NET_IPV4_ROUTE_REDIRECT_NUMBER),
+#endif
+#if defined(NET_IPV4_ROUTE_REDIRECT_SILENCE) || (defined(HAVE_DECL_NET_IPV4_ROUTE_REDIRECT_SILENCE) && HAVE_DECL_NET_IPV4_ROUTE_REDIRECT_SILENCE)
+	XLAT(NET_IPV4_ROUTE_REDIRECT_SILENCE),
+#endif
+#if defined(NET_IPV4_ROUTE_ERROR_COST) || (defined(HAVE_DECL_NET_IPV4_ROUTE_ERROR_COST) && HAVE_DECL_NET_IPV4_ROUTE_ERROR_COST)
+	XLAT(NET_IPV4_ROUTE_ERROR_COST),
+#endif
+#if defined(NET_IPV4_ROUTE_ERROR_BURST) || (defined(HAVE_DECL_NET_IPV4_ROUTE_ERROR_BURST) && HAVE_DECL_NET_IPV4_ROUTE_ERROR_BURST)
+	XLAT(NET_IPV4_ROUTE_ERROR_BURST),
+#endif
+#if defined(NET_IPV4_ROUTE_GC_ELASTICITY) || (defined(HAVE_DECL_NET_IPV4_ROUTE_GC_ELASTICITY) && HAVE_DECL_NET_IPV4_ROUTE_GC_ELASTICITY)
+	XLAT(NET_IPV4_ROUTE_GC_ELASTICITY),
+#endif
+#if defined(NET_IPV4_ROUTE_MTU_EXPIRES) || (defined(HAVE_DECL_NET_IPV4_ROUTE_MTU_EXPIRES) && HAVE_DECL_NET_IPV4_ROUTE_MTU_EXPIRES)
+	XLAT(NET_IPV4_ROUTE_MTU_EXPIRES),
+#endif
+#if defined(NET_IPV4_ROUTE_MIN_PMTU) || (defined(HAVE_DECL_NET_IPV4_ROUTE_MIN_PMTU) && HAVE_DECL_NET_IPV4_ROUTE_MIN_PMTU)
+	XLAT(NET_IPV4_ROUTE_MIN_PMTU),
+#endif
+#if defined(NET_IPV4_ROUTE_MIN_ADVMSS) || (defined(HAVE_DECL_NET_IPV4_ROUTE_MIN_ADVMSS) && HAVE_DECL_NET_IPV4_ROUTE_MIN_ADVMSS)
+	XLAT(NET_IPV4_ROUTE_MIN_ADVMSS),
+#endif
+#if defined(NET_IPV4_ROUTE_SECRET_INTERVAL) || (defined(HAVE_DECL_NET_IPV4_ROUTE_SECRET_INTERVAL) && HAVE_DECL_NET_IPV4_ROUTE_SECRET_INTERVAL)
+	XLAT(NET_IPV4_ROUTE_SECRET_INTERVAL),
+#endif
+#if defined(NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS) || (defined(HAVE_DECL_NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS) && HAVE_DECL_NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS)
+	XLAT(NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sysctl_net_ipv6.h b/xlat/sysctl_net_ipv6.h
new file mode 100644
index 0000000..514e2dd
--- /dev/null
+++ b/xlat/sysctl_net_ipv6.h
@@ -0,0 +1,35 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sysctl_net_ipv6.in; do not edit. */
+
+static const struct xlat sysctl_net_ipv6[] = {
+#if defined(NET_IPV6_CONF) || (defined(HAVE_DECL_NET_IPV6_CONF) && HAVE_DECL_NET_IPV6_CONF)
+	XLAT(NET_IPV6_CONF),
+#endif
+#if defined(NET_IPV6_NEIGH) || (defined(HAVE_DECL_NET_IPV6_NEIGH) && HAVE_DECL_NET_IPV6_NEIGH)
+	XLAT(NET_IPV6_NEIGH),
+#endif
+#if defined(NET_IPV6_ROUTE) || (defined(HAVE_DECL_NET_IPV6_ROUTE) && HAVE_DECL_NET_IPV6_ROUTE)
+	XLAT(NET_IPV6_ROUTE),
+#endif
+#if defined(NET_IPV6_ICMP) || (defined(HAVE_DECL_NET_IPV6_ICMP) && HAVE_DECL_NET_IPV6_ICMP)
+	XLAT(NET_IPV6_ICMP),
+#endif
+#if defined(NET_IPV6_BINDV6ONLY) || (defined(HAVE_DECL_NET_IPV6_BINDV6ONLY) && HAVE_DECL_NET_IPV6_BINDV6ONLY)
+	XLAT(NET_IPV6_BINDV6ONLY),
+#endif
+#if defined(NET_IPV6_IP6FRAG_HIGH_THRESH) || (defined(HAVE_DECL_NET_IPV6_IP6FRAG_HIGH_THRESH) && HAVE_DECL_NET_IPV6_IP6FRAG_HIGH_THRESH)
+	XLAT(NET_IPV6_IP6FRAG_HIGH_THRESH),
+#endif
+#if defined(NET_IPV6_IP6FRAG_LOW_THRESH) || (defined(HAVE_DECL_NET_IPV6_IP6FRAG_LOW_THRESH) && HAVE_DECL_NET_IPV6_IP6FRAG_LOW_THRESH)
+	XLAT(NET_IPV6_IP6FRAG_LOW_THRESH),
+#endif
+#if defined(NET_IPV6_IP6FRAG_TIME) || (defined(HAVE_DECL_NET_IPV6_IP6FRAG_TIME) && HAVE_DECL_NET_IPV6_IP6FRAG_TIME)
+	XLAT(NET_IPV6_IP6FRAG_TIME),
+#endif
+#if defined(NET_IPV6_IP6FRAG_SECRET_INTERVAL) || (defined(HAVE_DECL_NET_IPV6_IP6FRAG_SECRET_INTERVAL) && HAVE_DECL_NET_IPV6_IP6FRAG_SECRET_INTERVAL)
+	XLAT(NET_IPV6_IP6FRAG_SECRET_INTERVAL),
+#endif
+#if defined(NET_IPV6_MLD_MAX_MSF) || (defined(HAVE_DECL_NET_IPV6_MLD_MAX_MSF) && HAVE_DECL_NET_IPV6_MLD_MAX_MSF)
+	XLAT(NET_IPV6_MLD_MAX_MSF),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sysctl_net_ipv6_route.h b/xlat/sysctl_net_ipv6_route.h
new file mode 100644
index 0000000..1f363a5
--- /dev/null
+++ b/xlat/sysctl_net_ipv6_route.h
@@ -0,0 +1,35 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sysctl_net_ipv6_route.in; do not edit. */
+
+static const struct xlat sysctl_net_ipv6_route[] = {
+#if defined(NET_IPV6_ROUTE_FLUSH) || (defined(HAVE_DECL_NET_IPV6_ROUTE_FLUSH) && HAVE_DECL_NET_IPV6_ROUTE_FLUSH)
+	XLAT(NET_IPV6_ROUTE_FLUSH),
+#endif
+#if defined(NET_IPV6_ROUTE_GC_THRESH) || (defined(HAVE_DECL_NET_IPV6_ROUTE_GC_THRESH) && HAVE_DECL_NET_IPV6_ROUTE_GC_THRESH)
+	XLAT(NET_IPV6_ROUTE_GC_THRESH),
+#endif
+#if defined(NET_IPV6_ROUTE_MAX_SIZE) || (defined(HAVE_DECL_NET_IPV6_ROUTE_MAX_SIZE) && HAVE_DECL_NET_IPV6_ROUTE_MAX_SIZE)
+	XLAT(NET_IPV6_ROUTE_MAX_SIZE),
+#endif
+#if defined(NET_IPV6_ROUTE_GC_MIN_INTERVAL) || (defined(HAVE_DECL_NET_IPV6_ROUTE_GC_MIN_INTERVAL) && HAVE_DECL_NET_IPV6_ROUTE_GC_MIN_INTERVAL)
+	XLAT(NET_IPV6_ROUTE_GC_MIN_INTERVAL),
+#endif
+#if defined(NET_IPV6_ROUTE_GC_TIMEOUT) || (defined(HAVE_DECL_NET_IPV6_ROUTE_GC_TIMEOUT) && HAVE_DECL_NET_IPV6_ROUTE_GC_TIMEOUT)
+	XLAT(NET_IPV6_ROUTE_GC_TIMEOUT),
+#endif
+#if defined(NET_IPV6_ROUTE_GC_INTERVAL) || (defined(HAVE_DECL_NET_IPV6_ROUTE_GC_INTERVAL) && HAVE_DECL_NET_IPV6_ROUTE_GC_INTERVAL)
+	XLAT(NET_IPV6_ROUTE_GC_INTERVAL),
+#endif
+#if defined(NET_IPV6_ROUTE_GC_ELASTICITY) || (defined(HAVE_DECL_NET_IPV6_ROUTE_GC_ELASTICITY) && HAVE_DECL_NET_IPV6_ROUTE_GC_ELASTICITY)
+	XLAT(NET_IPV6_ROUTE_GC_ELASTICITY),
+#endif
+#if defined(NET_IPV6_ROUTE_MTU_EXPIRES) || (defined(HAVE_DECL_NET_IPV6_ROUTE_MTU_EXPIRES) && HAVE_DECL_NET_IPV6_ROUTE_MTU_EXPIRES)
+	XLAT(NET_IPV6_ROUTE_MTU_EXPIRES),
+#endif
+#if defined(NET_IPV6_ROUTE_MIN_ADVMSS) || (defined(HAVE_DECL_NET_IPV6_ROUTE_MIN_ADVMSS) && HAVE_DECL_NET_IPV6_ROUTE_MIN_ADVMSS)
+	XLAT(NET_IPV6_ROUTE_MIN_ADVMSS),
+#endif
+#if defined(NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS) || (defined(HAVE_DECL_NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS) && HAVE_DECL_NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS)
+	XLAT(NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sysctl_net_unix.h b/xlat/sysctl_net_unix.h
new file mode 100644
index 0000000..cd660e7
--- /dev/null
+++ b/xlat/sysctl_net_unix.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sysctl_net_unix.in; do not edit. */
+
+static const struct xlat sysctl_net_unix[] = {
+#if defined(NET_UNIX_DESTROY_DELAY) || (defined(HAVE_DECL_NET_UNIX_DESTROY_DELAY) && HAVE_DECL_NET_UNIX_DESTROY_DELAY)
+	XLAT(NET_UNIX_DESTROY_DELAY),
+#endif
+#if defined(NET_UNIX_DELETE_DELAY) || (defined(HAVE_DECL_NET_UNIX_DELETE_DELAY) && HAVE_DECL_NET_UNIX_DELETE_DELAY)
+	XLAT(NET_UNIX_DELETE_DELAY),
+#endif
+#if defined(NET_UNIX_MAX_DGRAM_QLEN) || (defined(HAVE_DECL_NET_UNIX_MAX_DGRAM_QLEN) && HAVE_DECL_NET_UNIX_MAX_DGRAM_QLEN)
+	XLAT(NET_UNIX_MAX_DGRAM_QLEN),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sysctl_root.h b/xlat/sysctl_root.h
new file mode 100644
index 0000000..71d90c3
--- /dev/null
+++ b/xlat/sysctl_root.h
@@ -0,0 +1,50 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sysctl_root.in; do not edit. */
+
+static const struct xlat sysctl_root[] = {
+#if defined(CTL_KERN) || (defined(HAVE_DECL_CTL_KERN) && HAVE_DECL_CTL_KERN)
+	XLAT(CTL_KERN),
+#endif
+#if defined(CTL_VM) || (defined(HAVE_DECL_CTL_VM) && HAVE_DECL_CTL_VM)
+	XLAT(CTL_VM),
+#endif
+#if defined(CTL_NET) || (defined(HAVE_DECL_CTL_NET) && HAVE_DECL_CTL_NET)
+	XLAT(CTL_NET),
+#endif
+#if defined(CTL_PROC) || (defined(HAVE_DECL_CTL_PROC) && HAVE_DECL_CTL_PROC)
+	XLAT(CTL_PROC),
+#endif
+#if defined(CTL_FS) || (defined(HAVE_DECL_CTL_FS) && HAVE_DECL_CTL_FS)
+	XLAT(CTL_FS),
+#endif
+#if defined(CTL_DEBUG) || (defined(HAVE_DECL_CTL_DEBUG) && HAVE_DECL_CTL_DEBUG)
+	XLAT(CTL_DEBUG),
+#endif
+#if defined(CTL_DEV) || (defined(HAVE_DECL_CTL_DEV) && HAVE_DECL_CTL_DEV)
+	XLAT(CTL_DEV),
+#endif
+#if defined(CTL_BUS) || (defined(HAVE_DECL_CTL_BUS) && HAVE_DECL_CTL_BUS)
+	XLAT(CTL_BUS),
+#endif
+#if defined(CTL_ABI) || (defined(HAVE_DECL_CTL_ABI) && HAVE_DECL_CTL_ABI)
+	XLAT(CTL_ABI),
+#endif
+#if defined(CTL_CPU) || (defined(HAVE_DECL_CTL_CPU) && HAVE_DECL_CTL_CPU)
+	XLAT(CTL_CPU),
+#endif
+#if defined(CTL_ARLAN) || (defined(HAVE_DECL_CTL_ARLAN) && HAVE_DECL_CTL_ARLAN)
+	XLAT(CTL_ARLAN),
+#endif
+#if defined(CTL_S390DBF) || (defined(HAVE_DECL_CTL_S390DBF) && HAVE_DECL_CTL_S390DBF)
+	XLAT(CTL_S390DBF),
+#endif
+#if defined(CTL_SUNRPC) || (defined(HAVE_DECL_CTL_SUNRPC) && HAVE_DECL_CTL_SUNRPC)
+	XLAT(CTL_SUNRPC),
+#endif
+#if defined(CTL_PM) || (defined(HAVE_DECL_CTL_PM) && HAVE_DECL_CTL_PM)
+	XLAT(CTL_PM),
+#endif
+#if defined(CTL_FRV) || (defined(HAVE_DECL_CTL_FRV) && HAVE_DECL_CTL_FRV)
+	XLAT(CTL_FRV),
+#endif
+	XLAT_END
+};
diff --git a/xlat/sysctl_vm.h b/xlat/sysctl_vm.h
new file mode 100644
index 0000000..e2926ae
--- /dev/null
+++ b/xlat/sysctl_vm.h
@@ -0,0 +1,65 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sysctl_vm.in; do not edit. */
+
+static const struct xlat sysctl_vm[] = {
+#if defined(VM_OVERCOMMIT_MEMORY) || (defined(HAVE_DECL_VM_OVERCOMMIT_MEMORY) && HAVE_DECL_VM_OVERCOMMIT_MEMORY)
+	XLAT(VM_OVERCOMMIT_MEMORY),
+#endif
+#if defined(VM_PAGE_CLUSTER) || (defined(HAVE_DECL_VM_PAGE_CLUSTER) && HAVE_DECL_VM_PAGE_CLUSTER)
+	XLAT(VM_PAGE_CLUSTER),
+#endif
+#if defined(VM_DIRTY_BACKGROUND) || (defined(HAVE_DECL_VM_DIRTY_BACKGROUND) && HAVE_DECL_VM_DIRTY_BACKGROUND)
+	XLAT(VM_DIRTY_BACKGROUND),
+#endif
+#if defined(VM_DIRTY_RATIO) || (defined(HAVE_DECL_VM_DIRTY_RATIO) && HAVE_DECL_VM_DIRTY_RATIO)
+	XLAT(VM_DIRTY_RATIO),
+#endif
+#if defined(VM_DIRTY_WB_CS) || (defined(HAVE_DECL_VM_DIRTY_WB_CS) && HAVE_DECL_VM_DIRTY_WB_CS)
+	XLAT(VM_DIRTY_WB_CS),
+#endif
+#if defined(VM_DIRTY_EXPIRE_CS) || (defined(HAVE_DECL_VM_DIRTY_EXPIRE_CS) && HAVE_DECL_VM_DIRTY_EXPIRE_CS)
+	XLAT(VM_DIRTY_EXPIRE_CS),
+#endif
+#if defined(VM_NR_PDFLUSH_THREADS) || (defined(HAVE_DECL_VM_NR_PDFLUSH_THREADS) && HAVE_DECL_VM_NR_PDFLUSH_THREADS)
+	XLAT(VM_NR_PDFLUSH_THREADS),
+#endif
+#if defined(VM_OVERCOMMIT_RATIO) || (defined(HAVE_DECL_VM_OVERCOMMIT_RATIO) && HAVE_DECL_VM_OVERCOMMIT_RATIO)
+	XLAT(VM_OVERCOMMIT_RATIO),
+#endif
+#if defined(VM_PAGEBUF) || (defined(HAVE_DECL_VM_PAGEBUF) && HAVE_DECL_VM_PAGEBUF)
+	XLAT(VM_PAGEBUF),
+#endif
+#if defined(VM_HUGETLB_PAGES) || (defined(HAVE_DECL_VM_HUGETLB_PAGES) && HAVE_DECL_VM_HUGETLB_PAGES)
+	XLAT(VM_HUGETLB_PAGES),
+#endif
+#if defined(VM_SWAPPINESS) || (defined(HAVE_DECL_VM_SWAPPINESS) && HAVE_DECL_VM_SWAPPINESS)
+	XLAT(VM_SWAPPINESS),
+#endif
+#if defined(VM_LOWMEM_RESERVE_RATIO) || (defined(HAVE_DECL_VM_LOWMEM_RESERVE_RATIO) && HAVE_DECL_VM_LOWMEM_RESERVE_RATIO)
+	XLAT(VM_LOWMEM_RESERVE_RATIO),
+#endif
+#if defined(VM_MIN_FREE_KBYTES) || (defined(HAVE_DECL_VM_MIN_FREE_KBYTES) && HAVE_DECL_VM_MIN_FREE_KBYTES)
+	XLAT(VM_MIN_FREE_KBYTES),
+#endif
+#if defined(VM_MAX_MAP_COUNT) || (defined(HAVE_DECL_VM_MAX_MAP_COUNT) && HAVE_DECL_VM_MAX_MAP_COUNT)
+	XLAT(VM_MAX_MAP_COUNT),
+#endif
+#if defined(VM_LAPTOP_MODE) || (defined(HAVE_DECL_VM_LAPTOP_MODE) && HAVE_DECL_VM_LAPTOP_MODE)
+	XLAT(VM_LAPTOP_MODE),
+#endif
+#if defined(VM_BLOCK_DUMP) || (defined(HAVE_DECL_VM_BLOCK_DUMP) && HAVE_DECL_VM_BLOCK_DUMP)
+	XLAT(VM_BLOCK_DUMP),
+#endif
+#if defined(VM_HUGETLB_GROUP) || (defined(HAVE_DECL_VM_HUGETLB_GROUP) && HAVE_DECL_VM_HUGETLB_GROUP)
+	XLAT(VM_HUGETLB_GROUP),
+#endif
+#if defined(VM_VFS_CACHE_PRESSURE) || (defined(HAVE_DECL_VM_VFS_CACHE_PRESSURE) && HAVE_DECL_VM_VFS_CACHE_PRESSURE)
+	XLAT(VM_VFS_CACHE_PRESSURE),
+#endif
+#if defined(VM_LEGACY_VA_LAYOUT) || (defined(HAVE_DECL_VM_LEGACY_VA_LAYOUT) && HAVE_DECL_VM_LEGACY_VA_LAYOUT)
+	XLAT(VM_LEGACY_VA_LAYOUT),
+#endif
+#if defined(VM_SWAP_TOKEN_TIMEOUT) || (defined(HAVE_DECL_VM_SWAP_TOKEN_TIMEOUT) && HAVE_DECL_VM_SWAP_TOKEN_TIMEOUT)
+	XLAT(VM_SWAP_TOKEN_TIMEOUT),
+#endif
+	XLAT_END
+};
diff --git a/xlat/syslog_action_type.h b/xlat/syslog_action_type.h
new file mode 100644
index 0000000..1083d35
--- /dev/null
+++ b/xlat/syslog_action_type.h
@@ -0,0 +1,16 @@
+/* Generated by ./xlat/gen.sh from ./xlat/syslog_action_type.in; do not edit. */
+
+static const struct xlat syslog_action_type[] = {
+	XLAT(SYSLOG_ACTION_CLOSE),
+	XLAT(SYSLOG_ACTION_OPEN),
+	XLAT(SYSLOG_ACTION_READ),
+	XLAT(SYSLOG_ACTION_READ_ALL),
+	XLAT(SYSLOG_ACTION_READ_CLEAR),
+	XLAT(SYSLOG_ACTION_CLEAR),
+	XLAT(SYSLOG_ACTION_CONSOLE_OFF),
+	XLAT(SYSLOG_ACTION_CONSOLE_ON),
+	XLAT(SYSLOG_ACTION_CONSOLE_LEVEL),
+	XLAT(SYSLOG_ACTION_SIZE_UNREAD),
+	XLAT(SYSLOG_ACTION_SIZE_BUFFER),
+	XLAT_END
+};
diff --git a/xlat/sysmips_operations.h b/xlat/sysmips_operations.h
new file mode 100644
index 0000000..6138107
--- /dev/null
+++ b/xlat/sysmips_operations.h
@@ -0,0 +1,20 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sysmips_operations.in; do not edit. */
+
+static const struct xlat sysmips_operations[] = {
+#if defined(SETNAME) || (defined(HAVE_DECL_SETNAME) && HAVE_DECL_SETNAME)
+	XLAT(SETNAME),
+#endif
+#if defined(FLUSH_CACHE) || (defined(HAVE_DECL_FLUSH_CACHE) && HAVE_DECL_FLUSH_CACHE)
+	XLAT(FLUSH_CACHE),
+#endif
+#if defined(MIPS_FIXADE) || (defined(HAVE_DECL_MIPS_FIXADE) && HAVE_DECL_MIPS_FIXADE)
+	XLAT(MIPS_FIXADE),
+#endif
+#if defined(MIPS_RDNVRAM) || (defined(HAVE_DECL_MIPS_RDNVRAM) && HAVE_DECL_MIPS_RDNVRAM)
+	XLAT(MIPS_RDNVRAM),
+#endif
+#if defined(MIPS_ATOMIC_SET) || (defined(HAVE_DECL_MIPS_ATOMIC_SET) && HAVE_DECL_MIPS_ATOMIC_SET)
+	XLAT(MIPS_ATOMIC_SET),
+#endif
+	XLAT_END
+};
diff --git a/xlat/tcflsh_options.h b/xlat/tcflsh_options.h
new file mode 100644
index 0000000..83f77bf
--- /dev/null
+++ b/xlat/tcflsh_options.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/tcflsh_options.in; do not edit. */
+
+static const struct xlat tcflsh_options[] = {
+#if defined(TCIFLUSH) || (defined(HAVE_DECL_TCIFLUSH) && HAVE_DECL_TCIFLUSH)
+	XLAT(TCIFLUSH),
+#endif
+#if defined(TCOFLUSH) || (defined(HAVE_DECL_TCOFLUSH) && HAVE_DECL_TCOFLUSH)
+	XLAT(TCOFLUSH),
+#endif
+#if defined(TCIOFLUSH) || (defined(HAVE_DECL_TCIOFLUSH) && HAVE_DECL_TCIOFLUSH)
+	XLAT(TCIOFLUSH),
+#endif
+	XLAT_END
+};
diff --git a/xlat/tcxonc_options.h b/xlat/tcxonc_options.h
new file mode 100644
index 0000000..a84f0ef
--- /dev/null
+++ b/xlat/tcxonc_options.h
@@ -0,0 +1,17 @@
+/* Generated by ./xlat/gen.sh from ./xlat/tcxonc_options.in; do not edit. */
+
+static const struct xlat tcxonc_options[] = {
+#if defined(TCOOFF) || (defined(HAVE_DECL_TCOOFF) && HAVE_DECL_TCOOFF)
+	XLAT(TCOOFF),
+#endif
+#if defined(TCOON) || (defined(HAVE_DECL_TCOON) && HAVE_DECL_TCOON)
+	XLAT(TCOON),
+#endif
+#if defined(TCIOFF) || (defined(HAVE_DECL_TCIOFF) && HAVE_DECL_TCIOFF)
+	XLAT(TCIOFF),
+#endif
+#if defined(TCION) || (defined(HAVE_DECL_TCION) && HAVE_DECL_TCION)
+	XLAT(TCION),
+#endif
+	XLAT_END
+};
diff --git a/xlat/timerfdflags.h b/xlat/timerfdflags.h
new file mode 100644
index 0000000..4fadfc4
--- /dev/null
+++ b/xlat/timerfdflags.h
@@ -0,0 +1,8 @@
+/* Generated by ./xlat/gen.sh from ./xlat/timerfdflags.in; do not edit. */
+
+static const struct xlat timerfdflags[] = {
+#if defined(TFD_TIMER_ABSTIME) || (defined(HAVE_DECL_TFD_TIMER_ABSTIME) && HAVE_DECL_TFD_TIMER_ABSTIME)
+	XLAT(TFD_TIMER_ABSTIME),
+#endif
+	XLAT_END
+};
diff --git a/xlat/ubi_volume_props.h b/xlat/ubi_volume_props.h
new file mode 100644
index 0000000..7aa90c6
--- /dev/null
+++ b/xlat/ubi_volume_props.h
@@ -0,0 +1,6 @@
+/* Generated by ./xlat/gen.sh from ./xlat/ubi_volume_props.in; do not edit. */
+
+static const struct xlat ubi_volume_props[] = {
+	XLAT(UBI_VOL_PROP_DIRECT_WRITE),
+	XLAT_END
+};
diff --git a/xlat/ubi_volume_types.h b/xlat/ubi_volume_types.h
new file mode 100644
index 0000000..36a2f07
--- /dev/null
+++ b/xlat/ubi_volume_types.h
@@ -0,0 +1,7 @@
+/* Generated by ./xlat/gen.sh from ./xlat/ubi_volume_types.in; do not edit. */
+
+static const struct xlat ubi_volume_types[] = {
+	XLAT(UBI_DYNAMIC_VOLUME),
+	XLAT(UBI_STATIC_VOLUME),
+	XLAT_END
+};
diff --git a/xlat/umount_flags.h b/xlat/umount_flags.h
new file mode 100644
index 0000000..304c1a6
--- /dev/null
+++ b/xlat/umount_flags.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/umount_flags.in; do not edit. */
+
+static const struct xlat umount_flags[] = {
+#if defined(MNT_FORCE) || (defined(HAVE_DECL_MNT_FORCE) && HAVE_DECL_MNT_FORCE)
+	XLAT(MNT_FORCE),
+#endif
+#if defined(MNT_DETACH) || (defined(HAVE_DECL_MNT_DETACH) && HAVE_DECL_MNT_DETACH)
+	XLAT(MNT_DETACH),
+#endif
+#if defined(MNT_EXPIRE) || (defined(HAVE_DECL_MNT_EXPIRE) && HAVE_DECL_MNT_EXPIRE)
+	XLAT(MNT_EXPIRE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/usagewho.h b/xlat/usagewho.h
new file mode 100644
index 0000000..860e0a0
--- /dev/null
+++ b/xlat/usagewho.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/usagewho.in; do not edit. */
+
+static const struct xlat usagewho[] = {
+#if defined(RUSAGE_SELF) || (defined(HAVE_DECL_RUSAGE_SELF) && HAVE_DECL_RUSAGE_SELF)
+	XLAT(RUSAGE_SELF),
+#endif
+#if defined(RUSAGE_CHILDREN) || (defined(HAVE_DECL_RUSAGE_CHILDREN) && HAVE_DECL_RUSAGE_CHILDREN)
+	XLAT(RUSAGE_CHILDREN),
+#endif
+#if defined(RUSAGE_BOTH) || (defined(HAVE_DECL_RUSAGE_BOTH) && HAVE_DECL_RUSAGE_BOTH)
+	XLAT(RUSAGE_BOTH),
+#endif
+	XLAT_END
+};
diff --git a/xlat/wait4_options.h b/xlat/wait4_options.h
new file mode 100644
index 0000000..86df119
--- /dev/null
+++ b/xlat/wait4_options.h
@@ -0,0 +1,37 @@
+/* Generated by ./xlat/gen.sh from ./xlat/wait4_options.in; do not edit. */
+
+static const struct xlat wait4_options[] = {
+#if defined(WNOHANG) || (defined(HAVE_DECL_WNOHANG) && HAVE_DECL_WNOHANG)
+	XLAT(WNOHANG),
+#endif
+#ifndef WSTOPPED
+#if defined(WUNTRACED) || (defined(HAVE_DECL_WUNTRACED) && HAVE_DECL_WUNTRACED)
+	XLAT(WUNTRACED),
+#endif
+#endif
+#if defined(WEXITED) || (defined(HAVE_DECL_WEXITED) && HAVE_DECL_WEXITED)
+	XLAT(WEXITED),
+#endif
+#if defined(WTRAPPED) || (defined(HAVE_DECL_WTRAPPED) && HAVE_DECL_WTRAPPED)
+	XLAT(WTRAPPED),
+#endif
+#if defined(WSTOPPED) || (defined(HAVE_DECL_WSTOPPED) && HAVE_DECL_WSTOPPED)
+	XLAT(WSTOPPED),
+#endif
+#if defined(WCONTINUED) || (defined(HAVE_DECL_WCONTINUED) && HAVE_DECL_WCONTINUED)
+	XLAT(WCONTINUED),
+#endif
+#if defined(WNOWAIT) || (defined(HAVE_DECL_WNOWAIT) && HAVE_DECL_WNOWAIT)
+	XLAT(WNOWAIT),
+#endif
+#if defined(__WCLONE) || (defined(HAVE_DECL___WCLONE) && HAVE_DECL___WCLONE)
+	XLAT(__WCLONE),
+#endif
+#if defined(__WALL) || (defined(HAVE_DECL___WALL) && HAVE_DECL___WALL)
+	XLAT(__WALL),
+#endif
+#if defined(__WNOTHREAD) || (defined(HAVE_DECL___WNOTHREAD) && HAVE_DECL___WNOTHREAD)
+	XLAT(__WNOTHREAD),
+#endif
+	XLAT_END
+};
diff --git a/xlat/waitid_types.h b/xlat/waitid_types.h
new file mode 100644
index 0000000..333ecc2
--- /dev/null
+++ b/xlat/waitid_types.h
@@ -0,0 +1,32 @@
+/* Generated by ./xlat/gen.sh from ./xlat/waitid_types.in; do not edit. */
+
+static const struct xlat waitid_types[] = {
+#if defined(P_PID) || (defined(HAVE_DECL_P_PID) && HAVE_DECL_P_PID)
+	XLAT(P_PID),
+#endif
+#if defined(P_PPID) || (defined(HAVE_DECL_P_PPID) && HAVE_DECL_P_PPID)
+	XLAT(P_PPID),
+#endif
+#if defined(P_PGID) || (defined(HAVE_DECL_P_PGID) && HAVE_DECL_P_PGID)
+	XLAT(P_PGID),
+#endif
+#if defined(P_SID) || (defined(HAVE_DECL_P_SID) && HAVE_DECL_P_SID)
+	XLAT(P_SID),
+#endif
+#if defined(P_CID) || (defined(HAVE_DECL_P_CID) && HAVE_DECL_P_CID)
+	XLAT(P_CID),
+#endif
+#if defined(P_UID) || (defined(HAVE_DECL_P_UID) && HAVE_DECL_P_UID)
+	XLAT(P_UID),
+#endif
+#if defined(P_GID) || (defined(HAVE_DECL_P_GID) && HAVE_DECL_P_GID)
+	XLAT(P_GID),
+#endif
+#if defined(P_ALL) || (defined(HAVE_DECL_P_ALL) && HAVE_DECL_P_ALL)
+	XLAT(P_ALL),
+#endif
+#if defined(P_LWPID) || (defined(HAVE_DECL_P_LWPID) && HAVE_DECL_P_LWPID)
+	XLAT(P_LWPID),
+#endif
+	XLAT_END
+};
diff --git a/xlat/whence_codes.h b/xlat/whence_codes.h
new file mode 100644
index 0000000..2576b78
--- /dev/null
+++ b/xlat/whence_codes.h
@@ -0,0 +1,20 @@
+/* Generated by ./xlat/gen.sh from ./xlat/whence_codes.in; do not edit. */
+
+const struct xlat whence_codes[] = {
+#if defined(SEEK_SET) || (defined(HAVE_DECL_SEEK_SET) && HAVE_DECL_SEEK_SET)
+	XLAT(SEEK_SET),
+#endif
+#if defined(SEEK_CUR) || (defined(HAVE_DECL_SEEK_CUR) && HAVE_DECL_SEEK_CUR)
+	XLAT(SEEK_CUR),
+#endif
+#if defined(SEEK_END) || (defined(HAVE_DECL_SEEK_END) && HAVE_DECL_SEEK_END)
+	XLAT(SEEK_END),
+#endif
+#if defined(SEEK_DATA) || (defined(HAVE_DECL_SEEK_DATA) && HAVE_DECL_SEEK_DATA)
+	XLAT(SEEK_DATA),
+#endif
+#if defined(SEEK_HOLE) || (defined(HAVE_DECL_SEEK_HOLE) && HAVE_DECL_SEEK_HOLE)
+	XLAT(SEEK_HOLE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/xattrflags.h b/xlat/xattrflags.h
new file mode 100644
index 0000000..33622c4
--- /dev/null
+++ b/xlat/xattrflags.h
@@ -0,0 +1,11 @@
+/* Generated by ./xlat/gen.sh from ./xlat/xattrflags.in; do not edit. */
+
+static const struct xlat xattrflags[] = {
+#if defined(XATTR_CREATE) || (defined(HAVE_DECL_XATTR_CREATE) && HAVE_DECL_XATTR_CREATE)
+	XLAT(XATTR_CREATE),
+#endif
+#if defined(XATTR_REPLACE) || (defined(HAVE_DECL_XATTR_REPLACE) && HAVE_DECL_XATTR_REPLACE)
+	XLAT(XATTR_REPLACE),
+#endif
+	XLAT_END
+};
diff --git a/xlat/xfs_dqblk_flags.h b/xlat/xfs_dqblk_flags.h
new file mode 100644
index 0000000..049bb34
--- /dev/null
+++ b/xlat/xfs_dqblk_flags.h
@@ -0,0 +1,14 @@
+/* Generated by ./xlat/gen.sh from ./xlat/xfs_dqblk_flags.in; do not edit. */
+
+static const struct xlat xfs_dqblk_flags[] = {
+#if defined(XFS_USER_QUOTA) || (defined(HAVE_DECL_XFS_USER_QUOTA) && HAVE_DECL_XFS_USER_QUOTA)
+	XLAT(XFS_USER_QUOTA),
+#endif
+#if defined(XFS_PROJ_QUOTA) || (defined(HAVE_DECL_XFS_PROJ_QUOTA) && HAVE_DECL_XFS_PROJ_QUOTA)
+	XLAT(XFS_PROJ_QUOTA),
+#endif
+#if defined(XFS_GROUP_QUOTA) || (defined(HAVE_DECL_XFS_GROUP_QUOTA) && HAVE_DECL_XFS_GROUP_QUOTA)
+	XLAT(XFS_GROUP_QUOTA),
+#endif
+	XLAT_END
+};
diff --git a/xlat/xfs_quota_flags.h b/xlat/xfs_quota_flags.h
new file mode 100644
index 0000000..a43321d
--- /dev/null
+++ b/xlat/xfs_quota_flags.h
@@ -0,0 +1,17 @@
+/* Generated by ./xlat/gen.sh from ./xlat/xfs_quota_flags.in; do not edit. */
+
+static const struct xlat xfs_quota_flags[] = {
+#if defined(XFS_QUOTA_UDQ_ACCT) || (defined(HAVE_DECL_XFS_QUOTA_UDQ_ACCT) && HAVE_DECL_XFS_QUOTA_UDQ_ACCT)
+	XLAT(XFS_QUOTA_UDQ_ACCT),
+#endif
+#if defined(XFS_QUOTA_UDQ_ENFD) || (defined(HAVE_DECL_XFS_QUOTA_UDQ_ENFD) && HAVE_DECL_XFS_QUOTA_UDQ_ENFD)
+	XLAT(XFS_QUOTA_UDQ_ENFD),
+#endif
+#if defined(XFS_QUOTA_GDQ_ACCT) || (defined(HAVE_DECL_XFS_QUOTA_GDQ_ACCT) && HAVE_DECL_XFS_QUOTA_GDQ_ACCT)
+	XLAT(XFS_QUOTA_GDQ_ACCT),
+#endif
+#if defined(XFS_QUOTA_GDQ_ENFD) || (defined(HAVE_DECL_XFS_QUOTA_GDQ_ENFD) && HAVE_DECL_XFS_QUOTA_GDQ_ENFD)
+	XLAT(XFS_QUOTA_GDQ_ENFD),
+#endif
+	XLAT_END
+};
