[#CMS_ReceiptRequest_create0]
= CMS&lowbar;ReceiptRequest&lowbar;create0
:mrdocs:

Allocate a CMS signed&hyphen;receipt request with the given identifiers and recipient lists&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:CMS_ReceiptRequest.adoc[CMS&lowbar;ReceiptRequest]*
CMS&lowbar;ReceiptRequest&lowbar;create0(
    unsigned char* id,
    int idlen,
    int allorfirst,
    xref:stack_st_GENERAL_NAMES.adoc[stack&lowbar;st&lowbar;GENERAL&lowbar;NAMES]* receiptList,
    xref:stack_st_GENERAL_NAMES.adoc[stack&lowbar;st&lowbar;GENERAL&lowbar;NAMES]* receiptsTo);
----

== Return Value

New CMS&lowbar;ReceiptRequest taking ownership of the stacks on success, or NULL on error&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *id*
| Receipt content identifier bytes, or NULL to generate a random id&period;
| *idlen*
| Length of `id` in bytes&semi; ignored when `id` is NULL&period;
| *allorfirst*
| Non&hyphen;zero to request receipts from all or first&hyphen;tier recipients as encoded by CMS&semi; see CMS&lowbar;ReceiptRequest&lowbar;create0(3)&period;
| *receiptList*
| Stack of GeneralNames listing who should send receipts, or NULL&period;
| *receiptsTo*
| Stack of GeneralNames listing where receipts should be sent, or NULL&period;
|===


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