vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go
changeset 256 6d9efbef00a9
child 265 05c40b36d3b2
equal deleted inserted replaced
255:4f153a23adab 256:6d9efbef00a9
       
     1 // Copyright 2020 The Go Authors. All rights reserved.
       
     2 // Use of this source code is governed by a BSD-style
       
     3 // license that can be found in the LICENSE file.
       
     4 
       
     5 //go:build zos && s390x
       
     6 // +build zos,s390x
       
     7 
       
     8 // Hand edited based on ztypes_linux_s390x.go
       
     9 // TODO: auto-generate.
       
    10 
       
    11 package unix
       
    12 
       
    13 const (
       
    14 	SizeofPtr      = 0x8
       
    15 	SizeofShort    = 0x2
       
    16 	SizeofInt      = 0x4
       
    17 	SizeofLong     = 0x8
       
    18 	SizeofLongLong = 0x8
       
    19 	PathMax        = 0x1000
       
    20 )
       
    21 
       
    22 const (
       
    23 	SizeofSockaddrAny   = 128
       
    24 	SizeofCmsghdr       = 12
       
    25 	SizeofIPMreq        = 8
       
    26 	SizeofIPv6Mreq      = 20
       
    27 	SizeofICMPv6Filter  = 32
       
    28 	SizeofIPv6MTUInfo   = 32
       
    29 	SizeofLinger        = 8
       
    30 	SizeofSockaddrInet4 = 16
       
    31 	SizeofSockaddrInet6 = 28
       
    32 	SizeofTCPInfo       = 0x68
       
    33 )
       
    34 
       
    35 type (
       
    36 	_C_short     int16
       
    37 	_C_int       int32
       
    38 	_C_long      int64
       
    39 	_C_long_long int64
       
    40 )
       
    41 
       
    42 type Timespec struct {
       
    43 	Sec  int64
       
    44 	Nsec int64
       
    45 }
       
    46 
       
    47 type Timeval struct {
       
    48 	Sec  int64
       
    49 	Usec int64
       
    50 }
       
    51 
       
    52 type timeval_zos struct { //correct (with padding and all)
       
    53 	Sec  int64
       
    54 	_    [4]byte // pad
       
    55 	Usec int32
       
    56 }
       
    57 
       
    58 type Tms struct { //clock_t is 4-byte unsigned int in zos
       
    59 	Utime  uint32
       
    60 	Stime  uint32
       
    61 	Cutime uint32
       
    62 	Cstime uint32
       
    63 }
       
    64 
       
    65 type Time_t int64
       
    66 
       
    67 type Utimbuf struct {
       
    68 	Actime  int64
       
    69 	Modtime int64
       
    70 }
       
    71 
       
    72 type Utsname struct {
       
    73 	Sysname    [65]byte
       
    74 	Nodename   [65]byte
       
    75 	Release    [65]byte
       
    76 	Version    [65]byte
       
    77 	Machine    [65]byte
       
    78 	Domainname [65]byte
       
    79 }
       
    80 
       
    81 type RawSockaddrInet4 struct {
       
    82 	Len    uint8
       
    83 	Family uint8
       
    84 	Port   uint16
       
    85 	Addr   [4]byte /* in_addr */
       
    86 	Zero   [8]uint8
       
    87 }
       
    88 
       
    89 type RawSockaddrInet6 struct {
       
    90 	Len      uint8
       
    91 	Family   uint8
       
    92 	Port     uint16
       
    93 	Flowinfo uint32
       
    94 	Addr     [16]byte /* in6_addr */
       
    95 	Scope_id uint32
       
    96 }
       
    97 
       
    98 type RawSockaddrUnix struct {
       
    99 	Len    uint8
       
   100 	Family uint8
       
   101 	Path   [108]int8
       
   102 }
       
   103 
       
   104 type RawSockaddr struct {
       
   105 	Len    uint8
       
   106 	Family uint8
       
   107 	Data   [14]uint8
       
   108 }
       
   109 
       
   110 type RawSockaddrAny struct {
       
   111 	Addr RawSockaddr
       
   112 	_    [112]uint8 // pad
       
   113 }
       
   114 
       
   115 type _Socklen uint32
       
   116 
       
   117 type Linger struct {
       
   118 	Onoff  int32
       
   119 	Linger int32
       
   120 }
       
   121 
       
   122 type Iovec struct {
       
   123 	Base *byte
       
   124 	Len  uint64
       
   125 }
       
   126 
       
   127 type IPMreq struct {
       
   128 	Multiaddr [4]byte /* in_addr */
       
   129 	Interface [4]byte /* in_addr */
       
   130 }
       
   131 
       
   132 type IPv6Mreq struct {
       
   133 	Multiaddr [16]byte /* in6_addr */
       
   134 	Interface uint32
       
   135 }
       
   136 
       
   137 type Msghdr struct {
       
   138 	Name       *byte
       
   139 	Iov        *Iovec
       
   140 	Control    *byte
       
   141 	Flags      int32
       
   142 	Namelen    int32
       
   143 	Iovlen     int32
       
   144 	Controllen int32
       
   145 }
       
   146 
       
   147 type Cmsghdr struct {
       
   148 	Len   int32
       
   149 	Level int32
       
   150 	Type  int32
       
   151 }
       
   152 
       
   153 type Inet4Pktinfo struct {
       
   154 	Addr    [4]byte /* in_addr */
       
   155 	Ifindex uint32
       
   156 }
       
   157 
       
   158 type Inet6Pktinfo struct {
       
   159 	Addr    [16]byte /* in6_addr */
       
   160 	Ifindex uint32
       
   161 }
       
   162 
       
   163 type IPv6MTUInfo struct {
       
   164 	Addr RawSockaddrInet6
       
   165 	Mtu  uint32
       
   166 }
       
   167 
       
   168 type ICMPv6Filter struct {
       
   169 	Data [8]uint32
       
   170 }
       
   171 
       
   172 type TCPInfo struct {
       
   173 	State          uint8
       
   174 	Ca_state       uint8
       
   175 	Retransmits    uint8
       
   176 	Probes         uint8
       
   177 	Backoff        uint8
       
   178 	Options        uint8
       
   179 	Rto            uint32
       
   180 	Ato            uint32
       
   181 	Snd_mss        uint32
       
   182 	Rcv_mss        uint32
       
   183 	Unacked        uint32
       
   184 	Sacked         uint32
       
   185 	Lost           uint32
       
   186 	Retrans        uint32
       
   187 	Fackets        uint32
       
   188 	Last_data_sent uint32
       
   189 	Last_ack_sent  uint32
       
   190 	Last_data_recv uint32
       
   191 	Last_ack_recv  uint32
       
   192 	Pmtu           uint32
       
   193 	Rcv_ssthresh   uint32
       
   194 	Rtt            uint32
       
   195 	Rttvar         uint32
       
   196 	Snd_ssthresh   uint32
       
   197 	Snd_cwnd       uint32
       
   198 	Advmss         uint32
       
   199 	Reordering     uint32
       
   200 	Rcv_rtt        uint32
       
   201 	Rcv_space      uint32
       
   202 	Total_retrans  uint32
       
   203 }
       
   204 
       
   205 type _Gid_t uint32
       
   206 
       
   207 type rusage_zos struct {
       
   208 	Utime timeval_zos
       
   209 	Stime timeval_zos
       
   210 }
       
   211 
       
   212 type Rusage struct {
       
   213 	Utime    Timeval
       
   214 	Stime    Timeval
       
   215 	Maxrss   int64
       
   216 	Ixrss    int64
       
   217 	Idrss    int64
       
   218 	Isrss    int64
       
   219 	Minflt   int64
       
   220 	Majflt   int64
       
   221 	Nswap    int64
       
   222 	Inblock  int64
       
   223 	Oublock  int64
       
   224 	Msgsnd   int64
       
   225 	Msgrcv   int64
       
   226 	Nsignals int64
       
   227 	Nvcsw    int64
       
   228 	Nivcsw   int64
       
   229 }
       
   230 
       
   231 type Rlimit struct {
       
   232 	Cur uint64
       
   233 	Max uint64
       
   234 }
       
   235 
       
   236 // { int, short, short } in poll.h
       
   237 type PollFd struct {
       
   238 	Fd      int32
       
   239 	Events  int16
       
   240 	Revents int16
       
   241 }
       
   242 
       
   243 type Stat_t struct { //Linux Definition
       
   244 	Dev     uint64
       
   245 	Ino     uint64
       
   246 	Nlink   uint64
       
   247 	Mode    uint32
       
   248 	Uid     uint32
       
   249 	Gid     uint32
       
   250 	_       int32
       
   251 	Rdev    uint64
       
   252 	Size    int64
       
   253 	Atim    Timespec
       
   254 	Mtim    Timespec
       
   255 	Ctim    Timespec
       
   256 	Blksize int64
       
   257 	Blocks  int64
       
   258 	_       [3]int64
       
   259 }
       
   260 
       
   261 type Stat_LE_t struct {
       
   262 	_            [4]byte // eye catcher
       
   263 	Length       uint16
       
   264 	Version      uint16
       
   265 	Mode         int32
       
   266 	Ino          uint32
       
   267 	Dev          uint32
       
   268 	Nlink        int32
       
   269 	Uid          int32
       
   270 	Gid          int32
       
   271 	Size         int64
       
   272 	Atim31       [4]byte
       
   273 	Mtim31       [4]byte
       
   274 	Ctim31       [4]byte
       
   275 	Rdev         uint32
       
   276 	Auditoraudit uint32
       
   277 	Useraudit    uint32
       
   278 	Blksize      int32
       
   279 	Creatim31    [4]byte
       
   280 	AuditID      [16]byte
       
   281 	_            [4]byte // rsrvd1
       
   282 	File_tag     struct {
       
   283 		Ccsid   uint16
       
   284 		Txtflag uint16 // aggregating Txflag:1 deferred:1 rsvflags:14
       
   285 	}
       
   286 	CharsetID [8]byte
       
   287 	Blocks    int64
       
   288 	Genvalue  uint32
       
   289 	Reftim31  [4]byte
       
   290 	Fid       [8]byte
       
   291 	Filefmt   byte
       
   292 	Fspflag2  byte
       
   293 	_         [2]byte // rsrvd2
       
   294 	Ctimemsec int32
       
   295 	Seclabel  [8]byte
       
   296 	_         [4]byte // rsrvd3
       
   297 	_         [4]byte // rsrvd4
       
   298 	Atim      Time_t
       
   299 	Mtim      Time_t
       
   300 	Ctim      Time_t
       
   301 	Creatim   Time_t
       
   302 	Reftim    Time_t
       
   303 	_         [24]byte // rsrvd5
       
   304 }
       
   305 
       
   306 type Statvfs_t struct {
       
   307 	ID          [4]byte
       
   308 	Len         int32
       
   309 	Bsize       uint64
       
   310 	Blocks      uint64
       
   311 	Usedspace   uint64
       
   312 	Bavail      uint64
       
   313 	Flag        uint64
       
   314 	Maxfilesize int64
       
   315 	_           [16]byte
       
   316 	Frsize      uint64
       
   317 	Bfree       uint64
       
   318 	Files       uint32
       
   319 	Ffree       uint32
       
   320 	Favail      uint32
       
   321 	Namemax31   uint32
       
   322 	Invarsec    uint32
       
   323 	_           [4]byte
       
   324 	Fsid        uint64
       
   325 	Namemax     uint64
       
   326 }
       
   327 
       
   328 type Statfs_t struct {
       
   329 	Type    uint32
       
   330 	Bsize   uint64
       
   331 	Blocks  uint64
       
   332 	Bfree   uint64
       
   333 	Bavail  uint64
       
   334 	Files   uint32
       
   335 	Ffree   uint32
       
   336 	Fsid    uint64
       
   337 	Namelen uint64
       
   338 	Frsize  uint64
       
   339 	Flags   uint64
       
   340 }
       
   341 
       
   342 type Dirent struct {
       
   343 	Reclen uint16
       
   344 	Namlen uint16
       
   345 	Ino    uint32
       
   346 	Extra  uintptr
       
   347 	Name   [256]byte
       
   348 }
       
   349 
       
   350 type FdSet struct {
       
   351 	Bits [64]int32
       
   352 }
       
   353 
       
   354 // This struct is packed on z/OS so it can't be used directly.
       
   355 type Flock_t struct {
       
   356 	Type   int16
       
   357 	Whence int16
       
   358 	Start  int64
       
   359 	Len    int64
       
   360 	Pid    int32
       
   361 }
       
   362 
       
   363 type Termios struct {
       
   364 	Cflag uint32
       
   365 	Iflag uint32
       
   366 	Lflag uint32
       
   367 	Oflag uint32
       
   368 	Cc    [11]uint8
       
   369 }
       
   370 
       
   371 type Winsize struct {
       
   372 	Row    uint16
       
   373 	Col    uint16
       
   374 	Xpixel uint16
       
   375 	Ypixel uint16
       
   376 }
       
   377 
       
   378 type W_Mnth struct {
       
   379 	Hid   [4]byte
       
   380 	Size  int32
       
   381 	Cur1  int32 //32bit pointer
       
   382 	Cur2  int32 //^
       
   383 	Devno uint32
       
   384 	_     [4]byte
       
   385 }
       
   386 
       
   387 type W_Mntent struct {
       
   388 	Fstype       uint32
       
   389 	Mode         uint32
       
   390 	Dev          uint32
       
   391 	Parentdev    uint32
       
   392 	Rootino      uint32
       
   393 	Status       byte
       
   394 	Ddname       [9]byte
       
   395 	Fstname      [9]byte
       
   396 	Fsname       [45]byte
       
   397 	Pathlen      uint32
       
   398 	Mountpoint   [1024]byte
       
   399 	Jobname      [8]byte
       
   400 	PID          int32
       
   401 	Parmoffset   int32
       
   402 	Parmlen      int16
       
   403 	Owner        [8]byte
       
   404 	Quiesceowner [8]byte
       
   405 	_            [38]byte
       
   406 }