1 
2 #ifndef sodium_runtime_H
3 #define sodium_runtime_H
4 
5 #include "export.h"
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
11 SODIUM_EXPORT_WEAK
12 int sodium_runtime_has_neon(void);
13 
14 SODIUM_EXPORT_WEAK
15 int sodium_runtime_has_sse2(void);
16 
17 SODIUM_EXPORT_WEAK
18 int sodium_runtime_has_sse3(void);
19 
20 SODIUM_EXPORT_WEAK
21 int sodium_runtime_has_ssse3(void);
22 
23 SODIUM_EXPORT_WEAK
24 int sodium_runtime_has_sse41(void);
25 
26 SODIUM_EXPORT_WEAK
27 int sodium_runtime_has_avx(void);
28 
29 SODIUM_EXPORT_WEAK
30 int sodium_runtime_has_avx2(void);
31 
32 SODIUM_EXPORT_WEAK
33 int sodium_runtime_has_avx512f(void);
34 
35 SODIUM_EXPORT_WEAK
36 int sodium_runtime_has_pclmul(void);
37 
38 SODIUM_EXPORT_WEAK
39 int sodium_runtime_has_aesni(void);
40 
41 SODIUM_EXPORT_WEAK
42 int sodium_runtime_has_rdrand(void);
43 
44 /* ------------------------------------------------------------------------- */
45 
46 int _sodium_runtime_get_cpu_features(void);
47 
48 #ifdef __cplusplus
49 }
50 #endif
51 
52 #endif
53