Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 9075 → Rev 9076

/programs/develop/libraries/kos_mbedtls/test_kos_images/about_image.md
File deleted
\ No newline at end of file
/programs/develop/libraries/kos_mbedtls/test_kos_images/kolibri.img
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/programs/develop/libraries/kos_mbedtls/howto.md
File deleted
\ No newline at end of file
/programs/develop/libraries/kos_mbedtls/README.md
File deleted
/programs/develop/libraries/kos_mbedtls/kosnet/dlfcn.c
File deleted
/programs/develop/libraries/kos_mbedtls/kosnet/socket.c
File deleted
\ No newline at end of file
/programs/develop/libraries/kos_mbedtls/kosnet/network.c
File deleted
\ No newline at end of file
/programs/develop/libraries/kos_mbedtls/kosnet/Makefile
File deleted
/programs/develop/libraries/kos_mbedtls/kosnet/sample/run_img.bat
File deleted
\ No newline at end of file
/programs/develop/libraries/kos_mbedtls/kosnet/sample/Makefile
File deleted
\ No newline at end of file
/programs/develop/libraries/kos_mbedtls/kosnet/sample/libkosnet_demo
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/programs/develop/libraries/kos_mbedtls/kosnet/sample/libkosnet_demo.c
File deleted
\ No newline at end of file
/programs/develop/libraries/kos_mbedtls/kosnet/include/kosnet/dlfcn.h
File deleted
\ No newline at end of file
/programs/develop/libraries/kos_mbedtls/kosnet/include/kosnet/socket.h
File deleted
/programs/develop/libraries/kos_mbedtls/kosnet/include/kosnet/network.h
File deleted
/programs/develop/libraries/kos_mbedtls/kosnet/include/kosnet/kos32sys1.h
File deleted
/programs/develop/libraries/kos_mbedtls/include/CMakeLists.txt
File deleted
/programs/develop/libraries/kos_mbedtls/library/.gitignore
File deleted
/programs/develop/libraries/kos_mbedtls/library/CMakeLists.txt
File deleted
/programs/develop/libraries/kos_mbedtls/library/Makefile
1,29 → 1,13
# Also see "include/mbedtls/config.h"
 
NEWLIB_INCLUDES=D:\KOSSDK\newlib\libc\include
KOSNET_INCLUDES=../kosnet/include
 
CC = kos32-gcc
AR = kos32-ar
FASM = fasm
CLINK= ../../../clink/clink
 
CFLAGS ?= -O2
WARNING_CFLAGS ?= -Wall -W -Wdeclaration-after-statement
LDFLAGS ?=
KLIBC_DIR = ../../../ktcc/trunk/libc.obj
 
LOCAL_CFLAGS = $(WARNING_CFLAGS) -I $(NEWLIB_INCLUDES) -I../include -I $(KOSNET_INCLUDES) -D_FILE_OFFSET_BITS=64
LOCAL_LDFLAGS =
CFLAGS = -c -nostdinc -I../include -DGNUC -fno-common -Os -fno-delete-null-pointer-checks -fno-ident -fno-builtin -fno-leading-underscore -D__TINYC__ -D_FILE_OFFSET_BITS=64
 
ifdef DEBUG
LOCAL_CFLAGS += -g3
endif
INCLUDES = -I../include -I.. -I$(KLIBC_DIR)/include
 
# Set AR_DASH= (empty string) to use an ar implementation that does not accept
# the - prefix for command line options (e.g. llvm-ar)
AR_DASH ?= -
 
ARFLAGS = $(AR_DASH)src
 
 
OBJS_CRYPTO= aes.o aesni.o arc4.o \
aria.o asn1parse.o asn1write.o \
base64.o bignum.o blowfish.o \
57,36 → 41,25
ssl_srv.o ssl_ticket.o \
ssl_tls.o
 
.SILENT:
OBJS_OTHER = libtcc/libtcc1.o libtcc/memmove.o \
libtcc/memset.o libtcc/memcpy.o \
libtcc/___chkstk_ms.o \
mbedtls_init.o \
export.o
 
.PHONY: all static clean
all: $(OBJS_CRYPTO) $(OBJS_TLS) $(OBJS_X509) $(OBJS_OTHER)
ar -crs libmbedtls.a $(OBJS_CRYPTO) $(OBJS_TLS) $(OBJS_X509) $(OBJS_OTHER)
$(CLINK) $(OBJS_CRYPTO) $(OBJS_TLS) $(OBJS_X509) $(OBJS_OTHER) > clink.log
mv -f a.out.obj mbedtls.obj
strip --strip-unneeded -x mbedtls.obj
kpack mbedtls.obj
cp -f mbedtls.obj /home/max/.kex/root/RD/1/LIB
 
all: static
%.o : %.c Makefile
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
 
static: libmbedcrypto.a libmbedx509.a libmbedtls.a
%.o : %.asm Makefile
$(FASM) $< $@
 
# tls
libmbedtls.a: $(OBJS_TLS)
echo " AR $@"
$(AR) $(ARFLAGS) $@ $(OBJS_TLS)
 
# x509
libmbedx509.a: $(OBJS_X509)
echo " AR $@"
$(AR) $(ARFLAGS) $@ $(OBJS_X509)
 
# crypto
libmbedcrypto.a: $(OBJS_CRYPTO)
echo " AR $@"
$(AR) $(ARFLAGS) $@ $(OBJS_CRYPTO)
 
.c.o:
echo " CC $<"
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c $<
 
clean:
ifndef WINDOWS
rm -f *.o libmbed*
else
del /Q /F *.o libmbed*
endif
rm -f $(OBJS_CRYPTO) $(OBJS_TLS) $(OBJS_X509) $(OBJS_LIBC) $(OBJS_OTHER)
/programs/develop/libraries/kos_mbedtls/library/export.asm
0,0 → 1,1514
format coff
use32
 
public @EXPORT as 'EXPORTS'
 
section '.text'
 
include '../../../../proc32.inc'
include '../../../../macros.inc'
include '../../../../debug-fdo.inc'
include '../../../../dll.inc'
 
