1// created by cgo -cdefs and then converted to Go
2// cgo -cdefs defs_darwin.go
3
4package runtime
5
6import "unsafe"
7
8const (
9	_EINTR  = 0x4
10	_EFAULT = 0xe
11
12	_PROT_NONE  = 0x0
13	_PROT_READ  = 0x1
14	_PROT_WRITE = 0x2
15	_PROT_EXEC  = 0x4
16
17	_MAP_ANON    = 0x1000
18	_MAP_PRIVATE = 0x2
19	_MAP_FIXED   = 0x10
20
21	_MADV_DONTNEED = 0x4
22	_MADV_FREE     = 0x5
23
24	_MACH_MSG_TYPE_MOVE_RECEIVE   = 0x10
25	_MACH_MSG_TYPE_MOVE_SEND      = 0x11
26	_MACH_MSG_TYPE_MOVE_SEND_ONCE = 0x12
27	_MACH_MSG_TYPE_COPY_SEND      = 0x13
28	_MACH_MSG_TYPE_MAKE_SEND      = 0x14
29	_MACH_MSG_TYPE_MAKE_SEND_ONCE = 0x15
30	_MACH_MSG_TYPE_COPY_RECEIVE   = 0x16
31
32	_MACH_MSG_PORT_DESCRIPTOR         = 0x0
33	_MACH_MSG_OOL_DESCRIPTOR          = 0x1
34	_MACH_MSG_OOL_PORTS_DESCRIPTOR    = 0x2
35	_MACH_MSG_OOL_VOLATILE_DESCRIPTOR = 0x3
36
37	_MACH_MSGH_BITS_COMPLEX = 0x80000000
38
39	_MACH_SEND_MSG  = 0x1
40	_MACH_RCV_MSG   = 0x2
41	_MACH_RCV_LARGE = 0x4
42
43	_MACH_SEND_TIMEOUT   = 0x10
44	_MACH_SEND_INTERRUPT = 0x40
45	_MACH_SEND_ALWAYS    = 0x10000
46	_MACH_SEND_TRAILER   = 0x20000
47	_MACH_RCV_TIMEOUT    = 0x100
48	_MACH_RCV_NOTIFY     = 0x200
49	_MACH_RCV_INTERRUPT  = 0x400
50	_MACH_RCV_OVERWRITE  = 0x1000
51
52	_NDR_PROTOCOL_2_0      = 0x0
53	_NDR_INT_BIG_ENDIAN    = 0x0
54	_NDR_INT_LITTLE_ENDIAN = 0x1
55	_NDR_FLOAT_IEEE        = 0x0
56	_NDR_CHAR_ASCII        = 0x0
57
58	_SA_SIGINFO   = 0x40
59	_SA_RESTART   = 0x2
60	_SA_ONSTACK   = 0x1
61	_SA_USERTRAMP = 0x100
62	_SA_64REGSET  = 0x200
63
64	_SIGHUP    = 0x1
65	_SIGINT    = 0x2
66	_SIGQUIT   = 0x3
67	_SIGILL    = 0x4
68	_SIGTRAP   = 0x5
69	_SIGABRT   = 0x6
70	_SIGEMT    = 0x7
71	_SIGFPE    = 0x8
72	_SIGKILL   = 0x9
73	_SIGBUS    = 0xa
74	_SIGSEGV   = 0xb
75	_SIGSYS    = 0xc
76	_SIGPIPE   = 0xd
77	_SIGALRM   = 0xe
78	_SIGTERM   = 0xf
79	_SIGURG    = 0x10
80	_SIGSTOP   = 0x11
81	_SIGTSTP   = 0x12
82	_SIGCONT   = 0x13
83	_SIGCHLD   = 0x14
84	_SIGTTIN   = 0x15
85	_SIGTTOU   = 0x16
86	_SIGIO     = 0x17
87	_SIGXCPU   = 0x18
88	_SIGXFSZ   = 0x19
89	_SIGVTALRM = 0x1a
90	_SIGPROF   = 0x1b
91	_SIGWINCH  = 0x1c
92	_SIGINFO   = 0x1d
93	_SIGUSR1   = 0x1e
94	_SIGUSR2   = 0x1f
95
96	_FPE_INTDIV = 0x7
97	_FPE_INTOVF = 0x8
98	_FPE_FLTDIV = 0x1
99	_FPE_FLTOVF = 0x2
100	_FPE_FLTUND = 0x3
101	_FPE_FLTRES = 0x4
102	_FPE_FLTINV = 0x5
103	_FPE_FLTSUB = 0x6
104
105	_BUS_ADRALN = 0x1
106	_BUS_ADRERR = 0x2
107	_BUS_OBJERR = 0x3
108
109	_SEGV_MAPERR = 0x1
110	_SEGV_ACCERR = 0x2
111
112	_ITIMER_REAL    = 0x0
113	_ITIMER_VIRTUAL = 0x1
114	_ITIMER_PROF    = 0x2
115
116	_EV_ADD       = 0x1
117	_EV_DELETE    = 0x2
118	_EV_CLEAR     = 0x20
119	_EV_RECEIPT   = 0x40
120	_EV_ERROR     = 0x4000
121	_EVFILT_READ  = -0x1
122	_EVFILT_WRITE = -0x2
123)
124
125type machbody struct {
126	msgh_descriptor_count uint32
127}
128
129type machheader struct {
130	msgh_bits        uint32
131	msgh_size        uint32
132	msgh_remote_port uint32
133	msgh_local_port  uint32
134	msgh_reserved    uint32
135	msgh_id          int32
136}
137
138type machndr struct {
139	mig_vers     uint8
140	if_vers      uint8
141	reserved1    uint8
142	mig_encoding uint8
143	int_rep      uint8
144	char_rep     uint8
145	float_rep    uint8
146	reserved2    uint8
147}
148
149type machport struct {
150	name        uint32
151	pad1        uint32
152	pad2        uint16
153	disposition uint8
154	_type       uint8
155}
156
157type stackt struct {
158	ss_sp    *byte
159	ss_size  uintptr
160	ss_flags int32
161}
162
163type sigactiont struct {
164	__sigaction_u [4]byte
165	sa_tramp      unsafe.Pointer
166	sa_mask       uint32
167	sa_flags      int32
168}
169
170type usigactiont struct {
171	__sigaction_u [4]byte
172	sa_mask       uint32
173	sa_flags      int32
174}
175
176type siginfo struct {
177	si_signo  int32
178	si_errno  int32
179	si_code   int32
180	si_pid    int32
181	si_uid    uint32
182	si_status int32
183	si_addr   uint32
184	si_value  [4]byte
185	si_band   int32
186	__pad     [7]uint32
187}
188
189type timeval struct {
190	tv_sec  int32
191	tv_usec int32
192}
193
194func (tv *timeval) set_usec(x int32) {
195	tv.tv_usec = x
196}
197
198type itimerval struct {
199	it_interval timeval
200	it_value    timeval
201}
202
203type timespec struct {
204	tv_sec  int32
205	tv_nsec int32
206}
207
208type fpcontrol struct {
209	pad_cgo_0 [2]byte
210}
211
212type fpstatus struct {
213	pad_cgo_0 [2]byte
214}
215
216type regmmst struct {
217	mmst_reg  [10]int8
218	mmst_rsrv [6]int8
219}
220
221type regxmm struct {
222	xmm_reg [16]int8
223}
224
225type regs64 struct {
226	rax    uint64
227	rbx    uint64
228	rcx    uint64
229	rdx    uint64
230	rdi    uint64
231	rsi    uint64
232	rbp    uint64
233	rsp    uint64
234	r8     uint64
235	r9     uint64
236	r10    uint64
237	r11    uint64
238	r12    uint64
239	r13    uint64
240	r14    uint64
241	r15    uint64
242	rip    uint64
243	rflags uint64
244	cs     uint64
245	fs     uint64
246	gs     uint64
247}
248
249type floatstate64 struct {
250	fpu_reserved  [2]int32
251	fpu_fcw       fpcontrol
252	fpu_fsw       fpstatus
253	fpu_ftw       uint8
254	fpu_rsrv1     uint8
255	fpu_fop       uint16
256	fpu_ip        uint32
257	fpu_cs        uint16
258	fpu_rsrv2     uint16
259	fpu_dp        uint32
260	fpu_ds        uint16
261	fpu_rsrv3     uint16
262	fpu_mxcsr     uint32
263	fpu_mxcsrmask uint32
264	fpu_stmm0     regmmst
265	fpu_stmm1     regmmst
266	fpu_stmm2     regmmst
267	fpu_stmm3     regmmst
268	fpu_stmm4     regmmst
269	fpu_stmm5     regmmst
270	fpu_stmm6     regmmst
271	fpu_stmm7     regmmst
272	fpu_xmm0      regxmm
273	fpu_xmm1      regxmm
274	fpu_xmm2      regxmm
275	fpu_xmm3      regxmm
276	fpu_xmm4      regxmm
277	fpu_xmm5      regxmm
278	fpu_xmm6      regxmm
279	fpu_xmm7      regxmm
280	fpu_xmm8      regxmm
281	fpu_xmm9      regxmm
282	fpu_xmm10     regxmm
283	fpu_xmm11     regxmm
284	fpu_xmm12     regxmm
285	fpu_xmm13     regxmm
286	fpu_xmm14     regxmm
287	fpu_xmm15     regxmm
288	fpu_rsrv4     [96]int8
289	fpu_reserved1 int32
290}
291
292type exceptionstate64 struct {
293	trapno     uint16
294	cpu        uint16
295	err        uint32
296	faultvaddr uint64
297}
298
299type mcontext64 struct {
300	es exceptionstate64
301	ss regs64
302	fs floatstate64
303}
304
305type regs32 struct {
306	eax    uint32
307	ebx    uint32
308	ecx    uint32
309	edx    uint32
310	edi    uint32
311	esi    uint32
312	ebp    uint32
313	esp    uint32
314	ss     uint32
315	eflags uint32
316	eip    uint32
317	cs     uint32
318	ds     uint32
319	es     uint32
320	fs     uint32
321	gs     uint32
322}
323
324type floatstate32 struct {
325	fpu_reserved  [2]int32
326	fpu_fcw       fpcontrol
327	fpu_fsw       fpstatus
328	fpu_ftw       uint8
329	fpu_rsrv1     uint8
330	fpu_fop       uint16
331	fpu_ip        uint32
332	fpu_cs        uint16
333	fpu_rsrv2     uint16
334	fpu_dp        uint32
335	fpu_ds        uint16
336	fpu_rsrv3     uint16
337	fpu_mxcsr     uint32
338	fpu_mxcsrmask uint32
339	fpu_stmm0     regmmst
340	fpu_stmm1     regmmst
341	fpu_stmm2     regmmst
342	fpu_stmm3     regmmst
343	fpu_stmm4     regmmst
344	fpu_stmm5     regmmst
345	fpu_stmm6     regmmst
346	fpu_stmm7     regmmst
347	fpu_xmm0      regxmm
348	fpu_xmm1      regxmm
349	fpu_xmm2      regxmm
350	fpu_xmm3      regxmm
351	fpu_xmm4      regxmm
352	fpu_xmm5      regxmm
353	fpu_xmm6      regxmm
354	fpu_xmm7      regxmm
355	fpu_rsrv4     [224]int8
356	fpu_reserved1 int32
357}
358
359type exceptionstate32 struct {
360	trapno     uint16
361	cpu        uint16
362	err        uint32
363	faultvaddr uint32
364}
365
366type mcontext32 struct {
367	es exceptionstate32
368	ss regs32
369	fs floatstate32
370}
371
372type ucontext struct {
373	uc_onstack  int32
374	uc_sigmask  uint32
375	uc_stack    stackt
376	uc_link     *ucontext
377	uc_mcsize   uint32
378	uc_mcontext *mcontext32
379}
380
381type keventt struct {
382	ident  uint32
383	filter int16
384	flags  uint16
385	fflags uint32
386	data   int32
387	udata  *byte
388}
389