d2i_ECPKParameters.3 revision 306195
Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28)

Standard preamble:
========================================================================
..
..
.. Set up some character translations and predefined strings. \*(-- will
give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
double quote, and \*(R" will give a right double quote. \*(C+ will
give a nicer C++. Capital omega is used to do unbreakable dashes and
therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
nothing in troff, for use with C<>.
.tr \(*W- . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\}
Escape single quotes in literal strings from groff's Unicode transform.

If the F register is turned on, we'll generate index entries on stderr for
titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
entries marked with X<> in POD. Of course, you'll have to process the
output yourself in some meaningful fashion.

Avoid warning from groff about undefined register 'F'.
.. .nr rF 0 . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF
Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] .\} . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents . \" corrections for vroff . \" for low resolution devices (crt and lpr) \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} ========================================================================

Title "d2i_ECPKParameters 3"
d2i_ECPKParameters 3 "2016-09-22" "1.0.2i" "OpenSSL"
For nroff, turn off justification. Always turn off hyphenation; it makes
way too many mistakes in technical documents.
"NAME"
d2i_ECPKParameters, i2d_ECPKParameters, d2i_ECPKParameters_bio, i2d_ECPKParameters_bio, d2i_ECPKParameters_fp, i2d_ECPKParameters_fp, ECPKParameters_print, ECPKParameters_print_fp - Functions for decoding and encoding ASN1 representations of elliptic curve entities
"SYNOPSIS"
Header "SYNOPSIS" .Vb 1 #include <openssl/ec.h> \& EC_GROUP *d2i_ECPKParameters(EC_GROUP **px, const unsigned char **in, long len); int i2d_ECPKParameters(const EC_GROUP *x, unsigned char **out); #define d2i_ECPKParameters_bio(bp,x) ASN1_d2i_bio_of(EC_GROUP,NULL,d2i_ECPKParameters,bp,x) #define i2d_ECPKParameters_bio(bp,x) ASN1_i2d_bio_of_const(EC_GROUP,i2d_ECPKParameters,bp,x) #define d2i_ECPKParameters_fp(fp,x) (EC_GROUP *)ASN1_d2i_fp(NULL, \e (char *(*)())d2i_ECPKParameters,(fp),(unsigned char **)(x)) #define i2d_ECPKParameters_fp(fp,x) ASN1_i2d_fp(i2d_ECPKParameters,(fp), \e (unsigned char *)(x)) int ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off); int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off); .Ve
"DESCRIPTION"
Header "DESCRIPTION" The ECPKParameters encode and decode routines encode and parse the public parameters for an \fB\s-1EC_GROUP\s0 structure, which represents a curve.

\fId2i_ECPKParameters() attempts to decode len bytes at *in. If successful a pointer to the \s-1EC_GROUP\s0 structure is returned. If an error occurred then \s-1NULL\s0 is returned. If px is not \s-1NULL\s0 then the returned structure is written to *px. If *px is not \s-1NULL\s0 then it is assumed that *px contains a valid \s-1EC_GROUP\s0 structure and an attempt is made to reuse it. If the call is successful *in is incremented to the byte following the parsed data.

\fIi2d_ECPKParameters() encodes the structure pointed to by x into \s-1DER\s0 format. If out is not \s-1NULL\s0 is writes the \s-1DER\s0 encoded data to the buffer at *out, and increments it to point after the data just written. If the return value is negative an error occurred, otherwise it returns the length of the encoded data.

If *out is \s-1NULL\s0 memory will be allocated for a buffer and the encoded data written to it. In this case *out is not incremented and it points to the start of the data just written.

\fId2i_ECPKParameters_bio() is similar to d2i_ECPKParameters() except it attempts to parse data from \s-1BIO \s0bp.

\fId2i_ECPKParameters_fp() is similar to d2i_ECPKParameters() except it attempts to parse data from \s-1FILE\s0 pointer fp.

\fIi2d_ECPKParameters_bio() is similar to i2d_ECPKParameters() except it writes the encoding of the structure x to \s-1BIO \s0bp and it returns 1 for success and 0 for failure.

\fIi2d_ECPKParameters_fp() is similar to i2d_ECPKParameters() except it writes the encoding of the structure x to \s-1BIO \s0bp and it returns 1 for success and 0 for failure.

These functions are very similar to the X509 functions described in d2i_X509\|(3), where further notes and examples are available.

The ECPKParameters_print and ECPKParameters_print_fp functions print a human-readable output of the public parameters of the \s-1EC_GROUP\s0 to bp or fp. The output lines are indented by off spaces.

"RETURN VALUES"
Header "RETURN VALUES" \fId2i_ECPKParameters(), d2i_ECPKParameters_bio() and d2i_ECPKParameters_fp() return a valid \s-1EC_GROUP\s0 structure or \s-1NULL\s0 if an error occurs.

\fIi2d_ECPKParameters() returns the number of bytes successfully encoded or a negative value if an error occurs.

\fIi2d_ECPKParameters_bio(), i2d_ECPKParameters_fp(), ECPKParameters_print and ECPKParameters_print_fp return 1 for success and 0 if an error occurs.

"SEE ALSO"
Header "SEE ALSO" \fIcrypto\|(3), ec\|(3), EC_GROUP_new\|(3), EC_GROUP_copy\|(3), \fIEC_POINT_new\|(3), EC_POINT_add\|(3), EC_KEY_new\|(3), \fIEC_GFp_simple_method\|(3), d2i_X509\|(3)