extrn mbedtls_aes_crypt_cbc
extrn mbedtls_aes_crypt_cfb128
extrn mbedtls_aes_crypt_cfb8
extrn mbedtls_aes_crypt_ctr
extrn mbedtls_aes_crypt_ecb
extrn mbedtls_aes_crypt_ofb
extrn mbedtls_aes_crypt_xts
extrn mbedtls_aes_decrypt
extrn mbedtls_aes_encrypt
extrn mbedtls_aes_free
extrn mbedtls_aes_init
extrn mbedtls_aes_self_test
extrn mbedtls_aes_setkey_dec
extrn mbedtls_aes_setkey_enc
extrn mbedtls_aes_xts_free
extrn mbedtls_aes_xts_init
extrn mbedtls_aes_xts_setkey_dec
extrn mbedtls_aes_xts_setkey_enc
extrn mbedtls_arc4_crypt
extrn mbedtls_arc4_free
extrn mbedtls_arc4_init
extrn mbedtls_arc4_self_test
extrn mbedtls_arc4_setup
extrn mbedtls_asn1_find_named_data
extrn mbedtls_asn1_free_named_data
extrn mbedtls_asn1_free_named_data_list
extrn mbedtls_asn1_get_alg
extrn mbedtls_asn1_get_alg_null
extrn mbedtls_asn1_get_bitstring
extrn mbedtls_asn1_get_bitstring_null
extrn mbedtls_asn1_get_bool
extrn mbedtls_asn1_get_int
extrn mbedtls_asn1_get_len
extrn mbedtls_asn1_get_mpi
extrn mbedtls_asn1_get_sequence_of
extrn mbedtls_asn1_get_tag
extrn mbedtls_asn1_store_named_data
extrn mbedtls_asn1_write_algorithm_identifier
extrn mbedtls_asn1_write_bitstring
extrn mbedtls_asn1_write_bool
extrn mbedtls_asn1_write_ia5_string
extrn mbedtls_asn1_write_int
extrn mbedtls_asn1_write_len
extrn mbedtls_asn1_write_mpi
extrn mbedtls_asn1_write_null
extrn mbedtls_asn1_write_octet_string
extrn mbedtls_asn1_write_oid
extrn mbedtls_asn1_write_printable_string
extrn mbedtls_asn1_write_raw_buffer
extrn mbedtls_asn1_write_tag
extrn mbedtls_asn1_write_tagged_string
extrn mbedtls_asn1_write_utf8_string
extrn mbedtls_base64_decode
extrn mbedtls_base64_encode
extrn mbedtls_base64_self_test
extrn mbedtls_blowfish_crypt_cbc
extrn mbedtls_blowfish_crypt_cfb64
extrn mbedtls_blowfish_crypt_ctr
extrn mbedtls_blowfish_crypt_ecb
extrn mbedtls_blowfish_free
extrn mbedtls_blowfish_init
extrn mbedtls_blowfish_setkey
extrn mbedtls_camellia_crypt_cbc
extrn mbedtls_camellia_crypt_cfb128
extrn mbedtls_camellia_crypt_ctr
extrn mbedtls_camellia_crypt_ecb
extrn mbedtls_camellia_free
extrn mbedtls_camellia_init
extrn mbedtls_camellia_self_test
extrn mbedtls_camellia_setkey_dec
extrn mbedtls_camellia_setkey_enc
extrn mbedtls_ccm_auth_decrypt
extrn mbedtls_ccm_encrypt_and_tag
extrn mbedtls_ccm_free
extrn mbedtls_ccm_init
extrn mbedtls_ccm_self_test
extrn mbedtls_ccm_setkey
extrn mbedtls_ccm_star_auth_decrypt
extrn mbedtls_ccm_star_encrypt_and_tag
extrn mbedtls_chacha20_crypt
extrn mbedtls_chacha20_free
extrn mbedtls_chacha20_init
extrn mbedtls_chacha20_self_test
extrn mbedtls_chacha20_setkey
extrn mbedtls_chacha20_starts
extrn mbedtls_chacha20_update
extrn mbedtls_chachapoly_auth_decrypt
extrn mbedtls_chachapoly_encrypt_and_tag
extrn mbedtls_chachapoly_finish
extrn mbedtls_chachapoly_free
extrn mbedtls_chachapoly_init
extrn mbedtls_chachapoly_self_test
extrn mbedtls_chachapoly_setkey
extrn mbedtls_chachapoly_starts
extrn mbedtls_chachapoly_update
extrn mbedtls_chachapoly_update_aad
extrn mbedtls_cipher_auth_decrypt
extrn mbedtls_cipher_auth_encrypt
extrn mbedtls_cipher_check_tag
extrn mbedtls_cipher_crypt
extrn mbedtls_cipher_finish
extrn mbedtls_cipher_free
extrn mbedtls_cipher_info_from_string
extrn mbedtls_cipher_info_from_type
extrn mbedtls_cipher_info_from_values
extrn mbedtls_cipher_init
extrn mbedtls_cipher_list
extrn mbedtls_cipher_reset
extrn mbedtls_cipher_set_iv
extrn mbedtls_cipher_setkey
extrn mbedtls_cipher_set_padding_mode
extrn mbedtls_cipher_setup
extrn mbedtls_cipher_update
extrn mbedtls_cipher_update_ad
extrn mbedtls_cipher_write_tag
extrn mbedtls_ctr_drbg_free
extrn mbedtls_ctr_drbg_init
extrn mbedtls_ctr_drbg_random
extrn mbedtls_ctr_drbg_random_with_add
extrn mbedtls_ctr_drbg_reseed
extrn mbedtls_ctr_drbg_seed
extrn mbedtls_ctr_drbg_seed_entropy_len
extrn mbedtls_ctr_drbg_self_test
extrn mbedtls_ctr_drbg_set_entropy_len
extrn mbedtls_ctr_drbg_set_prediction_resistance
extrn mbedtls_ctr_drbg_set_reseed_interval
extrn mbedtls_ctr_drbg_update
extrn mbedtls_ctr_drbg_update_ret
extrn mbedtls_debug_print_buf
extrn mbedtls_debug_print_crt
extrn mbedtls_debug_print_ecp
extrn mbedtls_debug_printf_ecdh
extrn mbedtls_debug_print_mpi
extrn mbedtls_debug_print_msg
extrn mbedtls_debug_print_ret
extrn mbedtls_debug_set_threshold
extrn mbedtls_des3_crypt_cbc
extrn mbedtls_des3_crypt_ecb
extrn mbedtls_des3_free
extrn mbedtls_des3_init
extrn mbedtls_des3_set2key_dec
extrn mbedtls_des3_set2key_enc
extrn mbedtls_des3_set3key_dec
extrn mbedtls_des3_set3key_enc
extrn mbedtls_des_crypt_cbc
extrn mbedtls_des_crypt_ecb
extrn mbedtls_des_free
extrn mbedtls_des_init
extrn mbedtls_des_key_check_key_parity
extrn mbedtls_des_key_check_weak
extrn mbedtls_des_key_set_parity
extrn mbedtls_des_self_test
extrn mbedtls_des_setkey
extrn mbedtls_des_setkey_dec
extrn mbedtls_des_setkey_enc
extrn mbedtls_dhm_calc_secret
extrn mbedtls_dhm_free
extrn mbedtls_dhm_init
extrn mbedtls_dhm_make_params
extrn mbedtls_dhm_make_public
extrn mbedtls_dhm_parse_dhm
extrn mbedtls_dhm_read_params
extrn mbedtls_dhm_read_public
extrn mbedtls_dhm_self_test
extrn mbedtls_dhm_set_group
extrn mbedtls_ecdh_calc_secret
extrn mbedtls_ecdh_compute_shared
extrn mbedtls_ecdh_free
extrn mbedtls_ecdh_gen_public
extrn mbedtls_ecdh_get_params
extrn mbedtls_ecdh_init
extrn mbedtls_ecdh_make_params
extrn mbedtls_ecdh_make_public
extrn mbedtls_ecdh_read_params
extrn mbedtls_ecdh_read_public
extrn mbedtls_ecdh_setup
extrn mbedtls_ecdsa_free
extrn mbedtls_ecdsa_from_keypair
extrn mbedtls_ecdsa_genkey
extrn mbedtls_ecdsa_init
extrn mbedtls_ecdsa_read_signature
extrn mbedtls_ecdsa_read_signature_restartable
extrn mbedtls_ecdsa_sign
extrn mbedtls_ecdsa_sign_det
extrn mbedtls_ecdsa_sign_det_ext
extrn mbedtls_ecdsa_verify
extrn mbedtls_ecdsa_write_signature
extrn mbedtls_ecdsa_write_signature_det
extrn mbedtls_ecdsa_write_signature_restartable
extrn mbedtls_ecp_check_privkey
extrn mbedtls_ecp_check_pubkey
extrn mbedtls_ecp_check_pub_priv
extrn mbedtls_ecp_copy
extrn mbedtls_ecp_curve_info_from_grp_id
extrn mbedtls_ecp_curve_info_from_name
extrn mbedtls_ecp_curve_info_from_tls_id
extrn mbedtls_ecp_curve_list
extrn mbedtls_ecp_gen_key
extrn mbedtls_ecp_gen_keypair
extrn mbedtls_ecp_gen_keypair_base
extrn mbedtls_ecp_gen_privkey
extrn mbedtls_ecp_group_copy
extrn mbedtls_ecp_group_free
extrn mbedtls_ecp_group_init
extrn mbedtls_ecp_group_load
extrn mbedtls_ecp_grp_id_list
extrn mbedtls_ecp_is_zero
extrn mbedtls_ecp_keypair_free
extrn mbedtls_ecp_keypair_init
extrn mbedtls_ecp_mul
extrn mbedtls_ecp_muladd
extrn mbedtls_ecp_muladd_restartable
extrn mbedtls_ecp_mul_restartable
extrn mbedtls_ecp_point_cmp
extrn mbedtls_ecp_point_free
extrn mbedtls_ecp_point_init
extrn mbedtls_ecp_point_read_binary
extrn mbedtls_ecp_point_read_string
extrn mbedtls_ecp_point_write_binary
extrn mbedtls_ecp_self_test
extrn mbedtls_ecp_set_zero
extrn mbedtls_ecp_tls_read_group
extrn mbedtls_ecp_tls_read_group_id
extrn mbedtls_ecp_tls_read_point
extrn mbedtls_ecp_tls_write_group
extrn mbedtls_ecp_tls_write_point
extrn mbedtls_entropy_add_source
extrn mbedtls_entropy_free
extrn mbedtls_entropy_func
extrn mbedtls_entropy_gather
extrn mbedtls_entropy_init
extrn mbedtls_entropy_self_test
extrn mbedtls_entropy_update_manual
extrn mbedtls_gcm_auth_decrypt
extrn mbedtls_gcm_crypt_and_tag
extrn mbedtls_gcm_finish
extrn mbedtls_gcm_free
extrn mbedtls_gcm_init
extrn mbedtls_gcm_self_test
extrn mbedtls_gcm_setkey
extrn mbedtls_gcm_starts
extrn mbedtls_gcm_update
extrn mbedtls_hkdf
extrn mbedtls_hkdf_expand
extrn mbedtls_hkdf_extract
extrn mbedtls_hmac_drbg_free
extrn mbedtls_hmac_drbg_init
extrn mbedtls_hmac_drbg_random
extrn mbedtls_hmac_drbg_random_with_add
extrn mbedtls_hmac_drbg_reseed
extrn mbedtls_hmac_drbg_seed
extrn mbedtls_hmac_drbg_seed_buf
extrn mbedtls_hmac_drbg_self_test
extrn mbedtls_hmac_drbg_set_entropy_len
extrn mbedtls_hmac_drbg_set_prediction_resistance
extrn mbedtls_hmac_drbg_set_reseed_interval
extrn mbedtls_hmac_drbg_update
extrn mbedtls_hmac_drbg_update_ret
extrn mbedtls_init
extrn mbedtls_internal_aes_decrypt
extrn mbedtls_internal_aes_encrypt
extrn mbedtls_internal_md5_process
extrn mbedtls_internal_ripemd160_process
extrn mbedtls_internal_sha1_process
extrn mbedtls_internal_sha256_process
extrn mbedtls_internal_sha512_process
extrn mbedtls_md
extrn mbedtls_md5
extrn mbedtls_md5_clone
extrn mbedtls_md5_finish
extrn mbedtls_md5_finish_ret
extrn mbedtls_md5_free
extrn mbedtls_md5_init
extrn mbedtls_md5_process
extrn mbedtls_md5_ret
extrn mbedtls_md5_self_test
extrn mbedtls_md5_starts
extrn mbedtls_md5_starts_ret
extrn mbedtls_md5_update
extrn mbedtls_md5_update_ret
extrn mbedtls_md_clone
extrn mbedtls_md_finish
extrn mbedtls_md_free
extrn mbedtls_md_get_name
extrn mbedtls_md_get_size
extrn mbedtls_md_get_type
extrn mbedtls_md_hmac
extrn mbedtls_md_hmac_finish
extrn mbedtls_md_hmac_reset
extrn mbedtls_md_hmac_starts
extrn mbedtls_md_hmac_update
extrn mbedtls_md_info_from_string
extrn mbedtls_md_info_from_type
extrn mbedtls_md_init
extrn mbedtls_md_init_ctx
extrn mbedtls_md_list
extrn mbedtls_md_process
extrn mbedtls_md_setup
extrn mbedtls_md_starts
extrn mbedtls_md_update
extrn mbedtls_mpi_add_abs
extrn mbedtls_mpi_add_int
extrn mbedtls_mpi_add_mpi
extrn mbedtls_mpi_bitlen
extrn mbedtls_mpi_cmp_abs
extrn mbedtls_mpi_cmp_int
extrn mbedtls_mpi_cmp_mpi
extrn mbedtls_mpi_copy
extrn mbedtls_mpi_div_int
extrn mbedtls_mpi_div_mpi
extrn mbedtls_mpi_exp_mod
extrn mbedtls_mpi_fill_random
extrn mbedtls_mpi_free
extrn mbedtls_mpi_gcd
extrn mbedtls_mpi_gen_prime
extrn mbedtls_mpi_get_bit
extrn mbedtls_mpi_grow
extrn mbedtls_mpi_init
extrn mbedtls_mpi_inv_mod
extrn mbedtls_mpi_is_prime
extrn mbedtls_mpi_is_prime_ext
extrn mbedtls_mpi_lsb
extrn mbedtls_mpi_lset
extrn mbedtls_mpi_lt_mpi_ct
extrn mbedtls_mpi_mod_int
extrn mbedtls_mpi_mod_mpi
extrn mbedtls_mpi_mul_int
extrn mbedtls_mpi_mul_mpi
extrn mbedtls_mpi_read_binary
extrn mbedtls_mpi_read_string
extrn mbedtls_mpi_safe_cond_assign
extrn mbedtls_mpi_safe_cond_swap
extrn mbedtls_mpi_self_test
extrn mbedtls_mpi_set_bit
extrn mbedtls_mpi_shift_l
extrn mbedtls_mpi_shift_r
extrn mbedtls_mpi_shrink
extrn mbedtls_mpi_size
extrn mbedtls_mpi_sub_abs
extrn mbedtls_mpi_sub_int
extrn mbedtls_mpi_sub_mpi
extrn mbedtls_mpi_swap
extrn mbedtls_mpi_write_binary
extrn mbedtls_mpi_write_string
extrn mbedtls_net_connect
extrn mbedtls_net_free
extrn mbedtls_net_init
extrn mbedtls_net_recv
extrn mbedtls_net_send
extrn mbedtls_oid_get_attr_short_name
extrn mbedtls_oid_get_cipher_alg
extrn mbedtls_oid_get_ec_grp
extrn mbedtls_oid_get_extended_key_usage
extrn mbedtls_oid_get_md_alg
extrn mbedtls_oid_get_md_hmac
extrn mbedtls_oid_get_numeric_string
extrn mbedtls_oid_get_oid_by_ec_grp
extrn mbedtls_oid_get_oid_by_md
extrn mbedtls_oid_get_oid_by_pk_alg
extrn mbedtls_oid_get_oid_by_sig_alg
extrn mbedtls_oid_get_pk_alg
extrn mbedtls_oid_get_pkcs12_pbe_alg
extrn mbedtls_oid_get_sig_alg
extrn mbedtls_oid_get_sig_alg_desc
extrn mbedtls_oid_get_x509_ext_type
extrn mbedtls_padlock_has_support
extrn mbedtls_padlock_xcryptcbc
extrn mbedtls_padlock_xcryptecb
extrn mbedtls_pem_free
extrn mbedtls_pem_init
extrn mbedtls_pem_read_buffer
extrn mbedtls_pem_write_buffer
extrn mbedtls_pk_can_do
extrn mbedtls_pk_check_pair
extrn mbedtls_pkcs12_derivation
extrn mbedtls_pkcs12_pbe
extrn mbedtls_pkcs12_pbe_sha1_rc4_128
extrn mbedtls_pkcs5_pbes2
extrn mbedtls_pkcs5_pbkdf2_hmac
extrn mbedtls_pkcs5_self_test
extrn mbedtls_pk_debug
extrn mbedtls_pk_decrypt
extrn mbedtls_pk_encrypt
extrn mbedtls_pk_free
extrn mbedtls_pk_get_bitlen
extrn mbedtls_pk_get_name
extrn mbedtls_pk_get_type
extrn mbedtls_pk_info_from_type
extrn mbedtls_pk_init
extrn mbedtls_pk_parse_key
extrn mbedtls_pk_parse_public_key
extrn mbedtls_pk_parse_subpubkey
extrn mbedtls_pk_setup
extrn mbedtls_pk_setup_rsa_alt
extrn mbedtls_pk_sign
extrn mbedtls_pk_sign_restartable
extrn mbedtls_pk_verify
extrn mbedtls_pk_verify_ext
extrn mbedtls_pk_verify_restartable
extrn mbedtls_pk_write_key_der
extrn mbedtls_pk_write_key_pem
extrn mbedtls_pk_write_pubkey
extrn mbedtls_pk_write_pubkey_der
extrn mbedtls_pk_write_pubkey_pem
extrn mbedtls_platform_gmtime_r
extrn mbedtls_platform_setup
extrn mbedtls_platform_teardown
extrn mbedtls_platform_zeroize
extrn mbedtls_poly1305_finish
extrn mbedtls_poly1305_free
extrn mbedtls_poly1305_init
extrn mbedtls_poly1305_mac
extrn mbedtls_poly1305_self_test
extrn mbedtls_poly1305_starts
extrn mbedtls_poly1305_update
extrn mbedtls_ripemd160
extrn mbedtls_ripemd160_clone
extrn mbedtls_ripemd160_finish
extrn mbedtls_ripemd160_finish_ret
extrn mbedtls_ripemd160_free
extrn mbedtls_ripemd160_init
extrn mbedtls_ripemd160_process
extrn mbedtls_ripemd160_ret
extrn mbedtls_ripemd160_self_test
extrn mbedtls_ripemd160_starts
extrn mbedtls_ripemd160_starts_ret
extrn mbedtls_ripemd160_update
extrn mbedtls_ripemd160_update_ret
extrn mbedtls_rsa_check_privkey
extrn mbedtls_rsa_check_pubkey
extrn mbedtls_rsa_check_pub_priv
extrn mbedtls_rsa_complete
extrn mbedtls_rsa_copy
extrn mbedtls_rsa_deduce_crt
extrn mbedtls_rsa_deduce_primes
extrn mbedtls_rsa_deduce_private_exponent
extrn mbedtls_rsa_export
extrn mbedtls_rsa_export_crt
extrn mbedtls_rsa_export_raw
extrn mbedtls_rsa_free
extrn mbedtls_rsa_gen_key
extrn mbedtls_rsa_get_len
extrn mbedtls_rsa_import
extrn mbedtls_rsa_import_raw
extrn mbedtls_rsa_init
extrn mbedtls_rsa_pkcs1_decrypt
extrn mbedtls_rsa_pkcs1_encrypt
extrn mbedtls_rsa_pkcs1_sign
extrn mbedtls_rsa_pkcs1_verify
extrn mbedtls_rsa_private
extrn mbedtls_rsa_public
extrn mbedtls_rsa_rsaes_oaep_decrypt
extrn mbedtls_rsa_rsaes_oaep_encrypt
extrn mbedtls_rsa_rsaes_pkcs1_v15_decrypt
extrn mbedtls_rsa_rsaes_pkcs1_v15_encrypt
extrn mbedtls_rsa_rsassa_pkcs1_v15_sign
extrn mbedtls_rsa_rsassa_pkcs1_v15_verify
extrn mbedtls_rsa_rsassa_pss_sign
extrn mbedtls_rsa_rsassa_pss_verify
extrn mbedtls_rsa_rsassa_pss_verify_ext
extrn mbedtls_rsa_self_test
extrn mbedtls_rsa_set_padding
extrn mbedtls_rsa_validate_crt
extrn mbedtls_rsa_validate_params
extrn mbedtls_sha1
extrn mbedtls_sha1_clone
extrn mbedtls_sha1_finish
extrn mbedtls_sha1_finish_ret
extrn mbedtls_sha1_free
extrn mbedtls_sha1_init
extrn mbedtls_sha1_process
extrn mbedtls_sha1_ret
extrn mbedtls_sha1_self_test
extrn mbedtls_sha1_starts
extrn mbedtls_sha1_starts_ret
extrn mbedtls_sha1_update
extrn mbedtls_sha1_update_ret
extrn mbedtls_sha256
extrn mbedtls_sha256_clone
extrn mbedtls_sha256_finish
extrn mbedtls_sha256_finish_ret
extrn mbedtls_sha256_free
extrn mbedtls_sha256_init
extrn mbedtls_sha256_process
extrn mbedtls_sha256_ret
extrn mbedtls_sha256_self_test
extrn mbedtls_sha256_starts
extrn mbedtls_sha256_starts_ret
extrn mbedtls_sha256_update
extrn mbedtls_sha256_update_ret
extrn mbedtls_sha512
extrn mbedtls_sha512_clone
extrn mbedtls_sha512_finish
extrn mbedtls_sha512_finish_ret
extrn mbedtls_sha512_free
extrn mbedtls_sha512_init
extrn mbedtls_sha512_process
extrn mbedtls_sha512_ret
extrn mbedtls_sha512_self_test
extrn mbedtls_sha512_starts
extrn mbedtls_sha512_starts_ret
extrn mbedtls_sha512_update
extrn mbedtls_sha512_update_ret
extrn mbedtls_ssl_cache_free
extrn mbedtls_ssl_cache_get
extrn mbedtls_ssl_cache_init
extrn mbedtls_ssl_cache_set
extrn mbedtls_ssl_cache_set_max_entries
extrn mbedtls_ssl_cache_set_timeout
extrn mbedtls_ssl_check_cert_usage
extrn mbedtls_ssl_check_curve
extrn mbedtls_ssl_check_pending
extrn mbedtls_ssl_check_sig_hash
extrn mbedtls_ssl_ciphersuite_from_id
extrn mbedtls_ssl_ciphersuite_from_string
extrn mbedtls_ssl_ciphersuite_uses_ec
extrn mbedtls_ssl_ciphersuite_uses_psk
extrn mbedtls_ssl_close_notify
extrn mbedtls_ssl_conf_alpn_protocols
extrn mbedtls_ssl_conf_arc4_support
extrn mbedtls_ssl_conf_authmode
extrn mbedtls_ssl_conf_ca_chain
extrn mbedtls_ssl_conf_cbc_record_splitting
extrn mbedtls_ssl_conf_cert_profile
extrn mbedtls_ssl_conf_cert_req_ca_list
extrn mbedtls_ssl_conf_ciphersuites
extrn mbedtls_ssl_conf_ciphersuites_for_version
extrn mbedtls_ssl_conf_curves
extrn mbedtls_ssl_conf_dbg
extrn mbedtls_ssl_conf_dhm_min_bitlen
extrn mbedtls_ssl_conf_dh_param
extrn mbedtls_ssl_conf_dh_param_bin
extrn mbedtls_ssl_conf_dh_param_ctx
extrn mbedtls_ssl_conf_dtls_anti_replay
extrn mbedtls_ssl_conf_dtls_badmac_limit
extrn mbedtls_ssl_conf_dtls_cookies
extrn mbedtls_ssl_conf_encrypt_then_mac
extrn mbedtls_ssl_conf_endpoint
extrn mbedtls_ssl_conf_export_keys_cb
extrn mbedtls_ssl_conf_extended_master_secret
extrn mbedtls_ssl_conf_fallback
extrn mbedtls_ssl_conf_handshake_timeout
extrn mbedtls_ssl_config_defaults
extrn mbedtls_ssl_config_free
extrn mbedtls_ssl_config_init
extrn mbedtls_ssl_conf_legacy_renegotiation
extrn mbedtls_ssl_conf_max_frag_len
extrn mbedtls_ssl_conf_max_version
extrn mbedtls_ssl_conf_min_version
extrn mbedtls_ssl_conf_own_cert
extrn mbedtls_ssl_conf_psk
extrn mbedtls_ssl_conf_psk_cb
extrn mbedtls_ssl_conf_read_timeout
extrn mbedtls_ssl_conf_renegotiation
extrn mbedtls_ssl_conf_renegotiation_enforced
extrn mbedtls_ssl_conf_renegotiation_period
extrn mbedtls_ssl_conf_rng
extrn mbedtls_ssl_conf_session_cache
extrn mbedtls_ssl_conf_session_tickets
extrn mbedtls_ssl_conf_session_tickets_cb
extrn mbedtls_ssl_conf_sig_hashes
extrn mbedtls_ssl_conf_sni
extrn mbedtls_ssl_conf_transport
extrn mbedtls_ssl_conf_truncated_hmac
extrn mbedtls_ssl_conf_verify
extrn mbedtls_ssl_cookie_check
extrn mbedtls_ssl_cookie_free
extrn mbedtls_ssl_cookie_init
extrn mbedtls_ssl_cookie_set_timeout
extrn mbedtls_ssl_cookie_setup
extrn mbedtls_ssl_cookie_write
extrn mbedtls_ssl_derive_keys
extrn mbedtls_ssl_dtls_replay_check
extrn mbedtls_ssl_dtls_replay_update
extrn mbedtls_ssl_fetch_input
extrn mbedtls_ssl_flight_transmit
extrn mbedtls_ssl_flush_output
extrn mbedtls_ssl_free
extrn mbedtls_ssl_get_alpn_protocol
extrn mbedtls_ssl_get_bytes_avail
extrn mbedtls_ssl_get_ciphersuite
extrn mbedtls_ssl_get_ciphersuite_id
extrn mbedtls_ssl_get_ciphersuite_name
extrn mbedtls_ssl_get_ciphersuite_sig_alg
extrn mbedtls_ssl_get_ciphersuite_sig_pk_alg
extrn mbedtls_ssl_get_key_exchange_md_ssl_tls
extrn mbedtls_ssl_get_key_exchange_md_tls1_2
extrn mbedtls_ssl_get_max_frag_len
extrn mbedtls_ssl_get_max_out_record_payload
extrn mbedtls_ssl_get_peer_cert
extrn mbedtls_ssl_get_record_expansion
extrn mbedtls_ssl_get_session
extrn mbedtls_ssl_get_verify_result
extrn mbedtls_ssl_get_version
extrn mbedtls_ssl_handle_message_type
extrn mbedtls_ssl_handshake
extrn mbedtls_ssl_handshake_client_step
extrn mbedtls_ssl_handshake_free
extrn mbedtls_ssl_handshake_server_step
extrn mbedtls_ssl_handshake_step
extrn mbedtls_ssl_handshake_wrapup
extrn mbedtls_ssl_hash_from_md_alg
extrn mbedtls_ssl_init
extrn mbedtls_ssl_list_ciphersuites
extrn mbedtls_ssl_md_alg_from_hash
extrn mbedtls_ssl_optimize_checksum
extrn mbedtls_ssl_parse_certificate
extrn mbedtls_ssl_parse_change_cipher_spec
extrn mbedtls_ssl_parse_finished
extrn mbedtls_ssl_pk_alg_from_sig
extrn mbedtls_ssl_prepare_handshake_record
extrn mbedtls_ssl_psk_derive_premaster
extrn mbedtls_ssl_read
extrn mbedtls_ssl_read_record
extrn mbedtls_ssl_read_version
extrn mbedtls_ssl_recv_flight_completed
extrn mbedtls_ssl_renegotiate
extrn mbedtls_ssl_resend
extrn mbedtls_ssl_reset_checksum
extrn mbedtls_ssl_send_alert_message
extrn mbedtls_ssl_send_fatal_handshake_failure
extrn mbedtls_ssl_send_flight_completed
extrn mbedtls_ssl_session_free
extrn mbedtls_ssl_session_init
extrn mbedtls_ssl_session_reset
extrn mbedtls_ssl_set_bio
extrn mbedtls_ssl_set_calc_verify_md
extrn mbedtls_ssl_set_client_transport_id
extrn mbedtls_ssl_set_datagram_packing
extrn mbedtls_ssl_set_hostname
extrn mbedtls_ssl_set_hs_authmode
extrn mbedtls_ssl_set_hs_ca_chain
extrn mbedtls_ssl_set_hs_own_cert
extrn mbedtls_ssl_set_hs_psk
extrn mbedtls_ssl_set_mtu
extrn mbedtls_ssl_set_session
extrn mbedtls_ssl_set_timer_cb
extrn mbedtls_ssl_setup
extrn mbedtls_ssl_sig_from_pk
extrn mbedtls_ssl_sig_from_pk_alg
extrn mbedtls_ssl_sig_hash_set_add
extrn mbedtls_ssl_sig_hash_set_const_hash
extrn mbedtls_ssl_sig_hash_set_find
extrn mbedtls_ssl_ticket_free
extrn mbedtls_ssl_ticket_init
extrn mbedtls_ssl_ticket_parse
extrn mbedtls_ssl_ticket_setup
extrn mbedtls_ssl_ticket_write
extrn mbedtls_ssl_transform_free
extrn mbedtls_ssl_update_handshake_status
extrn mbedtls_ssl_write
extrn mbedtls_ssl_write_certificate
extrn mbedtls_ssl_write_change_cipher_spec
extrn mbedtls_ssl_write_finished
extrn mbedtls_ssl_write_handshake_msg
extrn mbedtls_ssl_write_record
extrn mbedtls_ssl_write_version
extrn mbedtls_strerror
extrn mbedtls_sysfn_14_poll
extrn mbedtls_sysfn_18_4_poll
extrn mbedtls_sysfn_26_9_poll
extrn mbedtls_sysfn_37_0_poll
extrn mbedtls_sysfn_3_poll
extrn mbedtls_sysfn_66_3_poll
extrn mbedtls_sysfn_68_0_poll
extrn mbedtls_version_check_feature
extrn mbedtls_version_get_number
extrn mbedtls_version_get_string
extrn mbedtls_version_get_string_full
extrn mbedtls_x509_crl_free
extrn mbedtls_x509_crl_info
extrn mbedtls_x509_crl_init
extrn mbedtls_x509_crl_parse
extrn mbedtls_x509_crl_parse_der
extrn mbedtls_x509_crt_check_extended_key_usage
extrn mbedtls_x509_crt_check_key_usage
extrn mbedtls_x509_crt_free
extrn mbedtls_x509_crt_info
extrn mbedtls_x509_crt_init
extrn mbedtls_x509_crt_is_revoked
extrn mbedtls_x509_crt_parse
extrn mbedtls_x509_crt_parse_der
extrn mbedtls_x509_crt_verify
extrn mbedtls_x509_crt_verify_info
extrn mbedtls_x509_crt_verify_restartable
extrn mbedtls_x509_crt_verify_with_profile
extrn mbedtls_x509_csr_free
extrn mbedtls_x509_csr_info
extrn mbedtls_x509_csr_init
extrn mbedtls_x509_csr_parse
extrn mbedtls_x509_csr_parse_der
extrn mbedtls_x509_dn_gets
extrn mbedtls_x509_get_alg
extrn mbedtls_x509_get_alg_null
extrn mbedtls_x509_get_ext
extrn mbedtls_x509_get_name
extrn mbedtls_x509_get_rsassa_pss_params
extrn mbedtls_x509_get_serial
extrn mbedtls_x509_get_sig
extrn mbedtls_x509_get_sig_alg
extrn mbedtls_x509_get_time
extrn mbedtls_x509_key_size_helper
extrn mbedtls_x509_self_test
extrn mbedtls_x509_serial_gets
extrn mbedtls_x509_set_extension
extrn mbedtls_x509_sig_alg_gets
extrn mbedtls_x509_string_to_names
extrn mbedtls_x509_time_is_future
extrn mbedtls_x509_time_is_past
extrn mbedtls_x509write_crt_der
extrn mbedtls_x509write_crt_free
extrn mbedtls_x509write_crt_init
extrn mbedtls_x509write_crt_pem
extrn mbedtls_x509write_crt_set_authority_key_identifier
extrn mbedtls_x509write_crt_set_basic_constraints
extrn mbedtls_x509write_crt_set_extension
extrn mbedtls_x509write_crt_set_issuer_key
extrn mbedtls_x509write_crt_set_issuer_name
extrn mbedtls_x509write_crt_set_key_usage
extrn mbedtls_x509write_crt_set_md_alg
extrn mbedtls_x509write_crt_set_ns_cert_type
extrn mbedtls_x509write_crt_set_serial
extrn mbedtls_x509write_crt_set_subject_key
extrn mbedtls_x509write_crt_set_subject_key_identifier
extrn mbedtls_x509write_crt_set_subject_name
extrn mbedtls_x509write_crt_set_validity
extrn mbedtls_x509write_crt_set_version
extrn mbedtls_x509write_csr_der
extrn mbedtls_x509write_csr_free
extrn mbedtls_x509write_csr_init
extrn mbedtls_x509write_csr_pem
extrn mbedtls_x509write_csr_set_extension
extrn mbedtls_x509write_csr_set_key
extrn mbedtls_x509write_csr_set_key_usage
extrn mbedtls_x509write_csr_set_md_alg
extrn mbedtls_x509write_csr_set_ns_cert_type
extrn mbedtls_x509write_csr_set_subject_name
extrn mbedtls_x509_write_extensions
extrn mbedtls_x509_write_names
extrn mbedtls_x509_write_sig
extrn mbedtls_xtea_crypt_cbc
extrn mbedtls_xtea_crypt_ecb
extrn mbedtls_xtea_free
extrn mbedtls_xtea_init
extrn mbedtls_xtea_self_test
extrn mbedtls_xtea_setup
extrn mbedtls_test_cas_pem
extrn mbedtls_test_cas_pem_len
 
