ICU 54.1  54.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
uspoof.h
Go to the documentation of this file.
1 /*
2 ***************************************************************************
3 * Copyright (C) 2008-2014, 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 
236 
243 
256  USPOOF_AUX_INFO = 0x40000000
257 
258  } USpoofChecks;
259 
260 
266  typedef enum URestrictionLevel {
272  USPOOF_ASCII = 0x10000000,
273 #ifndef U_HIDE_DRAFT_API
274 
280 #endif /* U_HIDE_DRAFT_API */
281 
306  USPOOF_UNRESTRICTIVE = 0x60000000,
307 #ifndef U_HIDE_DRAFT_API
308 
314 #endif /* U_HIDE_DRAFT_API */
316 
327 U_STABLE USpoofChecker * U_EXPORT2
328 uspoof_open(UErrorCode *status);
329 
330 
352 U_STABLE USpoofChecker * U_EXPORT2
353 uspoof_openFromSerialized(const void *data, int32_t length, int32_t *pActualLength,
354  UErrorCode *pErrorCode);
355 
387 U_STABLE USpoofChecker * U_EXPORT2
388 uspoof_openFromSource(const char *confusables, int32_t confusablesLen,
389  const char *confusablesWholeScript, int32_t confusablesWholeScriptLen,
390  int32_t *errType, UParseError *pe, UErrorCode *status);
391 
392 
398 U_STABLE void U_EXPORT2
400 
401 #if U_SHOW_CPLUSPLUS_API
402 
404 
415 
417 
418 #endif
419 
429 U_STABLE USpoofChecker * U_EXPORT2
430 uspoof_clone(const USpoofChecker *sc, UErrorCode *status);
431 
432 
445 U_STABLE void U_EXPORT2
446 uspoof_setChecks(USpoofChecker *sc, int32_t checks, UErrorCode *status);
447 
459 U_STABLE int32_t U_EXPORT2
460 uspoof_getChecks(const USpoofChecker *sc, UErrorCode *status);
461 
470 U_STABLE void U_EXPORT2
472 
473 
481 U_STABLE URestrictionLevel U_EXPORT2
483 
526 U_STABLE void U_EXPORT2
527 uspoof_setAllowedLocales(USpoofChecker *sc, const char *localesList, UErrorCode *status);
528 
550 U_STABLE const char * U_EXPORT2
552 
553 
572 U_STABLE void U_EXPORT2
573 uspoof_setAllowedChars(USpoofChecker *sc, const USet *chars, UErrorCode *status);
574 
575 
596 U_STABLE const USet * U_EXPORT2
598 
599 
600 #if U_SHOW_CPLUSPLUS_API
601 
619 U_STABLE void U_EXPORT2
621 
622 
643 U_STABLE const icu::UnicodeSet * U_EXPORT2
645 #endif
646 
647 
674 U_STABLE int32_t U_EXPORT2
675 uspoof_check(const USpoofChecker *sc,
676  const UChar *id, int32_t length,
677  int32_t *position,
678  UErrorCode *status);
679 
680 
708 U_STABLE int32_t U_EXPORT2
710  const char *id, int32_t length,
711  int32_t *position,
712  UErrorCode *status);
713 
714 
715 #if U_SHOW_CPLUSPLUS_API
716 
739 U_STABLE int32_t U_EXPORT2
741  const icu::UnicodeString &id,
742  int32_t *position,
743  UErrorCode *status);
744 
745 #endif
746 
747 
787 U_STABLE int32_t U_EXPORT2
789  const UChar *id1, int32_t length1,
790  const UChar *id2, int32_t length2,
791  UErrorCode *status);
792 
793 
794 
820 U_STABLE int32_t U_EXPORT2
822  const char *id1, int32_t length1,
823  const char *id2, int32_t length2,
824  UErrorCode *status);
825 
826 
827 
828 
829 #if U_SHOW_CPLUSPLUS_API
830 
851 U_STABLE int32_t U_EXPORT2
853  const icu::UnicodeString &s1,
854  const icu::UnicodeString &s2,
855  UErrorCode *status);
856 #endif
857 
858 
891 U_STABLE int32_t U_EXPORT2
893  uint32_t type,
894  const UChar *id, int32_t length,
895  UChar *dest, int32_t destCapacity,
896  UErrorCode *status);
897 
933 U_STABLE int32_t U_EXPORT2
935  uint32_t type,
936  const char *id, int32_t length,
937  char *dest, int32_t destCapacity,
938  UErrorCode *status);
939 
940 #if U_SHOW_CPLUSPLUS_API
941 
966 U_I18N_API icu::UnicodeString & U_EXPORT2
968  uint32_t type,
969  const icu::UnicodeString &id,
970  icu::UnicodeString &dest,
971  UErrorCode *status);
972 #endif /* U_SHOW_CPLUSPLUS_API */
973 
985 U_STABLE const USet * U_EXPORT2
987 
999 U_STABLE const USet * U_EXPORT2
1001 
1002 #if U_SHOW_CPLUSPLUS_API
1003 
1015 U_STABLE const icu::UnicodeSet * U_EXPORT2
1017 
1029 U_STABLE const icu::UnicodeSet * U_EXPORT2
1031 
1032 #endif /* U_SHOW_CPLUSPLUS_API */
1033 
1056 U_STABLE int32_t U_EXPORT2
1058  void *data, int32_t capacity,
1059  UErrorCode *status);
1060 
1061 
1062 #endif
1063 
1064 #endif /* USPOOF_H */