--- a/libpurple/protocols/gg/lib/protocol.h Mon Feb 24 15:43:08 2014 +0100 +++ b/libpurple/protocols/gg/lib/protocol.h Fri Feb 28 17:29:00 2014 +0100 @@ -33,6 +33,8 @@ #define GG_LOGIN80 0x0031 +#define GG_LOGIN105 0x0083 + #undef GG_FEATURE_STATUS80BETA #undef GG_FEATURE_MSG80 #undef GG_FEATURE_STATUS80 @@ -40,9 +42,14 @@ #define GG_FEATURE_MSG80 0x02 #define GG_FEATURE_STATUS80 0x05 +#define GG_DEFAULT_HOST_WHITE_LIST { "gadu-gadu.pl", "gg.pl", NULL } + #define GG8_LANG "pl" #define GG8_VERSION "Gadu-Gadu Client Build " +#define GG11_VERSION "GG-Phoenix/" +#define GG11_TARGET " (BUILD;WINNT_x86-msvc;rv:11.0,pl;release;standard) (OS;Windows;Windows NT 6.1)" + struct gg_login80 { uint32_t uin; /* mój numerek */ uint8_t language[2]; /* język: GG8_LANG */ @@ -63,6 +70,8 @@ #define GG_LOGIN80_OK 0x0035 +#define GG_LOGIN110_OK 0x009d + /** * Logowanie powiodło się (pakiet \c GG_LOGIN80_OK) */ @@ -92,6 +101,8 @@ uint32_t description_size; /**< rozmiar opisu */ } GG_PACKED; +#define GG_NEW_STATUS105 0x0063 + #define GG_STATUS80BETA 0x002a #define GG_NOTIFY_REPLY80BETA 0x002b @@ -319,6 +330,80 @@ /* char reply[]; */ } GG_PACKED; +struct gg_pong110 { + uint8_t dummy; + uint32_t time; +} GG_PACKED; + +struct gg_chat_create { + uint32_t seq; + uint32_t dummy; +} GG_PACKED; + +struct gg_chat_invite { + uint64_t id; + uint32_t seq; + uint32_t participants_count; + /* struct { + uint32_t uin; + uint32_t dummy; (0x1e) + } participants[]; */ +} GG_PACKED; + +struct gg_chat_leave { + uint64_t id; + uint32_t seq; +} GG_PACKED; + +struct gg_chat_created { + uint64_t id; + uint32_t seq; +} GG_PACKED; + +struct gg_chat_invite_ack { + uint64_t id; + uint32_t seq; + uint32_t unknown1; /* 0x00 */ + uint32_t unknown2; /* 0x10 */ +} GG_PACKED; + +struct gg_chat_left { + uint64_t id; + uint32_t uin; +} GG_PACKED; + +#define GG_ADD_NOTIFY105 0x007b +#define GG_REMOVE_NOTIFY105 0x007c +#define GG_EVENT110 0x0084 +#define GG_IMTOKEN 0x008c +#define GG_ACCESS_INFO 0x008f +#define GG_NOTIFY105_FIRST 0x0077 +#define GG_NOTIFY105_LAST 0x0078 +#define GG_NOTIFY105_LIST_EMPTY 0x0079 +#define GG_PONG110 0x00a1 +#define GG_OPTIONS 0x009b + +#define GG_SEND_MSG110 0x007d +#define GG_RECV_MSG110 0x007e +#define GG_RECV_OWN_MSG110 0x0082 +#define GG_ACK110 0x0086 +#define GG_SEND_MSG_ACK110 0x0087 + +#define GG_CHAT_INFO 0x0093 +#define GG_CHAT_INFO_UPDATE 0x009e +#define GG_CHAT_CREATED 0x0045 +#define GG_CHAT_INVITE_ACK 0x0047 +#define GG_CHAT_RECV_MSG 0x0088 +#define GG_CHAT_RECV_OWN_MSG 0x008e +#define GG_CHAT_CREATE 0x0047 +#define GG_CHAT_INVITE 0x0090 +#define GG_CHAT_LEAVE 0x0052 +#define GG_CHAT_LEFT 0x0066 +#define GG_CHAT_SEND_MSG 0x008d + +#define GG_UIN_INFO 0x007a +#define GG_TRANSFER_INFO 0x00a0 + #ifdef _WIN32 #pragma pack(pop) #endif