section '.data'
 
align 4
@EXPORT:
export \
mbedtls_aes_crypt_cbc ,'mbedtls_aes_crypt_cbc',\
mbedtls_aes_crypt_cfb128,'mbedtls_aes_crypt_cfb128',\
mbedtls_aes_crypt_cfb8,'mbedtls_aes_crypt_cfb8',\
mbedtls_aes_crypt_ctr,'mbedtls_aes_crypt_ctr',\
mbedtls_aes_crypt_ecb,'mbedtls_aes_crypt_ecb',\
mbedtls_aes_crypt_ofb,'mbedtls_aes_crypt_ofb',\
mbedtls_aes_crypt_xts,'mbedtls_aes_crypt_xts',\
mbedtls_aes_decrypt,'mbedtls_aes_decrypt',\
mbedtls_aes_encrypt,'mbedtls_aes_encrypt',\
mbedtls_aes_free,'mbedtls_aes_free',\
mbedtls_aes_init,'mbedtls_aes_init',\
mbedtls_aes_self_test,'mbedtls_aes_self_test',\
mbedtls_aes_setkey_dec,'mbedtls_aes_setkey_dec',\
mbedtls_aes_setkey_enc,'mbedtls_aes_setkey_enc',\
mbedtls_aes_xts_free,'mbedtls_aes_xts_free',\
mbedtls_aes_xts_init,'mbedtls_aes_xts_init',\
mbedtls_aes_xts_setkey_dec,'mbedtls_aes_xts_setkey_dec',\
mbedtls_aes_xts_setkey_enc,'mbedtls_aes_xts_setkey_enc',\
mbedtls_arc4_crypt,'mbedtls_arc4_crypt',\
mbedtls_arc4_free,'mbedtls_arc4_free',\
mbedtls_arc4_init,'mbedtls_arc4_init',\
mbedtls_arc4_self_test,'mbedtls_arc4_self_test',\
mbedtls_arc4_setup,'mbedtls_arc4_setup',\
mbedtls_asn1_find_named_data,'mbedtls_asn1_find_named_data',\
mbedtls_asn1_free_named_data,'mbedtls_asn1_free_named_data',\
mbedtls_asn1_free_named_data_list,'mbedtls_asn1_free_named_data_list',\
mbedtls_asn1_get_alg,'mbedtls_asn1_get_alg',\
mbedtls_asn1_get_alg_null,'mbedtls_asn1_get_alg_null',\
mbedtls_asn1_get_bitstring,'mbedtls_asn1_get_bitstring',\
mbedtls_asn1_get_bitstring_null,'mbedtls_asn1_get_bitstring_null',\
mbedtls_asn1_get_bool,'mbedtls_asn1_get_bool',\
mbedtls_asn1_get_int,'mbedtls_asn1_get_int',\
mbedtls_asn1_get_len,'mbedtls_asn1_get_len',\
mbedtls_asn1_get_mpi,'mbedtls_asn1_get_mpi',\
mbedtls_asn1_get_sequence_of,'mbedtls_asn1_get_sequence_of',\
mbedtls_asn1_get_tag,'mbedtls_asn1_get_tag',\
mbedtls_asn1_store_named_data,'mbedtls_asn1_store_named_data',\
mbedtls_asn1_write_algorithm_identifier,'mbedtls_asn1_write_algorithm_identifier',\
mbedtls_asn1_write_bitstring,'mbedtls_asn1_write_bitstring',\
mbedtls_asn1_write_bool,'mbedtls_asn1_write_bool',\
mbedtls_asn1_write_ia5_string,'mbedtls_asn1_write_ia5_string',\
mbedtls_asn1_write_int,'mbedtls_asn1_write_int',\
mbedtls_asn1_write_len,'mbedtls_asn1_write_len',\
mbedtls_asn1_write_mpi,'mbedtls_asn1_write_mpi',\
mbedtls_asn1_write_null,'mbedtls_asn1_write_null',\
mbedtls_asn1_write_octet_string,'mbedtls_asn1_write_octet_string',\
mbedtls_asn1_write_oid,'mbedtls_asn1_write_oid',\
mbedtls_asn1_write_printable_string,'mbedtls_asn1_write_printable_string',\
mbedtls_asn1_write_raw_buffer,'mbedtls_asn1_write_raw_buffer',\
mbedtls_asn1_write_tag,'mbedtls_asn1_write_tag',\
mbedtls_asn1_write_tagged_string,'mbedtls_asn1_write_tagged_string',\
mbedtls_asn1_write_utf8_string,'mbedtls_asn1_write_utf8_string',\
mbedtls_base64_decode,'mbedtls_base64_decode',\
mbedtls_base64_encode,'mbedtls_base64_encode',\
mbedtls_base64_self_test,'mbedtls_base64_self_test',\
mbedtls_blowfish_crypt_cbc,'mbedtls_blowfish_crypt_cbc',\
mbedtls_blowfish_crypt_cfb64,'mbedtls_blowfish_crypt_cfb64',\
mbedtls_blowfish_crypt_ctr,'mbedtls_blowfish_crypt_ctr',\
mbedtls_blowfish_crypt_ecb,'mbedtls_blowfish_crypt_ecb',\
mbedtls_blowfish_free,'mbedtls_blowfish_free',\
mbedtls_blowfish_init,'mbedtls_blowfish_init',\
mbedtls_blowfish_setkey,'mbedtls_blowfish_setkey',\
mbedtls_camellia_crypt_cbc,'mbedtls_camellia_crypt_cbc',\
mbedtls_camellia_crypt_cfb128,'mbedtls_camellia_crypt_cfb128',\
mbedtls_camellia_crypt_ctr,'mbedtls_camellia_crypt_ctr',\
mbedtls_camellia_crypt_ecb,'mbedtls_camellia_crypt_ecb',\
mbedtls_camellia_free,'mbedtls_camellia_free',\
mbedtls_camellia_init,'mbedtls_camellia_init',\
mbedtls_camellia_self_test,'mbedtls_camellia_self_test',\
mbedtls_camellia_setkey_dec,'mbedtls_camellia_setkey_dec',\
mbedtls_camellia_setkey_enc,'mbedtls_camellia_setkey_enc',\
mbedtls_ccm_auth_decrypt,'mbedtls_ccm_auth_decrypt',\
mbedtls_ccm_encrypt_and_tag,'mbedtls_ccm_encrypt_and_tag',\
mbedtls_ccm_free,'mbedtls_ccm_free',\
mbedtls_ccm_init,'mbedtls_ccm_init',\
mbedtls_ccm_self_test,'mbedtls_ccm_self_test',\
mbedtls_ccm_setkey,'mbedtls_ccm_setkey',\
mbedtls_ccm_star_auth_decrypt,'mbedtls_ccm_star_auth_decrypt',\
mbedtls_ccm_star_encrypt_and_tag,'mbedtls_ccm_star_encrypt_and_tag',\
mbedtls_chacha20_crypt,'mbedtls_chacha20_crypt',\
mbedtls_chacha20_free,'mbedtls_chacha20_free',\
mbedtls_chacha20_init,'mbedtls_chacha20_init',\
mbedtls_chacha20_self_test,'mbedtls_chacha20_self_test',\
mbedtls_chacha20_setkey,'mbedtls_chacha20_setkey',\
mbedtls_chacha20_starts,'mbedtls_chacha20_starts',\
mbedtls_chacha20_update,'mbedtls_chacha20_update',\
mbedtls_chachapoly_auth_decrypt,'mbedtls_chachapoly_auth_decrypt',\
mbedtls_chachapoly_encrypt_and_tag,'mbedtls_chachapoly_encrypt_and_tag',\
mbedtls_chachapoly_finish,'mbedtls_chachapoly_finish',\
mbedtls_chachapoly_free,'mbedtls_chachapoly_free',\
mbedtls_chachapoly_init,'mbedtls_chachapoly_init',\
mbedtls_chachapoly_self_test,'mbedtls_chachapoly_self_test',\
mbedtls_chachapoly_setkey,'mbedtls_chachapoly_setkey',\
mbedtls_chachapoly_starts,'mbedtls_chachapoly_starts',\
mbedtls_chachapoly_update,'mbedtls_chachapoly_update',\
mbedtls_chachapoly_update_aad,'mbedtls_chachapoly_update_aad',\
mbedtls_cipher_auth_decrypt,'mbedtls_cipher_auth_decrypt',\
mbedtls_cipher_auth_encrypt,'mbedtls_cipher_auth_encrypt',\
mbedtls_cipher_check_tag,'mbedtls_cipher_check_tag',\
mbedtls_cipher_crypt,'mbedtls_cipher_crypt',\
mbedtls_cipher_finish,'mbedtls_cipher_finish',\
mbedtls_cipher_free,'mbedtls_cipher_free',\
mbedtls_cipher_info_from_string,'mbedtls_cipher_info_from_string',\
mbedtls_cipher_info_from_type,'mbedtls_cipher_info_from_type',\
mbedtls_cipher_info_from_values,'mbedtls_cipher_info_from_values',\
mbedtls_cipher_init,'mbedtls_cipher_init',\
mbedtls_cipher_list,'mbedtls_cipher_list',\
mbedtls_cipher_reset,'mbedtls_cipher_reset',\
mbedtls_cipher_set_iv,'mbedtls_cipher_set_iv',\
mbedtls_cipher_setkey,'mbedtls_cipher_setkey',\
mbedtls_cipher_set_padding_mode,'mbedtls_cipher_set_padding_mode',\
mbedtls_cipher_setup,'mbedtls_cipher_setup',\
mbedtls_cipher_update,'mbedtls_cipher_update',\
mbedtls_cipher_update_ad,'mbedtls_cipher_update_ad',\
mbedtls_cipher_write_tag,'mbedtls_cipher_write_tag',\
mbedtls_ctr_drbg_free,'mbedtls_ctr_drbg_free',\
mbedtls_ctr_drbg_init,'mbedtls_ctr_drbg_init',\
mbedtls_ctr_drbg_random,'mbedtls_ctr_drbg_random',\
mbedtls_ctr_drbg_random_with_add,'mbedtls_ctr_drbg_random_with_add',\
mbedtls_ctr_drbg_reseed,'mbedtls_ctr_drbg_reseed',\
mbedtls_ctr_drbg_seed,'mbedtls_ctr_drbg_seed',\
mbedtls_ctr_drbg_seed_entropy_len,'mbedtls_ctr_drbg_seed_entropy_len',\
mbedtls_ctr_drbg_self_test,'mbedtls_ctr_drbg_self_test',\
mbedtls_ctr_drbg_set_entropy_len,'mbedtls_ctr_drbg_set_entropy_len',\
mbedtls_ctr_drbg_set_prediction_resistance,'mbedtls_ctr_drbg_set_prediction_resistance',\
mbedtls_ctr_drbg_set_reseed_interval,'mbedtls_ctr_drbg_set_reseed_interval',\
mbedtls_ctr_drbg_update,'mbedtls_ctr_drbg_update',\
mbedtls_ctr_drbg_update_ret,'mbedtls_ctr_drbg_update_ret',\
mbedtls_debug_print_buf,'mbedtls_debug_print_buf',\
mbedtls_debug_print_crt,'mbedtls_debug_print_crt',\
mbedtls_debug_print_ecp,'mbedtls_debug_print_ecp',\
mbedtls_debug_printf_ecdh,'mbedtls_debug_printf_ecdh',\
mbedtls_debug_print_mpi,'mbedtls_debug_print_mpi',\
mbedtls_debug_print_msg,'mbedtls_debug_print_msg',\
mbedtls_debug_print_ret,'mbedtls_debug_print_ret',\
mbedtls_debug_set_threshold,'mbedtls_debug_set_threshold',\
mbedtls_des3_crypt_cbc,'mbedtls_des3_crypt_cbc',\
mbedtls_des3_crypt_ecb,'mbedtls_des3_crypt_ecb',\
mbedtls_des3_free,'mbedtls_des3_free',\
mbedtls_des3_init,'mbedtls_des3_init',\
mbedtls_des3_set2key_dec,'mbedtls_des3_set2key_dec',\
mbedtls_des3_set2key_enc,'mbedtls_des3_set2key_enc',\
mbedtls_des3_set3key_dec,'mbedtls_des3_set3key_dec',\
mbedtls_des3_set3key_enc,'mbedtls_des3_set3key_enc',\
mbedtls_des_crypt_cbc,'mbedtls_des_crypt_cbc',\
mbedtls_des_crypt_ecb,'mbedtls_des_crypt_ecb',\
mbedtls_des_free,'mbedtls_des_free',\
mbedtls_des_init,'mbedtls_des_init',\
mbedtls_des_key_check_key_parity,'mbedtls_des_key_check_key_parity',\
mbedtls_des_key_check_weak,'mbedtls_des_key_check_weak',\
mbedtls_des_key_set_parity,'mbedtls_des_key_set_parity',\
mbedtls_des_self_test,'mbedtls_des_self_test',\
mbedtls_des_setkey,'mbedtls_des_setkey',\
mbedtls_des_setkey_dec,'mbedtls_des_setkey_dec',\
mbedtls_des_setkey_enc,'mbedtls_des_setkey_enc',\
mbedtls_dhm_calc_secret,'mbedtls_dhm_calc_secret',\
mbedtls_dhm_free,'mbedtls_dhm_free',\
mbedtls_dhm_init,'mbedtls_dhm_init',\
mbedtls_dhm_make_params,'mbedtls_dhm_make_params',\
mbedtls_dhm_make_public,'mbedtls_dhm_make_public',\
mbedtls_dhm_parse_dhm,'mbedtls_dhm_parse_dhm',\
mbedtls_dhm_read_params,'mbedtls_dhm_read_params',\
mbedtls_dhm_read_public,'mbedtls_dhm_read_public',\
mbedtls_dhm_self_test,'mbedtls_dhm_self_test',\
mbedtls_dhm_set_group,'mbedtls_dhm_set_group',\
mbedtls_ecdh_calc_secret,'mbedtls_ecdh_calc_secret',\
mbedtls_ecdh_compute_shared,'mbedtls_ecdh_compute_shared',\
mbedtls_ecdh_free,'mbedtls_ecdh_free',\
mbedtls_ecdh_gen_public,'mbedtls_ecdh_gen_public',\
mbedtls_ecdh_get_params,'mbedtls_ecdh_get_params',\
mbedtls_ecdh_init,'mbedtls_ecdh_init',\
mbedtls_ecdh_make_params,'mbedtls_ecdh_make_params',\
mbedtls_ecdh_make_public,'mbedtls_ecdh_make_public',\
mbedtls_ecdh_read_params,'mbedtls_ecdh_read_params',\
mbedtls_ecdh_read_public,'mbedtls_ecdh_read_public',\
mbedtls_ecdh_setup,'mbedtls_ecdh_setup',\
mbedtls_ecdsa_free,'mbedtls_ecdsa_free',\
mbedtls_ecdsa_from_keypair,'mbedtls_ecdsa_from_keypair',\
mbedtls_ecdsa_genkey,'mbedtls_ecdsa_genkey',\
mbedtls_ecdsa_init,'mbedtls_ecdsa_init',\
mbedtls_ecdsa_read_signature,'mbedtls_ecdsa_read_signature',\
mbedtls_ecdsa_read_signature_restartable,'mbedtls_ecdsa_read_signature_restartable',\
mbedtls_ecdsa_sign,'mbedtls_ecdsa_sign',\
mbedtls_ecdsa_sign_det,'mbedtls_ecdsa_sign_det',\
mbedtls_ecdsa_sign_det_ext,'mbedtls_ecdsa_sign_det_ext',\
mbedtls_ecdsa_verify,'mbedtls_ecdsa_verify',\
mbedtls_ecdsa_write_signature,'mbedtls_ecdsa_write_signature',\
mbedtls_ecdsa_write_signature_det,'mbedtls_ecdsa_write_signature_det',\
mbedtls_ecdsa_write_signature_restartable,'mbedtls_ecdsa_write_signature_restartable',\
mbedtls_ecp_check_privkey,'mbedtls_ecp_check_privkey',\
mbedtls_ecp_check_pubkey,'mbedtls_ecp_check_pubkey',\
mbedtls_ecp_check_pub_priv,'mbedtls_ecp_check_pub_priv',\
mbedtls_ecp_copy,'mbedtls_ecp_copy',\
mbedtls_ecp_curve_info_from_grp_id,'mbedtls_ecp_curve_info_from_grp_id',\
mbedtls_ecp_curve_info_from_name,'mbedtls_ecp_curve_info_from_name',\
mbedtls_ecp_curve_info_from_tls_id,'mbedtls_ecp_curve_info_from_tls_id',\
mbedtls_ecp_curve_list,'mbedtls_ecp_curve_list',\
mbedtls_ecp_gen_key,'mbedtls_ecp_gen_key',\
mbedtls_ecp_gen_keypair,'mbedtls_ecp_gen_keypair',\
mbedtls_ecp_gen_keypair_base,'mbedtls_ecp_gen_keypair_base',\
mbedtls_ecp_gen_privkey,'mbedtls_ecp_gen_privkey',\
mbedtls_ecp_group_copy,'mbedtls_ecp_group_copy',\
mbedtls_ecp_group_free,'mbedtls_ecp_group_free',\
mbedtls_ecp_group_init,'mbedtls_ecp_group_init',\
mbedtls_ecp_group_load,'mbedtls_ecp_group_load',\
mbedtls_ecp_grp_id_list,'mbedtls_ecp_grp_id_list',\
mbedtls_ecp_is_zero,'mbedtls_ecp_is_zero',\
mbedtls_ecp_keypair_free,'mbedtls_ecp_keypair_free',\
mbedtls_ecp_keypair_init,'mbedtls_ecp_keypair_init',\
mbedtls_ecp_mul,'mbedtls_ecp_mul',\
mbedtls_ecp_muladd,'mbedtls_ecp_muladd',\
mbedtls_ecp_muladd_restartable,'mbedtls_ecp_muladd_restartable',\
mbedtls_ecp_mul_restartable,'mbedtls_ecp_mul_restartable',\
mbedtls_ecp_point_cmp,'mbedtls_ecp_point_cmp',\
mbedtls_ecp_point_free,'mbedtls_ecp_point_free',\
mbedtls_ecp_point_init,'mbedtls_ecp_point_init',\
mbedtls_ecp_point_read_binary,'mbedtls_ecp_point_read_binary',\
mbedtls_ecp_point_read_string,'mbedtls_ecp_point_read_string',\
mbedtls_ecp_point_write_binary,'mbedtls_ecp_point_write_binary',\
mbedtls_ecp_self_test,'mbedtls_ecp_self_test',\
mbedtls_ecp_set_zero,'mbedtls_ecp_set_zero',\
mbedtls_ecp_tls_read_group,'mbedtls_ecp_tls_read_group',\
mbedtls_ecp_tls_read_group_id,'mbedtls_ecp_tls_read_group_id',\
mbedtls_ecp_tls_read_point,'mbedtls_ecp_tls_read_point',\
mbedtls_ecp_tls_write_group,'mbedtls_ecp_tls_write_group',\
mbedtls_ecp_tls_write_point,'mbedtls_ecp_tls_write_point',\
mbedtls_entropy_add_source,'mbedtls_entropy_add_source',\
mbedtls_entropy_free,'mbedtls_entropy_free',\
mbedtls_entropy_func,'mbedtls_entropy_func',\
mbedtls_entropy_gather,'mbedtls_entropy_gather',\
mbedtls_entropy_init,'mbedtls_entropy_init',\
mbedtls_entropy_self_test,'mbedtls_entropy_self_test',\
mbedtls_entropy_update_manual,'mbedtls_entropy_update_manual',\
mbedtls_gcm_auth_decrypt,'mbedtls_gcm_auth_decrypt',\
mbedtls_gcm_crypt_and_tag,'mbedtls_gcm_crypt_and_tag',\
mbedtls_gcm_finish,'mbedtls_gcm_finish',\
mbedtls_gcm_free,'mbedtls_gcm_free',\
mbedtls_gcm_init,'mbedtls_gcm_init',\
mbedtls_gcm_self_test,'mbedtls_gcm_self_test',\
mbedtls_gcm_setkey,'mbedtls_gcm_setkey',\
mbedtls_gcm_starts,'mbedtls_gcm_starts',\
mbedtls_gcm_update,'mbedtls_gcm_update',\
mbedtls_hkdf,'mbedtls_hkdf',\
mbedtls_hkdf_expand,'mbedtls_hkdf_expand',\
mbedtls_hkdf_extract,'mbedtls_hkdf_extract',\
mbedtls_hmac_drbg_free,'mbedtls_hmac_drbg_free',\
mbedtls_hmac_drbg_init,'mbedtls_hmac_drbg_init',\
mbedtls_hmac_drbg_random,'mbedtls_hmac_drbg_random',\
mbedtls_hmac_drbg_random_with_add,'mbedtls_hmac_drbg_random_with_add',\
mbedtls_hmac_drbg_reseed,'mbedtls_hmac_drbg_reseed',\
mbedtls_hmac_drbg_seed,'mbedtls_hmac_drbg_seed',\
mbedtls_hmac_drbg_seed_buf,'mbedtls_hmac_drbg_seed_buf',\
mbedtls_hmac_drbg_self_test,'mbedtls_hmac_drbg_self_test',\
mbedtls_hmac_drbg_set_entropy_len,'mbedtls_hmac_drbg_set_entropy_len',\
mbedtls_hmac_drbg_set_prediction_resistance,'mbedtls_hmac_drbg_set_prediction_resistance',\
mbedtls_hmac_drbg_set_reseed_interval,'mbedtls_hmac_drbg_set_reseed_interval',\
mbedtls_hmac_drbg_update,'mbedtls_hmac_drbg_update',\
mbedtls_hmac_drbg_update_ret,'mbedtls_hmac_drbg_update_ret',\
mbedtls_init,'mbedtls_init',\
mbedtls_internal_aes_decrypt,'mbedtls_internal_aes_decrypt',\
mbedtls_internal_aes_encrypt,'mbedtls_internal_aes_encrypt',\
mbedtls_internal_md5_process,'mbedtls_internal_md5_process',\
mbedtls_internal_ripemd160_process,'mbedtls_internal_ripemd160_process',\
mbedtls_internal_sha1_process,'mbedtls_internal_sha1_process',\
mbedtls_internal_sha256_process,'mbedtls_internal_sha256_process',\
mbedtls_internal_sha512_process,'mbedtls_internal_sha512_process',\
mbedtls_md,'mbedtls_md',\
mbedtls_md5,'mbedtls_md5',\
mbedtls_md5_clone,'mbedtls_md5_clone',\
mbedtls_md5_finish,'mbedtls_md5_finish',\
mbedtls_md5_finish_ret,'mbedtls_md5_finish_ret',\
mbedtls_md5_free,'mbedtls_md5_free',\
mbedtls_md5_init,'mbedtls_md5_init',\
mbedtls_md5_process,'mbedtls_md5_process',\
mbedtls_md5_ret,'mbedtls_md5_ret',\
mbedtls_md5_self_test,'mbedtls_md5_self_test',\
mbedtls_md5_starts,'mbedtls_md5_starts',\
mbedtls_md5_starts_ret,'mbedtls_md5_starts_ret',\
mbedtls_md5_update,'mbedtls_md5_update',\
mbedtls_md5_update_ret,'mbedtls_md5_update_ret',\
mbedtls_md_clone,'mbedtls_md_clone',\
mbedtls_md_finish,'mbedtls_md_finish',\
mbedtls_md_free,'mbedtls_md_free',\
mbedtls_md_get_name,'mbedtls_md_get_name',\
mbedtls_md_get_size,'mbedtls_md_get_size',\
mbedtls_md_get_type,'mbedtls_md_get_type',\
mbedtls_md_hmac,'mbedtls_md_hmac',\
mbedtls_md_hmac_finish,'mbedtls_md_hmac_finish',\
mbedtls_md_hmac_reset,'mbedtls_md_hmac_reset',\
mbedtls_md_hmac_starts,'mbedtls_md_hmac_starts',\
mbedtls_md_hmac_update,'mbedtls_md_hmac_update',\
mbedtls_md_info_from_string,'mbedtls_md_info_from_string',\
mbedtls_md_info_from_type,'mbedtls_md_info_from_type',\
mbedtls_md_init,'mbedtls_md_init',\
mbedtls_md_init_ctx,'mbedtls_md_init_ctx',\
mbedtls_md_list,'mbedtls_md_list',\
mbedtls_md_process,'mbedtls_md_process',\
mbedtls_md_setup,'mbedtls_md_setup',\
mbedtls_md_starts,'mbedtls_md_starts',\
mbedtls_md_update,'mbedtls_md_update',\
mbedtls_mpi_add_abs,'mbedtls_mpi_add_abs',\
mbedtls_mpi_add_int,'mbedtls_mpi_add_int',\
mbedtls_mpi_add_mpi,'mbedtls_mpi_add_mpi',\
mbedtls_mpi_bitlen,'mbedtls_mpi_bitlen',\
mbedtls_mpi_cmp_abs,'mbedtls_mpi_cmp_abs',\
mbedtls_mpi_cmp_int,'mbedtls_mpi_cmp_int',\
mbedtls_mpi_cmp_mpi,'mbedtls_mpi_cmp_mpi',\
mbedtls_mpi_copy,'mbedtls_mpi_copy',\
mbedtls_mpi_div_int,'mbedtls_mpi_div_int',\
mbedtls_mpi_div_mpi,'mbedtls_mpi_div_mpi',\
mbedtls_mpi_exp_mod,'mbedtls_mpi_exp_mod',\
mbedtls_mpi_fill_random,'mbedtls_mpi_fill_random',\
mbedtls_mpi_free,'mbedtls_mpi_free',\
mbedtls_mpi_gcd,'mbedtls_mpi_gcd',\
mbedtls_mpi_gen_prime,'mbedtls_mpi_gen_prime',\
mbedtls_mpi_get_bit,'mbedtls_mpi_get_bit',\
mbedtls_mpi_grow,'mbedtls_mpi_grow',\
mbedtls_mpi_init,'mbedtls_mpi_init',\
mbedtls_mpi_inv_mod,'mbedtls_mpi_inv_mod',\
mbedtls_mpi_is_prime,'mbedtls_mpi_is_prime',\
mbedtls_mpi_is_prime_ext,'mbedtls_mpi_is_prime_ext',\
mbedtls_mpi_lsb,'mbedtls_mpi_lsb',\
mbedtls_mpi_lset,'mbedtls_mpi_lset',\
mbedtls_mpi_lt_mpi_ct,'mbedtls_mpi_lt_mpi_ct',\
mbedtls_mpi_mod_int,'mbedtls_mpi_mod_int',\
mbedtls_mpi_mod_mpi,'mbedtls_mpi_mod_mpi',\
mbedtls_mpi_mul_int,'mbedtls_mpi_mul_int',\
mbedtls_mpi_mul_mpi,'mbedtls_mpi_mul_mpi',\
mbedtls_mpi_read_binary,'mbedtls_mpi_read_binary',\
mbedtls_mpi_read_string,'mbedtls_mpi_read_string',\
mbedtls_mpi_safe_cond_assign,'mbedtls_mpi_safe_cond_assign',\
mbedtls_mpi_safe_cond_swap,'mbedtls_mpi_safe_cond_swap',\
mbedtls_mpi_self_test,'mbedtls_mpi_self_test',\
mbedtls_mpi_set_bit,'mbedtls_mpi_set_bit',\
mbedtls_mpi_shift_l,'mbedtls_mpi_shift_l',\
mbedtls_mpi_shift_r,'mbedtls_mpi_shift_r',\
mbedtls_mpi_shrink,'mbedtls_mpi_shrink',\
mbedtls_mpi_size,'mbedtls_mpi_size',\
mbedtls_mpi_sub_abs,'mbedtls_mpi_sub_abs',\
mbedtls_mpi_sub_int,'mbedtls_mpi_sub_int',\
mbedtls_mpi_sub_mpi,'mbedtls_mpi_sub_mpi',\
mbedtls_mpi_swap,'mbedtls_mpi_swap',\
mbedtls_mpi_write_binary,'mbedtls_mpi_write_binary',\
mbedtls_mpi_write_string,'mbedtls_mpi_write_string',\
mbedtls_net_connect,'mbedtls_net_connect',\
mbedtls_net_free,'mbedtls_net_free',\
mbedtls_net_init,'mbedtls_net_init',\
mbedtls_net_recv,'mbedtls_net_recv',\
mbedtls_net_send,'mbedtls_net_send',\
mbedtls_oid_get_attr_short_name,'mbedtls_oid_get_attr_short_name',\
mbedtls_oid_get_cipher_alg,'mbedtls_oid_get_cipher_alg',\
mbedtls_oid_get_ec_grp,'mbedtls_oid_get_ec_grp',\
mbedtls_oid_get_extended_key_usage,'mbedtls_oid_get_extended_key_usage',\
mbedtls_oid_get_md_alg,'mbedtls_oid_get_md_alg',\
mbedtls_oid_get_md_hmac,'mbedtls_oid_get_md_hmac',\
mbedtls_oid_get_numeric_string,'mbedtls_oid_get_numeric_string',\
mbedtls_oid_get_oid_by_ec_grp,'mbedtls_oid_get_oid_by_ec_grp',\
mbedtls_oid_get_oid_by_md,'mbedtls_oid_get_oid_by_md',\
mbedtls_oid_get_oid_by_pk_alg,'mbedtls_oid_get_oid_by_pk_alg',\
mbedtls_oid_get_oid_by_sig_alg,'mbedtls_oid_get_oid_by_sig_alg',\
mbedtls_oid_get_pk_alg,'mbedtls_oid_get_pk_alg',\
mbedtls_oid_get_pkcs12_pbe_alg,'mbedtls_oid_get_pkcs12_pbe_alg',\
mbedtls_oid_get_sig_alg,'mbedtls_oid_get_sig_alg',\
mbedtls_oid_get_sig_alg_desc,'mbedtls_oid_get_sig_alg_desc',\
mbedtls_oid_get_x509_ext_type,'mbedtls_oid_get_x509_ext_type',\
mbedtls_padlock_has_support,'mbedtls_padlock_has_support',\
mbedtls_padlock_xcryptcbc,'mbedtls_padlock_xcryptcbc',\
mbedtls_padlock_xcryptecb,'mbedtls_padlock_xcryptecb',\
mbedtls_pem_free,'mbedtls_pem_free',\
mbedtls_pem_init,'mbedtls_pem_init',\
mbedtls_pem_read_buffer,'mbedtls_pem_read_buffer',\
mbedtls_pem_write_buffer,'mbedtls_pem_write_buffer',\
mbedtls_pk_can_do,'mbedtls_pk_can_do',\
mbedtls_pk_check_pair,'mbedtls_pk_check_pair',\
mbedtls_pkcs12_derivation,'mbedtls_pkcs12_derivation',\
mbedtls_pkcs12_pbe,'mbedtls_pkcs12_pbe',\
mbedtls_pkcs12_pbe_sha1_rc4_128,'mbedtls_pkcs12_pbe_sha1_rc4_128',\
mbedtls_pkcs5_pbes2,'mbedtls_pkcs5_pbes2',\
mbedtls_pkcs5_pbkdf2_hmac,'mbedtls_pkcs5_pbkdf2_hmac',\
mbedtls_pkcs5_self_test,'mbedtls_pkcs5_self_test',\
mbedtls_pk_debug,'mbedtls_pk_debug',\
mbedtls_pk_decrypt,'mbedtls_pk_decrypt',\
mbedtls_pk_encrypt,'mbedtls_pk_encrypt',\
mbedtls_pk_free,'mbedtls_pk_free',\
mbedtls_pk_get_bitlen,'mbedtls_pk_get_bitlen',\
mbedtls_pk_get_name,'mbedtls_pk_get_name',\
mbedtls_pk_get_type,'mbedtls_pk_get_type',\
mbedtls_pk_info_from_type,'mbedtls_pk_info_from_type',\
mbedtls_pk_init,'mbedtls_pk_init',\
mbedtls_pk_parse_key,'mbedtls_pk_parse_key',\
mbedtls_pk_parse_public_key,'mbedtls_pk_parse_public_key',\
mbedtls_pk_parse_subpubkey,'mbedtls_pk_parse_subpubkey',\
mbedtls_pk_setup,'mbedtls_pk_setup',\
mbedtls_pk_setup_rsa_alt,'mbedtls_pk_setup_rsa_alt',\
mbedtls_pk_sign,'mbedtls_pk_sign',\
mbedtls_pk_sign_restartable,'mbedtls_pk_sign_restartable',\
mbedtls_pk_verify,'mbedtls_pk_verify',\
mbedtls_pk_verify_ext,'mbedtls_pk_verify_ext',\
mbedtls_pk_verify_restartable,'mbedtls_pk_verify_restartable',\
mbedtls_pk_write_key_der,'mbedtls_pk_write_key_der',\
mbedtls_pk_write_key_pem,'mbedtls_pk_write_key_pem',\
mbedtls_pk_write_pubkey,'mbedtls_pk_write_pubkey',\
mbedtls_pk_write_pubkey_der,'mbedtls_pk_write_pubkey_der',\
mbedtls_pk_write_pubkey_pem,'mbedtls_pk_write_pubkey_pem',\
mbedtls_platform_gmtime_r,'mbedtls_platform_gmtime_r',\
mbedtls_platform_setup,'mbedtls_platform_setup',\
mbedtls_platform_teardown,'mbedtls_platform_teardown',\
mbedtls_platform_zeroize,'mbedtls_platform_zeroize',\
mbedtls_poly1305_finish,'mbedtls_poly1305_finish',\
mbedtls_poly1305_free,'mbedtls_poly1305_free',\
mbedtls_poly1305_init,'mbedtls_poly1305_init',\
mbedtls_poly1305_mac,'mbedtls_poly1305_mac',\
mbedtls_poly1305_self_test,'mbedtls_poly1305_self_test',\
mbedtls_poly1305_starts,'mbedtls_poly1305_starts',\
mbedtls_poly1305_update,'mbedtls_poly1305_update',\
mbedtls_ripemd160,'mbedtls_ripemd160',\
mbedtls_ripemd160_clone,'mbedtls_ripemd160_clone',\
mbedtls_ripemd160_finish,'mbedtls_ripemd160_finish',\
mbedtls_ripemd160_finish_ret,'mbedtls_ripemd160_finish_ret',\
mbedtls_ripemd160_free,'mbedtls_ripemd160_free',\
mbedtls_ripemd160_init,'mbedtls_ripemd160_init',\
mbedtls_ripemd160_process,'mbedtls_ripemd160_process',\
mbedtls_ripemd160_ret,'mbedtls_ripemd160_ret',\
mbedtls_ripemd160_self_test,'mbedtls_ripemd160_self_test',\
mbedtls_ripemd160_starts,'mbedtls_ripemd160_starts',\
mbedtls_ripemd160_starts_ret,'mbedtls_ripemd160_starts_ret',\
mbedtls_ripemd160_update,'mbedtls_ripemd160_update',\
mbedtls_ripemd160_update_ret,'mbedtls_ripemd160_update_ret',\
mbedtls_rsa_check_privkey,'mbedtls_rsa_check_privkey',\
mbedtls_rsa_check_pubkey,'mbedtls_rsa_check_pubkey',\
mbedtls_rsa_check_pub_priv,'mbedtls_rsa_check_pub_priv',\
mbedtls_rsa_complete,'mbedtls_rsa_complete',\
mbedtls_rsa_copy,'mbedtls_rsa_copy',\
mbedtls_rsa_deduce_crt,'mbedtls_rsa_deduce_crt',\
mbedtls_rsa_deduce_primes,'mbedtls_rsa_deduce_primes',\
mbedtls_rsa_deduce_private_exponent,'mbedtls_rsa_deduce_private_exponent',\
mbedtls_rsa_export,'mbedtls_rsa_export',\
mbedtls_rsa_export_crt,'mbedtls_rsa_export_crt',\
mbedtls_rsa_export_raw,'mbedtls_rsa_export_raw',\
mbedtls_rsa_free,'mbedtls_rsa_free',\
mbedtls_rsa_gen_key,'mbedtls_rsa_gen_key',\
mbedtls_rsa_get_len,'mbedtls_rsa_get_len',\
mbedtls_rsa_import,'mbedtls_rsa_import',\
mbedtls_rsa_import_raw,'mbedtls_rsa_import_raw',\
mbedtls_rsa_init,'mbedtls_rsa_init',\
mbedtls_rsa_pkcs1_decrypt,'mbedtls_rsa_pkcs1_decrypt',\
mbedtls_rsa_pkcs1_encrypt,'mbedtls_rsa_pkcs1_encrypt',\
mbedtls_rsa_pkcs1_sign,'mbedtls_rsa_pkcs1_sign',\
mbedtls_rsa_pkcs1_verify,'mbedtls_rsa_pkcs1_verify',\
mbedtls_rsa_private,'mbedtls_rsa_private',\
mbedtls_rsa_public,'mbedtls_rsa_public',\
mbedtls_rsa_rsaes_oaep_decrypt,'mbedtls_rsa_rsaes_oaep_decrypt',\
mbedtls_rsa_rsaes_oaep_encrypt,'mbedtls_rsa_rsaes_oaep_encrypt',\
mbedtls_rsa_rsaes_pkcs1_v15_decrypt,'mbedtls_rsa_rsaes_pkcs1_v15_decrypt',\
mbedtls_rsa_rsaes_pkcs1_v15_encrypt,'mbedtls_rsa_rsaes_pkcs1_v15_encrypt',\
mbedtls_rsa_rsassa_pkcs1_v15_sign,'mbedtls_rsa_rsassa_pkcs1_v15_sign',\
mbedtls_rsa_rsassa_pkcs1_v15_verify,'mbedtls_rsa_rsassa_pkcs1_v15_verify',\
mbedtls_rsa_rsassa_pss_sign,'mbedtls_rsa_rsassa_pss_sign',\
mbedtls_rsa_rsassa_pss_verify,'mbedtls_rsa_rsassa_pss_verify',\
mbedtls_rsa_rsassa_pss_verify_ext,'mbedtls_rsa_rsassa_pss_verify_ext',\
mbedtls_rsa_self_test,'mbedtls_rsa_self_test',\
mbedtls_rsa_set_padding,'mbedtls_rsa_set_padding',\
mbedtls_rsa_validate_crt,'mbedtls_rsa_validate_crt',\
mbedtls_rsa_validate_params,'mbedtls_rsa_validate_params',\
mbedtls_sha1,'mbedtls_sha1',\
mbedtls_sha1_clone,'mbedtls_sha1_clone',\
mbedtls_sha1_finish,'mbedtls_sha1_finish',\
mbedtls_sha1_finish_ret,'mbedtls_sha1_finish_ret',\
mbedtls_sha1_free,'mbedtls_sha1_free',\
mbedtls_sha1_init,'mbedtls_sha1_init',\
mbedtls_sha1_process,'mbedtls_sha1_process',\
mbedtls_sha1_ret,'mbedtls_sha1_ret',\
mbedtls_sha1_self_test,'mbedtls_sha1_self_test',\
mbedtls_sha1_starts,'mbedtls_sha1_starts',\
mbedtls_sha1_starts_ret,'mbedtls_sha1_starts_ret',\
mbedtls_sha1_update,'mbedtls_sha1_update',\
mbedtls_sha1_update_ret,'mbedtls_sha1_update_ret',\
mbedtls_sha256,'mbedtls_sha256',\
mbedtls_sha256_clone,'mbedtls_sha256_clone',\
mbedtls_sha256_finish,'mbedtls_sha256_finish',\
mbedtls_sha256_finish_ret,'mbedtls_sha256_finish_ret',\
mbedtls_sha256_free,'mbedtls_sha256_free',\
mbedtls_sha256_init,'mbedtls_sha256_init',\
mbedtls_sha256_process,'mbedtls_sha256_process',\
mbedtls_sha256_ret,'mbedtls_sha256_ret',\
mbedtls_sha256_self_test,'mbedtls_sha256_self_test',\
mbedtls_sha256_starts,'mbedtls_sha256_starts',\
mbedtls_sha256_starts_ret,'mbedtls_sha256_starts_ret',\
mbedtls_sha256_update,'mbedtls_sha256_update',\
mbedtls_sha256_update_ret,'mbedtls_sha256_update_ret',\
mbedtls_sha512,'mbedtls_sha512',\
mbedtls_sha512_clone,'mbedtls_sha512_clone',\
mbedtls_sha512_finish,'mbedtls_sha512_finish',\
mbedtls_sha512_finish_ret,'mbedtls_sha512_finish_ret',\
mbedtls_sha512_free,'mbedtls_sha512_free',\
mbedtls_sha512_init,'mbedtls_sha512_init',\
mbedtls_sha512_process,'mbedtls_sha512_process',\
mbedtls_sha512_ret,'mbedtls_sha512_ret',\
mbedtls_sha512_self_test,'mbedtls_sha512_self_test',\
mbedtls_sha512_starts,'mbedtls_sha512_starts',\
mbedtls_sha512_starts_ret,'mbedtls_sha512_starts_ret',\
mbedtls_sha512_update,'mbedtls_sha512_update',\
mbedtls_sha512_update_ret,'mbedtls_sha512_update_ret',\
mbedtls_ssl_cache_free,'mbedtls_ssl_cache_free',\
mbedtls_ssl_cache_get,'mbedtls_ssl_cache_get',\
mbedtls_ssl_cache_init,'mbedtls_ssl_cache_init',\
mbedtls_ssl_cache_set,'mbedtls_ssl_cache_set',\
mbedtls_ssl_cache_set_max_entries,'mbedtls_ssl_cache_set_max_entries',\
mbedtls_ssl_cache_set_timeout,'mbedtls_ssl_cache_set_timeout',\
mbedtls_ssl_check_cert_usage,'mbedtls_ssl_check_cert_usage',\
mbedtls_ssl_check_curve,'mbedtls_ssl_check_curve',\
mbedtls_ssl_check_pending,'mbedtls_ssl_check_pending',\
mbedtls_ssl_check_sig_hash,'mbedtls_ssl_check_sig_hash',\
mbedtls_ssl_ciphersuite_from_id,'mbedtls_ssl_ciphersuite_from_id',\
mbedtls_ssl_ciphersuite_from_string,'mbedtls_ssl_ciphersuite_from_string',\
mbedtls_ssl_ciphersuite_uses_ec,'mbedtls_ssl_ciphersuite_uses_ec',\
mbedtls_ssl_ciphersuite_uses_psk,'mbedtls_ssl_ciphersuite_uses_psk',\
mbedtls_ssl_close_notify,'mbedtls_ssl_close_notify',\
mbedtls_ssl_conf_alpn_protocols,'mbedtls_ssl_conf_alpn_protocols',\
mbedtls_ssl_conf_arc4_support,'mbedtls_ssl_conf_arc4_support',\
mbedtls_ssl_conf_authmode,'mbedtls_ssl_conf_authmode',\
mbedtls_ssl_conf_ca_chain,'mbedtls_ssl_conf_ca_chain',\
mbedtls_ssl_conf_cbc_record_splitting,'mbedtls_ssl_conf_cbc_record_splitting',\
mbedtls_ssl_conf_cert_profile,'mbedtls_ssl_conf_cert_profile',\
mbedtls_ssl_conf_cert_req_ca_list,'mbedtls_ssl_conf_cert_req_ca_list',\
mbedtls_ssl_conf_ciphersuites,'mbedtls_ssl_conf_ciphersuites',\
mbedtls_ssl_conf_ciphersuites_for_version,'mbedtls_ssl_conf_ciphersuites_for_version',\
mbedtls_ssl_conf_curves,'mbedtls_ssl_conf_curves',\
mbedtls_ssl_conf_dbg,'mbedtls_ssl_conf_dbg',\
mbedtls_ssl_conf_dhm_min_bitlen,'mbedtls_ssl_conf_dhm_min_bitlen',\
mbedtls_ssl_conf_dh_param,'mbedtls_ssl_conf_dh_param',\
mbedtls_ssl_conf_dh_param_bin,'mbedtls_ssl_conf_dh_param_bin',\
mbedtls_ssl_conf_dh_param_ctx,'mbedtls_ssl_conf_dh_param_ctx',\
mbedtls_ssl_conf_dtls_anti_replay,'mbedtls_ssl_conf_dtls_anti_replay',\
mbedtls_ssl_conf_dtls_badmac_limit,'mbedtls_ssl_conf_dtls_badmac_limit',\
mbedtls_ssl_conf_dtls_cookies,'mbedtls_ssl_conf_dtls_cookies',\
mbedtls_ssl_conf_encrypt_then_mac,'mbedtls_ssl_conf_encrypt_then_mac',\
mbedtls_ssl_conf_endpoint,'mbedtls_ssl_conf_endpoint',\
mbedtls_ssl_conf_export_keys_cb,'mbedtls_ssl_conf_export_keys_cb',\
mbedtls_ssl_conf_extended_master_secret,'mbedtls_ssl_conf_extended_master_secret',\
mbedtls_ssl_conf_fallback,'mbedtls_ssl_conf_fallback',\
mbedtls_ssl_conf_handshake_timeout,'mbedtls_ssl_conf_handshake_timeout',\
mbedtls_ssl_config_defaults,'mbedtls_ssl_config_defaults',\
mbedtls_ssl_config_free,'mbedtls_ssl_config_free',\
mbedtls_ssl_config_init,'mbedtls_ssl_config_init',\
mbedtls_ssl_conf_legacy_renegotiation,'mbedtls_ssl_conf_legacy_renegotiation',\
mbedtls_ssl_conf_max_frag_len,'mbedtls_ssl_conf_max_frag_len',\
mbedtls_ssl_conf_max_version,'mbedtls_ssl_conf_max_version',\
mbedtls_ssl_conf_min_version,'mbedtls_ssl_conf_min_version',\
mbedtls_ssl_conf_own_cert,'mbedtls_ssl_conf_own_cert',\
mbedtls_ssl_conf_psk,'mbedtls_ssl_conf_psk',\
mbedtls_ssl_conf_psk_cb,'mbedtls_ssl_conf_psk_cb',\
mbedtls_ssl_conf_read_timeout,'mbedtls_ssl_conf_read_timeout',\
mbedtls_ssl_conf_renegotiation,'mbedtls_ssl_conf_renegotiation',\
mbedtls_ssl_conf_renegotiation_enforced,'mbedtls_ssl_conf_renegotiation_enforced',\
mbedtls_ssl_conf_renegotiation_period,'mbedtls_ssl_conf_renegotiation_period',\
mbedtls_ssl_conf_rng,'mbedtls_ssl_conf_rng',\
mbedtls_ssl_conf_session_cache,'mbedtls_ssl_conf_session_cache',\
mbedtls_ssl_conf_session_tickets,'mbedtls_ssl_conf_session_tickets',\
mbedtls_ssl_conf_session_tickets_cb,'mbedtls_ssl_conf_session_tickets_cb',\
mbedtls_ssl_conf_sig_hashes,'mbedtls_ssl_conf_sig_hashes',\
mbedtls_ssl_conf_sni,'mbedtls_ssl_conf_sni',\
mbedtls_ssl_conf_transport,'mbedtls_ssl_conf_transport',\
mbedtls_ssl_conf_truncated_hmac,'mbedtls_ssl_conf_truncated_hmac',\
mbedtls_ssl_conf_verify,'mbedtls_ssl_conf_verify',\
mbedtls_ssl_cookie_check,'mbedtls_ssl_cookie_check',\
mbedtls_ssl_cookie_free,'mbedtls_ssl_cookie_free',\
mbedtls_ssl_cookie_init,'mbedtls_ssl_cookie_init',\
mbedtls_ssl_cookie_set_timeout,'mbedtls_ssl_cookie_set_timeout',\
mbedtls_ssl_cookie_setup,'mbedtls_ssl_cookie_setup',\
mbedtls_ssl_cookie_write,'mbedtls_ssl_cookie_write',\
mbedtls_ssl_derive_keys,'mbedtls_ssl_derive_keys',\
mbedtls_ssl_dtls_replay_check,'mbedtls_ssl_dtls_replay_check',\
mbedtls_ssl_dtls_replay_update,'mbedtls_ssl_dtls_replay_update',\
mbedtls_ssl_fetch_input,'mbedtls_ssl_fetch_input',\
mbedtls_ssl_flight_transmit,'mbedtls_ssl_flight_transmit',\
mbedtls_ssl_flush_output,'mbedtls_ssl_flush_output',\
mbedtls_ssl_free,'mbedtls_ssl_free',\
mbedtls_ssl_get_alpn_protocol,'mbedtls_ssl_get_alpn_protocol',\
mbedtls_ssl_get_bytes_avail,'mbedtls_ssl_get_bytes_avail',\
mbedtls_ssl_get_ciphersuite,'mbedtls_ssl_get_ciphersuite',\
mbedtls_ssl_get_ciphersuite_id,'mbedtls_ssl_get_ciphersuite_id',\
mbedtls_ssl_get_ciphersuite_name,'mbedtls_ssl_get_ciphersuite_name',\
mbedtls_ssl_get_ciphersuite_sig_alg,'mbedtls_ssl_get_ciphersuite_sig_alg',\
mbedtls_ssl_get_ciphersuite_sig_pk_alg,'mbedtls_ssl_get_ciphersuite_sig_pk_alg',\
mbedtls_ssl_get_key_exchange_md_ssl_tls,'mbedtls_ssl_get_key_exchange_md_ssl_tls',\
mbedtls_ssl_get_key_exchange_md_tls1_2,'mbedtls_ssl_get_key_exchange_md_tls1_2',\
mbedtls_ssl_get_max_frag_len,'mbedtls_ssl_get_max_frag_len',\
mbedtls_ssl_get_max_out_record_payload,'mbedtls_ssl_get_max_out_record_payload',\
mbedtls_ssl_get_peer_cert,'mbedtls_ssl_get_peer_cert',\
mbedtls_ssl_get_record_expansion,'mbedtls_ssl_get_record_expansion',\
mbedtls_ssl_get_session,'mbedtls_ssl_get_session',\
mbedtls_ssl_get_verify_result,'mbedtls_ssl_get_verify_result',\
mbedtls_ssl_get_version,'mbedtls_ssl_get_version',\
mbedtls_ssl_handle_message_type,'mbedtls_ssl_handle_message_type',\
mbedtls_ssl_handshake,'mbedtls_ssl_handshake',\
mbedtls_ssl_handshake_client_step,'mbedtls_ssl_handshake_client_step',\
mbedtls_ssl_handshake_free,'mbedtls_ssl_handshake_free',\
mbedtls_ssl_handshake_server_step,'mbedtls_ssl_handshake_server_step',\
mbedtls_ssl_handshake_step,'mbedtls_ssl_handshake_step',\
mbedtls_ssl_handshake_wrapup,'mbedtls_ssl_handshake_wrapup',\
mbedtls_ssl_hash_from_md_alg,'mbedtls_ssl_hash_from_md_alg',\
mbedtls_ssl_init,'mbedtls_ssl_init',\
mbedtls_ssl_list_ciphersuites,'mbedtls_ssl_list_ciphersuites',\
mbedtls_ssl_md_alg_from_hash,'mbedtls_ssl_md_alg_from_hash',\
mbedtls_ssl_optimize_checksum,'mbedtls_ssl_optimize_checksum',\
mbedtls_ssl_parse_certificate,'mbedtls_ssl_parse_certificate',\
mbedtls_ssl_parse_change_cipher_spec,'mbedtls_ssl_parse_change_cipher_spec',\
mbedtls_ssl_parse_finished,'mbedtls_ssl_parse_finished',\
mbedtls_ssl_pk_alg_from_sig,'mbedtls_ssl_pk_alg_from_sig',\
mbedtls_ssl_prepare_handshake_record,'mbedtls_ssl_prepare_handshake_record',\
mbedtls_ssl_psk_derive_premaster,'mbedtls_ssl_psk_derive_premaster',\
mbedtls_ssl_read,'mbedtls_ssl_read',\
mbedtls_ssl_read_record,'mbedtls_ssl_read_record',\
mbedtls_ssl_read_version,'mbedtls_ssl_read_version',\
mbedtls_ssl_recv_flight_completed,'mbedtls_ssl_recv_flight_completed',\
mbedtls_ssl_renegotiate,'mbedtls_ssl_renegotiate',\
mbedtls_ssl_resend,'mbedtls_ssl_resend',\
mbedtls_ssl_reset_checksum,'mbedtls_ssl_reset_checksum',\
mbedtls_ssl_send_alert_message,'mbedtls_ssl_send_alert_message',\
mbedtls_ssl_send_fatal_handshake_failure,'mbedtls_ssl_send_fatal_handshake_failure',\
mbedtls_ssl_send_flight_completed,'mbedtls_ssl_send_flight_completed',\
mbedtls_ssl_session_free,'mbedtls_ssl_session_free',\
mbedtls_ssl_session_init,'mbedtls_ssl_session_init',\
mbedtls_ssl_session_reset,'mbedtls_ssl_session_reset',\
mbedtls_ssl_set_bio,'mbedtls_ssl_set_bio',\
mbedtls_ssl_set_calc_verify_md,'mbedtls_ssl_set_calc_verify_md',\
mbedtls_ssl_set_client_transport_id,'mbedtls_ssl_set_client_transport_id',\
mbedtls_ssl_set_datagram_packing,'mbedtls_ssl_set_datagram_packing',\
mbedtls_ssl_set_hostname,'mbedtls_ssl_set_hostname',\
mbedtls_ssl_set_hs_authmode,'mbedtls_ssl_set_hs_authmode',\
mbedtls_ssl_set_hs_ca_chain,'mbedtls_ssl_set_hs_ca_chain',\
mbedtls_ssl_set_hs_own_cert,'mbedtls_ssl_set_hs_own_cert',\
mbedtls_ssl_set_hs_psk,'mbedtls_ssl_set_hs_psk',\
mbedtls_ssl_set_mtu,'mbedtls_ssl_set_mtu',\
mbedtls_ssl_set_session,'mbedtls_ssl_set_session',\
mbedtls_ssl_set_timer_cb,'mbedtls_ssl_set_timer_cb',\
mbedtls_ssl_setup,'mbedtls_ssl_setup',\
mbedtls_ssl_sig_from_pk,'mbedtls_ssl_sig_from_pk',\
mbedtls_ssl_sig_from_pk_alg,'mbedtls_ssl_sig_from_pk_alg',\
mbedtls_ssl_sig_hash_set_add,'mbedtls_ssl_sig_hash_set_add',\
mbedtls_ssl_sig_hash_set_const_hash,'mbedtls_ssl_sig_hash_set_const_hash',\
mbedtls_ssl_sig_hash_set_find,'mbedtls_ssl_sig_hash_set_find',\
mbedtls_ssl_ticket_free,'mbedtls_ssl_ticket_free',\
mbedtls_ssl_ticket_init,'mbedtls_ssl_ticket_init',\
mbedtls_ssl_ticket_parse,'mbedtls_ssl_ticket_parse',\
mbedtls_ssl_ticket_setup,'mbedtls_ssl_ticket_setup',\
mbedtls_ssl_ticket_write,'mbedtls_ssl_ticket_write',\
mbedtls_ssl_transform_free,'mbedtls_ssl_transform_free',\
mbedtls_ssl_update_handshake_status,'mbedtls_ssl_update_handshake_status',\
mbedtls_ssl_write,'mbedtls_ssl_write',\
mbedtls_ssl_write_certificate,'mbedtls_ssl_write_certificate',\
mbedtls_ssl_write_change_cipher_spec,'mbedtls_ssl_write_change_cipher_spec',\
mbedtls_ssl_write_finished,'mbedtls_ssl_write_finished',\
mbedtls_ssl_write_handshake_msg,'mbedtls_ssl_write_handshake_msg',\
mbedtls_ssl_write_record,'mbedtls_ssl_write_record',\
mbedtls_ssl_write_version,'mbedtls_ssl_write_version',\
mbedtls_strerror,'mbedtls_strerror',\
mbedtls_sysfn_14_poll,'mbedtls_sysfn_14_poll',\
mbedtls_sysfn_18_4_poll,'mbedtls_sysfn_18_4_poll',\
mbedtls_sysfn_26_9_poll,'mbedtls_sysfn_26_9_poll',\
mbedtls_sysfn_37_0_poll,'mbedtls_sysfn_37_0_poll',\
mbedtls_sysfn_3_poll,'mbedtls_sysfn_3_poll',\
mbedtls_sysfn_66_3_poll,'mbedtls_sysfn_66_3_poll',\
mbedtls_sysfn_68_0_poll,'mbedtls_sysfn_68_0_poll',\
mbedtls_version_check_feature,'mbedtls_version_check_feature',\
mbedtls_version_get_number,'mbedtls_version_get_number',\
mbedtls_version_get_string,'mbedtls_version_get_string',\
mbedtls_version_get_string_full,'mbedtls_version_get_string_full',\
mbedtls_x509_crl_free,'mbedtls_x509_crl_free',\
mbedtls_x509_crl_info,'mbedtls_x509_crl_info',\
mbedtls_x509_crl_init,'mbedtls_x509_crl_init',\
mbedtls_x509_crl_parse,'mbedtls_x509_crl_parse',\
mbedtls_x509_crl_parse_der,'mbedtls_x509_crl_parse_der',\
mbedtls_x509_crt_check_extended_key_usage,'mbedtls_x509_crt_check_extended_key_usage',\
mbedtls_x509_crt_check_key_usage,'mbedtls_x509_crt_check_key_usage',\
mbedtls_x509_crt_free,'mbedtls_x509_crt_free',\
mbedtls_x509_crt_info,'mbedtls_x509_crt_info',\
mbedtls_x509_crt_init,'mbedtls_x509_crt_init',\
mbedtls_x509_crt_is_revoked,'mbedtls_x509_crt_is_revoked',\
mbedtls_x509_crt_parse,'mbedtls_x509_crt_parse',\
mbedtls_x509_crt_parse_der,'mbedtls_x509_crt_parse_der',\
mbedtls_x509_crt_verify,'mbedtls_x509_crt_verify',\
mbedtls_x509_crt_verify_info,'mbedtls_x509_crt_verify_info',\
mbedtls_x509_crt_verify_restartable,'mbedtls_x509_crt_verify_restartable',\
mbedtls_x509_crt_verify_with_profile,'mbedtls_x509_crt_verify_with_profile',\
mbedtls_x509_csr_free,'mbedtls_x509_csr_free',\
mbedtls_x509_csr_info,'mbedtls_x509_csr_info',\
mbedtls_x509_csr_init,'mbedtls_x509_csr_init',\
mbedtls_x509_csr_parse,'mbedtls_x509_csr_parse',\
mbedtls_x509_csr_parse_der,'mbedtls_x509_csr_parse_der',\
mbedtls_x509_dn_gets,'mbedtls_x509_dn_gets',\
mbedtls_x509_get_alg,'mbedtls_x509_get_alg',\
mbedtls_x509_get_alg_null,'mbedtls_x509_get_alg_null',\
mbedtls_x509_get_ext,'mbedtls_x509_get_ext',\
mbedtls_x509_get_name,'mbedtls_x509_get_name',\
mbedtls_x509_get_rsassa_pss_params,'mbedtls_x509_get_rsassa_pss_params',\
mbedtls_x509_get_serial,'mbedtls_x509_get_serial',\
mbedtls_x509_get_sig,'mbedtls_x509_get_sig',\
mbedtls_x509_get_sig_alg,'mbedtls_x509_get_sig_alg',\
mbedtls_x509_get_time,'mbedtls_x509_get_time',\
mbedtls_x509_key_size_helper,'mbedtls_x509_key_size_helper',\
mbedtls_x509_self_test,'mbedtls_x509_self_test',\
mbedtls_x509_serial_gets,'mbedtls_x509_serial_gets',\
mbedtls_x509_set_extension,'mbedtls_x509_set_extension',\
mbedtls_x509_sig_alg_gets,'mbedtls_x509_sig_alg_gets',\
mbedtls_x509_string_to_names,'mbedtls_x509_string_to_names',\
mbedtls_x509_time_is_future,'mbedtls_x509_time_is_future',\
mbedtls_x509_time_is_past,'mbedtls_x509_time_is_past',\
mbedtls_x509write_crt_der,'mbedtls_x509write_crt_der',\
mbedtls_x509write_crt_free,'mbedtls_x509write_crt_free',\
mbedtls_x509write_crt_init,'mbedtls_x509write_crt_init',\
mbedtls_x509write_crt_pem,'mbedtls_x509write_crt_pem',\
mbedtls_x509write_crt_set_authority_key_identifier,'mbedtls_x509write_crt_set_authority_key_identifier',\
mbedtls_x509write_crt_set_basic_constraints,'mbedtls_x509write_crt_set_basic_constraints',\
mbedtls_x509write_crt_set_extension,'mbedtls_x509write_crt_set_extension',\
mbedtls_x509write_crt_set_issuer_key,'mbedtls_x509write_crt_set_issuer_key',\
mbedtls_x509write_crt_set_issuer_name,'mbedtls_x509write_crt_set_issuer_name',\
mbedtls_x509write_crt_set_key_usage,'mbedtls_x509write_crt_set_key_usage',\
mbedtls_x509write_crt_set_md_alg,'mbedtls_x509write_crt_set_md_alg',\
mbedtls_x509write_crt_set_ns_cert_type,'mbedtls_x509write_crt_set_ns_cert_type',\
mbedtls_x509write_crt_set_serial,'mbedtls_x509write_crt_set_serial',\
mbedtls_x509write_crt_set_subject_key,'mbedtls_x509write_crt_set_subject_key',\
mbedtls_x509write_crt_set_subject_key_identifier,'mbedtls_x509write_crt_set_subject_key_identifier',\
mbedtls_x509write_crt_set_subject_name,'mbedtls_x509write_crt_set_subject_name',\
mbedtls_x509write_crt_set_validity,'mbedtls_x509write_crt_set_validity',\
mbedtls_x509write_crt_set_version,'mbedtls_x509write_crt_set_version',\
mbedtls_x509write_csr_der,'mbedtls_x509write_csr_der',\
mbedtls_x509write_csr_free,'mbedtls_x509write_csr_free',\
mbedtls_x509write_csr_init,'mbedtls_x509write_csr_init',\
mbedtls_x509write_csr_pem,'mbedtls_x509write_csr_pem',\
mbedtls_x509write_csr_set_extension,'mbedtls_x509write_csr_set_extension',\
mbedtls_x509write_csr_set_key,'mbedtls_x509write_csr_set_key',\
mbedtls_x509write_csr_set_key_usage,'mbedtls_x509write_csr_set_key_usage',\
mbedtls_x509write_csr_set_md_alg,'mbedtls_x509write_csr_set_md_alg',\
mbedtls_x509write_csr_set_ns_cert_type,'mbedtls_x509write_csr_set_ns_cert_type',\
mbedtls_x509write_csr_set_subject_name,'mbedtls_x509write_csr_set_subject_name',\
mbedtls_x509_write_extensions,'mbedtls_x509_write_extensions',\
mbedtls_x509_write_names,'mbedtls_x509_write_names',\
mbedtls_x509_write_sig,'mbedtls_x509_write_sig',\
mbedtls_xtea_crypt_cbc,'mbedtls_xtea_crypt_cbc',\
mbedtls_xtea_crypt_ecb,'mbedtls_xtea_crypt_ecb',\
mbedtls_xtea_free,'mbedtls_xtea_free',\
mbedtls_xtea_init,'mbedtls_xtea_init',\
mbedtls_xtea_self_test,'mbedtls_xtea_self_test',\
mbedtls_xtea_setup,'mbedtls_xtea_setup', \
mbedtls_test_cas_pem, 'mbedtls_test_cas_pem', \
mbedtls_test_cas_pem_len, 'mbedtls_test_cas_pem_len'
/programs/develop/libraries/kos_mbedtls/library/libtcc/___chkstk_ms.c
0,0 → 1,0
void ___chkstk_ms() {}
/programs/develop/libraries/kos_mbedtls/library/libtcc/libtcc1.c
0,0 → 1,763
/* TCC runtime library.
Parts of this code are (c) 2002 Fabrice Bellard
 
Copyright (C) 1987, 1988, 1992, 1994, 1995 Free Software Foundation, Inc.
 
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
 
In addition to the permissions in the GNU General Public License, the
Free Software Foundation gives you unlimited permission to link the
compiled version of this file into combinations with other programs,
and to distribute those combinations without any restriction coming
from the use of this file. (The General Public License restrictions
do apply in other respects; for example, they cover modification of
the file, and distribution when not linked into a combine
executable.)
 
This file is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
 
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
 
//#include <stdint.h>
#define TCC_TARGET_I386
 
#define W_TYPE_SIZE 32
#define BITS_PER_UNIT 8
 
typedef int Wtype;
typedef unsigned int UWtype;
typedef unsigned int USItype;
typedef long long DWtype;
typedef unsigned long long UDWtype;
 
struct DWstruct {
Wtype low, high;
};
 
typedef union
{
struct DWstruct s;
DWtype ll;
} DWunion;
 
typedef long double XFtype;
#define WORD_SIZE (sizeof (Wtype) * BITS_PER_UNIT)
#define HIGH_WORD_COEFF (((UDWtype) 1) << WORD_SIZE)
 
/* the following deal with IEEE single-precision numbers */
#define EXCESS 126
#define SIGNBIT 0x80000000
#define HIDDEN (1 << 23)
#define SIGN(fp) ((fp) & SIGNBIT)
#define EXP(fp) (((fp) >> 23) & 0xFF)
#define MANT(fp) (((fp) & 0x7FFFFF) | HIDDEN)
#define PACK(s,e,m) ((s) | ((e) << 23) | (m))
 
