view src/protocols/icq/stdpackets.h @ 9969:cc2e6dd43613

[gaim-migrate @ 10879] (21:35:19) nosnilmot: LSchiere: gaim_blist_add_group() should not really be #if 0'd out... does that need a patch? (21:35:38) LSchiere: why is it #if 0'ed? (21:35:50) nosnilmot: merging error afaict (21:35:52) interalia: datallah: talking to yourself is OK. it's when you answer that it becomes a problem... (21:35:54) LSchiere: i'm assuming it was done for a reason, temporary as that reason might be (21:36:04) nosnilmot: it's not #if 0'd in chip's svn tree (21:36:08) LSchiere: oddness (21:36:16) interalia: cvs annotate to the rescue! (21:36:23) LSchiere: was that part of datallah's patch failure handle patch? (21:36:49) datallah: yeah... i'm confused as to how it happened, but the first part happened during the plain merge and the #endif i added during the .rej cleanup iirc (21:37:31) nosnilmot: yup, datallah's right :) I suspect the #if 0 came in because "patch" was trying to "help" (21:37:47) LSchiere: okay, let's see what happens without that (21:38:11) nosnilmot: "it works a lot better and doesn't eat as many buddy lists for breakfast" (21:38:12) datallah: it definitely needs to not be commented out it compiles uncommented, so we'll go with their opinion committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Wed, 08 Sep 2004 01:38:38 +0000
parents 424a40f12a6c
children
line wrap: on
line source

/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */

/*
 * $Id: stdpackets.h 2096 2001-07-31 01:00:39Z warmenhoven $
 *
 * Copyright (C) 1998-2001, Denis V. Dmitrienko <denis@null.net> and
 *                          Bill Soudan <soudan@kde.org>
 *
 * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 */

#ifndef _ICQTCPPACKETS_H
#define _ICQTCPPACKETS_H

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#define ICQ_UDP_VER            0x0005
#define ICQ_TCP_VER            0x0003

/* TCP Packet Commands */
#define ICQ_TCP_HELLO            0xFF
#define ICQ_TCP_CANCEL           0x07D0
#define ICQ_TCP_ACK              0x07DA
#define ICQ_TCP_MESSAGE          0x07EE

/* TCP Message Types */
#define ICQ_TCP_MSG_MSG          0x0001
#define ICQ_TCP_MSG_CHAT         0x0002
#define ICQ_TCP_MSG_FILE         0x0003
#define ICQ_TCP_MSG_URL          0x0004
#define ICQ_TCP_MSG_CONTACTLIST  0x0013
#define ICQ_TCP_MSG_READAWAY     0x03E8
#define ICQ_TCP_MSG_READOCCUPIED 0x03E9
#define ICQ_TCP_MSG_READNA       0x03EA
#define ICQ_TCP_MSG_READDND      0x03EB
#define ICQ_TCP_MSG_READFFC      0x03EC
#define ICQ_TCP_MASS_MASK        0x8000

/* TCP Message Command Types */
#define ICQ_TCP_MSG_ACK          0x0000
#define ICQ_TCP_MSG_AUTO         0x0000
#define ICQ_TCP_MSG_REAL         0x0010
#define ICQ_TCP_MSG_LIST         0x0020
#define ICQ_TCP_MSG_URGENT       0x0040
#define ICQ_TCP_MSG_INVISIBLE    0x0090
#define ICQ_TCP_MSG_UNK_1        0x00A0
#define ICQ_TCP_MSG_AWAY         0x0110
#define ICQ_TCP_MSG_OCCUPIED     0x0210
#define ICQ_TCP_MSG_UNK_2        0x0802
#define ICQ_TCP_MSG_NA           0x0810
#define ICQ_TCP_MSG_NA_2         0x0820
#define ICQ_TCP_MSG_DND          0x1010

