/* sysinfo.c -- input for mksysinfo.sh Copyright 2009 The Go Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. */ /* This file is passed to GCC with the -fdump-go-spec option to generate a Go version of the system information. */ #include "config.h" #include #include #include #include #include #include #include /* needs u_char/u_short, but is only included by if _SGIAPI (i.e. _SGI_SOURCE && !_XOPEN_SOURCE. only defines TIOCNOTTY if !_XOPEN_SOURCE, while does so unconditionally. */ #ifdef __sgi__ #include #include #endif #include #if defined(HAVE_NETINET_IN_SYSTM_H) #include #endif #if defined(HAVE_NETINET_IP_H) #include #endif #if defined(HAVE_NETINET_IP_MROUTE_H) #include #endif #if defined(HAVE_NETINET_IF_ETHER_H) #include #endif #include #include #include #if defined(HAVE_SYSCALL_H) #include #endif #if defined(HAVE_SYS_SYSCALL_H) #include #endif #if defined(HAVE_SYS_EPOLL_H) #include #endif #if defined(HAVE_SYS_EVENT_H) #include #endif #if defined(HAVE_SYS_FILE_H) #include #endif #if defined(HAVE_SYS_MMAN_H) #include #endif #if defined(HAVE_SYS_PRCTL_H) #include #endif #if defined(HAVE_SYS_PTRACE_H) #include #endif #include #include #include #include #include #include #include #include #if defined(HAVE_SYS_USER_H) #include #endif #if defined(HAVE_SYS_UTSNAME_H) #include #endif #if defined(HAVE_SYS_SELECT_H) #include #endif #include #include #include #include #include #if defined(HAVE_LINUX_FILTER_H) #include #endif #if defined(HAVE_LINUX_IF_ADDR_H) #include #endif #if defined(HAVE_LINUX_IF_ETHER_H) #include #endif #if defined(HAVE_LINUX_IF_TUN_H) #include #endif #if defined(HAVE_LINUX_NETLINK_H) #include #endif #if defined(HAVE_LINUX_PTRACE_H) #include #endif #if defined(HAVE_LINUX_RTNETLINK_H) #include #endif #if defined(HAVE_NET_IF_H) #include #endif #if defined(HAVE_NET_IF_ARP_H) #include #endif #if defined(HAVE_NET_ROUTE_H) #include #endif #if defined (HAVE_NETPACKET_PACKET_H) #include #endif #if defined(HAVE_SYS_MOUNT_H) #include #endif #if defined(HAVE_SYS_VFS_H) #include #endif #if defined(HAVE_STATFS_H) #include #endif #if defined(HAVE_SYS_TIMEX_H) #include #endif #if defined(HAVE_SYS_SYSINFO_H) #include #endif #if defined(HAVE_UTIME_H) #include #endif #if defined(HAVE_LINUX_ETHER_H) #include #endif #if defined(HAVE_LINUX_FS_H) #include #endif #if defined(HAVE_LINUX_REBOOT_H) #include #endif #if defined(HAVE_SYS_INOTIFY_H) #include #endif #if defined(HAVE_NETINET_ICMP6_H) #include #endif #if defined(HAVE_SCHED_H) #include #endif #if defined(HAVE_SEMAPHORE_H) #include #endif #if defined(HAVE_PORT_H) #include #endif #ifdef USE_LIBFFI #include "ffi.h" #endif /* Constants that may only be defined as expressions on some systems, expressions too complex for -fdump-go-spec to handle. These are handled specially below. */ enum { #ifdef TIOCGWINSZ TIOCGWINSZ_val = TIOCGWINSZ, #endif #ifdef TIOCSWINSZ TIOCSWINSZ_val = TIOCSWINSZ, #endif #ifdef TIOCNOTTY TIOCNOTTY_val = TIOCNOTTY, #endif #ifdef TIOCSCTTY TIOCSCTTY_val = TIOCSCTTY, #endif #ifdef TIOCGPGRP TIOCGPGRP_val = TIOCGPGRP, #endif #ifdef TIOCSPGRP TIOCSPGRP_val = TIOCSPGRP, #endif #ifdef TIOCGPTN TIOCGPTN_val = TIOCGPTN, #endif #ifdef TIOCSPTLCK TIOCSPTLCK_val = TIOCSPTLCK, #endif #ifdef TIOCGDEV TIOCGDEV_val = TIOCGDEV, #endif #ifdef TIOCSIG TIOCSIG_val = TIOCSIG, #endif #ifdef TCGETS TCGETS_val = TCGETS, #endif #ifdef TCSETS TCSETS_val = TCSETS, #endif #ifdef TUNSETIFF TUNSETIFF_val = TUNSETIFF, #endif #ifdef TUNSETNOCSUM TUNSETNOCSUM_val = TUNSETNOCSUM, #endif #ifdef TUNSETDEBUG TUNSETDEBUG_val = TUNSETDEBUG, #endif #ifdef TUNSETPERSIST TUNSETPERSIST_val = TUNSETPERSIST, #endif #ifdef TUNSETOWNER TUNSETOWNER_val = TUNSETOWNER, #endif #ifdef TUNSETLINK TUNSETLINK_val = TUNSETLINK, #endif #ifdef TUNSETGROUP TUNSETGROUP_val = TUNSETGROUP, #endif #ifdef TUNGETFEATURES TUNGETFEATURES_val = TUNGETFEATURES, #endif #ifdef TUNSETOFFLOAD TUNSETOFFLOAD_val = TUNSETOFFLOAD, #endif #ifdef TUNSETTXFILTER TUNSETTXFILTER_val = TUNSETTXFILTER, #endif #ifdef TUNGETIFF TUNGETIFF_val = TUNGETIFF, #endif #ifdef TUNGETSNDBUF TUNGETSNDBUF_val = TUNGETSNDBUF, #endif #ifdef TUNSETSNDBUF TUNSETSNDBUF_val = TUNSETSNDBUF, #endif #ifdef TUNATTACHFILTER TUNATTACHFILTER_val = TUNATTACHFILTER, #endif #ifdef TUNDETACHFILTER TUNDETACHFILTER_val = TUNDETACHFILTER, #endif #ifdef TUNGETVNETHDRSZ TUNGETVNETHDRSZ_val = TUNGETVNETHDRSZ, #endif #ifdef TUNSETVNETHDRSZ TUNSETVNETHDRSZ_val = TUNSETVNETHDRSZ, #endif #ifdef TUNSETQUEUE TUNSETQUEUE_val = TUNSETQUEUE, #endif #ifdef TUNSETIFINDEX TUNSETIFINDEX_val = TUNSETIFINDEX, #endif #ifdef TUNGETFILTER TUNGETFILTER_val = TUNGETFILTER, #endif #ifdef NLA_HDRLEN NLA_HDRLEN_val = NLA_HDRLEN, #endif }; #if defined(HAVE_SYS_EPOLL_H) enum { epoll_data_offset = offsetof(struct epoll_event, data) }; #endif