diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-03-02 16:28:00 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-03-05 12:10:27 +0100 |
| commit | f027f1a3f7c45bafd7f99776548ef73ba3cc22ec (patch) | |
| tree | a004cfeb34c34ae36ef5b2dbfd65f7947c980c61 /sys/linux/socket_inet.txt | |
| parent | 002cecf2022de3ab01c87f905477aa3b063d73fc (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.txt | 8 |
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 |
