Source file
src/runtime/defs_linux_loong64.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_SIGINFO = 0x4
33 _SA_RESTORER = 0x0
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 itimerspec struct {
117 it_interval timespec
118 it_value timespec
119 }
120
121 type itimerval struct {
122 it_interval timeval
123 it_value timeval
124 }
125
126 type sigeventFields struct {
127 value uintptr
128 signo int32
129 notify int32
130
131 sigev_notify_thread_id int32
132 }
133
134 type sigevent struct {
135 sigeventFields
136
137 _ [_sigev_max_size - unsafe.Sizeof(sigeventFields{})]byte
138 }
139
140 const (
141 _O_RDONLY = 0x0
142 _O_WRONLY = 0x1
143 _O_CREAT = 0x40
144 _O_TRUNC = 0x200
145 _O_NONBLOCK = 0x800
146 _O_CLOEXEC = 0x80000
147 )
148
149 type sigactiont struct {
150 sa_handler uintptr
151 sa_flags uint64
152 sa_mask uint64
153
154
155 sa_restorer uintptr
156 }
157
158 type siginfoFields struct {
159 si_signo int32
160 si_errno int32
161 si_code int32
162 __pad0 [1]int32
163
164 si_addr uint64
165 }
166
167 type siginfo struct {
168 siginfoFields
169
170 _ [_si_max_size - unsafe.Sizeof(siginfoFields{})]byte
171 }
172
173 type usigset struct {
174 val [16]uint64
175 }
176
177 type stackt struct {
178 ss_sp *byte
179 ss_flags int32
180 pad_cgo_0 [4]byte
181 ss_size uintptr
182 }
183
184 type sigcontext struct {
185 sc_pc uint64
186 sc_regs [32]uint64
187 sc_flags uint32
188 sc_pad0 [1]uint32
189 sc_extcontext [0]uint64
190 }
191
192 type ucontext struct {
193 uc_flags uint64
194 uc_link *ucontext
195 uc_stack stackt
196 uc_sigmask usigset
197 uc_x_unused [0]uint8
198 uc_pad_cgo_0 [8]byte
199 uc_mcontext sigcontext
200 }
201
View as plain text