aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/socket_can.txt
Commit message (Collapse)AuthorAgeFilesLines
* sys/linux: don't use len/flags/const/proc types in out fieldsDmitry Vyukov2022-01-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* sys/linux: enhance ifreq_dev_t definition by setting attribute directionsAleksandr Nogikh2020-09-221-1/+1
| | | | | This modification allows to remove [opt] modified for all uses of ifreq_dev_t and ifreq_t
* 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: don't mark flags with 0 as bitmaskDmitry Vyukov2020-01-181-1/+1
| | | | | | | They can't be a bitmask. This fixes important cases of "0, 1" and "0, 1, 2" flags. Fix some descriptions that added 0 to bitmasks explicitly (we should do it automatically instead).
* sys/linux: fix SIOCGIFINDEXDmitry Vyukov2020-01-031-1/+1
| | | | | | | Mark ifindex as opt in SIOCGIFINDEX. Otherwise it's considered inout and SIOCGIFINDEX can't be used to produce ifindex'es on its own. It requires an input ifindex first and only then it can output own ifindex.
* sys/linux: improve CAN descriptionsDmitry Vyukov2019-11-041-8/+11
|
* executor: fix setup of vxcanDmitry Vyukov2019-11-031-2/+2
| | | | Adding vxcan1 also adds vxcan0. Setup and use both.
* sys/linux: extend CAN descriptionsDmitry Vyukov2019-11-021-3/+73
|
* executor: create team deviceDmitry Vyukov2018-04-061-1/+1
|
* sys/linux: make ifreq template, fix some usagesDmitry Vyukov2018-03-051-6/+1
|
* sys/linux: use size attributes on structsDmitry Vyukov2018-03-051-2/+1
| | | | | | | | | | | 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 vnet descriptions for GRE, MPLS, CANDmitry Vyukov2018-01-141-2/+5
|
* sys/linux: add AF_CAN descriptionsDmitry Vyukov2018-01-131-0/+87