1// created by cgo -cdefs and then converted to Go
2// cgo -cdefs defs_openbsd.go
3
4package runtime
5
6import "unsafe"
7
8const (
9	_EINTR     = 0x4
10	_EFAULT    = 0xe
11	_EAGAIN    = 0x23
12	_ETIMEDOUT = 0x3c
13
14	_O_WRONLY   = 0x1
15	_O_NONBLOCK = 0x4
16	_O_CREAT    = 0x200
17	_O_TRUNC    = 0x400
18	_O_CLOEXEC  = 0x10000
19
20	_PROT_NONE  = 0x0
21	_PROT_READ  = 0x1
22	_PROT_WRITE = 0x2
23	_PROT_EXEC  = 0x4
24
25	_MAP_ANON    = 0x1000
26	_MAP_PRIVATE = 0x2
27	_MAP_FIXED   = 0x10
28	_MAP_STACK   = 0x4000
29
30	_MADV_DONTNEED = 0x4
31	_MADV_FREE     = 0x6
32
33	_SA_SIGINFO = 0x40
34	_SA_RESTART = 0x2
35	_SA_ONSTACK = 0x1
36
37	_PTHREAD_CREATE_DETACHED = 0x1
38
39	_SIGHUP    = 0x1
40	_SIGINT    = 0x2
41	_SIGQUIT   = 0x3
42	_SIGILL    = 0x4
43	_SIGTRAP   = 0x5
44	_SIGABRT   = 0x6
45	_SIGEMT    = 0x7
46	_SIGFPE    = 0x8
47	_SIGKILL   = 0x9
48	_SIGBUS    = 0xa
49	_SIGSEGV   = 0xb
50	_SIGSYS    = 0xc
51	_SIGPIPE   = 0xd
52	_SIGALRM   = 0xe
53	_SIGTERM   = 0xf
54	_SIGURG    = 0x10
55	_SIGSTOP   = 0x11
56	_SIGTSTP   = 0x12
57	_SIGCONT   = 0x13
58	_SIGCHLD   = 0x14
59	_SIGTTIN   = 0x15
60	_SIGTTOU   = 0x16
61	_SIGIO     = 0x17
62	_SIGXCPU   = 0x18
63	_SIGXFSZ   = 0x19
64	_SIGVTALRM = 0x1a
65	_SIGPROF   = 0x1b
66	_SIGWINCH  = 0x1c
67	_SIGINFO   = 0x1d
68	_SIGUSR1   = 0x1e
69	_SIGUSR2   = 0x1f
70
71	_FPE_INTDIV = 0x1
72	_FPE_INTOVF = 0x2
73	_FPE_FLTDIV = 0x3
74	_FPE_FLTOVF = 0x4
75	_FPE_FLTUND = 0x5
76	_FPE_FLTRES = 0x6
77	_FPE_FLTINV = 0x7
78	_FPE_FLTSUB = 0x8
79
80	_BUS_ADRALN = 0x1
81	_BUS_ADRERR = 0x2
82	_BUS_OBJERR = 0x3
83
84	_SEGV_MAPERR = 0x1
85	_SEGV_ACCERR = 0x2
86
87	_ITIMER_REAL    = 0x0
88	_ITIMER_VIRTUAL = 0x1
89	_ITIMER_PROF    = 0x2
90
91	_EV_ADD       = 0x1
92	_EV_DELETE    = 0x2
93	_EV_CLEAR     = 0x20
94	_EV_ERROR     = 0x4000
95	_EV_EOF       = 0x8000
96	_EVFILT_READ  = -0x1
97	_EVFILT_WRITE = -0x2
98)
99
100type tforkt struct {
101	tf_tcb   unsafe.Pointer
102	tf_tid   *int32
103	tf_stack uintptr
104}
105
106type sigcontext struct {
107	sc_rdi      uint64
108	sc_rsi      uint64
109	sc_rdx      uint64
110	sc_rcx      uint64
111	sc_r8       uint64
112	sc_r9       uint64
113	sc_r10      uint64
114	sc_r11      uint64
115	sc_r12      uint64
116	sc_r13      uint64
117	sc_r14      uint64
118	sc_r15      uint64
119	sc_rbp      uint64
120	sc_rbx      uint64
121	sc_rax      uint64
122	sc_gs       uint64
123	sc_fs       uint64
124	sc_es       uint64
125	sc_ds       uint64
126	sc_trapno   uint64
127	sc_err      uint64
128	sc_rip      uint64
129	sc_cs       uint64
130	sc_rflags   uint64
131	sc_rsp      uint64
132	sc_ss       uint64
133	sc_fpstate  unsafe.Pointer
134	__sc_unused int32
135	sc_mask     int32
136}
137
138type siginfo struct {
139	si_signo  int32
140	si_code   int32
141	si_errno  int32
142	pad_cgo_0 [4]byte
143	_data     [120]byte
144}
145
146type stackt struct {
147	ss_sp     uintptr
148	ss_size   uintptr
149	ss_flags  int32
150	pad_cgo_0 [4]byte
151}
152
153type timespec struct {
154	tv_sec  int64
155	tv_nsec int64
156}
157
158//go:nosplit
159func (ts *timespec) setNsec(ns int64) {
160	ts.tv_sec = ns / 1e9
161	ts.tv_nsec = ns % 1e9
162}
163
164type timeval struct {
165	tv_sec  int64
166	tv_usec int64
167}
168
169func (tv *timeval) set_usec(x int32) {
170	tv.tv_usec = int64(x)
171}
172
173type itimerval struct {
174	it_interval timeval
175	it_value    timeval
176}
177
178type keventt struct {
179	ident  uint64
180	filter int16
181	flags  uint16
182	fflags uint32
183	data   int64
184	udata  *byte
185}
186
187type pthread uintptr
188type pthreadattr uintptr
189type pthreadcond uintptr
190type pthreadcondattr uintptr
191type pthreadmutex uintptr
192type pthreadmutexattr uintptr
193