Source file
src/runtime/defs_linux_arm.go
1
2
3
4
5 package runtime
6
7 import "unsafe"
8
9
10 const (
11 _EINTR = 0x4
12 _ENOMEM = 0xc
13 _EAGAIN = 0xb
14 _ENOSYS = 0x26
15
16 _PROT_NONE = 0
17 _PROT_READ = 0x1
18 _PROT_WRITE = 0x2
19 _PROT_EXEC = 0x4
20
21 _MAP_ANON = 0x20
22 _MAP_PRIVATE = 0x2
23 _MAP_FIXED = 0x10
24
25 _MADV_DONTNEED = 0x4
26 _MADV_FREE = 0x8
27 _MADV_HUGEPAGE = 0xe
28 _MADV_NOHUGEPAGE = 0xf
29
30 _SA_RESTART = 0x10000000
31 _SA_ONSTACK = 0x8000000
32 _SA_RESTORER = 0
33 _SA_SIGINFO = 0x4
34 _SI_KERNEL = 0x80
35 _SI_TIMER = -0x2
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 _SIGRTMIN = 0x20
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 _BUS_ADRALN = 0x1
76 _BUS_ADRERR = 0x2
77 _BUS_OBJERR = 0x3
78 _SEGV_MAPERR = 0x1
79 _SEGV_ACCERR = 0x2
80 _ITIMER_REAL = 0
81 _ITIMER_PROF = 0x2
82 _ITIMER_VIRTUAL = 0x1
83 _O_RDONLY = 0
84 _O_NONBLOCK = 0x800
85 _O_CLOEXEC = 0x80000
86
87 _CLOCK_THREAD_CPUTIME_ID = 0x3
88
89 _SIGEV_THREAD_ID = 0x4
90
91 _EPOLLIN = 0x1
92 _EPOLLOUT = 0x4
93 _EPOLLERR = 0x8
94 _EPOLLHUP = 0x10
95 _EPOLLRDHUP = 0x2000
96 _EPOLLET = 0x80000000
97 _EPOLL_CLOEXEC = 0x80000
98 _EPOLL_CTL_ADD = 0x1
99 _EPOLL_CTL_DEL = 0x2
100 _EPOLL_CTL_MOD = 0x3
101
102 _AF_UNIX = 0x1
103 _SOCK_DGRAM = 0x2
104 )
105
106 type timespec struct {
107 tv_sec int32
108 tv_nsec int32
109 }
110
111
112 func (ts *timespec) setNsec(ns int64) {
113 ts.tv_sec = timediv(ns, 1e9, &ts.tv_nsec)
114 }
115
116 type stackt struct {
117 ss_sp *byte
118 ss_flags int32
119 ss_size uintptr
120 }
121
122 type sigcontext struct {
123 trap_no uint32
124 error_code uint32
125 oldmask uint32
126 r0 uint32
127 r1 uint32
128 r2 uint32
129 r3 uint32
130 r4 uint32
131 r5 uint32
132 r6 uint32
133 r7 uint32
134 r8 uint32
135 r9 uint32
136 r10 uint32
137 fp uint32
138 ip uint32
139 sp uint32
140 lr uint32
141 pc uint32
142 cpsr uint32
143 fault_address uint32
144 }
145
146 type ucontext struct {
147 uc_flags uint32
148 uc_link *ucontext
149 uc_stack stackt
150 uc_mcontext sigcontext
151 uc_sigmask uint32
152 __unused [31]int32
153 uc_regspace [128]uint32
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 itimerspec struct {
166 it_interval timespec
167 it_value timespec
168 }
169
170 type itimerval struct {
171 it_interval timeval
172 it_value timeval
173 }
174
175 type sigeventFields struct {
176 value uintptr
177 signo int32
178 notify int32
179
180 sigev_notify_thread_id int32
181 }
182
183 type sigevent struct {
184 sigeventFields
185
186
187 _ [_sigev_max_size - unsafe.Sizeof(sigeventFields{})]byte
188 }
189
190 type siginfoFields struct {
191 si_signo int32
192 si_errno int32
193 si_code int32
194
195 si_addr uint32
196 }
197
198 type siginfo struct {
199 siginfoFields
200
201
202 _ [_si_max_size - unsafe.Sizeof(siginfoFields{})]byte
203 }
204
205 type sigactiont struct {
206 sa_handler uintptr
207 sa_flags uint32
208 sa_restorer uintptr
209 sa_mask uint64
210 }
211
212 type epollevent struct {
213 events uint32
214 _pad uint32
215 data [8]byte
216 }
217
218 type sockaddr_un struct {
219 family uint16
220 path [108]byte
221 }
222
View as plain text