libidnkit(3) Introduction to Library Functions libidnkit(3)

libidnkit, libidnkitlite - internationalized domain name handling libraries

The libidnkit and libidnkitlite libraries support various manipulations of internationalized domain names.

They are designed according to IDNA framework where each application must encode internationalized domain names before passing them to the resolver.

To help applications do the operation, the libraries provide easy-to-use, high-level interface for the work.

Both libraries provide almost the same API. The difference between them is that libidnkit internally uses iconv() function to provide encoding conversion from UTF-8 to the local encoding (such as iso-8859-1, usually determined by the current locale), and vise versa. libidnkitlite is lightweight version of libidnkit. Since it assumes the local encoding is UTF-8, it never uses iconv().

The libraries provides the following functions:

idn_checkname()
Validate an internationzalized domain name.
idn_comparenames()
Compare two internationzalized domain names.
idn_comparenames2()
Compare two internationzalized domain names.
idn_decodename()
Decode an internationalized domain name.
idn_decodename2()
Decode an internationalized domain name.
idn_encodename()
Encode an internationalized domain name.
idn_nameinit()
Initialize libidnkit or libidnkitelite library.
idn_result_tostring()
Return a string corresponding with an error code.
idn_setlanguage()
Set the current language.
idn_setlocalencoding()
Set the local encoding.
idn_setlocalcheckfile()
Set local check data by reading a file.
idn_version_getstring()
Get a version string about idnkit.
idn_version_idnatable()
Get a version string about idnkit.
idn_version_libidn()
Get a version string about idnkit.
idn_version_unicode()
Get a version string about idnkit.

idn_checkname(3), idn_comparenames(3), idn_decodename(3), idn_encodename(3), idn_nameinit(3), idn_result_tostring(3), idn_setlanguage(3), idn_setlocalencoding(3), idn_setlocalcheckfile(3), idn_version_getstring(3), idn_version_idnatable(3), idn_version_libidn(3), idn_version_unicode(3)

September 21, 2012 OmniOS