// $Id: BroList.h,v 1.14 2002/10/11 02:20:15 leres Exp $
//
// Copyright (c) 1995, 1996, 1997, 1998, 1999, 2001, 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 brolist_h
#define brolist_h

#include "List.h"

class Expr;
declare(PList,Expr);
typedef PList(Expr) expr_list;

class ID;
declare(PList,ID);
typedef PList(ID) id_list;

class HashKey;
declare(PList,HashKey);
typedef PList(HashKey) hash_key_list;

class Val;
declare(PList,Val);
typedef PList(Val) val_list;

class Stmt;
declare(PList,Stmt);
typedef PList(Stmt) stmt_list;

class BroType;
declare(PList,BroType);
typedef PList(BroType) type_list;

class TypeDecl;
declare(PList,TypeDecl);
typedef PList(TypeDecl) type_decl_list;

class Case;
declare(PList,Case);
typedef PList(Case) case_list;

class Attr;
declare(PList,Attr);
typedef PList(Attr) attr_list;

class Scope;
declare(PList,Scope);
typedef PList(Scope) scope_list;

class Timer;
declare(PList,Timer);
typedef PList(Timer) timer_list;

class DNS_Mgr_Request;
declare(PList,DNS_Mgr_Request);
typedef PList(DNS_Mgr_Request) DNS_mgr_request_list;

#endif
