mirror of https://github.com/xemu-project/xemu.git
slirp: Rename "struct arphdr" to "struct slirp_arphdr"
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>
This commit is contained in:
parent
1dc8a6695c
commit
1f8b56e7ce
|
@ -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)
|
static void arp_input(Slirp *slirp, const uint8_t *pkt, int pkt_len)
|
||||||
{
|
{
|
||||||
struct arphdr *ah = (struct arphdr *)(pkt + ETH_HLEN);
|
struct slirp_arphdr *ah = (struct slirp_arphdr *)(pkt + ETH_HLEN);
|
||||||
uint8_t arp_reply[max(ETH_HLEN + sizeof(struct arphdr), 64)];
|
uint8_t arp_reply[max(ETH_HLEN + sizeof(struct slirp_arphdr), 64)];
|
||||||
struct ethhdr *reh = (struct ethhdr *)arp_reply;
|
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;
|
int ar_op;
|
||||||
struct ex_list *ex_ptr;
|
struct ex_list *ex_ptr;
|
||||||
|
|
||||||
|
@ -890,9 +890,9 @@ static int if_encap4(Slirp *slirp, struct mbuf *ifm, struct ethhdr *eh,
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
if (!arp_table_search(slirp, iph->ip_dst.s_addr, ethaddr)) {
|
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 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 (!ifm->resolution_requested) {
|
||||||
/* If the client addr is not known, send an ARP request */
|
/* If the client addr is not known, send an ARP request */
|
||||||
|
|
|
@ -105,7 +105,7 @@ struct ethhdr {
|
||||||
unsigned short h_proto; /* packet type ID field */
|
unsigned short h_proto; /* packet type ID field */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct arphdr {
|
struct slirp_arphdr {
|
||||||
unsigned short ar_hrd; /* format of hardware address */
|
unsigned short ar_hrd; /* format of hardware address */
|
||||||
unsigned short ar_pro; /* format of protocol address */
|
unsigned short ar_pro; /* format of protocol address */
|
||||||
unsigned char ar_hln; /* length of hardware address */
|
unsigned char ar_hln; /* length of hardware address */
|
||||||
|
@ -124,7 +124,7 @@ struct arphdr {
|
||||||
#define ARP_TABLE_SIZE 16
|
#define ARP_TABLE_SIZE 16
|
||||||
|
|
||||||
typedef struct ArpTable {
|
typedef struct ArpTable {
|
||||||
struct arphdr table[ARP_TABLE_SIZE];
|
struct slirp_arphdr table[ARP_TABLE_SIZE];
|
||||||
int next_victim;
|
int next_victim;
|
||||||
} ArpTable;
|
} ArpTable;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue