X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=include%2Finternal%2Fproperty.h;h=d8ff3582eb484e001d3f92d97d0a00bd957f9e6c;hp=5e23dabab050e04348d89e86c9c10a52dee083b4;hb=f9e504e8b1d4da4b8c9c16ee4c11e9815a800422;hpb=33388b44b67145af2181b1e9528c381c8ea0d1b6 diff --git a/include/internal/property.h b/include/internal/property.h index 5e23dabab0..d8ff3582eb 100644 --- a/include/internal/property.h +++ b/include/internal/property.h @@ -26,6 +26,8 @@ OSSL_PROPERTY_LIST *ossl_parse_query(OPENSSL_CTX *ctx, const char *s); /* Property checker of query vs definition */ int ossl_property_match_count(const OSSL_PROPERTY_LIST *query, const OSSL_PROPERTY_LIST *defn); +int ossl_property_is_enabled(OPENSSL_CTX *ctx, const char *property_name, + const OSSL_PROPERTY_LIST *prop_list); /* Free a parsed property list */ void ossl_property_free(OSSL_PROPERTY_LIST *p); @@ -40,9 +42,10 @@ int ossl_method_store_add(OSSL_METHOD_STORE *store, const OSSL_PROVIDER *prov, int ossl_method_store_remove(OSSL_METHOD_STORE *store, int nid, const void *method); int ossl_method_store_fetch(OSSL_METHOD_STORE *store, int nid, - const char *prop_query, void **result); -int ossl_method_store_set_global_properties(OSSL_METHOD_STORE *store, - const char *prop_query); + const char *prop_query, void **method); + +/* Get the global properties associate with the specified library context */ +OSSL_PROPERTY_LIST **ossl_ctx_global_properties(OPENSSL_CTX *ctx); /* property query cache functions */ int ossl_method_store_cache_get(OSSL_METHOD_STORE *store, int nid, @@ -51,4 +54,10 @@ int ossl_method_store_cache_set(OSSL_METHOD_STORE *store, int nid, const char *prop_query, void *result, int (*method_up_ref)(void *), void (*method_destruct)(void *)); +void ossl_method_store_flush_cache(OSSL_METHOD_STORE *store); + +/* Merge two property queries together */ +OSSL_PROPERTY_LIST *ossl_property_merge(const OSSL_PROPERTY_LIST *a, + const OSSL_PROPERTY_LIST *b); + #endif