ICU 72.1 72.1
|
C API: Implements the StringPrep algorithm. More...
Go to the source code of this file.
Namespaces | |
namespace | icu |
File coll.h. | |
Macros | |
#define | USPREP_DEFAULT 0x0000 |
Option to prohibit processing of unassigned code points in the input. More... | |
#define | USPREP_ALLOW_UNASSIGNED 0x0001 |
Option to allow processing of unassigned code points in the input. More... | |
Typedefs | |
typedef struct UStringPrepProfile | UStringPrepProfile |
StringPrep API implements the StingPrep framework as described by RFC 3454. More... | |
typedef enum UStringPrepProfileType | UStringPrepProfileType |
enums for the standard stringprep profile types supported by usprep_openByType. More... | |
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 | |
U_CAPI UStringPrepProfile * | usprep_open (const char *path, const char *fileName, UErrorCode *status) |
Creates a StringPrep profile from the data file. More... | |
U_CAPI UStringPrepProfile * | usprep_openByType (UStringPrepProfileType type, UErrorCode *status) |
Creates a StringPrep profile for the specified profile type. More... | |
U_CAPI void | usprep_close (UStringPrepProfile *profile) |
Closes the profile. More... | |
U_CAPI 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. More... | |
C API: Implements the StringPrep algorithm.
Definition in file usprep.h.
#define USPREP_ALLOW_UNASSIGNED 0x0001 |
Option to allow processing of unassigned code points in the input.
#define USPREP_DEFAULT 0x0000 |
Option to prohibit processing of unassigned code points in the input.
typedef struct UStringPrepProfile UStringPrepProfile |
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 classified into
The procedure for preparing Unicode strings:
typedef enum UStringPrepProfileType UStringPrepProfileType |
enums for the standard stringprep profile types supported by usprep_openByType.
enums for the standard stringprep profile types supported by usprep_openByType.
Enumerator | |
---|---|
USPREP_RFC3491_NAMEPREP | RFC3491 Nameprep.
|
USPREP_RFC3530_NFS4_CS_PREP | RFC3530 nfs4_cs_prep.
|
USPREP_RFC3530_NFS4_CS_PREP_CI | RFC3530 nfs4_cs_prep with case insensitive option.
|
USPREP_RFC3530_NFS4_CIS_PREP | RFC3530 nfs4_cis_prep.
|
USPREP_RFC3530_NFS4_MIXED_PREP_PREFIX | RFC3530 nfs4_mixed_prep for prefix.
|
USPREP_RFC3530_NFS4_MIXED_PREP_SUFFIX | RFC3530 nfs4_mixed_prep for suffix.
|
USPREP_RFC3722_ISCSI | RFC3722 iSCSI.
|
USPREP_RFC3920_NODEPREP | RFC3920 XMPP Nodeprep.
|
USPREP_RFC3920_RESOURCEPREP | RFC3920 XMPP Resourceprep.
|
USPREP_RFC4011_MIB | RFC4011 Policy MIB Stringprep.
|
USPREP_RFC4013_SASLPREP | RFC4013 SASLprep.
|
USPREP_RFC4505_TRACE | RFC4505 trace.
|
USPREP_RFC4518_LDAP | RFC4518 LDAP.
|
USPREP_RFC4518_LDAP_CI | RFC4518 LDAP for case ignore, numeric and stored prefix matching rules.
|
U_CAPI void usprep_close | ( | UStringPrepProfile * | profile | ) |
U_CAPI UStringPrepProfile * usprep_open | ( | const char * | path, |
const char * | fileName, | ||
UErrorCode * | status | ||
) |
Creates a StringPrep profile from the data file.
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. |
U_CAPI UStringPrepProfile * usprep_openByType | ( | UStringPrepProfileType | type, |
UErrorCode * | status | ||
) |
Creates a StringPrep profile for the specified profile type.
type | The profile type |
status | ICU error code in/out parameter. Must not be NULL. Must fulfill U_SUCCESS before the function call. |
U_CAPI 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 prohibited and BiDi characters in the order defined by RFC 3454 depending on the options specified in the profile.
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: |
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 |