lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [lwip-users] lwIP API without OS


From: Nishen Naidu
Subject: RE: [lwip-users] lwIP API without OS
Date: Thu, 10 Aug 2006 12:13:24 +0200

Make sure you define NO_SYS in your lwip opts file and use the raw api.
basically you have to implement the functions like
netio_recv,netio_accept,netio_init
SYS_MBOX_NULL should be defined to NULL
 
example implementation:
 
 
static err_t netio_accept(void *arg, struct tcp_pcb *pcb, err_t err)
{
        
 
            tcp_arg(pcb, NULL);
           tcp_sent(pcb, NULL);
            tcp_recv(pcb, netio_recv);
           return ERR_OK;
 }
 
void netio_init(void)
{
 struct tcp_pcb *pcb;
 
 pcb = tcp_new();
 tcp_bind(pcb, IP_ADDR_ANY, 1000);
 pcb = tcp_listen(pcb);
 tcp_accept(pcb, netio_accept);
}
static err_t netio_recv(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err)
{
 
struct pbuf* ptr;  
 
int pktlen = 0;
 
 if (err == ERR_OK && p != NULL)
 {
  tcp_recved(pcb, p->tot_len);
  //just echo the same string 
  
 
  //pkt received.. 
//do something with your pkt    
  if (ptr!=NULL)
  {
   
   

   err = tcp_write(pcb, ptr->payload, pktlen, 0);
  }
 

  
  //send the packet back out again using tcp_write
 
  pbuf_free(p);
  pbuf_free(ptr);    
 
 }
 else
  pbuf_free(p);
 
 if (err == ERR_OK && p == NULL)
 {
//check if we come here..
// free the connection number
  tcp_arg(pcb, NULL);
  tcp_sent(pcb, NULL);
  tcp_recv(pcb, NULL);
  tcp_close(pcb);
 
 }
 

 return ERR_OK;
}
 
Nishen
 
www.punky.co.za
-----Original Message-----
From: address@hidden [mailto:address@hiddenOn Behalf Of Mauricio brazuka
Sent: 10 August 2006 10:23
To: address@hidden
Subject: [lwip-users] lwIP API without OS

Hi everybody,

i am using Nios II 5.0 IDE and i try to create one project with the NIOS using the lwIP as Standalone.
Is it possible to use the lwIP 0.7.1 without an operating system running with the NIOS II?
I use the Linux as development platform and i tried to run the example "unixsim/simhost" from lwIP together with the NIOS but dont works.
I thought the lwIP (api_lib.c) can provide the emulation of the operating system, but i dont understand why can I define the architecture (sys_arch.c, sys_arch.h) to my Hardware(NIOSII). I need really to do this?
I am getting error "SYS_MBOX_NULL undefined" when i try to compile with the Nios IDE. Under Linux the unixsim run ok.

Can someone help me please?


Thanks a lot
Mauricio


Besseren Schutz gegen Spam - jetzt bei dem neuen Yahoo! Mail .

reply via email to

[Prev in Thread] Current Thread [Next in Thread]