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