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
15 _PROT_NONE = 0
16 _PROT_READ = 0x1
17 _PROT_WRITE = 0x2
18 _PROT_EXEC = 0x4
19
20 _MAP_ANON = 0x20
21 _MAP_PRIVATE = 0x2
22 _MAP_FIXED = 0x10
23
24 _MADV_DONTNEED = 0x4
25 _MADV_FREE = 0x8
26 _MADV_HUGEPAGE = 0xe
27 _MADV_NOHUGEPAGE = 0xf
28
29 _SA_RESTART = 0x10000000
30 _SA_ONSTACK = 0x8000000
31 _SA_RESTORER = 0
32 _SA_SIGINFO = 0x4
33 _SI_KERNEL = 0x80
34 _SI_TIMER = -0x2
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 _SIGRTMIN = 0x20
66 _FPE_INTDIV = 0x1
67 _FPE_INTOVF = 0x2
68 _FPE_FLTDIV = 0x3
69 _FPE_FLTOVF = 0x4
70 _FPE_FLTUND = 0x5
71 _FPE_FLTRES = 0x6
72 _FPE_FLTINV = 0x7
73 _FPE_FLTSUB = 0x8
74 _BUS_ADRALN = 0x1
75 _BUS_ADRERR = 0x2
76 _BUS_OBJERR = 0x3
77 _SEGV_MAPERR = 0x1
78 _SEGV_ACCERR = 0x2
79 _ITIMER_REAL = 0
80 _ITIMER_PROF = 0x2
81 _ITIMER_VIRTUAL = 0x1
82 _O_RDONLY = 0
83 _O_WRONLY = 0x1
84 _O_CREAT = 0x40
85 _O_TRUNC = 0x200
86 _O_NONBLOCK = 0x800
87 _O_CLOEXEC = 0x80000
88
89 _CLOCK_THREAD_CPUTIME_ID = 0x3
90
91 _SIGEV_THREAD_ID = 0x4
92
93 _AF_UNIX = 0x1
94 _SOCK_DGRAM = 0x2
95 )
96
97 type timespec struct {
98 tv_sec int32
99 tv_nsec int32
100 }
101
102
103 func (ts *timespec) setNsec(ns int64) {
104 ts.tv_sec = timediv(ns, 1e9, &ts.tv_nsec)
105 }
106
107 type stackt struct {
108 ss_sp *byte
109 ss_flags int32
110 ss_size uintptr
111 }
112
113 type sigcontext struct {
114 trap_no uint32
115 error_code uint32
116 oldmask uint32
117 r0 uint32
118 r1 uint32
119 r2 uint32
120 r3 uint32
121 r4 uint32
122 r5 uint32
123 r6 uint32
124 r7 uint32
125 r8 uint32
126 r9 uint32
127 r10 uint32
128 fp uint32
129 ip uint32
130 sp uint32
131 lr uint32
132 pc uint32
133 cpsr uint32
134 fault_address uint32
135 }
136
137 type ucontext struct {
138 uc_flags uint32
139 uc_link *ucontext
140 uc_stack stackt
141 uc_mcontext sigcontext
142 uc_sigmask uint32
143 __unused [31]int32
144 uc_regspace [128]uint32
145 }
146
147 type timeval struct {
148 tv_sec int32
149 tv_usec int32
150 }
151
152 func (tv *timeval) set_usec(x int32) {
153 tv.tv_usec = x
154 }
155
156 type itimerspec struct {
157 it_interval timespec
158 it_value timespec
159 }
160
161 type itimerval struct {
162 it_interval timeval
163 it_value timeval
164 }
165
166 type sigeventFields struct {
167 value uintptr
168 signo int32
169 notify int32
170
171 sigev_notify_thread_id int32
172 }
173
174 type sigevent struct {
175 sigeventFields
176
177
178 _ [_sigev_max_size - unsafe.Sizeof(sigeventFields{})]byte
179 }
180
181 type siginfoFields struct {
182 si_signo int32
183 si_errno int32
184 si_code int32
185
186 si_addr uint32
187 }
188
189 type siginfo struct {
190 siginfoFields
191
192
193 _ [_si_max_size - unsafe.Sizeof(siginfoFields{})]byte
194 }
195
196 type sigactiont struct {
197 sa_handler uintptr
198 sa_flags uint32
199 sa_restorer uintptr
200 sa_mask uint64
201 }
202
203 type sockaddr_un struct {
204 family uint16
205 path [108]byte
206 }
207
View as plain text