.TH LIBAR2_STRING_TO_TYPE 7 LIBAR2 .SH NAME libar2_string_to_type - Convert a string to an Argon2 primitive type value .SH SYNOPSIS .nf #include 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)