mirror of
https://github.com/rwinkhart/sys.git
synced 2026-09-01 22:57:29 -04:00
unix: generate all Linux go files from source
Right now the process for adding in new constants, errors, or syscalls for Linux is a pain and unreliable. The scripts are designed to be run on the target architecture and use the header files installed on the user's system. This makes it hard to generate files for all the architectures or to have consistency between users. See golang/go#15282. This CL fixes this issue by making all of the files for the 11 supported architectures directly from source checkouts of Linux, glibc, and bluez. This is done using Docker, the gcc cross-compilers, and qemu emulation. Previously discussed here: https://go-review.googlesource.com/c/37589/ A README.md file is also added to explain how all the parts of the build system work. In order to get the build working for all the architectures, I made some changes to the other scripts called from mkall_linux.go: - Files only used for generating linux code, moved to linux/ - linux/mksysnum.pl supports a specified CC compiler. - The generated C code in mkerrors.sh changed to avoid a warning - mkerrors.sh headers changed to fix powerpc64 bug in sys/ioctl.h - linux/types.go no longer needs to export Ptrace structs in lowercase Build instructions: - Host system needs to be x86-64 Linux - Install Docker (https://docs.docker.com/engine/installation/) - ./mkall.sh (That's it!!!) Change-Id: I87067c14442ba12f8d51991349a43a9d73f38ae0 Reviewed-on: https://go-review.googlesource.com/37943 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
committed by
Brad Fitzpatrick
parent
f3918c30c5
commit
ea9bcade75
+204
-34
@@ -1,10 +1,10 @@
|
||||
// mkerrors.sh -m64
|
||||
// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
|
||||
// mkerrors.sh -Wall -Werror -static -I/tmp/include -m64
|
||||
// Code generated by the command above; see README.md. DO NOT EDIT.
|
||||
|
||||
// +build amd64,linux
|
||||
|
||||
// Created by cgo -godefs - DO NOT EDIT
|
||||
// cgo -godefs -- -m64 _const.go
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 _const.go
|
||||
|
||||
package unix
|
||||
|
||||
@@ -24,6 +24,7 @@ const (
|
||||
AF_DECnet = 0xc
|
||||
AF_ECONET = 0x13
|
||||
AF_FILE = 0x1
|
||||
AF_IB = 0x1b
|
||||
AF_IEEE802154 = 0x24
|
||||
AF_INET = 0x2
|
||||
AF_INET6 = 0xa
|
||||
@@ -31,10 +32,12 @@ const (
|
||||
AF_IRDA = 0x17
|
||||
AF_ISDN = 0x22
|
||||
AF_IUCV = 0x20
|
||||
AF_KCM = 0x29
|
||||
AF_KEY = 0xf
|
||||
AF_LLC = 0x1a
|
||||
AF_LOCAL = 0x1
|
||||
AF_MAX = 0x28
|
||||
AF_MAX = 0x2b
|
||||
AF_MPLS = 0x1c
|
||||
AF_NETBEUI = 0xd
|
||||
AF_NETLINK = 0x10
|
||||
AF_NETROM = 0x6
|
||||
@@ -42,6 +45,7 @@ const (
|
||||
AF_PACKET = 0x11
|
||||
AF_PHONET = 0x23
|
||||
AF_PPPOX = 0x18
|
||||
AF_QIPCRTR = 0x2a
|
||||
AF_RDS = 0x15
|
||||
AF_ROSE = 0xb
|
||||
AF_ROUTE = 0x10
|
||||
@@ -61,6 +65,7 @@ const (
|
||||
ALG_SET_IV = 0x2
|
||||
ALG_SET_KEY = 0x1
|
||||
ALG_SET_OP = 0x3
|
||||
ARPHRD_6LOWPAN = 0x339
|
||||
ARPHRD_ADAPT = 0x108
|
||||
ARPHRD_APPLETLK = 0x8
|
||||
ARPHRD_ARCNET = 0x7
|
||||
@@ -95,8 +100,10 @@ const (
|
||||
ARPHRD_IEEE80211_PRISM = 0x322
|
||||
ARPHRD_IEEE80211_RADIOTAP = 0x323
|
||||
ARPHRD_IEEE802154 = 0x324
|
||||
ARPHRD_IEEE802154_MONITOR = 0x325
|
||||
ARPHRD_IEEE802_TR = 0x320
|
||||
ARPHRD_INFINIBAND = 0x20
|
||||
ARPHRD_IP6GRE = 0x337
|
||||
ARPHRD_IPDDP = 0x309
|
||||
ARPHRD_IPGRE = 0x30a
|
||||
ARPHRD_IRDA = 0x30f
|
||||
@@ -104,6 +111,7 @@ const (
|
||||
ARPHRD_LOCALTLK = 0x305
|
||||
ARPHRD_LOOPBACK = 0x304
|
||||
ARPHRD_METRICOM = 0x17
|
||||
ARPHRD_NETLINK = 0x338
|
||||
ARPHRD_NETROM = 0x0
|
||||
ARPHRD_NONE = 0xfffe
|
||||
ARPHRD_PHONET = 0x334
|
||||
@@ -189,6 +197,7 @@ const (
|
||||
BPF_LD = 0x0
|
||||
BPF_LDX = 0x1
|
||||
BPF_LEN = 0x80
|
||||
BPF_LL_OFF = -0x200000
|
||||
BPF_LSH = 0x60
|
||||
BPF_MAJOR_VERSION = 0x1
|
||||
BPF_MAXINSNS = 0x1000
|
||||
@@ -196,9 +205,11 @@ const (
|
||||
BPF_MEMWORDS = 0x10
|
||||
BPF_MINOR_VERSION = 0x1
|
||||
BPF_MISC = 0x7
|
||||
BPF_MOD = 0x90
|
||||
BPF_MSH = 0xa0
|
||||
BPF_MUL = 0x20
|
||||
BPF_NEG = 0x80
|
||||
BPF_NET_OFF = -0x100000
|
||||
BPF_OR = 0x40
|
||||
BPF_RET = 0x6
|
||||
BPF_RSH = 0x70
|
||||
@@ -209,6 +220,7 @@ const (
|
||||
BPF_TXA = 0x80
|
||||
BPF_W = 0x0
|
||||
BPF_X = 0x8
|
||||
BPF_XOR = 0xa0
|
||||
BRKINT = 0x2
|
||||
BS0 = 0x0
|
||||
BS1 = 0x2000
|
||||
@@ -227,6 +239,7 @@ const (
|
||||
CAN_MTU = 0x10
|
||||
CAN_NPROTO = 0x7
|
||||
CAN_RAW = 0x1
|
||||
CAN_RAW_FILTER_MAX = 0x200
|
||||
CAN_RTR_FLAG = 0x40000000
|
||||
CAN_SFF_ID_BITS = 0xb
|
||||
CAN_SFF_MASK = 0x7ff
|
||||
@@ -249,6 +262,7 @@ const (
|
||||
CLOCK_REALTIME = 0x0
|
||||
CLOCK_REALTIME_ALARM = 0x8
|
||||
CLOCK_REALTIME_COARSE = 0x5
|
||||
CLOCK_TAI = 0xb
|
||||
CLOCK_THREAD_CPUTIME_ID = 0x3
|
||||
CLOCK_TXFROMRX = 0x4
|
||||
CLOCK_TXINT = 0x3
|
||||
@@ -318,6 +332,7 @@ const (
|
||||
ENCODING_NRZI = 0x2
|
||||
EPOLLERR = 0x8
|
||||
EPOLLET = 0x80000000
|
||||
EPOLLEXCLUSIVE = 0x10000000
|
||||
EPOLLHUP = 0x10
|
||||
EPOLLIN = 0x1
|
||||
EPOLLMSG = 0x400
|
||||
@@ -327,19 +342,22 @@ const (
|
||||
EPOLLRDBAND = 0x80
|
||||
EPOLLRDHUP = 0x2000
|
||||
EPOLLRDNORM = 0x40
|
||||
EPOLLWAKEUP = 0x20000000
|
||||
EPOLLWRBAND = 0x200
|
||||
EPOLLWRNORM = 0x100
|
||||
EPOLL_CLOEXEC = 0x80000
|
||||
EPOLL_CTL_ADD = 0x1
|
||||
EPOLL_CTL_DEL = 0x2
|
||||
EPOLL_CTL_MOD = 0x3
|
||||
EPOLL_NONBLOCK = 0x800
|
||||
ETH_P_1588 = 0x88f7
|
||||
ETH_P_8021AD = 0x88a8
|
||||
ETH_P_8021AH = 0x88e7
|
||||
ETH_P_8021Q = 0x8100
|
||||
ETH_P_80221 = 0x8917
|
||||
ETH_P_802_2 = 0x4
|
||||
ETH_P_802_3 = 0x1
|
||||
ETH_P_802_3_MIN = 0x600
|
||||
ETH_P_802_EX1 = 0x88b5
|
||||
ETH_P_AARP = 0x80f3
|
||||
ETH_P_AF_IUCV = 0xfbfb
|
||||
ETH_P_ALL = 0x3
|
||||
@@ -350,9 +368,11 @@ const (
|
||||
ETH_P_ATMFATE = 0x8884
|
||||
ETH_P_ATMMPOA = 0x884c
|
||||
ETH_P_AX25 = 0x2
|
||||
ETH_P_BATMAN = 0x4305
|
||||
ETH_P_BPQ = 0x8ff
|
||||
ETH_P_CAIF = 0xf7
|
||||
ETH_P_CAN = 0xc
|
||||
ETH_P_CANFD = 0xd
|
||||
ETH_P_CONTROL = 0x16
|
||||
ETH_P_CUST = 0x6006
|
||||
ETH_P_DDCMP = 0x6
|
||||
@@ -367,6 +387,7 @@ const (
|
||||
ETH_P_FCOE = 0x8906
|
||||
ETH_P_FIP = 0x8914
|
||||
ETH_P_HDLC = 0x19
|
||||
ETH_P_HSR = 0x892f
|
||||
ETH_P_IEEE802154 = 0xf6
|
||||
ETH_P_IEEEPUP = 0xa00
|
||||
ETH_P_IEEEPUPAT = 0xa01
|
||||
@@ -378,9 +399,13 @@ const (
|
||||
ETH_P_LINK_CTL = 0x886c
|
||||
ETH_P_LOCALTALK = 0x9
|
||||
ETH_P_LOOP = 0x60
|
||||
ETH_P_LOOPBACK = 0x9000
|
||||
ETH_P_MACSEC = 0x88e5
|
||||
ETH_P_MOBITEX = 0x15
|
||||
ETH_P_MPLS_MC = 0x8848
|
||||
ETH_P_MPLS_UC = 0x8847
|
||||
ETH_P_MVRP = 0x88f5
|
||||
ETH_P_NCSI = 0x88f8
|
||||
ETH_P_PAE = 0x888e
|
||||
ETH_P_PAUSE = 0x8808
|
||||
ETH_P_PHONET = 0xf5
|
||||
@@ -388,6 +413,7 @@ const (
|
||||
ETH_P_PPP_DISC = 0x8863
|
||||
ETH_P_PPP_MP = 0x8
|
||||
ETH_P_PPP_SES = 0x8864
|
||||
ETH_P_PRP = 0x88fb
|
||||
ETH_P_PUP = 0x200
|
||||
ETH_P_PUPAT = 0x201
|
||||
ETH_P_QINQ1 = 0x9100
|
||||
@@ -402,9 +428,11 @@ const (
|
||||
ETH_P_TIPC = 0x88ca
|
||||
ETH_P_TRAILER = 0x1c
|
||||
ETH_P_TR_802_2 = 0x11
|
||||
ETH_P_TSN = 0x22f0
|
||||
ETH_P_WAN_PPP = 0x7
|
||||
ETH_P_WCCP = 0x883e
|
||||
ETH_P_X25 = 0x805
|
||||
ETH_P_XDSA = 0xf8
|
||||
EXTA = 0xe
|
||||
EXTB = 0xf
|
||||
EXTPROC = 0x10000
|
||||
@@ -413,6 +441,7 @@ const (
|
||||
FALLOC_FL_KEEP_SIZE = 0x1
|
||||
FALLOC_FL_NO_HIDE_STALE = 0x4
|
||||
FALLOC_FL_PUNCH_HOLE = 0x2
|
||||
FALLOC_FL_UNSHARE_RANGE = 0x40
|
||||
FALLOC_FL_ZERO_RANGE = 0x10
|
||||
FD_CLOEXEC = 0x1
|
||||
FD_SETSIZE = 0x400
|
||||
@@ -434,6 +463,9 @@ const (
|
||||
F_GETSIG = 0xb
|
||||
F_LOCK = 0x1
|
||||
F_NOTIFY = 0x402
|
||||
F_OFD_GETLK = 0x24
|
||||
F_OFD_SETLK = 0x25
|
||||
F_OFD_SETLKW = 0x26
|
||||
F_OK = 0x0
|
||||
F_RDLCK = 0x0
|
||||
F_SETFD = 0x2
|
||||
@@ -464,57 +496,48 @@ const (
|
||||
IFA_F_DADFAILED = 0x8
|
||||
IFA_F_DEPRECATED = 0x20
|
||||
IFA_F_HOMEADDRESS = 0x10
|
||||
IFA_F_MANAGETEMPADDR = 0x100
|
||||
IFA_F_MCAUTOJOIN = 0x400
|
||||
IFA_F_NODAD = 0x2
|
||||
IFA_F_NOPREFIXROUTE = 0x200
|
||||
IFA_F_OPTIMISTIC = 0x4
|
||||
IFA_F_PERMANENT = 0x80
|
||||
IFA_F_SECONDARY = 0x1
|
||||
IFA_F_STABLE_PRIVACY = 0x800
|
||||
IFA_F_TEMPORARY = 0x1
|
||||
IFA_F_TENTATIVE = 0x40
|
||||
IFA_MAX = 0x7
|
||||
IFF_802_1Q_VLAN = 0x1
|
||||
IFA_MAX = 0x8
|
||||
IFF_ALLMULTI = 0x200
|
||||
IFF_ATTACH_QUEUE = 0x200
|
||||
IFF_AUTOMEDIA = 0x4000
|
||||
IFF_BONDING = 0x20
|
||||
IFF_BRIDGE_PORT = 0x4000
|
||||
IFF_BROADCAST = 0x2
|
||||
IFF_DEBUG = 0x4
|
||||
IFF_DISABLE_NETPOLL = 0x1000
|
||||
IFF_DONT_BRIDGE = 0x800
|
||||
IFF_DETACH_QUEUE = 0x400
|
||||
IFF_DORMANT = 0x20000
|
||||
IFF_DYNAMIC = 0x8000
|
||||
IFF_EBRIDGE = 0x2
|
||||
IFF_ECHO = 0x40000
|
||||
IFF_ISATAP = 0x80
|
||||
IFF_LOOPBACK = 0x8
|
||||
IFF_LOWER_UP = 0x10000
|
||||
IFF_MACVLAN_PORT = 0x2000
|
||||
IFF_MASTER = 0x400
|
||||
IFF_MASTER_8023AD = 0x8
|
||||
IFF_MASTER_ALB = 0x10
|
||||
IFF_MASTER_ARPMON = 0x100
|
||||
IFF_MULTICAST = 0x1000
|
||||
IFF_MULTI_QUEUE = 0x100
|
||||
IFF_NOARP = 0x80
|
||||
IFF_NOFILTER = 0x1000
|
||||
IFF_NOTRAILERS = 0x20
|
||||
IFF_NO_PI = 0x1000
|
||||
IFF_ONE_QUEUE = 0x2000
|
||||
IFF_OVS_DATAPATH = 0x8000
|
||||
IFF_PERSIST = 0x800
|
||||
IFF_POINTOPOINT = 0x10
|
||||
IFF_PORTSEL = 0x2000
|
||||
IFF_PROMISC = 0x100
|
||||
IFF_RUNNING = 0x40
|
||||
IFF_SLAVE = 0x800
|
||||
IFF_SLAVE_INACTIVE = 0x4
|
||||
IFF_SLAVE_NEEDARP = 0x40
|
||||
IFF_TAP = 0x2
|
||||
IFF_TUN = 0x1
|
||||
IFF_TUN_EXCL = 0x8000
|
||||
IFF_TX_SKB_SHARING = 0x10000
|
||||
IFF_UNICAST_FLT = 0x20000
|
||||
IFF_UP = 0x1
|
||||
IFF_VNET_HDR = 0x4000
|
||||
IFF_VOLATILE = 0x70c5a
|
||||
IFF_WAN_HDLC = 0x200
|
||||
IFF_XMIT_DST_RELEASE = 0x400
|
||||
IFNAMSIZ = 0x10
|
||||
IGNBRK = 0x1
|
||||
IGNCR = 0x80
|
||||
@@ -561,6 +584,7 @@ const (
|
||||
IN_Q_OVERFLOW = 0x4000
|
||||
IN_UNMOUNT = 0x2000
|
||||
IPPROTO_AH = 0x33
|
||||
IPPROTO_BEETPH = 0x5e
|
||||
IPPROTO_COMP = 0x6c
|
||||
IPPROTO_DCCP = 0x21
|
||||
IPPROTO_DSTOPTS = 0x3c
|
||||
@@ -577,6 +601,8 @@ const (
|
||||
IPPROTO_IP = 0x0
|
||||
IPPROTO_IPIP = 0x4
|
||||
IPPROTO_IPV6 = 0x29
|
||||
IPPROTO_MH = 0x87
|
||||
IPPROTO_MPLS = 0x89
|
||||
IPPROTO_MTP = 0x5c
|
||||
IPPROTO_NONE = 0x3b
|
||||
IPPROTO_PIM = 0x67
|
||||
@@ -599,8 +625,10 @@ const (
|
||||
IPV6_ADD_MEMBERSHIP = 0x14
|
||||
IPV6_AUTHHDR = 0xa
|
||||
IPV6_CHECKSUM = 0x7
|
||||
IPV6_DONTFRAG = 0x3e
|
||||
IPV6_DROP_MEMBERSHIP = 0x15
|
||||
IPV6_DSTOPTS = 0x3b
|
||||
IPV6_HDRINCL = 0x24
|
||||
IPV6_HOPLIMIT = 0x34
|
||||
IPV6_HOPOPTS = 0x36
|
||||
IPV6_IPSEC_POLICY = 0x22
|
||||
@@ -614,15 +642,19 @@ const (
|
||||
IPV6_MULTICAST_IF = 0x11
|
||||
IPV6_MULTICAST_LOOP = 0x13
|
||||
IPV6_NEXTHOP = 0x9
|
||||
IPV6_PATHMTU = 0x3d
|
||||
IPV6_PKTINFO = 0x32
|
||||
IPV6_PMTUDISC_DO = 0x2
|
||||
IPV6_PMTUDISC_DONT = 0x0
|
||||
IPV6_PMTUDISC_INTERFACE = 0x4
|
||||
IPV6_PMTUDISC_OMIT = 0x5
|
||||
IPV6_PMTUDISC_PROBE = 0x3
|
||||
IPV6_PMTUDISC_WANT = 0x1
|
||||
IPV6_RECVDSTOPTS = 0x3a
|
||||
IPV6_RECVERR = 0x19
|
||||
IPV6_RECVHOPLIMIT = 0x33
|
||||
IPV6_RECVHOPOPTS = 0x35
|
||||
IPV6_RECVPATHMTU = 0x3c
|
||||
IPV6_RECVPKTINFO = 0x31
|
||||
IPV6_RECVRTHDR = 0x38
|
||||
IPV6_RECVTCLASS = 0x42
|
||||
@@ -640,7 +672,9 @@ const (
|
||||
IPV6_XFRM_POLICY = 0x23
|
||||
IP_ADD_MEMBERSHIP = 0x23
|
||||
IP_ADD_SOURCE_MEMBERSHIP = 0x27
|
||||
IP_BIND_ADDRESS_NO_PORT = 0x18
|
||||
IP_BLOCK_SOURCE = 0x26
|
||||
IP_CHECKSUM = 0x17
|
||||
IP_DEFAULT_MULTICAST_LOOP = 0x1
|
||||
IP_DEFAULT_MULTICAST_TTL = 0x1
|
||||
IP_DF = 0x4000
|
||||
@@ -661,6 +695,7 @@ const (
|
||||
IP_MULTICAST_IF = 0x20
|
||||
IP_MULTICAST_LOOP = 0x22
|
||||
IP_MULTICAST_TTL = 0x21
|
||||
IP_NODEFRAG = 0x16
|
||||
IP_OFFMASK = 0x1fff
|
||||
IP_OPTIONS = 0x4
|
||||
IP_ORIGDSTADDR = 0x14
|
||||
@@ -670,6 +705,8 @@ const (
|
||||
IP_PMTUDISC = 0xa
|
||||
IP_PMTUDISC_DO = 0x2
|
||||
IP_PMTUDISC_DONT = 0x0
|
||||
IP_PMTUDISC_INTERFACE = 0x4
|
||||
IP_PMTUDISC_OMIT = 0x5
|
||||
IP_PMTUDISC_PROBE = 0x3
|
||||
IP_PMTUDISC_WANT = 0x1
|
||||
IP_RECVERR = 0xb
|
||||
@@ -685,6 +722,7 @@ const (
|
||||
IP_TRANSPARENT = 0x13
|
||||
IP_TTL = 0x2
|
||||
IP_UNBLOCK_SOURCE = 0x25
|
||||
IP_UNICAST_IF = 0x32
|
||||
IP_XFRM_POLICY = 0x11
|
||||
ISIG = 0x1
|
||||
ISTRIP = 0x20
|
||||
@@ -707,9 +745,12 @@ const (
|
||||
LOCK_NB = 0x4
|
||||
LOCK_SH = 0x1
|
||||
LOCK_UN = 0x8
|
||||
MADV_DODUMP = 0x11
|
||||
MADV_DOFORK = 0xb
|
||||
MADV_DONTDUMP = 0x10
|
||||
MADV_DONTFORK = 0xa
|
||||
MADV_DONTNEED = 0x4
|
||||
MADV_FREE = 0x8
|
||||
MADV_HUGEPAGE = 0xe
|
||||
MADV_HWPOISON = 0x64
|
||||
MADV_MERGEABLE = 0xc
|
||||
@@ -729,6 +770,8 @@ const (
|
||||
MAP_FIXED = 0x10
|
||||
MAP_GROWSDOWN = 0x100
|
||||
MAP_HUGETLB = 0x40000
|
||||
MAP_HUGE_MASK = 0x3f
|
||||
MAP_HUGE_SHIFT = 0x1a
|
||||
MAP_LOCKED = 0x2000
|
||||
MAP_NONBLOCK = 0x10000
|
||||
MAP_NORESERVE = 0x4000
|
||||
@@ -739,9 +782,11 @@ const (
|
||||
MAP_TYPE = 0xf
|
||||
MCL_CURRENT = 0x1
|
||||
MCL_FUTURE = 0x2
|
||||
MCL_ONFAULT = 0x4
|
||||
MNT_DETACH = 0x2
|
||||
MNT_EXPIRE = 0x4
|
||||
MNT_FORCE = 0x1
|
||||
MSG_BATCH = 0x40000
|
||||
MSG_CMSG_CLOEXEC = 0x40000000
|
||||
MSG_CONFIRM = 0x800
|
||||
MSG_CTRUNC = 0x8
|
||||
@@ -769,6 +814,7 @@ const (
|
||||
MS_INVALIDATE = 0x2
|
||||
MS_I_VERSION = 0x800000
|
||||
MS_KERNMOUNT = 0x400000
|
||||
MS_LAZYTIME = 0x2000000
|
||||
MS_MANDLOCK = 0x40
|
||||
MS_MGC_MSK = 0xffff0000
|
||||
MS_MGC_VAL = 0xc0ed0000
|
||||
@@ -785,7 +831,7 @@ const (
|
||||
MS_REC = 0x4000
|
||||
MS_RELATIME = 0x200000
|
||||
MS_REMOUNT = 0x20
|
||||
MS_RMT_MASK = 0x800051
|
||||
MS_RMT_MASK = 0x2800051
|
||||
MS_SHARED = 0x100000
|
||||
MS_SILENT = 0x8000
|
||||
MS_SLAVE = 0x80000
|
||||
@@ -893,13 +939,21 @@ const (
|
||||
PACKET_COPY_THRESH = 0x7
|
||||
PACKET_DROP_MEMBERSHIP = 0x2
|
||||
PACKET_FANOUT = 0x12
|
||||
PACKET_FANOUT_CBPF = 0x6
|
||||
PACKET_FANOUT_CPU = 0x2
|
||||
PACKET_FANOUT_DATA = 0x16
|
||||
PACKET_FANOUT_EBPF = 0x7
|
||||
PACKET_FANOUT_FLAG_DEFRAG = 0x8000
|
||||
PACKET_FANOUT_FLAG_ROLLOVER = 0x1000
|
||||
PACKET_FANOUT_HASH = 0x0
|
||||
PACKET_FANOUT_LB = 0x1
|
||||
PACKET_FANOUT_QM = 0x5
|
||||
PACKET_FANOUT_RND = 0x4
|
||||
PACKET_FANOUT_ROLLOVER = 0x3
|
||||
PACKET_FASTROUTE = 0x6
|
||||
PACKET_HDRLEN = 0xb
|
||||
PACKET_HOST = 0x0
|
||||
PACKET_KERNEL = 0x7
|
||||
PACKET_LOOPBACK = 0x5
|
||||
PACKET_LOSS = 0xe
|
||||
PACKET_MR_ALLMULTI = 0x2
|
||||
@@ -910,13 +964,17 @@ const (
|
||||
PACKET_ORIGDEV = 0x9
|
||||
PACKET_OTHERHOST = 0x3
|
||||
PACKET_OUTGOING = 0x4
|
||||
PACKET_QDISC_BYPASS = 0x14
|
||||
PACKET_RECV_OUTPUT = 0x3
|
||||
PACKET_RESERVE = 0xc
|
||||
PACKET_ROLLOVER_STATS = 0x15
|
||||
PACKET_RX_RING = 0x5
|
||||
PACKET_STATISTICS = 0x6
|
||||
PACKET_TIMESTAMP = 0x11
|
||||
PACKET_TX_HAS_OFF = 0x13
|
||||
PACKET_TX_RING = 0xd
|
||||
PACKET_TX_TIMESTAMP = 0x10
|
||||
PACKET_USER = 0x6
|
||||
PACKET_VERSION = 0xa
|
||||
PACKET_VNET_HDR = 0xf
|
||||
PARENB = 0x100
|
||||
@@ -942,6 +1000,11 @@ const (
|
||||
PROT_WRITE = 0x2
|
||||
PR_CAPBSET_DROP = 0x18
|
||||
PR_CAPBSET_READ = 0x17
|
||||
PR_CAP_AMBIENT = 0x2f
|
||||
PR_CAP_AMBIENT_CLEAR_ALL = 0x4
|
||||
PR_CAP_AMBIENT_IS_SET = 0x1
|
||||
PR_CAP_AMBIENT_LOWER = 0x3
|
||||
PR_CAP_AMBIENT_RAISE = 0x2
|
||||
PR_ENDIAN_BIG = 0x0
|
||||
PR_ENDIAN_LITTLE = 0x1
|
||||
PR_ENDIAN_PPC_LITTLE = 0x2
|
||||
@@ -957,16 +1020,22 @@ const (
|
||||
PR_FP_EXC_RES = 0x80000
|
||||
PR_FP_EXC_SW_ENABLE = 0x80
|
||||
PR_FP_EXC_UND = 0x40000
|
||||
PR_FP_MODE_FR = 0x1
|
||||
PR_FP_MODE_FRE = 0x2
|
||||
PR_GET_CHILD_SUBREAPER = 0x25
|
||||
PR_GET_DUMPABLE = 0x3
|
||||
PR_GET_ENDIAN = 0x13
|
||||
PR_GET_FPEMU = 0x9
|
||||
PR_GET_FPEXC = 0xb
|
||||
PR_GET_FP_MODE = 0x2e
|
||||
PR_GET_KEEPCAPS = 0x7
|
||||
PR_GET_NAME = 0x10
|
||||
PR_GET_NO_NEW_PRIVS = 0x27
|
||||
PR_GET_PDEATHSIG = 0x2
|
||||
PR_GET_SECCOMP = 0x15
|
||||
PR_GET_SECUREBITS = 0x1b
|
||||
PR_GET_THP_DISABLE = 0x2a
|
||||
PR_GET_TID_ADDRESS = 0x28
|
||||
PR_GET_TIMERSLACK = 0x1e
|
||||
PR_GET_TIMING = 0xd
|
||||
PR_GET_TSC = 0x19
|
||||
@@ -978,15 +1047,27 @@ const (
|
||||
PR_MCE_KILL_GET = 0x22
|
||||
PR_MCE_KILL_LATE = 0x0
|
||||
PR_MCE_KILL_SET = 0x1
|
||||
PR_MPX_DISABLE_MANAGEMENT = 0x2c
|
||||
PR_MPX_ENABLE_MANAGEMENT = 0x2b
|
||||
PR_SET_CHILD_SUBREAPER = 0x24
|
||||
PR_SET_DUMPABLE = 0x4
|
||||
PR_SET_ENDIAN = 0x14
|
||||
PR_SET_FPEMU = 0xa
|
||||
PR_SET_FPEXC = 0xc
|
||||
PR_SET_FP_MODE = 0x2d
|
||||
PR_SET_KEEPCAPS = 0x8
|
||||
PR_SET_MM = 0x23
|
||||
PR_SET_MM_ARG_END = 0x9
|
||||
PR_SET_MM_ARG_START = 0x8
|
||||
PR_SET_MM_AUXV = 0xc
|
||||
PR_SET_MM_BRK = 0x7
|
||||
PR_SET_MM_END_CODE = 0x2
|
||||
PR_SET_MM_END_DATA = 0x4
|
||||
PR_SET_MM_ENV_END = 0xb
|
||||
PR_SET_MM_ENV_START = 0xa
|
||||
PR_SET_MM_EXE_FILE = 0xd
|
||||
PR_SET_MM_MAP = 0xe
|
||||
PR_SET_MM_MAP_SIZE = 0xf
|
||||
PR_SET_MM_START_BRK = 0x6
|
||||
PR_SET_MM_START_CODE = 0x1
|
||||
PR_SET_MM_START_DATA = 0x3
|
||||
@@ -998,6 +1079,7 @@ const (
|
||||
PR_SET_PTRACER_ANY = -0x1
|
||||
PR_SET_SECCOMP = 0x16
|
||||
PR_SET_SECUREBITS = 0x1c
|
||||
PR_SET_THP_DISABLE = 0x29
|
||||
PR_SET_TIMERSLACK = 0x1d
|
||||
PR_SET_TIMING = 0xe
|
||||
PR_SET_TSC = 0x1a
|
||||
@@ -1028,12 +1110,15 @@ const (
|
||||
PTRACE_GETREGS = 0xc
|
||||
PTRACE_GETREGSET = 0x4204
|
||||
PTRACE_GETSIGINFO = 0x4202
|
||||
PTRACE_GETSIGMASK = 0x420a
|
||||
PTRACE_GET_THREAD_AREA = 0x19
|
||||
PTRACE_INTERRUPT = 0x4207
|
||||
PTRACE_KILL = 0x8
|
||||
PTRACE_LISTEN = 0x4208
|
||||
PTRACE_OLDSETOPTIONS = 0x15
|
||||
PTRACE_O_MASK = 0xff
|
||||
PTRACE_O_EXITKILL = 0x100000
|
||||
PTRACE_O_MASK = 0x3000ff
|
||||
PTRACE_O_SUSPEND_SECCOMP = 0x200000
|
||||
PTRACE_O_TRACECLONE = 0x8
|
||||
PTRACE_O_TRACEEXEC = 0x10
|
||||
PTRACE_O_TRACEEXIT = 0x40
|
||||
@@ -1043,19 +1128,22 @@ const (
|
||||
PTRACE_O_TRACEVFORK = 0x4
|
||||
PTRACE_O_TRACEVFORKDONE = 0x20
|
||||
PTRACE_PEEKDATA = 0x2
|
||||
PTRACE_PEEKSIGINFO = 0x4209
|
||||
PTRACE_PEEKSIGINFO_SHARED = 0x1
|
||||
PTRACE_PEEKTEXT = 0x1
|
||||
PTRACE_PEEKUSR = 0x3
|
||||
PTRACE_POKEDATA = 0x5
|
||||
PTRACE_POKETEXT = 0x4
|
||||
PTRACE_POKEUSR = 0x6
|
||||
PTRACE_SECCOMP_GET_FILTER = 0x420c
|
||||
PTRACE_SEIZE = 0x4206
|
||||
PTRACE_SEIZE_DEVEL = 0x80000000
|
||||
PTRACE_SETFPREGS = 0xf
|
||||
PTRACE_SETFPXREGS = 0x13
|
||||
PTRACE_SETOPTIONS = 0x4200
|
||||
PTRACE_SETREGS = 0xd
|
||||
PTRACE_SETREGSET = 0x4205
|
||||
PTRACE_SETSIGINFO = 0x4203
|
||||
PTRACE_SETSIGMASK = 0x420b
|
||||
PTRACE_SET_THREAD_AREA = 0x1a
|
||||
PTRACE_SINGLEBLOCK = 0x21
|
||||
PTRACE_SINGLESTEP = 0x9
|
||||
@@ -1072,18 +1160,21 @@ const (
|
||||
RLIMIT_STACK = 0x3
|
||||
RLIM_INFINITY = -0x1
|
||||
RTAX_ADVMSS = 0x8
|
||||
RTAX_CC_ALGO = 0x10
|
||||
RTAX_CWND = 0x7
|
||||
RTAX_FEATURES = 0xc
|
||||
RTAX_FEATURE_ALLFRAG = 0x8
|
||||
RTAX_FEATURE_ECN = 0x1
|
||||
RTAX_FEATURE_MASK = 0xf
|
||||
RTAX_FEATURE_SACK = 0x2
|
||||
RTAX_FEATURE_TIMESTAMP = 0x4
|
||||
RTAX_HOPLIMIT = 0xa
|
||||
RTAX_INITCWND = 0xb
|
||||
RTAX_INITRWND = 0xe
|
||||
RTAX_LOCK = 0x1
|
||||
RTAX_MAX = 0xe
|
||||
RTAX_MAX = 0x10
|
||||
RTAX_MTU = 0x2
|
||||
RTAX_QUICKACK = 0xf
|
||||
RTAX_REORDERING = 0x9
|
||||
RTAX_RTO_MIN = 0xd
|
||||
RTAX_RTT = 0x4
|
||||
@@ -1092,7 +1183,7 @@ const (
|
||||
RTAX_UNSPEC = 0x0
|
||||
RTAX_WINDOW = 0x3
|
||||
RTA_ALIGNTO = 0x4
|
||||
RTA_MAX = 0x10
|
||||
RTA_MAX = 0x19
|
||||
RTCF_DIRECTSRC = 0x4000000
|
||||
RTCF_DOREDIRECT = 0x1000000
|
||||
RTCF_LOG = 0x2000000
|
||||
@@ -1134,7 +1225,9 @@ const (
|
||||
RTM_DELADDR = 0x15
|
||||
RTM_DELADDRLABEL = 0x49
|
||||
RTM_DELLINK = 0x11
|
||||
RTM_DELMDB = 0x55
|
||||
RTM_DELNEIGH = 0x1d
|
||||
RTM_DELNSID = 0x59
|
||||
RTM_DELQDISC = 0x25
|
||||
RTM_DELROUTE = 0x19
|
||||
RTM_DELRULE = 0x21
|
||||
@@ -1142,6 +1235,7 @@ const (
|
||||
RTM_DELTFILTER = 0x2d
|
||||
RTM_F_CLONED = 0x200
|
||||
RTM_F_EQUALIZE = 0x400
|
||||
RTM_F_LOOKUP_TABLE = 0x1000
|
||||
RTM_F_NOTIFY = 0x100
|
||||
RTM_F_PREFIX = 0x800
|
||||
RTM_GETACTION = 0x32
|
||||
@@ -1150,44 +1244,57 @@ const (
|
||||
RTM_GETANYCAST = 0x3e
|
||||
RTM_GETDCB = 0x4e
|
||||
RTM_GETLINK = 0x12
|
||||
RTM_GETMDB = 0x56
|
||||
RTM_GETMULTICAST = 0x3a
|
||||
RTM_GETNEIGH = 0x1e
|
||||
RTM_GETNEIGHTBL = 0x42
|
||||
RTM_GETNETCONF = 0x52
|
||||
RTM_GETNSID = 0x5a
|
||||
RTM_GETQDISC = 0x26
|
||||
RTM_GETROUTE = 0x1a
|
||||
RTM_GETRULE = 0x22
|
||||
RTM_GETSTATS = 0x5e
|
||||
RTM_GETTCLASS = 0x2a
|
||||
RTM_GETTFILTER = 0x2e
|
||||
RTM_MAX = 0x4f
|
||||
RTM_MAX = 0x5f
|
||||
RTM_NEWACTION = 0x30
|
||||
RTM_NEWADDR = 0x14
|
||||
RTM_NEWADDRLABEL = 0x48
|
||||
RTM_NEWLINK = 0x10
|
||||
RTM_NEWMDB = 0x54
|
||||
RTM_NEWNDUSEROPT = 0x44
|
||||
RTM_NEWNEIGH = 0x1c
|
||||
RTM_NEWNEIGHTBL = 0x40
|
||||
RTM_NEWNETCONF = 0x50
|
||||
RTM_NEWNSID = 0x58
|
||||
RTM_NEWPREFIX = 0x34
|
||||
RTM_NEWQDISC = 0x24
|
||||
RTM_NEWROUTE = 0x18
|
||||
RTM_NEWRULE = 0x20
|
||||
RTM_NEWSTATS = 0x5c
|
||||
RTM_NEWTCLASS = 0x28
|
||||
RTM_NEWTFILTER = 0x2c
|
||||
RTM_NR_FAMILIES = 0x10
|
||||
RTM_NR_MSGTYPES = 0x40
|
||||
RTM_NR_FAMILIES = 0x14
|
||||
RTM_NR_MSGTYPES = 0x50
|
||||
RTM_SETDCB = 0x4f
|
||||
RTM_SETLINK = 0x13
|
||||
RTM_SETNEIGHTBL = 0x43
|
||||
RTNH_ALIGNTO = 0x4
|
||||
RTNH_COMPARE_MASK = 0x19
|
||||
RTNH_F_DEAD = 0x1
|
||||
RTNH_F_LINKDOWN = 0x10
|
||||
RTNH_F_OFFLOAD = 0x8
|
||||
RTNH_F_ONLINK = 0x4
|
||||
RTNH_F_PERVASIVE = 0x2
|
||||
RTN_MAX = 0xb
|
||||
RTPROT_BABEL = 0x2a
|
||||
RTPROT_BIRD = 0xc
|
||||
RTPROT_BOOT = 0x3
|
||||
RTPROT_DHCP = 0x10
|
||||
RTPROT_DNROUTED = 0xd
|
||||
RTPROT_GATED = 0x8
|
||||
RTPROT_KERNEL = 0x2
|
||||
RTPROT_MROUTED = 0x11
|
||||
RTPROT_MRT = 0xa
|
||||
RTPROT_NTK = 0xf
|
||||
RTPROT_RA = 0x9
|
||||
@@ -1208,7 +1315,9 @@ const (
|
||||
SCM_RIGHTS = 0x1
|
||||
SCM_TIMESTAMP = 0x1d
|
||||
SCM_TIMESTAMPING = 0x25
|
||||
SCM_TIMESTAMPING_OPT_STATS = 0x36
|
||||
SCM_TIMESTAMPNS = 0x23
|
||||
SCM_WIFI_STATUS = 0x29
|
||||
SHUT_RD = 0x0
|
||||
SHUT_RDWR = 0x2
|
||||
SHUT_WR = 0x1
|
||||
@@ -1280,36 +1389,63 @@ const (
|
||||
SOCK_SEQPACKET = 0x5
|
||||
SOCK_STREAM = 0x1
|
||||
SOL_AAL = 0x109
|
||||
SOL_ALG = 0x117
|
||||
SOL_ATM = 0x108
|
||||
SOL_CAIF = 0x116
|
||||
SOL_CAN_BASE = 0x64
|
||||
SOL_DCCP = 0x10d
|
||||
SOL_DECNET = 0x105
|
||||
SOL_ICMPV6 = 0x3a
|
||||
SOL_IP = 0x0
|
||||
SOL_IPV6 = 0x29
|
||||
SOL_IRDA = 0x10a
|
||||
SOL_IUCV = 0x115
|
||||
SOL_KCM = 0x119
|
||||
SOL_LLC = 0x10c
|
||||
SOL_NETBEUI = 0x10b
|
||||
SOL_NETLINK = 0x10e
|
||||
SOL_NFC = 0x118
|
||||
SOL_PACKET = 0x107
|
||||
SOL_PNPIPE = 0x113
|
||||
SOL_PPPOL2TP = 0x111
|
||||
SOL_RAW = 0xff
|
||||
SOL_RDS = 0x114
|
||||
SOL_RXRPC = 0x110
|
||||
SOL_SOCKET = 0x1
|
||||
SOL_TCP = 0x6
|
||||
SOL_TIPC = 0x10f
|
||||
SOL_X25 = 0x106
|
||||
SOMAXCONN = 0x80
|
||||
SO_ACCEPTCONN = 0x1e
|
||||
SO_ATTACH_BPF = 0x32
|
||||
SO_ATTACH_FILTER = 0x1a
|
||||
SO_ATTACH_REUSEPORT_CBPF = 0x33
|
||||
SO_ATTACH_REUSEPORT_EBPF = 0x34
|
||||
SO_BINDTODEVICE = 0x19
|
||||
SO_BPF_EXTENSIONS = 0x30
|
||||
SO_BROADCAST = 0x6
|
||||
SO_BSDCOMPAT = 0xe
|
||||
SO_BUSY_POLL = 0x2e
|
||||
SO_CNX_ADVICE = 0x35
|
||||
SO_DEBUG = 0x1
|
||||
SO_DETACH_BPF = 0x1b
|
||||
SO_DETACH_FILTER = 0x1b
|
||||
SO_DOMAIN = 0x27
|
||||
SO_DONTROUTE = 0x5
|
||||
SO_ERROR = 0x4
|
||||
SO_GET_FILTER = 0x1a
|
||||
SO_INCOMING_CPU = 0x31
|
||||
SO_KEEPALIVE = 0x9
|
||||
SO_LINGER = 0xd
|
||||
SO_LOCK_FILTER = 0x2c
|
||||
SO_MARK = 0x24
|
||||
SO_MAX_PACING_RATE = 0x2f
|
||||
SO_NOFCS = 0x2b
|
||||
SO_NO_CHECK = 0xb
|
||||
SO_OOBINLINE = 0xa
|
||||
SO_PASSCRED = 0x10
|
||||
SO_PASSSEC = 0x22
|
||||
SO_PEEK_OFF = 0x2a
|
||||
SO_PEERCRED = 0x11
|
||||
SO_PEERNAME = 0x1c
|
||||
SO_PEERSEC = 0x1f
|
||||
@@ -1320,10 +1456,12 @@ const (
|
||||
SO_RCVLOWAT = 0x12
|
||||
SO_RCVTIMEO = 0x14
|
||||
SO_REUSEADDR = 0x2
|
||||
SO_REUSEPORT = 0xf
|
||||
SO_RXQ_OVFL = 0x28
|
||||
SO_SECURITY_AUTHENTICATION = 0x16
|
||||
SO_SECURITY_ENCRYPTION_NETWORK = 0x18
|
||||
SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
|
||||
SO_SELECT_ERR_QUEUE = 0x2d
|
||||
SO_SNDBUF = 0x7
|
||||
SO_SNDBUFFORCE = 0x20
|
||||
SO_SNDLOWAT = 0x13
|
||||
@@ -1339,6 +1477,7 @@ const (
|
||||
SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7
|
||||
SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3
|
||||
SO_VM_SOCKETS_TRUSTED = 0x5
|
||||
SO_WIFI_STATUS = 0x29
|
||||
SPLICE_F_GIFT = 0x8
|
||||
SPLICE_F_MORE = 0x4
|
||||
SPLICE_F_MOVE = 0x1
|
||||
@@ -1387,9 +1526,17 @@ const (
|
||||
TCOFLUSH = 0x1
|
||||
TCOOFF = 0x0
|
||||
TCOON = 0x1
|
||||
TCP_CC_INFO = 0x1a
|
||||
TCP_CONGESTION = 0xd
|
||||
TCP_COOKIE_IN_ALWAYS = 0x1
|
||||
TCP_COOKIE_MAX = 0x10
|
||||
TCP_COOKIE_MIN = 0x8
|
||||
TCP_COOKIE_OUT_NEVER = 0x2
|
||||
TCP_COOKIE_PAIR_SIZE = 0x20
|
||||
TCP_COOKIE_TRANSACTIONS = 0xf
|
||||
TCP_CORK = 0x3
|
||||
TCP_DEFER_ACCEPT = 0x9
|
||||
TCP_FASTOPEN = 0x17
|
||||
TCP_INFO = 0xb
|
||||
TCP_KEEPCNT = 0x6
|
||||
TCP_KEEPIDLE = 0x4
|
||||
@@ -1401,9 +1548,25 @@ const (
|
||||
TCP_MD5SIG = 0xe
|
||||
TCP_MD5SIG_MAXKEYLEN = 0x50
|
||||
TCP_MSS = 0x200
|
||||
TCP_MSS_DEFAULT = 0x218
|
||||
TCP_MSS_DESIRED = 0x4c4
|
||||
TCP_NODELAY = 0x1
|
||||
TCP_NOTSENT_LOWAT = 0x19
|
||||
TCP_QUEUE_SEQ = 0x15
|
||||
TCP_QUICKACK = 0xc
|
||||
TCP_REPAIR = 0x13
|
||||
TCP_REPAIR_OPTIONS = 0x16
|
||||
TCP_REPAIR_QUEUE = 0x14
|
||||
TCP_REPAIR_WINDOW = 0x1d
|
||||
TCP_SAVED_SYN = 0x1c
|
||||
TCP_SAVE_SYN = 0x1b
|
||||
TCP_SYNCNT = 0x7
|
||||
TCP_S_DATA_IN = 0x4
|
||||
TCP_S_DATA_OUT = 0x8
|
||||
TCP_THIN_DUPACK = 0x11
|
||||
TCP_THIN_LINEAR_TIMEOUTS = 0x10
|
||||
TCP_TIMESTAMP = 0x18
|
||||
TCP_USER_TIMEOUT = 0x12
|
||||
TCP_WINDOW_CLAMP = 0xa
|
||||
TCSAFLUSH = 0x2
|
||||
TCSBRK = 0x5409
|
||||
@@ -1493,20 +1656,27 @@ const (
|
||||
TUNATTACHFILTER = 0x401054d5
|
||||
TUNDETACHFILTER = 0x401054d6
|
||||
TUNGETFEATURES = 0x800454cf
|
||||
TUNGETFILTER = 0x801054db
|
||||
TUNGETIFF = 0x800454d2
|
||||
TUNGETSNDBUF = 0x800454d3
|
||||
TUNGETVNETBE = 0x800454df
|
||||
TUNGETVNETHDRSZ = 0x800454d7
|
||||
TUNGETVNETLE = 0x800454dd
|
||||
TUNSETDEBUG = 0x400454c9
|
||||
TUNSETGROUP = 0x400454ce
|
||||
TUNSETIFF = 0x400454ca
|
||||
TUNSETIFINDEX = 0x400454da
|
||||
TUNSETLINK = 0x400454cd
|
||||
TUNSETNOCSUM = 0x400454c8
|
||||
TUNSETOFFLOAD = 0x400454d0
|
||||
TUNSETOWNER = 0x400454cc
|
||||
TUNSETPERSIST = 0x400454cb
|
||||
TUNSETQUEUE = 0x400454d9
|
||||
TUNSETSNDBUF = 0x400454d4
|
||||
TUNSETTXFILTER = 0x400454d1
|
||||
TUNSETVNETBE = 0x400454de
|
||||
TUNSETVNETHDRSZ = 0x400454d8
|
||||
TUNSETVNETLE = 0x400454dc
|
||||
VDISCARD = 0xd
|
||||
VEOF = 0x4
|
||||
VEOL = 0xb
|
||||
@@ -1839,7 +2009,7 @@ var errors = [...]string{
|
||||
113: "no route to host",
|
||||
114: "operation already in progress",
|
||||
115: "operation now in progress",
|
||||
116: "stale NFS file handle",
|
||||
116: "stale file handle",
|
||||
117: "structure needs cleaning",
|
||||
118: "not a XENIX named type file",
|
||||
119: "no XENIX semaphores available",
|
||||
@@ -1856,7 +2026,7 @@ var errors = [...]string{
|
||||
130: "owner died",
|
||||
131: "state not recoverable",
|
||||
132: "operation not possible due to RF-kill",
|
||||
133: "unknown error 133",
|
||||
133: "memory page has hardware error",
|
||||
}
|
||||
|
||||
// Signal table
|
||||
|
||||
Reference in New Issue
Block a user