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