Source file src/runtime/defs_linux_amd64.go

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

View as plain text