1
0

tun_dev.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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_ */