stringprep\_profile(3) libidn stringprep\_profile(3)

# [NAME](#NAME)

stringprep\_profile - API function

# [SYNOPSIS](#SYNOPSIS)

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

**int stringprep\_profile(const char * in, char \** out, const char * profile, Stringprep\_profile\_flags flags);**

# [ARGUMENTS](#ARGUMENTS)

[const char * in](#const)

input array with UTF-8 string to prepare.

[char \** out](#char)

output variable with pointer to newly allocate string.

[const char * profile](#const~2)

name of stringprep profile to use.

[Stringprep\_profile\_flags flags](#Stringprep_profile_flags)

a **Stringprep\_profile\_flags** value, or 0.

# [DESCRIPTION](#DESCRIPTION)

Prepare the input zero terminated UTF-8 string according to the stringprep profile, and return the result in a newly allocated variable.

Note that you must convert strings entered in the systems locale into UTF-8 before using this function, see **stringprep\_locale\_to\_utf8()**.

The output *out* variable must be deallocated by the caller.

The *flags* are one of **Stringprep\_profile\_flags** values, or 0.

The *profile* specifies the name of the stringprep profile to use. It must be one of the internally supported stringprep profiles.

Return value: Returns **STRINGPREP\_OK** iff successful, or an error code.

# [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: stringprep_profile(3) from libidn 1.44-r6 (Chainguard OS)
Source: https://gitlab.com/libidn/libidn
