]> Cypherpunks.ru repositories - gostls13.git/blob - src/runtime/defs_linux_amd64.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / src / runtime / defs_linux_amd64.go
1 // created by cgo -cdefs and then converted to Go
2 // cgo -cdefs defs_linux.go defs1_linux.go
3
4 package runtime
5
6 import "unsafe"
7
8 const (
9         _EINTR  = 0x4
10         _EAGAIN = 0xb
11         _ENOMEM = 0xc
12
13         _PROT_NONE  = 0x0
14         _PROT_READ  = 0x1
15         _PROT_WRITE = 0x2
16         _PROT_EXEC  = 0x4
17
18         _MAP_ANON    = 0x20
19         _MAP_PRIVATE = 0x2
20         _MAP_FIXED   = 0x10
21
22         _MADV_DONTNEED   = 0x4
23         _MADV_FREE       = 0x8
24         _MADV_HUGEPAGE   = 0xe
25         _MADV_NOHUGEPAGE = 0xf
26         _MADV_COLLAPSE   = 0x19
27
28         _SA_RESTART  = 0x10000000
29         _SA_ONSTACK  = 0x8000000
30         _SA_RESTORER = 0x4000000
31         _SA_SIGINFO  = 0x4
32
33         _SI_KERNEL = 0x80
34         _SI_TIMER  = -0x2
35
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
67         _SIGRTMIN = 0x20
68
69         _FPE_INTDIV = 0x1
70         _FPE_INTOVF = 0x2
71         _FPE_FLTDIV = 0x3
72         _FPE_FLTOVF = 0x4
73         _FPE_FLTUND = 0x5
74         _FPE_FLTRES = 0x6
75         _FPE_FLTINV = 0x7
76         _FPE_FLTSUB = 0x8
77
78         _BUS_ADRALN = 0x1
79         _BUS_ADRERR = 0x2
80         _BUS_OBJERR = 0x3
81
82         _SEGV_MAPERR = 0x1
83         _SEGV_ACCERR = 0x2
84
85         _ITIMER_REAL    = 0x0
86         _ITIMER_VIRTUAL = 0x1
87         _ITIMER_PROF    = 0x2
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  int64
99         tv_nsec int64
100 }
101
102 //go:nosplit
103 func (ts *timespec) setNsec(ns int64) {
104         ts.tv_sec = ns / 1e9
105         ts.tv_nsec = ns % 1e9
106 }
107
108 type timeval struct {
109         tv_sec  int64
110         tv_usec int64
111 }
112
113 func (tv *timeval) set_usec(x int32) {
114         tv.tv_usec = int64(x)
115 }
116
117 type sigactiont struct {
118         sa_handler  uintptr
119         sa_flags    uint64
120         sa_restorer uintptr
121         sa_mask     uint64
122 }
123
124 type siginfoFields struct {
125         si_signo int32
126         si_errno int32
127         si_code  int32
128         // below here is a union; si_addr is the only field we use
129         si_addr uint64
130 }
131
132 type siginfo struct {
133         siginfoFields
134
135         // Pad struct to the max size in the kernel.
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         // below here is a union; sigev_notify_thread_id is the only field we use
154         sigev_notify_thread_id int32
155 }
156
157 type sigevent struct {
158         sigeventFields
159
160         // Pad struct to the max size in the kernel.
161         _ [_sigev_max_size - unsafe.Sizeof(sigeventFields{})]byte
162 }
163
164 // created by cgo -cdefs and then converted to Go
165 // cgo -cdefs defs_linux.go defs1_linux.go
166
167 const (
168         _O_RDONLY   = 0x0
169         _O_WRONLY   = 0x1
170         _O_CREAT    = 0x40
171         _O_TRUNC    = 0x200
172         _O_NONBLOCK = 0x800
173         _O_CLOEXEC  = 0x80000
174 )
175
176 type usigset struct {
177         __val [16]uint64
178 }
179
180 type fpxreg struct {
181         significand [4]uint16
182         exponent    uint16
183         padding     [3]uint16
184 }
185
186 type xmmreg struct {
187         element [4]uint32
188 }
189
190 type fpstate struct {
191         cwd       uint16
192         swd       uint16
193         ftw       uint16
194         fop       uint16
195         rip       uint64
196         rdp       uint64
197         mxcsr     uint32
198         mxcr_mask uint32
199         _st       [8]fpxreg
200         _xmm      [16]xmmreg
201         padding   [24]uint32
202 }
203
204 type fpxreg1 struct {
205         significand [4]uint16
206         exponent    uint16
207         padding     [3]uint16
208 }
209
210 type xmmreg1 struct {
211         element [4]uint32
212 }
213
214 type fpstate1 struct {
215         cwd       uint16
216         swd       uint16
217         ftw       uint16
218         fop       uint16
219         rip       uint64
220         rdp       uint64
221         mxcsr     uint32
222         mxcr_mask uint32
223         _st       [8]fpxreg1
224         _xmm      [16]xmmreg1
225         padding   [24]uint32
226 }
227
228 type fpreg1 struct {
229         significand [4]uint16
230         exponent    uint16
231 }
232
233 type stackt struct {
234         ss_sp     *byte
235         ss_flags  int32
236         pad_cgo_0 [4]byte
237         ss_size   uintptr
238 }
239
240 type mcontext struct {
241         gregs       [23]uint64
242         fpregs      *fpstate
243         __reserved1 [8]uint64
244 }
245
246 type ucontext struct {
247         uc_flags     uint64
248         uc_link      *ucontext
249         uc_stack     stackt
250         uc_mcontext  mcontext
251         uc_sigmask   usigset
252         __fpregs_mem fpstate
253 }
254
255 type sigcontext struct {
256         r8          uint64
257         r9          uint64
258         r10         uint64
259         r11         uint64
260         r12         uint64
261         r13         uint64
262         r14         uint64
263         r15         uint64
264         rdi         uint64
265         rsi         uint64
266         rbp         uint64
267         rbx         uint64
268         rdx         uint64
269         rax         uint64
270         rcx         uint64
271         rsp         uint64
272         rip         uint64
273         eflags      uint64
274         cs          uint16
275         gs          uint16
276         fs          uint16
277         __pad0      uint16
278         err         uint64
279         trapno      uint64
280         oldmask     uint64
281         cr2         uint64
282         fpstate     *fpstate1
283         __reserved1 [8]uint64
284 }
285
286 type sockaddr_un struct {
287         family uint16
288         path   [108]byte
289 }