X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=lib%2Fsilccore%2Fsilcpacket.h;h=1d0338f74fb50456f4548d6fc7904adac4f0734c;hp=2d5ba45dd5e1b00badfc3cf1204b02afe71f0813;hb=e5d8d3db6caa344b3d419b884556c21b15e7d123;hpb=9d68c4cb77f428470b07a3daab1a3188ff4eecdf diff --git a/lib/silccore/silcpacket.h b/lib/silccore/silcpacket.h index 2d5ba45d..1d0338f7 100644 --- a/lib/silccore/silcpacket.h +++ b/lib/silccore/silcpacket.h @@ -1,24 +1,24 @@ -/****h* silccore/silcpacket.h - * - * NAME - * - * silcpacket.h - * - * COPYRIGHT - * - * Author: Pekka Riikonen - * - * Copyright (C) 1997 - 2001 Pekka Riikonen - * - * 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. +/* + + silcpacket.h + + Author: Pekka Riikonen + + Copyright (C) 1997 - 2001 Pekka Riikonen + + 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. + +*/ + +/****h* silccore/SilcPacketAPI * * DESCRIPTION * @@ -32,12 +32,8 @@ #ifndef SILCPACKET_H #define SILCPACKET_H -/* Amount of bytes to be read from the socket connection at once. */ -#define SILC_PACKET_READ_SIZE 16384 - -/* Default byte size of the packet. This can be set larger if this - is not enough, we shall see. */ -#define SILC_PACKET_DEFAULT_SIZE 2048 +/* Default byte size of the packet. */ +#define SILC_PACKET_DEFAULT_SIZE SILC_SOCKET_BUF_SIZE /* Header length without source and destination ID's. */ #define SILC_PACKET_HEADER_LEN 8 + 2 @@ -97,7 +93,8 @@ typedef unsigned char SilcPacketType; #define SILC_PACKET_REKEY_DONE 23 /* Re-key done */ #define SILC_PACKET_HEARTBEAT 24 /* Heartbeat */ #define SILC_PACKET_KEY_AGREEMENT 25 /* Key Agreement request */ -#define SILC_PACKET_CELL_ROUTERS 26 /* Cell routers backup */ +#define SILC_PACKET_RESUME_ROUTER 26 /* Backup router resume */ +#define SILC_PACKET_FTP 27 /* File Transfer */ #define SILC_PACKET_PRIVATE 200 /* Private range start */ #define SILC_PACKET_MAX 255 /* RESERVED */ @@ -196,13 +193,17 @@ typedef unsigned char SilcPacketFlags; * silc_packet_* routines. If not provided the library will calculate * the values. * - * in users; + * int users; * * Reference counter for this context. The context is freed only * after the reference counter hits zero. The counter is added * calling silc_packet_context_dup and decreased by calling the * silc_packet_context_free. * + * uint32 sequence; + * + * Packet sequence number. + * ***/ typedef struct { SilcBuffer buffer; @@ -225,6 +226,8 @@ typedef struct { SilcSocketConnection sock; int users; + + uint32 sequence; } SilcPacketContext; /****s* silccore/SilcPacketAPI/SilcPacketParserContext @@ -500,7 +503,7 @@ void silc_packet_send_prepare(SilcSocketConnection sock, * * SYNOPSIS * - * int silc_packet_read(int sock, SilcBuffer dest); + * int silc_packet_read(int fd, SilcSocketConnection sock); * * DESCRIPTION * @@ -519,7 +522,7 @@ void silc_packet_send_prepare(SilcSocketConnection sock, * all of the data could not be read at once. * ***/ -int silc_packet_read(int sock, SilcBuffer dest); +int silc_packet_read(int fd, SilcSocketConnection sock); /****f* silccore/SilcPacketAPI/silc_packet_receive *