Source file
src/runtime/defs_linux_riscv64.go
1
2
3
4
5 package runtime
6
7 import "unsafe"
8
9 const (
10 _EINTR = 0x4
11 _EAGAIN = 0xb
12 _ENOMEM = 0xc
13 _ENOSYS = 0x26
14
15 _PROT_NONE = 0x0
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 _MADV_COLLAPSE = 0x19
29
30 _SA_RESTART = 0x10000000
31 _SA_ONSTACK = 0x8000000
32 _SA_RESTORER = 0x0
33 _SA_SIGINFO = 0x4
34
35 _SI_KERNEL = 0x80
36 _SI_TIMER = -0x2
37
38 _SIGHUP = 0x1
39 _SIGINT = 0x2
40 _SIGQUIT = 0x3
41 _SIGILL = 0x4
42 _SIGTRAP = 0x5
43 _SIGABRT = 0x6
44 _SIGBUS = 0x7
45 _SIGFPE = 0x8
46 _SIGKILL = 0x9
47 _SIGUSR1 = 0xa
48 _SIGSEGV = 0xb
49 _SIGUSR2 = 0xc
50 _SIGPIPE = 0xd
51 _SIGALRM = 0xe
52 _SIGSTKFLT = 0x10
53 _SIGCHLD = 0x11
54 _SIGCONT = 0x12
55 _SIGSTOP = 0x13
56 _SIGTSTP = 0x14
57 _SIGTTIN = 0x15
58 _SIGTTOU = 0x16
59 _SIGURG = 0x17
60 _SIGXCPU = 0x18
61 _SIGXFSZ = 0x19
62 _SIGVTALRM = 0x1a
63 _SIGPROF = 0x1b
64 _SIGWINCH = 0x1c
65 _SIGIO = 0x1d
66 _SIGPWR = 0x1e
67 _SIGSYS = 0x1f
68
69 _SIGRTMIN = 0x20
70
71 _FPE_INTDIV = 0x1
72 _FPE_INTOVF = 0x2
73 _FPE_FLTDIV = 0x3
74 _FPE_FLTOVF = 0x4
75 _FPE_FLTUND = 0x5
76 _FPE_FLTRES = 0x6
77 _FPE_FLTINV = 0x7
78 _FPE_FLTSUB = 0x8
79
80 _BUS_ADRALN = 0x1
81 _BUS_ADRERR = 0x2
82 _BUS_OBJERR = 0x3
83
84 _SEGV_MAPERR = 0x1
85 _SEGV_ACCERR = 0x2
86
87 _ITIMER_REAL = 0x0
88 _ITIMER_VIRTUAL = 0x1
89 _ITIMER_PROF = 0x2
90
91 _CLOCK_THREAD_CPUTIME_ID = 0x3
92
93 _SIGEV_THREAD_ID = 0x4
94 )
95
96 type timespec struct {
97 tv_sec int64
98 tv_nsec int64
99 }
100
101
102 func (ts *timespec) setNsec(ns int64) {
103 ts.tv_sec = ns / 1e9
104 ts.tv_nsec = ns % 1e9
105 }
106
107 type timeval struct {
108 tv_sec int64
109 tv_usec int64
110 }
111
112 func (tv *timeval) set_usec(x int32) {
113 tv.tv_usec = int64(x)
114 }
115
116 type sigactiont struct {
117 sa_handler uintptr
118 sa_flags uint64
119 sa_mask uint64
120
121
122 sa_restorer uintptr
123 }
124
125 type siginfoFields struct {
126 si_signo int32
127 si_errno int32
128 si_code int32
129
130 si_addr uint64
131 }
132
133 type siginfo struct {
134 siginfoFields
135
136
137 _ [_si_max_size - unsafe.Sizeof(siginfoFields{})]byte
138 }
139
140 type itimerspec struct {
141 it_interval timespec
142 it_value timespec
143 }
144
145 type itimerval struct {
146 it_interval timeval
147 it_value timeval
148 }
149
150 type sigeventFields struct {
151 value uintptr
152 signo int32
153 notify int32
154
155 sigev_notify_thread_id int32
156 }
157
158 type sigevent struct {
159 sigeventFields
160
161
162 _ [_sigev_max_size - unsafe.Sizeof(sigeventFields{})]byte
163 }
164
165 const (
166 _O_RDONLY = 0x0
167 _O_WRONLY = 0x1
168 _O_CREAT = 0x40
169 _O_TRUNC = 0x200
170 _O_NONBLOCK = 0x800
171 _O_CLOEXEC = 0x80000
172 )
173
174 type user_regs_struct struct {
175 pc uint64
176 ra uint64
177 sp uint64
178 gp uint64
179 tp uint64
180 t0 uint64
181 t1 uint64
182 t2 uint64
183 s0 uint64
184 s1 uint64
185 a0 uint64
186 a1 uint64
187 a2 uint64
188 a3 uint64
189 a4 uint64
190 a5 uint64
191 a6 uint64
192 a7 uint64
193 s2 uint64
194 s3 uint64
195 s4 uint64
196 s5 uint64
197 s6 uint64
198 s7 uint64
199 s8 uint64
200 s9 uint64
201 s10 uint64
202 s11 uint64
203 t3 uint64
204 t4 uint64
205 t5 uint64
206 t6 uint64
207 }
208
209 type user_fpregs_struct struct {
210 f [528]byte
211 }
212
213 type usigset struct {
214 us_x__val [16]uint64
215 }
216
217 type sigcontext struct {
218 sc_regs user_regs_struct
219 sc_fpregs user_fpregs_struct
220 }
221
222 type stackt struct {
223 ss_sp *byte
224 ss_flags int32
225 ss_size uintptr
226 }
227
228 type ucontext struct {
229 uc_flags uint64
230 uc_link *ucontext
231 uc_stack stackt
232 uc_sigmask usigset
233 uc_x__unused [0]uint8
234 uc_pad_cgo_0 [8]byte
235 uc_mcontext sigcontext
236 }
237
View as plain text