Commit a47401bc authored by Philippe Mathieu-Daudé's avatar Philippe Mathieu-Daudé Committed by Laurent Vivier
Browse files

linux-user/syscall: Introduce target_sockaddr_nl



Tested-By: default avatarGuido Günther <agx@sigxcpu.org>
Reviewed-by: default avatarLaurent Vivier <laurent@vivier.eu>
Signed-off-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20191021114857.20538-5-f4bug@amsat.org>
Signed-off-by: default avatarLaurent Vivier <laurent@vivier.eu>
parent 0d2187c4
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1496,8 +1496,10 @@ static inline abi_long host_to_target_sockaddr(abi_ulong target_addr,
        sizeof(target_saddr->sa_family)) {
        target_saddr->sa_family = tswap16(addr->sa_family);
    }
    if (addr->sa_family == AF_NETLINK && len >= sizeof(struct sockaddr_nl)) {
        struct sockaddr_nl *target_nl = (struct sockaddr_nl *)target_saddr;
    if (addr->sa_family == AF_NETLINK &&
        len >= sizeof(struct target_sockaddr_nl)) {
        struct target_sockaddr_nl *target_nl =
               (struct target_sockaddr_nl *)target_saddr;
        target_nl->nl_pid = tswap32(target_nl->nl_pid);
        target_nl->nl_groups = tswap32(target_nl->nl_groups);
    } else if (addr->sa_family == AF_PACKET) {
+7 −0
Original line number Diff line number Diff line
@@ -153,6 +153,13 @@ struct target_sockaddr_un {
    uint8_t sun_path[108];
};

struct target_sockaddr_nl {
    abi_ushort nl_family;   /* AF_NETLINK */
    abi_ushort __pad;
    abi_uint nl_pid;
    abi_uint nl_groups;
};

struct target_in_addr {
    uint32_t s_addr; /* big endian */
};