lwIP 2.1.1 Lightweight IP stack

Functions
TLS layer
APIs » "raw" APIs » Application layered TCP Introduction » Application layered TCP Functions

## Functions
struct altcp_tls_config * | altcp_tls_create_config_server_privkey_cert (const u8_t *privkey, size_t privkey_len, const u8_t *privkey_pass, size_t privkey_pass_len, const u8_t *cert, size_t cert_len)
struct altcp_tls_config * | altcp_tls_create_config_client (const u8_t *cert, size_t cert_len)
struct altcp_tls_config * | altcp_tls_create_config_client_2wayauth (const u8_t *ca, size_t ca_len, const u8_t *privkey, size_t privkey_len, const u8_t *privkey_pass, size_t privkey_pass_len, const u8_t *cert, size_t cert_len)
void | altcp_tls_free_config (struct altcp_tls_config *conf)
struct altcp_pcb * | altcp_tls_wrap (struct altcp_tls_config *config, struct altcp_pcb *inner_pcb)
struct altcp_pcb * | altcp_tls_new (struct altcp_tls_config *config, u8_t ip_type)
struct altcp_pcb * | altcp_tls_alloc (void *arg, u8_t ip_type)
void * | altcp_tls_context (struct altcp_pcb *conn)

## Detailed Description

This file contains function prototypes for a TLS layer. A port to ARM mbedtls is provided in the apps/ tree (LWIP_ALTCP_TLS_MBEDTLS option).

## Function Documentation

## ◆ altcp_tls_alloc()

struct altcp_pcb* altcp_tls_alloc | ( | void * | arg,
|  | u8_t | ip_type
| ) |  |

Create new ALTCP_TLS layer pcb and its inner tcp pcb. Same as altcp_tls_new but this allocator function fits to altcp_allocator_t / altcp_new.
'arg' must contain a struct altcp_tls_config *.

This standard allocator function creates an altcp pcb for TLS over TCP

## ◆ altcp_tls_context()

void* altcp_tls_context | ( | struct altcp_pcb * | conn | ) |

Return pointer to internal TLS context so application can tweak it. Real type depends on port (e.g. mbedtls)

## ◆ altcp_tls_create_config_client()

struct altcp_tls_config* altcp_tls_create_config_client | ( | const u8_t * | cert,
|  | size_t | cert_len
| ) |  |

Create an ALTCP_TLS client configuration handle

## ◆ altcp_tls_create_config_client_2wayauth()

struct altcp_tls_config* altcp_tls_create_config_client_2wayauth | ( | const u8_t * | ca,
|  | size_t | ca_len,
|  | const u8_t * | privkey,
|  | size_t | privkey_len,
|  | const u8_t * | privkey_pass,
|  | size_t | privkey_pass_len,
|  | const u8_t * | cert,
|  | size_t | cert_len
| ) |  |

Create an ALTCP_TLS client configuration handle with two-way server/client authentication

## ◆ altcp_tls_create_config_server_privkey_cert()

struct altcp_tls_config* altcp_tls_create_config_server_privkey_cert | ( | const u8_t * | privkey,
|  | size_t | privkey_len,
|  | const u8_t * | privkey_pass,
|  | size_t | privkey_pass_len,
|  | const u8_t * | cert,
|  | size_t | cert_len
| ) |  |

Create an ALTCP_TLS server configuration handle

## ◆ altcp_tls_free_config()

void altcp_tls_free_config | ( | struct altcp_tls_config * | conf | ) |

Free an ALTCP_TLS configuration handle

## ◆ altcp_tls_new()

struct altcp_pcb* altcp_tls_new | ( | struct altcp_tls_config * | config,
|  | u8_t | ip_type
| ) |  |

Create new ALTCP_TLS pcb and its inner tcp pcb

This standard allocator function creates an altcp pcb for TLS over TCP

## ◆ altcp_tls_wrap()

struct altcp_pcb* altcp_tls_wrap | ( | struct altcp_tls_config * | config,
|  | struct altcp_pcb * | inner_pcb
| ) |  |

Create new ALTCP_TLS layer wrapping an existing pcb as inner connection (e.g. TLS over TCP)