1 /* 2 * Copyright (C) 1996-2021 The Squid Software Foundation and contributors 3 * 4 * Squid software is distributed under GPLv2+ license and includes 5 * contributions from numerous individuals and organizations. 6 * Please see the COPYING and CONTRIBUTORS files for details. 7 */ 8 9 #ifndef SQUID_ACL_FORWARD_H 10 #define SQUID_ACL_FORWARD_H 11 12 #include "base/RefCount.h" 13 14 class ACL; 15 class ACLChecklist; 16 class ACLFilledChecklist; 17 class ACLList; 18 19 class AclDenyInfoList; 20 class AclSizeLimit; 21 22 namespace Acl 23 { 24 25 class Address; 26 class InnerNode; 27 class NotNode; 28 class AndNode; 29 class OrNode; 30 class Tree; 31 32 /// prepares to parse ACLs configuration 33 void Init(void); 34 35 } // namespace Acl 36 37 class allow_t; 38 typedef void ACLCB(allow_t, void *); 39 40 #define ACL_NAME_SZ 64 41 42 // TODO: Consider renaming all users and removing. Cons: hides the difference 43 // between ACLList tree without actions and acl_access Tree with actions. 44 #define acl_access Acl::Tree 45 #define ACLList Acl::Tree 46 47 class ExternalACLEntry; 48 typedef RefCount<ExternalACLEntry> ExternalACLEntryPointer; 49 50 #endif /* SQUID_ACL_FORWARD_H */ 51 52