X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=doc%2Finternal%2Fman3%2FOSSL_METHOD_STORE.pod;h=25cf56e0c3d90b9fda6549458ee0baa19b85d727;hp=36d26bca43c5476fed1fbf8936bac7a5d62a86d8;hb=4ce738d083a377e0788e5d6cf92e3756d436b2f4;hpb=1bdbdaffdc66be457a40f33640b523aaf21138c6 diff --git a/doc/internal/man3/OSSL_METHOD_STORE.pod b/doc/internal/man3/OSSL_METHOD_STORE.pod index 36d26bca43..25cf56e0c3 100644 --- a/doc/internal/man3/OSSL_METHOD_STORE.pod +++ b/doc/internal/man3/OSSL_METHOD_STORE.pod @@ -2,10 +2,11 @@ =head1 NAME -ossl_method_store_new, ossl_method_store_free, ossl_method_store_init, -ossl_method_store_cleanup, ossl_method_store_add, ossl_method_store_remove, -ossl_method_store_fetch, ossl_method_store_set_global_properties, -ossl_method_store_cache_get and ossl_method_store_cache_set +OSSL_METHOD_STORE, ossl_method_store_new, ossl_method_store_free, +ossl_method_store_init, ossl_method_store_cleanup, +ossl_method_store_add, ossl_method_store_remove, ossl_method_store_fetch, +ossl_method_store_set_global_properties, +ossl_method_store_cache_get, ossl_method_store_cache_set - implementation method store and query =head1 SYNOPSIS @@ -20,60 +21,72 @@ ossl_method_store_cache_get and ossl_method_store_cache_set void ossl_method_store_cleanup(void); int ossl_method_store_add(OSSL_METHOD_STORE *store, int nid, const char *properties, - void *implementation, - void (*implementation_destruct)(void *)); + void *method, void (*method_destruct)(void *)); int ossl_method_store_remove(OSSL_METHOD_STORE *store, - int nid, const void *implementation); + int nid, const void *method); int ossl_method_store_fetch(OSSL_METHOD_STORE *store, int nid, const char *properties, - void **result); + void **method); int ossl_method_store_set_global_properties(OSSL_METHOD_STORE *store, const char *prop_query); int ossl_method_store_cache_get(OSSL_METHOD_STORE *store, int nid, - const char *prop_query, void **result); + const char *prop_query, void **method); int ossl_method_store_cache_set(OSSL_METHOD_STORE *store, int nid, - const char *prop_query, void *result); + const char *prop_query, void *method); =head1 DESCRIPTION -OSSL_METHOD_STORE stores implementations of algorithms that can be queried using -properties and a NID. +OSSL_METHOD_STORE stores methods that can be queried using properties and a +numeric identity (nid). -ossl_method_store_init() initialises the implementation method store subsystem. +Methods are expected to be library internal structures. +It's left to the caller to define the exact contents. + +Numeric identities are expected to be an algorithm identity for the methods. +It's left to the caller to define exactly what an algorithm is, and to allocate +these numeric identities accordingly. + +The B also holds an internal query cache, which is accessed +separately (see L below). + +=head2 Store Functions + +ossl_method_store_init() initialises the method store subsystem. ossl_method_store_cleanup() cleans up and shuts down the implementation method -store subsystem +store subsystem. -ossl_method_store_new() create a new empty implementation method store. +ossl_method_store_new() create a new empty method store. ossl_method_store_free() frees resources allocated to B. -ossl_method_store_add() adds the B to the B as an -instance of the algorithm indicated by B and the property definition -. -The optional B function is called when -B is being released from 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. -ossl_method_store_remove() remove the B of algorithm B -from the B. +ossl_method_store_remove() removes the B identified by B from the +B. -ossl_method_store_fetch() query B for an implementation of algorithm -B that matches the property query B. -The result, if any, is returned in B. +ossl_method_store_fetch() queries B for an method identified by B +that matches the property query B. +The result, if any, is returned in B. -ossl_method_store_set_global_properties() sets implementation method B -wide query properties to B. +ossl_method_store_set_global_properties() sets method B wide query +properties to B. All subsequent fetches will need to meet both these global query properties -and the ones passed to the fetch function. +and the ones passed to the ossl_method_store_free(). + +=head2 Cache Functions ossl_method_store_cache_get() queries the cache associated with the B -for an implementation of algorithm B that matches the property query +for an method identified by B that matches the property query B. -The result, if any, is returned in B. +The result, if any, is returned in B. -ossl_method_store_cache_set() sets a cache entry for algorithm B with the +ossl_method_store_cache_set() sets a cache entry identified by B with the property query B in the B. -Future cache gets will return the specified . +Future cache gets will return the specified B. =head1 RETURN VALUES