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);
The structure definition and the usage both have 5 elements. This same problem
happens a few other times in udp.c and once in another module.
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
Lachlan Peter
_______________________________________________
Savannah-users mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/savannah-users