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 // +build ignore 6 7 /* 8 * Input to cgo -cdefs 9 10 GOARCH=386 go tool cgo -cdefs defs2_linux.go >defs_linux_386.h 11 12 The asm header tricks we have to use for Linux on amd64 13 (see defs.c and defs1.c) don't work here, so this is yet another 14 file. Sigh. 15 */ 16 17 package runtime 18 19 /* 20 #cgo CFLAGS: -I/tmp/linux/arch/x86/include -I/tmp/linux/include -D_LOOSE_KERNEL_NAMES -D__ARCH_SI_UID_T=__kernel_uid32_t 21 22 #define size_t __kernel_size_t 23 #define pid_t int 24 #include <asm/signal.h> 25 #include <asm/mman.h> 26 #include <asm/sigcontext.h> 27 #include <asm/ucontext.h> 28 #include <asm/siginfo.h> 29 #include <asm-generic/errno.h> 30 #include <asm-generic/fcntl.h> 31 #include <asm-generic/poll.h> 32 #include <linux/eventpoll.h> 33 34 // This is the sigaction structure from the Linux 2.1.68 kernel which 35 // is used with the rt_sigaction system call. For 386 this is not 36 // defined in any public header file. 37 38 struct kernel_sigaction { 39 __sighandler_t k_sa_handler; 40 unsigned long sa_flags; 41 void (*sa_restorer) (void); 42 unsigned long long sa_mask; 43 }; 44 */ 45 import "C" 46 47 const ( 48 EINTR = C.EINTR 49 EAGAIN = C.EAGAIN 50 ENOMEM = C.ENOMEM 51 52 PROT_NONE = C.PROT_NONE 53 PROT_READ = C.PROT_READ 54 PROT_WRITE = C.PROT_WRITE 55 PROT_EXEC = C.PROT_EXEC 56 57 MAP_ANON = C.MAP_ANONYMOUS 58 MAP_PRIVATE = C.MAP_PRIVATE 59 MAP_FIXED = C.MAP_FIXED 60 61 MADV_DONTNEED = C.MADV_DONTNEED 62 63 SA_RESTART = C.SA_RESTART 64 SA_ONSTACK = C.SA_ONSTACK 65 SA_RESTORER = C.SA_RESTORER 66 SA_SIGINFO = C.SA_SIGINFO 67 68 SIGHUP = C.SIGHUP 69 SIGINT = C.SIGINT 70 SIGQUIT = C.SIGQUIT 71 SIGILL = C.SIGILL 72 SIGTRAP = C.SIGTRAP 73 SIGABRT = C.SIGABRT 74 SIGBUS = C.SIGBUS 75 SIGFPE = C.SIGFPE 76 SIGKILL = C.SIGKILL 77 SIGUSR1 = C.SIGUSR1 78 SIGSEGV = C.SIGSEGV 79 SIGUSR2 = C.SIGUSR2 80 SIGPIPE = C.SIGPIPE 81 SIGALRM = C.SIGALRM 82 SIGSTKFLT = C.SIGSTKFLT 83 SIGCHLD = C.SIGCHLD 84 SIGCONT = C.SIGCONT 85 SIGSTOP = C.SIGSTOP 86 SIGTSTP = C.SIGTSTP 87 SIGTTIN = C.SIGTTIN 88 SIGTTOU = C.SIGTTOU 89 SIGURG = C.SIGURG 90 SIGXCPU = C.SIGXCPU 91 SIGXFSZ = C.SIGXFSZ 92 SIGVTALRM = C.SIGVTALRM 93 SIGPROF = C.SIGPROF 94 SIGWINCH = C.SIGWINCH 95 SIGIO = C.SIGIO 96 SIGPWR = C.SIGPWR 97 SIGSYS = C.SIGSYS 98 99 FPE_INTDIV = C.FPE_INTDIV 100 FPE_INTOVF = C.FPE_INTOVF 101 FPE_FLTDIV = C.FPE_FLTDIV 102 FPE_FLTOVF = C.FPE_FLTOVF 103 FPE_FLTUND = C.FPE_FLTUND 104 FPE_FLTRES = C.FPE_FLTRES 105 FPE_FLTINV = C.FPE_FLTINV 106 FPE_FLTSUB = C.FPE_FLTSUB 107 108 BUS_ADRALN = C.BUS_ADRALN 109 BUS_ADRERR = C.BUS_ADRERR 110 BUS_OBJERR = C.BUS_OBJERR 111 112 SEGV_MAPERR = C.SEGV_MAPERR 113 SEGV_ACCERR = C.SEGV_ACCERR 114 115 ITIMER_REAL = C.ITIMER_REAL 116 ITIMER_VIRTUAL = C.ITIMER_VIRTUAL 117 ITIMER_PROF = C.ITIMER_PROF 118 119 O_RDONLY = C.O_RDONLY 120 O_CLOEXEC = C.O_CLOEXEC 121 122 EPOLLIN = C.POLLIN 123 EPOLLOUT = C.POLLOUT 124 EPOLLERR = C.POLLERR 125 EPOLLHUP = C.POLLHUP 126 EPOLLRDHUP = C.POLLRDHUP 127 EPOLLET = C.EPOLLET 128 EPOLL_CLOEXEC = C.EPOLL_CLOEXEC 129 EPOLL_CTL_ADD = C.EPOLL_CTL_ADD 130 EPOLL_CTL_DEL = C.EPOLL_CTL_DEL 131 EPOLL_CTL_MOD = C.EPOLL_CTL_MOD 132 ) 133 134 type Fpreg C.struct__fpreg 135 type Fpxreg C.struct__fpxreg 136 type Xmmreg C.struct__xmmreg 137 type Fpstate C.struct__fpstate 138 type Timespec C.struct_timespec 139 type Timeval C.struct_timeval 140 type Sigaction C.struct_kernel_sigaction 141 type Siginfo C.siginfo_t 142 type SigaltstackT C.struct_sigaltstack 143 type Sigcontext C.struct_sigcontext 144 type Ucontext C.struct_ucontext 145 type Itimerval C.struct_itimerval 146 type EpollEvent C.struct_epoll_event 147