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