X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=misc%2Fnetwork_servers%2Fvtl%2Fvtl_harness.h;fp=misc%2Fnetwork_servers%2Fvtl%2Fvtl_harness.h;h=55a25b0ee82fc19fba3ebe517c4668b7ce0579af;hp=0000000000000000000000000000000000000000;hb=ac93f0773f4c6cef2f2f542240695a8706037d41;hpb=c016bb46bd68474161e275a5ace086c3fb810d9f diff --git a/misc/network_servers/vtl/vtl_harness.h b/misc/network_servers/vtl/vtl_harness.h new file mode 100644 index 0000000..55a25b0 --- /dev/null +++ b/misc/network_servers/vtl/vtl_harness.h @@ -0,0 +1,49 @@ +#ifndef VTL_HARNESS_H +#define VTL_HARNESS_H + +#include "vtl.h" + +#ifdef linux +#include +#define POLL_TIMEOUT 0 +#define MAX_VTL_CONS 100 + +#define HOME "./" +#define VTP_FIFO_SENDFILE HOME "vtp_fifo_send" +#define VTP_FIFO_RECVFILE HOME "vtp_fifo_recv" +#endif + +struct VTL_CON { + /* unsigned long rem_seq_num; + unsigned long dest_ip; + unsigned long src_ip; + unsigned short src_port; + unsigned short dest_port; + RawEthernetPacket ack_template; + unsigned short ip_id; + unsigned long tcp_timestamp; + */ + + vtl_model_t con_model; + + bool in_use; + int next; + int prev; +}; + +#define FOREACH_VTL_CON(iter, cons) for (iter = g_first_vtl; iter != -1; iter = cons[iter].next) + + + +/* Sending Layers Need to implement these */ +int vtl_init(); +int vtl_send(RawEthernetPacket * p, unsigned long serv_addr); +int vtl_recv(RawEthernetPacket ** p); +int vtl_connect(unsigned long serv_addr, unsigned short serv_port); +int vtl_close(unsigned long serv_addr); + + +int register_fd(SOCK fd); +int unregister_fd(SOCK fd); + +#endif