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_gs       uint32
108	sc_fs       uint32
109	sc_es       uint32
110	sc_ds       uint32
111	sc_edi      uint32
112	sc_esi      uint32
113	sc_ebp      uint32
114	sc_ebx      uint32
115	sc_edx      uint32
116	sc_ecx      uint32
117	sc_eax      uint32
118	sc_eip      uint32
119	sc_cs       uint32
120	sc_eflags   uint32
121	sc_esp      uint32
122	sc_ss       uint32
123	__sc_unused uint32
124	sc_mask     uint32
125	sc_trapno   uint32
126	sc_err      uint32
127	sc_fpstate  unsafe.Pointer
128}
129
130type siginfo struct {
131	si_signo int32
132	si_code  int32
133	si_errno int32
134	_data    [116]byte
135}
136
137type stackt struct {
138	ss_sp    uintptr
139	ss_size  uintptr
140	ss_flags int32
141}
142
143type timespec struct {
144	tv_sec  int64
145	tv_nsec int32
146}
147
148//go:nosplit
149func (ts *timespec) setNsec(ns int64) {
150	ts.tv_sec = int64(timediv(ns, 1e9, &ts.tv_nsec))
151}
152
153type timeval struct {
154	tv_sec  int64
155	tv_usec int32
156}
157
158func (tv *timeval) set_usec(x int32) {
159	tv.tv_usec = x
160}
161
162type itimerval struct {
163	it_interval timeval
164	it_value    timeval
165}
166
167type keventt struct {
168	ident  uint32
169	filter int16
170	flags  uint16
171	fflags uint32
172	data   int64
173	udata  *byte
174}
175
176type pthread uintptr
177type pthreadattr uintptr
178type pthreadcond uintptr
179type pthreadcondattr uintptr
180type pthreadmutex uintptr
181type pthreadmutexattr uintptr
182