silc_stringprep
SYNOPSIS
SilcStringprepStatus silc_stringprep(const unsigned char *bin, SilcUInt32 bin_len, SilcStringEncoding bin_encoding, const char *profile_name, SilcStringprepFlags flags, unsigned char **out, SilcUInt32 *out_len, SilcStringEncoding out_encoding);
DESCRIPTION
Prepares the input string 'bin' of length 'bin_len' of encoding 'bin_encoding' according to the stringrep profile 'profile_name'. Returns the prepared and allocated string into 'out'. The 'out_len' indicates the length of the prepared string. This returns the SilcStringprepStatus which indicates the status of the preparation. For example, if the input string contains prohibited characters (according to the used profile) this function will return error. The 'flags' however can be used to modify the behavior of this function. Caller must free the returned 'out' string.
The output string will be encoded into the character encoding defined by the 'out_encoding'. This allows caller to have for example the input string as locale specific string and output string as UTF-8 encoded string.
If the 'out' is NULL this function merely performs the preparation process, but does not return anything. In this case this function could be used to for example verify that an input string that ought to have been prepared correctly was done so.
Available profile names:
SILC_IDENTIFIER_PREP Prepares SILC identifier strings SILC_IDENTIFIER_CH_PREP Prepares SILC channel name strings SILC_IDENTIFIERC_PREP Casefolds identifier strings SILC_CASEFOLD_PREP Casefolding and normalizing