github.com/tristanisham/sys@v0.0.0-20240326010300-a16cbabb7555/unix/ztypes_solaris_amd64.go (about)

     1  // cgo -godefs types_solaris.go | go run mkpost.go
     2  // Code generated by the command above; see README.md. DO NOT EDIT.
     3  
     4  //go:build amd64 && solaris
     5  
     6  package unix
     7  
     8  const (
     9  	SizeofPtr      = 0x8
    10  	SizeofShort    = 0x2
    11  	SizeofInt      = 0x4
    12  	SizeofLong     = 0x8
    13  	SizeofLongLong = 0x8
    14  	PathMax        = 0x400
    15  	MaxHostNameLen = 0x100
    16  )
    17  
    18  type (
    19  	_C_short     int16
    20  	_C_int       int32
    21  	_C_long      int64
    22  	_C_long_long int64
    23  )
    24  
    25  type Timespec struct {
    26  	Sec  int64
    27  	Nsec int64
    28  }
    29  
    30  type Timeval struct {
    31  	Sec  int64
    32  	Usec int64
    33  }
    34  
    35  type Timeval32 struct {
    36  	Sec  int32
    37  	Usec int32
    38  }
    39  
    40  type Tms struct {
    41  	Utime  int64
    42  	Stime  int64
    43  	Cutime int64
    44  	Cstime int64
    45  }
    46  
    47  type Utimbuf struct {
    48  	Actime  int64
    49  	Modtime int64
    50  }
    51  
    52  type Rusage struct {
    53  	Utime    Timeval
    54  	Stime    Timeval
    55  	Maxrss   int64
    56  	Ixrss    int64
    57  	Idrss    int64
    58  	Isrss    int64
    59  	Minflt   int64
    60  	Majflt   int64
    61  	Nswap    int64
    62  	Inblock  int64
    63  	Oublock  int64
    64  	Msgsnd   int64
    65  	Msgrcv   int64
    66  	Nsignals int64
    67  	Nvcsw    int64
    68  	Nivcsw   int64
    69  }
    70  
    71  type Rlimit struct {
    72  	Cur uint64
    73  	Max uint64
    74  }
    75  
    76  type _Gid_t uint32
    77  
    78  type Stat_t struct {
    79  	Dev     uint64
    80  	Ino     uint64
    81  	Mode    uint32
    82  	Nlink   uint32
    83  	Uid     uint32
    84  	Gid     uint32
    85  	Rdev    uint64
    86  	Size    int64
    87  	Atim    Timespec
    88  	Mtim    Timespec
    89  	Ctim    Timespec
    90  	Blksize int32
    91  	Blocks  int64
    92  	Fstype  [16]int8
    93  }
    94  
    95  type Flock_t struct {
    96  	Type   int16
    97  	Whence int16
    98  	Start  int64
    99  	Len    int64
   100  	Sysid  int32
   101  	Pid    int32
   102  	Pad    [4]int64
   103  }
   104  
   105  type Dirent struct {
   106  	Ino    uint64
   107  	Off    int64
   108  	Reclen uint16
   109  	Name   [1]int8
   110  	_      [5]byte
   111  }
   112  
   113  type _Fsblkcnt_t uint64
   114  
   115  type Statvfs_t struct {
   116  	Bsize    uint64
   117  	Frsize   uint64
   118  	Blocks   uint64
   119  	Bfree    uint64
   120  	Bavail   uint64
   121  	Files    uint64
   122  	Ffree    uint64
   123  	Favail   uint64
   124  	Fsid     uint64
   125  	Basetype [16]int8
   126  	Flag     uint64
   127  	Namemax  uint64
   128  	Fstr     [32]int8
   129  }
   130  
   131  type RawSockaddrInet4 struct {
   132  	Family uint16
   133  	Port   uint16
   134  	Addr   [4]byte /* in_addr */
   135  	Zero   [8]int8
   136  }
   137  
   138  type RawSockaddrInet6 struct {
   139  	Family   uint16
   140  	Port     uint16
   141  	Flowinfo uint32
   142  	Addr     [16]byte /* in6_addr */
   143  	Scope_id uint32
   144  	_        uint32
   145  }
   146  
   147  type RawSockaddrUnix struct {
   148  	Family uint16
   149  	Path   [108]int8
   150  }
   151  
   152  type RawSockaddrDatalink struct {
   153  	Family uint16
   154  	Index  uint16
   155  	Type   uint8
   156  	Nlen   uint8
   157  	Alen   uint8
   158  	Slen   uint8
   159  	Data   [244]int8
   160  }
   161  
   162  type RawSockaddr struct {
   163  	Family uint16
   164  	Data   [14]int8
   165  }
   166  
   167  type RawSockaddrAny struct {
   168  	Addr RawSockaddr
   169  	Pad  [236]int8
   170  }
   171  
   172  type _Socklen uint32
   173  
   174  type Linger struct {
   175  	Onoff  int32
   176  	Linger int32
   177  }
   178  
   179  type Iovec struct {
   180  	Base *byte
   181  	Len  uint64
   182  }
   183  
   184  type IPMreq struct {
   185  	Multiaddr [4]byte /* in_addr */
   186  	Interface [4]byte /* in_addr */
   187  }
   188  
   189  type IPv6Mreq struct {
   190  	Multiaddr [16]byte /* in6_addr */
   191  	Interface uint32
   192  }
   193  
   194  type Msghdr struct {
   195  	Name         *byte
   196  	Namelen      uint32
   197  	Iov          *Iovec
   198  	Iovlen       int32
   199  	Accrights    *int8
   200  	Accrightslen int32
   201  	_            [4]byte
   202  }
   203  
   204  type Cmsghdr struct {
   205  	Len   uint32
   206  	Level int32
   207  	Type  int32
   208  }
   209  
   210  type Inet4Pktinfo struct {
   211  	Ifindex  uint32
   212  	Spec_dst [4]byte /* in_addr */
   213  	Addr     [4]byte /* in_addr */
   214  }
   215  
   216  type Inet6Pktinfo struct {
   217  	Addr    [16]byte /* in6_addr */
   218  	Ifindex uint32
   219  }
   220  
   221  type IPv6MTUInfo struct {
   222  	Addr RawSockaddrInet6
   223  	Mtu  uint32
   224  }
   225  
   226  type ICMPv6Filter struct {
   227  	Filt [8]uint32
   228  }
   229  
   230  const (
   231  	SizeofSockaddrInet4    = 0x10
   232  	SizeofSockaddrInet6    = 0x20
   233  	SizeofSockaddrAny      = 0xfc
   234  	SizeofSockaddrUnix     = 0x6e
   235  	SizeofSockaddrDatalink = 0xfc
   236  	SizeofLinger           = 0x8
   237  	SizeofIovec            = 0x10
   238  	SizeofIPMreq           = 0x8
   239  	SizeofIPv6Mreq         = 0x14
   240  	SizeofMsghdr           = 0x30
   241  	SizeofCmsghdr          = 0xc
   242  	SizeofInet4Pktinfo     = 0xc
   243  	SizeofInet6Pktinfo     = 0x14
   244  	SizeofIPv6MTUInfo      = 0x24
   245  	SizeofICMPv6Filter     = 0x20
   246  )
   247  
   248  type FdSet struct {
   249  	Bits [1024]int64
   250  }
   251  
   252  type Utsname struct {
   253  	Sysname  [257]byte
   254  	Nodename [257]byte
   255  	Release  [257]byte
   256  	Version  [257]byte
   257  	Machine  [257]byte
   258  }
   259  
   260  type Ustat_t struct {
   261  	Tfree  int64
   262  	Tinode uint64
   263  	Fname  [6]int8
   264  	Fpack  [6]int8
   265  	_      [4]byte
   266  }
   267  
   268  const (
   269  	AT_FDCWD            = 0xffd19553
   270  	AT_SYMLINK_NOFOLLOW = 0x1000
   271  	AT_SYMLINK_FOLLOW   = 0x2000
   272  	AT_REMOVEDIR        = 0x1
   273  	AT_EACCESS          = 0x4
   274  )
   275  
   276  const (
   277  	SizeofIfMsghdr  = 0x54
   278  	SizeofIfData    = 0x44
   279  	SizeofIfaMsghdr = 0x14
   280  	SizeofRtMsghdr  = 0x4c
   281  	SizeofRtMetrics = 0x28
   282  )
   283  
   284  type IfMsghdr struct {
   285  	Msglen  uint16
   286  	Version uint8
   287  	Type    uint8
   288  	Addrs   int32
   289  	Flags   int32
   290  	Index   uint16
   291  	Data    IfData
   292  }
   293  
   294  type IfData struct {
   295  	Type       uint8
   296  	Addrlen    uint8
   297  	Hdrlen     uint8
   298  	Mtu        uint32
   299  	Metric     uint32
   300  	Baudrate   uint32
   301  	Ipackets   uint32
   302  	Ierrors    uint32
   303  	Opackets   uint32
   304  	Oerrors    uint32
   305  	Collisions uint32
   306  	Ibytes     uint32
   307  	Obytes     uint32
   308  	Imcasts    uint32
   309  	Omcasts    uint32
   310  	Iqdrops    uint32
   311  	Noproto    uint32
   312  	Lastchange Timeval32
   313  }
   314  
   315  type IfaMsghdr struct {
   316  	Msglen  uint16
   317  	Version uint8
   318  	Type    uint8
   319  	Addrs   int32
   320  	Flags   int32
   321  	Index   uint16
   322  	Metric  int32
   323  }
   324  
   325  type RtMsghdr struct {
   326  	Msglen  uint16
   327  	Version uint8
   328  	Type    uint8
   329  	Index   uint16
   330  	Flags   int32
   331  	Addrs   int32
   332  	Pid     int32
   333  	Seq     int32
   334  	Errno   int32
   335  	Use     int32
   336  	Inits   uint32
   337  	Rmx     RtMetrics
   338  }
   339  
   340  type RtMetrics struct {
   341  	Locks    uint32
   342  	Mtu      uint32
   343  	Hopcount uint32
   344  	Expire   uint32
   345  	Recvpipe uint32
   346  	Sendpipe uint32
   347  	Ssthresh uint32
   348  	Rtt      uint32
   349  	Rttvar   uint32
   350  	Pksent   uint32
   351  }
   352  
   353  const (
   354  	SizeofBpfVersion = 0x4
   355  	SizeofBpfStat    = 0x80
   356  	SizeofBpfProgram = 0x10
   357  	SizeofBpfInsn    = 0x8
   358  	SizeofBpfHdr     = 0x14
   359  )
   360  
   361  type BpfVersion struct {
   362  	Major uint16
   363  	Minor uint16
   364  }
   365  
   366  type BpfStat struct {
   367  	Recv uint64
   368  	Drop uint64
   369  	Capt uint64
   370  	_    [13]uint64
   371  }
   372  
   373  type BpfProgram struct {
   374  	Len   uint32
   375  	Insns *BpfInsn
   376  }
   377  
   378  type BpfInsn struct {
   379  	Code uint16
   380  	Jt   uint8
   381  	Jf   uint8
   382  	K    uint32
   383  }
   384  
   385  type BpfTimeval struct {
   386  	Sec  int32
   387  	Usec int32
   388  }
   389  
   390  type BpfHdr struct {
   391  	Tstamp  BpfTimeval
   392  	Caplen  uint32
   393  	Datalen uint32
   394  	Hdrlen  uint16
   395  	_       [2]byte
   396  }
   397  
   398  type Termios struct {
   399  	Iflag uint32
   400  	Oflag uint32
   401  	Cflag uint32
   402  	Lflag uint32
   403  	Cc    [19]uint8
   404  	_     [1]byte
   405  }
   406  
   407  type Termio struct {
   408  	Iflag uint16
   409  	Oflag uint16
   410  	Cflag uint16
   411  	Lflag uint16
   412  	Line  int8
   413  	Cc    [8]uint8
   414  	_     [1]byte
   415  }
   416  
   417  type Winsize struct {
   418  	Row    uint16
   419  	Col    uint16
   420  	Xpixel uint16
   421  	Ypixel uint16
   422  }
   423  
   424  type PollFd struct {
   425  	Fd      int32
   426  	Events  int16
   427  	Revents int16
   428  }
   429  
   430  const (
   431  	POLLERR    = 0x8
   432  	POLLHUP    = 0x10
   433  	POLLIN     = 0x1
   434  	POLLNVAL   = 0x20
   435  	POLLOUT    = 0x4
   436  	POLLPRI    = 0x2
   437  	POLLRDBAND = 0x80
   438  	POLLRDNORM = 0x40
   439  	POLLWRBAND = 0x100
   440  	POLLWRNORM = 0x4
   441  )
   442  
   443  type fileObj struct {
   444  	Atim Timespec
   445  	Mtim Timespec
   446  	Ctim Timespec
   447  	Pad  [3]uint64
   448  	Name *int8
   449  }
   450  
   451  type portEvent struct {
   452  	Events int32
   453  	Source uint16
   454  	Pad    uint16
   455  	Object uint64
   456  	User   *byte
   457  }
   458  
   459  const (
   460  	PORT_SOURCE_AIO    = 0x1
   461  	PORT_SOURCE_TIMER  = 0x2
   462  	PORT_SOURCE_USER   = 0x3
   463  	PORT_SOURCE_FD     = 0x4
   464  	PORT_SOURCE_ALERT  = 0x5
   465  	PORT_SOURCE_MQ     = 0x6
   466  	PORT_SOURCE_FILE   = 0x7
   467  	PORT_ALERT_SET     = 0x1
   468  	PORT_ALERT_UPDATE  = 0x2
   469  	PORT_ALERT_INVALID = 0x3
   470  	FILE_ACCESS        = 0x1
   471  	FILE_MODIFIED      = 0x2
   472  	FILE_ATTRIB        = 0x4
   473  	FILE_TRUNC         = 0x100000
   474  	FILE_NOFOLLOW      = 0x10000000
   475  	FILE_DELETE        = 0x10
   476  	FILE_RENAME_TO     = 0x20
   477  	FILE_RENAME_FROM   = 0x40
   478  	UNMOUNTED          = 0x20000000
   479  	MOUNTEDOVER        = 0x40000000
   480  	FILE_EXCEPTION     = 0x60000070
   481  )
   482  
   483  const (
   484  	TUNNEWPPA = 0x540001
   485  	TUNSETPPA = 0x540002
   486  
   487  	I_STR     = 0x5308
   488  	I_POP     = 0x5303
   489  	I_PUSH    = 0x5302
   490  	I_LINK    = 0x530c
   491  	I_UNLINK  = 0x530d
   492  	I_PLINK   = 0x5316
   493  	I_PUNLINK = 0x5317
   494  
   495  	IF_UNITSEL = -0x7ffb8cca
   496  )
   497  
   498  type strbuf struct {
   499  	Maxlen int32
   500  	Len    int32
   501  	Buf    *int8
   502  }
   503  
   504  type Strioctl struct {
   505  	Cmd    int32
   506  	Timout int32
   507  	Len    int32
   508  	Dp     *int8
   509  }
   510  
   511  type Lifreq struct {
   512  	Name   [32]int8
   513  	Lifru1 [4]byte
   514  	Type   uint32
   515  	Lifru  [336]byte
   516  }