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_WRONLY   = 0x1
    85  	_O_NONBLOCK = 0x4
    86  	_O_CREAT    = 0x100
    87  	_O_TRUNC    = 0x200
    88  
    89  	_SS_DISABLE  = 0x2
    90  	_SI_USER     = 0x0
    91  	_SIG_BLOCK   = 0x0
    92  	_SIG_UNBLOCK = 0x1
    93  	_SIG_SETMASK = 0x2
    94  
    95  	_SA_SIGINFO = 0x100
    96  	_SA_RESTART = 0x8
    97  	_SA_ONSTACK = 0x1
    98  
    99  	_PTHREAD_CREATE_DETACHED = 0x1
   100  
   101  	__SC_PAGE_SIZE        = 0x30
   102  	__SC_NPROCESSORS_ONLN = 0x48
   103  
   104  	_F_SETFL = 0x4
   105  	_F_GETFD = 0x1
   106  	_F_GETFL = 0x3
   107  )
   108  
   109  type sigset [4]uint64
   110  
   111  var sigset_all = sigset{^uint64(0), ^uint64(0), ^uint64(0), ^uint64(0)}
   112  
   113  type siginfo struct {
   114  	si_signo   int32
   115  	si_errno   int32
   116  	si_code    int32
   117  	si_pid     int32
   118  	si_uid     uint32
   119  	si_status  int32
   120  	si_addr    uintptr
   121  	si_band    int64
   122  	si_value   [2]int32 // [8]byte
   123  	__si_flags int32
   124  	__pad      [3]int32
   125  }
   126  
   127  type timespec struct {
   128  	tv_sec  int64
   129  	tv_nsec int64
   130  }
   131  
   132  //go:nosplit
   133  func (ts *timespec) setNsec(ns int64) {
   134  	ts.tv_sec = ns / 1e9
   135  	ts.tv_nsec = ns % 1e9
   136  }
   137  
   138  type timeval struct {
   139  	tv_sec    int64
   140  	tv_usec   int32
   141  	pad_cgo_0 [4]byte
   142  }
   143  
   144  func (tv *timeval) set_usec(x int32) {
   145  	tv.tv_usec = x
   146  }
   147  
   148  type itimerval struct {
   149  	it_interval timeval
   150  	it_value    timeval
   151  }
   152  
   153  type stackt struct {
   154  	ss_sp     uintptr
   155  	ss_size   uintptr
   156  	ss_flags  int32
   157  	__pad     [4]int32
   158  	pas_cgo_0 [4]byte
   159  }
   160  
   161  type sigcontext struct {
   162  	sc_onstack int32
   163  	pad_cgo_0  [4]byte
   164  	sc_mask    sigset
   165  	sc_uerror  int32
   166  	sc_jmpbuf  context64
   167  }
   168  
   169  type ucontext struct {
   170  	__sc_onstack   int32
   171  	pad_cgo_0      [4]byte
   172  	uc_sigmask     sigset
   173  	__sc_error     int32
   174  	pad_cgo_1      [4]byte
   175  	uc_mcontext    context64
   176  	uc_link        *ucontext
   177  	uc_stack       stackt
   178  	__extctx       uintptr // pointer to struct __extctx but we don't use it
   179  	__extctx_magic int32
   180  	__pad          int32
   181  }
   182  
   183  type context64 struct {
   184  	gpr        [32]uint64
   185  	msr        uint64
   186  	iar        uint64
   187  	lr         uint64
   188  	ctr        uint64
   189  	cr         uint32
   190  	xer        uint32
   191  	fpscr      uint32
   192  	fpscrx     uint32
   193  	except     [1]uint64
   194  	fpr        [32]float64
   195  	fpeu       uint8
   196  	fpinfo     uint8
   197  	fpscr24_31 uint8
   198  	pad        [1]uint8
   199  	excp_type  int32
   200  }
   201  
   202  type sigactiont struct {
   203  	sa_handler uintptr // a union of two pointer
   204  	sa_mask    sigset
   205  	sa_flags   int32
   206  	pad_cgo_0  [4]byte
   207  }
   208  
   209  type pthread uint32
   210  type pthread_attr *byte
   211  
   212  type semt int32
   213  

View as plain text