|  |  |  | GNU Libidn API Reference Manual |  | 
|---|
| pr29pr29 — | 
enum Pr29_rc; const char* pr29_strerror (Pr29_rc rc); int pr29_4 (const uint32_t *in, size_t len); int pr29_4z (const uint32_t *in); int pr29_8z (const char *in);
  typedef enum
  {
    PR29_SUCCESS = 0,
    PR29_PROBLEM = 1,		/* String is a problem sequence. */
    PR29_STRINGPREP_ERROR = 2	/* Charset conversion failed (p29_8*). */
  } Pr29_rc;
Enumerated return codes for pr29_4(), pr29_4z(), pr29_8z().  The
value 0 is guaranteed to always correspond to success.
| PR29_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. | 
| PR29_PROBLEM | A problem sequence was encountered. | 
| PR29_STRINGPREP_ERROR | The character set conversion failed (only
  for pr29_8()andpr29_8z()). | 
const char* pr29_strerror (Pr29_rc rc);
Convert a return code integer to a text string. This string can be used to output a diagnostic message to the user.
PR29_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.
PR29_PROBLEM: A problem sequence was encountered.
PR29_STRINGPREP_ERROR: The character set conversion failed (only
  for pr29_8() and pr29_8z()).
| rc: | an Pr29_rc return code. | 
| Returns : | Returns a pointer to a statically allocated string
  containing a description of the error with the return code rc. | 
int         pr29_4                          (const uint32_t *in,
                                             size_t len);
Check the input to see if it may be normalized into different strings by different NFKC implementations, due to an anomaly in the NFKC specifications.
| in: | input array with unicode code points. | 
| len: | length of input array with unicode code points. | 
| Returns : | Returns the Pr29_rc value PR29_SUCCESSon success,
  andPR29_PROBLEMif the input sequence is a "problem sequence"
  (i.e., may be normalized into different strings by different
  implementations). | 
int pr29_4z (const uint32_t *in);
Check the input to see if it may be normalized into different strings by different NFKC implementations, due to an anomaly in the NFKC specifications.
| in: | zero terminated array of Unicode code points. | 
| Returns : | Returns the Pr29_rc value PR29_SUCCESSon success,
  andPR29_PROBLEMif the input sequence is a "problem sequence"
  (i.e., may be normalized into different strings by different
  implementations). | 
int pr29_8z (const char *in);
Check the input to see if it may be normalized into different strings by different NFKC implementations, due to an anomaly in the NFKC specifications.
| in: | zero terminated input UTF-8 string. | 
| Returns : | Returns the Pr29_rc value PR29_SUCCESSon success,
  andPR29_PROBLEMif the input sequence is a "problem sequence"
  (i.e., may be normalized into different strings by different
  implementations), orPR29_STRINGPREP_ERRORif there was a
  problem converting the string from UTF-8 to UCS-4. | 
| << idna | punycode >> |