1# Copyright (C) 2018 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9#  Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15# The shim library includes the stable C symbols exposed by libicuuc.so.
16#
17# If a new symbol is needed in the shim, please add the API in the following list,
18# and re-run external/icu/tools/icu4c_srcgen/generate_ndk.py.
19
20u_charAge
21u_charDigitValue
22u_charDirection
23u_charFromName
24u_charMirror
25u_charName
26u_charType
27u_countChar32
28u_digit
29u_enumCharNames
30u_enumCharTypes
31u_errorName
32u_foldCase
33u_forDigit
34u_getBidiPairedBracket
35u_getCombiningClass
36u_getIntPropertyMaxValue
37u_getIntPropertyMinValue
38u_getIntPropertyValue
39u_getNumericValue
40u_getPropertyEnum
41u_getPropertyName
42u_getPropertyValueEnum
43u_getPropertyValueName
44u_getUnicodeVersion
45u_getVersion
46u_hasBinaryProperty
47u_isIDIgnorable
48u_isIDPart
49u_isIDStart
50u_isISOControl
51u_isJavaIDPart
52u_isJavaIDStart
53u_isJavaSpaceChar
54u_isMirrored
55u_isUAlphabetic
56u_isULowercase
57u_isUUppercase
58u_isUWhiteSpace
59u_isWhitespace
60u_isalnum
61u_isalpha
62u_isbase
63u_isblank
64u_iscntrl
65u_isdefined
66u_isdigit
67u_isgraph
68u_islower
69u_isprint
70u_ispunct
71u_isspace
72u_istitle
73u_isupper
74u_isxdigit
75u_memcasecmp
76u_memchr
77u_memchr32
78u_memcmp
79u_memcmpCodePointOrder
80u_memcpy
81u_memmove
82u_memrchr
83u_memrchr32
84u_memset
85u_strCaseCompare
86u_strCompare
87u_strFindFirst
88u_strFindLast
89u_strFoldCase
90u_strFromUTF32
91u_strFromUTF32WithSub
92u_strFromUTF8
93u_strFromUTF8Lenient
94u_strFromUTF8WithSub
95u_strHasMoreChar32Than
96u_strToLower
97u_strToTitle
98u_strToUTF32
99u_strToUTF32WithSub
100u_strToUTF8
101u_strToUTF8WithSub
102u_strToUpper
103u_strcasecmp
104u_strcat
105u_strchr
106u_strchr32
107u_strcmp
108u_strcmpCodePointOrder
109u_strcpy
110u_strcspn
111u_strlen
112u_strncasecmp
113u_strncat
114u_strncmp
115u_strncmpCodePointOrder
116u_strncpy
117u_strpbrk
118u_strrchr
119u_strrchr32
120u_strrstr
121u_strspn
122u_strstr
123u_strtok_r
124u_tolower
125u_totitle
126u_toupper
127u_versionToString
128ubidi_close
129ubidi_countParagraphs
130ubidi_countRuns
131ubidi_getBaseDirection
132ubidi_getClassCallback
133ubidi_getCustomizedClass
134ubidi_getDirection
135ubidi_getLength
136ubidi_getLevelAt
137ubidi_getLevels
138ubidi_getLogicalIndex
139ubidi_getLogicalMap
140ubidi_getLogicalRun
141ubidi_getParaLevel
142ubidi_getParagraph
143ubidi_getParagraphByIndex
144ubidi_getProcessedLength
145ubidi_getReorderingMode
146ubidi_getReorderingOptions
147ubidi_getResultLength
148ubidi_getText
149ubidi_getVisualIndex
150ubidi_getVisualMap
151ubidi_getVisualRun
152ubidi_invertMap
153ubidi_isInverse
154ubidi_isOrderParagraphsLTR
155ubidi_open
156ubidi_openSized
157ubidi_orderParagraphsLTR
158ubidi_reorderLogical
159ubidi_reorderVisual
160ubidi_setClassCallback
161ubidi_setContext
162ubidi_setInverse
163ubidi_setLine
164ubidi_setPara
165ubidi_setReorderingMode
166ubidi_setReorderingOptions
167ubidi_writeReordered
168ubidi_writeReverse
169ubrk_clone
170ubrk_close
171ubrk_countAvailable
172ubrk_current
173ubrk_first
174ubrk_following
175ubrk_getAvailable
176ubrk_getRuleStatus
177ubrk_getRuleStatusVec
178ubrk_isBoundary
179ubrk_last
180ubrk_next
181ubrk_open
182ubrk_preceding
183ubrk_previous
184ubrk_setText
185ubrk_setUText
186# Don't expose the following API because NDK has no mutable APIs for UText yet.
187#   ubrk_refreshUText
188# Don't expose the following APIs because android.icu.text.RuleBasedBreakIterator is not
189# public API yet.
190#   ubrk_getBinaryRules
191#   ubrk_getLocaleByType
192#   ubrk_openBinaryRules
193#   ubrk_openRules
194uenum_close
195uenum_count
196uenum_next
197uenum_openCharStringsEnumeration
198uenum_openUCharStringsEnumeration
199uenum_reset
200uenum_unext
201uldn_close
202uldn_getContext
203uldn_getDialectHandling
204uldn_getLocale
205uldn_keyDisplayName
206uldn_keyValueDisplayName
207uldn_languageDisplayName
208uldn_localeDisplayName
209uldn_open
210uldn_openForContext
211uldn_regionDisplayName
212uldn_scriptCodeDisplayName
213uldn_scriptDisplayName
214uldn_variantDisplayName
215ulocdata_getCLDRVersion
216uloc_acceptLanguage
217uloc_addLikelySubtags
218uloc_canonicalize
219uloc_countAvailable
220uloc_forLanguageTag
221uloc_getAvailable
222uloc_getBaseName
223uloc_getCharacterOrientation
224uloc_getCountry
225uloc_getDefault
226uloc_getDisplayCountry
227uloc_getDisplayKeyword
228uloc_getDisplayKeywordValue
229uloc_getDisplayLanguage
230uloc_getDisplayName
231uloc_getDisplayScript
232uloc_getDisplayVariant
233uloc_getISO3Country
234uloc_getISO3Language
235uloc_getISOCountries
236uloc_getISOLanguages
237uloc_getKeywordValue
238uloc_getLanguage
239uloc_getLineOrientation
240uloc_getName
241uloc_getScript
242uloc_getVariant
243uloc_isRightToLeft
244uloc_minimizeSubtags
245uloc_openKeywords
246uloc_setKeywordValue
247uloc_toLanguageTag
248uloc_toLegacyKey
249uloc_toLegacyType
250uloc_toUnicodeLocaleKey
251uloc_toUnicodeLocaleType
252unorm2_append
253unorm2_close
254unorm2_composePair
255unorm2_getCombiningClass
256unorm2_getDecomposition
257unorm2_getNFCInstance
258unorm2_getNFDInstance
259unorm2_getNFKCCasefoldInstance
260unorm2_getNFKCInstance
261unorm2_getNFKDInstance
262unorm2_getRawDecomposition
263unorm2_hasBoundaryAfter
264unorm2_hasBoundaryBefore
265unorm2_isInert
266unorm2_isNormalized
267unorm2_normalize
268unorm2_normalizeSecondAndAppend
269unorm2_quickCheck
270unorm2_spanQuickCheckYes
271# Do not support reading app-supplied .nrm data file.
272#   unorm2_getInstance
273# The java counterpart android.icu.text.FilteredNormalizer2 is not a public API yet.
274#   unorm2_openFiltered
275uscript_breaksBetweenLetters
276uscript_getCode
277uscript_getName
278uscript_getSampleString
279uscript_getScript
280uscript_getScriptExtensions
281uscript_getShortName
282uscript_getUsage
283uscript_hasScript
284uscript_isCased
285uscript_isRightToLeft
286utext_char32At
287utext_clone
288utext_close
289utext_current32
290utext_equals
291utext_extract
292utext_getNativeIndex
293utext_moveIndex32
294utext_nativeLength
295utext_next32
296utext_next32From
297utext_openUChars
298utext_openUTF8
299utext_previous32
300utext_previous32From
301utext_setNativeIndex
302# Do not expose the following APIs because mutability of UText is not strictly required by the users
303# , e.g. when being used in UBreakIterator.
304#   utext_copy
305#   utext_freeze
306#   utext_isWritable
307#   utext_replace
308#   utext_setup
309# No strong use case of the following APIs is found yet.
310#   utext_getPreviousNativeIndex
311#   utext_hasMetaData
312#   utext_isLengthExpensive
313