ip_conntrack_ftp.h
上传用户:szlgq88
上传日期:2009-04-28
资源大小:48287k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. #ifndef _IP_CONNTRACK_FTP_H
  2. #define _IP_CONNTRACK_FTP_H
  3. /* FTP tracking. */
  4. #ifdef __KERNEL__
  5. #define FTP_PORT 21
  6. #endif /* __KERNEL__ */
  7. enum ip_ct_ftp_type
  8. {
  9. /* PORT command from client */
  10. IP_CT_FTP_PORT,
  11. /* PASV response from server */
  12. IP_CT_FTP_PASV,
  13. /* EPRT command from client */
  14. IP_CT_FTP_EPRT,
  15. /* EPSV response from server */
  16. IP_CT_FTP_EPSV,
  17. };
  18. #define NUM_SEQ_TO_REMEMBER 2
  19. /* This structure exists only once per master */
  20. struct ip_ct_ftp_master {
  21. /* Valid seq positions for cmd matching after newline */
  22. u_int32_t seq_aft_nl[IP_CT_DIR_MAX][NUM_SEQ_TO_REMEMBER];
  23. /* 0 means seq_match_aft_nl not set */
  24. int seq_aft_nl_num[IP_CT_DIR_MAX];
  25. };
  26. struct ip_conntrack_expect;
  27. /* For NAT to hook in when we find a packet which describes what other
  28.  * connection we should expect. */
  29. extern unsigned int (*ip_nat_ftp_hook)(struct sk_buff **pskb,
  30.        enum ip_conntrack_info ctinfo,
  31.        enum ip_ct_ftp_type type,
  32.        unsigned int matchoff,
  33.        unsigned int matchlen,
  34.        struct ip_conntrack_expect *exp,
  35.        u32 *seq);
  36. #endif /* _IP_CONNTRACK_FTP_H */