/* TCP Message Statuses */
#define ICQ_TCP_STATUS_ONLINE      0x0000
#define ICQ_TCP_STATUS_REFUSE      0x0001
#define ICQ_TCP_STATUS_AWAY        0x0004
#define ICQ_TCP_STATUS_OCCUPIED    0x0009
#define ICQ_TCP_STATUS_DND         0x000A
#define ICQ_TCP_STATUS_NA          0x000E
#define ICQ_TCP_STATUS_FREE_CHAT   ICQ_TCP_STATUS_ONLINE
#define ICQ_TCP_STATUS_INVISIBLE   ICQ_TCP_STATUS_ONLINE

#include "tcplink.h"

icq_Packet *icq_TCPCreateInitPacket(icq_TCPLink *plink);
icq_Packet *icq_TCPCreateStdPacket(icq_TCPLink *plink, WORD icq_TCPCommand,
               WORD type, const char *msg, WORD status, WORD msg_command);
icq_Packet *icq_TCPCreateMessagePacket(icq_TCPLink *plink, const char *message);
icq_Packet *icq_TCPCreateURLPacket(icq_TCPLink *plink, const char *message,
   const char *url);
icq_Packet *icq_TCPCreateAwayReqPacket(icq_TCPLink *plink, WORD statusMode);
icq_Packet *icq_TCPCreateChatReqPacket(icq_TCPLink *plink, const char *message);
icq_Packet *icq_TCPCreateFileReqPacket(icq_TCPLink *plink, 
   const char *message, const char *filename, DWORD size);
void icq_TCPAppendSequence(icq_Link *icqlink, icq_Packet *p);
void icq_TCPAppendSequenceN(icq_Link *icqlink, icq_Packet *p, DWORD seq);

icq_Packet *icq_TCPCreateMessageAck(icq_TCPLink *plink, const char *message);
icq_Packet *icq_TCPCreateURLAck(icq_TCPLink *plink, const char *message);
icq_Packet *icq_TCPCreateContactListAck(icq_TCPLink *plink, const char *message);
icq_Packet *icq_TCPCreateWebPagerAck(icq_TCPLink *plink, const char *message);
icq_Packet *icq_TCPCreateChatReqAck(icq_TCPLink *plink, WORD port);
icq_Packet *icq_TCPCreateChatReqCancel(icq_TCPLink *plink, WORD port);
icq_Packet *icq_TCPCreateChatReqRefuse(icq_TCPLink *plink, WORD port,
   const char *reason);
icq_Packet *icq_TCPCreateFileReqAck(icq_TCPLink *plink, WORD port);
icq_Packet *icq_TCPCreateFileReqCancel(icq_TCPLink *plink, WORD port);
icq_Packet *icq_TCPCreateFileReqRefuse(icq_TCPLink *plink, WORD port,
   const char *reason);

icq_Packet *icq_TCPCreateChatInfoPacket(icq_TCPLink *plink, const char *name, 
   DWORD foreground, DWORD background);
icq_Packet *icq_TCPCreateChatInfo2Packet(icq_TCPLink *plink, const char *name,
   DWORD foreground, DWORD background);
icq_Packet *icq_TCPCreateChatFontInfoPacket(icq_TCPLink *plink);

icq_Packet *icq_TCPCreateFile00Packet(DWORD num_files, DWORD total_bytes, DWORD speed, const char *name);
icq_Packet *icq_TCPCreateFile01Packet(DWORD speed, const char *name);
icq_Packet *icq_TCPCreateFile02Packet(const char *filename, DWORD filesize, DWORD speed);
icq_Packet *icq_TCPCreateFile03Packet(DWORD filesize, DWORD speed);
icq_Packet *icq_TCPCreateFile04Packet(DWORD filenum);
icq_Packet *icq_TCPCreateFile05Packet(DWORD speed);
icq_Packet *icq_TCPCreateFile06Packet(int length, void *data);

icq_Packet *icq_UDPCreateStdPacket(icq_Link *icqlink, WORD cmd);
icq_Packet *icq_UDPCreateStdSeqPacket(icq_Link *icqlink, WORD cmd, WORD seq);

#endif /* _ICQTCPPACKETS_H */

/* From `tcppackets.c': */