aboutsummaryrefslogtreecommitdiffstats
path: root/libar2_string_to_type.3
blob: be199f987e083f1b1c8ab7d034f08bd704c91f72 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
.TH LIBAR2_STRING_TO_TYPE 3 LIBAR2
.SH NAME
libar2_string_to_type - Convert a string to an Argon2 primitive type value

.SH SYNOPSIS
.nf
#include <libar2.h>

enum libar2_argon2_type {
        LIBAR2_ARGON2D = 0,
        LIBAR2_ARGON2I = 1,
        LIBAR2_ARGON2ID = 2,
        LIBAR2_ARGON2DS = 4
};

int libar2_string_to_type(const char *\fIstr\fP, enum libar2_argon2_type *\fItypep\fP);
.fi
.PP
Link with
.IR -lar2 .

.SH DESCRIPTION
The
.BR libar2_string_to_type ()
function converts a string, provided via the
.I str
parameter, to a Argon2 primitive type and stores
the constant that represents that type in
.IR *typep .
.PP
The strings \(dqargon2d\(dq, \(dqargon2i\(dq,
\(dqargon2id\(dq, and \(dqargon2ds\(dq are the
currently recognised strings, and are converted to
.IR LIBAR2_ARGON2D ,
.IR LIBAR2_ARGON2I ,
.IR LIBAR2_ARGON2ID ,
and.
.IR LIBAR2_ARGON2DS ,
respectively.
.PP
The
.BR libar2_string_to_type ()
is case-insensitive and will recognise the
dollar-sign
.RB ( $ )
character, or a NUL byte, as the end of the
string.
.PP
Neither argument may be
.IR NULL .

.SH RETURN VALUES
The
.BR libar2_string_to_type ()
function returns 0, and sets
.I *typep
to the value that
.I str
represents, upon successful completion.
On error, -1 is returned and
.I errno
is set to describe the error.

.SH ERRORS
The
.BR libar2_string_to_type ()
function will fail if:
.TP
.B EINVAL
.I str
does not represent a recognised Argon2 function
or is not formatted according to the specifications
in the
.B DESCRIPTION
section.

.SH SEE ALSO
.BR libar2 (7),
.BR libar2_type_to_string (3)