WebCore/icu/unicode/uversion.h
changeset 0 4f2f89ce4247
equal deleted inserted replaced
-1:000000000000 0:4f2f89ce4247
       
     1 /*
       
     2 *******************************************************************************
       
     3 *   Copyright (C) 2000-2004, International Business Machines
       
     4 *   Corporation and others.  All Rights Reserved.
       
     5 *******************************************************************************
       
     6 *
       
     7 *   file name:  uversion.h
       
     8 *   encoding:   US-ASCII
       
     9 *   tab size:   8 (not used)
       
    10 *   indentation:4
       
    11 *
       
    12 *   Created by: Vladimir Weinstein
       
    13 *
       
    14 *  Contains all the important version numbers for ICU. 
       
    15 *  Gets included by utypes.h and Windows .rc files
       
    16 */
       
    17 
       
    18 /*===========================================================================*/
       
    19 /* Main ICU version information                                              */
       
    20 /*===========================================================================*/
       
    21 
       
    22 #ifndef UVERSION_H
       
    23 #define UVERSION_H
       
    24 
       
    25 /** IMPORTANT: When updating version, the following things need to be done:   */
       
    26 /** source/common/unicode/uversion.h - this file: update major, minor,        */
       
    27 /**        patchlevel, suffix, version, short version constants, namespace,   */
       
    28 /**                                                             and copyright */
       
    29 /** source/common/common.dsp - update 'Output file name' on the link tab so   */
       
    30 /**                   that it contains the new major/minor combination        */
       
    31 /** source/i18n/i18n.dsp - same as for the common.dsp                         */
       
    32 /** source/layout/layout.dsp - same as for the common.dsp                     */
       
    33 /** source/stubdata/stubdata.dsp - same as for the common.dsp                 */
       
    34 /** source/extra/ustdio/ustdio.dsp - same as for the common.dsp               */
       
    35 /** source/data/makedata.mak - change U_ICUDATA_NAME so that it contains      */
       
    36 /**                            the new major/minor combination                */
       
    37 /** source/tools/genren/genren.pl - use this script according to the README   */
       
    38 /**                    in that folder                                         */
       
    39 
       
    40 #include "unicode/umachine.h"
       
    41 
       
    42 /** The standard copyright notice that gets compiled into each library. 
       
    43  *  This value will change in the subsequent releases of ICU
       
    44  *  @stable ICU 2.4
       
    45  */
       
    46 #define U_COPYRIGHT_STRING \
       
    47   " Copyright (C) 2004, International Business Machines Corporation and others. All Rights Reserved. "
       
    48 
       
    49 /** Maximum length of the copyright string.
       
    50  *  @stable ICU 2.4
       
    51  */
       
    52 #define U_COPYRIGHT_STRING_LENGTH  128
       
    53 
       
    54 /** The current ICU major version as an integer. 
       
    55  *  This value will change in the subsequent releases of ICU
       
    56  *  @stable ICU 2.4
       
    57  */
       
    58 #define U_ICU_VERSION_MAJOR_NUM 3
       
    59 
       
    60 /** The current ICU minor version as an integer. 
       
    61  *  This value will change in the subsequent releases of ICU
       
    62  *  @stable ICU 2.6
       
    63  */
       
    64 #define U_ICU_VERSION_MINOR_NUM 2
       
    65 
       
    66 /** The current ICU patchlevel version as an integer.  
       
    67  *  This value will change in the subsequent releases of ICU
       
    68  *  @stable ICU 2.4
       
    69  */
       
    70 #define U_ICU_VERSION_PATCHLEVEL_NUM 0
       
    71 
       
    72 /** Glued version suffix for renamers 
       
    73  *  This value will change in the subsequent releases of ICU
       
    74  *  @stable ICU 2.6
       
    75  */
       
    76 #define U_ICU_VERSION_SUFFIX _3_2
       
    77 
       
    78 /** The current ICU library version as a dotted-decimal string. The patchlevel
       
    79  *  only appears in this string if it non-zero. 
       
    80  *  This value will change in the subsequent releases of ICU
       
    81  *  @stable ICU 2.4
       
    82  */
       
    83 #define U_ICU_VERSION "3.2"
       
    84 
       
    85 /** The current ICU library major/minor version as a string without dots, for library name suffixes. 
       
    86  *  This value will change in the subsequent releases of ICU
       
    87  *  @stable ICU 2.6
       
    88  */
       
    89 #define U_ICU_VERSION_SHORT "32"
       
    90 
       
    91 /** An ICU version consists of up to 4 numbers from 0..255.
       
    92  *  @stable ICU 2.4
       
    93  */
       
    94 #define U_MAX_VERSION_LENGTH 4
       
    95 
       
    96 /** In a string, ICU version fields are delimited by dots.
       
    97  *  @stable ICU 2.4
       
    98  */
       
    99 #define U_VERSION_DELIMITER '.'
       
   100 
       
   101 /** The maximum length of an ICU version string.
       
   102  *  @stable ICU 2.4
       
   103  */
       
   104 #define U_MAX_VERSION_STRING_LENGTH 20
       
   105 
       
   106 /** The binary form of a version on ICU APIs is an array of 4 uint8_t.
       
   107  *  @stable ICU 2.4
       
   108  */
       
   109 typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
       
   110 
       
   111 #if U_HAVE_NAMESPACE && defined(XP_CPLUSPLUS)
       
   112 #if U_DISABLE_RENAMING
       
   113 #define U_ICU_NAMESPACE icu
       
   114 namespace U_ICU_NAMESPACE { }
       
   115 #else
       
   116 #define U_ICU_NAMESPACE icu_3_2
       
   117 namespace U_ICU_NAMESPACE { }
       
   118 namespace icu = U_ICU_NAMESPACE;
       
   119 #endif
       
   120 U_NAMESPACE_USE
       
   121 #endif
       
   122 
       
   123 
       
   124 /*===========================================================================*/
       
   125 /* General version helper functions. Definitions in putil.c                  */
       
   126 /*===========================================================================*/
       
   127 
       
   128 /**
       
   129  * Parse a string with dotted-decimal version information and
       
   130  * fill in a UVersionInfo structure with the result.
       
   131  * Definition of this function lives in putil.c
       
   132  *
       
   133  * @param versionArray The destination structure for the version information.
       
   134  * @param versionString A string with dotted-decimal version information,
       
   135  *                      with up to four non-negative number fields with
       
   136  *                      values of up to 255 each.
       
   137  * @stable ICU 2.4
       
   138  */
       
   139 U_STABLE void U_EXPORT2
       
   140 u_versionFromString(UVersionInfo versionArray, const char *versionString);
       
   141 
       
   142 /**
       
   143  * Write a string with dotted-decimal version information according
       
   144  * to the input UVersionInfo.
       
   145  * Definition of this function lives in putil.c
       
   146  *
       
   147  * @param versionArray The version information to be written as a string.
       
   148  * @param versionString A string buffer that will be filled in with
       
   149  *                      a string corresponding to the numeric version
       
   150  *                      information in versionArray.
       
   151  *                      The buffer size must be at least U_MAX_VERSION_STRING_LENGTH.
       
   152  * @stable ICU 2.4
       
   153  */
       
   154 U_STABLE void U_EXPORT2
       
   155 u_versionToString(UVersionInfo versionArray, char *versionString);
       
   156 
       
   157 /**
       
   158  * Gets the ICU release version.  The version array stores the version information
       
   159  * for ICU.  For example, release "1.3.31.2" is then represented as 0x01031F02.
       
   160  * Definition of this function lives in putil.c
       
   161  *
       
   162  * @param versionArray the version # information, the result will be filled in
       
   163  * @stable ICU 2.0
       
   164  */
       
   165 U_STABLE void U_EXPORT2
       
   166 u_getVersion(UVersionInfo versionArray);
       
   167 
       
   168 
       
   169 /*===========================================================================
       
   170  * ICU collation framework version information                               
       
   171  * Version info that can be obtained from a collator is affected by these    
       
   172  * numbers in a secret and magic way. Please use collator version as whole
       
   173  *===========================================================================
       
   174  */
       
   175 
       
   176 /** Collation runtime version (sort key generator, strcoll). 
       
   177  * If the version is different, sortkeys for the same string could be different 
       
   178  * version 2 was in ICU 1.8.1. changed is: compression intervals, French secondary 
       
   179  * compression, generating quad level always when strength is quad or more 
       
   180  * version 4 - ICU 2.2 - tracking UCA changes, ignore completely ignorables 
       
   181  * in contractions, ignore primary ignorables after shifted 
       
   182  * version 5 - ICU 2.8 - changed implicit generation code
       
   183  * This value may change in the subsequent releases of ICU
       
   184  * @stable ICU 2.4
       
   185  */
       
   186 #define UCOL_RUNTIME_VERSION 5
       
   187 
       
   188 /** Builder code version. When this is different, same tailoring might result
       
   189  * in assigning different collation elements to code points                  
       
   190  * version 2 was in ICU 1.8.1. added support for prefixes, tweaked canonical 
       
   191  * closure. However, the tailorings should probably get same CEs assigned    
       
   192  * version 5 - ICU 2.2 - fixed some bugs, renamed some indirect values.      
       
   193  * version 6 - ICU 2.8 - fixed bug in builder that allowed 0xFF in primary values
       
   194  * Backward compatible with the old rules. 
       
   195  * This value may change in the subsequent releases of ICU
       
   196  * @stable ICU 2.4
       
   197  */
       
   198 #define UCOL_BUILDER_VERSION 6
       
   199 
       
   200 /** *** Removed *** Instead we use the data we read from FractionalUCA.txt
       
   201  * This is the version of FractionalUCA.txt tailoring rules
       
   202  * Version 1 was in ICU 1.8.1. Version two contains canonical closure for
       
   203  * supplementary code points 
       
   204  * Version 4 in ICU 2.2, following UCA=3.1.1d6, UCD=3.2.0 
       
   205  * This value may change in the subsequent releases of ICU
       
   206  * @stable ICU 2.4
       
   207  */
       
   208 /*#define UCOL_FRACTIONAL_UCA_VERSION 4*/
       
   209 
       
   210 /** This is the version of the tailorings 
       
   211  *  This value may change in the subsequent releases of ICU
       
   212  *  @stable ICU 2.4
       
   213  */
       
   214 #define UCOL_TAILORINGS_VERSION 1
       
   215 
       
   216 #endif