FreeBSD Bugzilla – Attachment 172307 Details for
Bug 210958
base clang: Assertion failed while trying to build www/firefox-esr
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
bad.cpp
bad.cpp (text/plain), 487.08 KB, created by
Andre Albsmeier
on 2016-07-10 10:09:04 UTC
(
hide
)
Description:
bad.cpp
Filename:
MIME Type:
Creator:
Andre Albsmeier
Created:
2016-07-10 10:09:04 UTC
Size:
487.08 KB
patch
obsolete
># 1 "<built-in>" 1 ># 1 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.cpp" 1 >/* >****************************************************************************** >* >* Copyright (C) 1997-2015, International Business Machines >* Corporation and others. All Rights Reserved. >* >****************************************************************************** >* >* File umutex.cpp >* >* Modification History: >* >* Date Name Description >* 04/02/97 aliu Creation. >* 04/07/99 srl updated >* 05/13/99 stephen Changed to umutex (from cmutex). >* 11/22/99 aliu Make non-global mutex autoinitialize [j151] >****************************************************************************** >*/ > >#if 0 /* expanded by -frewrite-includes */ >#include "umutex.h" >#endif /* expanded by -frewrite-includes */ ># 1 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" 1 >/* >********************************************************************** >* Copyright (C) 1997-2015, International Business Machines >* Corporation and others. All Rights Reserved. >********************************************************************** >* >* File UMUTEX.H >* >* Modification History: >* >* Date Name Description >* 04/02/97 aliu Creation. >* 04/07/99 srl rewrite - C interface, multiple mutices >* 05/13/99 stephen Changed to umutex (from cmutex) >****************************************************************************** >*/ > >#ifndef UMUTEX_H >#define UMUTEX_H > >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/utypes.h" >#endif /* expanded by -frewrite-includes */ ># 1 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" 1 >/* >********************************************************************** >* Copyright (C) 1996-2015, International Business Machines >* Corporation and others. All Rights Reserved. >********************************************************************** >* >* FILE NAME : UTYPES.H (formerly ptypes.h) >* >* Date Name Description >* 12/11/96 helena Creation. >* 02/27/97 aliu Added typedefs for UClassID, int8, int16, int32, >* uint8, uint16, and uint32. >* 04/01/97 aliu Added XP_CPLUSPLUS and modified to work under C as >* well as C++. >* Modified to use memcpy() for uprv_arrayCopy() fns. >* 04/14/97 aliu Added TPlatformUtilities. >* 05/07/97 aliu Added import/export specifiers (replacing the old >* broken EXT_CLASS). Added version number for our >* code. Cleaned up header. >* 6/20/97 helena Java class name change. >* 08/11/98 stephen UErrorCode changed from typedef to enum >* 08/12/98 erm Changed T_ANALYTIC_PACKAGE_VERSION to 3 >* 08/14/98 stephen Added uprv_arrayCopy() for int8_t, int16_t, int32_t >* 12/09/98 jfitz Added BUFFER_OVERFLOW_ERROR (bug 1100066) >* 04/20/99 stephen Cleaned up & reworked for autoconf. >* Renamed to utypes.h. >* 05/05/99 stephen Changed to use <inttypes.h> >* 12/07/99 helena Moved copyright notice string from ucnv_bld.h here. >******************************************************************************* >*/ > >#ifndef UTYPES_H >#define UTYPES_H > > >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/umachine.h" >#endif /* expanded by -frewrite-includes */ ># 1 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" 1 >/* >****************************************************************************** >* >* Copyright (C) 1999-2015, International Business Machines >* Corporation and others. All Rights Reserved. >* >****************************************************************************** >* file name: umachine.h >* encoding: US-ASCII >* tab size: 8 (not used) >* indentation:4 >* >* created on: 1999sep13 >* created by: Markus W. Scherer >* >* This file defines basic types and constants for ICU to be >* platform-independent. umachine.h and utf.h are included into >* utypes.h to provide all the general definitions for ICU. >* All of these definitions used to be in utypes.h before >* the UTF-handling macros made this unmaintainable. >*/ > >#ifndef __UMACHINE_H__ >#define __UMACHINE_H__ > > >/** > * \file > * \brief Basic types and constants for UTF > * > * <h2> Basic types and constants for UTF </h2> > * This file defines basic types and constants for utf.h to be > * platform-independent. umachine.h and utf.h are included into > * utypes.h to provide all the general definitions for ICU. > * All of these definitions used to be in utypes.h before > * the UTF-handling macros made this unmaintainable. > * > */ >/*==========================================================================*/ >/* Include platform-dependent definitions */ >/* which are contained in the platform-specific file platform.h */ >/*==========================================================================*/ > >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/ptypes.h" /* platform.h is included in ptypes.h */ >#endif /* expanded by -frewrite-includes */ ># 1 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" 1 >/* >****************************************************************************** >* >* Copyright (C) 1997-2012, International Business Machines >* Corporation and others. All Rights Reserved. >* >****************************************************************************** >* >* FILE NAME : ptypes.h >* >* Date Name Description >* 05/13/98 nos Creation (content moved here from ptypes.h). >* 03/02/99 stephen Added AS400 support. >* 03/30/99 stephen Added Linux support. >* 04/13/99 stephen Reworked for autoconf. >* 09/18/08 srl Moved basic types back to ptypes.h from platform.h >****************************************************************************** >*/ > >/** > * \file > * \brief C API: Definitions of integer types of various widths > */ > >#ifndef _PTYPES_H >#define _PTYPES_H > >/** > * \def __STDC_LIMIT_MACROS > * According to the Linux stdint.h, the ISO C99 standard specifies that in C++ implementations > * macros like INT32_MIN and UINTPTR_MAX should only be defined if explicitly requested. > * We need to define __STDC_LIMIT_MACROS before including stdint.h in C++ code > * that uses such limit macros. > * @internal > */ >#ifndef __STDC_LIMIT_MACROS >#define __STDC_LIMIT_MACROS >#endif ># 39 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" > >/* NULL, size_t, wchar_t */ >#if 0 /* expanded by -frewrite-includes */ >#include <stddef.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/stddef.h" 1 3 4 >/*- > * Copyright (c) 1990, 1993 > * The Regents of the University of California. All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * 3. Neither the name of the University nor the names of its contributors > * may be used to endorse or promote products derived from this software > * without specific prior written permission. > * > * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * @(#)stddef.h 8.1 (Berkeley) 6/2/93 > * > * $FreeBSD: stable/9/include/stddef.h 264495 2014-04-15 09:40:45Z tijl $ > */ > >#ifndef _STDDEF_H_ >#define _STDDEF_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/sys/cdefs.h" 1 3 4 >/*- > * Copyright (c) 1991, 1993 > * The Regents of the University of California. All rights reserved. > * > * This code is derived from software contributed to Berkeley by > * Berkeley Software Design, Inc. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * 4. Neither the name of the University nor the names of its contributors > * may be used to endorse or promote products derived from this software > * without specific prior written permission. > * > * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * @(#)cdefs.h 8.8 (Berkeley) 1/9/95 > * $FreeBSD: stable/9/sys/sys/cdefs.h 284947 2015-06-30 08:39:34Z tijl $ > */ > >#ifndef _SYS_CDEFS_H_ >#define _SYS_CDEFS_H_ > >#if defined(__cplusplus) >#define __BEGIN_DECLS extern "C" { >#define __END_DECLS } >#else ># 43 "/usr/include/sys/cdefs.h" 3 4 >#define __BEGIN_DECLS >#define __END_DECLS >#endif ># 46 "/usr/include/sys/cdefs.h" 3 4 > >/* > * This code has been put in place to help reduce the addition of > * compiler specific defines in FreeBSD code. It helps to aid in > * having a compiler-agnostic source tree. > */ > >#if defined(__GNUC__) || defined(__INTEL_COMPILER) > >#if __GNUC__ >= 3 || defined(__INTEL_COMPILER) >#define __GNUCLIKE_ASM 3 >#define __GNUCLIKE_MATH_BUILTIN_CONSTANTS >#else ># 59 "/usr/include/sys/cdefs.h" 3 4 >#define __GNUCLIKE_ASM 2 >#endif ># 61 "/usr/include/sys/cdefs.h" 3 4 >#define __GNUCLIKE___TYPEOF 1 >#define __GNUCLIKE___OFFSETOF 1 >#define __GNUCLIKE___SECTION 1 > >#ifndef __INTEL_COMPILER ># define __GNUCLIKE_CTOR_SECTION_HANDLING 1 >#endif ># 68 "/usr/include/sys/cdefs.h" 3 4 > >#define __GNUCLIKE_BUILTIN_CONSTANT_P 1 ># if defined(__INTEL_COMPILER) && defined(__cplusplus) \ > && __INTEL_COMPILER < 800 ># undef __GNUCLIKE_BUILTIN_CONSTANT_P ># endif ># 74 "/usr/include/sys/cdefs.h" 3 4 > >#if (__GNUC_MINOR__ > 95 || __GNUC__ >= 3) ># define __GNUCLIKE_BUILTIN_VARARGS 1 ># define __GNUCLIKE_BUILTIN_STDARG 1 ># define __GNUCLIKE_BUILTIN_VAALIST 1 >#endif ># 80 "/usr/include/sys/cdefs.h" 3 4 > >#if defined(__GNUC__) ># define __GNUC_VA_LIST_COMPATIBILITY 1 >#endif ># 84 "/usr/include/sys/cdefs.h" 3 4 > >/* > * Compiler memory barriers, specific to gcc and clang. > */ >#if defined(__GNUC__) >#define __compiler_membar() __asm __volatile(" " : : : "memory") >#endif ># 91 "/usr/include/sys/cdefs.h" 3 4 > >#ifndef __INTEL_COMPILER ># define __GNUCLIKE_BUILTIN_NEXT_ARG 1 ># define __GNUCLIKE_MATH_BUILTIN_RELOPS >#endif ># 96 "/usr/include/sys/cdefs.h" 3 4 > >#define __GNUCLIKE_BUILTIN_MEMCPY 1 > >/* XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced */ >#define __CC_SUPPORTS_INLINE 1 >#define __CC_SUPPORTS___INLINE 1 >#define __CC_SUPPORTS___INLINE__ 1 > >#define __CC_SUPPORTS___FUNC__ 1 >#define __CC_SUPPORTS_WARNING 1 > >#define __CC_SUPPORTS_VARADIC_XXX 1 /* see varargs.h */ > >#define __CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1 > >#endif /* __GNUC__ || __INTEL_COMPILER */ ># 112 "/usr/include/sys/cdefs.h" 3 4 > >/* > * Macro to test if we're using a specific version of gcc or later. > */ >#if defined(__GNUC__) && !defined(__INTEL_COMPILER) >#define __GNUC_PREREQ__(ma, mi) \ > (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi)) >#else ># 120 "/usr/include/sys/cdefs.h" 3 4 >#define __GNUC_PREREQ__(ma, mi) 0 >#endif ># 122 "/usr/include/sys/cdefs.h" 3 4 > >/* > * The __CONCAT macro is used to concatenate parts of symbol names, e.g. > * with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo. > * The __CONCAT macro is a bit tricky to use if it must work in non-ANSI > * mode -- there must be no spaces between its arguments, and for nested > * __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also > * concatenate double-quoted strings produced by the __STRING macro, but > * this only works with ANSI C. > * > * __XSTRING is like __STRING, but it expands any macros in its argument > * first. It is only available with ANSI C. > */ >#if defined(__STDC__) || defined(__cplusplus) >#define __P(protos) protos /* full-blown ANSI C */ >#define __CONCAT1(x,y) x ## y >#define __CONCAT(x,y) __CONCAT1(x,y) >#define __STRING(x) #x /* stringify without expanding x */ >#define __XSTRING(x) __STRING(x) /* expand x, then stringify */ > >#define __const const /* define reserved names to standard */ >#define __signed signed >#define __volatile volatile >#if defined(__cplusplus) >#define __inline inline /* convert to C++ keyword */ >#else ># 148 "/usr/include/sys/cdefs.h" 3 4 >#if !(defined(__CC_SUPPORTS___INLINE)) >#define __inline /* delete GCC keyword */ >#endif /* ! __CC_SUPPORTS___INLINE */ ># 151 "/usr/include/sys/cdefs.h" 3 4 >#endif /* !__cplusplus */ ># 152 "/usr/include/sys/cdefs.h" 3 4 > >#else /* !(__STDC__ || __cplusplus) */ ># 154 "/usr/include/sys/cdefs.h" 3 4 >#define __P(protos) () /* traditional C preprocessor */ >#define __CONCAT(x,y) x/**/y >#define __STRING(x) "x" > >#if !defined(__CC_SUPPORTS___INLINE) >#define __const /* delete pseudo-ANSI C keywords */ >#define __inline >#define __signed >#define __volatile >/* > * In non-ANSI C environments, new programs will want ANSI-only C keywords > * deleted from the program and old programs will want them left alone. > * When using a compiler other than gcc, programs using the ANSI C keywords > * const, inline etc. as normal identifiers should define -DNO_ANSI_KEYWORDS. > * When using "gcc -traditional", we assume that this is the intent; if > * __GNUC__ is defined but __STDC__ is not, we leave the new keywords alone. > */ >#ifndef NO_ANSI_KEYWORDS >#define const /* delete ANSI C keywords */ >#define inline >#define signed >#define volatile >#endif /* !NO_ANSI_KEYWORDS */ ># 177 "/usr/include/sys/cdefs.h" 3 4 >#endif /* !__CC_SUPPORTS___INLINE */ ># 178 "/usr/include/sys/cdefs.h" 3 4 >#endif /* !(__STDC__ || __cplusplus) */ ># 179 "/usr/include/sys/cdefs.h" 3 4 > >/* > * Compiler-dependent macros to help declare dead (non-returning) and > * pure (no side effects) functions, and unused variables. They are > * null except for versions of gcc that are known to support the features > * properly (old versions of gcc-2 supported the dead and pure features > * in a different (wrong) way). If we do not provide an implementation > * for a given compiler, let the compile fail if it is told to use > * a feature that we cannot live without. > */ >#ifdef lint >#define __dead2 >#define __pure2 >#define __unused >#define __packed >#define __aligned(x) >#define __section(x) >#else ># 197 "/usr/include/sys/cdefs.h" 3 4 >#if !__GNUC_PREREQ__(2, 5) && !defined(__INTEL_COMPILER) >#define __dead2 >#define __pure2 >#define __unused >#endif ># 202 "/usr/include/sys/cdefs.h" 3 4 >#if __GNUC__ == 2 && __GNUC_MINOR__ >= 5 && __GNUC_MINOR__ < 7 && !defined(__INTEL_COMPILER) >#define __dead2 __attribute__((__noreturn__)) >#define __pure2 __attribute__((__const__)) >#define __unused >/* XXX Find out what to do for __packed, __aligned and __section */ >#endif ># 208 "/usr/include/sys/cdefs.h" 3 4 >#if __GNUC_PREREQ__(2, 7) >#define __dead2 __attribute__((__noreturn__)) >#define __pure2 __attribute__((__const__)) >#define __unused __attribute__((__unused__)) >#define __used __attribute__((__used__)) >#define __packed __attribute__((__packed__)) >#define __aligned(x) __attribute__((__aligned__(x))) >#define __section(x) __attribute__((__section__(x))) >#endif ># 217 "/usr/include/sys/cdefs.h" 3 4 >#if defined(__INTEL_COMPILER) >#define __dead2 __attribute__((__noreturn__)) >#define __pure2 __attribute__((__const__)) >#define __unused __attribute__((__unused__)) >#define __used __attribute__((__used__)) >#define __packed __attribute__((__packed__)) >#define __aligned(x) __attribute__((__aligned__(x))) >#define __section(x) __attribute__((__section__(x))) >#endif ># 226 "/usr/include/sys/cdefs.h" 3 4 >#endif ># 227 "/usr/include/sys/cdefs.h" 3 4 > >#if !__GNUC_PREREQ__(2, 95) >#define __alignof(x) __offsetof(struct { char __a; x __b; }, __b) >#endif ># 231 "/usr/include/sys/cdefs.h" 3 4 > >/* > * Keywords added in C11. > */ >#if defined(__cplusplus) && __cplusplus >= 201103L >#define _Alignas(e) alignas(e) >#define _Alignof(e) alignof(e) >#define _Noreturn [[noreturn]] >#define _Static_assert(e, s) static_assert(e, s) >/* FIXME: change this to thread_local when clang in base supports it */ >#define _Thread_local __thread >#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L && !defined(lint) ># 243 "/usr/include/sys/cdefs.h" 3 4 >/* Do nothing. They are language keywords. */ >#else ># 245 "/usr/include/sys/cdefs.h" 3 4 >/* Not supported. Implement them using our versions. */ >#define _Alignas(x) __aligned(x) >#define _Alignof(x) __alignof(x) >#define _Noreturn __dead2 >#define _Thread_local __thread >#ifdef __COUNTER__ >#define _Static_assert(x, y) __Static_assert(x, __COUNTER__) >#define __Static_assert(x, y) ___Static_assert(x, y) >#define ___Static_assert(x, y) typedef char __assert_ ## y[(x) ? 1 : -1] \ > __unused >#else ># 256 "/usr/include/sys/cdefs.h" 3 4 >#define _Static_assert(x, y) struct __hack >#endif ># 258 "/usr/include/sys/cdefs.h" 3 4 >#endif ># 259 "/usr/include/sys/cdefs.h" 3 4 > >/* > * Emulation of C11 _Generic(). Unlike the previously defined C11 > * keywords, it is not possible to implement this using exactly the same > * syntax. Therefore implement something similar under the name > * __generic(). Unlike _Generic(), this macro can only distinguish > * between a single type, so it requires nested invocations to > * distinguish multiple cases. > */ > >#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L >#define __generic(expr, t, yes, no) \ > _Generic(expr, t: yes, default: no) >#elif __GNUC_PREREQ__(3, 1) && !defined(__cplusplus) ># 273 "/usr/include/sys/cdefs.h" 3 4 >#define __generic(expr, t, yes, no) \ > __builtin_choose_expr( \ > __builtin_types_compatible_p(__typeof(expr), t), yes, no) >#endif ># 277 "/usr/include/sys/cdefs.h" 3 4 > >#if __GNUC_PREREQ__(2, 96) >#define __malloc_like __attribute__((__malloc__)) >#define __pure __attribute__((__pure__)) >#else ># 282 "/usr/include/sys/cdefs.h" 3 4 >#define __malloc_like >#define __pure >#endif ># 285 "/usr/include/sys/cdefs.h" 3 4 > >#if __GNUC_PREREQ__(3, 1) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 800) >#define __always_inline __attribute__((__always_inline__)) >#else ># 289 "/usr/include/sys/cdefs.h" 3 4 >#define __always_inline >#endif ># 291 "/usr/include/sys/cdefs.h" 3 4 > >#if __GNUC_PREREQ__(3, 1) >#define __noinline __attribute__ ((__noinline__)) >#else ># 295 "/usr/include/sys/cdefs.h" 3 4 >#define __noinline >#endif ># 297 "/usr/include/sys/cdefs.h" 3 4 > >#if __GNUC_PREREQ__(3, 3) >#define __nonnull(x) __attribute__((__nonnull__(x))) >#else ># 301 "/usr/include/sys/cdefs.h" 3 4 >#define __nonnull(x) >#endif ># 303 "/usr/include/sys/cdefs.h" 3 4 > >#if __GNUC_PREREQ__(3, 4) >#define __fastcall __attribute__((__fastcall__)) >#else ># 307 "/usr/include/sys/cdefs.h" 3 4 >#define __fastcall >#endif ># 309 "/usr/include/sys/cdefs.h" 3 4 > >#if __GNUC_PREREQ__(4, 1) >#define __returns_twice __attribute__((__returns_twice__)) >#else ># 313 "/usr/include/sys/cdefs.h" 3 4 >#define __returns_twice >#endif ># 315 "/usr/include/sys/cdefs.h" 3 4 > >/* XXX: should use `#if __STDC_VERSION__ < 199901'. */ >#if !__GNUC_PREREQ__(2, 7) && !defined(__INTEL_COMPILER) >#define __func__ NULL >#endif ># 320 "/usr/include/sys/cdefs.h" 3 4 > >#if (defined(__INTEL_COMPILER) || (defined(__GNUC__) && __GNUC__ >= 2)) && !defined(__STRICT_ANSI__) || __STDC_VERSION__ >= 199901 >#define __LONG_LONG_SUPPORTED >#endif ># 324 "/usr/include/sys/cdefs.h" 3 4 > >/* C++11 exposes a load of C99 stuff */ >#if defined(__cplusplus) && __cplusplus >= 201103L >#define __LONG_LONG_SUPPORTED >#ifndef __STDC_LIMIT_MACROS >#define __STDC_LIMIT_MACROS >#endif ># 331 "/usr/include/sys/cdefs.h" 3 4 >#ifndef __STDC_CONSTANT_MACROS >#define __STDC_CONSTANT_MACROS >#endif ># 334 "/usr/include/sys/cdefs.h" 3 4 >#endif ># 335 "/usr/include/sys/cdefs.h" 3 4 > >/* > * GCC 2.95 provides `__restrict' as an extension to C90 to support the > * C99-specific `restrict' type qualifier. We happen to use `__restrict' as > * a way to define the `restrict' type qualifier without disturbing older > * software that is unaware of C99 keywords. > */ >#if !(__GNUC__ == 2 && __GNUC_MINOR__ == 95) >#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901 || defined(lint) >#define __restrict >#else ># 346 "/usr/include/sys/cdefs.h" 3 4 >#define __restrict restrict >#endif ># 348 "/usr/include/sys/cdefs.h" 3 4 >#endif ># 349 "/usr/include/sys/cdefs.h" 3 4 > >/* > * GNU C version 2.96 adds explicit branch prediction so that > * the CPU back-end can hint the processor and also so that > * code blocks can be reordered such that the predicted path > * sees a more linear flow, thus improving cache behavior, etc. > * > * The following two macros provide us with a way to utilize this > * compiler feature. Use __predict_true() if you expect the expression > * to evaluate to true, and __predict_false() if you expect the > * expression to evaluate to false. > * > * A few notes about usage: > * > * * Generally, __predict_false() error condition checks (unless > * you have some _strong_ reason to do otherwise, in which case > * document it), and/or __predict_true() `no-error' condition > * checks, assuming you want to optimize for the no-error case. > * > * * Other than that, if you don't know the likelihood of a test > * succeeding from empirical or other `hard' evidence, don't > * make predictions. > * > * * These are meant to be used in places that are run `a lot'. > * It is wasteful to make predictions in code that is run > * seldomly (e.g. at subsystem initialization time) as the > * basic block reordering that this affects can often generate > * larger code. > */ >#if __GNUC_PREREQ__(2, 96) >#define __predict_true(exp) __builtin_expect((exp), 1) >#define __predict_false(exp) __builtin_expect((exp), 0) >#else ># 382 "/usr/include/sys/cdefs.h" 3 4 >#define __predict_true(exp) (exp) >#define __predict_false(exp) (exp) >#endif ># 385 "/usr/include/sys/cdefs.h" 3 4 > >#if __GNUC_PREREQ__(4, 2) >#define __hidden __attribute__((__visibility__("hidden"))) >#define __exported __attribute__((__visibility__("default"))) >#else ># 390 "/usr/include/sys/cdefs.h" 3 4 >#define __hidden >#define __exported >#endif ># 393 "/usr/include/sys/cdefs.h" 3 4 > >/* > * We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h> > * require it. > */ >#if __GNUC_PREREQ__(4, 1) >#define __offsetof(type, field) __builtin_offsetof(type, field) >#else ># 401 "/usr/include/sys/cdefs.h" 3 4 >#ifndef __cplusplus >#define __offsetof(type, field) \ > ((__size_t)(__uintptr_t)((const volatile void *)&((type *)0)->field)) >#else ># 405 "/usr/include/sys/cdefs.h" 3 4 >#define __offsetof(type, field) \ > (__offsetof__ (reinterpret_cast <__size_t> \ > (&reinterpret_cast <const volatile char &> \ > (static_cast<type *> (0)->field)))) >#endif ># 410 "/usr/include/sys/cdefs.h" 3 4 >#endif ># 411 "/usr/include/sys/cdefs.h" 3 4 >#define __rangeof(type, start, end) \ > (__offsetof(type, end) - __offsetof(type, start)) > >/* > * Given the pointer x to the member m of the struct s, return > * a pointer to the containing structure. When using GCC, we first > * assign pointer x to a local variable, to check that its type is > * compatible with member m. > */ >#if __GNUC_PREREQ__(3, 1) >#define __containerof(x, s, m) ({ \ > const volatile __typeof(((s *)0)->m) *__x = (x); \ > __DEQUALIFY(s *, (const volatile char *)__x - __offsetof(s, m));\ >}) >#else ># 426 "/usr/include/sys/cdefs.h" 3 4 >#define __containerof(x, s, m) \ > __DEQUALIFY(s *, (const volatile char *)(x) - __offsetof(s, m)) >#endif ># 429 "/usr/include/sys/cdefs.h" 3 4 > >/* > * Compiler-dependent macros to declare that functions take printf-like > * or scanf-like arguments. They are null except for versions of gcc > * that are known to support the features properly (old versions of gcc-2 > * didn't permit keeping the keywords out of the application namespace). > */ >#if !__GNUC_PREREQ__(2, 7) && !defined(__INTEL_COMPILER) >#define __printflike(fmtarg, firstvararg) >#define __scanflike(fmtarg, firstvararg) >#define __format_arg(fmtarg) >#define __strfmonlike(fmtarg, firstvararg) >#define __strftimelike(fmtarg, firstvararg) >#else ># 443 "/usr/include/sys/cdefs.h" 3 4 >#define __printflike(fmtarg, firstvararg) \ > __attribute__((__format__ (__printf__, fmtarg, firstvararg))) >#define __scanflike(fmtarg, firstvararg) \ > __attribute__((__format__ (__scanf__, fmtarg, firstvararg))) >#define __format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg))) >#define __strfmonlike(fmtarg, firstvararg) \ > __attribute__((__format__ (__strfmon__, fmtarg, firstvararg))) >#define __strftimelike(fmtarg, firstvararg) \ > __attribute__((__format__ (__strftime__, fmtarg, firstvararg))) >#endif ># 453 "/usr/include/sys/cdefs.h" 3 4 > >/* Compiler-dependent macros that rely on FreeBSD-specific extensions. */ >#if __FreeBSD_cc_version >= 300001 && defined(__GNUC__) && !defined(__INTEL_COMPILER) >#define __printf0like(fmtarg, firstvararg) \ > __attribute__((__format__ (__printf0__, fmtarg, firstvararg))) >#else ># 459 "/usr/include/sys/cdefs.h" 3 4 >#define __printf0like(fmtarg, firstvararg) >#endif ># 461 "/usr/include/sys/cdefs.h" 3 4 > >#if defined(__GNUC__) || defined(__INTEL_COMPILER) >#ifndef __INTEL_COMPILER >#define __strong_reference(sym,aliassym) \ > extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym))) >#endif ># 467 "/usr/include/sys/cdefs.h" 3 4 >#ifdef __STDC__ >#define __weak_reference(sym,alias) \ > __asm__(".weak " #alias); \ > __asm__(".equ " #alias ", " #sym) >#define __warn_references(sym,msg) \ > __asm__(".section .gnu.warning." #sym); \ > __asm__(".asciz \"" msg "\""); \ > __asm__(".previous") >#define __sym_compat(sym,impl,verid) \ > __asm__(".symver " #impl ", " #sym "@" #verid) >#define __sym_default(sym,impl,verid) \ > __asm__(".symver " #impl ", " #sym "@@" #verid) >#else ># 480 "/usr/include/sys/cdefs.h" 3 4 >#define __weak_reference(sym,alias) \ > __asm__(".weak alias"); \ > __asm__(".equ alias, sym") >#define __warn_references(sym,msg) \ > __asm__(".section .gnu.warning.sym"); \ > __asm__(".asciz \"msg\""); \ > __asm__(".previous") >#define __sym_compat(sym,impl,verid) \ > __asm__(".symver impl, sym@verid") >#define __sym_default(impl,sym,verid) \ > __asm__(".symver impl, sym@@verid") >#endif /* __STDC__ */ ># 492 "/usr/include/sys/cdefs.h" 3 4 >#endif /* __GNUC__ || __INTEL_COMPILER */ ># 493 "/usr/include/sys/cdefs.h" 3 4 > >#define __GLOBL1(sym) __asm__(".globl " #sym) >#define __GLOBL(sym) __GLOBL1(sym) > >#if defined(__GNUC__) || defined(__INTEL_COMPILER) >#define __IDSTRING(name,string) __asm__(".ident\t\"" string "\"") >#else ># 500 "/usr/include/sys/cdefs.h" 3 4 >/* > * The following definition might not work well if used in header files, > * but it should be better than nothing. If you want a "do nothing" > * version, then it should generate some harmless declaration, such as: > * #define __IDSTRING(name,string) struct __hack > */ >#define __IDSTRING(name,string) static const char name[] __unused = string >#endif ># 508 "/usr/include/sys/cdefs.h" 3 4 > >/* > * Embed the rcs id of a source file in the resulting library. Note that in > * more recent ELF binutils, we use .ident allowing the ID to be stripped. > * Usage: > * __FBSDID("$FreeBSD: stable/9/sys/sys/cdefs.h 284947 2015-06-30 08:39:34Z tijl $"); > */ >#ifndef __FBSDID >#if !defined(lint) && !defined(STRIP_FBSDID) >#define __FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s) >#else ># 519 "/usr/include/sys/cdefs.h" 3 4 >#define __FBSDID(s) struct __hack >#endif ># 521 "/usr/include/sys/cdefs.h" 3 4 >#endif ># 522 "/usr/include/sys/cdefs.h" 3 4 > >#ifndef __RCSID >#ifndef NO__RCSID >#define __RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s) >#else ># 527 "/usr/include/sys/cdefs.h" 3 4 >#define __RCSID(s) struct __hack >#endif ># 529 "/usr/include/sys/cdefs.h" 3 4 >#endif ># 530 "/usr/include/sys/cdefs.h" 3 4 > >#ifndef __RCSID_SOURCE >#ifndef NO__RCSID_SOURCE >#define __RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s) >#else ># 535 "/usr/include/sys/cdefs.h" 3 4 >#define __RCSID_SOURCE(s) struct __hack >#endif ># 537 "/usr/include/sys/cdefs.h" 3 4 >#endif ># 538 "/usr/include/sys/cdefs.h" 3 4 > >#ifndef __SCCSID >#ifndef NO__SCCSID >#define __SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s) >#else ># 543 "/usr/include/sys/cdefs.h" 3 4 >#define __SCCSID(s) struct __hack >#endif ># 545 "/usr/include/sys/cdefs.h" 3 4 >#endif ># 546 "/usr/include/sys/cdefs.h" 3 4 > >#ifndef __COPYRIGHT >#ifndef NO__COPYRIGHT >#define __COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s) >#else ># 551 "/usr/include/sys/cdefs.h" 3 4 >#define __COPYRIGHT(s) struct __hack >#endif ># 553 "/usr/include/sys/cdefs.h" 3 4 >#endif ># 554 "/usr/include/sys/cdefs.h" 3 4 > >#ifndef __DECONST >#define __DECONST(type, var) ((type)(__uintptr_t)(const void *)(var)) >#endif ># 558 "/usr/include/sys/cdefs.h" 3 4 > >#ifndef __DEVOLATILE >#define __DEVOLATILE(type, var) ((type)(__uintptr_t)(volatile void *)(var)) >#endif ># 562 "/usr/include/sys/cdefs.h" 3 4 > >#ifndef __DEQUALIFY >#define __DEQUALIFY(type, var) ((type)(__uintptr_t)(const volatile void *)(var)) >#endif ># 566 "/usr/include/sys/cdefs.h" 3 4 > >/*- > * The following definitions are an extension of the behavior originally > * implemented in <sys/_posix.h>, but with a different level of granularity. > * POSIX.1 requires that the macros we test be defined before any standard > * header file is included. > * > * Here's a quick run-down of the versions: > * defined(_POSIX_SOURCE) 1003.1-1988 > * _POSIX_C_SOURCE == 1 1003.1-1990 > * _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option > * _POSIX_C_SOURCE == 199309 1003.1b-1993 > * _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995, > * and the omnibus ISO/IEC 9945-1: 1996 > * _POSIX_C_SOURCE == 200112 1003.1-2001 > * _POSIX_C_SOURCE == 200809 1003.1-2008 > * > * In addition, the X/Open Portability Guide, which is now the Single UNIX > * Specification, defines a feature-test macro which indicates the version of > * that specification, and which subsumes _POSIX_C_SOURCE. > * > * Our macros begin with two underscores to avoid namespace screwage. > */ > >/* Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1. */ >#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE == 1 >#undef _POSIX_C_SOURCE /* Probably illegal, but beyond caring now. */ >#define _POSIX_C_SOURCE 199009 >#endif ># 595 "/usr/include/sys/cdefs.h" 3 4 > >/* Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2. */ >#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE == 2 >#undef _POSIX_C_SOURCE >#define _POSIX_C_SOURCE 199209 >#endif ># 601 "/usr/include/sys/cdefs.h" 3 4 > >/* Deal with various X/Open Portability Guides and Single UNIX Spec. */ >#ifdef _XOPEN_SOURCE >#if _XOPEN_SOURCE - 0 >= 700 >#define __XSI_VISIBLE 700 >#undef _POSIX_C_SOURCE >#define _POSIX_C_SOURCE 200809 >#elif _XOPEN_SOURCE - 0 >= 600 ># 609 "/usr/include/sys/cdefs.h" 3 4 >#define __XSI_VISIBLE 600 >#undef _POSIX_C_SOURCE >#define _POSIX_C_SOURCE 200112 >#elif _XOPEN_SOURCE - 0 >= 500 ># 613 "/usr/include/sys/cdefs.h" 3 4 >#define __XSI_VISIBLE 500 >#undef _POSIX_C_SOURCE >#define _POSIX_C_SOURCE 199506 >#endif ># 617 "/usr/include/sys/cdefs.h" 3 4 >#endif ># 618 "/usr/include/sys/cdefs.h" 3 4 > >/* > * Deal with all versions of POSIX. The ordering relative to the tests above is > * important. > */ >#if defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) >#define _POSIX_C_SOURCE 198808 >#endif ># 626 "/usr/include/sys/cdefs.h" 3 4 >#ifdef _POSIX_C_SOURCE >#if _POSIX_C_SOURCE >= 200809 >#define __POSIX_VISIBLE 200809 >#define __ISO_C_VISIBLE 1999 >#elif _POSIX_C_SOURCE >= 200112 ># 631 "/usr/include/sys/cdefs.h" 3 4 >#define __POSIX_VISIBLE 200112 >#define __ISO_C_VISIBLE 1999 >#elif _POSIX_C_SOURCE >= 199506 ># 634 "/usr/include/sys/cdefs.h" 3 4 >#define __POSIX_VISIBLE 199506 >#define __ISO_C_VISIBLE 1990 >#elif _POSIX_C_SOURCE >= 199309 ># 637 "/usr/include/sys/cdefs.h" 3 4 >#define __POSIX_VISIBLE 199309 >#define __ISO_C_VISIBLE 1990 >#elif _POSIX_C_SOURCE >= 199209 ># 640 "/usr/include/sys/cdefs.h" 3 4 >#define __POSIX_VISIBLE 199209 >#define __ISO_C_VISIBLE 1990 >#elif _POSIX_C_SOURCE >= 199009 ># 643 "/usr/include/sys/cdefs.h" 3 4 >#define __POSIX_VISIBLE 199009 >#define __ISO_C_VISIBLE 1990 >#else ># 646 "/usr/include/sys/cdefs.h" 3 4 >#define __POSIX_VISIBLE 198808 >#define __ISO_C_VISIBLE 0 >#endif /* _POSIX_C_SOURCE */ ># 649 "/usr/include/sys/cdefs.h" 3 4 >#else ># 650 "/usr/include/sys/cdefs.h" 3 4 >/*- > * Deal with _ANSI_SOURCE: > * If it is defined, and no other compilation environment is explicitly > * requested, then define our internal feature-test macros to zero. This > * makes no difference to the preprocessor (undefined symbols in preprocessing > * expressions are defined to have value zero), but makes it more convenient for > * a test program to print out the values. > * > * If a program mistakenly defines _ANSI_SOURCE and some other macro such as > * _POSIX_C_SOURCE, we will assume that it wants the broader compilation > * environment (and in fact we will never get here). > */ >#if defined(_ANSI_SOURCE) /* Hide almost everything. */ >#define __POSIX_VISIBLE 0 >#define __XSI_VISIBLE 0 >#define __BSD_VISIBLE 0 >#define __ISO_C_VISIBLE 1990 >#elif defined(_C99_SOURCE) /* Localism to specify strict C99 env. */ ># 668 "/usr/include/sys/cdefs.h" 3 4 >#define __POSIX_VISIBLE 0 >#define __XSI_VISIBLE 0 >#define __BSD_VISIBLE 0 >#define __ISO_C_VISIBLE 1999 >#else /* Default environment: show everything. */ ># 673 "/usr/include/sys/cdefs.h" 3 4 >#define __POSIX_VISIBLE 200809 >#define __XSI_VISIBLE 700 >#define __BSD_VISIBLE 1 >#define __ISO_C_VISIBLE 1999 >#endif ># 678 "/usr/include/sys/cdefs.h" 3 4 >#endif ># 679 "/usr/include/sys/cdefs.h" 3 4 > >#ifndef __has_extension >#define __has_extension __has_feature >#endif ># 683 "/usr/include/sys/cdefs.h" 3 4 >#ifndef __has_feature >#define __has_feature(x) 0 >#endif ># 686 "/usr/include/sys/cdefs.h" 3 4 >#ifndef __has_include >#define __has_include(x) 0 >#endif ># 689 "/usr/include/sys/cdefs.h" 3 4 >#ifndef __has_builtin >#define __has_builtin(x) 0 >#endif ># 692 "/usr/include/sys/cdefs.h" 3 4 > >#if defined(__mips) || defined(__powerpc64__) || defined(__arm__) >#define __NO_TLS 1 >#endif ># 696 "/usr/include/sys/cdefs.h" 3 4 > >#endif /* !_SYS_CDEFS_H_ */ ># 698 "/usr/include/sys/cdefs.h" 3 4 ># 38 "/usr/include/stddef.h" 2 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_null.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/sys/_null.h" 1 3 4 >/*- > * Copyright (c) 2003 Marcel Moolenaar > * All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * > * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR > * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES > * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. > * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, > * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT > * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF > * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > * > * $FreeBSD: stable/9/sys/sys/_null.h 235786 2012-05-22 15:26:55Z theraven $ > */ > >#ifndef NULL > >#if !defined(__cplusplus) >#define NULL ((void *)0) >#else ># 34 "/usr/include/sys/_null.h" 3 4 >#if __cplusplus >= 201103L >#define NULL nullptr >#elif defined(__GNUG__) && defined(__GNUC__) && __GNUC__ >= 4 ># 37 "/usr/include/sys/_null.h" 3 4 >#define NULL __null >#else ># 39 "/usr/include/sys/_null.h" 3 4 >#if defined(__LP64__) >#define NULL (0L) >#else ># 42 "/usr/include/sys/_null.h" 3 4 >#define NULL 0 >#endif /* __LP64__ */ ># 44 "/usr/include/sys/_null.h" 3 4 >#endif /* __GNUG__ */ ># 45 "/usr/include/sys/_null.h" 3 4 >#endif /* !__cplusplus */ ># 46 "/usr/include/sys/_null.h" 3 4 > >#endif ># 48 "/usr/include/sys/_null.h" 3 4 ># 39 "/usr/include/stddef.h" 2 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/sys/_types.h" 1 3 4 >/*- > * Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> > * All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * > * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * $FreeBSD: stable/9/sys/sys/_types.h 291875 2015-12-05 22:56:57Z ngie $ > */ > >#ifndef _SYS__TYPES_H_ >#define _SYS__TYPES_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 33 "/usr/include/sys/_types.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <machine/_types.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/machine/_types.h" 1 3 4 >/*- > * This file is in the public domain. > */ >/* $FreeBSD: stable/9/sys/i386/include/_types.h 263505 2014-03-21 17:53:10Z emaste $ */ > >#if 0 /* expanded by -frewrite-includes */ >#include <x86/_types.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/x86/_types.h" 1 3 4 >/*- > * Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> > * Copyright (c) 1990, 1993 > * The Regents of the University of California. All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * 3. All advertising materials mentioning features or use of this software > * must display the following acknowledgement: > * This product includes software developed by the University of > * California, Berkeley and its contributors. > * 4. Neither the name of the University nor the names of its contributors > * may be used to endorse or promote products derived from this software > * without specific prior written permission. > * > * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * From: @(#)ansi.h 8.2 (Berkeley) 1/4/94 > * From: @(#)types.h 8.3 (Berkeley) 1/5/94 > * $FreeBSD: stable/9/sys/x86/include/_types.h 287139 2015-08-25 19:18:38Z jkim $ > */ > >#ifndef _MACHINE__TYPES_H_ >#define _MACHINE__TYPES_H_ > >#ifndef _SYS_CDEFS_H_ >#error this file needs sys/cdefs.h as a prerequisite >#endif ># 45 "/usr/include/x86/_types.h" 3 4 > >#define __NO_STRICT_ALIGNMENT > >/* > * Basic types upon which most other types are built. > */ >typedef signed char __int8_t; >typedef unsigned char __uint8_t; >typedef short __int16_t; >typedef unsigned short __uint16_t; >typedef int __int32_t; >typedef unsigned int __uint32_t; >#ifdef __LP64__ >typedef long __int64_t; >typedef unsigned long __uint64_t; >#else ># 61 "/usr/include/x86/_types.h" 3 4 >#ifndef lint >__extension__ >#endif ># 64 "/usr/include/x86/_types.h" 3 4 >/* LONGLONG */ >typedef long long __int64_t; >#ifndef lint >__extension__ >#endif ># 69 "/usr/include/x86/_types.h" 3 4 >/* LONGLONG */ >typedef unsigned long long __uint64_t; >#endif ># 72 "/usr/include/x86/_types.h" 3 4 > >/* > * Standard type definitions. > */ >#ifdef __LP64__ >typedef __int32_t __clock_t; /* clock()... */ >typedef __int64_t __critical_t; >typedef double __double_t; >typedef float __float_t; >typedef __int64_t __intfptr_t; >typedef __int64_t __intptr_t; >#else ># 84 "/usr/include/x86/_types.h" 3 4 >typedef unsigned long __clock_t; >typedef __int32_t __critical_t; >typedef long double __double_t; >typedef long double __float_t; >typedef __int32_t __intfptr_t; >typedef __int32_t __intptr_t; >#endif ># 91 "/usr/include/x86/_types.h" 3 4 >typedef __int64_t __intmax_t; >typedef __int32_t __int_fast8_t; >typedef __int32_t __int_fast16_t; >typedef __int32_t __int_fast32_t; >typedef __int64_t __int_fast64_t; >typedef __int8_t __int_least8_t; >typedef __int16_t __int_least16_t; >typedef __int32_t __int_least32_t; >typedef __int64_t __int_least64_t; >#ifdef __LP64__ >typedef __int64_t __ptrdiff_t; /* ptr1 - ptr2 */ >typedef __int64_t __register_t; >typedef __int64_t __segsz_t; /* segment size (in pages) */ >typedef __uint64_t __size_t; /* sizeof() */ >typedef __int64_t __ssize_t; /* byte count or error */ >typedef __int64_t __time_t; /* time()... */ >typedef __uint64_t __uintfptr_t; >typedef __uint64_t __uintptr_t; >#else ># 110 "/usr/include/x86/_types.h" 3 4 >typedef __int32_t __ptrdiff_t; >typedef __int32_t __register_t; >typedef __int32_t __segsz_t; >typedef __uint32_t __size_t; >typedef __int32_t __ssize_t; >typedef __int32_t __time_t; >typedef __uint32_t __uintfptr_t; >typedef __uint32_t __uintptr_t; >#endif ># 119 "/usr/include/x86/_types.h" 3 4 >typedef __uint64_t __uintmax_t; >typedef __uint32_t __uint_fast8_t; >typedef __uint32_t __uint_fast16_t; >typedef __uint32_t __uint_fast32_t; >typedef __uint64_t __uint_fast64_t; >typedef __uint8_t __uint_least8_t; >typedef __uint16_t __uint_least16_t; >typedef __uint32_t __uint_least32_t; >typedef __uint64_t __uint_least64_t; >#ifdef __LP64__ >typedef __uint64_t __u_register_t; >typedef __uint64_t __vm_offset_t; >typedef __uint64_t __vm_paddr_t; >typedef __uint64_t __vm_size_t; >#else ># 134 "/usr/include/x86/_types.h" 3 4 >typedef __uint32_t __u_register_t; >typedef __uint32_t __vm_offset_t; >#ifdef PAE >typedef __uint64_t __vm_paddr_t; >#else ># 139 "/usr/include/x86/_types.h" 3 4 >typedef __uint32_t __vm_paddr_t; >#endif ># 141 "/usr/include/x86/_types.h" 3 4 >typedef __uint32_t __vm_size_t; >#endif ># 143 "/usr/include/x86/_types.h" 3 4 >typedef __int64_t __vm_ooffset_t; >typedef __uint64_t __vm_pindex_t; > >/* > * Unusual type definitions. > */ >#ifdef __GNUCLIKE_BUILTIN_VARARGS >typedef __builtin_va_list __va_list; /* internally known to gcc */ >#else ># 152 "/usr/include/x86/_types.h" 3 4 >#ifdef __LP64__ >struct __s_va_list { > __uint32_t _pad1[2]; /* gp_offset, fp_offset */ > __uint64_t _pad2[2]; /* overflow_arg_area, reg_save_area */ >}; >typedef struct __s_va_list __va_list; >#else ># 159 "/usr/include/x86/_types.h" 3 4 >typedef char * __va_list; >#endif ># 161 "/usr/include/x86/_types.h" 3 4 >#endif ># 162 "/usr/include/x86/_types.h" 3 4 >#if defined(__GNUC_VA_LIST_COMPATIBILITY) && !defined(__GNUC_VA_LIST) \ > && !defined(__NO_GNUC_VA_LIST) >#define __GNUC_VA_LIST >typedef __va_list __gnuc_va_list; /* compatibility w/GNU headers*/ >#endif ># 167 "/usr/include/x86/_types.h" 3 4 > >#endif /* !_MACHINE__TYPES_H_ */ ># 169 "/usr/include/x86/_types.h" 3 4 ># 7 "/usr/include/machine/_types.h" 2 3 4 ># 34 "/usr/include/sys/_types.h" 2 3 4 > >/* > * Standard type definitions. > */ >typedef __uint32_t __blksize_t; /* file block size */ >typedef __int64_t __blkcnt_t; /* file block count */ >typedef __int32_t __clockid_t; /* clock_gettime()... */ >typedef __uint64_t __cap_rights_t; /* capability rights */ >typedef __uint32_t __fflags_t; /* file flags */ >typedef __uint64_t __fsblkcnt_t; >typedef __uint64_t __fsfilcnt_t; >typedef __uint32_t __gid_t; >typedef __int64_t __id_t; /* can hold a gid_t, pid_t, or uid_t */ >typedef __uint32_t __ino_t; /* inode number */ >typedef long __key_t; /* IPC key (for Sys V IPC) */ >typedef __int32_t __lwpid_t; /* Thread ID (a.k.a. LWP) */ >typedef __uint16_t __mode_t; /* permissions */ >typedef int __accmode_t; /* access permissions */ >typedef int __nl_item; >typedef __uint16_t __nlink_t; /* link count */ >typedef __int64_t __off_t; /* file offset */ >typedef __int32_t __pid_t; /* process [group] */ >typedef __int64_t __rlim_t; /* resource limit - intentionally */ > /* signed, because of legacy code */ > /* that uses -1 for RLIM_INFINITY */ >typedef __uint8_t __sa_family_t; >typedef __uint32_t __socklen_t; >typedef long __suseconds_t; /* microseconds (signed) */ >typedef struct __timer *__timer_t; /* timer_gettime()... */ >typedef struct __mq *__mqd_t; /* mq_open()... */ >typedef __uint32_t __uid_t; >typedef unsigned int __useconds_t; /* microseconds (unsigned) */ >typedef int __cpuwhich_t; /* which parameter for cpuset. */ >typedef int __cpulevel_t; /* level parameter for cpuset. */ >typedef int __cpusetid_t; /* cpuset identifier. */ > >/* > * Unusual type definitions. > */ >/* > * rune_t is declared to be an ``int'' instead of the more natural > * ``unsigned long'' or ``long''. Two things are happening here. It is not > * unsigned so that EOF (-1) can be naturally assigned to it and used. Also, > * it looks like 10646 will be a 31 bit standard. This means that if your > * ints cannot hold 32 bits, you will be in trouble. The reason an int was > * chosen over a long is that the is*() and to*() routines take ints (says > * ANSI C), but they use __ct_rune_t instead of int. > * > * NOTE: rune_t is not covered by ANSI nor other standards, and should not > * be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and > * rune_t must be the same type. Also, wint_t must be no narrower than > * wchar_t, and should be able to hold all members of the largest > * character set plus one extra value (WEOF), and must be at least 16 bits. > */ >typedef int __ct_rune_t; /* arg type for ctype funcs */ >typedef __ct_rune_t __rune_t; /* rune_t (see above) */ >typedef __ct_rune_t ___wchar_t; /* wchar_t (see above) */ >typedef __ct_rune_t __wint_t; /* wint_t (see above) */ > >/* Clang already provides these types as built-ins, but only in C++ mode. */ >#if !defined(__clang__) || !defined(__cplusplus) >typedef __uint_least16_t __char16_t; >typedef __uint_least32_t __char32_t; >#endif ># 98 "/usr/include/sys/_types.h" 3 4 > >typedef __uint32_t __dev_t; /* device number */ > >typedef __uint32_t __fixpt_t; /* fixed point number */ > >/* > * mbstate_t is an opaque object to keep conversion state during multibyte > * stream conversions. > */ >typedef union { > char __mbstate8[128]; > __int64_t _mbstateL; /* for alignment */ >} __mbstate_t; > >#endif /* !_SYS__TYPES_H_ */ ># 113 "/usr/include/sys/_types.h" 3 4 ># 40 "/usr/include/stddef.h" 2 3 4 > >typedef __ptrdiff_t ptrdiff_t; > >#if __BSD_VISIBLE >#ifndef _RUNE_T_DECLARED >typedef __rune_t rune_t; >#define _RUNE_T_DECLARED >#endif ># 48 "/usr/include/stddef.h" 3 4 >#endif ># 49 "/usr/include/stddef.h" 3 4 > >#ifndef _SIZE_T_DECLARED >typedef __size_t size_t; >#define _SIZE_T_DECLARED >#endif ># 54 "/usr/include/stddef.h" 3 4 > >#ifndef __cplusplus >#ifndef _WCHAR_T_DECLARED >typedef ___wchar_t wchar_t; >#define _WCHAR_T_DECLARED >#endif ># 60 "/usr/include/stddef.h" 3 4 >#endif ># 61 "/usr/include/stddef.h" 3 4 > >#define offsetof(type, member) __offsetof(type, member) > >#endif /* _STDDEF_H_ */ ># 65 "/usr/include/stddef.h" 3 4 ># 42 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" 2 > >/* > * If all compilers provided all of the C99 headers and types, > * we would just unconditionally #include <stdint.h> here > * and not need any of the stuff after including platform.h. > */ > >/* Find out if we have stdint.h etc. */ >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/platform.h" >#endif /* expanded by -frewrite-includes */ ># 1 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" 1 >/* >****************************************************************************** >* >* Copyright (C) 1997-2015, International Business Machines >* Corporation and others. All Rights Reserved. >* >****************************************************************************** >* >* FILE NAME : platform.h >* >* Date Name Description >* 05/13/98 nos Creation (content moved here from ptypes.h). >* 03/02/99 stephen Added AS400 support. >* 03/30/99 stephen Added Linux support. >* 04/13/99 stephen Reworked for autoconf. >****************************************************************************** >*/ > >#ifndef _PLATFORM_H >#define _PLATFORM_H > >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/uconfig.h" >#endif /* expanded by -frewrite-includes */ ># 1 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" 1 >/* >********************************************************************** >* Copyright (C) 2002-2015, International Business Machines >* Corporation and others. All Rights Reserved. >********************************************************************** >* file name: uconfig.h >* encoding: US-ASCII >* tab size: 8 (not used) >* indentation:4 >* >* created on: 2002sep19 >* created by: Markus W. Scherer >*/ > >#ifndef __UCONFIG_H__ >#define __UCONFIG_H__ > > >/*! > * \file > * \brief User-configurable settings > * > * Miscellaneous switches: > * > * A number of macros affect a variety of minor aspects of ICU. > * Most of them used to be defined elsewhere (e.g., in utypes.h or platform.h) > * and moved here to make them easier to find. > * > * Switches for excluding parts of ICU library code modules: > * > * Changing these macros allows building partial, smaller libraries for special purposes. > * By default, all modules are built. > * The switches are fairly coarse, controlling large modules. > * Basic services cannot be turned off. > * > * Building with any of these options does not guarantee that the > * ICU build process will completely work. It is recommended that > * the ICU libraries and data be built using the normal build. > * At that time you should remove the data used by those services. > * After building the ICU data library, you should rebuild the ICU > * libraries with these switches customized to your needs. > * > * @stable ICU 2.4 > */ > >/** > * If this switch is defined, ICU will attempt to load a header file named "uconfig_local.h" > * prior to determining default settings for uconfig variables. > * > * @internal ICU 4.0 > */ >#if defined(UCONFIG_USE_LOCAL) >#if 0 /* expanded by -frewrite-includes */ >#include "uconfig_local.h" >#endif /* expanded by -frewrite-includes */ ># 54 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" >#endif ># 55 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def U_DEBUG > * Determines whether to include debugging code. > * Automatically set on Windows, but most compilers do not have > * related predefined macros. > * @internal > */ >#ifdef U_DEBUG > /* Use the predefined value. */ >#elif defined(_DEBUG) ># 66 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > /* > * _DEBUG is defined by Visual Studio debug compilation. > * Do *not* test for its NDEBUG macro: It is an orthogonal macro > * which disables assert(). > */ ># define U_DEBUG 1 ># else ># 73 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" ># define U_DEBUG 0 >#endif ># 75 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * Determines wheter to enable auto cleanup of libraries. > * @internal > */ >#ifndef UCLN_NO_AUTO_CLEANUP >#define UCLN_NO_AUTO_CLEANUP 1 >#endif ># 83 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def U_DISABLE_RENAMING > * Determines whether to disable renaming or not. > * @internal > */ >#ifndef U_DISABLE_RENAMING >#define U_DISABLE_RENAMING 0 >#endif ># 92 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def U_NO_DEFAULT_INCLUDE_UTF_HEADERS > * Determines whether utypes.h includes utf.h, utf8.h, utf16.h and utf_old.h. > * utypes.h includes those headers if this macro is defined to 0. > * Otherwise, each those headers must be included explicitly when using one of their macros. > * Defaults to 0 for backward compatibility, except inside ICU. > * @stable ICU 49 > */ >#ifdef U_NO_DEFAULT_INCLUDE_UTF_HEADERS > /* Use the predefined value. */ >#elif defined(U_COMBINED_IMPLEMENTATION) || defined(U_COMMON_IMPLEMENTATION) || defined(U_I18N_IMPLEMENTATION) || \ > defined(U_IO_IMPLEMENTATION) || defined(U_LAYOUT_IMPLEMENTATION) || defined(U_LAYOUTEX_IMPLEMENTATION) || \ > defined(U_TOOLUTIL_IMPLEMENTATION) ># 106 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" ># define U_NO_DEFAULT_INCLUDE_UTF_HEADERS 1 >#else ># 108 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" ># define U_NO_DEFAULT_INCLUDE_UTF_HEADERS 0 >#endif ># 110 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def U_OVERRIDE_CXX_ALLOCATION > * Determines whether to override new and delete. > * ICU is normally built such that all of its C++ classes, via their UMemory base, > * override operators new and delete to use its internal, customizable, > * non-exception-throwing memory allocation functions. (Default value 1 for this macro.) > * > * This is especially important when the application and its libraries use multiple heaps. > * For example, on Windows, this allows the ICU DLL to be used by > * applications that statically link the C Runtime library. > * > * @stable ICU 2.2 > */ >#ifndef U_OVERRIDE_CXX_ALLOCATION >#define U_OVERRIDE_CXX_ALLOCATION 1 >#endif ># 127 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def U_ENABLE_TRACING > * Determines whether to enable tracing. > * @internal > */ >#ifndef U_ENABLE_TRACING >#define U_ENABLE_TRACING 0 >#endif ># 136 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def UCONFIG_ENABLE_PLUGINS > * Determines whether to enable ICU plugins. > * @internal > */ >#ifndef UCONFIG_ENABLE_PLUGINS >#define UCONFIG_ENABLE_PLUGINS 0 >#endif ># 145 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def U_ENABLE_DYLOAD > * Whether to enable Dynamic loading in ICU. > * @internal > */ >#ifndef U_ENABLE_DYLOAD >#define U_ENABLE_DYLOAD 1 >#endif ># 154 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def U_CHECK_DYLOAD > * Whether to test Dynamic loading as an OS capability. > * @internal > */ >#ifndef U_CHECK_DYLOAD >#define U_CHECK_DYLOAD 1 >#endif ># 163 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def U_DEFAULT_SHOW_DRAFT > * Do we allow ICU users to use the draft APIs by default? > * @internal > */ >#ifndef U_DEFAULT_SHOW_DRAFT >#define U_DEFAULT_SHOW_DRAFT 1 >#endif ># 172 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/*===========================================================================*/ >/* Custom icu entry point renaming */ >/*===========================================================================*/ > >/** > * \def U_HAVE_LIB_SUFFIX > * 1 if a custom library suffix is set. > * @internal > */ >#ifdef U_HAVE_LIB_SUFFIX > /* Use the predefined value. */ >#elif defined(U_LIB_SUFFIX_C_NAME) ># 185 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" ># define U_HAVE_LIB_SUFFIX 1 >#endif ># 187 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def U_LIB_SUFFIX_C_NAME_STRING > * Defines the library suffix as a string with C syntax. > * @internal > */ >#ifdef U_LIB_SUFFIX_C_NAME_STRING > /* Use the predefined value. */ >#elif defined(U_LIB_SUFFIX_C_NAME) ># 196 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" ># define CONVERT_TO_STRING(s) #s ># define U_LIB_SUFFIX_C_NAME_STRING CONVERT_TO_STRING(U_LIB_SUFFIX_C_NAME) >#else ># 199 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" ># define U_LIB_SUFFIX_C_NAME_STRING "" >#endif ># 201 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/* common/i18n library switches --------------------------------------------- */ > >/** > * \def UCONFIG_ONLY_COLLATION > * This switch turns off modules that are not needed for collation. > * > * It does not turn off legacy conversion because that is necessary > * for ICU to work on EBCDIC platforms (for the default converter). > * If you want "only collation" and do not build for EBCDIC, > * then you can define UCONFIG_NO_CONVERSION or UCONFIG_NO_LEGACY_CONVERSION to 1 as well. > * > * @stable ICU 2.4 > */ >#ifndef UCONFIG_ONLY_COLLATION ># define UCONFIG_ONLY_COLLATION 0 >#endif ># 218 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >#if UCONFIG_ONLY_COLLATION > /* common library */ ># define UCONFIG_NO_BREAK_ITERATION 1 ># define UCONFIG_NO_IDNA 1 > > /* i18n library */ ># if UCONFIG_NO_COLLATION ># error Contradictory collation switches in uconfig.h. ># endif ># 228 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" ># define UCONFIG_NO_FORMATTING 1 ># define UCONFIG_NO_TRANSLITERATION 1 ># define UCONFIG_NO_REGULAR_EXPRESSIONS 1 >#endif ># 232 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/* common library switches -------------------------------------------------- */ > >/** > * \def UCONFIG_NO_FILE_IO > * This switch turns off all file access in the common library > * where file access is only used for data loading. > * ICU data must then be provided in the form of a data DLL (or with an > * equivalent way to link to the data residing in an executable, > * as in building a combined library with both the common library's code and > * the data), or via udata_setCommonData(). > * Application data must be provided via udata_setAppData() or by using > * "open" functions that take pointers to data, for example ucol_openBinary(). > * > * File access is not used at all in the i18n library. > * > * File access cannot be turned off for the icuio library or for the ICU > * test suites and ICU tools. > * > * @stable ICU 3.6 > */ >#ifndef UCONFIG_NO_FILE_IO ># define UCONFIG_NO_FILE_IO 0 >#endif ># 256 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >#if UCONFIG_NO_FILE_IO && defined(U_TIMEZONE_FILES_DIR) ># error Contradictory file io switches in uconfig.h. >#endif ># 260 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def UCONFIG_NO_CONVERSION > * ICU will not completely build with this switch turned on. > * This switch turns off all converters. > * > * You may want to use this together with U_CHARSET_IS_UTF8 defined to 1 > * in utypes.h if char* strings in your environment are always in UTF-8. > * > * @stable ICU 3.2 > * @see U_CHARSET_IS_UTF8 > */ >#ifndef UCONFIG_NO_CONVERSION ># define UCONFIG_NO_CONVERSION 0 >#endif ># 275 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >#if UCONFIG_NO_CONVERSION ># define UCONFIG_NO_LEGACY_CONVERSION 1 >#endif ># 279 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def UCONFIG_ONLY_HTML_CONVERSION > * This switch turns off all of the converters NOT listed in > * the HTML encoding standard: > * http://www.w3.org/TR/encoding/#names-and-labels > * > * This is not possible on EBCDIC platforms > * because they need ibm-37 or ibm-1047 default converters. > * > * @draft ICU 55 > */ >#ifndef UCONFIG_ONLY_HTML_CONVERSION ># define UCONFIG_ONLY_HTML_CONVERSION 0 >#endif ># 294 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def UCONFIG_NO_LEGACY_CONVERSION > * This switch turns off all converters except for > * - Unicode charsets (UTF-7/8/16/32, CESU-8, SCSU, BOCU-1) > * - US-ASCII > * - ISO-8859-1 > * > * Turning off legacy conversion is not possible on EBCDIC platforms > * because they need ibm-37 or ibm-1047 default converters. > * > * @stable ICU 2.4 > */ >#ifndef UCONFIG_NO_LEGACY_CONVERSION ># define UCONFIG_NO_LEGACY_CONVERSION 0 >#endif ># 310 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def UCONFIG_NO_NORMALIZATION > * This switch turns off normalization. > * It implies turning off several other services as well, for example > * collation and IDNA. > * > * @stable ICU 2.6 > */ >#ifndef UCONFIG_NO_NORMALIZATION ># define UCONFIG_NO_NORMALIZATION 0 >#elif UCONFIG_NO_NORMALIZATION ># 322 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > /* common library */ > /* ICU 50 CJK dictionary BreakIterator uses normalization */ ># define UCONFIG_NO_BREAK_ITERATION 1 > /* IDNA (UTS #46) is implemented via normalization */ ># define UCONFIG_NO_IDNA 1 > > /* i18n library */ ># if UCONFIG_ONLY_COLLATION ># error Contradictory collation switches in uconfig.h. ># endif ># 332 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" ># define UCONFIG_NO_COLLATION 1 ># define UCONFIG_NO_TRANSLITERATION 1 >#endif ># 335 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def UCONFIG_NO_BREAK_ITERATION > * This switch turns off break iteration. > * > * @stable ICU 2.4 > */ >#ifndef UCONFIG_NO_BREAK_ITERATION ># define UCONFIG_NO_BREAK_ITERATION 0 >#endif ># 345 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def UCONFIG_NO_IDNA > * This switch turns off IDNA. > * > * @stable ICU 2.6 > */ >#ifndef UCONFIG_NO_IDNA ># define UCONFIG_NO_IDNA 0 >#endif ># 355 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE > * Determines the default UMessagePatternApostropheMode. > * See the documentation for that enum. > * > * @stable ICU 4.8 > */ >#ifndef UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE ># define UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE UMSGPAT_APOS_DOUBLE_OPTIONAL >#endif ># 366 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/* i18n library switches ---------------------------------------------------- */ > >/** > * \def UCONFIG_NO_COLLATION > * This switch turns off collation and collation-based string search. > * > * @stable ICU 2.4 > */ >#ifndef UCONFIG_NO_COLLATION ># define UCONFIG_NO_COLLATION 0 >#endif ># 378 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def UCONFIG_NO_FORMATTING > * This switch turns off formatting and calendar/timezone services. > * > * @stable ICU 2.4 > */ >#ifndef UCONFIG_NO_FORMATTING ># define UCONFIG_NO_FORMATTING 0 >#endif ># 388 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def UCONFIG_NO_TRANSLITERATION > * This switch turns off transliteration. > * > * @stable ICU 2.4 > */ >#ifndef UCONFIG_NO_TRANSLITERATION ># define UCONFIG_NO_TRANSLITERATION 0 >#endif ># 398 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def UCONFIG_NO_REGULAR_EXPRESSIONS > * This switch turns off regular expressions. > * > * @stable ICU 2.4 > */ >#ifndef UCONFIG_NO_REGULAR_EXPRESSIONS ># define UCONFIG_NO_REGULAR_EXPRESSIONS 0 >#endif ># 408 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def UCONFIG_NO_SERVICE > * This switch turns off service registration. > * > * @stable ICU 3.2 > */ >#ifndef UCONFIG_NO_SERVICE ># define UCONFIG_NO_SERVICE 0 >#endif ># 418 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def UCONFIG_HAVE_PARSEALLINPUT > * This switch turns on the "parse all input" attribute. Binary incompatible. > * > * @internal > */ >#ifndef UCONFIG_HAVE_PARSEALLINPUT ># define UCONFIG_HAVE_PARSEALLINPUT 1 >#endif ># 428 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > > >/** > * \def UCONFIG_FORMAT_FASTPATHS_49 > * This switch turns on other formatting fastpaths. Binary incompatible in object DecimalFormat and DecimalFormatSymbols > * > * @internal > */ >#ifndef UCONFIG_FORMAT_FASTPATHS_49 ># define UCONFIG_FORMAT_FASTPATHS_49 1 >#endif ># 439 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >/** > * \def UCONFIG_NO_FILTERED_BREAK_ITERATION > * This switch turns off filtered break iteration code. > * > * @internal > */ >#ifndef UCONFIG_NO_FILTERED_BREAK_ITERATION ># define UCONFIG_NO_FILTERED_BREAK_ITERATION 0 >#endif ># 449 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" > >#endif ># 451 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uconfig.h" ># 23 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" 2 >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/uvernum.h" >#endif /* expanded by -frewrite-includes */ ># 1 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uvernum.h" 1 >/* >******************************************************************************* >* Copyright (C) 2000-2015, International Business Machines >* Corporation and others. All Rights Reserved. >******************************************************************************* >* >* file name: uvernum.h >* encoding: US-ASCII >* tab size: 8 (not used) >* indentation:4 >* >* Created by: Vladimir Weinstein >* Updated by: Steven R. Loomis >* >*/ > >/** > * \file > * \brief C API: definitions of ICU version numbers > * > * This file is included by uversion.h and other files. This file contains only > * macros and definitions. The actual version numbers are defined here. > */ > > /* > * IMPORTANT: When updating version, the following things need to be done: > * source/common/unicode/uvernum.h - this file: update major, minor, > * patchlevel, suffix, version, short version constants, namespace, > * renaming macro, and copyright > * > * The following files need to be updated as well, which can be done > * by running the UNIX makefile target 'update-windows-makefiles' in icu/source. > * > * > * source/common/common.vcproj - update 'Output file name' on the link tab so > * that it contains the new major/minor combination > * source/i18n/i18n.vcproj - same as for the common.vcproj > * source/layout/layout.vcproj - same as for the common.vcproj > * source/layoutex/layoutex.vcproj - same > * source/stubdata/stubdata.vcproj - same as for the common.vcproj > * source/io/io.vcproj - same as for the common.vcproj > * source/data/makedata.mak - change U_ICUDATA_NAME so that it contains > * the new major/minor combination and the Unicode version. > */ > >#ifndef UVERNUM_H >#define UVERNUM_H > >/** The standard copyright notice that gets compiled into each library. > * This value will change in the subsequent releases of ICU > * @stable ICU 2.4 > */ >#define U_COPYRIGHT_STRING \ > " Copyright (C) 2015, International Business Machines Corporation and others. All Rights Reserved. " > >/** The current ICU major version as an integer. > * This value will change in the subsequent releases of ICU > * @stable ICU 2.4 > */ >#define U_ICU_VERSION_MAJOR_NUM 56 > >/** The current ICU minor version as an integer. > * This value will change in the subsequent releases of ICU > * @stable ICU 2.6 > */ >#define U_ICU_VERSION_MINOR_NUM 1 > >/** The current ICU patchlevel version as an integer. > * This value will change in the subsequent releases of ICU > * @stable ICU 2.4 > */ >#define U_ICU_VERSION_PATCHLEVEL_NUM 0 > >/** The current ICU build level version as an integer. > * This value is for use by ICU clients. It defaults to 0. > * @stable ICU 4.0 > */ >#ifndef U_ICU_VERSION_BUILDLEVEL_NUM >#define U_ICU_VERSION_BUILDLEVEL_NUM 0 >#endif ># 81 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uvernum.h" > >/** Glued version suffix for renamers > * This value will change in the subsequent releases of ICU > * @stable ICU 2.6 > */ >#define U_ICU_VERSION_SUFFIX _56 > >/** > * \def U_DEF2_ICU_ENTRY_POINT_RENAME > * @internal > */ >/** > * \def U_DEF_ICU_ENTRY_POINT_RENAME > * @internal > */ >/** Glued version suffix function for renamers > * This value will change in the subsequent releases of ICU. > * If a custom suffix (such as matching library suffixes) is desired, this can be modified. > * Note that if present, platform.h may contain an earlier definition of this macro. > * \def U_ICU_ENTRY_POINT_RENAME > * @stable ICU 4.2 > */ > >#ifndef U_ICU_ENTRY_POINT_RENAME >#ifdef U_HAVE_LIB_SUFFIX >#define U_DEF_ICU_ENTRY_POINT_RENAME(x,y,z) x ## y ## z >#define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y,z) U_DEF_ICU_ENTRY_POINT_RENAME(x,y,z) >#define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX,U_LIB_SUFFIX_C_NAME) >#else ># 110 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uvernum.h" >#define U_DEF_ICU_ENTRY_POINT_RENAME(x,y) x ## y >#define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y) U_DEF_ICU_ENTRY_POINT_RENAME(x,y) >#define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX) >#endif ># 114 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uvernum.h" >#endif ># 115 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uvernum.h" > >/** The current ICU library version as a dotted-decimal string. The patchlevel > * only appears in this string if it non-zero. > * This value will change in the subsequent releases of ICU > * @stable ICU 2.4 > */ >#define U_ICU_VERSION "56.1" > >/** The current ICU library major/minor version as a string without dots, for library name suffixes. > * This value will change in the subsequent releases of ICU > * @stable ICU 2.6 > */ >#define U_ICU_VERSION_SHORT "56" > >#ifndef U_HIDE_INTERNAL_API >/** Data version in ICU4C. > * @internal ICU 4.4 Internal Use Only > **/ >#define U_ICU_DATA_VERSION "56.1" >#endif /* U_HIDE_INTERNAL_API */ ># 135 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uvernum.h" > >/*=========================================================================== > * ICU collation framework version information > * Version info that can be obtained from a collator is affected by these > * numbers in a secret and magic way. Please use collator version as whole > *=========================================================================== > */ > >/** > * Collation runtime version (sort key generator, strcoll). > * If the version is different, sort keys for the same string could be different. > * This value may change in subsequent releases of ICU. > * @stable ICU 2.4 > */ >#define UCOL_RUNTIME_VERSION 9 > >/** > * Collation builder code version. > * When this is different, the same tailoring might result > * in assigning different collation elements to code points. > * This value may change in subsequent releases of ICU. > * @stable ICU 2.4 > */ >#define UCOL_BUILDER_VERSION 9 > >#ifndef U_HIDE_DEPRECATED_API >/** > * Constant 1. > * This was intended to be the version of collation tailorings, > * but instead the tailoring data carries a version number. > * @deprecated ICU 54 > */ >#define UCOL_TAILORINGS_VERSION 1 >#endif /* U_HIDE_DEPRECATED_API */ ># 169 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uvernum.h" > >#endif ># 171 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uvernum.h" ># 24 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" 2 > >/** > * \file > * \brief Basic types for the platform. > * > * This file used to be generated by autoconf/configure. > * Starting with ICU 49, platform.h is a normal source file, > * to simplify cross-compiling and working with non-autoconf/make build systems. > * > * When a value in this file does not work on a platform, then please > * try to derive it from the U_PLATFORM value > * (for which we might need a new value constant in rare cases) > * and/or from other macros that are predefined by the compiler > * or defined in standard (POSIX or platform or compiler) headers. > * > * As a temporary workaround, you can add an explicit <code>#define</code> for some macros > * before it is first tested, or add an equivalent -D macro definition > * to the compiler's command line. > * > * Note: Some compilers provide ways to show the predefined macros. > * For example, with gcc you can compile an empty .c file and have the compiler > * print the predefined macros with > * \code > * gcc -E -dM -x c /dev/null | sort > * \endcode > * (You can provide an actual empty .c file rather than /dev/null. > * <code>-x c++</code> is for C++.) > */ > >/** > * Define some things so that they can be documented. > * @internal > */ >#ifdef U_IN_DOXYGEN >/* > * Problem: "platform.h:335: warning: documentation for unknown define U_HAVE_STD_STRING found." means that U_HAVE_STD_STRING is not documented. > * Solution: #define any defines for non @internal API here, so that they are visible in the docs. If you just set PREDEFINED in Doxyfile.in, they won't be documented. > */ > >/* None for now. */ >#endif ># 65 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_PLATFORM > * The U_PLATFORM macro defines the platform we're on. > * > * We used to define one different, value-less macro per platform. > * That made it hard to know the set of relevant platforms and macros, > * and hard to deal with variants of platforms. > * > * Starting with ICU 49, we define platforms as numeric macros, > * with ranges of values for related platforms and their variants. > * The U_PLATFORM macro is set to one of these values. > * > * Historical note from the Solaris Wikipedia article: > * AT&T and Sun collaborated on a project to merge the most popular Unix variants > * on the market at that time: BSD, System V, and Xenix. > * This became Unix System V Release 4 (SVR4). > * > * @internal > */ > >/** Unknown platform. @internal */ >#define U_PF_UNKNOWN 0 >/** Windows @internal */ >#define U_PF_WINDOWS 1000 >/** MinGW. Windows, calls to Win32 API, but using GNU gcc and binutils. @internal */ >#define U_PF_MINGW 1800 >/** > * Cygwin. Windows, calls to cygwin1.dll for Posix functions, > * using MSVC or GNU gcc and binutils. > * @internal > */ >#define U_PF_CYGWIN 1900 >/* Reserve 2000 for U_PF_UNIX? */ >/** HP-UX is based on UNIX System V. @internal */ >#define U_PF_HPUX 2100 >/** Solaris is a Unix operating system based on SVR4. @internal */ >#define U_PF_SOLARIS 2600 >/** BSD is a UNIX operating system derivative. @internal */ >#define U_PF_BSD 3000 >/** AIX is based on UNIX System V Releases and 4.3 BSD. @internal */ >#define U_PF_AIX 3100 >/** IRIX is based on UNIX System V with BSD extensions. @internal */ >#define U_PF_IRIX 3200 >/** > * Darwin is a POSIX-compliant operating system, composed of code developed by Apple, > * as well as code derived from NeXTSTEP, BSD, and other projects, > * built around the Mach kernel. > * Darwin forms the core set of components upon which Mac OS X, Apple TV, and iOS are based. > * (Original description modified from WikiPedia.) > * @internal > */ >#define U_PF_DARWIN 3500 >/** iPhone OS (iOS) is a derivative of Mac OS X. @internal */ >#define U_PF_IPHONE 3550 >/** QNX is a commercial Unix-like real-time operating system related to BSD. @internal */ >#define U_PF_QNX 3700 >/** Linux is a Unix-like operating system. @internal */ >#define U_PF_LINUX 4000 >/** > * Native Client is pretty close to Linux. > * See https://developer.chrome.com/native-client and > * http://www.chromium.org/nativeclient > * @internal > */ >#define U_PF_BROWSER_NATIVE_CLIENT 4020 >/** Android is based on Linux. @internal */ >#define U_PF_ANDROID 4050 >/* Maximum value for Linux-based platform is 4499 */ >/** z/OS is the successor to OS/390 which was the successor to MVS. @internal */ >#define U_PF_OS390 9000 >/** "IBM i" is the current name of what used to be i5/OS and earlier OS/400. @internal */ >#define U_PF_OS400 9400 > >#ifdef U_PLATFORM > /* Use the predefined value. */ >#elif defined(__MINGW32__) ># 142 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM U_PF_MINGW >#elif defined(__CYGWIN__) ># 144 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM U_PF_CYGWIN >#elif defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64) ># 146 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM U_PF_WINDOWS >#elif defined(__ANDROID__) ># 148 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM U_PF_ANDROID > /* Android wchar_t support depends on the API level. */ >#if 0 /* expanded by -frewrite-includes */ ># include <android/api-level.h> >#endif /* expanded by -frewrite-includes */ ># 151 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" >#elif defined(__native_client__) ># 152 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM U_PF_BROWSER_NATIVE_CLIENT >#elif defined(linux) || defined(__linux__) || defined(__linux) ># 154 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM U_PF_LINUX >#elif defined(__APPLE__) && defined(__MACH__) ># 156 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" >#if 0 /* expanded by -frewrite-includes */ ># include <TargetConditionals.h> >#endif /* expanded by -frewrite-includes */ ># 157 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE /* variant of TARGET_OS_MAC */ ># define U_PLATFORM U_PF_IPHONE ># else ># 160 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM U_PF_DARWIN ># endif ># 162 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" >#elif defined(BSD) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__MirBSD__) ># 163 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># if defined(__FreeBSD__) >#if 0 /* expanded by -frewrite-includes */ ># include <sys/endian.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/sys/endian.h" 1 3 4 >/*- > * Copyright (c) 2002 Thomas Moestl <tmm@FreeBSD.org> > * All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * > * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * $FreeBSD: stable/9/sys/sys/endian.h 208331 2010-05-20 06:16:13Z phk $ > */ > >#ifndef _SYS_ENDIAN_H_ >#define _SYS_ENDIAN_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 33 "/usr/include/sys/endian.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 34 "/usr/include/sys/endian.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <machine/endian.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/machine/endian.h" 1 3 4 >/*- > * Copyright (c) 1987, 1991 Regents of the University of California. > * All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * 4. Neither the name of the University nor the names of its contributors > * may be used to endorse or promote products derived from this software > * without specific prior written permission. > * > * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * @(#)endian.h 7.8 (Berkeley) 4/3/91 > * $FreeBSD: stable/9/sys/i386/include/endian.h 233349 2012-03-23 10:55:19Z dim $ > */ > >#ifndef _MACHINE_ENDIAN_H_ >#define _MACHINE_ENDIAN_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 37 "/usr/include/machine/endian.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 38 "/usr/include/machine/endian.h" 3 4 > >#ifdef __cplusplus >extern "C" { >#endif ># 42 "/usr/include/machine/endian.h" 3 4 > >/* > * Define the order of 32-bit words in 64-bit words. > */ >#define _QUAD_HIGHWORD 1 >#define _QUAD_LOWWORD 0 > >/* > * Definitions for byte order, according to byte significance from low > * address to high. > */ >#define _LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ >#define _BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ >#define _PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ > >#define _BYTE_ORDER _LITTLE_ENDIAN > >/* > * Deprecated variants that don't have enough underscores to be useful in more > * strict namespaces. > */ >#if __BSD_VISIBLE >#define LITTLE_ENDIAN _LITTLE_ENDIAN >#define BIG_ENDIAN _BIG_ENDIAN >#define PDP_ENDIAN _PDP_ENDIAN >#define BYTE_ORDER _BYTE_ORDER >#endif ># 69 "/usr/include/machine/endian.h" 3 4 > >#if defined(__GNUCLIKE_ASM) && defined(__GNUCLIKE_BUILTIN_CONSTANT_P) > >#define __bswap64_const(_x) \ > (((_x) >> 56) | \ > (((_x) >> 40) & (0xffULL << 8)) | \ > (((_x) >> 24) & (0xffULL << 16)) | \ > (((_x) >> 8) & (0xffULL << 24)) | \ > (((_x) << 8) & (0xffULL << 32)) | \ > (((_x) << 24) & (0xffULL << 40)) | \ > (((_x) << 40) & (0xffULL << 48)) | \ > ((_x) << 56)) > >#define __bswap32_const(_x) \ > (((_x) >> 24) | \ > (((_x) & (0xff << 16)) >> 8) | \ > (((_x) & (0xff << 8)) << 8) | \ > ((_x) << 24)) > >#define __bswap16_const(_x) (__uint16_t)((_x) << 8 | (_x) >> 8) > >static __inline __uint64_t >__bswap64_var(__uint64_t __x) >{ > > return __bswap64_const(__x); >} > > >static __inline __uint32_t >__bswap32_var(__uint32_t _x) >{ > > __asm ("bswap %0" : "+r" (_x)); > return (_x); >} > >static __inline __uint16_t >__bswap16_var(__uint16_t _x) >{ > > return (__bswap16_const(_x)); >} > >#define __bswap64(_x) \ > (__builtin_constant_p(_x) ? \ > __bswap64_const((__uint64_t)(_x)) : __bswap64_var(_x)) > >#define __bswap32(_x) \ > (__builtin_constant_p(_x) ? \ > __bswap32_const((__uint32_t)(_x)) : __bswap32_var(_x)) > >#define __bswap16(_x) \ > ((__uint16_t)(__builtin_constant_p(_x) ? \ > __bswap16_const((__uint16_t)(_x)) : __bswap16_var(_x))) > >#define __htonl(x) __bswap32(x) >#define __htons(x) __bswap16(x) >#define __ntohl(x) __bswap32(x) >#define __ntohs(x) __bswap16(x) > >#else /* !(__GNUCLIKE_ASM && __GNUCLIKE_BUILTIN_CONSTANT_P) */ ># 131 "/usr/include/machine/endian.h" 3 4 > >/* > * No optimizations are available for this compiler. Fall back to > * non-optimized functions by defining the constant usually used to prevent > * redefinition. > */ >#define _BYTEORDER_FUNC_DEFINED > >#endif /* __GNUCLIKE_ASM && __GNUCLIKE_BUILTIN_CONSTANT_P */ ># 140 "/usr/include/machine/endian.h" 3 4 > >#ifdef __cplusplus >} >#endif ># 144 "/usr/include/machine/endian.h" 3 4 > >#endif /* !_MACHINE_ENDIAN_H_ */ ># 146 "/usr/include/machine/endian.h" 3 4 ># 35 "/usr/include/sys/endian.h" 2 3 4 > >#ifndef _UINT8_T_DECLARED >typedef __uint8_t uint8_t; >#define _UINT8_T_DECLARED >#endif ># 40 "/usr/include/sys/endian.h" 3 4 > >#ifndef _UINT16_T_DECLARED >typedef __uint16_t uint16_t; >#define _UINT16_T_DECLARED >#endif ># 45 "/usr/include/sys/endian.h" 3 4 > >#ifndef _UINT32_T_DECLARED >typedef __uint32_t uint32_t; >#define _UINT32_T_DECLARED >#endif ># 50 "/usr/include/sys/endian.h" 3 4 > >#ifndef _UINT64_T_DECLARED >typedef __uint64_t uint64_t; >#define _UINT64_T_DECLARED >#endif ># 55 "/usr/include/sys/endian.h" 3 4 > >/* > * General byte order swapping functions. > */ >#define bswap16(x) __bswap16(x) >#define bswap32(x) __bswap32(x) >#define bswap64(x) __bswap64(x) > >/* > * Host to big endian, host to little endian, big endian to host, and little > * endian to host byte order functions as detailed in byteorder(9). > */ >#if _BYTE_ORDER == _LITTLE_ENDIAN >#define htobe16(x) bswap16((x)) >#define htobe32(x) bswap32((x)) >#define htobe64(x) bswap64((x)) >#define htole16(x) ((uint16_t)(x)) >#define htole32(x) ((uint32_t)(x)) >#define htole64(x) ((uint64_t)(x)) > >#define be16toh(x) bswap16((x)) >#define be32toh(x) bswap32((x)) >#define be64toh(x) bswap64((x)) >#define le16toh(x) ((uint16_t)(x)) >#define le32toh(x) ((uint32_t)(x)) >#define le64toh(x) ((uint64_t)(x)) >#else /* _BYTE_ORDER != _LITTLE_ENDIAN */ ># 82 "/usr/include/sys/endian.h" 3 4 >#define htobe16(x) ((uint16_t)(x)) >#define htobe32(x) ((uint32_t)(x)) >#define htobe64(x) ((uint64_t)(x)) >#define htole16(x) bswap16((x)) >#define htole32(x) bswap32((x)) >#define htole64(x) bswap64((x)) > >#define be16toh(x) ((uint16_t)(x)) >#define be32toh(x) ((uint32_t)(x)) >#define be64toh(x) ((uint64_t)(x)) >#define le16toh(x) bswap16((x)) >#define le32toh(x) bswap32((x)) >#define le64toh(x) bswap64((x)) >#endif /* _BYTE_ORDER == _LITTLE_ENDIAN */ ># 96 "/usr/include/sys/endian.h" 3 4 > >/* Alignment-agnostic encode/decode bytestream to/from little/big endian. */ > >static __inline uint16_t >be16dec(const void *pp) >{ > uint8_t const *p = (uint8_t const *)pp; > > return ((p[0] << 8) | p[1]); >} > >static __inline uint32_t >be32dec(const void *pp) >{ > uint8_t const *p = (uint8_t const *)pp; > > return (((unsigned)p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]); >} > >static __inline uint64_t >be64dec(const void *pp) >{ > uint8_t const *p = (uint8_t const *)pp; > > return (((uint64_t)be32dec(p) << 32) | be32dec(p + 4)); >} > >static __inline uint16_t >le16dec(const void *pp) >{ > uint8_t const *p = (uint8_t const *)pp; > > return ((p[1] << 8) | p[0]); >} > >static __inline uint32_t >le32dec(const void *pp) >{ > uint8_t const *p = (uint8_t const *)pp; > > return (((unsigned)p[3] << 24) | (p[2] << 16) | (p[1] << 8) | p[0]); >} > >static __inline uint64_t >le64dec(const void *pp) >{ > uint8_t const *p = (uint8_t const *)pp; > > return (((uint64_t)le32dec(p + 4) << 32) | le32dec(p)); >} > >static __inline void >be16enc(void *pp, uint16_t u) >{ > uint8_t *p = (uint8_t *)pp; > > p[0] = (u >> 8) & 0xff; > p[1] = u & 0xff; >} > >static __inline void >be32enc(void *pp, uint32_t u) >{ > uint8_t *p = (uint8_t *)pp; > > p[0] = (u >> 24) & 0xff; > p[1] = (u >> 16) & 0xff; > p[2] = (u >> 8) & 0xff; > p[3] = u & 0xff; >} > >static __inline void >be64enc(void *pp, uint64_t u) >{ > uint8_t *p = (uint8_t *)pp; > > be32enc(p, (uint32_t)(u >> 32)); > be32enc(p + 4, (uint32_t)(u & 0xffffffffU)); >} > >static __inline void >le16enc(void *pp, uint16_t u) >{ > uint8_t *p = (uint8_t *)pp; > > p[0] = u & 0xff; > p[1] = (u >> 8) & 0xff; >} > >static __inline void >le32enc(void *pp, uint32_t u) >{ > uint8_t *p = (uint8_t *)pp; > > p[0] = u & 0xff; > p[1] = (u >> 8) & 0xff; > p[2] = (u >> 16) & 0xff; > p[3] = (u >> 24) & 0xff; >} > >static __inline void >le64enc(void *pp, uint64_t u) >{ > uint8_t *p = (uint8_t *)pp; > > le32enc(p, (uint32_t)(u & 0xffffffffU)); > le32enc(p + 4, (uint32_t)(u >> 32)); >} > >#endif /* _SYS_ENDIAN_H_ */ ># 206 "/usr/include/sys/endian.h" 3 4 ># 165 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" 2 ># endif ># 166 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM U_PF_BSD >#elif defined(sun) || defined(__sun) ># 168 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* Check defined(__SVR4) || defined(__svr4__) to distinguish Solaris from SunOS? */ ># define U_PLATFORM U_PF_SOLARIS ># if defined(__GNUC__) > /* Solaris/GCC needs this header file to get the proper endianness. Normally, this > * header file is included with stddef.h but on Solairs/GCC, the GCC version of stddef.h > * is included which does not include this header file. > */ >#if 0 /* expanded by -frewrite-includes */ ># include <sys/isa_defs.h> >#endif /* expanded by -frewrite-includes */ ># 176 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># endif ># 177 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" >#elif defined(_AIX) || defined(__TOS_AIX__) ># 178 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM U_PF_AIX >#elif defined(_hpux) || defined(hpux) || defined(__hpux) ># 180 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM U_PF_HPUX >#elif defined(sgi) || defined(__sgi) ># 182 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM U_PF_IRIX >#elif defined(__QNX__) || defined(__QNXNTO__) ># 184 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM U_PF_QNX >#elif defined(__TOS_MVS__) ># 186 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM U_PF_OS390 >#elif defined(__OS400__) || defined(__TOS_OS400__) ># 188 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM U_PF_OS400 >#else ># 190 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM U_PF_UNKNOWN >#endif ># 192 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def CYGWINMSVC > * Defined if this is Windows with Cygwin, but using MSVC rather than gcc. > * Otherwise undefined. > * @internal > */ >/* Commented out because this is already set in mh-cygwin-msvc >#if U_PLATFORM == U_PF_CYGWIN && defined(_MSC_VER) ># define CYGWINMSVC >#endif >*/ > >/** > * \def U_PLATFORM_USES_ONLY_WIN32_API > * Defines whether the platform uses only the Win32 API. > * Set to 1 for Windows/MSVC and MinGW but not Cygwin. > * @internal > */ >#ifdef U_PLATFORM_USES_ONLY_WIN32_API > /* Use the predefined value. */ >#elif (U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_MINGW) || defined(CYGWINMSVC) ># 214 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM_USES_ONLY_WIN32_API 1 >#else ># 216 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* Cygwin implements POSIX. */ ># define U_PLATFORM_USES_ONLY_WIN32_API 0 >#endif ># 219 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_PLATFORM_HAS_WIN32_API > * Defines whether the Win32 API is available on the platform. > * Set to 1 for Windows/MSVC, MinGW and Cygwin. > * @internal > */ >#ifdef U_PLATFORM_HAS_WIN32_API > /* Use the predefined value. */ >#elif U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN ># 229 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM_HAS_WIN32_API 1 >#else ># 231 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM_HAS_WIN32_API 0 >#endif ># 233 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_PLATFORM_IMPLEMENTS_POSIX > * Defines whether the platform implements (most of) the POSIX API. > * Set to 1 for Cygwin and most other platforms. > * @internal > */ >#ifdef U_PLATFORM_IMPLEMENTS_POSIX > /* Use the predefined value. */ >#elif U_PLATFORM_USES_ONLY_WIN32_API ># 243 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM_IMPLEMENTS_POSIX 0 >#else ># 245 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM_IMPLEMENTS_POSIX 1 >#endif ># 247 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_PLATFORM_IS_LINUX_BASED > * Defines whether the platform is Linux or one of its derivatives. > * @internal > */ >#ifdef U_PLATFORM_IS_LINUX_BASED > /* Use the predefined value. */ >#elif U_PF_LINUX <= U_PLATFORM && U_PLATFORM <= 4499 ># 256 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM_IS_LINUX_BASED 1 >#else ># 258 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM_IS_LINUX_BASED 0 >#endif ># 260 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_PLATFORM_IS_DARWIN_BASED > * Defines whether the platform is Darwin or one of its derivatives. > * @internal > */ >#ifdef U_PLATFORM_IS_DARWIN_BASED > /* Use the predefined value. */ >#elif U_PF_DARWIN <= U_PLATFORM && U_PLATFORM <= U_PF_IPHONE ># 269 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM_IS_DARWIN_BASED 1 >#else ># 271 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_PLATFORM_IS_DARWIN_BASED 0 >#endif ># 273 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_HAVE_STDINT_H > * Defines whether stdint.h is available. It is a C99 standard header. > * We used to include inttypes.h which includes stdint.h but we usually do not need > * the additional definitions from inttypes.h. > * @internal > */ >#ifdef U_HAVE_STDINT_H > /* Use the predefined value. */ >#elif U_PLATFORM_USES_ONLY_WIN32_API ># 284 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># if defined(__BORLANDC__) || U_PLATFORM == U_PF_MINGW || (defined(_MSC_VER) && _MSC_VER>=1600) > /* Windows Visual Studio 9 and below do not have stdint.h & inttypes.h, but VS 2010 adds them. */ ># define U_HAVE_STDINT_H 1 ># else ># 288 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_HAVE_STDINT_H 0 ># endif ># 290 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" >#elif U_PLATFORM == U_PF_SOLARIS ># 291 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* Solaris has inttypes.h but not stdint.h. */ ># define U_HAVE_STDINT_H 0 >#elif U_PLATFORM == U_PF_AIX && !defined(_AIX51) && defined(_POWER) ># 294 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* PPC AIX <= 4.3 has inttypes.h but not stdint.h. */ ># define U_HAVE_STDINT_H 0 >#else ># 297 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_HAVE_STDINT_H 1 >#endif ># 299 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_HAVE_INTTYPES_H > * Defines whether inttypes.h is available. It is a C99 standard header. > * We include inttypes.h where it is available but stdint.h is not. > * @internal > */ >#ifdef U_HAVE_INTTYPES_H > /* Use the predefined value. */ >#elif U_PLATFORM == U_PF_SOLARIS ># 309 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* Solaris has inttypes.h but not stdint.h. */ ># define U_HAVE_INTTYPES_H 1 >#elif U_PLATFORM == U_PF_AIX && !defined(_AIX51) && defined(_POWER) ># 312 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* PPC AIX <= 4.3 has inttypes.h but not stdint.h. */ ># define U_HAVE_INTTYPES_H 1 >#else ># 315 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* Most platforms have both inttypes.h and stdint.h, or neither. */ ># define U_HAVE_INTTYPES_H U_HAVE_STDINT_H >#endif ># 318 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_IOSTREAM_SOURCE > * Defines what support for C++ streams is available. > * > * If U_IOSTREAM_SOURCE is set to 199711, then <iostream> is available > * (the ISO/IEC C++ FDIS was published in November 1997), and then > * one should qualify streams using the std namespace in ICU header > * files. > * Starting with ICU 49, this is the only supported version. > * > * If U_IOSTREAM_SOURCE is set to 198506, then <iostream.h> is > * available instead (in June 1985 Stroustrup published > * "An Extensible I/O Facility for C++" at the summer USENIX conference). > * Starting with ICU 49, this version is not supported any more. > * > * If U_IOSTREAM_SOURCE is 0 (or any value less than 199711), > * then C++ streams are not available and > * support for them will be silently suppressed in ICU. > * > * @internal > */ >#ifndef U_IOSTREAM_SOURCE >#define U_IOSTREAM_SOURCE 199711 >#endif ># 343 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_HAVE_STD_STRING > * Defines whether the standard C++ (STL) <string> header is available. > * @internal > */ >#ifdef U_HAVE_STD_STRING > /* Use the predefined value. */ >#else ># 352 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_HAVE_STD_STRING 1 >#endif ># 354 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/*===========================================================================*/ >/** @{ Compiler and environment features */ >/*===========================================================================*/ > >/** > * \def U_GCC_MAJOR_MINOR > * Indicates whether the compiler is gcc (test for != 0), > * and if so, contains its major (times 100) and minor version numbers. > * If the compiler is not gcc, then U_GCC_MAJOR_MINOR == 0. > * > * For example, for testing for whether we have gcc, and whether it's 4.6 or higher, > * use "#if U_GCC_MAJOR_MINOR >= 406". > * @internal > */ >#ifdef __GNUC__ ># define U_GCC_MAJOR_MINOR (__GNUC__ * 100 + __GNUC_MINOR__) >#else ># 372 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_GCC_MAJOR_MINOR 0 >#endif ># 374 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_IS_BIG_ENDIAN > * Determines the endianness of the platform. > * @internal > */ >#ifdef U_IS_BIG_ENDIAN > /* Use the predefined value. */ >#elif defined(BYTE_ORDER) && defined(BIG_ENDIAN) ># 383 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_IS_BIG_ENDIAN (BYTE_ORDER == BIG_ENDIAN) >#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) ># 385 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* gcc */ ># define U_IS_BIG_ENDIAN (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) >#elif defined(__BIG_ENDIAN__) || defined(_BIG_ENDIAN) ># 388 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_IS_BIG_ENDIAN 1 >#elif defined(__LITTLE_ENDIAN__) || defined(_LITTLE_ENDIAN) ># 390 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_IS_BIG_ENDIAN 0 >#elif U_PLATFORM == U_PF_OS390 || U_PLATFORM == U_PF_OS400 || defined(__s390__) || defined(__s390x__) ># 392 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* These platforms do not appear to predefine any endianness macros. */ ># define U_IS_BIG_ENDIAN 1 >#elif defined(_PA_RISC1_0) || defined(_PA_RISC1_1) || defined(_PA_RISC2_0) ># 395 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* HPPA do not appear to predefine any endianness macros. */ ># define U_IS_BIG_ENDIAN 1 >#elif defined(sparc) || defined(__sparc) || defined(__sparc__) ># 398 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* Some sparc based systems (e.g. Linux) do not predefine any endianness macros. */ ># define U_IS_BIG_ENDIAN 1 >#else ># 401 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_IS_BIG_ENDIAN 0 >#endif ># 403 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_HAVE_PLACEMENT_NEW > * Determines whether to override placement new and delete for STL. > * @stable ICU 2.6 > */ >#ifdef U_HAVE_PLACEMENT_NEW > /* Use the predefined value. */ >#elif defined(__BORLANDC__) ># 412 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_HAVE_PLACEMENT_NEW 0 >#else ># 414 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_HAVE_PLACEMENT_NEW 1 >#endif ># 416 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_HAVE_DEBUG_LOCATION_NEW > * Define this to define the MFC debug version of the operator new. > * > * @stable ICU 3.4 > */ >#ifdef U_HAVE_DEBUG_LOCATION_NEW > /* Use the predefined value. */ >#elif defined(_MSC_VER) ># 426 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_HAVE_DEBUG_LOCATION_NEW 1 >#else ># 428 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_HAVE_DEBUG_LOCATION_NEW 0 >#endif ># 430 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/* Compatibility with non clang compilers */ >#ifndef __has_attribute ># define __has_attribute(x) 0 >#endif ># 435 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" >#ifndef __has_builtin ># define __has_builtin(x) 0 >#endif ># 438 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" >#ifndef __has_feature ># define __has_feature(x) 0 >#endif ># 441 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" >#ifndef __has_extension ># define __has_extension(x) 0 >#endif ># 444 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_MALLOC_ATTR > * Attribute to mark functions as malloc-like > * @internal > */ >#if defined(__GNUC__) && __GNUC__>=3 ># define U_MALLOC_ATTR __attribute__ ((__malloc__)) >#else ># 453 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_MALLOC_ATTR >#endif ># 455 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_ALLOC_SIZE_ATTR > * Attribute to specify the size of the allocated buffer for malloc-like functions > * @internal > */ >#if (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))) || __has_attribute(alloc_size) ># define U_ALLOC_SIZE_ATTR(X) __attribute__ ((alloc_size(X))) ># define U_ALLOC_SIZE_ATTR2(X,Y) __attribute__ ((alloc_size(X,Y))) >#else ># 465 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_ALLOC_SIZE_ATTR(X) ># define U_ALLOC_SIZE_ATTR2(X,Y) >#endif ># 468 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_CPLUSPLUS_VERSION > * 0 if no C++; 1, 11, 14, ... if C++. > * Support for specific features cannot always be determined by the C++ version alone. > * @internal > */ >#ifdef U_CPLUSPLUS_VERSION ># if U_CPLUSPLUS_VERSION != 0 && !defined(__cplusplus) ># undef U_CPLUSPLUS_VERSION ># define U_CPLUSPLUS_VERSION 0 ># endif ># 480 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* Otherwise use the predefined value. */ >#elif !defined(__cplusplus) ># 482 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_CPLUSPLUS_VERSION 0 >#elif __cplusplus >= 201402L ># 484 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_CPLUSPLUS_VERSION 14 >#elif __cplusplus >= 201103L ># 486 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_CPLUSPLUS_VERSION 11 >#else ># 488 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > // C++98 or C++03 ># define U_CPLUSPLUS_VERSION 1 >#endif ># 491 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_HAVE_RVALUE_REFERENCES > * Set to 1 if the compiler supports rvalue references. > * C++11 feature, necessary for move constructor & move assignment. > * @internal > */ >#ifdef U_HAVE_RVALUE_REFERENCES > /* Use the predefined value. */ >#elif U_CPLUSPLUS_VERSION >= 11 || __has_feature(cxx_rvalue_references) \ > || defined(__GXX_EXPERIMENTAL_CXX0X__) \ > || (defined(_MSC_VER) && _MSC_VER >= 1600) /* Visual Studio 2010 */ ># 503 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_HAVE_RVALUE_REFERENCES 1 >#else ># 505 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_HAVE_RVALUE_REFERENCES 0 >#endif ># 507 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_NOEXCEPT > * "noexcept" if supported, otherwise empty. > * Some code, especially STL containers, uses move semantics of objects only > * if the move constructor and the move operator are declared as not throwing exceptions. > * @internal > */ >#ifdef U_NOEXCEPT > /* Use the predefined value. */ >#elif U_CPLUSPLUS_VERSION >= 11 || __has_feature(cxx_noexcept) || __has_extension(cxx_noexcept) \ > || (defined(_MSC_VER) && _MSC_VER >= 1900) /* Visual Studio 2015 */ ># 519 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_NOEXCEPT noexcept >#else ># 521 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_NOEXCEPT >#endif ># 523 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** @} */ > >/*===========================================================================*/ >/** @{ Character data types */ >/*===========================================================================*/ > >/** > * U_CHARSET_FAMILY is equal to this value when the platform is an ASCII based platform. > * @stable ICU 2.0 > */ >#define U_ASCII_FAMILY 0 > >/** > * U_CHARSET_FAMILY is equal to this value when the platform is an EBCDIC based platform. > * @stable ICU 2.0 > */ >#define U_EBCDIC_FAMILY 1 > >/** > * \def U_CHARSET_FAMILY > * > * <p>These definitions allow to specify the encoding of text > * in the char data type as defined by the platform and the compiler. > * It is enough to determine the code point values of "invariant characters", > * which are the ones shared by all encodings that are in use > * on a given platform.</p> > * > * <p>Those "invariant characters" should be all the uppercase and lowercase > * latin letters, the digits, the space, and "basic punctuation". > * Also, '\\n', '\\r', '\\t' should be available.</p> > * > * <p>The list of "invariant characters" is:<br> > * \code > * A-Z a-z 0-9 SPACE " % & ' ( ) * + , - . / : ; < = > ? _ > * \endcode > * <br> > * (52 letters + 10 numbers + 20 punc/sym/space = 82 total)</p> > * > * <p>This matches the IBM Syntactic Character Set (CS 640).</p> > * > * <p>In other words, all the graphic characters in 7-bit ASCII should > * be safely accessible except the following:</p> > * > * \code > * '\' <backslash> > * '[' <left bracket> > * ']' <right bracket> > * '{' <left brace> > * '}' <right brace> > * '^' <circumflex> > * '~' <tilde> > * '!' <exclamation mark> > * '#' <number sign> > * '|' <vertical line> > * '$' <dollar sign> > * '@' <commercial at> > * '`' <grave accent> > * \endcode > * @stable ICU 2.0 > */ >#ifdef U_CHARSET_FAMILY > /* Use the predefined value. */ >#elif U_PLATFORM == U_PF_OS390 && (!defined(__CHARSET_LIB) || !__CHARSET_LIB) ># 587 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_CHARSET_FAMILY U_EBCDIC_FAMILY >#elif U_PLATFORM == U_PF_OS400 && !defined(__UTF32__) ># 589 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_CHARSET_FAMILY U_EBCDIC_FAMILY >#else ># 591 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_CHARSET_FAMILY U_ASCII_FAMILY >#endif ># 593 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_CHARSET_IS_UTF8 > * > * Hardcode the default charset to UTF-8. > * > * If this is set to 1, then > * - ICU will assume that all non-invariant char*, StringPiece, std::string etc. > * contain UTF-8 text, regardless of what the system API uses > * - some ICU code will use fast functions like u_strFromUTF8() > * rather than the more general and more heavy-weight conversion API (ucnv.h) > * - ucnv_getDefaultName() always returns "UTF-8" > * - ucnv_setDefaultName() is disabled and will not change the default charset > * - static builds of ICU are smaller > * - more functionality is available with the UCONFIG_NO_CONVERSION build-time > * configuration option (see unicode/uconfig.h) > * - the UCONFIG_NO_CONVERSION build option in uconfig.h is more usable > * > * @stable ICU 4.2 > * @see UCONFIG_NO_CONVERSION > */ >#ifdef U_CHARSET_IS_UTF8 > /* Use the predefined value. */ >#elif U_PLATFORM == U_PF_ANDROID || U_PLATFORM_IS_DARWIN_BASED ># 617 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_CHARSET_IS_UTF8 1 >#else ># 619 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_CHARSET_IS_UTF8 0 >#endif ># 621 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** @} */ > >/*===========================================================================*/ >/** @{ Information about wchar support */ >/*===========================================================================*/ > >/** > * \def U_HAVE_WCHAR_H > * Indicates whether <wchar.h> is available (1) or not (0). Set to 1 by default. > * > * @stable ICU 2.0 > */ >#ifdef U_HAVE_WCHAR_H > /* Use the predefined value. */ >#elif U_PLATFORM == U_PF_ANDROID && __ANDROID_API__ < 9 ># 637 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* > * Android before Gingerbread (Android 2.3, API level 9) did not support wchar_t. > * The type and header existed, but the library functions did not work as expected. > * The size of wchar_t was 1 but L"xyz" string literals had 32-bit units anyway. > */ ># define U_HAVE_WCHAR_H 0 >#else ># 644 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_HAVE_WCHAR_H 1 >#endif ># 646 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_SIZEOF_WCHAR_T > * U_SIZEOF_WCHAR_T==sizeof(wchar_t) > * > * @stable ICU 2.0 > */ >#ifdef U_SIZEOF_WCHAR_T > /* Use the predefined value. */ >#elif (U_PLATFORM == U_PF_ANDROID && __ANDROID_API__ < 9) ># 656 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* > * Classic Mac OS and Mac OS X before 10.3 (Panther) did not support wchar_t or wstring. > * Newer Mac OS X has size 4. > */ ># define U_SIZEOF_WCHAR_T 1 >#elif U_PLATFORM_HAS_WIN32_API || U_PLATFORM == U_PF_CYGWIN ># 662 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_SIZEOF_WCHAR_T 2 >#elif U_PLATFORM == U_PF_AIX ># 664 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* > * AIX 6.1 information, section "Wide character data representation": > * "... the wchar_t datatype is 32-bit in the 64-bit environment and > * 16-bit in the 32-bit environment." > * and > * "All locales use Unicode for their wide character code values (process code), > * except the IBM-eucTW codeset." > */ ># ifdef __64BIT__ ># define U_SIZEOF_WCHAR_T 4 ># else ># 675 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_SIZEOF_WCHAR_T 2 ># endif ># 677 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" >#elif U_PLATFORM == U_PF_OS390 ># 678 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* > * z/OS V1R11 information center, section "LP64 | ILP32": > * "In 31-bit mode, the size of long and pointers is 4 bytes and the size of wchar_t is 2 bytes. > * Under LP64, the size of long and pointer is 8 bytes and the size of wchar_t is 4 bytes." > */ ># ifdef _LP64 ># define U_SIZEOF_WCHAR_T 4 ># else ># 686 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_SIZEOF_WCHAR_T 2 ># endif ># 688 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" >#elif U_PLATFORM == U_PF_OS400 ># 689 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># if defined(__UTF32__) > /* > * LOCALETYPE(*LOCALEUTF) is specified. > * Wide-character strings are in UTF-32, > * narrow-character strings are in UTF-8. > */ ># define U_SIZEOF_WCHAR_T 4 ># elif defined(__UCS2__) ># 697 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* > * LOCALETYPE(*LOCALEUCS2) is specified. > * Wide-character strings are in UCS-2, > * narrow-character strings are in EBCDIC. > */ ># define U_SIZEOF_WCHAR_T 2 >#else ># 704 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* > * LOCALETYPE(*CLD) or LOCALETYPE(*LOCALE) is specified. > * Wide-character strings are in 16-bit EBCDIC, > * narrow-character strings are in EBCDIC. > */ ># define U_SIZEOF_WCHAR_T 2 ># endif ># 711 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" >#else ># 712 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_SIZEOF_WCHAR_T 4 >#endif ># 714 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >#ifndef U_HAVE_WCSCPY >#define U_HAVE_WCSCPY U_HAVE_WCHAR_H >#endif ># 718 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** @} */ > >/** > * \def U_HAVE_CHAR16_T > * Defines whether the char16_t type is available for UTF-16 > * and u"abc" UTF-16 string literals are supported. > * This is a new standard type and standard string literal syntax in C++0x > * but has been available in some compilers before. > * @internal > */ >#ifdef U_HAVE_CHAR16_T > /* Use the predefined value. */ >#else ># 732 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* > * Notes: > * Visual Studio 10 (_MSC_VER>=1600) defines char16_t but > * does not support u"abc" string literals. > * gcc 4.4 defines the __CHAR16_TYPE__ macro to a usable type but > * does not support u"abc" string literals. > * C++11 and C11 require support for UTF-16 literals > */ ># if U_CPLUSPLUS_VERSION >= 11 || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) ># define U_HAVE_CHAR16_T 1 ># else ># 743 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_HAVE_CHAR16_T 0 ># endif ># 745 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" >#endif ># 746 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * @{ > * \def U_DECLARE_UTF16 > * Do not use this macro because it is not defined on all platforms. > * Use the UNICODE_STRING or U_STRING_DECL macros instead. > * @internal > */ >#ifdef U_DECLARE_UTF16 > /* Use the predefined value. */ >#elif U_HAVE_CHAR16_T \ > || (defined(__xlC__) && defined(__IBM_UTF_LITERAL) && U_SIZEOF_WCHAR_T != 2) \ > || (defined(__HP_aCC) && __HP_aCC >= 035000) \ > || (defined(__HP_cc) && __HP_cc >= 111106) ># 760 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_DECLARE_UTF16(string) u ## string >#elif U_SIZEOF_WCHAR_T == 2 \ > && (U_CHARSET_FAMILY == 0 || (U_PF_OS390 <= U_PLATFORM && U_PLATFORM <= U_PF_OS400 && defined(__UCS2__))) ># 763 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_DECLARE_UTF16(string) L ## string >#else ># 765 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* Leave U_DECLARE_UTF16 undefined. See unistr.h. */ >#endif ># 767 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** @} */ > >/*===========================================================================*/ >/** @{ Symbol import-export control */ >/*===========================================================================*/ > >#ifdef U_EXPORT > /* Use the predefined value. */ >#elif defined(U_STATIC_IMPLEMENTATION) ># 777 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_EXPORT >#elif defined(__GNUC__) ># 779 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_EXPORT __attribute__((visibility("default"))) >#elif (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x550) \ > || (defined(__SUNPRO_C) && __SUNPRO_C >= 0x550) ># 782 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_EXPORT __global >/*#elif defined(__HP_aCC) || defined(__HP_cc) ># define U_EXPORT __declspec(dllexport)*/ >#elif defined(_MSC_VER) ># 786 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_EXPORT __declspec(dllexport) >#else ># 788 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_EXPORT >#endif ># 790 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/* U_CALLCONV is releated to U_EXPORT2 */ >#ifdef U_EXPORT2 > /* Use the predefined value. */ >#elif defined(_MSC_VER) ># 795 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_EXPORT2 __cdecl >#else ># 797 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_EXPORT2 >#endif ># 799 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >#ifdef U_IMPORT > /* Use the predefined value. */ >#elif defined(_MSC_VER) ># 803 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > /* Windows needs to export/import data. */ ># define U_IMPORT __declspec(dllimport) >#else ># 806 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_IMPORT >#endif ># 808 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/** > * \def U_CALLCONV > * Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary > * in callback function typedefs to make sure that the calling convention > * is compatible. > * > * This is only used for non-ICU-API functions. > * When a function is a public ICU API, > * you must use the U_CAPI and U_EXPORT2 qualifiers. > * @stable ICU 2.0 > */ >#if U_PLATFORM == U_PF_OS390 && defined(__cplusplus) ># define U_CALLCONV __cdecl >#else ># 823 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># define U_CALLCONV U_EXPORT2 >#endif ># 825 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" > >/* @} */ > >#endif ># 829 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/platform.h" ># 51 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" 2 > >/*===========================================================================*/ >/* Generic data types */ >/*===========================================================================*/ > >/* If your platform does not have the <stdint.h> header, you may > need to edit the typedefs in the #else section below. > Use #if...#else...#endif with predefined compiler macros if possible. */ >#if U_HAVE_STDINT_H > >/* > * We mostly need <stdint.h> (which defines the standard integer types) but not <inttypes.h>. > * <inttypes.h> includes <stdint.h> and adds the printf/scanf helpers PRId32, SCNx16 etc. > * which we almost never use, plus stuff like imaxabs() which we never use. > */ >#if 0 /* expanded by -frewrite-includes */ >#include <stdint.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/stdint.h" 1 3 4 >/*- > * Copyright (c) 2001 Mike Barcroft <mike@FreeBSD.org> > * All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * > * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * $FreeBSD: stable/9/sys/sys/stdint.h 235786 2012-05-22 15:26:55Z theraven $ > */ > >#ifndef _SYS_STDINT_H_ >#define _SYS_STDINT_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 33 "/usr/include/stdint.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 34 "/usr/include/stdint.h" 3 4 > >#if 0 /* expanded by -frewrite-includes */ >#include <machine/_stdint.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/machine/_stdint.h" 1 3 4 >/*- > * This file is in the public domain. > */ >/* $FreeBSD: stable/9/sys/i386/include/_stdint.h 263539 2014-03-21 19:58:37Z emaste $ */ > >#if 0 /* expanded by -frewrite-includes */ >#include <x86/_stdint.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/x86/_stdint.h" 1 3 4 >/*- > * Copyright (c) 2001, 2002 Mike Barcroft <mike@FreeBSD.org> > * Copyright (c) 2001 The NetBSD Foundation, Inc. > * All rights reserved. > * > * This code is derived from software contributed to The NetBSD Foundation > * by Klaus Klein. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * 3. All advertising materials mentioning features or use of this software > * must display the following acknowledgement: > * This product includes software developed by the NetBSD > * Foundation, Inc. and its contributors. > * 4. Neither the name of The NetBSD Foundation nor the names of its > * contributors may be used to endorse or promote products derived > * from this software without specific prior written permission. > * > * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS > * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED > * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR > * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS > * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE > * POSSIBILITY OF SUCH DAMAGE. > * > * $FreeBSD: stable/9/sys/x86/include/_stdint.h 263539 2014-03-21 19:58:37Z emaste $ > */ > >#ifndef _MACHINE__STDINT_H_ >#define _MACHINE__STDINT_H_ > >#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) > >#define INT8_C(c) (c) >#define INT16_C(c) (c) >#define INT32_C(c) (c) > >#define UINT8_C(c) (c) >#define UINT16_C(c) (c) >#define UINT32_C(c) (c ## U) > >#ifdef __LP64__ >#define INT64_C(c) (c ## L) >#define UINT64_C(c) (c ## UL) >#else ># 57 "/usr/include/x86/_stdint.h" 3 4 >#define INT64_C(c) (c ## LL) >#define UINT64_C(c) (c ## ULL) >#endif ># 60 "/usr/include/x86/_stdint.h" 3 4 > >#define INTMAX_C(c) INT64_C(c) >#define UINTMAX_C(c) UINT64_C(c) > >#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ ># 65 "/usr/include/x86/_stdint.h" 3 4 > >#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) > >/* > * ISO/IEC 9899:1999 > * 7.18.2.1 Limits of exact-width integer types > */ >#define INT8_MIN (-0x7f-1) >#define INT16_MIN (-0x7fff-1) >#define INT32_MIN (-0x7fffffff-1) > >#define INT8_MAX 0x7f >#define INT16_MAX 0x7fff >#define INT32_MAX 0x7fffffff > >#define UINT8_MAX 0xff >#define UINT16_MAX 0xffff >#define UINT32_MAX 0xffffffffU > >#ifdef __LP64__ >#define INT64_MIN (-0x7fffffffffffffff-1) >#define INT64_MAX 0x7fffffffffffffff >#define UINT64_MAX 0xffffffffffffffff >#else ># 89 "/usr/include/x86/_stdint.h" 3 4 >#define INT64_MIN (-0x7fffffffffffffffLL-1) >#define INT64_MAX 0x7fffffffffffffffLL >#define UINT64_MAX 0xffffffffffffffffULL >#endif ># 93 "/usr/include/x86/_stdint.h" 3 4 > >/* > * ISO/IEC 9899:1999 > * 7.18.2.2 Limits of minimum-width integer types > */ >/* Minimum values of minimum-width signed integer types. */ >#define INT_LEAST8_MIN INT8_MIN >#define INT_LEAST16_MIN INT16_MIN >#define INT_LEAST32_MIN INT32_MIN >#define INT_LEAST64_MIN INT64_MIN > >/* Maximum values of minimum-width signed integer types. */ >#define INT_LEAST8_MAX INT8_MAX >#define INT_LEAST16_MAX INT16_MAX >#define INT_LEAST32_MAX INT32_MAX >#define INT_LEAST64_MAX INT64_MAX > >/* Maximum values of minimum-width unsigned integer types. */ >#define UINT_LEAST8_MAX UINT8_MAX >#define UINT_LEAST16_MAX UINT16_MAX >#define UINT_LEAST32_MAX UINT32_MAX >#define UINT_LEAST64_MAX UINT64_MAX > >/* > * ISO/IEC 9899:1999 > * 7.18.2.3 Limits of fastest minimum-width integer types > */ >/* Minimum values of fastest minimum-width signed integer types. */ >#define INT_FAST8_MIN INT32_MIN >#define INT_FAST16_MIN INT32_MIN >#define INT_FAST32_MIN INT32_MIN >#define INT_FAST64_MIN INT64_MIN > >/* Maximum values of fastest minimum-width signed integer types. */ >#define INT_FAST8_MAX INT32_MAX >#define INT_FAST16_MAX INT32_MAX >#define INT_FAST32_MAX INT32_MAX >#define INT_FAST64_MAX INT64_MAX > >/* Maximum values of fastest minimum-width unsigned integer types. */ >#define UINT_FAST8_MAX UINT32_MAX >#define UINT_FAST16_MAX UINT32_MAX >#define UINT_FAST32_MAX UINT32_MAX >#define UINT_FAST64_MAX UINT64_MAX > >/* > * ISO/IEC 9899:1999 > * 7.18.2.4 Limits of integer types capable of holding object pointers > */ >#ifdef __LP64__ >#define INTPTR_MIN INT64_MIN >#define INTPTR_MAX INT64_MAX >#define UINTPTR_MAX UINT64_MAX >#else ># 147 "/usr/include/x86/_stdint.h" 3 4 >#define INTPTR_MIN INT32_MIN >#define INTPTR_MAX INT32_MAX >#define UINTPTR_MAX UINT32_MAX >#endif ># 151 "/usr/include/x86/_stdint.h" 3 4 > >/* > * ISO/IEC 9899:1999 > * 7.18.2.5 Limits of greatest-width integer types > */ >#define INTMAX_MIN INT64_MIN >#define INTMAX_MAX INT64_MAX >#define UINTMAX_MAX UINT64_MAX > >/* > * ISO/IEC 9899:1999 > * 7.18.3 Limits of other integer types > */ >#ifdef __LP64__ >/* Limits of ptrdiff_t. */ >#define PTRDIFF_MIN INT64_MIN >#define PTRDIFF_MAX INT64_MAX > >/* Limits of sig_atomic_t. */ >#define SIG_ATOMIC_MIN LONG_MIN >#define SIG_ATOMIC_MAX LONG_MAX > >/* Limit of size_t. */ >#define SIZE_MAX UINT64_MAX >#else ># 176 "/usr/include/x86/_stdint.h" 3 4 >#define PTRDIFF_MIN INT32_MIN >#define PTRDIFF_MAX INT32_MAX >#define SIG_ATOMIC_MIN INT32_MIN >#define SIG_ATOMIC_MAX INT32_MAX >#define SIZE_MAX UINT32_MAX >#endif ># 182 "/usr/include/x86/_stdint.h" 3 4 > >#ifndef WCHAR_MIN /* Also possibly defined in <wchar.h> */ >/* Limits of wchar_t. */ >#define WCHAR_MIN INT32_MIN >#define WCHAR_MAX INT32_MAX >#endif ># 188 "/usr/include/x86/_stdint.h" 3 4 > >/* Limits of wint_t. */ >#define WINT_MIN INT32_MIN >#define WINT_MAX INT32_MAX > >#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ ># 194 "/usr/include/x86/_stdint.h" 3 4 > >#endif /* !_MACHINE__STDINT_H_ */ ># 196 "/usr/include/x86/_stdint.h" 3 4 ># 7 "/usr/include/machine/_stdint.h" 2 3 4 ># 36 "/usr/include/stdint.h" 2 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_stdint.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/sys/_stdint.h" 1 3 4 >/*- > * Copyright (c) 2011 David E. O'Brien <obrien@FreeBSD.org> > * Copyright (c) 2001 Mike Barcroft <mike@FreeBSD.org> > * All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * > * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * $FreeBSD: stable/9/sys/sys/_stdint.h 222813 2011-06-07 08:46:13Z attilio $ > */ > >#ifndef _SYS__STDINT_H_ >#define _SYS__STDINT_H_ > >#ifndef _INT8_T_DECLARED >typedef __int8_t int8_t; >#define _INT8_T_DECLARED >#endif ># 37 "/usr/include/sys/_stdint.h" 3 4 > >#ifndef _INT16_T_DECLARED >typedef __int16_t int16_t; >#define _INT16_T_DECLARED >#endif ># 42 "/usr/include/sys/_stdint.h" 3 4 > >#ifndef _INT32_T_DECLARED >typedef __int32_t int32_t; >#define _INT32_T_DECLARED >#endif ># 47 "/usr/include/sys/_stdint.h" 3 4 > >#ifndef _INT64_T_DECLARED >typedef __int64_t int64_t; >#define _INT64_T_DECLARED >#endif ># 52 "/usr/include/sys/_stdint.h" 3 4 > >#ifndef _UINT8_T_DECLARED >typedef __uint8_t uint8_t; >#define _UINT8_T_DECLARED >#endif ># 57 "/usr/include/sys/_stdint.h" 3 4 > >#ifndef _UINT16_T_DECLARED >typedef __uint16_t uint16_t; >#define _UINT16_T_DECLARED >#endif ># 62 "/usr/include/sys/_stdint.h" 3 4 > >#ifndef _UINT32_T_DECLARED >typedef __uint32_t uint32_t; >#define _UINT32_T_DECLARED >#endif ># 67 "/usr/include/sys/_stdint.h" 3 4 > >#ifndef _UINT64_T_DECLARED >typedef __uint64_t uint64_t; >#define _UINT64_T_DECLARED >#endif ># 72 "/usr/include/sys/_stdint.h" 3 4 > >#ifndef _INTPTR_T_DECLARED >typedef __intptr_t intptr_t; >#define _INTPTR_T_DECLARED >#endif ># 77 "/usr/include/sys/_stdint.h" 3 4 >#ifndef _UINTPTR_T_DECLARED >typedef __uintptr_t uintptr_t; >#define _UINTPTR_T_DECLARED >#endif ># 81 "/usr/include/sys/_stdint.h" 3 4 > >#endif /* !_SYS__STDINT_H_ */ ># 83 "/usr/include/sys/_stdint.h" 3 4 ># 37 "/usr/include/stdint.h" 2 3 4 > >typedef __int_least8_t int_least8_t; >typedef __int_least16_t int_least16_t; >typedef __int_least32_t int_least32_t; >typedef __int_least64_t int_least64_t; > >typedef __uint_least8_t uint_least8_t; >typedef __uint_least16_t uint_least16_t; >typedef __uint_least32_t uint_least32_t; >typedef __uint_least64_t uint_least64_t; > >typedef __int_fast8_t int_fast8_t; >typedef __int_fast16_t int_fast16_t; >typedef __int_fast32_t int_fast32_t; >typedef __int_fast64_t int_fast64_t; > >typedef __uint_fast8_t uint_fast8_t; >typedef __uint_fast16_t uint_fast16_t; >typedef __uint_fast32_t uint_fast32_t; >typedef __uint_fast64_t uint_fast64_t; > >#ifndef _INTMAX_T_DECLARED >typedef __intmax_t intmax_t; >#define _INTMAX_T_DECLARED >#endif ># 62 "/usr/include/stdint.h" 3 4 >#ifndef _UINTMAX_T_DECLARED >typedef __uintmax_t uintmax_t; >#define _UINTMAX_T_DECLARED >#endif ># 66 "/usr/include/stdint.h" 3 4 > >/* GNU and Darwin define this and people seem to think it's portable */ >#if defined(UINTPTR_MAX) && defined(UINT64_MAX) && (UINTPTR_MAX == UINT64_MAX) >#define __WORDSIZE 64 >#else ># 71 "/usr/include/stdint.h" 3 4 >#define __WORDSIZE 32 >#endif ># 73 "/usr/include/stdint.h" 3 4 > >#endif /* !_SYS_STDINT_H_ */ ># 75 "/usr/include/stdint.h" 3 4 ># 67 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" 2 > >#if U_PLATFORM == U_PF_OS390 >/* The features header is needed to get (u)int64_t sometimes. */ >#if 0 /* expanded by -frewrite-includes */ >#include <features.h> >#endif /* expanded by -frewrite-includes */ ># 71 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" >/* z/OS has <stdint.h>, but some versions are missing uint8_t (APAR PK62248). */ >#if !defined(__uint8_t) >#define __uint8_t 1 >typedef unsigned char uint8_t; >#endif ># 76 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" >#endif /* U_PLATFORM == U_PF_OS390 */ ># 77 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" > >#elif U_HAVE_INTTYPES_H ># 79 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" > >#if 0 /* expanded by -frewrite-includes */ ># include <inttypes.h> >#endif /* expanded by -frewrite-includes */ ># 81 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" > >#else /* neither U_HAVE_STDINT_H nor U_HAVE_INTTYPES_H */ ># 83 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" > >#if ! U_HAVE_INT8_T >typedef signed char int8_t; >#endif ># 87 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" > >#if ! U_HAVE_UINT8_T >typedef unsigned char uint8_t; >#endif ># 91 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" > >#if ! U_HAVE_INT16_T >typedef signed short int16_t; >#endif ># 95 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" > >#if ! U_HAVE_UINT16_T >typedef unsigned short uint16_t; >#endif ># 99 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" > >#if ! U_HAVE_INT32_T >typedef signed int int32_t; >#endif ># 103 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" > >#if ! U_HAVE_UINT32_T >typedef unsigned int uint32_t; >#endif ># 107 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" > >#if ! U_HAVE_INT64_T >#ifdef _MSC_VER > typedef signed __int64 int64_t; >#else ># 112 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" > typedef signed long long int64_t; >#endif ># 114 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" >#endif ># 115 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" > >#if ! U_HAVE_UINT64_T >#ifdef _MSC_VER > typedef unsigned __int64 uint64_t; >#else ># 120 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" > typedef unsigned long long uint64_t; >#endif ># 122 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" >#endif ># 123 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" > >#endif /* U_HAVE_STDINT_H / U_HAVE_INTTYPES_H */ ># 125 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" > >#endif /* _PTYPES_H */ ># 127 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/ptypes.h" ># 45 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" 2 > >/* > * ANSI C headers: > * stddef.h defines wchar_t > */ >#if 0 /* expanded by -frewrite-includes */ >#include <stddef.h> >#endif /* expanded by -frewrite-includes */ ># 51 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" > >/*==========================================================================*/ >/* For C wrappers, we use the symbol U_STABLE. */ >/* This works properly if the includer is C or C++. */ >/* Functions are declared U_STABLE return-type U_EXPORT2 function-name()... */ >/*==========================================================================*/ > >/** > * \def U_CFUNC > * This is used in a declaration of a library private ICU C function. > * @stable ICU 2.4 > */ > >/** > * \def U_CDECL_BEGIN > * This is used to begin a declaration of a library private ICU C API. > * @stable ICU 2.4 > */ > >/** > * \def U_CDECL_END > * This is used to end a declaration of a library private ICU C API > * @stable ICU 2.4 > */ > >#ifdef __cplusplus ># define U_CFUNC extern "C" ># define U_CDECL_BEGIN extern "C" { ># define U_CDECL_END } >#else ># 81 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" ># define U_CFUNC extern ># define U_CDECL_BEGIN ># define U_CDECL_END >#endif ># 85 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" > >#ifndef U_ATTRIBUTE_DEPRECATED >/** > * \def U_ATTRIBUTE_DEPRECATED > * This is used for GCC specific attributes > * @internal > */ >#if U_GCC_MAJOR_MINOR >= 302 ># define U_ATTRIBUTE_DEPRECATED __attribute__ ((deprecated)) >/** > * \def U_ATTRIBUTE_DEPRECATED > * This is used for Visual C++ specific attributes > * @internal > */ >#elif defined(_MSC_VER) && (_MSC_VER >= 1400) ># 100 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" ># define U_ATTRIBUTE_DEPRECATED __declspec(deprecated) >#else ># 102 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" ># define U_ATTRIBUTE_DEPRECATED >#endif ># 104 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" >#endif ># 105 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" > >/** This is used to declare a function as a public ICU C API @stable ICU 2.0*/ >#define U_CAPI U_CFUNC U_EXPORT >/** This is used to declare a function as a stable public ICU C API*/ >#define U_STABLE U_CAPI >/** This is used to declare a function as a draft public ICU C API */ >#define U_DRAFT U_CAPI >/** This is used to declare a function as a deprecated public ICU C API */ >#define U_DEPRECATED U_CAPI U_ATTRIBUTE_DEPRECATED >/** This is used to declare a function as an obsolete public ICU C API */ >#define U_OBSOLETE U_CAPI >/** This is used to declare a function as an internal ICU C API */ >#define U_INTERNAL U_CAPI > >/** > * \def U_OVERRIDE > * Defined to the C++11 "override" keyword if available. > * Denotes a class or member which is an override of the base class. > * May result in an error if it applied to something not an override. > * @internal > */ > >/** > * \def U_FINAL > * Defined to the C++11 "final" keyword if available. > * Denotes a class or member which may not be overridden in subclasses. > * May result in an error if subclasses attempt to override. > * @internal > */ > >#if U_CPLUSPLUS_VERSION >= 11 >/* C++11 */ >#ifndef U_OVERRIDE >#define U_OVERRIDE override >#endif ># 140 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" >#ifndef U_FINAL >#define U_FINAL final >#endif ># 143 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" >#else ># 144 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" >/* not C++11 - define to nothing */ >#ifndef U_OVERRIDE >#define U_OVERRIDE >#endif ># 148 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" >#ifndef U_FINAL >#define U_FINAL >#endif ># 151 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" >#endif ># 152 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" > >/*==========================================================================*/ >/* limits for int32_t etc., like in POSIX inttypes.h */ >/*==========================================================================*/ > >#ifndef INT8_MIN >/** The smallest value an 8 bit signed integer can hold @stable ICU 2.0 */ ># define INT8_MIN ((int8_t)(-128)) >#endif ># 161 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" >#ifndef INT16_MIN >/** The smallest value a 16 bit signed integer can hold @stable ICU 2.0 */ ># define INT16_MIN ((int16_t)(-32767-1)) >#endif ># 165 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" >#ifndef INT32_MIN >/** The smallest value a 32 bit signed integer can hold @stable ICU 2.0 */ ># define INT32_MIN ((int32_t)(-2147483647-1)) >#endif ># 169 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" > >#ifndef INT8_MAX >/** The largest value an 8 bit signed integer can hold @stable ICU 2.0 */ ># define INT8_MAX ((int8_t)(127)) >#endif ># 174 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" >#ifndef INT16_MAX >/** The largest value a 16 bit signed integer can hold @stable ICU 2.0 */ ># define INT16_MAX ((int16_t)(32767)) >#endif ># 178 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" >#ifndef INT32_MAX >/** The largest value a 32 bit signed integer can hold @stable ICU 2.0 */ ># define INT32_MAX ((int32_t)(2147483647)) >#endif ># 182 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" > >#ifndef UINT8_MAX >/** The largest value an 8 bit unsigned integer can hold @stable ICU 2.0 */ ># define UINT8_MAX ((uint8_t)(255U)) >#endif ># 187 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" >#ifndef UINT16_MAX >/** The largest value a 16 bit unsigned integer can hold @stable ICU 2.0 */ ># define UINT16_MAX ((uint16_t)(65535U)) >#endif ># 191 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" >#ifndef UINT32_MAX >/** The largest value a 32 bit unsigned integer can hold @stable ICU 2.0 */ ># define UINT32_MAX ((uint32_t)(4294967295U)) >#endif ># 195 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" > >#if defined(U_INT64_T_UNAVAILABLE) ># error int64_t is required for decimal format and rule-based number format. >#else ># 199 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" ># ifndef INT64_C >/** > * Provides a platform independent way to specify a signed 64-bit integer constant. > * note: may be wrong for some 64 bit platforms - ensure your compiler provides INT64_C > * @stable ICU 2.8 > */ ># define INT64_C(c) c ## LL ># endif ># 207 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" ># ifndef UINT64_C >/** > * Provides a platform independent way to specify an unsigned 64-bit integer constant. > * note: may be wrong for some 64 bit platforms - ensure your compiler provides UINT64_C > * @stable ICU 2.8 > */ ># define UINT64_C(c) c ## ULL ># endif ># 215 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" ># ifndef U_INT64_MIN >/** The smallest value a 64 bit signed integer can hold @stable ICU 2.8 */ ># define U_INT64_MIN ((int64_t)(INT64_C(-9223372036854775807)-1)) ># endif ># 219 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" ># ifndef U_INT64_MAX >/** The largest value a 64 bit signed integer can hold @stable ICU 2.8 */ ># define U_INT64_MAX ((int64_t)(INT64_C(9223372036854775807))) ># endif ># 223 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" ># ifndef U_UINT64_MAX >/** The largest value a 64 bit unsigned integer can hold @stable ICU 2.8 */ ># define U_UINT64_MAX ((uint64_t)(UINT64_C(18446744073709551615))) ># endif ># 227 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" >#endif ># 228 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" > >/*==========================================================================*/ >/* Boolean data type */ >/*==========================================================================*/ > >/** The ICU boolean type @stable ICU 2.0 */ >typedef int8_t UBool; > >#ifndef TRUE >/** The TRUE value of a UBool @stable ICU 2.0 */ ># define TRUE 1 >#endif ># 240 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" >#ifndef FALSE >/** The FALSE value of a UBool @stable ICU 2.0 */ ># define FALSE 0 >#endif ># 244 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" > > >/*==========================================================================*/ >/* Unicode data types */ >/*==========================================================================*/ > >/* wchar_t-related definitions -------------------------------------------- */ > >/* > * \def U_WCHAR_IS_UTF16 > * Defined if wchar_t uses UTF-16. > * > * @stable ICU 2.0 > */ >/* > * \def U_WCHAR_IS_UTF32 > * Defined if wchar_t uses UTF-32. > * > * @stable ICU 2.0 > */ >#if !defined(U_WCHAR_IS_UTF16) && !defined(U_WCHAR_IS_UTF32) ># ifdef __STDC_ISO_10646__ ># if (U_SIZEOF_WCHAR_T==2) ># define U_WCHAR_IS_UTF16 ># elif (U_SIZEOF_WCHAR_T==4) ># 269 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" ># define U_WCHAR_IS_UTF32 ># endif ># 271 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" ># elif defined __UCS2__ ># 272 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" ># if (U_PF_OS390 <= U_PLATFORM && U_PLATFORM <= U_PF_OS400) && (U_SIZEOF_WCHAR_T==2) ># define U_WCHAR_IS_UTF16 ># endif ># 275 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" ># elif defined(__UCS4__) || (U_PLATFORM == U_PF_OS400 && defined(__UTF32__)) ># 276 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" ># if (U_SIZEOF_WCHAR_T==4) ># define U_WCHAR_IS_UTF32 ># endif ># 279 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" ># elif U_PLATFORM_IS_DARWIN_BASED || (U_SIZEOF_WCHAR_T==4 && U_PLATFORM_IS_LINUX_BASED) ># 280 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" ># define U_WCHAR_IS_UTF32 ># elif U_PLATFORM_HAS_WIN32_API ># 282 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" ># define U_WCHAR_IS_UTF16 ># endif ># 284 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" >#endif ># 285 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" > >/* UChar and UChar32 definitions -------------------------------------------- */ > >/** Number of bytes in a UChar. @stable ICU 2.0 */ >#define U_SIZEOF_UCHAR 2 > >/** > * \var UChar > * Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), > * or wchar_t if that is 16 bits wide; always assumed to be unsigned. > * If neither is available, then define UChar to be uint16_t. > * > * This makes the definition of UChar platform-dependent > * but allows direct string type compatibility with platforms with > * 16-bit wchar_t types. > * > * @stable ICU 4.4 > */ >#if defined(UCHAR_TYPE) > typedef UCHAR_TYPE UChar; >/* Not #elif U_HAVE_CHAR16_T -- because that is type-incompatible with pre-C++11 callers > typedef char16_t UChar; */ >#elif U_SIZEOF_WCHAR_T==2 ># 308 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" > typedef wchar_t UChar; >#elif defined(__CHAR16_TYPE__) ># 310 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" > typedef __CHAR16_TYPE__ UChar; >#else ># 312 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" > typedef uint16_t UChar; >#endif ># 314 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" > >/** > * Define UChar32 as a type for single Unicode code points. > * UChar32 is a signed 32-bit integer (same as int32_t). > * > * The Unicode code point range is 0..0x10ffff. > * All other values (negative or >=0x110000) are illegal as Unicode code points. > * They may be used as sentinel values to indicate "done", "error" > * or similar non-code point conditions. > * > * Before ICU 2.4 (Jitterbug 2146), UChar32 was defined > * to be wchar_t if that is 32 bits wide (wchar_t may be signed or unsigned) > * or else to be uint32_t. > * That is, the definition of UChar32 was platform-dependent. > * > * @see U_SENTINEL > * @stable ICU 2.4 > */ >typedef int32_t UChar32; > >/** > * This value is intended for sentinel values for APIs that > * (take or) return single code points (UChar32). > * It is outside of the Unicode code point range 0..0x10ffff. > * > * For example, a "done" or "error" value in a new API > * could be indicated with U_SENTINEL. > * > * ICU APIs designed before ICU 2.4 usually define service-specific "done" > * values, mostly 0xffff. > * Those may need to be distinguished from > * actual U+ffff text contents by calling functions like > * CharacterIterator::hasNext() or UnicodeString::length(). > * > * @return -1 > * @see UChar32 > * @stable ICU 2.4 > */ >#define U_SENTINEL (-1) > >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/urename.h" >#endif /* expanded by -frewrite-includes */ ># 1 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/urename.h" 1 >/* >******************************************************************************* >* Copyright (C) 2002-2015, International Business Machines >* Corporation and others. All Rights Reserved. >******************************************************************************* >* >* file name: urename.h >* encoding: US-ASCII >* tab size: 8 (not used) >* indentation:4 >* >* Created by: Perl script tools/genren.pl written by Vladimir Weinstein >* >* Contains data for renaming ICU exports. >* Gets included by umachine.h >* >* THIS FILE IS MACHINE-GENERATED, DON'T PLAY WITH IT IF YOU DON'T KNOW WHAT >* YOU ARE DOING, OTHERWISE VERY BAD THINGS WILL HAPPEN! >*/ > >#ifndef URENAME_H >#define URENAME_H > >/* U_DISABLE_RENAMING can be defined in the following ways: > * - when running configure, e.g. > * runConfigureICU Linux --disable-renaming > * - by changing the default setting of U_DISABLE_RENAMING in uconfig.h > */ > >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/uconfig.h" >#endif /* expanded by -frewrite-includes */ ># 31 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/urename.h" > >#if !U_DISABLE_RENAMING > >/* We need the U_ICU_ENTRY_POINT_RENAME definition. There's a default one in unicode/uvernum.h we can use, but we will give > the platform a chance to define it first. > Normally (if utypes.h or umachine.h was included first) this will not be necessary as it will already be defined. > */ > >#ifndef U_ICU_ENTRY_POINT_RENAME >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/umachine.h" >#endif /* expanded by -frewrite-includes */ ># 41 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/urename.h" >#endif ># 42 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/urename.h" > >/* If we still don't have U_ICU_ENTRY_POINT_RENAME use the default. */ >#ifndef U_ICU_ENTRY_POINT_RENAME >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/uvernum.h" >#endif /* expanded by -frewrite-includes */ ># 46 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/urename.h" >#endif ># 47 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/urename.h" > >/* Error out before the following defines cause very strange and unexpected code breakage */ >#ifndef U_ICU_ENTRY_POINT_RENAME >#error U_ICU_ENTRY_POINT_RENAME is not defined - cannot continue. Consider defining U_DISABLE_RENAMING if renaming should not be used. >#endif ># 52 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/urename.h" > > >/* C exports renaming data */ > >#define T_CString_int64ToString U_ICU_ENTRY_POINT_RENAME(T_CString_int64ToString) >#define T_CString_integerToString U_ICU_ENTRY_POINT_RENAME(T_CString_integerToString) >#define T_CString_stringToInteger U_ICU_ENTRY_POINT_RENAME(T_CString_stringToInteger) >#define T_CString_toLowerCase U_ICU_ENTRY_POINT_RENAME(T_CString_toLowerCase) >#define T_CString_toUpperCase U_ICU_ENTRY_POINT_RENAME(T_CString_toUpperCase) >#define UCNV_FROM_U_CALLBACK_ESCAPE U_ICU_ENTRY_POINT_RENAME(UCNV_FROM_U_CALLBACK_ESCAPE) >#define UCNV_FROM_U_CALLBACK_SKIP U_ICU_ENTRY_POINT_RENAME(UCNV_FROM_U_CALLBACK_SKIP) >#define UCNV_FROM_U_CALLBACK_STOP U_ICU_ENTRY_POINT_RENAME(UCNV_FROM_U_CALLBACK_STOP) >#define UCNV_FROM_U_CALLBACK_SUBSTITUTE U_ICU_ENTRY_POINT_RENAME(UCNV_FROM_U_CALLBACK_SUBSTITUTE) >#define UCNV_TO_U_CALLBACK_ESCAPE U_ICU_ENTRY_POINT_RENAME(UCNV_TO_U_CALLBACK_ESCAPE) >#define UCNV_TO_U_CALLBACK_SKIP U_ICU_ENTRY_POINT_RENAME(UCNV_TO_U_CALLBACK_SKIP) >#define UCNV_TO_U_CALLBACK_STOP U_ICU_ENTRY_POINT_RENAME(UCNV_TO_U_CALLBACK_STOP) >#define UCNV_TO_U_CALLBACK_SUBSTITUTE U_ICU_ENTRY_POINT_RENAME(UCNV_TO_U_CALLBACK_SUBSTITUTE) >#define UDataMemory_createNewInstance U_ICU_ENTRY_POINT_RENAME(UDataMemory_createNewInstance) >#define UDataMemory_init U_ICU_ENTRY_POINT_RENAME(UDataMemory_init) >#define UDataMemory_isLoaded U_ICU_ENTRY_POINT_RENAME(UDataMemory_isLoaded) >#define UDataMemory_normalizeDataPointer U_ICU_ENTRY_POINT_RENAME(UDataMemory_normalizeDataPointer) >#define UDataMemory_setData U_ICU_ENTRY_POINT_RENAME(UDataMemory_setData) >#define UDatamemory_assign U_ICU_ENTRY_POINT_RENAME(UDatamemory_assign) >#define _ASCIIData U_ICU_ENTRY_POINT_RENAME(_ASCIIData) >#define _Bocu1Data U_ICU_ENTRY_POINT_RENAME(_Bocu1Data) >#define _CESU8Data U_ICU_ENTRY_POINT_RENAME(_CESU8Data) >#define _CompoundTextData U_ICU_ENTRY_POINT_RENAME(_CompoundTextData) >#define _HZData U_ICU_ENTRY_POINT_RENAME(_HZData) >#define _IMAPData U_ICU_ENTRY_POINT_RENAME(_IMAPData) >#define _ISCIIData U_ICU_ENTRY_POINT_RENAME(_ISCIIData) >#define _ISO2022Data U_ICU_ENTRY_POINT_RENAME(_ISO2022Data) >#define _LMBCSData1 U_ICU_ENTRY_POINT_RENAME(_LMBCSData1) >#define _LMBCSData11 U_ICU_ENTRY_POINT_RENAME(_LMBCSData11) >#define _LMBCSData16 U_ICU_ENTRY_POINT_RENAME(_LMBCSData16) >#define _LMBCSData17 U_ICU_ENTRY_POINT_RENAME(_LMBCSData17) >#define _LMBCSData18 U_ICU_ENTRY_POINT_RENAME(_LMBCSData18) >#define _LMBCSData19 U_ICU_ENTRY_POINT_RENAME(_LMBCSData19) >#define _LMBCSData2 U_ICU_ENTRY_POINT_RENAME(_LMBCSData2) >#define _LMBCSData3 U_ICU_ENTRY_POINT_RENAME(_LMBCSData3) >#define _LMBCSData4 U_ICU_ENTRY_POINT_RENAME(_LMBCSData4) >#define _LMBCSData5 U_ICU_ENTRY_POINT_RENAME(_LMBCSData5) >#define _LMBCSData6 U_ICU_ENTRY_POINT_RENAME(_LMBCSData6) >#define _LMBCSData8 U_ICU_ENTRY_POINT_RENAME(_LMBCSData8) >#define _Latin1Data U_ICU_ENTRY_POINT_RENAME(_Latin1Data) >#define _MBCSData U_ICU_ENTRY_POINT_RENAME(_MBCSData) >#define _SCSUData U_ICU_ENTRY_POINT_RENAME(_SCSUData) >#define _UTF16BEData U_ICU_ENTRY_POINT_RENAME(_UTF16BEData) >#define _UTF16Data U_ICU_ENTRY_POINT_RENAME(_UTF16Data) >#define _UTF16LEData U_ICU_ENTRY_POINT_RENAME(_UTF16LEData) >#define _UTF32BEData U_ICU_ENTRY_POINT_RENAME(_UTF32BEData) >#define _UTF32Data U_ICU_ENTRY_POINT_RENAME(_UTF32Data) >#define _UTF32LEData U_ICU_ENTRY_POINT_RENAME(_UTF32LEData) >#define _UTF7Data U_ICU_ENTRY_POINT_RENAME(_UTF7Data) >#define _UTF8Data U_ICU_ENTRY_POINT_RENAME(_UTF8Data) >#define cmemory_cleanup U_ICU_ENTRY_POINT_RENAME(cmemory_cleanup) >#define gTimeZoneFilesInitOnce U_ICU_ENTRY_POINT_RENAME(gTimeZoneFilesInitOnce) >#define izrule_clone U_ICU_ENTRY_POINT_RENAME(izrule_clone) >#define izrule_close U_ICU_ENTRY_POINT_RENAME(izrule_close) >#define izrule_equals U_ICU_ENTRY_POINT_RENAME(izrule_equals) >#define izrule_getDSTSavings U_ICU_ENTRY_POINT_RENAME(izrule_getDSTSavings) >#define izrule_getDynamicClassID U_ICU_ENTRY_POINT_RENAME(izrule_getDynamicClassID) >#define izrule_getFinalStart U_ICU_ENTRY_POINT_RENAME(izrule_getFinalStart) >#define izrule_getFirstStart U_ICU_ENTRY_POINT_RENAME(izrule_getFirstStart) >#define izrule_getName U_ICU_ENTRY_POINT_RENAME(izrule_getName) >#define izrule_getNextStart U_ICU_ENTRY_POINT_RENAME(izrule_getNextStart) >#define izrule_getPreviousStart U_ICU_ENTRY_POINT_RENAME(izrule_getPreviousStart) >#define izrule_getRawOffset U_ICU_ENTRY_POINT_RENAME(izrule_getRawOffset) >#define izrule_getStaticClassID U_ICU_ENTRY_POINT_RENAME(izrule_getStaticClassID) >#define izrule_isEquivalentTo U_ICU_ENTRY_POINT_RENAME(izrule_isEquivalentTo) >#define izrule_open U_ICU_ENTRY_POINT_RENAME(izrule_open) >#define le_close U_ICU_ENTRY_POINT_RENAME(le_close) >#define le_create U_ICU_ENTRY_POINT_RENAME(le_create) >#define le_getCharIndices U_ICU_ENTRY_POINT_RENAME(le_getCharIndices) >#define le_getCharIndicesWithBase U_ICU_ENTRY_POINT_RENAME(le_getCharIndicesWithBase) >#define le_getGlyphCount U_ICU_ENTRY_POINT_RENAME(le_getGlyphCount) >#define le_getGlyphPosition U_ICU_ENTRY_POINT_RENAME(le_getGlyphPosition) >#define le_getGlyphPositions U_ICU_ENTRY_POINT_RENAME(le_getGlyphPositions) >#define le_getGlyphs U_ICU_ENTRY_POINT_RENAME(le_getGlyphs) >#define le_layoutChars U_ICU_ENTRY_POINT_RENAME(le_layoutChars) >#define le_reset U_ICU_ENTRY_POINT_RENAME(le_reset) >#define locale_getKeywords U_ICU_ENTRY_POINT_RENAME(locale_getKeywords) >#define locale_getKeywordsStart U_ICU_ENTRY_POINT_RENAME(locale_getKeywordsStart) >#define locale_get_default U_ICU_ENTRY_POINT_RENAME(locale_get_default) >#define locale_set_default U_ICU_ENTRY_POINT_RENAME(locale_set_default) >#define pl_addFontRun U_ICU_ENTRY_POINT_RENAME(pl_addFontRun) >#define pl_addLocaleRun U_ICU_ENTRY_POINT_RENAME(pl_addLocaleRun) >#define pl_addValueRun U_ICU_ENTRY_POINT_RENAME(pl_addValueRun) >#define pl_close U_ICU_ENTRY_POINT_RENAME(pl_close) >#define pl_closeFontRuns U_ICU_ENTRY_POINT_RENAME(pl_closeFontRuns) >#define pl_closeLine U_ICU_ENTRY_POINT_RENAME(pl_closeLine) >#define pl_closeLocaleRuns U_ICU_ENTRY_POINT_RENAME(pl_closeLocaleRuns) >#define pl_closeValueRuns U_ICU_ENTRY_POINT_RENAME(pl_closeValueRuns) >#define pl_countLineRuns U_ICU_ENTRY_POINT_RENAME(pl_countLineRuns) >#define pl_create U_ICU_ENTRY_POINT_RENAME(pl_create) >#define pl_getAscent U_ICU_ENTRY_POINT_RENAME(pl_getAscent) >#define pl_getDescent U_ICU_ENTRY_POINT_RENAME(pl_getDescent) >#define pl_getFontRunCount U_ICU_ENTRY_POINT_RENAME(pl_getFontRunCount) >#define pl_getFontRunFont U_ICU_ENTRY_POINT_RENAME(pl_getFontRunFont) >#define pl_getFontRunLastLimit U_ICU_ENTRY_POINT_RENAME(pl_getFontRunLastLimit) >#define pl_getFontRunLimit U_ICU_ENTRY_POINT_RENAME(pl_getFontRunLimit) >#define pl_getLeading U_ICU_ENTRY_POINT_RENAME(pl_getLeading) >#define pl_getLineAscent U_ICU_ENTRY_POINT_RENAME(pl_getLineAscent) >#define pl_getLineDescent U_ICU_ENTRY_POINT_RENAME(pl_getLineDescent) >#define pl_getLineLeading U_ICU_ENTRY_POINT_RENAME(pl_getLineLeading) >#define pl_getLineVisualRun U_ICU_ENTRY_POINT_RENAME(pl_getLineVisualRun) >#define pl_getLineWidth U_ICU_ENTRY_POINT_RENAME(pl_getLineWidth) >#define pl_getLocaleRunCount U_ICU_ENTRY_POINT_RENAME(pl_getLocaleRunCount) >#define pl_getLocaleRunLastLimit U_ICU_ENTRY_POINT_RENAME(pl_getLocaleRunLastLimit) >#define pl_getLocaleRunLimit U_ICU_ENTRY_POINT_RENAME(pl_getLocaleRunLimit) >#define pl_getLocaleRunLocale U_ICU_ENTRY_POINT_RENAME(pl_getLocaleRunLocale) >#define pl_getParagraphLevel U_ICU_ENTRY_POINT_RENAME(pl_getParagraphLevel) >#define pl_getTextDirection U_ICU_ENTRY_POINT_RENAME(pl_getTextDirection) >#define pl_getValueRunCount U_ICU_ENTRY_POINT_RENAME(pl_getValueRunCount) >#define pl_getValueRunLastLimit U_ICU_ENTRY_POINT_RENAME(pl_getValueRunLastLimit) >#define pl_getValueRunLimit U_ICU_ENTRY_POINT_RENAME(pl_getValueRunLimit) >#define pl_getValueRunValue U_ICU_ENTRY_POINT_RENAME(pl_getValueRunValue) >#define pl_getVisualRunAscent U_ICU_ENTRY_POINT_RENAME(pl_getVisualRunAscent) >#define pl_getVisualRunDescent U_ICU_ENTRY_POINT_RENAME(pl_getVisualRunDescent) >#define pl_getVisualRunDirection U_ICU_ENTRY_POINT_RENAME(pl_getVisualRunDirection) >#define pl_getVisualRunFont U_ICU_ENTRY_POINT_RENAME(pl_getVisualRunFont) >#define pl_getVisualRunGlyphCount U_ICU_ENTRY_POINT_RENAME(pl_getVisualRunGlyphCount) >#define pl_getVisualRunGlyphToCharMap U_ICU_ENTRY_POINT_RENAME(pl_getVisualRunGlyphToCharMap) >#define pl_getVisualRunGlyphs U_ICU_ENTRY_POINT_RENAME(pl_getVisualRunGlyphs) >#define pl_getVisualRunLeading U_ICU_ENTRY_POINT_RENAME(pl_getVisualRunLeading) >#define pl_getVisualRunPositions U_ICU_ENTRY_POINT_RENAME(pl_getVisualRunPositions) >#define pl_isComplex U_ICU_ENTRY_POINT_RENAME(pl_isComplex) >#define pl_nextLine U_ICU_ENTRY_POINT_RENAME(pl_nextLine) >#define pl_openEmptyFontRuns U_ICU_ENTRY_POINT_RENAME(pl_openEmptyFontRuns) >#define pl_openEmptyLocaleRuns U_ICU_ENTRY_POINT_RENAME(pl_openEmptyLocaleRuns) >#define pl_openEmptyValueRuns U_ICU_ENTRY_POINT_RENAME(pl_openEmptyValueRuns) >#define pl_openFontRuns U_ICU_ENTRY_POINT_RENAME(pl_openFontRuns) >#define pl_openLocaleRuns U_ICU_ENTRY_POINT_RENAME(pl_openLocaleRuns) >#define pl_openValueRuns U_ICU_ENTRY_POINT_RENAME(pl_openValueRuns) >#define pl_reflow U_ICU_ENTRY_POINT_RENAME(pl_reflow) >#define pl_resetFontRuns U_ICU_ENTRY_POINT_RENAME(pl_resetFontRuns) >#define pl_resetLocaleRuns U_ICU_ENTRY_POINT_RENAME(pl_resetLocaleRuns) >#define pl_resetValueRuns U_ICU_ENTRY_POINT_RENAME(pl_resetValueRuns) >#define res_countArrayItems U_ICU_ENTRY_POINT_RENAME(res_countArrayItems) >#define res_findResource U_ICU_ENTRY_POINT_RENAME(res_findResource) >#define res_getAlias U_ICU_ENTRY_POINT_RENAME(res_getAlias) >#define res_getArrayItem U_ICU_ENTRY_POINT_RENAME(res_getArrayItem) >#define res_getBinary U_ICU_ENTRY_POINT_RENAME(res_getBinary) >#define res_getIntVector U_ICU_ENTRY_POINT_RENAME(res_getIntVector) >#define res_getPublicType U_ICU_ENTRY_POINT_RENAME(res_getPublicType) >#define res_getResource U_ICU_ENTRY_POINT_RENAME(res_getResource) >#define res_getString U_ICU_ENTRY_POINT_RENAME(res_getString) >#define res_getTableItemByIndex U_ICU_ENTRY_POINT_RENAME(res_getTableItemByIndex) >#define res_getTableItemByKey U_ICU_ENTRY_POINT_RENAME(res_getTableItemByKey) >#define res_load U_ICU_ENTRY_POINT_RENAME(res_load) >#define res_read U_ICU_ENTRY_POINT_RENAME(res_read) >#define res_unload U_ICU_ENTRY_POINT_RENAME(res_unload) >#define u_UCharsToChars U_ICU_ENTRY_POINT_RENAME(u_UCharsToChars) >#define u_austrcpy U_ICU_ENTRY_POINT_RENAME(u_austrcpy) >#define u_austrncpy U_ICU_ENTRY_POINT_RENAME(u_austrncpy) >#define u_caseInsensitivePrefixMatch U_ICU_ENTRY_POINT_RENAME(u_caseInsensitivePrefixMatch) >#define u_catclose U_ICU_ENTRY_POINT_RENAME(u_catclose) >#define u_catgets U_ICU_ENTRY_POINT_RENAME(u_catgets) >#define u_catopen U_ICU_ENTRY_POINT_RENAME(u_catopen) >#define u_charAge U_ICU_ENTRY_POINT_RENAME(u_charAge) >#define u_charDigitValue U_ICU_ENTRY_POINT_RENAME(u_charDigitValue) >#define u_charDirection U_ICU_ENTRY_POINT_RENAME(u_charDirection) >#define u_charFromName U_ICU_ENTRY_POINT_RENAME(u_charFromName) >#define u_charMirror U_ICU_ENTRY_POINT_RENAME(u_charMirror) >#define u_charName U_ICU_ENTRY_POINT_RENAME(u_charName) >#define u_charType U_ICU_ENTRY_POINT_RENAME(u_charType) >#define u_charsToUChars U_ICU_ENTRY_POINT_RENAME(u_charsToUChars) >#define u_cleanup U_ICU_ENTRY_POINT_RENAME(u_cleanup) >#define u_countChar32 U_ICU_ENTRY_POINT_RENAME(u_countChar32) >#define u_digit U_ICU_ENTRY_POINT_RENAME(u_digit) >#define u_enumCharNames U_ICU_ENTRY_POINT_RENAME(u_enumCharNames) >#define u_enumCharTypes U_ICU_ENTRY_POINT_RENAME(u_enumCharTypes) >#define u_errorName U_ICU_ENTRY_POINT_RENAME(u_errorName) >#define u_fadopt U_ICU_ENTRY_POINT_RENAME(u_fadopt) >#define u_fclose U_ICU_ENTRY_POINT_RENAME(u_fclose) >#define u_feof U_ICU_ENTRY_POINT_RENAME(u_feof) >#define u_fflush U_ICU_ENTRY_POINT_RENAME(u_fflush) >#define u_fgetConverter U_ICU_ENTRY_POINT_RENAME(u_fgetConverter) >#define u_fgetNumberFormat U_ICU_ENTRY_POINT_RENAME(u_fgetNumberFormat) >#define u_fgetc U_ICU_ENTRY_POINT_RENAME(u_fgetc) >#define u_fgetcodepage U_ICU_ENTRY_POINT_RENAME(u_fgetcodepage) >#define u_fgetcx U_ICU_ENTRY_POINT_RENAME(u_fgetcx) >#define u_fgetfile U_ICU_ENTRY_POINT_RENAME(u_fgetfile) >#define u_fgetlocale U_ICU_ENTRY_POINT_RENAME(u_fgetlocale) >#define u_fgets U_ICU_ENTRY_POINT_RENAME(u_fgets) >#define u_file_read U_ICU_ENTRY_POINT_RENAME(u_file_read) >#define u_file_write U_ICU_ENTRY_POINT_RENAME(u_file_write) >#define u_file_write_flush U_ICU_ENTRY_POINT_RENAME(u_file_write_flush) >#define u_finit U_ICU_ENTRY_POINT_RENAME(u_finit) >#define u_flushDefaultConverter U_ICU_ENTRY_POINT_RENAME(u_flushDefaultConverter) >#define u_foldCase U_ICU_ENTRY_POINT_RENAME(u_foldCase) >#define u_fopen U_ICU_ENTRY_POINT_RENAME(u_fopen) >#define u_fopen_u U_ICU_ENTRY_POINT_RENAME(u_fopen_u) >#define u_forDigit U_ICU_ENTRY_POINT_RENAME(u_forDigit) >#define u_formatMessage U_ICU_ENTRY_POINT_RENAME(u_formatMessage) >#define u_formatMessageWithError U_ICU_ENTRY_POINT_RENAME(u_formatMessageWithError) >#define u_fprintf U_ICU_ENTRY_POINT_RENAME(u_fprintf) >#define u_fprintf_u U_ICU_ENTRY_POINT_RENAME(u_fprintf_u) >#define u_fputc U_ICU_ENTRY_POINT_RENAME(u_fputc) >#define u_fputs U_ICU_ENTRY_POINT_RENAME(u_fputs) >#define u_frewind U_ICU_ENTRY_POINT_RENAME(u_frewind) >#define u_fscanf U_ICU_ENTRY_POINT_RENAME(u_fscanf) >#define u_fscanf_u U_ICU_ENTRY_POINT_RENAME(u_fscanf_u) >#define u_fsetcodepage U_ICU_ENTRY_POINT_RENAME(u_fsetcodepage) >#define u_fsetlocale U_ICU_ENTRY_POINT_RENAME(u_fsetlocale) >#define u_fsettransliterator U_ICU_ENTRY_POINT_RENAME(u_fsettransliterator) >#define u_fstropen U_ICU_ENTRY_POINT_RENAME(u_fstropen) >#define u_fungetc U_ICU_ENTRY_POINT_RENAME(u_fungetc) >#define u_getBidiPairedBracket U_ICU_ENTRY_POINT_RENAME(u_getBidiPairedBracket) >#define u_getCombiningClass U_ICU_ENTRY_POINT_RENAME(u_getCombiningClass) >#define u_getDataDirectory U_ICU_ENTRY_POINT_RENAME(u_getDataDirectory) >#define u_getDataVersion U_ICU_ENTRY_POINT_RENAME(u_getDataVersion) >#define u_getDefaultConverter U_ICU_ENTRY_POINT_RENAME(u_getDefaultConverter) >#define u_getFC_NFKC_Closure U_ICU_ENTRY_POINT_RENAME(u_getFC_NFKC_Closure) >#define u_getISOComment U_ICU_ENTRY_POINT_RENAME(u_getISOComment) >#define u_getIntPropertyMaxValue U_ICU_ENTRY_POINT_RENAME(u_getIntPropertyMaxValue) >#define u_getIntPropertyMinValue U_ICU_ENTRY_POINT_RENAME(u_getIntPropertyMinValue) >#define u_getIntPropertyValue U_ICU_ENTRY_POINT_RENAME(u_getIntPropertyValue) >#define u_getMainProperties U_ICU_ENTRY_POINT_RENAME(u_getMainProperties) >#define u_getNumericValue U_ICU_ENTRY_POINT_RENAME(u_getNumericValue) >#define u_getPropertyEnum U_ICU_ENTRY_POINT_RENAME(u_getPropertyEnum) >#define u_getPropertyName U_ICU_ENTRY_POINT_RENAME(u_getPropertyName) >#define u_getPropertyValueEnum U_ICU_ENTRY_POINT_RENAME(u_getPropertyValueEnum) >#define u_getPropertyValueName U_ICU_ENTRY_POINT_RENAME(u_getPropertyValueName) >#define u_getTimeZoneFilesDirectory U_ICU_ENTRY_POINT_RENAME(u_getTimeZoneFilesDirectory) >#define u_getUnicodeProperties U_ICU_ENTRY_POINT_RENAME(u_getUnicodeProperties) >#define u_getUnicodeVersion U_ICU_ENTRY_POINT_RENAME(u_getUnicodeVersion) >#define u_getVersion U_ICU_ENTRY_POINT_RENAME(u_getVersion) >#define u_get_stdout U_ICU_ENTRY_POINT_RENAME(u_get_stdout) >#define u_hasBinaryProperty U_ICU_ENTRY_POINT_RENAME(u_hasBinaryProperty) >#define u_init U_ICU_ENTRY_POINT_RENAME(u_init) >#define u_isIDIgnorable U_ICU_ENTRY_POINT_RENAME(u_isIDIgnorable) >#define u_isIDPart U_ICU_ENTRY_POINT_RENAME(u_isIDPart) >#define u_isIDStart U_ICU_ENTRY_POINT_RENAME(u_isIDStart) >#define u_isISOControl U_ICU_ENTRY_POINT_RENAME(u_isISOControl) >#define u_isJavaIDPart U_ICU_ENTRY_POINT_RENAME(u_isJavaIDPart) >#define u_isJavaIDStart U_ICU_ENTRY_POINT_RENAME(u_isJavaIDStart) >#define u_isJavaSpaceChar U_ICU_ENTRY_POINT_RENAME(u_isJavaSpaceChar) >#define u_isMirrored U_ICU_ENTRY_POINT_RENAME(u_isMirrored) >#define u_isUAlphabetic U_ICU_ENTRY_POINT_RENAME(u_isUAlphabetic) >#define u_isULowercase U_ICU_ENTRY_POINT_RENAME(u_isULowercase) >#define u_isUUppercase U_ICU_ENTRY_POINT_RENAME(u_isUUppercase) >#define u_isUWhiteSpace U_ICU_ENTRY_POINT_RENAME(u_isUWhiteSpace) >#define u_isWhitespace U_ICU_ENTRY_POINT_RENAME(u_isWhitespace) >#define u_isalnum U_ICU_ENTRY_POINT_RENAME(u_isalnum) >#define u_isalnumPOSIX U_ICU_ENTRY_POINT_RENAME(u_isalnumPOSIX) >#define u_isalpha U_ICU_ENTRY_POINT_RENAME(u_isalpha) >#define u_isbase U_ICU_ENTRY_POINT_RENAME(u_isbase) >#define u_isblank U_ICU_ENTRY_POINT_RENAME(u_isblank) >#define u_iscntrl U_ICU_ENTRY_POINT_RENAME(u_iscntrl) >#define u_isdefined U_ICU_ENTRY_POINT_RENAME(u_isdefined) >#define u_isdigit U_ICU_ENTRY_POINT_RENAME(u_isdigit) >#define u_isgraph U_ICU_ENTRY_POINT_RENAME(u_isgraph) >#define u_isgraphPOSIX U_ICU_ENTRY_POINT_RENAME(u_isgraphPOSIX) >#define u_islower U_ICU_ENTRY_POINT_RENAME(u_islower) >#define u_isprint U_ICU_ENTRY_POINT_RENAME(u_isprint) >#define u_isprintPOSIX U_ICU_ENTRY_POINT_RENAME(u_isprintPOSIX) >#define u_ispunct U_ICU_ENTRY_POINT_RENAME(u_ispunct) >#define u_isspace U_ICU_ENTRY_POINT_RENAME(u_isspace) >#define u_istitle U_ICU_ENTRY_POINT_RENAME(u_istitle) >#define u_isupper U_ICU_ENTRY_POINT_RENAME(u_isupper) >#define u_isxdigit U_ICU_ENTRY_POINT_RENAME(u_isxdigit) >#define u_locbund_close U_ICU_ENTRY_POINT_RENAME(u_locbund_close) >#define u_locbund_getNumberFormat U_ICU_ENTRY_POINT_RENAME(u_locbund_getNumberFormat) >#define u_locbund_init U_ICU_ENTRY_POINT_RENAME(u_locbund_init) >#define u_memcasecmp U_ICU_ENTRY_POINT_RENAME(u_memcasecmp) >#define u_memchr U_ICU_ENTRY_POINT_RENAME(u_memchr) >#define u_memchr32 U_ICU_ENTRY_POINT_RENAME(u_memchr32) >#define u_memcmp U_ICU_ENTRY_POINT_RENAME(u_memcmp) >#define u_memcmpCodePointOrder U_ICU_ENTRY_POINT_RENAME(u_memcmpCodePointOrder) >#define u_memcpy U_ICU_ENTRY_POINT_RENAME(u_memcpy) >#define u_memmove U_ICU_ENTRY_POINT_RENAME(u_memmove) >#define u_memrchr U_ICU_ENTRY_POINT_RENAME(u_memrchr) >#define u_memrchr32 U_ICU_ENTRY_POINT_RENAME(u_memrchr32) >#define u_memset U_ICU_ENTRY_POINT_RENAME(u_memset) >#define u_parseMessage U_ICU_ENTRY_POINT_RENAME(u_parseMessage) >#define u_parseMessageWithError U_ICU_ENTRY_POINT_RENAME(u_parseMessageWithError) >#define u_printf U_ICU_ENTRY_POINT_RENAME(u_printf) >#define u_printf_parse U_ICU_ENTRY_POINT_RENAME(u_printf_parse) >#define u_printf_u U_ICU_ENTRY_POINT_RENAME(u_printf_u) >#define u_releaseDefaultConverter U_ICU_ENTRY_POINT_RENAME(u_releaseDefaultConverter) >#define u_scanf_parse U_ICU_ENTRY_POINT_RENAME(u_scanf_parse) >#define u_setAtomicIncDecFunctions U_ICU_ENTRY_POINT_RENAME(u_setAtomicIncDecFunctions) >#define u_setDataDirectory U_ICU_ENTRY_POINT_RENAME(u_setDataDirectory) >#define u_setMemoryFunctions U_ICU_ENTRY_POINT_RENAME(u_setMemoryFunctions) >#define u_setMutexFunctions U_ICU_ENTRY_POINT_RENAME(u_setMutexFunctions) >#define u_setTimeZoneFilesDirectory U_ICU_ENTRY_POINT_RENAME(u_setTimeZoneFilesDirectory) >#define u_shapeArabic U_ICU_ENTRY_POINT_RENAME(u_shapeArabic) >#define u_snprintf U_ICU_ENTRY_POINT_RENAME(u_snprintf) >#define u_snprintf_u U_ICU_ENTRY_POINT_RENAME(u_snprintf_u) >#define u_sprintf U_ICU_ENTRY_POINT_RENAME(u_sprintf) >#define u_sprintf_u U_ICU_ENTRY_POINT_RENAME(u_sprintf_u) >#define u_sscanf U_ICU_ENTRY_POINT_RENAME(u_sscanf) >#define u_sscanf_u U_ICU_ENTRY_POINT_RENAME(u_sscanf_u) >#define u_strCaseCompare U_ICU_ENTRY_POINT_RENAME(u_strCaseCompare) >#define u_strCompare U_ICU_ENTRY_POINT_RENAME(u_strCompare) >#define u_strCompareIter U_ICU_ENTRY_POINT_RENAME(u_strCompareIter) >#define u_strFindFirst U_ICU_ENTRY_POINT_RENAME(u_strFindFirst) >#define u_strFindLast U_ICU_ENTRY_POINT_RENAME(u_strFindLast) >#define u_strFoldCase U_ICU_ENTRY_POINT_RENAME(u_strFoldCase) >#define u_strFromJavaModifiedUTF8WithSub U_ICU_ENTRY_POINT_RENAME(u_strFromJavaModifiedUTF8WithSub) >#define u_strFromPunycode U_ICU_ENTRY_POINT_RENAME(u_strFromPunycode) >#define u_strFromUTF32 U_ICU_ENTRY_POINT_RENAME(u_strFromUTF32) >#define u_strFromUTF32WithSub U_ICU_ENTRY_POINT_RENAME(u_strFromUTF32WithSub) >#define u_strFromUTF8 U_ICU_ENTRY_POINT_RENAME(u_strFromUTF8) >#define u_strFromUTF8Lenient U_ICU_ENTRY_POINT_RENAME(u_strFromUTF8Lenient) >#define u_strFromUTF8WithSub U_ICU_ENTRY_POINT_RENAME(u_strFromUTF8WithSub) >#define u_strFromWCS U_ICU_ENTRY_POINT_RENAME(u_strFromWCS) >#define u_strHasMoreChar32Than U_ICU_ENTRY_POINT_RENAME(u_strHasMoreChar32Than) >#define u_strToJavaModifiedUTF8 U_ICU_ENTRY_POINT_RENAME(u_strToJavaModifiedUTF8) >#define u_strToLower U_ICU_ENTRY_POINT_RENAME(u_strToLower) >#define u_strToPunycode U_ICU_ENTRY_POINT_RENAME(u_strToPunycode) >#define u_strToTitle U_ICU_ENTRY_POINT_RENAME(u_strToTitle) >#define u_strToUTF32 U_ICU_ENTRY_POINT_RENAME(u_strToUTF32) >#define u_strToUTF32WithSub U_ICU_ENTRY_POINT_RENAME(u_strToUTF32WithSub) >#define u_strToUTF8 U_ICU_ENTRY_POINT_RENAME(u_strToUTF8) >#define u_strToUTF8WithSub U_ICU_ENTRY_POINT_RENAME(u_strToUTF8WithSub) >#define u_strToUpper U_ICU_ENTRY_POINT_RENAME(u_strToUpper) >#define u_strToWCS U_ICU_ENTRY_POINT_RENAME(u_strToWCS) >#define u_strcasecmp U_ICU_ENTRY_POINT_RENAME(u_strcasecmp) >#define u_strcat U_ICU_ENTRY_POINT_RENAME(u_strcat) >#define u_strchr U_ICU_ENTRY_POINT_RENAME(u_strchr) >#define u_strchr32 U_ICU_ENTRY_POINT_RENAME(u_strchr32) >#define u_strcmp U_ICU_ENTRY_POINT_RENAME(u_strcmp) >#define u_strcmpCodePointOrder U_ICU_ENTRY_POINT_RENAME(u_strcmpCodePointOrder) >#define u_strcmpFold U_ICU_ENTRY_POINT_RENAME(u_strcmpFold) >#define u_strcpy U_ICU_ENTRY_POINT_RENAME(u_strcpy) >#define u_strcspn U_ICU_ENTRY_POINT_RENAME(u_strcspn) >#define u_strlen U_ICU_ENTRY_POINT_RENAME(u_strlen) >#define u_strncasecmp U_ICU_ENTRY_POINT_RENAME(u_strncasecmp) >#define u_strncat U_ICU_ENTRY_POINT_RENAME(u_strncat) >#define u_strncmp U_ICU_ENTRY_POINT_RENAME(u_strncmp) >#define u_strncmpCodePointOrder U_ICU_ENTRY_POINT_RENAME(u_strncmpCodePointOrder) >#define u_strncpy U_ICU_ENTRY_POINT_RENAME(u_strncpy) >#define u_strpbrk U_ICU_ENTRY_POINT_RENAME(u_strpbrk) >#define u_strrchr U_ICU_ENTRY_POINT_RENAME(u_strrchr) >#define u_strrchr32 U_ICU_ENTRY_POINT_RENAME(u_strrchr32) >#define u_strrstr U_ICU_ENTRY_POINT_RENAME(u_strrstr) >#define u_strspn U_ICU_ENTRY_POINT_RENAME(u_strspn) >#define u_strstr U_ICU_ENTRY_POINT_RENAME(u_strstr) >#define u_strtok_r U_ICU_ENTRY_POINT_RENAME(u_strtok_r) >#define u_terminateChars U_ICU_ENTRY_POINT_RENAME(u_terminateChars) >#define u_terminateUChar32s U_ICU_ENTRY_POINT_RENAME(u_terminateUChar32s) >#define u_terminateUChars U_ICU_ENTRY_POINT_RENAME(u_terminateUChars) >#define u_terminateWChars U_ICU_ENTRY_POINT_RENAME(u_terminateWChars) >#define u_tolower U_ICU_ENTRY_POINT_RENAME(u_tolower) >#define u_totitle U_ICU_ENTRY_POINT_RENAME(u_totitle) >#define u_toupper U_ICU_ENTRY_POINT_RENAME(u_toupper) >#define u_uastrcpy U_ICU_ENTRY_POINT_RENAME(u_uastrcpy) >#define u_uastrncpy U_ICU_ENTRY_POINT_RENAME(u_uastrncpy) >#define u_unescape U_ICU_ENTRY_POINT_RENAME(u_unescape) >#define u_unescapeAt U_ICU_ENTRY_POINT_RENAME(u_unescapeAt) >#define u_versionFromString U_ICU_ENTRY_POINT_RENAME(u_versionFromString) >#define u_versionFromUString U_ICU_ENTRY_POINT_RENAME(u_versionFromUString) >#define u_versionToString U_ICU_ENTRY_POINT_RENAME(u_versionToString) >#define u_vformatMessage U_ICU_ENTRY_POINT_RENAME(u_vformatMessage) >#define u_vformatMessageWithError U_ICU_ENTRY_POINT_RENAME(u_vformatMessageWithError) >#define u_vfprintf U_ICU_ENTRY_POINT_RENAME(u_vfprintf) >#define u_vfprintf_u U_ICU_ENTRY_POINT_RENAME(u_vfprintf_u) >#define u_vfscanf U_ICU_ENTRY_POINT_RENAME(u_vfscanf) >#define u_vfscanf_u U_ICU_ENTRY_POINT_RENAME(u_vfscanf_u) >#define u_vparseMessage U_ICU_ENTRY_POINT_RENAME(u_vparseMessage) >#define u_vparseMessageWithError U_ICU_ENTRY_POINT_RENAME(u_vparseMessageWithError) >#define u_vsnprintf U_ICU_ENTRY_POINT_RENAME(u_vsnprintf) >#define u_vsnprintf_u U_ICU_ENTRY_POINT_RENAME(u_vsnprintf_u) >#define u_vsprintf U_ICU_ENTRY_POINT_RENAME(u_vsprintf) >#define u_vsprintf_u U_ICU_ENTRY_POINT_RENAME(u_vsprintf_u) >#define u_vsscanf U_ICU_ENTRY_POINT_RENAME(u_vsscanf) >#define u_vsscanf_u U_ICU_ENTRY_POINT_RENAME(u_vsscanf_u) >#define u_writeIdenticalLevelRun U_ICU_ENTRY_POINT_RENAME(u_writeIdenticalLevelRun) >#define ubidi_addPropertyStarts U_ICU_ENTRY_POINT_RENAME(ubidi_addPropertyStarts) >#define ubidi_close U_ICU_ENTRY_POINT_RENAME(ubidi_close) >#define ubidi_countParagraphs U_ICU_ENTRY_POINT_RENAME(ubidi_countParagraphs) >#define ubidi_countRuns U_ICU_ENTRY_POINT_RENAME(ubidi_countRuns) >#define ubidi_getBaseDirection U_ICU_ENTRY_POINT_RENAME(ubidi_getBaseDirection) >#define ubidi_getClass U_ICU_ENTRY_POINT_RENAME(ubidi_getClass) >#define ubidi_getClassCallback U_ICU_ENTRY_POINT_RENAME(ubidi_getClassCallback) >#define ubidi_getCustomizedClass U_ICU_ENTRY_POINT_RENAME(ubidi_getCustomizedClass) >#define ubidi_getDirection U_ICU_ENTRY_POINT_RENAME(ubidi_getDirection) >#define ubidi_getJoiningGroup U_ICU_ENTRY_POINT_RENAME(ubidi_getJoiningGroup) >#define ubidi_getJoiningType U_ICU_ENTRY_POINT_RENAME(ubidi_getJoiningType) >#define ubidi_getLength U_ICU_ENTRY_POINT_RENAME(ubidi_getLength) >#define ubidi_getLevelAt U_ICU_ENTRY_POINT_RENAME(ubidi_getLevelAt) >#define ubidi_getLevels U_ICU_ENTRY_POINT_RENAME(ubidi_getLevels) >#define ubidi_getLogicalIndex U_ICU_ENTRY_POINT_RENAME(ubidi_getLogicalIndex) >#define ubidi_getLogicalMap U_ICU_ENTRY_POINT_RENAME(ubidi_getLogicalMap) >#define ubidi_getLogicalRun U_ICU_ENTRY_POINT_RENAME(ubidi_getLogicalRun) >#define ubidi_getMaxValue U_ICU_ENTRY_POINT_RENAME(ubidi_getMaxValue) >#define ubidi_getMemory U_ICU_ENTRY_POINT_RENAME(ubidi_getMemory) >#define ubidi_getMirror U_ICU_ENTRY_POINT_RENAME(ubidi_getMirror) >#define ubidi_getPairedBracket U_ICU_ENTRY_POINT_RENAME(ubidi_getPairedBracket) >#define ubidi_getPairedBracketType U_ICU_ENTRY_POINT_RENAME(ubidi_getPairedBracketType) >#define ubidi_getParaLevel U_ICU_ENTRY_POINT_RENAME(ubidi_getParaLevel) >#define ubidi_getParaLevelAtIndex U_ICU_ENTRY_POINT_RENAME(ubidi_getParaLevelAtIndex) >#define ubidi_getParagraph U_ICU_ENTRY_POINT_RENAME(ubidi_getParagraph) >#define ubidi_getParagraphByIndex U_ICU_ENTRY_POINT_RENAME(ubidi_getParagraphByIndex) >#define ubidi_getProcessedLength U_ICU_ENTRY_POINT_RENAME(ubidi_getProcessedLength) >#define ubidi_getReorderingMode U_ICU_ENTRY_POINT_RENAME(ubidi_getReorderingMode) >#define ubidi_getReorderingOptions U_ICU_ENTRY_POINT_RENAME(ubidi_getReorderingOptions) >#define ubidi_getResultLength U_ICU_ENTRY_POINT_RENAME(ubidi_getResultLength) >#define ubidi_getRuns U_ICU_ENTRY_POINT_RENAME(ubidi_getRuns) >#define ubidi_getSingleton U_ICU_ENTRY_POINT_RENAME(ubidi_getSingleton) >#define ubidi_getText U_ICU_ENTRY_POINT_RENAME(ubidi_getText) >#define ubidi_getVisualIndex U_ICU_ENTRY_POINT_RENAME(ubidi_getVisualIndex) >#define ubidi_getVisualMap U_ICU_ENTRY_POINT_RENAME(ubidi_getVisualMap) >#define ubidi_getVisualRun U_ICU_ENTRY_POINT_RENAME(ubidi_getVisualRun) >#define ubidi_invertMap U_ICU_ENTRY_POINT_RENAME(ubidi_invertMap) >#define ubidi_isBidiControl U_ICU_ENTRY_POINT_RENAME(ubidi_isBidiControl) >#define ubidi_isInverse U_ICU_ENTRY_POINT_RENAME(ubidi_isInverse) >#define ubidi_isJoinControl U_ICU_ENTRY_POINT_RENAME(ubidi_isJoinControl) >#define ubidi_isMirrored U_ICU_ENTRY_POINT_RENAME(ubidi_isMirrored) >#define ubidi_isOrderParagraphsLTR U_ICU_ENTRY_POINT_RENAME(ubidi_isOrderParagraphsLTR) >#define ubidi_open U_ICU_ENTRY_POINT_RENAME(ubidi_open) >#define ubidi_openSized U_ICU_ENTRY_POINT_RENAME(ubidi_openSized) >#define ubidi_orderParagraphsLTR U_ICU_ENTRY_POINT_RENAME(ubidi_orderParagraphsLTR) >#define ubidi_reorderLogical U_ICU_ENTRY_POINT_RENAME(ubidi_reorderLogical) >#define ubidi_reorderVisual U_ICU_ENTRY_POINT_RENAME(ubidi_reorderVisual) >#define ubidi_setClassCallback U_ICU_ENTRY_POINT_RENAME(ubidi_setClassCallback) >#define ubidi_setContext U_ICU_ENTRY_POINT_RENAME(ubidi_setContext) >#define ubidi_setInverse U_ICU_ENTRY_POINT_RENAME(ubidi_setInverse) >#define ubidi_setLine U_ICU_ENTRY_POINT_RENAME(ubidi_setLine) >#define ubidi_setPara U_ICU_ENTRY_POINT_RENAME(ubidi_setPara) >#define ubidi_setReorderingMode U_ICU_ENTRY_POINT_RENAME(ubidi_setReorderingMode) >#define ubidi_setReorderingOptions U_ICU_ENTRY_POINT_RENAME(ubidi_setReorderingOptions) >#define ubidi_writeReordered U_ICU_ENTRY_POINT_RENAME(ubidi_writeReordered) >#define ubidi_writeReverse U_ICU_ENTRY_POINT_RENAME(ubidi_writeReverse) >#define ublock_getCode U_ICU_ENTRY_POINT_RENAME(ublock_getCode) >#define ubrk_close U_ICU_ENTRY_POINT_RENAME(ubrk_close) >#define ubrk_countAvailable U_ICU_ENTRY_POINT_RENAME(ubrk_countAvailable) >#define ubrk_current U_ICU_ENTRY_POINT_RENAME(ubrk_current) >#define ubrk_first U_ICU_ENTRY_POINT_RENAME(ubrk_first) >#define ubrk_following U_ICU_ENTRY_POINT_RENAME(ubrk_following) >#define ubrk_getAvailable U_ICU_ENTRY_POINT_RENAME(ubrk_getAvailable) >#define ubrk_getLocaleByType U_ICU_ENTRY_POINT_RENAME(ubrk_getLocaleByType) >#define ubrk_getRuleStatus U_ICU_ENTRY_POINT_RENAME(ubrk_getRuleStatus) >#define ubrk_getRuleStatusVec U_ICU_ENTRY_POINT_RENAME(ubrk_getRuleStatusVec) >#define ubrk_isBoundary U_ICU_ENTRY_POINT_RENAME(ubrk_isBoundary) >#define ubrk_last U_ICU_ENTRY_POINT_RENAME(ubrk_last) >#define ubrk_next U_ICU_ENTRY_POINT_RENAME(ubrk_next) >#define ubrk_open U_ICU_ENTRY_POINT_RENAME(ubrk_open) >#define ubrk_openRules U_ICU_ENTRY_POINT_RENAME(ubrk_openRules) >#define ubrk_preceding U_ICU_ENTRY_POINT_RENAME(ubrk_preceding) >#define ubrk_previous U_ICU_ENTRY_POINT_RENAME(ubrk_previous) >#define ubrk_refreshUText U_ICU_ENTRY_POINT_RENAME(ubrk_refreshUText) >#define ubrk_safeClone U_ICU_ENTRY_POINT_RENAME(ubrk_safeClone) >#define ubrk_setText U_ICU_ENTRY_POINT_RENAME(ubrk_setText) >#define ubrk_setUText U_ICU_ENTRY_POINT_RENAME(ubrk_setUText) >#define ubrk_swap U_ICU_ENTRY_POINT_RENAME(ubrk_swap) >#define ucache_compareKeys U_ICU_ENTRY_POINT_RENAME(ucache_compareKeys) >#define ucache_deleteKey U_ICU_ENTRY_POINT_RENAME(ucache_deleteKey) >#define ucache_hashKeys U_ICU_ENTRY_POINT_RENAME(ucache_hashKeys) >#define ucal_add U_ICU_ENTRY_POINT_RENAME(ucal_add) >#define ucal_clear U_ICU_ENTRY_POINT_RENAME(ucal_clear) >#define ucal_clearField U_ICU_ENTRY_POINT_RENAME(ucal_clearField) >#define ucal_clone U_ICU_ENTRY_POINT_RENAME(ucal_clone) >#define ucal_close U_ICU_ENTRY_POINT_RENAME(ucal_close) >#define ucal_countAvailable U_ICU_ENTRY_POINT_RENAME(ucal_countAvailable) >#define ucal_equivalentTo U_ICU_ENTRY_POINT_RENAME(ucal_equivalentTo) >#define ucal_get U_ICU_ENTRY_POINT_RENAME(ucal_get) >#define ucal_getAttribute U_ICU_ENTRY_POINT_RENAME(ucal_getAttribute) >#define ucal_getAvailable U_ICU_ENTRY_POINT_RENAME(ucal_getAvailable) >#define ucal_getCanonicalTimeZoneID U_ICU_ENTRY_POINT_RENAME(ucal_getCanonicalTimeZoneID) >#define ucal_getDSTSavings U_ICU_ENTRY_POINT_RENAME(ucal_getDSTSavings) >#define ucal_getDayOfWeekType U_ICU_ENTRY_POINT_RENAME(ucal_getDayOfWeekType) >#define ucal_getDefaultTimeZone U_ICU_ENTRY_POINT_RENAME(ucal_getDefaultTimeZone) >#define ucal_getFieldDifference U_ICU_ENTRY_POINT_RENAME(ucal_getFieldDifference) >#define ucal_getGregorianChange U_ICU_ENTRY_POINT_RENAME(ucal_getGregorianChange) >#define ucal_getKeywordValuesForLocale U_ICU_ENTRY_POINT_RENAME(ucal_getKeywordValuesForLocale) >#define ucal_getLimit U_ICU_ENTRY_POINT_RENAME(ucal_getLimit) >#define ucal_getLocaleByType U_ICU_ENTRY_POINT_RENAME(ucal_getLocaleByType) >#define ucal_getMillis U_ICU_ENTRY_POINT_RENAME(ucal_getMillis) >#define ucal_getNow U_ICU_ENTRY_POINT_RENAME(ucal_getNow) >#define ucal_getTZDataVersion U_ICU_ENTRY_POINT_RENAME(ucal_getTZDataVersion) >#define ucal_getTimeZoneDisplayName U_ICU_ENTRY_POINT_RENAME(ucal_getTimeZoneDisplayName) >#define ucal_getTimeZoneID U_ICU_ENTRY_POINT_RENAME(ucal_getTimeZoneID) >#define ucal_getTimeZoneIDForWindowsID U_ICU_ENTRY_POINT_RENAME(ucal_getTimeZoneIDForWindowsID) >#define ucal_getTimeZoneTransitionDate U_ICU_ENTRY_POINT_RENAME(ucal_getTimeZoneTransitionDate) >#define ucal_getType U_ICU_ENTRY_POINT_RENAME(ucal_getType) >#define ucal_getWeekendTransition U_ICU_ENTRY_POINT_RENAME(ucal_getWeekendTransition) >#define ucal_getWindowsTimeZoneID U_ICU_ENTRY_POINT_RENAME(ucal_getWindowsTimeZoneID) >#define ucal_inDaylightTime U_ICU_ENTRY_POINT_RENAME(ucal_inDaylightTime) >#define ucal_isSet U_ICU_ENTRY_POINT_RENAME(ucal_isSet) >#define ucal_isWeekend U_ICU_ENTRY_POINT_RENAME(ucal_isWeekend) >#define ucal_open U_ICU_ENTRY_POINT_RENAME(ucal_open) >#define ucal_openCountryTimeZones U_ICU_ENTRY_POINT_RENAME(ucal_openCountryTimeZones) >#define ucal_openTimeZoneIDEnumeration U_ICU_ENTRY_POINT_RENAME(ucal_openTimeZoneIDEnumeration) >#define ucal_openTimeZones U_ICU_ENTRY_POINT_RENAME(ucal_openTimeZones) >#define ucal_roll U_ICU_ENTRY_POINT_RENAME(ucal_roll) >#define ucal_set U_ICU_ENTRY_POINT_RENAME(ucal_set) >#define ucal_setAttribute U_ICU_ENTRY_POINT_RENAME(ucal_setAttribute) >#define ucal_setDate U_ICU_ENTRY_POINT_RENAME(ucal_setDate) >#define ucal_setDateTime U_ICU_ENTRY_POINT_RENAME(ucal_setDateTime) >#define ucal_setDefaultTimeZone U_ICU_ENTRY_POINT_RENAME(ucal_setDefaultTimeZone) >#define ucal_setGregorianChange U_ICU_ENTRY_POINT_RENAME(ucal_setGregorianChange) >#define ucal_setMillis U_ICU_ENTRY_POINT_RENAME(ucal_setMillis) >#define ucal_setTimeZone U_ICU_ENTRY_POINT_RENAME(ucal_setTimeZone) >#define ucase_addCaseClosure U_ICU_ENTRY_POINT_RENAME(ucase_addCaseClosure) >#define ucase_addPropertyStarts U_ICU_ENTRY_POINT_RENAME(ucase_addPropertyStarts) >#define ucase_addStringCaseClosure U_ICU_ENTRY_POINT_RENAME(ucase_addStringCaseClosure) >#define ucase_fold U_ICU_ENTRY_POINT_RENAME(ucase_fold) >#define ucase_getCaseLocale U_ICU_ENTRY_POINT_RENAME(ucase_getCaseLocale) >#define ucase_getSingleton U_ICU_ENTRY_POINT_RENAME(ucase_getSingleton) >#define ucase_getType U_ICU_ENTRY_POINT_RENAME(ucase_getType) >#define ucase_getTypeOrIgnorable U_ICU_ENTRY_POINT_RENAME(ucase_getTypeOrIgnorable) >#define ucase_hasBinaryProperty U_ICU_ENTRY_POINT_RENAME(ucase_hasBinaryProperty) >#define ucase_isCaseSensitive U_ICU_ENTRY_POINT_RENAME(ucase_isCaseSensitive) >#define ucase_isSoftDotted U_ICU_ENTRY_POINT_RENAME(ucase_isSoftDotted) >#define ucase_toFullFolding U_ICU_ENTRY_POINT_RENAME(ucase_toFullFolding) >#define ucase_toFullLower U_ICU_ENTRY_POINT_RENAME(ucase_toFullLower) >#define ucase_toFullTitle U_ICU_ENTRY_POINT_RENAME(ucase_toFullTitle) >#define ucase_toFullUpper U_ICU_ENTRY_POINT_RENAME(ucase_toFullUpper) >#define ucase_tolower U_ICU_ENTRY_POINT_RENAME(ucase_tolower) >#define ucase_totitle U_ICU_ENTRY_POINT_RENAME(ucase_totitle) >#define ucase_toupper U_ICU_ENTRY_POINT_RENAME(ucase_toupper) >#define ucasemap_close U_ICU_ENTRY_POINT_RENAME(ucasemap_close) >#define ucasemap_getBreakIterator U_ICU_ENTRY_POINT_RENAME(ucasemap_getBreakIterator) >#define ucasemap_getLocale U_ICU_ENTRY_POINT_RENAME(ucasemap_getLocale) >#define ucasemap_getOptions U_ICU_ENTRY_POINT_RENAME(ucasemap_getOptions) >#define ucasemap_internalUTF8ToTitle U_ICU_ENTRY_POINT_RENAME(ucasemap_internalUTF8ToTitle) >#define ucasemap_mapUTF8 U_ICU_ENTRY_POINT_RENAME(ucasemap_mapUTF8) >#define ucasemap_open U_ICU_ENTRY_POINT_RENAME(ucasemap_open) >#define ucasemap_setBreakIterator U_ICU_ENTRY_POINT_RENAME(ucasemap_setBreakIterator) >#define ucasemap_setLocale U_ICU_ENTRY_POINT_RENAME(ucasemap_setLocale) >#define ucasemap_setOptions U_ICU_ENTRY_POINT_RENAME(ucasemap_setOptions) >#define ucasemap_toTitle U_ICU_ENTRY_POINT_RENAME(ucasemap_toTitle) >#define ucasemap_utf8FoldCase U_ICU_ENTRY_POINT_RENAME(ucasemap_utf8FoldCase) >#define ucasemap_utf8ToLower U_ICU_ENTRY_POINT_RENAME(ucasemap_utf8ToLower) >#define ucasemap_utf8ToTitle U_ICU_ENTRY_POINT_RENAME(ucasemap_utf8ToTitle) >#define ucasemap_utf8ToUpper U_ICU_ENTRY_POINT_RENAME(ucasemap_utf8ToUpper) >#define uchar_addPropertyStarts U_ICU_ENTRY_POINT_RENAME(uchar_addPropertyStarts) >#define uchar_swapNames U_ICU_ENTRY_POINT_RENAME(uchar_swapNames) >#define ucln_cleanupOne U_ICU_ENTRY_POINT_RENAME(ucln_cleanupOne) >#define ucln_common_registerCleanup U_ICU_ENTRY_POINT_RENAME(ucln_common_registerCleanup) >#define ucln_i18n_registerCleanup U_ICU_ENTRY_POINT_RENAME(ucln_i18n_registerCleanup) >#define ucln_io_registerCleanup U_ICU_ENTRY_POINT_RENAME(ucln_io_registerCleanup) >#define ucln_lib_cleanup U_ICU_ENTRY_POINT_RENAME(ucln_lib_cleanup) >#define ucln_registerCleanup U_ICU_ENTRY_POINT_RENAME(ucln_registerCleanup) >#define ucnv_MBCSFromUChar32 U_ICU_ENTRY_POINT_RENAME(ucnv_MBCSFromUChar32) >#define ucnv_MBCSFromUnicodeWithOffsets U_ICU_ENTRY_POINT_RENAME(ucnv_MBCSFromUnicodeWithOffsets) >#define ucnv_MBCSGetFilteredUnicodeSetForUnicode U_ICU_ENTRY_POINT_RENAME(ucnv_MBCSGetFilteredUnicodeSetForUnicode) >#define ucnv_MBCSGetType U_ICU_ENTRY_POINT_RENAME(ucnv_MBCSGetType) >#define ucnv_MBCSGetUnicodeSetForUnicode U_ICU_ENTRY_POINT_RENAME(ucnv_MBCSGetUnicodeSetForUnicode) >#define ucnv_MBCSIsLeadByte U_ICU_ENTRY_POINT_RENAME(ucnv_MBCSIsLeadByte) >#define ucnv_MBCSSimpleGetNextUChar U_ICU_ENTRY_POINT_RENAME(ucnv_MBCSSimpleGetNextUChar) >#define ucnv_MBCSToUnicodeWithOffsets U_ICU_ENTRY_POINT_RENAME(ucnv_MBCSToUnicodeWithOffsets) >#define ucnv_bld_countAvailableConverters U_ICU_ENTRY_POINT_RENAME(ucnv_bld_countAvailableConverters) >#define ucnv_bld_getAvailableConverter U_ICU_ENTRY_POINT_RENAME(ucnv_bld_getAvailableConverter) >#define ucnv_canCreateConverter U_ICU_ENTRY_POINT_RENAME(ucnv_canCreateConverter) >#define ucnv_cbFromUWriteBytes U_ICU_ENTRY_POINT_RENAME(ucnv_cbFromUWriteBytes) >#define ucnv_cbFromUWriteSub U_ICU_ENTRY_POINT_RENAME(ucnv_cbFromUWriteSub) >#define ucnv_cbFromUWriteUChars U_ICU_ENTRY_POINT_RENAME(ucnv_cbFromUWriteUChars) >#define ucnv_cbToUWriteSub U_ICU_ENTRY_POINT_RENAME(ucnv_cbToUWriteSub) >#define ucnv_cbToUWriteUChars U_ICU_ENTRY_POINT_RENAME(ucnv_cbToUWriteUChars) >#define ucnv_close U_ICU_ENTRY_POINT_RENAME(ucnv_close) >#define ucnv_compareNames U_ICU_ENTRY_POINT_RENAME(ucnv_compareNames) >#define ucnv_convert U_ICU_ENTRY_POINT_RENAME(ucnv_convert) >#define ucnv_convertEx U_ICU_ENTRY_POINT_RENAME(ucnv_convertEx) >#define ucnv_countAliases U_ICU_ENTRY_POINT_RENAME(ucnv_countAliases) >#define ucnv_countAvailable U_ICU_ENTRY_POINT_RENAME(ucnv_countAvailable) >#define ucnv_countStandards U_ICU_ENTRY_POINT_RENAME(ucnv_countStandards) >#define ucnv_createAlgorithmicConverter U_ICU_ENTRY_POINT_RENAME(ucnv_createAlgorithmicConverter) >#define ucnv_createConverter U_ICU_ENTRY_POINT_RENAME(ucnv_createConverter) >#define ucnv_createConverterFromPackage U_ICU_ENTRY_POINT_RENAME(ucnv_createConverterFromPackage) >#define ucnv_createConverterFromSharedData U_ICU_ENTRY_POINT_RENAME(ucnv_createConverterFromSharedData) >#define ucnv_detectUnicodeSignature U_ICU_ENTRY_POINT_RENAME(ucnv_detectUnicodeSignature) >#define ucnv_extContinueMatchFromU U_ICU_ENTRY_POINT_RENAME(ucnv_extContinueMatchFromU) >#define ucnv_extContinueMatchToU U_ICU_ENTRY_POINT_RENAME(ucnv_extContinueMatchToU) >#define ucnv_extGetUnicodeSet U_ICU_ENTRY_POINT_RENAME(ucnv_extGetUnicodeSet) >#define ucnv_extInitialMatchFromU U_ICU_ENTRY_POINT_RENAME(ucnv_extInitialMatchFromU) >#define ucnv_extInitialMatchToU U_ICU_ENTRY_POINT_RENAME(ucnv_extInitialMatchToU) >#define ucnv_extSimpleMatchFromU U_ICU_ENTRY_POINT_RENAME(ucnv_extSimpleMatchFromU) >#define ucnv_extSimpleMatchToU U_ICU_ENTRY_POINT_RENAME(ucnv_extSimpleMatchToU) >#define ucnv_fixFileSeparator U_ICU_ENTRY_POINT_RENAME(ucnv_fixFileSeparator) >#define ucnv_flushCache U_ICU_ENTRY_POINT_RENAME(ucnv_flushCache) >#define ucnv_fromAlgorithmic U_ICU_ENTRY_POINT_RENAME(ucnv_fromAlgorithmic) >#define ucnv_fromUChars U_ICU_ENTRY_POINT_RENAME(ucnv_fromUChars) >#define ucnv_fromUCountPending U_ICU_ENTRY_POINT_RENAME(ucnv_fromUCountPending) >#define ucnv_fromUWriteBytes U_ICU_ENTRY_POINT_RENAME(ucnv_fromUWriteBytes) >#define ucnv_fromUnicode U_ICU_ENTRY_POINT_RENAME(ucnv_fromUnicode) >#define ucnv_fromUnicode_UTF8 U_ICU_ENTRY_POINT_RENAME(ucnv_fromUnicode_UTF8) >#define ucnv_fromUnicode_UTF8_OFFSETS_LOGIC U_ICU_ENTRY_POINT_RENAME(ucnv_fromUnicode_UTF8_OFFSETS_LOGIC) >#define ucnv_getAlias U_ICU_ENTRY_POINT_RENAME(ucnv_getAlias) >#define ucnv_getAliases U_ICU_ENTRY_POINT_RENAME(ucnv_getAliases) >#define ucnv_getAvailableName U_ICU_ENTRY_POINT_RENAME(ucnv_getAvailableName) >#define ucnv_getCCSID U_ICU_ENTRY_POINT_RENAME(ucnv_getCCSID) >#define ucnv_getCanonicalName U_ICU_ENTRY_POINT_RENAME(ucnv_getCanonicalName) >#define ucnv_getCompleteUnicodeSet U_ICU_ENTRY_POINT_RENAME(ucnv_getCompleteUnicodeSet) >#define ucnv_getDefaultName U_ICU_ENTRY_POINT_RENAME(ucnv_getDefaultName) >#define ucnv_getDisplayName U_ICU_ENTRY_POINT_RENAME(ucnv_getDisplayName) >#define ucnv_getFromUCallBack U_ICU_ENTRY_POINT_RENAME(ucnv_getFromUCallBack) >#define ucnv_getInvalidChars U_ICU_ENTRY_POINT_RENAME(ucnv_getInvalidChars) >#define ucnv_getInvalidUChars U_ICU_ENTRY_POINT_RENAME(ucnv_getInvalidUChars) >#define ucnv_getMaxCharSize U_ICU_ENTRY_POINT_RENAME(ucnv_getMaxCharSize) >#define ucnv_getMinCharSize U_ICU_ENTRY_POINT_RENAME(ucnv_getMinCharSize) >#define ucnv_getName U_ICU_ENTRY_POINT_RENAME(ucnv_getName) >#define ucnv_getNextUChar U_ICU_ENTRY_POINT_RENAME(ucnv_getNextUChar) >#define ucnv_getNonSurrogateUnicodeSet U_ICU_ENTRY_POINT_RENAME(ucnv_getNonSurrogateUnicodeSet) >#define ucnv_getPlatform U_ICU_ENTRY_POINT_RENAME(ucnv_getPlatform) >#define ucnv_getStandard U_ICU_ENTRY_POINT_RENAME(ucnv_getStandard) >#define ucnv_getStandardName U_ICU_ENTRY_POINT_RENAME(ucnv_getStandardName) >#define ucnv_getStarters U_ICU_ENTRY_POINT_RENAME(ucnv_getStarters) >#define ucnv_getSubstChars U_ICU_ENTRY_POINT_RENAME(ucnv_getSubstChars) >#define ucnv_getToUCallBack U_ICU_ENTRY_POINT_RENAME(ucnv_getToUCallBack) >#define ucnv_getType U_ICU_ENTRY_POINT_RENAME(ucnv_getType) >#define ucnv_getUnicodeSet U_ICU_ENTRY_POINT_RENAME(ucnv_getUnicodeSet) >#define ucnv_incrementRefCount U_ICU_ENTRY_POINT_RENAME(ucnv_incrementRefCount) >#define ucnv_io_countKnownConverters U_ICU_ENTRY_POINT_RENAME(ucnv_io_countKnownConverters) >#define ucnv_io_getConverterName U_ICU_ENTRY_POINT_RENAME(ucnv_io_getConverterName) >#define ucnv_io_stripASCIIForCompare U_ICU_ENTRY_POINT_RENAME(ucnv_io_stripASCIIForCompare) >#define ucnv_io_stripEBCDICForCompare U_ICU_ENTRY_POINT_RENAME(ucnv_io_stripEBCDICForCompare) >#define ucnv_isAmbiguous U_ICU_ENTRY_POINT_RENAME(ucnv_isAmbiguous) >#define ucnv_isFixedWidth U_ICU_ENTRY_POINT_RENAME(ucnv_isFixedWidth) >#define ucnv_load U_ICU_ENTRY_POINT_RENAME(ucnv_load) >#define ucnv_loadSharedData U_ICU_ENTRY_POINT_RENAME(ucnv_loadSharedData) >#define ucnv_open U_ICU_ENTRY_POINT_RENAME(ucnv_open) >#define ucnv_openAllNames U_ICU_ENTRY_POINT_RENAME(ucnv_openAllNames) >#define ucnv_openCCSID U_ICU_ENTRY_POINT_RENAME(ucnv_openCCSID) >#define ucnv_openPackage U_ICU_ENTRY_POINT_RENAME(ucnv_openPackage) >#define ucnv_openStandardNames U_ICU_ENTRY_POINT_RENAME(ucnv_openStandardNames) >#define ucnv_openU U_ICU_ENTRY_POINT_RENAME(ucnv_openU) >#define ucnv_reset U_ICU_ENTRY_POINT_RENAME(ucnv_reset) >#define ucnv_resetFromUnicode U_ICU_ENTRY_POINT_RENAME(ucnv_resetFromUnicode) >#define ucnv_resetToUnicode U_ICU_ENTRY_POINT_RENAME(ucnv_resetToUnicode) >#define ucnv_safeClone U_ICU_ENTRY_POINT_RENAME(ucnv_safeClone) >#define ucnv_setDefaultName U_ICU_ENTRY_POINT_RENAME(ucnv_setDefaultName) >#define ucnv_setFallback U_ICU_ENTRY_POINT_RENAME(ucnv_setFallback) >#define ucnv_setFromUCallBack U_ICU_ENTRY_POINT_RENAME(ucnv_setFromUCallBack) >#define ucnv_setSubstChars U_ICU_ENTRY_POINT_RENAME(ucnv_setSubstChars) >#define ucnv_setSubstString U_ICU_ENTRY_POINT_RENAME(ucnv_setSubstString) >#define ucnv_setToUCallBack U_ICU_ENTRY_POINT_RENAME(ucnv_setToUCallBack) >#define ucnv_swap U_ICU_ENTRY_POINT_RENAME(ucnv_swap) >#define ucnv_swapAliases U_ICU_ENTRY_POINT_RENAME(ucnv_swapAliases) >#define ucnv_toAlgorithmic U_ICU_ENTRY_POINT_RENAME(ucnv_toAlgorithmic) >#define ucnv_toUChars U_ICU_ENTRY_POINT_RENAME(ucnv_toUChars) >#define ucnv_toUCountPending U_ICU_ENTRY_POINT_RENAME(ucnv_toUCountPending) >#define ucnv_toUWriteCodePoint U_ICU_ENTRY_POINT_RENAME(ucnv_toUWriteCodePoint) >#define ucnv_toUWriteUChars U_ICU_ENTRY_POINT_RENAME(ucnv_toUWriteUChars) >#define ucnv_toUnicode U_ICU_ENTRY_POINT_RENAME(ucnv_toUnicode) >#define ucnv_unload U_ICU_ENTRY_POINT_RENAME(ucnv_unload) >#define ucnv_unloadSharedDataIfReady U_ICU_ENTRY_POINT_RENAME(ucnv_unloadSharedDataIfReady) >#define ucnv_usesFallback U_ICU_ENTRY_POINT_RENAME(ucnv_usesFallback) >#define ucnvsel_close U_ICU_ENTRY_POINT_RENAME(ucnvsel_close) >#define ucnvsel_open U_ICU_ENTRY_POINT_RENAME(ucnvsel_open) >#define ucnvsel_openFromSerialized U_ICU_ENTRY_POINT_RENAME(ucnvsel_openFromSerialized) >#define ucnvsel_selectForString U_ICU_ENTRY_POINT_RENAME(ucnvsel_selectForString) >#define ucnvsel_selectForUTF8 U_ICU_ENTRY_POINT_RENAME(ucnvsel_selectForUTF8) >#define ucnvsel_serialize U_ICU_ENTRY_POINT_RENAME(ucnvsel_serialize) >#define ucol_cloneBinary U_ICU_ENTRY_POINT_RENAME(ucol_cloneBinary) >#define ucol_close U_ICU_ENTRY_POINT_RENAME(ucol_close) >#define ucol_closeElements U_ICU_ENTRY_POINT_RENAME(ucol_closeElements) >#define ucol_countAvailable U_ICU_ENTRY_POINT_RENAME(ucol_countAvailable) >#define ucol_equal U_ICU_ENTRY_POINT_RENAME(ucol_equal) >#define ucol_equals U_ICU_ENTRY_POINT_RENAME(ucol_equals) >#define ucol_getAttribute U_ICU_ENTRY_POINT_RENAME(ucol_getAttribute) >#define ucol_getAvailable U_ICU_ENTRY_POINT_RENAME(ucol_getAvailable) >#define ucol_getBound U_ICU_ENTRY_POINT_RENAME(ucol_getBound) >#define ucol_getContractions U_ICU_ENTRY_POINT_RENAME(ucol_getContractions) >#define ucol_getContractionsAndExpansions U_ICU_ENTRY_POINT_RENAME(ucol_getContractionsAndExpansions) >#define ucol_getDisplayName U_ICU_ENTRY_POINT_RENAME(ucol_getDisplayName) >#define ucol_getEquivalentReorderCodes U_ICU_ENTRY_POINT_RENAME(ucol_getEquivalentReorderCodes) >#define ucol_getFunctionalEquivalent U_ICU_ENTRY_POINT_RENAME(ucol_getFunctionalEquivalent) >#define ucol_getKeywordValues U_ICU_ENTRY_POINT_RENAME(ucol_getKeywordValues) >#define ucol_getKeywordValuesForLocale U_ICU_ENTRY_POINT_RENAME(ucol_getKeywordValuesForLocale) >#define ucol_getKeywords U_ICU_ENTRY_POINT_RENAME(ucol_getKeywords) >#define ucol_getLocale U_ICU_ENTRY_POINT_RENAME(ucol_getLocale) >#define ucol_getLocaleByType U_ICU_ENTRY_POINT_RENAME(ucol_getLocaleByType) >#define ucol_getMaxExpansion U_ICU_ENTRY_POINT_RENAME(ucol_getMaxExpansion) >#define ucol_getMaxVariable U_ICU_ENTRY_POINT_RENAME(ucol_getMaxVariable) >#define ucol_getOffset U_ICU_ENTRY_POINT_RENAME(ucol_getOffset) >#define ucol_getReorderCodes U_ICU_ENTRY_POINT_RENAME(ucol_getReorderCodes) >#define ucol_getRules U_ICU_ENTRY_POINT_RENAME(ucol_getRules) >#define ucol_getRulesEx U_ICU_ENTRY_POINT_RENAME(ucol_getRulesEx) >#define ucol_getShortDefinitionString U_ICU_ENTRY_POINT_RENAME(ucol_getShortDefinitionString) >#define ucol_getSortKey U_ICU_ENTRY_POINT_RENAME(ucol_getSortKey) >#define ucol_getStrength U_ICU_ENTRY_POINT_RENAME(ucol_getStrength) >#define ucol_getTailoredSet U_ICU_ENTRY_POINT_RENAME(ucol_getTailoredSet) >#define ucol_getUCAVersion U_ICU_ENTRY_POINT_RENAME(ucol_getUCAVersion) >#define ucol_getUnsafeSet U_ICU_ENTRY_POINT_RENAME(ucol_getUnsafeSet) >#define ucol_getVariableTop U_ICU_ENTRY_POINT_RENAME(ucol_getVariableTop) >#define ucol_getVersion U_ICU_ENTRY_POINT_RENAME(ucol_getVersion) >#define ucol_greater U_ICU_ENTRY_POINT_RENAME(ucol_greater) >#define ucol_greaterOrEqual U_ICU_ENTRY_POINT_RENAME(ucol_greaterOrEqual) >#define ucol_keyHashCode U_ICU_ENTRY_POINT_RENAME(ucol_keyHashCode) >#define ucol_looksLikeCollationBinary U_ICU_ENTRY_POINT_RENAME(ucol_looksLikeCollationBinary) >#define ucol_mergeSortkeys U_ICU_ENTRY_POINT_RENAME(ucol_mergeSortkeys) >#define ucol_next U_ICU_ENTRY_POINT_RENAME(ucol_next) >#define ucol_nextSortKeyPart U_ICU_ENTRY_POINT_RENAME(ucol_nextSortKeyPart) >#define ucol_normalizeShortDefinitionString U_ICU_ENTRY_POINT_RENAME(ucol_normalizeShortDefinitionString) >#define ucol_open U_ICU_ENTRY_POINT_RENAME(ucol_open) >#define ucol_openAvailableLocales U_ICU_ENTRY_POINT_RENAME(ucol_openAvailableLocales) >#define ucol_openBinary U_ICU_ENTRY_POINT_RENAME(ucol_openBinary) >#define ucol_openElements U_ICU_ENTRY_POINT_RENAME(ucol_openElements) >#define ucol_openFromShortString U_ICU_ENTRY_POINT_RENAME(ucol_openFromShortString) >#define ucol_openRules U_ICU_ENTRY_POINT_RENAME(ucol_openRules) >#define ucol_prepareShortStringOpen U_ICU_ENTRY_POINT_RENAME(ucol_prepareShortStringOpen) >#define ucol_previous U_ICU_ENTRY_POINT_RENAME(ucol_previous) >#define ucol_primaryOrder U_ICU_ENTRY_POINT_RENAME(ucol_primaryOrder) >#define ucol_reset U_ICU_ENTRY_POINT_RENAME(ucol_reset) >#define ucol_restoreVariableTop U_ICU_ENTRY_POINT_RENAME(ucol_restoreVariableTop) >#define ucol_safeClone U_ICU_ENTRY_POINT_RENAME(ucol_safeClone) >#define ucol_secondaryOrder U_ICU_ENTRY_POINT_RENAME(ucol_secondaryOrder) >#define ucol_setAttribute U_ICU_ENTRY_POINT_RENAME(ucol_setAttribute) >#define ucol_setMaxVariable U_ICU_ENTRY_POINT_RENAME(ucol_setMaxVariable) >#define ucol_setOffset U_ICU_ENTRY_POINT_RENAME(ucol_setOffset) >#define ucol_setReorderCodes U_ICU_ENTRY_POINT_RENAME(ucol_setReorderCodes) >#define ucol_setStrength U_ICU_ENTRY_POINT_RENAME(ucol_setStrength) >#define ucol_setText U_ICU_ENTRY_POINT_RENAME(ucol_setText) >#define ucol_setVariableTop U_ICU_ENTRY_POINT_RENAME(ucol_setVariableTop) >#define ucol_strcoll U_ICU_ENTRY_POINT_RENAME(ucol_strcoll) >#define ucol_strcollIter U_ICU_ENTRY_POINT_RENAME(ucol_strcollIter) >#define ucol_strcollUTF8 U_ICU_ENTRY_POINT_RENAME(ucol_strcollUTF8) >#define ucol_swap U_ICU_ENTRY_POINT_RENAME(ucol_swap) >#define ucol_swapInverseUCA U_ICU_ENTRY_POINT_RENAME(ucol_swapInverseUCA) >#define ucol_tertiaryOrder U_ICU_ENTRY_POINT_RENAME(ucol_tertiaryOrder) >#define ucsdet_close U_ICU_ENTRY_POINT_RENAME(ucsdet_close) >#define ucsdet_detect U_ICU_ENTRY_POINT_RENAME(ucsdet_detect) >#define ucsdet_detectAll U_ICU_ENTRY_POINT_RENAME(ucsdet_detectAll) >#define ucsdet_enableInputFilter U_ICU_ENTRY_POINT_RENAME(ucsdet_enableInputFilter) >#define ucsdet_getAllDetectableCharsets U_ICU_ENTRY_POINT_RENAME(ucsdet_getAllDetectableCharsets) >#define ucsdet_getConfidence U_ICU_ENTRY_POINT_RENAME(ucsdet_getConfidence) >#define ucsdet_getDetectableCharsets U_ICU_ENTRY_POINT_RENAME(ucsdet_getDetectableCharsets) >#define ucsdet_getLanguage U_ICU_ENTRY_POINT_RENAME(ucsdet_getLanguage) >#define ucsdet_getName U_ICU_ENTRY_POINT_RENAME(ucsdet_getName) >#define ucsdet_getUChars U_ICU_ENTRY_POINT_RENAME(ucsdet_getUChars) >#define ucsdet_isInputFilterEnabled U_ICU_ENTRY_POINT_RENAME(ucsdet_isInputFilterEnabled) >#define ucsdet_open U_ICU_ENTRY_POINT_RENAME(ucsdet_open) >#define ucsdet_setDeclaredEncoding U_ICU_ENTRY_POINT_RENAME(ucsdet_setDeclaredEncoding) >#define ucsdet_setDetectableCharset U_ICU_ENTRY_POINT_RENAME(ucsdet_setDetectableCharset) >#define ucsdet_setText U_ICU_ENTRY_POINT_RENAME(ucsdet_setText) >#define ucurr_countCurrencies U_ICU_ENTRY_POINT_RENAME(ucurr_countCurrencies) >#define ucurr_forLocale U_ICU_ENTRY_POINT_RENAME(ucurr_forLocale) >#define ucurr_forLocaleAndDate U_ICU_ENTRY_POINT_RENAME(ucurr_forLocaleAndDate) >#define ucurr_getDefaultFractionDigits U_ICU_ENTRY_POINT_RENAME(ucurr_getDefaultFractionDigits) >#define ucurr_getDefaultFractionDigitsForUsage U_ICU_ENTRY_POINT_RENAME(ucurr_getDefaultFractionDigitsForUsage) >#define ucurr_getKeywordValuesForLocale U_ICU_ENTRY_POINT_RENAME(ucurr_getKeywordValuesForLocale) >#define ucurr_getName U_ICU_ENTRY_POINT_RENAME(ucurr_getName) >#define ucurr_getNumericCode U_ICU_ENTRY_POINT_RENAME(ucurr_getNumericCode) >#define ucurr_getPluralName U_ICU_ENTRY_POINT_RENAME(ucurr_getPluralName) >#define ucurr_getRoundingIncrement U_ICU_ENTRY_POINT_RENAME(ucurr_getRoundingIncrement) >#define ucurr_getRoundingIncrementForUsage U_ICU_ENTRY_POINT_RENAME(ucurr_getRoundingIncrementForUsage) >#define ucurr_isAvailable U_ICU_ENTRY_POINT_RENAME(ucurr_isAvailable) >#define ucurr_openISOCurrencies U_ICU_ENTRY_POINT_RENAME(ucurr_openISOCurrencies) >#define ucurr_register U_ICU_ENTRY_POINT_RENAME(ucurr_register) >#define ucurr_unregister U_ICU_ENTRY_POINT_RENAME(ucurr_unregister) >#define udat_adoptNumberFormat U_ICU_ENTRY_POINT_RENAME(udat_adoptNumberFormat) >#define udat_adoptNumberFormatForFields U_ICU_ENTRY_POINT_RENAME(udat_adoptNumberFormatForFields) >#define udat_applyPattern U_ICU_ENTRY_POINT_RENAME(udat_applyPattern) >#define udat_applyPatternRelative U_ICU_ENTRY_POINT_RENAME(udat_applyPatternRelative) >#define udat_clone U_ICU_ENTRY_POINT_RENAME(udat_clone) >#define udat_close U_ICU_ENTRY_POINT_RENAME(udat_close) >#define udat_countAvailable U_ICU_ENTRY_POINT_RENAME(udat_countAvailable) >#define udat_countSymbols U_ICU_ENTRY_POINT_RENAME(udat_countSymbols) >#define udat_format U_ICU_ENTRY_POINT_RENAME(udat_format) >#define udat_formatCalendar U_ICU_ENTRY_POINT_RENAME(udat_formatCalendar) >#define udat_formatCalendarForFields U_ICU_ENTRY_POINT_RENAME(udat_formatCalendarForFields) >#define udat_formatForFields U_ICU_ENTRY_POINT_RENAME(udat_formatForFields) >#define udat_get2DigitYearStart U_ICU_ENTRY_POINT_RENAME(udat_get2DigitYearStart) >#define udat_getAvailable U_ICU_ENTRY_POINT_RENAME(udat_getAvailable) >#define udat_getBooleanAttribute U_ICU_ENTRY_POINT_RENAME(udat_getBooleanAttribute) >#define udat_getCalendar U_ICU_ENTRY_POINT_RENAME(udat_getCalendar) >#define udat_getContext U_ICU_ENTRY_POINT_RENAME(udat_getContext) >#define udat_getLocaleByType U_ICU_ENTRY_POINT_RENAME(udat_getLocaleByType) >#define udat_getNumberFormat U_ICU_ENTRY_POINT_RENAME(udat_getNumberFormat) >#define udat_getNumberFormatForField U_ICU_ENTRY_POINT_RENAME(udat_getNumberFormatForField) >#define udat_getSymbols U_ICU_ENTRY_POINT_RENAME(udat_getSymbols) >#define udat_isLenient U_ICU_ENTRY_POINT_RENAME(udat_isLenient) >#define udat_open U_ICU_ENTRY_POINT_RENAME(udat_open) >#define udat_parse U_ICU_ENTRY_POINT_RENAME(udat_parse) >#define udat_parseCalendar U_ICU_ENTRY_POINT_RENAME(udat_parseCalendar) >#define udat_registerOpener U_ICU_ENTRY_POINT_RENAME(udat_registerOpener) >#define udat_set2DigitYearStart U_ICU_ENTRY_POINT_RENAME(udat_set2DigitYearStart) >#define udat_setBooleanAttribute U_ICU_ENTRY_POINT_RENAME(udat_setBooleanAttribute) >#define udat_setCalendar U_ICU_ENTRY_POINT_RENAME(udat_setCalendar) >#define udat_setContext U_ICU_ENTRY_POINT_RENAME(udat_setContext) >#define udat_setLenient U_ICU_ENTRY_POINT_RENAME(udat_setLenient) >#define udat_setNumberFormat U_ICU_ENTRY_POINT_RENAME(udat_setNumberFormat) >#define udat_setSymbols U_ICU_ENTRY_POINT_RENAME(udat_setSymbols) >#define udat_toCalendarDateField U_ICU_ENTRY_POINT_RENAME(udat_toCalendarDateField) >#define udat_toPattern U_ICU_ENTRY_POINT_RENAME(udat_toPattern) >#define udat_toPatternRelativeDate U_ICU_ENTRY_POINT_RENAME(udat_toPatternRelativeDate) >#define udat_toPatternRelativeTime U_ICU_ENTRY_POINT_RENAME(udat_toPatternRelativeTime) >#define udat_unregisterOpener U_ICU_ENTRY_POINT_RENAME(udat_unregisterOpener) >#define udata_checkCommonData U_ICU_ENTRY_POINT_RENAME(udata_checkCommonData) >#define udata_close U_ICU_ENTRY_POINT_RENAME(udata_close) >#define udata_closeSwapper U_ICU_ENTRY_POINT_RENAME(udata_closeSwapper) >#define udata_getHeaderSize U_ICU_ENTRY_POINT_RENAME(udata_getHeaderSize) >#define udata_getInfo U_ICU_ENTRY_POINT_RENAME(udata_getInfo) >#define udata_getInfoSize U_ICU_ENTRY_POINT_RENAME(udata_getInfoSize) >#define udata_getLength U_ICU_ENTRY_POINT_RENAME(udata_getLength) >#define udata_getMemory U_ICU_ENTRY_POINT_RENAME(udata_getMemory) >#define udata_getRawMemory U_ICU_ENTRY_POINT_RENAME(udata_getRawMemory) >#define udata_open U_ICU_ENTRY_POINT_RENAME(udata_open) >#define udata_openChoice U_ICU_ENTRY_POINT_RENAME(udata_openChoice) >#define udata_openSwapper U_ICU_ENTRY_POINT_RENAME(udata_openSwapper) >#define udata_openSwapperForInputData U_ICU_ENTRY_POINT_RENAME(udata_openSwapperForInputData) >#define udata_printError U_ICU_ENTRY_POINT_RENAME(udata_printError) >#define udata_readInt16 U_ICU_ENTRY_POINT_RENAME(udata_readInt16) >#define udata_readInt32 U_ICU_ENTRY_POINT_RENAME(udata_readInt32) >#define udata_setAppData U_ICU_ENTRY_POINT_RENAME(udata_setAppData) >#define udata_setCommonData U_ICU_ENTRY_POINT_RENAME(udata_setCommonData) >#define udata_setFileAccess U_ICU_ENTRY_POINT_RENAME(udata_setFileAccess) >#define udata_swapDataHeader U_ICU_ENTRY_POINT_RENAME(udata_swapDataHeader) >#define udata_swapInvStringBlock U_ICU_ENTRY_POINT_RENAME(udata_swapInvStringBlock) >#define udatpg_addPattern U_ICU_ENTRY_POINT_RENAME(udatpg_addPattern) >#define udatpg_clone U_ICU_ENTRY_POINT_RENAME(udatpg_clone) >#define udatpg_close U_ICU_ENTRY_POINT_RENAME(udatpg_close) >#define udatpg_getAppendItemFormat U_ICU_ENTRY_POINT_RENAME(udatpg_getAppendItemFormat) >#define udatpg_getAppendItemName U_ICU_ENTRY_POINT_RENAME(udatpg_getAppendItemName) >#define udatpg_getBaseSkeleton U_ICU_ENTRY_POINT_RENAME(udatpg_getBaseSkeleton) >#define udatpg_getBestPattern U_ICU_ENTRY_POINT_RENAME(udatpg_getBestPattern) >#define udatpg_getBestPatternWithOptions U_ICU_ENTRY_POINT_RENAME(udatpg_getBestPatternWithOptions) >#define udatpg_getDateTimeFormat U_ICU_ENTRY_POINT_RENAME(udatpg_getDateTimeFormat) >#define udatpg_getDecimal U_ICU_ENTRY_POINT_RENAME(udatpg_getDecimal) >#define udatpg_getPatternForSkeleton U_ICU_ENTRY_POINT_RENAME(udatpg_getPatternForSkeleton) >#define udatpg_getSkeleton U_ICU_ENTRY_POINT_RENAME(udatpg_getSkeleton) >#define udatpg_open U_ICU_ENTRY_POINT_RENAME(udatpg_open) >#define udatpg_openBaseSkeletons U_ICU_ENTRY_POINT_RENAME(udatpg_openBaseSkeletons) >#define udatpg_openEmpty U_ICU_ENTRY_POINT_RENAME(udatpg_openEmpty) >#define udatpg_openSkeletons U_ICU_ENTRY_POINT_RENAME(udatpg_openSkeletons) >#define udatpg_replaceFieldTypes U_ICU_ENTRY_POINT_RENAME(udatpg_replaceFieldTypes) >#define udatpg_replaceFieldTypesWithOptions U_ICU_ENTRY_POINT_RENAME(udatpg_replaceFieldTypesWithOptions) >#define udatpg_setAppendItemFormat U_ICU_ENTRY_POINT_RENAME(udatpg_setAppendItemFormat) >#define udatpg_setAppendItemName U_ICU_ENTRY_POINT_RENAME(udatpg_setAppendItemName) >#define udatpg_setDateTimeFormat U_ICU_ENTRY_POINT_RENAME(udatpg_setDateTimeFormat) >#define udatpg_setDecimal U_ICU_ENTRY_POINT_RENAME(udatpg_setDecimal) >#define udict_swap U_ICU_ENTRY_POINT_RENAME(udict_swap) >#define udtitvfmt_close U_ICU_ENTRY_POINT_RENAME(udtitvfmt_close) >#define udtitvfmt_format U_ICU_ENTRY_POINT_RENAME(udtitvfmt_format) >#define udtitvfmt_open U_ICU_ENTRY_POINT_RENAME(udtitvfmt_open) >#define uenum_close U_ICU_ENTRY_POINT_RENAME(uenum_close) >#define uenum_count U_ICU_ENTRY_POINT_RENAME(uenum_count) >#define uenum_next U_ICU_ENTRY_POINT_RENAME(uenum_next) >#define uenum_nextDefault U_ICU_ENTRY_POINT_RENAME(uenum_nextDefault) >#define uenum_openCharStringsEnumeration U_ICU_ENTRY_POINT_RENAME(uenum_openCharStringsEnumeration) >#define uenum_openFromStringEnumeration U_ICU_ENTRY_POINT_RENAME(uenum_openFromStringEnumeration) >#define uenum_openUCharStringsEnumeration U_ICU_ENTRY_POINT_RENAME(uenum_openUCharStringsEnumeration) >#define uenum_reset U_ICU_ENTRY_POINT_RENAME(uenum_reset) >#define uenum_unext U_ICU_ENTRY_POINT_RENAME(uenum_unext) >#define uenum_unextDefault U_ICU_ENTRY_POINT_RENAME(uenum_unextDefault) >#define ufieldpositer_close U_ICU_ENTRY_POINT_RENAME(ufieldpositer_close) >#define ufieldpositer_next U_ICU_ENTRY_POINT_RENAME(ufieldpositer_next) >#define ufieldpositer_open U_ICU_ENTRY_POINT_RENAME(ufieldpositer_open) >#define ufile_close_translit U_ICU_ENTRY_POINT_RENAME(ufile_close_translit) >#define ufile_fill_uchar_buffer U_ICU_ENTRY_POINT_RENAME(ufile_fill_uchar_buffer) >#define ufile_flush_io U_ICU_ENTRY_POINT_RENAME(ufile_flush_io) >#define ufile_flush_translit U_ICU_ENTRY_POINT_RENAME(ufile_flush_translit) >#define ufile_getch U_ICU_ENTRY_POINT_RENAME(ufile_getch) >#define ufile_getch32 U_ICU_ENTRY_POINT_RENAME(ufile_getch32) >#define ufmt_64tou U_ICU_ENTRY_POINT_RENAME(ufmt_64tou) >#define ufmt_close U_ICU_ENTRY_POINT_RENAME(ufmt_close) >#define ufmt_defaultCPToUnicode U_ICU_ENTRY_POINT_RENAME(ufmt_defaultCPToUnicode) >#define ufmt_digitvalue U_ICU_ENTRY_POINT_RENAME(ufmt_digitvalue) >#define ufmt_getArrayItemByIndex U_ICU_ENTRY_POINT_RENAME(ufmt_getArrayItemByIndex) >#define ufmt_getArrayLength U_ICU_ENTRY_POINT_RENAME(ufmt_getArrayLength) >#define ufmt_getDate U_ICU_ENTRY_POINT_RENAME(ufmt_getDate) >#define ufmt_getDecNumChars U_ICU_ENTRY_POINT_RENAME(ufmt_getDecNumChars) >#define ufmt_getDouble U_ICU_ENTRY_POINT_RENAME(ufmt_getDouble) >#define ufmt_getInt64 U_ICU_ENTRY_POINT_RENAME(ufmt_getInt64) >#define ufmt_getLong U_ICU_ENTRY_POINT_RENAME(ufmt_getLong) >#define ufmt_getObject U_ICU_ENTRY_POINT_RENAME(ufmt_getObject) >#define ufmt_getType U_ICU_ENTRY_POINT_RENAME(ufmt_getType) >#define ufmt_getUChars U_ICU_ENTRY_POINT_RENAME(ufmt_getUChars) >#define ufmt_isNumeric U_ICU_ENTRY_POINT_RENAME(ufmt_isNumeric) >#define ufmt_isdigit U_ICU_ENTRY_POINT_RENAME(ufmt_isdigit) >#define ufmt_open U_ICU_ENTRY_POINT_RENAME(ufmt_open) >#define ufmt_ptou U_ICU_ENTRY_POINT_RENAME(ufmt_ptou) >#define ufmt_uto64 U_ICU_ENTRY_POINT_RENAME(ufmt_uto64) >#define ufmt_utop U_ICU_ENTRY_POINT_RENAME(ufmt_utop) >#define ugender_getInstance U_ICU_ENTRY_POINT_RENAME(ugender_getInstance) >#define ugender_getListGender U_ICU_ENTRY_POINT_RENAME(ugender_getListGender) >#define uhash_close U_ICU_ENTRY_POINT_RENAME(uhash_close) >#define uhash_compareCaselessUnicodeString U_ICU_ENTRY_POINT_RENAME(uhash_compareCaselessUnicodeString) >#define uhash_compareChars U_ICU_ENTRY_POINT_RENAME(uhash_compareChars) >#define uhash_compareIChars U_ICU_ENTRY_POINT_RENAME(uhash_compareIChars) >#define uhash_compareLong U_ICU_ENTRY_POINT_RENAME(uhash_compareLong) >#define uhash_compareScriptSet U_ICU_ENTRY_POINT_RENAME(uhash_compareScriptSet) >#define uhash_compareUChars U_ICU_ENTRY_POINT_RENAME(uhash_compareUChars) >#define uhash_compareUnicodeString U_ICU_ENTRY_POINT_RENAME(uhash_compareUnicodeString) >#define uhash_count U_ICU_ENTRY_POINT_RENAME(uhash_count) >#define uhash_deleteHashtable U_ICU_ENTRY_POINT_RENAME(uhash_deleteHashtable) >#define uhash_deleteScriptSet U_ICU_ENTRY_POINT_RENAME(uhash_deleteScriptSet) >#define uhash_equals U_ICU_ENTRY_POINT_RENAME(uhash_equals) >#define uhash_equalsScriptSet U_ICU_ENTRY_POINT_RENAME(uhash_equalsScriptSet) >#define uhash_find U_ICU_ENTRY_POINT_RENAME(uhash_find) >#define uhash_get U_ICU_ENTRY_POINT_RENAME(uhash_get) >#define uhash_geti U_ICU_ENTRY_POINT_RENAME(uhash_geti) >#define uhash_hashCaselessUnicodeString U_ICU_ENTRY_POINT_RENAME(uhash_hashCaselessUnicodeString) >#define uhash_hashChars U_ICU_ENTRY_POINT_RENAME(uhash_hashChars) >#define uhash_hashIChars U_ICU_ENTRY_POINT_RENAME(uhash_hashIChars) >#define uhash_hashLong U_ICU_ENTRY_POINT_RENAME(uhash_hashLong) >#define uhash_hashScriptSet U_ICU_ENTRY_POINT_RENAME(uhash_hashScriptSet) >#define uhash_hashUChars U_ICU_ENTRY_POINT_RENAME(uhash_hashUChars) >#define uhash_hashUnicodeString U_ICU_ENTRY_POINT_RENAME(uhash_hashUnicodeString) >#define uhash_iget U_ICU_ENTRY_POINT_RENAME(uhash_iget) >#define uhash_igeti U_ICU_ENTRY_POINT_RENAME(uhash_igeti) >#define uhash_init U_ICU_ENTRY_POINT_RENAME(uhash_init) >#define uhash_iput U_ICU_ENTRY_POINT_RENAME(uhash_iput) >#define uhash_iputi U_ICU_ENTRY_POINT_RENAME(uhash_iputi) >#define uhash_iremove U_ICU_ENTRY_POINT_RENAME(uhash_iremove) >#define uhash_iremovei U_ICU_ENTRY_POINT_RENAME(uhash_iremovei) >#define uhash_nextElement U_ICU_ENTRY_POINT_RENAME(uhash_nextElement) >#define uhash_open U_ICU_ENTRY_POINT_RENAME(uhash_open) >#define uhash_openSize U_ICU_ENTRY_POINT_RENAME(uhash_openSize) >#define uhash_put U_ICU_ENTRY_POINT_RENAME(uhash_put) >#define uhash_puti U_ICU_ENTRY_POINT_RENAME(uhash_puti) >#define uhash_remove U_ICU_ENTRY_POINT_RENAME(uhash_remove) >#define uhash_removeAll U_ICU_ENTRY_POINT_RENAME(uhash_removeAll) >#define uhash_removeElement U_ICU_ENTRY_POINT_RENAME(uhash_removeElement) >#define uhash_removei U_ICU_ENTRY_POINT_RENAME(uhash_removei) >#define uhash_setKeyComparator U_ICU_ENTRY_POINT_RENAME(uhash_setKeyComparator) >#define uhash_setKeyDeleter U_ICU_ENTRY_POINT_RENAME(uhash_setKeyDeleter) >#define uhash_setKeyHasher U_ICU_ENTRY_POINT_RENAME(uhash_setKeyHasher) >#define uhash_setResizePolicy U_ICU_ENTRY_POINT_RENAME(uhash_setResizePolicy) >#define uhash_setValueComparator U_ICU_ENTRY_POINT_RENAME(uhash_setValueComparator) >#define uhash_setValueDeleter U_ICU_ENTRY_POINT_RENAME(uhash_setValueDeleter) >#define uidna_IDNToASCII U_ICU_ENTRY_POINT_RENAME(uidna_IDNToASCII) >#define uidna_IDNToUnicode U_ICU_ENTRY_POINT_RENAME(uidna_IDNToUnicode) >#define uidna_close U_ICU_ENTRY_POINT_RENAME(uidna_close) >#define uidna_compare U_ICU_ENTRY_POINT_RENAME(uidna_compare) >#define uidna_labelToASCII U_ICU_ENTRY_POINT_RENAME(uidna_labelToASCII) >#define uidna_labelToASCII_UTF8 U_ICU_ENTRY_POINT_RENAME(uidna_labelToASCII_UTF8) >#define uidna_labelToUnicode U_ICU_ENTRY_POINT_RENAME(uidna_labelToUnicode) >#define uidna_labelToUnicodeUTF8 U_ICU_ENTRY_POINT_RENAME(uidna_labelToUnicodeUTF8) >#define uidna_nameToASCII U_ICU_ENTRY_POINT_RENAME(uidna_nameToASCII) >#define uidna_nameToASCII_UTF8 U_ICU_ENTRY_POINT_RENAME(uidna_nameToASCII_UTF8) >#define uidna_nameToUnicode U_ICU_ENTRY_POINT_RENAME(uidna_nameToUnicode) >#define uidna_nameToUnicodeUTF8 U_ICU_ENTRY_POINT_RENAME(uidna_nameToUnicodeUTF8) >#define uidna_openUTS46 U_ICU_ENTRY_POINT_RENAME(uidna_openUTS46) >#define uidna_toASCII U_ICU_ENTRY_POINT_RENAME(uidna_toASCII) >#define uidna_toUnicode U_ICU_ENTRY_POINT_RENAME(uidna_toUnicode) >#define uiter_current32 U_ICU_ENTRY_POINT_RENAME(uiter_current32) >#define uiter_getState U_ICU_ENTRY_POINT_RENAME(uiter_getState) >#define uiter_next32 U_ICU_ENTRY_POINT_RENAME(uiter_next32) >#define uiter_previous32 U_ICU_ENTRY_POINT_RENAME(uiter_previous32) >#define uiter_setCharacterIterator U_ICU_ENTRY_POINT_RENAME(uiter_setCharacterIterator) >#define uiter_setReplaceable U_ICU_ENTRY_POINT_RENAME(uiter_setReplaceable) >#define uiter_setState U_ICU_ENTRY_POINT_RENAME(uiter_setState) >#define uiter_setString U_ICU_ENTRY_POINT_RENAME(uiter_setString) >#define uiter_setUTF16BE U_ICU_ENTRY_POINT_RENAME(uiter_setUTF16BE) >#define uiter_setUTF8 U_ICU_ENTRY_POINT_RENAME(uiter_setUTF8) >#define uldn_close U_ICU_ENTRY_POINT_RENAME(uldn_close) >#define uldn_getContext U_ICU_ENTRY_POINT_RENAME(uldn_getContext) >#define uldn_getDialectHandling U_ICU_ENTRY_POINT_RENAME(uldn_getDialectHandling) >#define uldn_getLocale U_ICU_ENTRY_POINT_RENAME(uldn_getLocale) >#define uldn_keyDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_keyDisplayName) >#define uldn_keyValueDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_keyValueDisplayName) >#define uldn_languageDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_languageDisplayName) >#define uldn_localeDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_localeDisplayName) >#define uldn_open U_ICU_ENTRY_POINT_RENAME(uldn_open) >#define uldn_openForContext U_ICU_ENTRY_POINT_RENAME(uldn_openForContext) >#define uldn_regionDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_regionDisplayName) >#define uldn_scriptCodeDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_scriptCodeDisplayName) >#define uldn_scriptDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_scriptDisplayName) >#define uldn_variantDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_variantDisplayName) >#define ulist_addItemBeginList U_ICU_ENTRY_POINT_RENAME(ulist_addItemBeginList) >#define ulist_addItemEndList U_ICU_ENTRY_POINT_RENAME(ulist_addItemEndList) >#define ulist_close_keyword_values_iterator U_ICU_ENTRY_POINT_RENAME(ulist_close_keyword_values_iterator) >#define ulist_containsString U_ICU_ENTRY_POINT_RENAME(ulist_containsString) >#define ulist_count_keyword_values U_ICU_ENTRY_POINT_RENAME(ulist_count_keyword_values) >#define ulist_createEmptyList U_ICU_ENTRY_POINT_RENAME(ulist_createEmptyList) >#define ulist_deleteList U_ICU_ENTRY_POINT_RENAME(ulist_deleteList) >#define ulist_getListFromEnum U_ICU_ENTRY_POINT_RENAME(ulist_getListFromEnum) >#define ulist_getListSize U_ICU_ENTRY_POINT_RENAME(ulist_getListSize) >#define ulist_getNext U_ICU_ENTRY_POINT_RENAME(ulist_getNext) >#define ulist_next_keyword_value U_ICU_ENTRY_POINT_RENAME(ulist_next_keyword_value) >#define ulist_resetList U_ICU_ENTRY_POINT_RENAME(ulist_resetList) >#define ulist_reset_keyword_values_iterator U_ICU_ENTRY_POINT_RENAME(ulist_reset_keyword_values_iterator) >#define ulistfmt_close U_ICU_ENTRY_POINT_RENAME(ulistfmt_close) >#define ulistfmt_format U_ICU_ENTRY_POINT_RENAME(ulistfmt_format) >#define ulistfmt_open U_ICU_ENTRY_POINT_RENAME(ulistfmt_open) >#define uloc_acceptLanguage U_ICU_ENTRY_POINT_RENAME(uloc_acceptLanguage) >#define uloc_acceptLanguageFromHTTP U_ICU_ENTRY_POINT_RENAME(uloc_acceptLanguageFromHTTP) >#define uloc_addLikelySubtags U_ICU_ENTRY_POINT_RENAME(uloc_addLikelySubtags) >#define uloc_canonicalize U_ICU_ENTRY_POINT_RENAME(uloc_canonicalize) >#define uloc_countAvailable U_ICU_ENTRY_POINT_RENAME(uloc_countAvailable) >#define uloc_forLanguageTag U_ICU_ENTRY_POINT_RENAME(uloc_forLanguageTag) >#define uloc_getAvailable U_ICU_ENTRY_POINT_RENAME(uloc_getAvailable) >#define uloc_getBaseName U_ICU_ENTRY_POINT_RENAME(uloc_getBaseName) >#define uloc_getCharacterOrientation U_ICU_ENTRY_POINT_RENAME(uloc_getCharacterOrientation) >#define uloc_getCountry U_ICU_ENTRY_POINT_RENAME(uloc_getCountry) >#define uloc_getCurrentCountryID U_ICU_ENTRY_POINT_RENAME(uloc_getCurrentCountryID) >#define uloc_getCurrentLanguageID U_ICU_ENTRY_POINT_RENAME(uloc_getCurrentLanguageID) >#define uloc_getDefault U_ICU_ENTRY_POINT_RENAME(uloc_getDefault) >#define uloc_getDisplayCountry U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayCountry) >#define uloc_getDisplayKeyword U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayKeyword) >#define uloc_getDisplayKeywordValue U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayKeywordValue) >#define uloc_getDisplayLanguage U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayLanguage) >#define uloc_getDisplayName U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayName) >#define uloc_getDisplayScript U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayScript) >#define uloc_getDisplayScriptInContext U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayScriptInContext) >#define uloc_getDisplayVariant U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayVariant) >#define uloc_getISO3Country U_ICU_ENTRY_POINT_RENAME(uloc_getISO3Country) >#define uloc_getISO3Language U_ICU_ENTRY_POINT_RENAME(uloc_getISO3Language) >#define uloc_getISOCountries U_ICU_ENTRY_POINT_RENAME(uloc_getISOCountries) >#define uloc_getISOLanguages U_ICU_ENTRY_POINT_RENAME(uloc_getISOLanguages) >#define uloc_getKeywordValue U_ICU_ENTRY_POINT_RENAME(uloc_getKeywordValue) >#define uloc_getLCID U_ICU_ENTRY_POINT_RENAME(uloc_getLCID) >#define uloc_getLanguage U_ICU_ENTRY_POINT_RENAME(uloc_getLanguage) >#define uloc_getLineOrientation U_ICU_ENTRY_POINT_RENAME(uloc_getLineOrientation) >#define uloc_getLocaleForLCID U_ICU_ENTRY_POINT_RENAME(uloc_getLocaleForLCID) >#define uloc_getName U_ICU_ENTRY_POINT_RENAME(uloc_getName) >#define uloc_getParent U_ICU_ENTRY_POINT_RENAME(uloc_getParent) >#define uloc_getScript U_ICU_ENTRY_POINT_RENAME(uloc_getScript) >#define uloc_getTableStringWithFallback U_ICU_ENTRY_POINT_RENAME(uloc_getTableStringWithFallback) >#define uloc_getVariant U_ICU_ENTRY_POINT_RENAME(uloc_getVariant) >#define uloc_isRightToLeft U_ICU_ENTRY_POINT_RENAME(uloc_isRightToLeft) >#define uloc_minimizeSubtags U_ICU_ENTRY_POINT_RENAME(uloc_minimizeSubtags) >#define uloc_openKeywordList U_ICU_ENTRY_POINT_RENAME(uloc_openKeywordList) >#define uloc_openKeywords U_ICU_ENTRY_POINT_RENAME(uloc_openKeywords) >#define uloc_setDefault U_ICU_ENTRY_POINT_RENAME(uloc_setDefault) >#define uloc_setKeywordValue U_ICU_ENTRY_POINT_RENAME(uloc_setKeywordValue) >#define uloc_toLanguageTag U_ICU_ENTRY_POINT_RENAME(uloc_toLanguageTag) >#define uloc_toLegacyKey U_ICU_ENTRY_POINT_RENAME(uloc_toLegacyKey) >#define uloc_toLegacyType U_ICU_ENTRY_POINT_RENAME(uloc_toLegacyType) >#define uloc_toUnicodeLocaleKey U_ICU_ENTRY_POINT_RENAME(uloc_toUnicodeLocaleKey) >#define uloc_toUnicodeLocaleType U_ICU_ENTRY_POINT_RENAME(uloc_toUnicodeLocaleType) >#define ulocdata_close U_ICU_ENTRY_POINT_RENAME(ulocdata_close) >#define ulocdata_getCLDRVersion U_ICU_ENTRY_POINT_RENAME(ulocdata_getCLDRVersion) >#define ulocdata_getDelimiter U_ICU_ENTRY_POINT_RENAME(ulocdata_getDelimiter) >#define ulocdata_getExemplarSet U_ICU_ENTRY_POINT_RENAME(ulocdata_getExemplarSet) >#define ulocdata_getLocaleDisplayPattern U_ICU_ENTRY_POINT_RENAME(ulocdata_getLocaleDisplayPattern) >#define ulocdata_getLocaleSeparator U_ICU_ENTRY_POINT_RENAME(ulocdata_getLocaleSeparator) >#define ulocdata_getMeasurementSystem U_ICU_ENTRY_POINT_RENAME(ulocdata_getMeasurementSystem) >#define ulocdata_getNoSubstitute U_ICU_ENTRY_POINT_RENAME(ulocdata_getNoSubstitute) >#define ulocdata_getPaperSize U_ICU_ENTRY_POINT_RENAME(ulocdata_getPaperSize) >#define ulocdata_open U_ICU_ENTRY_POINT_RENAME(ulocdata_open) >#define ulocdata_setNoSubstitute U_ICU_ENTRY_POINT_RENAME(ulocdata_setNoSubstitute) >#define ulocimp_getCountry U_ICU_ENTRY_POINT_RENAME(ulocimp_getCountry) >#define ulocimp_getLanguage U_ICU_ENTRY_POINT_RENAME(ulocimp_getLanguage) >#define ulocimp_getScript U_ICU_ENTRY_POINT_RENAME(ulocimp_getScript) >#define ulocimp_toBcpKey U_ICU_ENTRY_POINT_RENAME(ulocimp_toBcpKey) >#define ulocimp_toBcpType U_ICU_ENTRY_POINT_RENAME(ulocimp_toBcpType) >#define ulocimp_toLegacyKey U_ICU_ENTRY_POINT_RENAME(ulocimp_toLegacyKey) >#define ulocimp_toLegacyType U_ICU_ENTRY_POINT_RENAME(ulocimp_toLegacyType) >#define ultag_isUnicodeLocaleKey U_ICU_ENTRY_POINT_RENAME(ultag_isUnicodeLocaleKey) >#define ultag_isUnicodeLocaleType U_ICU_ENTRY_POINT_RENAME(ultag_isUnicodeLocaleType) >#define umsg_applyPattern U_ICU_ENTRY_POINT_RENAME(umsg_applyPattern) >#define umsg_autoQuoteApostrophe U_ICU_ENTRY_POINT_RENAME(umsg_autoQuoteApostrophe) >#define umsg_clone U_ICU_ENTRY_POINT_RENAME(umsg_clone) >#define umsg_close U_ICU_ENTRY_POINT_RENAME(umsg_close) >#define umsg_format U_ICU_ENTRY_POINT_RENAME(umsg_format) >#define umsg_getLocale U_ICU_ENTRY_POINT_RENAME(umsg_getLocale) >#define umsg_open U_ICU_ENTRY_POINT_RENAME(umsg_open) >#define umsg_parse U_ICU_ENTRY_POINT_RENAME(umsg_parse) >#define umsg_setLocale U_ICU_ENTRY_POINT_RENAME(umsg_setLocale) >#define umsg_toPattern U_ICU_ENTRY_POINT_RENAME(umsg_toPattern) >#define umsg_vformat U_ICU_ENTRY_POINT_RENAME(umsg_vformat) >#define umsg_vparse U_ICU_ENTRY_POINT_RENAME(umsg_vparse) >#define umtx_condBroadcast U_ICU_ENTRY_POINT_RENAME(umtx_condBroadcast) >#define umtx_condSignal U_ICU_ENTRY_POINT_RENAME(umtx_condSignal) >#define umtx_condWait U_ICU_ENTRY_POINT_RENAME(umtx_condWait) >#define umtx_lock U_ICU_ENTRY_POINT_RENAME(umtx_lock) >#define umtx_unlock U_ICU_ENTRY_POINT_RENAME(umtx_unlock) >#define uniset_getUnicode32Instance U_ICU_ENTRY_POINT_RENAME(uniset_getUnicode32Instance) >#define unorm2_append U_ICU_ENTRY_POINT_RENAME(unorm2_append) >#define unorm2_close U_ICU_ENTRY_POINT_RENAME(unorm2_close) >#define unorm2_composePair U_ICU_ENTRY_POINT_RENAME(unorm2_composePair) >#define unorm2_getCombiningClass U_ICU_ENTRY_POINT_RENAME(unorm2_getCombiningClass) >#define unorm2_getDecomposition U_ICU_ENTRY_POINT_RENAME(unorm2_getDecomposition) >#define unorm2_getInstance U_ICU_ENTRY_POINT_RENAME(unorm2_getInstance) >#define unorm2_getNFCInstance U_ICU_ENTRY_POINT_RENAME(unorm2_getNFCInstance) >#define unorm2_getNFDInstance U_ICU_ENTRY_POINT_RENAME(unorm2_getNFDInstance) >#define unorm2_getNFKCCasefoldInstance U_ICU_ENTRY_POINT_RENAME(unorm2_getNFKCCasefoldInstance) >#define unorm2_getNFKCInstance U_ICU_ENTRY_POINT_RENAME(unorm2_getNFKCInstance) >#define unorm2_getNFKDInstance U_ICU_ENTRY_POINT_RENAME(unorm2_getNFKDInstance) >#define unorm2_getRawDecomposition U_ICU_ENTRY_POINT_RENAME(unorm2_getRawDecomposition) >#define unorm2_hasBoundaryAfter U_ICU_ENTRY_POINT_RENAME(unorm2_hasBoundaryAfter) >#define unorm2_hasBoundaryBefore U_ICU_ENTRY_POINT_RENAME(unorm2_hasBoundaryBefore) >#define unorm2_isInert U_ICU_ENTRY_POINT_RENAME(unorm2_isInert) >#define unorm2_isNormalized U_ICU_ENTRY_POINT_RENAME(unorm2_isNormalized) >#define unorm2_normalize U_ICU_ENTRY_POINT_RENAME(unorm2_normalize) >#define unorm2_normalizeSecondAndAppend U_ICU_ENTRY_POINT_RENAME(unorm2_normalizeSecondAndAppend) >#define unorm2_openFiltered U_ICU_ENTRY_POINT_RENAME(unorm2_openFiltered) >#define unorm2_quickCheck U_ICU_ENTRY_POINT_RENAME(unorm2_quickCheck) >#define unorm2_spanQuickCheckYes U_ICU_ENTRY_POINT_RENAME(unorm2_spanQuickCheckYes) >#define unorm2_swap U_ICU_ENTRY_POINT_RENAME(unorm2_swap) >#define unorm_compare U_ICU_ENTRY_POINT_RENAME(unorm_compare) >#define unorm_concatenate U_ICU_ENTRY_POINT_RENAME(unorm_concatenate) >#define unorm_getFCD16 U_ICU_ENTRY_POINT_RENAME(unorm_getFCD16) >#define unorm_getQuickCheck U_ICU_ENTRY_POINT_RENAME(unorm_getQuickCheck) >#define unorm_isNormalized U_ICU_ENTRY_POINT_RENAME(unorm_isNormalized) >#define unorm_isNormalizedWithOptions U_ICU_ENTRY_POINT_RENAME(unorm_isNormalizedWithOptions) >#define unorm_next U_ICU_ENTRY_POINT_RENAME(unorm_next) >#define unorm_normalize U_ICU_ENTRY_POINT_RENAME(unorm_normalize) >#define unorm_previous U_ICU_ENTRY_POINT_RENAME(unorm_previous) >#define unorm_quickCheck U_ICU_ENTRY_POINT_RENAME(unorm_quickCheck) >#define unorm_quickCheckWithOptions U_ICU_ENTRY_POINT_RENAME(unorm_quickCheckWithOptions) >#define unum_applyPattern U_ICU_ENTRY_POINT_RENAME(unum_applyPattern) >#define unum_clone U_ICU_ENTRY_POINT_RENAME(unum_clone) >#define unum_close U_ICU_ENTRY_POINT_RENAME(unum_close) >#define unum_countAvailable U_ICU_ENTRY_POINT_RENAME(unum_countAvailable) >#define unum_format U_ICU_ENTRY_POINT_RENAME(unum_format) >#define unum_formatDecimal U_ICU_ENTRY_POINT_RENAME(unum_formatDecimal) >#define unum_formatDouble U_ICU_ENTRY_POINT_RENAME(unum_formatDouble) >#define unum_formatDoubleCurrency U_ICU_ENTRY_POINT_RENAME(unum_formatDoubleCurrency) >#define unum_formatInt64 U_ICU_ENTRY_POINT_RENAME(unum_formatInt64) >#define unum_formatUFormattable U_ICU_ENTRY_POINT_RENAME(unum_formatUFormattable) >#define unum_getAttribute U_ICU_ENTRY_POINT_RENAME(unum_getAttribute) >#define unum_getAvailable U_ICU_ENTRY_POINT_RENAME(unum_getAvailable) >#define unum_getContext U_ICU_ENTRY_POINT_RENAME(unum_getContext) >#define unum_getDoubleAttribute U_ICU_ENTRY_POINT_RENAME(unum_getDoubleAttribute) >#define unum_getLocaleByType U_ICU_ENTRY_POINT_RENAME(unum_getLocaleByType) >#define unum_getSymbol U_ICU_ENTRY_POINT_RENAME(unum_getSymbol) >#define unum_getTextAttribute U_ICU_ENTRY_POINT_RENAME(unum_getTextAttribute) >#define unum_open U_ICU_ENTRY_POINT_RENAME(unum_open) >#define unum_parse U_ICU_ENTRY_POINT_RENAME(unum_parse) >#define unum_parseDecimal U_ICU_ENTRY_POINT_RENAME(unum_parseDecimal) >#define unum_parseDouble U_ICU_ENTRY_POINT_RENAME(unum_parseDouble) >#define unum_parseDoubleCurrency U_ICU_ENTRY_POINT_RENAME(unum_parseDoubleCurrency) >#define unum_parseInt64 U_ICU_ENTRY_POINT_RENAME(unum_parseInt64) >#define unum_parseToUFormattable U_ICU_ENTRY_POINT_RENAME(unum_parseToUFormattable) >#define unum_setAttribute U_ICU_ENTRY_POINT_RENAME(unum_setAttribute) >#define unum_setContext U_ICU_ENTRY_POINT_RENAME(unum_setContext) >#define unum_setDoubleAttribute U_ICU_ENTRY_POINT_RENAME(unum_setDoubleAttribute) >#define unum_setSymbol U_ICU_ENTRY_POINT_RENAME(unum_setSymbol) >#define unum_setTextAttribute U_ICU_ENTRY_POINT_RENAME(unum_setTextAttribute) >#define unum_toPattern U_ICU_ENTRY_POINT_RENAME(unum_toPattern) >#define unumsys_close U_ICU_ENTRY_POINT_RENAME(unumsys_close) >#define unumsys_getDescription U_ICU_ENTRY_POINT_RENAME(unumsys_getDescription) >#define unumsys_getName U_ICU_ENTRY_POINT_RENAME(unumsys_getName) >#define unumsys_getRadix U_ICU_ENTRY_POINT_RENAME(unumsys_getRadix) >#define unumsys_isAlgorithmic U_ICU_ENTRY_POINT_RENAME(unumsys_isAlgorithmic) >#define unumsys_open U_ICU_ENTRY_POINT_RENAME(unumsys_open) >#define unumsys_openAvailableNames U_ICU_ENTRY_POINT_RENAME(unumsys_openAvailableNames) >#define unumsys_openByName U_ICU_ENTRY_POINT_RENAME(unumsys_openByName) >#define uplrules_close U_ICU_ENTRY_POINT_RENAME(uplrules_close) >#define uplrules_open U_ICU_ENTRY_POINT_RENAME(uplrules_open) >#define uplrules_openForType U_ICU_ENTRY_POINT_RENAME(uplrules_openForType) >#define uplrules_select U_ICU_ENTRY_POINT_RENAME(uplrules_select) >#define uplug_closeLibrary U_ICU_ENTRY_POINT_RENAME(uplug_closeLibrary) >#define uplug_findLibrary U_ICU_ENTRY_POINT_RENAME(uplug_findLibrary) >#define uplug_getConfiguration U_ICU_ENTRY_POINT_RENAME(uplug_getConfiguration) >#define uplug_getContext U_ICU_ENTRY_POINT_RENAME(uplug_getContext) >#define uplug_getCurrentLevel U_ICU_ENTRY_POINT_RENAME(uplug_getCurrentLevel) >#define uplug_getLibrary U_ICU_ENTRY_POINT_RENAME(uplug_getLibrary) >#define uplug_getLibraryName U_ICU_ENTRY_POINT_RENAME(uplug_getLibraryName) >#define uplug_getPlugInternal U_ICU_ENTRY_POINT_RENAME(uplug_getPlugInternal) >#define uplug_getPlugLevel U_ICU_ENTRY_POINT_RENAME(uplug_getPlugLevel) >#define uplug_getPlugLoadStatus U_ICU_ENTRY_POINT_RENAME(uplug_getPlugLoadStatus) >#define uplug_getPlugName U_ICU_ENTRY_POINT_RENAME(uplug_getPlugName) >#define uplug_getPluginFile U_ICU_ENTRY_POINT_RENAME(uplug_getPluginFile) >#define uplug_getSymbolName U_ICU_ENTRY_POINT_RENAME(uplug_getSymbolName) >#define uplug_init U_ICU_ENTRY_POINT_RENAME(uplug_init) >#define uplug_loadPlugFromEntrypoint U_ICU_ENTRY_POINT_RENAME(uplug_loadPlugFromEntrypoint) >#define uplug_loadPlugFromLibrary U_ICU_ENTRY_POINT_RENAME(uplug_loadPlugFromLibrary) >#define uplug_nextPlug U_ICU_ENTRY_POINT_RENAME(uplug_nextPlug) >#define uplug_openLibrary U_ICU_ENTRY_POINT_RENAME(uplug_openLibrary) >#define uplug_removePlug U_ICU_ENTRY_POINT_RENAME(uplug_removePlug) >#define uplug_setContext U_ICU_ENTRY_POINT_RENAME(uplug_setContext) >#define uplug_setPlugLevel U_ICU_ENTRY_POINT_RENAME(uplug_setPlugLevel) >#define uplug_setPlugName U_ICU_ENTRY_POINT_RENAME(uplug_setPlugName) >#define uplug_setPlugNoUnload U_ICU_ENTRY_POINT_RENAME(uplug_setPlugNoUnload) >#define uprops_getSource U_ICU_ENTRY_POINT_RENAME(uprops_getSource) >#define upropsvec_addPropertyStarts U_ICU_ENTRY_POINT_RENAME(upropsvec_addPropertyStarts) >#define uprv_aestrncpy U_ICU_ENTRY_POINT_RENAME(uprv_aestrncpy) >#define uprv_asciiFromEbcdic U_ICU_ENTRY_POINT_RENAME(uprv_asciiFromEbcdic) >#define uprv_asciitolower U_ICU_ENTRY_POINT_RENAME(uprv_asciitolower) >#define uprv_calloc U_ICU_ENTRY_POINT_RENAME(uprv_calloc) >#define uprv_ceil U_ICU_ENTRY_POINT_RENAME(uprv_ceil) >#define uprv_compareASCIIPropertyNames U_ICU_ENTRY_POINT_RENAME(uprv_compareASCIIPropertyNames) >#define uprv_compareEBCDICPropertyNames U_ICU_ENTRY_POINT_RENAME(uprv_compareEBCDICPropertyNames) >#define uprv_compareInvAscii U_ICU_ENTRY_POINT_RENAME(uprv_compareInvAscii) >#define uprv_compareInvEbcdic U_ICU_ENTRY_POINT_RENAME(uprv_compareInvEbcdic) >#define uprv_compareInvEbcdicAsAscii U_ICU_ENTRY_POINT_RENAME(uprv_compareInvEbcdicAsAscii) >#define uprv_convertToLCID U_ICU_ENTRY_POINT_RENAME(uprv_convertToLCID) >#define uprv_convertToPosix U_ICU_ENTRY_POINT_RENAME(uprv_convertToPosix) >#define uprv_copyAscii U_ICU_ENTRY_POINT_RENAME(uprv_copyAscii) >#define uprv_copyEbcdic U_ICU_ENTRY_POINT_RENAME(uprv_copyEbcdic) >#define uprv_decContextClearStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextClearStatus) >#define uprv_decContextDefault U_ICU_ENTRY_POINT_RENAME(uprv_decContextDefault) >#define uprv_decContextGetRounding U_ICU_ENTRY_POINT_RENAME(uprv_decContextGetRounding) >#define uprv_decContextGetStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextGetStatus) >#define uprv_decContextRestoreStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextRestoreStatus) >#define uprv_decContextSaveStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextSaveStatus) >#define uprv_decContextSetRounding U_ICU_ENTRY_POINT_RENAME(uprv_decContextSetRounding) >#define uprv_decContextSetStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextSetStatus) >#define uprv_decContextSetStatusFromString U_ICU_ENTRY_POINT_RENAME(uprv_decContextSetStatusFromString) >#define uprv_decContextSetStatusFromStringQuiet U_ICU_ENTRY_POINT_RENAME(uprv_decContextSetStatusFromStringQuiet) >#define uprv_decContextSetStatusQuiet U_ICU_ENTRY_POINT_RENAME(uprv_decContextSetStatusQuiet) >#define uprv_decContextStatusToString U_ICU_ENTRY_POINT_RENAME(uprv_decContextStatusToString) >#define uprv_decContextTestSavedStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextTestSavedStatus) >#define uprv_decContextTestStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextTestStatus) >#define uprv_decContextZeroStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextZeroStatus) >#define uprv_decNumberAbs U_ICU_ENTRY_POINT_RENAME(uprv_decNumberAbs) >#define uprv_decNumberAdd U_ICU_ENTRY_POINT_RENAME(uprv_decNumberAdd) >#define uprv_decNumberAnd U_ICU_ENTRY_POINT_RENAME(uprv_decNumberAnd) >#define uprv_decNumberClass U_ICU_ENTRY_POINT_RENAME(uprv_decNumberClass) >#define uprv_decNumberClassToString U_ICU_ENTRY_POINT_RENAME(uprv_decNumberClassToString) >#define uprv_decNumberCompare U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCompare) >#define uprv_decNumberCompareSignal U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCompareSignal) >#define uprv_decNumberCompareTotal U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCompareTotal) >#define uprv_decNumberCompareTotalMag U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCompareTotalMag) >#define uprv_decNumberCopy U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCopy) >#define uprv_decNumberCopyAbs U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCopyAbs) >#define uprv_decNumberCopyNegate U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCopyNegate) >#define uprv_decNumberCopySign U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCopySign) >#define uprv_decNumberDivide U_ICU_ENTRY_POINT_RENAME(uprv_decNumberDivide) >#define uprv_decNumberDivideInteger U_ICU_ENTRY_POINT_RENAME(uprv_decNumberDivideInteger) >#define uprv_decNumberExp U_ICU_ENTRY_POINT_RENAME(uprv_decNumberExp) >#define uprv_decNumberFMA U_ICU_ENTRY_POINT_RENAME(uprv_decNumberFMA) >#define uprv_decNumberFromInt32 U_ICU_ENTRY_POINT_RENAME(uprv_decNumberFromInt32) >#define uprv_decNumberFromString U_ICU_ENTRY_POINT_RENAME(uprv_decNumberFromString) >#define uprv_decNumberFromUInt32 U_ICU_ENTRY_POINT_RENAME(uprv_decNumberFromUInt32) >#define uprv_decNumberGetBCD U_ICU_ENTRY_POINT_RENAME(uprv_decNumberGetBCD) >#define uprv_decNumberInvert U_ICU_ENTRY_POINT_RENAME(uprv_decNumberInvert) >#define uprv_decNumberIsNormal U_ICU_ENTRY_POINT_RENAME(uprv_decNumberIsNormal) >#define uprv_decNumberIsSubnormal U_ICU_ENTRY_POINT_RENAME(uprv_decNumberIsSubnormal) >#define uprv_decNumberLn U_ICU_ENTRY_POINT_RENAME(uprv_decNumberLn) >#define uprv_decNumberLog10 U_ICU_ENTRY_POINT_RENAME(uprv_decNumberLog10) >#define uprv_decNumberLogB U_ICU_ENTRY_POINT_RENAME(uprv_decNumberLogB) >#define uprv_decNumberMax U_ICU_ENTRY_POINT_RENAME(uprv_decNumberMax) >#define uprv_decNumberMaxMag U_ICU_ENTRY_POINT_RENAME(uprv_decNumberMaxMag) >#define uprv_decNumberMin U_ICU_ENTRY_POINT_RENAME(uprv_decNumberMin) >#define uprv_decNumberMinMag U_ICU_ENTRY_POINT_RENAME(uprv_decNumberMinMag) >#define uprv_decNumberMinus U_ICU_ENTRY_POINT_RENAME(uprv_decNumberMinus) >#define uprv_decNumberMultiply U_ICU_ENTRY_POINT_RENAME(uprv_decNumberMultiply) >#define uprv_decNumberNextMinus U_ICU_ENTRY_POINT_RENAME(uprv_decNumberNextMinus) >#define uprv_decNumberNextPlus U_ICU_ENTRY_POINT_RENAME(uprv_decNumberNextPlus) >#define uprv_decNumberNextToward U_ICU_ENTRY_POINT_RENAME(uprv_decNumberNextToward) >#define uprv_decNumberNormalize U_ICU_ENTRY_POINT_RENAME(uprv_decNumberNormalize) >#define uprv_decNumberOr U_ICU_ENTRY_POINT_RENAME(uprv_decNumberOr) >#define uprv_decNumberPlus U_ICU_ENTRY_POINT_RENAME(uprv_decNumberPlus) >#define uprv_decNumberPower U_ICU_ENTRY_POINT_RENAME(uprv_decNumberPower) >#define uprv_decNumberQuantize U_ICU_ENTRY_POINT_RENAME(uprv_decNumberQuantize) >#define uprv_decNumberReduce U_ICU_ENTRY_POINT_RENAME(uprv_decNumberReduce) >#define uprv_decNumberRemainder U_ICU_ENTRY_POINT_RENAME(uprv_decNumberRemainder) >#define uprv_decNumberRemainderNear U_ICU_ENTRY_POINT_RENAME(uprv_decNumberRemainderNear) >#define uprv_decNumberRescale U_ICU_ENTRY_POINT_RENAME(uprv_decNumberRescale) >#define uprv_decNumberRotate U_ICU_ENTRY_POINT_RENAME(uprv_decNumberRotate) >#define uprv_decNumberSameQuantum U_ICU_ENTRY_POINT_RENAME(uprv_decNumberSameQuantum) >#define uprv_decNumberScaleB U_ICU_ENTRY_POINT_RENAME(uprv_decNumberScaleB) >#define uprv_decNumberSetBCD U_ICU_ENTRY_POINT_RENAME(uprv_decNumberSetBCD) >#define uprv_decNumberShift U_ICU_ENTRY_POINT_RENAME(uprv_decNumberShift) >#define uprv_decNumberSquareRoot U_ICU_ENTRY_POINT_RENAME(uprv_decNumberSquareRoot) >#define uprv_decNumberSubtract U_ICU_ENTRY_POINT_RENAME(uprv_decNumberSubtract) >#define uprv_decNumberToEngString U_ICU_ENTRY_POINT_RENAME(uprv_decNumberToEngString) >#define uprv_decNumberToInt32 U_ICU_ENTRY_POINT_RENAME(uprv_decNumberToInt32) >#define uprv_decNumberToIntegralExact U_ICU_ENTRY_POINT_RENAME(uprv_decNumberToIntegralExact) >#define uprv_decNumberToIntegralValue U_ICU_ENTRY_POINT_RENAME(uprv_decNumberToIntegralValue) >#define uprv_decNumberToString U_ICU_ENTRY_POINT_RENAME(uprv_decNumberToString) >#define uprv_decNumberToUInt32 U_ICU_ENTRY_POINT_RENAME(uprv_decNumberToUInt32) >#define uprv_decNumberTrim U_ICU_ENTRY_POINT_RENAME(uprv_decNumberTrim) >#define uprv_decNumberVersion U_ICU_ENTRY_POINT_RENAME(uprv_decNumberVersion) >#define uprv_decNumberXor U_ICU_ENTRY_POINT_RENAME(uprv_decNumberXor) >#define uprv_decNumberZero U_ICU_ENTRY_POINT_RENAME(uprv_decNumberZero) >#define uprv_deleteConditionalCE32 U_ICU_ENTRY_POINT_RENAME(uprv_deleteConditionalCE32) >#define uprv_deleteUObject U_ICU_ENTRY_POINT_RENAME(uprv_deleteUObject) >#define uprv_dl_close U_ICU_ENTRY_POINT_RENAME(uprv_dl_close) >#define uprv_dl_open U_ICU_ENTRY_POINT_RENAME(uprv_dl_open) >#define uprv_dlsym_func U_ICU_ENTRY_POINT_RENAME(uprv_dlsym_func) >#define uprv_eastrncpy U_ICU_ENTRY_POINT_RENAME(uprv_eastrncpy) >#define uprv_ebcdicFromAscii U_ICU_ENTRY_POINT_RENAME(uprv_ebcdicFromAscii) >#define uprv_ebcdicToLowercaseAscii U_ICU_ENTRY_POINT_RENAME(uprv_ebcdicToLowercaseAscii) >#define uprv_ebcdictolower U_ICU_ENTRY_POINT_RENAME(uprv_ebcdictolower) >#define uprv_fabs U_ICU_ENTRY_POINT_RENAME(uprv_fabs) >#define uprv_floor U_ICU_ENTRY_POINT_RENAME(uprv_floor) >#define uprv_fmax U_ICU_ENTRY_POINT_RENAME(uprv_fmax) >#define uprv_fmin U_ICU_ENTRY_POINT_RENAME(uprv_fmin) >#define uprv_fmod U_ICU_ENTRY_POINT_RENAME(uprv_fmod) >#define uprv_free U_ICU_ENTRY_POINT_RENAME(uprv_free) >#define uprv_getCharNameCharacters U_ICU_ENTRY_POINT_RENAME(uprv_getCharNameCharacters) >#define uprv_getDefaultCodepage U_ICU_ENTRY_POINT_RENAME(uprv_getDefaultCodepage) >#define uprv_getDefaultLocaleID U_ICU_ENTRY_POINT_RENAME(uprv_getDefaultLocaleID) >#define uprv_getInfinity U_ICU_ENTRY_POINT_RENAME(uprv_getInfinity) >#define uprv_getMaxCharNameLength U_ICU_ENTRY_POINT_RENAME(uprv_getMaxCharNameLength) >#define uprv_getMaxValues U_ICU_ENTRY_POINT_RENAME(uprv_getMaxValues) >#define uprv_getNaN U_ICU_ENTRY_POINT_RENAME(uprv_getNaN) >#define uprv_getRawUTCtime U_ICU_ENTRY_POINT_RENAME(uprv_getRawUTCtime) >#define uprv_getStaticCurrencyName U_ICU_ENTRY_POINT_RENAME(uprv_getStaticCurrencyName) >#define uprv_getUTCtime U_ICU_ENTRY_POINT_RENAME(uprv_getUTCtime) >#define uprv_haveProperties U_ICU_ENTRY_POINT_RENAME(uprv_haveProperties) >#define uprv_int32Comparator U_ICU_ENTRY_POINT_RENAME(uprv_int32Comparator) >#define uprv_isASCIILetter U_ICU_ENTRY_POINT_RENAME(uprv_isASCIILetter) >#define uprv_isInfinite U_ICU_ENTRY_POINT_RENAME(uprv_isInfinite) >#define uprv_isInvariantString U_ICU_ENTRY_POINT_RENAME(uprv_isInvariantString) >#define uprv_isInvariantUString U_ICU_ENTRY_POINT_RENAME(uprv_isInvariantUString) >#define uprv_isNaN U_ICU_ENTRY_POINT_RENAME(uprv_isNaN) >#define uprv_isNegativeInfinity U_ICU_ENTRY_POINT_RENAME(uprv_isNegativeInfinity) >#define uprv_isPositiveInfinity U_ICU_ENTRY_POINT_RENAME(uprv_isPositiveInfinity) >#define uprv_itou U_ICU_ENTRY_POINT_RENAME(uprv_itou) >#define uprv_log U_ICU_ENTRY_POINT_RENAME(uprv_log) >#define uprv_malloc U_ICU_ENTRY_POINT_RENAME(uprv_malloc) >#define uprv_mapFile U_ICU_ENTRY_POINT_RENAME(uprv_mapFile) >#define uprv_max U_ICU_ENTRY_POINT_RENAME(uprv_max) >#define uprv_maxMantissa U_ICU_ENTRY_POINT_RENAME(uprv_maxMantissa) >#define uprv_maximumPtr U_ICU_ENTRY_POINT_RENAME(uprv_maximumPtr) >#define uprv_min U_ICU_ENTRY_POINT_RENAME(uprv_min) >#define uprv_modf U_ICU_ENTRY_POINT_RENAME(uprv_modf) >#define uprv_parseCurrency U_ICU_ENTRY_POINT_RENAME(uprv_parseCurrency) >#define uprv_pathIsAbsolute U_ICU_ENTRY_POINT_RENAME(uprv_pathIsAbsolute) >#define uprv_pow U_ICU_ENTRY_POINT_RENAME(uprv_pow) >#define uprv_pow10 U_ICU_ENTRY_POINT_RENAME(uprv_pow10) >#define uprv_realloc U_ICU_ENTRY_POINT_RENAME(uprv_realloc) >#define uprv_round U_ICU_ENTRY_POINT_RENAME(uprv_round) >#define uprv_sortArray U_ICU_ENTRY_POINT_RENAME(uprv_sortArray) >#define uprv_stableBinarySearch U_ICU_ENTRY_POINT_RENAME(uprv_stableBinarySearch) >#define uprv_strCompare U_ICU_ENTRY_POINT_RENAME(uprv_strCompare) >#define uprv_strdup U_ICU_ENTRY_POINT_RENAME(uprv_strdup) >#define uprv_stricmp U_ICU_ENTRY_POINT_RENAME(uprv_stricmp) >#define uprv_strndup U_ICU_ENTRY_POINT_RENAME(uprv_strndup) >#define uprv_strnicmp U_ICU_ENTRY_POINT_RENAME(uprv_strnicmp) >#define uprv_syntaxError U_ICU_ENTRY_POINT_RENAME(uprv_syntaxError) >#define uprv_timezone U_ICU_ENTRY_POINT_RENAME(uprv_timezone) >#define uprv_toupper U_ICU_ENTRY_POINT_RENAME(uprv_toupper) >#define uprv_trunc U_ICU_ENTRY_POINT_RENAME(uprv_trunc) >#define uprv_tzname U_ICU_ENTRY_POINT_RENAME(uprv_tzname) >#define uprv_tzset U_ICU_ENTRY_POINT_RENAME(uprv_tzset) >#define uprv_uint16Comparator U_ICU_ENTRY_POINT_RENAME(uprv_uint16Comparator) >#define uprv_uint32Comparator U_ICU_ENTRY_POINT_RENAME(uprv_uint32Comparator) >#define uprv_unmapFile U_ICU_ENTRY_POINT_RENAME(uprv_unmapFile) >#define upvec_cloneArray U_ICU_ENTRY_POINT_RENAME(upvec_cloneArray) >#define upvec_close U_ICU_ENTRY_POINT_RENAME(upvec_close) >#define upvec_compact U_ICU_ENTRY_POINT_RENAME(upvec_compact) >#define upvec_compactToUTrie2Handler U_ICU_ENTRY_POINT_RENAME(upvec_compactToUTrie2Handler) >#define upvec_compactToUTrie2WithRowIndexes U_ICU_ENTRY_POINT_RENAME(upvec_compactToUTrie2WithRowIndexes) >#define upvec_getArray U_ICU_ENTRY_POINT_RENAME(upvec_getArray) >#define upvec_getRow U_ICU_ENTRY_POINT_RENAME(upvec_getRow) >#define upvec_getValue U_ICU_ENTRY_POINT_RENAME(upvec_getValue) >#define upvec_open U_ICU_ENTRY_POINT_RENAME(upvec_open) >#define upvec_setValue U_ICU_ENTRY_POINT_RENAME(upvec_setValue) >#define uregex_appendReplacement U_ICU_ENTRY_POINT_RENAME(uregex_appendReplacement) >#define uregex_appendReplacementUText U_ICU_ENTRY_POINT_RENAME(uregex_appendReplacementUText) >#define uregex_appendTail U_ICU_ENTRY_POINT_RENAME(uregex_appendTail) >#define uregex_appendTailUText U_ICU_ENTRY_POINT_RENAME(uregex_appendTailUText) >#define uregex_clone U_ICU_ENTRY_POINT_RENAME(uregex_clone) >#define uregex_close U_ICU_ENTRY_POINT_RENAME(uregex_close) >#define uregex_end U_ICU_ENTRY_POINT_RENAME(uregex_end) >#define uregex_end64 U_ICU_ENTRY_POINT_RENAME(uregex_end64) >#define uregex_find U_ICU_ENTRY_POINT_RENAME(uregex_find) >#define uregex_find64 U_ICU_ENTRY_POINT_RENAME(uregex_find64) >#define uregex_findNext U_ICU_ENTRY_POINT_RENAME(uregex_findNext) >#define uregex_flags U_ICU_ENTRY_POINT_RENAME(uregex_flags) >#define uregex_getFindProgressCallback U_ICU_ENTRY_POINT_RENAME(uregex_getFindProgressCallback) >#define uregex_getMatchCallback U_ICU_ENTRY_POINT_RENAME(uregex_getMatchCallback) >#define uregex_getStackLimit U_ICU_ENTRY_POINT_RENAME(uregex_getStackLimit) >#define uregex_getText U_ICU_ENTRY_POINT_RENAME(uregex_getText) >#define uregex_getTimeLimit U_ICU_ENTRY_POINT_RENAME(uregex_getTimeLimit) >#define uregex_getUText U_ICU_ENTRY_POINT_RENAME(uregex_getUText) >#define uregex_group U_ICU_ENTRY_POINT_RENAME(uregex_group) >#define uregex_groupCount U_ICU_ENTRY_POINT_RENAME(uregex_groupCount) >#define uregex_groupNumberFromCName U_ICU_ENTRY_POINT_RENAME(uregex_groupNumberFromCName) >#define uregex_groupNumberFromName U_ICU_ENTRY_POINT_RENAME(uregex_groupNumberFromName) >#define uregex_groupUText U_ICU_ENTRY_POINT_RENAME(uregex_groupUText) >#define uregex_hasAnchoringBounds U_ICU_ENTRY_POINT_RENAME(uregex_hasAnchoringBounds) >#define uregex_hasTransparentBounds U_ICU_ENTRY_POINT_RENAME(uregex_hasTransparentBounds) >#define uregex_hitEnd U_ICU_ENTRY_POINT_RENAME(uregex_hitEnd) >#define uregex_lookingAt U_ICU_ENTRY_POINT_RENAME(uregex_lookingAt) >#define uregex_lookingAt64 U_ICU_ENTRY_POINT_RENAME(uregex_lookingAt64) >#define uregex_matches U_ICU_ENTRY_POINT_RENAME(uregex_matches) >#define uregex_matches64 U_ICU_ENTRY_POINT_RENAME(uregex_matches64) >#define uregex_open U_ICU_ENTRY_POINT_RENAME(uregex_open) >#define uregex_openC U_ICU_ENTRY_POINT_RENAME(uregex_openC) >#define uregex_openUText U_ICU_ENTRY_POINT_RENAME(uregex_openUText) >#define uregex_pattern U_ICU_ENTRY_POINT_RENAME(uregex_pattern) >#define uregex_patternUText U_ICU_ENTRY_POINT_RENAME(uregex_patternUText) >#define uregex_refreshUText U_ICU_ENTRY_POINT_RENAME(uregex_refreshUText) >#define uregex_regionEnd U_ICU_ENTRY_POINT_RENAME(uregex_regionEnd) >#define uregex_regionEnd64 U_ICU_ENTRY_POINT_RENAME(uregex_regionEnd64) >#define uregex_regionStart U_ICU_ENTRY_POINT_RENAME(uregex_regionStart) >#define uregex_regionStart64 U_ICU_ENTRY_POINT_RENAME(uregex_regionStart64) >#define uregex_replaceAll U_ICU_ENTRY_POINT_RENAME(uregex_replaceAll) >#define uregex_replaceAllUText U_ICU_ENTRY_POINT_RENAME(uregex_replaceAllUText) >#define uregex_replaceFirst U_ICU_ENTRY_POINT_RENAME(uregex_replaceFirst) >#define uregex_replaceFirstUText U_ICU_ENTRY_POINT_RENAME(uregex_replaceFirstUText) >#define uregex_requireEnd U_ICU_ENTRY_POINT_RENAME(uregex_requireEnd) >#define uregex_reset U_ICU_ENTRY_POINT_RENAME(uregex_reset) >#define uregex_reset64 U_ICU_ENTRY_POINT_RENAME(uregex_reset64) >#define uregex_setFindProgressCallback U_ICU_ENTRY_POINT_RENAME(uregex_setFindProgressCallback) >#define uregex_setMatchCallback U_ICU_ENTRY_POINT_RENAME(uregex_setMatchCallback) >#define uregex_setRegion U_ICU_ENTRY_POINT_RENAME(uregex_setRegion) >#define uregex_setRegion64 U_ICU_ENTRY_POINT_RENAME(uregex_setRegion64) >#define uregex_setRegionAndStart U_ICU_ENTRY_POINT_RENAME(uregex_setRegionAndStart) >#define uregex_setStackLimit U_ICU_ENTRY_POINT_RENAME(uregex_setStackLimit) >#define uregex_setText U_ICU_ENTRY_POINT_RENAME(uregex_setText) >#define uregex_setTimeLimit U_ICU_ENTRY_POINT_RENAME(uregex_setTimeLimit) >#define uregex_setUText U_ICU_ENTRY_POINT_RENAME(uregex_setUText) >#define uregex_split U_ICU_ENTRY_POINT_RENAME(uregex_split) >#define uregex_splitUText U_ICU_ENTRY_POINT_RENAME(uregex_splitUText) >#define uregex_start U_ICU_ENTRY_POINT_RENAME(uregex_start) >#define uregex_start64 U_ICU_ENTRY_POINT_RENAME(uregex_start64) >#define uregex_ucstr_unescape_charAt U_ICU_ENTRY_POINT_RENAME(uregex_ucstr_unescape_charAt) >#define uregex_useAnchoringBounds U_ICU_ENTRY_POINT_RENAME(uregex_useAnchoringBounds) >#define uregex_useTransparentBounds U_ICU_ENTRY_POINT_RENAME(uregex_useTransparentBounds) >#define uregex_utext_unescape_charAt U_ICU_ENTRY_POINT_RENAME(uregex_utext_unescape_charAt) >#define uregion_areEqual U_ICU_ENTRY_POINT_RENAME(uregion_areEqual) >#define uregion_contains U_ICU_ENTRY_POINT_RENAME(uregion_contains) >#define uregion_getAvailable U_ICU_ENTRY_POINT_RENAME(uregion_getAvailable) >#define uregion_getContainedRegions U_ICU_ENTRY_POINT_RENAME(uregion_getContainedRegions) >#define uregion_getContainedRegionsOfType U_ICU_ENTRY_POINT_RENAME(uregion_getContainedRegionsOfType) >#define uregion_getContainingRegion U_ICU_ENTRY_POINT_RENAME(uregion_getContainingRegion) >#define uregion_getContainingRegionOfType U_ICU_ENTRY_POINT_RENAME(uregion_getContainingRegionOfType) >#define uregion_getNumericCode U_ICU_ENTRY_POINT_RENAME(uregion_getNumericCode) >#define uregion_getPreferredValues U_ICU_ENTRY_POINT_RENAME(uregion_getPreferredValues) >#define uregion_getRegionCode U_ICU_ENTRY_POINT_RENAME(uregion_getRegionCode) >#define uregion_getRegionFromCode U_ICU_ENTRY_POINT_RENAME(uregion_getRegionFromCode) >#define uregion_getRegionFromNumericCode U_ICU_ENTRY_POINT_RENAME(uregion_getRegionFromNumericCode) >#define uregion_getType U_ICU_ENTRY_POINT_RENAME(uregion_getType) >#define ures_close U_ICU_ENTRY_POINT_RENAME(ures_close) >#define ures_copyResb U_ICU_ENTRY_POINT_RENAME(ures_copyResb) >#define ures_countArrayItems U_ICU_ENTRY_POINT_RENAME(ures_countArrayItems) >#define ures_findResource U_ICU_ENTRY_POINT_RENAME(ures_findResource) >#define ures_findSubResource U_ICU_ENTRY_POINT_RENAME(ures_findSubResource) >#define ures_getBinary U_ICU_ENTRY_POINT_RENAME(ures_getBinary) >#define ures_getByIndex U_ICU_ENTRY_POINT_RENAME(ures_getByIndex) >#define ures_getByKey U_ICU_ENTRY_POINT_RENAME(ures_getByKey) >#define ures_getByKeyWithFallback U_ICU_ENTRY_POINT_RENAME(ures_getByKeyWithFallback) >#define ures_getFunctionalEquivalent U_ICU_ENTRY_POINT_RENAME(ures_getFunctionalEquivalent) >#define ures_getInt U_ICU_ENTRY_POINT_RENAME(ures_getInt) >#define ures_getIntVector U_ICU_ENTRY_POINT_RENAME(ures_getIntVector) >#define ures_getKey U_ICU_ENTRY_POINT_RENAME(ures_getKey) >#define ures_getKeywordValues U_ICU_ENTRY_POINT_RENAME(ures_getKeywordValues) >#define ures_getLocale U_ICU_ENTRY_POINT_RENAME(ures_getLocale) >#define ures_getLocaleByType U_ICU_ENTRY_POINT_RENAME(ures_getLocaleByType) >#define ures_getLocaleInternal U_ICU_ENTRY_POINT_RENAME(ures_getLocaleInternal) >#define ures_getName U_ICU_ENTRY_POINT_RENAME(ures_getName) >#define ures_getNextResource U_ICU_ENTRY_POINT_RENAME(ures_getNextResource) >#define ures_getNextString U_ICU_ENTRY_POINT_RENAME(ures_getNextString) >#define ures_getSize U_ICU_ENTRY_POINT_RENAME(ures_getSize) >#define ures_getString U_ICU_ENTRY_POINT_RENAME(ures_getString) >#define ures_getStringByIndex U_ICU_ENTRY_POINT_RENAME(ures_getStringByIndex) >#define ures_getStringByKey U_ICU_ENTRY_POINT_RENAME(ures_getStringByKey) >#define ures_getStringByKeyWithFallback U_ICU_ENTRY_POINT_RENAME(ures_getStringByKeyWithFallback) >#define ures_getType U_ICU_ENTRY_POINT_RENAME(ures_getType) >#define ures_getUInt U_ICU_ENTRY_POINT_RENAME(ures_getUInt) >#define ures_getUTF8String U_ICU_ENTRY_POINT_RENAME(ures_getUTF8String) >#define ures_getUTF8StringByIndex U_ICU_ENTRY_POINT_RENAME(ures_getUTF8StringByIndex) >#define ures_getUTF8StringByKey U_ICU_ENTRY_POINT_RENAME(ures_getUTF8StringByKey) >#define ures_getVersion U_ICU_ENTRY_POINT_RENAME(ures_getVersion) >#define ures_getVersionByKey U_ICU_ENTRY_POINT_RENAME(ures_getVersionByKey) >#define ures_getVersionNumber U_ICU_ENTRY_POINT_RENAME(ures_getVersionNumber) >#define ures_getVersionNumberInternal U_ICU_ENTRY_POINT_RENAME(ures_getVersionNumberInternal) >#define ures_hasNext U_ICU_ENTRY_POINT_RENAME(ures_hasNext) >#define ures_initStackObject U_ICU_ENTRY_POINT_RENAME(ures_initStackObject) >#define ures_open U_ICU_ENTRY_POINT_RENAME(ures_open) >#define ures_openAvailableLocales U_ICU_ENTRY_POINT_RENAME(ures_openAvailableLocales) >#define ures_openDirect U_ICU_ENTRY_POINT_RENAME(ures_openDirect) >#define ures_openFillIn U_ICU_ENTRY_POINT_RENAME(ures_openFillIn) >#define ures_openNoDefault U_ICU_ENTRY_POINT_RENAME(ures_openNoDefault) >#define ures_openU U_ICU_ENTRY_POINT_RENAME(ures_openU) >#define ures_resetIterator U_ICU_ENTRY_POINT_RENAME(ures_resetIterator) >#define ures_swap U_ICU_ENTRY_POINT_RENAME(ures_swap) >#define uscript_breaksBetweenLetters U_ICU_ENTRY_POINT_RENAME(uscript_breaksBetweenLetters) >#define uscript_closeRun U_ICU_ENTRY_POINT_RENAME(uscript_closeRun) >#define uscript_getCode U_ICU_ENTRY_POINT_RENAME(uscript_getCode) >#define uscript_getName U_ICU_ENTRY_POINT_RENAME(uscript_getName) >#define uscript_getSampleString U_ICU_ENTRY_POINT_RENAME(uscript_getSampleString) >#define uscript_getSampleUnicodeString U_ICU_ENTRY_POINT_RENAME(uscript_getSampleUnicodeString) >#define uscript_getScript U_ICU_ENTRY_POINT_RENAME(uscript_getScript) >#define uscript_getScriptExtensions U_ICU_ENTRY_POINT_RENAME(uscript_getScriptExtensions) >#define uscript_getShortName U_ICU_ENTRY_POINT_RENAME(uscript_getShortName) >#define uscript_getUsage U_ICU_ENTRY_POINT_RENAME(uscript_getUsage) >#define uscript_hasScript U_ICU_ENTRY_POINT_RENAME(uscript_hasScript) >#define uscript_isCased U_ICU_ENTRY_POINT_RENAME(uscript_isCased) >#define uscript_isRightToLeft U_ICU_ENTRY_POINT_RENAME(uscript_isRightToLeft) >#define uscript_nextRun U_ICU_ENTRY_POINT_RENAME(uscript_nextRun) >#define uscript_openRun U_ICU_ENTRY_POINT_RENAME(uscript_openRun) >#define uscript_resetRun U_ICU_ENTRY_POINT_RENAME(uscript_resetRun) >#define uscript_setRunText U_ICU_ENTRY_POINT_RENAME(uscript_setRunText) >#define usearch_close U_ICU_ENTRY_POINT_RENAME(usearch_close) >#define usearch_first U_ICU_ENTRY_POINT_RENAME(usearch_first) >#define usearch_following U_ICU_ENTRY_POINT_RENAME(usearch_following) >#define usearch_getAttribute U_ICU_ENTRY_POINT_RENAME(usearch_getAttribute) >#define usearch_getBreakIterator U_ICU_ENTRY_POINT_RENAME(usearch_getBreakIterator) >#define usearch_getCollator U_ICU_ENTRY_POINT_RENAME(usearch_getCollator) >#define usearch_getMatchedLength U_ICU_ENTRY_POINT_RENAME(usearch_getMatchedLength) >#define usearch_getMatchedStart U_ICU_ENTRY_POINT_RENAME(usearch_getMatchedStart) >#define usearch_getMatchedText U_ICU_ENTRY_POINT_RENAME(usearch_getMatchedText) >#define usearch_getOffset U_ICU_ENTRY_POINT_RENAME(usearch_getOffset) >#define usearch_getPattern U_ICU_ENTRY_POINT_RENAME(usearch_getPattern) >#define usearch_getText U_ICU_ENTRY_POINT_RENAME(usearch_getText) >#define usearch_handleNextCanonical U_ICU_ENTRY_POINT_RENAME(usearch_handleNextCanonical) >#define usearch_handleNextExact U_ICU_ENTRY_POINT_RENAME(usearch_handleNextExact) >#define usearch_handlePreviousCanonical U_ICU_ENTRY_POINT_RENAME(usearch_handlePreviousCanonical) >#define usearch_handlePreviousExact U_ICU_ENTRY_POINT_RENAME(usearch_handlePreviousExact) >#define usearch_last U_ICU_ENTRY_POINT_RENAME(usearch_last) >#define usearch_next U_ICU_ENTRY_POINT_RENAME(usearch_next) >#define usearch_open U_ICU_ENTRY_POINT_RENAME(usearch_open) >#define usearch_openFromCollator U_ICU_ENTRY_POINT_RENAME(usearch_openFromCollator) >#define usearch_preceding U_ICU_ENTRY_POINT_RENAME(usearch_preceding) >#define usearch_previous U_ICU_ENTRY_POINT_RENAME(usearch_previous) >#define usearch_reset U_ICU_ENTRY_POINT_RENAME(usearch_reset) >#define usearch_search U_ICU_ENTRY_POINT_RENAME(usearch_search) >#define usearch_searchBackwards U_ICU_ENTRY_POINT_RENAME(usearch_searchBackwards) >#define usearch_setAttribute U_ICU_ENTRY_POINT_RENAME(usearch_setAttribute) >#define usearch_setBreakIterator U_ICU_ENTRY_POINT_RENAME(usearch_setBreakIterator) >#define usearch_setCollator U_ICU_ENTRY_POINT_RENAME(usearch_setCollator) >#define usearch_setOffset U_ICU_ENTRY_POINT_RENAME(usearch_setOffset) >#define usearch_setPattern U_ICU_ENTRY_POINT_RENAME(usearch_setPattern) >#define usearch_setText U_ICU_ENTRY_POINT_RENAME(usearch_setText) >#define uset_add U_ICU_ENTRY_POINT_RENAME(uset_add) >#define uset_addAll U_ICU_ENTRY_POINT_RENAME(uset_addAll) >#define uset_addAllCodePoints U_ICU_ENTRY_POINT_RENAME(uset_addAllCodePoints) >#define uset_addRange U_ICU_ENTRY_POINT_RENAME(uset_addRange) >#define uset_addString U_ICU_ENTRY_POINT_RENAME(uset_addString) >#define uset_applyIntPropertyValue U_ICU_ENTRY_POINT_RENAME(uset_applyIntPropertyValue) >#define uset_applyPattern U_ICU_ENTRY_POINT_RENAME(uset_applyPattern) >#define uset_applyPropertyAlias U_ICU_ENTRY_POINT_RENAME(uset_applyPropertyAlias) >#define uset_charAt U_ICU_ENTRY_POINT_RENAME(uset_charAt) >#define uset_clear U_ICU_ENTRY_POINT_RENAME(uset_clear) >#define uset_clone U_ICU_ENTRY_POINT_RENAME(uset_clone) >#define uset_cloneAsThawed U_ICU_ENTRY_POINT_RENAME(uset_cloneAsThawed) >#define uset_close U_ICU_ENTRY_POINT_RENAME(uset_close) >#define uset_closeOver U_ICU_ENTRY_POINT_RENAME(uset_closeOver) >#define uset_compact U_ICU_ENTRY_POINT_RENAME(uset_compact) >#define uset_complement U_ICU_ENTRY_POINT_RENAME(uset_complement) >#define uset_complementAll U_ICU_ENTRY_POINT_RENAME(uset_complementAll) >#define uset_contains U_ICU_ENTRY_POINT_RENAME(uset_contains) >#define uset_containsAll U_ICU_ENTRY_POINT_RENAME(uset_containsAll) >#define uset_containsAllCodePoints U_ICU_ENTRY_POINT_RENAME(uset_containsAllCodePoints) >#define uset_containsNone U_ICU_ENTRY_POINT_RENAME(uset_containsNone) >#define uset_containsRange U_ICU_ENTRY_POINT_RENAME(uset_containsRange) >#define uset_containsSome U_ICU_ENTRY_POINT_RENAME(uset_containsSome) >#define uset_containsString U_ICU_ENTRY_POINT_RENAME(uset_containsString) >#define uset_equals U_ICU_ENTRY_POINT_RENAME(uset_equals) >#define uset_freeze U_ICU_ENTRY_POINT_RENAME(uset_freeze) >#define uset_getItem U_ICU_ENTRY_POINT_RENAME(uset_getItem) >#define uset_getItemCount U_ICU_ENTRY_POINT_RENAME(uset_getItemCount) >#define uset_getSerializedRange U_ICU_ENTRY_POINT_RENAME(uset_getSerializedRange) >#define uset_getSerializedRangeCount U_ICU_ENTRY_POINT_RENAME(uset_getSerializedRangeCount) >#define uset_getSerializedSet U_ICU_ENTRY_POINT_RENAME(uset_getSerializedSet) >#define uset_indexOf U_ICU_ENTRY_POINT_RENAME(uset_indexOf) >#define uset_isEmpty U_ICU_ENTRY_POINT_RENAME(uset_isEmpty) >#define uset_isFrozen U_ICU_ENTRY_POINT_RENAME(uset_isFrozen) >#define uset_open U_ICU_ENTRY_POINT_RENAME(uset_open) >#define uset_openEmpty U_ICU_ENTRY_POINT_RENAME(uset_openEmpty) >#define uset_openPattern U_ICU_ENTRY_POINT_RENAME(uset_openPattern) >#define uset_openPatternOptions U_ICU_ENTRY_POINT_RENAME(uset_openPatternOptions) >#define uset_remove U_ICU_ENTRY_POINT_RENAME(uset_remove) >#define uset_removeAll U_ICU_ENTRY_POINT_RENAME(uset_removeAll) >#define uset_removeAllStrings U_ICU_ENTRY_POINT_RENAME(uset_removeAllStrings) >#define uset_removeRange U_ICU_ENTRY_POINT_RENAME(uset_removeRange) >#define uset_removeString U_ICU_ENTRY_POINT_RENAME(uset_removeString) >#define uset_resemblesPattern U_ICU_ENTRY_POINT_RENAME(uset_resemblesPattern) >#define uset_retain U_ICU_ENTRY_POINT_RENAME(uset_retain) >#define uset_retainAll U_ICU_ENTRY_POINT_RENAME(uset_retainAll) >#define uset_serialize U_ICU_ENTRY_POINT_RENAME(uset_serialize) >#define uset_serializedContains U_ICU_ENTRY_POINT_RENAME(uset_serializedContains) >#define uset_set U_ICU_ENTRY_POINT_RENAME(uset_set) >#define uset_setSerializedToOne U_ICU_ENTRY_POINT_RENAME(uset_setSerializedToOne) >#define uset_size U_ICU_ENTRY_POINT_RENAME(uset_size) >#define uset_span U_ICU_ENTRY_POINT_RENAME(uset_span) >#define uset_spanBack U_ICU_ENTRY_POINT_RENAME(uset_spanBack) >#define uset_spanBackUTF8 U_ICU_ENTRY_POINT_RENAME(uset_spanBackUTF8) >#define uset_spanUTF8 U_ICU_ENTRY_POINT_RENAME(uset_spanUTF8) >#define uset_toPattern U_ICU_ENTRY_POINT_RENAME(uset_toPattern) >#define uspoof_areConfusable U_ICU_ENTRY_POINT_RENAME(uspoof_areConfusable) >#define uspoof_areConfusableUTF8 U_ICU_ENTRY_POINT_RENAME(uspoof_areConfusableUTF8) >#define uspoof_areConfusableUnicodeString U_ICU_ENTRY_POINT_RENAME(uspoof_areConfusableUnicodeString) >#define uspoof_check U_ICU_ENTRY_POINT_RENAME(uspoof_check) >#define uspoof_checkUTF8 U_ICU_ENTRY_POINT_RENAME(uspoof_checkUTF8) >#define uspoof_checkUnicodeString U_ICU_ENTRY_POINT_RENAME(uspoof_checkUnicodeString) >#define uspoof_clone U_ICU_ENTRY_POINT_RENAME(uspoof_clone) >#define uspoof_close U_ICU_ENTRY_POINT_RENAME(uspoof_close) >#define uspoof_getAllowedChars U_ICU_ENTRY_POINT_RENAME(uspoof_getAllowedChars) >#define uspoof_getAllowedLocales U_ICU_ENTRY_POINT_RENAME(uspoof_getAllowedLocales) >#define uspoof_getAllowedUnicodeSet U_ICU_ENTRY_POINT_RENAME(uspoof_getAllowedUnicodeSet) >#define uspoof_getChecks U_ICU_ENTRY_POINT_RENAME(uspoof_getChecks) >#define uspoof_getInclusionSet U_ICU_ENTRY_POINT_RENAME(uspoof_getInclusionSet) >#define uspoof_getInclusionUnicodeSet U_ICU_ENTRY_POINT_RENAME(uspoof_getInclusionUnicodeSet) >#define uspoof_getRecommendedSet U_ICU_ENTRY_POINT_RENAME(uspoof_getRecommendedSet) >#define uspoof_getRecommendedUnicodeSet U_ICU_ENTRY_POINT_RENAME(uspoof_getRecommendedUnicodeSet) >#define uspoof_getRestrictionLevel U_ICU_ENTRY_POINT_RENAME(uspoof_getRestrictionLevel) >#define uspoof_getSkeleton U_ICU_ENTRY_POINT_RENAME(uspoof_getSkeleton) >#define uspoof_getSkeletonUTF8 U_ICU_ENTRY_POINT_RENAME(uspoof_getSkeletonUTF8) >#define uspoof_getSkeletonUnicodeString U_ICU_ENTRY_POINT_RENAME(uspoof_getSkeletonUnicodeString) >#define uspoof_internalInitStatics U_ICU_ENTRY_POINT_RENAME(uspoof_internalInitStatics) >#define uspoof_open U_ICU_ENTRY_POINT_RENAME(uspoof_open) >#define uspoof_openFromSerialized U_ICU_ENTRY_POINT_RENAME(uspoof_openFromSerialized) >#define uspoof_openFromSource U_ICU_ENTRY_POINT_RENAME(uspoof_openFromSource) >#define uspoof_serialize U_ICU_ENTRY_POINT_RENAME(uspoof_serialize) >#define uspoof_setAllowedChars U_ICU_ENTRY_POINT_RENAME(uspoof_setAllowedChars) >#define uspoof_setAllowedLocales U_ICU_ENTRY_POINT_RENAME(uspoof_setAllowedLocales) >#define uspoof_setAllowedUnicodeSet U_ICU_ENTRY_POINT_RENAME(uspoof_setAllowedUnicodeSet) >#define uspoof_setChecks U_ICU_ENTRY_POINT_RENAME(uspoof_setChecks) >#define uspoof_setRestrictionLevel U_ICU_ENTRY_POINT_RENAME(uspoof_setRestrictionLevel) >#define uspoof_swap U_ICU_ENTRY_POINT_RENAME(uspoof_swap) >#define usprep_close U_ICU_ENTRY_POINT_RENAME(usprep_close) >#define usprep_open U_ICU_ENTRY_POINT_RENAME(usprep_open) >#define usprep_openByType U_ICU_ENTRY_POINT_RENAME(usprep_openByType) >#define usprep_prepare U_ICU_ENTRY_POINT_RENAME(usprep_prepare) >#define usprep_swap U_ICU_ENTRY_POINT_RENAME(usprep_swap) >#define ustr_hashCharsN U_ICU_ENTRY_POINT_RENAME(ustr_hashCharsN) >#define ustr_hashICharsN U_ICU_ENTRY_POINT_RENAME(ustr_hashICharsN) >#define ustr_hashUCharsN U_ICU_ENTRY_POINT_RENAME(ustr_hashUCharsN) >#define ustrcase_internalFold U_ICU_ENTRY_POINT_RENAME(ustrcase_internalFold) >#define ustrcase_internalToLower U_ICU_ENTRY_POINT_RENAME(ustrcase_internalToLower) >#define ustrcase_internalToTitle U_ICU_ENTRY_POINT_RENAME(ustrcase_internalToTitle) >#define ustrcase_internalToUpper U_ICU_ENTRY_POINT_RENAME(ustrcase_internalToUpper) >#define ustrcase_map U_ICU_ENTRY_POINT_RENAME(ustrcase_map) >#define ustrcase_setTempCaseMapLocale U_ICU_ENTRY_POINT_RENAME(ustrcase_setTempCaseMapLocale) >#define utext_char32At U_ICU_ENTRY_POINT_RENAME(utext_char32At) >#define utext_clone U_ICU_ENTRY_POINT_RENAME(utext_clone) >#define utext_close U_ICU_ENTRY_POINT_RENAME(utext_close) >#define utext_copy U_ICU_ENTRY_POINT_RENAME(utext_copy) >#define utext_current32 U_ICU_ENTRY_POINT_RENAME(utext_current32) >#define utext_equals U_ICU_ENTRY_POINT_RENAME(utext_equals) >#define utext_extract U_ICU_ENTRY_POINT_RENAME(utext_extract) >#define utext_freeze U_ICU_ENTRY_POINT_RENAME(utext_freeze) >#define utext_getNativeIndex U_ICU_ENTRY_POINT_RENAME(utext_getNativeIndex) >#define utext_getPreviousNativeIndex U_ICU_ENTRY_POINT_RENAME(utext_getPreviousNativeIndex) >#define utext_hasMetaData U_ICU_ENTRY_POINT_RENAME(utext_hasMetaData) >#define utext_isLengthExpensive U_ICU_ENTRY_POINT_RENAME(utext_isLengthExpensive) >#define utext_isWritable U_ICU_ENTRY_POINT_RENAME(utext_isWritable) >#define utext_moveIndex32 U_ICU_ENTRY_POINT_RENAME(utext_moveIndex32) >#define utext_nativeLength U_ICU_ENTRY_POINT_RENAME(utext_nativeLength) >#define utext_next32 U_ICU_ENTRY_POINT_RENAME(utext_next32) >#define utext_next32From U_ICU_ENTRY_POINT_RENAME(utext_next32From) >#define utext_openCharacterIterator U_ICU_ENTRY_POINT_RENAME(utext_openCharacterIterator) >#define utext_openConstUnicodeString U_ICU_ENTRY_POINT_RENAME(utext_openConstUnicodeString) >#define utext_openReplaceable U_ICU_ENTRY_POINT_RENAME(utext_openReplaceable) >#define utext_openUChars U_ICU_ENTRY_POINT_RENAME(utext_openUChars) >#define utext_openUTF8 U_ICU_ENTRY_POINT_RENAME(utext_openUTF8) >#define utext_openUnicodeString U_ICU_ENTRY_POINT_RENAME(utext_openUnicodeString) >#define utext_previous32 U_ICU_ENTRY_POINT_RENAME(utext_previous32) >#define utext_previous32From U_ICU_ENTRY_POINT_RENAME(utext_previous32From) >#define utext_replace U_ICU_ENTRY_POINT_RENAME(utext_replace) >#define utext_setNativeIndex U_ICU_ENTRY_POINT_RENAME(utext_setNativeIndex) >#define utext_setup U_ICU_ENTRY_POINT_RENAME(utext_setup) >#define utf8_appendCharSafeBody U_ICU_ENTRY_POINT_RENAME(utf8_appendCharSafeBody) >#define utf8_back1SafeBody U_ICU_ENTRY_POINT_RENAME(utf8_back1SafeBody) >#define utf8_countTrailBytes U_ICU_ENTRY_POINT_RENAME(utf8_countTrailBytes) >#define utf8_nextCharSafeBody U_ICU_ENTRY_POINT_RENAME(utf8_nextCharSafeBody) >#define utf8_prevCharSafeBody U_ICU_ENTRY_POINT_RENAME(utf8_prevCharSafeBody) >#define utmscale_fromInt64 U_ICU_ENTRY_POINT_RENAME(utmscale_fromInt64) >#define utmscale_getTimeScaleValue U_ICU_ENTRY_POINT_RENAME(utmscale_getTimeScaleValue) >#define utmscale_toInt64 U_ICU_ENTRY_POINT_RENAME(utmscale_toInt64) >#define utrace_cleanup U_ICU_ENTRY_POINT_RENAME(utrace_cleanup) >#define utrace_data U_ICU_ENTRY_POINT_RENAME(utrace_data) >#define utrace_entry U_ICU_ENTRY_POINT_RENAME(utrace_entry) >#define utrace_exit U_ICU_ENTRY_POINT_RENAME(utrace_exit) >#define utrace_format U_ICU_ENTRY_POINT_RENAME(utrace_format) >#define utrace_functionName U_ICU_ENTRY_POINT_RENAME(utrace_functionName) >#define utrace_getFunctions U_ICU_ENTRY_POINT_RENAME(utrace_getFunctions) >#define utrace_getLevel U_ICU_ENTRY_POINT_RENAME(utrace_getLevel) >#define utrace_level U_ICU_ENTRY_POINT_RENAME(utrace_level) >#define utrace_setFunctions U_ICU_ENTRY_POINT_RENAME(utrace_setFunctions) >#define utrace_setLevel U_ICU_ENTRY_POINT_RENAME(utrace_setLevel) >#define utrace_vformat U_ICU_ENTRY_POINT_RENAME(utrace_vformat) >#define utrans_clone U_ICU_ENTRY_POINT_RENAME(utrans_clone) >#define utrans_close U_ICU_ENTRY_POINT_RENAME(utrans_close) >#define utrans_countAvailableIDs U_ICU_ENTRY_POINT_RENAME(utrans_countAvailableIDs) >#define utrans_getAvailableID U_ICU_ENTRY_POINT_RENAME(utrans_getAvailableID) >#define utrans_getID U_ICU_ENTRY_POINT_RENAME(utrans_getID) >#define utrans_getSourceSet U_ICU_ENTRY_POINT_RENAME(utrans_getSourceSet) >#define utrans_getUnicodeID U_ICU_ENTRY_POINT_RENAME(utrans_getUnicodeID) >#define utrans_open U_ICU_ENTRY_POINT_RENAME(utrans_open) >#define utrans_openIDs U_ICU_ENTRY_POINT_RENAME(utrans_openIDs) >#define utrans_openInverse U_ICU_ENTRY_POINT_RENAME(utrans_openInverse) >#define utrans_openU U_ICU_ENTRY_POINT_RENAME(utrans_openU) >#define utrans_register U_ICU_ENTRY_POINT_RENAME(utrans_register) >#define utrans_rep_caseContextIterator U_ICU_ENTRY_POINT_RENAME(utrans_rep_caseContextIterator) >#define utrans_setFilter U_ICU_ENTRY_POINT_RENAME(utrans_setFilter) >#define utrans_stripRules U_ICU_ENTRY_POINT_RENAME(utrans_stripRules) >#define utrans_toRules U_ICU_ENTRY_POINT_RENAME(utrans_toRules) >#define utrans_trans U_ICU_ENTRY_POINT_RENAME(utrans_trans) >#define utrans_transIncremental U_ICU_ENTRY_POINT_RENAME(utrans_transIncremental) >#define utrans_transIncrementalUChars U_ICU_ENTRY_POINT_RENAME(utrans_transIncrementalUChars) >#define utrans_transUChars U_ICU_ENTRY_POINT_RENAME(utrans_transUChars) >#define utrans_transliterator_cleanup U_ICU_ENTRY_POINT_RENAME(utrans_transliterator_cleanup) >#define utrans_unregister U_ICU_ENTRY_POINT_RENAME(utrans_unregister) >#define utrans_unregisterID U_ICU_ENTRY_POINT_RENAME(utrans_unregisterID) >#define utrie2_clone U_ICU_ENTRY_POINT_RENAME(utrie2_clone) >#define utrie2_cloneAsThawed U_ICU_ENTRY_POINT_RENAME(utrie2_cloneAsThawed) >#define utrie2_close U_ICU_ENTRY_POINT_RENAME(utrie2_close) >#define utrie2_enum U_ICU_ENTRY_POINT_RENAME(utrie2_enum) >#define utrie2_enumForLeadSurrogate U_ICU_ENTRY_POINT_RENAME(utrie2_enumForLeadSurrogate) >#define utrie2_freeze U_ICU_ENTRY_POINT_RENAME(utrie2_freeze) >#define utrie2_fromUTrie U_ICU_ENTRY_POINT_RENAME(utrie2_fromUTrie) >#define utrie2_get32 U_ICU_ENTRY_POINT_RENAME(utrie2_get32) >#define utrie2_get32FromLeadSurrogateCodeUnit U_ICU_ENTRY_POINT_RENAME(utrie2_get32FromLeadSurrogateCodeUnit) >#define utrie2_getVersion U_ICU_ENTRY_POINT_RENAME(utrie2_getVersion) >#define utrie2_internalU8NextIndex U_ICU_ENTRY_POINT_RENAME(utrie2_internalU8NextIndex) >#define utrie2_internalU8PrevIndex U_ICU_ENTRY_POINT_RENAME(utrie2_internalU8PrevIndex) >#define utrie2_isFrozen U_ICU_ENTRY_POINT_RENAME(utrie2_isFrozen) >#define utrie2_open U_ICU_ENTRY_POINT_RENAME(utrie2_open) >#define utrie2_openDummy U_ICU_ENTRY_POINT_RENAME(utrie2_openDummy) >#define utrie2_openFromSerialized U_ICU_ENTRY_POINT_RENAME(utrie2_openFromSerialized) >#define utrie2_serialize U_ICU_ENTRY_POINT_RENAME(utrie2_serialize) >#define utrie2_set32 U_ICU_ENTRY_POINT_RENAME(utrie2_set32) >#define utrie2_set32ForLeadSurrogateCodeUnit U_ICU_ENTRY_POINT_RENAME(utrie2_set32ForLeadSurrogateCodeUnit) >#define utrie2_setRange32 U_ICU_ENTRY_POINT_RENAME(utrie2_setRange32) >#define utrie2_swap U_ICU_ENTRY_POINT_RENAME(utrie2_swap) >#define utrie2_swapAnyVersion U_ICU_ENTRY_POINT_RENAME(utrie2_swapAnyVersion) >#define utrie_clone U_ICU_ENTRY_POINT_RENAME(utrie_clone) >#define utrie_close U_ICU_ENTRY_POINT_RENAME(utrie_close) >#define utrie_defaultGetFoldingOffset U_ICU_ENTRY_POINT_RENAME(utrie_defaultGetFoldingOffset) >#define utrie_enum U_ICU_ENTRY_POINT_RENAME(utrie_enum) >#define utrie_get32 U_ICU_ENTRY_POINT_RENAME(utrie_get32) >#define utrie_getData U_ICU_ENTRY_POINT_RENAME(utrie_getData) >#define utrie_open U_ICU_ENTRY_POINT_RENAME(utrie_open) >#define utrie_serialize U_ICU_ENTRY_POINT_RENAME(utrie_serialize) >#define utrie_set32 U_ICU_ENTRY_POINT_RENAME(utrie_set32) >#define utrie_setRange32 U_ICU_ENTRY_POINT_RENAME(utrie_setRange32) >#define utrie_swap U_ICU_ENTRY_POINT_RENAME(utrie_swap) >#define utrie_unserialize U_ICU_ENTRY_POINT_RENAME(utrie_unserialize) >#define utrie_unserializeDummy U_ICU_ENTRY_POINT_RENAME(utrie_unserializeDummy) >#define vzone_clone U_ICU_ENTRY_POINT_RENAME(vzone_clone) >#define vzone_close U_ICU_ENTRY_POINT_RENAME(vzone_close) >#define vzone_countTransitionRules U_ICU_ENTRY_POINT_RENAME(vzone_countTransitionRules) >#define vzone_equals U_ICU_ENTRY_POINT_RENAME(vzone_equals) >#define vzone_getDynamicClassID U_ICU_ENTRY_POINT_RENAME(vzone_getDynamicClassID) >#define vzone_getLastModified U_ICU_ENTRY_POINT_RENAME(vzone_getLastModified) >#define vzone_getNextTransition U_ICU_ENTRY_POINT_RENAME(vzone_getNextTransition) >#define vzone_getOffset U_ICU_ENTRY_POINT_RENAME(vzone_getOffset) >#define vzone_getOffset2 U_ICU_ENTRY_POINT_RENAME(vzone_getOffset2) >#define vzone_getOffset3 U_ICU_ENTRY_POINT_RENAME(vzone_getOffset3) >#define vzone_getPreviousTransition U_ICU_ENTRY_POINT_RENAME(vzone_getPreviousTransition) >#define vzone_getRawOffset U_ICU_ENTRY_POINT_RENAME(vzone_getRawOffset) >#define vzone_getStaticClassID U_ICU_ENTRY_POINT_RENAME(vzone_getStaticClassID) >#define vzone_getTZURL U_ICU_ENTRY_POINT_RENAME(vzone_getTZURL) >#define vzone_hasSameRules U_ICU_ENTRY_POINT_RENAME(vzone_hasSameRules) >#define vzone_inDaylightTime U_ICU_ENTRY_POINT_RENAME(vzone_inDaylightTime) >#define vzone_openData U_ICU_ENTRY_POINT_RENAME(vzone_openData) >#define vzone_openID U_ICU_ENTRY_POINT_RENAME(vzone_openID) >#define vzone_setLastModified U_ICU_ENTRY_POINT_RENAME(vzone_setLastModified) >#define vzone_setRawOffset U_ICU_ENTRY_POINT_RENAME(vzone_setRawOffset) >#define vzone_setTZURL U_ICU_ENTRY_POINT_RENAME(vzone_setTZURL) >#define vzone_useDaylightTime U_ICU_ENTRY_POINT_RENAME(vzone_useDaylightTime) >#define vzone_write U_ICU_ENTRY_POINT_RENAME(vzone_write) >#define vzone_writeFromStart U_ICU_ENTRY_POINT_RENAME(vzone_writeFromStart) >#define vzone_writeSimple U_ICU_ENTRY_POINT_RENAME(vzone_writeSimple) >#define zrule_close U_ICU_ENTRY_POINT_RENAME(zrule_close) >#define zrule_equals U_ICU_ENTRY_POINT_RENAME(zrule_equals) >#define zrule_getDSTSavings U_ICU_ENTRY_POINT_RENAME(zrule_getDSTSavings) >#define zrule_getName U_ICU_ENTRY_POINT_RENAME(zrule_getName) >#define zrule_getRawOffset U_ICU_ENTRY_POINT_RENAME(zrule_getRawOffset) >#define zrule_isEquivalentTo U_ICU_ENTRY_POINT_RENAME(zrule_isEquivalentTo) >#define ztrans_adoptFrom U_ICU_ENTRY_POINT_RENAME(ztrans_adoptFrom) >#define ztrans_adoptTo U_ICU_ENTRY_POINT_RENAME(ztrans_adoptTo) >#define ztrans_clone U_ICU_ENTRY_POINT_RENAME(ztrans_clone) >#define ztrans_close U_ICU_ENTRY_POINT_RENAME(ztrans_close) >#define ztrans_equals U_ICU_ENTRY_POINT_RENAME(ztrans_equals) >#define ztrans_getDynamicClassID U_ICU_ENTRY_POINT_RENAME(ztrans_getDynamicClassID) >#define ztrans_getFrom U_ICU_ENTRY_POINT_RENAME(ztrans_getFrom) >#define ztrans_getStaticClassID U_ICU_ENTRY_POINT_RENAME(ztrans_getStaticClassID) >#define ztrans_getTime U_ICU_ENTRY_POINT_RENAME(ztrans_getTime) >#define ztrans_getTo U_ICU_ENTRY_POINT_RENAME(ztrans_getTo) >#define ztrans_open U_ICU_ENTRY_POINT_RENAME(ztrans_open) >#define ztrans_openEmpty U_ICU_ENTRY_POINT_RENAME(ztrans_openEmpty) >#define ztrans_setFrom U_ICU_ENTRY_POINT_RENAME(ztrans_setFrom) >#define ztrans_setTime U_ICU_ENTRY_POINT_RENAME(ztrans_setTime) >#define ztrans_setTo U_ICU_ENTRY_POINT_RENAME(ztrans_setTo) > >#endif ># 1795 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/urename.h" > >#endif ># 1797 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/urename.h" ># 355 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" 2 > >#endif ># 357 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/umachine.h" ># 37 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" 2 >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/uversion.h" >#endif /* expanded by -frewrite-includes */ ># 1 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uversion.h" 1 >/* >******************************************************************************* >* Copyright (C) 2000-2011, International Business Machines >* Corporation and others. All Rights Reserved. >******************************************************************************* >* >* file name: uversion.h >* encoding: US-ASCII >* tab size: 8 (not used) >* indentation:4 >* >* Created by: Vladimir Weinstein >* >* Gets included by utypes.h and Windows .rc files >*/ > >/** > * \file > * \brief C API: API for accessing ICU version numbers. > */ >/*===========================================================================*/ >/* Main ICU version information */ >/*===========================================================================*/ > >#ifndef UVERSION_H >#define UVERSION_H > >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/umachine.h" >#endif /* expanded by -frewrite-includes */ ># 29 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uversion.h" > >/* Actual version info lives in uvernum.h */ >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/uvernum.h" >#endif /* expanded by -frewrite-includes */ ># 32 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uversion.h" > >/** Maximum length of the copyright string. > * @stable ICU 2.4 > */ >#define U_COPYRIGHT_STRING_LENGTH 128 > >/** An ICU version consists of up to 4 numbers from 0..255. > * @stable ICU 2.4 > */ >#define U_MAX_VERSION_LENGTH 4 > >/** In a string, ICU version fields are delimited by dots. > * @stable ICU 2.4 > */ >#define U_VERSION_DELIMITER '.' > >/** The maximum length of an ICU version string. > * @stable ICU 2.4 > */ >#define U_MAX_VERSION_STRING_LENGTH 20 > >/** The binary form of a version on ICU APIs is an array of 4 uint8_t. > * To compare two versions, use memcmp(v1,v2,sizeof(UVersionInfo)). > * @stable ICU 2.4 > */ >typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; > >/*===========================================================================*/ >/* C++ namespace if supported. Versioned unless versioning is disabled. */ >/*===========================================================================*/ > >/** > * \def U_NAMESPACE_BEGIN > * This is used to begin a declaration of a public ICU C++ API. > * When not compiling for C++, it does nothing. > * When compiling for C++, it begins an extern "C++" linkage block (to protect > * against cases in which an external client includes ICU header files inside > * an extern "C" linkage block). > * > * It also begins a versioned-ICU-namespace block. > * @stable ICU 2.4 > */ > >/** > * \def U_NAMESPACE_END > * This is used to end a declaration of a public ICU C++ API. > * When not compiling for C++, it does nothing. > * When compiling for C++, it ends the extern "C++" block begun by > * U_NAMESPACE_BEGIN. > * > * It also ends the versioned-ICU-namespace block begun by U_NAMESPACE_BEGIN. > * @stable ICU 2.4 > */ > >/** > * \def U_NAMESPACE_USE > * This is used to specify that the rest of the code uses the > * public ICU C++ API namespace. > * This is invoked by default; we recommend that you turn it off: > * See the "Recommended Build Options" section of the ICU4C readme > * (http://source.icu-project.org/repos/icu/icu/trunk/readme.html#RecBuild) > * @stable ICU 2.4 > */ > >/** > * \def U_NAMESPACE_QUALIFIER > * This is used to qualify that a function or class is part of > * the public ICU C++ API namespace. > * > * This macro is unnecessary since ICU 49 requires namespace support. > * You can just use "icu::" instead. > * @stable ICU 2.4 > */ > >/* Define namespace symbols if the compiler supports it. */ >#ifdef __cplusplus ># if U_DISABLE_RENAMING ># define U_ICU_NAMESPACE icu > namespace U_ICU_NAMESPACE { } ># else ># 112 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uversion.h" ># define U_ICU_NAMESPACE U_ICU_ENTRY_POINT_RENAME(icu) > namespace U_ICU_NAMESPACE { } > namespace icu = U_ICU_NAMESPACE; ># endif ># 116 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uversion.h" > ># define U_NAMESPACE_BEGIN extern "C++" { namespace U_ICU_NAMESPACE { ># define U_NAMESPACE_END } } ># define U_NAMESPACE_USE using namespace U_ICU_NAMESPACE; ># define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE:: > ># ifndef U_USING_ICU_NAMESPACE ># define U_USING_ICU_NAMESPACE 1 ># endif ># 125 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uversion.h" ># if U_USING_ICU_NAMESPACE > U_NAMESPACE_USE ># endif ># 128 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uversion.h" >#else ># 129 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uversion.h" ># define U_NAMESPACE_BEGIN ># define U_NAMESPACE_END ># define U_NAMESPACE_USE ># define U_NAMESPACE_QUALIFIER >#endif ># 134 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uversion.h" > >/*===========================================================================*/ >/* General version helper functions. Definitions in putil.c */ >/*===========================================================================*/ > >/** > * Parse a string with dotted-decimal version information and > * fill in a UVersionInfo structure with the result. > * Definition of this function lives in putil.c > * > * @param versionArray The destination structure for the version information. > * @param versionString A string with dotted-decimal version information, > * with up to four non-negative number fields with > * values of up to 255 each. > * @stable ICU 2.4 > */ >U_STABLE void U_EXPORT2 >u_versionFromString(UVersionInfo versionArray, const char *versionString); > >/** > * Parse a Unicode string with dotted-decimal version information and > * fill in a UVersionInfo structure with the result. > * Definition of this function lives in putil.c > * > * @param versionArray The destination structure for the version information. > * @param versionString A Unicode string with dotted-decimal version > * information, with up to four non-negative number > * fields with values of up to 255 each. > * @stable ICU 4.2 > */ >U_STABLE void U_EXPORT2 >u_versionFromUString(UVersionInfo versionArray, const UChar *versionString); > > >/** > * Write a string with dotted-decimal version information according > * to the input UVersionInfo. > * Definition of this function lives in putil.c > * > * @param versionArray The version information to be written as a string. > * @param versionString A string buffer that will be filled in with > * a string corresponding to the numeric version > * information in versionArray. > * The buffer size must be at least U_MAX_VERSION_STRING_LENGTH. > * @stable ICU 2.4 > */ >U_STABLE void U_EXPORT2 >u_versionToString(const UVersionInfo versionArray, char *versionString); > >/** > * Gets the ICU release version. The version array stores the version information > * for ICU. For example, release "1.3.31.2" is then represented as 0x01031F02. > * Definition of this function lives in putil.c > * > * @param versionArray the version # information, the result will be filled in > * @stable ICU 2.0 > */ >U_STABLE void U_EXPORT2 >u_getVersion(UVersionInfo versionArray); >#endif ># 194 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uversion.h" ># 38 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" 2 >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/uconfig.h" >#endif /* expanded by -frewrite-includes */ ># 39 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#if 0 /* expanded by -frewrite-includes */ >#include <float.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/float.h" 1 3 4 >/*- > * This file is in the public domain. > */ >/* $FreeBSD: stable/9/sys/i386/include/float.h 263543 2014-03-21 20:21:23Z emaste $ */ > >#if 0 /* expanded by -frewrite-includes */ >#include <x86/float.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/x86/float.h" 1 3 4 >/*- > * Copyright (c) 1989 Regents of the University of California. > * All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * 4. Neither the name of the University nor the names of its contributors > * may be used to endorse or promote products derived from this software > * without specific prior written permission. > * > * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * from: @(#)float.h 7.1 (Berkeley) 5/8/90 > * $FreeBSD: stable/9/sys/x86/include/float.h 263543 2014-03-21 20:21:23Z emaste $ > */ > >#ifndef _MACHINE_FLOAT_H_ >#define _MACHINE_FLOAT_H_ 1 > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 37 "/usr/include/x86/float.h" 3 4 > >__BEGIN_DECLS >extern int __flt_rounds(void); >__END_DECLS > >#define FLT_RADIX 2 /* b */ >#define FLT_ROUNDS __flt_rounds() >#if __ISO_C_VISIBLE >= 1999 >#ifdef __LP64__ >#define FLT_EVAL_METHOD 0 /* no promotions */ >#else ># 48 "/usr/include/x86/float.h" 3 4 >#define FLT_EVAL_METHOD (-1) /* i387 semantics are...interesting */ >#endif ># 50 "/usr/include/x86/float.h" 3 4 >#define DECIMAL_DIG 21 /* max precision in decimal digits */ >#endif ># 52 "/usr/include/x86/float.h" 3 4 > >#define FLT_MANT_DIG 24 /* p */ >#define FLT_EPSILON 1.19209290E-07F /* b**(1-p) */ >#define FLT_DIG 6 /* floor((p-1)*log10(b))+(b == 10) */ >#define FLT_MIN_EXP (-125) /* emin */ >#define FLT_MIN 1.17549435E-38F /* b**(emin-1) */ >#define FLT_MIN_10_EXP (-37) /* ceil(log10(b**(emin-1))) */ >#define FLT_MAX_EXP 128 /* emax */ >#define FLT_MAX 3.40282347E+38F /* (1-b**(-p))*b**emax */ >#define FLT_MAX_10_EXP 38 /* floor(log10((1-b**(-p))*b**emax)) */ >#if __ISO_C_VISIBLE >= 2011 >#define FLT_TRUE_MIN 1.40129846E-45F /* b**(emin-p) */ >#define FLT_DECIMAL_DIG 9 /* ceil(1+p*log10(b)) */ >#define FLT_HAS_SUBNORM 1 >#endif /* __ISO_C_VISIBLE >= 2011 */ ># 67 "/usr/include/x86/float.h" 3 4 > >#define DBL_MANT_DIG 53 >#define DBL_EPSILON 2.2204460492503131E-16 >#define DBL_DIG 15 >#define DBL_MIN_EXP (-1021) >#define DBL_MIN 2.2250738585072014E-308 >#define DBL_MIN_10_EXP (-307) >#define DBL_MAX_EXP 1024 >#define DBL_MAX 1.7976931348623157E+308 >#define DBL_MAX_10_EXP 308 >#if __ISO_C_VISIBLE >= 2011 >#define DBL_TRUE_MIN 4.9406564584124654E-324 >#define DBL_DECIMAL_DIG 17 >#define DBL_HAS_SUBNORM 1 >#endif /* __ISO_C_VISIBLE >= 2011 */ ># 82 "/usr/include/x86/float.h" 3 4 > >#define LDBL_MANT_DIG 64 >#define LDBL_EPSILON 1.0842021724855044340E-19L >#define LDBL_DIG 18 >#define LDBL_MIN_EXP (-16381) >#define LDBL_MIN 3.3621031431120935063E-4932L >#define LDBL_MIN_10_EXP (-4931) >#define LDBL_MAX_EXP 16384 >#define LDBL_MAX 1.1897314953572317650E+4932L >#define LDBL_MAX_10_EXP 4932 >#if __ISO_C_VISIBLE >= 2011 >#define LDBL_TRUE_MIN 3.6451995318824746025E-4951L >#define LDBL_DECIMAL_DIG 21 >#define LDBL_HAS_SUBNORM 1 >#endif /* __ISO_C_VISIBLE >= 2011 */ ># 97 "/usr/include/x86/float.h" 3 4 > >#endif /* _MACHINE_FLOAT_H_ */ ># 99 "/usr/include/x86/float.h" 3 4 ># 7 "/usr/include/float.h" 2 3 4 ># 40 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" 2 > >#if !U_NO_DEFAULT_INCLUDE_UTF_HEADERS >#if 0 /* expanded by -frewrite-includes */ ># include "unicode/utf.h" >#endif /* expanded by -frewrite-includes */ ># 43 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#endif ># 44 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" > >/*! > * \file > * \brief Basic definitions for ICU, for both C and C++ APIs > * > * This file defines basic types, constants, and enumerations directly or > * indirectly by including other header files, especially utf.h for the > * basic character and string definitions and umachine.h for consistent > * integer and other types. > */ > > >/** > * \def U_SHOW_CPLUSPLUS_API > * @internal > */ >#ifdef __cplusplus ># ifndef U_SHOW_CPLUSPLUS_API ># define U_SHOW_CPLUSPLUS_API 1 ># endif ># 64 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#else ># 65 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" ># undef U_SHOW_CPLUSPLUS_API ># define U_SHOW_CPLUSPLUS_API 0 >#endif ># 68 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" > >/** @{ API visibility control */ > >/** > * \def U_HIDE_DRAFT_API > * Define this to 1 to request that draft API be "hidden" > * @internal > */ >/** > * \def U_HIDE_INTERNAL_API > * Define this to 1 to request that internal API be "hidden" > * @internal > */ >#if !U_DEFAULT_SHOW_DRAFT && !defined(U_SHOW_DRAFT_API) >#define U_HIDE_DRAFT_API 1 >#endif ># 84 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#if !U_DEFAULT_SHOW_DRAFT && !defined(U_SHOW_INTERNAL_API) >#define U_HIDE_INTERNAL_API 1 >#endif ># 87 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" > >/** @} */ > >/*===========================================================================*/ >/* ICUDATA naming scheme */ >/*===========================================================================*/ > >/** > * \def U_ICUDATA_TYPE_LETTER > * > * This is a platform-dependent string containing one letter: > * - b for big-endian, ASCII-family platforms > * - l for little-endian, ASCII-family platforms > * - e for big-endian, EBCDIC-family platforms > * This letter is part of the common data file name. > * @stable ICU 2.0 > */ > >/** > * \def U_ICUDATA_TYPE_LITLETTER > * The non-string form of U_ICUDATA_TYPE_LETTER > * @stable ICU 2.0 > */ >#if U_CHARSET_FAMILY ># if U_IS_BIG_ENDIAN > /* EBCDIC - should always be BE */ ># define U_ICUDATA_TYPE_LETTER "e" ># define U_ICUDATA_TYPE_LITLETTER e ># else ># 116 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" ># error "Don't know what to do with little endian EBCDIC!" ># define U_ICUDATA_TYPE_LETTER "x" ># define U_ICUDATA_TYPE_LITLETTER x ># endif ># 120 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#else ># 121 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" ># if U_IS_BIG_ENDIAN > /* Big-endian ASCII */ ># define U_ICUDATA_TYPE_LETTER "b" ># define U_ICUDATA_TYPE_LITLETTER b ># else ># 126 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" > /* Little-endian ASCII */ ># define U_ICUDATA_TYPE_LETTER "l" ># define U_ICUDATA_TYPE_LITLETTER l ># endif ># 130 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#endif ># 131 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" > >/** > * A single string literal containing the icudata stub name. i.e. 'icudt18e' for > * ICU 1.8.x on EBCDIC, etc.. > * @stable ICU 2.0 > */ >#define U_ICUDATA_NAME "icudt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER >#ifndef U_HIDE_INTERNAL_API >#define U_USRDATA_NAME "usrdt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER /**< @internal */ >#define U_USE_USRDATA 0 /**< @internal */ >#endif /* U_HIDE_INTERNAL_API */ ># 142 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" > >/** > * U_ICU_ENTRY_POINT is the name of the DLL entry point to the ICU data library. > * Defined as a literal, not a string. > * Tricky Preprocessor use - ## operator replaces macro paramters with the literal string > * from the corresponding macro invocation, _before_ other macro substitutions. > * Need a nested \#defines to get the actual version numbers rather than > * the literal text U_ICU_VERSION_MAJOR_NUM into the name. > * The net result will be something of the form > * \#define U_ICU_ENTRY_POINT icudt19_dat > * @stable ICU 2.4 > */ >#define U_ICUDATA_ENTRY_POINT U_DEF2_ICUDATA_ENTRY_POINT(U_ICU_VERSION_MAJOR_NUM,U_LIB_SUFFIX_C_NAME) > >#ifndef U_HIDE_INTERNAL_API >/** > * Do not use. Note that it's OK for the 2nd argument to be undefined (literal). > * @internal > */ >#define U_DEF2_ICUDATA_ENTRY_POINT(major,suff) U_DEF_ICUDATA_ENTRY_POINT(major,suff) > >/** > * Do not use. > * @internal > */ >#ifndef U_DEF_ICUDATA_ENTRY_POINT >/* affected by symbol renaming. See platform.h */ >#ifndef U_LIB_SUFFIX_C_NAME >#define U_DEF_ICUDATA_ENTRY_POINT(major, suff) icudt##major##_dat >#else ># 172 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#define U_DEF_ICUDATA_ENTRY_POINT(major, suff) icudt##suff ## major##_dat >#endif ># 174 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#endif ># 175 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#endif /* U_HIDE_INTERNAL_API */ ># 176 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" > >/** > * \def NULL > * Define NULL if necessary, to 0 for C++ and to ((void *)0) for C. > * @stable ICU 2.0 > */ >#ifndef NULL >#ifdef __cplusplus >#define NULL 0 >#else ># 186 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#define NULL ((void *)0) >#endif ># 188 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#endif ># 189 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" > >/*===========================================================================*/ >/* Calendar/TimeZone data types */ >/*===========================================================================*/ > >/** > * Date and Time data type. > * This is a primitive data type that holds the date and time > * as the number of milliseconds since 1970-jan-01, 00:00 UTC. > * UTC leap seconds are ignored. > * @stable ICU 2.0 > */ >typedef double UDate; > >/** The number of milliseconds per second @stable ICU 2.0 */ >#define U_MILLIS_PER_SECOND (1000) >/** The number of milliseconds per minute @stable ICU 2.0 */ >#define U_MILLIS_PER_MINUTE (60000) >/** The number of milliseconds per hour @stable ICU 2.0 */ >#define U_MILLIS_PER_HOUR (3600000) >/** The number of milliseconds per day @stable ICU 2.0 */ >#define U_MILLIS_PER_DAY (86400000) > >/** > * Maximum UDate value > * @stable ICU 4.8 > */ >#define U_DATE_MAX DBL_MAX > >/** > * Minimum UDate value > * @stable ICU 4.8 > */ >#define U_DATE_MIN -U_DATE_MAX > >/*===========================================================================*/ >/* Shared library/DLL import-export API control */ >/*===========================================================================*/ > >/* > * Control of symbol import/export. > * ICU is separated into three libraries. > */ > >/** > * \def U_COMBINED_IMPLEMENTATION > * Set to export library symbols from inside the ICU library > * when all of ICU is in a single library. > * This can be set as a compiler option while building ICU, and it > * needs to be the first one tested to override U_COMMON_API, U_I18N_API, etc. > * @stable ICU 2.0 > */ > >/** > * \def U_DATA_API > * Set to export library symbols from inside the stubdata library, > * and to import them from outside. > * @stable ICU 3.0 > */ > >/** > * \def U_COMMON_API > * Set to export library symbols from inside the common library, > * and to import them from outside. > * @stable ICU 2.0 > */ > >/** > * \def U_I18N_API > * Set to export library symbols from inside the i18n library, > * and to import them from outside. > * @stable ICU 2.0 > */ > >/** > * \def U_LAYOUT_API > * Set to export library symbols from inside the layout engine library, > * and to import them from outside. > * @stable ICU 2.0 > */ > >/** > * \def U_LAYOUTEX_API > * Set to export library symbols from inside the layout extensions library, > * and to import them from outside. > * @stable ICU 2.6 > */ > >/** > * \def U_IO_API > * Set to export library symbols from inside the ustdio library, > * and to import them from outside. > * @stable ICU 2.0 > */ > >/** > * \def U_TOOLUTIL_API > * Set to export library symbols from inside the toolutil library, > * and to import them from outside. > * @stable ICU 3.4 > */ > >#if defined(U_COMBINED_IMPLEMENTATION) >#define U_DATA_API U_EXPORT >#define U_COMMON_API U_EXPORT >#define U_I18N_API U_EXPORT >#define U_LAYOUT_API U_EXPORT >#define U_LAYOUTEX_API U_EXPORT >#define U_IO_API U_EXPORT >#define U_TOOLUTIL_API U_EXPORT >#elif defined(U_STATIC_IMPLEMENTATION) ># 300 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#define U_DATA_API >#define U_COMMON_API >#define U_I18N_API >#define U_LAYOUT_API >#define U_LAYOUTEX_API >#define U_IO_API >#define U_TOOLUTIL_API >#elif defined(U_COMMON_IMPLEMENTATION) ># 308 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#define U_DATA_API U_IMPORT >#define U_COMMON_API U_EXPORT >#define U_I18N_API U_IMPORT >#define U_LAYOUT_API U_IMPORT >#define U_LAYOUTEX_API U_IMPORT >#define U_IO_API U_IMPORT >#define U_TOOLUTIL_API U_IMPORT >#elif defined(U_I18N_IMPLEMENTATION) ># 316 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#define U_DATA_API U_IMPORT >#define U_COMMON_API U_IMPORT >#define U_I18N_API U_EXPORT >#define U_LAYOUT_API U_IMPORT >#define U_LAYOUTEX_API U_IMPORT >#define U_IO_API U_IMPORT >#define U_TOOLUTIL_API U_IMPORT >#elif defined(U_LAYOUT_IMPLEMENTATION) ># 324 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#define U_DATA_API U_IMPORT >#define U_COMMON_API U_IMPORT >#define U_I18N_API U_IMPORT >#define U_LAYOUT_API U_EXPORT >#define U_LAYOUTEX_API U_IMPORT >#define U_IO_API U_IMPORT >#define U_TOOLUTIL_API U_IMPORT >#elif defined(U_LAYOUTEX_IMPLEMENTATION) ># 332 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#define U_DATA_API U_IMPORT >#define U_COMMON_API U_IMPORT >#define U_I18N_API U_IMPORT >#define U_LAYOUT_API U_IMPORT >#define U_LAYOUTEX_API U_EXPORT >#define U_IO_API U_IMPORT >#define U_TOOLUTIL_API U_IMPORT >#elif defined(U_IO_IMPLEMENTATION) ># 340 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#define U_DATA_API U_IMPORT >#define U_COMMON_API U_IMPORT >#define U_I18N_API U_IMPORT >#define U_LAYOUT_API U_IMPORT >#define U_LAYOUTEX_API U_IMPORT >#define U_IO_API U_EXPORT >#define U_TOOLUTIL_API U_IMPORT >#elif defined(U_TOOLUTIL_IMPLEMENTATION) ># 348 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#define U_DATA_API U_IMPORT >#define U_COMMON_API U_IMPORT >#define U_I18N_API U_IMPORT >#define U_LAYOUT_API U_IMPORT >#define U_LAYOUTEX_API U_IMPORT >#define U_IO_API U_IMPORT >#define U_TOOLUTIL_API U_EXPORT >#else ># 356 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#define U_DATA_API U_IMPORT >#define U_COMMON_API U_IMPORT >#define U_I18N_API U_IMPORT >#define U_LAYOUT_API U_IMPORT >#define U_LAYOUTEX_API U_IMPORT >#define U_IO_API U_IMPORT >#define U_TOOLUTIL_API U_IMPORT >#endif ># 364 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" > >/** > * \def U_STANDARD_CPP_NAMESPACE > * Control of C++ Namespace > * @stable ICU 2.0 > */ >#ifdef __cplusplus >#define U_STANDARD_CPP_NAMESPACE :: >#else ># 373 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#define U_STANDARD_CPP_NAMESPACE >#endif ># 375 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" > > >/*===========================================================================*/ >/* Global delete operator */ >/*===========================================================================*/ > >/* > * The ICU4C library must not use the global new and delete operators. > * These operators here are defined to enable testing for this. > * See Jitterbug 2581 for details of why this is necessary. > * > * Verification that ICU4C's memory usage is correct, i.e., > * that global new/delete are not used: > * > * a) Check for imports of global new/delete (see uobject.cpp for details) > * b) Verify that new is never imported. > * c) Verify that delete is only imported from object code for interface/mixin classes. > * d) Add global delete and delete[] only for the ICU4C library itself > * and define them in a way that crashes or otherwise easily shows a problem. > * > * The following implements d). > * The operator implementations crash; this is intentional and used for library debugging. > * > * Note: This is currently only done on Windows because > * some Linux/Unix compilers have problems with defining global new/delete. > * On Windows, it is _MSC_VER>=1200 for MSVC 6.0 and higher. > */ >#if defined(__cplusplus) && U_DEBUG && U_OVERRIDE_CXX_ALLOCATION && (_MSC_VER>=1200) && !defined(U_STATIC_IMPLEMENTATION) && (defined(U_COMMON_IMPLEMENTATION) || defined(U_I18N_IMPLEMENTATION) || defined(U_IO_IMPLEMENTATION) || defined(U_LAYOUT_IMPLEMENTATION) || defined(U_LAYOUTEX_IMPLEMENTATION)) > >#ifndef U_HIDE_INTERNAL_API >/** > * Global operator new, defined only inside ICU4C, must not be used. > * Crashes intentionally. > * @internal > */ >inline void * >operator new(size_t /*size*/) { > char *q=NULL; > *q=5; /* break it */ > return q; >} > >#ifdef _Ret_bytecap_ >/* This is only needed to suppress a Visual C++ 2008 warning for operator new[]. */ >_Ret_bytecap_(_Size) >#endif ># 421 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >/** > * Global operator new[], defined only inside ICU4C, must not be used. > * Crashes intentionally. > * @internal > */ >inline void * >operator new[](size_t /*size*/) { > char *q=NULL; > *q=5; /* break it */ > return q; >} > >/** > * Global operator delete, defined only inside ICU4C, must not be used. > * Crashes intentionally. > * @internal > */ >inline void >operator delete(void * /*p*/) { > char *q=NULL; > *q=5; /* break it */ >} > >/** > * Global operator delete[], defined only inside ICU4C, must not be used. > * Crashes intentionally. > * @internal > */ >inline void >operator delete[](void * /*p*/) { > char *q=NULL; > *q=5; /* break it */ >} > >#endif /* U_HIDE_INTERNAL_API */ ># 456 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" >#endif ># 457 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" > >/*===========================================================================*/ >/* UErrorCode */ >/*===========================================================================*/ > >/** > * Error code to replace exception handling, so that the code is compatible with all C++ compilers, > * and to use the same mechanism for C and C++. > * > * \par > * ICU functions that take a reference (C++) or a pointer (C) to a UErrorCode > * first test if(U_FAILURE(errorCode)) { return immediately; } > * so that in a chain of such functions the first one that sets an error code > * causes the following ones to not perform any operations. > * > * \par > * Error codes should be tested using U_FAILURE() and U_SUCCESS(). > * @stable ICU 2.0 > */ >typedef enum UErrorCode { > /* The ordering of U_ERROR_INFO_START Vs U_USING_FALLBACK_WARNING looks weird > * and is that way because VC++ debugger displays first encountered constant, > * which is not the what the code is used for > */ > > U_USING_FALLBACK_WARNING = -128, /**< A resource bundle lookup returned a fallback result (not an error) */ > > U_ERROR_WARNING_START = -128, /**< Start of information results (semantically successful) */ > > U_USING_DEFAULT_WARNING = -127, /**< A resource bundle lookup returned a result from the root locale (not an error) */ > > U_SAFECLONE_ALLOCATED_WARNING = -126, /**< A SafeClone operation required allocating memory (informational only) */ > > U_STATE_OLD_WARNING = -125, /**< ICU has to use compatibility layer to construct the service. Expect performance/memory usage degradation. Consider upgrading */ > > U_STRING_NOT_TERMINATED_WARNING = -124,/**< An output string could not be NUL-terminated because output length==destCapacity. */ > > U_SORT_KEY_TOO_SHORT_WARNING = -123, /**< Number of levels requested in getBound is higher than the number of levels in the sort key */ > > U_AMBIGUOUS_ALIAS_WARNING = -122, /**< This converter alias can go to different converter implementations */ > > U_DIFFERENT_UCA_VERSION = -121, /**< ucol_open encountered a mismatch between UCA version and collator image version, so the collator was constructed from rules. No impact to further function */ > > U_PLUGIN_CHANGED_LEVEL_WARNING = -120, /**< A plugin caused a level change. May not be an error, but later plugins may not load. */ > > U_ERROR_WARNING_LIMIT, /**< This must always be the last warning value to indicate the limit for UErrorCode warnings (last warning code +1) */ > > > U_ZERO_ERROR = 0, /**< No error, no warning. */ > > U_ILLEGAL_ARGUMENT_ERROR = 1, /**< Start of codes indicating failure */ > U_MISSING_RESOURCE_ERROR = 2, /**< The requested resource cannot be found */ > U_INVALID_FORMAT_ERROR = 3, /**< Data format is not what is expected */ > U_FILE_ACCESS_ERROR = 4, /**< The requested file cannot be found */ > U_INTERNAL_PROGRAM_ERROR = 5, /**< Indicates a bug in the library code */ > U_MESSAGE_PARSE_ERROR = 6, /**< Unable to parse a message (message format) */ > U_MEMORY_ALLOCATION_ERROR = 7, /**< Memory allocation error */ > U_INDEX_OUTOFBOUNDS_ERROR = 8, /**< Trying to access the index that is out of bounds */ > U_PARSE_ERROR = 9, /**< Equivalent to Java ParseException */ > U_INVALID_CHAR_FOUND = 10, /**< Character conversion: Unmappable input sequence. In other APIs: Invalid character. */ > U_TRUNCATED_CHAR_FOUND = 11, /**< Character conversion: Incomplete input sequence. */ > U_ILLEGAL_CHAR_FOUND = 12, /**< Character conversion: Illegal input sequence/combination of input units. */ > U_INVALID_TABLE_FORMAT = 13, /**< Conversion table file found, but corrupted */ > U_INVALID_TABLE_FILE = 14, /**< Conversion table file not found */ > U_BUFFER_OVERFLOW_ERROR = 15, /**< A result would not fit in the supplied buffer */ > U_UNSUPPORTED_ERROR = 16, /**< Requested operation not supported in current context */ > U_RESOURCE_TYPE_MISMATCH = 17, /**< an operation is requested over a resource that does not support it */ > U_ILLEGAL_ESCAPE_SEQUENCE = 18, /**< ISO-2022 illlegal escape sequence */ > U_UNSUPPORTED_ESCAPE_SEQUENCE = 19, /**< ISO-2022 unsupported escape sequence */ > U_NO_SPACE_AVAILABLE = 20, /**< No space available for in-buffer expansion for Arabic shaping */ > U_CE_NOT_FOUND_ERROR = 21, /**< Currently used only while setting variable top, but can be used generally */ > U_PRIMARY_TOO_LONG_ERROR = 22, /**< User tried to set variable top to a primary that is longer than two bytes */ > U_STATE_TOO_OLD_ERROR = 23, /**< ICU cannot construct a service from this state, as it is no longer supported */ > U_TOO_MANY_ALIASES_ERROR = 24, /**< There are too many aliases in the path to the requested resource. > It is very possible that a circular alias definition has occured */ > U_ENUM_OUT_OF_SYNC_ERROR = 25, /**< UEnumeration out of sync with underlying collection */ > U_INVARIANT_CONVERSION_ERROR = 26, /**< Unable to convert a UChar* string to char* with the invariant converter. */ > U_INVALID_STATE_ERROR = 27, /**< Requested operation can not be completed with ICU in its current state */ > U_COLLATOR_VERSION_MISMATCH = 28, /**< Collator version is not compatible with the base version */ > U_USELESS_COLLATOR_ERROR = 29, /**< Collator is options only and no base is specified */ > U_NO_WRITE_PERMISSION = 30, /**< Attempt to modify read-only or constant data. */ > > U_STANDARD_ERROR_LIMIT, /**< This must always be the last value to indicate the limit for standard errors */ > /* > * the error code range 0x10000 0x10100 are reserved for Transliterator > */ > U_BAD_VARIABLE_DEFINITION=0x10000,/**< Missing '$' or duplicate variable name */ > U_PARSE_ERROR_START = 0x10000, /**< Start of Transliterator errors */ > U_MALFORMED_RULE, /**< Elements of a rule are misplaced */ > U_MALFORMED_SET, /**< A UnicodeSet pattern is invalid*/ > U_MALFORMED_SYMBOL_REFERENCE, /**< UNUSED as of ICU 2.4 */ > U_MALFORMED_UNICODE_ESCAPE, /**< A Unicode escape pattern is invalid*/ > U_MALFORMED_VARIABLE_DEFINITION, /**< A variable definition is invalid */ > U_MALFORMED_VARIABLE_REFERENCE, /**< A variable reference is invalid */ > U_MISMATCHED_SEGMENT_DELIMITERS, /**< UNUSED as of ICU 2.4 */ > U_MISPLACED_ANCHOR_START, /**< A start anchor appears at an illegal position */ > U_MISPLACED_CURSOR_OFFSET, /**< A cursor offset occurs at an illegal position */ > U_MISPLACED_QUANTIFIER, /**< A quantifier appears after a segment close delimiter */ > U_MISSING_OPERATOR, /**< A rule contains no operator */ > U_MISSING_SEGMENT_CLOSE, /**< UNUSED as of ICU 2.4 */ > U_MULTIPLE_ANTE_CONTEXTS, /**< More than one ante context */ > U_MULTIPLE_CURSORS, /**< More than one cursor */ > U_MULTIPLE_POST_CONTEXTS, /**< More than one post context */ > U_TRAILING_BACKSLASH, /**< A dangling backslash */ > U_UNDEFINED_SEGMENT_REFERENCE, /**< A segment reference does not correspond to a defined segment */ > U_UNDEFINED_VARIABLE, /**< A variable reference does not correspond to a defined variable */ > U_UNQUOTED_SPECIAL, /**< A special character was not quoted or escaped */ > U_UNTERMINATED_QUOTE, /**< A closing single quote is missing */ > U_RULE_MASK_ERROR, /**< A rule is hidden by an earlier more general rule */ > U_MISPLACED_COMPOUND_FILTER, /**< A compound filter is in an invalid location */ > U_MULTIPLE_COMPOUND_FILTERS, /**< More than one compound filter */ > U_INVALID_RBT_SYNTAX, /**< A "::id" rule was passed to the RuleBasedTransliterator parser */ > U_INVALID_PROPERTY_PATTERN, /**< UNUSED as of ICU 2.4 */ > U_MALFORMED_PRAGMA, /**< A 'use' pragma is invlalid */ > U_UNCLOSED_SEGMENT, /**< A closing ')' is missing */ > U_ILLEGAL_CHAR_IN_SEGMENT, /**< UNUSED as of ICU 2.4 */ > U_VARIABLE_RANGE_EXHAUSTED, /**< Too many stand-ins generated for the given variable range */ > U_VARIABLE_RANGE_OVERLAP, /**< The variable range overlaps characters used in rules */ > U_ILLEGAL_CHARACTER, /**< A special character is outside its allowed context */ > U_INTERNAL_TRANSLITERATOR_ERROR, /**< Internal transliterator system error */ > U_INVALID_ID, /**< A "::id" rule specifies an unknown transliterator */ > U_INVALID_FUNCTION, /**< A "&fn()" rule specifies an unknown transliterator */ > U_PARSE_ERROR_LIMIT, /**< The limit for Transliterator errors */ > > /* > * the error code range 0x10100 0x10200 are reserved for formatting API parsing error > */ > U_UNEXPECTED_TOKEN=0x10100, /**< Syntax error in format pattern */ > U_FMT_PARSE_ERROR_START=0x10100, /**< Start of format library errors */ > U_MULTIPLE_DECIMAL_SEPARATORS, /**< More than one decimal separator in number pattern */ > U_MULTIPLE_DECIMAL_SEPERATORS = U_MULTIPLE_DECIMAL_SEPARATORS, /**< Typo: kept for backward compatibility. Use U_MULTIPLE_DECIMAL_SEPARATORS */ > U_MULTIPLE_EXPONENTIAL_SYMBOLS, /**< More than one exponent symbol in number pattern */ > U_MALFORMED_EXPONENTIAL_PATTERN, /**< Grouping symbol in exponent pattern */ > U_MULTIPLE_PERCENT_SYMBOLS, /**< More than one percent symbol in number pattern */ > U_MULTIPLE_PERMILL_SYMBOLS, /**< More than one permill symbol in number pattern */ > U_MULTIPLE_PAD_SPECIFIERS, /**< More than one pad symbol in number pattern */ > U_PATTERN_SYNTAX_ERROR, /**< Syntax error in format pattern */ > U_ILLEGAL_PAD_POSITION, /**< Pad symbol misplaced in number pattern */ > U_UNMATCHED_BRACES, /**< Braces do not match in message pattern */ > U_UNSUPPORTED_PROPERTY, /**< UNUSED as of ICU 2.4 */ > U_UNSUPPORTED_ATTRIBUTE, /**< UNUSED as of ICU 2.4 */ > U_ARGUMENT_TYPE_MISMATCH, /**< Argument name and argument index mismatch in MessageFormat functions */ > U_DUPLICATE_KEYWORD, /**< Duplicate keyword in PluralFormat */ > U_UNDEFINED_KEYWORD, /**< Undefined Plural keyword */ > U_DEFAULT_KEYWORD_MISSING, /**< Missing DEFAULT rule in plural rules */ > U_DECIMAL_NUMBER_SYNTAX_ERROR, /**< Decimal number syntax error */ > U_FORMAT_INEXACT_ERROR, /**< Cannot format a number exactly and rounding mode is ROUND_UNNECESSARY @stable ICU 4.8 */ > U_FMT_PARSE_ERROR_LIMIT, /**< The limit for format library errors */ > > /* > * the error code range 0x10200 0x102ff are reserved for Break Iterator related error > */ > U_BRK_INTERNAL_ERROR=0x10200, /**< An internal error (bug) was detected. */ > U_BRK_ERROR_START=0x10200, /**< Start of codes indicating Break Iterator failures */ > U_BRK_HEX_DIGITS_EXPECTED, /**< Hex digits expected as part of a escaped char in a rule. */ > U_BRK_SEMICOLON_EXPECTED, /**< Missing ';' at the end of a RBBI rule. */ > U_BRK_RULE_SYNTAX, /**< Syntax error in RBBI rule. */ > U_BRK_UNCLOSED_SET, /**< UnicodeSet witing an RBBI rule missing a closing ']'. */ > U_BRK_ASSIGN_ERROR, /**< Syntax error in RBBI rule assignment statement. */ > U_BRK_VARIABLE_REDFINITION, /**< RBBI rule $Variable redefined. */ > U_BRK_MISMATCHED_PAREN, /**< Mis-matched parentheses in an RBBI rule. */ > U_BRK_NEW_LINE_IN_QUOTED_STRING, /**< Missing closing quote in an RBBI rule. */ > U_BRK_UNDEFINED_VARIABLE, /**< Use of an undefined $Variable in an RBBI rule. */ > U_BRK_INIT_ERROR, /**< Initialization failure. Probable missing ICU Data. */ > U_BRK_RULE_EMPTY_SET, /**< Rule contains an empty Unicode Set. */ > U_BRK_UNRECOGNIZED_OPTION, /**< !!option in RBBI rules not recognized. */ > U_BRK_MALFORMED_RULE_TAG, /**< The {nnn} tag on a rule is mal formed */ > U_BRK_ERROR_LIMIT, /**< This must always be the last value to indicate the limit for Break Iterator failures */ > > /* > * The error codes in the range 0x10300-0x103ff are reserved for regular expression related errrs > */ > U_REGEX_INTERNAL_ERROR=0x10300, /**< An internal error (bug) was detected. */ > U_REGEX_ERROR_START=0x10300, /**< Start of codes indicating Regexp failures */ > U_REGEX_RULE_SYNTAX, /**< Syntax error in regexp pattern. */ > U_REGEX_INVALID_STATE, /**< RegexMatcher in invalid state for requested operation */ > U_REGEX_BAD_ESCAPE_SEQUENCE, /**< Unrecognized backslash escape sequence in pattern */ > U_REGEX_PROPERTY_SYNTAX, /**< Incorrect Unicode property */ > U_REGEX_UNIMPLEMENTED, /**< Use of regexp feature that is not yet implemented. */ > U_REGEX_MISMATCHED_PAREN, /**< Incorrectly nested parentheses in regexp pattern. */ > U_REGEX_NUMBER_TOO_BIG, /**< Decimal number is too large. */ > U_REGEX_BAD_INTERVAL, /**< Error in {min,max} interval */ > U_REGEX_MAX_LT_MIN, /**< In {min,max}, max is less than min. */ > U_REGEX_INVALID_BACK_REF, /**< Back-reference to a non-existent capture group. */ > U_REGEX_INVALID_FLAG, /**< Invalid value for match mode flags. */ > U_REGEX_LOOK_BEHIND_LIMIT, /**< Look-Behind pattern matches must have a bounded maximum length. */ > U_REGEX_SET_CONTAINS_STRING, /**< Regexps cannot have UnicodeSets containing strings.*/ >#ifndef U_HIDE_DEPRECATED_API > U_REGEX_OCTAL_TOO_BIG, /**< Octal character constants must be <= 0377. @deprecated ICU 54. This error cannot occur. */ >#endif /* U_HIDE_DEPRECATED_API */ ># 647 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" > U_REGEX_MISSING_CLOSE_BRACKET=U_REGEX_SET_CONTAINS_STRING+2, /**< Missing closing bracket on a bracket expression. */ > U_REGEX_INVALID_RANGE, /**< In a character range [x-y], x is greater than y. */ > U_REGEX_STACK_OVERFLOW, /**< Regular expression backtrack stack overflow. */ > U_REGEX_TIME_OUT, /**< Maximum allowed match time exceeded */ > U_REGEX_STOPPED_BY_CALLER, /**< Matching operation aborted by user callback fn. */ >#ifndef U_HIDE_DRAFT_API > U_REGEX_PATTERN_TOO_BIG, /**< Pattern exceeds limits on size or complexity. @draft ICU 55 */ > U_REGEX_INVALID_CAPTURE_GROUP_NAME, /**< Invalid capture group name. @draft ICU 55 */ >#endif /* U_HIDE_DRAFT_API */ ># 656 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" > U_REGEX_ERROR_LIMIT=U_REGEX_STOPPED_BY_CALLER+3, /**< This must always be the last value to indicate the limit for regexp errors */ > > /* > * The error code in the range 0x10400-0x104ff are reserved for IDNA related error codes > */ > U_IDNA_PROHIBITED_ERROR=0x10400, > U_IDNA_ERROR_START=0x10400, > U_IDNA_UNASSIGNED_ERROR, > U_IDNA_CHECK_BIDI_ERROR, > U_IDNA_STD3_ASCII_RULES_ERROR, > U_IDNA_ACE_PREFIX_ERROR, > U_IDNA_VERIFICATION_ERROR, > U_IDNA_LABEL_TOO_LONG_ERROR, > U_IDNA_ZERO_LENGTH_LABEL_ERROR, > U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR, > U_IDNA_ERROR_LIMIT, > /* > * Aliases for StringPrep > */ > U_STRINGPREP_PROHIBITED_ERROR = U_IDNA_PROHIBITED_ERROR, > U_STRINGPREP_UNASSIGNED_ERROR = U_IDNA_UNASSIGNED_ERROR, > U_STRINGPREP_CHECK_BIDI_ERROR = U_IDNA_CHECK_BIDI_ERROR, > > /* > * The error code in the range 0x10500-0x105ff are reserved for Plugin related error codes > */ > U_PLUGIN_ERROR_START=0x10500, /**< Start of codes indicating plugin failures */ > U_PLUGIN_TOO_HIGH=0x10500, /**< The plugin's level is too high to be loaded right now. */ > U_PLUGIN_DIDNT_SET_LEVEL, /**< The plugin didn't call uplug_setPlugLevel in response to a QUERY */ > U_PLUGIN_ERROR_LIMIT, /**< This must always be the last value to indicate the limit for plugin errors */ > > U_ERROR_LIMIT=U_PLUGIN_ERROR_LIMIT /**< This must always be the last value to indicate the limit for UErrorCode (last error code +1) */ >} UErrorCode; > >/* Use the following to determine if an UErrorCode represents */ >/* operational success or failure. */ > >#ifdef __cplusplus > /** > * Does the error code indicate success? > * @stable ICU 2.0 > */ > static > inline UBool U_SUCCESS(UErrorCode code) { return (UBool)(code<=U_ZERO_ERROR); } > /** > * Does the error code indicate a failure? > * @stable ICU 2.0 > */ > static > inline UBool U_FAILURE(UErrorCode code) { return (UBool)(code>U_ZERO_ERROR); } >#else ># 707 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" > /** > * Does the error code indicate success? > * @stable ICU 2.0 > */ ># define U_SUCCESS(x) ((x)<=U_ZERO_ERROR) > /** > * Does the error code indicate a failure? > * @stable ICU 2.0 > */ ># define U_FAILURE(x) ((x)>U_ZERO_ERROR) >#endif ># 718 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" > >/** > * Return a string for a UErrorCode value. > * The string will be the same as the name of the error code constant > * in the UErrorCode enum above. > * @stable ICU 2.0 > */ >U_STABLE const char * U_EXPORT2 >u_errorName(UErrorCode code); > > >#endif /* _UTYPES */ ># 730 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/utypes.h" ># 22 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" 2 >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/uclean.h" >#endif /* expanded by -frewrite-includes */ ># 1 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uclean.h" 1 >/* >****************************************************************************** >* Copyright (C) 2001-2014, International Business Machines >* Corporation and others. All Rights Reserved. >****************************************************************************** >* file name: uclean.h >* encoding: US-ASCII >* tab size: 8 (not used) >* indentation:4 >* >* created on: 2001July05 >* created by: George Rhoten >*/ > >#ifndef __UCLEAN_H__ >#define __UCLEAN_H__ > >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/utypes.h" >#endif /* expanded by -frewrite-includes */ ># 19 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uclean.h" >/** > * \file > * \brief C API: Initialize and clean up ICU > */ > >/** > * Initialize ICU. > * > * Use of this function is optional. It is OK to simply use ICU > * services and functions without first having initialized > * ICU by calling u_init(). > * > * u_init() will attempt to load some part of ICU's data, and is > * useful as a test for configuration or installation problems that > * leave the ICU data inaccessible. A successful invocation of u_init() > * does not, however, guarantee that all ICU data is accessible. > * > * Multiple calls to u_init() cause no harm, aside from the small amount > * of time required. > * > * In old versions of ICU, u_init() was required in multi-threaded applications > * to ensure the thread safety of ICU. u_init() is no longer needed for this purpose. > * > * @param status An ICU UErrorCode parameter. It must not be <code>NULL</code>. > * An Error will be returned if some required part of ICU data can not > * be loaded or initialized. > * The function returns immediately if the input error code indicates a > * failure, as usual. > * > * @stable ICU 2.6 > */ >U_STABLE void U_EXPORT2 >u_init(UErrorCode *status); > >#ifndef U_HIDE_SYSTEM_API >/** > * Clean up the system resources, such as allocated memory or open files, > * used in all ICU libraries. This will free/delete all memory owned by the > * ICU libraries, and return them to their original load state. All open ICU > * items (collators, resource bundles, converters, etc.) must be closed before > * calling this function, otherwise ICU may not free its allocated memory > * (e.g. close your converters and resource bundles before calling this > * function). Generally, this function should be called once just before > * an application exits. For applications that dynamically load and unload > * the ICU libraries (relatively uncommon), u_cleanup() should be called > * just before the library unload. > * <p> > * u_cleanup() also clears any ICU heap functions, mutex functions or > * trace functions that may have been set for the process. > * This has the effect of restoring ICU to its initial condition, before > * any of these override functions were installed. Refer to > * u_setMemoryFunctions(), u_setMutexFunctions and > * utrace_setFunctions(). If ICU is to be reinitialized after after > * calling u_cleanup(), these runtime override functions will need to > * be set up again if they are still required. > * <p> > * u_cleanup() is not thread safe. All other threads should stop using ICU > * before calling this function. > * <p> > * Any open ICU items will be left in an undefined state by u_cleanup(), > * and any subsequent attempt to use such an item will give unpredictable > * results. > * <p> > * After calling u_cleanup(), an application may continue to use ICU by > * calling u_init(). An application must invoke u_init() first from one single > * thread before allowing other threads call u_init(). All threads existing > * at the time of the first thread's call to u_init() must also call > * u_init() themselves before continuing with other ICU operations. > * <p> > * The use of u_cleanup() just before an application terminates is optional, > * but it should be called only once for performance reasons. The primary > * benefit is to eliminate reports of memory or resource leaks originating > * in ICU code from the results generated by heap analysis tools. > * <p> > * <strong>Use this function with great care!</strong> > * </p> > * > * @stable ICU 2.0 > * @system > */ >U_STABLE void U_EXPORT2 >u_cleanup(void); > > >/** > * Pointer type for a user supplied memory allocation function. > * @param context user supplied value, obtained from from u_setMemoryFunctions(). > * @param size The number of bytes to be allocated > * @return Pointer to the newly allocated memory, or NULL if the allocation failed. > * @stable ICU 2.8 > * @system > */ >typedef void *U_CALLCONV UMemAllocFn(const void *context, size_t size); >/** > * Pointer type for a user supplied memory re-allocation function. > * @param context user supplied value, obtained from from u_setMemoryFunctions(). > * @param size The number of bytes to be allocated > * @return Pointer to the newly allocated memory, or NULL if the allocation failed. > * @stable ICU 2.8 > * @system > */ >typedef void *U_CALLCONV UMemReallocFn(const void *context, void *mem, size_t size); >/** > * Pointer type for a user supplied memory free function. Behavior should be > * similar the standard C library free(). > * @param context user supplied value, obtained from from u_setMemoryFunctions(). > * @param mem Pointer to the memory block to be resized > * @param size The new size for the block > * @return Pointer to the resized memory block, or NULL if the resizing failed. > * @stable ICU 2.8 > * @system > */ >typedef void U_CALLCONV UMemFreeFn (const void *context, void *mem); > >/** > * Set the functions that ICU will use for memory allocation. > * Use of this function is optional; by default (without this function), ICU will > * use the standard C library malloc() and free() functions. > * This function can only be used when ICU is in an initial, unused state, before > * u_init() has been called. > * @param context This pointer value will be saved, and then (later) passed as > * a parameter to the memory functions each time they > * are called. > * @param a Pointer to a user-supplied malloc function. > * @param r Pointer to a user-supplied realloc function. > * @param f Pointer to a user-supplied free function. > * @param status Receives error values. > * @stable ICU 2.8 > * @system > */ >U_STABLE void U_EXPORT2 >u_setMemoryFunctions(const void *context, UMemAllocFn *a, UMemReallocFn *r, UMemFreeFn *f, > UErrorCode *status); > > >#ifndef U_HIDE_DEPRECATED_API >/********************************************************************************* > * > * Deprecated Functions > * > * The following functions for user supplied mutexes are no longer supported. > * Any attempt to use them will return a U_UNSUPPORTED_ERROR. > * > **********************************************************************************/ > >/** > * An opaque pointer type that represents an ICU mutex. > * For user-implemented mutexes, the value will typically point to a > * struct or object that implements the mutex. > * @deprecated ICU 52. This type is no longer supported. > * @system > */ >typedef void *UMTX; > >/** > * Function Pointer type for a user supplied mutex initialization function. > * The user-supplied function will be called by ICU whenever ICU needs to create a > * new mutex. The function implementation should create a mutex, and store a pointer > * to something that uniquely identifies the mutex into the UMTX that is supplied > * as a paramter. > * @param context user supplied value, obtained from from u_setMutexFunctions(). > * @param mutex Receives a pointer that identifies the new mutex. > * The mutex init function must set the UMTX to a non-null value. > * Subsequent calls by ICU to lock, unlock, or destroy a mutex will > * identify the mutex by the UMTX value. > * @param status Error status. Report errors back to ICU by setting this variable > * with an error code. > * @deprecated ICU 52. This function is no longer supported. > * @system > */ >typedef void U_CALLCONV UMtxInitFn (const void *context, UMTX *mutex, UErrorCode* status); > > >/** > * Function Pointer type for a user supplied mutex functions. > * One of the user-supplied functions with this signature will be called by ICU > * whenever ICU needs to lock, unlock, or destroy a mutex. > * @param context user supplied value, obtained from from u_setMutexFunctions(). > * @param mutex specify the mutex on which to operate. > * @deprecated ICU 52. This function is no longer supported. > * @system > */ >typedef void U_CALLCONV UMtxFn (const void *context, UMTX *mutex); > > >/** > * Set the functions that ICU will use for mutex operations > * Use of this function is optional; by default (without this function), ICU will > * directly access system functions for mutex operations > * This function can only be used when ICU is in an initial, unused state, before > * u_init() has been called. > * @param context This pointer value will be saved, and then (later) passed as > * a parameter to the user-supplied mutex functions each time they > * are called. > * @param init Pointer to a mutex initialization function. Must be non-null. > * @param destroy Pointer to the mutex destroy function. Must be non-null. > * @param lock pointer to the mutex lock function. Must be non-null. > * @param unlock Pointer to the mutex unlock function. Must be non-null. > * @param status Receives error values. > * @deprecated ICU 52. This function is no longer supported. > * @system > */ >U_DEPRECATED void U_EXPORT2 >u_setMutexFunctions(const void *context, UMtxInitFn *init, UMtxFn *destroy, UMtxFn *lock, UMtxFn *unlock, > UErrorCode *status); > > >/** > * Pointer type for a user supplied atomic increment or decrement function. > * @param context user supplied value, obtained from from u_setAtomicIncDecFunctions(). > * @param p Pointer to a 32 bit int to be incremented or decremented > * @return The value of the variable after the inc or dec operation. > * @deprecated ICU 52. This function is no longer supported. > * @system > */ >typedef int32_t U_CALLCONV UMtxAtomicFn(const void *context, int32_t *p); > >/** > * Set the functions that ICU will use for atomic increment and decrement of int32_t values. > * Use of this function is optional; by default (without this function), ICU will > * use its own internal implementation of atomic increment/decrement. > * This function can only be used when ICU is in an initial, unused state, before > * u_init() has been called. > * @param context This pointer value will be saved, and then (later) passed as > * a parameter to the increment and decrement functions each time they > * are called. This function can only be called > * @param inc Pointer to a function to do an atomic increment operation. Must be non-null. > * @param dec Pointer to a function to do an atomic decrement operation. Must be non-null. > * @param status Receives error values. > * @deprecated ICU 52. This function is no longer supported. > * @system > */ >U_DEPRECATED void U_EXPORT2 >u_setAtomicIncDecFunctions(const void *context, UMtxAtomicFn *inc, UMtxAtomicFn *dec, > UErrorCode *status); > >#endif /* U_HIDE_DEPRECATED_API */ ># 256 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uclean.h" >#endif /* U_HIDE_SYSTEM_API */ ># 257 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uclean.h" > >#endif ># 259 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/uclean.h" ># 23 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" 2 >#if 0 /* expanded by -frewrite-includes */ >#include "putilimp.h" >#endif /* expanded by -frewrite-includes */ ># 1 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" 1 >/* >****************************************************************************** >* >* Copyright (C) 1997-2015, International Business Machines >* Corporation and others. All Rights Reserved. >* >****************************************************************************** >* >* FILE NAME : putilimp.h >* >* Date Name Description >* 10/17/04 grhoten Move internal functions from putil.h to this file. >****************************************************************************** >*/ > >#ifndef PUTILIMP_H >#define PUTILIMP_H > >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/utypes.h" >#endif /* expanded by -frewrite-includes */ ># 20 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/putil.h" >#endif /* expanded by -frewrite-includes */ ># 1 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/putil.h" 1 >/* >****************************************************************************** >* >* Copyright (C) 1997-2014, International Business Machines >* Corporation and others. All Rights Reserved. >* >****************************************************************************** >* >* FILE NAME : putil.h >* >* Date Name Description >* 05/14/98 nos Creation (content moved here from utypes.h). >* 06/17/99 erm Added IEEE_754 >* 07/22/98 stephen Added IEEEremainder, max, min, trunc >* 08/13/98 stephen Added isNegativeInfinity, isPositiveInfinity >* 08/24/98 stephen Added longBitsFromDouble >* 03/02/99 stephen Removed openFile(). Added AS400 support. >* 04/15/99 stephen Converted to C >* 11/15/99 helena Integrated S/390 changes for IEEE support. >* 01/11/00 helena Added u_getVersion. >****************************************************************************** >*/ > >#ifndef PUTIL_H >#define PUTIL_H > >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/utypes.h" >#endif /* expanded by -frewrite-includes */ ># 28 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/putil.h" > /** > * \file > * \brief C API: Platform Utilities > */ > >/*==========================================================================*/ >/* Platform utilities */ >/*==========================================================================*/ > >/** > * Platform utilities isolates the platform dependencies of the > * libarary. For each platform which this code is ported to, these > * functions may have to be re-implemented. > */ > >/** > * Return the ICU data directory. > * The data directory is where common format ICU data files (.dat files) > * are loaded from. Note that normal use of the built-in ICU > * facilities does not require loading of an external data file; > * unless you are adding custom data to ICU, the data directory > * does not need to be set. > * > * The data directory is determined as follows: > * If u_setDataDirectory() has been called, that is it, otherwise > * if the ICU_DATA environment variable is set, use that, otherwise > * If a data directory was specifed at ICU build time > * <code> > * \code > * #define ICU_DATA_DIR "path" > * \endcode > * </code> use that, > * otherwise no data directory is available. > * > * @return the data directory, or an empty string ("") if no data directory has > * been specified. > * > * @stable ICU 2.0 > */ >U_STABLE const char* U_EXPORT2 u_getDataDirectory(void); > > >/** > * Set the ICU data directory. > * The data directory is where common format ICU data files (.dat files) > * are loaded from. Note that normal use of the built-in ICU > * facilities does not require loading of an external data file; > * unless you are adding custom data to ICU, the data directory > * does not need to be set. > * > * This function should be called at most once in a process, before the > * first ICU operation (e.g., u_init()) that will require the loading of an > * ICU data file. > * This function is not thread-safe. Use it before calling ICU APIs from > * multiple threads. > * > * @param directory The directory to be set. > * > * @see u_init > * @stable ICU 2.0 > */ >U_STABLE void U_EXPORT2 u_setDataDirectory(const char *directory); > >#ifndef U_HIDE_INTERNAL_API >/** > * Return the time zone files override directory, or an empty string if > * no directory was specified. Certain time zone resources will be preferrentially > * loaded from individual files in this directory. > * > * @return the time zone data override directory. > * @internal > */ >U_INTERNAL const char * U_EXPORT2 u_getTimeZoneFilesDirectory(UErrorCode *status); > >/** > * Set the time zone files override directory. > * This function is not thread safe; it must not be called concurrently with > * u_getTimeZoneFilesDirectory() or any other use of ICU time zone functions. > * This function should only be called before using any ICU service that > * will access the time zone data. > * @internal > */ >U_INTERNAL void U_EXPORT2 u_setTimeZoneFilesDirectory(const char *path, UErrorCode *status); >#endif /* U_HIDE_INTERNAL_API */ ># 112 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/putil.h" > > >/** > * @{ > * Filesystem file and path separator characters. > * Example: '/' and ':' on Unix, '\\' and ';' on Windows. > * @stable ICU 2.0 > */ >#if U_PLATFORM_USES_ONLY_WIN32_API ># define U_FILE_SEP_CHAR '\\' ># define U_FILE_ALT_SEP_CHAR '/' ># define U_PATH_SEP_CHAR ';' ># define U_FILE_SEP_STRING "\\" ># define U_FILE_ALT_SEP_STRING "/" ># define U_PATH_SEP_STRING ";" >#else ># 128 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/putil.h" ># define U_FILE_SEP_CHAR '/' ># define U_FILE_ALT_SEP_CHAR '/' ># define U_PATH_SEP_CHAR ':' ># define U_FILE_SEP_STRING "/" ># define U_FILE_ALT_SEP_STRING "/" ># define U_PATH_SEP_STRING ":" >#endif ># 135 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/putil.h" > >/** @} */ > >/** > * Convert char characters to UChar characters. > * This utility function is useful only for "invariant characters" > * that are encoded in the platform default encoding. > * They are a small, constant subset of the encoding and include > * just the latin letters, digits, and some punctuation. > * For details, see U_CHARSET_FAMILY. > * > * @param cs Input string, points to <code>length</code> > * character bytes from a subset of the platform encoding. > * @param us Output string, points to memory for <code>length</code> > * Unicode characters. > * @param length The number of characters to convert; this may > * include the terminating <code>NUL</code>. > * > * @see U_CHARSET_FAMILY > * @stable ICU 2.0 > */ >U_STABLE void U_EXPORT2 >u_charsToUChars(const char *cs, UChar *us, int32_t length); > >/** > * Convert UChar characters to char characters. > * This utility function is useful only for "invariant characters" > * that can be encoded in the platform default encoding. > * They are a small, constant subset of the encoding and include > * just the latin letters, digits, and some punctuation. > * For details, see U_CHARSET_FAMILY. > * > * @param us Input string, points to <code>length</code> > * Unicode characters that can be encoded with the > * codepage-invariant subset of the platform encoding. > * @param cs Output string, points to memory for <code>length</code> > * character bytes. > * @param length The number of characters to convert; this may > * include the terminating <code>NUL</code>. > * > * @see U_CHARSET_FAMILY > * @stable ICU 2.0 > */ >U_STABLE void U_EXPORT2 >u_UCharsToChars(const UChar *us, char *cs, int32_t length); > >#endif ># 182 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/putil.h" ># 21 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" 2 > >/** > * \def U_SIGNED_RIGHT_SHIFT_IS_ARITHMETIC > * Nearly all CPUs and compilers implement a right-shift of a signed integer > * as an Arithmetic Shift Right which copies the sign bit (the Most Significant Bit (MSB)) > * into the vacated bits (sign extension). > * For example, (int32_t)0xfff5fff3>>4 becomes 0xffff5fff and -1>>1=-1. > * > * This can be useful for storing a signed value in the upper bits > * and another bit field in the lower bits. > * The signed value can be retrieved by simple right-shifting. > * > * This is consistent with the Java language. > * > * However, the C standard allows compilers to implement a right-shift of a signed integer > * as a Logical Shift Right which copies a 0 into the vacated bits. > * For example, (int32_t)0xfff5fff3>>4 becomes 0x0fff5fff and -1>>1=0x7fffffff. > * > * Code that depends on the natural behavior should be guarded with this macro, > * with an alternate path for unusual platforms. > * @internal > */ >#ifdef U_SIGNED_RIGHT_SHIFT_IS_ARITHMETIC > /* Use the predefined value. */ >#else ># 46 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > /* > * Nearly all CPUs & compilers implement a right-shift of a signed integer > * as an Arithmetic Shift Right (with sign extension). > */ ># define U_SIGNED_RIGHT_SHIFT_IS_ARITHMETIC 1 >#endif ># 52 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >/** Define this to 1 if your platform supports IEEE 754 floating point, > to 0 if it does not. */ >#ifndef IEEE_754 ># define IEEE_754 1 >#endif ># 58 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >/** > * uintptr_t is an optional part of the standard definitions in stdint.h. > * The opengroup.org documentation for stdint.h says > * "On XSI-conformant systems, the intptr_t and uintptr_t types are required; > * otherwise, they are optional." > * We assume that when uintptr_t is defined, UINTPTR_MAX is defined as well. > * > * Do not use ptrdiff_t since it is signed. size_t is unsigned. > */ >/* TODO: This check fails on some z environments. Filed a ticket #9357 for this. */ >#if !defined(__intptr_t_defined) && !defined(UINTPTR_MAX) && (U_PLATFORM != U_PF_OS390) >typedef size_t uintptr_t; >#endif ># 72 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >/** > * \def U_HAVE_MSVC_2003_OR_EARLIER > * Flag for workaround of MSVC 2003 optimization bugs > * @internal > */ >#if !defined(U_HAVE_MSVC_2003_OR_EARLIER) && defined(_MSC_VER) && (_MSC_VER < 1400) >#define U_HAVE_MSVC_2003_OR_EARLIER >#endif ># 81 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >/*===========================================================================*/ >/** @{ Information about POSIX support */ >/*===========================================================================*/ > >#ifdef U_HAVE_NL_LANGINFO_CODESET > /* Use the predefined value. */ >#elif U_PLATFORM_HAS_WIN32_API || U_PLATFORM == U_PF_ANDROID || U_PLATFORM == U_PF_QNX ># 89 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_HAVE_NL_LANGINFO_CODESET 0 >#else ># 91 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_HAVE_NL_LANGINFO_CODESET 1 >#endif ># 93 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >#ifdef U_NL_LANGINFO_CODESET > /* Use the predefined value. */ >#elif !U_HAVE_NL_LANGINFO_CODESET ># 97 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_NL_LANGINFO_CODESET -1 >#elif U_PLATFORM == U_PF_OS400 ># 99 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > /* not defined */ >#else ># 101 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_NL_LANGINFO_CODESET CODESET >#endif ># 103 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >#ifdef U_TZSET > /* Use the predefined value. */ >#elif U_PLATFORM_USES_ONLY_WIN32_API ># 107 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_TZSET _tzset >#elif U_PLATFORM == U_PF_OS400 ># 109 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > /* not defined */ >#else ># 111 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_TZSET tzset >#endif ># 113 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >#if defined(U_TIMEZONE) || defined(U_HAVE_TIMEZONE) > /* Use the predefined value. */ >#elif U_PLATFORM == U_PF_ANDROID ># 117 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_TIMEZONE timezone >#elif U_PLATFORM_IS_LINUX_BASED ># 119 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># if defined(__UCLIBC__) > /* uClibc does not have __timezone or _timezone. */ ># elif defined(_NEWLIB_VERSION) ># 122 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_TIMEZONE _timezone ># elif defined(__GLIBC__) ># 124 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > /* glibc */ ># define U_TIMEZONE __timezone ># endif ># 127 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" >#elif U_PLATFORM_USES_ONLY_WIN32_API ># 128 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_TIMEZONE _timezone >#elif U_PLATFORM == U_PF_BSD && !defined(__NetBSD__) ># 130 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > /* not defined */ >#elif U_PLATFORM == U_PF_OS400 ># 132 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > /* not defined */ >#elif U_PLATFORM == U_PF_IPHONE ># 134 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > /* not defined */ >#else ># 136 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_TIMEZONE timezone >#endif ># 138 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >#ifdef U_TZNAME > /* Use the predefined value. */ >#elif U_PLATFORM_USES_ONLY_WIN32_API ># 142 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_TZNAME _tzname >#elif U_PLATFORM == U_PF_OS400 ># 144 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > /* not defined */ >#else ># 146 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_TZNAME tzname >#endif ># 148 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >#ifdef U_HAVE_MMAP > /* Use the predefined value. */ >#elif U_PLATFORM_HAS_WIN32_API ># 152 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_HAVE_MMAP 0 >#else ># 154 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_HAVE_MMAP 1 >#endif ># 156 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >#ifdef U_HAVE_POPEN > /* Use the predefined value. */ >#elif U_PLATFORM_USES_ONLY_WIN32_API ># 160 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_HAVE_POPEN 0 >#elif U_PLATFORM == U_PF_OS400 ># 162 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_HAVE_POPEN 0 >#else ># 164 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_HAVE_POPEN 1 >#endif ># 166 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >/** > * \def U_HAVE_DIRENT_H > * Defines whether dirent.h is available. > * @internal > */ >#ifdef U_HAVE_DIRENT_H > /* Use the predefined value. */ >#elif U_PLATFORM_HAS_WIN32_API ># 175 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_HAVE_DIRENT_H 0 >#else ># 177 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_HAVE_DIRENT_H 1 >#endif ># 179 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >/** @} */ > >/*===========================================================================*/ >/** @{ GCC built in functions for atomic memory operations */ >/*===========================================================================*/ > >/** > * \def U_HAVE_GCC_ATOMICS > * @internal > */ >#ifdef U_HAVE_GCC_ATOMICS > /* Use the predefined value. */ >#elif U_PLATFORM == U_PF_MINGW ># 193 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > #define U_HAVE_GCC_ATOMICS 0 >#elif U_GCC_MAJOR_MINOR >= 404 || defined(__clang__) ># 195 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > /* TODO: Intel icc and IBM xlc on AIX also support gcc atomics. (Intel originated them.) > * Add them for these compilers. > * Note: Clang sets __GNUC__ defines for version 4.2, so misses the 4.4 test here. > */ ># define U_HAVE_GCC_ATOMICS 1 >#else ># 201 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_HAVE_GCC_ATOMICS 0 >#endif ># 203 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >/** @} */ > >/** > * \def U_HAVE_STD_ATOMICS > * Defines whether the standard C++11 <atomic> is available. > * ICU will use this when avialable, > * otherwise will fall back to compiler or platform specific alternatives. > * @internal > */ >#ifdef U_HAVE_STD_ATOMICS > /* Use the predefined value. */ >#elif U_CPLUSPLUS_VERSION < 11 ># 216 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > /* Not C++11, disable use of atomics */ ># define U_HAVE_STD_ATOMICS 0 >#elif __clang__ && __clang_major__==3 && __clang_minor__<=1 ># 219 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > /* Clang 3.1, has atomic variable initializer bug. */ ># define U_HAVE_STD_ATOMICS 0 >#else ># 222 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > /* U_HAVE_ATOMIC is typically set by an autoconf test of #include <atomic> */ > /* Can be set manually, or left undefined, on platforms without autoconf. */ ># if defined(U_HAVE_ATOMIC) && U_HAVE_ATOMIC ># define U_HAVE_STD_ATOMICS 1 ># else ># 227 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_HAVE_STD_ATOMICS 0 ># endif ># 229 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" >#endif ># 230 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > > >/** > * \def U_HAVE_CLANG_ATOMICS > * Defines whether Clang c11 style built-in atomics are avaialable. > * These are used in preference to gcc atomics when both are available. > */ >#ifdef U_HAVE_CLANG_ATOMICS > /* Use the predefined value. */ >#elif __has_builtin(__c11_atomic_load) && \ > __has_builtin(__c11_atomic_store) && \ > __has_builtin(__c11_atomic_fetch_add) && \ > __has_builtin(__c11_atomic_fetch_sub) ># 243 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_HAVE_CLANG_ATOMICS 1 >#else ># 245 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_HAVE_CLANG_ATOMICS 0 >#endif ># 247 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >/*===========================================================================*/ >/** @{ Programs used by ICU code */ >/*===========================================================================*/ > >/** > * \def U_MAKE_IS_NMAKE > * Defines whether the "make" program is Windows nmake. > */ >#ifdef U_MAKE_IS_NMAKE > /* Use the predefined value. */ >#elif U_PLATFORM == U_PF_WINDOWS ># 259 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_MAKE_IS_NMAKE 1 >#else ># 261 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_MAKE_IS_NMAKE 0 >#endif ># 263 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >/** @} */ > >/*==========================================================================*/ >/* Platform utilities */ >/*==========================================================================*/ > >/** > * Platform utilities isolates the platform dependencies of the > * libarary. For each platform which this code is ported to, these > * functions may have to be re-implemented. > */ > >/** > * Floating point utility to determine if a double is Not a Number (NaN). > * @internal > */ >U_INTERNAL UBool U_EXPORT2 uprv_isNaN(double d); >/** > * Floating point utility to determine if a double has an infinite value. > * @internal > */ >U_INTERNAL UBool U_EXPORT2 uprv_isInfinite(double d); >/** > * Floating point utility to determine if a double has a positive infinite value. > * @internal > */ >U_INTERNAL UBool U_EXPORT2 uprv_isPositiveInfinity(double d); >/** > * Floating point utility to determine if a double has a negative infinite value. > * @internal > */ >U_INTERNAL UBool U_EXPORT2 uprv_isNegativeInfinity(double d); >/** > * Floating point utility that returns a Not a Number (NaN) value. > * @internal > */ >U_INTERNAL double U_EXPORT2 uprv_getNaN(void); >/** > * Floating point utility that returns an infinite value. > * @internal > */ >U_INTERNAL double U_EXPORT2 uprv_getInfinity(void); > >/** > * Floating point utility to truncate a double. > * @internal > */ >U_INTERNAL double U_EXPORT2 uprv_trunc(double d); >/** > * Floating point utility to calculate the floor of a double. > * @internal > */ >U_INTERNAL double U_EXPORT2 uprv_floor(double d); >/** > * Floating point utility to calculate the ceiling of a double. > * @internal > */ >U_INTERNAL double U_EXPORT2 uprv_ceil(double d); >/** > * Floating point utility to calculate the absolute value of a double. > * @internal > */ >U_INTERNAL double U_EXPORT2 uprv_fabs(double d); >/** > * Floating point utility to calculate the fractional and integer parts of a double. > * @internal > */ >U_INTERNAL double U_EXPORT2 uprv_modf(double d, double* pinteger); >/** > * Floating point utility to calculate the remainder of a double divided by another double. > * @internal > */ >U_INTERNAL double U_EXPORT2 uprv_fmod(double d, double y); >/** > * Floating point utility to calculate d to the power of exponent (d^exponent). > * @internal > */ >U_INTERNAL double U_EXPORT2 uprv_pow(double d, double exponent); >/** > * Floating point utility to calculate 10 to the power of exponent (10^exponent). > * @internal > */ >U_INTERNAL double U_EXPORT2 uprv_pow10(int32_t exponent); >/** > * Floating point utility to calculate the maximum value of two doubles. > * @internal > */ >U_INTERNAL double U_EXPORT2 uprv_fmax(double d, double y); >/** > * Floating point utility to calculate the minimum value of two doubles. > * @internal > */ >U_INTERNAL double U_EXPORT2 uprv_fmin(double d, double y); >/** > * Private utility to calculate the maximum value of two integers. > * @internal > */ >U_INTERNAL int32_t U_EXPORT2 uprv_max(int32_t d, int32_t y); >/** > * Private utility to calculate the minimum value of two integers. > * @internal > */ >U_INTERNAL int32_t U_EXPORT2 uprv_min(int32_t d, int32_t y); > >#if U_IS_BIG_ENDIAN ># define uprv_isNegative(number) (*((signed char *)&(number))<0) >#else ># 371 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define uprv_isNegative(number) (*((signed char *)&(number)+sizeof(number)-1)<0) >#endif ># 373 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >/** > * Return the largest positive number that can be represented by an integer > * type of arbitrary bit length. > * @internal > */ >U_INTERNAL double U_EXPORT2 uprv_maxMantissa(void); > >/** > * Floating point utility to calculate the logarithm of a double. > * @internal > */ >U_INTERNAL double U_EXPORT2 uprv_log(double d); > >/** > * Does common notion of rounding e.g. uprv_floor(x + 0.5); > * @param x the double number > * @return the rounded double > * @internal > */ >U_INTERNAL double U_EXPORT2 uprv_round(double x); > >#if 0 >/** > * Returns the number of digits after the decimal point in a double number x. > * > * @param x the double number > * @return the number of digits after the decimal point in a double number x. > * @internal > */ >/*U_INTERNAL int32_t U_EXPORT2 uprv_digitsAfterDecimal(double x);*/ >#endif ># 405 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >#if !U_CHARSET_IS_UTF8 >/** > * Please use ucnv_getDefaultName() instead. > * Return the default codepage for this platform and locale. > * This function can call setlocale() on Unix platforms. Please read the > * platform documentation on setlocale() before calling this function. > * @return the default codepage for this platform > * @internal > */ >U_INTERNAL const char* U_EXPORT2 uprv_getDefaultCodepage(void); >#endif ># 417 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >/** > * Please use uloc_getDefault() instead. > * Return the default locale ID string by querying ths system, or > * zero if one cannot be found. > * This function can call setlocale() on Unix platforms. Please read the > * platform documentation on setlocale() before calling this function. > * @return the default locale ID string > * @internal > */ >U_INTERNAL const char* U_EXPORT2 uprv_getDefaultLocaleID(void); > >/** > * Time zone utilities > * > * Wrappers for C runtime library functions relating to timezones. > * The t_tzset() function (similar to tzset) uses the current setting > * of the environment variable TZ to assign values to three global > * variables: daylight, timezone, and tzname. These variables have the > * following meanings, and are declared in <time.h>. > * > * daylight Nonzero if daylight-saving-time zone (DST) is specified > * in TZ; otherwise, 0. Default value is 1. > * timezone Difference in seconds between coordinated universal > * time and local time. E.g., -28,800 for PST (GMT-8hrs) > * tzname(0) Three-letter time-zone name derived from TZ environment > * variable. E.g., "PST". > * tzname(1) Three-letter DST zone name derived from TZ environment > * variable. E.g., "PDT". If DST zone is omitted from TZ, > * tzname(1) is an empty string. > * > * Notes: For example, to set the TZ environment variable to correspond > * to the current time zone in Germany, you can use one of the > * following statements: > * > * set TZ=GST1GDT > * set TZ=GST+1GDT > * > * If the TZ value is not set, t_tzset() attempts to use the time zone > * information specified by the operating system. Under Windows NT > * and Windows 95, this information is specified in the Control Panel's > * Date/Time application. > * @internal > */ >U_INTERNAL void U_EXPORT2 uprv_tzset(void); > >/** > * Difference in seconds between coordinated universal > * time and local time. E.g., -28,800 for PST (GMT-8hrs) > * @return the difference in seconds between coordinated universal time and local time. > * @internal > */ >U_INTERNAL int32_t U_EXPORT2 uprv_timezone(void); > >/** > * tzname(0) Three-letter time-zone name derived from TZ environment > * variable. E.g., "PST". > * tzname(1) Three-letter DST zone name derived from TZ environment > * variable. E.g., "PDT". If DST zone is omitted from TZ, > * tzname(1) is an empty string. > * @internal > */ >U_INTERNAL const char* U_EXPORT2 uprv_tzname(int n); > >/** > * Reset the global tzname cache. > * @internal > */ >U_INTERNAL void uprv_tzname_clear_cache(); > >/** > * Get UTC (GMT) time measured in milliseconds since 0:00 on 1/1/1970. > * This function is affected by 'faketime' and should be the bottleneck for all user-visible ICU time functions. > * @return the UTC time measured in milliseconds > * @internal > */ >U_INTERNAL UDate U_EXPORT2 uprv_getUTCtime(void); > >/** > * Get UTC (GMT) time measured in milliseconds since 0:00 on 1/1/1970. > * This function is not affected by 'faketime', so it should only be used by low level test functions- not by anything that > * exposes time to the end user. > * @return the UTC time measured in milliseconds > * @internal > */ >U_INTERNAL UDate U_EXPORT2 uprv_getRawUTCtime(void); > >/** > * Determine whether a pathname is absolute or not, as defined by the platform. > * @param path Pathname to test > * @return TRUE if the path is absolute > * @internal (ICU 3.0) > */ >U_INTERNAL UBool U_EXPORT2 uprv_pathIsAbsolute(const char *path); > >/** > * Use U_MAX_PTR instead of this function. > * @param void pointer to test > * @return the largest possible pointer greater than the base > * @internal (ICU 3.8) > */ >U_INTERNAL void * U_EXPORT2 uprv_maximumPtr(void *base); > >/** > * Maximum value of a (void*) - use to indicate the limit of an 'infinite' buffer. > * In fact, buffer sizes must not exceed 2GB so that the difference between > * the buffer limit and the buffer start can be expressed in an int32_t. > * > * The definition of U_MAX_PTR must fulfill the following conditions: > * - return the largest possible pointer greater than base > * - return a valid pointer according to the machine architecture (AS/400, 64-bit, etc.) > * - avoid wrapping around at high addresses > * - make sure that the returned pointer is not farther from base than 0x7fffffff bytes > * > * @param base The beginning of a buffer to find the maximum offset from > * @internal > */ >#ifndef U_MAX_PTR ># if U_PLATFORM == U_PF_OS390 && !defined(_LP64) > /* We have 31-bit pointers. */ ># define U_MAX_PTR(base) ((void *)0x7fffffff) ># elif U_PLATFORM == U_PF_OS400 ># 539 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># define U_MAX_PTR(base) uprv_maximumPtr((void *)base) ># elif 0 ># 541 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > /* > * For platforms where pointers are scalar values (which is normal, but unlike i5/OS) > * but that do not define uintptr_t. > * > * However, this does not work on modern compilers: > * The C++ standard does not define pointer overflow, and allows compilers to > * assume that p+u>p for any pointer p and any integer u>0. > * Thus, modern compilers optimize away the ">" comparison. > * (See ICU tickets #7187 and #8096.) > */ ># define U_MAX_PTR(base) \ > ((void *)(((char *)(base)+0x7fffffffu) > (char *)(base) \ > ? ((char *)(base)+0x7fffffffu) \ > : (char *)-1)) ># else ># 556 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > /* Default version. C++ standard compliant for scalar pointers. */ ># define U_MAX_PTR(base) \ > ((void *)(((uintptr_t)(base)+0x7fffffffu) > (uintptr_t)(base) \ > ? ((uintptr_t)(base)+0x7fffffffu) \ > : (uintptr_t)-1)) ># endif ># 562 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" >#endif ># 563 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >/* Dynamic Library Functions */ > >typedef void (UVoidFunction)(void); > >#if U_ENABLE_DYLOAD >/** > * Load a library > * @internal (ICU 4.4) > */ >U_INTERNAL void * U_EXPORT2 uprv_dl_open(const char *libName, UErrorCode *status); > >/** > * Close a library > * @internal (ICU 4.4) > */ >U_INTERNAL void U_EXPORT2 uprv_dl_close( void *lib, UErrorCode *status); > >/** > * Extract a symbol from a library (function) > * @internal (ICU 4.8) > */ >U_INTERNAL UVoidFunction* U_EXPORT2 uprv_dlsym_func( void *lib, const char *symbolName, UErrorCode *status); > >/** > * Extract a symbol from a library (function) > * Not implemented, no clients. > * @internal > */ >/* U_INTERNAL void * U_EXPORT2 uprv_dlsym_data( void *lib, const char *symbolName, UErrorCode *status); */ > >#endif ># 595 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > >/** > * Define malloc and related functions > * @internal > */ >#if U_PLATFORM == U_PF_OS400 ># define uprv_default_malloc(x) _C_TS_malloc(x) ># define uprv_default_realloc(x,y) _C_TS_realloc(x,y) ># define uprv_default_free(x) _C_TS_free(x) >/* also _C_TS_calloc(x) */ >#else ># 606 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" >/* C defaults */ ># define uprv_default_malloc(x) malloc(x) ># define uprv_default_realloc(x,y) realloc(x,y) ># define uprv_default_free(x) free(x) >#endif ># 611 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" > > >#endif ># 614 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/putilimp.h" ># 24 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" 2 > > > >// Forward Declarations. UMutex is not in the ICU namespace (yet) because >// there are some remaining references from plain C. >struct UMutex; >struct UConditionVar; > >U_NAMESPACE_BEGIN >struct UInitOnce; >U_NAMESPACE_END > >// Stringify macros, to allow #include of user supplied atomic & mutex files. >#define U_MUTEX_STR(s) #s >#define U_MUTEX_XSTR(s) U_MUTEX_STR(s) > >/**************************************************************************** > * > * Low Level Atomic Operations. > * Compiler dependent. Not operating system dependent. > * > ****************************************************************************/ >#if defined (U_USER_ATOMICS_H) >#if 0 /* expanded by -frewrite-includes */ >#include U_MUTEX_XSTR(U_USER_ATOMICS_H) >#endif /* expanded by -frewrite-includes */ ># 48 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" > >#elif U_HAVE_STD_ATOMICS ># 50 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" > >// C++11 atomics are available. > >#if 0 /* expanded by -frewrite-includes */ >#include <atomic> >#endif /* expanded by -frewrite-includes */ ># 54 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" > >U_NAMESPACE_BEGIN > >typedef std::atomic<int32_t> u_atomic_int32_t; >#define ATOMIC_INT32_T_INITIALIZER(val) ATOMIC_VAR_INIT(val) > >inline int32_t umtx_loadAcquire(u_atomic_int32_t &var) { > return var.load(std::memory_order_acquire); >} > >inline void umtx_storeRelease(u_atomic_int32_t &var, int32_t val) { > var.store(val, std::memory_order_release); >} > >inline int32_t umtx_atomic_inc(u_atomic_int32_t *var) { > return var->fetch_add(1) + 1; >} > >inline int32_t umtx_atomic_dec(u_atomic_int32_t *var) { > return var->fetch_sub(1) - 1; >} >U_NAMESPACE_END > >#elif U_PLATFORM_HAS_WIN32_API ># 78 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" > >// MSVC compiler. Reads and writes of volatile variables have >// acquire and release memory semantics, respectively. >// This is a Microsoft extension, not standard C++ behavior. >// >// Update: can't use this because of MinGW, built with gcc. >// Original plan was to use gcc atomics for MinGW, but they >// aren't supported, so we fold MinGW into this path. > ># define WIN32_LEAN_AND_MEAN ># define VC_EXTRALEAN ># define NOUSER ># define NOSERVICE ># define NOIME ># define NOMCX ># ifndef NOMINMAX ># define NOMINMAX ># endif ># 96 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" >#if 0 /* expanded by -frewrite-includes */ ># include <windows.h> >#endif /* expanded by -frewrite-includes */ ># 97 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" > >U_NAMESPACE_BEGIN >typedef volatile LONG u_atomic_int32_t; >#define ATOMIC_INT32_T_INITIALIZER(val) val > >inline int32_t umtx_loadAcquire(u_atomic_int32_t &var) { > return InterlockedCompareExchange(&var, 0, 0); >} > >inline void umtx_storeRelease(u_atomic_int32_t &var, int32_t val) { > InterlockedExchange(&var, val); >} > > >inline int32_t umtx_atomic_inc(u_atomic_int32_t *var) { > return InterlockedIncrement(var); >} > >inline int32_t umtx_atomic_dec(u_atomic_int32_t *var) { > return InterlockedDecrement(var); >} >U_NAMESPACE_END > > >#elif U_HAVE_CLANG_ATOMICS ># 122 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" >/* > * Clang __c11 atomic built-ins > */ > >U_NAMESPACE_BEGIN >typedef _Atomic(int32_t) u_atomic_int32_t; >#define ATOMIC_INT32_T_INITIALIZER(val) val > >inline int32_t umtx_loadAcquire(u_atomic_int32_t &var) { > return __c11_atomic_load(&var, __ATOMIC_ACQUIRE); >} > >inline void umtx_storeRelease(u_atomic_int32_t &var, int32_t val) { > return __c11_atomic_store(&var, val, __ATOMIC_RELEASE); >} > >inline int32_t umtx_atomic_inc(u_atomic_int32_t *var) { > return __c11_atomic_fetch_add(var, 1, __ATOMIC_SEQ_CST) + 1; >} > >inline int32_t umtx_atomic_dec(u_atomic_int32_t *var) { > return __c11_atomic_fetch_sub(var, 1, __ATOMIC_SEQ_CST) - 1; >} >U_NAMESPACE_END > > >#elif U_HAVE_GCC_ATOMICS ># 149 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" >/* > * gcc atomic ops. These are available on several other compilers as well. > */ > >U_NAMESPACE_BEGIN >typedef int32_t u_atomic_int32_t; >#define ATOMIC_INT32_T_INITIALIZER(val) val > >inline int32_t umtx_loadAcquire(u_atomic_int32_t &var) { > int32_t val = var; > __sync_synchronize(); > return val; >} > >inline void umtx_storeRelease(u_atomic_int32_t &var, int32_t val) { > __sync_synchronize(); > var = val; >} > >inline int32_t umtx_atomic_inc(u_atomic_int32_t *p) { > return __sync_add_and_fetch(p, 1); >} > >inline int32_t umtx_atomic_dec(u_atomic_int32_t *p) { > return __sync_sub_and_fetch(p, 1); >} >U_NAMESPACE_END > >#else ># 178 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" > >/* > * Unknown Platform. Use out-of-line functions, which in turn use mutexes. > * Slow but correct. > */ > >#define U_NO_PLATFORM_ATOMICS > >U_NAMESPACE_BEGIN >typedef int32_t u_atomic_int32_t; >#define ATOMIC_INT32_T_INITIALIZER(val) val > >U_COMMON_API int32_t U_EXPORT2 >umtx_loadAcquire(u_atomic_int32_t &var); > >U_COMMON_API void U_EXPORT2 >umtx_storeRelease(u_atomic_int32_t &var, int32_t val); > >U_COMMON_API int32_t U_EXPORT2 >umtx_atomic_inc(u_atomic_int32_t *p); > >U_COMMON_API int32_t U_EXPORT2 >umtx_atomic_dec(u_atomic_int32_t *p); > >U_NAMESPACE_END > >#endif /* Low Level Atomic Ops Platfrom Chain */ ># 205 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" > > > >/************************************************************************************************* > * > * UInitOnce Definitions. > * These are platform neutral. > * > *************************************************************************************************/ > >U_NAMESPACE_BEGIN > >struct UInitOnce { > u_atomic_int32_t fState; > UErrorCode fErrCode; > void reset() {fState = 0;}; > UBool isReset() {return umtx_loadAcquire(fState) == 0;}; >// Note: isReset() is used by service registration code. >// Thread safety of this usage needs review. >}; > >#define U_INITONCE_INITIALIZER {ATOMIC_INT32_T_INITIALIZER(0), U_ZERO_ERROR} > > >U_COMMON_API UBool U_EXPORT2 umtx_initImplPreInit(UInitOnce &); >U_COMMON_API void U_EXPORT2 umtx_initImplPostInit(UInitOnce &); > >template<class T> void umtx_initOnce(UInitOnce &uio, T *obj, void (T::*fp)()) { > if (umtx_loadAcquire(uio.fState) == 2) { > return; > } > if (umtx_initImplPreInit(uio)) { > (obj->*fp)(); > umtx_initImplPostInit(uio); > } >} > > >// umtx_initOnce variant for plain functions, or static class functions. >// No context parameter. >inline void umtx_initOnce(UInitOnce &uio, void (*fp)()) { > if (umtx_loadAcquire(uio.fState) == 2) { > return; > } > if (umtx_initImplPreInit(uio)) { > (*fp)(); > umtx_initImplPostInit(uio); > } >} > >// umtx_initOnce variant for plain functions, or static class functions. >// With ErrorCode, No context parameter. >inline void umtx_initOnce(UInitOnce &uio, void (*fp)(UErrorCode &), UErrorCode &errCode) { > if (U_FAILURE(errCode)) { > return; > } > if (umtx_loadAcquire(uio.fState) != 2 && umtx_initImplPreInit(uio)) { > // We run the initialization. > (*fp)(errCode); > uio.fErrCode = errCode; > umtx_initImplPostInit(uio); > } else { > // Someone else already ran the initialization. > if (U_FAILURE(uio.fErrCode)) { > errCode = uio.fErrCode; > } > } >} > >// umtx_initOnce variant for plain functions, or static class functions, >// with a context parameter. >template<class T> void umtx_initOnce(UInitOnce &uio, void (*fp)(T), T context) { > if (umtx_loadAcquire(uio.fState) == 2) { > return; > } > if (umtx_initImplPreInit(uio)) { > (*fp)(context); > umtx_initImplPostInit(uio); > } >} > >// umtx_initOnce variant for plain functions, or static class functions, >// with a context parameter and an error code. >template<class T> void umtx_initOnce(UInitOnce &uio, void (*fp)(T, UErrorCode &), T context, UErrorCode &errCode) { > if (U_FAILURE(errCode)) { > return; > } > if (umtx_loadAcquire(uio.fState) != 2 && umtx_initImplPreInit(uio)) { > // We run the initialization. > (*fp)(context, errCode); > uio.fErrCode = errCode; > umtx_initImplPostInit(uio); > } else { > // Someone else already ran the initialization. > if (U_FAILURE(uio.fErrCode)) { > errCode = uio.fErrCode; > } > } >} > >U_NAMESPACE_END > > > >/************************************************************************************************* > * > * Mutex Definitions. Platform Dependent, #if platform chain follows. > * TODO: Add a C++11 version. > * Need to convert all mutex using files to C++ first. > * > *************************************************************************************************/ > >#if defined(U_USER_MUTEX_H) >// #inlcude "U_USER_MUTEX_H" >#if 0 /* expanded by -frewrite-includes */ >#include U_MUTEX_XSTR(U_USER_MUTEX_H) >#endif /* expanded by -frewrite-includes */ ># 320 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" > >#elif U_PLATFORM_HAS_WIN32_API ># 322 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" > >/* Windows Definitions. > * Windows comes first in the platform chain. > * Cygwin (and possibly others) have both WIN32 and POSIX APIs. Prefer Win32 in this case. > */ > > >/* For CRITICAL_SECTION */ > >/* > * Note: there is an earlier include of windows.h in this file, but it is in > * different conditionals. > * This one is needed if we are using C++11 for atomic ops, but > * win32 APIs for Critical Sections. > */ > ># define WIN32_LEAN_AND_MEAN ># define VC_EXTRALEAN ># define NOUSER ># define NOSERVICE ># define NOIME ># define NOMCX ># ifndef NOMINMAX ># define NOMINMAX ># endif ># 347 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" >#if 0 /* expanded by -frewrite-includes */ ># include <windows.h> >#endif /* expanded by -frewrite-includes */ ># 348 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" > > >typedef struct UMutex { > icu::UInitOnce fInitOnce; > CRITICAL_SECTION fCS; >} UMutex; > >/* Initializer for a static UMUTEX. Deliberately contains no value for the > * CRITICAL_SECTION. > */ >#define U_MUTEX_INITIALIZER {U_INITONCE_INITIALIZER} > >struct UConditionVar { > HANDLE fEntryGate; > HANDLE fExitGate; > int32_t fWaitCount; >}; > >#define U_CONDITION_INITIALIZER {NULL, NULL, 0} > > > >#elif U_PLATFORM_IMPLEMENTS_POSIX ># 371 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" > >/* > * POSIX platform > */ > >#if 0 /* expanded by -frewrite-includes */ >#include <pthread.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/pthread.h" 1 3 4 >/* > * Copyright (c) 1993, 1994 by Chris Provenzano, proven@mit.edu > * Copyright (c) 1995-1998 by John Birrell <jb@cimlogic.com.au> > * All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * 3. All advertising materials mentioning features or use of this software > * must display the following acknowledgement: > * This product includes software developed by Chris Provenzano. > * 4. The name of Chris Provenzano may not be used to endorse or promote > * products derived from this software without specific prior written > * permission. > * > * THIS SOFTWARE IS PROVIDED BY CHRIS PROVENZANO ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL CHRIS PROVENZANO BE LIABLE FOR ANY > * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES > * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR > * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER > * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * $FreeBSD: stable/9/include/pthread.h 257112 2013-10-25 13:25:49Z tijl $ > */ >#ifndef _PTHREAD_H_ >#define _PTHREAD_H_ > >/* > * Header files. > */ >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 42 "/usr/include/pthread.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_pthreadtypes.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/sys/_pthreadtypes.h" 1 3 4 >/* > * Copyright (c) 1993, 1994 by Chris Provenzano, proven@mit.edu > * Copyright (c) 1995-1998 by John Birrell <jb@cimlogic.com.au> > * All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * 3. All advertising materials mentioning features or use of this software > * must display the following acknowledgement: > * This product includes software developed by Chris Provenzano. > * 4. The name of Chris Provenzano may not be used to endorse or promote > * products derived from this software without specific prior written > * permission. > * > * THIS SOFTWARE IS PROVIDED BY CHRIS PROVENZANO ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL CHRIS PROVENZANO BE LIABLE FOR ANY > * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES > * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR > * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER > * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * $FreeBSD: stable/9/sys/sys/_pthreadtypes.h 189828 2009-03-14 20:10:14Z das $ > */ > >#ifndef _SYS__PTHREADTYPES_H_ >#define _SYS__PTHREADTYPES_H_ > >/* > * Forward structure definitions. > * > * These are mostly opaque to the user. > */ >struct pthread; >struct pthread_attr; >struct pthread_cond; >struct pthread_cond_attr; >struct pthread_mutex; >struct pthread_mutex_attr; >struct pthread_once; >struct pthread_rwlock; >struct pthread_rwlockattr; >struct pthread_barrier; >struct pthread_barrier_attr; >struct pthread_spinlock; > >/* > * Primitive system data type definitions required by P1003.1c. > * > * Note that P1003.1c specifies that there are no defined comparison > * or assignment operators for the types pthread_attr_t, pthread_cond_t, > * pthread_condattr_t, pthread_mutex_t, pthread_mutexattr_t. > */ >#ifndef _PTHREAD_T_DECLARED >typedef struct pthread *pthread_t; >#define _PTHREAD_T_DECLARED >#endif ># 68 "/usr/include/sys/_pthreadtypes.h" 3 4 >typedef struct pthread_attr *pthread_attr_t; >typedef struct pthread_mutex *pthread_mutex_t; >typedef struct pthread_mutex_attr *pthread_mutexattr_t; >typedef struct pthread_cond *pthread_cond_t; >typedef struct pthread_cond_attr *pthread_condattr_t; >typedef int pthread_key_t; >typedef struct pthread_once pthread_once_t; >typedef struct pthread_rwlock *pthread_rwlock_t; >typedef struct pthread_rwlockattr *pthread_rwlockattr_t; >typedef struct pthread_barrier *pthread_barrier_t; >typedef struct pthread_barrierattr *pthread_barrierattr_t; >typedef struct pthread_spinlock *pthread_spinlock_t; > >/* > * Additional type definitions: > * > * Note that P1003.1c reserves the prefixes pthread_ and PTHREAD_ for > * use in header symbols. > */ >typedef void *pthread_addr_t; >typedef void *(*pthread_startroutine_t)(void *); > >/* > * Once definitions. > */ >struct pthread_once { > int state; > pthread_mutex_t mutex; >}; > >#endif /* ! _SYS__PTHREADTYPES_H_ */ ># 99 "/usr/include/sys/_pthreadtypes.h" 3 4 ># 43 "/usr/include/pthread.h" 2 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <machine/_limits.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/machine/_limits.h" 1 3 4 >/*- > * This file is in the public domain. > */ >/* $FreeBSD: stable/9/sys/i386/include/_limits.h 263538 2014-03-21 19:49:31Z emaste $ */ > >#if 0 /* expanded by -frewrite-includes */ >#include <x86/_limits.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/x86/_limits.h" 1 3 4 >/*- > * Copyright (c) 1988, 1993 > * The Regents of the University of California. All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * 4. Neither the name of the University nor the names of its contributors > * may be used to endorse or promote products derived from this software > * without specific prior written permission. > * > * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * @(#)limits.h 8.3 (Berkeley) 1/4/94 > * $FreeBSD: stable/9/sys/x86/include/_limits.h 263538 2014-03-21 19:49:31Z emaste $ > */ > >#ifndef _MACHINE__LIMITS_H_ >#define _MACHINE__LIMITS_H_ > >/* > * According to ANSI (section 2.2.4.2), the values below must be usable by > * #if preprocessing directives. Additionally, the expression must have the > * same type as would an expression that is an object of the corresponding > * type converted according to the integral promotions. The subtraction for > * INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an > * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). > */ > >#define __CHAR_BIT 8 /* number of bits in a char */ > >#define __SCHAR_MAX 0x7f /* max value for a signed char */ >#define __SCHAR_MIN (-0x7f - 1) /* min value for a signed char */ > >#define __UCHAR_MAX 0xff /* max value for an unsigned char */ > >#define __USHRT_MAX 0xffff /* max value for an unsigned short */ >#define __SHRT_MAX 0x7fff /* max value for a short */ >#define __SHRT_MIN (-0x7fff - 1) /* min value for a short */ > >#define __UINT_MAX 0xffffffff /* max value for an unsigned int */ >#define __INT_MAX 0x7fffffff /* max value for an int */ >#define __INT_MIN (-0x7fffffff - 1) /* min value for an int */ > >#ifdef __LP64__ >#define __ULONG_MAX 0xffffffffffffffff /* max for an unsigned long */ >#define __LONG_MAX 0x7fffffffffffffff /* max for a long */ >#define __LONG_MIN (-0x7fffffffffffffff - 1) /* min for a long */ >#else ># 65 "/usr/include/x86/_limits.h" 3 4 >#define __ULONG_MAX 0xffffffffUL >#define __LONG_MAX 0x7fffffffL >#define __LONG_MIN (-0x7fffffffL - 1) >#endif ># 69 "/usr/include/x86/_limits.h" 3 4 > > /* max value for an unsigned long long */ >#define __ULLONG_MAX 0xffffffffffffffffULL >#define __LLONG_MAX 0x7fffffffffffffffLL /* max value for a long long */ >#define __LLONG_MIN (-0x7fffffffffffffffLL - 1) /* min for a long long */ > >#ifdef __LP64__ >#define __SSIZE_MAX __LONG_MAX /* max value for a ssize_t */ >#define __SIZE_T_MAX __ULONG_MAX /* max value for a size_t */ >#define __OFF_MAX __LONG_MAX /* max value for an off_t */ >#define __OFF_MIN __LONG_MIN /* min value for an off_t */ >/* Quads and longs are the same on the amd64. Ensure they stay in sync. */ >#define __UQUAD_MAX __ULONG_MAX /* max value for a uquad_t */ >#define __QUAD_MAX __LONG_MAX /* max value for a quad_t */ >#define __QUAD_MIN __LONG_MIN /* min value for a quad_t */ >#define __LONG_BIT 64 >#else ># 86 "/usr/include/x86/_limits.h" 3 4 >#define __SSIZE_MAX __INT_MAX >#define __SIZE_T_MAX __UINT_MAX >#define __OFF_MAX __LLONG_MAX >#define __OFF_MIN __LLONG_MIN >#define __UQUAD_MAX __ULLONG_MAX >#define __QUAD_MAX __LLONG_MAX >#define __QUAD_MIN __LLONG_MIN >#define __LONG_BIT 32 >#endif ># 95 "/usr/include/x86/_limits.h" 3 4 > >#define __WORD_BIT 32 > >/* Minimum signal stack size. */ >#define __MINSIGSTKSZ (512 * 4) > >#endif /* !_MACHINE__LIMITS_H_ */ ># 102 "/usr/include/x86/_limits.h" 3 4 ># 7 "/usr/include/machine/_limits.h" 2 3 4 ># 44 "/usr/include/pthread.h" 2 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <machine/_types.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/machine/_types.h" 1 3 4 >/*- > * This file is in the public domain. > */ >/* $FreeBSD: stable/9/sys/i386/include/_types.h 263505 2014-03-21 17:53:10Z emaste $ */ > >#if 0 /* expanded by -frewrite-includes */ >#include <x86/_types.h> >#endif /* expanded by -frewrite-includes */ ># 7 "/usr/include/machine/_types.h" 3 4 ># 45 "/usr/include/pthread.h" 2 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_sigset.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/sys/_sigset.h" 1 3 4 >/*- > * Copyright (c) 1982, 1986, 1989, 1991, 1993 > * The Regents of the University of California. All rights reserved. > * (c) UNIX System Laboratories, Inc. > * All or some portions of this file are derived from material licensed > * to the University of California by American Telephone and Telegraph > * Co. or Unix System Laboratories, Inc. and are reproduced herein with > * the permission of UNIX System Laboratories, Inc. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * 4. Neither the name of the University nor the names of its contributors > * may be used to endorse or promote products derived from this software > * without specific prior written permission. > * > * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * @(#)signal.h 8.4 (Berkeley) 5/4/95 > * $FreeBSD: stable/9/sys/sys/_sigset.h 139825 2005-01-07 02:29:27Z imp $ > */ > >#ifndef _SYS__SIGSET_H_ >#define _SYS__SIGSET_H_ > >/* > * sigset_t macros. > */ >#define _SIG_WORDS 4 >#define _SIG_MAXSIG 128 >#define _SIG_IDX(sig) ((sig) - 1) >#define _SIG_WORD(sig) (_SIG_IDX(sig) >> 5) >#define _SIG_BIT(sig) (1 << (_SIG_IDX(sig) & 31)) >#define _SIG_VALID(sig) ((sig) <= _SIG_MAXSIG && (sig) > 0) > >typedef struct __sigset { > __uint32_t __bits[_SIG_WORDS]; >} __sigset_t; > >#if defined(_KERNEL) && defined(COMPAT_43) >typedef unsigned int osigset_t; >#endif ># 58 "/usr/include/sys/_sigset.h" 3 4 > >#endif /* !_SYS__SIGSET_H_ */ ># 60 "/usr/include/sys/_sigset.h" 3 4 ># 46 "/usr/include/pthread.h" 2 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sched.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/sched.h" 1 3 4 >/*- > * Copyright (c) 1996, 1997 > * HD Associates, Inc. All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * 3. All advertising materials mentioning features or use of this software > * must display the following acknowledgement: > * This product includes software developed by HD Associates, Inc > * and Jukka Antero Ukkonen. > * 4. Neither the name of the author nor the names of any co-contributors > * may be used to endorse or promote products derived from this software > * without specific prior written permission. > * > * THIS SOFTWARE IS PROVIDED BY HD ASSOCIATES AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL HD ASSOCIATES OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > */ > >/*- > * Copyright (c) 2002-2008, Jeffrey Roberson <jeff@freebsd.org> > * All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice unmodified, this list of conditions, and the following > * disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * > * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR > * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES > * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. > * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, > * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT > * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF > * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > * > * $FreeBSD: stable/9/sys/sys/sched.h 254692 2013-08-23 13:20:11Z avg $ > */ > >#ifndef _SCHED_H_ >#define _SCHED_H_ > >#ifdef _KERNEL >/* > * General scheduling info. > * > * sched_load: > * Total runnable non-ithread threads in the system. > * > * sched_runnable: > * Runnable threads for this processor. > */ >int sched_load(void); >int sched_rr_interval(void); >int sched_runnable(void); > >/* > * Proc related scheduling hooks. > */ >void sched_exit(struct proc *p, struct thread *childtd); >void sched_fork(struct thread *td, struct thread *childtd); >void sched_fork_exit(struct thread *td); >void sched_class(struct thread *td, int class); >void sched_nice(struct proc *p, int nice); > >/* > * Threads are switched in and out, block on resources, have temporary > * priorities inherited from their procs, and use up cpu time. > */ >void sched_exit_thread(struct thread *td, struct thread *child); >void sched_fork_thread(struct thread *td, struct thread *child); >void sched_lend_prio(struct thread *td, u_char prio); >void sched_lend_user_prio(struct thread *td, u_char pri); >fixpt_t sched_pctcpu(struct thread *td); >void sched_prio(struct thread *td, u_char prio); >void sched_sleep(struct thread *td, int prio); >void sched_switch(struct thread *td, struct thread *newtd, int flags); >void sched_throw(struct thread *td); >void sched_unlend_prio(struct thread *td, u_char prio); >void sched_user_prio(struct thread *td, u_char prio); >void sched_userret(struct thread *td); >void sched_wakeup(struct thread *td); >void sched_preempt(struct thread *td); >#ifdef RACCT >#ifdef SCHED_4BSD >fixpt_t sched_pctcpu_delta(struct thread *td); >#endif ># 110 "/usr/include/sched.h" 3 4 >#endif ># 111 "/usr/include/sched.h" 3 4 > >/* > * Threads are moved on and off of run queues > */ >void sched_add(struct thread *td, int flags); >void sched_clock(struct thread *td); >void sched_rem(struct thread *td); >void sched_tick(int cnt); >void sched_relinquish(struct thread *td); >struct thread *sched_choose(void); >void sched_idletd(void *); > >/* > * Binding makes cpu affinity permanent while pinning is used to temporarily > * hold a thread on a particular CPU. > */ >void sched_bind(struct thread *td, int cpu); >static __inline void sched_pin(void); >void sched_unbind(struct thread *td); >static __inline void sched_unpin(void); >int sched_is_bound(struct thread *td); >void sched_affinity(struct thread *td); > >/* > * These procedures tell the process data structure allocation code how > * many bytes to actually allocate. > */ >int sched_sizeof_proc(void); >int sched_sizeof_thread(void); > >/* > * This routine provides a consistent thread name for use with KTR graphing > * functions. > */ >char *sched_tdname(struct thread *td); >#ifdef KTR >void sched_clear_tdname(struct thread *td); >#endif ># 149 "/usr/include/sched.h" 3 4 > >static __inline void >sched_pin(void) >{ > curthread->td_pinned++; >} > >static __inline void >sched_unpin(void) >{ > curthread->td_pinned--; >} > >/* sched_add arguments (formerly setrunqueue) */ >#define SRQ_BORING 0x0000 /* No special circumstances. */ >#define SRQ_YIELDING 0x0001 /* We are yielding (from mi_switch). */ >#define SRQ_OURSELF 0x0002 /* It is ourself (from mi_switch). */ >#define SRQ_INTR 0x0004 /* It is probably urgent. */ >#define SRQ_PREEMPTED 0x0008 /* has been preempted.. be kind */ >#define SRQ_BORROWING 0x0010 /* Priority updated due to prio_lend */ > >/* Scheduler stats. */ >#ifdef SCHED_STATS >DPCPU_DECLARE(long, sched_switch_stats[SWT_COUNT]); > >#define SCHED_STAT_DEFINE_VAR(name, ptr, descr) \ >static void name ## _add_proc(void *dummy __unused) \ >{ \ > \ > SYSCTL_ADD_PROC(NULL, \ > SYSCTL_STATIC_CHILDREN(_kern_sched_stats), OID_AUTO, \ > #name, CTLTYPE_LONG|CTLFLAG_RD|CTLFLAG_MPSAFE, \ > ptr, 0, sysctl_dpcpu_long, "LU", descr); \ >} \ >SYSINIT(name, SI_SUB_LAST, SI_ORDER_MIDDLE, name ## _add_proc, NULL); > >#define SCHED_STAT_DEFINE(name, descr) \ > DPCPU_DEFINE(unsigned long, name); \ > SCHED_STAT_DEFINE_VAR(name, &DPCPU_NAME(name), descr) >/* > * Sched stats are always incremented in critical sections so no atomic > * is necesssary to increment them. > */ >#define SCHED_STAT_INC(var) DPCPU_GET(var)++; >#else ># 194 "/usr/include/sched.h" 3 4 >#define SCHED_STAT_DEFINE_VAR(name, descr, ptr) >#define SCHED_STAT_DEFINE(name, descr) >#define SCHED_STAT_INC(var) (void)0 >#endif ># 198 "/usr/include/sched.h" 3 4 > >/* > * Fixup scheduler state for proc0 and thread0 > */ >void schedinit(void); >#endif /* _KERNEL */ ># 204 "/usr/include/sched.h" 3 4 > >/* POSIX 1003.1b Process Scheduling */ > >/* > * POSIX scheduling policies > */ >#define SCHED_FIFO 1 >#define SCHED_OTHER 2 >#define SCHED_RR 3 > >struct sched_param { > int sched_priority; >}; > >/* > * POSIX scheduling declarations for userland. > */ >#ifndef _KERNEL >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 223 "/usr/include/sched.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 224 "/usr/include/sched.h" 3 4 > >#ifndef _PID_T_DECLARED >typedef __pid_t pid_t; >#define _PID_T_DECLARED >#endif ># 229 "/usr/include/sched.h" 3 4 > >struct timespec; > >__BEGIN_DECLS >int sched_get_priority_max(int); >int sched_get_priority_min(int); >int sched_getparam(pid_t, struct sched_param *); >int sched_getscheduler(pid_t); >int sched_rr_get_interval(pid_t, struct timespec *); >int sched_setparam(pid_t, const struct sched_param *); >int sched_setscheduler(pid_t, int, const struct sched_param *); >int sched_yield(void); >__END_DECLS > >#endif ># 244 "/usr/include/sched.h" 3 4 >#endif /* !_SCHED_H_ */ ># 245 "/usr/include/sched.h" 3 4 ># 47 "/usr/include/pthread.h" 2 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <time.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/time.h" 1 3 4 >/* > * Copyright (c) 1989, 1993 > * The Regents of the University of California. All rights reserved. > * (c) UNIX System Laboratories, Inc. > * All or some portions of this file are derived from material licensed > * to the University of California by American Telephone and Telegraph > * Co. or Unix System Laboratories, Inc. and are reproduced herein with > * the permission of UNIX System Laboratories, Inc. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * 3. Neither the name of the University nor the names of its contributors > * may be used to endorse or promote products derived from this software > * without specific prior written permission. > * > * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * @(#)time.h 8.3 (Berkeley) 1/21/94 > */ > >/* > * $FreeBSD: stable/9/include/time.h 255306 2013-09-06 15:17:25Z dim $ > */ > >#ifndef _TIME_H_ >#define _TIME_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 45 "/usr/include/time.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_null.h> >#endif /* expanded by -frewrite-includes */ ># 46 "/usr/include/time.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 47 "/usr/include/time.h" 3 4 > >#if __POSIX_VISIBLE > 0 && __POSIX_VISIBLE < 200112 || __BSD_VISIBLE >/* > * Frequency of the clock ticks reported by times(). Deprecated - use > * sysconf(_SC_CLK_TCK) instead. (Removed in 1003.1-2001.) > */ >#define CLK_TCK 128 >#endif ># 55 "/usr/include/time.h" 3 4 > >/* Frequency of the clock ticks reported by clock(). */ >#define CLOCKS_PER_SEC 128 > >#ifndef _CLOCK_T_DECLARED >typedef __clock_t clock_t; >#define _CLOCK_T_DECLARED >#endif ># 63 "/usr/include/time.h" 3 4 > >#ifndef _TIME_T_DECLARED >typedef __time_t time_t; >#define _TIME_T_DECLARED >#endif ># 68 "/usr/include/time.h" 3 4 > >#ifndef _SIZE_T_DECLARED >typedef __size_t size_t; >#define _SIZE_T_DECLARED >#endif ># 73 "/usr/include/time.h" 3 4 > >#if __POSIX_VISIBLE >= 199309 >/* > * New in POSIX 1003.1b-1993. > */ >#ifndef _CLOCKID_T_DECLARED >typedef __clockid_t clockid_t; >#define _CLOCKID_T_DECLARED >#endif ># 82 "/usr/include/time.h" 3 4 > >#ifndef _TIMER_T_DECLARED >typedef __timer_t timer_t; >#define _TIMER_T_DECLARED >#endif ># 87 "/usr/include/time.h" 3 4 > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/timespec.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/sys/timespec.h" 1 3 4 >/*- > * Copyright (c) 1982, 1986, 1993 > * The Regents of the University of California. All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * 4. Neither the name of the University nor the names of its contributors > * may be used to endorse or promote products derived from this software > * without specific prior written permission. > * > * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * @(#)time.h 8.5 (Berkeley) 5/4/95 > * from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp > * $FreeBSD: stable/9/sys/sys/timespec.h 205792 2010-03-28 13:13:22Z ed $ > */ > >#ifndef _SYS_TIMESPEC_H_ >#define _SYS_TIMESPEC_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 38 "/usr/include/sys/timespec.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_timespec.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/sys/_timespec.h" 1 3 4 >/*- > * Copyright (c) 1982, 1986, 1993 > * The Regents of the University of California. All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * 4. Neither the name of the University nor the names of its contributors > * may be used to endorse or promote products derived from this software > * without specific prior written permission. > * > * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * @(#)time.h 8.5 (Berkeley) 5/4/95 > * from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp > * $FreeBSD: stable/9/sys/sys/_timespec.h 205792 2010-03-28 13:13:22Z ed $ > */ > >#ifndef _SYS__TIMESPEC_H_ >#define _SYS__TIMESPEC_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 38 "/usr/include/sys/_timespec.h" 3 4 > >#ifndef _TIME_T_DECLARED >typedef __time_t time_t; >#define _TIME_T_DECLARED >#endif ># 43 "/usr/include/sys/_timespec.h" 3 4 > >struct timespec { > time_t tv_sec; /* seconds */ > long tv_nsec; /* and nanoseconds */ >}; > >#endif /* !_SYS__TIMESPEC_H_ */ ># 50 "/usr/include/sys/_timespec.h" 3 4 ># 39 "/usr/include/sys/timespec.h" 2 3 4 > >#if __BSD_VISIBLE >#define TIMEVAL_TO_TIMESPEC(tv, ts) \ > do { \ > (ts)->tv_sec = (tv)->tv_sec; \ > (ts)->tv_nsec = (tv)->tv_usec * 1000; \ > } while (0) >#define TIMESPEC_TO_TIMEVAL(tv, ts) \ > do { \ > (tv)->tv_sec = (ts)->tv_sec; \ > (tv)->tv_usec = (ts)->tv_nsec / 1000; \ > } while (0) > >#endif /* __BSD_VISIBLE */ ># 53 "/usr/include/sys/timespec.h" 3 4 > >/* > * Structure defined by POSIX.1b to be like a itimerval, but with > * timespecs. Used in the timer_*() system calls. > */ >struct itimerspec { > struct timespec it_interval; > struct timespec it_value; >}; > >#endif /* _SYS_TIMESPEC_H_ */ ># 64 "/usr/include/sys/timespec.h" 3 4 ># 89 "/usr/include/time.h" 2 3 4 >#endif /* __POSIX_VISIBLE >= 199309 */ ># 90 "/usr/include/time.h" 3 4 > >#if __POSIX_VISIBLE >= 200112 >#ifndef _PID_T_DECLARED >typedef __pid_t pid_t; >#define _PID_T_DECLARED >#endif ># 96 "/usr/include/time.h" 3 4 >#endif ># 97 "/usr/include/time.h" 3 4 > >/* These macros are also in sys/time.h. */ >#if !defined(CLOCK_REALTIME) && __POSIX_VISIBLE >= 200112 >#define CLOCK_REALTIME 0 >#ifdef __BSD_VISIBLE >#define CLOCK_VIRTUAL 1 >#define CLOCK_PROF 2 >#endif ># 105 "/usr/include/time.h" 3 4 >#define CLOCK_MONOTONIC 4 >#define CLOCK_UPTIME 5 /* FreeBSD-specific. */ >#define CLOCK_UPTIME_PRECISE 7 /* FreeBSD-specific. */ >#define CLOCK_UPTIME_FAST 8 /* FreeBSD-specific. */ >#define CLOCK_REALTIME_PRECISE 9 /* FreeBSD-specific. */ >#define CLOCK_REALTIME_FAST 10 /* FreeBSD-specific. */ >#define CLOCK_MONOTONIC_PRECISE 11 /* FreeBSD-specific. */ >#define CLOCK_MONOTONIC_FAST 12 /* FreeBSD-specific. */ >#define CLOCK_SECOND 13 /* FreeBSD-specific. */ >#define CLOCK_THREAD_CPUTIME_ID 14 >#define CLOCK_PROCESS_CPUTIME_ID 15 >#endif /* !defined(CLOCK_REALTIME) && __POSIX_VISIBLE >= 200112 */ ># 117 "/usr/include/time.h" 3 4 > >#if !defined(TIMER_ABSTIME) && __POSIX_VISIBLE >= 200112 >#if __BSD_VISIBLE >#define TIMER_RELTIME 0x0 /* relative timer */ >#endif ># 122 "/usr/include/time.h" 3 4 >#define TIMER_ABSTIME 0x1 /* absolute timer */ >#endif /* !defined(TIMER_ABSTIME) && __POSIX_VISIBLE >= 200112 */ ># 124 "/usr/include/time.h" 3 4 > >struct tm { > int tm_sec; /* seconds after the minute [0-60] */ > int tm_min; /* minutes after the hour [0-59] */ > int tm_hour; /* hours since midnight [0-23] */ > int tm_mday; /* day of the month [1-31] */ > int tm_mon; /* months since January [0-11] */ > int tm_year; /* years since 1900 */ > int tm_wday; /* days since Sunday [0-6] */ > int tm_yday; /* days since January 1 [0-365] */ > int tm_isdst; /* Daylight Savings Time flag */ > long tm_gmtoff; /* offset from UTC in seconds */ > char *tm_zone; /* timezone abbreviation */ >}; > >#if __POSIX_VISIBLE >extern char *tzname[]; >#endif ># 142 "/usr/include/time.h" 3 4 > >__BEGIN_DECLS >char *asctime(const struct tm *); >clock_t clock(void); >char *ctime(const time_t *); >double difftime(time_t, time_t); >/* XXX missing: getdate() */ >struct tm *gmtime(const time_t *); >struct tm *localtime(const time_t *); >time_t mktime(struct tm *); >size_t strftime(char * __restrict, size_t, const char * __restrict, > const struct tm * __restrict); >time_t time(time_t *); >#if __POSIX_VISIBLE >= 200112 >struct sigevent; >int timer_create(clockid_t, struct sigevent *__restrict, timer_t *__restrict); >int timer_delete(timer_t); >int timer_gettime(timer_t, struct itimerspec *); >int timer_getoverrun(timer_t); >int timer_settime(timer_t, int, const struct itimerspec *__restrict, > struct itimerspec *__restrict); >#endif ># 164 "/usr/include/time.h" 3 4 >#if __POSIX_VISIBLE >void tzset(void); >#endif ># 167 "/usr/include/time.h" 3 4 > >#if __POSIX_VISIBLE >= 199309 >int clock_getres(clockid_t, struct timespec *); >int clock_gettime(clockid_t, struct timespec *); >int clock_settime(clockid_t, const struct timespec *); >/* XXX missing: clock_nanosleep() */ >int nanosleep(const struct timespec *, struct timespec *); >#endif /* __POSIX_VISIBLE >= 199309 */ ># 175 "/usr/include/time.h" 3 4 > >#if __POSIX_VISIBLE >= 200112 >int clock_getcpuclockid(pid_t, clockid_t *); >#endif ># 179 "/usr/include/time.h" 3 4 > >#if __POSIX_VISIBLE >= 199506 >char *asctime_r(const struct tm *, char *); >char *ctime_r(const time_t *, char *); >struct tm *gmtime_r(const time_t *, struct tm *); >struct tm *localtime_r(const time_t *, struct tm *); >#endif ># 186 "/usr/include/time.h" 3 4 > >#if __XSI_VISIBLE >char *strptime(const char * __restrict, const char * __restrict, > struct tm * __restrict); >#endif ># 191 "/usr/include/time.h" 3 4 > >#if __BSD_VISIBLE >char *timezone(int, int); /* XXX XSI conflict */ >void tzsetwall(void); >time_t timelocal(struct tm * const); >time_t timegm(struct tm * const); >#endif /* __BSD_VISIBLE */ ># 198 "/usr/include/time.h" 3 4 > >#if __POSIX_VISIBLE >= 200809 || defined(_XLOCALE_H_) >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_time.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/xlocale/_time.h" 1 3 4 >/*- > * Copyright (c) 2011, 2012 The FreeBSD Foundation > * All rights reserved. > * > * This software was developed by David Chisnall under sponsorship from > * the FreeBSD Foundation. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * > * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * $FreeBSD: stable/9/include/xlocale/_time.h 231673 2012-02-14 12:03:23Z theraven $ > */ > >#ifndef _LOCALE_T_DEFINED >#define _LOCALE_T_DEFINED >typedef struct _xlocale *locale_t; >#endif ># 36 "/usr/include/xlocale/_time.h" 3 4 > >/* > * This file is included from both locale.h and xlocale.h. We need to expose > * the declarations unconditionally if we are included from xlocale.h, but only > * if we are in POSIX2008 mode if included from locale.h. > */ >#ifndef _XLOCALE_LOCALE1_H >#define _XLOCALE_LOCALE1_H > >size_t strftime_l(char * __restrict, size_t, const char * __restrict, > const struct tm * __restrict, locale_t) __strftimelike(3, 0); > >#endif /* _XLOCALE_LOCALE1_H */ ># 49 "/usr/include/xlocale/_time.h" 3 4 > >#ifdef _XLOCALE_H_ >#ifndef _XLOCALE_LOCALE2_H >#define _XLOCALE_LOCALE2_H > >char *strptime_l(const char * __restrict, const char * __restrict, > struct tm * __restrict, locale_t); > >#endif /* _XLOCALE_LOCALE2_H */ ># 58 "/usr/include/xlocale/_time.h" 3 4 >#endif /* _XLOCALE_H_ */ ># 59 "/usr/include/xlocale/_time.h" 3 4 ># 201 "/usr/include/time.h" 2 3 4 >#endif ># 202 "/usr/include/time.h" 3 4 >__END_DECLS > >#endif /* !_TIME_H_ */ ># 205 "/usr/include/time.h" 3 4 ># 48 "/usr/include/pthread.h" 2 3 4 > >/* > * Run-time invariant values: > */ >#define PTHREAD_DESTRUCTOR_ITERATIONS 4 >#define PTHREAD_KEYS_MAX 256 >#define PTHREAD_STACK_MIN __MINSIGSTKSZ >#define PTHREAD_THREADS_MAX __ULONG_MAX >#define PTHREAD_BARRIER_SERIAL_THREAD -1 > >/* > * Flags for threads and thread attributes. > */ >#define PTHREAD_DETACHED 0x1 >#define PTHREAD_SCOPE_SYSTEM 0x2 >#define PTHREAD_INHERIT_SCHED 0x4 >#define PTHREAD_NOFLOAT 0x8 > >#define PTHREAD_CREATE_DETACHED PTHREAD_DETACHED >#define PTHREAD_CREATE_JOINABLE 0 >#define PTHREAD_SCOPE_PROCESS 0 >#define PTHREAD_EXPLICIT_SCHED 0 > >/* > * Flags for read/write lock attributes > */ >#define PTHREAD_PROCESS_PRIVATE 0 >#define PTHREAD_PROCESS_SHARED 1 > >/* > * Flags for cancelling threads > */ >#define PTHREAD_CANCEL_ENABLE 0 >#define PTHREAD_CANCEL_DISABLE 1 >#define PTHREAD_CANCEL_DEFERRED 0 >#define PTHREAD_CANCEL_ASYNCHRONOUS 2 >#define PTHREAD_CANCELED ((void *) 1) > >/* > * Flags for once initialization. > */ >#define PTHREAD_NEEDS_INIT 0 >#define PTHREAD_DONE_INIT 1 > >/* > * Static once initialization values. > */ >#define PTHREAD_ONCE_INIT { PTHREAD_NEEDS_INIT, NULL } > >/* > * Static initialization values. > */ >#define PTHREAD_MUTEX_INITIALIZER NULL >#define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP ((pthread_mutex_t)1) >#define PTHREAD_COND_INITIALIZER NULL >#define PTHREAD_RWLOCK_INITIALIZER NULL > >/* > * Default attribute arguments (draft 4, deprecated). > */ >#ifndef PTHREAD_KERNEL >#define pthread_condattr_default NULL >#define pthread_mutexattr_default NULL >#define pthread_attr_default NULL >#endif ># 113 "/usr/include/pthread.h" 3 4 > >#define PTHREAD_PRIO_NONE 0 >#define PTHREAD_PRIO_INHERIT 1 >#define PTHREAD_PRIO_PROTECT 2 > >/* > * Mutex types (Single UNIX Specification, Version 2, 1997). > * > * Note that a mutex attribute with one of the following types: > * > * PTHREAD_MUTEX_NORMAL > * PTHREAD_MUTEX_RECURSIVE > * > * will deviate from POSIX specified semantics. > */ >enum pthread_mutextype { > PTHREAD_MUTEX_ERRORCHECK = 1, /* Default POSIX mutex */ > PTHREAD_MUTEX_RECURSIVE = 2, /* Recursive mutex */ > PTHREAD_MUTEX_NORMAL = 3, /* No error checking */ > PTHREAD_MUTEX_ADAPTIVE_NP = 4, /* Adaptive mutex, spins briefly before blocking on lock */ > PTHREAD_MUTEX_TYPE_MAX >}; > >#define PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_ERRORCHECK > >struct _pthread_cleanup_info { > __uintptr_t pthread_cleanup_pad[8]; >}; > >/* > * Thread function prototype definitions: > */ >__BEGIN_DECLS >int pthread_atfork(void (*)(void), void (*)(void), void (*)(void)); >int pthread_attr_destroy(pthread_attr_t *); >int pthread_attr_getstack(const pthread_attr_t * __restrict, > void ** __restrict, size_t * __restrict); >int pthread_attr_getstacksize(const pthread_attr_t *, size_t *); >int pthread_attr_getguardsize(const pthread_attr_t *, size_t *); >int pthread_attr_getstackaddr(const pthread_attr_t *, void **); >int pthread_attr_getdetachstate(const pthread_attr_t *, int *); >int pthread_attr_init(pthread_attr_t *); >int pthread_attr_setstacksize(pthread_attr_t *, size_t); >int pthread_attr_setguardsize(pthread_attr_t *, size_t); >int pthread_attr_setstack(pthread_attr_t *, void *, size_t); >int pthread_attr_setstackaddr(pthread_attr_t *, void *); >int pthread_attr_setdetachstate(pthread_attr_t *, int); >int pthread_barrier_destroy(pthread_barrier_t *); >int pthread_barrier_init(pthread_barrier_t *, > const pthread_barrierattr_t *, unsigned); >int pthread_barrier_wait(pthread_barrier_t *); >int pthread_barrierattr_destroy(pthread_barrierattr_t *); >int pthread_barrierattr_getpshared(const pthread_barrierattr_t *, > int *); >int pthread_barrierattr_init(pthread_barrierattr_t *); >int pthread_barrierattr_setpshared(pthread_barrierattr_t *, int); > >#define pthread_cleanup_push(cleanup_routine, cleanup_arg) \ > { \ > struct _pthread_cleanup_info __cleanup_info__; \ > __pthread_cleanup_push_imp(cleanup_routine, cleanup_arg,\ > &__cleanup_info__); \ > { > >#define pthread_cleanup_pop(execute) \ > (void)0; \ > } \ > __pthread_cleanup_pop_imp(execute); \ > } > >int pthread_condattr_destroy(pthread_condattr_t *); >int pthread_condattr_getclock(const pthread_condattr_t *, > clockid_t *); >int pthread_condattr_getpshared(const pthread_condattr_t *, int *); >int pthread_condattr_init(pthread_condattr_t *); >int pthread_condattr_setclock(pthread_condattr_t *, clockid_t); >int pthread_condattr_setpshared(pthread_condattr_t *, int); >int pthread_cond_broadcast(pthread_cond_t *); >int pthread_cond_destroy(pthread_cond_t *); >int pthread_cond_init(pthread_cond_t *, > const pthread_condattr_t *); >int pthread_cond_signal(pthread_cond_t *); >int pthread_cond_timedwait(pthread_cond_t *, > pthread_mutex_t *, const struct timespec *); >int pthread_cond_wait(pthread_cond_t *, pthread_mutex_t *); >int pthread_create(pthread_t *, const pthread_attr_t *, > void *(*) (void *), void *); >int pthread_detach(pthread_t); >int pthread_equal(pthread_t, pthread_t); >void pthread_exit(void *) __dead2; >void *pthread_getspecific(pthread_key_t); >int pthread_getcpuclockid(pthread_t, clockid_t *); >int pthread_join(pthread_t, void **); >int pthread_key_create(pthread_key_t *, > void (*) (void *)); >int pthread_key_delete(pthread_key_t); >int pthread_mutexattr_init(pthread_mutexattr_t *); >int pthread_mutexattr_destroy(pthread_mutexattr_t *); >int pthread_mutexattr_getpshared(const pthread_mutexattr_t *, > int *); >int pthread_mutexattr_gettype(pthread_mutexattr_t *, int *); >int pthread_mutexattr_settype(pthread_mutexattr_t *, int); >int pthread_mutexattr_setpshared(pthread_mutexattr_t *, int); >int pthread_mutex_destroy(pthread_mutex_t *); >int pthread_mutex_init(pthread_mutex_t *, > const pthread_mutexattr_t *); >int pthread_mutex_lock(pthread_mutex_t *); >int pthread_mutex_trylock(pthread_mutex_t *); >int pthread_mutex_timedlock(pthread_mutex_t *, > const struct timespec *); >int pthread_mutex_unlock(pthread_mutex_t *); >int pthread_once(pthread_once_t *, void (*) (void)); >int pthread_rwlock_destroy(pthread_rwlock_t *); >int pthread_rwlock_init(pthread_rwlock_t *, > const pthread_rwlockattr_t *); >int pthread_rwlock_rdlock(pthread_rwlock_t *); >int pthread_rwlock_timedrdlock(pthread_rwlock_t *, > const struct timespec *); >int pthread_rwlock_timedwrlock(pthread_rwlock_t *, > const struct timespec *); >int pthread_rwlock_tryrdlock(pthread_rwlock_t *); >int pthread_rwlock_trywrlock(pthread_rwlock_t *); >int pthread_rwlock_unlock(pthread_rwlock_t *); >int pthread_rwlock_wrlock(pthread_rwlock_t *); >int pthread_rwlockattr_destroy(pthread_rwlockattr_t *); >int pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t *, > int *); >int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *, > int *); >int pthread_rwlockattr_init(pthread_rwlockattr_t *); >int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *, int); >int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int); >pthread_t pthread_self(void); >int pthread_setspecific(pthread_key_t, const void *); > >int pthread_spin_init(pthread_spinlock_t *, int); >int pthread_spin_destroy(pthread_spinlock_t *); >int pthread_spin_lock(pthread_spinlock_t *); >int pthread_spin_trylock(pthread_spinlock_t *); >int pthread_spin_unlock(pthread_spinlock_t *); >int pthread_cancel(pthread_t); >int pthread_setcancelstate(int, int *); >int pthread_setcanceltype(int, int *); >void pthread_testcancel(void); > >#if __BSD_VISIBLE >int pthread_getprio(pthread_t); >int pthread_setprio(pthread_t, int); >void pthread_yield(void); >#endif ># 263 "/usr/include/pthread.h" 3 4 > >int pthread_mutexattr_getprioceiling(pthread_mutexattr_t *, > int *); >int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *, > int); >int pthread_mutex_getprioceiling(pthread_mutex_t *, int *); >int pthread_mutex_setprioceiling(pthread_mutex_t *, int, int *); > >int pthread_mutexattr_getprotocol(pthread_mutexattr_t *, int *); >int pthread_mutexattr_setprotocol(pthread_mutexattr_t *, int); > >int pthread_attr_getinheritsched(const pthread_attr_t *, int *); >int pthread_attr_getschedparam(const pthread_attr_t *, > struct sched_param *); >int pthread_attr_getschedpolicy(const pthread_attr_t *, int *); >int pthread_attr_getscope(const pthread_attr_t *, int *); >int pthread_attr_setinheritsched(pthread_attr_t *, int); >int pthread_attr_setschedparam(pthread_attr_t *, > const struct sched_param *); >int pthread_attr_setschedpolicy(pthread_attr_t *, int); >int pthread_attr_setscope(pthread_attr_t *, int); >int pthread_getschedparam(pthread_t pthread, int *, > struct sched_param *); >int pthread_setschedparam(pthread_t, int, > const struct sched_param *); >#if __XSI_VISIBLE >int pthread_getconcurrency(void); >int pthread_setconcurrency(int); >#endif ># 292 "/usr/include/pthread.h" 3 4 > >void __pthread_cleanup_push_imp(void (*)(void *), void *, > struct _pthread_cleanup_info *); >void __pthread_cleanup_pop_imp(int); >__END_DECLS > >#endif ># 299 "/usr/include/pthread.h" 3 4 ># 377 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" 2 > >struct UMutex { > pthread_mutex_t fMutex; >}; >typedef struct UMutex UMutex; >#define U_MUTEX_INITIALIZER {PTHREAD_MUTEX_INITIALIZER} > >struct UConditionVar { > pthread_cond_t fCondition; >}; >#define U_CONDITION_INITIALIZER {PTHREAD_COND_INITIALIZER} > >#else ># 390 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" > >/* > * Unknow platform type. > * This is an error condition. ICU requires mutexes. > */ > >#error Unknown Platform. > >#endif ># 399 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" > > > >/************************************************************************************** > * > * Mutex Implementation function declaratations. > * Declarations are platform neutral. > * Implementations, in umutex.cpp, are platform specific. > * > ************************************************************************************/ > >/* Lock a mutex. > * @param mutex The given mutex to be locked. Pass NULL to specify > * the global ICU mutex. Recursive locks are an error > * and may cause a deadlock on some platforms. > */ >U_INTERNAL void U_EXPORT2 umtx_lock(UMutex* mutex); > >/* Unlock a mutex. > * @param mutex The given mutex to be unlocked. Pass NULL to specify > * the global ICU mutex. > */ >U_INTERNAL void U_EXPORT2 umtx_unlock (UMutex* mutex); > >/* > * Wait on a condition variable. > * The calling thread will unlock the mutex and wait on the condition variable. > * The mutex must be locked by the calling thread when invoking this function. > * > * @param cond the condition variable to wait on. > * @param mutex the associated mutex. > */ > >U_INTERNAL void U_EXPORT2 umtx_condWait(UConditionVar *cond, UMutex *mutex); > > >/* > * Broadcast wakeup of all threads waiting on a Condition. > * The associated mutex must be locked by the calling thread when calling > * this function; this is a temporary ICU restriction. > * > * @param cond the condition variable. > */ >U_INTERNAL void U_EXPORT2 umtx_condBroadcast(UConditionVar *cond); > >/* > * Signal a condition variable, waking up one waiting thread. > * CAUTION: Do not use. Place holder only. Not implemented for Windows. > */ >U_INTERNAL void U_EXPORT2 umtx_condSignal(UConditionVar *cond); > >#endif /* UMUTEX_H */ ># 451 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.h" >/*eof*/ ># 22 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.cpp" 2 > >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/utypes.h" >#endif /* expanded by -frewrite-includes */ ># 24 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.cpp" >#if 0 /* expanded by -frewrite-includes */ >#include "uassert.h" >#endif /* expanded by -frewrite-includes */ ># 1 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/uassert.h" 1 >/* >****************************************************************************** >* >* Copyright (C) 2002-2011, International Business Machines >* Corporation and others. All Rights Reserved. >* >****************************************************************************** >* >* File uassert.h >* >* Contains U_ASSERT macro >* >* By default, U_ASSERT just wraps the C library assert macro. >* By changing the definition here, the assert behavior for ICU can be changed >* without affecting other non-ICU uses of the C library assert(). >* >****************************************************************************** >*/ > >#ifndef U_ASSERT_H >#define U_ASSERT_H >/* utypes.h is included to get the proper define for uint8_t */ >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/utypes.h" >#endif /* expanded by -frewrite-includes */ ># 24 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/uassert.h" >#if U_DEBUG >#if 0 /* expanded by -frewrite-includes */ ># include <assert.h> >#endif /* expanded by -frewrite-includes */ ># 26 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/uassert.h" ># define U_ASSERT(exp) assert(exp) >#else ># 28 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/uassert.h" ># define U_ASSERT(exp) >#endif ># 30 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/uassert.h" >#endif ># 31 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/uassert.h" > > ># 25 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.cpp" 2 >#if 0 /* expanded by -frewrite-includes */ >#include "cmemory.h" >#endif /* expanded by -frewrite-includes */ ># 1 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" 1 >/* >****************************************************************************** >* >* Copyright (C) 1997-2015, International Business Machines >* Corporation and others. All Rights Reserved. >* >****************************************************************************** >* >* File CMEMORY.H >* >* Contains stdlib.h/string.h memory functions >* >* @author Bertrand A. Damiba >* >* Modification History: >* >* Date Name Description >* 6/20/98 Bertrand Created. >* 05/03/99 stephen Changed from functions to macros. >* >****************************************************************************** >*/ > >#ifndef CMEMORY_H >#define CMEMORY_H > >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/utypes.h" >#endif /* expanded by -frewrite-includes */ ># 28 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" > >#if 0 /* expanded by -frewrite-includes */ >#include <stddef.h> >#endif /* expanded by -frewrite-includes */ ># 30 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" >#if 0 /* expanded by -frewrite-includes */ >#include <string.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/string.h" 1 3 4 >/*- > * Copyright (c) 1990, 1993 > * The Regents of the University of California. All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * 3. Neither the name of the University nor the names of its contributors > * may be used to endorse or promote products derived from this software > * without specific prior written permission. > * > * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * @(#)string.h 8.1 (Berkeley) 6/2/93 > * $FreeBSD: stable/9/include/string.h 235785 2012-05-22 14:40:39Z theraven $ > */ > >#ifndef _STRING_H_ >#define _STRING_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 37 "/usr/include/string.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_null.h> >#endif /* expanded by -frewrite-includes */ ># 38 "/usr/include/string.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 39 "/usr/include/string.h" 3 4 > >/* > * Prototype functions which were historically defined in <string.h>, but > * are required by POSIX to be prototyped in <strings.h>. > */ >#if __BSD_VISIBLE >#if 0 /* expanded by -frewrite-includes */ >#include <strings.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/strings.h" 1 3 4 >/*- > * Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> > * All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * > * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * $FreeBSD: stable/9/include/strings.h 201525 2010-01-04 18:46:54Z ed $ > */ > >#ifndef _STRINGS_H_ >#define _STRINGS_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 33 "/usr/include/strings.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 34 "/usr/include/strings.h" 3 4 > >#ifndef _SIZE_T_DECLARED >typedef __size_t size_t; >#define _SIZE_T_DECLARED >#endif ># 39 "/usr/include/strings.h" 3 4 > >__BEGIN_DECLS >#if __BSD_VISIBLE || __POSIX_VISIBLE <= 200112 >int bcmp(const void *, const void *, size_t) __pure; /* LEGACY */ >void bcopy(const void *, void *, size_t); /* LEGACY */ >void bzero(void *, size_t); /* LEGACY */ >#endif ># 46 "/usr/include/strings.h" 3 4 >#if __XSI_VISIBLE >int ffs(int) __pure2; >#endif ># 49 "/usr/include/strings.h" 3 4 >#if __BSD_VISIBLE >int ffsl(long) __pure2; >int ffsll(long long) __pure2; >int fls(int) __pure2; >int flsl(long) __pure2; >int flsll(long long) __pure2; >#endif ># 56 "/usr/include/strings.h" 3 4 >#if __BSD_VISIBLE || __POSIX_VISIBLE <= 200112 >char *index(const char *, int) __pure; /* LEGACY */ >char *rindex(const char *, int) __pure; /* LEGACY */ >#endif ># 60 "/usr/include/strings.h" 3 4 >int strcasecmp(const char *, const char *) __pure; >int strncasecmp(const char *, const char *, size_t) __pure; >__END_DECLS > >#endif /* _STRINGS_H_ */ ># 65 "/usr/include/strings.h" 3 4 ># 46 "/usr/include/string.h" 2 3 4 >#endif ># 47 "/usr/include/string.h" 3 4 > >#ifndef _SIZE_T_DECLARED >typedef __size_t size_t; >#define _SIZE_T_DECLARED >#endif ># 52 "/usr/include/string.h" 3 4 > >__BEGIN_DECLS >#if __XSI_VISIBLE >= 600 >void *memccpy(void * __restrict, const void * __restrict, int, size_t); >#endif ># 57 "/usr/include/string.h" 3 4 >void *memchr(const void *, int, size_t) __pure; >#if __BSD_VISIBLE >void *memrchr(const void *, int, size_t) __pure; >#endif ># 61 "/usr/include/string.h" 3 4 >int memcmp(const void *, const void *, size_t) __pure; >void *memcpy(void * __restrict, const void * __restrict, size_t); >#if __BSD_VISIBLE >void *memmem(const void *, size_t, const void *, size_t) __pure; >#endif ># 66 "/usr/include/string.h" 3 4 >void *memmove(void *, const void *, size_t); >void *memset(void *, int, size_t); >#if __POSIX_VISIBLE >= 200809 || __BSD_VISIBLE >char *stpcpy(char * __restrict, const char * __restrict); >char *stpncpy(char * __restrict, const char * __restrict, size_t); >#endif ># 72 "/usr/include/string.h" 3 4 >#if __BSD_VISIBLE >char *strcasestr(const char *, const char *) __pure; >#endif ># 75 "/usr/include/string.h" 3 4 >char *strcat(char * __restrict, const char * __restrict); >char *strchr(const char *, int) __pure; >int strcmp(const char *, const char *) __pure; >int strcoll(const char *, const char *); >char *strcpy(char * __restrict, const char * __restrict); >size_t strcspn(const char *, const char *) __pure; >#if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE >char *strdup(const char *) __malloc_like; >#endif ># 84 "/usr/include/string.h" 3 4 >char *strerror(int); >#if __POSIX_VISIBLE >= 200112 >int strerror_r(int, char *, size_t); >#endif ># 88 "/usr/include/string.h" 3 4 >#if __BSD_VISIBLE >size_t strlcat(char * __restrict, const char * __restrict, size_t); >size_t strlcpy(char * __restrict, const char * __restrict, size_t); >#endif ># 92 "/usr/include/string.h" 3 4 >size_t strlen(const char *) __pure; >#if __BSD_VISIBLE >void strmode(int, char *); >#endif ># 96 "/usr/include/string.h" 3 4 >char *strncat(char * __restrict, const char * __restrict, size_t); >int strncmp(const char *, const char *, size_t) __pure; >char *strncpy(char * __restrict, const char * __restrict, size_t); >#if __POSIX_VISIBLE >= 200809 || __BSD_VISIBLE >char *strndup(const char *, size_t) __malloc_like; >size_t strnlen(const char *, size_t) __pure; >#endif ># 103 "/usr/include/string.h" 3 4 >#if __BSD_VISIBLE >char *strnstr(const char *, const char *, size_t) __pure; >#endif ># 106 "/usr/include/string.h" 3 4 >char *strpbrk(const char *, const char *) __pure; >char *strrchr(const char *, int) __pure; >#if __BSD_VISIBLE >char *strsep(char **, const char *); >#endif ># 111 "/usr/include/string.h" 3 4 >#if __POSIX_VISIBLE >= 200809 || __BSD_VISIBLE >char *strsignal(int); >#endif ># 114 "/usr/include/string.h" 3 4 >size_t strspn(const char *, const char *) __pure; >char *strstr(const char *, const char *) __pure; >char *strtok(char * __restrict, const char * __restrict); >#if __POSIX_VISIBLE >= 199506 || __XSI_VISIBLE >= 500 >char *strtok_r(char *, const char *, char **); >#endif ># 120 "/usr/include/string.h" 3 4 >size_t strxfrm(char * __restrict, const char * __restrict, size_t); >#if __BSD_VISIBLE > >#ifndef _SWAB_DECLARED >#define _SWAB_DECLARED > >#ifndef _SSIZE_T_DECLARED >typedef __ssize_t ssize_t; >#define _SSIZE_T_DECLARED >#endif /* _SIZE_T_DECLARED */ ># 130 "/usr/include/string.h" 3 4 > >void swab(const void * __restrict, void * __restrict, ssize_t); >#endif /* _SWAB_DECLARED */ ># 133 "/usr/include/string.h" 3 4 > >#endif /* __BSD_VISIBLE */ ># 135 "/usr/include/string.h" 3 4 > >#if __POSIX_VISIBLE >= 200809 || defined(_XLOCALE_H_) >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_string.h> >#endif /* expanded by -frewrite-includes */ ># 1 "/usr/include/xlocale/_string.h" 1 3 4 >/*- > * Copyright (c) 2011, 2012 The FreeBSD Foundation > * All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * > * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > * $FreeBSD: stable/9/include/xlocale/_string.h 231673 2012-02-14 12:03:23Z theraven $ > */ > >#ifndef _LOCALE_T_DEFINED >#define _LOCALE_T_DEFINED >typedef struct _xlocale *locale_t; >#endif ># 33 "/usr/include/xlocale/_string.h" 3 4 > >/* > * This file is included from both string.h and xlocale.h. We need to expose > * the declarations unconditionally if we are included from xlocale.h, but only > * if we are in POSIX2008 mode if included from string.h. > */ > >#ifndef _XLOCALE_STRING1_H >#define _XLOCALE_STRING1_H > >/* > * POSIX2008 functions > */ >int strcoll_l(const char *, const char *, locale_t); >size_t strxfrm_l(char *, const char *, size_t, locale_t); >#endif /* _XLOCALE_STRING1_H */ ># 49 "/usr/include/xlocale/_string.h" 3 4 > >/* > * xlocale extensions > */ >#ifdef _XLOCALE_H_ >#ifndef _XLOCALE_STRING2_H >#define _XLOCALE_STRING2_H >int strcasecmp_l(const char *, const char *, locale_t); >char *strcasestr_l(const char *, const char *, locale_t); >int strncasecmp_l(const char *, const char *, size_t, locale_t); > >#endif /* _XLOCALE_STRING2_H */ ># 61 "/usr/include/xlocale/_string.h" 3 4 >#endif /* _XLOCALE_H_ */ ># 62 "/usr/include/xlocale/_string.h" 3 4 ># 138 "/usr/include/string.h" 2 3 4 >#endif ># 139 "/usr/include/string.h" 3 4 >__END_DECLS > >#endif /* _STRING_H_ */ ># 142 "/usr/include/string.h" 3 4 ># 31 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" 2 >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/localpointer.h" >#endif /* expanded by -frewrite-includes */ ># 1 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/localpointer.h" 1 >/* >******************************************************************************* >* >* Copyright (C) 2009-2015, International Business Machines >* Corporation and others. All Rights Reserved. >* >******************************************************************************* >* file name: localpointer.h >* encoding: US-ASCII >* tab size: 8 (not used) >* indentation:4 >* >* created on: 2009nov13 >* created by: Markus W. Scherer >*/ > >#ifndef __LOCALPOINTER_H__ >#define __LOCALPOINTER_H__ > >/** > * \file > * \brief C++ API: "Smart pointers" for use with and in ICU4C C++ code. > * > * These classes are inspired by > * - std::auto_ptr > * - boost::scoped_ptr & boost::scoped_array > * - Taligent Safe Pointers (TOnlyPointerTo) > * > * but none of those provide for all of the goals for ICU smart pointers: > * - Smart pointer owns the object and releases it when it goes out of scope. > * - No transfer of ownership via copy/assignment to reduce misuse. Simpler & more robust. > * - ICU-compatible: No exceptions. > * - Need to be able to orphan/release the pointer and its ownership. > * - Need variants for normal C++ object pointers, C++ arrays, and ICU C service objects. > * > * For details see http://site.icu-project.org/design/cpp/scoped_ptr > */ > >#if 0 /* expanded by -frewrite-includes */ >#include "unicode/utypes.h" >#endif /* expanded by -frewrite-includes */ ># 40 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/localpointer.h" > >#if U_SHOW_CPLUSPLUS_API > >U_NAMESPACE_BEGIN > >/** > * "Smart pointer" base class; do not use directly: use LocalPointer etc. > * > * Base class for smart pointer classes that do not throw exceptions. > * > * Do not use this base class directly, since it does not delete its pointer. > * A subclass must implement methods that delete the pointer: > * Destructor and adoptInstead(). > * > * There is no operator T *() provided because the programmer must decide > * whether to use getAlias() (without transfer of ownership) or orpan() > * (with transfer of ownership and NULLing of the pointer). > * > * @see LocalPointer > * @see LocalArray > * @see U_DEFINE_LOCAL_OPEN_POINTER > * @stable ICU 4.4 > */ >template<typename T> >class LocalPointerBase { >public: > /** > * Constructor takes ownership. > * @param p simple pointer to an object that is adopted > * @stable ICU 4.4 > */ > explicit LocalPointerBase(T *p=NULL) : ptr(p) {} > /** > * Destructor deletes the object it owns. > * Subclass must override: Base class does nothing. > * @stable ICU 4.4 > */ > ~LocalPointerBase() { /* delete ptr; */ } > /** > * NULL check. > * @return TRUE if ==NULL > * @stable ICU 4.4 > */ > UBool isNull() const { return ptr==NULL; } > /** > * NULL check. > * @return TRUE if !=NULL > * @stable ICU 4.4 > */ > UBool isValid() const { return ptr!=NULL; } > /** > * Comparison with a simple pointer, so that existing code > * with ==NULL need not be changed. > * @param other simple pointer for comparison > * @return true if this pointer value equals other > * @stable ICU 4.4 > */ > bool operator==(const T *other) const { return ptr==other; } > /** > * Comparison with a simple pointer, so that existing code > * with !=NULL need not be changed. > * @param other simple pointer for comparison > * @return true if this pointer value differs from other > * @stable ICU 4.4 > */ > bool operator!=(const T *other) const { return ptr!=other; } > /** > * Access without ownership change. > * @return the pointer value > * @stable ICU 4.4 > */ > T *getAlias() const { return ptr; } > /** > * Access without ownership change. > * @return the pointer value as a reference > * @stable ICU 4.4 > */ > T &operator*() const { return *ptr; } > /** > * Access without ownership change. > * @return the pointer value > * @stable ICU 4.4 > */ > T *operator->() const { return ptr; } > /** > * Gives up ownership; the internal pointer becomes NULL. > * @return the pointer value; > * caller becomes responsible for deleting the object > * @stable ICU 4.4 > */ > T *orphan() { > T *p=ptr; > ptr=NULL; > return p; > } > /** > * Deletes the object it owns, > * and adopts (takes ownership of) the one passed in. > * Subclass must override: Base class does not delete the object. > * @param p simple pointer to an object that is adopted > * @stable ICU 4.4 > */ > void adoptInstead(T *p) { > // delete ptr; > ptr=p; > } >protected: > /** > * Actual pointer. > * @internal > */ > T *ptr; >private: > // No comparison operators with other LocalPointerBases. > bool operator==(const LocalPointerBase<T> &other); > bool operator!=(const LocalPointerBase<T> &other); > // No ownership sharing: No copy constructor, no assignment operator. > LocalPointerBase(const LocalPointerBase<T> &other); > void operator=(const LocalPointerBase<T> &other); > // No heap allocation. Use only on the stack. > static void * U_EXPORT2 operator new(size_t size); > static void * U_EXPORT2 operator new[](size_t size); >#if U_HAVE_PLACEMENT_NEW > static void * U_EXPORT2 operator new(size_t, void *ptr); >#endif ># 165 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/localpointer.h" >}; > >/** > * "Smart pointer" class, deletes objects via the standard C++ delete operator. > * For most methods see the LocalPointerBase base class. > * > * Usage example: > * \code > * LocalPointer<UnicodeString> s(new UnicodeString((UChar32)0x50005)); > * int32_t length=s->length(); // 2 > * UChar lead=s->charAt(0); // 0xd900 > * if(some condition) { return; } // no need to explicitly delete the pointer > * s.adoptInstead(new UnicodeString((UChar)0xfffc)); > * length=s->length(); // 1 > * // no need to explicitly delete the pointer > * \endcode > * > * @see LocalPointerBase > * @stable ICU 4.4 > */ >template<typename T> >class LocalPointer : public LocalPointerBase<T> { >public: > /** > * Constructor takes ownership. > * @param p simple pointer to an object that is adopted > * @stable ICU 4.4 > */ > explicit LocalPointer(T *p=NULL) : LocalPointerBase<T>(p) {} >#ifndef U_HIDE_DRAFT_API > /** > * Constructor takes ownership and reports an error if NULL. > * > * This constructor is intended to be used with other-class constructors > * that may report a failure UErrorCode, > * so that callers need to check only for U_FAILURE(errorCode) > * and not also separately for isNull(). > * > * @param p simple pointer to an object that is adopted > * @param errorCode in/out UErrorCode, set to U_MEMORY_ALLOCATION_ERROR > * if p==NULL and no other failure code had been set > * @draft ICU 55 > */ > LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) { > if(p==NULL && U_SUCCESS(errorCode)) { > errorCode=U_MEMORY_ALLOCATION_ERROR; > } > } >#if U_HAVE_RVALUE_REFERENCES > /** > * Move constructor, leaves src with isNull(). > * @param src source smart pointer > * @draft ICU 56 > */ > LocalPointer(LocalPointer<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { > src.ptr=NULL; > } >#endif ># 223 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/localpointer.h" >#endif /* U_HIDE_DRAFT_API */ ># 224 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/localpointer.h" > /** > * Destructor deletes the object it owns. > * @stable ICU 4.4 > */ > ~LocalPointer() { > delete LocalPointerBase<T>::ptr; > } >#ifndef U_HIDE_DRAFT_API >#if U_HAVE_RVALUE_REFERENCES > /** > * Move assignment operator, leaves src with isNull(). > * The behavior is undefined if *this and src are the same object. > * @param src source smart pointer > * @return *this > * @draft ICU 56 > */ > LocalPointer<T> &operator=(LocalPointer<T> &&src) U_NOEXCEPT { > return moveFrom(src); > } >#endif ># 244 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/localpointer.h" > /** > * Move assignment, leaves src with isNull(). > * The behavior is undefined if *this and src are the same object. > * > * Can be called explicitly, does not need C++11 support. > * @param src source smart pointer > * @return *this > * @draft ICU 56 > */ > LocalPointer<T> &moveFrom(LocalPointer<T> &src) U_NOEXCEPT { > delete LocalPointerBase<T>::ptr; > LocalPointerBase<T>::ptr=src.ptr; > src.ptr=NULL; > return *this; > } > /** > * Swap pointers. > * @param other other smart pointer > * @draft ICU 56 > */ > void swap(LocalPointer<T> &other) U_NOEXCEPT { > T *temp=LocalPointerBase<T>::ptr; > LocalPointerBase<T>::ptr=other.ptr; > other.ptr=temp; > } > /** > * Non-member LocalPointer swap function. > * @param p1 will get p2's pointer > * @param p2 will get p1's pointer > * @draft ICU 56 > */ > friend inline void swap(LocalPointer<T> &p1, LocalPointer<T> &p2) U_NOEXCEPT { > p1.swap(p2); > } >#endif /* U_HIDE_DRAFT_API */ ># 279 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/localpointer.h" > /** > * Deletes the object it owns, > * and adopts (takes ownership of) the one passed in. > * @param p simple pointer to an object that is adopted > * @stable ICU 4.4 > */ > void adoptInstead(T *p) { > delete LocalPointerBase<T>::ptr; > LocalPointerBase<T>::ptr=p; > } >#ifndef U_HIDE_DRAFT_API > /** > * Deletes the object it owns, > * and adopts (takes ownership of) the one passed in. > * > * If U_FAILURE(errorCode), then the current object is retained and the new one deleted. > * > * If U_SUCCESS(errorCode) but the input pointer is NULL, > * then U_MEMORY_ALLOCATION_ERROR is set, > * the current object is deleted, and NULL is set. > * > * @param p simple pointer to an object that is adopted > * @param errorCode in/out UErrorCode, set to U_MEMORY_ALLOCATION_ERROR > * if p==NULL and no other failure code had been set > * @draft ICU 55 > */ > void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) { > if(U_SUCCESS(errorCode)) { > delete LocalPointerBase<T>::ptr; > LocalPointerBase<T>::ptr=p; > if(p==NULL) { > errorCode=U_MEMORY_ALLOCATION_ERROR; > } > } else { > delete p; > } > } >#endif /* U_HIDE_DRAFT_API */ ># 317 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/localpointer.h" >}; > >/** > * "Smart pointer" class, deletes objects via the C++ array delete[] operator. > * For most methods see the LocalPointerBase base class. > * Adds operator[] for array item access. > * > * Usage example: > * \code > * LocalArray<UnicodeString> a(new UnicodeString[2]); > * a[0].append((UChar)0x61); > * if(some condition) { return; } // no need to explicitly delete the array > * a.adoptInstead(new UnicodeString[4]); > * a[3].append((UChar)0x62).append((UChar)0x63).reverse(); > * // no need to explicitly delete the array > * \endcode > * > * @see LocalPointerBase > * @stable ICU 4.4 > */ >template<typename T> >class LocalArray : public LocalPointerBase<T> { >public: > /** > * Constructor takes ownership. > * @param p simple pointer to an array of T objects that is adopted > * @stable ICU 4.4 > */ > explicit LocalArray(T *p=NULL) : LocalPointerBase<T>(p) {} >#ifndef U_HIDE_DRAFT_API > /** > * Constructor takes ownership and reports an error if NULL. > * > * This constructor is intended to be used with other-class constructors > * that may report a failure UErrorCode, > * so that callers need to check only for U_FAILURE(errorCode) > * and not also separately for isNull(). > * > * @param p simple pointer to an array of T objects that is adopted > * @param errorCode in/out UErrorCode, set to U_MEMORY_ALLOCATION_ERROR > * if p==NULL and no other failure code had been set > * @draft ICU 56 > */ > LocalArray(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) { > if(p==NULL && U_SUCCESS(errorCode)) { > errorCode=U_MEMORY_ALLOCATION_ERROR; > } > } >#if U_HAVE_RVALUE_REFERENCES > /** > * Move constructor, leaves src with isNull(). > * @param src source smart pointer > * @draft ICU 56 > */ > LocalArray(LocalArray<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { > src.ptr=NULL; > } >#endif ># 375 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/localpointer.h" >#endif /* U_HIDE_DRAFT_API */ ># 376 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/localpointer.h" > /** > * Destructor deletes the array it owns. > * @stable ICU 4.4 > */ > ~LocalArray() { > delete[] LocalPointerBase<T>::ptr; > } >#ifndef U_HIDE_DRAFT_API >#if U_HAVE_RVALUE_REFERENCES > /** > * Move assignment operator, leaves src with isNull(). > * The behavior is undefined if *this and src are the same object. > * @param src source smart pointer > * @return *this > * @draft ICU 56 > */ > LocalArray<T> &operator=(LocalArray<T> &&src) U_NOEXCEPT { > return moveFrom(src); > } >#endif ># 396 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/localpointer.h" > /** > * Move assignment, leaves src with isNull(). > * The behavior is undefined if *this and src are the same object. > * > * Can be called explicitly, does not need C++11 support. > * @param src source smart pointer > * @return *this > * @draft ICU 56 > */ > LocalArray<T> &moveFrom(LocalArray<T> &src) U_NOEXCEPT { > delete[] LocalPointerBase<T>::ptr; > LocalPointerBase<T>::ptr=src.ptr; > src.ptr=NULL; > return *this; > } > /** > * Swap pointers. > * @param other other smart pointer > * @draft ICU 56 > */ > void swap(LocalArray<T> &other) U_NOEXCEPT { > T *temp=LocalPointerBase<T>::ptr; > LocalPointerBase<T>::ptr=other.ptr; > other.ptr=temp; > } > /** > * Non-member LocalArray swap function. > * @param p1 will get p2's pointer > * @param p2 will get p1's pointer > * @draft ICU 56 > */ > friend inline void swap(LocalArray<T> &p1, LocalArray<T> &p2) U_NOEXCEPT { > p1.swap(p2); > } >#endif /* U_HIDE_DRAFT_API */ ># 431 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/localpointer.h" > /** > * Deletes the array it owns, > * and adopts (takes ownership of) the one passed in. > * @param p simple pointer to an array of T objects that is adopted > * @stable ICU 4.4 > */ > void adoptInstead(T *p) { > delete[] LocalPointerBase<T>::ptr; > LocalPointerBase<T>::ptr=p; > } >#ifndef U_HIDE_DRAFT_API > /** > * Deletes the array it owns, > * and adopts (takes ownership of) the one passed in. > * > * If U_FAILURE(errorCode), then the current array is retained and the new one deleted. > * > * If U_SUCCESS(errorCode) but the input pointer is NULL, > * then U_MEMORY_ALLOCATION_ERROR is set, > * the current array is deleted, and NULL is set. > * > * @param p simple pointer to an array of T objects that is adopted > * @param errorCode in/out UErrorCode, set to U_MEMORY_ALLOCATION_ERROR > * if p==NULL and no other failure code had been set > * @draft ICU 56 > */ > void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) { > if(U_SUCCESS(errorCode)) { > delete[] LocalPointerBase<T>::ptr; > LocalPointerBase<T>::ptr=p; > if(p==NULL) { > errorCode=U_MEMORY_ALLOCATION_ERROR; > } > } else { > delete[] p; > } > } >#endif /* U_HIDE_DRAFT_API */ ># 469 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/localpointer.h" > /** > * Array item access (writable). > * No index bounds check. > * @param i array index > * @return reference to the array item > * @stable ICU 4.4 > */ > T &operator[](ptrdiff_t i) const { return LocalPointerBase<T>::ptr[i]; } >}; > >/** > * \def U_DEFINE_LOCAL_OPEN_POINTER > * "Smart pointer" definition macro, deletes objects via the closeFunction. > * Defines a subclass of LocalPointerBase which works just > * like LocalPointer<Type> except that this subclass will use the closeFunction > * rather than the C++ delete operator. > * > * Requirement: The closeFunction must tolerate a NULL pointer. > * (We could add a NULL check here but it is normally redundant.) > * > * Usage example: > * \code > * LocalUCaseMapPointer csm(ucasemap_open(localeID, options, &errorCode)); > * utf8OutLength=ucasemap_utf8ToLower(csm.getAlias(), > * utf8Out, (int32_t)sizeof(utf8Out), > * utf8In, utf8InLength, &errorCode); > * if(U_FAILURE(errorCode)) { return; } // no need to explicitly delete the UCaseMap > * \endcode > * > * @see LocalPointerBase > * @see LocalPointer > * @stable ICU 4.4 > */ >#if U_HAVE_RVALUE_REFERENCES >#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction) \ > class LocalPointerClassName : public LocalPointerBase<Type> { \ > public: \ > explicit LocalPointerClassName(Type *p=NULL) : LocalPointerBase<Type>(p) {} \ > LocalPointerClassName(LocalPointerClassName &&src) U_NOEXCEPT \ > : LocalPointerBase<Type>(src.ptr) { \ > src.ptr=NULL; \ > } \ > ~LocalPointerClassName() { closeFunction(ptr); } \ > LocalPointerClassName &operator=(LocalPointerClassName &&src) U_NOEXCEPT { \ > return moveFrom(src); \ > } \ > LocalPointerClassName &moveFrom(LocalPointerClassName &src) U_NOEXCEPT { \ > closeFunction(ptr); \ > LocalPointerBase<Type>::ptr=src.ptr; \ > src.ptr=NULL; \ > return *this; \ > } \ > void swap(LocalPointerClassName &other) U_NOEXCEPT { \ > Type *temp=LocalPointerBase<Type>::ptr; \ > LocalPointerBase<Type>::ptr=other.ptr; \ > other.ptr=temp; \ > } \ > friend inline void swap(LocalPointerClassName &p1, LocalPointerClassName &p2) U_NOEXCEPT { \ > p1.swap(p2); \ > } \ > void adoptInstead(Type *p) { \ > closeFunction(ptr); \ > ptr=p; \ > } \ > } >#else ># 535 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/localpointer.h" >#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction) \ > class LocalPointerClassName : public LocalPointerBase<Type> { \ > public: \ > explicit LocalPointerClassName(Type *p=NULL) : LocalPointerBase<Type>(p) {} \ > ~LocalPointerClassName() { closeFunction(ptr); } \ > LocalPointerClassName &moveFrom(LocalPointerClassName &src) U_NOEXCEPT { \ > closeFunction(ptr); \ > LocalPointerBase<Type>::ptr=src.ptr; \ > src.ptr=NULL; \ > return *this; \ > } \ > void swap(LocalPointerClassName &other) U_NOEXCEPT { \ > Type *temp=LocalPointerBase<Type>::ptr; \ > LocalPointerBase<Type>::ptr=other.ptr; \ > other.ptr=temp; \ > } \ > friend inline void swap(LocalPointerClassName &p1, LocalPointerClassName &p2) U_NOEXCEPT { \ > p1.swap(p2); \ > } \ > void adoptInstead(Type *p) { \ > closeFunction(ptr); \ > ptr=p; \ > } \ > } >#endif ># 560 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/localpointer.h" > >U_NAMESPACE_END > >#endif /* U_SHOW_CPLUSPLUS_API */ ># 564 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/localpointer.h" >#endif /* __LOCALPOINTER_H__ */ ># 565 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/unicode/localpointer.h" ># 32 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" 2 > >#if U_DEBUG && defined(UPRV_MALLOC_COUNT) >#if 0 /* expanded by -frewrite-includes */ >#include <stdio.h> >#endif /* expanded by -frewrite-includes */ ># 35 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" >#endif ># 36 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" > >#if U_DEBUG > >/* > * The C++ standard requires that the source pointer for memcpy() & memmove() > * is valid, not NULL, and not at the end of an allocated memory block. > * In debug mode, we read one byte from the source point to verify that it's > * a valid, readable pointer. > */ > >U_CAPI void uprv_checkValidMemory(const void *p, size_t n); > >#define uprv_memcpy(dst, src, size) ( \ > uprv_checkValidMemory(src, 1), \ > U_STANDARD_CPP_NAMESPACE memcpy(dst, src, size)) >#define uprv_memmove(dst, src, size) ( \ > uprv_checkValidMemory(src, 1), \ > U_STANDARD_CPP_NAMESPACE memmove(dst, src, size)) > >#else ># 56 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" > >#define uprv_memcpy(dst, src, size) U_STANDARD_CPP_NAMESPACE memcpy(dst, src, size) >#define uprv_memmove(dst, src, size) U_STANDARD_CPP_NAMESPACE memmove(dst, src, size) > >#endif /* U_DEBUG */ ># 61 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" > >/** > * \def UPRV_LENGTHOF > * Convenience macro to determine the length of a fixed array at compile-time. > * @param array A fixed length array > * @return The length of the array, in elements > * @internal > */ >#define UPRV_LENGTHOF(array) (int32_t)(sizeof(array)/sizeof((array)[0])) >#define uprv_memset(buffer, mark, size) U_STANDARD_CPP_NAMESPACE memset(buffer, mark, size) >#define uprv_memcmp(buffer1, buffer2, size) U_STANDARD_CPP_NAMESPACE memcmp(buffer1, buffer2,size) > >U_CAPI void * U_EXPORT2 >uprv_malloc(size_t s) U_MALLOC_ATTR U_ALLOC_SIZE_ATTR(1); > >U_CAPI void * U_EXPORT2 >uprv_realloc(void *mem, size_t size) U_ALLOC_SIZE_ATTR(2); > >U_CAPI void U_EXPORT2 >uprv_free(void *mem); > >U_CAPI void * U_EXPORT2 >uprv_calloc(size_t num, size_t size) U_MALLOC_ATTR U_ALLOC_SIZE_ATTR2(1,2); > >/** > * This should align the memory properly on any machine. > * This is very useful for the safeClone functions. > */ >typedef union { > long t1; > double t2; > void *t3; >} UAlignedMemory; > >/** > * Get the least significant bits of a pointer (a memory address). > * For example, with a mask of 3, the macro gets the 2 least significant bits, > * which will be 0 if the pointer is 32-bit (4-byte) aligned. > * > * ptrdiff_t is the most appropriate integer type to cast to. > * size_t should work too, since on most (or all?) platforms it has the same > * width as ptrdiff_t. > */ >#define U_POINTER_MASK_LSB(ptr, mask) (((ptrdiff_t)(char *)(ptr)) & (mask)) > >/** > * Get the amount of bytes that a pointer is off by from > * the previous UAlignedMemory-aligned pointer. > */ >#define U_ALIGNMENT_OFFSET(ptr) U_POINTER_MASK_LSB(ptr, sizeof(UAlignedMemory) - 1) > >/** > * Get the amount of bytes to add to a pointer > * in order to get the next UAlignedMemory-aligned address. > */ >#define U_ALIGNMENT_OFFSET_UP(ptr) (sizeof(UAlignedMemory) - U_ALIGNMENT_OFFSET(ptr)) > >/** > * Heap clean up function, called from u_cleanup() > * Clears any user heap functions from u_setMemoryFunctions() > * Does NOT deallocate any remaining allocated memory. > */ >U_CFUNC UBool >cmemory_cleanup(void); > >/** > * A function called by <TT>uhash_remove</TT>, > * <TT>uhash_close</TT>, or <TT>uhash_put</TT> to delete > * an existing key or value. > * @param obj A key or value stored in a hashtable > * @see uprv_deleteUObject > */ >typedef void U_CALLCONV UObjectDeleter(void* obj); > >/** > * Deleter for UObject instances. > * Works for all subclasses of UObject because it has a virtual destructor. > */ >U_CAPI void U_EXPORT2 >uprv_deleteUObject(void *obj); > >#ifdef __cplusplus > >U_NAMESPACE_BEGIN > >/** > * "Smart pointer" class, deletes memory via uprv_free(). > * For most methods see the LocalPointerBase base class. > * Adds operator[] for array item access. > * > * @see LocalPointerBase > */ >template<typename T> >class LocalMemory : public LocalPointerBase<T> { >public: > /** > * Constructor takes ownership. > * @param p simple pointer to an array of T items that is adopted > */ > explicit LocalMemory(T *p=NULL) : LocalPointerBase<T>(p) {} >#if U_HAVE_RVALUE_REFERENCES > /** > * Move constructor, leaves src with isNull(). > * @param src source smart pointer > */ > LocalMemory(LocalMemory<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { > src.ptr=NULL; > } >#endif ># 170 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" > /** > * Destructor deletes the memory it owns. > */ > ~LocalMemory() { > uprv_free(LocalPointerBase<T>::ptr); > } >#if U_HAVE_RVALUE_REFERENCES > /** > * Move assignment operator, leaves src with isNull(). > * The behavior is undefined if *this and src are the same object. > * @param src source smart pointer > * @return *this > */ > LocalMemory<T> &operator=(LocalMemory<T> &&src) U_NOEXCEPT { > return moveFrom(src); > } >#endif ># 187 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" > /** > * Move assignment, leaves src with isNull(). > * The behavior is undefined if *this and src are the same object. > * > * Can be called explicitly, does not need C++11 support. > * @param src source smart pointer > * @return *this > */ > LocalMemory<T> &moveFrom(LocalMemory<T> &src) U_NOEXCEPT { > delete[] LocalPointerBase<T>::ptr; > LocalPointerBase<T>::ptr=src.ptr; > src.ptr=NULL; > return *this; > } > /** > * Swap pointers. > * @param other other smart pointer > */ > void swap(LocalMemory<T> &other) U_NOEXCEPT { > T *temp=LocalPointerBase<T>::ptr; > LocalPointerBase<T>::ptr=other.ptr; > other.ptr=temp; > } > /** > * Non-member LocalMemory swap function. > * @param p1 will get p2's pointer > * @param p2 will get p1's pointer > */ > friend inline void swap(LocalMemory<T> &p1, LocalMemory<T> &p2) U_NOEXCEPT { > p1.swap(p2); > } > /** > * Deletes the array it owns, > * and adopts (takes ownership of) the one passed in. > * @param p simple pointer to an array of T items that is adopted > */ > void adoptInstead(T *p) { > uprv_free(LocalPointerBase<T>::ptr); > LocalPointerBase<T>::ptr=p; > } > /** > * Deletes the array it owns, allocates a new one and reset its bytes to 0. > * Returns the new array pointer. > * If the allocation fails, then the current array is unchanged and > * this method returns NULL. > * @param newCapacity must be >0 > * @return the allocated array pointer, or NULL if the allocation failed > */ > inline T *allocateInsteadAndReset(int32_t newCapacity=1); > /** > * Deletes the array it owns and allocates a new one, copying length T items. > * Returns the new array pointer. > * If the allocation fails, then the current array is unchanged and > * this method returns NULL. > * @param newCapacity must be >0 > * @param length number of T items to be copied from the old array to the new one; > * must be no more than the capacity of the old array, > * which the caller must track because the LocalMemory does not track it > * @return the allocated array pointer, or NULL if the allocation failed > */ > inline T *allocateInsteadAndCopy(int32_t newCapacity=1, int32_t length=0); > /** > * Array item access (writable). > * No index bounds check. > * @param i array index > * @return reference to the array item > */ > T &operator[](ptrdiff_t i) const { return LocalPointerBase<T>::ptr[i]; } >}; > >template<typename T> >inline T *LocalMemory<T>::allocateInsteadAndReset(int32_t newCapacity) { > if(newCapacity>0) { > T *p=(T *)uprv_malloc(newCapacity*sizeof(T)); > if(p!=NULL) { > uprv_memset(p, 0, newCapacity*sizeof(T)); > uprv_free(LocalPointerBase<T>::ptr); > LocalPointerBase<T>::ptr=p; > } > return p; > } else { > return NULL; > } >} > > >template<typename T> >inline T *LocalMemory<T>::allocateInsteadAndCopy(int32_t newCapacity, int32_t length) { > if(newCapacity>0) { > T *p=(T *)uprv_malloc(newCapacity*sizeof(T)); > if(p!=NULL) { > if(length>0) { > if(length>newCapacity) { > length=newCapacity; > } > uprv_memcpy(p, LocalPointerBase<T>::ptr, length*sizeof(T)); > } > uprv_free(LocalPointerBase<T>::ptr); > LocalPointerBase<T>::ptr=p; > } > return p; > } else { > return NULL; > } >} > >/** > * Simple array/buffer management class using uprv_malloc() and uprv_free(). > * Provides an internal array with fixed capacity. Can alias another array > * or allocate one. > * > * The array address is properly aligned for type T. It might not be properly > * aligned for types larger than T (or larger than the largest subtype of T). > * > * Unlike LocalMemory and LocalArray, this class never adopts > * (takes ownership of) another array. > */ >template<typename T, int32_t stackCapacity> >class MaybeStackArray { >public: > /** > * Default constructor initializes with internal T[stackCapacity] buffer. > */ > MaybeStackArray() : ptr(stackArray), capacity(stackCapacity), needToRelease(FALSE) {} > /** > * Destructor deletes the array (if owned). > */ > ~MaybeStackArray() { releaseArray(); } > /** > * Returns the array capacity (number of T items). > * @return array capacity > */ > int32_t getCapacity() const { return capacity; } > /** > * Access without ownership change. > * @return the array pointer > */ > T *getAlias() const { return ptr; } > /** > * Returns the array limit. Simple convenience method. > * @return getAlias()+getCapacity() > */ > T *getArrayLimit() const { return getAlias()+capacity; } > // No "operator T *() const" because that can make > // expressions like mbs[index] ambiguous for some compilers. > /** > * Array item access (const). > * No index bounds check. > * @param i array index > * @return reference to the array item > */ > const T &operator[](ptrdiff_t i) const { return ptr[i]; } > /** > * Array item access (writable). > * No index bounds check. > * @param i array index > * @return reference to the array item > */ > T &operator[](ptrdiff_t i) { return ptr[i]; } > /** > * Deletes the array (if owned) and aliases another one, no transfer of ownership. > * If the arguments are illegal, then the current array is unchanged. > * @param otherArray must not be NULL > * @param otherCapacity must be >0 > */ > void aliasInstead(T *otherArray, int32_t otherCapacity) { > if(otherArray!=NULL && otherCapacity>0) { > releaseArray(); > ptr=otherArray; > capacity=otherCapacity; > needToRelease=FALSE; > } > } > /** > * Deletes the array (if owned) and allocates a new one, copying length T items. > * Returns the new array pointer. > * If the allocation fails, then the current array is unchanged and > * this method returns NULL. > * @param newCapacity can be less than or greater than the current capacity; > * must be >0 > * @param length number of T items to be copied from the old array to the new one > * @return the allocated array pointer, or NULL if the allocation failed > */ > inline T *resize(int32_t newCapacity, int32_t length=0); > /** > * Gives up ownership of the array if owned, or else clones it, > * copying length T items; resets itself to the internal stack array. > * Returns NULL if the allocation failed. > * @param length number of T items to copy when cloning, > * and capacity of the clone when cloning > * @param resultCapacity will be set to the returned array's capacity (output-only) > * @return the array pointer; > * caller becomes responsible for deleting the array > */ > inline T *orphanOrClone(int32_t length, int32_t &resultCapacity); >private: > T *ptr; > int32_t capacity; > UBool needToRelease; > T stackArray[stackCapacity]; > void releaseArray() { > if(needToRelease) { > uprv_free(ptr); > } > } > /* No comparison operators with other MaybeStackArray's. */ > bool operator==(const MaybeStackArray & /*other*/) {return FALSE;} > bool operator!=(const MaybeStackArray & /*other*/) {return TRUE;} > /* No ownership transfer: No copy constructor, no assignment operator. */ > MaybeStackArray(const MaybeStackArray & /*other*/) {} > void operator=(const MaybeStackArray & /*other*/) {} > > // No heap allocation. Use only on the stack. > // (Declaring these functions private triggers a cascade of problems: > // MSVC insists on exporting an instantiation of MaybeStackArray, which > // requires that all functions be defined. > // An empty implementation of new() is rejected, it must return a value. > // Returning NULL is rejected by gcc for operator new. > // The expedient thing is just not to override operator new. > // While relatively pointless, heap allocated instances will function. > // static void * U_EXPORT2 operator new(size_t size); > // static void * U_EXPORT2 operator new[](size_t size); >#if U_HAVE_PLACEMENT_NEW > // static void * U_EXPORT2 operator new(size_t, void *ptr); >#endif ># 412 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" >}; > >template<typename T, int32_t stackCapacity> >inline T *MaybeStackArray<T, stackCapacity>::resize(int32_t newCapacity, int32_t length) { > if(newCapacity>0) { >#if U_DEBUG && defined(UPRV_MALLOC_COUNT) > ::fprintf(::stderr,"MaybeStacArray (resize) alloc %d * %lu\n", newCapacity,sizeof(T)); >#endif ># 420 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" > T *p=(T *)uprv_malloc(newCapacity*sizeof(T)); > if(p!=NULL) { > if(length>0) { > if(length>capacity) { > length=capacity; > } > if(length>newCapacity) { > length=newCapacity; > } > uprv_memcpy(p, ptr, length*sizeof(T)); > } > releaseArray(); > ptr=p; > capacity=newCapacity; > needToRelease=TRUE; > } > return p; > } else { > return NULL; > } >} > >template<typename T, int32_t stackCapacity> >inline T *MaybeStackArray<T, stackCapacity>::orphanOrClone(int32_t length, int32_t &resultCapacity) { > T *p; > if(needToRelease) { > p=ptr; > } else if(length<=0) { > return NULL; > } else { > if(length>capacity) { > length=capacity; > } > p=(T *)uprv_malloc(length*sizeof(T)); >#if U_DEBUG && defined(UPRV_MALLOC_COUNT) > ::fprintf(::stderr,"MaybeStacArray (orphan) alloc %d * %lu\n", length,sizeof(T)); >#endif ># 457 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" > if(p==NULL) { > return NULL; > } > uprv_memcpy(p, ptr, length*sizeof(T)); > } > resultCapacity=length; > ptr=stackArray; > capacity=stackCapacity; > needToRelease=FALSE; > return p; >} > >/** > * Variant of MaybeStackArray that allocates a header struct and an array > * in one contiguous memory block, using uprv_malloc() and uprv_free(). > * Provides internal memory with fixed array capacity. Can alias another memory > * block or allocate one. > * The stackCapacity is the number of T items in the internal memory, > * not counting the H header. > * Unlike LocalMemory and LocalArray, this class never adopts > * (takes ownership of) another memory block. > */ >template<typename H, typename T, int32_t stackCapacity> >class MaybeStackHeaderAndArray { >public: > /** > * Default constructor initializes with internal H+T[stackCapacity] buffer. > */ > MaybeStackHeaderAndArray() : ptr(&stackHeader), capacity(stackCapacity), needToRelease(FALSE) {} > /** > * Destructor deletes the memory (if owned). > */ > ~MaybeStackHeaderAndArray() { releaseMemory(); } > /** > * Returns the array capacity (number of T items). > * @return array capacity > */ > int32_t getCapacity() const { return capacity; } > /** > * Access without ownership change. > * @return the header pointer > */ > H *getAlias() const { return ptr; } > /** > * Returns the array start. > * @return array start, same address as getAlias()+1 > */ > T *getArrayStart() const { return reinterpret_cast<T *>(getAlias()+1); } > /** > * Returns the array limit. > * @return array limit > */ > T *getArrayLimit() const { return getArrayStart()+capacity; } > /** > * Access without ownership change. Same as getAlias(). > * A class instance can be used directly in expressions that take a T *. > * @return the header pointer > */ > operator H *() const { return ptr; } > /** > * Array item access (writable). > * No index bounds check. > * @param i array index > * @return reference to the array item > */ > T &operator[](ptrdiff_t i) { return getArrayStart()[i]; } > /** > * Deletes the memory block (if owned) and aliases another one, no transfer of ownership. > * If the arguments are illegal, then the current memory is unchanged. > * @param otherArray must not be NULL > * @param otherCapacity must be >0 > */ > void aliasInstead(H *otherMemory, int32_t otherCapacity) { > if(otherMemory!=NULL && otherCapacity>0) { > releaseMemory(); > ptr=otherMemory; > capacity=otherCapacity; > needToRelease=FALSE; > } > } > /** > * Deletes the memory block (if owned) and allocates a new one, > * copying the header and length T array items. > * Returns the new header pointer. > * If the allocation fails, then the current memory is unchanged and > * this method returns NULL. > * @param newCapacity can be less than or greater than the current capacity; > * must be >0 > * @param length number of T items to be copied from the old array to the new one > * @return the allocated pointer, or NULL if the allocation failed > */ > inline H *resize(int32_t newCapacity, int32_t length=0); > /** > * Gives up ownership of the memory if owned, or else clones it, > * copying the header and length T array items; resets itself to the internal memory. > * Returns NULL if the allocation failed. > * @param length number of T items to copy when cloning, > * and array capacity of the clone when cloning > * @param resultCapacity will be set to the returned array's capacity (output-only) > * @return the header pointer; > * caller becomes responsible for deleting the array > */ > inline H *orphanOrClone(int32_t length, int32_t &resultCapacity); >private: > H *ptr; > int32_t capacity; > UBool needToRelease; > // stackHeader must precede stackArray immediately. > H stackHeader; > T stackArray[stackCapacity]; > void releaseMemory() { > if(needToRelease) { > uprv_free(ptr); > } > } > /* No comparison operators with other MaybeStackHeaderAndArray's. */ > bool operator==(const MaybeStackHeaderAndArray & /*other*/) {return FALSE;} > bool operator!=(const MaybeStackHeaderAndArray & /*other*/) {return TRUE;} > /* No ownership transfer: No copy constructor, no assignment operator. */ > MaybeStackHeaderAndArray(const MaybeStackHeaderAndArray & /*other*/) {} > void operator=(const MaybeStackHeaderAndArray & /*other*/) {} > > // No heap allocation. Use only on the stack. > // (Declaring these functions private triggers a cascade of problems; > // see the MaybeStackArray class for details.) > // static void * U_EXPORT2 operator new(size_t size); > // static void * U_EXPORT2 operator new[](size_t size); >#if U_HAVE_PLACEMENT_NEW > // static void * U_EXPORT2 operator new(size_t, void *ptr); >#endif ># 587 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" >}; > >template<typename H, typename T, int32_t stackCapacity> >inline H *MaybeStackHeaderAndArray<H, T, stackCapacity>::resize(int32_t newCapacity, > int32_t length) { > if(newCapacity>=0) { >#if U_DEBUG && defined(UPRV_MALLOC_COUNT) > ::fprintf(::stderr,"MaybeStackHeaderAndArray alloc %d + %d * %ul\n", sizeof(H),newCapacity,sizeof(T)); >#endif ># 596 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" > H *p=(H *)uprv_malloc(sizeof(H)+newCapacity*sizeof(T)); > if(p!=NULL) { > if(length<0) { > length=0; > } else if(length>0) { > if(length>capacity) { > length=capacity; > } > if(length>newCapacity) { > length=newCapacity; > } > } > uprv_memcpy(p, ptr, sizeof(H)+length*sizeof(T)); > releaseMemory(); > ptr=p; > capacity=newCapacity; > needToRelease=TRUE; > } > return p; > } else { > return NULL; > } >} > >template<typename H, typename T, int32_t stackCapacity> >inline H *MaybeStackHeaderAndArray<H, T, stackCapacity>::orphanOrClone(int32_t length, > int32_t &resultCapacity) { > H *p; > if(needToRelease) { > p=ptr; > } else { > if(length<0) { > length=0; > } else if(length>capacity) { > length=capacity; > } >#if U_DEBUG && defined(UPRV_MALLOC_COUNT) > ::fprintf(::stderr,"MaybeStackHeaderAndArray (orphan) alloc %ul + %d * %lu\n", sizeof(H),length,sizeof(T)); >#endif ># 635 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" > p=(H *)uprv_malloc(sizeof(H)+length*sizeof(T)); > if(p==NULL) { > return NULL; > } > uprv_memcpy(p, ptr, sizeof(H)+length*sizeof(T)); > } > resultCapacity=length; > ptr=&stackHeader; > capacity=stackCapacity; > needToRelease=FALSE; > return p; >} > >U_NAMESPACE_END > >#endif /* __cplusplus */ ># 651 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" >#endif /* CMEMORY_H */ ># 652 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/cmemory.h" ># 26 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.cpp" 2 > > >// The ICU global mutex. Used when ICU implementation code passes NULL for the mutex pointer. >static UMutex globalMutex = U_MUTEX_INITIALIZER; > >/* > * ICU Mutex wrappers. Wrap operating system mutexes, giving the rest of ICU a > * platform independent set of mutex operations. For internal ICU use only. > */ > >#if defined(U_USER_MUTEX_CPP) >// Build time user mutex hook: #include "U_USER_MUTEX_CPP" >#if 0 /* expanded by -frewrite-includes */ >#include U_MUTEX_XSTR(U_USER_MUTEX_CPP) >#endif /* expanded by -frewrite-includes */ ># 39 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.cpp" > >#elif U_PLATFORM_HAS_WIN32_API ># 41 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.cpp" > >//------------------------------------------------------------------------------------------- >// >// Windows Specific Definitions >// >// Note: Cygwin (and possibly others) have both WIN32 and POSIX. >// Prefer Win32 in these cases. (Win32 comes ahead in the #if chain) >// >//------------------------------------------------------------------------------------------- > >#if defined U_NO_PLATFORM_ATOMICS >#error ICU on Win32 requires support for low level atomic operations. >// Visual Studio, gcc, clang are OK. Shouldn't get here. >#endif ># 55 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.cpp" > > >// This function is called when a test of a UInitOnce::fState reveals that >// initialization has not completed, that we either need to call the >// function on this thread, or wait for some other thread to complete. >// >// The actual call to the init function is made inline by template code >// that knows the C++ types involved. This function returns TRUE if >// the caller needs to call the Init function. >// > >U_NAMESPACE_BEGIN > >U_COMMON_API UBool U_EXPORT2 umtx_initImplPreInit(UInitOnce &uio) { > for (;;) { > int32_t previousState = InterlockedCompareExchange( >#if (U_PLATFORM == U_PF_MINGW) || (U_PLATFORM == U_PF_CYGWIN) || defined(__clang__) > (LONG volatile *) // this is the type given in the API doc for this function. >#endif ># 74 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.cpp" > &uio.fState, // Destination > 1, // Exchange Value > 0); // Compare value > > if (previousState == 0) { > return true; // Caller will next call the init function. > // Current state == 1. > } else if (previousState == 2) { > // Another thread already completed the initialization. > // We can simply return FALSE, indicating no > // further action is needed by the caller. > return FALSE; > } else { > // Another thread is currently running the initialization. > // Wait until it completes. > do { > Sleep(1); > previousState = umtx_loadAcquire(uio.fState); > } while (previousState == 1); > } > } >} > >// This function is called by the thread that ran an initialization function, >// just after completing the function. > >U_COMMON_API void U_EXPORT2 umtx_initImplPostInit(UInitOnce &uio) { > umtx_storeRelease(uio.fState, 2); >} > >U_NAMESPACE_END > >static void winMutexInit(CRITICAL_SECTION *cs) { > InitializeCriticalSection(cs); > return; >} > >U_CAPI void U_EXPORT2 >umtx_lock(UMutex *mutex) { > if (mutex == NULL) { > mutex = &globalMutex; > } > CRITICAL_SECTION *cs = &mutex->fCS; > umtx_initOnce(mutex->fInitOnce, winMutexInit, cs); > EnterCriticalSection(cs); >} > >U_CAPI void U_EXPORT2 >umtx_unlock(UMutex* mutex) >{ > if (mutex == NULL) { > mutex = &globalMutex; > } > LeaveCriticalSection(&mutex->fCS); >} > > >U_CAPI void U_EXPORT2 >umtx_condBroadcast(UConditionVar *condition) { > // We require that the associated mutex be held by the caller, > // so access to fWaitCount is protected and safe. No other thread can > // call condWait() while we are here. > if (condition->fWaitCount == 0) { > return; > } > ResetEvent(condition->fExitGate); > SetEvent(condition->fEntryGate); >} > >U_CAPI void U_EXPORT2 >umtx_condSignal(UConditionVar *condition) { > // Function not implemented. There is no immediate requirement from ICU to have it. > // Once ICU drops support for Windows XP and Server 2003, ICU Condition Variables will be > // changed to be thin wrappers on native Windows CONDITION_VARIABLEs, and this function > // becomes trivial to provide. > U_ASSERT(FALSE); >} > >U_CAPI void U_EXPORT2 >umtx_condWait(UConditionVar *condition, UMutex *mutex) { > if (condition->fEntryGate == NULL) { > // Note: because the associated mutex must be locked when calling > // wait, we know that there can not be multiple threads > // running here with the same condition variable. > // Meaning that lazy initialization is safe. > U_ASSERT(condition->fExitGate == NULL); > condition->fEntryGate = CreateEvent(NULL, // Security Attributes > TRUE, // Manual Reset > FALSE, // Initially reset > NULL); // Name. > U_ASSERT(condition->fEntryGate != NULL); > condition->fExitGate = CreateEvent(NULL, TRUE, TRUE, NULL); > U_ASSERT(condition->fExitGate != NULL); > } > > condition->fWaitCount++; > umtx_unlock(mutex); > WaitForSingleObject(condition->fEntryGate, INFINITE); > umtx_lock(mutex); > condition->fWaitCount--; > if (condition->fWaitCount == 0) { > // All threads that were waiting at the entry gate have woken up > // and moved through. Shut the entry gate and open the exit gate. > ResetEvent(condition->fEntryGate); > SetEvent(condition->fExitGate); > } else { > umtx_unlock(mutex); > WaitForSingleObject(condition->fExitGate, INFINITE); > umtx_lock(mutex); > } >} > > >#elif U_PLATFORM_IMPLEMENTS_POSIX ># 188 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.cpp" > >//------------------------------------------------------------------------------------------- >// >// POSIX specific definitions >// >//------------------------------------------------------------------------------------------- > >#if 0 /* expanded by -frewrite-includes */ ># include <pthread.h> >#endif /* expanded by -frewrite-includes */ ># 196 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.cpp" > >// Each UMutex consists of a pthread_mutex_t. >// All are statically initialized and ready for use. >// There is no runtime mutex initialization code needed. > >U_CAPI void U_EXPORT2 >umtx_lock(UMutex *mutex) { > if (mutex == NULL) { > mutex = &globalMutex; > } > int sysErr = pthread_mutex_lock(&mutex->fMutex); > (void)sysErr; // Suppress unused variable warnings. > U_ASSERT(sysErr == 0); >} > > >U_CAPI void U_EXPORT2 >umtx_unlock(UMutex* mutex) >{ > if (mutex == NULL) { > mutex = &globalMutex; > } > int sysErr = pthread_mutex_unlock(&mutex->fMutex); > (void)sysErr; // Suppress unused variable warnings. > U_ASSERT(sysErr == 0); >} > > >U_CAPI void U_EXPORT2 >umtx_condWait(UConditionVar *cond, UMutex *mutex) { > if (mutex == NULL) { > mutex = &globalMutex; > } > int sysErr = pthread_cond_wait(&cond->fCondition, &mutex->fMutex); > (void)sysErr; > U_ASSERT(sysErr == 0); >} > >U_CAPI void U_EXPORT2 >umtx_condBroadcast(UConditionVar *cond) { > int sysErr = pthread_cond_broadcast(&cond->fCondition); > (void)sysErr; > U_ASSERT(sysErr == 0); >} > >U_CAPI void U_EXPORT2 >umtx_condSignal(UConditionVar *cond) { > int sysErr = pthread_cond_signal(&cond->fCondition); > (void)sysErr; > U_ASSERT(sysErr == 0); >} > > > >U_NAMESPACE_BEGIN > >static pthread_mutex_t initMutex = PTHREAD_MUTEX_INITIALIZER; >static pthread_cond_t initCondition = PTHREAD_COND_INITIALIZER; > > >// This function is called when a test of a UInitOnce::fState reveals that >// initialization has not completed, that we either need to call the >// function on this thread, or wait for some other thread to complete. >// >// The actual call to the init function is made inline by template code >// that knows the C++ types involved. This function returns TRUE if >// the caller needs to call the Init function. >// >U_COMMON_API UBool U_EXPORT2 >umtx_initImplPreInit(UInitOnce &uio) { > pthread_mutex_lock(&initMutex); > int32_t state = uio.fState; > if (state == 0) { > umtx_storeRelease(uio.fState, 1); > pthread_mutex_unlock(&initMutex); > return TRUE; // Caller will next call the init function. > } else { > int32_t XXXstate; > while ( (XXXstate=uio.fState) == 1) { > // Another thread is currently running the initialization. > // Wait until it completes. > pthread_cond_wait(&initCondition, &initMutex); > } > pthread_mutex_unlock(&initMutex); > U_ASSERT(uio.fState == 2); > return FALSE; > } >} > > > >// This function is called by the thread that ran an initialization function, >// just after completing the function. >// Some threads may be waiting on the condition, requiring the broadcast wakeup. >// Some threads may be racing to test the fState variable outside of the mutex, >// requiring the use of store/release when changing its value. > >U_COMMON_API void U_EXPORT2 >umtx_initImplPostInit(UInitOnce &uio) { > pthread_mutex_lock(&initMutex); > umtx_storeRelease(uio.fState, 2); > pthread_cond_broadcast(&initCondition); > pthread_mutex_unlock(&initMutex); >} > >U_NAMESPACE_END > >// End of POSIX specific umutex implementation. > >#else // Platform #define chain. ># 305 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.cpp" > >#error Unknown Platform > >#endif // Platform #define chain. ># 309 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.cpp" > > >//------------------------------------------------------------------------------- >// >// Atomic Operations, out-of-line versions. >// These are conditional, only defined if better versions >// were not available for the platform. >// >// These versions are platform neutral. >// >//-------------------------------------------------------------------------------- > >#if defined U_NO_PLATFORM_ATOMICS >static UMutex gIncDecMutex = U_MUTEX_INITIALIZER; > >U_NAMESPACE_BEGIN > >U_COMMON_API int32_t U_EXPORT2 >umtx_atomic_inc(u_atomic_int32_t *p) { > int32_t retVal; > umtx_lock(&gIncDecMutex); > retVal = ++(*p); > umtx_unlock(&gIncDecMutex); > return retVal; >} > > >U_COMMON_API int32_t U_EXPORT2 >umtx_atomic_dec(u_atomic_int32_t *p) { > int32_t retVal; > umtx_lock(&gIncDecMutex); > retVal = --(*p); > umtx_unlock(&gIncDecMutex); > return retVal; >} > >U_COMMON_API int32_t U_EXPORT2 >umtx_loadAcquire(u_atomic_int32_t &var) { > umtx_lock(&gIncDecMutex); > int32_t val = var; > umtx_unlock(&gIncDecMutex); > return val; >} > >U_COMMON_API void U_EXPORT2 >umtx_storeRelease(u_atomic_int32_t &var, int32_t val) { > umtx_lock(&gIncDecMutex); > var = val; > umtx_unlock(&gIncDecMutex); >} > >U_NAMESPACE_END >#endif ># 362 "/tmp/p/w/firefox-45.2.0esr/intl/icu/source/common/umutex.cpp" > >//-------------------------------------------------------------------------- >// >// Deprecated functions for setting user mutexes. >// >//-------------------------------------------------------------------------- > >U_DEPRECATED void U_EXPORT2 >u_setMutexFunctions(const void * /*context */, UMtxInitFn *, UMtxFn *, > UMtxFn *, UMtxFn *, UErrorCode *status) { > if (U_SUCCESS(*status)) { > *status = U_UNSUPPORTED_ERROR; > } > return; >} > > > >U_DEPRECATED void U_EXPORT2 >u_setAtomicIncDecFunctions(const void * /*context */, UMtxAtomicFn *, UMtxAtomicFn *, > UErrorCode *status) { > if (U_SUCCESS(*status)) { > *status = U_UNSUPPORTED_ERROR; > } > return; >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 210958
: 172307