aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Huth <thuth@redhat.com>2016-08-15 10:24:54 +0200
committerPeter Maydell <peter.maydell@linaro.org>2016-08-16 12:17:36 +0100
commit456c2a44898d1a1a5c4afe4804df191e850b405e (patch)
treeb2a4a73fb66aa465ea5db926c0509ce4f45aa731
parent80c6179003e949d24adf6b0d74d2b688fe87dcd9 (diff)
downloadslirp-2.7.0-rc5.zip
slirp-2.7.0-rc5.tar.gz
slirp-2.7.0-rc5.tar.bz2
slirp: Rename "struct arphdr" to "struct slirp_arphdr"v2.7.0-rc5v2.7.0-rc4v2.7.0-rc3v2.7.0
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 Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-id: 1471249494-17392-1-git-send-email-thuth@redhat.com Buglink: https://bugs.launchpad.net/qemu/+bug/1613133 Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--slirp.c10
-rw-r--r--slirp.h4
2 files changed, 7 insertions, 7 deletions
diff --git a/slirp.c b/slirp.c
index 52d07a1..c5a68dc 100644
--- a/slirp.c
+++ b/slirp.c
@@ -766,10 +766,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;
@@ -883,9 +883,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.h b/slirp.h
index 5d42d19..f49f1b5 100644
--- a/slirp.h
+++ b/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;