]>
Commit | Line | Data |
---|---|---|
3841dd46 | 1 | /* |
bf95c10a | 2 | * Copyright (C) 1996-2022 The Squid Software Foundation and contributors |
3841dd46 | 3 | * |
bbc27441 AJ |
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. | |
3841dd46 | 7 | */ |
8 | ||
9 | #ifndef SQUID_ACLASN_H | |
10 | #define SQUID_ACLASN_H | |
63be0a78 | 11 | |
3ad63615 | 12 | #include "acl/Data.h" |
b0c2361b | 13 | #include "base/CbDataList.h" |
96d89ea0 | 14 | #include "ip/Address.h" |
3841dd46 | 15 | |
8a648e8d | 16 | int asnMatchIp(CbDataList<int> *, Ip::Address &); |
63be0a78 | 17 | |
18 | /// \ingroup ACLAPI | |
8a648e8d | 19 | void asnInit(void); |
63be0a78 | 20 | |
63be0a78 | 21 | /// \ingroup ACLAPI |
8a648e8d | 22 | void asnFreeMemory(void); |
b0dd28ba | 23 | |
63be0a78 | 24 | /// \ingroup ACLAPI |
b7ac5457 | 25 | class ACLASN : public ACLData<Ip::Address> |
62e76326 | 26 | { |
b001e822 | 27 | MEMPROXY_CLASS(ACLASN); |
b0dd28ba | 28 | |
741c2986 | 29 | public: |
d59e4742 | 30 | ACLASN() : data(nullptr) {} |
337b9aa4 | 31 | ~ACLASN() override; |
b0dd28ba | 32 | |
337b9aa4 AR |
33 | bool match(Ip::Address) override; |
34 | SBufList dump() const override; | |
35 | void parse() override; | |
36 | bool empty() const override; | |
37 | void prepareForUse() override; | |
62e76326 | 38 | |
39 | private: | |
2236466c | 40 | CbDataList<int> *data; |
3841dd46 | 41 | }; |
62e76326 | 42 | |
3841dd46 | 43 | #endif /* SQUID_ACLASN_H */ |
f53969cc | 44 |