1// Code generated by cgo, then manually converted into appropriate naming and code
2// for the Go runtime.
3// go tool cgo -godefs defs_freebsd.go
4
5package runtime
6
7import "unsafe"
8
9const (
10	_NBBY            = 0x8
11	_CTL_MAXNAME     = 0x18
12	_CPU_LEVEL_WHICH = 0x3
13	_CPU_WHICH_PID   = 0x2
14)
15
16const (
17	_EINTR     = 0x4
18	_EFAULT    = 0xe
19	_EAGAIN    = 0x23
20	_ETIMEDOUT = 0x3c
21
22	_O_WRONLY   = 0x1
23	_O_NONBLOCK = 0x4
24	_O_CREAT    = 0x200
25	_O_TRUNC    = 0x400
26	_O_CLOEXEC  = 0x100000
27
28	_PROT_NONE  = 0x0
29	_PROT_READ  = 0x1
30	_PROT_WRITE = 0x2
31	_PROT_EXEC  = 0x4
32
33	_MAP_ANON    = 0x1000
34	_MAP_SHARED  = 0x1
35	_MAP_PRIVATE = 0x2
36	_MAP_FIXED   = 0x10
37
38	_MADV_DONTNEED = 0x4
39	_MADV_FREE     = 0x5
40
41	_SA_SIGINFO = 0x40
42	_SA_RESTART = 0x2
43	_SA_ONSTACK = 0x1
44
45	_CLOCK_MONOTONIC = 0x4
46	_CLOCK_REALTIME  = 0x0
47
48	_UMTX_OP_WAIT_UINT         = 0xb
49	_UMTX_OP_WAIT_UINT_PRIVATE = 0xf
50	_UMTX_OP_WAKE              = 0x3
51	_UMTX_OP_WAKE_PRIVATE      = 0x10
52
53	_SIGHUP    = 0x1
54	_SIGINT    = 0x2
55	_SIGQUIT   = 0x3
56	_SIGILL    = 0x4
57	_SIGTRAP   = 0x5
58	_SIGABRT   = 0x6
59	_SIGEMT    = 0x7
60	_SIGFPE    = 0x8
61	_SIGKILL   = 0x9
62	_SIGBUS    = 0xa
63	_SIGSEGV   = 0xb
64	_SIGSYS    = 0xc
65	_SIGPIPE   = 0xd
66	_SIGALRM   = 0xe
67	_SIGTERM   = 0xf
68	_SIGURG    = 0x10
69	_SIGSTOP   = 0x11
70	_SIGTSTP   = 0x12
71	_SIGCONT   = 0x13
72	_SIGCHLD   = 0x14
73	_SIGTTIN   = 0x15
74	_SIGTTOU   = 0x16
75	_SIGIO     = 0x17
76	_SIGXCPU   = 0x18
77	_SIGXFSZ   = 0x19
78	_SIGVTALRM = 0x1a
79	_SIGPROF   = 0x1b
80	_SIGWINCH  = 0x1c
81	_SIGINFO   = 0x1d
82	_SIGUSR1   = 0x1e
83	_SIGUSR2   = 0x1f
84
85	_FPE_INTDIV = 0x2
86	_FPE_INTOVF = 0x1
87	_FPE_FLTDIV = 0x3
88	_FPE_FLTOVF = 0x4
89	_FPE_FLTUND = 0x5
90	_FPE_FLTRES = 0x6
91	_FPE_FLTINV = 0x7
92	_FPE_FLTSUB = 0x8
93
94	_BUS_ADRALN = 0x1
95	_BUS_ADRERR = 0x2
96	_BUS_OBJERR = 0x3
97
98	_SEGV_MAPERR = 0x1
99	_SEGV_ACCERR = 0x2
100
101	_ITIMER_REAL    = 0x0
102	_ITIMER_VIRTUAL = 0x1
103	_ITIMER_PROF    = 0x2
104
105	_EV_ADD       = 0x1
106	_EV_DELETE    = 0x2
107	_EV_ENABLE    = 0x4
108	_EV_DISABLE   = 0x8
109	_EV_CLEAR     = 0x20
110	_EV_RECEIPT   = 0x40
111	_EV_ERROR     = 0x4000
112	_EV_EOF       = 0x8000
113	_EVFILT_READ  = -0x1
114	_EVFILT_WRITE = -0x2
115	_EVFILT_USER  = -0xb
116
117	_NOTE_TRIGGER = 0x1000000
118)
119
120type rtprio struct {
121	_type uint16
122	prio  uint16
123}
124
125type thrparam struct {
126	start_func uintptr
127	arg        unsafe.Pointer
128	stack_base uintptr
129	stack_size uintptr
130	tls_base   unsafe.Pointer
131	tls_size   uintptr
132	child_tid  unsafe.Pointer // *int32
133	parent_tid *int32
134	flags      int32
135	rtp        *rtprio
136	spare      [3]uintptr
137}
138
139type thread int32 // long
140
141type sigset struct {
142	__bits [4]uint32
143}
144
145type stackt struct {
146	ss_sp    uintptr
147	ss_size  uintptr
148	ss_flags int32
149}
150
151type siginfo struct {
152	si_signo  int32
153	si_errno  int32
154	si_code   int32
155	si_pid    int32
156	si_uid    uint32
157	si_status int32
158	si_addr   uintptr
159	si_value  [4]byte
160	_reason   [32]byte
161}
162
163type mcontext struct {
164	__gregs [17]uint32
165	__fpu   [140]byte
166}
167
168type ucontext struct {
169	uc_sigmask  sigset
170	uc_mcontext mcontext
171	uc_link     *ucontext
172	uc_stack    stackt
173	uc_flags    int32
174	__spare__   [4]int32
175}
176
177type timespec struct {
178	tv_sec    int64
179	tv_nsec   int32
180	pad_cgo_0 [4]byte
181}
182
183//go:nosplit
184func (ts *timespec) setNsec(ns int64) {
185	ts.tv_sec = int64(timediv(ns, 1e9, &ts.tv_nsec))
186}
187
188type timeval struct {
189	tv_sec    int64
190	tv_usec   int32
191	pad_cgo_0 [4]byte
192}
193
194func (tv *timeval) set_usec(x int32) {
195	tv.tv_usec = x
196}
197
198type itimerval struct {
199	it_interval timeval
200	it_value    timeval
201}
202
203type umtx_time struct {
204	_timeout timespec
205	_flags   uint32
206	_clockid uint32
207}
208
209type keventt struct {
210	ident     uint32
211	filter    int16
212	flags     uint16
213	fflags    uint32
214	pad_cgo_0 [4]byte
215	data      int64
216	udata     *byte
217	pad_cgo_1 [4]byte
218	ext       [4]uint64
219}
220
221type bintime struct {
222	sec  int64
223	frac uint64
224}
225
226type vdsoTimehands struct {
227	algo         uint32
228	gen          uint32
229	scale        uint64
230	offset_count uint32
231	counter_mask uint32
232	offset       bintime
233	boottime     bintime
234	physical     uint32
235	res          [7]uint32
236}
237
238type vdsoTimekeep struct {
239	ver       uint32
240	enabled   uint32
241	current   uint32
242	pad_cgo_0 [4]byte
243}
244
245const (
246	_VDSO_TK_VER_CURR = 0x1
247
248	vdsoTimehandsSize = 0x58
249	vdsoTimekeepSize  = 0x10
250)
251