/* the following deal with IEEE double-precision numbers */
#define EXCESSD 1022
#define HIDDEND (1 << 20)
#define EXPD(fp) (((fp.l.upper) >> 20) & 0x7FF)
#define SIGND(fp) ((fp.l.upper) & SIGNBIT)
#define MANTD(fp) (((((fp.l.upper) & 0xFFFFF) | HIDDEND) << 10) | \
(fp.l.lower >> 22))
#define HIDDEND_LL ((long long)1 << 52)
#define MANTD_LL(fp) ((fp.ll & (HIDDEND_LL-1)) | HIDDEND_LL)
#define PACKD_LL(s,e,m) (((long long)((s)+((e)<<20))<<32)|(m))
 
/* the following deal with x86 long double-precision numbers */
#define EXCESSLD 16382
#define EXPLD(fp) (fp.l.upper & 0x7fff)
#define SIGNLD(fp) ((fp.l.upper) & 0x8000)
 
/* only for x86 */
union ldouble_long {
long double ld;
struct {
unsigned long long lower;
unsigned short upper;
} l;
};
 
union double_long {
double d;
#if 1
struct {
unsigned int lower;
int upper;
} l;
#else
struct {
int upper;
unsigned int lower;
} l;
#endif
long long ll;
};
 
union float_long {
float f;
unsigned int l;
};
 
