github.com/mtsmfm/go/src@v0.0.0-20221020090648-44bdcb9f8fde/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_NONBLOCK = 0x800 169 _O_CLOEXEC = 0x80000 170 ) 171 172 type usigset struct { 173 __val [16]uint64 174 } 175 176 type fpxreg struct { 177 significand [4]uint16 178 exponent uint16 179 padding [3]uint16 180 } 181 182 type xmmreg struct { 183 element [4]uint32 184 } 185 186 type fpstate struct { 187 cwd uint16 188 swd uint16 189 ftw uint16 190 fop uint16 191 rip uint64 192 rdp uint64 193 mxcsr uint32 194 mxcr_mask uint32 195 _st [8]fpxreg 196 _xmm [16]xmmreg 197 padding [24]uint32 198 } 199 200 type fpxreg1 struct { 201 significand [4]uint16 202 exponent uint16 203 padding [3]uint16 204 } 205 206 type xmmreg1 struct { 207 element [4]uint32 208 } 209 210 type fpstate1 struct { 211 cwd uint16 212 swd uint16 213 ftw uint16 214 fop uint16 215 rip uint64 216 rdp uint64 217 mxcsr uint32 218 mxcr_mask uint32 219 _st [8]fpxreg1 220 _xmm [16]xmmreg1 221 padding [24]uint32 222 } 223 224 type fpreg1 struct { 225 significand [4]uint16 226 exponent uint16 227 } 228 229 type stackt struct { 230 ss_sp *byte 231 ss_flags int32 232 pad_cgo_0 [4]byte 233 ss_size uintptr 234 } 235 236 type mcontext struct { 237 gregs [23]uint64 238 fpregs *fpstate 239 __reserved1 [8]uint64 240 } 241 242 type ucontext struct { 243 uc_flags uint64 244 uc_link *ucontext 245 uc_stack stackt 246 uc_mcontext mcontext 247 uc_sigmask usigset 248 __fpregs_mem fpstate 249 } 250 251 type sigcontext struct { 252 r8 uint64 253 r9 uint64 254 r10 uint64 255 r11 uint64 256 r12 uint64 257 r13 uint64 258 r14 uint64 259 r15 uint64 260 rdi uint64 261 rsi uint64 262 rbp uint64 263 rbx uint64 264 rdx uint64 265 rax uint64 266 rcx uint64 267 rsp uint64 268 rip uint64 269 eflags uint64 270 cs uint16 271 gs uint16 272 fs uint16 273 __pad0 uint16 274 err uint64 275 trapno uint64 276 oldmask uint64 277 cr2 uint64 278 fpstate *fpstate1 279 __reserved1 [8]uint64 280 } 281 282 type sockaddr_un struct { 283 family uint16 284 path [108]byte 285 }