tun_dev.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. * tun.h
  3. *
  4. * Created on: Oct 26, 2017
  5. * Author: root
  6. */
  7. #ifndef TUN_DEV_H_
  8. #define TUN_DEV_H_
  9. #include "common.h"
  10. #include "log.h"
  11. #include "misc.h"
  12. #include <netinet/tcp.h> //Provides declarations for tcp header
  13. #include <netinet/udp.h>
  14. #include <netinet/ip.h> //Provides declarations for ip header
  15. #include <netinet/if_ether.h>
  16. #include <linux/if.h>
  17. #include <linux/if_tun.h>
  18. extern my_time_t last_keep_alive_time;
  19. const int keep_alive_interval=3000;//3000ms
  20. const char header_normal=1;
  21. const char header_new_connect=2;
  22. const char header_reject=3;
  23. const char header_keep_alive=4;
  24. int set_tun(char *if_name,u32_t local_ip,u32_t remote_ip,int mtu);
  25. int get_tun_fd(char * dev_name);
  26. int put_header(char header,char * data,int &len);
  27. int get_header(char &header,char * data,int &len);
  28. int from_normal_to_fec2(conn_info_t & conn_info,dest_t &dest,char * data,int len,char header);
  29. int from_fec_to_normal2(conn_info_t & conn_info,dest_t &dest,char * data,int len);
  30. int do_mssfix(char * s,int len);
  31. int do_keep_alive(dest_t & dest);
  32. int tun_dev_client_event_loop();
  33. int tun_dev_server_event_loop();
  34. #endif /* TUN_H_ */