github.com/mtsmfm/go/src@v0.0.0-20221020090648-44bdcb9f8fde/runtime/defs_linux_ppc64.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_NONBLOCK = 0x800 170 _O_CLOEXEC = 0x80000 171 _SA_RESTORER = 0 172 ) 173 174 type ptregs struct { 175 gpr [32]uint64 176 nip uint64 177 msr uint64 178 orig_gpr3 uint64 179 ctr uint64 180 link uint64 181 xer uint64 182 ccr uint64 183 softe uint64 184 trap uint64 185 dar uint64 186 dsisr uint64 187 result uint64 188 } 189 190 type vreg struct { 191 u [4]uint32 192 } 193 194 type stackt struct { 195 ss_sp *byte 196 ss_flags int32 197 pad_cgo_0 [4]byte 198 ss_size uintptr 199 } 200 201 type sigcontext struct { 202 _unused [4]uint64 203 signal int32 204 _pad0 int32 205 handler uint64 206 oldmask uint64 207 regs *ptregs 208 gp_regs [48]uint64 209 fp_regs [33]float64 210 v_regs *vreg 211 vmx_reserve [101]int64 212 } 213 214 type ucontext struct { 215 uc_flags uint64 216 uc_link *ucontext 217 uc_stack stackt 218 uc_sigmask uint64 219 __unused [15]uint64 220 uc_mcontext sigcontext 221 }