📄 authnull.h
字号:
// AuthNull.h: interface for the AuthNull class.
/*/////////////////////////////////////////////////////////////////////////////
李亦
2006.06.20
/*//////////////////////////////////////////////////////////////////////////////
#if !defined(_AUTHNULL_H_)
#define _AUTHNULL_H_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
namespace CS
{
#define AUTH_TAG 0xCDC31337
#define AUTH_TIMEOUT 30000//5000
class AuthNull
{
#pragma pack(push,1)
typedef struct
{
int nUserId;
DWORD dwSeq;
DWORD dwRemoteSeq;
} INTERNAL;
typedef struct
{
DWORD dwTag;
DWORD dwSeq;
}SEQ_HDR;
#pragma pack(pop)
static int UnsequenceDecryptPacket(CEncryptionEngine *pEnc, BYTE *pIn, int nInLen, BYTE **ppOut, int *pnOutLen, SEQ_HDR *pSeq);
static int SequenceEncryptPacket(CEncryptionEngine *pEnc, BYTE *pIn, int nInLen, BYTE **ppOut, int *pnOutLen, SEQ_HDR *pSeq);
static void SequenceFreePacket(BYTE *pData);
public:
static int RPGAPI Insert(void);
static int RPGAPI Remove(void);
static char* RPGAPI Query(void);
static void* RPGAPI OnListen(CIOSocket *pSock, CEncryptionEngine *pEnc, int nUserId);
static void* RPGAPI OnConnect(CIOSocket *pSock, CEncryptionEngine *pEnc, int nUserId);
static void* RPGAPI OnAccept(void *pInternal, CIOSocket *pSock, CEncryptionEngine *pEnc);
static int RPGAPI GetUserID(void *pInternal);
static int RPGAPI OnClose(void *pInternal);
static int RPGAPI OnRecv(void *pInternal, CEncryptionEngine *pEnc, BYTE *pData, int nDataLen, BYTE **ppInData, int *pnInDataLen);
static int RPGAPI OnSend(void *pInternal, CEncryptionEngine *pEnc, BYTE *pData, int nDataLen, BYTE **ppOutData, int *pnOutDataLen);
static void RPGAPI Free(void *pInternal, BYTE *pBuffer);
static BOOL RPGAPI ValidateCommand(int nUserId, int nCommand);
public:
CS_AUTHHANDLER m_authHandler;
static CS_AUTHHANDLER *GetNullAuthHandler(void);
public:
AuthNull();
~AuthNull();
};//class AuthNull
};//namespace CS
#endif // !defined(_AUTHNULL_H_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -