github.com/twelsh-aw/go/src@v0.0.0-20230516233729-a56fe86a7c81/runtime/defs_aix_ppc64.go (about)

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