Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / btls / btls-x509-lookup.h
1 //
2 //  btls-x509-lookup.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_lookup__
10 #define __btls__btls_x509_lookup__
11
12 #include <stdio.h>
13 #include <btls-ssl.h>
14 #include <btls-x509.h>
15 #include <btls-x509-store.h>
16
17 typedef enum {
18         MONO_BTLS_X509_LOOKUP_TYPE_UNKNOWN = 0,
19         MONO_BTLS_X509_LOOKUP_TYPE_FILE,
20         MONO_BTLS_X509_LOOKUP_TYPE_HASH_DIR,
21         MONO_BTLS_X509_LOOKUP_TYPE_MONO
22 } MonoBtlsX509LookupType;
23
24 MonoBtlsX509Lookup *
25 mono_btls_x509_lookup_new (MonoBtlsX509Store *store, MonoBtlsX509LookupType type);
26
27 int
28 mono_btls_x509_lookup_load_file (MonoBtlsX509Lookup *lookup, const char *file, MonoBtlsX509FileType type);
29
30 int
31 mono_btls_x509_lookup_add_dir (MonoBtlsX509Lookup *lookup, const char *dir, MonoBtlsX509FileType type);
32
33 MonoBtlsX509Lookup *
34 mono_btls_x509_lookup_up_ref (MonoBtlsX509Lookup *lookup);
35
36 int
37 mono_btls_x509_lookup_free (MonoBtlsX509Lookup *lookup);
38
39 int
40 mono_btls_x509_lookup_init (MonoBtlsX509Lookup *lookup);
41
42 MonoBtlsX509LookupType
43 mono_btls_x509_lookup_get_type (MonoBtlsX509Lookup *lookup);
44
45 X509_LOOKUP *
46 mono_btls_x509_lookup_peek_lookup (MonoBtlsX509Lookup *lookup);
47
48 int
49 mono_btls_x509_lookup_shutdown (MonoBtlsX509Lookup *lookup);
50
51 X509 *
52 mono_btls_x509_lookup_by_subject (MonoBtlsX509Lookup *lookup, MonoBtlsX509Name *name);
53
54 X509 *
55 mono_btls_x509_lookup_by_fingerprint (MonoBtlsX509Lookup *lookup, unsigned char *bytes, int len);
56
57 #endif /* defined(__btls__btls_x509_lookup__) */
58