[#EC_KEY_METHOD_set_init]
= EC&lowbar;KEY&lowbar;METHOD&lowbar;set&lowbar;init
:mrdocs:

Install lifecycle and field&hyphen;assignment callbacks on an EC&lowbar;KEY&lowbar;METHOD (deprecated)&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
&lsqb;&lsqb;deprecated&rsqb;&rsqb;
void
EC&lowbar;KEY&lowbar;METHOD&lowbar;set&lowbar;init(
    xref:EC_KEY_METHOD.adoc[EC&lowbar;KEY&lowbar;METHOD]* meth,
    int(* init)(xref:EC_KEY.adoc[EC&lowbar;KEY]*),
    void(* finish)(xref:EC_KEY.adoc[EC&lowbar;KEY]*),
    int(* copy)(xref:EC_KEY.adoc[EC&lowbar;KEY]*, xref:EC_KEY.adoc[EC&lowbar;KEY] const*),
    int(* set&lowbar;group)(xref:EC_KEY.adoc[EC&lowbar;KEY]*, xref:EC_GROUP.adoc[EC&lowbar;GROUP] const*),
    int(* set&lowbar;private)(xref:EC_KEY.adoc[EC&lowbar;KEY]*, xref:BIGNUM.adoc[BIGNUM] const*),
    int(* set&lowbar;public)(xref:EC_KEY.adoc[EC&lowbar;KEY]*, xref:EC_POINT.adoc[EC&lowbar;POINT] const*));
----

[WARNING]
====
https://en.cppreference.com/cpp/language/attributes/deprecated[Deprecated^]. Use of this entity is allowed but discouraged.
====
== Parameters

[cols="1,4"]
|===
| Name| Description
| *meth*
| Method table to update&period;
| *init*
| Optional constructor called when an EC&lowbar;KEY using `meth` is created&period;
| *finish*
| Optional destructor called when such an EC&lowbar;KEY is freed&period;
| *copy*
| Optional deep&hyphen;copy callback from `src` into `dest&period;`
| *set&lowbar;group*
| Optional callback to assign the EC&lowbar;GROUP on the key&period;
| *set&lowbar;private*
| Optional callback to assign the private BIGNUM&period;
| *set&lowbar;public*
| Optional callback to assign the public EC&lowbar;POINT&period;
|===


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