27 #if !UCONFIG_NO_NORMALIZATION 30 #if U_SHOW_CPLUSPLUS_API 418 #ifndef U_HIDE_DEPRECATED_API 442 #ifndef U_HIDE_DEPRECATED_API 474 #ifndef U_HIDE_DRAFT_API 585 #ifndef U_HIDE_INTERNAL_API 665 const char *confusablesWholeScript, int32_t confusablesWholeScriptLen,
677 #if U_SHOW_CPLUSPLUS_API 904 #if U_SHOW_CPLUSPLUS_API 986 const UChar *
id, int32_t length,
1025 const char *
id, int32_t length,
1030 #if U_SHOW_CPLUSPLUS_API 1097 const UChar*
id, int32_t length,
1134 const char *
id, int32_t length,
1138 #if U_SHOW_CPLUSPLUS_API 1202 #if U_SHOW_CPLUSPLUS_API 1318 const UChar *id1, int32_t length1,
1319 const UChar *id2, int32_t length2,
1351 const char *id1, int32_t length1,
1352 const char *id2, int32_t length2,
1358 #if U_SHOW_CPLUSPLUS_API 1422 const UChar *
id, int32_t length,
1423 UChar *dest, int32_t destCapacity,
1462 const char *
id, int32_t length,
1463 char *dest, int32_t destCapacity,
1466 #if U_SHOW_CPLUSPLUS_API 1528 #if U_SHOW_CPLUSPLUS_API 1586 void *data, int32_t capacity,
void uspoof_close(USpoofChecker *sc)
Close a Spoof Checker, freeing any memory that was being held by its implementation.
U_STABLE const icu::UnicodeSet *U_EXPORT2 uspoof_getInclusionUnicodeSet(UErrorCode *status)
Get the set of Candidate Characters for Inclusion in Identifiers, as defined in http://unicode.org/Public/security/latest/xidmodifications.txt and documented in http://www.unicode.org/reports/tr39/, Unicode Security Mechanisms.
URestrictionLevel
Constants from UAX #39 for use in uspoof_setRestrictionLevel, and for returned identifier restriction...
Check an identifier for the presence of invisible characters, such as zero-width spaces, or character sequences that are likely not to display, such as multiple occurrences of the same non-spacing mark.
Check that an identifier contains only characters from a single script (plus chars from the common an...
U_STABLE int32_t U_EXPORT2 uspoof_getChecks(const USpoofChecker *sc, UErrorCode *status)
Get the set of checks that this Spoof Checker has been configured to perform.
struct USpoofCheckResult USpoofCheckResult
U_NAMESPACE_END U_STABLE int32_t U_EXPORT2 uspoof_getCheckResultChecks(const USpoofCheckResult *checkResult, UErrorCode *status)
Indicates which of the spoof check(s) have failed.
USpoofChecker * uspoof_clone(const USpoofChecker *sc, UErrorCode *status)
Clone a Spoof Checker.
All characters in the string are in the identifier profile and all characters in the string are in th...
U_I18N_API icu::UnicodeString &U_EXPORT2 uspoof_getSkeletonUnicodeString(const USpoofChecker *sc, uint32_t type, const icu::UnicodeString &id, icu::UnicodeString &dest, UErrorCode *status)
Get the "skeleton" for an identifier.
Check that an identifier contains only characters from a specified set of acceptable characters...
All characters in the string are in the identifier profile.
USpoofChecks
Enum for the kinds of checks that USpoofChecker can perform.
USpoofChecker * uspoof_open(UErrorCode *status)
Create a Unicode Spoof Checker, configured to perform all checks except for USPOOF_LOCALE_LIMIT and U...
U_STABLE int32_t U_EXPORT2 uspoof_check2UTF8(const USpoofChecker *sc, const char *id, int32_t length, USpoofCheckResult *checkResult, UErrorCode *status)
Check the specified string for possible security issues.
U_STABLE void U_EXPORT2 uspoof_closeCheckResult(USpoofCheckResult *checkResult)
Close a USpoofCheckResult, freeing any memory that was being held by its implementation.
Enable this flag in uspoof_setChecks to turn on all types of confusables.
USpoofChecker * uspoof_openFromSource(const char *confusables, int32_t confusablesLen, const char *confusablesWholeScript, int32_t confusablesWholeScriptLen, int32_t *errType, UParseError *pe, UErrorCode *status)
Open a Spoof Checker from the source form of the spoof data.
U_STABLE const USet *U_EXPORT2 uspoof_getRecommendedSet(UErrorCode *status)
Get the set of characters from Recommended Scripts for Inclusion in Identifiers, as defined in http:/...
U_STABLE void U_EXPORT2 uspoof_setAllowedChars(USpoofChecker *sc, const USet *chars, UErrorCode *status)
Limit the acceptable characters to those specified by a Unicode Set.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
U_STABLE URestrictionLevel U_EXPORT2 uspoof_getCheckResultRestrictionLevel(const USpoofCheckResult *checkResult, UErrorCode *status)
Gets the restriction level that the text meets, if the USPOOF_RESTRICTION_LEVEL check was enabled; ot...
Check that an identifier does not have a combining character following a character in which that comb...
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
U_STABLE const char *U_EXPORT2 uspoof_getAllowedLocales(USpoofChecker *sc, UErrorCode *status)
Get a list of locales for the scripts that are acceptable in strings to be checked.
This flag is deprecated and no longer affects the behavior of SpoofChecker.
When performing the two-string uspoof_areConfusable test, this flag in the return value indicates tha...
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
U_STABLE const icu::UnicodeSet *U_EXPORT2 uspoof_getRecommendedUnicodeSet(UErrorCode *status)
Get the set of characters from Recommended Scripts for Inclusion in Identifiers, as defined in http:/...
U_STABLE void U_EXPORT2 uspoof_setRestrictionLevel(USpoofChecker *sc, URestrictionLevel restrictionLevel)
Set the loosest restriction level allowed for strings.
The string classifies as Highly Restrictive, or all characters in the string are in the identifier pr...
Check that an identifier does not mix numbers from different numbering systems.
The string classifies as ASCII-Only, or all characters in the string are in the identifier profile an...
The string classifies as Single Script, or all characters in the string are in the identifier profile...
U_STABLE int32_t U_EXPORT2 uspoof_getSkeleton(const USpoofChecker *sc, uint32_t type, const UChar *id, int32_t length, UChar *dest, int32_t destCapacity, UErrorCode *status)
Get the "skeleton" for an identifier.
U_STABLE int32_t U_EXPORT2 uspoof_areConfusableUTF8(const USpoofChecker *sc, const char *id1, int32_t length1, const char *id2, int32_t length2, UErrorCode *status)
A version of uspoof_areConfusable accepting strings in UTF-8 format.
USpoofChecker * uspoof_openFromSerialized(const void *data, int32_t length, int32_t *pActualLength, UErrorCode *pErrorCode)
Open a Spoof checker from its serialized form, stored in 32-bit-aligned memory.
U_STABLE int32_t U_EXPORT2 uspoof_check2(const USpoofChecker *sc, const UChar *id, int32_t length, USpoofCheckResult *checkResult, UErrorCode *status)
Check the specified string for possible security issues.
U_STABLE void U_EXPORT2 uspoof_setAllowedUnicodeSet(USpoofChecker *sc, const icu::UnicodeSet *chars, UErrorCode *status)
Limit the acceptable characters to those specified by a Unicode Set.
U_STABLE void U_EXPORT2 uspoof_setAllowedLocales(USpoofChecker *sc, const char *localesList, UErrorCode *status)
Limit characters that are acceptable in identifiers being checked to those normally used with the lan...
A mutable set of Unicode characters and multicharacter strings.
struct USpoofChecker USpoofChecker
typedef for C of USpoofChecker
U_STABLE USpoofCheckResult *U_EXPORT2 uspoof_openCheckResult(UErrorCode *status)
Create a USpoofCheckResult, used by the uspoof_check2 class of functions to return information about ...
"Smart pointer" class, closes a USpoofChecker via uspoof_close().
U_STABLE const USet *U_EXPORT2 uspoof_getCheckResultNumerics(const USpoofCheckResult *checkResult, UErrorCode *status)
Gets the set of numerics found in the string, if the USPOOF_MIXED_NUMBERS check was enabled; otherwis...
When performing the two-string uspoof_areConfusable test, this flag in the return value indicates tha...
uint16_t UChar
The base type for UTF-16 code units and pointers.
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
C API: Parse Error Information.
U_STABLE const icu::UnicodeSet *U_EXPORT2 uspoof_getAllowedUnicodeSet(const USpoofChecker *sc, UErrorCode *status)
Get a UnicodeSet for the characters permitted in an identifier.
U_STABLE URestrictionLevel U_EXPORT2 uspoof_getRestrictionLevel(const USpoofChecker *sc)
Get the Restriction Level that will be tested if the checks include USPOOF_RESTRICTION_LEVEL.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
When performing the two-string uspoof_areConfusable test, this flag in the return value indicates tha...
struct USet USet
USet is the C API type corresponding to C++ class UnicodeSet.
U_STABLE int32_t U_EXPORT2 uspoof_checkUTF8(const USpoofChecker *sc, const char *id, int32_t length, int32_t *position, UErrorCode *status)
Check the specified string for possible security issues.
U_STABLE void U_EXPORT2 uspoof_setChecks(USpoofChecker *sc, int32_t checks, UErrorCode *status)
Specify the bitmask of checks that will be performed by uspoof_check.
U_STABLE int32_t U_EXPORT2 uspoof_check(const USpoofChecker *sc, const UChar *id, int32_t length, int32_t *position, UErrorCode *status)
Check the specified string for possible security issues.
Enable the return of auxillary (non-error) information in the upper bits of the check results value...
U_STABLE int32_t U_EXPORT2 uspoof_check2UnicodeString(const USpoofChecker *sc, const icu::UnicodeString &id, USpoofCheckResult *checkResult, UErrorCode *status)
Check the specified string for possible security issues.
U_STABLE int32_t U_EXPORT2 uspoof_checkUnicodeString(const USpoofChecker *sc, const icu::UnicodeString &id, int32_t *position, UErrorCode *status)
Check the specified string for possible security issues.
Check that an identifier is no looser than the specified RestrictionLevel.
A UParseError struct is used to returned detailed information about parsing errors.
Basic definitions for ICU, for both C and C++ APIs.
U_STABLE const USet *U_EXPORT2 uspoof_getInclusionSet(UErrorCode *status)
Get the set of Candidate Characters for Inclusion in Identifiers, as defined in http://unicode.org/Public/security/latest/xidmodifications.txt and documented in http://www.unicode.org/reports/tr39/, Unicode Security Mechanisms.
Mask for selecting the Restriction Level bits from the return value of uspoof_check.
U_STABLE int32_t U_EXPORT2 uspoof_serialize(USpoofChecker *sc, void *data, int32_t capacity, UErrorCode *status)
Serialize the data for a spoof detector into a chunk of memory.
U_STABLE int32_t U_EXPORT2 uspoof_areConfusableUnicodeString(const USpoofChecker *sc, const icu::UnicodeString &s1, const icu::UnicodeString &s2, UErrorCode *status)
A version of uspoof_areConfusable accepting UnicodeStrings.
Any valid identifiers, including characters outside of the Identifier Profile.
U_STABLE const USet *U_EXPORT2 uspoof_getAllowedChars(const USpoofChecker *sc, UErrorCode *status)
Get a USet for the characters permitted in an identifier.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
"Smart pointer" class, closes a USpoofCheckResult via uspoof_closeCheckResult().
U_STABLE int32_t U_EXPORT2 uspoof_areConfusable(const USpoofChecker *sc, const UChar *id1, int32_t length1, const UChar *id2, int32_t length2, UErrorCode *status)
Check the whether two specified strings are visually confusable.
U_STABLE int32_t U_EXPORT2 uspoof_getSkeletonUTF8(const USpoofChecker *sc, uint32_t type, const char *id, int32_t length, char *dest, int32_t destCapacity, UErrorCode *status)
Get the "skeleton" for an identifier.
An undefined restriction level.
#define U_STABLE
This is used to declare a function as a stable public ICU C API.