[mini] Use C++ linker iff building C++ that needs the C++ runtime (#12266)
[mono-project.git] / mono / btls / btls-x509-store-ctx.h
blobaad76af2f2bbb70863fde93c0ccb5d78d31912bd
1 //
2 // btls-x509-store-ctx.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_store_ctx__
10 #define __btls__btls_x509_store_ctx__
12 #include <stdio.h>
13 #include "btls-ssl.h"
14 #include "btls-x509-chain.h"
15 #include "btls-x509-name.h"
16 #include "btls-x509-store.h"
17 #include "btls-x509-verify-param.h"
19 MONO_API MonoBtlsX509StoreCtx *
20 mono_btls_x509_store_ctx_from_ptr (X509_STORE_CTX *ptr);
22 MONO_API MonoBtlsX509StoreCtx *
23 mono_btls_x509_store_ctx_new (void);
25 MONO_API MonoBtlsX509StoreCtx *
26 mono_btls_x509_store_ctx_up_ref (MonoBtlsX509StoreCtx *ctx);
28 MONO_API int
29 mono_btls_x509_store_ctx_free (MonoBtlsX509StoreCtx *ctx);
31 MONO_API int
32 mono_btls_x509_store_ctx_get_error (MonoBtlsX509StoreCtx *ctx, const char **error_string);
34 MONO_API int
35 mono_btls_x509_store_ctx_get_error_depth (MonoBtlsX509StoreCtx *ctx);
37 MONO_API MonoBtlsX509Chain *
38 mono_btls_x509_store_ctx_get_chain (MonoBtlsX509StoreCtx *ctx);
40 MONO_API X509 *
41 mono_btls_x509_store_ctx_get_current_cert (MonoBtlsX509StoreCtx *ctx);
43 MONO_API X509 *
44 mono_btls_x509_store_ctx_get_current_issuer (MonoBtlsX509StoreCtx *ctx);
46 MONO_API int
47 mono_btls_x509_store_ctx_init (MonoBtlsX509StoreCtx *ctx,
48 MonoBtlsX509Store *store, MonoBtlsX509Chain *chain);
50 MONO_API int
51 mono_btls_x509_store_ctx_set_param (MonoBtlsX509StoreCtx *ctx, MonoBtlsX509VerifyParam *param);
53 MONO_API X509 *
54 mono_btls_x509_store_ctx_get_by_subject (MonoBtlsX509StoreCtx *ctx, MonoBtlsX509Name *name);
56 MONO_API int
57 mono_btls_x509_store_ctx_verify_cert (MonoBtlsX509StoreCtx *ctx);
59 MONO_API MonoBtlsX509VerifyParam *
60 mono_btls_x509_store_ctx_get_verify_param (MonoBtlsX509StoreCtx *ctx);
62 MONO_API int
63 mono_btls_x509_store_ctx_get_foo (MonoBtlsX509StoreCtx *ctx);
65 MONO_API MonoBtlsX509Chain *
66 mono_btls_x509_store_ctx_get_untrusted (MonoBtlsX509StoreCtx *ctx);
68 #endif /* defined(__btls__btls_x509_store_ctx__) */