Tue, 29 May 2001 10:32:53 +0000
[gaim-migrate @ 1922]
new icqlib
| 1152 | 1 | /* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
|
1912
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
2 | |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
3 | /* |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
4 | * Copyright (C) 1998-2001, Denis V. Dmitrienko <denis@null.net> and |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
5 | * Bill Soudan <soudan@kde.org> |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
6 | * |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
7 | * This program is free software; you can redistribute it and/or modify |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
8 | * it under the terms of the GNU General Public License as published by |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
9 | * the Free Software Foundation; either version 2 of the License, or |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
10 | * (at your option) any later version. |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
11 | * |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
12 | * This program is distributed in the hope that it will be useful, |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
15 | * GNU General Public License for more details. |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
16 | * |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
17 | * You should have received a copy of the GNU General Public License |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
18 | * along with this program; if not, write to the Free Software |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
19 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
20 | * |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
21 | */ |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
22 | |
| 1152 | 23 | #ifndef _ICQTCPPACKETS_H |
| 24 | #define _ICQTCPPACKETS_H | |
| 25 | ||
| 26 | #ifdef HAVE_CONFIG_H | |
| 27 | #include <config.h> | |
| 28 | #endif | |
| 29 | ||
| 30 | #define ICQ_UDP_VER 0x0005 | |
| 31 | #define ICQ_TCP_VER 0x0003 | |
| 32 | ||
| 33 | /* TCP Packet Commands */ | |
| 34 | #define ICQ_TCP_HELLO 0xFF | |
| 35 | #define ICQ_TCP_CANCEL 0x07D0 | |
| 36 | #define ICQ_TCP_ACK 0x07DA | |
| 37 | #define ICQ_TCP_MESSAGE 0x07EE | |
| 38 | ||
| 39 | /* TCP Message Types */ | |
| 40 | #define ICQ_TCP_MSG_MSG 0x0001 | |
| 41 | #define ICQ_TCP_MSG_CHAT 0x0002 | |
| 42 | #define ICQ_TCP_MSG_FILE 0x0003 | |
| 43 | #define ICQ_TCP_MSG_URL 0x0004 | |
|
1432
ab10a52f94a7
[gaim-migrate @ 1442]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1309
diff
changeset
|
44 | #define ICQ_TCP_MSG_CONTACTLIST 0x0013 |
| 1152 | 45 | #define ICQ_TCP_MSG_READAWAY 0x03E8 |
| 46 | #define ICQ_TCP_MSG_READOCCUPIED 0x03E9 | |
| 47 | #define ICQ_TCP_MSG_READNA 0x03EA | |
| 48 | #define ICQ_TCP_MSG_READDND 0x03EB | |
| 49 | #define ICQ_TCP_MSG_READFFC 0x03EC | |
|
1309
dccfec27ffd4
[gaim-migrate @ 1319]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1152
diff
changeset
|
50 | #define ICQ_TCP_MASS_MASK 0x8000 |
| 1152 | 51 | |
| 52 | /* TCP Message Command Types */ | |
| 53 | #define ICQ_TCP_MSG_ACK 0x0000 | |
| 54 | #define ICQ_TCP_MSG_AUTO 0x0000 | |
| 55 | #define ICQ_TCP_MSG_REAL 0x0010 | |
| 56 | #define ICQ_TCP_MSG_LIST 0x0020 | |
| 57 | #define ICQ_TCP_MSG_URGENT 0x0040 | |
| 58 | #define ICQ_TCP_MSG_INVISIBLE 0x0090 | |
| 59 | #define ICQ_TCP_MSG_UNK_1 0x00A0 | |
| 60 | #define ICQ_TCP_MSG_AWAY 0x0110 | |
| 61 | #define ICQ_TCP_MSG_OCCUPIED 0x0210 | |
| 62 | #define ICQ_TCP_MSG_UNK_2 0x0802 | |
| 63 | #define ICQ_TCP_MSG_NA 0x0810 | |
| 64 | #define ICQ_TCP_MSG_NA_2 0x0820 | |
| 65 | #define ICQ_TCP_MSG_DND 0x1010 | |
| 66 | ||
| 67 | /* TCP Message Statuses */ | |
| 68 | #define ICQ_TCP_STATUS_ONLINE 0x0000 | |
| 69 | #define ICQ_TCP_STATUS_REFUSE 0x0001 | |
| 70 | #define ICQ_TCP_STATUS_AWAY 0x0004 | |
| 71 | #define ICQ_TCP_STATUS_OCCUPIED 0x0009 | |
| 72 | #define ICQ_TCP_STATUS_DND 0x000A | |
| 73 | #define ICQ_TCP_STATUS_NA 0x000E | |
| 74 | #define ICQ_TCP_STATUS_FREE_CHAT ICQ_TCP_STATUS_ONLINE | |
| 75 | #define ICQ_TCP_STATUS_INVISIBLE ICQ_TCP_STATUS_ONLINE | |
| 76 | ||
| 77 | #include "tcplink.h" | |
| 78 | ||
| 79 | icq_Packet *icq_TCPCreateInitPacket(icq_TCPLink *plink); | |
| 80 | icq_Packet *icq_TCPCreateStdPacket(icq_TCPLink *plink, WORD icq_TCPCommand, | |
|
1912
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
81 | WORD type, const char *msg, WORD status, WORD msg_command); |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
82 | icq_Packet *icq_TCPCreateMessagePacket(icq_TCPLink *plink, const char *message); |
| 1152 | 83 | icq_Packet *icq_TCPCreateURLPacket(icq_TCPLink *plink, const char *message, |
| 84 | const char *url); | |
|
1912
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
85 | icq_Packet *icq_TCPCreateChatReqPacket(icq_TCPLink *plink, const char *message); |
| 1152 | 86 | icq_Packet *icq_TCPCreateFileReqPacket(icq_TCPLink *plink, |
| 87 | const char *message, const char *filename, DWORD size); | |
|
1912
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
88 | void icq_TCPAppendSequence(icq_Link *icqlink, icq_Packet *p); |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
89 | void icq_TCPAppendSequenceN(icq_Link *icqlink, icq_Packet *p, DWORD seq); |
| 1152 | 90 | |
|
1912
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
91 | icq_Packet *icq_TCPCreateMessageAck(icq_TCPLink *plink, const char *message); |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
92 | icq_Packet *icq_TCPCreateURLAck(icq_TCPLink *plink, const char *message); |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
93 | icq_Packet *icq_TCPCreateContactListAck(icq_TCPLink *plink, const char *message); |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
94 | icq_Packet *icq_TCPCreateWebPagerAck(icq_TCPLink *plink, const char *message); |
| 1152 | 95 | icq_Packet *icq_TCPCreateChatReqAck(icq_TCPLink *plink, WORD port); |
| 96 | icq_Packet *icq_TCPCreateChatReqCancel(icq_TCPLink *plink, WORD port); | |
| 97 | icq_Packet *icq_TCPCreateChatReqRefuse(icq_TCPLink *plink, WORD port, | |
| 98 | const char *reason); | |
| 99 | icq_Packet *icq_TCPCreateFileReqAck(icq_TCPLink *plink, WORD port); | |
| 100 | icq_Packet *icq_TCPCreateFileReqCancel(icq_TCPLink *plink, WORD port); | |
| 101 | icq_Packet *icq_TCPCreateFileReqRefuse(icq_TCPLink *plink, WORD port, | |
| 102 | const char *reason); | |
| 103 | ||
| 104 | icq_Packet *icq_TCPCreateChatInfoPacket(icq_TCPLink *plink, const char *name, | |
| 105 | DWORD foreground, DWORD background); | |
| 106 | icq_Packet *icq_TCPCreateChatInfo2Packet(icq_TCPLink *plink, const char *name, | |
| 107 | DWORD foreground, DWORD background); | |
| 108 | icq_Packet *icq_TCPCreateChatFontInfoPacket(icq_TCPLink *plink); | |
| 109 | ||
| 110 | icq_Packet *icq_TCPCreateFile00Packet(DWORD num_files, DWORD total_bytes, DWORD speed, const char *name); | |
| 111 | icq_Packet *icq_TCPCreateFile01Packet(DWORD speed, const char *name); | |
| 112 | icq_Packet *icq_TCPCreateFile02Packet(const char *filename, DWORD filesize, DWORD speed); | |
| 113 | icq_Packet *icq_TCPCreateFile03Packet(DWORD filesize, DWORD speed); | |
| 114 | icq_Packet *icq_TCPCreateFile04Packet(DWORD filenum); | |
| 115 | icq_Packet *icq_TCPCreateFile05Packet(DWORD speed); | |
| 116 | icq_Packet *icq_TCPCreateFile06Packet(int length, void *data); | |
| 117 | ||
|
1912
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
118 | icq_Packet *icq_UDPCreateStdPacket(icq_Link *icqlink, WORD cmd); |
|
77d18e17199b
[gaim-migrate @ 1922]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1432
diff
changeset
|
119 | icq_Packet *icq_UDPCreateStdSeqPacket(icq_Link *icqlink, WORD cmd, WORD seq); |
| 1152 | 120 | |
| 121 | #endif /* _ICQTCPPACKETS_H */ | |
| 122 | ||
| 123 | /* From `tcppackets.c': */ | |
| 124 |