| Function silc_channel_name_check
 
 SYNOPSIS
 
    unsigned char *
    silc_channel_name_check(const unsigned char *identifier,
                            SilcUInt32 identifier_len,
                            SilcStringEncoding identifier_encoding,
                            SilcUInt32 max_allowed_length,
                            SilcUInt32 *out_len);
DESCRIPTION
    Checks that the 'identifier' string is valid channel name string
    and does not contain any unassigned or prohibited character.
    If the 'max_allowed_length' is non-zero the identifier cannot be
    longer than that, and NULL is returned if it is.  If zero (0), no
    length limit exist.  For channel names the max length must be 256
    bytes.
    Returns the validated string, that the caller must free.  Returns
    NULL if the identifier string is not valid or contain unassigned or
    prohibited characters.  Such identifier strings must not be used
    SILC protocol.  The returned string is always in UTF-8 encoding.
    The length of the returned string is in 'out_len'.
NOTES
    In addition of validating the channel name string, this function
    may map characters to other characters or remove characters from the
    original string.  This is done as defined in the SILC protocol.  Error
    is returned only if the string contains unassigned or prohibited
    characters.  The original 'identifier' is not modified at any point.
 
 
 
 |