Current section
Files
Jump to
Current section
Files
c_src/ex_dtls/_generated/cnode/native.h
#pragma once
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// required for ei.h to work
#ifndef _REENTRANT
#define _REENTRANT
#endif
#include <ei.h>
#include <ei_connect.h>
#include "../../native.h"
#include <unifex/cnode.h>
#include <unifex/payload.h>
#include <unifex/unifex.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef State UnifexState;
UnifexState *unifex_alloc_state(UnifexEnv *env);
void unifex_release_state(UnifexEnv *env, UnifexState *state);
void handle_destroy_state(UnifexEnv *env, UnifexState *state);
UNIFEX_TERM init(UnifexEnv *env, int client_mode, int dtls_srtp);
UNIFEX_TERM init_from_key_cert(UnifexEnv *env, int client_mode, int dtls_srtp,
UnifexPayload *pkey, UnifexPayload *cert);
UNIFEX_TERM generate_cert(UnifexEnv *env);
UNIFEX_TERM get_pkey(UnifexEnv *env, UnifexState *state);
UNIFEX_TERM get_cert(UnifexEnv *env, UnifexState *state);
UNIFEX_TERM get_cert_fingerprint(UnifexEnv *env, UnifexState *state);
UNIFEX_TERM do_handshake(UnifexEnv *env, UnifexState *state);
UNIFEX_TERM process(UnifexEnv *env, UnifexState *state, UnifexPayload *packets);
UNIFEX_TERM init_result_ok(UnifexEnv *env, UnifexState *state);
UNIFEX_TERM init_from_key_cert_result_ok(UnifexEnv *env, UnifexState *state);
UNIFEX_TERM generate_cert_result_ok(UnifexEnv *env, UnifexPayload *cert);
UNIFEX_TERM get_pkey_result_ok(UnifexEnv *env, UnifexPayload *pkey);
UNIFEX_TERM get_cert_result_ok(UnifexEnv *env, UnifexPayload *cert);
UNIFEX_TERM get_cert_fingerprint_result_ok(UnifexEnv *env, UnifexState *state,
UnifexPayload *fingerprint);
UNIFEX_TERM do_handshake_result_ok(UnifexEnv *env, UnifexState *state,
UnifexPayload *packets);
UNIFEX_TERM process_result_ok(UnifexEnv *env, UnifexState *state,
UnifexPayload *packets);
UNIFEX_TERM process_result_hsk_want_read(UnifexEnv *env);
UNIFEX_TERM process_result_hsk_packets(UnifexEnv *env, UnifexState *state,
UnifexPayload *packets);
UNIFEX_TERM process_result_hsk_finished(UnifexEnv *env, UnifexState *state,
UnifexPayload *client_keying_material,
UnifexPayload *server_keying_material,
int protection_profile,
UnifexPayload *packets);
UNIFEX_TERM
process_result_connection_closed_peer_closed_for_writing(UnifexEnv *env);
UNIFEX_TERM init_caller(UnifexEnv *env, UnifexCNodeInBuff *in_buff);
UNIFEX_TERM init_from_key_cert_caller(UnifexEnv *env,
UnifexCNodeInBuff *in_buff);
UNIFEX_TERM generate_cert_caller(UnifexEnv *env, UnifexCNodeInBuff *in_buff);
UNIFEX_TERM get_pkey_caller(UnifexEnv *env, UnifexCNodeInBuff *in_buff);
UNIFEX_TERM get_cert_caller(UnifexEnv *env, UnifexCNodeInBuff *in_buff);
UNIFEX_TERM get_cert_fingerprint_caller(UnifexEnv *env,
UnifexCNodeInBuff *in_buff);
UNIFEX_TERM do_handshake_caller(UnifexEnv *env, UnifexCNodeInBuff *in_buff);
UNIFEX_TERM process_caller(UnifexEnv *env, UnifexCNodeInBuff *in_buff);
int unifex_cnode_main_function(int argc, char **argv);
#ifdef __cplusplus
}
#endif