mirror of
https://github.com/ZeroTier/ZeroTierOne
synced 2025-08-14 02:27:38 -07:00
compiles, technically
This commit is contained in:
parent
20beafedc5
commit
e4dc46741f
4 changed files with 56 additions and 26 deletions
|
@ -86,6 +86,15 @@ public:
|
|||
|
||||
private:
|
||||
|
||||
static err_t nc_poll(void* arg, struct tcp_pcb *tpcb);
|
||||
static err_t nc_accept(void *arg, struct tcp_pcb *newpcb, err_t err);
|
||||
static err_t nc_recved(void *arg, struct tcp_pcb *tpcb, struct pbuf *p, err_t err);
|
||||
static void nc_err(void *arg, err_t err);
|
||||
static void nc_close(struct tcp_pcb *tpcb);
|
||||
static err_t nc_send(struct tcp_pcb *tpcb);
|
||||
static err_t nc_sent(void *arg, struct tcp_pcb *tpcb, u16_t len);
|
||||
static err_t nc_connected(void *arg, struct tcp_pcb *tpcb, err_t err);
|
||||
|
||||
// RPC handlers (from NetconIntercept)
|
||||
void handle_bind(NetconClient *client, struct bind_st *bind_rpc);
|
||||
void handle_listen(NetconClient *client, struct listen_st *listen_rpc);
|
||||
|
@ -105,34 +114,25 @@ private:
|
|||
void phyOnUnixData(PhySocket *sock,void **uptr,void *data,unsigned long len);
|
||||
void phyOnUnixWritable(PhySocket *sock,void **uptr);
|
||||
|
||||
void phyOnSocketPairEndpointClose(void *sock, void **uptr);
|
||||
void phyOnSocketPairEndpointClose(PhySocket *sock, void **uptr);
|
||||
void phyOnSocketPairEndpointData(PhySocket *sock, void **uptr, void *buf, unsigned long n);
|
||||
void phyOnSocketPairEndpointWritable(PhySocket *sock, void **uptr);
|
||||
|
||||
|
||||
|
||||
int send_return_value(NetconClient *client, int retval);
|
||||
|
||||
// For LWIP Callbacks
|
||||
static err_t nc_poll(void* arg, struct tcp_pcb *tpcb)
|
||||
ip_addr_t convert_ip(struct sockaddr_in * addr)
|
||||
{
|
||||
Larg *l = (Larg*)arg;
|
||||
NetconConnection *c = l->tap->getConnectionByPCB(tpcb);
|
||||
NetconEthernetTap *tap = l->tap;
|
||||
if(c)
|
||||
tap->handle_write(c);
|
||||
return ERR_OK;
|
||||
ip_addr_t conn_addr;
|
||||
struct sockaddr_in *ipv4 = addr;
|
||||
short a = ip4_addr1(&(ipv4->sin_addr));
|
||||
short b = ip4_addr2(&(ipv4->sin_addr));
|
||||
short c = ip4_addr3(&(ipv4->sin_addr));
|
||||
short d = ip4_addr4(&(ipv4->sin_addr));
|
||||
IP4_ADDR(&conn_addr, a,b,c,d);
|
||||
return conn_addr;
|
||||
}
|
||||
|
||||
|
||||
static err_t nc_accept(void *arg, struct tcp_pcb *newpcb, err_t err);
|
||||
static err_t nc_recved(void *arg, struct tcp_pcb *tpcb, struct pbuf *p, err_t err);
|
||||
static void nc_err(void *arg, err_t err);
|
||||
static void nc_close(struct tcp_pcb *tpcb);
|
||||
static err_t nc_send(struct tcp_pcb *tpcb);
|
||||
static err_t nc_sent(void *arg, struct tcp_pcb *tpcb, u16_t len);
|
||||
static err_t nc_connected(void *arg, struct tcp_pcb *tpcb, err_t err);
|
||||
|
||||
|
||||
|
||||
void (*_handler)(void *,uint64_t,const MAC &,const MAC &,unsigned int,unsigned int,const void *,unsigned int);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue