From b17c5726f6dc911ac0d4c9be02c2a0d9a7dee393 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 28 Dec 2015 19:11:03 +0100 Subject: sys: support for AF_UNIX sockets --- prog/consts.go | 39 +++++++++++++++++++++++++++++++++++++-- prog/rand.go | 4 ++-- 2 files changed, 39 insertions(+), 4 deletions(-) (limited to 'prog') diff --git a/prog/consts.go b/prog/consts.go index 366aa4720..3f3a31f3f 100644 --- a/prog/consts.go +++ b/prog/consts.go @@ -10,13 +10,15 @@ const ( AF_APPLETALK = 5 AF_ATMPVC = 8 AF_AX25 = 3 + AF_BLUETOOTH = 31 AF_INET = 2 AF_INET6 = 10 AF_IPX = 4 - AF_LOCAL = 1 AF_NETLINK = 16 AF_NFC = 39 AF_PACKET = 17 + AF_UNIX = 1 + AF_UNSPEC = 0 AF_X25 = 9 ALG_SET_AEAD_ASSOCLEN = 4 ALG_SET_AEAD_AUTHSIZE = 5 @@ -762,7 +764,6 @@ const ( PERF_TYPE_RAW = 4 PERF_TYPE_SOFTWARE = 1 PERF_TYPE_TRACEPOINT = 2 - PF_BLUETOOTH = 31 PIO_FONT = 19297 PIO_FONTRESET = 19309 PIO_FONTX = 19308 @@ -959,6 +960,8 @@ const ( SIG_UNBLOCK = 1 SIOCGSTAMP = 35078 SIOCGSTAMPNS = 35079 + SIOCINQ = 21531 + SIOCOUTQ = 21521 SOCK_CLOEXEC = 524288 SOCK_DGRAM = 2 SOCK_NONBLOCK = 2048 @@ -967,6 +970,18 @@ const ( SOCK_RDM = 4 SOCK_SEQPACKET = 5 SOCK_STREAM = 1 + SOF_TIMESTAMPING_OPT_CMSG = 1024 + SOF_TIMESTAMPING_OPT_ID = 128 + SOF_TIMESTAMPING_OPT_TSONLY = 2048 + SOF_TIMESTAMPING_RAW_HARDWARE = 64 + SOF_TIMESTAMPING_RX_HARDWARE = 4 + SOF_TIMESTAMPING_RX_SOFTWARE = 8 + SOF_TIMESTAMPING_SOFTWARE = 16 + SOF_TIMESTAMPING_SYS_HARDWARE = 32 + SOF_TIMESTAMPING_TX_ACK = 512 + SOF_TIMESTAMPING_TX_HARDWARE = 1 + SOF_TIMESTAMPING_TX_SCHED = 256 + SOF_TIMESTAMPING_TX_SOFTWARE = 2 SOL_ALG = 279 SOL_BLUETOOTH = 274 SOL_HCI = 0 @@ -977,16 +992,30 @@ const ( SOL_SOCKET = 1 SO_ACCEPTCONN = 30 SO_ATTACH_BPF = 50 + SO_ATTACH_FILTER = 26 SO_BINDTODEVICE = 25 SO_BROADCAST = 6 + SO_BUSY_POLL = 46 SO_DEBUG = 1 + SO_DETACH_FILTER = 27 SO_DOMAIN = 39 SO_DONTROUTE = 5 SO_ERROR = 4 + SO_GET_FILTER = 26 SO_KEEPALIVE = 9 SO_LINGER = 13 + SO_LOCK_FILTER = 44 + SO_MARK = 36 + SO_MAX_PACING_RATE = 47 + SO_NOFCS = 43 + SO_NO_CHECK = 11 + SO_OOBINLINE = 10 + SO_PASSCRED = 16 + SO_PASSSEC = 34 SO_PEEK_OFF = 42 SO_PEERCRED = 17 + SO_PEERNAME = 28 + SO_PEERSEC = 31 SO_PRIORITY = 12 SO_PROTOCOL = 38 SO_RCVBUF = 8 @@ -994,12 +1023,18 @@ const ( SO_RCVLOWAT = 18 SO_RCVTIMEO = 20 SO_REUSEADDR = 2 + SO_REUSEPORT = 15 + SO_RXQ_OVFL = 40 + SO_SELECT_ERR_QUEUE = 45 SO_SNDBUF = 7 SO_SNDBUFFORCE = 32 SO_SNDLOWAT = 19 SO_SNDTIMEO = 21 SO_TIMESTAMP = 29 + SO_TIMESTAMPING = 37 + SO_TIMESTAMPNS = 35 SO_TYPE = 3 + SO_WIFI_STATUS = 41 SPLICE_F_GIFT = 8 SPLICE_F_MORE = 4 SPLICE_F_MOVE = 1 diff --git a/prog/rand.go b/prog/rand.go index 962f9f827..accb6db23 100644 --- a/prog/rand.go +++ b/prog/rand.go @@ -140,7 +140,7 @@ func (r *randGen) filename(s *state) string { return files[r.Intn(len(files))] } -var sockFamilies = []uint16{AF_LOCAL, AF_INET, AF_INET6, AF_IPX, AF_NETLINK, AF_X25, AF_AX25, AF_ATMPVC, AF_APPLETALK, AF_PACKET} +var sockFamilies = []uint16{AF_UNIX, AF_INET, AF_INET6, AF_IPX, AF_NETLINK, AF_X25, AF_AX25, AF_ATMPVC, AF_APPLETALK, AF_PACKET} func (r *randGen) inaddr(s *state) uint32 { // TODO: extract addresses of network interfaces. @@ -177,7 +177,7 @@ func (r *randGen) sockaddr(s *state) []byte { buf := new(bytes.Buffer) binary.Write(buf, binary.LittleEndian, fa) // this is actually host byte order switch fa { - case AF_LOCAL: + case AF_UNIX: buf.WriteString(r.filename(s)) case AF_INET: binary.Write(buf, binary.BigEndian, port) -- cgit mrf-deployment