provider_local.h 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. /*
  2. * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.
  3. *
  4. * Licensed under the Apache License 2.0 (the "License"). You may not use
  5. * this file except in compliance with the License. You can obtain a copy
  6. * in the file LICENSE in the source distribution or at
  7. * https://www.openssl.org/source/license.html
  8. */
  9. #include <openssl/core.h>
  10. typedef struct {
  11. char *name;
  12. char *value;
  13. } INFOPAIR;
  14. DEFINE_STACK_OF(INFOPAIR)
  15. typedef struct {
  16. char *name;
  17. char *path;
  18. OSSL_provider_init_fn *init;
  19. STACK_OF(INFOPAIR) *parameters;
  20. unsigned int is_fallback:1;
  21. } OSSL_PROVIDER_INFO;
  22. extern const OSSL_PROVIDER_INFO ossl_predefined_providers[];
  23. void ossl_provider_info_clear(OSSL_PROVIDER_INFO *info);
  24. int ossl_provider_info_add_to_store(OSSL_LIB_CTX *libctx,
  25. OSSL_PROVIDER_INFO *entry);
  26. int ossl_provider_info_add_parameter(OSSL_PROVIDER_INFO *provinfo,
  27. const char *name,
  28. const char *value);