]> git.ipfire.org Git - thirdparty/openssl.git/blobdiff - include/internal/property.h
Modify ossl_method_store_add() to handle reference counting
[thirdparty/openssl.git] / include / internal / property.h
index 82b3a338d1fdb7e542e8384b11d1368cb06e78b6..e7e7f574e8a52f19d0378393889812a1a2611d92 100644 (file)
 #ifndef HEADER_PROPERTY_H
 # define HEADER_PROPERTY_H
 
+#include "internal/cryptlib.h"
+
 typedef struct ossl_method_store_st OSSL_METHOD_STORE;
 
 /* Implementation store functions */
-OSSL_METHOD_STORE *ossl_method_store_new(void);
+OSSL_METHOD_STORE *ossl_method_store_new(OPENSSL_CTX *ctx);
 void ossl_method_store_free(OSSL_METHOD_STORE *store);
 int ossl_method_store_add(OSSL_METHOD_STORE *store, int nid,
                           const char *properties, void *implementation,
+                          int (*implementation_up_ref)(void *),
                           void (*implementation_destruct)(void *));
 int ossl_method_store_remove(OSSL_METHOD_STORE *store,
                              int nid, const void *implementation);
@@ -26,10 +29,9 @@ int ossl_method_store_fetch(OSSL_METHOD_STORE *store, int nid,
 int ossl_method_store_set_global_properties(OSSL_METHOD_STORE *store,
                                             const char *prop_query);
 
-/* proeprty query cache functions */
+/* property query cache functions */
 int ossl_method_store_cache_get(OSSL_METHOD_STORE *store, int nid,
                                 const char *prop_query, void **result);
 int ossl_method_store_cache_set(OSSL_METHOD_STORE *store, int nid,
                                 const char *prop_query, void *result);
-
 #endif