X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=doc%2Finternal%2Fman3%2FOSSL_METHOD_STORE.pod;h=be439f15b509129a350e486f7416387fdbd85165;hp=25cf56e0c3d90b9fda6549458ee0baa19b85d727;hb=b1d40ddfe23fd9551b89cdcfa52d1c23fc667f8a;hpb=4ce738d083a377e0788e5d6cf92e3756d436b2f4 diff --git a/doc/internal/man3/OSSL_METHOD_STORE.pod b/doc/internal/man3/OSSL_METHOD_STORE.pod index 25cf56e0c3..be439f15b5 100644 --- a/doc/internal/man3/OSSL_METHOD_STORE.pod +++ b/doc/internal/man3/OSSL_METHOD_STORE.pod @@ -15,13 +15,14 @@ ossl_method_store_cache_get, ossl_method_store_cache_set typedef struct ossl_method_store_st OSSL_METHOD_STORE; - 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_init(void); - void ossl_method_store_cleanup(void); + int ossl_method_store_init(OPENSSL_CTX *ctx); + void ossl_method_store_cleanup(OPENSSL_CTX *ctx); int ossl_method_store_add(OSSL_METHOD_STORE *store, - int nid, const char *properties, - void *method, void (*method_destruct)(void *)); + int nid, const char *properties, void *method, + int (*method_up_ref)(void *), + void (*method_destruct)(void *)); int ossl_method_store_remove(OSSL_METHOD_STORE *store, int nid, const void *method); int ossl_method_store_fetch(OSSL_METHOD_STORE *store, @@ -51,19 +52,24 @@ separately (see L below). =head2 Store Functions -ossl_method_store_init() initialises the method store subsystem. +ossl_method_store_init() initialises the method store subsystem in the scope of +the library context B. ossl_method_store_cleanup() cleans up and shuts down the implementation method -store subsystem. +store subsystem in the scope of the library context B. -ossl_method_store_new() create a new empty method store. +ossl_method_store_new() create a new empty method store using the supplied +B to allow access to the required underlying property data. ossl_method_store_free() frees resources allocated to B. ossl_method_store_add() adds the B to the B as an instance of an algorithm indicated by B and the property definition B. -The optional B function is called when B is being -released from B. +If the B function is given, it's called to increment the +reference count of the method. +If the B function is given, it's called when this function +fails to add the method to the store, or later on when it is being released from +the B. ossl_method_store_remove() removes the B identified by B from the B. @@ -101,7 +107,7 @@ ossl_method_store_free() and ossl_method_store_cleanup() do not return values. =head1 HISTORY -This functionality was added to OpenSSL 3.0.0. +This functionality was added to OpenSSL 3.0. =head1 COPYRIGHT