#ifndef _SSLUTILS_H_
#define _SSLUTILS_H_ 1
#include "sslBuildFlags.h"
#include "tls_types.h"
#ifdef __cplusplus
extern "C" {
#endif
uint32_t SSLDecodeInt(
const uint8_t * p,
size_t length);
uint8_t *SSLEncodeInt(
uint8_t *p,
size_t value,
size_t length);
size_t SSLDecodeSize(
const uint8_t * p,
size_t length);
uint8_t *SSLEncodeSize(
uint8_t *p,
size_t value,
size_t length);
uint8_t* SSLEncodeUInt64(
uint8_t *p,
uint64_t value);
void IncrementUInt64(
uint64_t *v);
uint64_t SSLDecodeUInt64(
const uint8_t *p,
size_t length);
size_t SSLEncodedBufferListSize(const tls_buffer_list_t *list, int itemLenSize);
uint8_t *SSLEncodeBufferList(const tls_buffer_list_t *list, int itemLenSize, uint8_t *p);
int SSLDecodeBufferList(uint8_t *p, size_t listLen, int itemLenSize, tls_buffer_list_t **list);
extern bool __ssl_debug_all;
void __ssl_debug(const char *scope, const char *function,
const char *file, int line, const char *format, ...);
#if !KERNEL
bool __ssl_debug_enabled(const char *scope);
typedef void (*__ssl_debug_function)(void *ctx, const char *scope, const char *function, const char *str);
void __ssl_add_debug_logger(__ssl_debug_function function, void *ctx);
#endif
#if SSL_DEBUG
extern const char *protocolVersStr(tls_protocol_version prot);
#endif
#ifdef __cplusplus
}
#endif
#endif