| // Copyright 2020 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| //go:build zos && s390x |
| |
| // Hand edited based on ztypes_linux_s390x.go |
| // TODO: auto-generate. |
| |
| package unix |
| |
| const ( |
| SizeofPtr = 0x8 |
| SizeofShort = 0x2 |
| SizeofInt = 0x4 |
| SizeofLong = 0x8 |
| SizeofLongLong = 0x8 |
| PathMax = 0x1000 |
| ) |
| |
| const ( |
| SizeofSockaddrAny = 128 |
| SizeofCmsghdr = 12 |
| SizeofIPMreq = 8 |
| SizeofIPv6Mreq = 20 |
| SizeofICMPv6Filter = 32 |
| SizeofIPv6MTUInfo = 32 |
| SizeofInet4Pktinfo = 8 |
| SizeofInet6Pktinfo = 20 |
| SizeofLinger = 8 |
| SizeofSockaddrInet4 = 16 |
| SizeofSockaddrInet6 = 28 |
| SizeofTCPInfo = 0x68 |
| SizeofUcred = 12 |
| ) |
| |
| type ( |
| _C_short int16 |
| _C_int int32 |
| _C_long int64 |
| _C_long_long int64 |
| ) |
| |
| type Timespec struct { |
| Sec int64 |
| Nsec int64 |
| } |
| |
| type Timeval struct { |
| Sec int64 |
| Usec int64 |
| } |
| |
| type timeval_zos struct { //correct (with padding and all) |
| Sec int64 |
| _ [4]byte // pad |
| Usec int32 |
| } |
| |
| type Tms struct { //clock_t is 4-byte unsigned int in zos |
| Utime uint32 |
| Stime uint32 |
| Cutime uint32 |
| Cstime uint32 |
| } |
| |
| type Time_t int64 |
| |
| type Utimbuf struct { |
| Actime int64 |
| Modtime int64 |
| } |
| |
| type Utsname struct { |
| Sysname [16]byte |
| Nodename [32]byte |
| Release [8]byte |
| Version [8]byte |
| Machine [16]byte |
| } |
| |
| type Ucred struct { |
| Pid int32 |
| Uid uint32 |
| Gid uint32 |
| } |
| |
| type RawSockaddrInet4 struct { |
| Len uint8 |
| Family uint8 |
| Port uint16 |
| Addr [4]byte /* in_addr */ |
| Zero [8]uint8 |
| } |
| |
| type RawSockaddrInet6 struct { |
| Len uint8 |
| Family uint8 |
| Port uint16 |
| Flowinfo uint32 |
| Addr [16]byte /* in6_addr */ |
| Scope_id uint32 |
| } |
| |
| type RawSockaddrUnix struct { |
| Len uint8 |
| Family uint8 |
| Path [108]int8 |
| } |
| |
| type RawSockaddr struct { |
| Len uint8 |
| Family uint8 |
| Data [14]uint8 |
| } |
| |
| type RawSockaddrAny struct { |
| Addr RawSockaddr |
| _ [112]uint8 // pad |
| } |
| |
| type _Socklen uint32 |
| |
| type Linger struct { |
| Onoff int32 |
| Linger int32 |
| } |
| |
| type Iovec struct { |
| Base *byte |
| Len uint64 |
| } |
| |
| type IPMreq struct { |
| Multiaddr [4]byte /* in_addr */ |
| Interface [4]byte /* in_addr */ |
| } |
| |
| type IPv6Mreq struct { |
| Multiaddr [16]byte /* in6_addr */ |
| Interface uint32 |
| } |
| |
| type Msghdr struct { |
| Name *byte |
| Iov *Iovec |
| Control *byte |
| Flags int32 |
| Namelen int32 |
| Iovlen int32 |
| Controllen int32 |
| } |
| |
| type Cmsghdr struct { |
| Len int32 |
| Level int32 |
| Type int32 |
| } |
| |
| type Inet4Pktinfo struct { |
| Addr [4]byte /* in_addr */ |
| Ifindex uint32 |
| } |
| |
| type Inet6Pktinfo struct { |
| Addr [16]byte /* in6_addr */ |
| Ifindex uint32 |
| } |
| |
| type IPv6MTUInfo struct { |
| Addr RawSockaddrInet6 |
| Mtu uint32 |
| } |
| |
| type ICMPv6Filter struct { |
| Data [8]uint32 |
| } |
| |
| type TCPInfo struct { |
| State uint8 |
| Ca_state uint8 |
| Retransmits uint8 |
| Probes uint8 |
| Backoff uint8 |
| Options uint8 |
| Rto uint32 |
| Ato uint32 |
| Snd_mss uint32 |
| Rcv_mss uint32 |
| Unacked uint32 |
| Sacked uint32 |
| Lost uint32 |
| Retrans uint32 |
| Fackets uint32 |
| Last_data_sent uint32 |
| Last_ack_sent uint32 |
| Last_data_recv uint32 |
| Last_ack_recv uint32 |
| Pmtu uint32 |
| Rcv_ssthresh uint32 |
| Rtt uint32 |
| Rttvar uint32 |
| Snd_ssthresh uint32 |
| Snd_cwnd uint32 |
| Advmss uint32 |
| Reordering uint32 |
| Rcv_rtt uint32 |
| Rcv_space uint32 |
| Total_retrans uint32 |
| } |
| |
| type _Gid_t uint32 |
| |
| type rusage_zos struct { |
| Utime timeval_zos |
| Stime timeval_zos |
| } |
| |
| type Rusage struct { |
| Utime Timeval |
| Stime Timeval |
| Maxrss int64 |
| Ixrss int64 |
| Idrss int64 |
| Isrss int64 |
| Minflt int64 |
| Majflt int64 |
| Nswap int64 |
| Inblock int64 |
| Oublock int64 |
| Msgsnd int64 |
| Msgrcv int64 |
| Nsignals int64 |
| Nvcsw int64 |
| Nivcsw int64 |
| } |
| |
| type Rlimit struct { |
| Cur uint64 |
| Max uint64 |
| } |
| |
| // { int, short, short } in poll.h |
| type PollFd struct { |
| Fd int32 |
| Events int16 |
| Revents int16 |
| } |
| |
| type Stat_t struct { //Linux Definition |
| Dev uint64 |
| Ino uint64 |
| Nlink uint64 |
| Mode uint32 |
| Uid uint32 |
| Gid uint32 |
| _ int32 |
| Rdev uint64 |
| Size int64 |
| Atim Timespec |
| Mtim Timespec |
| Ctim Timespec |
| Blksize int64 |
| Blocks int64 |
| _ [3]int64 |
| } |
| |
| type Stat_LE_t struct { |
| _ [4]byte // eye catcher |
| Length uint16 |
| Version uint16 |
| Mode int32 |
| Ino uint32 |
| Dev uint32 |
| Nlink int32 |
| Uid int32 |
| Gid int32 |
| Size int64 |
| Atim31 [4]byte |
| Mtim31 [4]byte |
| Ctim31 [4]byte |
| Rdev uint32 |
| Auditoraudit uint32 |
| Useraudit uint32 |
| Blksize int32 |
| Creatim31 [4]byte |
| AuditID [16]byte |
| _ [4]byte // rsrvd1 |
| File_tag struct { |
| Ccsid uint16 |
| Txtflag uint16 // aggregating Txflag:1 deferred:1 rsvflags:14 |
| } |
| CharsetID [8]byte |
| Blocks int64 |
| Genvalue uint32 |
| Reftim31 [4]byte |
| Fid [8]byte |
| Filefmt byte |
| Fspflag2 byte |
| _ [2]byte // rsrvd2 |
| Ctimemsec int32 |
| Seclabel [8]byte |
| _ [4]byte // rsrvd3 |
| _ [4]byte // rsrvd4 |
| Atim Time_t |
| Mtim Time_t |
| Ctim Time_t |
| Creatim Time_t |
| Reftim Time_t |
| _ [24]byte // rsrvd5 |
| } |
| |
| type Statvfs_t struct { |
| ID [4]byte |
| Len int32 |
| Bsize uint64 |
| Blocks uint64 |
| Usedspace uint64 |
| Bavail uint64 |
| Flag uint64 |
| Maxfilesize int64 |
| _ [16]byte |
| Frsize uint64 |
| Bfree uint64 |
| Files uint32 |
| Ffree uint32 |
| Favail uint32 |
| Namemax31 uint32 |
| Invarsec uint32 |
| _ [4]byte |
| Fsid uint64 |
| Namemax uint64 |
| } |
| |
| type Statfs_t struct { |
| Type uint64 |
| Bsize uint64 |
| Blocks uint64 |
| Bfree uint64 |
| Bavail uint64 |
| Files uint32 |
| Ffree uint32 |
| Fsid uint64 |
| Namelen uint64 |
| Frsize uint64 |
| Flags uint64 |
| _ [4]uint64 |
| } |
| |
| type direntLE struct { |
| Reclen uint16 |
| Namlen uint16 |
| Ino uint32 |
| Extra uintptr |
| Name [256]byte |
| } |
| |
| type Dirent struct { |
| Ino uint64 |
| Off int64 |
| Reclen uint16 |
| Type uint8 |
| Name [256]uint8 |
| _ [5]byte |
| } |
| |
| type FdSet struct { |
| Bits [64]int32 |
| } |
| |
| // This struct is packed on z/OS so it can't be used directly. |
| type Flock_t struct { |
| Type int16 |
| Whence int16 |
| Start int64 |
| Len int64 |
| Pid int32 |
| } |
| |
| type Termios struct { |
| Cflag uint32 |
| Iflag uint32 |
| Lflag uint32 |
| Oflag uint32 |
| Cc [11]uint8 |
| } |
| |
| type Winsize struct { |
| Row uint16 |
| Col uint16 |
| Xpixel uint16 |
| Ypixel uint16 |
| } |
| |
| type W_Mnth struct { |
| Hid [4]byte |
| Size int32 |
| Cur1 int32 //32bit pointer |
| Cur2 int32 //^ |
| Devno uint32 |
| _ [4]byte |
| } |
| |
| type W_Mntent struct { |
| Fstype uint32 |
| Mode uint32 |
| Dev uint32 |
| Parentdev uint32 |
| Rootino uint32 |
| Status byte |
| Ddname [9]byte |
| Fstname [9]byte |
| Fsname [45]byte |
| Pathlen uint32 |
| Mountpoint [1024]byte |
| Jobname [8]byte |
| PID int32 |
| Parmoffset int32 |
| Parmlen int16 |
| Owner [8]byte |
| Quiesceowner [8]byte |
| _ [38]byte |
| } |
| |
| type EpollEvent struct { |
| Events uint32 |
| _ int32 |
| Fd int32 |
| Pad int32 |
| } |
| |
| type InotifyEvent struct { |
| Wd int32 |
| Mask uint32 |
| Cookie uint32 |
| Len uint32 |
| Name string |
| } |
| |
| const ( |
| SizeofInotifyEvent = 0x10 |
| ) |
| |
| type ConsMsg2 struct { |
| Cm2Format uint16 |
| Cm2R1 uint16 |
| Cm2Msglength uint32 |
| Cm2Msg *byte |
| Cm2R2 [4]byte |
| Cm2R3 [4]byte |
| Cm2Routcde *uint32 |
| Cm2Descr *uint32 |
| Cm2Msgflag uint32 |
| Cm2Token uint32 |
| Cm2Msgid *uint32 |
| Cm2R4 [4]byte |
| Cm2DomToken uint32 |
| Cm2DomMsgid *uint32 |
| Cm2ModCartptr *byte |
| Cm2ModConsidptr *byte |
| Cm2MsgCart [8]byte |
| Cm2MsgConsid [4]byte |
| Cm2R5 [12]byte |
| } |
| |
| const ( |
| CC_modify = 1 |
| CC_stop = 2 |
| CONSOLE_FORMAT_2 = 2 |
| CONSOLE_FORMAT_3 = 3 |
| CONSOLE_HRDCPY = 0x80000000 |
| ) |
| |
| type OpenHow struct { |
| Flags uint64 |
| Mode uint64 |
| Resolve uint64 |
| } |
| |
| const SizeofOpenHow = 0x18 |
| |
| const ( |
| RESOLVE_CACHED = 0x20 |
| RESOLVE_BENEATH = 0x8 |
| RESOLVE_IN_ROOT = 0x10 |
| RESOLVE_NO_MAGICLINKS = 0x2 |
| RESOLVE_NO_SYMLINKS = 0x4 |
| RESOLVE_NO_XDEV = 0x1 |
| ) |
| |
| type Siginfo struct { |
| Signo int32 |
| Errno int32 |
| Code int32 |
| Pid int32 |
| Uid uint32 |
| _ [44]byte |
| } |
| |
| type SysvIpcPerm struct { |
| Uid uint32 |
| Gid uint32 |
| Cuid uint32 |
| Cgid uint32 |
| Mode int32 |
| } |
| |
| type SysvShmDesc struct { |
| Perm SysvIpcPerm |
| _ [4]byte |
| Lpid int32 |
| Cpid int32 |
| Nattch uint32 |
| _ [4]byte |
| _ [4]byte |
| _ [4]byte |
| _ int32 |
| _ uint8 |
| _ uint8 |
| _ uint16 |
| _ *byte |
| Segsz uint64 |
| Atime Time_t |
| Dtime Time_t |
| Ctime Time_t |
| } |
| |
| type SysvShmDesc64 struct { |
| Perm SysvIpcPerm |
| _ [4]byte |
| Lpid int32 |
| Cpid int32 |
| Nattch uint32 |
| _ [4]byte |
| _ [4]byte |
| _ [4]byte |
| _ int32 |
| _ byte |
| _ uint8 |
| _ uint16 |
| _ *byte |
| Segsz uint64 |
| Atime int64 |
| Dtime int64 |
| Ctime int64 |
| } |