ICU 50.1.2  50.1.2
uspoof.h
Go to the documentation of this file.
1 /*
2 ***************************************************************************
3 * Copyright (C) 2008-2012, International Business Machines Corporation
4 * and others. All Rights Reserved.
5 ***************************************************************************
6 * file name: uspoof.h
7 * encoding: US-ASCII
8 * tab size: 8 (not used)
9 * indentation:4
10 *
11 * created on: 2008Feb13
12 * created by: Andy Heninger
13 *
14 * Unicode Spoof Detection
15 */
16 
17 #ifndef USPOOF_H
18 #define USPOOF_H
19 
20 #include "unicode/utypes.h"
21 #include "unicode/uset.h"
22 #include "unicode/parseerr.h"
23 #include "unicode/localpointer.h"
24 
25 #if !UCONFIG_NO_NORMALIZATION
26 
27 
28 #if U_SHOW_CPLUSPLUS_API
29 #include "unicode/unistr.h"
30 #include "unicode/uniset.h"
31 #endif
32 
33 
144 struct USpoofChecker;
145 typedef struct USpoofChecker USpoofChecker;
154 typedef enum USpoofChecks {
161 
171 
182 
190 
196 
204 
210 
211  USPOOF_ALL_CHECKS = 0x7f
212  } USpoofChecks;
213 
214 
225 U_STABLE USpoofChecker * U_EXPORT2
226 uspoof_open(UErrorCode *status);
227 
228 
250 U_STABLE USpoofChecker * U_EXPORT2
251 uspoof_openFromSerialized(const void *data, int32_t length, int32_t *pActualLength,
252  UErrorCode *pErrorCode);
253 
285 U_STABLE USpoofChecker * U_EXPORT2
286 uspoof_openFromSource(const char *confusables, int32_t confusablesLen,
287  const char *confusablesWholeScript, int32_t confusablesWholeScriptLen,
288  int32_t *errType, UParseError *pe, UErrorCode *status);
289 
290 
296 U_STABLE void U_EXPORT2
298 
299 #if U_SHOW_CPLUSPLUS_API
300 
302 
313 
315 
316 #endif
317 
327 U_STABLE USpoofChecker * U_EXPORT2
328 uspoof_clone(const USpoofChecker *sc, UErrorCode *status);
329 
330 
343 U_STABLE void U_EXPORT2
344 uspoof_setChecks(USpoofChecker *sc, int32_t checks, UErrorCode *status);
345 
357 U_STABLE int32_t U_EXPORT2
358 uspoof_getChecks(const USpoofChecker *sc, UErrorCode *status);
359 
402 U_STABLE void U_EXPORT2
403 uspoof_setAllowedLocales(USpoofChecker *sc, const char *localesList, UErrorCode *status);
404 
426 U_STABLE const char * U_EXPORT2
428 
429 
448 U_STABLE void U_EXPORT2
449 uspoof_setAllowedChars(USpoofChecker *sc, const USet *chars, UErrorCode *status);
450 
451 
472 U_STABLE const USet * U_EXPORT2
474 
475 
476 #if U_SHOW_CPLUSPLUS_API
477 
495 U_STABLE void U_EXPORT2
497 
498 
519 U_STABLE const icu::UnicodeSet * U_EXPORT2
521 #endif
522 
523 
552 U_STABLE int32_t U_EXPORT2
553 uspoof_check(const USpoofChecker *sc,
554  const UChar *text, int32_t length,
555  int32_t *position,
556  UErrorCode *status);
557 
558 
587 U_STABLE int32_t U_EXPORT2
589  const char *text, int32_t length,
590  int32_t *position,
591  UErrorCode *status);
592 
593 
594 #if U_SHOW_CPLUSPLUS_API
595 
620 U_STABLE int32_t U_EXPORT2
622  const icu::UnicodeString &text,
623  int32_t *position,
624  UErrorCode *status);
625 
626 #endif
627 
628 
668 U_STABLE int32_t U_EXPORT2
670  const UChar *s1, int32_t length1,
671  const UChar *s2, int32_t length2,
672  UErrorCode *status);
673 
674 
675 
701 U_STABLE int32_t U_EXPORT2
703  const char *s1, int32_t length1,
704  const char *s2, int32_t length2,
705  UErrorCode *status);
706 
707 
708 
709 
710 #if U_SHOW_CPLUSPLUS_API
711 
732 U_STABLE int32_t U_EXPORT2
734  const icu::UnicodeString &s1,
735  const icu::UnicodeString &s2,
736  UErrorCode *status);
737 #endif
738 
739 
772 U_STABLE int32_t U_EXPORT2
774  uint32_t type,
775  const UChar *s, int32_t length,
776  UChar *dest, int32_t destCapacity,
777  UErrorCode *status);
778 
814 U_STABLE int32_t U_EXPORT2
816  uint32_t type,
817  const char *s, int32_t length,
818  char *dest, int32_t destCapacity,
819  UErrorCode *status);
820 
821 #if U_SHOW_CPLUSPLUS_API
822 
847 U_I18N_API icu::UnicodeString & U_EXPORT2
849  uint32_t type,
850  const icu::UnicodeString &s,
851  icu::UnicodeString &dest,
852  UErrorCode *status);
853 #endif /* U_SHOW_CPLUSPLUS_API */
854 
855 
874 U_STABLE int32_t U_EXPORT2
876  void *data, int32_t capacity,
877  UErrorCode *status);
878 
879 
880 #endif
881 
882 #endif /* USPOOF_H */