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_unused int32
108	sc_mask     int32
109
110	sc_spsr   uint32
111	sc_r0     uint32
112	sc_r1     uint32
113	sc_r2     uint32
114	sc_r3     uint32
115	sc_r4     uint32
116	sc_r5     uint32
117	sc_r6     uint32
118	sc_r7     uint32
119	sc_r8     uint32
120	sc_r9     uint32
121	sc_r10    uint32
122	sc_r11    uint32
123	sc_r12    uint32
124	sc_usr_sp uint32
125	sc_usr_lr uint32
126	sc_svc_lr uint32
127	sc_pc     uint32
128	sc_fpused uint32
129	sc_fpscr  uint32
130	sc_fpreg  [32]uint64
131}
132
133type siginfo struct {
134	si_signo  int32
135	si_code   int32
136	si_errno  int32
137	pad_cgo_0 [4]byte
138	_data     [120]byte
139}
140
141type stackt struct {
142	ss_sp    uintptr
143	ss_size  uintptr
144	ss_flags int32
145}
146
147type timespec struct {
148	tv_sec    int64
149	tv_nsec   int32
150	pad_cgo_0 [4]byte
151}
152
153//go:nosplit
154func (ts *timespec) setNsec(ns int64) {
155	ts.tv_sec = int64(timediv(ns, 1e9, &ts.tv_nsec))
156}
157
158type timeval struct {
159	tv_sec    int64
160	tv_usec   int32
161	pad_cgo_0 [4]byte
162}
163
164func (tv *timeval) set_usec(x int32) {
165	tv.tv_usec = x
166}
167
168type itimerval struct {
169	it_interval timeval
170	it_value    timeval
171}
172
173type keventt struct {
174	ident     uint32
175	filter    int16
176	flags     uint16
177	fflags    uint32
178	pad_cgo_0 [4]byte
179	data      int64
180	udata     *byte
181	pad_cgo_1 [4]byte
182}
183
184type pthread uintptr
185type pthreadattr uintptr
186type pthreadcond uintptr
187type pthreadcondattr uintptr
188type pthreadmutex uintptr
189type pthreadmutexattr uintptr
190