Source file
src/runtime/defs_linux_386.go
1
2
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_RESTORER = 0x4000000
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 _O_RDONLY = 0x0
93 _O_NONBLOCK = 0x800
94 _O_CLOEXEC = 0x80000
95
96 _EPOLLIN = 0x1
97 _EPOLLOUT = 0x4
98 _EPOLLERR = 0x8
99 _EPOLLHUP = 0x10
100 _EPOLLRDHUP = 0x2000
101 _EPOLLET = 0x80000000
102 _EPOLL_CLOEXEC = 0x80000
103 _EPOLL_CTL_ADD = 0x1
104 _EPOLL_CTL_DEL = 0x2
105 _EPOLL_CTL_MOD = 0x3
106
107 _AF_UNIX = 0x1
108 _SOCK_DGRAM = 0x2
109 )
110
111 type fpreg struct {
112 significand [4]uint16
113 exponent uint16
114 }
115
116 type fpxreg struct {
117 significand [4]uint16
118 exponent uint16
119 padding [3]uint16
120 }
121
122 type xmmreg struct {
123 element [4]uint32
124 }
125
126 type fpstate struct {
127 cw uint32
128 sw uint32
129 tag uint32
130 ipoff uint32
131 cssel uint32
132 dataoff uint32
133 datasel uint32
134 _st [8]fpreg
135 status uint16
136 magic uint16
137 _fxsr_env [6]uint32
138 mxcsr uint32
139 reserved uint32
140 _fxsr_st [8]fpxreg
141 _xmm [8]xmmreg
142 padding1 [44]uint32
143 anon0 [48]byte
144 }
145
146 type timespec struct {
147 tv_sec int32
148 tv_nsec int32
149 }
150
151
152 func (ts *timespec) setNsec(ns int64) {
153 ts.tv_sec = timediv(ns, 1e9, &ts.tv_nsec)
154 }
155
156 type timeval struct {
157 tv_sec int32
158 tv_usec int32
159 }
160
161 func (tv *timeval) set_usec(x int32) {
162 tv.tv_usec = x
163 }
164
165 type sigactiont struct {
166 sa_handler uintptr
167 sa_flags uint32
168 sa_restorer uintptr
169 sa_mask uint64
170 }
171
172 type siginfoFields struct {
173 si_signo int32
174 si_errno int32
175 si_code int32
176
177 si_addr uint32
178 }
179
180 type siginfo struct {
181 siginfoFields
182
183
184 _ [_si_max_size - unsafe.Sizeof(siginfoFields{})]byte
185 }
186
187 type stackt struct {
188 ss_sp *byte
189 ss_flags int32
190 ss_size uintptr
191 }
192
193 type sigcontext struct {
194 gs uint16
195 __gsh uint16
196 fs uint16
197 __fsh uint16
198 es uint16
199 __esh uint16
200 ds uint16
201 __dsh uint16
202 edi uint32
203 esi uint32
204 ebp uint32
205 esp uint32
206 ebx uint32
207 edx uint32
208 ecx uint32
209 eax uint32
210 trapno uint32
211 err uint32
212 eip uint32
213 cs uint16
214 __csh uint16
215 eflags uint32
216 esp_at_signal uint32
217 ss uint16
218 __ssh uint16
219 fpstate *fpstate
220 oldmask uint32
221 cr2 uint32
222 }
223
224 type ucontext struct {
225 uc_flags uint32
226 uc_link *ucontext
227 uc_stack stackt
228 uc_mcontext sigcontext
229 uc_sigmask uint32
230 }
231
232 type itimerspec struct {
233 it_interval timespec
234 it_value timespec
235 }
236
237 type itimerval struct {
238 it_interval timeval
239 it_value timeval
240 }
241
242 type sigeventFields struct {
243 value uintptr
244 signo int32
245 notify int32
246
247 sigev_notify_thread_id int32
248 }
249
250 type sigevent struct {
251 sigeventFields
252
253
254 _ [_sigev_max_size - unsafe.Sizeof(sigeventFields{})]byte
255 }
256
257 type epollevent struct {
258 events uint32
259 data [8]byte
260 }
261
262 type sockaddr_un struct {
263 family uint16
264 path [108]byte
265 }
266
View as plain text