Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 2005 - 2006 Pekka Riikonen
+ Copyright (C) 2005 - 2007 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
#ifndef SILCSKE_I_H
#define SILCSKE_I_H
+/* Packet retry counter and timer defines for UDP transport. */
+#define SILC_SKE_RETRY_COUNT 4 /* Max packet retry count */
+#define SILC_SKE_RETRY_MUL 2 /* Retry timer interval growth */
+#define SILC_SKE_RETRY_RAND 2 /* Randomizer, timeout += rnd % 2 */
+#define SILC_SKE_RETRY_MIN 1 /* Min retry timeout, seconds */
+
/* Length of cookie in Start Payload */
#define SILC_SKE_COOKIE_LEN 16
SilcSchedule schedule;
SilcFSMStruct fsm;
SilcAsyncOperationStruct op;
-
- unsigned int aborted : 1;
- unsigned int responder : 1;
+ SilcUInt16 session_port;
+
+ /* Packet retransmission */
+ SilcUInt16 retry_timer;
+ SilcUInt16 retry_count;
+ struct SilcSKEPacketRetransmission {
+ SilcPacketType type;
+ SilcPacketFlags flags;
+ unsigned char *data;
+ SilcUInt32 data_len;
+ } retrans;
+
+ SilcUInt16 timeout; /* SKE timeout */
+
+ unsigned int aborted : 1; /* Set when SKE aborted */
+ unsigned int freed : 1; /* Set when freed during session */
+ unsigned int responder : 1; /* Set when we are responder side */
+ unsigned int running : 1; /* Set when SKE is running */
+ unsigned int rekeying : 1; /* Set when rekeying */
};
#endif /* SILCSKE_I_H */