📄 im_qq_ps.h
字号:
#ifndef IM_QQ_PS_H
#define IM_QQ_PS_H
// 协议层
#define SESSION_KEY_SIZE 16
#define CLTMSG_LEN 300 //发给好友的消息最长为300 uf8编码字符
#define C_MAX_MEMO_NUM 10
#define C_MAX_MEMO_STRING_LEN 20
#define C_MAX_OFFINFO_NUM 10
#define C_MAX_GROUP_NUM 10
#define C_MAX_OFFINFO_STRING_LEN 256
#define C_MAX_GRP_NAME_LEN 50
#define C_MAX_GRP_MEMO_LEN 200
#define C_MAX_GRP_FINGLE_MEMO_LEN 200
#define C_MAX_GRP_MEMBER 200
#define C_MAX_GRP_MEMBER_INFO_NUM 20
#define C_TEAM_NAME_LEN 20
#define C_MAX_TEAM_NUM 20
#define C_GROUPNAME_Length 50
#define GUIDTYPE_LEN 16
#define C_Finger_Num 12
#define C_MaxSimpleInfoNode 50
#define C_MaxNickName 24
#define C_QS2_MaxFriNum 30
#define C_SimpleInfo_End 0xffff
enum{
C_CMD_NONE, // 0
C_CMD_GETKEY, // 1
C_CMD_LOGIN, // 2
C_CMD_LOGINERR, // 3
C_CMD_RELOGIN, // 4
C_CMD_LIST, // 5
C_CMD_QUERYSTAT2,// 6
C_CMD_SIMPLEINFO2,// 7
C_CMD_UPDATESTAT,// 8
// server msg
C_CMD_BEADDED, // 9
C_CMD_ASKADD, // 10
C_CMD_PASS, // 11
C_CMD_REFUSE, // 12
C_CMD_DELETE, // 13
C_CMD_SYSMSG, // 14
C_CMD_FRIEND_MSG,// 15
C_CMD_STRANGER_MSG,// 16
C_CMD_AD_MSG, // 17
// server msg end
C_CMD_GETINFO, // 18
C_CMD_FINGER, // 19
// add to list
C_CMD_ADDTOLIST, // 20
C_CMD_CANADD, // 21
C_CMD_NEEDCER, // 22
C_CMD_NOADD, // 23
// add to list end
C_CMD_DELFROMLIST,// 24
C_CMD_GETGROUPINFO,// 25
C_CMD_FINGERM, // 26
C_CMD_OFFINFO, // 27
// C_CMD_EditFriendMemo,
C_CMD_GetTheFriendMemo,// 28
C_CMD_FORCEQUIT, // 29
C_CMD_AUTOREPLY, //自动回复
C_CMD_FINGERUSER, //按昵称查找
C_CMD_GETVERIFY, // 获取验证码
C_CMD_GETVERIFYRTN, // 验证内容
C_CMD_REGETVERIFY, //重新发送验证码
MAX_C_CMD
};
enum{
IM_QQ_NET_PACKET_NONE,
IM_QQ_NET_PACKET_GETKEY,
IM_QQ_NET_PACKET_LOGIN,
IM_QQ_NET_PACKET_LIST,
IM_QQ_NET_PACKET_QUERYSTAT,
IM_QQ_NET_PACKET_SIMPLEINFO,
IM_QQ_NET_PACKET_HELLO,
IM_QQ_NET_PACKET_CHANGESTAT,
IM_QQ_NET_PACKET_CLTMSG,
IM_QQ_NET_PACKET_GETINFO,
IM_QQ_NET_PACKET_FINGER,
IM_QQ_NET_PACKET_ADDTOLIST,
IM_QQ_NET_PACKET_ACKADDTOLIST,
IM_QQ_NET_PACKET_DELFROMLIST,
IM_QQ_NET_PACKET_GETGROUPINFO,
IM_QQ_NET_PACKET_FINGERM,
IM_QQ_NET_PACKET_OFFINFO,
IM_QQ_NET_PACKET_SENDVERIFY,
IM_QQ_NET_PACKET_RESENDVERIFY,
MAX_IM_QQ_NET_PACKET
};
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
typedef struct
{
S16 Cmd;
void * pData;
} stSevCmd;
typedef struct
{
U32 W1;
U16 W2;
}stLogin;
typedef struct
{
U32 dwUID;
U8 cType;
U8 cGIndex;
}stListFriend;
typedef struct
{
long dwSeq;
U32 dwUID;
U16 wNum;
U16 gNum;
stListFriend* pFriends;
U32 dwGroupID[C_MAX_GROUP_NUM];
}stList;
typedef struct
{
U8 cIndex;
U16 szwName[17];
}stGroupInfo;
typedef struct
{
long dwSeq;
U16 wNum;
stGroupInfo* pGroups;
}stGroup;
typedef struct
{
U32 dwUID;
U8 cStat;
} stFriendStat;
typedef struct
{
U8 rv;
U16 wNum;
stFriendStat* pStats;
}stQueryStat2;
typedef struct
{
U32 dwUID;
U8 cFace;
U16 stNikeName[13];
} stBuddy;
typedef struct
{
S16 wPos;
U16 wNum;
stBuddy* pBuddys;
}stSimpleInfo2;
typedef struct
{
U32 dwUID; //QQ号码
U8 cFace; //头像
U8 cAge; //年龄
U8 cSex; //性别
U16 szwNickname[13]; //昵称
U16 szwAddress[112]; //地区
U16 szwPersonal[256]; //个人信息
U16 szwRealName[10]; //真实姓名
U16 szwCity[9]; //城市
}stGetInfo;
typedef struct
{
U32 dwUID;
U8 cFace;
U8 cAge;
U8 cSex;
U16 szwNickname[13];
}stFingerInfo;
typedef struct
{
U16 wNum;
stFingerInfo* pInfos;
}stFinger;
typedef struct
{
U32 UID;
U16 dataLen;
U16* pData;
} stServer;
typedef struct
{
U32 dwUID;
U32 dwSeq;
U16 wSize;
U16 szwOfflineStatus[100];
}stFriendOffinfo;
typedef struct
{
U16 wNum;
stFriendOffinfo pInfo[10];
}stOffinfo;
typedef struct
{
U16 wVerifyCodePicLen;
U8* sVerifyCodePic;
}stVeifyCode;
//////////////////////////////////////////////////////////////////////////
U16 Packet_GetKey(U32 uid,char* lc,U8* buf);
U16 Packet_Login(U32 uid,char* psw,S16 wStat,U8* buf);
U16 Packet_List(U32 uid,long seq,U8* buf);
U16 Packet_GetGroupInfo(long seq,U8* buf);
U16 Packet_QueryStat2(U32 nextUN,U8* buf);
U16 Packet_SimpleInfo2(S16 pos,U8* buf);
U16 Packet_Hello(U8* buf);
U16 Packet_ChangeStat(U8 stat,U8* buf);
U16 Packet_CltMsg(U32 uid,U16* msg,U16 size,U8 bEmo,U8* buf);
U16 Packet_GetInfo(U32 uid,U8 lv,U8* buf);
U16 Packet_Finger(U8 ag,U8 sx,U8 pv,U8* buf);
U16 Packet_AddToList(U32 uid,U8* buf);
U16 Packet_AckAddToList(U32 uid,U8 cd,U16* rs,U16 size,U8* buf);
U16 Packet_DelFromList(U32 uid,U8* buf);
U16 Packet_FingerM(U8 num,U8 gender,U8 age,U8 prov,char* lc,U8* buf);
U16 Packet_OffInfo(stOffinfo* pOffinfo,U8* buf);
//U16 Packet_OpeDemo(U8 pro,U8 page,U32 uid,U8* buf);
//U16 Packet_FingerUser(U32 uid,U16 nickLength,U16* sNick,U8* buf);
U16 Packet_SendVerify(U16 wVerifyCodeLen,U16* sVerifyCode,U8* buf);
U16 Packet_ReSendVerify(U8 cType,U8* buf);
S16 UnPack_Msg(U8* buf,U16 len,stSevCmd* pMsg);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -