12e5b6d6dSopenharmony_ci// © 2017 and later: Unicode, Inc. and others.
22e5b6d6dSopenharmony_ci// License & terms of use: http://www.unicode.org/copyright.html
32e5b6d6dSopenharmony_ci/*
42e5b6d6dSopenharmony_ci*******************************************************************************
52e5b6d6dSopenharmony_ci*
62e5b6d6dSopenharmony_ci*   Copyright (C) 2009-2012, International Business Machines
72e5b6d6dSopenharmony_ci*   Corporation and others.  All Rights Reserved.
82e5b6d6dSopenharmony_ci*
92e5b6d6dSopenharmony_ci*******************************************************************************
102e5b6d6dSopenharmony_ci*/
112e5b6d6dSopenharmony_ci
122e5b6d6dSopenharmony_ci#ifndef _OICU
132e5b6d6dSopenharmony_ci#define _OICU
142e5b6d6dSopenharmony_ci
152e5b6d6dSopenharmony_ci#include "unicode/uclean.h"
162e5b6d6dSopenharmony_ci/**
172e5b6d6dSopenharmony_ci   uclean.h
182e5b6d6dSopenharmony_ci*/
192e5b6d6dSopenharmony_ciU_CAPI void U_EXPORT2
202e5b6d6dSopenharmony_ciOICU_u_init(UErrorCode *status);
212e5b6d6dSopenharmony_ci
222e5b6d6dSopenharmony_ci#include "unicode/ucol.h"
232e5b6d6dSopenharmony_ci/**
242e5b6d6dSopenharmony_ci ucol.h
252e5b6d6dSopenharmony_ci*/
262e5b6d6dSopenharmony_ciU_CAPI UCollator* U_EXPORT2
272e5b6d6dSopenharmony_ciOICU_ucol_open(const char *loc, UErrorCode& status);
282e5b6d6dSopenharmony_ci
292e5b6d6dSopenharmony_ciU_CAPI int32_t U_EXPORT2
302e5b6d6dSopenharmony_ciOICU_ucol_getShortDefinitionString(const UCollator *coll,
312e5b6d6dSopenharmony_ci                              const char *locale,
322e5b6d6dSopenharmony_ci                              char *buffer,
332e5b6d6dSopenharmony_ci                              int32_t capacity,
342e5b6d6dSopenharmony_ci                              UErrorCode *status);
352e5b6d6dSopenharmony_ci
362e5b6d6dSopenharmony_ci
372e5b6d6dSopenharmony_ciU_CAPI void U_EXPORT2
382e5b6d6dSopenharmony_ciOICU_ucol_close(UCollator*);
392e5b6d6dSopenharmony_ci
402e5b6d6dSopenharmony_ciU_CAPI UCollationResult OICU_ucol_strcoll	(	const UCollator * 	coll,
412e5b6d6dSopenharmony_ciconst UChar * 	source,
422e5b6d6dSopenharmony_ciint32_t 	sourceLength,
432e5b6d6dSopenharmony_ciconst UChar * 	target,
442e5b6d6dSopenharmony_ciint32_t 	targetLength
452e5b6d6dSopenharmony_ci);
462e5b6d6dSopenharmony_ci
472e5b6d6dSopenharmony_ciU_CAPI void U_EXPORT2
482e5b6d6dSopenharmony_ciOICU_ucol_setStrength(const UCollator *, UCollationStrength );
492e5b6d6dSopenharmony_ci
502e5b6d6dSopenharmony_ci
512e5b6d6dSopenharmony_ci#ifndef OICU_ucol_getAvailable
522e5b6d6dSopenharmony_ci#error OICU_ucol_getAvailable not found - urename symbol mismatch?
532e5b6d6dSopenharmony_ci#endif
542e5b6d6dSopenharmony_ci
552e5b6d6dSopenharmony_ciU_CAPI const char * U_EXPORT2
562e5b6d6dSopenharmony_ciOICU_ucol_getAvailable(int32_t i);
572e5b6d6dSopenharmony_ci
582e5b6d6dSopenharmony_ciU_CAPI int32_t U_EXPORT2
592e5b6d6dSopenharmony_ciOICU_ucol_countAvailable();
602e5b6d6dSopenharmony_ci
612e5b6d6dSopenharmony_ci
622e5b6d6dSopenharmony_ciU_CAPI UCollationStrength U_EXPORT2
632e5b6d6dSopenharmony_ciOICU_ucol_getStrength(UCollator *col);
642e5b6d6dSopenharmony_ci
652e5b6d6dSopenharmony_ciU_CAPI int32_t U_EXPORT2
662e5b6d6dSopenharmony_ciOICU_ucol_getSortKey(const    UCollator    *coll,
672e5b6d6dSopenharmony_ci        const    UChar        *source,
682e5b6d6dSopenharmony_ci        int32_t        sourceLength,
692e5b6d6dSopenharmony_ci        uint8_t        *result,
702e5b6d6dSopenharmony_ci        int32_t        resultLength);
712e5b6d6dSopenharmony_ci
722e5b6d6dSopenharmony_ci
732e5b6d6dSopenharmony_ciU_CAPI UCollator* U_EXPORT2
742e5b6d6dSopenharmony_ciOICU_ucol_safeClone(const UCollator *coll,
752e5b6d6dSopenharmony_ci               void            *stackBuffer,
762e5b6d6dSopenharmony_ci               int32_t         *pBufferSize,
772e5b6d6dSopenharmony_ci               UErrorCode      *status);
782e5b6d6dSopenharmony_ci
792e5b6d6dSopenharmony_ci#include "unicode/udat.h"
802e5b6d6dSopenharmony_ciU_CAPI UDateFormat* U_EXPORT2
812e5b6d6dSopenharmony_ciOICU_udat_open(UDateFormatStyle  timeStyle,
822e5b6d6dSopenharmony_ci          UDateFormatStyle  dateStyle,
832e5b6d6dSopenharmony_ci          const char        *locale,
842e5b6d6dSopenharmony_ci          const UChar       *tzID,
852e5b6d6dSopenharmony_ci          int32_t           tzIDLength,
862e5b6d6dSopenharmony_ci          const UChar       *pattern,
872e5b6d6dSopenharmony_ci          int32_t           patternLength,
882e5b6d6dSopenharmony_ci          UErrorCode        *status);
892e5b6d6dSopenharmony_ci
902e5b6d6dSopenharmony_ciU_CAPI const char * U_EXPORT2
912e5b6d6dSopenharmony_ciOICU_udat_getAvailable(int32_t i);
922e5b6d6dSopenharmony_ci
932e5b6d6dSopenharmony_ciU_CAPI int32_t U_EXPORT2
942e5b6d6dSopenharmony_ciOICU_udat_countAvailable();
952e5b6d6dSopenharmony_ci
962e5b6d6dSopenharmony_ci
972e5b6d6dSopenharmony_ciU_CAPI void U_EXPORT2
982e5b6d6dSopenharmony_ciOICU_udat_close(UDateFormat* format);
992e5b6d6dSopenharmony_ci
1002e5b6d6dSopenharmony_ciU_CAPI int32_t U_EXPORT2
1012e5b6d6dSopenharmony_ciOICU_udat_format(    const    UDateFormat*    format,
1022e5b6d6dSopenharmony_ci                        UDate           dateToFormat,
1032e5b6d6dSopenharmony_ci                        UChar*          result,
1042e5b6d6dSopenharmony_ci                        int32_t         resultLength,
1052e5b6d6dSopenharmony_ci                        UFieldPosition* position,
1062e5b6d6dSopenharmony_ci                        UErrorCode*     status);
1072e5b6d6dSopenharmony_ci
1082e5b6d6dSopenharmony_ci
1092e5b6d6dSopenharmony_ci
1102e5b6d6dSopenharmony_ci/**
1112e5b6d6dSopenharmony_ci end ucol.h
1122e5b6d6dSopenharmony_ci*/
1132e5b6d6dSopenharmony_ci
1142e5b6d6dSopenharmony_ci#include "unicode/ucal.h"
1152e5b6d6dSopenharmony_ci
1162e5b6d6dSopenharmony_ciU_CAPI UCalendar* U_EXPORT2
1172e5b6d6dSopenharmony_ciOICU_ucal_open(const UChar*   zoneID,
1182e5b6d6dSopenharmony_ci          int32_t        len,
1192e5b6d6dSopenharmony_ci          const char*    locale,
1202e5b6d6dSopenharmony_ci          UCalendarType  type,
1212e5b6d6dSopenharmony_ci          UErrorCode*    status);
1222e5b6d6dSopenharmony_ci
1232e5b6d6dSopenharmony_ci/**
1242e5b6d6dSopenharmony_ci * Close a UCalendar.
1252e5b6d6dSopenharmony_ci * Once closed, a UCalendar may no longer be used.
1262e5b6d6dSopenharmony_ci * @param cal The UCalendar to close.
1272e5b6d6dSopenharmony_ci * @stable ICU 2.0
1282e5b6d6dSopenharmony_ci */
1292e5b6d6dSopenharmony_ciU_CAPI void U_EXPORT2
1302e5b6d6dSopenharmony_ciOICU_ucal_close(UCalendar *cal);
1312e5b6d6dSopenharmony_ci
1322e5b6d6dSopenharmony_ci
1332e5b6d6dSopenharmony_ciU_CAPI int32_t U_EXPORT2
1342e5b6d6dSopenharmony_ciOICU_ucal_getAttribute(const UCalendar*    cal,
1352e5b6d6dSopenharmony_ci                  UCalendarAttribute  attr);
1362e5b6d6dSopenharmony_ci
1372e5b6d6dSopenharmony_ci
1382e5b6d6dSopenharmony_ci// define version
1392e5b6d6dSopenharmony_ci
1402e5b6d6dSopenharmony_ci#endif
141