| 
Functions | 
| void | disposable_new (SSL *ssl) | 
|  | Create a blob of memory that we'll get rid of once the handshake is complete. 
 | 
| void | disposable_free (SSL *ssl) | 
|  | Remove the temporary blob of memory. 
 | 
| int | send_packet (SSL *ssl, uint8_t protocol, const uint8_t *in, int length) | 
|  | Send an encrypted packet with padding bytes if necessary. 
 | 
| int | process_finished (SSL *ssl, uint8_t *buf, int hs_len) | 
|  | Process a client finished message. 
 | 
| int | send_alert (SSL *ssl, int error_code) | 
|  | Send an alert message. 
 | 
| int | send_finished (SSL *ssl) | 
|  | Send a "finished" message. 
 | 
| int | send_certificate (SSL *ssl) | 
|  | Send a certificate. 
 | 
| int | basic_read2 (SSL *ssl, uint8_t *data, uint32_t length) | 
|  | Blocking read data must be valid buffer of size length at least length. 
 | 
| int | send_change_cipher_spec (SSL *ssl) | 
|  | Sends the change cipher spec message. 
 | 
| void | finished_digest (SSL *ssl, const char *label, uint8_t *digest) | 
|  | Calculate the digest used in the finished message. 
 | 
| void | generate_master_secret (SSL *ssl, const uint8_t *premaster_secret) | 
|  | Generate a master secret based on the client/server random data and the premaster secret. 
 | 
| void | add_packet (SSL *ssl, const uint8_t *pkt, int len) | 
|  | Add a packet to the end of our sent and received packets, so that we may use it to calculate the hash at the end. 
 | 
| int | add_cert (SSL_CTX *ssl_ctx, const uint8_t *buf, int len) | 
|  | Add a certificate to the certificate chain. 
 | 
| int | load_key_certs (SSL_CTX *ssl_ctx) | 
|  | Load the key/certificates in memory depending on compile-time and user options. 
 | 
| int | add_cert_auth (SSL_CTX *ssl_ctx, const uint8_t *buf, int len) | 
|  | Add a certificate authority. 
 | 
| void | remove_ca_certs (CA_CERT_CTX *ca_cert_ctx) | 
|  | Clean up all of the CA certificates. 
 | 
| void | DISPLAY_STATE (SSL *ssl, int is_send, uint8_t state, int not_ok) | 
|  | Debugging routine to display SSL handshaking stuff. 
 | 
| void | DISPLAY_BYTES (SSL *ssl, const char *format, const uint8_t *data, int size,...) | 
|  | Debugging routine to display SSL handshaking bytes. 
 | 
| void | DISPLAY_RSA (SSL *ssl, const RSA_CTX *rsa_ctx) | 
|  | Debugging routine to display RSA objects. 
 | 
| void | DISPLAY_ALERT (SSL *ssl, int alert) | 
|  | Debugging routine to display alerts. 
 | 
| int | process_certificate (SSL *ssl, X509_CTX **x509_ctx) | 
|  | Process a certificate message. 
 | 
| SSL_SESSION * | ssl_session_update (int max_sessions, SSL_SESSION *ssl_sessions[], SSL *ssl, const uint8_t *session_id) | 
|  | Find if an existing session has the same session id. 
 | 
| void | kill_ssl_session (SSL_SESSION **ssl_sessions, SSL *ssl) | 
|  | This ssl object doesn't want this session anymore. 
 | 
| 
Variables | 
| const uint8_t | ssl_prot_prefs [NUM_PROTOCOLS] | 
|  | The server will pick the cipher based on the order that the order that the ciphers are listed. 
 |