aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/socket_inet.txt
Commit message (Collapse)AuthorAgeFilesLines
* sys/linux: don't use len/flags/const/proc types in out fieldsDmitry Vyukov2022-01-111-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove all uses of len/flags/const/proc types in explicitly marked out fields. Use of these types for out fields does not make sense: a len[b, int32] (out) b flags[foo, int32] (out) Since kernel fills these fields, that's unnecessary details or bugs in descriptions. In particular all of these are actually bugs: ioctl$TUNSETQUEUE(fd fd_tun, cmd const[TUNSETQUEUE], arg ptr[in, ifreq_t[flags[tun_queue_flags, int16]]]) ioctl$TUNSETIFF(fd fd_tun, cmd const[TUNSETIFF], arg ptr[in, ifreq_t[flags[tun_setiff_flags, int16]]]) ioctl$SIOCSIFHWADDR(fd fd_tun, cmd const[SIOCSIFHWADDR], arg ptr[in, ifreq_t[mac_addr]]) ioctl$sock_inet_SIOCSIFADDR(fd sock, cmd const[SIOCSIFADDR], arg ptr[inout, ifreq_t[sockaddr_in]]) ioctl$sock_inet_SIOCSIFBRDADDR(fd sock, cmd const[SIOCSIFBRDADDR], arg ptr[inout, ifreq_t[sockaddr_in]]) ioctl$sock_inet_SIOCSIFNETMASK(fd sock, cmd const[SIOCSIFNETMASK], arg ptr[inout, ifreq_t[sockaddr_in]]) ioctl$sock_inet_SIOCSIFDSTADDR(fd sock, cmd const[SIOCSIFDSTADDR], arg ptr[inout, ifreq_t[sockaddr_in]]) ioctl$sock_inet_SIOCSIFPFLAGS(fd sock, cmd const[SIOCSIFPFLAGS], arg ptr[inout, ifreq_t[int32]]) ioctl$SIOCSIFMTU(fd sock_pppl2tp, cmd const[SIOCSIFMTU], arg ptr[in, ifreq_t[int32]]) ioctl$sock_SIOCETHTOOL(fd sock, cmd const[SIOCETHTOOL], arg ptr[inout, ifreq_t[ptr[inout, ethtool_cmd_u]]]) We pretend that we pass in some flags or addresses, but the ifreq field was marked as (out), so we actually did not pass anything in.
* pkg/compiler: refactor attribute handlingDmitry Vyukov2020-04-191-1/+1
| | | | | | | | | | | | Introduce common infrastructure for describing and parsing attribute instead of custom per-attribute code scattered across several locations. Change align attribute syntax from the weird align_N to align[N]. This also allows to use literal constants as N. Introduce notion of builtin constants. Currently we have only PTR_SIZE, which is needed to replace align_ptr with align[PTR_SIZE].
* pkg/compiler: check that const values fit into base typeDmitry Vyukov2020-03-171-1/+1
| | | | | const[0x12345678, int8] is always an error, detect these cases. Found some bugs in mptcp, socket proto and fuchsia fidl descriptions.
* sys/linux: update descriptions of sendmsg/sendmmsgBins942019-06-031-0/+29
| | | | | Add sendmsg$inet, sendmmsg$inet for ip_cmsg_send. Add sendmsg$inet6, sendmmsg$inet6 for ip6_datagram_send_ctl
* sys: consistently mark all paddings as const[0]Dmitry Vyukov2018-12-101-6/+5
|
* sys: remove socketpair for AF_INET and AF_INET6Michael Tüxen2018-12-041-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * OpebBSD: remove socketpair() for AF_INET and AF_INET6. socketpair() is only supported on AF_UNIX. * NetBSD: remove socketpair() for AF_INET and AF_INET6. socketpair() is only supported for AF_UNIX. * FreeBSD: remove socketpair() for AF_INET and AF_INET6. socketpair() only supports AF_UNIX. * Linux: remove socketpair for AF_INET and AF_INET6. socketpair only supports AF_UNIX. * Autogenerated files. These are manually generated for all platforms you are not running on. FreeBSD in this case. * executor: rebase. * sys/freebsd: rebase. * sys/linux: use AF_UNIX based socketpair for nbd. This was suggested by Dmitry. Fixes #845
* sys/linux: adding constants for trace2syz to socketsshankarapailoor2018-10-301-0/+4
|
* sys/linux: make ifreq template, fix some usagesDmitry Vyukov2018-03-051-21/+11
|
* sys/linux: use size attributes on structsDmitry Vyukov2018-03-051-5/+3
| | | | | | | | | | | 1. Add size attribte on sockaddr. 2. Remove sockaddr's that are larger than 16 bytes from sockaddr. 3. Add size attribute on sockaddr_storage which wasn't actually 128 bytes. 4. Add size attribute to ifreq. 5. Fix ifmap field types as uncovered by the size attributes. 6. Fix sockaddr_storage_tcp from struct to union which is should be. 7. Make sockaddr_un_file fixed size as it should be. 8. Fix some explicit paddings that were only correct for 64 bits.
* sys/linux: add type alias for socket portDmitry Vyukov2018-01-081-1/+1
| | | | | | type sock_port proc[20000, 4, int16be] That was repeated a few times.
* sys/linux: netlink xfrm supportDmitry Vyukov2017-12-311-83/+0
|
* sys: move linux descriptions to sys/linuxDmitry Vyukov2017-09-151-0/+304