Source file src/runtime/defs_linux_amd64.go

Documentation: runtime

     1  // created by cgo -cdefs and then converted to Go
     2  // cgo -cdefs defs_linux.go defs1_linux.go
     3  
     4  package runtime
     5  
     6  const (
     7  	_EINTR  = 0x4
     8  	_EAGAIN = 0xb
     9  	_ENOMEM = 0xc
    10  	_ENOSYS = 0x26
    11  
    12  	_PROT_NONE  = 0x0
    13  	_PROT_READ  = 0x1
    14  	_PROT_WRITE = 0x2
    15  	_PROT_EXEC  = 0x4
    16  
    17  	_MAP_ANON    = 0x20
    18  	_MAP_PRIVATE = 0x2
    19  	_MAP_FIXED   = 0x10
    20  
    21  	_MADV_DONTNEED   = 0x4
    22  	_MADV_FREE       = 0x8
    23  	_MADV_HUGEPAGE   = 0xe
    24  	_MADV_NOHUGEPAGE = 0xf
    25  
    26  	_SA_RESTART  = 0x10000000
    27  	_SA_ONSTACK  = 0x8000000
    28  	_SA_RESTORER = 0x4000000
    29  	_SA_SIGINFO  = 0x4
    30  
    31  	_SIGHUP    = 0x1
    32  	_SIGINT    = 0x2
    33  	_SIGQUIT   = 0x3
    34  	_SIGILL    = 0x4
    35  	_SIGTRAP   = 0x5
    36  	_SIGABRT   = 0x6
    37  	_SIGBUS    = 0x7
    38  	_SIGFPE    = 0x8
    39  	_SIGKILL   = 0x9
    40  	_SIGUSR1   = 0xa
    41  	_SIGSEGV   = 0xb
    42  	_SIGUSR2   = 0xc
    43  	_SIGPIPE   = 0xd
    44  	_SIGALRM   = 0xe
    45  	_SIGSTKFLT = 0x10
    46  	_SIGCHLD   = 0x11
    47  	_SIGCONT   = 0x12
    48  	_SIGSTOP   = 0x13
    49  	_SIGTSTP   = 0x14
    50  	_SIGTTIN   = 0x15
    51  	_SIGTTOU   = 0x16
    52  	_SIGURG    = 0x17
    53  	_SIGXCPU   = 0x18
    54  	_SIGXFSZ   = 0x19
    55  	_SIGVTALRM = 0x1a
    56  	_SIGPROF   = 0x1b
    57  	_SIGWINCH  = 0x1c
    58  	_SIGIO     = 0x1d
    59  	_SIGPWR    = 0x1e
    60  	_SIGSYS    = 0x1f
    61  
    62  	_FPE_INTDIV = 0x1
    63  	_FPE_INTOVF = 0x2
    64  	_FPE_FLTDIV = 0x3
    65  	_FPE_FLTOVF = 0x4
    66  	_FPE_FLTUND = 0x5
    67  	_FPE_FLTRES = 0x6
    68  	_FPE_FLTINV = 0x7
    69  	_FPE_FLTSUB = 0x8
    70  
    71  	_BUS_ADRALN = 0x1
    72  	_BUS_ADRERR = 0x2
    73  	_BUS_OBJERR = 0x3
    74  
    75  	_SEGV_MAPERR = 0x1
    76  	_SEGV_ACCERR = 0x2
    77  
    78  	_ITIMER_REAL    = 0x0
    79  	_ITIMER_VIRTUAL = 0x1
    80  	_ITIMER_PROF    = 0x2
    81  
    82  	_EPOLLIN       = 0x1
    83  	_EPOLLOUT      = 0x4
    84  	_EPOLLERR      = 0x8
    85  	_EPOLLHUP      = 0x10
    86  	_EPOLLRDHUP    = 0x2000
    87  	_EPOLLET       = 0x80000000
    88  	_EPOLL_CLOEXEC = 0x80000
    89  	_EPOLL_CTL_ADD = 0x1
    90  	_EPOLL_CTL_DEL = 0x2
    91  	_EPOLL_CTL_MOD = 0x3
    92  
    93  	_AF_UNIX    = 0x1
    94  	_F_SETFL    = 0x4
    95  	_SOCK_DGRAM = 0x2
    96  )
    97  
    98  type timespec struct {
    99  	tv_sec  int64
   100  	tv_nsec int64
   101  }
   102  
   103  //go:nosplit
   104  func (ts *timespec) setNsec(ns int64) {
   105  	ts.tv_sec = ns / 1e9
   106  	ts.tv_nsec = ns % 1e9
   107  }
   108  
   109  type timeval struct {
   110  	tv_sec  int64
   111  	tv_usec int64
   112  }
   113  
   114  func (tv *timeval) set_usec(x int32) {
   115  	tv.tv_usec = int64(x)
   116  }
   117  
   118  type sigactiont struct {
   119  	sa_handler  uintptr
   120  	sa_flags    uint64
   121  	sa_restorer uintptr
   122  	sa_mask     uint64
   123  }
   124  
   125  type siginfo struct {
   126  	si_signo int32
   127  	si_errno int32
   128  	si_code  int32
   129  	// below here is a union; si_addr is the only field we use
   130  	si_addr uint64
   131  }
   132  
   133  type itimerval struct {
   134  	it_interval timeval
   135  	it_value    timeval
   136  }
   137  
   138  type epollevent struct {
   139  	events uint32
   140  	data   [8]byte // unaligned uintptr
   141  }
   142  
   143  // created by cgo -cdefs and then converted to Go
   144  // cgo -cdefs defs_linux.go defs1_linux.go
   145  
   146  const (
   147  	_O_RDONLY   = 0x0
   148  	_O_NONBLOCK = 0x800
   149  	_O_CLOEXEC  = 0x80000
   150  )
   151  
   152  type usigset struct {
   153  	__val [16]uint64
   154  }
   155  
   156  type fpxreg struct {
   157  	significand [4]uint16
   158  	exponent    uint16
   159  	padding     [3]uint16
   160  }
   161  
   162  type xmmreg struct {
   163  	element [4]uint32
   164  }
   165  
   166  type fpstate struct {
   167  	cwd       uint16
   168  	swd       uint16
   169  	ftw       uint16
   170  	fop       uint16
   171  	rip       uint64
   172  	rdp       uint64
   173  	mxcsr     uint32
   174  	mxcr_mask uint32
   175  	_st       [8]fpxreg
   176  	_xmm      [16]xmmreg
   177  	padding   [24]uint32
   178  }
   179  
   180  type fpxreg1 struct {
   181  	significand [4]uint16
   182  	exponent    uint16
   183  	padding     [3]uint16
   184  }
   185  
   186  type xmmreg1 struct {
   187  	element [4]uint32
   188  }
   189  
   190  type fpstate1 struct {
   191  	cwd       uint16
   192  	swd       uint16
   193  	ftw       uint16
   194  	fop       uint16
   195  	rip       uint64
   196  	rdp       uint64
   197  	mxcsr     uint32
   198  	mxcr_mask uint32
   199  	_st       [8]fpxreg1
   200  	_xmm      [16]xmmreg1
   201  	padding   [24]uint32
   202  }
   203  
   204  type fpreg1 struct {
   205  	significand [4]uint16
   206  	exponent    uint16
   207  }
   208  
   209  type stackt struct {
   210  	ss_sp     *byte
   211  	ss_flags  int32
   212  	pad_cgo_0 [4]byte
   213  	ss_size   uintptr
   214  }
   215  
   216  type mcontext struct {
   217  	gregs       [23]uint64
   218  	fpregs      *fpstate
   219  	__reserved1 [8]uint64
   220  }
   221  
   222  type ucontext struct {
   223  	uc_flags     uint64
   224  	uc_link      *ucontext
   225  	uc_stack     stackt
   226  	uc_mcontext  mcontext
   227  	uc_sigmask   usigset
   228  	__fpregs_mem fpstate
   229  }
   230  
   231  type sigcontext struct {
   232  	r8          uint64
   233  	r9          uint64
   234  	r10         uint64
   235  	r11         uint64
   236  	r12         uint64
   237  	r13         uint64
   238  	r14         uint64
   239  	r15         uint64
   240  	rdi         uint64
   241  	rsi         uint64
   242  	rbp         uint64
   243  	rbx         uint64
   244  	rdx         uint64
   245  	rax         uint64
   246  	rcx         uint64
   247  	rsp         uint64
   248  	rip         uint64
   249  	eflags      uint64
   250  	cs          uint16
   251  	gs          uint16
   252  	fs          uint16
   253  	__pad0      uint16
   254  	err         uint64
   255  	trapno      uint64
   256  	oldmask     uint64
   257  	cr2         uint64
   258  	fpstate     *fpstate1
   259  	__reserved1 [8]uint64
   260  }
   261  
   262  type sockaddr_un struct {
   263  	family uint16
   264  	path   [108]byte
   265  }
   266  
   267  const __NEW_UTS_LEN = 64
   268  
   269  type new_utsname struct {
   270  	sysname    [__NEW_UTS_LEN + 1]byte
   271  	nodename   [__NEW_UTS_LEN + 1]byte
   272  	release    [__NEW_UTS_LEN + 1]byte
   273  	version    [__NEW_UTS_LEN + 1]byte
   274  	machine    [__NEW_UTS_LEN + 1]byte
   275  	domainname [__NEW_UTS_LEN + 1]byte
   276  }
   277  

View as plain text