// $Id: Net.h,v 1.16 2003/08/31 00:38:11 vern Exp $
//
// Copyright (c) 1996, 1997, 1998, 1999, 2000, 2002
//      The Regents of the University of California.  All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that: (1) source code distributions
// retain the above copyright notice and this paragraph in its entirety, (2)
// distributions including binary code include the above copyright notice and
// this paragraph in its entirety in the documentation or other materials
// provided with the distribution, and (3) all advertising materials mentioning
// features or use of this software display the following acknowledgement:
// ``This product includes software developed by the University of California,
// Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
// the University nor the names of its contributors may be used to endorse
// or promote products derived from this software without specific prior
// written permission.
// THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
// WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

#ifndef net_h
#define net_h

#include "net_util.h"
#include "List.h"
#include "PktSrc.h"


extern void net_init(name_list& interfaces, name_list& readfiles,
		const char* writefile, const char* transformed_writefile,
		const char* filter, int do_watchdog);
extern void net_run();
extern void net_get_final_stats();
extern void net_finish(int drain_events);
extern void net_delete();	// Reclaim all memory, etc.


// Whether we're reading live traffic.
extern int reading_live;

// Pcap filter supplied by the user on the command line (if any).
extern char* user_pcap_filter;

// When we started processing the current packet and corresponding event
// queue.
extern double processing_start_time;

declare(PList,PktSrc);
extern PList(PktSrc) pkt_srcs;

extern pcap_dumper_t* pkt_dump;	// where to save packets

#endif
