2086
|
1 /* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
2
|
|
3 /*
|
|
4 * $Id: udp.h 2096 2001-07-31 01:00:39Z warmenhoven $
|
|
5 *
|
|
6 * Copyright (C) 1998-2001, Denis V. Dmitrienko <denis@null.net> and
|
|
7 * Bill Soudan <soudan@kde.org>
|
|
8 *
|
|
9 * This program is free software; you can redistribute it and/or modify
|
|
10 * it under the terms of the GNU General Public License as published by
|
|
11 * the Free Software Foundation; either version 2 of the License, or
|
|
12 * (at your option) any later version.
|
|
13 *
|
|
14 * This program is distributed in the hope that it will be useful,
|
|
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
17 * GNU General Public License for more details.
|
|
18 *
|
|
19 * You should have received a copy of the GNU General Public License
|
|
20 * along with this program; if not, write to the Free Software
|
|
21 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
22 *
|
|
23 */
|
|
24
|
|
25 #ifndef _UDP_H_
|
|
26 #define _UDP_H_
|
|
27
|
|
28 #ifdef HAVE_CONFIG_H
|
|
29 #include <config.h>
|
|
30 #endif
|
|
31
|
|
32 #include "icq.h"
|
|
33 #include "util.h"
|
|
34 #include "icqpacket.h"
|
|
35
|
|
36 #define UDP_CMD_ACK 0x000A
|
|
37 #define UDP_CMD_SEND_THRU_SRV 0x010E
|
|
38 #define UDP_CMD_LOGIN 0x03E8
|
|
39 #define UDP_CMD_CONT_LIST 0x0406
|
|
40 #define UDP_CMD_SEARCH_UIN 0x041A
|
|
41 #define UDP_CMD_SEARCH_USER 0x0424
|
|
42 #define UDP_CMD_KEEP_ALIVE 0x042E
|
|
43 #define UDP_CMD_KEEP_ALIVE2 0x051E
|
|
44 #define UDP_CMD_SEND_TEXT_CODE 0x0438
|
|
45 #define UDP_CMD_LOGIN_1 0x044C
|
|
46 #define UDP_CMD_INFO_REQ 0x0460
|
|
47 #define UDP_CMD_EXT_INFO_REQ 0x046A
|
|
48 #define UDP_CMD_CHANGE_PW 0x049C
|
|
49 #define UDP_CMD_STATUS_CHANGE 0x04D8
|
|
50 #define UDP_CMD_LOGIN_2 0x0528
|
|
51 #define UDP_CMD_UPDATE_INFO 0x050A
|
|
52 #define UDP_CMD_UPDATE_AUTH 0x0514
|
|
53 #define UDP_CMD_UPDATE_EXT_INFO 0x04B0
|
|
54 #define UDP_CMD_ADD_TO_LIST 0x053C
|
|
55 #define UDP_CMD_REQ_ADD_LIST 0x0456
|
|
56 #define UDP_CMD_QUERY_SERVERS 0x04BA
|
|
57 #define UDP_CMD_QUERY_ADDONS 0x04C4
|
|
58 #define UDP_CMD_NEW_USER_1 0x04EC
|
|
59 #define UDP_CMD_NEW_USER_INFO 0x04A6
|
|
60 #define UDP_CMD_ACK_MESSAGES 0x0442
|
|
61 #define UDP_CMD_MSG_TO_NEW_USER 0x0456
|
|
62 #define UDP_CMD_REG_NEW_USER 0x03FC
|
|
63 #define UDP_CMD_VIS_LIST 0x06AE
|
|
64 #define UDP_CMD_INVIS_LIST 0x06A4
|
|
65 #define UDP_CMD_META_USER 0x064A
|
|
66 #define UDP_CMD_RAND_SEARCH 0x056E
|
|
67 #define UDP_CMD_RAND_SET 0x0564
|
|
68 #define UDP_CMD_REVERSE_TCP_CONN 0x015E
|
|
69
|
|
70 #define UDP_SRV_ACK 0x000A
|
|
71 #define UDP_SRV_LOGIN_REPLY 0x005A
|
|
72 #define UDP_SRV_USER_ONLINE 0x006E
|
|
73 #define UDP_SRV_USER_OFFLINE 0x0078
|
|
74 #define UDP_SRV_USER_FOUND 0x008C
|
|
75 #define UDP_SRV_OFFLINE_MESSAGE 0x00DC
|
|
76 #define UDP_SRV_END_OF_SEARCH 0x00A0
|
|
77 #define UDP_SRV_INFO_REPLY 0x0118
|
|
78 #define UDP_SRV_EXT_INFO_REPLY 0x0122
|
|
79 #define UDP_SRV_STATUS_UPDATE 0x01A4
|
|
80 #define UDP_SRV_X1 0x021C
|
|
81 #define UDP_SRV_X2 0x00E6
|
|
82 #define UDP_SRV_UPDATE_OK 0x01E0
|
|
83 #define UDP_SRV_UPDATE_FAIL 0x01EA
|
|
84 #define UDP_SRV_UPDATE_EXT 0x00C8
|
|
85 #define UDP_SRV_NEW_UIN 0x0046
|
|
86 #define UDP_SRV_NEW_USER 0x00B4
|
|
87 #define UDP_SRV_QUERY 0x0082
|
|
88 #define UDP_SRV_SYSTEM_MESSAGE 0x01C2
|
|
89 #define UDP_SRV_ONLINE_MESSAGE 0x0104
|
|
90 #define UDP_SRV_GO_AWAY 0x00F0
|
|
91 #define UDP_SRV_TRY_AGAIN 0x00FA
|
|
92 #define UDP_SRV_FORCE_DISCONNECT 0x0028
|
|
93 #define UDP_SRV_MULTI_PACKET 0x0212
|
|
94 #define UDP_SRV_WRONG_PASSWORD 0x0064
|
|
95 #define UDP_SRV_INVALID_UIN 0x012C
|
|
96 #define UDP_SRV_META_USER 0x03DE
|
|
97 #define UDP_SRV_RAND_USER 0x024E
|
|
98 #define UDP_SRV_AUTH_UPDATE 0x01F4
|
|
99
|
|
100 #define META_CMD_SET_INFO 1000
|
|
101 #define META_CMD_SET_HOMEPAGE 1020
|
|
102 #define META_CMD_SET_ABOUT 1030
|
|
103 #define META_CMD_SET_SECURE 1060
|
|
104 #define META_CMD_SET_PASS 1070
|
|
105 #define META_CMD_REQ_INFO 1200
|
|
106 #define META_SRV_RES_INFO 100
|
|
107 #define META_SRV_RES_HOMEPAGE 120
|
|
108 #define META_SRV_RES_ABOUT 130
|
|
109 #define META_SRV_RES_SECURE 160
|
|
110 #define META_SRV_RES_PASS 170
|
|
111 #define META_SRV_USER_INFO 200
|
|
112 #define META_SRV_USER_WORK 210
|
|
113 #define META_SRV_USER_MORE 220
|
|
114 #define META_SRV_USER_ABOUT 230
|
|
115 #define META_SRV_USER_INTERESTS 240
|
|
116 #define META_SRV_USER_AFFILIATIONS 250
|
|
117 #define META_SRV_USER_HPCATEGORY 270
|
|
118 #define META_SRV_USER_FOUND 410
|
|
119
|
|
120 #define META_SRV_SUCCESS 10
|
|
121 #define META_SRV_FAILURE 50
|
|
122
|
|
123 #define TYPE_MSG 0x0001
|
|
124 #define TYPE_CHAT 0x0002
|
|
125 #define TYPE_FILE 0x0003
|
|
126 #define TYPE_URL 0x0004
|
|
127 #define TYPE_AUTH_REQ 0x0006
|
|
128 #define TYPE_AUTH 0x0008
|
|
129 #define TYPE_ADDED 0x000C
|
|
130 #define TYPE_WEBPAGER 0x000D
|
|
131 #define TYPE_EXPRESS 0x000E
|
|
132 #define TYPE_CONTACT 0x0013
|
|
133 #define TYPE_MASS_MASK 0x8000
|
|
134
|
|
135 #define LOGIN_X1_DEF 0x00000098
|
|
136 /*#define LOGIN_X1_DEF 0x000000D5*/
|
|
137 #define LOGIN_X3_DEF 0x00000003
|
|
138 /*#define LOGIN_X3_DEF 0x00000006*/
|
|
139 #define LOGIN_X4_DEF 0x00000000
|
|
140 #define LOGIN_X5_DEF 0x00980010
|
|
141 /*#define LOGIN_X5_DEF 0x00D50008*/
|
|
142 #define LOGIN_X6_DEF 0x00000050
|
|
143 #define LOGIN_X7_DEF 0x00000003
|
|
144 #define LOGIN_X8_DEF 0x00000000
|
|
145
|
|
146 #define LOGIN_SNDONLY_TCP 0x02
|
|
147 #define LOGIN_SNDRCV_TCP 0x04
|
|
148 #define LOGIN_NO_TCP 0x06
|
|
149
|
|
150 void icq_SendGotMessages(icq_Link *icqlink);
|
|
151 void icq_SendLogin1(icq_Link *icqlink);
|
|
152 void icq_StatusUpdate(icq_Link *icqlink, icq_Packet*);
|
|
153 void icq_AckSrv(icq_Link *icqlink, int seq);
|
|
154 void icq_HandleUserOffline(icq_Link *icqlink, icq_Packet*);
|
|
155 void icq_HandleUserOnline(icq_Link *icqlink, icq_Packet*);
|
|
156 void icq_DoMsg(icq_Link *icqlink, DWORD type, WORD len, char *data, DWORD uin,
|
|
157 BYTE hour, BYTE minute, BYTE day, BYTE month, WORD year);
|
|
158 int icq_UDPSockWriteDirect(icq_Link *icqlink, icq_Packet*);
|
|
159 int icq_UDPSockWrite(icq_Link *icqlink, icq_Packet*);
|
|
160 int icq_UDPSockRead(icq_Link *icqlink, icq_Packet*);
|
|
161 void icq_ServerResponse(icq_Link *icqlink, icq_Packet*);
|
|
162 void icq_HandleMultiPacket(icq_Link *icqlink, icq_Packet*);
|
|
163
|
|
164 void icq_UDPAck(icq_Link *icqlink, int seq);
|
|
165 WORD icq_UDPSendMessage(icq_Link *icqlink, DWORD uin, const char *text);
|
|
166 WORD icq_UDPSendURL(icq_Link *icqlink, DWORD uin, const char *url, const char *descr);
|
|
167
|
|
168 #endif /* _UDP_H_ */
|