|  | // Copyright 2014 The Go Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style | 
|  | // license that can be found in the LICENSE file. | 
|  |  | 
|  | // +build ignore | 
|  |  | 
|  | /* | 
|  | Input to cgo -cdefs | 
|  |  | 
|  | GOARCH=ppc64 cgo -cdefs defs_linux.go defs3_linux.go > defs_linux_ppc64.h | 
|  | */ | 
|  |  | 
|  | package runtime | 
|  |  | 
|  | /* | 
|  | #define size_t __kernel_size_t | 
|  | #define sigset_t __sigset_t // rename the sigset_t here otherwise cgo will complain about "inconsistent definitions for C.sigset_t" | 
|  | #define	_SYS_TYPES_H	// avoid inclusion of sys/types.h | 
|  | #include <asm/ucontext.h> | 
|  | #include <asm-generic/fcntl.h> | 
|  | */ | 
|  | import "C" | 
|  |  | 
|  | const ( | 
|  | O_RDONLY    = C.O_RDONLY | 
|  | O_CLOEXEC   = C.O_CLOEXEC | 
|  | SA_RESTORER = 0 // unused | 
|  | ) | 
|  |  | 
|  | type Usigset C.__sigset_t | 
|  |  | 
|  | // types used in sigcontext | 
|  | type Ptregs C.struct_pt_regs | 
|  | type Gregset C.elf_gregset_t | 
|  | type FPregset C.elf_fpregset_t | 
|  | type Vreg C.elf_vrreg_t | 
|  |  | 
|  | type StackT C.stack_t | 
|  |  | 
|  | // PPC64 uses sigcontext in place of mcontext in ucontext. | 
|  | // see http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/include/uapi/asm/ucontext.h | 
|  | type Sigcontext C.struct_sigcontext | 
|  | type Ucontext C.struct_ucontext |