/* XXX: we don't support several builtin supports for now */
#if !defined(TCC_TARGET_X86_64) && !defined(TCC_TARGET_ARM)
 
/* XXX: use gcc/tcc intrinsic ? */
#if defined(TCC_TARGET_I386)
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
__asm__ ("subl %5,%1\n\tsbbl %3,%0" \
: "=r" ((USItype) (sh)), \
"=&r" ((USItype) (sl)) \
: "0" ((USItype) (ah)), \
"g" ((USItype) (bh)), \
"1" ((USItype) (al)), \
"g" ((USItype) (bl)))
#define umul_ppmm(w1, w0, u, v) \
__asm__ ("mull %3" \
: "=a" ((USItype) (w0)), \
"=d" ((USItype) (w1)) \
: "%0" ((USItype) (u)), \
"rm" ((USItype) (v)))
#define udiv_qrnnd(q, r, n1, n0, dv) \
__asm__ ("divl %4" \
: "=a" ((USItype) (q)), \
"=d" ((USItype) (r)) \
: "0" ((USItype) (n0)), \
"1" ((USItype) (n1)), \
"rm" ((USItype) (dv)))
#define count_leading_zeros(count, x) \
do { \
USItype __cbtmp; \
__asm__ ("bsrl %1,%0" \
: "=r" (__cbtmp) : "rm" ((USItype) (x))); \
(count) = __cbtmp ^ 31; \
} while (0)
#else
#error unsupported CPU type
#endif
 
