#include <linux/slab.h>
#include <linux/module.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/skbuff.h>
#include <linux/textsearch.h>
#include <linux/tc_ematch/tc_em_text.h>
#include <net/pkt_cls.h>
struct text_match { … };
#define EM_TEXT_PRIV(m) …
static int em_text_match(struct sk_buff *skb, struct tcf_ematch *m,
struct tcf_pkt_info *info)
{ … }
static int em_text_change(struct net *net, void *data, int len,
struct tcf_ematch *m)
{ … }
static void em_text_destroy(struct tcf_ematch *m)
{ … }
static int em_text_dump(struct sk_buff *skb, struct tcf_ematch *m)
{ … }
static struct tcf_ematch_ops em_text_ops = …;
static int __init init_em_text(void)
{ … }
static void __exit exit_em_text(void)
{ … }
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
module_init(…) …;
module_exit(exit_em_text);
MODULE_ALIAS_TCF_EMATCH(…);