1 // created by cgo -cdefs and then converted to Go 2 // cgo -cdefs defs_freebsd.go 3 4 package runtime 5 6 import "unsafe" 7 8 const ( 9 _EINTR = 0x4 10 _EFAULT = 0xe 11 12 _PROT_NONE = 0x0 13 _PROT_READ = 0x1 14 _PROT_WRITE = 0x2 15 _PROT_EXEC = 0x4 16 17 _MAP_ANON = 0x1000 18 _MAP_PRIVATE = 0x2 19 _MAP_FIXED = 0x10 20 21 _MADV_FREE = 0x5 22 23 _SA_SIGINFO = 0x40 24 _SA_RESTART = 0x2 25 _SA_ONSTACK = 0x1 26 27 _CLOCK_MONOTONIC = 0x4 28 29 _UMTX_OP_WAIT_UINT = 0xb 30 _UMTX_OP_WAIT_UINT_PRIVATE = 0xf 31 _UMTX_OP_WAKE = 0x3 32 _UMTX_OP_WAKE_PRIVATE = 0x10 33 34 _SIGHUP = 0x1 35 _SIGINT = 0x2 36 _SIGQUIT = 0x3 37 _SIGILL = 0x4 38 _SIGTRAP = 0x5 39 _SIGABRT = 0x6 40 _SIGEMT = 0x7 41 _SIGFPE = 0x8 42 _SIGKILL = 0x9 43 _SIGBUS = 0xa 44 _SIGSEGV = 0xb 45 _SIGSYS = 0xc 46 _SIGPIPE = 0xd 47 _SIGALRM = 0xe 48 _SIGTERM = 0xf 49 _SIGURG = 0x10 50 _SIGSTOP = 0x11 51 _SIGTSTP = 0x12 52 _SIGCONT = 0x13 53 _SIGCHLD = 0x14 54 _SIGTTIN = 0x15 55 _SIGTTOU = 0x16 56 _SIGIO = 0x17 57 _SIGXCPU = 0x18 58 _SIGXFSZ = 0x19 59 _SIGVTALRM = 0x1a 60 _SIGPROF = 0x1b 61 _SIGWINCH = 0x1c 62 _SIGINFO = 0x1d 63 _SIGUSR1 = 0x1e 64 _SIGUSR2 = 0x1f 65 66 _FPE_INTDIV = 0x2 67 _FPE_INTOVF = 0x1 68 _FPE_FLTDIV = 0x3 69 _FPE_FLTOVF = 0x4 70 _FPE_FLTUND = 0x5 71 _FPE_FLTRES = 0x6 72 _FPE_FLTINV = 0x7 73 _FPE_FLTSUB = 0x8 74 75 _BUS_ADRALN = 0x1 76 _BUS_ADRERR = 0x2 77 _BUS_OBJERR = 0x3 78 79 _SEGV_MAPERR = 0x1 80 _SEGV_ACCERR = 0x2 81 82 _ITIMER_REAL = 0x0 83 _ITIMER_VIRTUAL = 0x1 84 _ITIMER_PROF = 0x2 85 86 _EV_ADD = 0x1 87 _EV_DELETE = 0x2 88 _EV_CLEAR = 0x20 89 _EV_RECEIPT = 0x40 90 _EV_ERROR = 0x4000 91 _EVFILT_READ = -0x1 92 _EVFILT_WRITE = -0x2 93 ) 94 95 type rtprio struct { 96 _type uint16 97 prio uint16 98 } 99 100 type thrparam struct { 101 start_func uintptr 102 arg unsafe.Pointer 103 stack_base uintptr 104 stack_size uintptr 105 tls_base unsafe.Pointer 106 tls_size uintptr 107 child_tid unsafe.Pointer // *int32 108 parent_tid *int32 109 flags int32 110 rtp *rtprio 111 spare [3]uintptr 112 } 113 114 type sigset struct { 115 __bits [4]uint32 116 } 117 118 type stackt struct { 119 ss_sp uintptr 120 ss_size uintptr 121 ss_flags int32 122 } 123 124 type siginfo struct { 125 si_signo int32 126 si_errno int32 127 si_code int32 128 si_pid int32 129 si_uid uint32 130 si_status int32 131 si_addr uintptr 132 si_value [4]byte 133 _reason [32]byte 134 } 135 136 type mcontext struct { 137 mc_onstack uint32 138 mc_gs uint32 139 mc_fs uint32 140 mc_es uint32 141 mc_ds uint32 142 mc_edi uint32 143 mc_esi uint32 144 mc_ebp uint32 145 mc_isp uint32 146 mc_ebx uint32 147 mc_edx uint32 148 mc_ecx uint32 149 mc_eax uint32 150 mc_trapno uint32 151 mc_err uint32 152 mc_eip uint32 153 mc_cs uint32 154 mc_eflags uint32 155 mc_esp uint32 156 mc_ss uint32 157 mc_len uint32 158 mc_fpformat uint32 159 mc_ownedfp uint32 160 mc_flags uint32 161 mc_fpstate [128]uint32 162 mc_fsbase uint32 163 mc_gsbase uint32 164 mc_xfpustate uint32 165 mc_xfpustate_len uint32 166 mc_spare2 [4]uint32 167 } 168 169 type ucontext struct { 170 uc_sigmask sigset 171 uc_mcontext mcontext 172 uc_link *ucontext 173 uc_stack stackt 174 uc_flags int32 175 __spare__ [4]int32 176 pad_cgo_0 [12]byte 177 } 178 179 type timespec struct { 180 tv_sec int32 181 tv_nsec int32 182 } 183 184 func (ts *timespec) set_sec(x int64) { 185 ts.tv_sec = int32(x) 186 } 187 188 type timeval struct { 189 tv_sec int32 190 tv_usec int32 191 } 192 193 func (tv *timeval) set_usec(x int32) { 194 tv.tv_usec = x 195 } 196 197 type itimerval struct { 198 it_interval timeval 199 it_value timeval 200 } 201 202 type umtx_time struct { 203 _timeout timespec 204 _flags uint32 205 _clockid uint32 206 } 207 208 type keventt struct { 209 ident uint32 210 filter int16 211 flags uint16 212 fflags uint32 213 data int32 214 udata *byte 215 } 216