Source file
src/runtime/defs_linux_amd64.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_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 _EPOLLIN = 0x1
94 _EPOLLOUT = 0x4
95 _EPOLLERR = 0x8
96 _EPOLLHUP = 0x10
97 _EPOLLRDHUP = 0x2000
98 _EPOLLET = 0x80000000
99 _EPOLL_CLOEXEC = 0x80000
100 _EPOLL_CTL_ADD = 0x1
101 _EPOLL_CTL_DEL = 0x2
102 _EPOLL_CTL_MOD = 0x3
103
104 _AF_UNIX = 0x1
105 _SOCK_DGRAM = 0x2
106 )
107
108 type timespec struct {
109 tv_sec int64
110 tv_nsec int64
111 }
112
113
114 func (ts *timespec) setNsec(ns int64) {
115 ts.tv_sec = ns / 1e9
116 ts.tv_nsec = ns % 1e9
117 }
118
119 type timeval struct {
120 tv_sec int64
121 tv_usec int64
122 }
123
124 func (tv *timeval) set_usec(x int32) {
125 tv.tv_usec = int64(x)
126 }
127
128 type sigactiont struct {
129 sa_handler uintptr
130 sa_flags uint64
131 sa_restorer uintptr
132 sa_mask uint64
133 }
134
135 type siginfoFields struct {
136 si_signo int32
137 si_errno int32
138 si_code int32
139
140 si_addr uint64
141 }
142
143 type siginfo struct {
144 siginfoFields
145
146
147 _ [_si_max_size - unsafe.Sizeof(siginfoFields{})]byte
148 }
149
150 type itimerspec struct {
151 it_interval timespec
152 it_value timespec
153 }
154
155 type itimerval struct {
156 it_interval timeval
157 it_value timeval
158 }
159
160 type sigeventFields struct {
161 value uintptr
162 signo int32
163 notify int32
164
165 sigev_notify_thread_id int32
166 }
167
168 type sigevent struct {
169 sigeventFields
170
171
172 _ [_sigev_max_size - unsafe.Sizeof(sigeventFields{})]byte
173 }
174
175 type epollevent struct {
176 events uint32
177 data [8]byte
178 }
179
180
181
182
183 const (
184 _O_RDONLY = 0x0
185 _O_NONBLOCK = 0x800
186 _O_CLOEXEC = 0x80000
187 )
188
189 type usigset struct {
190 __val [16]uint64
191 }
192
193 type fpxreg struct {
194 significand [4]uint16
195 exponent uint16
196 padding [3]uint16
197 }
198
199 type xmmreg struct {
200 element [4]uint32
201 }
202
203 type fpstate struct {
204 cwd uint16
205 swd uint16
206 ftw uint16
207 fop uint16
208 rip uint64
209 rdp uint64
210 mxcsr uint32
211 mxcr_mask uint32
212 _st [8]fpxreg
213 _xmm [16]xmmreg
214 padding [24]uint32
215 }
216
217 type fpxreg1 struct {
218 significand [4]uint16
219 exponent uint16
220 padding [3]uint16
221 }
222
223 type xmmreg1 struct {
224 element [4]uint32
225 }
226
227 type fpstate1 struct {
228 cwd uint16
229 swd uint16
230 ftw uint16
231 fop uint16
232 rip uint64
233 rdp uint64
234 mxcsr uint32
235 mxcr_mask uint32
236 _st [8]fpxreg1
237 _xmm [16]xmmreg1
238 padding [24]uint32
239 }
240
241 type fpreg1 struct {
242 significand [4]uint16
243 exponent uint16
244 }
245
246 type stackt struct {
247 ss_sp *byte
248 ss_flags int32
249 pad_cgo_0 [4]byte
250 ss_size uintptr
251 }
252
253 type mcontext struct {
254 gregs [23]uint64
255 fpregs *fpstate
256 __reserved1 [8]uint64
257 }
258
259 type ucontext struct {
260 uc_flags uint64
261 uc_link *ucontext
262 uc_stack stackt
263 uc_mcontext mcontext
264 uc_sigmask usigset
265 __fpregs_mem fpstate
266 }
267
268 type sigcontext struct {
269 r8 uint64
270 r9 uint64
271 r10 uint64
272 r11 uint64
273 r12 uint64
274 r13 uint64
275 r14 uint64
276 r15 uint64
277 rdi uint64
278 rsi uint64
279 rbp uint64
280 rbx uint64
281 rdx uint64
282 rax uint64
283 rcx uint64
284 rsp uint64
285 rip uint64
286 eflags uint64
287 cs uint16
288 gs uint16
289 fs uint16
290 __pad0 uint16
291 err uint64
292 trapno uint64
293 oldmask uint64
294 cr2 uint64
295 fpstate *fpstate1
296 __reserved1 [8]uint64
297 }
298
299 type sockaddr_un struct {
300 family uint16
301 path [108]byte
302 }
303
View as plain text