mirror of
https://codeberg.org/crimeflare/cloudflare-tor
synced 2024-12-22 23:50:31 +00:00
Upload files to 'tool/PGListUtil/src/common'
This commit is contained in:
parent
b3a4f05d9f
commit
69595de83b
56
tool/PGListUtil/src/common/CIpList.h
Normal file
56
tool/PGListUtil/src/common/CIpList.h
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
#ifndef CIPLIST_H
|
||||||
|
#define CIPLIST_H
|
||||||
|
|
||||||
|
#include <boost/pool/pool.hpp>
|
||||||
|
#include <boost/xpressive/xpressive.hpp>
|
||||||
|
#include "common.h"
|
||||||
|
#include "CFilter.h"
|
||||||
|
|
||||||
|
namespace pglu {
|
||||||
|
namespace ip {
|
||||||
|
|
||||||
|
struct CIp {
|
||||||
|
char * caption;
|
||||||
|
union {
|
||||||
|
ulong ip64;
|
||||||
|
uint ip32[2];
|
||||||
|
uchar ip8[8];
|
||||||
|
};
|
||||||
|
CIp * next;
|
||||||
|
};
|
||||||
|
|
||||||
|
class CIpList {
|
||||||
|
private:
|
||||||
|
boost::pool<> m_poolIp;
|
||||||
|
CIp m_ipHead;
|
||||||
|
CIp * m_ipFoot;
|
||||||
|
|
||||||
|
filter::CFilter m_filter;
|
||||||
|
|
||||||
|
int m_count;
|
||||||
|
int m_countDisabled;
|
||||||
|
|
||||||
|
CIp * CreateIp(boost::xpressive::cmatch & match);
|
||||||
|
|
||||||
|
public:
|
||||||
|
CIpList();
|
||||||
|
~CIpList();
|
||||||
|
|
||||||
|
void Clear();
|
||||||
|
|
||||||
|
void SetFilter(const char *filter, const filter::EFilterMode mode, const bool del);
|
||||||
|
void UnSetFilter();
|
||||||
|
|
||||||
|
bool LoadListFile(const char *path);
|
||||||
|
bool SaveListFile(const char *path, const bool append);
|
||||||
|
|
||||||
|
void CheckAndSort(const bool sortCap, const bool sortIp, const bool delDupIp);
|
||||||
|
|
||||||
|
int Count();
|
||||||
|
int CountDisabled();
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace ip
|
||||||
|
} // namespace pglu
|
||||||
|
|
||||||
|
#endif // CIPLIST_H
|
48
tool/PGListUtil/src/common/common.h
Normal file
48
tool/PGListUtil/src/common/common.h
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
#ifndef COMMON_H
|
||||||
|
#define COMMON_H
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
|
||||||
|
typedef unsigned __int8 uchar;
|
||||||
|
typedef unsigned __int32 uint;
|
||||||
|
typedef unsigned __int64 ulong;
|
||||||
|
|
||||||
|
# else
|
||||||
|
|
||||||
|
#include <boost/cstdint.hpp>
|
||||||
|
|
||||||
|
typedef uint8_t uchar;
|
||||||
|
typedef uint32_t uint;
|
||||||
|
typedef uint64_t ulong;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
namespace pglu {
|
||||||
|
|
||||||
|
#define PGLU_LENGTH_FILELINE 1024
|
||||||
|
|
||||||
|
inline uint ParseDigit3(const char *begin, const char *end) {
|
||||||
|
switch(end - begin) {
|
||||||
|
case 3:
|
||||||
|
return ((*begin & 0xF) * 100) + ((*(begin + 1) & 0xF) * 10) + (*(begin + 2) & 0xF);
|
||||||
|
case 2:
|
||||||
|
return ((*begin & 0xF) * 10) + (*(begin + 1) & 0xF);
|
||||||
|
case 1:
|
||||||
|
return (*begin & 0xF);
|
||||||
|
default:
|
||||||
|
return 256;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __MINGW32__
|
||||||
|
|
||||||
|
inline void ZeroString(char *str) {
|
||||||
|
while(*str != '\0')
|
||||||
|
*(str++) = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
} // namespace pglu
|
||||||
|
|
||||||
|
#endif // COMMON_H
|
Loading…
Reference in New Issue
Block a user