/* most of this code is taken from libgcc2.c from gcc */
UDWtype __udivmoddi4 (UDWtype n, UDWtype d, UDWtype *rp)
{
DWunion ww;
DWunion nn, dd;
DWunion rr;
UWtype d0, d1, n0, n1, n2;
UWtype q0, q1;
UWtype b, bm;
 
nn.ll = n;
dd.ll = d;
 
d0 = dd.s.low;
d1 = dd.s.high;
n0 = nn.s.low;
n1 = nn.s.high;
 
#if !defined(UDIV_NEEDS_NORMALIZATION)
if (d1 == 0)
{
if (d0 > n1)
{
/* 0q = nn / 0D */
 
udiv_qrnnd (q0, n0, n1, n0, d0);
q1 = 0;
 
/* Remainder in n0. */
}
else
{
/* qq = NN / 0d */
 
if (d0 == 0)
d0 = 1 / d0; /* Divide intentionally by zero. */
 
udiv_qrnnd (q1, n1, 0, n1, d0);
udiv_qrnnd (q0, n0, n1, n0, d0);
 
/* Remainder in n0. */
}
 
if (rp != 0)
{
rr.s.low = n0;
rr.s.high = 0;
*rp = rr.ll;
}
}
 
#else /* UDIV_NEEDS_NORMALIZATION */
 
if (d1 == 0)
{
if (d0 > n1)
{
/* 0q = nn / 0D */
 
count_leading_zeros (bm, d0);
 
if (bm != 0)
{
/* Normalize, i.e. make the most significant bit of the
denominator set. */
 
d0 = d0 << bm;
n1 = (n1 << bm) | (n0 >> (W_TYPE_SIZE - bm));
n0 = n0 << bm;
}
 
udiv_qrnnd (q0, n0, n1, n0, d0);
q1 = 0;
 
/* Remainder in n0 >> bm. */
}
else
{
/* qq = NN / 0d */
 
if (d0 == 0)
d0 = 1 / d0; /* Divide intentionally by zero. */
 
count_leading_zeros (bm, d0);
 
if (bm == 0)
{
/* From (n1 >= d0) /\ (the most significant bit of d0 is set),
conclude (the most significant bit of n1 is set) /\ (the
leading quotient digit q1 = 1).
 
This special case is necessary, not an optimization.
(Shifts counts of W_TYPE_SIZE are undefined.) */
 
n1 -= d0;
q1 = 1;
}
else
{
/* Normalize. */
 
b = W_TYPE_SIZE - bm;
 
d0 = d0 << bm;
n2 = n1 >> b;
n1 = (n1 << bm) | (n0 >> b);
n0 = n0 << bm;
 
udiv_qrnnd (q1, n1, n2, n1, d0);
}
 
/* n1 != d0... */
 
udiv_qrnnd (q0, n0, n1, n0, d0);
 
/* Remainder in n0 >> bm. */
}
 
if (rp != 0)
{
rr.s.low = n0 >> bm;
rr.s.high = 0;
*rp = rr.ll;
}
}
#endif /* UDIV_NEEDS_NORMALIZATION */
 
else
{
if (d1 > n1)
{
/* 00 = nn / DD */
 
q0 = 0;
q1 = 0;
 
/* Remainder in n1n0. */
if (rp != 0)
{
rr.s.low = n0;
rr.s.high = n1;
*rp = rr.ll;
}
}
else
{
/* 0q = NN / dd */
 
count_leading_zeros (bm, d1);
if (bm == 0)
{
/* From (n1 >= d1) /\ (the most significant bit of d1 is set),
conclude (the most significant bit of n1 is set) /\ (the
quotient digit q0 = 0 or 1).
 
This special case is necessary, not an optimization. */
 
/* The condition on the next line takes advantage of that
n1 >= d1 (true due to program flow). */
if (n1 > d1 || n0 >= d0)
{
q0 = 1;
sub_ddmmss (n1, n0, n1, n0, d1, d0);
}
else
q0 = 0;
 
q1 = 0;
 
if (rp != 0)
{
rr.s.low = n0;
rr.s.high = n1;
*rp = rr.ll;
}
}
else
{
UWtype m1, m0;
/* Normalize. */
 
b = W_TYPE_SIZE - bm;
 
d1 = (d1 << bm) | (d0 >> b);
d0 = d0 << bm;
n2 = n1 >> b;
n1 = (n1 << bm) | (n0 >> b);
n0 = n0 << bm;
 
udiv_qrnnd (q0, n1, n2, n1, d1);
umul_ppmm (m1, m0, q0, d0);
 
if (m1 > n1 || (m1 == n1 && m0 > n0))
{
q0--;
sub_ddmmss (m1, m0, m1, m0, d1, d0);
}
 
q1 = 0;
 
/* Remainder in (n1n0 - m1m0) >> bm. */
if (rp != 0)
{
sub_ddmmss (n1, n0, n1, n0, m1, m0);
rr.s.low = (n1 << b) | (n0 >> bm);
rr.s.high = n1 >> bm;
*rp = rr.ll;
}
}
}
}
 
ww.s.low = q0;
ww.s.high = q1;
return ww.ll;
}
 
