github.com/twelsh-aw/go/src@v0.0.0-20230516233729-a56fe86a7c81/runtime/defs_linux_amd64.go (about) 1 // created by cgo -cdefs and then converted to Go 2 // cgo -cdefs defs_linux.go defs1_linux.go 3 4 package runtime 5 6 import "unsafe" 7 8 const ( 9 _EINTR = 0x4 10 _EAGAIN = 0xb 11 _ENOMEM = 0xc 12 13 _PROT_NONE = 0x0 14 _PROT_READ = 0x1 15 _PROT_WRITE = 0x2 16 _PROT_EXEC = 0x4 17 18 _MAP_ANON = 0x20 19 _MAP_PRIVATE = 0x2 20 _MAP_FIXED = 0x10 21 22 _MADV_DONTNEED = 0x4 23 _MADV_FREE = 0x8 24 _MADV_HUGEPAGE = 0xe 25 _MADV_NOHUGEPAGE = 0xf 26 27 _SA_RESTART = 0x10000000 28 _SA_ONSTACK = 0x8000000 29 _SA_RESTORER = 0x4000000 30 _SA_SIGINFO = 0x4 31 32 _SI_KERNEL = 0x80 33 _SI_TIMER = -0x2 34 35 _SIGHUP = 0x1 36 _SIGINT = 0x2 37 _SIGQUIT = 0x3 38 _SIGILL = 0x4 39 _SIGTRAP = 0x5 40 _SIGABRT = 0x6 41 _SIGBUS = 0x7 42 _SIGFPE = 0x8 43 _SIGKILL = 0x9 44 _SIGUSR1 = 0xa 45 _SIGSEGV = 0xb 46 _SIGUSR2 = 0xc 47 _SIGPIPE = 0xd 48 _SIGALRM = 0xe 49 _SIGSTKFLT = 0x10 50 _SIGCHLD = 0x11 51 _SIGCONT = 0x12 52 _SIGSTOP = 0x13 53 _SIGTSTP = 0x14 54 _SIGTTIN = 0x15 55 _SIGTTOU = 0x16 56 _SIGURG = 0x17 57 _SIGXCPU = 0x18 58 _SIGXFSZ = 0x19 59 _SIGVTALRM = 0x1a 60 _SIGPROF = 0x1b 61 _SIGWINCH = 0x1c 62 _SIGIO = 0x1d 63 _SIGPWR = 0x1e 64 _SIGSYS = 0x1f 65 66 _SIGRTMIN = 0x20 67 68 _FPE_INTDIV = 0x1 69 _FPE_INTOVF = 0x2 70 _FPE_FLTDIV = 0x3 71 _FPE_FLTOVF = 0x4 72 _FPE_FLTUND = 0x5 73 _FPE_FLTRES = 0x6 74 _FPE_FLTINV = 0x7 75 _FPE_FLTSUB = 0x8 76 77 _BUS_ADRALN = 0x1 78 _BUS_ADRERR = 0x2 79 _BUS_OBJERR = 0x3 80 81 _SEGV_MAPERR = 0x1 82 _SEGV_ACCERR = 0x2 83 84 _ITIMER_REAL = 0x0 85 _ITIMER_VIRTUAL = 0x1 86 _ITIMER_PROF = 0x2 87 88 _CLOCK_THREAD_CPUTIME_ID = 0x3 89 90 _SIGEV_THREAD_ID = 0x4 91 92 _AF_UNIX = 0x1 93 _SOCK_DGRAM = 0x2 94 ) 95 96 type timespec struct { 97 tv_sec int64 98 tv_nsec int64 99 } 100 101 //go:nosplit 102 func (ts *timespec) setNsec(ns int64) { 103 ts.tv_sec = ns / 1e9 104 ts.tv_nsec = ns % 1e9 105 } 106 107 type timeval struct { 108 tv_sec int64 109 tv_usec int64 110 } 111 112 func (tv *timeval) set_usec(x int32) { 113 tv.tv_usec = int64(x) 114 } 115 116 type sigactiont struct { 117 sa_handler uintptr 118 sa_flags uint64 119 sa_restorer uintptr 120 sa_mask uint64 121 } 122 123 type siginfoFields struct { 124 si_signo int32 125 si_errno int32 126 si_code int32 127 // below here is a union; si_addr is the only field we use 128 si_addr uint64 129 } 130 131 type siginfo struct { 132 siginfoFields 133 134 // Pad struct to the max size in the kernel. 135 _ [_si_max_size - unsafe.Sizeof(siginfoFields{})]byte 136 } 137 138 type itimerspec struct { 139 it_interval timespec 140 it_value timespec 141 } 142 143 type itimerval struct { 144 it_interval timeval 145 it_value timeval 146 } 147 148 type sigeventFields struct { 149 value uintptr 150 signo int32 151 notify int32 152 // below here is a union; sigev_notify_thread_id is the only field we use 153 sigev_notify_thread_id int32 154 } 155 156 type sigevent struct { 157 sigeventFields 158 159 // Pad struct to the max size in the kernel. 160 _ [_sigev_max_size - unsafe.Sizeof(sigeventFields{})]byte 161 } 162 163 // created by cgo -cdefs and then converted to Go 164 // cgo -cdefs defs_linux.go defs1_linux.go 165 166 const ( 167 _O_RDONLY = 0x0 168 _O_WRONLY = 0x1 169 _O_CREAT = 0x40 170 _O_TRUNC = 0x200 171 _O_NONBLOCK = 0x800 172 _O_CLOEXEC = 0x80000 173 ) 174 175 type usigset struct { 176 __val [16]uint64 177 } 178 179 type fpxreg struct { 180 significand [4]uint16 181 exponent uint16 182 padding [3]uint16 183 } 184 185 type xmmreg struct { 186 element [4]uint32 187 } 188 189 type fpstate struct { 190 cwd uint16 191 swd uint16 192 ftw uint16 193 fop uint16 194 rip uint64 195 rdp uint64 196 mxcsr uint32 197 mxcr_mask uint32 198 _st [8]fpxreg 199 _xmm [16]xmmreg 200 padding [24]uint32 201 } 202 203 type fpxreg1 struct { 204 significand [4]uint16 205 exponent uint16 206 padding [3]uint16 207 } 208 209 type xmmreg1 struct { 210 element [4]uint32 211 } 212 213 type fpstate1 struct { 214 cwd uint16 215 swd uint16 216 ftw uint16 217 fop uint16 218 rip uint64 219 rdp uint64 220 mxcsr uint32 221 mxcr_mask uint32 222 _st [8]fpxreg1 223 _xmm [16]xmmreg1 224 padding [24]uint32 225 } 226 227 type fpreg1 struct { 228 significand [4]uint16 229 exponent uint16 230 } 231 232 type stackt struct { 233 ss_sp *byte 234 ss_flags int32 235 pad_cgo_0 [4]byte 236 ss_size uintptr 237 } 238 239 type mcontext struct { 240 gregs [23]uint64 241 fpregs *fpstate 242 __reserved1 [8]uint64 243 } 244 245 type ucontext struct { 246 uc_flags uint64 247 uc_link *ucontext 248 uc_stack stackt 249 uc_mcontext mcontext 250 uc_sigmask usigset 251 __fpregs_mem fpstate 252 } 253 254 type sigcontext struct { 255 r8 uint64 256 r9 uint64 257 r10 uint64 258 r11 uint64 259 r12 uint64 260 r13 uint64 261 r14 uint64 262 r15 uint64 263 rdi uint64 264 rsi uint64 265 rbp uint64 266 rbx uint64 267 rdx uint64 268 rax uint64 269 rcx uint64 270 rsp uint64 271 rip uint64 272 eflags uint64 273 cs uint16 274 gs uint16 275 fs uint16 276 __pad0 uint16 277 err uint64 278 trapno uint64 279 oldmask uint64 280 cr2 uint64 281 fpstate *fpstate1 282 __reserved1 [8]uint64 283 } 284 285 type sockaddr_un struct { 286 family uint16 287 path [108]byte 288 }