usprep.h File Reference

StringPrep API implements the StingPrep framework as described by RFC 3454. More...

#include "unicode/utypes.h"
#include "unicode/parseerr.h"

Go to the source code of this file.

Defines

#define USPREP_DEFAULT   0x0000
 Option to prohibit processing of unassigned code points in the input.
#define USPREP_ALLOW_UNASSIGNED   0x0001
 Option to allow processing of unassigned code points in the input.

Typedefs

typedef UStringPrepProfile UStringPrepProfile
 The StringPrep profile.

Functions

U_DRAFT UStringPrepProfile
*U_EXPORT2 
usprep_open (const char *path, const char *fileName, UErrorCode *status)
 Creates a StringPrep profile from the data file.
U_DRAFT void U_EXPORT2 usprep_close (UStringPrepProfile *profile)
 Closes the profile.
U_DRAFT int32_t U_EXPORT2 usprep_prepare (const UStringPrepProfile *prep, const UChar *src, int32_t srcLength, UChar *dest, int32_t destCapacity, int32_t options, UParseError *parseError, UErrorCode *status)
 Prepare the input buffer for use in applications with the given profile.


Detailed Description

StringPrep API implements the StingPrep framework as described by RFC 3454.

StringPrep prepares Unicode strings for use in network protocols. Profiles of StingPrep are set of rules and data according to with the Unicode Strings are prepared. Each profiles contains tables which describe how a code point should be treated. The tables are broadly classied into

The procedure for preparing Unicode strings:

  1. Map: For each character in the input, check if it has a mapping and, if so, replace it with its mapping.
  2. Normalize: Possibly normalize the result of step 1 using Unicode normalization.
  3. Prohibit: Check for any characters that are not allowed in the output. If any are found, return an error.
  4. Check bidi: Possibly check for right-to-left characters, and if any are found, make sure that the whole string satisfies the requirements for bidirectional strings. If the string does not satisfy the requirements for bidirectional strings, return an error.
Author:
Ram Viswanadha

Definition in file usprep.h.


Define Documentation

#define USPREP_ALLOW_UNASSIGNED   0x0001
 

Option to allow processing of unassigned code points in the input.

See also:
usprep_prepare
ICU_Draft:
ICU 2.8

Definition at line 83 of file usprep.h.

#define USPREP_DEFAULT   0x0000
 

Option to prohibit processing of unassigned code points in the input.

See also:
usprep_prepare
ICU_Draft:
ICU 2.8

Definition at line 74 of file usprep.h.


Typedef Documentation

typedef struct UStringPrepProfile UStringPrepProfile
 

The StringPrep profile.

ICU_Draft:
ICU 2.8

Definition at line 64 of file usprep.h.


Function Documentation

U_DRAFT void U_EXPORT2 usprep_close UStringPrepProfile profile  ) 
 

Closes the profile.

Parameters:
profile The profile to close
ICU_Draft:
ICU 2.8

U_DRAFT UStringPrepProfile* U_EXPORT2 usprep_open const char *  path,
const char *  fileName,
UErrorCode status
 

Creates a StringPrep profile from the data file.

Parameters:
path string containing the full path pointing to the directory where the profile reside followed by the package name e.g. "/usr/resource/my_app/profiles/mydata" on a Unix system. if NULL, ICU default data files will be used.
fileName name of the profile file to be opened
status ICU error code in/out parameter. Must not be NULL. Must fulfill U_SUCCESS before the function call.
Returns:
Pointer to UStringPrepProfile that is opened. Should be closed by calling usprep_close()
See also:
usprep_close()
ICU_Draft:
ICU 2.8

U_DRAFT int32_t U_EXPORT2 usprep_prepare const UStringPrepProfile prep,
const UChar *  src,
int32_t  srcLength,
UChar *  dest,
int32_t  destCapacity,
int32_t  options,
UParseError parseError,
UErrorCode status
 

Prepare the input buffer for use in applications with the given profile.

This operation maps, normalizes(NFKC), checks for prohited and BiDi characters in the order defined by RFC 3454 depending on the options specified in the profile.

Parameters:
prep The profile to use
src Pointer to UChar buffer containing the string to prepare
srcLength Number of characters in the source string
dest Pointer to the destination buffer to receive the output
destCapacity The capacity of destination array
options A bit set of options:
  • USPREP_NONE Prohibit processing of unassigned code points in the input

  • USPREP_ALLOW_UNASSIGNED Treat the unassigned code points are in the input as normal Unicode code points.

Parameters:
parseError Pointer to UParseError struct to receive information on position of error if an error is encountered. Can be NULL.
status ICU in/out error code parameter. U_INVALID_CHAR_FOUND if src contains unmatched single surrogates. U_INDEX_OUTOFBOUNDS_ERROR if src contains too many code points. U_BUFFER_OVERFLOW_ERROR if destCapacity is not enough
Returns:
The number of UChars in the destination buffer
ICU_Draft:
ICU 2.8


Generated on Tue Nov 16 10:03:12 2004 for ICU 3.2 by  doxygen 1.3.9.1