diff options
Diffstat (limited to 'include/internal/deprecated.h')
-rw-r--r-- | include/internal/deprecated.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/include/internal/deprecated.h b/include/internal/deprecated.h new file mode 100644 index 0000000..fe6f890 --- /dev/null +++ b/include/internal/deprecated.h @@ -0,0 +1,65 @@ +/* + * WARNING: Do *NOT* ever include this file, only for internal use! + */ +#ifndef _NFCT_DEPRECATED_H_ +#define _NFCT_DEPRECATED_H_ + +typedef int (*nfct_handler)(struct nfct_handle *cth, struct nlmsghdr *nlh, + void *arg); + +/* some systems have old libc's */ +#include <netinet/in.h> +#ifndef IPPROTO_SCTP +#define IPPROTO_SCTP 132 +#endif + +#include "internal/linux_list.h" + +/* extensions */ +struct nfct_proto { + struct list_head head; + + char *name; + u_int8_t protonum; + char *version; + + void (*parse_proto)(struct nfattr **, struct nfct_tuple *); + void (*parse_protoinfo)(struct nfattr **, struct nfct_conntrack *); + void (*build_tuple_proto)(struct nfnlhdr *, int, struct nfct_tuple *); + void (*build_protoinfo)(struct nfnlhdr *, int, struct nfct_conntrack *); + int (*print_protoinfo)(char *, union nfct_protoinfo *); + int (*print_proto)(char *, struct nfct_tuple *); + int (*compare)(struct nfct_conntrack *, struct nfct_conntrack *, + unsigned int); +}; + +extern void nfct_register_proto(struct nfct_proto *h); + +struct nfct_l3proto { + struct list_head head; + + char *name; + u_int16_t protonum; + char *version; + + void (*parse_proto)(struct nfattr **, struct nfct_tuple *); + void (*build_tuple_proto)(struct nfnlhdr *, int, struct nfct_tuple *); + int (*print_proto)(char *, struct nfct_tuple *); + int (*compare)(struct nfct_conntrack *, struct nfct_conntrack *, + unsigned int); +}; + +extern void nfct_register_l3proto(struct nfct_l3proto *h); + +/* backward compatibility of the deprecated API */ +extern struct nfct_l3proto ipv4; +extern struct nfct_l3proto ipv6; + +extern struct nfct_proto tcp; +extern struct nfct_proto udp; +extern struct nfct_proto sctp; +extern struct nfct_proto icmp; + +extern void deprecated_backward_support(); + +#endif |