github.com/twelsh-aw/go/src@v0.0.0-20230516233729-a56fe86a7c81/runtime/defs_linux_ppc64le.go (about) 1 // created by cgo -cdefs and then converted to Go 2 // cgo -cdefs defs_linux.go defs3_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_SIGINFO = 0x4 30 31 _SI_KERNEL = 0x80 32 _SI_TIMER = -0x2 33 34 _SIGHUP = 0x1 35 _SIGINT = 0x2 36 _SIGQUIT = 0x3 37 _SIGILL = 0x4 38 _SIGTRAP = 0x5 39 _SIGABRT = 0x6 40 _SIGBUS = 0x7 41 _SIGFPE = 0x8 42 _SIGKILL = 0x9 43 _SIGUSR1 = 0xa 44 _SIGSEGV = 0xb 45 _SIGUSR2 = 0xc 46 _SIGPIPE = 0xd 47 _SIGALRM = 0xe 48 _SIGSTKFLT = 0x10 49 _SIGCHLD = 0x11 50 _SIGCONT = 0x12 51 _SIGSTOP = 0x13 52 _SIGTSTP = 0x14 53 _SIGTTIN = 0x15 54 _SIGTTOU = 0x16 55 _SIGURG = 0x17 56 _SIGXCPU = 0x18 57 _SIGXFSZ = 0x19 58 _SIGVTALRM = 0x1a 59 _SIGPROF = 0x1b 60 _SIGWINCH = 0x1c 61 _SIGIO = 0x1d 62 _SIGPWR = 0x1e 63 _SIGSYS = 0x1f 64 65 _SIGRTMIN = 0x20 66 67 _FPE_INTDIV = 0x1 68 _FPE_INTOVF = 0x2 69 _FPE_FLTDIV = 0x3 70 _FPE_FLTOVF = 0x4 71 _FPE_FLTUND = 0x5 72 _FPE_FLTRES = 0x6 73 _FPE_FLTINV = 0x7 74 _FPE_FLTSUB = 0x8 75 76 _BUS_ADRALN = 0x1 77 _BUS_ADRERR = 0x2 78 _BUS_OBJERR = 0x3 79 80 _SEGV_MAPERR = 0x1 81 _SEGV_ACCERR = 0x2 82 83 _ITIMER_REAL = 0x0 84 _ITIMER_VIRTUAL = 0x1 85 _ITIMER_PROF = 0x2 86 87 _CLOCK_THREAD_CPUTIME_ID = 0x3 88 89 _SIGEV_THREAD_ID = 0x4 90 ) 91 92 //struct Sigset { 93 // uint64 sig[1]; 94 //}; 95 //typedef uint64 Sigset; 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 defs3_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 _SA_RESTORER = 0 175 ) 176 177 type ptregs struct { 178 gpr [32]uint64 179 nip uint64 180 msr uint64 181 orig_gpr3 uint64 182 ctr uint64 183 link uint64 184 xer uint64 185 ccr uint64 186 softe uint64 187 trap uint64 188 dar uint64 189 dsisr uint64 190 result uint64 191 } 192 193 type vreg struct { 194 u [4]uint32 195 } 196 197 type stackt struct { 198 ss_sp *byte 199 ss_flags int32 200 pad_cgo_0 [4]byte 201 ss_size uintptr 202 } 203 204 type sigcontext struct { 205 _unused [4]uint64 206 signal int32 207 _pad0 int32 208 handler uint64 209 oldmask uint64 210 regs *ptregs 211 gp_regs [48]uint64 212 fp_regs [33]float64 213 v_regs *vreg 214 vmx_reserve [101]int64 215 } 216 217 type ucontext struct { 218 uc_flags uint64 219 uc_link *ucontext 220 uc_stack stackt 221 uc_sigmask uint64 222 __unused [15]uint64 223 uc_mcontext sigcontext 224 }