#define __negdi2(a) (-(a))
 
long long __divdi3(long long u, long long v)
{
int c = 0;
DWunion uu, vv;
DWtype w;
uu.ll = u;
vv.ll = v;
if (uu.s.high < 0) {
c = ~c;
uu.ll = __negdi2 (uu.ll);
}
if (vv.s.high < 0) {
c = ~c;
vv.ll = __negdi2 (vv.ll);
}
w = __udivmoddi4 (uu.ll, vv.ll, (UDWtype *) 0);
if (c)
w = __negdi2 (w);
return w;
}
 
// https://github.com/KaMeHb-UA/UE4m/blob/1d9ad5bfead06520570c7f24dad062f9f8717c1a/\
Engine/Extras/ThirdPartyNotUE/emsdk/emscripten/incoming/system/lib/compiler-rt/lib/\
builtins/divmoddi4.c
long long __divmoddi4(long long a, long long b, long long* rem)
{
long long d = __divdi3(a, b);
*rem = a - (d * b);
return d;
}
 
long long __moddi3(long long u, long long v)
{
int c = 0;
DWunion uu, vv;
DWtype w;
uu.ll = u;
vv.ll = v;
if (uu.s.high < 0) {
c = ~c;
uu.ll = __negdi2 (uu.ll);
}
if (vv.s.high < 0)
vv.ll = __negdi2 (vv.ll);
__udivmoddi4 (uu.ll, vv.ll, (UDWtype *) &w);
if (c)
w = __negdi2 (w);
return w;
}
 
unsigned long long __udivdi3(unsigned long long u, unsigned long long v)
{
return __udivmoddi4 (u, v, (UDWtype *) 0);
}
 
unsigned long long __umoddi3(unsigned long long u, unsigned long long v)
{
UDWtype w;
__udivmoddi4 (u, v, &w);
return w;
}
 
/* XXX: fix tcc's code generator to do this instead */
long long __ashrdi3(long long a, int b)
{
#ifdef __TINYC__
DWunion u;
u.ll = a;
if (b >= 32) {
u.s.low = u.s.high >> (b - 32);
u.s.high = u.s.high >> 31;
} else if (b != 0) {
u.s.low = ((unsigned)u.s.low >> b) | (u.s.high << (32 - b));
u.s.high = u.s.high >> b;
}
return u.ll;
#else
return a >> b;
#endif
}
 
/* XXX: fix tcc's code generator to do this instead */
unsigned long long __lshrdi3(unsigned long long a, int b)
{
#ifdef __TINYC__
DWunion u;
u.ll = a;
if (b >= 32) {
u.s.low = (unsigned)u.s.high >> (b - 32);
u.s.high = 0;
} else if (b != 0) {
u.s.low = ((unsigned)u.s.low >> b) | (u.s.high << (32 - b));
u.s.high = (unsigned)u.s.high >> b;
}
return u.ll;
#else
return a >> b;
#endif
}
 
/* XXX: fix tcc's code generator to do this instead */
long long __ashldi3(long long a, int b)
{
#ifdef __TINYC__
DWunion u;
u.ll = a;
if (b >= 32) {
u.s.high = (unsigned)u.s.low << (b - 32);
u.s.low = 0;
} else if (b != 0) {
u.s.high = ((unsigned)u.s.high << b) | ((unsigned)u.s.low >> (32 - b));
u.s.low = (unsigned)u.s.low << b;
}
return u.ll;
#else
return a << b;
#endif
}
 
#ifndef COMMIT_4ad186c5ef61_IS_FIXED
long long __tcc_cvt_ftol(long double x)
{
unsigned c0, c1;
long long ret;
__asm__ __volatile__ ("fnstcw %0" : "=m" (c0));
c1 = c0 | 0x0C00;
__asm__ __volatile__ ("fldcw %0" : : "m" (c1));
__asm__ __volatile__ ("fistpll %0" : "=m" (ret));
__asm__ __volatile__ ("fldcw %0" : : "m" (c0));
return ret;
}
#endif
 
#endif /* !__x86_64__ */
 
/* XXX: fix tcc's code generator to do this instead */
float __floatundisf(unsigned long long a)
{
DWunion uu;
XFtype r;
 
uu.ll = a;
if (uu.s.high >= 0) {
return (float)uu.ll;
} else {
r = (XFtype)uu.ll;
r += 18446744073709551616.0;
return (float)r;
}
}
 
double __floatundidf(unsigned long long a)
{
DWunion uu;
XFtype r;
 
uu.ll = a;
if (uu.s.high >= 0) {
return (double)uu.ll;
} else {
r = (XFtype)uu.ll;
r += 18446744073709551616.0;
return (double)r;
}
}
 
long double __floatundixf(unsigned long long a)
{
DWunion uu;
XFtype r;
 
uu.ll = a;
if (uu.s.high >= 0) {
return (long double)uu.ll;
} else {
r = (XFtype)uu.ll;
r += 18446744073709551616.0;
return (long double)r;
}
}
 
unsigned long long __fixunssfdi (float a1)
{
register union float_long fl1;
register int exp;
register unsigned long l;
 
fl1.f = a1;
 
if (fl1.l == 0)
return (0);
 
exp = EXP (fl1.l) - EXCESS - 24;
 
l = MANT(fl1.l);
if (exp >= 41)
return (unsigned long long)-1;
else if (exp >= 0)
return (unsigned long long)l << exp;
else if (exp >= -23)
return l >> -exp;
else
return 0;
}
 
unsigned long long __fixunsdfdi (double a1)
{
register union double_long dl1;
register int exp;
register unsigned long long l;
 
dl1.d = a1;
 
if (dl1.ll == 0)
return (0);
 
exp = EXPD (dl1) - EXCESSD - 53;
 
l = MANTD_LL(dl1);
 
if (exp >= 12)
return (unsigned long long)-1;
else if (exp >= 0)
return l << exp;
else if (exp >= -52)
return l >> -exp;
else
return 0;
}
 
unsigned long long __fixunsxfdi (long double a1)
{
register union ldouble_long dl1;
register int exp;
register unsigned long long l;
 
dl1.ld = a1;
 
if (dl1.l.lower == 0 && dl1.l.upper == 0)
return (0);
 
exp = EXPLD (dl1) - EXCESSLD - 64;
 
l = dl1.l.lower;
 
if (exp > 0)
return (unsigned long long)-1;
else if (exp >= -63)
return l >> -exp;
else
return 0;
}
 
long long __fixsfdi (float a1)
{
long long ret; int s;
ret = __fixunssfdi((s = a1 >= 0) ? a1 : -a1);
return s ? ret : -ret;
}
 
long long __fixdfdi (double a1)
{
long long ret; int s;
ret = __fixunsdfdi((s = a1 >= 0) ? a1 : -a1);
return s ? ret : -ret;
}
 
long long __fixxfdi (long double a1)
{
long long ret; int s;
ret = __fixunsxfdi((s = a1 >= 0) ? a1 : -a1);
return s ? ret : -ret;
}
 
#if defined(TCC_TARGET_X86_64) && !defined(_WIN64)
 
#ifndef __TINYC__
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#else
/* Avoid including stdlib.h because it is not easily available when
cross compiling */
#include <stddef.h> /* size_t definition is needed for a x86_64-tcc to parse memset() */
void *malloc(unsigned long long);
void *memset(void *s, int c, size_t n);
void free(void*);
void abort(void);
#endif
 
enum __va_arg_type {
__va_gen_reg, __va_float_reg, __va_stack
};
 
//This should be in sync with the declaration on our include/stdarg.h
/* GCC compatible definition of va_list. */
typedef struct {
unsigned int gp_offset;
unsigned int fp_offset;
union {
unsigned int overflow_offset;
char *overflow_arg_area;
};
char *reg_save_area;
} __va_list_struct;
 
#undef __va_start
#undef __va_arg
#undef __va_copy
#undef __va_end
 
void __va_start(__va_list_struct *ap, void *fp)
{
memset(ap, 0, sizeof(__va_list_struct));
*ap = *(__va_list_struct *)((char *)fp - 16);
ap->overflow_arg_area = (char *)fp + ap->overflow_offset;
ap->reg_save_area = (char *)fp - 176 - 16;
}
 
void *__va_arg(__va_list_struct *ap,
enum __va_arg_type arg_type,
int size, int align)
{
size = (size + 7) & ~7;
align = (align + 7) & ~7;
switch (arg_type) {
case __va_gen_reg:
if (ap->gp_offset + size <= 48) {
ap->gp_offset += size;
return ap->reg_save_area + ap->gp_offset - size;
}
goto use_overflow_area;
 
case __va_float_reg:
if (ap->fp_offset < 128 + 48) {
ap->fp_offset += 16;
return ap->reg_save_area + ap->fp_offset - 16;
}
size = 8;
goto use_overflow_area;
 
case __va_stack:
use_overflow_area:
ap->overflow_arg_area += size;
ap->overflow_arg_area = (char*)((intptr_t)(ap->overflow_arg_area + align - 1) & -(intptr_t)align);
return ap->overflow_arg_area - size;
 
default:
#ifndef __TINYC__
fprintf(stderr, "unknown ABI type for __va_arg\n");
#endif
abort();
}
}
 
#endif /* __x86_64__ */
 
/* Flushing for tccrun */
#if defined(TCC_TARGET_X86_64) || defined(TCC_TARGET_I386)
 
void __clear_cache(void *beginning, void *end)
{
}
 
#elif defined(TCC_TARGET_ARM)
 
#define _GNU_SOURCE
#include <unistd.h>
#include <sys/syscall.h>
#include <stdio.h>
 
void __clear_cache(void *beginning, void *end)
{
/* __ARM_NR_cacheflush is kernel private and should not be used in user space.
* However, there is no ARM asm parser in tcc so we use it for now */
#if 1
syscall(__ARM_NR_cacheflush, beginning, end, 0);
#else
__asm__ ("push {r7}\n\t"
"mov r7, #0xf0002\n\t"
"mov r2, #0\n\t"
"swi 0\n\t"
"pop {r7}\n\t"
"ret");
#endif
}
 
#else
#warning __clear_cache not defined for this architecture, avoid using tcc -run
#endif
/programs/develop/libraries/kos_mbedtls/library/libtcc/memcpy.c
0,0 → 1,20
/* memcpy( void *, const void *, size_t )
 
This file is part of the Public Domain C Library (PDCLib).
Permission is granted to use, modify, and / or redistribute at will.
*/
 
#include <string.h>
 
void * memcpy( void * s1, const void * s2, size_t n )
{
char * dest = ( char * ) s1;
const char * src = ( const char * ) s2;
 
while ( n-- )
{
*dest++ = *src++;
}
 
return s1;
}
/programs/develop/libraries/kos_mbedtls/library/libtcc/memmove.c
0,0 → 1,33
/* memmove( void *, const void *, size_t )
 
This file is part of the Public Domain C Library (PDCLib).
Permission is granted to use, modify, and / or redistribute at will.
*/
 
#include <string.h>
 
void * memmove( void * s1, const void * s2, size_t n )
{
char * dest = ( char * ) s1;
const char * src = ( const char * ) s2;
 
if ( dest <= src )
{
while ( n-- )
{
*dest++ = *src++;
}
}
else
{
src += n;
dest += n;
 
while ( n-- )
{
*--dest = *--src;
}
}
 
return s1;
}
/programs/develop/libraries/kos_mbedtls/library/libtcc/memset.c
0,0 → 1,20
/* memset( void *, int, size_t )
 
This file is part of the Public Domain C Library (PDCLib).
Permission is granted to use, modify, and / or redistribute at will.
*/
 
#include <string.h>
#include <stdint.h>
 
void * memset( void * s, int c, size_t n )
{
unsigned char * p = ( unsigned char * ) s;
 
while ( n-- )
{
*p++ = ( unsigned char ) c;
}
 
return s;
}
/programs/develop/libraries/kos_mbedtls/library/mbedtls_init.asm
0,0 → 1,97
format coff
use32 ; Tell compiler to use 32 bit instructions
 
;section '.export'
 
section '.text'
 
include '../../../../proc32.inc'
include '../../../../macros.inc'
include '../../../../debug-fdo.inc'
include '../../../../dll.inc'
 
 
public mbedtls_init
;;; Returns 0 on success. -1 on failure.
 
__DEBUG__ = 1
__DEBUG_LEVEL__ = 2
 
 
mbedtls_init:
pushad
stdcall dll.Load, @IMPORT
;int3
test eax, eax
jnz .error
popad
mov eax, 0
ret
 
.error:
popad
mov eax, -1
ret
 
gmtime:
jmp [localtime]
 
;include_debug_strings
 
section '.data'
 
align 4
@IMPORT:
library libc, 'libc.obj', networklib, 'network.obj'
import libc, \
memcmp, 'memcmp', \
printf, 'printf', \
free, 'free', \
strlen, 'strlen', \
_strcmp, 'strcmp', \
strstr, 'strstr', \
rand, 'rand', \
vsnprintf, 'vsnprintf', \
socket, 'socket', \
connect, 'connect', \
close , 'close', \
recv, 'recv', \
send, 'send', \
time, 'time', \
strncmp, 'strncmp', \
strncpy, 'strncpy', \
calloc, 'calloc' , \
snprintf, 'snprintf', \
localtime, 'localtime'
 
import networklib, \
inet_addr, 'inet_addr', \
inet_ntoa, 'inet_ntoa', \
getaddrinfo, 'getaddrinfo', \
freeaddrinfo, 'freeaddrinfo'
public inet_addr
public inet_ntoa
public getaddrinfo
public freeaddrinfo
 
public rand
public memcmp
public printf
public calloc
public free
public strlen
public _strcmp as 'strcmp'
public strstr
public gmtime
public vsnprintf
public socket
public connect
public close
public recv
public send
public time
public strncmp
public strncpy
public snprintf
/programs/develop/libraries/kos_mbedtls/library/net_sockets.c
44,9 → 44,9
 
#include <string.h>
 
#include "kosnet/socket.h"
#include "kosnet/network.h"
/*#include <sys/socket.h>
#include <sys/socket.h>
#include <clayer/network.h>
/*
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/time.h>
68,15 → 68,17
*/
static int net_prepare( void )
{
load_network_obj();
//load_network_obj();
return( 0 );
}
 
 
/*
* Initialize a context
*/
void mbedtls_net_init( mbedtls_net_context *ctx )
{
//printf("snprintf=%p\n", printf);
ctx->fd = -1;
}
 
