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