1 // created by cgo -cdefs and then converted to Go 2 // cgo -cdefs defs2_linux.go 3 4 package runtime 5 6 const ( 7 _EINTR = 0x4 8 _EAGAIN = 0xb 9 _ENOMEM = 0xc 10 11 _PROT_NONE = 0x0 12 _PROT_READ = 0x1 13 _PROT_WRITE = 0x2 14 _PROT_EXEC = 0x4 15 16 _MAP_ANON = 0x20 17 _MAP_PRIVATE = 0x2 18 _MAP_FIXED = 0x10 19 20 _MADV_DONTNEED = 0x4 21 _MADV_HUGEPAGE = 0xe 22 _MADV_NOHUGEPAGE = 0xf 23 24 _SA_RESTART = 0x10000000 25 _SA_ONSTACK = 0x8000000 26 _SA_RESTORER = 0x4000000 27 _SA_SIGINFO = 0x4 28 29 _SIGHUP = 0x1 30 _SIGINT = 0x2 31 _SIGQUIT = 0x3 32 _SIGILL = 0x4 33 _SIGTRAP = 0x5 34 _SIGABRT = 0x6 35 _SIGBUS = 0x7 36 _SIGFPE = 0x8 37 _SIGKILL = 0x9 38 _SIGUSR1 = 0xa 39 _SIGSEGV = 0xb 40 _SIGUSR2 = 0xc 41 _SIGPIPE = 0xd 42 _SIGALRM = 0xe 43 _SIGSTKFLT = 0x10 44 _SIGCHLD = 0x11 45 _SIGCONT = 0x12 46 _SIGSTOP = 0x13 47 _SIGTSTP = 0x14 48 _SIGTTIN = 0x15 49 _SIGTTOU = 0x16 50 _SIGURG = 0x17 51 _SIGXCPU = 0x18 52 _SIGXFSZ = 0x19 53 _SIGVTALRM = 0x1a 54 _SIGPROF = 0x1b 55 _SIGWINCH = 0x1c 56 _SIGIO = 0x1d 57 _SIGPWR = 0x1e 58 _SIGSYS = 0x1f 59 60 _FPE_INTDIV = 0x1 61 _FPE_INTOVF = 0x2 62 _FPE_FLTDIV = 0x3 63 _FPE_FLTOVF = 0x4 64 _FPE_FLTUND = 0x5 65 _FPE_FLTRES = 0x6 66 _FPE_FLTINV = 0x7 67 _FPE_FLTSUB = 0x8 68 69 _BUS_ADRALN = 0x1 70 _BUS_ADRERR = 0x2 71 _BUS_OBJERR = 0x3 72 73 _SEGV_MAPERR = 0x1 74 _SEGV_ACCERR = 0x2 75 76 _ITIMER_REAL = 0x0 77 _ITIMER_VIRTUAL = 0x1 78 _ITIMER_PROF = 0x2 79 80 _O_RDONLY = 0x0 81 _O_CLOEXEC = 0x80000 82 83 _EPOLLIN = 0x1 84 _EPOLLOUT = 0x4 85 _EPOLLERR = 0x8 86 _EPOLLHUP = 0x10 87 _EPOLLRDHUP = 0x2000 88 _EPOLLET = 0x80000000 89 _EPOLL_CLOEXEC = 0x80000 90 _EPOLL_CTL_ADD = 0x1 91 _EPOLL_CTL_DEL = 0x2 92 _EPOLL_CTL_MOD = 0x3 93 ) 94 95 type fpreg struct { 96 significand [4]uint16 97 exponent uint16 98 } 99 100 type fpxreg struct { 101 significand [4]uint16 102 exponent uint16 103 padding [3]uint16 104 } 105 106 type xmmreg struct { 107 element [4]uint32 108 } 109 110 type fpstate struct { 111 cw uint32 112 sw uint32 113 tag uint32 114 ipoff uint32 115 cssel uint32 116 dataoff uint32 117 datasel uint32 118 _st [8]fpreg 119 status uint16 120 magic uint16 121 _fxsr_env [6]uint32 122 mxcsr uint32 123 reserved uint32 124 _fxsr_st [8]fpxreg 125 _xmm [8]xmmreg 126 padding1 [44]uint32 127 anon0 [48]byte 128 } 129 130 type timespec struct { 131 tv_sec int32 132 tv_nsec int32 133 } 134 135 func (ts *timespec) set_sec(x int64) { 136 ts.tv_sec = int32(x) 137 } 138 139 func (ts *timespec) set_nsec(x int32) { 140 ts.tv_nsec = x 141 } 142 143 type timeval struct { 144 tv_sec int32 145 tv_usec int32 146 } 147 148 func (tv *timeval) set_usec(x int32) { 149 tv.tv_usec = x 150 } 151 152 type sigactiont struct { 153 sa_handler uintptr 154 sa_flags uint32 155 sa_restorer uintptr 156 sa_mask uint64 157 } 158 159 type siginfo struct { 160 si_signo int32 161 si_errno int32 162 si_code int32 163 // below here is a union; si_addr is the only field we use 164 si_addr uint32 165 } 166 167 type sigaltstackt struct { 168 ss_sp *byte 169 ss_flags int32 170 ss_size uintptr 171 } 172 173 type sigcontext struct { 174 gs uint16 175 __gsh uint16 176 fs uint16 177 __fsh uint16 178 es uint16 179 __esh uint16 180 ds uint16 181 __dsh uint16 182 edi uint32 183 esi uint32 184 ebp uint32 185 esp uint32 186 ebx uint32 187 edx uint32 188 ecx uint32 189 eax uint32 190 trapno uint32 191 err uint32 192 eip uint32 193 cs uint16 194 __csh uint16 195 eflags uint32 196 esp_at_signal uint32 197 ss uint16 198 __ssh uint16 199 fpstate *fpstate 200 oldmask uint32 201 cr2 uint32 202 } 203 204 type ucontext struct { 205 uc_flags uint32 206 uc_link *ucontext 207 uc_stack sigaltstackt 208 uc_mcontext sigcontext 209 uc_sigmask uint32 210 } 211 212 type itimerval struct { 213 it_interval timeval 214 it_value timeval 215 } 216 217 type epollevent struct { 218 events uint32 219 data [8]byte // to match amd64 220 } 221