119,7 → 121,7
break;
}
 
closesocket( ctx->fd );
close( ctx->fd );
ret = MBEDTLS_ERR_NET_CONNECT_FAILED;
}
 
205,7 → 207,7
return;
 
//shutdown( ctx->fd, 2 );
closesocket( ctx->fd );
close( ctx->fd );
 
ctx->fd = -1;
}
/programs/develop/libraries/kos_mbedtls/library/platform_util.c
70,7 → 70,7
* mbedtls_platform_zeroize() to use a suitable implementation for their
* platform and needs.
*/
static void * (* const volatile memset_func)( void *, int, size_t ) = memset;
static void * (* const volatile memset_func)( void *, int, size_t ) = &memset;
 
void mbedtls_platform_zeroize( void *buf, size_t len )
{
86,7 → 86,7
#if !defined(_WIN32) && (defined(unix) || \
defined(__unix) || defined(__unix__) || (defined(__APPLE__) && \
defined(__MACH__)))
#include <unistd.h>
//#include <unistd.h>
#endif /* !_WIN32 && (unix || __unix || __unix__ ||
* (__APPLE__ && __MACH__)) */
 
/programs/develop/libraries/kos_mbedtls/programs/random/gen_random_ctr_drbg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/programs/develop/libraries/kos_mbedtls/programs/random/gen_entropy
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/programs/develop/libraries/kos_mbedtls/programs/random/run_img.bat
File deleted
\ No newline at end of file
/programs/develop/libraries/kos_mbedtls/programs/ssl/ssl_client1
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/programs/develop/libraries/kos_mbedtls/programs/ssl/run_img.bat
File deleted
\ No newline at end of file
/programs/develop/libraries/kos_mbedtls/programs/ssl/Makefile
1,24 → 1,12
NEWLIB_INCLUDES=D:\KOSSDK\newlib\libc\include
APP_DYNAMIC_LDS=D:\KOSSDK\newlib/app-dynamic.lds
LIBDIR=D:\KOSSDK\kos32-msys-5.4.0\win32\lib
MAIN_TARGET=ssl_client1
FASM = fasm
TCC_DIR = /home/max/kolibri-svn/programs/develop/ktcc/trunk
TCC= $(TCC_DIR)/bin/kos32-tcc
 
CC=kos32-gcc
LD=kos32-ld
OBJCOPY=kos32-objcopy
CFLAGS= -I../../include -I$(TCC_DIR)/libc.obj/include -stack=10000
 
CCFLAGS=-c -fomit-frame-pointer -I $(NEWLIB_INCLUDES) -I../../include -I../../kosnet/include -Wall -Wextra
LDFLAGS=-call_shared -nostdlib --subsystem console -T $(APP_DYNAMIC_LDS) --image-base 0 -L $(LIBDIR) -L ../../kosnet -L ../../library -lmbedtls -lmbedx509 -lmbedcrypto -lkosnet -lgcc -lapp -lc.dll
all:
$(FASM) load_mbedtls.asm
$(TCC) $(CFLAGS) ssl_client1.c load_mbedtls.o -o ssl_client1 -ltcc -lc.obj
 
all: ssl_client1
 
ssl_client1: ssl_client1.o
$(LD) ssl_client1.o -o $(MAIN_TARGET) $(LDFLAGS)
$(OBJCOPY) $(MAIN_TARGET) -O binary
 
ssl_client1.o: ssl_client1.c
$(CC) $(CCFLAGS) ssl_client1.c -o ssl_client1.o
 
clean:
del *.o
del $(MAIN_TARGET)
rm -f *.o ssl_client1
/programs/develop/libraries/kos_mbedtls/programs/ssl/load_mbedtls.asm
0,0 → 1,153
format elf
use32
 
section '.text' executable
 
include '../../../../../proc32.inc'
include '../../../../../macros.inc'
purge section,mov,add,sub
include '../../../../../dll.inc'
public mbedtls_load
public mbedtls_ctr_drbg_free
public mbedtls_ctr_drbg_init
public mbedtls_ctr_drbg_random
public mbedtls_ctr_drbg_seed
public mbedtls_debug_set_threshold
public mbedtls_entropy_free
public mbedtls_entropy_func
public mbedtls_entropy_init
public mbedtls_net_connect
public mbedtls_net_free
public mbedtls_net_init
public mbedtls_net_recv
public mbedtls_net_send
public mbedtls_ssl_close_notify
public mbedtls_ssl_conf_authmode
public mbedtls_ssl_conf_ca_chain
public mbedtls_ssl_conf_dbg
public mbedtls_ssl_config_defaults
public mbedtls_ssl_config_free
public mbedtls_ssl_config_init
public mbedtls_ssl_conf_rng
public mbedtls_ssl_free
public mbedtls_ssl_get_verify_result
public mbedtls_ssl_handshake
public mbedtls_ssl_init
public mbedtls_ssl_read
public mbedtls_ssl_set_bio
public mbedtls_ssl_set_hostname
public mbedtls_ssl_setup
public mbedtls_ssl_write
public mbedtls_strerror
public _mbedtls_test_cas_pem
public _mbedtls_test_cas_pem_len
public mbedtls_x509_crt_free
public mbedtls_x509_crt_init
public mbedtls_x509_crt_parse
public mbedtls_x509_crt_verify_info
public mbedtls_init
public __snprintf_test
 
__snprintf_test:
ret
 
;;; Returns 0 on success. -1 on failure.
 
proc mbedtls_load
stdcall dll.Load, @IMPORT
test eax, eax
jnz error
 
mov eax, 0
ret
 
error:
mov eax, -1
ret
endp
 
mbedtls_ctr_drbg_free: jmp [_mbedtls_ctr_drbg_free ]
mbedtls_ctr_drbg_init: jmp [_mbedtls_ctr_drbg_init ]
mbedtls_ctr_drbg_random: jmp [_mbedtls_ctr_drbg_random ]
mbedtls_ctr_drbg_seed: jmp [_mbedtls_ctr_drbg_seed ]
mbedtls_debug_set_threshold: jmp [_mbedtls_debug_set_threshold ]
mbedtls_entropy_free: jmp [_mbedtls_entropy_free ]
mbedtls_entropy_func: jmp [_mbedtls_entropy_func ]
mbedtls_entropy_init: jmp [_mbedtls_entropy_init ]
mbedtls_net_connect: jmp [_mbedtls_net_connect ]
mbedtls_net_free: jmp [_mbedtls_net_free ]
mbedtls_net_init: jmp [_mbedtls_net_init ]
mbedtls_net_recv: jmp [_mbedtls_net_recv ]
mbedtls_net_send: jmp [_mbedtls_net_send ]
mbedtls_ssl_close_notify: jmp [_mbedtls_ssl_close_notify ]
mbedtls_ssl_conf_authmode: jmp [_mbedtls_ssl_conf_authmode ]
mbedtls_ssl_conf_ca_chain: jmp [_mbedtls_ssl_conf_ca_chain ]
mbedtls_ssl_conf_dbg: jmp [_mbedtls_ssl_conf_dbg ]
mbedtls_ssl_config_defaults: jmp [_mbedtls_ssl_config_defaults ]
mbedtls_ssl_config_free: jmp [_mbedtls_ssl_config_free ]
mbedtls_ssl_config_init: jmp [_mbedtls_ssl_config_init ]
mbedtls_ssl_conf_rng: jmp [_mbedtls_ssl_conf_rng ]
mbedtls_ssl_free: jmp [_mbedtls_ssl_free ]
mbedtls_ssl_get_verify_result: jmp [_mbedtls_ssl_get_verify_result ]
mbedtls_ssl_handshake: jmp [_mbedtls_ssl_handshake ]
mbedtls_ssl_init: jmp [_mbedtls_ssl_init ]
mbedtls_ssl_read: jmp [_mbedtls_ssl_read ]
mbedtls_ssl_set_bio: jmp [_mbedtls_ssl_set_bio ]
mbedtls_ssl_set_hostname: jmp [_mbedtls_ssl_set_hostname ]
mbedtls_ssl_setup: jmp [_mbedtls_ssl_setup ]
mbedtls_ssl_write: jmp [_mbedtls_ssl_write ]
mbedtls_strerror: jmp [_mbedtls_strerror]
;mbedtls_test_cas_pem: jmp [_mbedtls_test_cas_pem ]
;mbedtls_test_cas_pem_len: jmp [_mbedtls_test_cas_pem_len ]
mbedtls_x509_crt_free: jmp [_mbedtls_x509_crt_free ]
mbedtls_x509_crt_init: jmp [_mbedtls_x509_crt_init ]
mbedtls_x509_crt_parse: jmp [_mbedtls_x509_crt_parse]
mbedtls_x509_crt_verify_info: jmp [_mbedtls_x509_crt_verify_info ]
mbedtls_init: jmp [_mbedtls_init]
;__snprintf_test: jmp[___snprintf_test]
 
section '.data' writable
@IMPORT:
library mbedtls, 'mbedtls.obj'
import mbedtls, \
_mbedtls_init , 'mbedtls_init' ,\
_mbedtls_strerror , 'mbedtls_strerror' ,\
_mbedtls_test_cas_pem , 'mbedtls_test_cas_pem' ,\
_mbedtls_test_cas_pem_len , 'mbedtls_test_cas_pem_len' ,\
_mbedtls_x509_crt_free , 'mbedtls_x509_crt_free' ,\
_mbedtls_x509_crt_init , 'mbedtls_x509_crt_init' ,\
_mbedtls_x509_crt_parse , 'mbedtls_x509_crt_parse' ,\
_mbedtls_x509_crt_verify_info , 'mbedtls_x509_crt_verify_info' ,\
_mbedtls_ctr_drbg_free , 'mbedtls_ctr_drbg_free' ,\
_mbedtls_ctr_drbg_init , 'mbedtls_ctr_drbg_init' ,\
_mbedtls_ctr_drbg_random , 'mbedtls_ctr_drbg_random' ,\
_mbedtls_ctr_drbg_seed , 'mbedtls_ctr_drbg_seed' ,\
_mbedtls_debug_set_threshold , 'mbedtls_debug_set_threshold' ,\
_mbedtls_entropy_free , 'mbedtls_entropy_free' ,\
_mbedtls_entropy_func , 'mbedtls_entropy_func' ,\
_mbedtls_entropy_init , 'mbedtls_entropy_init' ,\
_mbedtls_net_connect , 'mbedtls_net_connect' ,\
_mbedtls_net_free , 'mbedtls_net_free' ,\
_mbedtls_net_init , 'mbedtls_net_init' ,\
_mbedtls_net_recv , 'mbedtls_net_recv' ,\
_mbedtls_net_send , 'mbedtls_net_send' ,\
_mbedtls_ssl_close_notify , 'mbedtls_ssl_close_notify' ,\
_mbedtls_ssl_conf_authmode , 'mbedtls_ssl_conf_authmode' ,\
_mbedtls_ssl_conf_ca_chain , 'mbedtls_ssl_conf_ca_chain' ,\
_mbedtls_ssl_conf_dbg , 'mbedtls_ssl_conf_dbg' ,\
_mbedtls_ssl_config_defaults , 'mbedtls_ssl_config_defaults' ,\
_mbedtls_ssl_config_free , 'mbedtls_ssl_config_free' ,\
_mbedtls_ssl_config_init , 'mbedtls_ssl_config_init' ,\
_mbedtls_ssl_conf_rng , 'mbedtls_ssl_conf_rng' ,\
_mbedtls_ssl_free , 'mbedtls_ssl_free' ,\
_mbedtls_ssl_get_verify_result , 'mbedtls_ssl_get_verify_result' ,\
_mbedtls_ssl_handshake , 'mbedtls_ssl_handshake' ,\
_mbedtls_ssl_init , 'mbedtls_ssl_init' ,\
_mbedtls_ssl_read , 'mbedtls_ssl_read' ,\
_mbedtls_ssl_set_bio , 'mbedtls_ssl_set_bio' ,\
_mbedtls_ssl_set_hostname , 'mbedtls_ssl_set_hostname' ,\
_mbedtls_ssl_setup , 'mbedtls_ssl_setup' ,\
_mbedtls_ssl_write , 'mbedtls_ssl_write'
 
/programs/develop/libraries/kos_mbedtls/programs/ssl/ssl_client1.c
20,7 → 20,6
*
* This file is part of mbed TLS (https://tls.mbed.org)
*/
 
#if !defined(MBEDTLS_CONFIG_FILE)
#include "mbedtls/config.h"
#else
27,9 → 26,11
#include MBEDTLS_CONFIG_FILE
#endif
 
#if defined(MBEDTLS_PLATFORM_C)
#include "mbedtls/platform.h"
#else
#include <sys/ksys.h>
 
//#if defined(MBEDTLS_PLATFORM_C)
//#include "mbedtls/platform.h"
//#else
#include <stdio.h>
#include <stdlib.h>
#define mbedtls_time time
37,16 → 38,16
#define mbedtls_fprintf fprintf
#define mbedtls_printf printf
#define mbedtls_exit exit
#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS
#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE
#endif /* MBEDTLS_PLATFORM_C */
#define MBEDTLS_EXIT_SUCCESS 0
#define MBEDTLS_EXIT_FAILURE -1
//#endif /* MBEDTLS_PLATFORM_C */
 
#if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_ENTROPY_C) || \
//#if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_ENTROPY_C) || \
!defined(MBEDTLS_SSL_TLS_C) || !defined(MBEDTLS_SSL_CLI_C) || \
!defined(MBEDTLS_NET_C) || !defined(MBEDTLS_RSA_C) || \
!defined(MBEDTLS_CERTS_C) || !defined(MBEDTLS_PEM_PARSE_C) || \
!defined(MBEDTLS_CTR_DRBG_C) || !defined(MBEDTLS_X509_CRT_PARSE_C)
int main( void )
/*int main( void )
{
mbedtls_printf("MBEDTLS_BIGNUM_C and/or MBEDTLS_ENTROPY_C and/or "
"MBEDTLS_SSL_TLS_C and/or MBEDTLS_SSL_CLI_C and/or "
55,7 → 56,7
"not defined.\n");
return( 0 );
}
#else
//#else*/
 
#include "mbedtls/net_sockets.h"
#include "mbedtls/debug.h"
70,13 → 71,22
//#define SERVER_PORT "443"
//#define SERVER_NAME "wikipedia.org"
//#define GET_REQUEST "GET / HTTP/1.0\r\n\r\n"
char SERVER_PORT[16];
char SERVER_NAME[128];
char GET_REQUEST[512];
static char SERVER_PORT[16];
static char SERVER_NAME[128];
static char GET_REQUEST[512];
 
#define DEBUG_LEVEL 1
 
extern int *_mbedtls_test_cas_pem_len;
extern char* _mbedtls_test_cas_pem;
 
#define mbedtls_test_cas_pem_len *_mbedtls_test_cas_pem_len
#define mbedtls_test_cas_pem _mbedtls_test_cas_pem
 
//gmtime(time_t t){puts("gmtime stub");};
 
//int load_network_obj(){return networklib_init();}
 
static void my_debug( void *ctx, int level,
const char *file, int line,
const char *str )
90,11 → 100,21
 
int main( void )
{
if(mbedtls_load()){
printf("mbedtls.obj not load!\n");
return -1;
}
if(mbedtls_init()){
puts("mbedtls.obj not init!");
return -1;
}
puts("Enter SERVER_NAME : ");
gets(SERVER_NAME);
puts("Enter SERVER_PORT : ");
gets(SERVER_PORT);
sprintf(GET_REQUEST, "GET / HTTP/1.1\r\nHost: %s\r\n\r\n", SERVER_NAME);
//puts(GET_REQUEST);
 
int ret = 1, len;
int exit_code = MBEDTLS_EXIT_FAILURE;
102,7 → 122,6
uint32_t flags;
unsigned char buf[1024];
const char *pers = "ssl_client1";
 
mbedtls_entropy_context entropy;
mbedtls_ctr_drbg_context ctr_drbg;
mbedtls_ssl_context ssl;
110,7 → 129,7
mbedtls_x509_crt cacert;
 
#if defined(MBEDTLS_DEBUG_C)
mbedtls_debug_set_threshold( DEBUG_LEVEL );
// mbedtls_debug_set_threshold( DEBUG_LEVEL );
#endif
 
/*
121,10 → 140,8
mbedtls_ssl_config_init( &conf );
mbedtls_x509_crt_init( &cacert );
mbedtls_ctr_drbg_init( &ctr_drbg );
 
mbedtls_printf( "\n . Seeding the random number generator..." );
//fflush( stdout );
 
mbedtls_entropy_init( &entropy );
if( ( ret = mbedtls_ctr_drbg_seed( &ctr_drbg, mbedtls_entropy_func, &entropy,
(const unsigned char *) pers,
138,7 → 155,7
 
/*
* 0. Initialize certificates
*/
*/;
mbedtls_printf( " . Loading the CA root certificate ..." );
//fflush( stdout );
 
204,7 → 221,6
}
 
mbedtls_ssl_set_bio( &ssl, &server_fd, mbedtls_net_send, mbedtls_net_recv, NULL );
 
/*
* 4. Handshake
*/
301,15 → 317,14
exit_code = MBEDTLS_EXIT_SUCCESS;
 
exit:
 
#ifdef MBEDTLS_ERROR_C
//#ifdef MBEDTLS_ERROR_C
if( exit_code != MBEDTLS_EXIT_SUCCESS )
{
char error_buf[100];
static char error_buf[100];
mbedtls_strerror( ret, error_buf, 100 );
mbedtls_printf("Last error was: %d - %s\n\n", ret, error_buf );
}
#endif
//#endif
 
mbedtls_net_free( &server_fd );
 
322,7 → 337,7
 
return( exit_code );
}
#endif /* MBEDTLS_BIGNUM_C && MBEDTLS_ENTROPY_C && MBEDTLS_SSL_TLS_C &&
/*#endif MBEDTLS_BIGNUM_C && MBEDTLS_ENTROPY_C && MBEDTLS_SSL_TLS_C &&
MBEDTLS_SSL_CLI_C && MBEDTLS_NET_C && MBEDTLS_RSA_C &&
MBEDTLS_CERTS_C && MBEDTLS_PEM_PARSE_C && MBEDTLS_CTR_DRBG_C &&
MBEDTLS_X509_CRT_PARSE_C */