Types.pas
01.01.2007
{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Author: Alexander Vaga EMail: alexander_vaga@hotmail.com Creation: May, 2002 Legal issues: Copyright (C) 2002 by Alexander Vaga Kyiv, Ukraine This software is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} unit Types; interface const STATE_ONLINE =$10020000; STATE_AWAY =$10020001; STATE_DND =$10020013; STATE_INVISIBLE =$10020100; STATE_OCCUPIED =$10020011; STATE_FREEFORCHAT=$10020020; STATE_N_A =$10020005; TYPE_MSG =$01; TYPE_CHAT =$02; TYPE_FILE =$03; TYPE_URL =$04; TYPE_AUTH_REQ =$06; TYPE_AUTH_DEN =$07; TYPE_AUTH_GIV =$08; TYPE_ADDED =$0C; TYPE_WEBPAGER =$0D; TYPE_EXPRESS =$0E; TYPE_CONTACT =$13; TYPE_CONTACT_REG =$1A; online = 0; freeforchat = 1; invisible = 2; occupied = 3; dnd = 4; away = 5; na = 6; etc = 7; offline = 8; simply_icq = 9; mes = 10; empty = 11; PACKET_DATA_SIZE = 4096; type IParray = array[0..3] of byte; PByteArray = ^TByteArray; TByteArray = array[0..PACKET_DATA_SIZE-1] of byte; PCharArray = ^TCharArray; TCharArray = array[0..PACKET_DATA_SIZE-1] of char; PWORD = ^word; PLONG = ^longint; PBYTE = ^byte; type PFLAP_HDR = ^FLAP_HDR; FLAP_HDR = packed record Sign : byte; ChID : byte; SEQ : word; Len : word; end; type PSNAC_HDR = ^SNAC_HDR; SNAC_HDR = packed record FamilyID : word; SubTypeID : word; Flags : array[0..1] of byte; RequestID : longint; end; type PFLAP_Item = ^FLAP_Item; FLAP_Item = packed record FLAP : FLAP_HDR; DATA : PByteArray; Next : PFLAP_Item; end; type Pack = packed record cursor : word; length : word; case integer of 0: (DATA:array[0..PACKET_DATA_SIZE-1] of byte); 1: (FLAP : FLAP_HDR; FLAP_BODY:array[0..PACKET_DATA_SIZE-1] of byte); 2: (Sign,ChID:byte; SEQ,Len : word); 3: (fix:FLAP_HDR; SNAC:SNAC_HDR; SNAC_BODY:array[0..PACKET_DATA_SIZE-1] of byte); end; PPack = ^Pack; implementation end.