#include "conversation.h"#include "debug.h"#include "internal.h"#include "md5.h"#include "notify.h"#include "server.h"#include "util.h"#include "utils.h"#include "packet_parse.h"#include "buddy_info.h"#include "buddy_list.h"#include "buddy_opt.h"#include "char_conv.h"#include "crypt.h"#include "group_im.h"#include "header_info.h"#include "im.h"#include "send_core.h"#include "qq.h"#include "send_file.h"im.c包含/依赖关系图:

数据结构 | |
| struct | _qq_recv_normal_im_common |
| struct | _qq_recv_normal_im_text |
| struct | _qq_recv_normal_im_unprocessed |
| struct | _qq_recv_im_header |
宏定义 | |
| #define | QQ_SEND_IM_REPLY_OK 0x00 |
| #define | DEFAULT_FONT_NAME_LEN 4 |
| #define | QQ_SEND_IM_AFTER_MSG_HEADER_LEN 8 |
| #define | DEFAULT_FONT_NAME "\0xcb\0xce\0xcc\0xe5" |
类型定义 | |
| typedef _qq_recv_im_header | qq_recv_im_header |
| typedef _qq_recv_normal_im_text | qq_recv_normal_im_text |
| typedef _qq_recv_normal_im_common | qq_recv_normal_im_common |
| typedef _qq_recv_normal_im_unprocessed | qq_recv_normal_im_unprocessed |
枚举 | |
| enum | { QQ_NORMAL_IM_TEXT = 0x000b, QQ_NORMAL_IM_FILE_REQUEST = 0x0035, QQ_NORMAL_IM_FILE_APPROVE_UDP = 0x0037, QQ_NORMAL_IM_FILE_APPROVE_TCP = 0x0003, QQ_NORMAL_IM_FILE_REJECT_UDP = 0x0039, QQ_NORMAL_IM_FILE_REJECT_TCP = 0x0005, QQ_NORMAL_IM_FILE_NOTIFY = 0x003b, QQ_NORMAL_IM_FILE_CANCEL = 0x0049, QQ_NORMAL_IM_FILE_PASV = 0x003f } |
| enum | { QQ_RECV_SYS_IM_KICK_OUT = 0x01 } |
函数 | |
| void | _qq_show_packet (gchar *desc, gchar *buf, gint len) |
| guint8 * | qq_get_send_im_tail (const gchar *font_color, const gchar *font_size, const gchar *font_name, gboolean is_bold, gboolean is_italic, gboolean is_underline, guint tail_len) |
| const gchar * | qq_get_recv_im_type_str (gint type) |
| gchar * | _gen_session_md5 (gint uid, gchar *session_key) |
| void | _qq_send_packet_recv_im_ack (GaimConnection *gc, guint16 seq, guint8 *data) |
| gint | _qq_normal_im_common_read (guint8 *data, guint8 **cursor, gint len, qq_recv_normal_im_common *common) |
| void | _qq_process_recv_normal_im_text (guint8 *data, guint8 **cursor, gint len, qq_recv_normal_im_common *common, GaimConnection *gc) |
| void | _qq_process_recv_normal_im (guint8 *data, guint8 **cursor, gint len, GaimConnection *gc) |
| void | _qq_process_recv_sys_im (guint8 *data, guint8 **cursor, gint data_len, GaimConnection *gc) |
| void | qq_send_packet_im (GaimConnection *gc, guint32 to_uid, gchar *msg, gint type) |
| void | qq_process_send_im_reply (guint8 *buf, gint buf_len, GaimConnection *gc) |
| void | qq_process_recv_im (guint8 *buf, gint buf_len, guint16 seq, GaimConnection *gc) |
|
|
|
|
|
|
|
|
|
|
|
The QQ2003C protocol plugin for gaim Copyright (C) 2004 Puzzlebird This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
参考 create_packet_data()、create_packet_dw()及QQ_KEY_LENGTH. 函数调用图: ![]() |
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||||||
|
||||||||||||||||||||
|
参考 QQ_CHARSET_DEFAULT、QQ_RECV_SYS_IM_KICK_OUT、qq_to_utf8()及split_data(). 参考自 qq_process_recv_im(). 函数调用图: ![]() |
|
||||||||||||||||
|
参考 QQ_CMD_RECV_IM及qq_send_cmd(). 参考自 qq_process_recv_im(). 函数调用图: ![]() |
|
||||||||||||||||
|
The QQ2003C protocol plugin for gaim Copyright (C) 2004 Puzzlebird Henry Ou <henry@linux.net> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 在文件qq_proxy.c第62行定义。 |
|
|
||||||||||||||||||||||||||||||||
|
参考 _qq_show_packet()、DEFAULT_FONT_NAME_LEN及QQ_SEND_IM_AFTER_MSG_HEADER_LEN. 参考自 qq_send_packet_group_im()及qq_send_packet_im(). 函数调用图: ![]() |
|
||||||||||||||||||||
|
||||||||||||||||
|
参考 DECRYPT、qq_crypt()、QQ_SEND_IM_REPLY_OK、read_packet_b()及_qq_data::session_key. 参考自 _qq_packet_process(). 函数调用图: ![]() |
|
||||||||||||||||||||
1.4.4