|
From: | Peter, Lachlan S |
Subject: | [Savannah-users] Compilation problem with lwip |
Date: | Mon, 19 May 2008 09:19:37 +0300 |
I am compiling the latest version of lwip with the GNU
toolchain V2.0.3. The complete package was supplied by Atmel for the AVR32. A
number of errors have occurred that would imply an incorrect setup. I
appreciate any help I can get. Error 1. “struct tcp_pcb has no member named lwip_recv” from
file tcp_in.c, in function tcp_input. The relevant line is TCP_EVENT_RECV(pcb,
recv_data, ERR_OK, err);. A similar message also occurs in raw.c and another c file
regarding their relevant pcb’s. In tcp.h the definition of the macro is #define
TCP_EVENT_RECV(pcb,p,err,ret) ret = lwip_tcp_event((pcb)->callback_arg,
(pcb), LWIP_EVENT_RECV, (p), 0, (err)) In tcp.h there is a further definition for
lwip_tcp_event err_t
lwip_tcp_event(void *arg, struct tcp_pcb *pcb, enum lwip_event, struct pbuf *p,
u16_t size, err_t err) I presume the problem is with pcb->callback_arg as this
is the only referenced member of pcb. In the definition of the structure
tcp_pcb there is a member void *callback_arg. This all seems OK so I don’t know where the reference
to “lwip_recv” is coming from and why it occurs. The exact same
error occurs in raw.c but refers to raw_pcb. Error 2. “macro “recv” passed 5 arguments but takes
only 4” from file udp.c in function udp_input. The relevant line is pcb->recv(pcb->recv_arg,
pcb, p, &(iphdr->src), src); In the function pcb is defined as struct udp_pcb *pcb. In udp.h the structure udp_pcb has the element void (* recv)(void *arg, struct udp_pcb *pcb,
struct pbuf *p, struct ip_addr *addr, u16_t port); There are other errors but if I can get help solving this it
will probably point to a systematic error that will fix the other problems. Any help would be appreciated. Thanks |
[Prev in Thread] | Current Thread | [Next in Thread] |