aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/socket_inet.txt
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-03-02 16:28:00 +0100
committerDmitry Vyukov <dvyukov@google.com>2018-03-05 12:10:27 +0100
commitf027f1a3f7c45bafd7f99776548ef73ba3cc22ec (patch)
treea004cfeb34c34ae36ef5b2dbfd65f7947c980c61 /sys/linux/socket_inet.txt
parent002cecf2022de3ab01c87f905477aa3b063d73fc (diff)
sys/linux: use size attributes on structs
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.
Diffstat (limited to 'sys/linux/socket_inet.txt')
-rw-r--r--sys/linux/socket_inet.txt8
1 files changed, 3 insertions, 5 deletions
diff --git a/sys/linux/socket_inet.txt b/sys/linux/socket_inet.txt
index b938b119c..92eda5939 100644
--- a/sys/linux/socket_inet.txt
+++ b/sys/linux/socket_inet.txt
@@ -25,8 +25,7 @@ sockaddr_in {
sockaddr_storage_in {
addr sockaddr_in
- pad array[const[0, int64], 15]
-}
+} [size[SOCKADDR_STORAGE_SIZE], align_ptr]
socket$inet(domain const[AF_INET], type flags[socket_type], proto int8) sock_in
socketpair$inet(domain const[AF_INET], type flags[socket_type], proto int8, fds ptr[out, sock_in_pair])
@@ -197,8 +196,7 @@ sockaddr_ethernet_family = ARPHRD_ETHER, ARPHRD_FDDI, ARPHRD_IEEE802
sockaddr_ethernet {
sa_family flags[sockaddr_ethernet_family, int16]
sa_data mac_addr
- pad array[const[0, int8], 8]
-}
+} [size[SOCKADDR_SIZE]]
arp_flags = ATF_COM, ATF_PERM, ATF_PUBL, ATF_USETRAILERS, ATF_NETMASK, ATF_DONTPUB
@@ -213,7 +211,7 @@ arpreq_in {
ifreq_in {
ifr_ifrn devname
ifr_ifru ifr_ifru_in
-}
+} [size[IFREQ_SIZE]]
ifr_ifru_in [
ifru_addrs sockaddr_in