ICU 51.2  51.2
uspoof.h
Go to the documentation of this file.
1 /*
2 ***************************************************************************
3 * Copyright (C) 2008-2013, 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 
205 
206 #ifndef U_HIDE_DEPRECATED_API
207 
213 #endif /* U_HIDE_DEPRECATED_API */
214 
222 
228 
229 #ifndef U_HIDE_DRAFT_API
230 
237 #endif /* U_HIDE_DRAFT_API */
238 
245 
246 #ifndef U_HIDE_DRAFT_API
247 
259  USPOOF_AUX_INFO = 0x40000000
260 #endif /* U_HIDE_DRAFT_API */
261 
262  } USpoofChecks;
263 
264 
265 #ifndef U_HIDE_DRAFT_API
266 
271  typedef enum URestrictionLevel {
277  USPOOF_ASCII = 0x10000000,
303  USPOOF_UNRESTRICTIVE = 0x50000000
305 #endif /* U_HIDE_DRAFT_API */
306 
317 U_STABLE USpoofChecker * U_EXPORT2
318 uspoof_open(UErrorCode *status);
319 
320 
342 U_STABLE USpoofChecker * U_EXPORT2
343 uspoof_openFromSerialized(const void *data, int32_t length, int32_t *pActualLength,
344  UErrorCode *pErrorCode);
345 
377 U_STABLE USpoofChecker * U_EXPORT2
378 uspoof_openFromSource(const char *confusables, int32_t confusablesLen,
379  const char *confusablesWholeScript, int32_t confusablesWholeScriptLen,
380  int32_t *errType, UParseError *pe, UErrorCode *status);
381 
382 
388 U_STABLE void U_EXPORT2
390 
391 #if U_SHOW_CPLUSPLUS_API
392 
394 
405 
407 
408 #endif
409 
419 U_STABLE USpoofChecker * U_EXPORT2
420 uspoof_clone(const USpoofChecker *sc, UErrorCode *status);
421 
422 
435 U_STABLE void U_EXPORT2
436 uspoof_setChecks(USpoofChecker *sc, int32_t checks, UErrorCode *status);
437 
449 U_STABLE int32_t U_EXPORT2
450 uspoof_getChecks(const USpoofChecker *sc, UErrorCode *status);
451 
452 #ifndef U_HIDE_DRAFT_API
453 
461 U_DRAFT void U_EXPORT2
463 
464 
472 U_DRAFT URestrictionLevel U_EXPORT2
474 #endif /* U_HIDE_DRAFT_API */
475 
518 U_STABLE void U_EXPORT2
519 uspoof_setAllowedLocales(USpoofChecker *sc, const char *localesList, UErrorCode *status);
520 
542 U_STABLE const char * U_EXPORT2
544 
545 
564 U_STABLE void U_EXPORT2
565 uspoof_setAllowedChars(USpoofChecker *sc, const USet *chars, UErrorCode *status);
566 
567 
588 U_STABLE const USet * U_EXPORT2
590 
591 
592 #if U_SHOW_CPLUSPLUS_API
593 
611 U_STABLE void U_EXPORT2
613 
614 
635 U_STABLE const icu::UnicodeSet * U_EXPORT2
637 #endif
638 
639 
666 U_STABLE int32_t U_EXPORT2
667 uspoof_check(const USpoofChecker *sc,
668  const UChar *id, int32_t length,
669  int32_t *position,
670  UErrorCode *status);
671 
672 
700 U_STABLE int32_t U_EXPORT2
702  const char *id, int32_t length,
703  int32_t *position,
704  UErrorCode *status);
705 
706 
707 #if U_SHOW_CPLUSPLUS_API
708 
731 U_STABLE int32_t U_EXPORT2
733  const icu::UnicodeString &id,
734  int32_t *position,
735  UErrorCode *status);
736 
737 #endif
738 
739 
779 U_STABLE int32_t U_EXPORT2
781  const UChar *id1, int32_t length1,
782  const UChar *id2, int32_t length2,
783  UErrorCode *status);
784 
785 
786 
812 U_STABLE int32_t U_EXPORT2
814  const char *id1, int32_t length1,
815  const char *id2, int32_t length2,
816  UErrorCode *status);
817 
818 
819 
820 
821 #if U_SHOW_CPLUSPLUS_API
822 
843 U_STABLE int32_t U_EXPORT2
845  const icu::UnicodeString &s1,
846  const icu::UnicodeString &s2,
847  UErrorCode *status);
848 #endif
849 
850 
883 U_STABLE int32_t U_EXPORT2
885  uint32_t type,
886  const UChar *id, int32_t length,
887  UChar *dest, int32_t destCapacity,
888  UErrorCode *status);
889 
925 U_STABLE int32_t U_EXPORT2
927  uint32_t type,
928  const char *id, int32_t length,
929  char *dest, int32_t destCapacity,
930  UErrorCode *status);
931 
932 #if U_SHOW_CPLUSPLUS_API
933 
958 U_I18N_API icu::UnicodeString & U_EXPORT2
960  uint32_t type,
961  const icu::UnicodeString &id,
962  icu::UnicodeString &dest,
963  UErrorCode *status);
964 #endif /* U_SHOW_CPLUSPLUS_API */
965 
966 
967 #ifndef U_HIDE_DRAFT_API
968 
979 U_DRAFT const USet * U_EXPORT2
981 
993 U_DRAFT const USet * U_EXPORT2
995 
996 #if U_SHOW_CPLUSPLUS_API
997 
1009 U_DRAFT const icu::UnicodeSet * U_EXPORT2
1011 
1023 U_DRAFT const icu::UnicodeSet * U_EXPORT2
1025 
1026 #endif /* U_SHOW_CPLUSPLUS_API */
1027 #endif /* U_HIDE_DRAFT_API */
1028 
1051 U_STABLE int32_t U_EXPORT2
1053  void *data, int32_t capacity,
1054  UErrorCode *status);
1055 
1056 
1057 #endif
1058 
1059 #endif /* USPOOF_H */