---
name: "stringprep_profile"
section: "3"
platform: "linux"
package: "libidn"
version: "1.44-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/stringprep_profile"
---

# stringprep\_profile(3)

API function

## NAME

stringprep\_profile - API function

## SYNOPSIS

**#include \<stringprep.h\>**

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

## ARGUMENTS

- const char \* in

  input array with UTF-8 string to prepare.

- char \*\* out

  output variable with pointer to newly allocate string.

- const char \* profile

  name of stringprep profile to use.

- Stringprep\_profile\_flags flags

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

## 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

Report bugs to \<help-libidn@gnu.org\>.\
 General guidelines for reporting bugs: https://www.gnu.org/gethelp/\
 GNU Libidn home page: https://www.gnu.org/software/libidn/

## 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

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/**
