idna\_strerror(3) libidn idna\_strerror(3)

# [NAME](#NAME)

idna\_strerror - API function

# [SYNOPSIS](#SYNOPSIS)

**#include &lt;idna.h&gt;**

**const char * idna\_strerror(Idna\_rc rc);**

# [ARGUMENTS](#ARGUMENTS)

[Idna\_rc rc](#Idna_rc)

an **Idna\_rc** return code.

# [DESCRIPTION](#DESCRIPTION)

Convert a return code integer to a text string. This string can be used to output a diagnostic message to the user.

# [IDNA\_SUCCESS](#IDNA_SUCCESS)

Successful operation. This value is guaranteed to always be zero, the remaining ones are only guaranteed to hold non-zero values, for logical comparison purposes.

# [IDNA\_STRINGPREP\_ERROR](#IDNA_STRINGPREP_ERROR)

Error during string preparation.

# [IDNA\_PUNYCODE\_ERROR](#IDNA_PUNYCODE_ERROR)

Error during punycode operation.

# [IDNA\_CONTAINS\_NON\_LDH](#IDNA_CONTAINS_NON_LDH)

For IDNA\_USE\_STD3\_ASCII\_RULES, indicate that the string contains non-LDH ASCII characters.

# [IDNA\_CONTAINS\_MINUS](#IDNA_CONTAINS_MINUS)

For IDNA\_USE\_STD3\_ASCII\_RULES, indicate that the string contains a leading or trailing hyphen-minus (U+002D).

# [IDNA\_INVALID\_LENGTH](#IDNA_INVALID_LENGTH)

The final output string is not within the (inclusive) range 1 to 63 characters.

# [IDNA\_NO\_ACE\_PREFIX](#IDNA_NO_ACE_PREFIX)

The string does not contain the ACE prefix (for ToUnicode).

# [IDNA\_ROUNDTRIP\_VERIFY\_ERROR](#IDNA_ROUNDTRIP_VERIFY_ERROR)

The ToASCII operation on output string does not equal the input.

# [IDNA\_CONTAINS\_ACE\_PREFIX](#IDNA_CONTAINS_ACE_PREFIX)

The input contains the ACE prefix (for ToASCII).

# [IDNA\_ICONV\_ERROR](#IDNA_ICONV_ERROR)

Character encoding conversion error.

# [IDNA\_MALLOC\_ERROR](#IDNA_MALLOC_ERROR)

Could not allocate buffer (this is typically a fatal error).

# [IDNA\_DLOPEN\_ERROR](#IDNA_DLOPEN_ERROR)

Could not dlopen the libcidn DSO (only used internally in libc).

Return value: Returns a pointer to a statically allocated string containing a description of the error with the return code *rc* .

# [REPORTING BUGS](#REPORTING_BUGS)

Report bugs to &lt;help-libidn@gnu.org&gt;.  
General guidelines for reporting bugs: https://www.gnu.org/gethelp/  
GNU Libidn home page: https://www.gnu.org/software/libidn/

# [COPYRIGHT](#COPYRIGHT)

Copyright © 2002-2026 Simon Josefsson.  
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.

# [SEE ALSO](#SEE_ALSO)

The full documentation for **libidn** is maintained as a Texinfo manual. If the **info** and **libidn** programs are properly installed at your site, the command

**info libidn**

should give you access to the complete manual. As an alternative you may obtain the manual from:

**https://www.gnu.org/software/libidn/manual/**

1.44 libidn

---

Document: idna_strerror(3) from libidn 1.44-r3 (Chainguard OS)
Source: https://gitlab.com/libidn/libidn
