<div dir="ltr">Hello,<div><br></div><div><br></div><div>Thanks. Your answer helped a lot and I'm progressing now. Could You please also give me a hint what M_ASN1_BIT_STRING_dup/ASN1_BIT_STRING_dup could be replaced with?</div><div><br></div><div><br></div><div>Best regards,</div><div><br></div><div><br></div><div>A.K.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 9, 2016 at 2:44 PM, Dr. Stephen Henson <span dir="ltr"><<a href="mailto:steve@openssl.org" target="_blank">steve@openssl.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Fri, Sep 09, 2016, Aleksandr Konstantinov wrote:<br>
<br>
> Hello,<br>
><br>
> Thanks for your answer. Here is one of d2i functions simplified:<br>
><br>
> MYEXT * d2i_MYEXT(MYEXT ** myext, unsigned char ** pp, long length) {<br>
>   M_ASN1_D2I_vars(myext, MYEXT *, MYEXT_new);<br>
>   M_ASN1_D2I_Init();<br>
>   M_ASN1_D2I_start_sequence();<br>
>   M_ASN1_D2I_get_EXP_opt(ret-><wbr>intmember, d2i_ASN1_INTEGER, 1);<br>
>   M_ASN1_D2I_get_opt(ret-><wbr>intmember, d2i_ASN1_INTEGER, V_ASN1_INTEGER);<br>
>   M_ASN1_D2I_Finish(myext, MYEXT_free, ASN1_F_D2I_MYEXT);<br>
> }<br>
><br>
><br>
<br>
Presumably the two fields aren't the same? I'll call one intmember2 for<br>
this example.<br>
<br>
The above would translate to something like:<br>
<br>
ASN1_SEQUENCE(MYEXT) = {<br>
        ASN1_EXP_OPT(MYEXT, intmember, ASN1_INTEGER, 1),<br>
        ASN1_OPT(MYEXT, intmember2, ASN1_INTEGER)<br>
} ASN1_SEQUENCE_END(MYEXT)<br>
<br>
IMPLEMENT_ASN1_FUNCTIONS(<wbr>MYEXT)<br>
<br>
Then you include:<br>
<br>
DECLARE_ASN1_FUNCTIONS(MYEXT)<br>
<br>
in a header file.<br>
<br>
That generates four functions MYEXT_new(), MYEXT_free(), d2i_MYEXT() and<br>
i2d_MYEXT().<br>
<br>
Steve.<br>
--<br>
Dr Stephen N. Henson. OpenSSL project core developer.<br>
Commercial tech support now available see: <a href="http://www.openssl.org" rel="noreferrer" target="_blank">http://www.openssl.org</a><br>
<span class="HOEnZb"><font color="#888888">--<br>
openssl-users mailing list<br>
To unsubscribe: <a href="https://mta.openssl.org/mailman/listinfo/openssl-users" rel="noreferrer" target="_blank">https://mta.openssl.org/<wbr>mailman/listinfo/openssl-users</a><br>
</font></span></blockquote></div><br></div>