X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=doc%2Fman3%2FOSSL_STORE_LOADER.pod;h=e827434192d905cd47004b98bfcdf377d0b80f56;hp=4386c28da3a5b4a644aa44f28a86159e28d6f8b9;hb=6ab6deccd95c97a6235f345b371664afb65f77c7;hpb=e2e603fe7c5b35d8dadb1eec4696307d16665731 diff --git a/doc/man3/OSSL_STORE_LOADER.pod b/doc/man3/OSSL_STORE_LOADER.pod index 4386c28da3..e827434192 100644 --- a/doc/man3/OSSL_STORE_LOADER.pod +++ b/doc/man3/OSSL_STORE_LOADER.pod @@ -5,10 +5,12 @@ OSSL_STORE_LOADER, OSSL_STORE_LOADER_CTX, OSSL_STORE_LOADER_new, OSSL_STORE_LOADER_get0_engine, OSSL_STORE_LOADER_get0_scheme, OSSL_STORE_LOADER_set_open, OSSL_STORE_LOADER_set_ctrl, +OSSL_STORE_LOADER_set_expect, OSSL_STORE_LOADER_set_find, OSSL_STORE_LOADER_set_load, OSSL_STORE_LOADER_set_eof, OSSL_STORE_LOADER_set_error, OSSL_STORE_LOADER_set_close, OSSL_STORE_LOADER_free, OSSL_STORE_register_loader, OSSL_STORE_unregister_loader, OSSL_STORE_open_fn, OSSL_STORE_ctrl_fn, +OSSL_STORE_expect_fn, OSSL_STORE_find_fn, OSSL_STORE_load_fn, OSSL_STORE_eof_fn, OSSL_STORE_error_fn, OSSL_STORE_close_fn - Types and functions to manipulate, register and unregister STORE loaders for different URI schemes @@ -37,6 +39,13 @@ unregister STORE loaders for different URI schemes va_list args); int OSSL_STORE_LOADER_set_ctrl(OSSL_STORE_LOADER *store_loader, OSSL_STORE_ctrl_fn store_ctrl_function); + typedef int (*OSSL_STORE_expect_fn)(OSSL_STORE_LOADER_CTX *ctx, int expected); + int OSSL_STORE_LOADER_set_expect(OSSL_STORE_LOADER *loader, + OSSL_STORE_expect_fn expect_function); + typedef int (*OSSL_STORE_find_fn)(OSSL_STORE_LOADER_CTX *ctx, + OSSL_STORE_SEARCH *criteria); + int OSSL_STORE_LOADER_set_find(OSSL_STORE_LOADER *loader, + OSSL_STORE_find_fn find_function); typedef OSSL_STORE_INFO *(*OSSL_STORE_load_fn)(OSSL_STORE_LOADER_CTX *ctx, UI_METHOD *ui_method, void *ui_data); @@ -52,7 +61,7 @@ unregister STORE loaders for different URI schemes int OSSL_STORE_LOADER_set_close(OSSL_STORE_LOADER *store_loader, OSSL_STORE_close_fn store_close_function); void OSSL_STORE_LOADER_free(OSSL_STORE_LOADER *store_loader); - + int OSSL_STORE_register_loader(OSSL_STORE_LOADER *loader); OSSL_STORE_LOADER *OSSL_STORE_unregister_loader(const char *scheme); @@ -71,9 +80,10 @@ OSSL_STORE_close() for this scheme. B is a type template, to be defined by each loader using B. -B, B, B, -B and B are the function pointer -types used within a STORE loader. +B, B, B, +B, B, B, +and B +are the function pointer types used within a STORE loader. The functions pointed at define the functionality of the given loader. =over 4 @@ -108,6 +118,27 @@ numbers. This function is expected to return 1 on success, 0 on error. +=item B + +This function takes a B pointer and a B +identity B, and is used to tell the loader what object type is +expected. +B may be zero to signify that no specific object type is expected. + +This function is expected to return 1 on success, 0 on error. + +=item B + +This function takes a B pointer and a +B search criterion, and is used to tell the loader what +to search for. + +When called with the loader context being B, this function is expected +to return 1 if the loader supports the criterion, otherwise 0. + +When called with the loader context being something other than B, this +function is expected to return 1 on success, 0 on error. + =item B This function takes a B pointer and a B @@ -118,9 +149,9 @@ L functions. If no more data is available or an error occurs, this function is expected to return NULL. The B and B functions must indicate if -it was in fact the end of data or if an error occured. +it was in fact the end of data or if an error occurred. -Note that this function retrives I data item only. +Note that this function retrieves I data item only. =item B @@ -161,6 +192,9 @@ B. OSSL_STORE_LOADER_set_ctrl() sets the control function for the B. +OSSL_STORE_LOADER_set_expect() sets the expect function for the +B. + OSSL_STORE_LOADER_set_load() sets the loader function for the B. @@ -186,9 +220,10 @@ The B scheme has built in support. =head1 RETURN VALUES The functions with the types B, B, +B, B, B and B have the -same return values as OSSL_STORE_open(), OSSL_STORE_load(), OSSL_STORE_eof() and -OSSL_STORE_close(), respectively. +same return values as OSSL_STORE_open(), OSSL_STORE_ctrl(), OSSL_STORE_expect(), +OSSL_STORE_load(), OSSL_STORE_eof() and OSSL_STORE_close(), respectively. OSSL_STORE_LOADER_new() returns a pointer to a B on success, or B on failure.