v2 / vlib / net / mbedtls / mbedtls.c.v
231 lines · 205 sloc · 10.55 KB · e2e5cf8db56f3562c7baa735061690be936bdf3e
Raw
1module mbedtls
2
3#flag -I @VEXEROOT/thirdparty/mbedtls/library
4#flag -I @VEXEROOT/thirdparty/mbedtls/include
5// #flag -D _FILE_OFFSET_BITS=64
6#flag -I @VEXEROOT/thirdparty/mbedtls/3rdparty/everest/include
7#flag -I @VEXEROOT/thirdparty/mbedtls/3rdparty/everest/include/everest
8#flag -I @VEXEROOT/thirdparty/mbedtls/3rdparty/everest/include/everest/kremlib
9
10$if macos && arm64 && tinyc {
11 // Ensure mbedtls disables unsupported ARM asm paths for tinycc on Apple Silicon.
12 #flag -D__TINYC__
13}
14
15// TODO: this should be built-in to the compiler
16$if prod && opt_size ? {
17 #flag -Os
18}
19
20#flag @VEXEROOT/thirdparty/mbedtls/library/aes.o
21#flag @VEXEROOT/thirdparty/mbedtls/library/aesce.o
22#flag @VEXEROOT/thirdparty/mbedtls/library/aesni.o
23#flag @VEXEROOT/thirdparty/mbedtls/library/aria.o
24#flag @VEXEROOT/thirdparty/mbedtls/library/asn1parse.o
25#flag @VEXEROOT/thirdparty/mbedtls/library/asn1write.o
26#flag @VEXEROOT/thirdparty/mbedtls/library/base64.o
27#flag @VEXEROOT/thirdparty/mbedtls/library/bignum.o
28#flag @VEXEROOT/thirdparty/mbedtls/library/bignum_core.o
29#flag @VEXEROOT/thirdparty/mbedtls/library/bignum_mod.o
30#flag @VEXEROOT/thirdparty/mbedtls/library/bignum_mod_raw.o
31#flag @VEXEROOT/thirdparty/mbedtls/library/block_cipher.o
32#flag @VEXEROOT/thirdparty/mbedtls/library/camellia.o
33#flag @VEXEROOT/thirdparty/mbedtls/library/ccm.o
34#flag @VEXEROOT/thirdparty/mbedtls/library/chacha20.o
35#flag @VEXEROOT/thirdparty/mbedtls/library/chachapoly.o
36#flag @VEXEROOT/thirdparty/mbedtls/library/cipher.o
37#flag @VEXEROOT/thirdparty/mbedtls/library/cipher_wrap.o
38#flag @VEXEROOT/thirdparty/mbedtls/library/cmac.o
39#flag @VEXEROOT/thirdparty/mbedtls/library/constant_time.o
40#flag @VEXEROOT/thirdparty/mbedtls/library/ctr_drbg.o
41#flag @VEXEROOT/thirdparty/mbedtls/library/debug.o
42#flag @VEXEROOT/thirdparty/mbedtls/library/des.o
43#flag @VEXEROOT/thirdparty/mbedtls/library/dhm.o
44#flag @VEXEROOT/thirdparty/mbedtls/library/ecdh.o
45#flag @VEXEROOT/thirdparty/mbedtls/library/ecdsa.o
46#flag @VEXEROOT/thirdparty/mbedtls/library/ecjpake.o
47#flag @VEXEROOT/thirdparty/mbedtls/library/ecp.o
48#flag @VEXEROOT/thirdparty/mbedtls/library/ecp_curves.o
49#flag @VEXEROOT/thirdparty/mbedtls/library/ecp_curves_new.o
50#flag @VEXEROOT/thirdparty/mbedtls/library/entropy.o
51#flag @VEXEROOT/thirdparty/mbedtls/library/entropy_poll.o
52#flag @VEXEROOT/thirdparty/mbedtls/library/error.o
53#flag @VEXEROOT/thirdparty/mbedtls/library/gcm.o
54#flag @VEXEROOT/thirdparty/mbedtls/library/hkdf.o
55#flag @VEXEROOT/thirdparty/mbedtls/library/hmac_drbg.o
56#flag @VEXEROOT/thirdparty/mbedtls/library/lmots.o
57#flag @VEXEROOT/thirdparty/mbedtls/library/lms.o
58#flag @VEXEROOT/thirdparty/mbedtls/library/md5.o
59#flag @VEXEROOT/thirdparty/mbedtls/library/md.o
60#flag @VEXEROOT/thirdparty/mbedtls/library/memory_buffer_alloc.o
61#flag @VEXEROOT/thirdparty/mbedtls/library/mps_reader.o
62#flag @VEXEROOT/thirdparty/mbedtls/library/mps_trace.o
63#flag @VEXEROOT/thirdparty/mbedtls/library/net_sockets.o
64#flag @VEXEROOT/thirdparty/mbedtls/library/nist_kw.o
65#flag @VEXEROOT/thirdparty/mbedtls/library/oid.o
66#flag @VEXEROOT/thirdparty/mbedtls/library/padlock.o
67#flag @VEXEROOT/thirdparty/mbedtls/library/pem.o
68#flag @VEXEROOT/thirdparty/mbedtls/library/pk.o
69#flag @VEXEROOT/thirdparty/mbedtls/library/pkcs12.o
70#flag @VEXEROOT/thirdparty/mbedtls/library/pkcs5.o
71#flag @VEXEROOT/thirdparty/mbedtls/library/pkcs7.o
72#flag @VEXEROOT/thirdparty/mbedtls/library/pk_ecc.o
73#flag @VEXEROOT/thirdparty/mbedtls/library/pkparse.o
74#flag @VEXEROOT/thirdparty/mbedtls/library/pk_wrap.o
75#flag @VEXEROOT/thirdparty/mbedtls/library/pkwrite.o
76#flag @VEXEROOT/thirdparty/mbedtls/library/platform.o
77#flag @VEXEROOT/thirdparty/mbedtls/library/platform_util.o
78#flag @VEXEROOT/thirdparty/mbedtls/library/poly1305.o
79#flag @VEXEROOT/thirdparty/mbedtls/library/psa_crypto_aead.o
80#flag @VEXEROOT/thirdparty/mbedtls/library/psa_crypto.o
81#flag @VEXEROOT/thirdparty/mbedtls/library/psa_crypto_cipher.o
82#flag @VEXEROOT/thirdparty/mbedtls/library/psa_crypto_client.o
83#flag @VEXEROOT/thirdparty/mbedtls/library/psa_crypto_driver_wrappers_no_static.o
84#flag @VEXEROOT/thirdparty/mbedtls/library/psa_crypto_ecp.o
85#flag @VEXEROOT/thirdparty/mbedtls/library/psa_crypto_ffdh.o
86#flag @VEXEROOT/thirdparty/mbedtls/library/psa_crypto_hash.o
87#flag @VEXEROOT/thirdparty/mbedtls/library/psa_crypto_mac.o
88#flag @VEXEROOT/thirdparty/mbedtls/library/psa_crypto_pake.o
89#flag @VEXEROOT/thirdparty/mbedtls/library/psa_crypto_random.o
90#flag @VEXEROOT/thirdparty/mbedtls/library/psa_crypto_rsa.o
91#flag @VEXEROOT/thirdparty/mbedtls/library/psa_crypto_se.o
92#flag @VEXEROOT/thirdparty/mbedtls/library/psa_crypto_slot_management.o
93#flag @VEXEROOT/thirdparty/mbedtls/library/psa_crypto_storage.o
94#flag @VEXEROOT/thirdparty/mbedtls/library/psa_its_file.o
95#flag @VEXEROOT/thirdparty/mbedtls/library/psa_util.o
96#flag @VEXEROOT/thirdparty/mbedtls/library/ripemd160.o
97#flag @VEXEROOT/thirdparty/mbedtls/library/rsa_alt_helpers.o
98#flag @VEXEROOT/thirdparty/mbedtls/library/rsa.o
99#flag @VEXEROOT/thirdparty/mbedtls/library/sha1.o
100#flag @VEXEROOT/thirdparty/mbedtls/library/sha256.o
101#flag @VEXEROOT/thirdparty/mbedtls/library/sha3.o
102#flag @VEXEROOT/thirdparty/mbedtls/library/sha512.o
103#flag @VEXEROOT/thirdparty/mbedtls/library/ssl_cache.o
104#flag @VEXEROOT/thirdparty/mbedtls/library/ssl_ciphersuites.o
105#flag @VEXEROOT/thirdparty/mbedtls/library/ssl_client.o
106#flag @VEXEROOT/thirdparty/mbedtls/library/ssl_cookie.o
107#flag @VEXEROOT/thirdparty/mbedtls/library/ssl_debug_helpers_generated.o
108#flag @VEXEROOT/thirdparty/mbedtls/library/ssl_msg.o
109#flag @VEXEROOT/thirdparty/mbedtls/library/ssl_ticket.o
110#flag @VEXEROOT/thirdparty/mbedtls/library/ssl_tls12_client.o
111#flag @VEXEROOT/thirdparty/mbedtls/library/ssl_tls12_server.o
112#flag @VEXEROOT/thirdparty/mbedtls/library/ssl_tls13_client.o
113#flag @VEXEROOT/thirdparty/mbedtls/library/ssl_tls13_generic.o
114#flag @VEXEROOT/thirdparty/mbedtls/library/ssl_tls13_keys.o
115#flag @VEXEROOT/thirdparty/mbedtls/library/ssl_tls13_server.o
116#flag @VEXEROOT/thirdparty/mbedtls/library/ssl_tls.o
117#flag @VEXEROOT/thirdparty/mbedtls/library/threading.o
118#flag @VEXEROOT/thirdparty/mbedtls/library/timing.o
119#flag @VEXEROOT/thirdparty/mbedtls/library/version.o
120#flag @VEXEROOT/thirdparty/mbedtls/library/version_features.o
121#flag @VEXEROOT/thirdparty/mbedtls/library/x509.o
122#flag @VEXEROOT/thirdparty/mbedtls/library/x509_create.o
123#flag @VEXEROOT/thirdparty/mbedtls/library/x509_crl.o
124#flag @VEXEROOT/thirdparty/mbedtls/library/x509_crt.o
125#flag @VEXEROOT/thirdparty/mbedtls/library/x509_csr.o
126#flag @VEXEROOT/thirdparty/mbedtls/library/x509write.o
127#flag @VEXEROOT/thirdparty/mbedtls/library/x509write_crt.o
128#flag @VEXEROOT/thirdparty/mbedtls/library/x509write_csr.o
129#flag @VEXEROOT/thirdparty/mbedtls/3rdparty/everest/library/Hacl_Curve25519_joined.o
130#flag @VEXEROOT/thirdparty/mbedtls/3rdparty/everest/library/everest.o
131#flag @VEXEROOT/thirdparty/mbedtls/3rdparty/everest/library/x25519.o
132
133#include <mbedtls/net_sockets.h>
134#include <mbedtls/ssl.h>
135#include <mbedtls/entropy.h>
136#include <mbedtls/ctr_drbg.h>
137#include <mbedtls/error.h>
138
139@[typedef]
140pub struct C.mbedtls_net_context {
141mut:
142 fd int
143}
144
145@[typedef]
146pub struct C.mbedtls_ssl_context {}
147
148@[typedef]
149pub struct C.mbedtls_ssl_config {}
150
151@[typedef]
152pub struct C.mbedtls_ssl_send_t {}
153
154@[typedef]
155pub struct C.mbedtls_ssl_recv_t {}
156
157@[typedef]
158pub struct C.mbedtls_ssl_recv_timeout_t {}
159
160@[typedef]
161pub struct C.mbedtls_pk_context {}
162
163@[typedef]
164pub struct C.mbedtls_ctr_drbg_context {}
165
166@[typedef]
167pub struct C.mbedtls_entropy_context {}
168
169@[typedef]
170pub struct C.mbedtls_x509_crt {}
171
172@[typedef]
173pub struct C.mbedtls_x509_crl {}
174
175fn C.mbedtls_net_init(&C.mbedtls_net_context)
176fn C.mbedtls_net_connect(&C.mbedtls_net_context, &char, &char, i32) i32
177fn C.mbedtls_net_bind(&C.mbedtls_net_context, &char, &char, i32) i32
178fn C.mbedtls_net_accept(&C.mbedtls_net_context, &C.mbedtls_net_context, voidptr, usize, &usize) i32
179fn C.mbedtls_net_recv(voidptr, &u8, usize) i32
180fn C.mbedtls_net_send(voidptr, &u8, usize) i32
181fn C.mbedtls_net_recv_timeout(voidptr, &u8, usize, u32) i32
182fn C.mbedtls_net_free(&C.mbedtls_net_context)
183
184fn C.mbedtls_ssl_init(&C.mbedtls_ssl_context)
185fn C.mbedtls_ssl_setup(&C.mbedtls_ssl_context, &C.mbedtls_ssl_config) i32
186fn C.mbedtls_ssl_session_reset(&C.mbedtls_ssl_context)
187fn C.mbedtls_ssl_conf_authmode(&C.mbedtls_ssl_config, i32)
188fn C.mbedtls_ssl_conf_rng(&C.mbedtls_ssl_config, fn (voidptr, &u8, usize) int, &C.mbedtls_ctr_drbg_context)
189fn C.mbedtls_ssl_set_bio(&C.mbedtls_ssl_context, &C.mbedtls_net_context, fn (voidptr, &u8, usize) i32, fn (voidptr, &u8, usize) i32, fn (voidptr, &u8, usize, u32) i32)
190fn C.mbedtls_ssl_conf_own_cert(&C.mbedtls_ssl_config, &C.mbedtls_x509_crt, &C.mbedtls_pk_context) i32
191fn C.mbedtls_ssl_conf_ca_chain(&C.mbedtls_ssl_config, &C.mbedtls_x509_crt, &C.mbedtls_x509_crl)
192fn C.mbedtls_ssl_set_hostname(&C.mbedtls_ssl_context, &char) i32
193fn C.mbedtls_ssl_handshake(&C.mbedtls_ssl_context) i32
194fn C.mbedtls_ssl_read(&C.mbedtls_ssl_context, &u8, usize) i32
195fn C.mbedtls_ssl_write(&C.mbedtls_ssl_context, &u8, usize) i32
196fn C.mbedtls_ssl_free(&C.mbedtls_ssl_context)
197fn C.mbedtls_ssl_config_init(&C.mbedtls_ssl_config)
198fn C.mbedtls_ssl_config_defaults(&C.mbedtls_ssl_config, i32, i32, i32) i32
199fn C.mbedtls_ssl_config_free(&C.mbedtls_ssl_config)
200fn C.mbedtls_ssl_conf_sni(&C.mbedtls_ssl_config, fn (voidptr, &C.mbedtls_ssl_context, &char, int) int, voidptr)
201fn C.mbedtls_ssl_set_hs_ca_chain(&C.mbedtls_ssl_config, &C.mbedtls_x509_crt, &C.mbedtls_x509_crl)
202fn C.mbedtls_ssl_set_hs_own_cert(&C.mbedtls_ssl_context, &C.mbedtls_x509_crt, &C.mbedtls_pk_context) i32
203fn C.mbedtls_ssl_set_hs_authmode(&C.mbedtls_ssl_context, i32)
204
205fn C.mbedtls_pk_init(&C.mbedtls_pk_context)
206fn C.mbedtls_pk_free(&C.mbedtls_pk_context)
207fn C.mbedtls_pk_parse_key(&C.mbedtls_pk_context, &u8, usize, &u8, usize, fn (voidptr, &u8, usize) int,
208 voidptr) i32
209fn C.mbedtls_pk_parse_keyfile(&C.mbedtls_pk_context, &char, &char, fn (voidptr, &u8, usize) int, voidptr) i32
210
211fn C.mbedtls_ctr_drbg_init(&C.mbedtls_ctr_drbg_context)
212fn C.mbedtls_ctr_drbg_seed(&C.mbedtls_ctr_drbg_context, fn (voidptr, &u8, usize), voidptr, &u8, usize) i32
213fn C.mbedtls_ctr_drbg_free(&C.mbedtls_ctr_drbg_context)
214fn C.mbedtls_ctr_drbg_random(voidptr, &u8, usize) i32
215
216fn C.mbedtls_entropy_init(&C.mbedtls_entropy_context)
217fn C.mbedtls_entropy_free(&C.mbedtls_entropy_context)
218fn C.mbedtls_entropy_func(voidptr, &u8, usize)
219
220fn C.mbedtls_x509_crt_init(&C.mbedtls_x509_crt)
221fn C.mbedtls_x509_crt_free(&C.mbedtls_x509_crt)
222fn C.mbedtls_x509_crt_parse(&C.mbedtls_x509_crt, &u8, usize) i32
223fn C.mbedtls_x509_crt_parse_file(&C.mbedtls_x509_crt, &char) i32
224
225fn C.mbedtls_high_level_strerr(i32) &char
226
227fn C.mbedtls_debug_set_threshold(level i32)
228
229fn C.mbedtls_ssl_conf_read_timeout(conf &C.mbedtls_ssl_config, timeout u32)
230
231fn C.mbedtls_ssl_conf_alpn_protocols(&C.mbedtls_ssl_config, &&char) i32
232