Source file src/runtime/defs_linux.go

     1  // Copyright 2009 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  //go:build ignore
     6  
     7  /*
     8  Input to cgo -cdefs
     9  
    10  GOARCH=amd64 go tool cgo -cdefs defs_linux.go defs1_linux.go >defs_linux_amd64.h
    11  */
    12  
    13  package runtime
    14  
    15  /*
    16  // Linux glibc and Linux kernel define different and conflicting
    17  // definitions for struct sigaction, struct timespec, etc.
    18  // We want the kernel ones, which are in the asm/* headers.
    19  // But then we'd get conflicts when we include the system
    20  // headers for things like ucontext_t, so that happens in
    21  // a separate file, defs1.go.
    22  
    23  #define	_SYS_TYPES_H	// avoid inclusion of sys/types.h
    24  #include <asm/posix_types.h>
    25  #define size_t __kernel_size_t
    26  #include <asm/signal.h>
    27  #include <asm/siginfo.h>
    28  #include <asm/mman.h>
    29  #include <asm-generic/errno.h>
    30  #include <asm-generic/poll.h>
    31  #include <linux/eventpoll.h>
    32  #include <linux/time.h>
    33  */
    34  import "C"
    35  
    36  const (
    37  	EINTR  = C.EINTR
    38  	EAGAIN = C.EAGAIN
    39  	ENOMEM = C.ENOMEM
    40  	ENOSYS = C.ENOSYS
    41  
    42  	PROT_NONE  = C.PROT_NONE
    43  	PROT_READ  = C.PROT_READ
    44  	PROT_WRITE = C.PROT_WRITE
    45  	PROT_EXEC  = C.PROT_EXEC
    46  
    47  	MAP_ANON    = C.MAP_ANONYMOUS
    48  	MAP_PRIVATE = C.MAP_PRIVATE
    49  	MAP_FIXED   = C.MAP_FIXED
    50  
    51  	MADV_DONTNEED   = C.MADV_DONTNEED
    52  	MADV_FREE       = C.MADV_FREE
    53  	MADV_HUGEPAGE   = C.MADV_HUGEPAGE
    54  	MADV_NOHUGEPAGE = C.MADV_NOHUGEPAGE
    55  
    56  	SA_RESTART = C.SA_RESTART
    57  	SA_ONSTACK = C.SA_ONSTACK
    58  	SA_SIGINFO = C.SA_SIGINFO
    59  
    60  	SI_KERNEL = C.SI_KERNEL
    61  	SI_TIMER  = C.SI_TIMER
    62  
    63  	SIGHUP    = C.SIGHUP
    64  	SIGINT    = C.SIGINT
    65  	SIGQUIT   = C.SIGQUIT
    66  	SIGILL    = C.SIGILL
    67  	SIGTRAP   = C.SIGTRAP
    68  	SIGABRT   = C.SIGABRT
    69  	SIGBUS    = C.SIGBUS
    70  	SIGFPE    = C.SIGFPE
    71  	SIGKILL   = C.SIGKILL
    72  	SIGUSR1   = C.SIGUSR1
    73  	SIGSEGV   = C.SIGSEGV
    74  	SIGUSR2   = C.SIGUSR2
    75  	SIGPIPE   = C.SIGPIPE
    76  	SIGALRM   = C.SIGALRM
    77  	SIGSTKFLT = C.SIGSTKFLT
    78  	SIGCHLD   = C.SIGCHLD
    79  	SIGCONT   = C.SIGCONT
    80  	SIGSTOP   = C.SIGSTOP
    81  	SIGTSTP   = C.SIGTSTP
    82  	SIGTTIN   = C.SIGTTIN
    83  	SIGTTOU   = C.SIGTTOU
    84  	SIGURG    = C.SIGURG
    85  	SIGXCPU   = C.SIGXCPU
    86  	SIGXFSZ   = C.SIGXFSZ
    87  	SIGVTALRM = C.SIGVTALRM
    88  	SIGPROF   = C.SIGPROF
    89  	SIGWINCH  = C.SIGWINCH
    90  	SIGIO     = C.SIGIO
    91  	SIGPWR    = C.SIGPWR
    92  	SIGSYS    = C.SIGSYS
    93  
    94  	SIGRTMIN  = C.SIGRTMIN
    95  
    96  	FPE_INTDIV = C.FPE_INTDIV
    97  	FPE_INTOVF = C.FPE_INTOVF
    98  	FPE_FLTDIV = C.FPE_FLTDIV
    99  	FPE_FLTOVF = C.FPE_FLTOVF
   100  	FPE_FLTUND = C.FPE_FLTUND
   101  	FPE_FLTRES = C.FPE_FLTRES
   102  	FPE_FLTINV = C.FPE_FLTINV
   103  	FPE_FLTSUB = C.FPE_FLTSUB
   104  
   105  	BUS_ADRALN = C.BUS_ADRALN
   106  	BUS_ADRERR = C.BUS_ADRERR
   107  	BUS_OBJERR = C.BUS_OBJERR
   108  
   109  	SEGV_MAPERR = C.SEGV_MAPERR
   110  	SEGV_ACCERR = C.SEGV_ACCERR
   111  
   112  	ITIMER_REAL    = C.ITIMER_REAL
   113  	ITIMER_VIRTUAL = C.ITIMER_VIRTUAL
   114  	ITIMER_PROF    = C.ITIMER_PROF
   115  
   116  	CLOCK_THREAD_CPUTIME_ID = C.CLOCK_THREAD_CPUTIME_ID
   117  
   118  	SIGEV_THREAD_ID = C.SIGEV_THREAD_ID
   119  
   120  	EPOLLIN       = C.POLLIN
   121  	EPOLLOUT      = C.POLLOUT
   122  	EPOLLERR      = C.POLLERR
   123  	EPOLLHUP      = C.POLLHUP
   124  	EPOLLRDHUP    = C.POLLRDHUP
   125  	EPOLLET       = C.EPOLLET
   126  	EPOLL_CLOEXEC = C.EPOLL_CLOEXEC
   127  	EPOLL_CTL_ADD = C.EPOLL_CTL_ADD
   128  	EPOLL_CTL_DEL = C.EPOLL_CTL_DEL
   129  	EPOLL_CTL_MOD = C.EPOLL_CTL_MOD
   130  )
   131  
   132  type Sigset C.sigset_t
   133  type Timespec C.struct_timespec
   134  type Timeval C.struct_timeval
   135  type Sigaction C.struct_sigaction
   136  type Siginfo C.siginfo_t
   137  type Itimerspec C.struct_itimerspec
   138  type Itimerval C.struct_itimerval
   139  type Sigevent C.struct_sigevent
   140  type EpollEvent C.struct_epoll_event
   141  

View as plain text