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