#if (!defined(CON_HEAP_H_))
#define CON_HEAP_H_
#include <pcap.h>
#include <sys/types.h>
#include <netinet/in.h>
typedef struct _Heap_ {
int size;
int (*cmp)(const void *key1, const void *key2);
void (*unalloc)(void *data);
void **btree;
} Heap;
struct conq {
int dead;
time_t lastwrite;
char *fname;
struct in_addr ip_src, ip_dst;
u_short sport, dport;
pcap_dumper_t *dumper;
u_quad_t hits;
struct conq *rev;
TAILQ_ENTRY(conq) glue;
};
void heap_init(Heap *heap, int (*cmp)(const void *key1, const void *key2),
void (*unalloc)(void *data));
void heap_destory(Heap *heap);
int heap_insert(Heap *heap, const void *data);
int heap_extract(Heap *heap, void **data);
int compare(struct conq *conep, struct conq *ctwop);
char *tcp_genfname(u_char *data, struct pcap_pkthdr *h, u_char *p);
int get_tcpsession(u_char *packet, Heap *heap, struct conq **cq);
void disassemble_fname(char *filename);
char *chomp(char *s);
void handle_sessions(struct pcap_pkthdr *h, u_char *p);
#define HEAP_SIZE(heap) ((heap)->size)
#define HEAP_PEEK(heap) ((heap)->btree == NULL ? NULL : (heap)->btree[0])
#endif /* CON_HEAP_H_ */
syntax highlighted by Code2HTML, v. 0.9.1