#ifndef NET_PROTOCFG_H
#define NET_PROTOCFG_H

#include "base/strarray.h"

enum PL_ {
		PL_CRYPT,
		PL_STEADY,
		PL_SPURT,
		PL_DUMMY,
		PL_BACK
	};

enum PFL_ {
		PFL_CORE,
		PFL_VIRC,
		PFL_RAW
	};

enum PML_ {
		PML_TEST
	};

#define PROTOCOL_DEFAULTPORT 1796


//void protocolAddGood(char *filter);
//void protocolAddBad(char *filter);

void protocolAddGood(void *extra, char *filter);
void protocolGetGood(void *extra, StringArrayHandle **sa);
void protocolClearGood(void *extra);

void protocolAddBad(void *extra, char *filter);
void protocolGetBad(void *extra, StringArrayHandle **sa);
void protocolClearBad(void *extra);


int protocolFilter(char *protocol);

//internal functions
int protocolFilterTestDo(StringArrayHandle *saf, StringArrayHandle *sap, int of, int op);
int protocolFilterTest(char *filter, char *protocol);



extern StringIntPair pipelist[];
extern StringIntPair pipefacelist[];
extern StringIntPair pipemasqlist[];


extern StringArrayHandle *filtergood;
extern StringArrayHandle *filterbad;

extern char *protocolmasqhost;
extern char *protocolmasqtansport;
extern int protocolmasqport;


#endif //NET_PROTOCFG_H

