ICU 57.1 57.1
putil.h
Go to the documentation of this file.
1/*
2******************************************************************************
3*
4* Copyright (C) 1997-2014, International Business Machines
5* Corporation and others. All Rights Reserved.
6*
7******************************************************************************
8*
9* FILE NAME : putil.h
10*
11* Date Name Description
12* 05/14/98 nos Creation (content moved here from utypes.h).
13* 06/17/99 erm Added IEEE_754
14* 07/22/98 stephen Added IEEEremainder, max, min, trunc
15* 08/13/98 stephen Added isNegativeInfinity, isPositiveInfinity
16* 08/24/98 stephen Added longBitsFromDouble
17* 03/02/99 stephen Removed openFile(). Added AS400 support.
18* 04/15/99 stephen Converted to C
19* 11/15/99 helena Integrated S/390 changes for IEEE support.
20* 01/11/00 helena Added u_getVersion.
21******************************************************************************
22*/
23
24#ifndef PUTIL_H
25#define PUTIL_H
26
27#include "unicode/utypes.h"
32
33/*==========================================================================*/
34/* Platform utilities */
35/*==========================================================================*/
36
42
67U_STABLE const char* U_EXPORT2 u_getDataDirectory(void);
68
69
89U_STABLE void U_EXPORT2 u_setDataDirectory(const char *directory);
90
91#ifndef U_HIDE_INTERNAL_API
100U_INTERNAL const char * U_EXPORT2 u_getTimeZoneFilesDirectory(UErrorCode *status);
101
110U_INTERNAL void U_EXPORT2 u_setTimeZoneFilesDirectory(const char *path, UErrorCode *status);
111#endif /* U_HIDE_INTERNAL_API */
112
113
120#if U_PLATFORM_USES_ONLY_WIN32_API
121# define U_FILE_SEP_CHAR '\\'
122# define U_FILE_ALT_SEP_CHAR '/'
123# define U_PATH_SEP_CHAR ';'
124# define U_FILE_SEP_STRING "\\"
125# define U_FILE_ALT_SEP_STRING "/"
126# define U_PATH_SEP_STRING ";"
127#else
128# define U_FILE_SEP_CHAR '/'
129# define U_FILE_ALT_SEP_CHAR '/'
130# define U_PATH_SEP_CHAR ':'
131# define U_FILE_SEP_STRING "/"
132# define U_FILE_ALT_SEP_STRING "/"
133# define U_PATH_SEP_STRING ":"
134#endif
135
137
156U_STABLE void U_EXPORT2
157u_charsToUChars(const char *cs, UChar *us, int32_t length);
158
178U_STABLE void U_EXPORT2
179u_UCharsToChars(const UChar *us, char *cs, int32_t length);
180
181#endif
void u_UCharsToChars(const UChar *us, char *cs, int32_t length)
Convert UChar characters to char characters.
void u_setTimeZoneFilesDirectory(const char *path, UErrorCode *status)
Set the time zone files override directory.
const char * u_getTimeZoneFilesDirectory(UErrorCode *status)
Return the time zone files override directory, or an empty string if no directory was specified.
void u_setDataDirectory(const char *directory)
Set the ICU data directory.
void u_charsToUChars(const char *cs, UChar *us, int32_t length)
Convert char characters to UChar characters.
const char * u_getDataDirectory(void)
Platform utilities isolates the platform dependencies of the libarary.
#define U_INTERNAL
This is used to declare a function as an internal ICU C API.
Definition umachine.h:117
uint16_t UChar
Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...
Definition umachine.h:312
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
Definition umachine.h:109
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers,...
Definition utypes.h:476