58
58
// (U_ICU_VERSION_MAJOR_NUM < 52)
59
59
// The following APIs are not supported in the ICU versions less than 52. We need to define them manually.
60
60
// We have to do runtime check before using the pointers to these APIs. That is why these are listed in the FOR_ALL_OPTIONAL_ICU_FUNCTIONS list.
61
- U_CAPI int32_t U_EXPORT2 ucal_getWindowsTimeZoneID (const UChar * id , int32_t len ,UChar * winid , int32_t winidCapacity , UErrorCode * status );
62
61
U_CAPI int32_t U_EXPORT2 ucal_getTimeZoneIDForWindowsID (const UChar * winid , int32_t len , const char * region , UChar * id , int32_t idCapacity , UErrorCode * status );
62
+ U_CAPI int32_t U_EXPORT2 ucal_getWindowsTimeZoneID (const UChar * id , int32_t len , UChar * winid , int32_t winidCapacity , UErrorCode * status );
63
63
#endif
64
64
65
65
// List of all functions from the ICU libraries that are used in the System.Globalization.Native.so
66
66
#define FOR_ALL_UNCONDITIONAL_ICU_FUNCTIONS \
67
67
PER_FUNCTION_BLOCK(u_charsToUChars, libicuuc, true) \
68
68
PER_FUNCTION_BLOCK(u_getVersion, libicuuc, true) \
69
+ PER_FUNCTION_BLOCK(u_strcmp, libicuuc, true) \
70
+ PER_FUNCTION_BLOCK(u_strcpy, libicuuc, true) \
69
71
PER_FUNCTION_BLOCK(u_strlen, libicuuc, true) \
70
72
PER_FUNCTION_BLOCK(u_strncpy, libicuuc, true) \
71
73
PER_FUNCTION_BLOCK(u_tolower, libicuuc, true) \
72
74
PER_FUNCTION_BLOCK(u_toupper, libicuuc, true) \
75
+ PER_FUNCTION_BLOCK(u_uastrcpy, libicuuc, true) \
73
76
PER_FUNCTION_BLOCK(ucal_add, libicui18n, true) \
74
77
PER_FUNCTION_BLOCK(ucal_close, libicui18n, true) \
75
78
PER_FUNCTION_BLOCK(ucal_get, libicui18n, true) \
76
79
PER_FUNCTION_BLOCK(ucal_getAttribute, libicui18n, true) \
77
80
PER_FUNCTION_BLOCK(ucal_getKeywordValuesForLocale, libicui18n, true) \
78
81
PER_FUNCTION_BLOCK(ucal_getLimit, libicui18n, true) \
82
+ PER_FUNCTION_BLOCK(ucal_getNow, libicui18n, true) \
79
83
PER_FUNCTION_BLOCK(ucal_getTimeZoneDisplayName, libicui18n, true) \
80
84
PER_FUNCTION_BLOCK(ucal_open, libicui18n, true) \
85
+ PER_FUNCTION_BLOCK(ucal_openTimeZoneIDEnumeration, libicui18n, true) \
81
86
PER_FUNCTION_BLOCK(ucal_set, libicui18n, true) \
87
+ PER_FUNCTION_BLOCK(ucal_setMillis, libicui18n, true) \
82
88
PER_FUNCTION_BLOCK(ucol_close, libicui18n, true) \
83
89
PER_FUNCTION_BLOCK(ucol_closeElements, libicui18n, true) \
84
90
PER_FUNCTION_BLOCK(ucol_getOffset, libicui18n, true) \
@@ -96,6 +102,7 @@ U_CAPI int32_t U_EXPORT2 ucal_getTimeZoneIDForWindowsID(const UChar* winid, int3
96
102
PER_FUNCTION_BLOCK(ucol_strcoll, libicui18n, true) \
97
103
PER_FUNCTION_BLOCK(udat_close, libicui18n, true) \
98
104
PER_FUNCTION_BLOCK(udat_countSymbols, libicui18n, true) \
105
+ PER_FUNCTION_BLOCK(udat_format, libicui18n, true) \
99
106
PER_FUNCTION_BLOCK(udat_getSymbols, libicui18n, true) \
100
107
PER_FUNCTION_BLOCK(udat_open, libicui18n, true) \
101
108
PER_FUNCTION_BLOCK(udat_setCalendar, libicui18n, true) \
@@ -202,21 +209,27 @@ FOR_ALL_ICU_FUNCTIONS
202
209
// to the functions of the selected version of ICU in the initialization.
203
210
#define u_charsToUChars (...) u_charsToUChars_ptr(__VA_ARGS__)
204
211
#define u_getVersion (...) u_getVersion_ptr(__VA_ARGS__)
212
+ #define u_strcmp (...) u_strcmp_ptr(__VA_ARGS__)
213
+ #define u_strcpy (...) u_strcpy_ptr(__VA_ARGS__)
205
214
#define u_strlen (...) u_strlen_ptr(__VA_ARGS__)
206
215
#define u_strncpy (...) u_strncpy_ptr(__VA_ARGS__)
207
216
#define u_tolower (...) u_tolower_ptr(__VA_ARGS__)
208
217
#define u_toupper (...) u_toupper_ptr(__VA_ARGS__)
218
+ #define u_uastrcpy (...) u_uastrcpy_ptr(__VA_ARGS__)
209
219
#define ucal_add (...) ucal_add_ptr(__VA_ARGS__)
210
220
#define ucal_close (...) ucal_close_ptr(__VA_ARGS__)
211
221
#define ucal_get (...) ucal_get_ptr(__VA_ARGS__)
212
222
#define ucal_getAttribute (...) ucal_getAttribute_ptr(__VA_ARGS__)
213
223
#define ucal_getKeywordValuesForLocale (...) ucal_getKeywordValuesForLocale_ptr(__VA_ARGS__)
214
224
#define ucal_getLimit (...) ucal_getLimit_ptr(__VA_ARGS__)
225
+ #define ucal_getNow (...) ucal_getNow_ptr(__VA_ARGS__)
215
226
#define ucal_getTimeZoneDisplayName (...) ucal_getTimeZoneDisplayName_ptr(__VA_ARGS__)
216
227
#define ucal_getTimeZoneIDForWindowsID (...) ucal_getTimeZoneIDForWindowsID_ptr(__VA_ARGS__)
217
228
#define ucal_getWindowsTimeZoneID (...) ucal_getWindowsTimeZoneID_ptr(__VA_ARGS__)
218
229
#define ucal_open (...) ucal_open_ptr(__VA_ARGS__)
230
+ #define ucal_openTimeZoneIDEnumeration (...) ucal_openTimeZoneIDEnumeration_ptr(__VA_ARGS__)
219
231
#define ucal_set (...) ucal_set_ptr(__VA_ARGS__)
232
+ #define ucal_setMillis (...) ucal_setMillis_ptr(__VA_ARGS__)
220
233
#define ucol_close (...) ucol_close_ptr(__VA_ARGS__)
221
234
#define ucol_closeElements (...) ucol_closeElements_ptr(__VA_ARGS__)
222
235
#define ucol_getOffset (...) ucol_getOffset_ptr(__VA_ARGS__)
@@ -241,6 +254,7 @@ FOR_ALL_ICU_FUNCTIONS
241
254
#define ucurr_getName (...) ucurr_getName_ptr(__VA_ARGS__)
242
255
#define udat_close (...) udat_close_ptr(__VA_ARGS__)
243
256
#define udat_countSymbols (...) udat_countSymbols_ptr(__VA_ARGS__)
257
+ #define udat_format (...) udat_format_ptr(__VA_ARGS__)
244
258
#define udat_getSymbols (...) udat_getSymbols_ptr(__VA_ARGS__)
245
259
#define udat_open (...) udat_open_ptr(__VA_ARGS__)
246
260
#define udat_setCalendar (...) udat_setCalendar_ptr(__VA_ARGS__)
0 commit comments