aboutsummaryrefslogtreecommitdiffstats
path: root/librecrypt_is_enabled.3
blob: 28271800e3a4f1a66d7c6050d6e985a3cc2cf152 (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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
.TH LIBRECRYPT_IS_ENABLED 3 LIBRECRYPT
.SH NAME
librecrypt_is_enabled - Check whether an algorithm was enabled at compile-time

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

enum librecrypt_hash_algorithm {
	LIBRECRYPT_ARGON2I_V1_0,
	LIBRECRYPT_ARGON2I_V1_3,
	LIBRECRYPT_ARGON2D_V1_0,
	LIBRECRYPT_ARGON2D_V1_3,
	LIBRECRYPT_ARGON2ID_V1_0,
	LIBRECRYPT_ARGON2ID_V1_3,
	LIBRECRYPT_ARGON2DS_V1_0,
	LIBRECRYPT_ARGON2DS_V1_3,
	LIBRECRYPT_HASH_ALGORITHM_END /* end of enum marker (always last) */
};

int \fBlibrecrypt_is_enabled\fP(enum librecrypt_hash_algorithm \fIalgo\fP);
.fi
.PP
Link with
.IR -lrecrypt .

.SH DESCRIPTION
The
.BR librecrypt_is_enabled ()
function checks whether the the
.B librecrypt
library end it's dependencies where compiled to
support the hash algorithm specified in the
.I algo
parameter.

.SH RETURN VALUES
The
.BR librecrypt_is_enabled ()
function returns 1 if the hash algorithm is
enabled, 0 otherwise (disabled or not recognised).

.SH ERRORS
The
.BR librecrypt_is_enabled ()
function cannot fail.

.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.PP
.TS
allbox;
lb lb lb
l l l.
Interface	Attribute	Value
T{
.BR librecrypt_is_enabled ()
T}	Thread safety	MT-Safe
T{
.BR librecrypt_is_enabled ()
T}	Async-signal safety	AS-Safe
.TE
.sp

.SH EXTENDED DESCRIPTION
The following values for
.I algo
are supported and may cause the
.BR librecrypt_is_enabled ()
function to return either 0 or 1
(all other cause the function to return 0):
.TP
.B LIBRECRYPT_ARGON2I_V1_0
Argon2i, version 1.0, which is presented by
\(dq$argon2i$v=13$\(dq, optionally without \(dq$v=13\(dq.
.TP
.B LIBRECRYPT_ARGON2I_V1_3
Argon2i, version 1.3, which is presented by
\(dq$argon2i$v=19$\(dq.
.TP
.B LIBRECRYPT_ARGON2D_V1_0
Argon2d, version 1.0, which is presented by
\(dq$argon2d$v=13$\(dq, optionally without \(dq$v=13\(dq.
.TP
.B LIBRECRYPT_ARGON2D_V1_3
Argon2d, version 1.3, which is presented by
\(dq$argon2d$v=19$\(dq.
.TP
.B LIBRECRYPT_ARGON2ID_V1_0
Argon2id, version 1.0, which is presented by
\(dq$argon2id$v=13$\(dq, optionally without \(dq$v=13\(dq.
.TP
.B LIBRECRYPT_ARGON2ID_V1_3
Argon2id, version 1.3, which is presented by
\(dq$argon2id$v=19$\(dq.
.TP
.B LIBRECRYPT_ARGON2DS_V1_0
Argon2ds, version 1.0, which is presented by
\(dq$argon2ds$v=13$\(dq, optionally without \(dq$v=13\(dq.
.TP
.B LIBRECRYPT_ARGON2DS_V1_3
Argon2ds, version 1.3, which is presented by
\(dq$argon2ds$v=19$\(dq.

.SH HISTORY
The
.BR librecrypt_is_enabled ()
function was introduced in version 1.1 of
.BR librecrypt .

.SH SEE ALSO
.BR librecrypt (7),
.BR librecrypt_test_supported (3)