X7ROOT File Manager
Current Path:
/opt/alt/alt-nodejs20/root/usr/include/unicode
opt
/
alt
/
alt-nodejs20
/
root
/
usr
/
include
/
unicode
/
??
..
??
alphaindex.h
(26.54 KB)
??
appendable.h
(8.54 KB)
??
basictz.h
(9.99 KB)
??
brkiter.h
(27.84 KB)
??
bytestream.h
(10.77 KB)
??
bytestrie.h
(20.83 KB)
??
bytestriebuilder.h
(7.48 KB)
??
calendar.h
(107.54 KB)
??
caniter.h
(7.53 KB)
??
casemap.h
(25.42 KB)
??
char16ptr.h
(10.79 KB)
??
chariter.h
(23.79 KB)
??
choicfmt.h
(23.99 KB)
??
coleitr.h
(13.78 KB)
??
coll.h
(59.6 KB)
??
compactdecimalformat.h
(6.88 KB)
??
curramt.h
(3.67 KB)
??
currpinf.h
(7.3 KB)
??
currunit.h
(4.02 KB)
??
datefmt.h
(40.7 KB)
??
dbbi.h
(1.19 KB)
??
dcfmtsym.h
(20.96 KB)
??
decimfmt.h
(87.46 KB)
??
displayoptions.h
(7.08 KB)
??
docmain.h
(7.6 KB)
??
dtfmtsym.h
(38.22 KB)
??
dtintrv.h
(3.84 KB)
??
dtitvfmt.h
(48.87 KB)
??
dtitvinf.h
(18.63 KB)
??
dtptngen.h
(28.05 KB)
??
dtrule.h
(8.66 KB)
??
edits.h
(20.74 KB)
??
enumset.h
(2.08 KB)
??
errorcode.h
(4.84 KB)
??
fieldpos.h
(8.69 KB)
??
filteredbrk.h
(5.37 KB)
??
fmtable.h
(24.37 KB)
??
format.h
(12.51 KB)
??
formattednumber.h
(6.28 KB)
??
formattedvalue.h
(9.75 KB)
??
fpositer.h
(3.03 KB)
??
gender.h
(3.35 KB)
??
gregocal.h
(30.32 KB)
??
icudataver.h
(1.02 KB)
??
icuplug.h
(12.1 KB)
??
idna.h
(12.93 KB)
??
listformatter.h
(8.59 KB)
??
localebuilder.h
(11.08 KB)
??
localematcher.h
(26.86 KB)
??
localpointer.h
(19.55 KB)
??
locdspnm.h
(7.12 KB)
??
locid.h
(48.62 KB)
??
measfmt.h
(11.41 KB)
??
measunit.h
(111.44 KB)
??
measure.h
(4.63 KB)
??
messageformat2.h
(21.05 KB)
??
messageformat2_arguments.h
(4.49 KB)
??
messageformat2_data_model.h
(101.89 KB)
??
messageformat2_data_model_names.h
(784 B)
??
messageformat2_formattable.h
(38.36 KB)
??
messageformat2_function_registry.h
(18.07 KB)
??
messagepattern.h
(33.79 KB)
??
msgfmt.h
(44.2 KB)
??
normalizer2.h
(34.68 KB)
??
normlzr.h
(30.79 KB)
??
nounit.h
(2.24 KB)
??
numberformatter.h
(90.69 KB)
??
numberrangeformatter.h
(26 KB)
??
numfmt.h
(50.16 KB)
??
numsys.h
(7.22 KB)
??
parseerr.h
(3.08 KB)
??
parsepos.h
(5.56 KB)
??
platform.h
(27.18 KB)
??
plurfmt.h
(25.07 KB)
??
plurrule.h
(20.63 KB)
??
ptypes.h
(2.16 KB)
??
putil.h
(6.32 KB)
??
rbbi.h
(32.04 KB)
??
rbnf.h
(56.16 KB)
??
rbtz.h
(15.75 KB)
??
regex.h
(84.45 KB)
??
region.h
(9.2 KB)
??
reldatefmt.h
(22.48 KB)
??
rep.h
(9.38 KB)
??
resbund.h
(18.02 KB)
??
schriter.h
(6.09 KB)
??
scientificnumberformatter.h
(6.44 KB)
??
search.h
(22.21 KB)
??
selfmt.h
(14.35 KB)
??
simpleformatter.h
(12.6 KB)
??
simplenumberformatter.h
(8.87 KB)
??
simpletz.h
(45.62 KB)
??
smpdtfmt.h
(57.06 KB)
??
sortkey.h
(11.13 KB)
??
std_string.h
(1.05 KB)
??
strenum.h
(9.96 KB)
??
stringoptions.h
(5.79 KB)
??
stringpiece.h
(10.28 KB)
??
stringtriebuilder.h
(15.53 KB)
??
stsearch.h
(21.43 KB)
??
symtable.h
(4.28 KB)
??
tblcoll.h
(36.96 KB)
??
timezone.h
(45.59 KB)
??
tmunit.h
(3.4 KB)
??
tmutamt.h
(4.9 KB)
??
tmutfmt.h
(7.42 KB)
??
translit.h
(65.81 KB)
??
tzfmt.h
(42.95 KB)
??
tznames.h
(16.85 KB)
??
tzrule.h
(34.81 KB)
??
tztrans.h
(6.11 KB)
??
ubidi.h
(89.61 KB)
??
ubiditransform.h
(12.71 KB)
??
ubrk.h
(24.43 KB)
??
ucal.h
(63.96 KB)
??
ucasemap.h
(15.27 KB)
??
ucat.h
(5.35 KB)
??
uchar.h
(151.74 KB)
??
ucharstrie.h
(22.59 KB)
??
ucharstriebuilder.h
(7.48 KB)
??
uchriter.h
(13.24 KB)
??
uclean.h
(11.21 KB)
??
ucnv.h
(83.34 KB)
??
ucnv_cb.h
(6.58 KB)
??
ucnv_err.h
(20.98 KB)
??
ucnvsel.h
(6.24 KB)
??
ucol.h
(67.28 KB)
??
ucoleitr.h
(9.82 KB)
??
uconfig.h
(12.56 KB)
??
ucpmap.h
(5.54 KB)
??
ucptrie.h
(22.51 KB)
??
ucsdet.h
(14.69 KB)
??
ucurr.h
(16.72 KB)
??
udat.h
(62.36 KB)
??
udata.h
(15.63 KB)
??
udateintervalformat.h
(11.93 KB)
??
udatpg.h
(30.13 KB)
??
udisplaycontext.h
(5.94 KB)
??
udisplayoptions.h
(8.86 KB)
??
uenum.h
(7.79 KB)
??
ufieldpositer.h
(4.41 KB)
??
uformattable.h
(10.97 KB)
??
uformattednumber.h
(8.09 KB)
??
uformattedvalue.h
(12.25 KB)
??
ugender.h
(2.06 KB)
??
uidna.h
(34.12 KB)
??
uiter.h
(22.75 KB)
??
uldnames.h
(10.48 KB)
??
ulistformatter.h
(10.78 KB)
??
uloc.h
(55.38 KB)
??
ulocale.h
(6.31 KB)
??
ulocbuilder.h
(16.69 KB)
??
ulocdata.h
(11.3 KB)
??
umachine.h
(14.59 KB)
??
umisc.h
(1.34 KB)
??
umsg.h
(24.25 KB)
??
umutablecptrie.h
(8.3 KB)
??
unifilt.h
(4 KB)
??
unifunct.h
(4.05 KB)
??
unimatch.h
(6.1 KB)
??
unirepl.h
(3.38 KB)
??
uniset.h
(70.4 KB)
??
unistr.h
(182.08 KB)
??
unorm.h
(20.55 KB)
??
unorm2.h
(25.66 KB)
??
unum.h
(55.16 KB)
??
unumberformatter.h
(19.68 KB)
??
unumberoptions.h
(5.23 KB)
??
unumberrangeformatter.h
(15.35 KB)
??
unumsys.h
(7.26 KB)
??
uobject.h
(10.66 KB)
??
upluralrules.h
(8.79 KB)
??
uregex.h
(71.99 KB)
??
uregion.h
(9.81 KB)
??
ureldatefmt.h
(16.98 KB)
??
urename.h
(141.99 KB)
??
urep.h
(5.38 KB)
??
ures.h
(36.65 KB)
??
uscript.h
(28.51 KB)
??
usearch.h
(39.21 KB)
??
uset.h
(63.08 KB)
??
usetiter.h
(9.63 KB)
??
ushape.h
(18 KB)
??
usimplenumberformatter.h
(7.31 KB)
??
uspoof.h
(80 KB)
??
usprep.h
(8.19 KB)
??
ustdio.h
(38.58 KB)
??
ustream.h
(1.89 KB)
??
ustring.h
(72.16 KB)
??
ustringtrie.h
(3.15 KB)
??
utext.h
(58.1 KB)
??
utf.h
(7.87 KB)
??
utf16.h
(23.35 KB)
??
utf32.h
(763 B)
??
utf8.h
(30.83 KB)
??
utf_old.h
(45.8 KB)
??
utmscale.h
(13.78 KB)
??
utrace.h
(17.18 KB)
??
utrans.h
(25.54 KB)
??
utypes.h
(34.48 KB)
??
uvernum.h
(6.33 KB)
??
uversion.h
(8.21 KB)
??
vtzone.h
(20.68 KB)
Editing: icuplug.h
// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ****************************************************************************** * * Copyright (C) 2009-2015, International Business Machines * Corporation and others. All Rights Reserved. * ****************************************************************************** * * FILE NAME : icuplug.h * * Date Name Description * 10/29/2009 sl New. ****************************************************************************** */ /** * \file * \brief C API: ICU Plugin API * * <h2>C API: ICU Plugin API</h2> * * <p>C API allowing run-time loadable modules that extend or modify ICU functionality.</p> * * <h3>Loading and Configuration</h3> * * <p>At ICU startup time, the environment variable "ICU_PLUGINS" will be * queried for a directory name. If it is not set, the preprocessor symbol * "DEFAULT_ICU_PLUGINS" will be checked for a default value.</p> * * <p>Within the above-named directory, the file "icuplugins##.txt" will be * opened, if present, where ## is the major+minor number of the currently * running ICU (such as, 44 for ICU 4.4, thus icuplugins44.txt)</p> * * <p>The configuration file has this format:</p> * * <ul> * <li>Hash (#) begins a comment line</li> * * <li>Non-comment lines have two or three components: * LIBRARYNAME ENTRYPOINT [ CONFIGURATION .. ]</li> * * <li>Tabs or spaces separate the three items.</li> * * <li>LIBRARYNAME is the name of a shared library, either a short name if * it is on the loader path, or a full pathname.</li> * * <li>ENTRYPOINT is the short (undecorated) symbol name of the plugin's * entrypoint, as above.</li> * * <li>CONFIGURATION is the entire rest of the line . It's passed as-is to * the plugin.</li> * </ul> * * <p>An example configuration file is, in its entirety:</p> * * \code * # this is icuplugins44.txt * testplug.dll myPlugin hello=world * \endcode * <p>Plugins are categorized as "high" or "low" level. Low level are those * which must be run BEFORE high level plugins, and before any operations * which cause ICU to be 'initialized'. If a plugin is low level but * causes ICU to allocate memory or become initialized, that plugin is said * to cause a 'level change'. </p> * * <p>At load time, ICU first queries all plugins to determine their level, * then loads all 'low' plugins first, and then loads all 'high' plugins. * Plugins are otherwise loaded in the order listed in the configuration file.</p> * * <h3>Implementing a Plugin</h3> * \code * U_CAPI UPlugTokenReturn U_EXPORT2 * myPlugin (UPlugData *plug, UPlugReason reason, UErrorCode *status) { * if(reason==UPLUG_REASON_QUERY) { * uplug_setPlugName(plug, "Simple Plugin"); * uplug_setPlugLevel(plug, UPLUG_LEVEL_HIGH); * } else if(reason==UPLUG_REASON_LOAD) { * ... Set up some ICU things here.... * } else if(reason==UPLUG_REASON_UNLOAD) { * ... unload, clean up ... * } * return UPLUG_TOKEN; * } * \endcode * * <p>The UPlugData* is an opaque pointer to the plugin-specific data, and is * used in all other API calls.</p> * * <p>The API contract is:</p> * <ol><li>The plugin MUST always return UPLUG_TOKEN as a return value- to * indicate that it is a valid plugin.</li> * * <li>When the 'reason' parameter is set to UPLUG_REASON_QUERY, the * plugin MUST call uplug_setPlugLevel() to indicate whether it is a high * level or low level plugin.</li> * * <li>When the 'reason' parameter is UPLUG_REASON_QUERY, the plugin * SHOULD call uplug_setPlugName to indicate a human readable plugin name.</li></ol> * * * \internal ICU 4.4 Technology Preview */ #ifndef ICUPLUG_H #define ICUPLUG_H #include "unicode/utypes.h" #if UCONFIG_ENABLE_PLUGINS || defined(U_IN_DOXYGEN) /* === Basic types === */ #ifndef U_HIDE_INTERNAL_API struct UPlugData; /** * @{ * Typedef for opaque structure passed to/from a plugin. * Use the APIs to access it. * @internal ICU 4.4 Technology Preview */ typedef struct UPlugData UPlugData; /** @} */ /** * Random Token to identify a valid ICU plugin. Plugins must return this * from the entrypoint. * @internal ICU 4.4 Technology Preview */ #define UPLUG_TOKEN 0x54762486 /** * Max width of names, symbols, and configuration strings * @internal ICU 4.4 Technology Preview */ #define UPLUG_NAME_MAX 100 /** * Return value from a plugin entrypoint. * Must always be set to UPLUG_TOKEN * @see UPLUG_TOKEN * @internal ICU 4.4 Technology Preview */ typedef uint32_t UPlugTokenReturn; /** * Reason code for the entrypoint's call * @internal ICU 4.4 Technology Preview */ typedef enum { UPLUG_REASON_QUERY = 0, /**< The plugin is being queried for info. **/ UPLUG_REASON_LOAD = 1, /**< The plugin is being loaded. **/ UPLUG_REASON_UNLOAD = 2, /**< The plugin is being unloaded. **/ /** * Number of known reasons. * @internal The numeric value may change over time, see ICU ticket #12420. */ UPLUG_REASON_COUNT } UPlugReason; /** * Level of plugin loading * INITIAL: UNKNOWN * QUERY: INVALID -> { LOW | HIGH } * ERR -> INVALID * @internal ICU 4.4 Technology Preview */ typedef enum { UPLUG_LEVEL_INVALID = 0, /**< The plugin is invalid, hasn't called uplug_setLevel, or can't load. **/ UPLUG_LEVEL_UNKNOWN = 1, /**< The plugin is waiting to be installed. **/ UPLUG_LEVEL_LOW = 2, /**< The plugin must be called before u_init completes **/ UPLUG_LEVEL_HIGH = 3, /**< The plugin can run at any time. **/ /** * Number of known levels. * @internal The numeric value may change over time, see ICU ticket #12420. */ UPLUG_LEVEL_COUNT } UPlugLevel; /** * Entrypoint for an ICU plugin. * @param plug the UPlugData handle. * @param reason the reason code for the entrypoint's call. * @param status Standard ICU error code. Its input value must * pass the U_SUCCESS() test, or else the function returns * immediately. Check for U_FAILURE() on output or use with * function chaining. (See User Guide for details.) * @return A valid plugin must return UPLUG_TOKEN * @internal ICU 4.4 Technology Preview */ typedef UPlugTokenReturn (U_EXPORT2 UPlugEntrypoint) ( UPlugData *plug, UPlugReason reason, UErrorCode *status); /* === Needed for Implementing === */ /** * Request that this plugin not be unloaded at cleanup time. * This is appropriate for plugins which cannot be cleaned up. * @see u_cleanup() * @param plug plugin * @param dontUnload set true if this plugin can't be unloaded * @internal ICU 4.4 Technology Preview */ U_CAPI void U_EXPORT2 uplug_setPlugNoUnload(UPlugData *plug, UBool dontUnload); /** * Set the level of this plugin. * @param plug plugin data handle * @param level the level of this plugin * @internal ICU 4.4 Technology Preview */ U_CAPI void U_EXPORT2 uplug_setPlugLevel(UPlugData *plug, UPlugLevel level); /** * Get the level of this plugin. * @param plug plugin data handle * @return the level of this plugin * @internal ICU 4.4 Technology Preview */ U_CAPI UPlugLevel U_EXPORT2 uplug_getPlugLevel(UPlugData *plug); /** * Get the lowest level of plug which can currently load. * For example, if UPLUG_LEVEL_LOW is returned, then low level plugins may load * if UPLUG_LEVEL_HIGH is returned, then only high level plugins may load. * @return the lowest level of plug which can currently load * @internal ICU 4.4 Technology Preview */ U_CAPI UPlugLevel U_EXPORT2 uplug_getCurrentLevel(void); /** * Get plug load status * @return The error code of this plugin's load attempt. * @internal ICU 4.4 Technology Preview */ U_CAPI UErrorCode U_EXPORT2 uplug_getPlugLoadStatus(UPlugData *plug); /** * Set the human-readable name of this plugin. * @param plug plugin data handle * @param name the name of this plugin. The first UPLUG_NAME_MAX characters willi be copied into a new buffer. * @internal ICU 4.4 Technology Preview */ U_CAPI void U_EXPORT2 uplug_setPlugName(UPlugData *plug, const char *name); /** * Get the human-readable name of this plugin. * @param plug plugin data handle * @return the name of this plugin * @internal ICU 4.4 Technology Preview */ U_CAPI const char * U_EXPORT2 uplug_getPlugName(UPlugData *plug); /** * Return the symbol name for this plugin, if known. * @param plug plugin data handle * @return the symbol name, or NULL * @internal ICU 4.4 Technology Preview */ U_CAPI const char * U_EXPORT2 uplug_getSymbolName(UPlugData *plug); /** * Return the library name for this plugin, if known. * @param plug plugin data handle * @param status error code * @return the library name, or NULL * @internal ICU 4.4 Technology Preview */ U_CAPI const char * U_EXPORT2 uplug_getLibraryName(UPlugData *plug, UErrorCode *status); /** * Return the library used for this plugin, if known. * Plugins could use this to load data out of their * @param plug plugin data handle * @return the library, or NULL * @internal ICU 4.4 Technology Preview */ U_CAPI void * U_EXPORT2 uplug_getLibrary(UPlugData *plug); /** * Return the plugin-specific context data. * @param plug plugin data handle * @return the context, or NULL if not set * @internal ICU 4.4 Technology Preview */ U_CAPI void * U_EXPORT2 uplug_getContext(UPlugData *plug); /** * Set the plugin-specific context data. * @param plug plugin data handle * @param context new context to set * @internal ICU 4.4 Technology Preview */ U_CAPI void U_EXPORT2 uplug_setContext(UPlugData *plug, void *context); /** * Get the configuration string, if available. * The string is in the platform default codepage. * @param plug plugin data handle * @return configuration string, or else null. * @internal ICU 4.4 Technology Preview */ U_CAPI const char * U_EXPORT2 uplug_getConfiguration(UPlugData *plug); /** * Return all currently installed plugins, from newest to oldest * Usage Example: * \code * UPlugData *plug = NULL; * while(plug=uplug_nextPlug(plug)) { * ... do something with 'plug' ... * } * \endcode * Not thread safe- do not call while plugs are added or removed. * @param prior pass in 'NULL' to get the first (most recent) plug, * otherwise pass the value returned on a prior call to uplug_nextPlug * @return the next oldest plugin, or NULL if no more. * @internal ICU 4.4 Technology Preview */ U_CAPI UPlugData* U_EXPORT2 uplug_nextPlug(UPlugData *prior); /** * Inject a plugin as if it were loaded from a library. * This is useful for testing plugins. * Note that it will have a 'NULL' library pointer associated * with it, and therefore no llibrary will be closed at cleanup time. * Low level plugins may not be able to load, as ordering can't be enforced. * @param entrypoint entrypoint to install * @param config user specified configuration string, if available, or NULL. * @param status error result * @return the new UPlugData associated with this plugin, or NULL if error. * @internal ICU 4.4 Technology Preview */ U_CAPI UPlugData* U_EXPORT2 uplug_loadPlugFromEntrypoint(UPlugEntrypoint *entrypoint, const char *config, UErrorCode *status); /** * Inject a plugin from a library, as if the information came from a config file. * Low level plugins may not be able to load, and ordering can't be enforced. * @param libName DLL name to load * @param sym symbol of plugin (UPlugEntrypoint function) * @param config configuration string, or NULL * @param status error result * @return the new UPlugData associated with this plugin, or NULL if error. * @internal ICU 4.4 Technology Preview */ U_CAPI UPlugData* U_EXPORT2 uplug_loadPlugFromLibrary(const char *libName, const char *sym, const char *config, UErrorCode *status); /** * Remove a plugin. * Will request the plugin to be unloaded, and close the library if needed * @param plug plugin handle to close * @param status error result * @internal ICU 4.4 Technology Preview */ U_CAPI void U_EXPORT2 uplug_removePlug(UPlugData *plug, UErrorCode *status); #endif /* U_HIDE_INTERNAL_API */ #endif /* UCONFIG_ENABLE_PLUGINS */ #endif /* _ICUPLUG */
Upload File
Create Folder