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

View as plain text