1// created by cgo -cdefs and then converted to Go
2// cgo -cdefs defs_dragonfly.go
3
4package runtime
5
6import "unsafe"
7
8const (
9	_EINTR  = 0x4
10	_EFAULT = 0xe
11	_EBUSY  = 0x10
12	_EAGAIN = 0x23
13
14	_PROT_NONE  = 0x0
15	_PROT_READ  = 0x1
16	_PROT_WRITE = 0x2
17	_PROT_EXEC  = 0x4
18
19	_MAP_ANON    = 0x1000
20	_MAP_PRIVATE = 0x2
21	_MAP_FIXED   = 0x10
22
23	_MADV_FREE = 0x5
24
25	_SA_SIGINFO = 0x40
26	_SA_RESTART = 0x2
27	_SA_ONSTACK = 0x1
28
29	_SIGHUP    = 0x1
30	_SIGINT    = 0x2
31	_SIGQUIT   = 0x3
32	_SIGILL    = 0x4
33	_SIGTRAP   = 0x5
34	_SIGABRT   = 0x6
35	_SIGEMT    = 0x7
36	_SIGFPE    = 0x8
37	_SIGKILL   = 0x9
38	_SIGBUS    = 0xa
39	_SIGSEGV   = 0xb
40	_SIGSYS    = 0xc
41	_SIGPIPE   = 0xd
42	_SIGALRM   = 0xe
43	_SIGTERM   = 0xf
44	_SIGURG    = 0x10
45	_SIGSTOP   = 0x11
46	_SIGTSTP   = 0x12
47	_SIGCONT   = 0x13
48	_SIGCHLD   = 0x14
49	_SIGTTIN   = 0x15
50	_SIGTTOU   = 0x16
51	_SIGIO     = 0x17
52	_SIGXCPU   = 0x18
53	_SIGXFSZ   = 0x19
54	_SIGVTALRM = 0x1a
55	_SIGPROF   = 0x1b
56	_SIGWINCH  = 0x1c
57	_SIGINFO   = 0x1d
58	_SIGUSR1   = 0x1e
59	_SIGUSR2   = 0x1f
60
61	_FPE_INTDIV = 0x2
62	_FPE_INTOVF = 0x1
63	_FPE_FLTDIV = 0x3
64	_FPE_FLTOVF = 0x4
65	_FPE_FLTUND = 0x5
66	_FPE_FLTRES = 0x6
67	_FPE_FLTINV = 0x7
68	_FPE_FLTSUB = 0x8
69
70	_BUS_ADRALN = 0x1
71	_BUS_ADRERR = 0x2
72	_BUS_OBJERR = 0x3
73
74	_SEGV_MAPERR = 0x1
75	_SEGV_ACCERR = 0x2
76
77	_ITIMER_REAL    = 0x0
78	_ITIMER_VIRTUAL = 0x1
79	_ITIMER_PROF    = 0x2
80
81	_EV_ADD       = 0x1
82	_EV_DELETE    = 0x2
83	_EV_CLEAR     = 0x20
84	_EV_ERROR     = 0x4000
85	_EV_EOF       = 0x8000
86	_EVFILT_READ  = -0x1
87	_EVFILT_WRITE = -0x2
88)
89
90type rtprio struct {
91	_type uint16
92	prio  uint16
93}
94
95type lwpparams struct {
96	start_func uintptr
97	arg        unsafe.Pointer
98	stack      uintptr
99	tid1       unsafe.Pointer // *int32
100	tid2       unsafe.Pointer // *int32
101}
102
103type sigset struct {
104	__bits [4]uint32
105}
106
107type stackt struct {
108	ss_sp     uintptr
109	ss_size   uintptr
110	ss_flags  int32
111	pad_cgo_0 [4]byte
112}
113
114type siginfo struct {
115	si_signo  int32
116	si_errno  int32
117	si_code   int32
118	si_pid    int32
119	si_uid    uint32
120	si_status int32
121	si_addr   uint64
122	si_value  [8]byte
123	si_band   int64
124	__spare__ [7]int32
125	pad_cgo_0 [4]byte
126}
127
128type mcontext struct {
129	mc_onstack  uint64
130	mc_rdi      uint64
131	mc_rsi      uint64
132	mc_rdx      uint64
133	mc_rcx      uint64
134	mc_r8       uint64
135	mc_r9       uint64
136	mc_rax      uint64
137	mc_rbx      uint64
138	mc_rbp      uint64
139	mc_r10      uint64
140	mc_r11      uint64
141	mc_r12      uint64
142	mc_r13      uint64
143	mc_r14      uint64
144	mc_r15      uint64
145	mc_xflags   uint64
146	mc_trapno   uint64
147	mc_addr     uint64
148	mc_flags    uint64
149	mc_err      uint64
150	mc_rip      uint64
151	mc_cs       uint64
152	mc_rflags   uint64
153	mc_rsp      uint64
154	mc_ss       uint64
155	mc_len      uint32
156	mc_fpformat uint32
157	mc_ownedfp  uint32
158	mc_reserved uint32
159	mc_unused   [8]uint32
160	mc_fpregs   [256]int32
161}
162
163type ucontext struct {
164	uc_sigmask  sigset
165	pad_cgo_0   [48]byte
166	uc_mcontext mcontext
167	uc_link     *ucontext
168	uc_stack    stackt
169	__spare__   [8]int32
170}
171
172type timespec struct {
173	tv_sec  int64
174	tv_nsec int64
175}
176
177//go:nosplit
178func (ts *timespec) setNsec(ns int64) {
179	ts.tv_sec = ns / 1e9
180	ts.tv_nsec = ns % 1e9
181}
182
183type timeval struct {
184	tv_sec  int64
185	tv_usec int64
186}
187
188func (tv *timeval) set_usec(x int32) {
189	tv.tv_usec = int64(x)
190}
191
192type itimerval struct {
193	it_interval timeval
194	it_value    timeval
195}
196
197type keventt struct {
198	ident  uint64
199	filter int16
200	flags  uint16
201	fflags uint32
202	data   int64
203	udata  *byte
204}
205