]> Cypherpunks.ru repositories - gostls13.git/blob - src/runtime/defs_linux_arm64.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / src / runtime / defs_linux_arm64.go
1 // Created by cgo -cdefs and converted (by hand) to Go
2 // ../cmd/cgo/cgo -cdefs defs_linux.go defs1_linux.go defs2_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 = 0x0 // Only used on intel
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 by hand
165 // ../cmd/cgo/cgo -cdefs defs_linux.go defs1_linux.go defs2_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 stackt struct {
181         ss_sp     *byte
182         ss_flags  int32
183         pad_cgo_0 [4]byte
184         ss_size   uintptr
185 }
186
187 type sigcontext struct {
188         fault_address uint64
189         /* AArch64 registers */
190         regs       [31]uint64
191         sp         uint64
192         pc         uint64
193         pstate     uint64
194         _pad       [8]byte // __attribute__((__aligned__(16)))
195         __reserved [4096]byte
196 }
197
198 type sockaddr_un struct {
199         family uint16
200         path   [108]byte
201 }
202
203 type ucontext struct {
204         uc_flags    uint64
205         uc_link     *ucontext
206         uc_stack    stackt
207         uc_sigmask  uint64
208         _pad        [(1024 - 64) / 8]byte
209         _pad2       [8]byte // sigcontext must be aligned to 16-byte
210         uc_mcontext sigcontext
211 }