Source file src/runtime/defs_aix_ppc64.go

     1  // Copyright 2018 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  //go:build aix
     6  
     7  package runtime
     8  
     9  const (
    10  	_EPERM     = 0x1
    11  	_ENOENT    = 0x2
    12  	_EINTR     = 0x4
    13  	_EAGAIN    = 0xb
    14  	_ENOMEM    = 0xc
    15  	_EACCES    = 0xd
    16  	_EFAULT    = 0xe
    17  	_EINVAL    = 0x16
    18  	_ETIMEDOUT = 0x4e
    19  
    20  	_PROT_NONE  = 0x0
    21  	_PROT_READ  = 0x1
    22  	_PROT_WRITE = 0x2
    23  	_PROT_EXEC  = 0x4
    24  
    25  	_MAP_ANON      = 0x10
    26  	_MAP_PRIVATE   = 0x2
    27  	_MAP_FIXED     = 0x100
    28  	_MADV_DONTNEED = 0x4
    29  
    30  	_SIGHUP     = 0x1
    31  	_SIGINT     = 0x2
    32  	_SIGQUIT    = 0x3
    33  	_SIGILL     = 0x4
    34  	_SIGTRAP    = 0x5
    35  	_SIGABRT    = 0x6
    36  	_SIGBUS     = 0xa
    37  	_SIGFPE     = 0x8
    38  	_SIGKILL    = 0x9
    39  	_SIGUSR1    = 0x1e
    40  	_SIGSEGV    = 0xb
    41  	_SIGUSR2    = 0x1f
    42  	_SIGPIPE    = 0xd
    43  	_SIGALRM    = 0xe
    44  	_SIGCHLD    = 0x14
    45  	_SIGCONT    = 0x13
    46  	_SIGSTOP    = 0x11
    47  	_SIGTSTP    = 0x12
    48  	_SIGTTIN    = 0x15
    49  	_SIGTTOU    = 0x16
    50  	_SIGURG     = 0x10
    51  	_SIGXCPU    = 0x18
    52  	_SIGXFSZ    = 0x19
    53  	_SIGVTALRM  = 0x22
    54  	_SIGPROF    = 0x20
    55  	_SIGWINCH   = 0x1c
    56  	_SIGIO      = 0x17
    57  	_SIGPWR     = 0x1d
    58  	_SIGSYS     = 0xc
    59  	_SIGTERM    = 0xf
    60  	_SIGEMT     = 0x7
    61  	_SIGWAITING = 0x27
    62  
    63  	_FPE_INTDIV = 0x14
    64  	_FPE_INTOVF = 0x15
    65  	_FPE_FLTDIV = 0x16
    66  	_FPE_FLTOVF = 0x17
    67  	_FPE_FLTUND = 0x18
    68  	_FPE_FLTRES = 0x19
    69  	_FPE_FLTINV = 0x1a
    70  	_FPE_FLTSUB = 0x1b
    71  
    72  	_BUS_ADRALN = 0x1
    73  	_BUS_ADRERR = 0x2
    74  	_BUS_OBJERR = 0x3
    75  	_
    76  	_SEGV_MAPERR = 0x32
    77  	_SEGV_ACCERR = 0x33
    78  
    79  	_ITIMER_REAL    = 0x0
    80  	_ITIMER_VIRTUAL = 0x1
    81  	_ITIMER_PROF    = 0x2
    82  
    83  	_O_RDONLY   = 0x0
    84  	_O_NONBLOCK = 0x4
    85  
    86  	_SS_DISABLE  = 0x2
    87  	_SI_USER     = 0x0
    88  	_SIG_BLOCK   = 0x0
    89  	_SIG_UNBLOCK = 0x1
    90  	_SIG_SETMASK = 0x2
    91  
    92  	_SA_SIGINFO = 0x100
    93  	_SA_RESTART = 0x8
    94  	_SA_ONSTACK = 0x1
    95  
    96  	_PTHREAD_CREATE_DETACHED = 0x1
    97  
    98  	__SC_PAGE_SIZE        = 0x30
    99  	__SC_NPROCESSORS_ONLN = 0x48
   100  
   101  	_F_SETFD    = 0x2
   102  	_F_SETFL    = 0x4
   103  	_F_GETFD    = 0x1
   104  	_F_GETFL    = 0x3
   105  	_FD_CLOEXEC = 0x1
   106  )
   107  
   108  type sigset [4]uint64
   109  
   110  var sigset_all = sigset{^uint64(0), ^uint64(0), ^uint64(0), ^uint64(0)}
   111  
   112  type siginfo struct {
   113  	si_signo   int32
   114  	si_errno   int32
   115  	si_code    int32
   116  	si_pid     int32
   117  	si_uid     uint32
   118  	si_status  int32
   119  	si_addr    uintptr
   120  	si_band    int64
   121  	si_value   [2]int32 // [8]byte
   122  	__si_flags int32
   123  	__pad      [3]int32
   124  }
   125  
   126  type timespec struct {
   127  	tv_sec  int64
   128  	tv_nsec int64
   129  }
   130  
   131  //go:nosplit
   132  func (ts *timespec) setNsec(ns int64) {
   133  	ts.tv_sec = ns / 1e9
   134  	ts.tv_nsec = ns % 1e9
   135  }
   136  
   137  type timeval struct {
   138  	tv_sec    int64
   139  	tv_usec   int32
   140  	pad_cgo_0 [4]byte
   141  }
   142  
   143  func (tv *timeval) set_usec(x int32) {
   144  	tv.tv_usec = x
   145  }
   146  
   147  type itimerval struct {
   148  	it_interval timeval
   149  	it_value    timeval
   150  }
   151  
   152  type stackt struct {
   153  	ss_sp     uintptr
   154  	ss_size   uintptr
   155  	ss_flags  int32
   156  	__pad     [4]int32
   157  	pas_cgo_0 [4]byte
   158  }
   159  
   160  type sigcontext struct {
   161  	sc_onstack int32
   162  	pad_cgo_0  [4]byte
   163  	sc_mask    sigset
   164  	sc_uerror  int32
   165  	sc_jmpbuf  context64
   166  }
   167  
   168  type ucontext struct {
   169  	__sc_onstack   int32
   170  	pad_cgo_0      [4]byte
   171  	uc_sigmask     sigset
   172  	__sc_error     int32
   173  	pad_cgo_1      [4]byte
   174  	uc_mcontext    context64
   175  	uc_link        *ucontext
   176  	uc_stack       stackt
   177  	__extctx       uintptr // pointer to struct __extctx but we don't use it
   178  	__extctx_magic int32
   179  	__pad          int32
   180  }
   181  
   182  type context64 struct {
   183  	gpr        [32]uint64
   184  	msr        uint64
   185  	iar        uint64
   186  	lr         uint64
   187  	ctr        uint64
   188  	cr         uint32
   189  	xer        uint32
   190  	fpscr      uint32
   191  	fpscrx     uint32
   192  	except     [1]uint64
   193  	fpr        [32]float64
   194  	fpeu       uint8
   195  	fpinfo     uint8
   196  	fpscr24_31 uint8
   197  	pad        [1]uint8
   198  	excp_type  int32
   199  }
   200  
   201  type sigactiont struct {
   202  	sa_handler uintptr // a union of two pointer
   203  	sa_mask    sigset
   204  	sa_flags   int32
   205  	pad_cgo_0  [4]byte
   206  }
   207  
   208  type pthread uint32
   209  type pthread_attr *byte
   210  
   211  type semt int32
   212  

View as plain text