github.com/x04/go/src@v0.0.0-20200202162449-3d481ceb3525/runtime/defs_linux_386.go (about)

     1  // created by cgo -cdefs and then converted to Go
     2  // cgo -cdefs defs2_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  	_O_RDONLY	= 0x0
    83  	_O_NONBLOCK	= 0x800
    84  	_O_CLOEXEC	= 0x80000
    85  
    86  	_EPOLLIN	= 0x1
    87  	_EPOLLOUT	= 0x4
    88  	_EPOLLERR	= 0x8
    89  	_EPOLLHUP	= 0x10
    90  	_EPOLLRDHUP	= 0x2000
    91  	_EPOLLET	= 0x80000000
    92  	_EPOLL_CLOEXEC	= 0x80000
    93  	_EPOLL_CTL_ADD	= 0x1
    94  	_EPOLL_CTL_DEL	= 0x2
    95  	_EPOLL_CTL_MOD	= 0x3
    96  
    97  	_AF_UNIX	= 0x1
    98  	_F_SETFL	= 0x4
    99  	_SOCK_DGRAM	= 0x2
   100  )
   101  
   102  type fpreg struct {
   103  	significand	[4]uint16
   104  	exponent	uint16
   105  }
   106  
   107  type fpxreg struct {
   108  	significand	[4]uint16
   109  	exponent	uint16
   110  	padding		[3]uint16
   111  }
   112  
   113  type xmmreg struct {
   114  	element [4]uint32
   115  }
   116  
   117  type fpstate struct {
   118  	cw		uint32
   119  	sw		uint32
   120  	tag		uint32
   121  	ipoff		uint32
   122  	cssel		uint32
   123  	dataoff		uint32
   124  	datasel		uint32
   125  	_st		[8]fpreg
   126  	status		uint16
   127  	magic		uint16
   128  	_fxsr_env	[6]uint32
   129  	mxcsr		uint32
   130  	reserved	uint32
   131  	_fxsr_st	[8]fpxreg
   132  	_xmm		[8]xmmreg
   133  	padding1	[44]uint32
   134  	anon0		[48]byte
   135  }
   136  
   137  type timespec struct {
   138  	tv_sec	int32
   139  	tv_nsec	int32
   140  }
   141  
   142  //go:nosplit
   143  func (ts *timespec) setNsec(ns int64) {
   144  	ts.tv_sec = timediv(ns, 1e9, &ts.tv_nsec)
   145  }
   146  
   147  type timeval struct {
   148  	tv_sec	int32
   149  	tv_usec	int32
   150  }
   151  
   152  func (tv *timeval) set_usec(x int32) {
   153  	tv.tv_usec = x
   154  }
   155  
   156  type sigactiont struct {
   157  	sa_handler	uintptr
   158  	sa_flags	uint32
   159  	sa_restorer	uintptr
   160  	sa_mask		uint64
   161  }
   162  
   163  type siginfo struct {
   164  	si_signo	int32
   165  	si_errno	int32
   166  	si_code		int32
   167  	// below here is a union; si_addr is the only field we use
   168  	si_addr	uint32
   169  }
   170  
   171  type stackt struct {
   172  	ss_sp		*byte
   173  	ss_flags	int32
   174  	ss_size		uintptr
   175  }
   176  
   177  type sigcontext struct {
   178  	gs		uint16
   179  	__gsh		uint16
   180  	fs		uint16
   181  	__fsh		uint16
   182  	es		uint16
   183  	__esh		uint16
   184  	ds		uint16
   185  	__dsh		uint16
   186  	edi		uint32
   187  	esi		uint32
   188  	ebp		uint32
   189  	esp		uint32
   190  	ebx		uint32
   191  	edx		uint32
   192  	ecx		uint32
   193  	eax		uint32
   194  	trapno		uint32
   195  	err		uint32
   196  	eip		uint32
   197  	cs		uint16
   198  	__csh		uint16
   199  	eflags		uint32
   200  	esp_at_signal	uint32
   201  	ss		uint16
   202  	__ssh		uint16
   203  	fpstate		*fpstate
   204  	oldmask		uint32
   205  	cr2		uint32
   206  }
   207  
   208  type ucontext struct {
   209  	uc_flags	uint32
   210  	uc_link		*ucontext
   211  	uc_stack	stackt
   212  	uc_mcontext	sigcontext
   213  	uc_sigmask	uint32
   214  }
   215  
   216  type itimerval struct {
   217  	it_interval	timeval
   218  	it_value	timeval
   219  }
   220  
   221  type epollevent struct {
   222  	events	uint32
   223  	data	[8]byte	// to match amd64
   224  }
   225  
   226  type sockaddr_un struct {
   227  	family	uint16
   228  	path	[108]byte
   229  }
   230  
   231  const __NEW_UTS_LEN = 64
   232  
   233  type new_utsname struct {
   234  	sysname		[__NEW_UTS_LEN + 1]byte
   235  	nodename	[__NEW_UTS_LEN + 1]byte
   236  	release		[__NEW_UTS_LEN + 1]byte
   237  	version		[__NEW_UTS_LEN + 1]byte
   238  	machine		[__NEW_UTS_LEN + 1]byte
   239  	domainname	[__NEW_UTS_LEN + 1]byte
   240  }