Tilde Friends
tls.h
1#pragma once
2
9#include <stdbool.h>
10#include <stddef.h>
11
15typedef struct _tf_tls_context_t tf_tls_context_t;
16
20typedef struct _tf_tls_session_t tf_tls_session_t;
21
26{
27 k_tls_handshake_done,
28 k_tls_handshake_more,
29 k_tls_handshake_failed,
31
35typedef enum _tf_tls_read_t
36{
37 k_tls_read_zero = -1,
38 k_tls_read_failed = -2,
40
46
53bool tf_tls_context_set_certificate(tf_tls_context_t* context, const char* certificate);
54
61bool tf_tls_context_set_private_key(tf_tls_context_t* context, const char* private_key);
62
69bool tf_tls_context_add_trusted_certificate(tf_tls_context_t* context, const char* certificate);
70
79
85
91
97void tf_tls_session_set_hostname(tf_tls_session_t* session, const char* hostname);
98
104
110
116
124int tf_tls_session_get_peer_certificate(tf_tls_session_t* session, char* buffer, size_t bytes);
125
132
140int tf_tls_session_read_plain(tf_tls_session_t* session, char* buffer, size_t bytes);
141
149int tf_tls_session_write_plain(tf_tls_session_t* session, const char* buffer, size_t bytes);
150
158int tf_tls_session_read_encrypted(tf_tls_session_t* session, char* buffer, size_t bytes);
159
166int tf_tls_session_write_encrypted(tf_tls_session_t* session, const char* buffer, size_t bytes);
167
175bool tf_tls_session_get_error(tf_tls_session_t* session, char* buffer, size_t bytes);
176
struct _tf_tls_context_t tf_tls_context_t
Definition: http.h:27
void tf_tls_session_shutdown(tf_tls_session_t *session)
struct _tf_tls_session_t tf_tls_session_t
Definition: tls.h:20
bool tf_tls_session_get_error(tf_tls_session_t *session, char *buffer, size_t bytes)
enum _tf_tls_handshake_t tf_tls_handshake_t
void tf_tls_session_destroy(tf_tls_session_t *session)
void tf_tls_session_set_hostname(tf_tls_session_t *session, const char *hostname)
bool tf_tls_context_add_trusted_certificate(tf_tls_context_t *context, const char *certificate)
int tf_tls_session_write_plain(tf_tls_session_t *session, const char *buffer, size_t bytes)
bool tf_tls_context_set_certificate(tf_tls_context_t *context, const char *certificate)
int tf_tls_session_read_encrypted(tf_tls_session_t *session, char *buffer, size_t bytes)
int tf_tls_session_write_encrypted(tf_tls_session_t *session, const char *buffer, size_t bytes)
bool tf_tls_context_set_private_key(tf_tls_context_t *context, const char *private_key)
int tf_tls_session_get_peer_certificate(tf_tls_session_t *session, char *buffer, size_t bytes)
tf_tls_handshake_t tf_tls_session_handshake(tf_tls_session_t *session)
int tf_tls_session_read_plain(tf_tls_session_t *session, char *buffer, size_t bytes)
void tf_tls_session_start_connect(tf_tls_session_t *session)
enum _tf_tls_read_t tf_tls_read_t
void tf_tls_session_start_accept(tf_tls_session_t *session)
_tf_tls_read_t
Definition: tls.h:36
void tf_tls_context_destroy(tf_tls_context_t *context)
tf_tls_context_t * tf_tls_context_create()
tf_tls_session_t * tf_tls_context_create_session(tf_tls_context_t *context)
_tf_tls_handshake_t
Definition: tls.h:26