#ifndef _PLUGIN_H #define _PLUGIN_H #include "netpkt.h" #include "list.h" extern void pkt_queue(struct net_pkt *pkt); extern int server_add(unsigned int gameid, struct in_addr ip, u_int16_t port1, u_int16_t port2); extern struct net_pkt * pkt_factory(char *dstip, unsigned int dstport, char *buf, unsigned int size); extern int pkt_memcmp(struct net_pkt *pkt, unsigned int offset, char *search, unsigned int size); extern int pkt_strcmp(struct net_pkt *pkt, unsigned int offset, char *search); struct hlswmaster_plugin { /* must be first */ struct list_head list; char name[32]; int (*init)(struct list_head *config); int (*fini)(void); int (*scan)(void); int (*parse)(struct net_pkt *pkt); int (*gc)(int timeout); }; extern void register_plugin(struct hlswmaster_plugin *me); extern void unregister_plugin(struct hlswmaster_plugin *me); #endif