[#OSSL_PROVIDER_do_all]
= OSSL&lowbar;PROVIDER&lowbar;do&lowbar;all
:mrdocs:

Invoke a callback for every provider available in a library context&period;

== Synopsis

Declared in `&lt;openssl&sol;provider&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
int
OSSL&lowbar;PROVIDER&lowbar;do&lowbar;all(
    xref:OSSL_LIB_CTX.adoc[OSSL&lowbar;LIB&lowbar;CTX]* ctx,
    int(* cb)(xref:OSSL_PROVIDER.adoc[OSSL&lowbar;PROVIDER]*, void*),
    void* cbdata);
----

== Return Value

1 if all callbacks succeeded, or 0 if a callback returned 0 or an error occurred&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *ctx*
| Library context to enumerate, or NULL for the default&period;
| *cb*
| Callback receiving each provider and `cbdata&semi;` return 0 to stop early&period;
| *cbdata*
| Opaque argument passed to `cb&period;`
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
