Fix potential crash for Encoder.Convert (#20522)
[mono-project.git] / mono / btls / btls-x509-verify-param.h
blobb28edca559bafd9836d54e25bbf9a726b9ec7b13
1 //
2 // btls-x509-verify-param.h
3 // MonoBtls
4 //
5 // Created by Martin Baulig on 3/3/16.
6 // Copyright © 2016 Xamarin. All rights reserved.
7 //
9 #ifndef __btls__btls_x509_verify_param__
10 #define __btls__btls_x509_verify_param__
12 #include <stdio.h>
13 #include "btls-ssl.h"
14 #include "btls-x509.h"
16 typedef enum {
17 MONO_BTLS_X509_VERIFY_FLAGS_DEFAULT = 0,
18 MONO_BTLS_X509_VERIFY_FLAGS_CRL_CHECK = 1,
19 MONO_BTLS_X509_VERIFY_FLAGS_CRL_CHECK_ALL = 2,
20 MONO_BTLS_X509_VERIFY_FLAGS_X509_STRICT = 4
21 } MonoBtlsX509VerifyFlags;
23 MONO_API MonoBtlsX509VerifyParam *
24 mono_btls_x509_verify_param_new (void);
26 MONO_API MonoBtlsX509VerifyParam *
27 mono_btls_x509_verify_param_from_store_ctx (MonoBtlsX509StoreCtx *ctx, X509_VERIFY_PARAM *param);
29 MONO_API MonoBtlsX509VerifyParam *
30 mono_btls_x509_verify_param_copy (const MonoBtlsX509VerifyParam *from);
32 MONO_API void
33 mono_btls_x509_verify_param_free (MonoBtlsX509VerifyParam *param);
35 MONO_API const X509_VERIFY_PARAM *
36 mono_btls_x509_verify_param_peek_param (const MonoBtlsX509VerifyParam *param);
38 MONO_API int
39 mono_btls_x509_verify_param_can_modify (MonoBtlsX509VerifyParam *param);
41 MONO_API MonoBtlsX509VerifyParam *
42 mono_btls_x509_verify_param_lookup (const char *name);
44 MONO_API int
45 mono_btls_x509_verify_param_set_name (MonoBtlsX509VerifyParam *param, const char *name);
47 MONO_API int
48 mono_btls_x509_verify_param_set_host (MonoBtlsX509VerifyParam *param, const char *host, int namelen);
50 MONO_API int
51 mono_btls_x509_verify_param_add_host (MonoBtlsX509VerifyParam *param, const char *host, int namelen);
53 MONO_API uint64_t
54 mono_btls_x509_verify_param_get_flags (MonoBtlsX509VerifyParam *param);
56 MONO_API int
57 mono_btls_x509_verify_param_set_flags (MonoBtlsX509VerifyParam *param, uint64_t flags);
59 MONO_API MonoBtlsX509VerifyFlags
60 mono_btls_x509_verify_param_get_mono_flags (MonoBtlsX509VerifyParam *param);
62 MONO_API int
63 mono_btls_x509_verify_param_set_mono_flags (MonoBtlsX509VerifyParam *param, MonoBtlsX509VerifyFlags flags);
65 MONO_API int
66 mono_btls_x509_verify_param_set_purpose (MonoBtlsX509VerifyParam *param, MonoBtlsX509Purpose purpose);
68 MONO_API int
69 mono_btls_x509_verify_param_get_depth (MonoBtlsX509VerifyParam *param);
71 MONO_API int
72 mono_btls_x509_verify_param_set_depth (MonoBtlsX509VerifyParam *param, int depth);
74 MONO_API int
75 mono_btls_x509_verify_param_set_time (MonoBtlsX509VerifyParam *param, int64_t time);
77 MONO_API char *
78 mono_btls_x509_verify_param_get_peername (MonoBtlsX509VerifyParam *param);
80 #endif /* defined(__btls__btls_x509_verify_param__) */