[#OSSL_STORE_open]
= OSSL&lowbar;STORE&lowbar;open
:mrdocs:

Open an OSSL&lowbar;STORE channel for the given URI&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:OSSL_STORE_CTX.adoc[OSSL&lowbar;STORE&lowbar;CTX]*
OSSL&lowbar;STORE&lowbar;open(
    char const* uri,
    xref:UI_METHOD.adoc[UI&lowbar;METHOD] const* ui&lowbar;method,
    void* ui&lowbar;data,
    xref:OSSL_STORE_post_process_info_fn.adoc[OSSL&lowbar;STORE&lowbar;post&lowbar;process&lowbar;info&lowbar;fn] post&lowbar;process,
    void* post&lowbar;process&lowbar;data);
----

== Return Value

New store context, or NULL on error&semi; free with OSSL&lowbar;STORE&lowbar;close()&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *uri*
| URI identifying the store resource (scheme selects the loader)&period;
| *ui&lowbar;method*
| UI method for passwords or other interactive input, or NULL&period;
| *ui&lowbar;data*
| Application data passed to `ui&lowbar;method` whenever it is used&period;
| *post&lowbar;process*
| Optional post&hyphen;process callback for each loaded object, or NULL&period;
| *post&lowbar;process&lowbar;data*
| Application pointer passed to `post&lowbar;process&period;`
|===


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