...

Source file src/runtime/defs_linux_arm.go

     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	//go:nosplit
    98	func (ts *timespec) setNsec(ns int64) {
    99		ts.tv_sec = timediv(ns, 1e9, &ts.tv_nsec)
   100	}
   101	
   102	type stackt struct {
   103		ss_sp    *byte
   104		ss_flags int32
   105		ss_size  uintptr
   106	}
   107	
   108	type sigcontext struct {
   109		trap_no       uint32
   110		error_code    uint32
   111		oldmask       uint32
   112		r0            uint32
   113		r1            uint32
   114		r2            uint32
   115		r3            uint32
   116		r4            uint32
   117		r5            uint32
   118		r6            uint32
   119		r7            uint32
   120		r8            uint32
   121		r9            uint32
   122		r10           uint32
   123		fp            uint32
   124		ip            uint32
   125		sp            uint32
   126		lr            uint32
   127		pc            uint32
   128		cpsr          uint32
   129		fault_address uint32
   130	}
   131	
   132	type ucontext struct {
   133		uc_flags    uint32
   134		uc_link     *ucontext
   135		uc_stack    stackt
   136		uc_mcontext sigcontext
   137		uc_sigmask  uint32
   138		__unused    [31]int32
   139		uc_regspace [128]uint32
   140	}
   141	
   142	type timeval struct {
   143		tv_sec  int32
   144		tv_usec int32
   145	}
   146	
   147	func (tv *timeval) set_usec(x int32) {
   148		tv.tv_usec = x
   149	}
   150	
   151	type itimerval struct {
   152		it_interval timeval
   153		it_value    timeval
   154	}
   155	
   156	type siginfo struct {
   157		si_signo int32
   158		si_errno int32
   159		si_code  int32
   160		// below here is a union; si_addr is the only field we use
   161		si_addr uint32
   162	}
   163	
   164	type sigactiont struct {
   165		sa_handler  uintptr
   166		sa_flags    uint32
   167		sa_restorer uintptr
   168		sa_mask     uint64
   169	}
   170	
   171	type epollevent struct {
   172		events uint32
   173		_pad   uint32
   174		data   [8]byte // to match amd64
   175	}
   176	
   177	type sockaddr_un struct {
   178		family uint16
   179		path   [108]byte
   180	}
   181	

View as plain text