summaryrefslogtreecommitdiffstats
path: root/server/resty/openssl/include/provider.lua
blob: a2bb472ab539f039c9642f30d08eb3c51b4258f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
local ffi = require "ffi"

require "resty.openssl.include.ossl_typ"
require "resty.openssl.include.param"

ffi.cdef [[
  typedef struct ossl_provider_st OSSL_PROVIDER;
  typedef struct ossl_lib_ctx_st OSSL_LIB_CTX;

  void OSSL_PROVIDER_set_default_search_path(OSSL_LIB_CTX *libctx,
                                             const char *path);


  OSSL_PROVIDER *OSSL_PROVIDER_load(OSSL_LIB_CTX *libctx, const char *name);
  OSSL_PROVIDER *OSSL_PROVIDER_try_load(OSSL_LIB_CTX *libctx, const char *name);
  int OSSL_PROVIDER_unload(OSSL_PROVIDER *prov);
  int OSSL_PROVIDER_available(OSSL_LIB_CTX *libctx, const char *name);

  const OSSL_PARAM *OSSL_PROVIDER_gettable_params(OSSL_PROVIDER *prov);
  int OSSL_PROVIDER_get_params(OSSL_PROVIDER *prov, OSSL_PARAM params[]);

  // int OSSL_PROVIDER_add_builtin(OSSL_LIB_CTX *libctx, const char *name,
  //                              ossl_provider_init_fn *init_fn);

  const char *OSSL_PROVIDER_get0_name(const OSSL_PROVIDER *prov);
  int OSSL_PROVIDER_self_test(const OSSL_PROVIDER *prov);
]]