github.com/megatontech/mynoteforgo@v0.0.0-20200507084910-5d0c6ea6e890/源码/runtime/defs_linux_arm.go (about) 1 package runtime 2 3 // Constants 4 const ( 5 _EINTR = 0x4 6 _ENOMEM = 0xc 7 _EAGAIN = 0xb 8 9 _PROT_NONE = 0 10 _PROT_READ = 0x1 11 _PROT_WRITE = 0x2 12 _PROT_EXEC = 0x4 13 14 _MAP_ANON = 0x20 15 _MAP_PRIVATE = 0x2 16 _MAP_FIXED = 0x10 17 18 _MADV_DONTNEED = 0x4 19 _MADV_FREE = 0x8 20 _MADV_HUGEPAGE = 0xe 21 _MADV_NOHUGEPAGE = 0xf 22 23 _SA_RESTART = 0x10000000 24 _SA_ONSTACK = 0x8000000 25 _SA_RESTORER = 0 // unused on ARM 26 _SA_SIGINFO = 0x4 27 _SIGHUP = 0x1 28 _SIGINT = 0x2 29 _SIGQUIT = 0x3 30 _SIGILL = 0x4 31 _SIGTRAP = 0x5 32 _SIGABRT = 0x6 33 _SIGBUS = 0x7 34 _SIGFPE = 0x8 35 _SIGKILL = 0x9 36 _SIGUSR1 = 0xa 37 _SIGSEGV = 0xb 38 _SIGUSR2 = 0xc 39 _SIGPIPE = 0xd 40 _SIGALRM = 0xe 41 _SIGSTKFLT = 0x10 42 _SIGCHLD = 0x11 43 _SIGCONT = 0x12 44 _SIGSTOP = 0x13 45 _SIGTSTP = 0x14 46 _SIGTTIN = 0x15 47 _SIGTTOU = 0x16 48 _SIGURG = 0x17 49 _SIGXCPU = 0x18 50 _SIGXFSZ = 0x19 51 _SIGVTALRM = 0x1a 52 _SIGPROF = 0x1b 53 _SIGWINCH = 0x1c 54 _SIGIO = 0x1d 55 _SIGPWR = 0x1e 56 _SIGSYS = 0x1f 57 _FPE_INTDIV = 0x1 58 _FPE_INTOVF = 0x2 59 _FPE_FLTDIV = 0x3 60 _FPE_FLTOVF = 0x4 61 _FPE_FLTUND = 0x5 62 _FPE_FLTRES = 0x6 63 _FPE_FLTINV = 0x7 64 _FPE_FLTSUB = 0x8 65 _BUS_ADRALN = 0x1 66 _BUS_ADRERR = 0x2 67 _BUS_OBJERR = 0x3 68 _SEGV_MAPERR = 0x1 69 _SEGV_ACCERR = 0x2 70 _ITIMER_REAL = 0 71 _ITIMER_PROF = 0x2 72 _ITIMER_VIRTUAL = 0x1 73 _O_RDONLY = 0 74 _O_CLOEXEC = 0x80000 75 76 _EPOLLIN = 0x1 77 _EPOLLOUT = 0x4 78 _EPOLLERR = 0x8 79 _EPOLLHUP = 0x10 80 _EPOLLRDHUP = 0x2000 81 _EPOLLET = 0x80000000 82 _EPOLL_CLOEXEC = 0x80000 83 _EPOLL_CTL_ADD = 0x1 84 _EPOLL_CTL_DEL = 0x2 85 _EPOLL_CTL_MOD = 0x3 86 87 _AF_UNIX = 0x1 88 _F_SETFL = 0x4 89 _SOCK_DGRAM = 0x2 90 ) 91 92 type timespec struct { 93 tv_sec int32 94 tv_nsec int32 95 } 96 97 func (ts *timespec) set_sec(x int64) { 98 ts.tv_sec = int32(x) 99 } 100 101 func (ts *timespec) set_nsec(x int32) { 102 ts.tv_nsec = x 103 } 104 105 type stackt struct { 106 ss_sp *byte 107 ss_flags int32 108 ss_size uintptr 109 } 110 111 type sigcontext struct { 112 trap_no uint32 113 error_code uint32 114 oldmask uint32 115 r0 uint32 116 r1 uint32 117 r2 uint32 118 r3 uint32 119 r4 uint32 120 r5 uint32 121 r6 uint32 122 r7 uint32 123 r8 uint32 124 r9 uint32 125 r10 uint32 126 fp uint32 127 ip uint32 128 sp uint32 129 lr uint32 130 pc uint32 131 cpsr uint32 132 fault_address uint32 133 } 134 135 type ucontext struct { 136 uc_flags uint32 137 uc_link *ucontext 138 uc_stack stackt 139 uc_mcontext sigcontext 140 uc_sigmask uint32 141 __unused [31]int32 142 uc_regspace [128]uint32 143 } 144 145 type timeval struct { 146 tv_sec int32 147 tv_usec int32 148 } 149 150 func (tv *timeval) set_usec(x int32) { 151 tv.tv_usec = x 152 } 153 154 type itimerval struct { 155 it_interval timeval 156 it_value timeval 157 } 158 159 type siginfo struct { 160 si_signo int32 161 si_errno int32 162 si_code int32 163 // below here is a union; si_addr is the only field we use 164 si_addr uint32 165 } 166 167 type sigactiont struct { 168 sa_handler uintptr 169 sa_flags uint32 170 sa_restorer uintptr 171 sa_mask uint64 172 } 173 174 type epollevent struct { 175 events uint32 176 _pad uint32 177 data [8]byte // to match amd64 178 } 179 180 type sockaddr_un struct { 181 family uint16 182 path [108]byte 183 }