#ifndef WOLFSSL_CALLBACKS_H
#define WOLFSSL_CALLBACKS_H
#include <wolfssl/wolfcrypt/wc_port.h>
#ifdef __cplusplus
extern "C" {
#endif
enum {
MAX_PACKETNAME_SZ = 24,
MAX_CIPHERNAME_SZ = 24,
MAX_TIMEOUT_NAME_SZ = 24,
MAX_PACKETS_HANDSHAKE = 14,
MAX_VALUE_SZ = 128
};
struct WOLFSSL;
typedef struct handShakeInfo_st {
struct WOLFSSL* ssl;
char cipherName[MAX_CIPHERNAME_SZ + 1];
char packetNames[MAX_PACKETS_HANDSHAKE][MAX_PACKETNAME_SZ + 1];
int numberPackets;
int negotiationError;
} HandShakeInfo;
#if defined(HAVE_SYS_TIME_H) && !defined(NO_TIMEVAL)
typedef struct timeval WOLFSSL_TIMEVAL;
#else
typedef struct {
long tv_sec;
long tv_usec;
} WOLFSSL_TIMEVAL;
#endif
#if !defined(NO_OLD_TIMEVAL_NAME)
#define Timeval WOLFSSL_TIMEVAL
#endif
typedef struct packetInfo_st {
char packetName[MAX_PACKETNAME_SZ + 1];
WOLFSSL_TIMEVAL timestamp;
unsigned char value[MAX_VALUE_SZ];
unsigned char* bufferValue;
int valueSz;
} PacketInfo;
typedef struct timeoutInfo_st {
char timeoutName[MAX_TIMEOUT_NAME_SZ + 1];
int flags;
int numberPackets;
PacketInfo packets[MAX_PACKETS_HANDSHAKE];
WOLFSSL_TIMEVAL timeoutValue;
} TimeoutInfo;
#ifdef __cplusplus
}
#endif
#endif