github.com/m10x/go/src@v0.0.0-20220112094212-ba61592315da/runtime/defs_linux_riscv64.go (about)

     1  // Generated using cgo, then manually converted into appropriate naming and code
     2  // for the Go runtime.
     3  // go tool cgo -godefs defs_linux.go defs1_linux.go defs2_linux.go
     4  
     5  package runtime
     6  
     7  import "unsafe"
     8  
     9  const (
    10  	_EINTR  = 0x4
    11  	_EAGAIN = 0xb
    12  	_ENOMEM = 0xc
    13  	_ENOSYS = 0x26
    14  
    15  	_PROT_NONE  = 0x0
    16  	_PROT_READ  = 0x1
    17  	_PROT_WRITE = 0x2
    18  	_PROT_EXEC  = 0x4
    19  
    20  	_MAP_ANON    = 0x20
    21  	_MAP_PRIVATE = 0x2
    22  	_MAP_FIXED   = 0x10
    23  
    24  	_MADV_DONTNEED   = 0x4
    25  	_MADV_FREE       = 0x8
    26  	_MADV_HUGEPAGE   = 0xe
    27  	_MADV_NOHUGEPAGE = 0xf
    28  
    29  	_SA_RESTART  = 0x10000000
    30  	_SA_ONSTACK  = 0x8000000
    31  	_SA_RESTORER = 0x0
    32  	_SA_SIGINFO  = 0x4
    33  
    34  	_SI_KERNEL = 0x80
    35  	_SI_TIMER  = -0x2
    36  
    37  	_SIGHUP    = 0x1
    38  	_SIGINT    = 0x2
    39  	_SIGQUIT   = 0x3
    40  	_SIGILL    = 0x4
    41  	_SIGTRAP   = 0x5
    42  	_SIGABRT   = 0x6
    43  	_SIGBUS    = 0x7
    44  	_SIGFPE    = 0x8
    45  	_SIGKILL   = 0x9
    46  	_SIGUSR1   = 0xa
    47  	_SIGSEGV   = 0xb
    48  	_SIGUSR2   = 0xc
    49  	_SIGPIPE   = 0xd
    50  	_SIGALRM   = 0xe
    51  	_SIGSTKFLT = 0x10
    52  	_SIGCHLD   = 0x11
    53  	_SIGCONT   = 0x12
    54  	_SIGSTOP   = 0x13
    55  	_SIGTSTP   = 0x14
    56  	_SIGTTIN   = 0x15
    57  	_SIGTTOU   = 0x16
    58  	_SIGURG    = 0x17
    59  	_SIGXCPU   = 0x18
    60  	_SIGXFSZ   = 0x19
    61  	_SIGVTALRM = 0x1a
    62  	_SIGPROF   = 0x1b
    63  	_SIGWINCH  = 0x1c
    64  	_SIGIO     = 0x1d
    65  	_SIGPWR    = 0x1e
    66  	_SIGSYS    = 0x1f
    67  
    68  	_FPE_INTDIV = 0x1
    69  	_FPE_INTOVF = 0x2
    70  	_FPE_FLTDIV = 0x3
    71  	_FPE_FLTOVF = 0x4
    72  	_FPE_FLTUND = 0x5
    73  	_FPE_FLTRES = 0x6
    74  	_FPE_FLTINV = 0x7
    75  	_FPE_FLTSUB = 0x8
    76  
    77  	_BUS_ADRALN = 0x1
    78  	_BUS_ADRERR = 0x2
    79  	_BUS_OBJERR = 0x3
    80  
    81  	_SEGV_MAPERR = 0x1
    82  	_SEGV_ACCERR = 0x2
    83  
    84  	_ITIMER_REAL    = 0x0
    85  	_ITIMER_VIRTUAL = 0x1
    86  	_ITIMER_PROF    = 0x2
    87  
    88  	_CLOCK_THREAD_CPUTIME_ID = 0x3
    89  
    90  	_SIGEV_THREAD_ID = 0x4
    91  
    92  	_EPOLLIN       = 0x1
    93  	_EPOLLOUT      = 0x4
    94  	_EPOLLERR      = 0x8
    95  	_EPOLLHUP      = 0x10
    96  	_EPOLLRDHUP    = 0x2000
    97  	_EPOLLET       = 0x80000000
    98  	_EPOLL_CLOEXEC = 0x80000
    99  	_EPOLL_CTL_ADD = 0x1
   100  	_EPOLL_CTL_DEL = 0x2
   101  	_EPOLL_CTL_MOD = 0x3
   102  )
   103  
   104  type timespec struct {
   105  	tv_sec  int64
   106  	tv_nsec int64
   107  }
   108  
   109  //go:nosplit
   110  func (ts *timespec) setNsec(ns int64) {
   111  	ts.tv_sec = ns / 1e9
   112  	ts.tv_nsec = ns % 1e9
   113  }
   114  
   115  type timeval struct {
   116  	tv_sec  int64
   117  	tv_usec int64
   118  }
   119  
   120  func (tv *timeval) set_usec(x int32) {
   121  	tv.tv_usec = int64(x)
   122  }
   123  
   124  type sigactiont struct {
   125  	sa_handler uintptr
   126  	sa_flags   uint64
   127  	sa_mask    uint64
   128  	// Linux on riscv64 does not have the sa_restorer field, but the setsig
   129  	// function references it (for x86). Not much harm to include it at the end.
   130  	sa_restorer uintptr
   131  }
   132  
   133  type siginfoFields struct {
   134  	si_signo int32
   135  	si_errno int32
   136  	si_code  int32
   137  	// below here is a union; si_addr is the only field we use
   138  	si_addr uint64
   139  }
   140  
   141  type siginfo struct {
   142  	siginfoFields
   143  
   144  	// Pad struct to the max size in the kernel.
   145  	_ [_si_max_size - unsafe.Sizeof(siginfoFields{})]byte
   146  }
   147  
   148  type itimerspec struct {
   149  	it_interval timespec
   150  	it_value    timespec
   151  }
   152  
   153  type itimerval struct {
   154  	it_interval timeval
   155  	it_value    timeval
   156  }
   157  
   158  type sigeventFields struct {
   159  	value  uintptr
   160  	signo  int32
   161  	notify int32
   162  	// below here is a union; sigev_notify_thread_id is the only field we use
   163  	sigev_notify_thread_id int32
   164  }
   165  
   166  type sigevent struct {
   167  	sigeventFields
   168  
   169  	// Pad struct to the max size in the kernel.
   170  	_ [_sigev_max_size - unsafe.Sizeof(sigeventFields{})]byte
   171  }
   172  
   173  type epollevent struct {
   174  	events    uint32
   175  	pad_cgo_0 [4]byte
   176  	data      [8]byte // unaligned uintptr
   177  }
   178  
   179  const (
   180  	_O_RDONLY   = 0x0
   181  	_O_NONBLOCK = 0x800
   182  	_O_CLOEXEC  = 0x80000
   183  )
   184  
   185  type user_regs_struct struct {
   186  	pc  uint64
   187  	ra  uint64
   188  	sp  uint64
   189  	gp  uint64
   190  	tp  uint64
   191  	t0  uint64
   192  	t1  uint64
   193  	t2  uint64
   194  	s0  uint64
   195  	s1  uint64
   196  	a0  uint64
   197  	a1  uint64
   198  	a2  uint64
   199  	a3  uint64
   200  	a4  uint64
   201  	a5  uint64
   202  	a6  uint64
   203  	a7  uint64
   204  	s2  uint64
   205  	s3  uint64
   206  	s4  uint64
   207  	s5  uint64
   208  	s6  uint64
   209  	s7  uint64
   210  	s8  uint64
   211  	s9  uint64
   212  	s10 uint64
   213  	s11 uint64
   214  	t3  uint64
   215  	t4  uint64
   216  	t5  uint64
   217  	t6  uint64
   218  }
   219  
   220  type user_fpregs_struct struct {
   221  	f [528]byte
   222  }
   223  
   224  type usigset struct {
   225  	us_x__val [16]uint64
   226  }
   227  
   228  type sigcontext struct {
   229  	sc_regs   user_regs_struct
   230  	sc_fpregs user_fpregs_struct
   231  }
   232  
   233  type stackt struct {
   234  	ss_sp    *byte
   235  	ss_flags int32
   236  	ss_size  uintptr
   237  }
   238  
   239  type ucontext struct {
   240  	uc_flags     uint64
   241  	uc_link      *ucontext
   242  	uc_stack     stackt
   243  	uc_sigmask   usigset
   244  	uc_x__unused [0]uint8
   245  	uc_pad_cgo_0 [8]byte
   246  	uc_mcontext  sigcontext
   247  }