ip_nat_helper.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. #ifndef _IP_NAT_HELPER_H
  2. #define _IP_NAT_HELPER_H
  3. /* NAT protocol helper routines. */
  4. #include <linux/netfilter_ipv4/ip_conntrack.h>
  5. struct sk_buff;
  6. struct ip_nat_helper
  7. {
  8. /* Internal use */
  9. struct list_head list;
  10. /* Mask of things we will help: vs. tuple from server */
  11. struct ip_conntrack_tuple tuple;
  12. struct ip_conntrack_tuple mask;
  13. /* Helper function: returns verdict */
  14. unsigned int (*help)(struct ip_conntrack *ct,
  15.      struct ip_nat_info *info,
  16.      enum ip_conntrack_info ctinfo,
  17.      unsigned int hooknum,
  18.      struct sk_buff **pskb);
  19. const char *name;
  20. };
  21. extern struct list_head helpers;
  22. extern int ip_nat_helper_register(struct ip_nat_helper *me);
  23. extern void ip_nat_helper_unregister(struct ip_nat_helper *me);
  24. extern int ip_nat_mangle_tcp_packet(struct sk_buff **skb,
  25. struct ip_conntrack *ct,
  26. enum ip_conntrack_info ctinfo,
  27. unsigned int match_offset,
  28. unsigned int match_len,
  29. char *rep_buffer,
  30. unsigned int rep_len);
  31. extern int ip_nat_seq_adjust(struct sk_buff *skb,
  32. struct ip_conntrack *ct,
  33. enum ip_conntrack_info ctinfo);
  34. extern void ip_nat_delete_sack(struct sk_buff *skb, struct tcphdr *tcph);
  35. #endif