Home | History | Annotate | Download | only in runtime
      1 // created by cgo -cdefs and then converted to Go
      2 // cgo -cdefs defs_darwin.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_DONTNEED = 0x4
     22 	_MADV_FREE     = 0x5
     23 
     24 	_MACH_MSG_TYPE_MOVE_RECEIVE   = 0x10
     25 	_MACH_MSG_TYPE_MOVE_SEND      = 0x11
     26 	_MACH_MSG_TYPE_MOVE_SEND_ONCE = 0x12
     27 	_MACH_MSG_TYPE_COPY_SEND      = 0x13
     28 	_MACH_MSG_TYPE_MAKE_SEND      = 0x14
     29 	_MACH_MSG_TYPE_MAKE_SEND_ONCE = 0x15
     30 	_MACH_MSG_TYPE_COPY_RECEIVE   = 0x16
     31 
     32 	_MACH_MSG_PORT_DESCRIPTOR         = 0x0
     33 	_MACH_MSG_OOL_DESCRIPTOR          = 0x1
     34 	_MACH_MSG_OOL_PORTS_DESCRIPTOR    = 0x2
     35 	_MACH_MSG_OOL_VOLATILE_DESCRIPTOR = 0x3
     36 
     37 	_MACH_MSGH_BITS_COMPLEX = 0x80000000
     38 
     39 	_MACH_SEND_MSG  = 0x1
     40 	_MACH_RCV_MSG   = 0x2
     41 	_MACH_RCV_LARGE = 0x4
     42 
     43 	_MACH_SEND_TIMEOUT   = 0x10
     44 	_MACH_SEND_INTERRUPT = 0x40
     45 	_MACH_SEND_ALWAYS    = 0x10000
     46 	_MACH_SEND_TRAILER   = 0x20000
     47 	_MACH_RCV_TIMEOUT    = 0x100
     48 	_MACH_RCV_NOTIFY     = 0x200
     49 	_MACH_RCV_INTERRUPT  = 0x400
     50 	_MACH_RCV_OVERWRITE  = 0x1000
     51 
     52 	_NDR_PROTOCOL_2_0      = 0x0
     53 	_NDR_INT_BIG_ENDIAN    = 0x0
     54 	_NDR_INT_LITTLE_ENDIAN = 0x1
     55 	_NDR_FLOAT_IEEE        = 0x0
     56 	_NDR_CHAR_ASCII        = 0x0
     57 
     58 	_SA_SIGINFO   = 0x40
     59 	_SA_RESTART   = 0x2
     60 	_SA_ONSTACK   = 0x1
     61 	_SA_USERTRAMP = 0x100
     62 	_SA_64REGSET  = 0x200
     63 
     64 	_SIGHUP    = 0x1
     65 	_SIGINT    = 0x2
     66 	_SIGQUIT   = 0x3
     67 	_SIGILL    = 0x4
     68 	_SIGTRAP   = 0x5
     69 	_SIGABRT   = 0x6
     70 	_SIGEMT    = 0x7
     71 	_SIGFPE    = 0x8
     72 	_SIGKILL   = 0x9
     73 	_SIGBUS    = 0xa
     74 	_SIGSEGV   = 0xb
     75 	_SIGSYS    = 0xc
     76 	_SIGPIPE   = 0xd
     77 	_SIGALRM   = 0xe
     78 	_SIGTERM   = 0xf
     79 	_SIGURG    = 0x10
     80 	_SIGSTOP   = 0x11
     81 	_SIGTSTP   = 0x12
     82 	_SIGCONT   = 0x13
     83 	_SIGCHLD   = 0x14
     84 	_SIGTTIN   = 0x15
     85 	_SIGTTOU   = 0x16
     86 	_SIGIO     = 0x17
     87 	_SIGXCPU   = 0x18
     88 	_SIGXFSZ   = 0x19
     89 	_SIGVTALRM = 0x1a
     90 	_SIGPROF   = 0x1b
     91 	_SIGWINCH  = 0x1c
     92 	_SIGINFO   = 0x1d
     93 	_SIGUSR1   = 0x1e
     94 	_SIGUSR2   = 0x1f
     95 
     96 	_FPE_INTDIV = 0x7
     97 	_FPE_INTOVF = 0x8
     98 	_FPE_FLTDIV = 0x1
     99 	_FPE_FLTOVF = 0x2
    100 	_FPE_FLTUND = 0x3
    101 	_FPE_FLTRES = 0x4
    102 	_FPE_FLTINV = 0x5
    103 	_FPE_FLTSUB = 0x6
    104 
    105 	_BUS_ADRALN = 0x1
    106 	_BUS_ADRERR = 0x2
    107 	_BUS_OBJERR = 0x3
    108 
    109 	_SEGV_MAPERR = 0x1
    110 	_SEGV_ACCERR = 0x2
    111 
    112 	_ITIMER_REAL    = 0x0
    113 	_ITIMER_VIRTUAL = 0x1
    114 	_ITIMER_PROF    = 0x2
    115 
    116 	_EV_ADD       = 0x1
    117 	_EV_DELETE    = 0x2
    118 	_EV_CLEAR     = 0x20
    119 	_EV_RECEIPT   = 0x40
    120 	_EV_ERROR     = 0x4000
    121 	_EV_EOF       = 0x8000
    122 	_EVFILT_READ  = -0x1
    123 	_EVFILT_WRITE = -0x2
    124 )
    125 
    126 type machbody struct {
    127 	msgh_descriptor_count uint32
    128 }
    129 
    130 type machheader struct {
    131 	msgh_bits        uint32
    132 	msgh_size        uint32
    133 	msgh_remote_port uint32
    134 	msgh_local_port  uint32
    135 	msgh_reserved    uint32
    136 	msgh_id          int32
    137 }
    138 
    139 type machndr struct {
    140 	mig_vers     uint8
    141 	if_vers      uint8
    142 	reserved1    uint8
    143 	mig_encoding uint8
    144 	int_rep      uint8
    145 	char_rep     uint8
    146 	float_rep    uint8
    147 	reserved2    uint8
    148 }
    149 
    150 type machport struct {
    151 	name        uint32
    152 	pad1        uint32
    153 	pad2        uint16
    154 	disposition uint8
    155 	_type       uint8
    156 }
    157 
    158 type stackt struct {
    159 	ss_sp    *byte
    160 	ss_size  uintptr
    161 	ss_flags int32
    162 }
    163 
    164 type sigactiont struct {
    165 	__sigaction_u [4]byte
    166 	sa_tramp      unsafe.Pointer
    167 	sa_mask       uint32
    168 	sa_flags      int32
    169 }
    170 
    171 type usigactiont struct {
    172 	__sigaction_u [4]byte
    173 	sa_mask       uint32
    174 	sa_flags      int32
    175 }
    176 
    177 type siginfo struct {
    178 	si_signo  int32
    179 	si_errno  int32
    180 	si_code   int32
    181 	si_pid    int32
    182 	si_uid    uint32
    183 	si_status int32
    184 	si_addr   uint32
    185 	si_value  [4]byte
    186 	si_band   int32
    187 	__pad     [7]uint32
    188 }
    189 
    190 type timeval struct {
    191 	tv_sec  int32
    192 	tv_usec int32
    193 }
    194 
    195 func (tv *timeval) set_usec(x int32) {
    196 	tv.tv_usec = x
    197 }
    198 
    199 type itimerval struct {
    200 	it_interval timeval
    201 	it_value    timeval
    202 }
    203 
    204 type timespec struct {
    205 	tv_sec  int32
    206 	tv_nsec int32
    207 }
    208 
    209 type fpcontrol struct {
    210 	pad_cgo_0 [2]byte
    211 }
    212 
    213 type fpstatus struct {
    214 	pad_cgo_0 [2]byte
    215 }
    216 
    217 type regmmst struct {
    218 	mmst_reg  [10]int8
    219 	mmst_rsrv [6]int8
    220 }
    221 
    222 type regxmm struct {
    223 	xmm_reg [16]int8
    224 }
    225 
    226 type regs64 struct {
    227 	rax    uint64
    228 	rbx    uint64
    229 	rcx    uint64
    230 	rdx    uint64
    231 	rdi    uint64
    232 	rsi    uint64
    233 	rbp    uint64
    234 	rsp    uint64
    235 	r8     uint64
    236 	r9     uint64
    237 	r10    uint64
    238 	r11    uint64
    239 	r12    uint64
    240 	r13    uint64
    241 	r14    uint64
    242 	r15    uint64
    243 	rip    uint64
    244 	rflags uint64
    245 	cs     uint64
    246 	fs     uint64
    247 	gs     uint64
    248 }
    249 
    250 type floatstate64 struct {
    251 	fpu_reserved  [2]int32
    252 	fpu_fcw       fpcontrol
    253 	fpu_fsw       fpstatus
    254 	fpu_ftw       uint8
    255 	fpu_rsrv1     uint8
    256 	fpu_fop       uint16
    257 	fpu_ip        uint32
    258 	fpu_cs        uint16
    259 	fpu_rsrv2     uint16
    260 	fpu_dp        uint32
    261 	fpu_ds        uint16
    262 	fpu_rsrv3     uint16
    263 	fpu_mxcsr     uint32
    264 	fpu_mxcsrmask uint32
    265 	fpu_stmm0     regmmst
    266 	fpu_stmm1     regmmst
    267 	fpu_stmm2     regmmst
    268 	fpu_stmm3     regmmst
    269 	fpu_stmm4     regmmst
    270 	fpu_stmm5     regmmst
    271 	fpu_stmm6     regmmst
    272 	fpu_stmm7     regmmst
    273 	fpu_xmm0      regxmm
    274 	fpu_xmm1      regxmm
    275 	fpu_xmm2      regxmm
    276 	fpu_xmm3      regxmm
    277 	fpu_xmm4      regxmm
    278 	fpu_xmm5      regxmm
    279 	fpu_xmm6      regxmm
    280 	fpu_xmm7      regxmm
    281 	fpu_xmm8      regxmm
    282 	fpu_xmm9      regxmm
    283 	fpu_xmm10     regxmm
    284 	fpu_xmm11     regxmm
    285 	fpu_xmm12     regxmm
    286 	fpu_xmm13     regxmm
    287 	fpu_xmm14     regxmm
    288 	fpu_xmm15     regxmm
    289 	fpu_rsrv4     [96]int8
    290 	fpu_reserved1 int32
    291 }
    292 
    293 type exceptionstate64 struct {
    294 	trapno     uint16
    295 	cpu        uint16
    296 	err        uint32
    297 	faultvaddr uint64
    298 }
    299 
    300 type mcontext64 struct {
    301 	es exceptionstate64
    302 	ss regs64
    303 	fs floatstate64
    304 }
    305 
    306 type regs32 struct {
    307 	eax    uint32
    308 	ebx    uint32
    309 	ecx    uint32
    310 	edx    uint32
    311 	edi    uint32
    312 	esi    uint32
    313 	ebp    uint32
    314 	esp    uint32
    315 	ss     uint32
    316 	eflags uint32
    317 	eip    uint32
    318 	cs     uint32
    319 	ds     uint32
    320 	es     uint32
    321 	fs     uint32
    322 	gs     uint32
    323 }
    324 
    325 type floatstate32 struct {
    326 	fpu_reserved  [2]int32
    327 	fpu_fcw       fpcontrol
    328 	fpu_fsw       fpstatus
    329 	fpu_ftw       uint8
    330 	fpu_rsrv1     uint8
    331 	fpu_fop       uint16
    332 	fpu_ip        uint32
    333 	fpu_cs        uint16
    334 	fpu_rsrv2     uint16
    335 	fpu_dp        uint32
    336 	fpu_ds        uint16
    337 	fpu_rsrv3     uint16
    338 	fpu_mxcsr     uint32
    339 	fpu_mxcsrmask uint32
    340 	fpu_stmm0     regmmst
    341 	fpu_stmm1     regmmst
    342 	fpu_stmm2     regmmst
    343 	fpu_stmm3     regmmst
    344 	fpu_stmm4     regmmst
    345 	fpu_stmm5     regmmst
    346 	fpu_stmm6     regmmst
    347 	fpu_stmm7     regmmst
    348 	fpu_xmm0      regxmm
    349 	fpu_xmm1      regxmm
    350 	fpu_xmm2      regxmm
    351 	fpu_xmm3      regxmm
    352 	fpu_xmm4      regxmm
    353 	fpu_xmm5      regxmm
    354 	fpu_xmm6      regxmm
    355 	fpu_xmm7      regxmm
    356 	fpu_rsrv4     [224]int8
    357 	fpu_reserved1 int32
    358 }
    359 
    360 type exceptionstate32 struct {
    361 	trapno     uint16
    362 	cpu        uint16
    363 	err        uint32
    364 	faultvaddr uint32
    365 }
    366 
    367 type mcontext32 struct {
    368 	es exceptionstate32
    369 	ss regs32
    370 	fs floatstate32
    371 }
    372 
    373 type ucontext struct {
    374 	uc_onstack  int32
    375 	uc_sigmask  uint32
    376 	uc_stack    stackt
    377 	uc_link     *ucontext
    378 	uc_mcsize   uint32
    379 	uc_mcontext *mcontext32
    380 }
    381 
    382 type keventt struct {
    383 	ident  uint32
    384 	filter int16
    385 	flags  uint16
    386 	fflags uint32
    387 	data   int32
    388 	udata  *byte
    389 }
    390