stringprep

stringprep

Types and Values

Description

Functions

Types and Values

IDNAPI

#define             IDNAPI


STRINGPREP_VERSION

# define STRINGPREP_VERSION "1.30"

String defined via CPP denoting the header file version number. Used together with stringprep_check_version() to verify header file and run-time library consistency.


enum Stringprep_rc

Enumerated return codes of stringprep(), stringprep_profile() functions (and macros using those functions). The value 0 is guaranteed to always correspond to success.

Members

STRINGPREP_OK

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.

 

STRINGPREP_CONTAINS_UNASSIGNED

String contain unassigned Unicode code points, which is forbidden by the profile.

 

STRINGPREP_CONTAINS_PROHIBITED

String contain code points prohibited by the profile.

 

STRINGPREP_BIDI_BOTH_L_AND_RAL

String contain code points with conflicting bidirection category.

 

STRINGPREP_BIDI_LEADTRAIL_NOT_RAL

Leading and trailing character in string not of proper bidirectional category.

 

STRINGPREP_BIDI_CONTAINS_PROHIBITED

Contains prohibited code points detected by bidirectional code.

 

STRINGPREP_TOO_SMALL_BUFFER

Buffer handed to function was too small. This usually indicate a problem in the calling application.

 

STRINGPREP_PROFILE_ERROR

The stringprep profile was inconsistent. This usually indicate an internal error in the library.

 

STRINGPREP_FLAG_ERROR

The supplied flag conflicted with profile. This usually indicate a problem in the calling application.

 

STRINGPREP_UNKNOWN_PROFILE

The supplied profile name was not known to the library.

 

STRINGPREP_NFKC_FAILED

The Unicode NFKC operation failed. This usually indicate an internal error in the library.

 

STRINGPREP_MALLOC_ERROR

The malloc() was out of memory. This is usually a fatal error.

 

enum Stringprep_profile_flags

Stringprep profile flags.

Members

STRINGPREP_NO_NFKC

Disable the NFKC normalization, as well as selecting the non-NFKC case folding tables. Usually the profile specifies BIDI and NFKC settings, and applications should not override it unless in special situations.

 

STRINGPREP_NO_BIDI

Disable the BIDI step. Usually the profile specifies BIDI and NFKC settings, and applications should not override it unless in special situations.

 

STRINGPREP_NO_UNASSIGNED

Make the library return with an error if string contains unassigned characters according to profile.

 

enum Stringprep_profile_steps

Various steps in the stringprep algorithm. You really want to study the source code to understand this one. Only useful if you want to add another profile.

Members

STRINGPREP_NFKC

The NFKC step.

 

STRINGPREP_BIDI

The BIDI step.

 

STRINGPREP_MAP_TABLE

The MAP step.

 

STRINGPREP_UNASSIGNED_TABLE

The Unassigned step.

 

STRINGPREP_PROHIBIT_TABLE

The Prohibited step.

 

STRINGPREP_BIDI_PROHIBIT_TABLE

The BIDI-Prohibited step.

 

STRINGPREP_BIDI_RAL_TABLE

The BIDI-RAL step.

 

STRINGPREP_BIDI_L_TABLE

The BIDI-L step.

 

STRINGPREP_MAX_MAP_CHARS

# define STRINGPREP_MAX_MAP_CHARS 4

Maximum number of code points that can replace a single code point, during stringprep mapping.