#if (!defined(PROTO_H_))
#define PROTO_H_

#include <sys/types.h>
#include <pcap.h>
#if (!defined(linux))
#include <kvm.h>
#endif
#include "queue.h"
#include "ipex.h"
#if (!defined(linux))
#include "proc_kvm.h"
#endif

int	 get_dev_mem_op(char *);
struct core
	*proc_args(char *);
void	 dump_struct_bpf_program(struct bpf_program *);
char	*get_icmp_type(unsigned char);
int	 print_icmp(u_char *, struct pcap_pkthdr *, u_char *);
int	 print_igmp(u_char *, struct pcap_pkthdr *, u_char *);
void	 cleanup(void);
struct proto_printers
	*get_proto_printer(u_char, int);
int	 datalink_lookup_offset(pcap_t *);
pcap_handler
	 delegate(u_char *, struct pcap_pkthdr *, u_char *);
int	 usage(char *);
int	 version(void);
void	 write_current_statistics(void);
struct ehdr
	*process_link_headers(u_char *, struct pcap_pkthdr *,
	     u_char *);
char	**mplex_arg_proc(char *);
void	 ascii_print_with_offset(const u_char *, u_int, u_int, int);
#if (!defined(linux))
/* PROC_KVM_C */
void	 queue_logic(char *);
void	 flush_logic(void);
char	*compile_logic_list(void);
void	 scan_descriptor_tables(char *);
void	 process_descriptors(kvm_t *);
int	 kread(kvm_t *, char *, size_t);
void	 process_socket(void *);
int	 process_op_scan(struct proc *, struct core *);
#endif
void	 rehashconf(void);
void	 transmit_sigint(void);
int	 handle_signals(void);
int	 print_tcp(unsigned char *, struct pcap_pkthdr *,
	     unsigned char *);
char	*print_addr_fmt(struct in_addr, unsigned int);
unsigned long
	 timer_secs(char *);
void	 set_timer(char *);
void	 isvalid(char *);
int	 print_udp(u_char *, struct pcap_pkthdr *, u_char *);
char	*time_stamp(const struct timeval *, int32_t);
int32_t	 gmt2local(time_t);
void	 text_dump(char *, int, struct offset *);
int	 grep(char *, char *, struct offset *);
int	 strtolower(char *);
void	 logic_load(char *, FILE *);
void	 prescan_pcap_expr(char *);
char	*retrive_pcap_expr(char **);
int	 strisdigit(char *);
char	*cache_ns_entry(u_32_t *);
char	*hostname(int, u_32_t *);
void	 flush_ns_cache(void);
void	*memalloc(unsigned int);
void	*memrealloc(void *, unsigned int);
void	 links_signodes(const char *);
char	**ParseLine(char *);
void	 strip(char *, char *, int, int);
char	*upcase(char *);
unsigned char
	 string_to_hex(char *);
int	 scan_signature(unsigned char *, unsigned int);
void	 flush_signatures(void);
void	 init_tabs (void);
char	*getproto(u_int);
int	 generic_print( u_char *, struct pcap_pkthdr *, u_char *);
char	*portname(int, char *, u_int);
void	 yyerror(char *);
int	 readtimespec(const char *);
void	 dump_and_trunc(u_char *, const struct pcap_pkthdr *,
	     const u_char *);
u_long	 parseCflag(char *);
void	 rettext(char *, int);
int	 ln_pattern(char *);
int	 detectpattern(u_char *, size_t);
pcap_handler
	 statetrack(u_char *, struct pcap_pkthdr *, u_char *);

#endif


syntax highlighted by Code2HTML, v. 0.9.1