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