Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
46 lines
1023 B
C++
46 lines
1023 B
C++
#pragma once
|
|
|
|
#include <vector>
|
|
|
|
typedef struct IPBAND
|
|
{
|
|
DWORD start;
|
|
DWORD end;
|
|
}*LPIPBAND;
|
|
|
|
class NFIPSec
|
|
{
|
|
public:
|
|
NFIPSec(void);
|
|
~NFIPSec(void);
|
|
|
|
public:
|
|
void LoadAllowIP(WCHAR* lpIPFileName);
|
|
void LoadBlockIP(WCHAR* lpIPFileName);
|
|
void LoadAllowIPZ(WCHAR* lpIPFileName);
|
|
void LoadBlockIPZ(WCHAR* lpIPFileName);
|
|
|
|
int SerializeOut(int iType, int iPos, int iCount, char* lpBuffer_Out);
|
|
void SerializeIn(int iType, int iCount, char* lpBuffer_In);
|
|
|
|
inline void ClearAllowIP() { m_vecAllowIP.clear(); }
|
|
inline void ClearBlockIP() { m_vecBlockIP.clear(); }
|
|
|
|
BOOL IsAliveIP(const char * strIP);
|
|
BOOL IsAliveIP(unsigned long dwIP);
|
|
|
|
BOOL CheckAllowIP(const char * strIP);
|
|
BOOL CheckAllowIP(unsigned long dwIP);
|
|
|
|
BOOL CheckBlockIP(const char * strIP);
|
|
BOOL CheckBlockIP(unsigned long dwIP);
|
|
|
|
inline int GetAllowIPCount() { return (int)m_vecAllowIP.size(); }
|
|
inline int GetBlockIPCount() { return (int)m_vecBlockIP.size(); }
|
|
|
|
private:
|
|
std::vector<IPBAND> m_vecAllowIP;
|
|
std::vector<IPBAND> m_vecBlockIP;
|
|
|
|
};
|