#ifndef _INCLUDE__RPC_LWIP_SESSION_
#define _INCLUDE__RPC_LWIP_SESSION_
#include <session/session.h>
#include <base/rpc.h>
namespace rpclwipsession {
struct Session : Genode::Session
{
struct Buffer{ char buff[128];};
static const char *service_name() { return "RPCLWIP"; }
virtual void xx_lwip_tcpip_init()=0;
virtual int xx_lwip_nic_init(signed, signed, signed, int, int)=0;
virtual int xx_lwip_socket()=0;
virtual int xx_lwip_bind(int,xx_sockaddr ,int)=0;
virtual int xx_lwip_listen(int, int)=0;
virtual int xx_lwip_accept(int)=0;
virtual Buffer xx_lwip_recv(int ,int)=0;
virtual Buffer xx_lwip_read(int )=0;
virtual int xx_lwip_send(int,Buffer,int,int)=0;
virtual int xx_lwip_close(int)=0;
/*******************
** RPC interface **
*******************/
GENODE_RPC(Rpc_xx_lwip_tcpip_init, void,xx_lwip_tcpip_init);
GENODE_RPC(Rpc_xx_lwip_nic_init, int, xx_lwip_nic_init,signed, signed, signed, int, int);
GENODE_RPC(Rpc_xx_lwip_socket, int, xx_lwip_socket);
GENODE_RPC(Rpc_xx_lwip_bind, int, xx_lwip_bind,int,xx_sockaddr ,int);
GENODE_RPC(Rpc_xx_lwip_listen, int, xx_lwip_listen,int,int);
GENODE_RPC(Rpc_xx_lwip_accept, int, xx_lwip_accept,int);
GENODE_RPC(Rpc_xx_lwip_read, Buffer, xx_lwip_read,int);
GENODE_RPC(Rpc_xx_lwip_recv,Buffer, xx_lwip_recv,int,int);
GENODE_RPC(Rpc_xx_lwip_close, int, xx_lwip_close,int);
GENODE_RPC(Rpc_xx_lwip_send,int, xx_lwip_send,int,Buffer,int,int);
/*GENODE_RPC_INTERFACE(Rpc_xx_lwip_tcpip_init,Rpc_xx_lwip_nic_init,Rpc_xx_lwip_socket,Rpc_xx_lwip_bind,Rpc_xx_lwip_listen,Rpc_xx_lwip_accept,Rpc_xx_lwip_recv,Rpc_xx_lwip_close,Rpc_xx_lwip_send);
*/
typedef Genode::Meta::Type_tuple<Rpc_xx_lwip_tcpip_init,
Genode::Meta::Type_tuple<Rpc_xx_lwip_nic_init,
Genode::Meta::Type_tuple<Rpc_xx_lwip_socket,
Genode::Meta::Type_tuple<Rpc_xx_lwip_bind,
Genode::Meta::Type_tuple<Rpc_xx_lwip_listen,
Genode::Meta::Type_tuple<Rpc_xx_lwip_accept,
Genode::Meta::Type_tuple<Rpc_xx_lwip_read,
Genode::Meta::Type_tuple<Rpc_xx_lwip_recv,
Genode::Meta::Type_tuple<Rpc_xx_lwip_close,
Genode::Meta::Type_tuple<Rpc_xx_lwip_send,
Genode::Meta::Empty> > > > > > > > > >
Genode::Rpc_functions;
};
}
#endif /* _INCLUDE__RPC_LWIP_SESSION_*/
thank you in advance,