| // Copyright 2018 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 -godefs |
| GOARCH=ppc64 go tool cgo -godefs defs_aix.go > defs_aix_ppc64_tmp.go |
| |
| This is only an helper to create defs_aix_ppc64.go |
| Go runtime functions require the "linux" name of fields (ss_sp, si_addr, etc) |
| However, AIX structures don't provide such names and must be modified. |
| |
| TODO(aix): create a script to automatise defs_aix creation. |
| |
| Modifications made: |
| - sigset replaced by a [4]uint64 array |
| - add sigset_all variable |
| - siginfo.si_addr uintptr instead of *byte |
| - add (*timeval) set_usec |
| - stackt.ss_sp uintptr instead of *byte |
| - stackt.ss_size uintptr instead of uint64 |
| - sigcontext.sc_jmpbuf context64 instead of jumbuf |
| - ucontext.__extctx is a uintptr because we don't need extctx struct |
| - ucontext.uc_mcontext: replace jumbuf structure by context64 structure |
| - sigaction.sa_handler represents union field as both are uintptr |
| - tstate.* replace *byte by uintptr |
| |
| |
| */ |
| |
| package runtime |
| |
| /* |
| |
| #include <sys/types.h> |
| #include <sys/errno.h> |
| #include <sys/time.h> |
| #include <sys/signal.h> |
| #include <sys/mman.h> |
| #include <sys/thread.h> |
| #include <sys/resource.h> |
| |
| #include <unistd.h> |
| #include <fcntl.h> |
| #include <pthread.h> |
| #include <semaphore.h> |
| */ |
| import "C" |
| |
| const ( |
| _EPERM = C.EPERM |
| _ENOENT = C.ENOENT |
| _EINTR = C.EINTR |
| _EAGAIN = C.EAGAIN |
| _ENOMEM = C.ENOMEM |
| _EACCES = C.EACCES |
| _EFAULT = C.EFAULT |
| _EINVAL = C.EINVAL |
| _ETIMEDOUT = C.ETIMEDOUT |
| |
| _PROT_NONE = C.PROT_NONE |
| _PROT_READ = C.PROT_READ |
| _PROT_WRITE = C.PROT_WRITE |
| _PROT_EXEC = C.PROT_EXEC |
| |
| _MAP_ANON = C.MAP_ANONYMOUS |
| _MAP_PRIVATE = C.MAP_PRIVATE |
| _MAP_FIXED = C.MAP_FIXED |
| _MADV_DONTNEED = C.MADV_DONTNEED |
| |
| _SIGHUP = C.SIGHUP |
| _SIGINT = C.SIGINT |
| _SIGQUIT = C.SIGQUIT |
| _SIGILL = C.SIGILL |
| _SIGTRAP = C.SIGTRAP |
| _SIGABRT = C.SIGABRT |
| _SIGBUS = C.SIGBUS |
| _SIGFPE = C.SIGFPE |
| _SIGKILL = C.SIGKILL |
| _SIGUSR1 = C.SIGUSR1 |
| _SIGSEGV = C.SIGSEGV |
| _SIGUSR2 = C.SIGUSR2 |
| _SIGPIPE = C.SIGPIPE |
| _SIGALRM = C.SIGALRM |
| _SIGCHLD = C.SIGCHLD |
| _SIGCONT = C.SIGCONT |
| _SIGSTOP = C.SIGSTOP |
| _SIGTSTP = C.SIGTSTP |
| _SIGTTIN = C.SIGTTIN |
| _SIGTTOU = C.SIGTTOU |
| _SIGURG = C.SIGURG |
| _SIGXCPU = C.SIGXCPU |
| _SIGXFSZ = C.SIGXFSZ |
| _SIGVTALRM = C.SIGVTALRM |
| _SIGPROF = C.SIGPROF |
| _SIGWINCH = C.SIGWINCH |
| _SIGIO = C.SIGIO |
| _SIGPWR = C.SIGPWR |
| _SIGSYS = C.SIGSYS |
| _SIGTERM = C.SIGTERM |
| _SIGEMT = C.SIGEMT |
| _SIGWAITING = C.SIGWAITING |
| |
| _FPE_INTDIV = C.FPE_INTDIV |
| _FPE_INTOVF = C.FPE_INTOVF |
| _FPE_FLTDIV = C.FPE_FLTDIV |
| _FPE_FLTOVF = C.FPE_FLTOVF |
| _FPE_FLTUND = C.FPE_FLTUND |
| _FPE_FLTRES = C.FPE_FLTRES |
| _FPE_FLTINV = C.FPE_FLTINV |
| _FPE_FLTSUB = C.FPE_FLTSUB |
| |
| _BUS_ADRALN = C.BUS_ADRALN |
| _BUS_ADRERR = C.BUS_ADRERR |
| _BUS_OBJERR = C.BUS_OBJERR |
| |
| _SEGV_MAPERR = C.SEGV_MAPERR |
| _SEGV_ACCERR = C.SEGV_ACCERR |
| |
| _ITIMER_REAL = C.ITIMER_REAL |
| _ITIMER_VIRTUAL = C.ITIMER_VIRTUAL |
| _ITIMER_PROF = C.ITIMER_PROF |
| |
| _O_RDONLY = C.O_RDONLY |
| |
| _SS_DISABLE = C.SS_DISABLE |
| _SI_USER = C.SI_USER |
| _SIG_BLOCK = C.SIG_BLOCK |
| _SIG_UNBLOCK = C.SIG_UNBLOCK |
| _SIG_SETMASK = C.SIG_SETMASK |
| |
| _SA_SIGINFO = C.SA_SIGINFO |
| _SA_RESTART = C.SA_RESTART |
| _SA_ONSTACK = C.SA_ONSTACK |
| |
| _PTHREAD_CREATE_DETACHED = C.PTHREAD_CREATE_DETACHED |
| |
| __SC_PAGE_SIZE = C._SC_PAGE_SIZE |
| __SC_NPROCESSORS_ONLN = C._SC_NPROCESSORS_ONLN |
| |
| _F_SETFD = C.F_SETFD |
| _F_SETFL = C.F_SETFL |
| _F_GETFD = C.F_GETFD |
| _F_GETFL = C.F_GETFL |
| _FD_CLOEXEC = C.FD_CLOEXEC |
| ) |
| |
| type sigset C.sigset_t |
| type siginfo C.siginfo_t |
| type timespec C.struct_timespec |
| type timestruc C.struct_timestruc_t |
| type timeval C.struct_timeval |
| type itimerval C.struct_itimerval |
| |
| type stackt C.stack_t |
| type sigcontext C.struct_sigcontext |
| type ucontext C.ucontext_t |
| type _Ctype_struct___extctx uint64 // ucontext use a pointer to this structure but it shouldn't be used |
| type jmpbuf C.struct___jmpbuf |
| type context64 C.struct___context64 |
| type sigactiont C.struct_sigaction |
| type tstate C.struct_tstate |
| type rusage C.struct_rusage |
| |
| type pthread C.pthread_t |
| type pthread_attr C.pthread_attr_t |
| |
| type semt C.sem_t |