Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / btls / btls-x509-verify-param.h
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 //
8
9 #ifndef __btls__btls_x509_verify_param__
10 #define __btls__btls_x509_verify_param__
11
12 #include <stdio.h>
13 #include <btls-ssl.h>
14 #include <btls-x509.h>
15
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;
22
23 MonoBtlsX509VerifyParam *
24 mono_btls_x509_verify_param_new (void);
25
26 MonoBtlsX509VerifyParam *
27 mono_btls_x509_verify_param_from_store_ctx (MonoBtlsX509StoreCtx *ctx, X509_VERIFY_PARAM *param);
28
29 MonoBtlsX509VerifyParam *
30 mono_btls_x509_verify_param_copy (const MonoBtlsX509VerifyParam *from);
31
32 void
33 mono_btls_x509_verify_param_free (MonoBtlsX509VerifyParam *param);
34
35 const X509_VERIFY_PARAM *
36 mono_btls_x509_verify_param_peek_param (const MonoBtlsX509VerifyParam *param);
37
38 int
39 mono_btls_x509_verify_param_can_modify (MonoBtlsX509VerifyParam *param);
40
41 MonoBtlsX509VerifyParam *
42 mono_btls_x509_verify_param_lookup (const char *name);
43
44 int
45 mono_btls_x509_verify_param_set_name (MonoBtlsX509VerifyParam *param, const char *name);
46
47 int
48 mono_btls_x509_verify_param_set_host (MonoBtlsX509VerifyParam *param, const char *host, int namelen);
49
50 int
51 mono_btls_x509_verify_param_add_host (MonoBtlsX509VerifyParam *param, const char *host, int namelen);
52
53 uint64_t
54 mono_btls_x509_verify_param_get_flags (MonoBtlsX509VerifyParam *param);
55
56 int
57 mono_btls_x509_verify_param_set_flags (MonoBtlsX509VerifyParam *param, uint64_t flags);
58
59 MonoBtlsX509VerifyFlags
60 mono_btls_x509_verify_param_get_mono_flags (MonoBtlsX509VerifyParam *param);
61
62 int
63 mono_btls_x509_verify_param_set_mono_flags (MonoBtlsX509VerifyParam *param, MonoBtlsX509VerifyFlags flags);
64
65 int
66 mono_btls_x509_verify_param_set_purpose (MonoBtlsX509VerifyParam *param, MonoBtlsX509Purpose purpose);
67
68 int
69 mono_btls_x509_verify_param_get_depth (MonoBtlsX509VerifyParam *param);
70
71 int
72 mono_btls_x509_verify_param_set_depth (MonoBtlsX509VerifyParam *param, int depth);
73
74 int
75 mono_btls_x509_verify_param_set_time (MonoBtlsX509VerifyParam *param, int64_t time);
76
77 char *
78 mono_btls_x509_verify_param_get_peername (MonoBtlsX509VerifyParam *param);
79
80 #endif /* defined(__btls__btls_x509_verify_param__) */
81