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	mc_onstack       uint32
165	mc_gs            uint32
166	mc_fs            uint32
167	mc_es            uint32
168	mc_ds            uint32
169	mc_edi           uint32
170	mc_esi           uint32
171	mc_ebp           uint32
172	mc_isp           uint32
173	mc_ebx           uint32
174	mc_edx           uint32
175	mc_ecx           uint32
176	mc_eax           uint32
177	mc_trapno        uint32
178	mc_err           uint32
179	mc_eip           uint32
180	mc_cs            uint32
181	mc_eflags        uint32
182	mc_esp           uint32
183	mc_ss            uint32
184	mc_len           uint32
185	mc_fpformat      uint32
186	mc_ownedfp       uint32
187	mc_flags         uint32
188	mc_fpstate       [128]uint32
189	mc_fsbase        uint32
190	mc_gsbase        uint32
191	mc_xfpustate     uint32
192	mc_xfpustate_len uint32
193	mc_spare2        [4]uint32
194}
195
196type ucontext struct {
197	uc_sigmask  sigset
198	uc_mcontext mcontext
199	uc_link     *ucontext
200	uc_stack    stackt
201	uc_flags    int32
202	__spare__   [4]int32
203	pad_cgo_0   [12]byte
204}
205
206type timespec struct {
207	tv_sec  int32
208	tv_nsec int32
209}
210
211//go:nosplit
212func (ts *timespec) setNsec(ns int64) {
213	ts.tv_sec = timediv(ns, 1e9, &ts.tv_nsec)
214}
215
216type timeval struct {
217	tv_sec  int32
218	tv_usec int32
219}
220
221func (tv *timeval) set_usec(x int32) {
222	tv.tv_usec = x
223}
224
225type itimerval struct {
226	it_interval timeval
227	it_value    timeval
228}
229
230type umtx_time struct {
231	_timeout timespec
232	_flags   uint32
233	_clockid uint32
234}
235
236type keventt struct {
237	ident  uint32
238	filter int16
239	flags  uint16
240	fflags uint32
241	data   int64
242	udata  *byte
243	ext    [4]uint64
244}
245
246type bintime struct {
247	sec  int32
248	frac uint64
249}
250
251type vdsoTimehands struct {
252	algo         uint32
253	gen          uint32
254	scale        uint64
255	offset_count uint32
256	counter_mask uint32
257	offset       bintime
258	boottime     bintime
259	x86_shift    uint32
260	x86_hpet_idx uint32
261	res          [6]uint32
262}
263
264type vdsoTimekeep struct {
265	ver     uint32
266	enabled uint32
267	current uint32
268}
269
270const (
271	_VDSO_TK_VER_CURR = 0x1
272
273	vdsoTimehandsSize = 0x50
274	vdsoTimekeepSize  = 0xc
275)
276