42 # if defined LIBIDN_BUILDING && defined HAVE_VISIBILITY && HAVE_VISIBILITY
43 # define IDNAPI __attribute__((__visibility__("default")))
44 # elif defined LIBIDN_BUILDING && defined _MSC_VER && ! defined LIBIDN_STATIC
45 # define IDNAPI __declspec(dllexport)
46 # elif defined _MSC_VER && ! defined LIBIDN_STATIC
47 # define IDNAPI __declspec(dllimport)
54 # include <sys/types.h>
62 # define STRINGPREP_VERSION "1.42"
106 # define STRINGPREP_MAX_MAP_CHARS 4
202 # define stringprep_nameprep(in, maxlen) \
203 stringprep(in, maxlen, 0, stringprep_nameprep)
205 # define stringprep_nameprep_no_unassigned(in, maxlen) \
206 stringprep(in, maxlen, STRINGPREP_NO_UNASSIGNED, stringprep_nameprep)
216 # define stringprep_plain(in, maxlen) \
217 stringprep(in, maxlen, 0, stringprep_plain)
223 # define stringprep_kerberos5(in, maxlen) \
224 stringprep(in, maxlen, 0, stringprep_kerberos5)
233 # define stringprep_xmpp_nodeprep(in, maxlen) \
234 stringprep(in, maxlen, 0, stringprep_xmpp_nodeprep)
235 # define stringprep_xmpp_resourceprep(in, maxlen) \
236 stringprep(in, maxlen, 0, stringprep_xmpp_resourceprep)
243 # define stringprep_iscsi(in, maxlen) \
244 stringprep(in, maxlen, 0, stringprep_iscsi)
276 size_t *items_written);
280 size_t *items_written);
289 const char *to_codeset,
290 const char *from_codeset);
IDNAPI const Stringprep_table_element stringprep_rfc3454_D_1[]
IDNAPI const Stringprep_table_element stringprep_rfc3454_C_3[]
#define stringprep_xmpp_resourceprep(in, maxlen)
IDNAPI int stringprep_profile(const char *in, char **out, const char *profile, Stringprep_profile_flags flags)
IDNAPI const char * stringprep_locale_charset(void)
IDNAPI char * stringprep_convert(const char *str, const char *to_codeset, const char *from_codeset)
IDNAPI const Stringprep_table_element stringprep_rfc3454_C_1_2[]
IDNAPI const Stringprep_table_element stringprep_rfc3454_C_8[]
IDNAPI const Stringprep_table_element stringprep_rfc3454_C_1_1[]
IDNAPI char * stringprep_locale_to_utf8(const char *str)
IDNAPI const Stringprep_table_element stringprep_xmpp_nodeprep_prohibit[]
IDNAPI const char * stringprep_check_version(const char *req_version)
#define stringprep_xmpp_nodeprep(in, maxlen)
@ STRINGPREP_BIDI_PROHIBIT_TABLE
@ STRINGPREP_BIDI_RAL_TABLE
@ STRINGPREP_PROHIBIT_TABLE
@ STRINGPREP_UNASSIGNED_TABLE
@ STRINGPREP_BIDI_L_TABLE
IDNAPI uint32_t * stringprep_utf8_to_ucs4(const char *str, ssize_t len, size_t *items_written)
#define stringprep_kerberos5(in, maxlen)
IDNAPI char * stringprep_utf8_nfkc_normalize(const char *str, ssize_t len)
IDNAPI char * stringprep_ucs4_to_utf8(const uint32_t *str, ssize_t len, size_t *items_read, size_t *items_written)
IDNAPI int stringprep_unichar_to_utf8(uint32_t c, char *outbuf)
@ STRINGPREP_NO_UNASSIGNED
IDNAPI uint32_t stringprep_utf8_to_unichar(const char *p)
IDNAPI const Stringprep_table_element stringprep_saslprep_space_map[]
#define stringprep_plain(in, maxlen)
IDNAPI int stringprep(char *in, size_t maxlen, Stringprep_profile_flags flags, const Stringprep_profile *profile)
@ STRINGPREP_UNKNOWN_PROFILE
@ STRINGPREP_TOO_SMALL_BUFFER
@ STRINGPREP_MALLOC_ERROR
@ STRINGPREP_CONTAINS_UNASSIGNED
@ STRINGPREP_CONTAINS_PROHIBITED
@ STRINGPREP_BIDI_CONTAINS_PROHIBITED
@ STRINGPREP_BIDI_BOTH_L_AND_RAL
@ STRINGPREP_BIDI_LEADTRAIL_NOT_RAL
@ STRINGPREP_PROFILE_ERROR
IDNAPI const Stringprep_table_element stringprep_rfc3454_C_2_2[]
IDNAPI const Stringprep_table_element stringprep_rfc3454_C_5[]
IDNAPI const Stringprep_table_element stringprep_rfc3454_C_4[]
IDNAPI const Stringprep_table_element stringprep_rfc3454_B_1[]
IDNAPI int stringprep_4i(uint32_t *ucs4, size_t *len, size_t maxucs4len, Stringprep_profile_flags flags, const Stringprep_profile *profile)
IDNAPI const Stringprep_profile stringprep_trace[]
#define stringprep_nameprep(in, maxlen)
IDNAPI const Stringprep_table_element stringprep_rfc3454_D_2[]
IDNAPI const Stringprep_table_element stringprep_rfc3454_B_2[]
IDNAPI const Stringprep_table_element stringprep_rfc3454_C_2_1[]
IDNAPI const char * stringprep_strerror(Stringprep_rc rc)
IDNAPI char * stringprep_utf8_to_locale(const char *str)
IDNAPI const Stringprep_table_element stringprep_rfc3454_C_6[]
IDNAPI int stringprep_4zi(uint32_t *ucs4, size_t maxucs4len, Stringprep_profile_flags flags, const Stringprep_profile *profile)
IDNAPI const Stringprep_profiles stringprep_profiles[]
#define stringprep_iscsi(in, maxlen)
IDNAPI const Stringprep_table_element stringprep_rfc3454_A_1[]
IDNAPI const Stringprep_table_element stringprep_iscsi_prohibit[]
IDNAPI const Stringprep_table_element stringprep_rfc3454_B_3[]
IDNAPI const Stringprep_profile stringprep_saslprep[]
IDNAPI uint32_t * stringprep_ucs4_nfkc_normalize(const uint32_t *str, ssize_t len)
IDNAPI const Stringprep_table_element stringprep_rfc3454_C_9[]
IDNAPI const Stringprep_table_element stringprep_rfc3454_C_7[]
#define STRINGPREP_MAX_MAP_CHARS
const Stringprep_profile * tables
uint32_t map[STRINGPREP_MAX_MAP_CHARS]
const Stringprep_table_element * table
Stringprep_profile_flags flags
Stringprep_profile_steps operation