usprep.h File Reference

C API: Implements the StringPrep algorithm. 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.

Enumerations

enum  UStringPrepProfileType {
  USPREP_RFC3491_NAMEPREP, USPREP_RFC3530_NFS4_CS_PREP, USPREP_RFC3530_NFS4_CS_PREP_CI, USPREP_RFC3530_NFS4_CIS_PREP,
  USPREP_RFC3530_NFS4_MIXED_PREP_PREFIX, USPREP_RFC3530_NFS4_MIXED_PREP_SUFFIX, USPREP_RFC3722_ISCSI, USPREP_RFC3920_NODEPREP,
  USPREP_RFC3920_RESOURCEPREP, USPREP_RFC4011_MIB, USPREP_RFC4013_SASLPREP, USPREP_RFC4505_TRACE,
  USPREP_RFC4518_LDAP, USPREP_RFC4518_LDAP_CI
}
 enums for the standard stringprep profile types supported by usprep_openByType. More...

Functions

UStringPrepProfileusprep_open (const char *path, const char *fileName, UErrorCode *status)
 Creates a StringPrep profile from the data file.
UStringPrepProfileusprep_openByType (UStringPrepProfileType type, UErrorCode *status)
 Creates a StringPrep profile for the specified profile type.
void usprep_close (UStringPrepProfile *profile)
 Closes the profile.
int32_t 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

C API: Implements the StringPrep algorithm.

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
Stable:
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
Stable:
ICU 2.8

Definition at line 75 of file usprep.h.


Typedef Documentation

typedef struct UStringPrepProfile UStringPrepProfile

The StringPrep profile.

Stable:
ICU 2.8

Definition at line 66 of file usprep.h.


Enumeration Type Documentation

enum UStringPrepProfileType

enums for the standard stringprep profile types supported by usprep_openByType.

See also:
usprep_openByType
Draft:
This API may be changed in the future versions and was introduced in ICU 4.2
Enumerator:
USPREP_RFC3491_NAMEPREP  RFC3491 Nameprep.

Draft:
This API may be changed in the future versions and was introduced in ICU 4.2
USPREP_RFC3530_NFS4_CS_PREP  RFC3530 nfs4_cs_prep.

Draft:
This API may be changed in the future versions and was introduced in ICU 4.2
USPREP_RFC3530_NFS4_CS_PREP_CI  RFC3530 nfs4_cs_prep with case insensitive option.

Draft:
This API may be changed in the future versions and was introduced in ICU 4.2
USPREP_RFC3530_NFS4_CIS_PREP  RFC3530 nfs4_cis_prep.

Draft:
This API may be changed in the future versions and was introduced in ICU 4.2
USPREP_RFC3530_NFS4_MIXED_PREP_PREFIX  RFC3530 nfs4_mixed_prep for prefix.

Draft:
This API may be changed in the future versions and was introduced in ICU 4.2
USPREP_RFC3530_NFS4_MIXED_PREP_SUFFIX  RFC3530 nfs4_mixed_prep for suffix.

Draft:
This API may be changed in the future versions and was introduced in ICU 4.2
USPREP_RFC3722_ISCSI  RFC3722 iSCSI.

Draft:
This API may be changed in the future versions and was introduced in ICU 4.2
USPREP_RFC3920_NODEPREP  RFC3920 XMPP Nodeprep.

Draft:
This API may be changed in the future versions and was introduced in ICU 4.2
USPREP_RFC3920_RESOURCEPREP  RFC3920 XMPP Resourceprep.

Draft:
This API may be changed in the future versions and was introduced in ICU 4.2
USPREP_RFC4011_MIB  RFC4011 Policy MIB Stringprep.

Draft:
This API may be changed in the future versions and was introduced in ICU 4.2
USPREP_RFC4013_SASLPREP  RFC4013 SASLprep.

Draft:
This API may be changed in the future versions and was introduced in ICU 4.2
USPREP_RFC4505_TRACE  RFC4505 trace.

Draft:
This API may be changed in the future versions and was introduced in ICU 4.2
USPREP_RFC4518_LDAP  RFC4518 LDAP.

Draft:
This API may be changed in the future versions and was introduced in ICU 4.2
USPREP_RFC4518_LDAP_CI  RFC4518 LDAP for case ignore, numeric and stored prefix matching rules.

Draft:
This API may be changed in the future versions and was introduced in ICU 4.2

Definition at line 91 of file usprep.h.


Function Documentation

void usprep_close ( UStringPrepProfile profile  ) 

Closes the profile.

Parameters:
profile The profile to close
Stable:
ICU 2.8

UStringPrepProfile* 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()
Stable:
ICU 2.8

UStringPrepProfile* usprep_openByType ( UStringPrepProfileType  type,
UErrorCode status 
)

Creates a StringPrep profile for the specified profile type.

Parameters:
type The profile type
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()
Draft:
This API may be changed in the future versions and was introduced in ICU 4.2

int32_t 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:

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
Stable:
ICU 2.8


Generated on 18 Sep 2013 for ICU 4.2.1 by  doxygen 1.4.7