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