⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 im_qq_ps.h

📁 MTK平台QQ移植
💻 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 + -