[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.7] slirp: Rename "struct arphdr" to "struc
From: |
Samuel Thibault |
Subject: |
Re: [Qemu-devel] [PATCH for-2.7] slirp: Rename "struct arphdr" to "struct slirp_arphdr" |
Date: |
Mon, 15 Aug 2016 13:24:35 +0200 |
User-agent: |
Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30) |
Thomas Huth, on Mon 15 Aug 2016 10:24:54 +0200, wrote:
> struct arphdr is already used by the system headers on OpenBSD
> and thus QEMU does not compile here anymore. Fix it by renaming
> our struct to slirp_arphdr instead.
>
> Reported-by: Brad Smith
> Buglink: https://bugs.launchpad.net/qemu/+bug/1613133
> Signed-off-by: Thomas Huth <address@hidden>
Reviewed-by: Samuel Thibault <address@hidden>
> ---
> slirp/slirp.c | 10 +++++-----
> slirp/slirp.h | 4 ++--
> 2 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/slirp/slirp.c b/slirp/slirp.c
> index 47a1652..d67eda1 100644
> --- a/slirp/slirp.c
> +++ b/slirp/slirp.c
> @@ -773,10 +773,10 @@ void slirp_pollfds_poll(GArray *pollfds, int
> select_error)
>
> static void arp_input(Slirp *slirp, const uint8_t *pkt, int pkt_len)
> {
> - struct arphdr *ah = (struct arphdr *)(pkt + ETH_HLEN);
> - uint8_t arp_reply[max(ETH_HLEN + sizeof(struct arphdr), 64)];
> + struct slirp_arphdr *ah = (struct slirp_arphdr *)(pkt + ETH_HLEN);
> + uint8_t arp_reply[max(ETH_HLEN + sizeof(struct slirp_arphdr), 64)];
> struct ethhdr *reh = (struct ethhdr *)arp_reply;
> - struct arphdr *rah = (struct arphdr *)(arp_reply + ETH_HLEN);
> + struct slirp_arphdr *rah = (struct slirp_arphdr *)(arp_reply + ETH_HLEN);
> int ar_op;
> struct ex_list *ex_ptr;
>
> @@ -890,9 +890,9 @@ static int if_encap4(Slirp *slirp, struct mbuf *ifm,
> struct ethhdr *eh,
> return 1;
> }
> if (!arp_table_search(slirp, iph->ip_dst.s_addr, ethaddr)) {
> - uint8_t arp_req[ETH_HLEN + sizeof(struct arphdr)];
> + uint8_t arp_req[ETH_HLEN + sizeof(struct slirp_arphdr)];
> struct ethhdr *reh = (struct ethhdr *)arp_req;
> - struct arphdr *rah = (struct arphdr *)(arp_req + ETH_HLEN);
> + struct slirp_arphdr *rah = (struct slirp_arphdr *)(arp_req +
> ETH_HLEN);
>
> if (!ifm->resolution_requested) {
> /* If the client addr is not known, send an ARP request */
> diff --git a/slirp/slirp.h b/slirp/slirp.h
> index 624a850..a1f3139 100644
> --- a/slirp/slirp.h
> +++ b/slirp/slirp.h
> @@ -105,7 +105,7 @@ struct ethhdr {
> unsigned short h_proto; /* packet type ID field */
> };
>
> -struct arphdr {
> +struct slirp_arphdr {
> unsigned short ar_hrd; /* format of hardware address */
> unsigned short ar_pro; /* format of protocol address */
> unsigned char ar_hln; /* length of hardware address */
> @@ -124,7 +124,7 @@ struct arphdr {
> #define ARP_TABLE_SIZE 16
>
> typedef struct ArpTable {
> - struct arphdr table[ARP_TABLE_SIZE];
> + struct slirp_arphdr table[ARP_TABLE_SIZE];
> int next_victim;
> } ArpTable;
>
> --
> 1.8.3.1
>
--
Samuel
> No manual is ever necessary.
May I politely interject here: BULLSHIT. That's the biggest Apple lie of all!
(Discussion in comp.os.linux.misc on the intuitiveness of interfaces.)