• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2 *******************************************************************************
3 *
4 *   Copyright (C) 2003-2009, International Business Machines
5 *   Corporation and others.  All Rights Reserved.
6 *
7 *******************************************************************************
8 *   file name:  ucol_swp.h
9 *   encoding:   US-ASCII
10 *   tab size:   8 (not used)
11 *   indentation:4
12 *
13 *   created on: 2003sep10
14 *   created by: Markus W. Scherer
15 *
16 *   Swap collation binaries.
17 */
18 
19 #ifndef __UCOL_SWP_H__
20 #define __UCOL_SWP_H__
21 
22 #include "unicode/utypes.h"
23 
24 #if !UCONFIG_NO_COLLATION
25 
26 #include "udataswp.h"
27 
28 /*
29  * Does the data look like a collation binary?
30  * @internal
31  */
32 U_INTERNAL UBool U_EXPORT2
33 ucol_looksLikeCollationBinary(const UDataSwapper *ds,
34                               const void *inData, int32_t length);
35 
36 /**
37  * Swap a header-less collation binary, inside a resource bundle or ucadata.icu.
38  * See udataswp.h.
39  * @internal
40  */
41 U_CAPI int32_t U_EXPORT2
42 ucol_swapBinary(const UDataSwapper *ds,
43                 const void *inData, int32_t length, void *outData,
44                 UErrorCode *pErrorCode);
45 
46 /**
47  * Swap ICU collation data like ucadata.icu. See udataswp.h.
48  * @internal
49  */
50 U_CAPI int32_t U_EXPORT2
51 ucol_swap(const UDataSwapper *ds,
52           const void *inData, int32_t length, void *outData,
53           UErrorCode *pErrorCode);
54 
55 /**
56  * Swap inverse UCA collation data (invuca.icu). See udataswp.h.
57  * @internal
58  */
59 U_CAPI int32_t U_EXPORT2
60 ucol_swapInverseUCA(const UDataSwapper *ds,
61                     const void *inData, int32_t length, void *outData,
62                     UErrorCode *pErrorCode);
63 
64 #endif /* #if !UCONFIG_NO_COLLATION */
65 
66 #endif
67