Source file
src/runtime/defs_linux_ppc64.go
1
2
3
4 package runtime
5
6 import "unsafe"
7
8 const (
9 _EINTR = 0x4
10 _EAGAIN = 0xb
11 _ENOMEM = 0xc
12 _ENOSYS = 0x26
13
14 _PROT_NONE = 0x0
15 _PROT_READ = 0x1
16 _PROT_WRITE = 0x2
17 _PROT_EXEC = 0x4
18
19 _MAP_ANON = 0x20
20 _MAP_PRIVATE = 0x2
21 _MAP_FIXED = 0x10
22
23 _MADV_DONTNEED = 0x4
24 _MADV_FREE = 0x8
25 _MADV_HUGEPAGE = 0xe
26 _MADV_NOHUGEPAGE = 0xf
27
28 _SA_RESTART = 0x10000000
29 _SA_ONSTACK = 0x8000000
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 _EPOLLIN = 0x1
93 _EPOLLOUT = 0x4
94 _EPOLLERR = 0x8
95 _EPOLLHUP = 0x10
96 _EPOLLRDHUP = 0x2000
97 _EPOLLET = 0x80000000
98 _EPOLL_CLOEXEC = 0x80000
99 _EPOLL_CTL_ADD = 0x1
100 _EPOLL_CTL_DEL = 0x2
101 _EPOLL_CTL_MOD = 0x3
102 )
103
104
105
106
107
108
109 type timespec struct {
110 tv_sec int64
111 tv_nsec int64
112 }
113
114
115 func (ts *timespec) setNsec(ns int64) {
116 ts.tv_sec = ns / 1e9
117 ts.tv_nsec = ns % 1e9
118 }
119
120 type timeval struct {
121 tv_sec int64
122 tv_usec int64
123 }
124
125 func (tv *timeval) set_usec(x int32) {
126 tv.tv_usec = int64(x)
127 }
128
129 type sigactiont struct {
130 sa_handler uintptr
131 sa_flags uint64
132 sa_restorer uintptr
133 sa_mask uint64
134 }
135
136 type siginfoFields struct {
137 si_signo int32
138 si_errno int32
139 si_code int32
140
141 si_addr uint64
142 }
143
144 type siginfo struct {
145 siginfoFields
146
147
148 _ [_si_max_size - unsafe.Sizeof(siginfoFields{})]byte
149 }
150
151 type itimerspec struct {
152 it_interval timespec
153 it_value timespec
154 }
155
156 type itimerval struct {
157 it_interval timeval
158 it_value timeval
159 }
160
161 type sigeventFields struct {
162 value uintptr
163 signo int32
164 notify int32
165
166 sigev_notify_thread_id int32
167 }
168
169 type sigevent struct {
170 sigeventFields
171
172
173 _ [_sigev_max_size - unsafe.Sizeof(sigeventFields{})]byte
174 }
175
176 type epollevent struct {
177 events uint32
178 pad_cgo_0 [4]byte
179 data [8]byte
180 }
181
182
183
184
185 const (
186 _O_RDONLY = 0x0
187 _O_NONBLOCK = 0x800
188 _O_CLOEXEC = 0x80000
189 _SA_RESTORER = 0
190 )
191
192 type ptregs struct {
193 gpr [32]uint64
194 nip uint64
195 msr uint64
196 orig_gpr3 uint64
197 ctr uint64
198 link uint64
199 xer uint64
200 ccr uint64
201 softe uint64
202 trap uint64
203 dar uint64
204 dsisr uint64
205 result uint64
206 }
207
208 type vreg struct {
209 u [4]uint32
210 }
211
212 type stackt struct {
213 ss_sp *byte
214 ss_flags int32
215 pad_cgo_0 [4]byte
216 ss_size uintptr
217 }
218
219 type sigcontext struct {
220 _unused [4]uint64
221 signal int32
222 _pad0 int32
223 handler uint64
224 oldmask uint64
225 regs *ptregs
226 gp_regs [48]uint64
227 fp_regs [33]float64
228 v_regs *vreg
229 vmx_reserve [101]int64
230 }
231
232 type ucontext struct {
233 uc_flags uint64
234 uc_link *ucontext
235 uc_stack stackt
236 uc_sigmask uint64
237 __unused [15]uint64
238 uc_mcontext sigcontext
239 }
240
View as plain text